2022-02-18  Stefan Kangas  <stefankangas@gmail.com>

	* Version 28.3 released.

2023-02-17  Stefan Kangas  <stefankangas@gmail.com>

	Update HISTORY for Emacs 28.3

2023-02-17  Stefan Kangas  <stefankangas@gmail.com>

	Bump Emacs version to 28.3

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version to 28.3.

2023-02-17  Stefan Kangas  <stefankangas@gmail.com>

	Update NEWS for Emacs 28.3

	* etc/NEWS: Update for Emacs 28.3.

2023-02-17  Stefan Kangas  <stefankangas@gmail.com>

	Update ChangeLog and AUTHORS for Emacs 28.3

	* ChangeLog.3:
	* etc/AUTHORS: Update for Emacs 28.3.

2023-02-17  Xi Lu  <lx@shellcodes.org>

	Fix etags local command injection vulnerability

	* lib-src/etags.c: (escape_shell_arg_string): New function.
	(process_file_name): Use it to quote file names passed to the
	shell.  (Bug#59817)

	(cherry picked from commit 01a4035c869b91c153af9a9132c87adb7669ea1c)

2023-02-17  Xi Lu  <lx@shellcodes.org>

	Fixed ctags local command execute vulnerability

	* lib-src/etags.c:

	(clean_matched_file_tag): New function
	(do_move_file): New function
	(readline_internal):
	Add `leave_cr` parameter, if true, include the \r character

	* test/manual/etags/CTAGS.good_crlf: New file
	* test/manual/etags/CTAGS.good_update: New file
	* test/manual/etags/crlf: New file
	* test/manual/etags/Makefile: Add `ctags -u` test cases

	(cherry picked from commit d48bb4874bc6cd3e69c7a15fc3c91cc141025c51)

2023-02-17  Xi Lu  <lx@shellcodes.org>

	Fix ruby-mode.el local command injection vulnerability (bug#60268)

	* lisp/progmodes/ruby-mode.el
	(ruby-find-library-file): Fix local command injection vulnerability.

	(cherry picked from commit 9a3b08061feea14d6f37685ca1ab8801758bfd1c)

2023-02-17  Xi Lu  <lx@shellcodes.org>

	Fix htmlfontify.el command injection vulnerability.

	* lisp/htmlfontify.el (hfy-text-p): Fix command injection
	vulnerability.  (Bug#60295)

	(cherry picked from commit 1b4dc4691c1f87fc970fbe568b43869a15ad0d4c)

2022-12-19  Eli Zaretskii  <eliz@gnu.org>

	Fix storing email into nnmail by Gnus

	Backporting suggested by Florian Weimer, since this is
	a denial-of-service issue.
	* lisp/gnus/nnml.el (nnml--encode-headers): Wrap
	'rfc2047-encode-string' calls with 'ignore-errors', to avoid
	disrupting email workflows due to possibly-invalid headers.
	Reported by Florian Weimer <fweimer@redhat.com>.

	(cherry picked from commit 23f7c9c2a92e4619b7c4d2286d4249f812cd695d)

2022-11-14  Robert Pluim  <rpluim@gmail.com>

	Explain how to bind keys to non-ASCII sequences

	* doc/emacs/custom.texi (Init Rebinding): Explain how to use `kbd'
	when binding keys to non-ASCII sequences.

2022-11-12  Eli Zaretskii  <eliz@gnu.org>

	Document that 'transient-mark-mode' is off in batch mode

	* doc/emacs/mark.texi (Mark, Disabled Transient Mark): Document,
	belatedly, that 'transient-mark-mode' is turned on by default only
	in interactive sessions.  (Bug#59201)

2022-10-14  Eli Zaretskii  <eliz@gnu.org>

	Document how to control where the *.eln files are written

	* doc/lispref/compile.texi (Native Compilation): Document the
	trick of pointing $HOME to a non-existent directory.
	(Native-Compilation Variables): Document the role of
	'native-comp-eln-load-path' in determining where *.eln files are
	written.

2022-10-14  Robert Pluim  <rpluim@gmail.com>

	Add cross-reference to alternative syntaxes for Unicode

	These alternative syntaxes allow you to specify Unicode codepoints
	using only ASCII, which helps avoid decoding issues.

	* doc/emacs/custom.texi (Init Non-ASCII): Add cross reference to
	"General Escape Syntax" in the Emacs Lisp Reference Manual.

2022-10-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Update name of hs-mouse-toggle-hiding in Emacs manual

	* doc/emacs/programs.texi (Hideshow): Update the name of
	hs-mouse-toggle-hiding (bug#58331).

2022-10-06  Stefan Kangas  <stefankangas@gmail.com>

	Fix typo in `(emacs) Lisp Doc'

	* doc/emacs/programs.texi (Lisp Doc): Fix reference to
	'eldoc-echo-area-display-truncation-message'.  (Bug#58324)

2022-10-06  Stefan Kangas  <stefankangas@gmail.com>

	Fix references to 'default-indent-new-line'

	* doc/emacs/programs.texi (Comment Commands)
	(Multi-Line Comments): Fix references to
	'default-indent-new-line'.  (Bug#58325)

2022-10-04  Andreas Schwab  <schwab@linux-m68k.org>

	* src/emacs.c (load_pdump): Properly handle case when executable
	wasn't found.

2022-10-04  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in STRING_CHAR

	* src/xdisp.c (handle_composition_prop):
	* src/editfns.c (styled_format): Don't call 'STRING_CHAR' on
	unibyte strings.  This avoids assertion violation in
	'string_char_and_length'.

	(cherry picked from commit d52d6e1e106117eb4bba81a65e256e2e793037b6)

2022-10-03  Stefan Kangas  <stefankangas@gmail.com>

	Fix documentation  of 'TAB' in cc-mode

	* doc/emacs/programs.texi (C Indent): Fix documentation of 'TAB'
	in cc-mode.  (Bug#58258)

2022-10-03  Stefan Kangas  <stefankangas@gmail.com>

	Fix 'org-export-dispatch' command name in manual

	* doc/emacs/text.texi (Org Authoring): Fix 'org-export-dispatch'
	command name.  (Bug#58260)

2022-10-02  Andreas Schwab  <schwab@linux-m68k.org>

	* src/emacs.c (load_pdump): Fix use of xpalloc.

2022-10-02  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violation in 'xpalloc'

	* src/emacs.c (load_pdump): Ensure the 3rd argument of xpalloc is
	always positive.  (Bug#58232)

2022-09-30  Michael Albinus  <michael.albinus@gmx.de>

	Fix connection property incompatibility in Tramp

	* lisp/net/tramp.el (tramp-get-remote-tmpdir): Remove obsolete
	connection property "tmpdir".  (Bug#57800)

2022-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Update some Gnus documentation in the Emacs manual

	* doc/emacs/misc.texi (Gnus Group Buffer, Gnus Summary Buffer):
	Update documentation (bug#58145).

2022-09-28  Eli Zaretskii  <eliz@gnu.org>

	Clarify image file search

	* doc/lispref/display.texi (Defining Images, Image Descriptors):
	* lisp/image.el (create-image): Clarify that non-absolute image
	files are searched along 'image-load-path'.  (Bug#52931)

2022-09-28  Stefan Kangas  <stefankangas@gmail.com>

	.mailcap: Some additional fixes.

2022-09-28  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in 'pop_it'

	* src/xdisp.c (pop_it): Avoid assertion violations when handling
	lists or vectors of display properties.  (Bug#58122)

2022-09-28  Stefan Kangas  <stefankangas@gmail.com>

	Add .mailmap for proper git log output

	This file is used to fix a few misspelled names in various git
	listings (e.g., "git log").  This can be used to fix incorrect
	attribution, poor display, or names showing up more than once.
	It also allows updating an old email addresses to a new one.
	See "man git-shortlog" for more information on the format.

	* .mailmap: New file.

2022-09-27  Stefan Kangas  <stefankangas@gmail.com>

	* doc/emacs/ack.texi (Acknowledgments): Update maintainers.

2022-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/hideshow.el (hs-toggle-hiding): Fix `interactive` form

	This fixes the first part of bug#52092, which is a regression
	introduced by commit d0e9113de97.

2022-09-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix shaping with bitmap-only fonts on HarfBuzz 5.2.0 (Bug#57976)

	* src/ftcrfont.c (ftcrhbfont_begin_hb_font): Undo last change for
	HarfBuzz 5.2.0.

2022-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/text-modes/tex-mode.el (tex-mode): Fix AUCTeX regression

	As discussed in
	https://lists.gnu.org/r/auctex/2022-08/msg00004.html
	AUCTeX installs its own advice to redefine `tex-mode`, and that
	advice used to take precedence before commit 6075a7c5ae3fa456cd.

2022-09-20  Robert Pluim  <rpluim@gmail.com>

	Add vc-annotate-switches to manual

	* doc/emacs/maintaining.texi (Old Revisions): Add description of
	`vc-annotate-switches' and `vc-BACKEND-annotate-switches'.

2022-09-20  Robert Pluim  <rpluim@gmail.com>

	Remove mention of non-existent `annotate-switches'

	* lisp/vc/vc.el (vc-annotate-switches): Remove mention of
	`annotate-switches'.  As far as I can tell this has never existed in
	Emacs.

2022-09-20  Robert Pluim  <rpluim@gmail.com>

	Mention that src/macuvs.h sometimes needs committing

	* admin/notes/unicode: src/macuvs.h is generated, but needs to be
	committed sometimes.

2022-09-19  Gerd Möllmann  <gerd@gnu.org>

	MacOS ld warning from native compilation (bug#57849)

	* lisp/emacs-lisp/comp.el (native-comp-driver-options): Add "-Wl,-w"
	on Darwin systems.
	* etc/NEWS: Describe change.

2022-09-18  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp error with eshell integration

	* lisp/net/tramp-integration.el (tramp-eshell-directory-change):
	Respect local `default-directory'.  (Bug#57556)

2022-09-17  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp 2.5.3.2.  Don't merge with master

	* doc/misc/tramp.texi (Android shell setup): Rework.
	(Frequently Asked Questions): Improve recommendations for speeding up.

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.5.4-pre".

	* lisp/net/tramp-adb.el (tramp-methods): Use "%d".
	(tramp-adb-handle-directory-files-and-attributes): Fix "." and
	".." in listing.
	(tramp-adb-handle-file-attributes)
	(tramp-adb-handle-directory-files-and-attributes)
	(tramp-adb-handle-file-name-all-completions): Pipe "ls" output
	through "cat", in order to avoid quoting special characters.
	(tramp-adb-maybe-open-connection): Compute args from `tramp-login-args'.

	* lisp/net/tramp-compat.el (tramp-compat-replace-regexp-in-region):
	New defalias.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
	Adapt check for proper remote command.

	* lisp/net/tramp.el (tramp-methods): Adapt docstring.
	(tramp-handle-make-process): Check for adb device if indicated.
	(tramp-get-remote-tmpdir): Cache result in temporary connection
	property.

	* test/lisp/net/tramp-tests.el  (tramp-test17-insert-directory)
	(tramp-test22-file-times, tramp--test-utf8): Adapt tests.
	(tramp--test-shell-file-name): Do not depend on `tramp--test-adb-p'.
	(tramp-test46-unload): Ignore autoload functions in
	`tramp-file-name' structure tests, since `tramp-file-name-handler'
	is also autoloaded in Emacs 29.

2022-09-17  Stefan Kangas  <stefankangas@gmail.com>

	Simplify regexp in make-news-html-file

	* admin/admin.el (make-news-html-file): Simplify regexp.
	Suggested by Mattias Engdegård <mattiase@acm.org>.

2022-09-16  Stefan Kangas  <stefankangas@gmail.com>

	* admin/admin.el (make-news-html-file): Set id on correct tag.

2022-09-16  Stefan Kangas  <stefankangas@gmail.com>

	Add version headlines to HTML NEWS export

	This allows linking to, e.g. "NEWS.28.html#28.1" to go directly to
	those release notes.
	* admin/admin.el (admin--org-export-headers-format)
	(make-news-html-file): Add XX.Y version headlines with an HTML anchor.

2022-09-16  Stefan Kangas  <stefankangas@gmail.com>

	Improve HTML export of NEWS file

	* admin/admin.el (admin--org-export-headers-format)
	(admin--org-html-postamble): New variables.
	(admin--require-external-package): New function.
	(make-news-html-file): Improve HTML export.

2022-09-16  Stefan Kangas  <stefankangas@gmail.com>

	Delete "etc/NEWS*.html" from .gitignore

	We actually do want to see it when preparing a release, so that we
	don't include it in a tarball by mistake.
	* .gitignore: Don't ignore "etc/NEWS*.html".

2022-09-16  Stefan Kangas  <stefankangas@gmail.com>

	Recommend NonGNU ELPA over MELPA

	* doc/misc/org.org (Using CDLaTeX to enter math, Footnotes): Recommend
	NonGNU ELPA over MELPA.

2022-09-16  Stefan Kangas  <stefankangas@gmail.com>

	Minor doc fixes in picture.el

	* lisp/textmodes/picture.el: Improve Commentary.
	(picture-forward-column, picture-backward-column)
	(picture-move-down, picture-move-up, picture-movement-nw)
	(picture-movement-ne, picture-movement-sw, picture-movement-se)
	(picture-set-motion, picture-clear-line, picture-newline)
	(picture-tab, picture-yank-rectangle)
	(picture-yank-rectangle-from-register, picture-insert-rectangle)
	(picture-draw-rectangle): Minor doc fixes.

2022-09-16  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/textmodes/page-ext.el: Improve Commentary.

2022-09-14  Stefan Kangas  <stefankangas@gmail.com>

	Automate exporting etc/NEWS to HTML

	* admin/admin.el (make-news-html-file): New function.
	* .gitignore: Ignore generated "etc/NEWS*.html" file.

2022-09-14  Eli Zaretskii  <eliz@gnu.org>

	* Makefile.in (uninstall): Remove the *.eln files.  (Bug#57771)

2022-09-12  Stefan Kangas  <stefankangas@gmail.com>

	Update HISTORY for Emacs 28.2

	* etc/HISTORY: Update for the Emacs 28.2 release.

2022-09-07  Stefan Kangas  <stefankangas@gmail.com>

	Bump Emacs version to 28.2

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version to 28.2.

2022-09-07  Stefan Kangas  <stefankangas@gmail.com>

	Update ChangeLog and AUTHORS for Emacs 28.2

	* ChangeLog.3:
	* etc/AUTHORS:
	* etc/NEWS: Update for Emacs 28.2.

2022-09-06  Stefan Kangas  <stefankangas@gmail.com>

	* doc/misc/idlwave.texi (Troubleshooting): Don't say "Emacsen".

2022-09-06  Stefan Kangas  <stefankangas@gmail.com>

	Don't mention very old Emacs versions in docs

	* doc/misc/mh-e.texi (Conventions):
	* doc/misc/reftex.texi (Problems and Work-Arounds):
	* doc/misc/viper.texi (Loading Viper): Delete references to
	very old versions of Emacs.

2022-09-05  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/server.el: Improve Commentary.

2022-09-05  Gregory Heytings  <gregory@heytings.org>

	Explain how the font appearance can be fine-tuned in fbterm.

	* doc/misc/efaq.texi (Emacs in a Linux console): Briefly document
	Xft font specifications with which the font appearance can be
	fine-tuned.

2022-09-04  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.5

2022-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Fail more gracefully

	Otherwise Emacs may fail to start if it can't find a writable
	`~/.emacs.d/eln-cache` directory.
	Fixes bug#57562.  See also Debian's bug #1017739.

2022-09-03  Stefan Kangas  <stefankangas@gmail.com>

	Update acknowledgments

	* doc/emacs/ack.texi (Acknowledgments): Update.
	* doc/emacs/emacs.texi (Acknowledgments): Add several names from
	Author: headers.

2022-09-01  Stefan Kangas  <stefankangas@gmail.com>

	Make some versions in docs match package version

	* doc/emacs/misc.texi (Interactive Shell): Bump Emacs version.
	* doc/misc/ediff.texi:
	* doc/misc/flymake.texi:
	* doc/misc/viper.texi: Fix version to match package.
	* lisp/emulation/viper.el: Make version match variable.

2022-09-01  Stefan Kangas  <stefankangas@gmail.com>

	Minor doc fix; improve sorting of VC backends

	* doc/emacs/maintaining.texi (Version Control Systems): Minor doc fix;
	rearrange list to put git, cvs and subversion at the top.

2022-09-01  Eli Zaretskii  <eliz@gnu.org>

	Clarify the doc string of 'set-face-attribute'

	* lisp/faces.el (set-face-attribute): Clarify the issue with
	resetting attribute values to 'unspecified' for future frames.
	(Bug#57499)

2022-08-30  Gregory Heytings  <gregory@heytings.org>

	Enable 256 colors in fbterm.

	* lisp/term/fbterm.el: New file.

	* doc/misc/efaq.texi (Emacs in a Linux console): Document the TERM
	environment variable with which the new file is used.

2022-08-30  Eli Zaretskii  <eliz@gnu.org>

	One more fix for find-file.el

	* lisp/find-file.el (ff-get-file-name): Use 'expand-file-name'
	instead of 'concat', which doesn't DTRT with absolute file names.
	(ff-other-file-alist): Yet another doc fix.  (Bug#57325)

2022-08-29  Gregory Heytings  <gregory@heytings.org>

	Recommend using fbterm in the Linux console.

	* doc/misc/efaq.texi (Emacs in a Linux console): New node.
	(Common requests): Entry for the new node.

	* etc/PROBLEMS (Linux console problems...): Mention the new FAQ node.

2022-08-29  Eli Zaretskii  <eliz@gnu.org>

	* lisp/find-file.el (ff-other-file-alist): Doc fix.  (Bug#57325)

2022-08-28  Eli Zaretskii  <eliz@gnu.org>

	* lisp/info.el (Info-mode): Support the Linux console better.

2022-08-28  Eli Zaretskii  <eliz@gnu.org>

	Improve the documentation of glyphless-character display

	* lisp/international/characters.el (glyphless-char-display-control):
	* src/xdisp.c (syms_of_xdisp) <glyphless-char-display>: Mention
	the 'glyphless-char' face in the doc string.

	* doc/lispref/display.texi (Glyphless Chars): Index
	'glyphless-char' face.

2022-08-27  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of 'glyphless-char-display'

	* src/xdisp.c (syms_of_xdisp)<glyphless-char-display>: Doc fix.
	(gui_produce_glyphs, lookup_glyphless_char_display): Fix
	indentation.

2022-08-25  Robert Pluim  <rpluim@gmail.com>

	Treat smtp-auth method from auth-info as a symbol

	The lookup of the SMTP auth method is done based on symbols, but
	sometimes the requested value comes from `auth-info', in which case it
	is a string, so call `intern-soft' to convert it to a symbol (which
	does nothing if it's already a symbol).

	* lisp/mail/smtpmail.el (smtpmail-try-auth-methods): Call
	`intern-soft' on the smtp-auth key's value.  (Bug#57373)

	Do not merge to master

2022-08-25  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/wdired.el: Improve "Commentary" section.

	* lisp/wdired.el: Doc fix; don't mention obsolete variable.

	* lisp/progmodes/etags.el (next-file): Minor doc fix.

2022-08-25  Andreas Schwab  <schwab@suse.de>

	* configure.ac: Move AC_LANG_PUSH/POP out of AC_CACHE_CHECK.  (Bug#57380)

	(cherry picked from commit ce82300221f270241fdda1f5dfb567bdb1208543)

2022-08-21  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.4-19-g4dff42

2022-08-21  Eli Zaretskii  <eliz@gnu.org>

	* lisp/find-file.el (ff-other-file-alist): Doc fix.  (Bug#57325)

2022-08-19  Stefan Kangas  <stefankangas@gmail.com>

	Resurrect obsoletion warning for two functions

	These were supposed to have been deleted, but never were.  Resurrect
	their obsoletion warning and let's delete them in Emacs 29 instead.

	* lisp/subr.el (process-filter-multibyte-p)
	(set-process-filter-multibyte): Resurrect obsoletion warning.
	* etc/NEWS: Don't announce their deletion.

2022-08-19  Alan Mackenzie  <acm@muc.de>

	* src/window.c (select_window): Fix assert for buffer = non-active minibuffer

2022-08-19  Gerd Möllmann  <gerd@gnu.org>

	Find libgccjit on macOS with Homebrew differently

	* configure.ac (MAC_LIBS): Find libgccjit's directory slightly
	differently for brew installations.

2022-08-18  Stefan Kangas  <stefankangas@gmail.com>

	Improve image-mode-as-hex docstring

	* lisp/image-mode.el: Fix typos.
	(image-mode-as-hex): Doc fix; say that it uses 'hexl-mode' and reflow.

2022-08-18  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/image-mode.el (image-mode-as-hex): Fix toggle instructions.

	* lisp/image-mode.el: Improve commentary.

2022-08-18  Colin Woodbury  <colin@fosskers.ca>

	cl-reduce doc string improvement

	* lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what happens when
	using :from-end (bug#57273).

2022-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Backport tempname changes from master (bug#57129)

	* lib/tempname.c: Backport from master, which uses current Gnulib.

2022-08-16  Stefan Kangas  <stefankangas@gmail.com>

	Revert "; * doc/lispintro/emacs-lisp-intro.texi: Fix typo."

	This reverts commit 9d0dba44da7ac83d018fff3c26d33dac12ebd806.

	This was not a typo, but incorrectly matching parens in Info-mode.

2022-08-16  Stefan Kangas  <stefankangas@gmail.com>

	* doc/misc/gnus.texi (Article Washing): Fix Links URL.

2022-08-12  Stefan Kangas  <stefan@marxist.se>

	Delete references to deleted library hilit19.el

	* doc/misc/gnus.texi (Compatibility):
	* lisp/progmodes/f90.el:
	* lisp/ps-print.el:
	* lisp/vc/ediff.el: Delete references to hilit19.el.

2022-08-12  Stefan Kangas  <stefan@marxist.se>

	Delete stale comments from Lisp Intro manual

	* doc/lispintro/emacs-lisp-intro.texi (Args as Variable or List)
	(print-elements-of-list, Miscellaneous): Delete some references to
	Emacs 22.

2022-08-11  Stefan Kangas  <stefan@marxist.se>

	Don't list Emacs as requirement for built-in package

	* doc/misc/htmlfontify.texi (Requirements): Don't list Emacs as
	requirement for built-in package.

2022-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix wrong metrics for bitmap-only fonts with HarfBuzz 5

	* src/ftcrfont.c (ftcrhbfont_begin_hb_font): Always use the standard
	position unit value on HarfBuzz 5 and later regardless of whether the
	font is bitmap-only or not.  (Bug#57066)

2022-08-09  Stefan Kangas  <stefan@marxist.se>

	Improve wording when documenting other TRAMP syntaxes

	* doc/misc/tramp.texi (Change file name syntax): Improve wording.
	(Bug#57061)

2022-08-08  Stefan Kangas  <stefan@marxist.se>

	* lisp/vc/diff-mode.el: Don't mention XEmacs.

2022-08-08  Stefan Kangas  <stefan@marxist.se>

	Don't mention XEmacs toolbar in ediff manual

	* doc/misc/ediff.texi (Other Session Commands): Don't mention XEmacs
	specific toolbar support for now.  This can be changed back once the
	toolbar is ported to Emacs.

2022-08-06  Eli Zaretskii  <eliz@gnu.org>

	* etc/PROBLEMS: Problems with Alacritty and Emoji.  (Bug#56952)

2022-08-06  Yuga Ego  <yet@ego.team>

	Link from (emacs)Init Syntax to (elisp)Introduction

	* doc/emacs/custom.texi (Init Syntax): Link to the ELisp manual (Bug#56870)

2022-08-06  Stefan Kangas  <stefan@marxist.se>

	Don't mention removed XEmacs support in reftex manual

	* doc/misc/reftex.texi (Installation, Imprint): Don't mention
	removed XEmacs support.

2022-08-06  Stefan Kangas  <stefan@marxist.se>

	Don't mention removed XEmacs support in idlwave manual

	* doc/misc/idlwave.texi (Lesson I---Development Cycle)
	(Syntax Highlighting, Windows and macOS, Troubleshooting): Delete
	most references to XEmacs.  Support for it was deleted in 28.1.

2022-08-05  Stefan Kangas  <stefan@marxist.se>

	* lisp/play/fortune.el: Doc fixes.

2022-08-04  Stefan Kangas  <stefan@marxist.se>

	* doc/lispref/loading.texi (Autoload by Prefix): Fix typo.

2022-08-03  Philipp Stephani  <phst@google.com>

	* lisp/uniquify.el (uniquify-buffer-name-style): Quote apostrophe.

2022-08-02  Stefan Kangas  <stefan@marxist.se>

	* lisp/term.el: Doc fix; don't mention rlogin.

2022-07-31  Eli Zaretskii  <eliz@gnu.org>

	* src/lisp.h (CHECK_INTEGER): Fix the predicate.  (Bug#56856)

2022-07-30  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of column-related functions

	* doc/lispref/text.texi (Primitive Indent, Columns):
	* src/indent.c (Fcurrent_indentation, Fmove_to_column): Document
	that column counting ignores invisible text.  (Bug#56837)

2022-07-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/macfont.m (macfont_open): Initialize font->space_width.  (Bug#56808)

2022-07-30  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing of keymap variables

	* doc/lispref/maps.texi (Standard Keymaps):
	* doc/lispref/display.texi (Button Buffer Commands)
	(Button Properties):
	* doc/lispref/keymaps.texi (Translation Keymaps): Improve indexing
	of keymaps.  (Bug#56816)

2022-07-29  Alan Mackenzie  <acm@muc.de>

	CC Mode: fontify variables/functions after line comments ending in spaces

	* lisp/progmodes/cc-engine.el (c-forward-comment-minus-1): Take account of
	spaces preceding a linefeed when scanning a putative line comment end.

2022-07-28  Stefan Kangas  <stefan@marxist.se>

	Bump Emacs version to 28.1.91

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version to 28.1.91.

2022-07-28  Stefan Kangas  <stefan@marxist.se>

	Update ChangeLog and AUTHORS for 28.1.91 pretest

	* ChangeLog.3:
	* etc/AUTHORS: Update.

2022-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert the `...' documentation back to actual usage

	* doc/lispref/tips.texi (Documentation Tips): Document how `...'
	is really used now (bug#55780).  ‘...’ is not really used in the
	Emacs sources.

	(cherry picked from commit 1ed9c1c7f9fe32ff5123091033350beb1ccae4ca)

2022-07-28  Paul Pogonyshev  <pogonyshev@gmail.com>

	Release the desktop lock in 'kill-emacs-hook'

	* lisp/desktop.el: Run 'desktop--on-kill' in 'kill-emacs-hook'.
	(desktop--on-kill): New function, refactored from 'desktop-kill'.
	(desktop-kill): Call 'desktop--on-kill'.  (Bug#56800)

2022-07-25  Eli Zaretskii  <eliz@gnu.org>

	Avoid infloop in 'recenter'

	* src/window.c (Frecenter): Avoid infinite loop in the minibuffer
	under 'fido-vertical-mode'.  (Bug#56765)

2022-07-25  Eli Zaretskii  <eliz@gnu.org>

	Fix inaccuracies in "lax search" documentation

	* doc/emacs/search.texi (Lax Search): Update the examples of
	character folding in search.  (Bug#56747)

2022-07-24  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.4-17-g6e991f

2022-07-24  Eugene Ha  <eha@posteo.de>  (tiny change)

	Find libgccjit.dylib on Homebrew Macos

	* configure.ac: Also find libggcjit on Homebrew (bug#55173).

	(cherry picked from commit faa29fa2c9e9d5a5d7544a1a39b2a89cf57a8439)

2022-07-23  Michael Albinus  <michael.albinus@gmx.de>

	Set `default-directory' of Tramp archive connection buffer

	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
	Set `default-directory' of Tramp connection buffer.  (Bug#56628)

2022-07-23  Eli Zaretskii  <eliz@gnu.org>

	Update the documentation of 'declare' forms

	* doc/lispref/compile.texi (Native-Compilation Variables): Mention
	the 'declare' alternative for 'native-comp-speed'.
	* doc/lispref/functions.texi (Declare Form): Document 'declare'
	forms that were previously undocumented.

2022-07-23  Eli Zaretskii  <eliz@gnu.org>

	Fix bookmark support for Help functions in native-compilation builds

	* lisp/help.el (describe-key--helper, describe-function--helper):
	New helper functions.
	(describe-key): Call 'describe-key--helper' instead of a
	lambda-function.
	* lisp/help-fns.el (describe-function): Call
	'describe-function--helper' instead of a lambda-function.
	(Bug#56643)

2022-07-23  Miha Rihtarsic  <miha@kamnitnik.top>

	Fix mode line mouse-1 binding when showing only column numbers

	* lisp/bindings.el (mode-line-position): Fix the mouse-1 binding
	when showing only column numbers (bug#56694).  Do not merge to
	master.

2022-07-23  Stefan Kangas  <stefan@marxist.se>

	Adjust help-fns.el tests for recent change

	* test/lisp/help-fns-tests.el (help-fns-test-lisp-defun)
	(help-fns-test-lisp-defsubst): Adjust tests for recent change.

2022-07-22  Robert Pluim  <rpluim@gmail.com>

	* src/terminal.c (Fframe_terminal): Use active voice

2022-07-22  Robert Pluim  <rpluim@gmail.com>

	Improve 'terminal-live-p' docstring some more

	* src/terminal.c (Fterminal_live_p): Improve description of
	arguments and return value.

2022-07-22  Robert Pluim  <rpluim@gmail.com>

	Improve terminal-live-p docstring

	* src/terminal.c (Fterminal_live_p): Explain what happens when the
	argument is nil.

2022-07-22  Robert Pluim  <rpluim@gmail.com>

	* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-event-vector): Fix grammar

2022-07-21  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/cperl-mode.el: Don't mention obsolete archive.

2022-07-21  Eli Zaretskii  <eliz@gnu.org>

	Make 'describe-function' say "byte-compiled" when appropriate

	* lisp/help-fns.el (help-fns-function-description-header): Say
	"byte-compiled" when describing byte-compiled functions.

2022-07-21  Eli Zaretskii  <eliz@gnu.org>

	;Improve documentation of locale-specific string comparison

	* doc/lispref/strings.texi (Text Comparison): Mention the Unicode
	collation rules and buffer-local case-tables.

2022-07-19  Gerd Moellmann  <gerd.moellmann@gmail.com>

	Prevent GC of window referenced from EmacsScroller

	* src/nsterm.m (EmacsScroller.mark, mark_nsterm): New functions.
	* src/nsterm.h (EmacsScroller.mark, mark_nsterm): Declare.
	* src/alloc.c (garbage_collect) [MAVE_NS]: Call mark_nsterm.
	(Bug#56095)

	(cherry picked from commit 5f1bd872478927ad4bc635502e74628d39885286)

2022-07-16  Stefan Kangas  <stefan@marxist.se>

	Fix obsoletion of nntp-authinfo-file

	* lisp/gnus/nntp.el (nntp-authinfo-file): Fix obsoletion.

2022-07-15  Philipp Stephani  <phst@google.com>

	Build Seccomp filter only if we have a 64-bit userspace (Bug#56549)

	* configure.ac (SIZEOF_LONG): New variable.
	* lib-src/Makefile.in (SIZEOF_LONG): New variable; added conditional.

2022-07-14  Stefan Kangas  <stefan@marxist.se>

	Update the Samaritan's contact details in M-x doctor

	* lisp/play/doctor.el (doctor-death): Update the Samaritans's contact
	details; anon.twwells.com is no longer valid.  Add link to Wikipedia.

2022-07-14  Eli Zaretskii  <eliz@gnu.org>

	* etc/PROBLEMS: Describe problems with remote files.  (Bug#56499)

2022-07-13  Andrea Corallo  <akrl@sdf.org>

	Remove uneffective test

	* test/src/comp-tests.el (45603-1): Remove test.
	* test/src/comp-resources/comp-test-45603.el: Delete.

2022-07-13  Andrea Corallo  <akrl@sdf.org>

	Mark async worker tmp file as utf-8-emacs-unix (bug#48029)

	* lisp/emacs-lisp/comp.el (comp-final): Mark async worker tmp file
	as utf-8.
	* test/src/comp-tests.el (48029-1): New test.
	* test/src/comp-resources/comp-test-funcs.el
	(comp-test-48029-nonascii-žžž-f): New function.

2022-07-13  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp version (don't merge)

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.5.3.28.2".
	(customize-package-emacs-version-alist):
	Add Tramp version integrated in Emacs 28.2.

2022-07-13  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp doc

	* doc/misc/tramp.texi (Configuration): Mention enable-remote-dir-locals.
	(Traces and Profiles): Fix tramp-verbose description.

	* lisp/net/tramp.el (tramp-verbose): Fix docstring.

2022-07-12  Stefan Kangas  <stefan@marxist.se>

	Don't mention cl-cXXXr aliases in cl-lib manual

	* doc/misc/cl.texi (Lists, List Functions, Efficiency Concerns): Don't
	mention 'cl-cXXXr' compatibility aliases for built-in 'cXXXr'
	functions.  They shouldn't be used in new code.

2022-07-11  Ken Brown  <kbrown@cornell.edu>

	etc/PROBLEMS: Describe issues with native compilation on Cygwin

2022-07-11  Stefan Kangas  <stefan@marxist.se>

	* lisp/find-dired.el (find-dired): Doc fix; add crossreference.

2022-07-08  Stefan Kangas  <stefan@marxist.se>

	Doc fix; don't mention obsolete variable

	* src/window.c (Fset_window_hscroll): Doc fix; don't mention obsolete
	variable.

2022-07-05  Stefan Kangas  <stefan@marxist.se>

	Add index entry for "ignore case"

	* doc/emacs/glossary.texi (Glossary): Add index entry for "ignore
	case" pointing to "Case Folding".

2022-07-05  Stefan Kangas  <stefan@marxist.se>

	Expand docstrings related to auto-saving

	* lisp/files.el (auto-save-visited-mode):
	* lisp/simple.el (auto-save-mode): Expand docstring.

2022-07-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't bug out in manual-html-fix-index-2 on newer makeinfo versions

	Backport from master.

	* admin/admin.el (manual-html-fix-index-2): Don't bug out if the
	makeinfo version doesn't include <ul>.

	(cherry picked from commit e0e3f2b672bc42da52ac9c7596c7560a88684651)

2022-07-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Preserve <title> in the Emacs manuals

	Backport from master.

	* admin/admin.el (manual-html-fix-headers): Preserve the <title>
	element (bug#48334).

	(cherry picked from commit b778e71af7ca8c59917334b4bb1b34cdb52faca9)

2022-07-03  Eli Zaretskii  <eliz@gnu.org>

	Document 'jit-lock-debug-mode'

	* doc/lispref/modes.texi (Other Font Lock Variables): Document
	'jit-lock-debug-mode'.

2022-07-02  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-mode.el (c-common-init): Bind case-fold-search to nil

	Backport:  This fixes bug #53605.

2022-07-02  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix a c-backward-token-2 call wrongly jumping back over macros.

	This fixes bug #56256.

	* lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): Replace a
	c-backward-token-2, which could jump back too far leading to an infinite
	loop, with a save-excursion to remember the point we've got to go back to.

2022-07-02  Stefan Kangas  <stefan@marxist.se>

	Doc fixes; don't use obsolete names

	* etc/compilation.txt:
	* lisp/mh-e/mh-funcs.el (mh-kill-folder): Don't use obsolete
	names.

2022-07-02  Stefan Kangas  <stefan@marxist.se>

	Don't refer to obsolete alias for insert-char

	* lisp/leim/quail/persian.el: Don't refer to obsolete alias for
	insert-char.

2022-07-02  Stefan Kangas  <stefan@marxist.se>

	Don't use obsolete face name in manoj-dark-theme

	* etc/themes/manoj-dark-theme.el (change-log-acknowledgment): Don't
	use obsolete/non-existent face name.

2022-07-01  Eli Zaretskii  <eliz@gnu.org>

	Fix "C-u C-x =" for SPC

	* lisp/descr-text.el (describe-char): Don't report 'nobreak-space'
	face for SPC.  (Bug#56337)

2022-06-30  Stefan Kangas  <stefan@marxist.se>

	Doc fixes: don't refer to some obsolete items

	* admin/notes/multi-tty:
	* lisp/chistory.el (command-history):
	* lisp/emacs-lisp/nadvice.el:
	* lisp/vc/diff-mode.el: Doc fix; don't refer to obsolete variables and
	functions.

2022-06-30  Stefan Kangas  <stefan@marxist.se>

	Remove obsolete cust-print from elisp index

	* doc/lispref/edebug.texi (Printing in Edebug): Remove obsolete
	library "cust-print" from index.

2022-06-30  Stefan Kangas  <stefan@marxist.se>

	* admin/make-tarball.txt: Minor clarifications.

2022-06-30  Eli Zaretskii  <eliz@gnu.org>

	Fix external image conversion on MS-Windows

	* lisp/image/image-converter.el (image-converter--convert-magick)
	(image-converter--convert): Force encoding/decoding to avoid any
	text or EOL conversions, since we are reading/writing binary
	data.  (Bug#56317)

2022-06-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/emacs/buffers.texi (Indirect Buffers): Mention modification hook quirk

2022-06-29  Stefan Kangas  <stefan@marxist.se>

	Bump Emacs version to 28.1.90

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version to 28.1.90.

2022-06-29  Stefan Kangas  <stefan@marxist.se>

	Update ChangeLog and AUTHORS for 28.1.90 pretest

	* ChangeLog.3:
	* etc/AUTHORS: Update.

2022-06-29  Michael Albinus  <michael.albinus@gmx.de>

	Update Tramp version (don't merge with master)

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.5.3".

2022-06-28  Michael Albinus  <michael.albinus@gmx.de>

	Tramp shall not trap unrelated D-Bus errors

	* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-event-vector): Declare.
	(tramp-gvfs-file-name-handler): Let-bind it.
	(tramp-gvfs-dbus-event-vector): Fix docstring.
	(tramp-gvfs-maybe-open-connection): Do not set it globally.  (Bug#56162)

2022-06-28  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix hash table function return values in manual

	* doc/lispref/hash.texi (Hash Access): Reconcile documented return
	values of puthash and clrhash with their respective
	docstrings (bug#55562).

2022-06-27  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.4-3-g6dc785

2022-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	Mention Solaris 10 'make clean' and 'make check'

	Mention further crashes on Solaris 10

2022-06-26  Paul Eggert  <eggert@cs.ucla.edu>

	Port distribution tarball to Solaris 10

	* make-dist (taropt): Use 'tar -H ustar' to generate a portable
	tar file format instead of a GNU-specific format.  Needed now that
	Emacs tarballs contain file names longer than 100 bytes, e.g.:
	emacs-28.1/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/C072AF82DCCCB9A7F1B85FFA10B802DC4ED16703.key
	emacs-28.1/test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args-until-success.el
	Without this patch, extracting a tarball on Solaris 10 fails with
	many diagnostics like “tar: ././@LongLink: typeflag 'L' not
	recognized, converting to regular file”.

	(cherry picked from commit 4410f5d86997b6b238ff05c2ece338b28e1163b1)

2022-06-24  Stefan Kangas  <stefan@marxist.se>

	Avoid treating number as an enum in the org manual

	* doc/misc/org.org (The Agenda Dispatcher): Avoid treating number as
	enum.

2022-06-22  Eli Zaretskii  <eliz@gnu.org>

	Improve last change in autotype.texi

	* doc/misc/autotype.texi (Autoinserting): Fix wording.  Suggested
	by Richard Stallman <rms@gnu.org>.

2022-06-21  Stefan Kangas  <stefan@marxist.se>

	* lisp/repeat.el (repeat-mode): Fix message format.

2022-06-21  Earl Hyatt  <okamsn@protonmail.com>

	Clarify autotype.texi text slightly

	* doc/misc/autotype.texi (Autoinserting): Make text slightly
	clearer (bug#56118).

2022-06-20  Eli Zaretskii  <eliz@gnu.org>

	Support builds configured with a separate --bindir

	* src/emacs.c (load_pdump): Don't overwrite the leading
	directories of the Emacs executable just because the pdumper file
	was not found in the expected directory relative to the binary.
	This is needed to support builds with a separate --bindir
	configure-time option and native-compilation.  (Bug#55741)

2022-06-20  Stefan Kangas  <stefan@marxist.se>

	* doc/misc/eww.texi (Overview, Basics): Fix typos.

2022-06-18  Richard Hansen  <rhansen@rhansen.org>

	Fix invalid defcustom :group when :predicate is used

	* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Fix
	invalid `:group' argument for the `-modes' defcustom that is created
	when `:predicate' is used (bug#56049).

2022-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Prune the Gnus FAQ of some outdated data

	* doc/misc/gnus-faq.texi (FAQ 9-2): Remove some outdated advice
	(bug#56042).

2022-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix efaq-w32.texi build warning

	* doc/misc/efaq-w32.texi (Other useful ports): Fix ordering to
	match nodes (or should the nodes be moved instead?).

	Do not merge to master.

2022-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Update cl-struct-sequence-type doc string

	* lisp/emacs-lisp/cl-macs.el (cl-struct-sequence-type): Fix doc
	string to reflect what it does (bug#46523).

2022-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix a tagging problem in tramp.texi

	* doc/misc/tramp.texi (Frequently Asked Questions): Restore an
	@end lisp removed by accident.

2022-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention face quirks after the final line in the lispref manual

	* doc/lispref/display.texi (Face Attributes): Mention the quirks
	about point after the final line (bug#56011).

2022-06-17  Stefan Kangas  <stefan@marxist.se>

	Delete reference to obsolete library complete.el

	* doc/misc/tramp.texi (Frequently Asked Questions): Delete reference
	to obsolete library complete.el.

2022-06-16  Stefan Kangas  <stefan@marxist.se>

	* lisp/textmodes/artist.el: Minor doc fixes.

2022-06-16  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-methods): Fix quoting in docstring.

2022-06-16  Arash Esbati  <arash@gnu.org>

	Update MS Windows FAQ for MinGW64-w64/MSYS2

	* doc/misc/efaq-w32.texi (Compiling, Debugging): Mention
	MinGW64-w64/MSYS2 as the preferred way for building Emacs on
	capable systems.
	(Attachments with Gnus): Catch up with emacs-mime.texi in the
	example given.
	(Spell check): Add the availability of GNU Aspell and Hunspell
	in MSYS2 distribution.
	(Other useful ports): Add an entry for MinGW64-w64/MSYS2.
	Fix link for MinGW homepage.
	Remove entry for defunct UWIN project.  (Bug#55930)

2022-06-15  Robert Pluim  <rpluim@gmail.com>

	Describe 'set-file-modes' argument prompting

	* src/fileio.c (Fset_file_modes): Document that FILENAME is prompted
	for.  (Bug#55984)

2022-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Clarify what a Calc registeri in in calc-insert-register"

	This reverts commit 73400e4002ce8fca060093548e6791b3a784eeaa.

	This has been fixed in Emacs 29 by making it possible to use regular registers in calc.

2022-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify what a Calc registeri in in calc-insert-register

	* lisp/calc/calc-yank.el (calc-insert-register): Note that these
	aren't normal registers (bug#55943).

2022-06-11  Eli Zaretskii  <eliz@gnu.org>

	Fix doc strings in whitespace.el

	* lisp/whitespace.el (whitespace-style, whitespace-action):
	Untabify the doc strings.  (Bug#55904)

2022-06-10  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of "etags -I"

	* doc/man/etags.1:
	* doc/emacs/maintaining.texi (Create Tags Table): Elaborate on the
	importance of the '-I' option to 'etags'.  (Bug#45246)

2022-06-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the #f syntax from cl-prin1

	* doc/lispref/objects.texi (Special Read Syntax): Mention #f,
	which is in cl-prin1 output (bug#55853).

2022-06-09  Michael Albinus  <michael.albinus@gmx.de>

	Fix file name quoting in tramp-smb.el (do not merge)

	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Quote tmpfile.
	(tramp-smb-get-localname): Remove superfluous test.  (Bug#55855)

	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-method-rules):
	Remove superfluous checks.

2022-06-09  Jeff Walsh  <fejfighter@gmail.com>

	Update error message to reflect variable rename

	* src/comp.c (Fcomp_el_to_eln_filename): Update error message.  (Bug#55861)

2022-06-08  Ken Brown  <kbrown@cornell.edu>

	Fix error reporting in process-async-https-with-delay

	* test/src/process-tests.el (process-async-https-with-delay): Use
	'plist-get' instead of 'assq' in testing for a connection error.
	The 'status' variable is a plist, not an alist.  (Bug#55849)

2022-06-08  Stefan Kangas  <stefan@marxist.se>

	* doc/misc/org.org: Remove spurious markup.

2022-06-08  Michael Albinus  <michael.albinus@gmx.de>

	Make Tramp version check more robust

	* lisp/net/trampver.el (tramp-repository-branch)
	(tramp-repository-version): Check for "git" executable.

2022-06-07  Eli Zaretskii  <eliz@gnu.org>

	Fix debugging with GDB when a breakpoint has multiple locations

	* lisp/progmodes/gdb-mi.el (gdb-breakpoints--add-breakpoint-row):
	New function, extracted from 'gdb-breakpoints-list-handler-custom'.
	Don't print "in <unknown>" for header-rows of breakpoints with
	multiple locations that don't have a function name attached.
	(gdb-breakpoints-list-handler-custom): Add to the breakpoint table
	also any locations in multiple-location breakpoints, which are
	supported since GDB 6.8.

2022-06-05  Eli Zaretskii  <eliz@gnu.org>

	Update documentation of 'aset' and 'store-substring'

	* doc/lispref/strings.texi (Modifying Strings): Adjust to
	implementation changes: it is possible for the modified string to
	have fewer or more bytes than the original.  Add recommendations
	regarding unibyte vs multibyte strings and characters.  (Bug#55801)

2022-06-04  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.4

2022-06-04  Eli Zaretskii  <eliz@gnu.org>

	Clarify documentation of 'string-to-unibyte'

	* doc/lispref/nonascii.texi (Converting Representations): Clarify
	what 'string-to-unibyte' does.  Reported by Richard Hansen
	<rhansen@rhansen.org>.  (Bug#55777)

2022-06-02  Ikumi Keita  <ikumi@ikumi.que.jp>  (tiny change)

	Improve keystrokes in doc strings in some find-file functions

	* lisp/files.el (find-file):
	(find-file-other-window):
	(find-file-other-frame): Include the correct keymap so that
	keystrokes are displayed better (bug#55761).

2022-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix segfaults when starting on 80x26 TTY frames

	* src/dispnew.c (adjust_frame_glyphs_for_frame_redisplay): Make
	sure we have valid frame glyph matrices for the interactive
	session.  (Bug#55760)
	(adjust_frame_glyphs): Add assertions for when we fail to allocate
	valid frame glyph matrices for a TTY frame.

2022-06-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Make it explicit that a couple of _s in lispref are underscores

	* doc/lispref/strings.texi (Custom Format Strings):
	* doc/lispref/control.texi (pcase Macro): Make it explicit that
	it's an underscore (bug#55742).

2022-05-31  Eli Zaretskii  <eliz@gnu.org>

	Remove from FAQ the MS-Windows info about BDF fonts

	* doc/misc/efaq.texi (How to add fonts): Remove the MS-Windows
	specific steps, as BDF fonts are no longer supported on
	MS-Windows.  (Bug#55740)

2022-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>  (tiny change)

	Fix Display Property manual example

	* doc/lispref/display.texi (Display Property): Fix syntax of
	example (bug#55736).

2022-05-29  Michael Albinus  <michael.albinus@gmx.de>

	Some Tramp cleanup on MS Windows

	* lisp/net/tramp.el (tramp-restricted-shell-hosts-alist): Do not add
	localhost when `tramp-encoding-shell' is a POSIX shell.

	* test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
	Skip on MS Windows.

2022-05-28  Alan Mackenzie  <acm@muc.de>

	do_switch_frame: before leaving mini-window, check other (mru) window is live

	This fixes bug#55684.  There, with a minibuffer-only frame at start up,
	Emacs tried to switch to this frame, whose selected window was the
	mini-window.  There is no other active window in this frame, so the
	attempt to switch to another window failed.

	* src/frame.c (do_switch_frame): On switching to a frame whose selected
	window is as above, before selecting the most recently used window, check
	this ostensible window is an actual live window.  Otherwise leave the
	mini-window selected.

2022-05-28  Eli Zaretskii  <eliz@gnu.org>

	Fix commands used to produce on-line HTML docs

	* admin/admin.el (manual-meta-string): Only include the first
	line, and move the rest...
	(manual-links-string): ...to this new string.
	(manual-html-fix-headers): Don't remove the '<meta name=' elements
	produced by makeinfo, especially not the 'name="viewport"' one,
	which is essential for viewing the docs on mobile devices.
	Reported by "Facundo Lander via RT" <webmasters-comment@gnu.org>,
	see gnu.org ticket #1840138.

2022-05-28  Eli Zaretskii  <eliz@gnu.org>

	Fix a bad cross-reference in elisp.pdf

	* doc/lispref/control.texi (pcase Macro): Fix a conditional
	cross-reference (bug#55689).

2022-05-28  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of 'string-pad'

	* doc/lispref/strings.texi (Creating Strings): Fix description of
	'string-pad'.  (Bug#55688)

2022-05-27  Juri Linkov  <juri@linkov.net>

	Fix more occurrences of renamed kmacro-keymap command

	* doc/emacs/kmacro.texi (Basic Keyboard Macro): Fix documentation
	after recent kmacro-redisplay command name change.

2022-05-27  Eli Zaretskii  <eliz@gnu.org>

	Mention "unspecified-fg" and "unspecified-bg" in some doc strings

	* lisp/faces.el (face-foreground, face-background)
	(foreground-color-at-point, background-color-at-point):
	* lisp/color.el (color-name-to-rgb): Mention "unspecified-fg" and
	"unspecified-bg" pseudo-colors on TTY frames.  (Bug#55623)

2022-05-26  Hayden Shenk  <hayden.shenk@zetier.com>  (tiny change)

	Fix format specifiers in tramp-adb.el

	* lisp/net/tramp-adb.el (tramp-adb-get-device): Fix format
	specifiers for port.  (Bug#55651)

2022-05-22  Damien Cassou  <damien@cassou.me>

	Improve documentation of mail-user-agent.

	* doc/emacs/sending.texi (Mail Methods):
	* lisp/simple.el (mail-user-agent): Mention additional options
	of non-bundled MUA.  (Bug#5569)

2022-05-21  Eli Zaretskii  <eliz@gnu.org>

	More fixes in abbrev.el doc strings

	* lisp/abbrev.el (inverse-add-global-abbrev, inverse-add-mode-abbrev):
	Document the effect of negative ARG.  (Bug#55527)

2022-05-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add note about Tramp completion to completion-styles doc string

	* lisp/minibuffer.el (completion-styles): Add note about Tramp
	completion (bug#37954).

2022-05-21  Arash Esbati  <arash@gnu.org>

	Remove mention of removed nnimap-nov-is-evil variable

	* doc/misc/gnus.texi (Slow/Expensive Connection): Remove mention
	of removed nnimap-nov-is-evil variable (bug#55556).

2022-05-21  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation strings and prompts in abbrev.el

	* lisp/abbrev.el (abbrev-file-name, only-global-abbrevs)
	(copy-abbrev-table, insert-abbrevs, list-abbrevs)
	(abbrev-table-name, edit-abbrevs, define-abbrevs)
	(read-abbrev-file, quietly-read-abbrev-file, write-abbrev-file)
	(abbrev-edit-save-to-file, abbrev-edit-save-buffer)
	(add-mode-abbrev, add-global-abbrev, inverse-add-mode-abbrev)
	(inverse-add-global-abbrev, abbrev-prefix-mark)
	(expand-region-abbrevs, abbrev-table-get, abbrev-table-put)
	(abbrev-get, abbrev-minor-mode-table-alist, abbrevs-changed)
	(abbrev-all-caps, last-abbrev-text, last-abbrev-location)
	(clear-abbrev-table, define-abbrev, define-global-abbrev)
	(define-mode-abbrev, abbrev--active-tables, abbrev--symbol)
	(abbrev-symbol, abbrev-expansion, abbrev-insert)
	(abbrev-expand-function, abbrev--suggest-above-threshold)
	(abbrev--suggest-saved-recommendations)
	(abbrev--suggest-shortest-abbrev, abbrev--suggest-get-totals)
	(insert-abbrev-table-description, define-abbrev-table)
	(abbrev-table-menu): Fix doc strings: wording, punctuation,
	clarity.
	(add-abbrev, inverse-add-abbrev): Improve the prompt text.
	(Bug#55527)

2022-05-20  Alan Mackenzie  <acm@muc.de>

	Restore the Fselect_window call in gui_consider_frame_title.

	This fixes bug #55412.  The call to Fselect_window was removed on 2021-03-21
	in the commit "Prevent open minibuffers getting lost when their frame gets
	deleted".  This call is actually needed to determine current elements of the
	pertinent window and frame when these are used in the frame title.

	* src/frame.c (do_switch_frame): When the selected window in the target frame
	is the mini-window, switch away from this window unless there is a valid
	minibuffer there.

	* src/frame.h (struct frame): Add an incidental comment about the element
	selected_window.

	* src/minibuf.c (move_minibuffers_onto_frame): No longer set the selected
	window of the source frame.  This action is now performed later, on returning
	to that frame, in do_switch_frame when needed (see above).

	* src/xdisp.c (gui_consider_frame_title): Replace the Fselect_window call and
	associated ancillary settings.

2022-05-20  Eli Zaretskii  <eliz@gnu.org>

	Advise against settings in the MS-Windows system registry

	* doc/emacs/cmdargs.texi (MS-Windows Registry): Advise against
	setting environment variables in the system registry.  (Bug#16429)

2022-05-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix kmacro-keymap binding after previous change

	* lisp/kmacro.el (kmacro-keymap): Fix binding after
	kmacro-redisplay command name change.

2022-05-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Add glossary entries for "interactively"

	* doc/emacs/glossary.texi (Glossary): Mention "interactively" and
	how it relates to the "command" concept (bug#55461).

2022-05-17  Eli Zaretskii  <eliz@gnu.org>

	Fix the name of a kmacro command.

	* lisp/kmacro.el (kmacro-redisplay): Rename from
	'kdb-macro-redisplay' (which was wrong and included a typo).

	* etc/NEWS: Announce the change.  (Bug#55471)

2022-05-17  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp sshfs tests (don't merge)

	* test/lisp/net/tramp-tests.el (tramp-fuse-remove-hidden-files): Declare.
	(tramp-test16-directory-files)
	(tramp-test16-file-expand-wildcards)
	(tramp-test26-file-name-completion, tramp--test-check-files): Use it.
	(tramp--test-check-files): Delete directory recursively.

2022-05-17  Michael Albinus  <michael.albinus@gmx.de>

	Some minor Tramp fixes

	* lisp/net/tramp-cmds.el (tramp-list-tramp-buffers)
	(tramp-list-remote-buffers): Add ;;;###tramp-autoload cookie.

	* lisp/net/tramp-fuse.el (tramp-fuse-remove-hidden-files): New defvar.
	(tramp-fuse-remove-hidden-files): Use it.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askquestion):
	Keep regression tests running.

2022-05-15  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.3-6-gef41f3

2022-05-15  Michael Albinus  <michael.albinus@gmx.de>

	Hide temporary FUSE files in Tramp

	* lisp/net/tramp-fuse.el (tramp-fuse-remove-hidden-files): New defsubst.
	(tramp-fuse-handle-directory-files)
	(tramp-fuse-handle-file-name-all-completions): Use it.

2022-05-15  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp-test27-load): Adapt test.  Don't merge

2022-05-13  Po Lu  <luangruo@yahoo.com>

	Fix tooltip face overwriting dragged text strings during mouse DND

	* lisp/mouse.el (mouse-drag-and-drop-region): Copy
	`text-tooltip' before showing it.  Do not merge to master.

2022-05-13  Eli Zaretskii  <eliz@gnu.org>

	Fix lexical-binding fallout in vhdl-mode.el

	* lisp/progmodes/vhdl-mode.el (arch-alist, pack-alist)
	(file-alist, unit-alist, rule-alist): Defvar them, since vhdl-aput
	expects them to be dynamically bound.  (Bug#55389)
	(vhdl-speedbar-insert-hierarchy): Rename the PACK-ALIST argument
	to PACKAGE-ALIST, to avoid shadowing the global variable.

2022-05-12  Michael Albinus  <michael.albinus@gmx.de>

	Fix ControlPath quoting in Tramp

	* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
	Adapt docstring.  Do not quote ControlPath.  Reported by Daniel
	Kessler <kesslerd@umich.edu>.

2022-05-09  Eli Zaretskii  <eliz@gnu.org>

	Remove the AUCTeX subsection from MS-Windows FAQ

	* doc/misc/efaq-w32.texi (AUCTeX): Remove the subsection, it is no
	longer useful.  (Bug#55330)

2022-05-09  Arash Esbati  <arash@gnu.org>

	Update AUCTeX FAQ entry

	* doc/misc/efaq-w32.texi (AUCTeX): AUCTeX project isn't providing
	pre-compiled versions for Windows anymore (bug#55330).

2022-05-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Update string-to-number documentation to bignum Emacs

	* doc/lispref/strings.texi (String Conversion): string-to-number
	no longer converts integers to floating point numbers (bug#55334).

2022-05-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix doc string references to tags-loop-continue

	* lisp/vc/vc-dir.el (vc-dir-search, vc-dir-query-replace-regexp):
	Fix reference to obsolete tags-loop-continue (bug#55311).

2022-05-08  Visuwesh M  <visuweshm@gmail.com>

	dired-do-query-replace-regexp doc string fix

	* lisp/dired-aux.el (dired-do-query-replace-regexp): Refer
	'fileloop-continue' instead of the obsolete command
	'tags-loop-continue'.  (Bug#55311)

	(cherry picked from commit 4c505203f9171886f47638779326e257a95a1d79)

2022-05-08  Alan Mackenzie  <acm@muc.de>

	Linux console: don't translate ESC TAB to `backtab' in input-decode-map.

	This translation happened after the terminfo entry for <shift>TAB in the linux
	section was changed to kcbt=\E^I in ncurses version 6.3.

	* lisp/term/linux.el (terminal-init-linux): Add a define-key form to remove
	the entry for "\e\t" from input-decode-map.

	* etc/PROBLEMS: Add a new section under "character terminals" about S-TAB
	wrongly doing the same thing as M-TAB, giving tips about amending the Linux
	keyboard layout.

2022-05-08  Michael Albinus  <michael.albinus@gmx.de>

	Handle changed scp protocol in Tramp, don't merge

	* lisp/net/tramp-sh.el (tramp-scp-force-scp-protocol): New defvar.
	(tramp-scp-force-scp-protocol): New defun.
	(tramp-do-copy-or-rename-file-out-of-band): Use it.
	(tramp-methods) <scp, scpx>: Use "%y".

	* lisp/net/tramp.el (tramp-methods): Adapt docstring.

2022-05-06  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#55274

	* lisp/dired-aux.el (dired-do-compress-to): Use `file-local-name'
	for shell out-file.  (Bug#55274)

2022-05-06  Eli Zaretskii  <eliz@gnu.org>

	Provide reference for OTF tags in the ELisp manual

	* doc/lispref/display.texi (Low-Level Font): Provide the canonical
	reference URL for OTF tags.

2022-05-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Be more resilient towards errors during error handling

	* src/print.c (print_error_message): Avoid infinite recursion if
	`substitute-command-keys' bugs out (bug#55269).

	(cherry picked from commit 8364f058b821eba31f84dcded175cca403a965a5)

2022-04-28  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of font- and face-related attribute functions

	* lisp/faces.el (face-attribute):
	* src/xfaces.c (Fx_family_fonts):
	* src/font.c (Ffont_get, Ffont_put): Improve and clarify the doc
	strings.

	* doc/lispref/display.texi (Low-Level Font): Document the :type
	attribute of a font.  Improve documentation of 'font-get' and
	'font-put'.
	(Attribute Functions): Add cross-reference to the description of
	face attributes.

2022-04-25  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.3-3-gd54104

2022-04-24  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing in "Programmed Completion"

	* doc/lispref/minibuf.texi (Programmed Completion): Improve
	indexing.  (Bug#55095)

2022-04-24  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'set-fontset-font'

	* doc/lispref/display.texi (Fontsets):
	* src/fontset.c (Fset_fontset_font): Improve and clarify the
	documentation of 'set-fontset-font'.  Rename the arguments to be
	more self-explanatory.  (Bug#55086)

2022-04-23  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem with Solaris ls in Tramp

	* lisp/net/tramp-sh.el (tramp-sunos-unames): Move up.
	(tramp-sh--quoting-style-options): Handle erroneous Solaris ls.

2022-04-22  Eli Zaretskii  <eliz@gnu.org>

	Another fix for non-ASCII 'overlay-arrow-string'

	* src/xdisp.c (get_overlay_arrow_glyph_row): Fix yet another place
	that assumed each character is a single byte.

2022-04-21  Eli Zaretskii  <eliz@gnu.org>

	Avoid a redisplay loop when 'overlay-arrow-string' is non-ASCII

	* src/xdisp.c (get_overlay_arrow_glyph_row): Don't assume every
	character in 'overlay-arrow-string' is one byte long.  Reported by
	Yuri D'Elia <wavexx@thregr.org>.

2022-04-21  Eli Zaretskii  <eliz@gnu.org>

	Add minimum instructions to 'query-replace' commands

	* lisp/vc/vc-dir.el (vc-dir-query-replace-regexp):
	* lisp/textmodes/reftex-global.el (reftex-query-replace-document):
	* lisp/progmodes/project.el (project-query-replace-regexp):
	* lisp/progmodes/etags.el (tags-query-replace):
	* lisp/progmodes/ebrowse.el (ebrowse-tags-query-replace):
	* lisp/isearch.el (isearch-query-replace, isearch-occur):
	* lisp/emulation/viper-cmd.el (viper-query-replace):
	* lisp/dired-aux.el (dired-do-query-replace-regexp)
	(dired-do-find-regexp-and-replace):
	* lisp/progmodes/xref.el (xref-query-replace-in-results):
	* lisp/replace.el (query-replace, query-replace-regexp)
	(query-replace-regexp-eval, map-query-replace-regexp): Add minimal
	instructions for dealing with matches, with a link to the command
	that shows the full instructions.  (Bug#55050)

2022-04-21  Eli Zaretskii  <eliz@gnu.org>

	Fix customization-group of 'python-forward-sexp-function'

	* lisp/progmodes/python.el (python-forward-sexp-function): Make it
	be part of both 'python' and 'python-flymake' groups.  (Bug#55027)
	Do not merge to master.

2022-04-20  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	(cherry picked from commit 992cf3cb675e074079341cc54c3b16d37a8b9ca8)

	This is a partial backport from master: it only includes the changes below.

	* lib/mini-gmp.c (gmp_assert_nocarry): Avoid many Clang
	unused-variable warnings when building with optimization.
	* lib/verify.h (_GL_HAVE__STATIC_ASSERT): Modify condition for using
	_Static_assert to cope with older Apple builds of Clang exposing
	misleading compiler version numbers.  See discussion starting at
	https://lists.gnu.org/archive/html/emacs-devel/2022-04/msg00779.html

2022-04-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert prompting changes in viper-cmd

	* lisp/emulation/viper-cmd.el (viper-quote-region)
	(viper-read-string-with-history, viper-query-replace): Revert
	prompting changes done in 50512e3 -- the way viper prompts in
	command mode is special (bug#55007).

	Do not merge to master.

2022-04-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix regression with multiple mode: entries in the prop line

	* lisp/files.el (hack-local-variables): Fix regression with multiple
	mode: entries in the prop line.

	Do not merge to master.

2022-04-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid hangs in python-mode with debug-on-error set

	* lisp/progmodes/python.el (python-nav-end-of-statement): Avoid
	using cl-assert here, because this is called from the font-lock
	machinery, and if debug-on-error is set here, we'll hang Emacs
	(bug#54996).

	Do not merge to master.

2022-04-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix major-mode setting regression when there's a mode: cookie

	* lisp/files.el (hack-local-variables): Fix regression in setting
	the major mode when there are mode: cookies in the file (bug#54993).

	Do not merge to master.

2022-04-17  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.2-38-g682ccd

2022-04-17  Eli Zaretskii  <eliz@gnu.org>

	Revert "Don’t assume openat"

	This reverts commit 3cccf0a9107d585173e527550bbc45253624ca2e.

	This is a change with far-reaching effects on MS-Windows at the least,
	where file-related APIs are shadowed to support transparent support
	for UTF-8 encoded file names.  Making such changes on a stable branch
	for the benefit of a proprietary platform with a 13-year old OS is a
	tail wagging the dog.  Please don't do that without discussing first.

2022-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t assume openat

	Use openat only on platforms with O_PATH.
	This ports to OS X 10.9 and earlier.
	Problem reported by Keith David Bershatsky in:
	https://lists.gnu.org/r/emacs-devel/2022-04/msg00805.html
	* lib-src/emacsclient.c (local_sockname): Use open, not openat.
	* src/sysdep.c (sys_openat): New static function,
	which uses openat only if O_PATH is defined.
	(emacs_openat): Use it instead of openat.
	(emacs_openat_noquit): Remove.
	(emacs_open_noquit): Reimplement as per the old emacs_openat_noquit,
	but use plain 'open'.

2022-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	Fix GC bug in filelock.c

	Fix a bug where if GC occurred at the wrong moment when locking a
	file, the lock file’s name was trashed so file locking did not work.
	This bug was introduced in Emacs 28.1.  The bug sometimes caused
	filelock-tests-detect-external-change test failures on Fedora 35
	x86-64 in an en_US.utf8 locale.
	* src/filelock.c (lock_file_1, current_lock_owner, lock_if_free)
	(lock_file, unlock_file, Ffile_locked_p):
	Use Lisp_Object, not char *, for string, so that GC doesn’t trash
	string contents.
	(make_lock_file_name): Return the encoded name, not the original.
	All callers changed.

2022-04-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify when mode tagging is used

	* etc/NEWS: Clarify when mode tagging is used (bug#54964).

2022-04-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Further vcs-cvs/rcs-responsible-p updates from master

	* lisp/vc/vc-bzr.el (vc-bzr-responsible-p):
	* lisp/vc/vc-sccs.el (vc-sccs-responsible-p):
	* lisp/vc/vc-dav.el (vc-dav-responsible-p): Update doc string.

	* lisp/vc/vc-rcs.el (vc-rcs-responsible-p):
	* lisp/vc/vc-cvs.el (vc-cvs-responsible-p): Further fixes from
	master.

	* lisp/vc/vc-src.el (vc-src-responsible-p): Return the directory.

	* lisp/vc/vc.el: Update comments.

2022-04-16  Mattias Engdegård  <mattiase@acm.org>

	Fix builds on older versions of macOS

	This adds back macOS-specific code replaced earlier (bug#48548),
	specifically to fix build errors on macOS 10.7.5.  See discussion at
	https://lists.gnu.org/archive/html/emacs-devel/2022-04/msg00779.html .

	* src/sysdep.c (HAVE_RUSAGE_INFO_CURRENT, HAVE_PROC_PIDINFO): New.
	(system_process_attributes): Use alternative code or exclude features
	when building on older macOS versions.

2022-04-16  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of Outline minor mode options

	* lisp/outline.el (outline-minor-mode-cycle-filter)
	(outline-minor-mode-cycle, outline-minor-mode-highlight)
	(outline-cycle, outline-cycle-buffer): Doc fixes.  (Bug#54967)

2022-04-15  Eli Zaretskii  <eliz@gnu.org>

	Improve discoverability of 'insert-directory-program'

	* lisp/files.el (insert-directory-program): Mention 'dired' in the
	doc string.
	* lisp/dired.el (dired): Mention 'insert-directory-program' in the
	doc string.  (Bug#54962)

2022-04-15  Eli Zaretskii  <eliz@gnu.org>

	Fix cursor motion under truncate-lines with Flymake fringe indicator

	* src/indent.c (Fvertical_motion): Don't consider fringe bitmaps
	as "images" for the purpose of vertical-motion logic dealing with
	overshooting buffer positions.  (Bug#54946)

2022-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make all vc-*-responsible-p functions return a string

	* lisp/vc/vc-sccs.el (vc-sccs-responsible-p):
	* lisp/vc/vc-rcs.el (vc-rcs-responsible-p):
	* lisp/vc/vc-dav.el (vc-dav-responsible-p):
	* lisp/vc/vc-cvs.el (vc-cvs-responsible-p): Return a file name
	instead of t when we get a match (which is what
	vc-backend-for-registration expects) (bug#51800).

	This fixes the regression reported in bug#54935.

	Do not merge to master.

2022-04-14  Eli Zaretskii  <eliz@gnu.org>

	Describe problems with invoking Python on MS-Windows

	* etc/PROBLEMS: Describe problems with running an inferior Python
	interpreter due to the MS-Windows "App Execution Aliases" feature.
	(Bug#54860)

2022-04-13  Eli Zaretskii  <eliz@gnu.org>

	A better fix for bug#54800

	* lisp/calc/calc.el (calc-align-stack-window): Improve scrolling
	when windows have non-integral dimensions.

2022-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a comment about cl-concatenate

	* lisp/emacs-lisp/cl-extra.el (cl-concatenate): Add a comment.

2022-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make cl-concatenate an alias of seq-concatenate"

	This reverts commit 78f76fe16e2737b40694f82af28d17a90a21ed7b.

	The commit made calls to cl-concatenate bug out, since
	autoloading defaliases doesn't work very well (bug#54901).

2022-04-12  Eli Zaretskii  <eliz@gnu.org>

	Fix 'window-text-pixel-width' when starting from display property

	* src/xdisp.c (Fwindow_text_pixel_size): Handle the case where
	there's a display property at START, and move_it_to overshoots.
	Do not merge to master.  (Bug#54862)

2022-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/mm-encode.el (mm-default-file-encoding): Fix "when" arg

2022-04-11  Eli Zaretskii  <eliz@gnu.org>

	Fix default-directory of buffers visiting files in renamed directories

	* lisp/dired-aux.el (dired-rename-file): Take note of whether FILE
	is a directory before it is renamed, which makes it impossible to
	determine if it was a directory.
	(dired-rename-subdir, dired-rename-subdir-1): Revert to using
	dired-in-this-tree-p instead of file-in-directory-p, for the
	benefit of files that were renamed/removed, because
	file-in-directory-p returns nil in those cases.  (Bug#54838)

2022-04-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix a kill-append regression

	* lisp/simple.el (kill-append): Fix a regression when
	kill-ring-max is zero (bug#54842).

2022-04-10  Eli Zaretskii  <eliz@gnu.org>

	* doc/misc/eww.texi (Advanced): Correct outdated info (bug#54839).

2022-04-10  Eli Zaretskii  <eliz@gnu.org>

	Clean up the MSDOS port

	* src/msdos.h (tcdrain): Redirect to '_dos_commit'.
	(openat, fchmodat, futimens, utimensat): Add prototypes.

	* msdos/sed1v2.inp (MAKE_PDUMPER_FINGERPRINT): Fix indentation, so
	that Make won't consider this line a command.
	($(etc)/DOC): Chdir back to ../src, since "make-docfile -d" leaves
	us in a wrong directory.
	* msdos/sedlibmk.inp (GL_GNULIB_GETRANDOM, GL_GNULIB_MEMMEM)
	(GL_GNULIB_SIGDESCR_NP): Define to 1, to get the prototypes from
	Gnulib headers.

2022-04-10  Daniel Martín  <mardani29@yahoo.es>

	Fix typo in next-error-find-buffer-function

	* lisp/simple.el (next-error-find-buffer-function): Fix typo
	(bug#54830).

2022-04-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make shell-resync-dirs handle whitespace in directory names"

	This reverts commit 90e65c826fab2092ad2099d7763538194c93e021.

	This change led to hangs (bug#54776).

	Do not merge to master; it has been fixed in a more encompassing way there.

2022-04-09  Eli Zaretskii  <eliz@gnu.org>

	Fix scrolling of the stack window in Calc

	* lisp/calc/calc.el (calc-align-stack-window): Fix off-by-one
	error in computing the window-start point.  (Bug#54800)

2022-04-08  Eli Zaretskii  <eliz@gnu.org>

	Update and fix instructions and scripts for updating the Web pages

	* admin/admin.el (manual-html-fix-index-2): Support Texinfo 6.8
	and later by not converting TOC menus into tables.  (Bug#49719)
	* admin/upload-manuals (New directory): Invoke "cvs add" in
	$webdir, to pick up the correct CVSROOT.
	* admin/make-tarball.txt: Update the section about the Emacs Web
	pages.

	* etc/refcards/Makefile (pl-refcard.dvi): If mex.fmt cannot be
	found, invoke 'mex' instead of 'tex'.

2022-04-08  Michael Albinus  <michael.albinus@gmx.de>

	Extend tramp-archive-test45-auto-load

	* test/lisp/net/tramp-archive-tests.el (tramp-archive-test45-auto-load):
	Extend test.

2022-04-08  Michael Albinus  <michael.albinus@gmx.de>

	Ensure local `default-directory' in Tramp when needed

	* lisp/net/tramp.el (tramp-process-running-p): Ensure local
	`default-directory' when calling `list-system-processes' and
	`process-attributes'.

2022-04-08  Eli Zaretskii  <eliz@gnu.org>

	Clarify "idleness" in the ELisp manual

	* doc/lispref/os.texi (Idle Timers): Clarify that waiting for
	input with timeout doesn't make Emacs idle.  Suggested by Ignacio
	<ignaciocasso@hotmail.com>.  (Bug#54371)

2022-04-07  Jürgen Hötzel  <juergen@archlinux.org>

	Use correct signal oldset in posix_spawn implementation

	posix_spawn was restoring the wrong signal set, which still had
	SIGCHLD and SIGINT masked, causing problems with child processes that
	spawned child processes.  (Bug#54667)

	See the thread ending at
	https://lists.gnu.org/archive/html/emacs-devel/2022-03/msg00067.html
	for more details.

	* src/callproc.c (emacs_spawn): Pass oldset parameter.
	(emacs_posix_spawn_init_attributes): Use correct oldset.
	(emacs_posix_spawn_init): Remove intermediate function.

	(cherry picked from commit 8103b060d89ac63a12c439087bd46c30da72cd97)

2022-04-07  Felix Dietrich  <felix.dietrich@sperrhaken.name>  (tiny change)

	Fix error in tramp-archive-autoload-file-name-handler

	* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
	Always call `tramp-autoload-file-name'.  Otherwise, when
	`tramp-archive-enabled’ is nil and
	`tramp-archive-autoload-file-name-handler’ is in the
	`file-name-handler-alist’ results in an error “Invalid handler in
	`file-name-handler-alist” once Emacs calls
	`tramp-archive-autoload-file-name-handler’ with a handler that
	does not expect nil.  Always returning nil is also false in
	general.

2022-04-07  Michael Albinus  <michael.albinus@gmx.de>

	Commit missing file from previous commit (Do not merge with master)

	Commit missing file from previous commit

2022-04-07  Michael Albinus  <michael.albinus@gmx.de>

	Merge with Tramp 2.5.2.3 (Do not merge with master)

	* doc/misc/tramp.texi (Archive file names): Explicitly say how to
	open an archive with Tramp (Bug#25076).

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.5.3-pre".

	* lisp/net/tramp-adb.el (tramp-adb-handle-process-file)
	* lisp/net/tramp-sh.el (tramp-sh-handle-process-file):
	* lisp/net/tramp-smb.el (tramp-smb-handle-process-file):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file):
	Improve implementation.  (Bug#53854)

	* lisp/net/tramp-adb.el (tramp-adb-tolerate-tilde):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-tolerate-tilde):
	New defuns.  Advice `shell-mode' with them.

	* lisp/net/tramp.el (tramp-register-autoload-file-name-handlers):
	* lisp/net/tramp-archive.el (tramp-register-archive-file-name-handler):
	Check, whether the real file name handler is already registered.
	rules.  (Bug#54542)

	* lisp/net/tramp.el (tramp-autoload-file-name-handler)
	(tramp-register-autoload-file-name-handlers)
	(tramp-unload-file-name-handlers, tramp-unload-tramp):
	* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-regexp)
	(tramp-archive-autoload-file-name-handler)
	(tramp-register-archive-file-name-handler):
	Add `tramp-autoload' property.

	* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
	* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
	Use `tramp-handle-file-notify-add-watch',
	`tramp-handle-file-notify-rm-watch' and
	`tramp-handle-file-notify-valid-p'.

	* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
	Use `tramp-handle-insert-file-contents'.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
	* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
	* lisp/net/tramp-sudoedit.el
	(tramp-sudoedit-maybe-open-connection): Do not set "lock-pid"
	connection-property.
	(tramp-sudoedit-handle-delete-file): Use "rm -f".

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-executable-p):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-executable-p):
	Check also for setuid/setgid bit.
	(tramp-gvfs-handle-expand-file-name):
	Respect `tramp-tolerate-tilde'.

	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
	* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
	Do not modify disk space information when
	`dired--insert-disk-space' is available.  (Bug#54512)

	* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Extend suppression
	(tramp-get-remote-dev-tty): New defun.
	(tramp-sh-handle-make-process): Use it.

	* lisp/net/tramp-sshfs.el (tramp-methods) <sshfs>:
	Add "-t -t" to `tramp-login-args'.
	Add "-o dir_cache=no" to `tramp-mount-args'.  (Bug#54126)
	Add "-o transform_symlinks" to `tramp-mount-args'.
	(tramp-sshfs-file-name-handler-alist):
	Use `tramp-sshfs-handle-file-writable-p'.
	(tramp-sshfs-handle-file-writable-p): New defun.  (Bug#54130)
	(tramp-sshfs-handle-write-region): Set file modification time.
	(Bug#54016)
	(tramp-sshfs-file-name-handler-alist):
	Use `tramp-sshfs-handle-set-file-times'.
	(tramp-sshfs-handle-set-file-times): New defun.

	* test/lisp/net/tramp-tests.el (tramp--test-expensive-test-p):
	Rename from `tramp--test-expensive-test'.  Make it a defun.  Adapt
	all callees.
	(tramp-test07-file-exists-p, tramp-test14-delete-directory)
	(tramp-test18-file-attributes, tramp-test20-file-modes)
	(tramp-test28-process-file, tramp-test29-start-file-process)
	(tramp-test30-make-process, tramp-test32-shell-command)
	(tramp-test33-environment-variables, tramp--test-check-files)
	(tramp--test-special-characters, tramp-test46-unload): Adapt tests.
	(tramp-test39-detect-external-change): New test.
	(tramp-test29-start-file-process)
	(tramp--test--deftest-direct-async-process)
	(tramp-test30-make-process, tramp-test31-interrupt-process)
	(tramp-test34-explicit-shell-file-name)
	(tramp-test44-asynchronous-requests):
	Add :tramp-asynchronous-processes tag.
	(tramp--test-asynchronous-processes-p): New defun.
	(tramp--test-hpux-p, tramp--test-macos-p): Protect against errors.

2022-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	cl-generic.el: Fix bug#46722

	Fix longstanding bug due to unexpected interference via side-effect.

	* lisp/emacs-lisp/cl-generic.el (cl--generic-get-dispatcher):
	Copy the `dispatch` arg before storing it into the hash-table.

	Backport from `master` (cherrypick from commit 61f8f7f68f).

2022-04-05  Eli Zaretskii  <eliz@gnu.org>

	Fix fallout from lexical-binding in vhdl-mode.el

	* lisp/progmodes/vhdl-mode.el (vhdl-update-sensitivity-list): Fix
	production of a list with embedded function calls.  (Bug#54730)

2022-04-03  Eli Zaretskii  <eliz@gnu.org>

	Update logs and HISTORY for Emacs 28.1

	* ChangeLog.3:
	* etc/HISTORY:
	* etc/AUTHORS: Update for Emacs 28.1 release.

2022-04-03  Eli Zaretskii  <eliz@gnu.org>

	Bump Emacs version to 28.1

	* README:
	* configure.ac:
	* nt/README.W32:
	* msdos/sed2v2.inp: Bump Emacs version to 28.1

2022-03-30  Tassilo Horn  <tsdh@gnu.org>

	dired: implement feature from 7b50ed553f differently

	* lisp/dired.el (dired-buffers-for-dir): Restore to emacs-27 version.
	(dired-buffers-for-dir-or-subdir): New function.
	(dired-clean-up-after-deletion): Use dired-buffers-for-dir-or-subdir
	instead dired-buffers-for-dir.

2022-03-30  Eli Zaretskii  <eliz@gnu.org>

	Fix regression in 'dired-buffers-for-dir'

	* lisp/dired.el (dired-buffers-for-dir): Fix inadvertently swapped
	arguments.  (Bug#54636)

2022-03-27  Eli Zaretskii  <eliz@gnu.org>

	* lisp/desktop.el (desktop-read): Clarify warning text.

2022-03-26  Po Lu  <luangruo@yahoo.com>

	* doc/emacs/anti.texi (Antinews): Unannounce removal of Motif.

2022-03-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix eshell-explicit-command-char doc string typo

	* lisp/eshell/esh-ext.el (eshell-explicit-command-char): Fix typo
	in doc string (bug#54567).

2022-03-24  Eli Zaretskii  <eliz@gnu.org>

	Clarify the description of "selected tags table"

	* doc/emacs/maintaining.texi (Select Tags Table): Clarify the
	distinction between the "selected tags table" and the "current
	list of tags tables".  (Bug#54543)

2022-03-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add notes about command modes and nativecomp interaction

	* doc/lispref/commands.texi (Command Modes): Note interaction with
	native-compile (bug#54437).

	* src/data.c: Add comment about not being supported.

	Do not merge to master.

2022-03-20  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.2-25-gaf6f12

2022-03-20  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings of read-char-from-minibuffer-insert-* commands

	* lisp/subr.el (read-char-from-minibuffer-insert-char)
	(read-char-from-minibuffer-insert-other): Clarify the doc strings.
	(Bug#54479)

2022-03-19  Eli Zaretskii  <eliz@gnu.org>

	Fix region highlight in non-selected windows

	* src/xdisp.c (prepare_menu_bars): Include in the windows passed
	to pre-redisplay-functions windows whose point was moved from the
	last recorded position.  (Bug#54450)

2022-03-18  Eli Zaretskii  <eliz@gnu.org>

	Fix a regression in 'decipher-digram-list'

	* lisp/play/decipher.el (decipher-stats-buffer): Don't assume the
	statistics buffer always exists.  (Bug#54443)

2022-03-17  Karl Fogel  <kfogel@red-bean.com>

	Improve documentation of bookmark default sorting

	* lisp/bookmark.el (bookmark-alist, bookmark-store,
	  bookmark-maybe-sort-alist): Update doc strings and comments.

2022-03-15  Juri Linkov  <juri@linkov.net>

	* doc/misc/transient.texi: Fix @dircategory to "Emacs misc features" for dir.

2022-03-13  Jim Porter  <jporterbugs@gmail.com>

	Fix evaluation of negated argument predicates in Eshell

	* lisp/eshell/em-pred.el (eshell-add-pred-func): Let-bind 'pred' so
	the lambdas see the original value (bug#54369).

	Committed on the wrong branch.

	Do not merge to master.

2022-03-12  Eli Zaretskii  <eliz@gnu.org>

	Emacs pretest 28.0.92

	* README:
	* configure.ac:
	* nt/README.W32:
	* msdos/sed2v2.inp: Bump Emacs version to 28.0.92.

	* etc/AUTHORS:
	* lisp/ldefs-boot.el: Update for pretest 28.0.92.

	* ChangeLog.3: Regenerate.

2022-03-10  Eli Zaretskii  <eliz@gnu.org>

	Fix regression in 'custom-prompt-customize-unsaved-options'

	* lisp/cus-edit.el (custom-prompt-customize-unsaved-options):
	Don't depend on the value returned by 'customize-unsaved'.  Fix
	the doc string.  Patch by Sebastian Miele <iota@whxvd.name>.
	(Bug#54329)

2022-03-10  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'map-charset-chars'

	* doc/lispref/nonascii.texi (Character Sets):
	* src/charset.c (Fmap_charset_chars): Clarify the codepoint issue
	in using 'map-charset-chars'.

2022-03-08  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in 'bidi_resolve_brackets'

	* src/bidi.c (bidi_resolve_brackets): Move assertion to where it
	really matters.  (Bug#54295)

2022-03-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix which-func-update doc string

	* lisp/progmodes/which-func.el (which-func-update): Make the doc
	string match the code (bug#54288).

2022-03-07  Eli Zaretskii  <eliz@gnu.org>

	Improve wording of 'dired-jump's description

	* doc/emacs/dired.texi (Dired Enter): Clarify wording.  Reported
	by Natalie <batalie@riseup.net>.

2022-03-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a comment for previous browse-url-of-dired-file change

	* lisp/net/browse-url.el (browse-url-of-dired-file): Add a comment
	for previous change.

2022-03-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore documented Emacs 27.2 behavior of browse-url-of-dired-file

	* lisp/net/browse-url.el (browse-url-of-dired-file): Restore the
	documented behavior -- open a web browser instead of passing to
	the various handlers.

2022-03-06  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.2-24-g668205

2022-03-05  Andreas Schwab  <schwab@linux-m68k.org>

	* lib-src/seccomp-filter.c (main): Use faccessat2 only if defined.

2022-03-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix regression in derived-mode-init-mode-variables

	* lisp/emacs-lisp/derived.el (derived-mode-init-mode-variables):
	Fix regression caused by lexical-binding derived.el (bug#54240).

2022-03-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes when fringe bitmaps are defined in daemon mode

	* src/dispextern.h (gui_define_fringe_bitmap): Add prototype.
	(max_used_fringe_bitmap): Add declaration.
	* src/fringe.c (gui_define_fringe_bitmap): New function.
	* src/w32term.c (w32_draw_fringe_bitmap):
	* src/xterm.c (x_draw_fringe_bitmap) [USE_CAIRO]: Call
	'gui_define_fringe_bitmap' if the terminal-specific bitmap data is
	not available when a fringe bitmap is about to be drawn.  Don't
	try to draw a bitmap that is not known to fringe.c.  (Bug#54183)

2022-03-03  Eli Zaretskii  <eliz@gnu.org>

	One more fix of the BPA implementation

	* src/bidi.c (bidi_find_bracket_pairs): Disable BPA optimization
	when there are no strong directional characters inside the
	bracketed pair.  (Bug#54219)

2022-03-03  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of brackets in BPA

	* src/bidi.c (bidi_resolve_brackets): Fix implementation of UBA's
	N0 rule when there are no strong directional characters inside the
	bracketed pair.  (Bug#54219)

2022-03-02  Po Lu  <luangruo@yahoo.com>

	Correct etc/NEWS entry about bitmapped fonts

	* etc/NEWS: Don't say that bitmap font issues are due to Pango, that's
	not accurate.

2022-03-01  Jim Porter  <jporterbugs@gmail.com>

	Improve/correct documentation about Eshell variable expansion

	* lisp/eshell/esh-var.el: Correct documentation comment.
	(eshell-parse-variable-ref): Correct docstring.

	* doc/misc/eshell.texi (Dollars Expansion): Add documentation for
	$"var"/$'var' and $<command> syntaxes.

2022-03-01  Jim Porter  <jporterbugs@gmail.com>

	Partially revert b03f74e0f2a578b1580e8b1c368665850ee7f808

	That commit regressed '$<command>' forms in Eshell, due to a
	limitation/bug in how 'eshell-do-eval' works.  This fixes
	bug#54190.

	* lisp/eshell/esh-var.el (eshell-parse-variable-ref): Quote a lambda.

	* test/lisp/eshell/eshell-tests.el (eshell-test/interp-temp-cmd):
	New test.

2022-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	Backport: Port pre-commit hook to Git 2.35.0

	* build-aux/git-hooks/pre-commit: Use LC_ALL=C grep -E instead of
	sane_egrep (removed in Git 2.35.0).

	(cherry picked from commit b8a96f055624f86fe965a0d1b7b2495b2db80e63)

2022-02-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix :tag for eol in tab-first-completion

	* lisp/indent.el (tab-first-completion): Fix the :tag description
	(bug#54179).

2022-02-28  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.2-22-g33543d

2022-02-27  Dmitry Gutov  <dgutov@yandex.ru>

	Add explicit '--no-heading' for ripgrep

	* lisp/progmodes/xref.el (xref-search-program-alist):
	Add explicit '--no-heading' for ripgrep (bug#54177).

2022-02-26  Michael Albinus  <michael.albinus@gmx.de>

	Follow OpenSSH changes in Tramp

	* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
	Reimplement.  OpenSSH has changed its diagnostics messages.

2022-02-26  Eli Zaretskii  <eliz@gnu.org>

	Document better how to reset attributes of faces for new frames

	* doc/lispref/display.texi (Attribute Functions):
	* lisp/faces.el (set-face-attribute): Explain how to reset an
	attribute's value for future frames.  (Bug#54156)

2022-02-25  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Adapt test.

2022-02-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention flyspell-prog-mode in flyspell-mode doc string

	* lisp/textmodes/flyspell.el (flyspell-mode): Mention
	flyspell-prog-mode (bug#54131).

2022-02-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Reword face-remap-add-relative manual entry

	* doc/lispref/display.texi (Face Remapping): Clarify the
	face-remap-add-relative (bug#54114).

2022-02-22  Philipp Stephani  <phst@google.com>

	Fix indexing of module functions that return enumeration types.

	Return types that consist of more than one word need to be enclosed in
	braces, see Info node `(texinfo) Typed Functions'.  Otherwise they are
	indexed incorrectly.

	* doc/lispref/internals.texi (Module Misc, Module Nonlocal): Enclose
	multi-word return types in braces.

2022-02-22  Eli Zaretskii  <eliz@gnu.org>

	* doc/misc/transient.texi (Other Options): Fix a @ref.  (Bug#54108)

2022-02-22  Glenn Morris  <rgm@gnu.org>

	tramp.texi texinfo 4.13 compatibility

	* doc/misc/tramp.texi (Frequently Asked Questions):
	Restore compatibility with Texinfo < 5.

2022-02-22  Michael Albinus  <michael.albinus@gmx.de>

	Explain "Tramp" spelling in its manual

	* doc/misc/tramp.texi (Frequently Asked Questions):
	Explain "Tramp" spelling.

2022-02-21  Eli Zaretskii  <eliz@gnu.org>

	Fix 'display-line-numbers-mode' in hide-show buffers

	* src/xdisp.c (redisplay_internal): Disable redisplay
	optimizations that consider just the current line, when
	'display-line-numbers-mode' is turned on in the buffer.
	(Bug#54091)

2022-02-21  Martin Rudalics  <rudalics@gmx.at>

	Don't check whether a deleted window is deletable (Bug#54028)

	* lisp/window.el (window-state-put): Make sure window is live
	before calling 'window-deletable-p' on it (Bug#54028).

2022-02-21  Eli Zaretskii  <eliz@gnu.org>

	A friendlier error message from image-mode in an empty buffer

	* lisp/image-mode.el (image-mode): Handle the case where the empty
	buffer doesn't visit a file  (Bug#54084)

2022-02-20  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.2-17-gea6b74

2022-02-18  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of filling and justification commands

	* doc/lispref/text.texi (Filling):
	* lisp/textmodes/fill.el (fill-region-as-paragraph)
	(default-justification, set-justification, justify-current-line):
	Clarify "canonicalization" of spaces and the meaning of
	justification styles.  (Bug#54047)
	(set-justification-left, set-justification-right)
	(set-justification-full): Improve wording of doc strings.

2022-02-18  Eli Zaretskii  <eliz@gnu.org>

	* lisp/progmodes/subword.el (superword-mode): Doc fix.  (Bug#54045)

2022-02-17  Philipp Stephani  <phst@google.com>

	Fix indexing of module functions that return complex types.

	Return types that consist of more than one word need to be enclosed in
	braces, see Info node `(texinfo) Typed Functions'.  Otherwise they are
	indexed incorrectly.

	* doc/lispref/internals.texi (Module Values): Enclose multi-word
	return types in braces.

2022-02-17  Po Lu  <luangruo@yahoo.com>

	Prevent crashes caused by invalid locale coding systems

	* src/xterm.c (handle_one_xevent): Prevent a signal inside
	`setup_coding_system' which crashes recent versions of GLib if
	the locale coding system is invalid.

	Do not merge to master.

2022-02-15  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem with popd for in remote shell buffers

	* lisp/shell.el (shell-prefixed-directory-name):
	Use `file-local-name' for DIR.  (Bug#53927)

2022-02-15  Jonas Bernoulli  <jonas@bernoul.li>

	Import texi source file for transient manual

	* doc/misc/Makefile.in: Add transient to INFO_COMMON.
	* doc/misc/transient.texi: New file.

2022-02-13  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.2-15-gc5ceb6

2022-02-13  Eli Zaretskii  <eliz@gnu.org>

	Fix 'exchange-point-and-mark' in 'transient-mark-mode'

	* lisp/simple.el (exchange-point-and-mark): Don't deactivate mark
	when 'transient-mark-mode' is ON.  (Bug#53150)

	(cherry picked from commit 415ed4b42515ff2e6dd9b94e964b479e50c6392e)

2022-02-13  Eli Zaretskii  <eliz@gnu.org>

	Fix "C-SPC C-SPC" after "C-x C-x"

	* lisp/simple.el (exchange-point-and-mark): Fix what the command
	does when 'transient-mark-mode' is OFF.  (Bug#52896)

	(cherry picked from commit 19c6cad1821eb896b2ddd0f6eab030f0880ea254)

2022-02-13  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in fontset.el

	* lisp/international/fontset.el (xlfd-regexp-spacing-subnum): Fix
	a typo.  Reported by Greg A. Woods <woods@robohack.ca>.

2022-02-12  Eli Zaretskii  <eliz@gnu.org>

	Note in ELisp manual that too-wide images are truncated

	* doc/lispref/display.texi (Showing Images): Note that images are
	truncated at the window's edge.  (Bug#53952)

2022-02-11  Andrea Corallo  <akrl@sdf.org>

	* lisp/mail/emacsbug.el (report-emacs-bug): Report libgccjit status.

	* lisp/startup.el (normal-top-level): Small code move, improve 202d3be873.

2022-02-10  Andrea Corallo  <akrl@sdf.org>

	* lisp/startup.el (normal-top-level): Disable native-comp if not available

2022-02-09  Andrea Corallo  <akrl@sdf.org>

	Fix integer arithmetic miss-compilation (bug#53451)

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-range-for-arithm):
	When one of the two sources is negated revert to set dst as
	number.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add test to
	verify this is effective.

2022-02-08  Robert Pluim  <rpluim@gmail.com>

	Mark flymake as compatible with emacs-26.1

	* lisp/progmodes/flymake.el: Bump package version and set
	emacs version in Package-Requires to 26.1 (Bug#53853).

2022-02-08  Brian Leung  <leungbk@posteo.net>

	flymake: Ensure compatibility with older Emacsen

	* lisp/progmodes/flymake.el (flymake--log-1): Use
	replace-regexp-in-string instead of Emacs 28's
	string-replace (bug#53853).

2022-02-07  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Don't remove dummy.group from gnus-newsrc-alist on Gnus save

	bug#53352

	* lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format): This
	function was removing dummy.group from the global value of
	`gnus-newsrc-alist' on save; we only wanted to remove it temporarily.

2022-02-05  Bob Rogers  <rogers@rgrjr.com>

	Fix ietf-drums-get-comment doc string

	* lisp/mail/ietf-drums.el (ietf-drums-get-comment):  We really return
	the last comment (bug#53810).

2022-02-05  Daniel Martín  <mardani29@yahoo.es>

	Fix typo in display.texi

	* doc/lispref/display.texi (Making Buttons): Fix typo.  (Bug#53807)

2022-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Revert an erroneous change in tramp-cache.el

	* lisp/net/tramp-cache.el (tramp-get-hash-table):
	Use `string-match-p' instead of `string-search'.  The latter one
	was introduced by accident.  Reported by Kai Tetzlaff <kai@tetzlaff.eu>.

2022-02-02  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'emacs-version'

	* doc/emacs/trouble.texi (Checklist): Mention the possibility of
	invoking 'emacs-version' with a prefix argument.

	* lisp/version.el (emacs-version): Improve doc string.  (Bug#53720)

2022-02-01  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Apply final fixes after proofreading.

2022-01-31  Eli Zaretskii  <eliz@gnu.org>

	Clarify documentation of a "face's font"

	* doc/lispref/display.texi (Attribute Functions)
	(Face Attributes): Clarify that the :font attribute of a face and
	the font returned by 'face-font' are by default for ASCII
	characters.  (Bug#53664)

2022-01-31  Alan Mackenzie  <acm@muc.de>

	Bind Qdebugger to Qdebug in signal_or_quit.

	* src/eval.c (signal_or_quit): Bind the correct variable, Qdebugger (not
	Vdebugger) to Qdebug in the section for errors in batch jobs.
	(syms_of_eval): New DEFSYM for Qdebugger.

2022-01-30  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.2-13-gdd6486

2022-01-30  Eli Zaretskii  <eliz@gnu.org>

	Fix regression in Occur Edit mode

	* lisp/replace.el (occur-after-change-function): Fix the algorithm
	to find the smallest change in some corner cases.  (Bug#53598)

2022-01-29  Eli Zaretskii  <eliz@gnu.org>

	Fix last change of Malayalam composition rules

	* lisp/language/indian.el (malayalam-composable-pattern):
	Reinstate.  Instead of removing it, add any sequence of
	Malayalam characters to the existing patterns, so as not
	to lose the patterns that use ZWJ and ZWNJ.  (Bug#53625)

2022-01-29  Eli Zaretskii  <eliz@gnu.org>

	Fix rendering of Malayalam script

	* lisp/language/indian.el (malayalam-composable-pattern): Remove.
	(script-regexp-alist): Remove 'malayalam-composable-pattern'.
	Instead, pass any sequence of Malayalam codepoints to the shaping
	engine.  (Bug#53625)

2022-01-29  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Occur mode

	* doc/emacs/search.texi (Other Repeating Search): Improve wording
	and document Occur Edit mode better.

2022-01-29  Alan Third  <alan@idiocy.org>

	Remove debug logging

	* src/nsterm.m ([EmacsView copyRect:to:]): Remove logging as it's no
	longer required.

2022-01-29  Michael Albinus  <michael.albinus@gmx.de>

	Fix error in filelock.c

	* src/filelock.c (lock_file): Move call of file name handler to
	`Flock_file'.  Determine lock_filename only in case
	create_lockfiles is non-nil.  Adapt the rest of the function accordingly.
	(Flock_file): Do not check for create_lockfiles.  Call file name
	handler if appropriate.  (Bug#53207)

2022-01-27  Juri Linkov  <juri@linkov.net>

	* lisp/frame.el (clone-frame): Filter out 'parent-id' (bug#51883).

2022-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Partially revert a fill-region-as-paragraph regression

	* lisp/textmodes/fill.el (fill-region-as-paragraph): Revert
	e186af261 (bug#53537), because it leads to regressions.  (But
	leave tests in place.)

2022-01-26  Eli Zaretskii  <eliz@gnu.org>

	Fix 'make_lispy_position' when there's an image at EOB

	* src/xdisp.c (move_it_to): Don't compare IT_CHARPOS with an
	invalid TO_CHARPOS.  (Bug#53546)

2022-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix copyright-find-copyright when searching from the end

	* lisp/emacs-lisp/copyright.el (copyright-find-copyright): Make
	the double check also work when searching from the end (bug#7179).

	Do not merge to master.

2022-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix copyright.el comment and add a test

	* lisp/emacs-lisp/copyright.el (copyright-find-copyright): Fix
	comment (bug#7179).

	Do not merge to master.

2022-01-24  Philipp Stephani  <phst@google.com>

	* configure.ac (LIBSECCOMP): Bump minimum version for faccessat2.

2022-01-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the `f' command work in image-mode again

	* lisp/image.el (image-show-frame): Protect against not having
	computed the animation data yed (bug#53489).

2022-01-22  Philipp Stephani  <phst@google.com>

	Seccomp: improve support for newer versions of glibc (Bug#51073)

	* lib-src/seccomp-filter.c (main): Allow 'pread64' and 'faccessat2'
	system calls.  Newer versions of glibc use these system call (starting
	with commits 95c1056962a3f2297c94ce47f0eaf0c5b6563231 and
	3d3ab573a5f3071992cbc4f57d50d1d29d55bde2, respectively).

2022-01-21  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	EUDC: Fix a quoting bug in the BBDB backend

	* lisp/net/eudcb-bbdb.el (eudc-bbdb-query-internal): Fix a quoting
	bug introduced during lexical-binding conversion.

2022-01-21  Sergey Vinokurov  <serg.foo@gmail.com>

	Fix memory-report-object-size to initialize memory-report--type-size

	* lisp/emacs-lisp/memory-report.el (memory-report-object-size):
	Allow using function directly (bug#53310).

	Do not merge to master.

2022-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix menu-bar mouse clicks in "C-h c" and "C-h k" (bug#53322)

	* lisp/subr.el (event-start, event-end): Handle '(menu-bar)'
	events.
	* lisp/net/browse-url.el (browse-url-interactive-arg): Simplify
	accordingly.

	(cherry picked from commit 9ceb3070e34ad8a54184fd0deda477bf5ff77000)

2022-01-20  Eli Zaretskii  <eliz@gnu.org>  (tiny change)

	Fix UB in ebrowse

	* lib-src/ebrowse.c (matching_regexp): Avoid writing beyond the
	limits of 'matching_regexp_buffer'.  Patch by Jan Stranik
	<jan@stranik.org>.  (Bug#53333)

2022-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix execute-extended-command-for-buffer in fundamental-mode

	* lisp/simple.el (execute-extended-command-for-buffer): Protect
	against the current local map being nil (bug#52907).

2022-01-20  Martin Rudalics  <rudalics@gmx.at>

	Add workaround to handle a problem with Enlightenment WM (Bug#53298)

	* src/xterm.c (handle_one_xevent): Handle setting of variable
	'x_set_frame_visibility_more_laxly' when receiving an Expose or
	FocusIn event (Bug#53298).
	(Qexpose): Define symbol.
	(x_set_frame_visibility_more_laxly): New Lisp variable.
	* etc/PROBLEMS: Mention frame redraw problem with the
	Enlightenment WM and 'x-set-frame-visibility-more-laxly'
	workaround.

2022-01-17  Po Lu  <luangruo@yahoo.com>

	Fix regression leading to flickering tooltips when the mouse is moved

	* lisp/tooltip.el (tooltip-show-help): Compare string with
	previous tooltip string ignoring properties.

2022-01-17  Andrea Corallo  <akrl@sdf.org>

	* Fix native comp for non trivial function names (bug#52833)

	* lisp/emacs-lisp/comp.el (comp-c-func-name): Fix native compilation
	for functions with function names containing non trivial
	characters (bug#52833).

	This commit is the backport of e7699bf290.

	Do not merge to master

2022-01-15  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.2-9-g7ba24c

2022-01-15  Juri Linkov  <juri@linkov.net>

	* lisp/net/dictionary.el (dictionary-context-menu): Use package prefix.

2022-01-15  Philipp Stephani  <phst@google.com>

	Mark a few more map tests as unstable on Emacs 28 (Bug#46722).

	At least for me, these tests still occasionally fail.

	Do not merge to master.

	* test/lisp/emacs-lisp/map-tests.el (test-map-into-hash-test)
	(test-map-merge, test-map-merge-with, test-map-merge-empty): Mark as
	unstable.

2022-01-15  Philipp Stephani  <phst@google.com>

	* lisp/indent.el (tab-first-completion): Fix incorrect choices.

2022-01-14  Philipp Stephani  <phst@google.com>

	* lisp/simple.el (undo-no-redo): Fix customization group

	* lisp/progmodes/xref.el (xref-file-name-display): Fix docstring.

2022-01-14  Eli Zaretskii  <eliz@gnu.org>

	Avoid another segfault in 'face_at_buffer_position'

	* src/xfaces.c (face_at_buffer_position): Make really sure the
	default face is usable.  (Bug#53254)

2022-01-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark test-map-into as unstable

	* test/lisp/emacs-lisp/map-tests.el (test-map-into): Mark as
	unstable (bug#46722).

	Do not merge to master.

2022-01-13  Philipp Stephani  <phst@google.com>

	Fix Edebug specification for inline functions (Bug#53068).

	* lisp/emacs-lisp/inline.el (inline-quote): Fix Edebug specification.

	* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-inline): New unit
	test.

2022-01-13  N. Jackson  <nljlistbox2@gmail.com>

	Remove mention of removed `gnus-treat-play-sounds' variable from manual

	* info/gnus.info: Remove `gnus-treat-play-sounds' from
	manual. According to lisp/gnus/ChangeLog.3 this variable was
	removed in 2010 (bug#53192).

2022-01-12  Mattias Engdegård  <mattiase@acm.org>

	Revert "Fix closure-conversion of shadowed captured lambda-lifted vars"

	This reverts commit 3ec8c8b3ae2359ceb8135b672e86526969c16b7e.

	It was committed to a stable branch without prior discussion;
	see bug#53071.

2022-01-12  Juri Linkov  <juri@linkov.net>

	* doc/lispref/windows.texi (Textual Scrolling): Remove obsolete text.

	Remove text about scrolling the minibuffer from the buffer,
	obsolete since Emacs 27 (bug#51210).

2022-01-12  Glenn Morris  <rgm@gnu.org>

	* lisp/files.el (lock-file-name-transforms): Doc tweaks.

2022-01-12  Mattias Engdegård  <mattiase@acm.org>

	Fix closure-conversion of shadowed captured lambda-lifted vars

	Lambda-lifted variables (ones passed explicitly to lambda-lifted
	functions) that are also captured in an outer closure and shadowed
	were renamed incorrectly (bug#51982).

	Reported by Paul Pogonyshev.

	* lisp/emacs-lisp/cconv.el (cconv--lifted-arg): New.
	(cconv-convert): Provide correct definiens for the closed-over
	variable.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
	* test/lisp/emacs-lisp/cconv-tests.el (cconv-tests--intern-all)
	(cconv-closure-convert-remap-var): Add tests.

	(cherry picked from commit 45252ad8f932c98a373ef0ab7f3363a3e27ccbe4)

2022-01-12  Philipp Stephani  <phst@google.com>

	Fix test lisp/cedet/semantic/bovine/gcc-tests on macOS (Bug#52431)

	* test/lisp/cedet/semantic/bovine/gcc-tests.el
	(semantic-gcc-test-output-parser-this-machine): Also detect Apple
	clang on macOS Monterey.

	(cherry picked from commit 6e52becfbe2a33c025b8c4838b3c8f06ba5a6fb8)

2022-01-12  Mattias Engdegård  <mattiase@acm.org>

	Don't fail flymake-tests if `gcc` actually is Clang

	* test/lisp/progmodes/flymake-tests.el (flymake-tests--gcc-is-clang)
	(different-diagnostic-types, included-c-header-files): Skip tests that
	depend on the `gcc` command really being GCC and not Clang.

	(cherry picked from commit b2167d98432a78442522b7564e22f47d75a98b6f)

2022-01-10  Eli Zaretskii  <eliz@gnu.org>

	Revert "Remove the filename argument from the command line after an ELC+ELN build"

	This reverts commit ffc047c896413b6e00032518fc934f08768671fa.

	Please don't install anything non-trivial on the release branch
	without asking first.

2022-01-10  Alan Mackenzie  <acm@muc.de>

	Remove the filename argument from the command line after an ELC+ELN build

	This fixes bug #53164.  Without this fix, bootstrap-emacs loads the source
	file uselessly into a buffer after completing the compilation.

2022-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	(save-some-buffers): Simplify the fix for bug#46374

	* lisp/files.el (save-some-buffers): Only check the
	`save-some-buffers-function` property on functions from
	`save-some-buffers-default-predicate` since callers which provide
	a `pred` argument can arrange to compute `pred` themselves if needed.

	* test/lisp/files-tests.el (files-tests-buffer-offer-save): Don't test
	with `pred` set to `save-some-buffers-root` since it's not an
	appropriate function for that any more.

2022-01-09  Stefan Kangas  <stefan@marxist.se>

	Improve docstring of edit-abbrevs

	* lisp/abbrev.el (edit-abbrevs): Doc fix; don't use obsolete name.
	Improve docstring formatting.

2022-01-09  Eli Zaretskii  <eliz@gnu.org>

	Revert "Fix alignment on font size change in tabulated-list-mode"

	This reverts commit 2767c89db729a6106146d0aeff76678c64d4fc53.

	That change caused a regression in a much more important use
	case, see bug#53133.

2022-01-08  Stefan Kangas  <stefan@marxist.se>

	Clarify docstring of package-native-compile

	* lisp/emacs-lisp/package.el (package-native-compile): Clarify
	docstring.

2022-01-08  Eli Zaretskii  <eliz@gnu.org>

	Fix Subject "simplification" in Rmail

	* lisp/mail/rmail.el (rmail-simplified-subject): Match against
	"[external]" _after_ decoding the Subject by RFC-2047.

2022-01-08  Stefan Kangas  <stefan@marxist.se>

	Bump Emacs version to 28.0.91

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version to 28.0.91.

2022-01-05  Dmitry Gutov  <dgutov@yandex.ru>

	Fix vc-git with old Git over Tramp and cygwin-mount.el

	* lisp/vc/vc-git.el (vc-git-use-literal-pathspecs): New variable.
	(vc-git-command, vc-git--call): Use it to determine whether to set
	GIT_LITERAL_PATHSPECS=1 (bug#51497).
	(vc-git--literal-pathspec, vc-git--literal-pathspecs): Remove.
	Update all callers.  This reverts the previous solution for bug#39452.

	* lisp/progmodes/project.el (project--vc-list-files):
	Use the new variable.

2022-01-05  Philipp Stephani  <phst@google.com>

	* lisp/emacs-lisp/checkdoc.el (bytecomp): Add missing require

2022-01-02  Eli Zaretskii  <eliz@gnu.org>

	Avoid inflooping when 'tab-bar-format' includes embedded newlines

	* src/xdisp.c (tab_bar_height, redisplay_tab_bar): Support
	'tab-bar-format' with embedded newlines.  (Bug#52947)

2022-01-02  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el: Revert part of the fix in a6adfe21e4 (bug#52881)

	(tab-line--get-tab-property, tab-line-auto-hscroll): Use get-pos-property
	instead of get-text-property that fails after previous-single-property-change.

2022-01-02  Eli Zaretskii  <eliz@gnu.org>

	Clarify %g and %G time format specs

	* src/timefns.c (Fformat_time_string):
	* doc/lispref/os.texi (Time Parsing): Clarify %g/%G.  (Bug#52934)

2022-01-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	(define-char-code-property): Workaround for bug#52945

	* lisp/international/mule-cmds.el (define-char-code-property): Ignore
	requests to re-setup lazy loading after the char-table is already loaded.

2022-01-01  Eli Zaretskii  <eliz@gnu.org>

	Update more copyright years

	* etc/tutorials/TUTORIAL.he (זכויות שימוש):
	* config.bat: Update Copyright years.

2022-01-01  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el: Adapt copyright year

2022-01-01  Zhehao Lin  <zh_lin1@outlook.com>  (tiny change)

	* src/xfaces.c (face_for_font): Make 'hash' be uintptr_t.

2021-12-31  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings of fringe indicator variables

	* src/buffer.c (syms_of_buffer): Fix doc strings of
	'indicate-empty-lines' and 'indicate-buffer-boundaries'.

2021-12-31  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el (tab-line--get-tab-property): New function (bug#52881).

	(tab-line-auto-hscroll): Use ‘tab-line--get-tab-property’ instead of
	‘get-pos-property 1’, and ‘get-text-property’ instead of
	‘get-pos-property’.
	(tab-line-select-tab, tab-line-close-tab): Use tab-line--get-tab-property.

2021-12-30  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations with variable-weight fonts

	* src/font.c (font_score, font_delete_unmatched): Don't assume
	weight, slant, and width properties of the font must be fixnums:
	some variable-weight fonts violate that assumption.  Reported
	by Sean Whitton <spwhitton@spwhitton.name>.  Do not merge to
	master.  (Bug#52888)

2021-12-30  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement in user documentation of completion style

	* doc/emacs/mini.texi (Completion Styles): Add reference to
	"Completion Variables" in the ELisp manual.  (Bug#52901)

2021-12-30  Campbell Barton  <ideasman42@gmail.com>  (tiny change)

	Fix bug where bookmark-jump used (point), not (point-at-bol)

	This matches changes from e852822f3db469c985bf022651f184d6ff2c518a,
	regression in 7fe88446c30279285e3171091189b3d1af697c05.
	* lisp/bookmark.el (bookmark--jump-via): Look at overlays at BOL.
	Otherwise the fringe bookmark indication is not deleted with the
	bookmark.

2021-12-29  Alan Mackenzie  <acm@muc.de>

	CC Mode: c-update-brace-stack: After struct foo *, do not expect a brace.

	This fixes bug #52796.

	* lisp/progmodes/cc-engine.el (c-update-brace-stack): Handle a "*" like a
	semicolon, canceling the expectation of a brace.

	* lisp/progmodes/cc-langs.el (c-brace-stack-thing-key): Add a "*" into the
	sets of significant characters.

2021-12-29  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'M-X' and related features

	* doc/emacs/m-x.texi (M-x): Index 'M-X'.
	* doc/lispref/commands.texi (Interactive Call, Command Modes):
	Mention 'M-X' and 'execute-extended-command-for-buffer'.

	* etc/NEWS: Clarify that the '(declare (completion ...' and
	'(declare (modes ...' forms have no effect by default.  Likewise
	for '(interactive "..." MODE)' specs.  (Bug#52839)

2021-12-28  Sean Whitton  <spwhitton@spwhitton.name>

	Improve rectangle-mark-mode documentation regarding mark activation

	* doc/emacs/killing.texi: Describe how rectangle-mark-mode works when
	Transient Mark mode is off.  Qualify discussion of
	rectangle-exchange-point-and-mark to say that it cycles the four
	corners only when the region is active.
	* lisp/rect.el (rectangle-mark-mode): State that rectangle-mark-mode
	does not activate the mark when Transient Mark mode is off.  Reword
	sentence about how long the mode lasts to account for when Transient
	Mark mode is off.  (Bug#42663)

2021-12-27  Eli Zaretskii  <eliz@gnu.org>

	Fix typos in 'reset-language-environment'

	* lisp/international/mule-cmds.el (reset-language-environment):
	Fix a typo in 'windows-nt'.  (Bug#52816)

2021-12-27  Óscar Fuentes  <ofv@wanadoo.es>

	eshell-complete-parse-arguments: don't use string-match on a list

	When there is more than one candidate for completion, `val' is a list.

	Fixes bug#52794.

	* lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): protect
	use of string-match with stringp.

2021-12-26  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.2-3-geb9f34

2021-12-26  Stefan Kangas  <stefan@marxist.se>

	Improve documentation of read-multiple-choice

	* doc/lispref/commands.texi (Reading One Event): Document optional
	third argument help-string of read-multiple-choice.

2021-12-25  Eli Zaretskii  <eliz@gnu.org>

	Explain why we remove stuff from 'user-full-name'

	* src/editfns.c (Fuser_full_name): Document why we chop everything
	starting from the first comma.  (Bug#52785)

2021-12-24  Dmitry Gutov  <dgutov@yandex.ru>

	Fix the bug with duplicate entries in xref output

	* lisp/progmodes/etags.el (xref-backend-definitions): Make sure to
	save the changed intermediate value of the list (bug#52734).

2021-12-24  Dmitry Gutov  <dgutov@yandex.ru>

	Improve Xref documentation

	* lisp/progmodes/xref.el (xref-item): Add docstring for 'summary'.
	Fix typo in the header Commentary.

2021-12-23  Andreas Schwab  <schwab@linux-m68k.org>

	* lisp/net/shr.el (shr-expand-url): Also strip trailing
	whitespace.

2021-12-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert field-related thingatpt changes

	This reverts 7db376e560448e61485ba054def8c82b21f33d6a, which led to
	severe performance regressions when being run in large buffers with no
	fields (bug#52593)

2021-12-21  Juri Linkov  <juri@linkov.net>

	* lisp/window.el (quit-restore-window): Select previously selected window.

	After deleting the dedicated window, such as a window with *Completions*
	buffer, select the previously selected window, like most of other 'cond'
	branches do in this function (bug#52491).

2021-12-21  Robert Pluim  <rpluim@gmail.com>

	Revert "Remove Motif support"

	This reverts commit db237850abc240e2c3e765e9cc7e15ee5681dcaf.

2021-12-19  Martin Rudalics  <rudalics@gmx.at>

	Clarify description of two mouse dragging parameters (Bug#52537)

	* doc/lispref/frames.texi (Child Frames): Clarify description of
	'top-visible' and 'bottom-visible' parameters (Bug#52537).

2021-12-18  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.1-31-ga18849

2021-12-15  Martin Rudalics  <rudalics@gmx.at>

	Fix control buffer window height in 'ediff-setup-control-buffer' (Bug#49277)

	* lisp/vc/ediff-util.el (ediff-setup-control-buffer): Emulate
	original 'shrink-window-if-larger-than-buffer' call by calling
	'fit-window-to-buffer' with an appropriate maximum height
	argument (Bug#49277).

2021-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix crash when dumping charset_table with portable dumper (Bug#52461)

	* src/charset.h:
	* src/charset.c (charset_table_used): Now extern.
	* src/pdumper.c (dump_charset): Don't dump code_space_mask for unused
	slots of charset_table.

2021-12-14  Philipp Stephani  <phst@google.com>

	Remove maintainer comment from Emacs 28 module snippet.

	This is the same as 44c13eefe8d30841000a96d82f467fb8d222e365 on
	master.  We should also remove this comment on the release branch,
	otherwise it ends up in the emacs-module.h shipped to users.

	* src/module-env-28.h: Remove maintainer comment.

2021-12-14  Stefan Kangas  <stefan@marxist.se>

	Set calc-make-windows-dedicated to nil by default

	* lisp/calc/calc.el (calc-make-windows-dedicated):
	Default to nil.  (Bug#52016)

2021-12-14  Stefan Kangas  <stefan@marxist.se>

	* make-dist: Don't run "make --question info".  (Bug#52322)

2021-12-13  Eli Zaretskii  <eliz@gnu.org>

	Fix regression in help-mode prompt

	* lisp/help-macro.el (make-help-screen): Restore SPC and DEL in
	prompt.  Reported by Colin Baxter <m43cap@yandex.com>.

2021-12-13  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Make `M-x run-python' select the window again

	Interactively, we want M-x run-python to focus the interpreter buffer.
	The previous code failed in two ways:

	- the call to 'display-buffer' was not reached if an interpreter
	  was already running,

	- set-buffer is ineffectual if the interpreter's window is not
	  selected: once Emacs returns to the command loop, the current buffer
	  will revert back to what the selected window contains.

	* lisp/progmodes/python.el (python-shell-make-comint): Handle the SHOW
	argument regardless of whether an interpreter buffer exists, and use
	pop-to-buffer to select the window.
	(run-python): Delegate buffer management to
	'python-shell-make-comint'.

	* test/lisp/progmodes/python-tests.el
	(python-tests--run-python-selects-window): Rename from
	'python-tests--bug31398', and adjust assertions (bug#52380).

2021-12-12  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-switch-to-last-tab): Add 'abs' for precautions.

	https://lists.gnu.org/archive/html/emacs-devel/2021-11/msg01149.html

2021-12-12  Eli Zaretskii  <eliz@gnu.org>

	* make-dist (manifest): Filter out msdos/autogen/* files.

2021-12-12  Richard Stallman  <rms@gnu.org>

	Rewrite the "Quitting Windows" section of Emacs Lisp Reference

	* doc/lispref/windows.texi (Quitting Windows): Rewrite for
	clarity.  (Bug#52328)

2021-12-12  Po Lu  <luangruo@yahoo.com>

	Fix eshell for systems that do not have subprocesses

	* lisp/eshell/esh-cmd.el (eshell-eval-command): Use
	`eshell-processp' instead of `processp'.

2021-12-11  Philipp Stephani  <phst@google.com>

	Avoid undefined behavior in 'send-process-region' (Bug#52369).

	* src/process.c (send_process): Signal an error if the file descriptor
	has already been closed.

2021-12-11  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.1-25-g9ca3bc

2021-12-11  Po Lu  <luangruo@yahoo.com>

	Fix the DJGPP port

	* config.bat:
	* msdos/sed1v2.inp:
	* msdos/sed2v2.inp:
	* msdos/sed3v2.inp:
	* msdos/sedlibmk.inp: Update for Emacs 28.
	* msdos/langinfo.h: New file.

	* lisp/loadup.el: Use correct path to temacs when dumping on
	MS-DOS.
	* src/callproc.c (environ) [MSDOS]: New declaration.
	(child_setup, emacs_spawn): Update MS-DOS parts for Emacs 28.
	* src/fileio.c (Fcopy_file): Don't use copy_file_range on
	MS-DOS.
	* src/msdos.c (initialize_msdos_display): Add
	`defined_color_hook'.
	(openat, fchmodat, futimens, utimensat): New functions.

	* src/msdos.h (FRAME_X_DISPLAY): New macro.
	* src/process.c: Make some more things conditional on
	subprocess support.
	(PIPECONN_P, PIPECONN1_P) [!subprocesses]: New placeholder
	macros.
	(Fnum_processors): Return 1 on MSDOS.
	(open_channel_for_module): Avoid subprocess specific code
	on MSDOS.

2021-12-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make `M-x run-python' select the window again"

	This reverts commit aa2872a12770282ede3548ed3fcab00c5a5b9f18.

	This led to a test failure.

2021-12-10  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Make `M-x run-python' select the window again

	* lisp/progmodes/python.el (python-shell-make-comint): Make `M-x
	run-python' select the window again like in 27.2 (bug#52380).

2021-12-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't bug out on certain empty elements with ids

	* lisp/net/shr.el (shr-descend): Fix empty-element #id targeting
	(bug#52391).

2021-12-09  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient takes more care about XDG_RUNTIME_DIR

	* lib-src/emacsclient.c (set_local_socket): Revert to the Emacs 27
	behavior of not trying TMPDIR if XDG_RUNTIME_DIR is set.
	This is one of the suggestions made by Jim Porter and
	independently by Ulrich Mueller in Bug#51327.

2021-12-09  Cameron Desautels  <camdez@gmail.com>

	Add missing K key documentation for Cangjie input methods

	* lisp/international/titdic-cnv.el (tsang-quick-converter): Add the
	missing K key in input method documentation. (Bug#52264)

2021-12-09  Martin Rudalics  <rudalics@gmx.at>

	Fix manual entry of 'quit-restore-window' (Bug#52328)

	* doc/lispref/windows.texi (Quitting Windows): Fix bug in
	description of 'quit-restore-window' (Bug#52328).

2021-12-09  Eli Zaretskii  <eliz@gnu.org>

	Clarify a comment in xdisp.c

	* src/xdisp.c (compute_window_start_on_continuation_line): Clarify
	a comment.  (Bug#52378)

2021-12-08  Óscar Fuentes  <ofv@wanadoo.es>

	Revert "Grep alias `all' shall not match parent directory"

	This reverts commit 856cd948d1a5a016ad36721246a049d33451902f.

	Emacs got better at quoting shell arguments and the original value
	works correctly for vc-git-grep. At the same time, the value
	introduced on that commit caused a regression on lgrep.

	* lisp/progmodes/grep.el (grep-files-aliases): Use previous value for
	`all'. Fixes bug#52367

2021-12-08  Eli Zaretskii  <eliz@gnu.org>

	Fix mode-line display in Calendar mode

	* lisp/help.el (substitute-command-keys): New optional argument
	NO-FACE, to avoid putting the 'help-key-binding' face on the key
	bindings.
	* lisp/calendar/calendar.el (calendar-mode-line-entry): Call
	'substitute-command-keys' with the new optional argument non-nil.
	(Bug#52366)

	* doc/lispref/help.texi (Keys in Documentation): Document the new
	optional argument of 'substitute-command-keys'.

	* etc/NEWS: Announce the addition of a new argument to
	'substitute-command-keys'.

2021-12-08  Lele Gaifax  <lele@metapensiero.it>

	* etc/tutorials/TUTORIAL.it (CONCLUSIONI): Reword paragraph.

	Don't merge to master.

2021-12-08  Michael Albinus  <michael.albinus@gmx.de>

	Backport: Make a more robust check in Tramp using scripts

	* lisp/net/tramp-sh.el (tramp-find-inline-encoding):
	Check, whether scripts in `tramp-remote-coding-commands' are
	expandable.

	(cherry picked from commit 1d0a60113fd155c77ef5ea4ea44fcba3504adcbf)

2021-12-07  Robert Pluim  <rpluim@gmail.com>

	Document native-comp-async-report-warning-errors more

	The docstring has a description of how fix problems in lisp code
	detected by native compilation, but not the Emacs Lisp manual, so
	document it there as well.

	* doc/lispref/compile.texi (Native-Compilation Functions): Refer to
	'native-comp-async-report-warning-errors'
	(Native-Compilation Variables): Explain potential cause of warnings
	from native compilation.

2021-12-07  Stefan Kangas  <stefan@marxist.se>

	Doc fix; Epiphany has been renamed to GNOME Web

	* lisp/net/browse-url.el: Doc fix; Epiphany is called GNOME Web
	since GNOME 3.4, released in 2012.
	Ref: https://help.gnome.org/misc/release-notes/3.4/

2021-12-07  Eli Zaretskii  <eliz@gnu.org>

	* lisp/dired-aux.el (dired-check-process): Doc fix.  (Bug#52337)

2021-12-07  Stefan Kangas  <stefan@marxist.se>

	Remove dead link from newsticker

	* lisp/net/newst-backend.el (newsticker--parse-rss-0.91):
	* lisp/net/newsticker.el: Remove dead link.

2021-12-06  Juri Linkov  <juri@linkov.net>

	Select the right buffer for event in context-menu functions (bug#9923)

	* lisp/mouse.el (context-menu-region):
	* lisp/progmodes/prog-mode.el (prog-context-menu):
	Switch to the buffer displayed by the window of the event
	before using syntax-ppss, char-after.

2021-12-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	lisp/minibuffer.el: Fix for bug#52169 regression

	* lisp/minibuffer.el (completion-table-subvert): Make sure we return
	a boundary that's not outside of the limit of the string.

2021-12-05  Christer Enfors  <christer.enfors@gmail.com>

	Fix typos and improve consistency in ERC manual

	* doc/misc/erc.texi (Sample Session, Special Features, History): Fix
	typos and improve consistency.  (Bug52318)

2021-12-05  Glenn Morris  <rgm@gnu.org>

	* test/Makefile.in (check-declare): Add missing --batch.

2021-12-05  Eli Zaretskii  <eliz@gnu.org>

	Document the subtleties of the 'cursor' text property

	* doc/lispref/text.texi (Special Properties): Update the
	documentation of the 'cursor' property per bug#8627.

2021-12-05  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.1-15-gdb4805

2021-12-04  Stefan Kangas  <stefan@marxist.se>

	* lisp/emacs-lisp/edebug.el (edebug-eval-defun): Minor doc fix.

2021-12-04  Eli Zaretskii  <eliz@gnu.org>

	Fix the enumeration values returned by 'try_scrolling'

	* src/xdisp.c (try_scrolling): Make the enum values match the
	commentary.  Reported by Po Lu <luangruo@yahoo.com>.

2021-12-04  Stefan Kangas  <stefan@marxist.se>

	* src/dosfns.c (Fint86): Doc fix; don't use obsolete names.

2021-12-03  Stefan Kangas  <stefan@marxist.se>

	* doc/misc/erc.texi (Keystroke Summary): Fix doc for TAB.

2021-12-03  Stefan Kangas  <stefan@marxist.se>

	Remove reference to variable obsolete since 24.1

	* doc/emacs/custom.texi (Minibuffer Maps, Minibuffer Maps): Remove
	reference to variable 'minibuffer-local-filename-must-match-map',
	obsolete since 24.1.

2021-12-03  Stefan Kangas  <stefan@marxist.se>

	* doc/misc/efaq.texi (New in Emacs 28): New node.

2021-12-03  Michael Albinus  <michael.albinus@gmx.de>

	Add Tramp version integrated in Emacs 28.1

	* lisp/net/trampver.el (customize-package-emacs-version-alist):
	Add Tramp version integrated in Emacs 28.1.

2021-12-03  Michael Albinus  <michael.albinus@gmx.de>

	Update Tramp version (don't merge with master)

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.5.2.28.1".

2021-12-03  Philipp Stephani  <phst@google.com>

	Unbreak build after 9c222b9c1a7f91497a37567b4d7de3a511fff069.

	* src/pdumper.c (dump_subr): Fix Lisp_Subr hash value.

2021-12-03  Paul Eggert  <eggert@cs.ucla.edu>

	Port to C compilers that lack size-0 arrays

	The C standard does not allow size-zero arrays, so redo struct
	Lisp_Subr to not use size-zero arrays when native compilation is
	not being used.  Formerly, the code was using size-zero arrays (a
	GNU C extension) to avoid using memory unnecessarily when
	HAVE_NATIVE_COMP is not defined.  Replace this hack with the
	more-traditional hack of putting the relevant members inside
	‘#ifdef HAVE_NATIVE_COMP’.
	* src/alloc.c (cleanup_vector, mark_object):
	* src/comp.c (make_subr):
	* src/data.c (Fsubr_native_lambda_list, Fsubr_native_comp_unit):
	* src/eval.c (init_eval_once, funcall_lambda):
	* src/lisp.h (SUBR_NATIVE_COMPILEDP, SUBR_NATIVE_COMPILED_DYNP)
	(SUBR_TYPE):
	* src/lread.c (Fload):
	Conditionally compile with ‘#ifdef HAVE_NATIVE_COMP’ instead of
	with ‘if (NATIVE_COMP_FLAG)’.  Redo members like native_comp_u[0]
	to be plain native_comp_u.  Put all uses of these members inside
	‘#ifdef HAVE_NATIVE_COMP’.
	* src/lisp.h (struct Lisp_Subr): Members native_comp_u,
	native_c_name, lambda_list, type are now all ifdeffed out if
	HAVE_NATIVE_COMP is not defined, instead of being size-zero
	arrays.  All uses changed.
	* src/pdumper.c (dump_subr, dump_cold_native_subr)
	(dump_do_dump_relocation):
	* src/comp.h (NATIVE_COMP_FLAG): Remove; no longer needed.

2021-12-03  Paul Eggert  <eggert@cs.ucla.edu>

	Port emacsclient to Solaris 10

	Without this patch, the build fails on Solaris 10 with the diagnostic
	“Undefined symbol acl_trivial first referenced in file
	../lib/libgnu.a(file-has-acl.o)”.
	* lib-src/Makefile.in (LIB_HAS_ACL): New macro.
	(emacsclient${EXEEXT}): Link with $(LIB_HAS_ACL).

2021-12-03  Karl Fogel  <kfogel@red-bean.com>

	* CONTRIBUTE: Improve commit message instructions

2021-12-03  Paul Eggert  <eggert@cs.ucla.edu>

	Work around IBM XL C compiler bug

	* src/fileio.c (Fcopy_file): Work around a compiler bug in IBM XL
	C for AIX, V12.1 (5765-J02, 5725-C72).  Without this patch, the
	compiler incorrectly complains “Initialization between types "int"
	and "struct timespec" is not allowed” and “Initialization between
	types "long" and "struct timespec" is not allowed”.

2021-12-03  Stefan Kangas  <stefan@marxist.se>

	* admin/make-tarball.txt: Various clarifications.

2021-12-02  Stefan Kangas  <stefan@marxist.se>

	* admin/diff-tar-files: Don't assume .tar.gz.

2021-12-02  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-close-other-tabs): Fix regression.

	* test/lisp/tab-bar-tests.el: New file.
	(tab-bar-tests-close-other-tabs-with-arg): Test for regression
	that closed the selected tab after selecting it.

2021-12-01  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el: Use same logic for repeat-check-key and repeat-exit-timeout.

	* lisp/repeat.el (repeat-check-key): Use for repeat-check-key the same logic
	as is used for repeat-exit-timeout in repeat-post-hook (bug#51390).
	(repeat-post-hook): Check for repeat-exit-timeout symbol property.

2021-12-01  Juri Linkov  <juri@linkov.net>

	* lisp/help.el (help--analyze-key): Prefer posn-set-point over mouse-set-point

	* lisp/help.el (help--analyze-key): Use posn-set-point instead of
	mouse-set-point that runs the hook mouse-leave-buffer-hook via
	mouse-minibuffer-check.  Using posn-set-point also unnecessitates
	extra conditions added in bug#51421.

	* lisp/isearch.el (isearch-describe-key, isearch-describe-mode):
	Add precautions to not call isearch-update when the executed
	command exited isearch-mode (bug#51173).

2021-12-01  Stefan Kangas  <stefan@marxist.se>

	Bump Emacs version to 28.0.90

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version to 28.0.90.

2021-12-01  Alan Mackenzie  <acm@muc.de>

	CC Mode: Recognize "struct foo {" as introducing a type declaration

	This fixes bug #52157.

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): If such a construct
	is parsed, set the flag at-type-decl which is part of the function's return
	value.

2021-12-01  Stefan Kangas  <stefan@marxist.se>

	Update authors.el for Emacs 28

	* admin/authors.el (authors-aliases, authors-ignored-files)
	(authors-renamed-files-alist): Update for Emacs 28.

2021-11-30  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el: Fix long-standing problem when a random key activates map

	* lisp/repeat.el (repeat-check-key): New defcustom (bug#51390).
	(repeat--command-property): New internal function.
	(repeat-check-key): New function.
	(repeat-post-hook): Use repeat--command-property and repeat-check-key.

	* test/lisp/repeat-tests.el (repeat-tests-check-key): New test.

2021-11-30  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el (repeat-keep-prefix): Change default to nil.

	'repeat-keep-prefix' doesn't yet have sufficient support
	that covers all cases in bug#51281, so it's disabled now.

2021-11-30  Juri Linkov  <juri@linkov.net>

	* test/lisp/repeat-tests.el (repeat-tests-call-b): Test for commit 588caf0b27.

	This tests for 'repeat-map' as a variable instead of a symbol.

2021-11-30  Juri Linkov  <juri@linkov.net>

	* src/callint.c (Fcall_interactively): Fix inhibit_mouse_event_check.

	Don't search for the next mouse event with parameters
	when inhibit-mouse-event-check is non-nil (bug#50067).

2021-11-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix regression in gdb-frame-handler

	* lisp/progmodes/gdb-mi.el (gdb-frame-handler): Protect against
	nil fullnames (bug#52196).

2021-11-30  Yuga Ego  <yet@ego.team>  (tiny change)

	Format and index concept 'predicate' in ELisp Intro

	* doc/lispintro/emacs-lisp-intro.texi (Wrong Type of Argument):
	Add index and format definition (bug#52197).

2021-11-29  Protesilaos Stavrou  <info@protesilaos.com>

	Remove problematic characters from modus-themes.org (bug#52126)

	* doc/misc/modus-themes.org
	(Enable and load, Font configurations for Org and others)
	(Note on highlight-parentheses.el, Note on god-mode.el): Update links to
	headings so that they no longer include the removed portions of text.

	(Option for color-coding success state, Option for line highlighting)
	(Option for line numbers, Option for parenthesis matching)
	(Advanced customization, Per-theme customization settings)
	(Case-by-case face specs using the themes' palette)
	(Face specs at scale using the themes' palette)
	(Remap face with local value, Cycle through arbitrary colors)
	(Override colors, Override color saturation)
	(Font configurations for Org and others, Configure bold and italic faces)
	(Custom Org user faces, Update Org block delimiter fontification)
	(Measure color contrast, Load theme depending on time of day)
	(Backdrop for pdf-tools)
	(A theme-agnostic hook for theme loading, Note on EWW and Elfeed fonts)
	(Frequently Asked Questions): Remove parentheses from headings as they
	can cause problems in the .texi version of the file.

2021-11-29  Andreas Schwab  <schwab@linux-m68k.org>

	Avoid undefined behavior when copying part of structure

	* src/dispnew.c (copy_row_except_pointers): Don't use address of
	subobject as starting point.

	(cherry picked from commit 6943786b5c1fe76ea05a3a810512bd6777883710)

2021-11-29  Stefan Kangas  <stefan@marxist.se>

	* Makefile.in (PREFERRED_BRANCH): Now emacs-28.

2021-11-28  Eli Zaretskii  <eliz@gnu.org>

	* src/coding.c (Fdecode_coding_region, Fencode_coding_region): Doc fix.

2021-11-27  Mike Kupfer  <mkupfer@alum.berkeley.edu>

	Fix Subject when forwarding message with 2-line From

	* lisp/mh-e/mh-comp.el (mh-forwarded-letter-subject): Collapse
	two-line From headers into a single line (SF#266).  Based on a
	suggestion from Lester Buck (many thanks!).

2021-11-27  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5.1-11-g96d91b

2021-11-27  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/commands.texi (Click Events): Fix wording (bug#52142).

2021-11-25  Robert Pluim  <rpluim@gmail.com>

	Fix pdf generation with Texinfo 6.7

	* doc/lispref/display.texi (Size of Displayed Text): Put @group inside
	@example (bug#52102).

2021-11-25  Eli Zaretskii  <eliz@gnu.org>

	Fix 'posn-at-point' near some overlays

	* src/xdisp.c (pos_visible_p): Fix 'posn-at-point' for positions
	just after a display property that draws a fringe bitmap.
	(Bug#52097)

2021-11-25  Narendra Joshi  <narendraj9@gmail.com>  (tiny change)

	* lisp/repeat.el (repeat-post-hook): Add check symbolp rep-map.

2021-11-24  Eli Zaretskii  <eliz@gnu.org>

	Revert "Use @pxref when necessary"

	This reverts commit b4f47d2ee2203a9f22bebeb3d09e0fb3fce2f65e.
	Cleanups should not be done on the release branch: that's
	unnecessary risk.

2021-11-24  Robert Pluim  <rpluim@gmail.com>

	Use @pxref when necessary

	* doc/lispref/customize.texi (Composite Types):
	* doc/lispref/edebug.texi (Specification List):
	* doc/lispref/variables.texi (Local Variables):
	* doc/misc/efaq.texi (Basic keys):
	(Informational files for Emacs):
	* doc/misc/flymake.texi (Locating a master file):
	* doc/misc/gnus.texi (Don't Panic):
	(Oort Gnus):
	* doc/misc/htmlfontify.texi (Non-interactive):
	* doc/misc/mh-e.texi (More About MH-E):
	* doc/misc/pcl-cvs.texi (Entering PCL-CVS):
	* doc/misc/tramp.texi (Remote processes):
	* doc/misc/vhdl-mode.texi (Indentation Calculation):
	(Custom Indentation Functions): Use @pxref when inside parens.

2021-11-24  Michael Albinus  <michael.albinus@gmx.de>

	Backport Tramp fixes, don't merge

	* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
	Use `tramp-handle-file-readable-p'.

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test02-file-name-dissect): Use `make-tramp-file-name'.

2021-11-23  Takesi Ayanokoji  <ayanokoji.takesi@gmail.com>  (tiny change)

	Fix typos in documentation

	* doc/lispref/anti.texi:
	* doc/misc/efaq.texi: Fix typos.

2021-11-22  Eli Zaretskii  <eliz@gnu.org>

	Fix '(space :relative-width N)' display spec w/non-ASCII chars

	* src/xdisp.c (produce_stretch_glyph): Use the correct face for
	non-ASCII characters.  Support :relative-width display spec on
	Lisp strings, not just on buffer text.

2021-11-22  Juri Linkov  <juri@linkov.net>

	* lisp/proced.el (proced-sort-header): Fix event positions (bug#1779).

	The logic was copied from 'tabulated-list-col-sort'.

2021-11-20  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5-72-gc5d6656

2021-11-20  Eli Zaretskii  <eliz@gnu.org>

	Fix mouse handling with several TTY frames on MS-Windows

	* src/w32inevt.c (do_mouse_event): Reset the 'mouse_moved' flag of
	the selected frame.  Without that, this flag might remain set on a
	TTY frame that is not displayed.

2021-11-20  Eli Zaretskii  <eliz@gnu.org>

	Fix temacs invocation from outside of the 'src' directory

	* src/emacs.c (main) [HAVE_NATIVE_COMP]: Recompute the value of
	native-comp-eln-load-path if about to load loadup in uninitialized
	Emacs.  (Bug#51999)

2021-11-20  martin rudalics  <rudalics@gmx.at>

	Fix mouse events on tab bar or tool bar when 'track-mouse' is t

	* lisp/mouse.el (mouse-drag-track):
	* lisp/mouse-drag.el (mouse-drag-drag): Set 'track-mouse' to some
	value neither t nor nil.
	* src/keyboard.c (make_lispy_position): If track_mouse is Qt,
	report event on tool or tab bar (Bug#51794).

2021-11-20  Po Lu  <luangruo@yahoo.com>

	Fix `browse-url-interactive-arg' for certain kinds of events

	* lisp/net/browse-url.el (browse-url-interactive-arg): Don't
	call `mouse-set-point' unless event is actually a mouse event.

2021-11-19  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp-get-remote-gid): Remove declaration.

2021-11-19  Michael Albinus  <michael.albinus@gmx.de>

	Add upward compatibility entry in Tramp (don't merge)

	* lisp/net/tramp.el (tramp-file-name-for-operation):
	Add `abbreviate-file-name'.

2021-11-18  Juri Linkov  <juri@linkov.net>

	Fix sorting of menus in `context-menu-local' (bug#50067).

	* lisp/menu-bar.el (menu-bar-keymap): Don't use `lookup-key'
	on the `keymap' arg.

	* lisp/mouse.el (context-menu-global): Use `lookup-key global-map'
	for the `keymap' arg of `menu-bar-keymap'.
	(context-menu-local): Use `menu-bar-keymap' to sort `keymap'.

2021-11-18  Juri Linkov  <juri@linkov.net>

	Fix flyspell-correct-word selected from context menu opened with the keyboard

	* lisp/mouse.el (context-menu-open): Call interactively a command
	returned by `context-menu-map' such as `flyspell-correct-word' (bug#50067).

	* lisp/textmodes/flyspell.el (flyspell-correct-word): Handle the
	case when it's called by a key bound to `context-menu-open'.
	Then it should work the same way as `C-c $' typed on misspelled word
	where the arg `event' of `flyspell-correct-word-before-point' is nil.

2021-11-18  Robert Pluim  <rpluim@gmail.com>

	* lisp/repeat.el (describe-repeat-maps): Print all bound keys (bug#49265).

2021-11-18  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Use 'mouse-1' for history buttons like for 'add-tab' button

	* lisp/tab-bar.el (tab-bar-mouse-down-1, tab-bar-mouse-1):
	Handle clicks for 'history-back' and 'history-forward' the same way
	as 'add-tab' clicks.

2021-11-18  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of window hooks

	* doc/lispref/windows.texi (Window Hooks): Clarify "buffer-local
	functions".  (Bug#51930)

2021-11-18  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string of 'highlight-nonselected-windows'

	* src/xdisp.c (syms_of_xdisp) <highlight-nonselected-windows>:
	Clarify the doc string.  (Bug#51927)

2021-11-17  Stefan Kangas  <stefan@marxist.se>

	* admin/authors.el (authors-ignored-files): Ignore some NEWS files.

2021-11-16  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-select-tab): Add check for wc-frame (bug#51883).

2021-11-16  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Doc fixes for commands bound to modifier keys.

	(tab-bar-select-tab-modifiers)
	(tab-bar-select-tab, tab-bar-switch-to-last-tab): Doc fixes.

2021-11-15  Eli Zaretskii  <eliz@gnu.org>

	Fix removal of fringe marks of deleted bookmarks

	* lisp/bookmark.el (bookmark--remove-fringe-mark): The fringe
	overlay is at BOL, not at POS.  (Bug#51233)

2021-11-15  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el (repeat-echo-message): Bind message-log-max to nil.

	Don't insert messages about repeatable keys in the *Messages* buffer.

2021-11-15  Robert Pluim  <rpluim@gmail.com>

	* lisp/repeat.el (describe-repeat-maps): Use help-fns--analyze-function.

	Print keys bound to commands in every keymap (bug#49265)

2021-11-15  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el: Detect changes in the minibuffer state (bug#47566)

	(repeat--prev-mb): New internal variable.
	(repeat-post-hook): Check the property 'repeat-map' on the symbol
	from 'this-command' in addition to 'real-this-command'.  Don't allow
	repeatable maps in the activated minibuffer or in the minibuffer
	from another command.  Set 'repeat--prev-mb' at the end.

2021-11-15  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults due to freed face cache

	* src/xfaces.c (face_at_buffer_position): Make sure DEFAULT_FACE
	is usable.  (Bug#51864)

2021-11-15  Stefan Kangas  <stefan@marxist.se>

	Doc fix; change recommended file name of custom-file

	* lisp/cus-edit.el (custom-file): Change file name recommendation to
	match Info node '(emacs) Saving Customizations'.

2021-11-14  Philip Kaludercic  <philipk@posteo.net>

	* lisp/net/rcirc.el (rcirc-define-command): Fix interactive-spec generation

	(rcirc-define-command):  Wrap interactive spec in a list call.

2021-11-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix `C-h k' in gnus-article-mode (don't merge)

	* lisp/gnus/gnus-art.el (gnus-article-describe-key):
	(gnus-article-describe-key-briefly): Fix `describe-key' calling
	convention (bug#51796).

2021-11-14  Daniel Martín  <mardani29@yahoo.es>

	Fix semantic-symref-perform-search doc string

	* lisp/cedet/semantic/symref/cscope.el (semantic-symref-perform-search):
	Fix the docstring to refer to the correct tool (bug#51846).

2021-11-14  Eli Zaretskii  <eliz@gnu.org>

	Add more files to be natively-compiled AOT

	* src/Makefile.in (elnlisp): Add emacs-lisp/gv.eln and other
	missing dependencies of comp.el.

2021-11-14  Lars Ingebrigtsen  <larsi@gnus.org>

	gnus-summary-line-format doc string clarification

	* lisp/gnus/gnus.el (gnus-summary-line-format): Clarify the Date
	part of the doc string (bug#51823).

2021-11-13  Alan Mackenzie  <acm@muc.de>

	Fix follow-scroll-down in a small buffer which starts slightly scrolled

	This fixes bug #51814.

	* lisp/follow.el (follow-scroll-down): Do away with the optimization of doing
	vertical-motion over only one window.  Instead move over all windows, to
	check for being close to point-min, and setting point accordingly.

2021-11-13  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation on MS-Windows

	* src/callproc.c (emacs_spawn) <fork_done>: Define the label only
	if USABLE_POSIX_SPAWN is defined, to avoid a compiler warning.

	(cherry picked from commit a8fc08085110de00ebcbd67b5273a755a5cb8ea1)

2021-11-13  Philipp Stephani  <phst@google.com>

	Use posix_spawn if possible.

	posix_spawn is less error-prone than vfork + execve, and can make
	better use of system-specific enhancements like 'clone' on Linux.  Use
	it if we don't need to configure a pseudoterminal.

	Backported from commit a60053f8368e058229721f1bf1567c2b1676b239.
	Unlike that commit, only define USABLE_POSIX_SPAWN on macOS, because
	there posix_spawn is much faster than vfork.

	Don't merge to master.

	* configure.ac (HAVE_SPAWN_H, HAVE_POSIX_SPAWN)
	(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR)
	(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP)
	(HAVE_POSIX_SPAWNATTR_SETFLAGS, HAVE_DECL_POSIX_SPAWN_SETSID): New
	configuration variables.
	* src/callproc.c (USABLE_POSIX_SPAWN): New configuration macro.
	(emacs_posix_spawn_init_actions)
	(emacs_posix_spawn_init_attributes, emacs_posix_spawn_init): New
	helper functions.
	(emacs_spawn): Use posix_spawn if possible.

	(cherry picked from commit a60053f8368e058229721f1bf1567c2b1676b239)

2021-11-13  Eli Zaretskii  <eliz@gnu.org>

	Improve style and comments in font-related sources

	* src/w32font.c (fill_in_logfont): Stylistic changes.
	* src/font.h (font_property_index, font_select_entity):
	Add/improve comments.

2021-11-12  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'decode-coding-region'

	* src/coding.c (Fdecode_coding_region): Doc fix.

	* doc/lispref/nonascii.texi (Coding System Basics)
	(Explicit Encoding): Explain the significance of using 'undecided'
	in 'decode-coding-*' functions.

2021-11-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with temp buffer killing in package-install-file

	* lisp/emacs-lisp/package.el (package-install-file): Allow killing
	the temporary buffer without querying (bug#51769).

2021-11-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix Lisp Intro markup error

	* doc/lispintro/emacs-lisp-intro.texi (Insert let): Fix @code
	markup error (bug#51777).

2021-11-11  Eli Zaretskii  <eliz@gnu.org>

	Fix ACL errors with WebDAV volumes on MS-Windows

	* src/w32.c (acl_get_file): Handle ERROR_INVALID_FUNCTION from
	WebDAV.  Patch from Ioannis Kappas <ioannis.kappas@gmail.com>.
	(Bug#51773)

2021-11-11  Aleksandr Vityazev  <avityazev@posteo.org>

	Fix tramp-compat-file-name-concat (Bug#51754)

	* lisp/net/tramp-compat.el: Make `tramp-compat-file-name-concat'
	work like file-name-concat.  (Bug#51754)

2021-11-10  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-git.el (vc-git-mergebase): More meaningful error message.

	Display a readable error message instead of signaling an error on nil value.

2021-11-10  Stephen Gildea  <stepheng+emacs@gildea.com>

	time-stamp: %F is "file name" not "pathname" + other doc

	* lisp/time-stamp.el (time-stamp-format): doc 'file' instead of 'path'.
	* test/lisp/time-stamp-tests.el (formatz, format-time-offset):
	Clarify the difference and similarity between these two test helpers.

2021-11-09  Juri Linkov  <juri@linkov.net>

	* doc/misc/eww.texi (Advanced): Fix missed variable name eww-retrieve-command.

2021-11-09  Juri Linkov  <juri@linkov.net>

	* doc/emacs/windows.texi (Window Convenience): Use @code for windmove.

	This refers to both a command and a user option.

	* etc/NEWS: Add some ---.

2021-11-09  Juri Linkov  <juri@linkov.net>

	* doc/emacs/maintaining.texi (Basic VC Editing): Mention Dired buffer.

	* doc/emacs/text.texi (Outline Mode): Replace S-TAB with S-<TAB>.

	* etc/NEWS: Add some missing +++/--- and move some related items closer.

2021-11-09  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/prog-mode.el (prog-context-menu): Use "Go Back" (bug#38797)

2021-11-09  Stefan Kangas  <stefan@marxist.se>

	Revert "Fix localized display of date and time in the NS port"

	This reverts commit 5e05be566b0e13ce0b4e75da663fb051039f0751.

	This was discussed in
	https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51321#93

2021-11-08  Juri Linkov  <juri@linkov.net>

	* lisp/mouse.el (mouse-buffer-menu-mode-groups): Tighten "Version Control".

	Use word boundaries in the "Version Control" regexp to match mode names
	"Log-Edit", "Log-View", "Git-Log-View", "Change Log", "VC dir",
	but not "Verilog", "Prolog", "Rlogin" (bug#51337).

2021-11-08  Juri Linkov  <juri@linkov.net>

	* doc/emacs/search.texi (Isearch Yank): Add isearch-forward-thing-at-point.

2021-11-07  Alan Mackenzie  <acm@muc.de>

	Amend Follow Mode to handle header lines and tab lines correctly

	This fixes bug #51590.

	list/follow.el (follow-scroll-down): Incorporate the height of the tab line
	into the calculation of the window height.
	(follow-calc-win-end): Incorporate the pixel heights of the header line and
	the tab line the calculation of the buffer position of the bottom screen line.

2021-11-07  Stefan Kangas  <stefan@marxist.se>

	* lisp/files.el (user-emacs-directory-warning): Clarify docstring.

2021-11-07  Juri Linkov  <juri@linkov.net>

	* doc/emacs/frames.texi (Tab Bars): Add text about mouse and tab-bar-format

	Briefly describe mouse commands on the tab bar and tab-bar-format (bug#51444)

2021-11-07  Juri Linkov  <juri@linkov.net>

	* doc/emacs/frames.texi (Tab Bars): Describe tab-last.

	'C-9' and 'M-9' already had kindex, so describe them in the text as well
	(bug#51444).

2021-11-07  Jim Porter  <jporterbugs@gmail.com>

	Add some unit tests for 'abbreviate-file-name'

	* test/lisp/files-tests.el (files-tests-abbreviate-file-name-homedir)
	(files-tests-abbreviate-file-name-directory-abbrev-alist): New tests.

2021-11-07  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation MinGW warnings

	* src/w32.h (prepare_standard_handles, reset_standard_handles):
	Fix prototypes.  Reported by Andy Moreton
	<andrewjmoreton@gmail.com> in
	https://lists.gnu.org/archive/html/emacs-devel/2021-11/msg00597.html.

2021-11-06  Stefan Kangas  <stefan@marxist.se>

	Escape '%' in filenames to fix flymake warnings

	* lisp/progmodes/flymake.el (flymake--log-1): Escape '%' in filenames
	for 'warning-type-format' so they are not interpreted as a %-sequence
	by 'format' later.  (Bug#51549)

2021-11-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix search string generation in nnimap-make-thread-query

	* lisp/gnus/nnimap.el (nnimap-make-thread-query): Remove text
	properties before constructing the search string (bug#49926).

2021-11-06  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5-68-g77e2ec

2021-11-06  Michael Albinus  <michael.albinus@gmx.de>

	Fix dbus-test04-register-method on CentOS (Bug#51369)

	* test/lisp/net/dbus-tests.el (dbus-test04-register-method):
	Fix problem on CentOS.  (Bug#51369)

2021-11-06  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/transient.el: Update to package version v0.3.7-11-g7f5520b3.

2021-11-06  Eli Zaretskii  <eliz@gnu.org>

	Clarify "text area of a window" in the documentation

	* src/keyboard.c (Fposn_at_x_y): Clarify that the Y coordinate
	includes the header-line and the tab-line.  (Bug#51590)

	* doc/lispref/windows.texi (Window Sizes, Splitting Windows)
	(Textual Scrolling, Coordinates and Windows): Fix/remove improper
	or confusing uses of "text area" of a window.

2021-11-06  Stefan Kangas  <stefan@marxist.se>

	Improve docstring of kmacro-set-format

	* lisp/kmacro.el (kmacro-set-format): Improve docstring.
	(kmacro-insert-counter, kmacro-display-counter)
	(kmacro-set-counter, kmacro-add-counter): Add cross-references
	to the info manual.

2021-11-05  Stefan Kangas  <stefan@marxist.se>

	Revert "* lisp/wid-edit.el (widget-field): Add subtle border to face."

	This reverts commit 8b024a6ff10f7907445ea60c4db8355638616ed1.

	This lead to some alignment issues.  (Bug#51550)
	Don't merge to master, where we will continue investigating.

2021-11-05  Stefan Kangas  <stefan@marxist.se>

	* etc/PROBLEMS: Mention X forwarding slowdowns.  (Bug#7092)

2021-11-04  Stefan Kangas  <stefan@marxist.se>

	* lisp/custom.el (defgroup): Document the :prefix keyword.

2021-11-04  Thibault Polge  <thibault@thb.lt>

	Document ibuffer-auto-mode in ibuffer-mode doc string

	* lisp/ibuffer.el (ibuffer-mode): Mention ibuffer-auto-mode in the
	ibuffer-mode doc string (bug#51584).

2021-11-04  Juri Linkov  <juri@linkov.net>

	* doc/emacs/frames.texi (Tab Bars): Reorder toggle-frame-tab-bar.

2021-11-04  Stefan Kangas  <stefan@marxist.se>

	Use current face foreground for SVG icons in customize

	It turns out these few icons were missed when the color and size
	information was removed from the SVG icons that replaced XPM icons for
	Customize buffer.
	* etc/images/down.svg:
	* etc/images/left.svg:
	* etc/images/right.svg:
	* etc/images/up.svg: Don't define foreground; this means they will use
	the foreground of the currently defined face instead.  (Bug#51556)

	(cherry picked from commit 11702a6dd7cb8286f28b7cb986057d2d2c66a914)

2021-11-03  Juri Linkov  <juri@linkov.net>

	* doc/emacs/building.texi (Compilation Mode): Add next-error-message-highlight

	The variable 'next-error-message-highlight' already has vindex,
	so describe it in the text as well (bug#51444).

2021-11-03  Daniel Martín  <mardani29@yahoo.es>

	Document a macOS error message when opening Emacs

	* etc/PROBLEMS: Document a potential error message when opening Emacs
	on macOS for the first time.

2021-11-03  Eli Zaretskii  <eliz@gnu.org>

	Fix header-line and tab-line when mode-line-compact is set

	* src/xdisp.c (display_mode_line): Make 'mode-line-compact' apply
	only to mode lines.  (Bug#51558)

2021-11-03  Mattias Engdegård  <mattiase@acm.org>

	Add manual section about how to avoid regexp problems

	Help users affected by our NFA engine's stack overflows and occasional
	poor performance, replacing old text that was more limited in scope.

	* doc/lispref/elisp.texi (Top):
	* doc/lispref/searching.texi (Regular Expressions): Add menu entries.
	(Regexp Problems): New node.
	(Regexp Special):
	* etc/PROBLEMS: Remove superseded text.

2021-11-03  Phillip Lord  <phillip.lord@russet.org.uk>

	Clarify build environment

	* admin/nt/dist-build/README-scripts:

2021-11-03  Phillip Lord  <phillip.lord@russet.org.uk>

	Clarify build directory structure

	* admin/nt/dist-build/README-scripts: Clarify build directory structure

2021-11-02  Andrea Corallo  <akrl@sdf.org>

	* src/pdumper.c (dump_do_dump_relocation): Add sanity check.

2021-11-01  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/prog-mode.el (prog-context-menu): Use text-mode-context-menu.

2021-11-01  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#51369

	* test/lisp/net/dbus-tests.el (dbus-test04-register-method): Skip on hydra.

2021-11-01  Michael Albinus  <michael.albinus@gmx.de>

	Adapt arguments of `tramp-make-tramp-file-name'

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted):
	* lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp):
	Use `make-tramp-file-name'.

	* lisp/obsolete/rcompile.el (remote-compile): Pacify byte-compiler.

2021-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in describe-map-tree doc string

	* lisp/help.el (describe-map-tree): Fix typo in doc string.

2021-11-01  Ken Brown  <kbrown@cornell.edu>

	Drop support for native compilation on 32-bit Cygwin

	* configure.ac (cygwin32-native-compilation): New option.
	[i686-pc-cygwin]: Don't allow native compilation unless that
	option is specified.  (Bug#50666)

2021-10-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix rendering of title-less <abbr> tags in shr

	* lisp/net/shr.el (shr-tag-abbr): Render <abbr> tags that have no
	title (bug#51525).

2021-10-31  Eli Zaretskii  <eliz@gnu.org>

	Avoid signaling errors in lookup-key

	* src/keymap.c (Flookup_key): Handle KEY vectors where not all
	components are symbols.  (Bug#51527)  Do not merge to master.

2021-10-31  Daniel Martín  <mardani29@yahoo.es>

	Fix localized display of date and time in the NS port

	* src/nsterm.m (ns_init_locale): If not already set, set LC_ALL to the
	current locale ID so that dates, currencies, etc. use the settings
	configured in the operating system.  (Bug#51321)

2021-10-31  Eli Zaretskii  <eliz@gnu.org>

	Fix display glitches with side-by-side windows on TTY frames

	* src/dispnew.c (adjust_glyph_matrix, prepare_desired_row): Leave
	room for the border glyph only if the window does actually have
	the right margin.  (Bug#51521)

2021-10-30  Carlos Pita  <carlosjosepita@gmail.com>

	Avoid replacing common prefix with ellipsis

	* lisp/progmodes/python.el
	(python-shell-completion-native-setup): Configure readline not to
	suppress common prefixes.  (Bug#51218)

2021-10-30  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of string truncation APIs

	* doc/lispref/display.texi (Size of Displayed Text):
	* lisp/international/mule-util.el (truncate-string-to-width):
	Document caveats of using 'truncate-string-to-width' when
	character composition is involved.

	* lisp/emacs-lisp/subr-x.el (string-limit):
	* doc/lispref/strings.texi (Creating Strings): Improve the
	documentation of 'string-limit'.

2021-10-29  Imran Khan  <contact@imrankhan.live>  (tiny change)

	* lisp/textmodes/css-mode.el: Fix typo.  (Bug#51488)

2021-10-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Make message/rfc822 on buttons work again in Gnus

	* lisp/gnus/gnus-art.el (gnus-article-mode): Set
	mm-inline-message-prepare-function buffer-locally so that it works
	both when inlining rfc822 and hitting the MIME button (bug#51388).
	(gnus-mime--inline-message): Factor out into own function.
	(gnus-mime-display-single): From here.

2021-10-29  Glenn Morris  <rgm@gnu.org>

	* lisp/loadup.el: Unbreak build.

2021-10-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Move lisp/shorthands.el to lisp/emacs-lisp/shorthands.el

2021-10-29  Michael Albinus  <michael.albinus@gmx.de>

	Some Tramp changes, mainly in tramp-tests.el

	* doc/misc/tramp.texi (External packages): Don't use Tramp internals.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted):
	Protect `tramp-make-tramp-file-name' call.

	* lisp/net/tramp.el (tramp-make-tramp-file-name): Set advertised
	calling conventions.

	* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
	Adapt test.
	(tramp--test-supports-processes-p): New defun.
	(tramp-test28-process-file, tramp-test29-start-file-process)
	(tramp-test30-make-process, tramp-test32-shell-command)
	(tramp-test32-shell-command-dont-erase-buffer)
	(tramp-test34-explicit-shell-file-name, tramp-test35-exec-path)
	(tramp-test44-asynchronous-requests): Use it.

2021-10-29  Gregory Heytings  <gregory@heytings.org>

	Make hieroglyphs display correctly with existing fonts

	* etc/HELLO: Remove hieroglyph format control characters.

	* lisp/language/misc-lang.el: Add a rule to compose Egyptian
	hieroglyphs even without Unicode format control characters.

2021-10-29  Eli Zaretskii  <eliz@gnu.org>

	Clarify "default face attributes" in the ELisp manual

	* doc/lispref/display.texi (Defining Faces): Add index entries for
	face symbol properties.
	(Attribute Functions): Clarify "default face attribute values" wrt
	'face-all-attributes' and 'face-attribute'.  (Bug#51465)

2021-10-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `C-u RET' work again

	* lisp/simple.el (newline): Fix regression introduced by
	d1aacceae9 (bug#51459).

2021-10-28  Jan Synacek  <jan.synacek@gmail.com>  (tiny change)

	Fix typos in the manual and in a comment

	* lisp/minibuffer.el (completion-pcm--hilit-commonality):
	* doc/lispintro/emacs-lisp-intro.texi (Mode Line): Fix typos
	(bug#51434).

2021-10-28  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in 'lookup-key'

	* src/keymap.c (Flookup_key): Don't call ASIZE unless KEY is a
	vector.  This avoids assertion violations when KEY is a string.

2021-10-28  Stefan Kangas  <stefan@marxist.se>

	image-dired: Unreverse accidentally reversed menus

	* lisp/image-dired.el (image-dired-thumbnail-mode-map)
	(image-dired-display-image-mode-map, image-dired-minor-mode-map):
	In Emacs 26.1 (commits b905454680c7 and bed0373855ea), the menus were
	converted to use 'easy-menu-define', but they were reversed in the
	process.  Unreverse the menus.  (Bug#51446)

2021-10-28  Stefan Kangas  <stefan@marxist.se>

	Be more allowing when looking for menu-bar items

	Don't merge to master.  This is a safe-for-release fix for Bug#50752.

	* src/keymap.c (lookup_key_1): Factor out function from
	Flookup_key.
	(Flookup_key): Be case insensitive when looking for Qmenu_bar
	items.  (Bug#50752)

	* test/src/keymap-tests.el
	(keymap-lookup-key/mixed-case)
	(keymap-lookup-key/mixed-case-multibyte): New tests.

2021-10-27  Juri Linkov  <juri@linkov.net>

	* lisp/textmodes/text-mode.el (text-mode-context-menu): Rename recently added.

2021-10-27  Robert Pluim  <rpluim@gmail.com>

	Allow automatic use of color fonts for emoji on macOS

	* src/macfont.m (macfont_list): Don't exclude color fonts when the
	fontspec has an 'emoji' script specification.

2021-10-27  Eli Zaretskii  <eliz@gnu.org>

	Fix help commands for menu-bar menus

	* lisp/help.el (help--analyze-key): Fix "C-h c" and "C-h k" on
	menu-bar menu items.  (Bug#51421)

2021-10-26  Stefan Kangas  <stefan@marxist.se>

	Improve function documentation with text from XDG BDS spec

	* lisp/xdg.el (xdg-config-home, xdg-cache-home, xdg-data-home)
	(xdg-runtime-dir, xdg-config-dirs, xdg-data-dirs): Copy in the
	text from the XDG Base Directory Specification to better explain
	what these functions return.

2021-10-25  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/transient.el: Update to package version 0.3.7.

2021-10-25  Eli Zaretskii  <eliz@gnu.org>

	Revert "Fix a typo in emacs-lisp-intro.texi"

	This reverts commit 98eb6d783a482cd7ebca7ec656b0775b82c68e57.
	I've consulted with Richard Stallman about this, and he says
	that the original wording, "kinds of atom", is both correct
	and more elegant writing.  So I'm restoring the original text.
	* doc/lispintro/emacs-lisp-intro.texi (Lisp Atoms): Undo the
	fix of a "typo" that wasn't a typo.  (Bug#51271)

2021-10-25  Robert Pluim  <rpluim@gmail.com>

	* doc/lispref/functions.texi (Mapping Functions): Use #' when mapping.

2021-10-25  Miha Rihtaršič  <miha@kamnitnik.top>

	Fix issue with interpreting ANSI codes in eshell

	* lisp/eshell/esh-mode.el (eshell-mode): Make window point advance on
	insertion.
	(eshell-output-filter): Don't use insert-before-markers (bug#45380).

2021-10-25  Stefan Kangas  <stefan@marxist.se>

	image-dired: Doc fix to better explain thumbnail generation

	* doc/emacs/dired.texi (Image-Dired): Improve description by
	explaining that the generation of thumbnails is asynchronous.

2021-10-25  Stefan Kangas  <stefan@marxist.se>

	Clarify two image-dired docstrings

	* lisp/image-dired.el (image-dired-dir): Doc fix; clarify that
	thumbnails will be saved in "$XDG_CACHE_HOME/thumbnails", as per the
	Thumbnail Managing Standard.
	(image-dired-thumb-size): Doc fix; clarify that this option will be
	ignored when using the Thumbnail Managing Standard.

2021-10-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix flymake example backend conditions in the manual

	* doc/misc/flymake.texi (An annotated example backend): Also react
	to `signal' process statuses (bug#51380).

2021-10-24  Stefan Kangas  <stefan@marxist.se>

	* etc/PROBLEMS: Mention problems with regexp matcher.  (Bug#18577)

2021-10-24  Juri Linkov  <juri@linkov.net>

	* test/lisp/repeat-tests.el: New file.

2021-10-24  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-move-repeat-map): Fix alias binding of tab-move.

	(tab-bar-move-tab-backward): Put 'repeat-map' symbol property.

2021-10-24  Stefan Kangas  <stefan@marxist.se>

	Use restrictive umask when creating image-dired data

	* lisp/image-dired.el (image-dired-dir)
	(image-dired-sane-db-file): Create thumbnail directory and
	.image-dired_db with umask 077.  This avoids creating world readable
	copies of private data, and is in fact mandated by the Thumbnail
	Managing Standard that we aim to support.

2021-10-24  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation errors with MinGW64 GCC 11

	* lib-src/ntlib.c (_GL_ATTRIBUTE_MALLOC)
	(_GL_ATTRIBUTE_DEALLOC_FREE): Define to avoid compilation errors
	with MinGW64 GCC 11.  Suggested by Andy Moreton
	<andrewjmoreton@gmail.com>.  Do not merge to master.

2021-10-24  Ihor Radchenko  <yantar92@gmail.com>

	Doc fix for concat

	* src/fns.c (Fconcat): Note that composition values may not remain eq
	in return value of concat.  (Bug#48740)

2021-10-24  Stefan Kangas  <stefan@marxist.se>

	* lisp/image-dired.el (image-dired-external-viewer): Support feh.

2021-10-24  Stefan Kangas  <stefan@marxist.se>

	Update publicsuffix.txt from upstream

	* etc/publicsuffix.txt: Update from
	https://publicsuffix.org/list/public_suffix_list.dat
	dated 2021-10-16 16:33:47 GMT.

2021-10-24  Stefan Kangas  <stefan@marxist.se>

	Refer to the info node on keymaps in map-keymap docstring

	* src/keymap.c (Fmap_keymap): Doc fix; add a reference to the Info
	node '(elisp) Keymaps'.  (Bug#30958)

2021-10-23  Stefan Kangas  <stefan@marxist.se>

	Clarify abnormal hook documentation

	* doc/lispref/hooks.texi (Standard Hooks):
	* doc/lispref/modes.texi (Hooks): Clarify wording of "abnormal
	hook" documentation.  (Bug#34588)

2021-10-23  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5-59-g52e6f1

2021-10-23  Stefan Kangas  <stefan@marxist.se>

	Improve documentation of cl-reduce

	* doc/misc/cl.texi (Mapping over Sequences): Change the
	explanation of 'cl-reduce' so you don't need to have a major in
	mathematics to understand it.  (Bug#24014)

2021-10-23  Stefan Kangas  <stefan@marxist.se>

	Improve documentation of apply-partially

	* doc/lispref/functions.texi (Calling Functions): Improve
	documentation of 'apply-partially' to be slightly more clear with
	regards to function arity.  (Bug#17623)

2021-10-23  Michael Albinus  <michael.albinus@gmx.de>

	Fix typos

	* doc/emacs/cmdargs.texi:
	* etc/DEBUG:
	* etc/NEWS: Fix typos.

2021-10-23  Michael Albinus  <michael.albinus@gmx.de>

	Revert commit 225ca617b7, and apply another fix

	* lisp/minibuffer.el (read-file-name-default): Revert commit
	225ca617b7.  (Bug#50976).

	* lisp/shell.el (shell): Remove volume letter for remote shell
	file name.  (Bug#49229)

2021-10-23  Stefan Kangas  <stefan@marxist.se>

	Fix documentation of posn-at-x-y

	* doc/lispref/commands.texi (Accessing Mouse): Fix documentation of
	'posn-at-x-y' to match docstring.  (Bug#15783)

2021-10-22  Robert Pluim  <rpluim@gmail.com>

	Improve some NEWS entries

	* etc/NEWS: Improve some NEWS entries.

2021-10-22  Robert Pluim  <rpluim@gmail.com>

	Improve documentation of syntax-ppss-context slightly

	* doc/lispref/syntax.texi (Parser State): Document all possible return
	values from 'syntax-ppss-context'.

2021-10-22  Robert Pluim  <rpluim@gmail.com>

	Move some xwidget entries

	* etc/NEWS: Move xwidget entries to correct location.

2021-10-22  Stephen Gildea  <stepheng+emacs@gildea.com>

	time-stamp-tests: improvements to test macros

	test/lisp/time-stamp-tests.el: Update macro declarations.
	(formatz-generate-tests): Don't nconc onto a constant list.
	Tests now run 12% faster in batch mode.

2021-10-22  Itai Y. Efrat  <itai3397@gmail.com>

	Fix rfc6068-parse-mailto-url autoload

	* lisp/net/browse-url.el (rfc6068-parse-mailto-url): Fix autoload
	cookie (bug#51333).

2021-10-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Regexp-quote github domains in bug-reference

	* lisp/progmodes/bug-reference.el
	(bug-reference--build-forge-setup-entry): Regexp-quote the domain
	(bug#51316).

2021-10-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure valid end/beginning lines in message-mark-inserted-region

	* lisp/gnus/message.el (message-mark-inserted-region): Ensure
	there's a newline before inserting the end line (bug#51324).

2021-10-22  Robert Pluim  <rpluim@gmail.com>

	* etc/NEWS: Improve 'repeat-mode' entry.

	* lisp/repeat.el (repeat-keep-prefix): Expand description.

	* lisp/net/eww.el (eww-retrieve-command): Add :tag.

2021-10-22  Stefan Kangas  <stefan@marxist.se>

	Add description of cards to etc/refcards/README

	* etc/refcards/README: List all the generated reference cards,
	including their translations.  (Bug#8932)

2021-10-22  Martin Rudalics  <rudalics@gmx.at>

	Fix 'calculate-lisp-indent' when "[" starts containing sexp (Bug#51312)

	* lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Handle
	arbitrary paren syntax after skipping whitespace backwards within
	containing sexp (Bug#51312).

2021-10-22  Stefan Kangas  <stefan@marxist.se>

	Fix typo in doc/emacs/anti.texi

	* doc/emacs/anti.texi (Antinews): Fix typo.  (Bug#51325)
	Reported by Po Lu <luangruo@yahoo.com>.

2021-10-22  Stephen Gildea  <stepheng+emacs@gildea.com>

	Update doc of Edebug specification for macros

	doc/lispref/edebug.texi:  Update documentation of Edebug specification:
	- Do not document "0" as a recommended shortcut for non-instrumented
	arguments; nobody knows about nor uses this, so don't encourage it.
	- Add an example equivalent to (declare (debug (&rest sexp))).

2021-10-21  Eli Zaretskii  <eliz@gnu.org>

	Fix non-interactive behavior of 'kill-region'

	* lisp/simple.el (kill-region): Actually ignore BEG and END when
	REGION is non-nil.  Doc fix.  (Bug#51320)

2021-10-21  Juri Linkov  <juri@linkov.net>

	* test/lisp/dabbrev-tests.el: Use 'kbd' for readable keys.

	(dabbrev-expand-test, dabbrev-completion-test)
	(dabbrev-completion-test-with-argument):
	Use 'kbd' to format keys for 'execute-kbd-macro'.
	(dabbrev-expand-test): Fix docstring.

2021-10-21  Juri Linkov  <juri@linkov.net>

	* lisp/menu-bar.el (menu-bar-keymap): Add optional arg KEYMAP (bug#50067).

	* lisp/mouse.el (context-menu-global): Use 'menu-bar-keymap' with
	its arg KEYMAP set to 'global-map'.

2021-10-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix todo-mode AOT test failures (bug#51308)

	Fix hi-lock AOT test failures (bug#51308)

2021-10-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix socks test

	* test/lisp/net/socks-tests.el (socks-tests-v4-basic): Fix failure
	under native-comp (bug#51308).

2021-10-20  Juri Linkov  <juri@linkov.net>

	* lisp/help.el (help--analyze-key): Add new arg BUFFER (bug#51173).

	* lisp/help.el (describe-key): Use BUFFER as arg for help--analyze-key.
	(describe-key-briefly): Change arg UNTRANSLATED deprecated in 27.1
	to BUFFER.

	* lisp/gnus/gnus-art.el (gnus-article-describe-key)
	(gnus-article-describe-key-briefly): Call describe-key and
	describe-key-briefly with first arg as a cons with raw keys,
	and the BUFFER arg set to the current buffer.

2021-10-20  Juri Linkov  <juri@linkov.net>

	Improve docstrings and NEWS item of 'repeat-mode'

	* lisp/repeat.el (repeat-exit-timeout, repeat-echo-function)
	(repeat-in-progress, repeat-map): Update docstrings.

2021-10-20  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-menu-bar): New command (bug#51247).

	(tab-bar-format): Rename option 'tab-bar-format-menu-global' to
	'tab-bar-format-menu-bar'.
	(tab-bar-format-menu-bar): Rename from 'tab-bar-format-menu-global'.

2021-10-20  Po Lu  <luangruo@yahoo.com>

	Display a tab bar item as sunken when appropriate

	When the mouse pointer is pressed on the tab bar, moved out of the tab
	bar, and moved back in, it would be more appropriate to behave like
	other programs by displaying the item as sunken.

	* src/xdisp.c (note_tab_bar_highlight): Display item as sunken if the
	mouse pointer returns to the tab bar down.

2021-10-20  Po Lu  <luangruo@yahoo.com>

	Fix tab bar item highlight when a mouse click is dropped

	* src/xdisp.c (note_mouse_highlight): Clear last_tab_bar_item if the
	movement wasn't made on top of the tab bar.

2021-10-20  Stefan Kangas  <stefan@marxist.se>

	Refer to mouse-highlight from make-pointer-invisible docstring

	* src/frame.c (syms_of_frame) <Vmake_pointer_invisible>: Doc fix;
	add reference to 'mouse-highlight'.  (Bug#42889)

2021-10-20  Robert Pluim  <rpluim@gmail.com>

	* etc/PROBLEMS: Add hex codepoint for NO-BREAK SPACE

2021-10-20  Robert Pluim  <rpluim@gmail.com>

	Describe how to debug fontconfig issues

	* etc/PROBLEMS: Add FC_DEBUG usage pointers.

2021-10-20  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp tests

	* test/lisp/net/tramp-archive-tests.el (tramp-archive-test45-auto-load):
	Adapt code snippet.

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
	(tramp-test30-make-process): Adapt tests.
	(tramp--test-supports-set-file-modes-p): Renamed from
	`tramp--test-supports-file-modes-p'.  Adapt all callees.
	(tramp-test35-exec-path): Use it.

2021-10-20  Jim Porter  <jporterbugs@gmail.com>

	Convert ANSI color definitions in themes to use faces (e.g. 'ansi-color-red')

	* etc/themes/dichromacy-theme.el:
	* etc/themes/leuven-theme.el:
	* etc/themes/misterioso-theme.el:
	* etc/themes/tango-theme.el:
	* etc/themes/tango-dark-theme.el:
	* etc/themes/wombat-theme.el: Convert ANSI color definitions to
	use faces.

2021-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Revert back to using ESC as viper-ESC-key again"

	This reverts commit 5d522b430bd5ecfb8f082906cd634883dbb68f3e.

	The change led to M-x not working in non-gui Emacsen (bug#51253).

2021-10-19  Alan Third  <alan@idiocy.org>

	Fix inset rectangle corners when sides aren't drawn (bug#51251)

	* src/nsterm.m (ns_draw_relief): Make the inner rectangle line up with
	the outer rectangle's edges where the edges aren't drawn.

2021-10-19  Jan Synacek  <jan.synacek@gmail.com>  (tiny change)

	Don't use color escape sequences in vc-git-expanded-log-entry

	* lisp/vc/vc-git.el (vc-git-expanded-log-entry): Use '--no-color' flag
	in git invocation.  (Bug#51262)

2021-10-19  Michael Albinus  <michael.albinus@gmx.de>

	Code cleanup in tramp-tests.el

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
	(tramp-test30-make-process): Extend tests.
	(tramp--test-out-of-band-p): New defun.
	(tramp--test-windows-nt-and-out-of-band-p)
	(tramp-test42-utf8-with-stat, tramp-test42-utf8-with-perl)
	(tramp-test42-utf8-with-ls): Use it.
	(tramp--test-windows-nt-or-smb-p): Use `tramp--test-windows-nt-p'.

2021-10-19  Robert Pluim  <rpluim@gmail.com>

	* admin/notes/unicode: Refer to Unicode's emoji-style.txt

2021-10-19  Robert Pluim  <rpluim@gmail.com>

	Handle VS-16 correctly for non-emoji codepoints

	* admin/unidata/blocks.awk: Remove emoji overrides for codepoints with
	Emoji_Presentation = No, they're no longer necessary.
	* lisp/composite.el: Remove #xFE0F (VS-16) from the range handled by
	`compose-gstring-for-variation-glyph' so it can be handled by
	`font_range'.
	* src/composite.c (syms_of_composite): New variable
	`auto-composition-emoji-eligible-codepoints'.
	* admin/unidata/emoji-zwj.awk: Generate value for
	`auto-composition-emoji-eligible-codepoints'.  Add
	`composition-function-table' entries for 'codepoint + U+FE0F' for
	them.
	* src/font.c (codepoint_is_emoji_eligible): New function to check if
	we should try to use the emoji font for a codepoint.
	(font_range): Use it.

2021-10-19  Tassilo Horn  <tsdh@gnu.org>

	Adjust bug-reference-bug-regexp default values to match only at beg of word

	Previously, the "bug 1" in "(debug 1)" has also been highlighted.

	* lisp/progmodes/bug-reference.el (bug-reference-bug-regexp)
	(bug-reference--setup-from-vc-alist,bug-reference-setup-from-mail-alist)
	(bug-reference-setup-from-irc-alist): Adjust bug-reference-bug-regexp
	default values to match only at the beginning of a word.

2021-10-19  Stefan Kangas  <stefan@marxist.se>

	Fix a typo in emacs-lisp-intro.texi

	* doc/lispintro/emacs-lisp-intro.texi (Lisp Atoms): Fix typo.
	Reported by Mor Zahavi <morzahavi@me.com>.  (Bug#51271)

2021-10-18  Michael Albinus  <michael.albinus@gmx.de>

	Fix some Tramp problems

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	Use `tramp-adb-handle-file-executable-p' and
	`tramp-adb-handle-file-readable-p'.
	(tramp-adb-handle-file-executable-p)
	(tramp-adb-handle-file-readable-p): New defuns.
	(tramp-adb-handle-file-writable-p): Simplify.
	(tramp-adb-handle-make-process): Handle :filter being t.
	(tramp-adb-find-test-command): Remove.

	* lisp/net/tramp-sh.el (tramp-sh-handle-file-readable-p):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-readable-p):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	Use `tramp-handle-file-readable-p'.
	(tramp-gvfs-handle-file-executable-p): Do not check whether file
	exists, this is done in `tramp-check-cached-permissions'.
	(tramp-gvfs-handle-file-readable-p): Remove.

	* lisp/net/tramp.el (tramp-error): Move binding of `inhibit-message' ...
	(tramp-signal-hook-function): ... here.
	(tramp-handle-access-file): Rewrite.
	(tramp-handle-file-readable-p): New defun.
	(tramp-handle-make-process): Setting :filter to t works since
	Emacs 29.1 only.

	* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory)
	(tramp-test18-file-attributes): Extend tests.

2021-10-18  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp manual

	* doc/misc/tramp.texi: Use @uref instead of @url.
	(Frequently Asked Questions): Adapt ELPA references.

2021-10-18  Martin Rudalics  <rudalics@gmx.at>

	Further fixes to Elisp manual

	* doc/lispref/frames.texi (Frame Layout): Index "tab bar" instead
	of "internal tab bar".
	(Implied Frame Resizing): Remove irritating hyphens.
	* doc/lispref/windows.texi (Windows and Frames): Remove paragraph
	relating 'minibuffer-window' to 'window-list'.

2021-10-18  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): check type-start

	Check type-start is non-nil at L659 of the function.

2021-10-18  Juri Linkov  <juri@linkov.net>

	Rename tab-bar-drag-maybe to tab-bar--dragging-in-progress

	* lisp/tab-bar.el (tab-bar--event-to-item, tab-bar-mouse-down-1)
	(tab-bar-mouse-move-tab): Rename tab-bar-drag-maybe to
	tab-bar--dragging-in-progress.

	* src/xdisp.c (note_mouse_highlight): Rename tab_bar_drag_maybe to
	tab_bar__dragging_in_progress.

2021-10-18  Mattias Engdegård  <mattiase@acm.org>

	Fix xref elisp identifier namespace mistake

	Pressing `M-.` on ALPHA in

	  (let ((ALPHA BETA)) ...)

	would incorrectly search for ALPHA as a function rather than a variable.

	* lisp/progmodes/elisp-mode.el (elisp--xref-infer-namespace): Fix logic.
	* test/lisp/progmodes/elisp-mode-tests.el
	(elisp-mode-infer-namespace): Add test case.

2021-10-18  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes for recent changes in ELisp manual

	* doc/lispref/windows.texi (Basic Windows, Windows and Frames)
	(Selecting Windows):
	* doc/lispref/objects.texi (Window Type):
	* doc/lispref/frames.texi (Input Focus, Frame Layout): Fix
	wording, punctuation, and indexing.

2021-10-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix example in calc manual

	* doc/misc/calc.texi (Arithmetic Tutorial): Fix sign in the
	example (bug#51265).

2021-10-18  Martin Rudalics  <rudalics@gmx.at>

	Rewrites of Elisp manual including tab-bar and tab-line changes

	* doc/lispref/buffers.texi (Current Buffer, Buffer List): Update
	references to 'selected-window'.
	* doc/lispref/elisp.texi (Top): Move up Selecting Windows section
	in front of Window Sizes section.
	* doc/lispref/frames.texi (Creating Frames): Say window system
	instead of windowing system.
	(Frame Layout): Add Tab Bar to layout.
	(Layout Parameters): Add 'tab-bar-lines'.
	(Input Focus): Say window system window instead of window
	manager window.  Fix reference to 'selected-window'.
	* doc/lispref/objects.texi (Window Type): Minor rewrite.
	* doc/lispref/windows.texi (Basic Windows): Rewrite.  Settle on
	term 'window system window' for disambiguation with our windows.
	Move 'selected-window' description to Selecting Windows section.
	Move schematic of window structure here.  Use 'decorations' for
	objects outside the window body.  Say that the areas reserved
	for continuation and truncation glyphs, vertical dividers and
	line numbers are part of the window body.
	(Windows and Frames): Minor rewrite, adding and fixing some
	cross references.  Move live window schematic to 'Basic Windows'
	section.
	(Selecting Windows): Move section in front of Window Sizes
	section.  Move description of 'selected-window' here.  Move up
	description of 'frame-selected-window' and
	'set-frame-selected-window'.  Update and move description of
	'window-bump-use-time' here.
	(Window Sizes): Throughout use the term 'decorations' instead of
	enumerating them individually.  Add 'window-tab-line-height'
	description.
	(Resizing Windows): Again use the term 'decorations' instead of
	enumerating them individually.
	(Splitting Windows): Minor fix.
	(Cyclic Window Ordering): Improve descriptions of 'get-lru-window'
	and 'get-mru-window'.  Move 'window-bump-use-time' to Selecting
	Windows section.
	(Coordinates and Windows, Window Configurations): Once more use
	the term 'decorations' instead of enumerating them individually.
	* src/window.c (Fwindow_bump_use_time): Move after
	'window-use-time'.  Make it work for live windows only.  Make
	WINDOW argument optional.  Update doc-string.

2021-10-17  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Improve docstrings (bug#51247)

	* lisp/tab-bar.el (tab-bar--key-to-number)
	(tab-bar--event-to-item, tab-bar--format-tab-group)
	(tab-bar--current-tab-make): Improve docstrings.
	(switch-to-buffer-other-tab): Obsolete the arg NORECORD.

2021-10-17  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-mouse-move-tab): Don't drag tab to itself.

2021-10-17  Martin Rudalics  <rudalics@gmx.at>

	Add tab-bar-drag-maybe for indication of tab dragging (bug#50993)

	* lisp/tab-bar.el (tab-bar--event-to-item)
	(tab-bar-mouse-move-tab): Set tab-bar-drag-maybe to nil.
	(tab-bar-mouse-down-1): Set tab-bar-drag-maybe to t.

	* src/xdisp.c (note_mouse_highlight): Set cursor to 'hand_cursor'
	when tab_bar_drag_maybe is true.
	(syms_of_xdisp): New variable tab-bar-drag-maybe.

2021-10-17  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Add a new tab on [mouse-1] instead of [down-mouse-1]

	* lisp/tab-bar.el (tab-bar-mouse-down-1): Rename from
	tab-bar-mouse-select-tab.  Ignore 'add-tab'.
	(tab-bar-mouse-1): Rename from tab-bar-mouse-close-tab-from-button.
	Use binding of 'add-tab'.
	(tab-bar-map): Rebind [down-mouse-1] from tab-bar-mouse-select-tab to
	tab-bar-mouse-down-1, and [mouse-1] from tab-bar-mouse-close-tab-from-button
	to tab-bar-mouse-1 (bug#51246).

2021-10-17  Juri Linkov  <juri@linkov.net>

	Add new and fix existing docstrings in tab-bar.el and tab-line.el (bug#51247)

	* lisp/tab-bar.el (tab-bar--key-to-number)
	(tab-bar--event-to-item, tab-bar--format-tab)
	(tab-bar--format-tab-group, tab-bar--tab, tab-bar--current-tab)
	(tab-bar--current-tab-make): Add/fix docstrings.

2021-10-17  Po Lu  <luangruo@yahoo.com>

	Add tab bar support to the nextstep port

	* src/nsfns.m (ns_change_tab_bar_height): New function.
	(ns_set_tab_bar_lines): Check tab bar height and set tab bar
	accordingly.
	* src/nsterm.m (ns_clear_under_internal_border): Clear internal border
	correctly when there is a tab bar.
	(ns_create_terminal): Add ns_change_tab_bar_height.
	(mouseDown): Handle tab bar mouse click events.

2021-10-17  Alan Third  <alan@idiocy.org>

	Fix potential buffer overflow (bug#50767)

	* src/image.c (svg_load_image): Check how many bytes were actually
	written to the buffer.  Don't check xmalloc return value as xmalloc
	doesn't return if it fails.

2021-10-17  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings in tab-line.el

	* lisp/tab-line.el (tab-line-tab-name-function)
	(tab-line-tab-name-truncated-buffer, tab-line-tabs-mode-buffers)
	(tab-line-tabs-buffer-group-function)
	(tab-line-tabs-buffer-group-sort-function)
	(tab-line-tabs-buffer-groups, tab-line-tab-name-format-function)
	(tab-line-tab-name-format-default, tab-line-format-template)
	(tab-line-tab-face-inactive-alternating)
	(tab-line-tab-face-special, tab-line-tab-face-modified)
	(tab-line-format, tab-line-auto-hscroll, tab-line-hscroll-right)
	(tab-line-hscroll-left, tab-line-new-tab, tab-line-select-tab)
	(tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab)
	(tab-line-close-tab-function, tab-line-close-tab)
	(tab-line-tab-context-menu, tab-line-context-menu)
	(tab-line-mode, tab-line-exclude-modes, tab-line-mode--turn-on):
	Add or fix doc strings.

2021-10-17  Eli Zaretskii  <eliz@gnu.org>

	More documentation fixes in tab-bar.el

	* lisp/tab-bar.el (tab-bar-detach-tab, tab-bar-move-window-to-tab)
	(tab-bar-new-tab-to, tab-bar-new-tab, tab-bar-close-tab-select)
	(tab-bar-close-last-tab-choice, tab-bar-tab-pre-close-functions)
	(tab-bar-close-tab, tab-bar-close-tab-by-name)
	(tab-bar-close-other-tabs, tab-bar-rename-tab)
	(tab-bar-rename-tab-by-name, tab-bar-move-tab-to-group)
	(tab-bar-change-tab-group, tab-bar-close-group-tabs)
	(tab-switcher-next-line, tab-switcher-prev-line)
	(tab-switcher-unmark, tab-switcher-delete, tab-switcher-select)
	(tab-bar-get-buffer-tab, display-buffer-in-tab)
	(display-buffer-in-new-tab, switch-to-buffer-other-tab)
	(find-file-other-tab, find-file-read-only-other-tab): Doc fixes.

2021-10-17  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings of tab-bar commands

	* lisp/tab-bar.el (tab-bar-mouse-select-tab)
	(tab-bar-mouse-move-tab, tab-bar-mouse-close-tab-from-button)
	(tab-bar-mouse-close-tab, tab-bar-mouse-context-menu)
	(tab-bar-switch-to-next-tab, tab-bar-switch-to-prev-tab)
	(tab-bar-switch-to-last-tab, tab-bar-switch-to-recent-tab)
	(tab-bar-move-tab-backward, tab-bar-move-tab)
	(tab-bar-move-tab-to-frame): Add/fix doc strings.

2021-10-17  Stefan Kangas  <stefan@marxist.se>

	Fix a semantic test on some macOS machines

	* test/lisp/cedet/semantic/bovine/gcc-tests.el
	(semantic-gcc-test-output-parser-this-machine): Fix test on some macOS
	machines where running "gcc" runs "llvm" instead.

2021-10-16  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5-57-g9bc3a2

2021-10-16  Stefan Kangas  <stefan@marxist.se>

	Recommend against using uce.el

	* lisp/mail/uce.el: Recommend against its use.  (Bug#46472)
	Do not merge to master.

2021-10-16  Eli Zaretskii  <eliz@gnu.org>

	Avoid aborts when a thread is signaled while "waiting for input".

	* src/process.c (kbd_is_ours): New function.
	(wait_reading_process_output): Set 'waiting_for_input' only if the
	current thread is monitoring the keyboard descriptor.  See also
	https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg01180.html.
	(Bug#51229)

2021-10-16  Philipp Stephani  <phst@google.com>

	Improve documentation string for 'compilation-error-regexp-alist'.

	* lisp/progmodes/compile.el (compilation-error-regexp-alist): Clarify
	behavior when TYPE is a cons cell.

2021-10-16  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix target dir.

2021-10-16  Eli Zaretskii  <eliz@gnu.org>

	Fix removal of fringe indication of bookmarks

	* lisp/bookmark.el (bookmark--remove-fringe-mark): Fix off-by-one
	error in looking for bookmark-related overlays.  (Bug#51233)

2021-10-15  Stefan Kangas  <stefan@marxist.se>

	Prefer "graphical displays" to "X terminals" in documentation

	* doc/lispref/objects.texi (Ctl-Char Syntax): Fix incorrect remark;
	some text terminals can generate ASCII control characters.
	(Other Char Bits):
	* lisp/bindings.el:
	* lisp/gnus/gnus-undo.el (gnus-undo-mode-map): Say "graphical display"
	and "GUI display" instead of "X terminal"; the latter term is
	archaic.  (Bug#51217)

2021-10-15  Michael Albinus  <michael.albinus@gmx.de>

	Precise documentation of file-notify-add-watch

	* doc/lispref/os.texi (File Notifications):
	* lisp/filenotify.el (file-notify-add-watch): Precise, that
	watching a directory includes reports on file changes for some
	backends.  (Bug#51146)

2021-10-15  Martin Rudalics  <rudalics@gmx.at>

	Fixes to account for windows' tab lines

	* doc/lispref/display.texi (Size of Displayed Text): Fix entry
	on 'window-text-pixel-size'.
	* lisp/window.el (window--dump-window): Dump tab-line-height and
	scroll-bar-height too.
	(window--min-size-1): Take 'window-tab-line-height' into account.
	* src/xdisp.c (Fwindow_text_pixel_size): Fix doc-string of
	'window-text-pixel-size'.  Rename last argument to 'MODE-LINES'.

2021-10-15  Andrea Corallo  <akrl@sdf.org>

	Fix `native-compile-target-directory' effectiveness on trampolines

	* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix
	`native-compile-target-directory' effectiveness on trampoline
	compilation.

2021-10-15  Jan Synacek  <jan.synacek@gmail.com>

	Add missing single quotes in the Emacs manual

	* lisp/mwheel.el (mouse-wheel-scroll-amount): Add missing single
	quotes.  (Bug#51223)

2021-10-15  Juri Linkov  <juri@linkov.net>

	* lisp/menu-bar.el (yank-menu-length): Fix docstring (bug#51138).

2021-10-14  Michael Albinus  <michael.albinus@gmx.de>

	Accept process-filter t in Tramp

	* lisp/net/tramp.el (tramp-handle-make-process):
	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Filter can be t.

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
	(tramp-test30-make-process): Test filter equal t.

2021-10-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Document the t value for set-process-filter in the manual

	* doc/lispref/processes.texi (Filter Functions): Mention what t
	means (bug#51177).

2021-10-14  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Frequently Asked Questions): Add reference

	to ELPA Installation node.

2021-10-14  Eli Zaretskii  <eliz@gnu.org>

	Fix Help functions for clicks on tool bar and tab bar

	* lisp/mouse.el (mouse-minibuffer-check): Don't assume posn-window
	returns a window.  (Bug#5199)

2021-10-14  Martin Rudalics  <rudalics@gmx.at>

	In make_lispy_position fix Bug#50993 in rudimentary fashion

	* src/keyboard.c (make_lispy_position): Do not set posn to
	tool- or tab-bar when track_mouse is enabled (Bug#50993).

2021-10-14  Dmitry Gutov  <dgutov@yandex.ru>

	Mark vc-switch-backend as obsolete

	* etc/NEWS: Mention the change.

	* lisp/vc/vc.el (vc-switch-backend): Mark as obsolete (bug#50344).
	(vc-transfer-file): Wrap the calls in 'with-suppressed-warnings'.

2021-10-14  Yan  <yan@metatem.net>  (tiny change)

	Add missing parentheses in the Emacs manual

	* doc/emacs/maintaining.texi (Xref Commands): Add missing
	parentheses (bug#51195).

2021-10-14  Stefan Kangas  <stefan@marxist.se>

	Improve tooltip of mode-line-position again

	* lisp/bindings.el (mode-line-position): Improve tooltip again.
	This change was discussed in
	https://lists.gnu.org/r/emacs-devel/2021-10/msg00952.html

2021-10-13  Philip Kaludercic  <philipk@posteo.net>

	Use browse-url-button-regexp for rcirc-url-regexp

	* lisp/net/rcirc.el (rcirc-url-regexp): Copy improved regexp from
	browse-url

2021-10-13  Juri Linkov  <juri@linkov.net>

	* lisp/help.el (help--analyze-key): Avoid mouse-set-point for non-mouse events

	(bug#51173)

2021-10-13  Michael Albinus  <michael.albinus@gmx.de>

	Tramp doc cleanup

	* doc/misc/tramp.texi (Overview, Bug Reports)
	(Frequently Asked Questions): Stylistic changes.
	(Bug Reports): Mention tramp buffers appended to bug report.

2021-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make emacs-lisp-byte-compile-and-load load the .elc file again

	* lisp/progmodes/elisp-mode.el (emacs-lisp-byte-compile-and-load):
	Load the compiled file instead of the source (bug#51180).

2021-10-13  Peter Münster  <pm@a16n.net>

	Fix point movement in image-dired

	* lisp/image-dired.el (image-dired-thumb-file-marked-p): Don't
	move point in associated dired buffer.
	(image-dired-delete-marked): Revert "Fix deletion of associated image"
	because it was wrong and introduced another problem (bug#51152).

2021-10-13  Stefan Kangas  <stefan@marxist.se>

	Improve shortdoc for vector

	* lisp/emacs-lisp/shortdoc.el (vector): Improve shortdoc with titles.
	Add mapc.  Fix typo where 'seq-reduce' is incorrectly written as
	'reduce'.

2021-10-13  Paul Eggert  <eggert@cs.ucla.edu>

	Fix test bug when calloc returns null

	* test/src/emacs-module-resources/mod-test.c (Fmod_test_userptr_make):
	Don’t dump core if calloc returns null and signal_errno returns.

2021-10-12  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC 11 -fanalyzer on x86-64

	* src/buffer.c (fix_overlays_before):
	Redo slightly to work around GCC bug 102692
	<https://gcc.gnu.org/bugzilla//show_bug.cgi?id=102692>.

2021-10-12  Gregory Heytings  <gregory@heytings.org>

	Improve handling of non-character events in input methods

	* lisp/international/quail.el (quail-add-unread-command-events):
	Handle non-vector event arguments.  Fixes bug#51118.

2021-10-12  Martin Rudalics  <rudalics@gmx.at>

	In Fdelete_other_windows_internal fix new total window sizes (Bug#51007)

	* src/window.c (Fdelete_other_windows_internal): Assign the
	new total sizes of windows _after_ the new window configuration
	is in place (Bug#51007).

2021-10-12  Stephen Gildea  <stepheng+emacs@gildea.com>

	* lisp/mh-e/mh-show.el (mh-junk-whitelist): Custom obsolescence message.

2021-10-11  João Távora  <joaotavora@gmail.com>

	Don't apply shorthands to punctuation-only symbols (bug#51089)

	This includes symbols used for arithmetic functions such as -, /=,
	etc.  Using "-" or "/=" is still possible but doing so won't shadow
	those functions.

	* doc/lispref/symbols.texi (Shorthand, Exceptions): New
	subsubsection.

	* src/lread.c (read1): Exempt punctionation-only symbols from
	oblookup_considering_shorthand.

	* test/lisp/progmodes/elisp-mode-tests.el
	(elisp-dont-shadow-punctuation-only-symbols): Tweak test.

2021-10-11  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/python.el: Bump package version to 0.28.

2021-10-11  Stefan Kangas  <stefan@marxist.se>

	Fontify "print" and "exec" as functions in python-mode

	This change was first made on master, but on closer consideration it
	is better to fix this bug already in Emacs 28.1.

	* lisp/progmodes/python.el (python-font-lock-keywords-level-2):
	Fontify "print" and "exec" as functions, which is the case in
	Python 3.  (Bug#43298)  Do not merge to master.

2021-10-11  Juri Linkov  <juri@linkov.net>

	Copy parent face attributes to tab-line-tab-current instead of inheriting face

	* lisp/tab-line.el (tab-line-tab-current): Don't inherit face from
	'tab-line-tab' to not inherit the face attribute :height from 'tab-line',
	because :height of mouse-face is added to the base face.
	Copy here most of the parent face attributes (bug#50798).

2021-10-11  Martin Rudalics  <rudalics@gmx.at>

	Another fix for 'ibuffer-shrink-to-fit' (Bug#7218, Bug#51029)

	* lisp/ibuffer.el (ibuffer-shrink-to-fit): Fit window only if its
	buffer is in 'ibuffer-mode' (Bug#7218, Bug#51029).

2021-10-11  Michael Albinus  <michael.albinus@gmx.de>

	Backport: * doc/misc/tramp.texi (Bug Reports): Describe, how to activate ELPA Tramp.

	(cherry picked from commit 978e5339e0d4ef98575096bcf3ec2061ad530f27)

2021-10-11  Paul Eggert  <eggert@cs.ucla.edu>

	Work around GCC bug 102671

	This is for --enable-gcc-warnings on GCC 11.2.1.
	* src/window.c, src/timefns.c: Disable -Wanalyzer-null-dereference.

2021-10-11  Amin Bandali  <bandali@gnu.org>

	Release ERC 5.4

	* lisp/erc/erc.el (Version, erc-version): Bump to 5.4.
	(customize-package-emacs-version-alist): Add entry for 5.4.

2021-10-11  Amin Bandali  <bandali@gnu.org>

	* etc/ERC-NEWS: Announce ERC's addition to GNU ELPA.

	* etc/ERC-NEWS: Fix outline level for the recent additions.

2021-10-11  Amin Bandali  <bandali@gnu.org>

	Add ERC entries for 'customize-package-emacs-version-alist'

	* lisp/erc/erc.el (customize-package-emacs-version-alist): Add entries
	for existing ERC versions.

2021-10-11  Dmitry Gutov  <dgutov@yandex.ru>

	Expand the full file name

	* lisp/vc/vc-git.el (vc-git--literal-pathspec):
	Expand the full file name, not just the local part (bug#51112).

2021-10-11  Stefan Kangas  <stefan@marxist.se>

	Obsolete XEmacs compat convention in 'erc-button-press-button'

	* lisp/erc/erc-button.el (erc-button-press-button): Advertise new
	calling convention without XEmacs compatibility.

2021-10-11  F. Jason Park  <jp@neverwas.me>

	Backport: Add ERC version to protocol log

	* lisp/erc/erc.el (erc-toggle-debug-irc-protocol): Include the erc
	version in the debug logs (bug#51107).

	(cherry picked from commit 13411346202f86e950bee076a5d528e98695fbb4)

2021-10-11  Eli Zaretskii  <eliz@gnu.org>

	Adapt the recent 'num_processors' change to MS-Windows

	* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_nproc): Omit nproc.

	* src/w32.c (num_processors): New function.
	* src/w32proc.c (Fw32_get_nproc): Remove.

2021-10-11  Stefan Kangas  <stefan@marxist.se>

	Minor fix to clarify a sentence in emacs-lisp-intro

	* doc/lispintro/emacs-lisp-intro.texi (Simple Extension): Add the word
	"that" for clarity.  (Bug#43965)

2021-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Make tty-run-terminal-initialization load the .elc file (if any)

	* lisp/faces.el (tty-run-terminal-initialization):
	`locate-library' may have found the .el.gz file (bug#51116).

2021-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix ert errors when there's a test that binds `debug-on-error'

	* lisp/emacs-lisp/ert.el (ert--run-test-internal): Don't infloop
	on errors when signaling errors (bug#51131).

2021-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	New function num-processors

	This addresses a FIXME comment in lisp/emacs-lisp/comp.el,
	relating to the number of subsidiary processes used by
	comp-run-async-workers in native compilation.
	* admin/merge-gnulib (GNULIB_MODULES): Add nproc.
	* doc/lispref/processes.texi (Process Information), etc/NEWS:
	Document num-processors.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/nproc.c, lib/nproc.h, m4/nproc.m4:
	New files, copied from Gnulib by admin/merge-gnulib.
	* lisp/emacs-lisp/comp.el (w32-get-nproc): Remove decl.
	(comp-effective-async-max-jobs): Use num-processors.
	* src/process.c: Include nproc.h.
	(Fnum_processors): New function.
	(syms_of_process): Define ‘all’, ‘current’, ‘num-processors’.
	* src/w32proc.c (Fw32_get_nproc): Add FIXME comment.
	* test/src/process-tests.el (process-num-processors): New test.

2021-10-10  Juri Linkov  <juri@linkov.net>

	Add symbol property 'save-some-buffers-function' (bug#46374)

	* lisp/files.el (save-some-buffers-root): Put non-nil
	symbol property 'save-some-buffers-function'.
	(save-some-buffers): Check pred for the
	symbol property 'save-some-buffers-function'.
	(save-some-buffers-default-predicate): Mention
	symbol property 'save-some-buffers-function'.

2021-10-10  Juri Linkov  <juri@linkov.net>

	Keep reading when typed RET in read-char-from-minibuffer and y-or-n-p

	* lisp/subr.el (read-char-from-minibuffer-map):
	Remap exit-minibuffer to read-char-from-minibuffer-insert-other.
	(y-or-n-p-map): Remap 'exit' to y-or-n-p-insert-other.
	(y-or-n-p): Don't mention RET in docstring.  (Bug#51101)

2021-10-10  David M. Koppelman  <koppel@ece.lsu.edu>

	* lisp/userlock.el (ask-user-about-supersession-threat): Accept 'y' strictly.

	(Bug#51101)

2021-10-10  Eli Zaretskii  <eliz@gnu.org>

	Fix point positioning on mouse clicks with non-zero line-height

	* src/xdisp.c (move_it_to): After passing a newline, reset
	it->override_ascent, like 'display_line' does (in
	'append_space_for_newline').  (Bug#51111)

2021-10-10  João Távora  <joaotavora@gmail.com>

	Complete shorthands to longhands for symbol-completing tables

	Shorthands aren't symbols, they're text forms that 'read' into
	symbols.  As such, shorthands aren't candidates in these tables of
	symbols.  But in some situations, if no other candidates match the
	pattern, we can e.g. complete "x-foo" to "xavier-foo" if the shorthand

	  (("x-" . "xavier-"))

	is set up in the buffer of origin.

	bug#50959

	* lisp/help-fns.el (help--symbol-completion-table): Report
	`symbol-help' category.

	* lisp/minibuffer.el (completion-styles-alist): New 'shorthand'
	style.
	(completion-category-defaults): Link 'symbol-help' category with
	'shorthand' style.
	(minibuffer--original-buffer): New variable.
	(completing-read-default): Setup minibuffer--original-buffer.
	(completion-shorthand-try-completion)
	(completion-shorthand-all-completions): New helpers.

2021-10-10  João Távora  <joaotavora@gmail.com>

	Add new failing test for bug#51089

	* test/lisp/progmodes/elisp-mode-tests.el
	(elisp-dont-shadow-punctuation-only-symbols): Add new failing test.

2021-10-10  Dmitry Gutov  <dgutov@yandex.ru>

	Avoid mapping file names through 'substring'

	* lisp/progmodes/project.el (project--files-in-directory):
	Avoid mapping file names through 'substring'.  Reducing the amount
	of garbage generated.  Better perf by up to 20%.
	Bump the package version.

2021-10-09  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5-46-gb71474

2021-10-09  Stephen Gildea  <stepheng+emacs@gildea.com>

	Expanded testing of MH-E with multiple MH variants

	* test/lisp/mh-e/mh-utils-tests.el: Environment variable TEST_MH_PATH
	controls which installed MH variant to test with.  Moved the commentary
	about testing with different MH variants from above 'with-mh-test-env'
	definition to "Commentary" section at the top of the file.
	* test/lisp/mh-e/test-all-mh-variants.sh: New script to test all
	installed MH variants.

2021-10-09  Philipp Stephani  <phst@google.com>

	Fix Seccomp filter for newer GNU/Linux systems (Bug#51073).

	On some systems, process startup calls prctl(PR_CAPBSET_READ) via
	'cap_get_bound'.  We can just return EINVAL.

	* lib-src/seccomp-filter.c (main): Add a rule for
	prctl(PR_CAPBSET_READ, ...).

2021-10-09  Michael Albinus  <michael.albinus@gmx.de>

	Tramp code cleanup

	* lisp/net/tramp.el (tramp-remote-path): Adapt docstring.
	(tramp-action-login, tramp-action-password, tramp-action-yesno)
	(tramp-action-yn, tramp-process-actions): Move let-binding of
	`enable-recursive-minibuffers' up.
	(tramp-handle-make-process, tramp-handle-write-region):
	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
	(tramp-adb-handle-make-process):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
	(tramp-sh-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region):
	Use `string-or-null-p'.

2021-10-09  Michael Albinus  <michael.albinus@gmx.de>

	Fix thinko in ls-lisp--insert-directory

	* lisp/ls-lisp.el (ls-lisp--insert-directory): Ensure that
	SWITCHES is a string.

2021-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention that RET means "yes" in y-or-n-p

	* lisp/subr.el (y-or-n-p): Mention that RET also means yes (bug#51101).

2021-10-09  Eli Zaretskii  <eliz@gnu.org>

	Rewrite Antinews for Emacs 28

	* doc/lispref/anti.texi (Antinews):
	* doc/emacs/anti.texi (Antinews): Rewrite for Emacs 28.
	* doc/lispref/elisp.texi (Top):
	* doc/emacs/emacs.texi (Top): Update menu accordingly.

2021-10-09  Stefan Kangas  <stefan@marxist.se>

	* lisp/bindings.el (mode-line-position): Improve tooltip.

2021-10-09  Dmitry Gutov  <dgutov@yandex.ru>

	* lisp/progmodes/xref.el: Bump the version.

2021-10-09  Dmitry Gutov  <dgutov@yandex.ru>

	Slight simplification

	* lisp/progmodes/xref.el (xref--insert-xrefs):
	Compute log only once.  Use 'dolist'.

2021-10-08  Eli Zaretskii  <eliz@gnu.org>

	Fix doc strings of 2 categories

	* lisp/international/characters.el (?R, ?L): Make the first line
	of the categories' doc string shorter, to fit into 15 columns.

2021-10-08  Dmitry Gutov  <dgutov@yandex.ru>

	(xref--collect-matches-1): Remove some intermediate allocations

	* lisp/progmodes/xref.el: (xref--collect-matches-1):
	Rewrite to remove some intermediate allocations.
	Modest performance improvement.

2021-10-08  Arash Esbati  <arash@gnu.org>

	Use the correct label in the warning

	* lisp/textmodes/reftex-toc.el (reftex-toc-rename-label): Add
	missing space in the prompt.  Use the new user defined label in
	the warning (bug#36235).

2021-10-08  Dmitry Gutov  <dgutov@yandex.ru>

	Add Emacs 27 compatibility hack

	* lisp/progmodes/xref.el: Add Emacs 27 compatibility hack, for the
	standalone version of this package.

2021-10-07  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC 10.3 -Wmaybe-uninitialized

	Problem reported by Basil L. Contovounesios (Bug#51075).
	* src/term.c (encode_terminal_code):
	Add an UNINIT to pacify GCC 10 bug.

2021-10-07  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-detach, tab-window-detach): New aliases.

	(tab-bar-mouse-context-menu, tab-bar-duplicate-tab):
	Use word "clone" in help/doc string.

2021-10-07  Eli Zaretskii  <eliz@gnu.org>

	Include the refcards in the release tarball

	* make-dist (possibly_non_vc_files): Include *.pdf files, to
	include the produced refcards in the tarball.  This was lost when
	'make-dist' was rewritten for Emacs 27.

2021-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	Backport: * lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler): Scope

	Fix the scoping of `tramp-archive-enabled`.

	(cherry picked from commit 8d53c23f90aab6e527c61137ae43274c7a36eca7)

2021-10-07  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation and customization of 'blink-matching-paren'

	* lisp/simple.el (blink-matching-paren): Fix the wording of the
	doc string and the descriptions in the value menu.  (Bug#51032)

2021-10-07  Amin Bandali  <bandali@gnu.org>

	* lisp/erc/erc.el: Don't error if 'erc-loaddefs' does not exist.

	That autoload file is created as part of the Emacs compilation
	process, however we would like ERC to be usable if used outside
	emacs.git (e.g. if installed from GNU ELPA).

2021-10-07  Amin Bandali  <bandali@gnu.org>

	Add 'erc-bug' command for reporting ERC bugs

	* etc/ERC-NEWS: Announce the new command, and mention it at the top of
	the file along with 'report-emacs-bug'.
	* lisp/erc/erc.el (erc-bug): New command for reporting ERC bugs.  It
	prompts for a subject, and passes it on to 'report-emacs-bug' along
	with the current ERC version, with the ERC mailing list in Cc.

2021-10-07  Amin Bandali  <bandali@gnu.org>

	Add 'erc-version' and use it to display ERC version consistently

	* lisp/erc/erc.el (erc-version): New constant holding the current ERC
	version, now used in the function with the same name to produce a
	version string for use across ERC for consistency.  Also, add another
	optional argument, 'bold-erc', which when non-nil, marks the "ERC"
	portion of the string with the control character for bold display.
	(erc-quit/part-reason-default): Use the 'erc-version' function for a
	consistent version string.
	(erc-cmd-SV): Mention the ERC version number from the 'erc-version'
	constant.
	(erc-ctcp-query-VERSION): Use the 'erc-version' function for a
	consistent version string.

2021-10-07  Amin Bandali  <bandali@gnu.org>

	Small tweaks and improvements to etc/ERC-NEWS

	* etc/ERC-NEWS: Small tweaks inspired by etc/NEWS, namely to add a
	descriptive blurb at the top of the file to explain what it is about
	and how to report ERC bugs, add a form feed before the section for
	every release, and set the same Local Variables that etc/NEWS does.

2021-10-07  Amin Bandali  <bandali@gnu.org>

	Add NEWS items for changes to ERC since 5.3 to etc/ERC-NEWS

	* etc/ERC-NEWS: copy ERC NEWS items from etc/NEWS, etc/NEWS.27,
	etc/NEWS.26, etc/NEWS.25, and etc/NEWS.24 to here.  Future ERC NEWS
	are also to be added here.  This is in motivated by preparation for
	addition of ERC to GNU ELPA, along with the ERC manual and NEWS.
	* etc/NEWS: remove ERC-related entries, and refer the reader to
	ERC-NEWS instead.

2021-10-06  Juri Linkov  <juri@linkov.net>

	Clone the frame window configuration in 'clone-frame'

	* doc/emacs/frames.texi (Creating Frames): Mention the cloned
	window configuration for clone-frame.

	* lisp/frame.el (clone-frame): Change second arg to 'no-windows'
	and clone window configuration when it's nil.

	* lisp/tab-bar.el (tab-bar-mouse-context-menu)
	(tab-bar-detach-tab): Replace "Detach" with "Move" in help/doc strings.

	https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg00408.html

2021-10-06  Eli Zaretskii  <eliz@gnu.org>

	* lisp/tool-bar.el (tool-bar-position): Doc fix.

2021-10-06  Philip Kaludercic  <philipk@posteo.net>

	* NEWS: Mention rcirc connects to #emacs by default

2021-10-06  Stephen Gildea  <stepheng+emacs@gildea.com>

	Refactor mh-utils-tests macro 'with-mh-test-env'

	* test/lisp/mh-e/mh-utils-tests.el (with-mh-test-env): Refactor to
	reduce the size of the expanded macro.
	(mh-test-utils-setup): New helper function.
	(mh-ensure-native-trampolines): Absorbed by mh-test-utils-setup.

2021-10-05  Stefan Kangas  <stefan@marxist.se>

	Avoid using variable before it has been initialized

	* lisp/ibuffer.el (ibuffer-shrink-to-fit): Don't try to use
	ibuffer-auto-mode variable before ibuf-ext.el has been loaded.
	(Bug#51029)

2021-10-05  Stefan Kangas  <stefan@marxist.se>

	Clarify docstring of blink-matching-paren

	* lisp/simple.el (blink-matching-paren): Clarify
	docstring.  (Bug#51032)

2021-10-05  Stefan Kangas  <stefan@marxist.se>

	* doc/misc/gnus.texi (Loose Threads): Use regexp-opt in example.

2021-10-05  Dmitry Gutov  <dgutov@yandex.ru>

	Bump project.el version

	* lisp/progmodes/project.el: Bump the version.

2021-10-05  Dmitry Gutov  <dgutov@yandex.ru>

	Retain compatibility with older project.el projects

	* lisp/progmodes/xref.el (xref--analyze):
	Retain compatibility with older project.el and its compatible
	project definitions (for standalone Xref from ELPA).

2021-10-05  Stephen Gildea  <stepheng+emacs@gildea.com>

	native-comp-available-p is the definitive test

	* doc/lispref/compile.texi (Native Compilation): Document
	native-comp-available-p as the way to test for native compilation.
	* lisp/emacs-lisp/package.el (package--native-compile-async):
	* test/lisp/mh-e/mh-utils-tests.el (mh-ensure-native-trampolines):
	Test for native compilation with native-comp-available-p.

	Thank you to Andrea Corallo for reviewing this patch.

2021-10-05  Eli Zaretskii  <eliz@gnu.org>

	Minor fix of a recently installed documentation change

	* doc/emacs/search.texi (Lax Search): Don't use ".." inside @samp,
	it looks confusing, especially in print.  (Bug#51020)

2021-10-05  Paul Eggert  <eggert@cs.ucla.edu>

	Fix md5 issue in recent Gnulib merge

	When configured --with-native-compilation, Emacs needs md5_stream.
	Problem reported by Andy Moreton (Bug#50985#23).
	* admin/merge-gnulib (GNULIB_MODULES): Add crypto/md5,
	needed for --with-native-compilation.
	(AVOIDED_MODULES): Avoid crypto/af_alg, since Emacs doesn’t
	need to bother with kernel-supported cryptography algorithms.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4:
	Regenerate by running admin/merge-gnulib.
	* lib/md5-stream.c: New file, copied from Gnulib.

2021-10-05  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak recent 'configure' fix

	* configure.ac (gt_TYPE_WINT_T): Omit obsolete and
	now-overridden definition.

2021-10-05  Stefan Kangas  <stefan@marxist.se>

	Document minibuffer-default-prompt-format in manual

	* doc/emacs/mini.texi (Basic Minibuffer): Mention
	minibuffer-default-prompt-format.  (Bug#50935)

2021-10-05  Eli Zaretskii  <eliz@gnu.org>

	Backward compatibility option for 'nobreak-char-display'

	* src/xdisp.c (syms_of_xdisp) <nobreak-char-ascii-display>: New
	variable.
	(get_next_display_element): If 'nobreak-char-ascii-display' is
	non-nil, display non-ASCII space and hyphen characters as their
	ASCII equivalents.  (Bug#50983)

	* etc/NEWS:
	* etc/PROBLEMS: Mention 'nobreak-char-ascii-display'.

2021-10-05  Eli Zaretskii  <eliz@gnu.org>

	Unbreak the build after Gnulib update

	* lib/gnulib.mk.in (GNULIBHEADERS_OVERRIDE_WINT_T): Rename from
	GNULIB_OVERRIDES_WINT_T.
	* configure.ac (GNULIBHEADERS_OVERRIDE_WINT_T): Define.
	(Bug#50985)

2021-10-05  Michael Albinus  <michael.albinus@gmx.de>

	Check, whether an FUSE mount has been broken in Tramp

	* lisp/net/tramp-fuse.el (tramp-fuse-mount-timeout): New defconst.
	(tramp-fuse-mounted-p): Use it.  Check for a file property instead
	of a connection property.
	(tramp-fuse-unmount): Ditto.

	* lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
	Do not trust existence of a process, whether the volume is mounted.

2021-10-05  Augusto Stoffel  <arstoffel@gmail.com>

	Disable 'nobreak-char-display' in Eldoc buffers

	* lisp/emacs-lisp/eldoc.el (eldoc--format-doc-buffer): Set
	'nobreak-char-display' to nil in Eldoc buffers (bug#50989).

2021-10-05  Miha Rihtaršič  <miha@kamnitnik.top>

	Fix small error in comint-send-input

	* lisp/comint.el (comint-send-input): Run
	comint-output-filter-functions with comint-last-output-start set
	correctly (bug#51009).

2021-10-05  Daniel Martín  <mardani29@yahoo.es>

	Update documentation of search-whitespace-regexp

	* doc/emacs/search.texi (Lax Search): Update the documentation about
	the default value of search-whitespace-regexp, as it is now
	independent of the major mode's syntax table (bug#51020).

2021-10-05  Po Lu via  <emacs-devel@gnu.org>

	Fix cc-compat.el syntax error

	* lisp/obsolete/cc-compat.el (offsets): Fix syntax error in BOCM
	style setup.

2021-10-05  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Mention `seq-uniq' in `delete-dups' documentation

	* doc/lispref/lists.texi (Sets And Lists): Mention `seq-uniq'
	(bug#50928).

	* lisp/subr.el (delete-dups): Link to `seq-uniq' in doc string.

2021-10-05  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent Gnulib changes to MS-Windows

	* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_free-posix)
	(OMIT_GNULIB_MODULE_malloc-posix)
	(OMIT_GNULIB_MODULE_realloc-gnu)
	(OMIT_GNULIB_MODULE_realloc-posix):
	New macros, since we don’t want these modules on MS-Windows.
	* src/w32heap.c (heap_alloc, heap_realloc): New functions.
	(malloc_after_dump, realloc_after_dump, realloc_before_dump):
	Use them.

2021-10-05  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	Make the following changes by hand, and run 'admin/merge-gnulib'.
	* .gitignore: Add lib/malloc/*.gl.h.
	* admin/merge-gnulib: Copy lib/af_alg.h and lib/save-cwd.h
	directly from Gnulib, without worrying about Gnulib modules,
	as these files are special cases.
	(AVOIDED_MODULES): Remove malloc-posix.
	* lib/malloc.c, lib/realloc.c, m4/malloc.m4, m4/realloc.m4:
	* m4/year2038.m4: New files, copied from Gnulib.
	* lib/malloca.c, lib/malloca.h:
	* m4/close-stream.m4, m4/glibc21.m4, m4/malloca.m4:
	Remove.  These are either no longer present in Gnulib, or are no
	longer needed by modules that Emacs uses.
	* oldXMenu/AddPane.c, oldXMenu/AddSel.c: Include XmenuInt.h first;
	needed for new Gnulib.
	* src/xmenu.c: Call emacs_abort, not abort.

2021-10-04  Andrea Corallo  <akrl@sdf.org>

	Fix mh tests for native comp builds (bug#50975)

	* test/lisp/mh-e/mh-utils-tests.el (mh-ensure-native-trampolines):
	New function.
	(mh-test-utils-setup-with-mocks)
	(mh-test-utils-setup-with-variant): Use it.

2021-10-04  Andrea Corallo  <akrl@sdf.org>

	Fix `batch-native-compile' not to spawn a subprocess

	* lisp/emacs-lisp/comp.el (comp-running-batch-compilation): New var.
	(comp-final): Use it.
	(batch-native-compile): Bind `comp-running-batch-compilation' it.

2021-10-04  Ken Brown  <kbrown@cornell.edu>

	Fix native-compilation build from tarball on Cygwin

	* src/Makefile.in (../native-lisp) [CYGWIN]: Rebase the *.eln
	files after they are all created, to avoid fork problems later in
	the build.  (Bug#50666)

2021-10-04  Robert Pluim  <rpluim@gmail.com>

	Remove U+FE0F from script-representative-chars

	* lisp/international/fontset.el (script-representative-chars): Remove
	U+FE0F / VS-16 from the 'emoji' entry.  It could cause us to skip
	fonts that don't have a glyph for it, even though we don't actually
	need one.

2021-10-04  Robert Pluim  <rpluim@gmail.com>

	Fix problem with 'vertical-motion' and emoji

	* src/font.c (font_range): Pass correct position to
	font_for_char (Bug#51012).

2021-10-04  Michael Albinus  <michael.albinus@gmx.de>

	* test/README: Mention :nativecomp tag.

2021-10-04  Gregory Heytings  <gregory@heytings.org>

	Avoid exiting when outputting error messages during loadup

	* src/print.c (print_error_message): Don't call
	'substitute-command-keys' when it isn't fboundp.

2021-10-04  Robert Pluim  <rpluim@gmail.com>

	Remove implemented emoji items

	* etc/TODO: Remove implemented emoji items.

2021-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	project.el NEWS tagging

	thing-at-mouse NEWS tagging

2021-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention ffap-file-name-with-spaces in the ffap doc string

	* lisp/ffap.el (find-file-at-point): Mention
	ffap-file-name-with-spaces in the doc string.

2021-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make info-look search harder for the Python info file"

	This reverts commit 711eb40b9b9e2aabd0e23ec264e8e8f913329d33.

	This leads to loading info-look being excessively slow if the info path is long.  It'll be reimplemented in Emacs 29.

2021-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Add safety check in x_menu_show

	* src/xmenu.c (x_menu_show): Explicitly check whether save_wv can
	be null here.  Looks like it can be but I am not 100% sure, so
	play it safe and add a FIXME comment.

2021-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak x_connection_closed when I/O error

	* src/xterm.c (x_connection_closed): Don’t dereference dpyinfo
	in the unlikely case where it is null and ioerror is true.
	This pacifies gcc 11.2.1 -Wanalyzer-null-dereference.

2021-10-04  Stefan Kangas  <stefan@marxist.se>

	* lisp/erc/erc.el (erc-user-mode): Set "+i" by default.

2021-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Port unused decls to C2x

	* src/conf_post.h (ATTRIBUTE_UNUSED): Remove.  All uses replaced
	by MAYBE_UNUSED, and moved to start as needed for C2x.

2021-10-04  Stefan Kangas  <stefan@marxist.se>

	Improve structure of TODO

	* etc/TODO: Various improvements to the document structure according
	to discussion with the maintainers.

2021-10-04  Stefan Kangas  <stefan@marxist.se>

	Don't use some obsolete names in documentation

	* admin/notes/bugtracker: Use non-obsolete name
	'mail-dont-reply-to-names'.
	* admin/notes/multi-tty: Mention new variable name
	'x-selection-value'.
	* doc/lispintro/emacs-lisp-intro.texi (Point and mark)
	(Point and mark, Design @value{COUNT-WORDS}): Avoid using obsolete
	name 'count-lines-region'.
	* doc/lispref/hooks.texi (Standard Hooks): Remove reference to
	obsolete abnormal hook 'completion-annotate-function'.
	* doc/misc/efaq.texi (SPC no longer completes file names): Remove
	reference to obsolete 'minibuffer-local-filename-must-match-map';
	setting it has no effect.
	* doc/misc/gnus.texi (NNTP): Remove reference to obsolete variable
	'nntp-authinfo-file'.
	* doc/misc/reftex.texi (Table of Contents, Creating Citations)
	(Options - Table of Contents, Options - Referencing Labels)
	(Options - Creating Citations, Options - Index Support)
	(Options - Index Support, Changes): Don't use obsolete names.
	* doc/misc/speedbar.texi (Minor Display Modes)
	(Major Display Modes): Make variable name suggestions more in line
	with existing non-obsolete variable.
	* lisp/textmodes/reftex-cite.el (reftex-select-bib-mode-map):
	* lisp/textmodes/reftex-ref.el (reftex-offer-label-menu): Don't use
	obsolete variable names.
	* lisp/progmodes/which-func.el (which-func-mode): Doc fix.

2021-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak x_hide_tip for consistency

	* src/xfns.c (x_hide_tip, Fx_show_tip): Be consistent about using
	!NILP (tip_frame) instead of FRAMEP (tip_frame).  The two
	expressions are logically equivalent since tip_frame is either a
	frame or nil, !NILP is a bit faster, and making things consistent
	pacifies gcc 11.2.1 -Wanalyzer-null-dereference.

2021-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Remove encode_terminal_code UNINITs

	* src/term.c (encode_terminal_code): Clarify by removing a couple
	of UNINITs and testing the local variable ‘cmp’ instead of
	retesting src->u.cmp.automatic.  This pacifies gcc 11.2.1
	-Wanalyzer-null-dereference.

2021-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Port pdumper.c maybe_unused to C2x

	Port pdumper.c to C2x, and pacify gcc 11.2.1 -Wattributes -Wunused.
	* src/pdumper.c (dump_tailq_prepend):
	Omit ATTRIBUTE_UNUSED, since it’s always used.
	(dump_tailq_append): Remove; unused.

2021-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Port systhreads.h to C2x

	* src/systhread.h: Put NODISCARD at the start of extern
	declarations, not at the end.  This is needed by C2x.
	This patch also pacifies gcc 11.2.1 -Wattributes.

2021-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify -Wanalyzer-null-argument in lisp_malloc

	* src/alloc.c (lisp_malloc): Document that NBYTES must be
	positive, and omit a needless runtime check.  This pacifies a
	false alarm with gcc 11.2.1 -Wanalyzer-possible-null-dereference.

2021-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc 11.2.1 -Wanalyzer-null-argument

	* src/gtkutil.c (xg_item_label_same_p): Clarify boolean expression
	to pacify -Wanalyzer-null-argument with GCC 11.2.1 20210728
	(Red Hat 11.2.1-1).

2021-10-04  João Távora  <joaotavora@gmail.com>

	Simplify hack-read-symbol-shorthands again (bug#50946)

	* lisp/loadup.el (load-source-file-function): Don't set twice.

	* lisp/shorthands.el (hack-read-symbol-shorthands): Simplify.
	(load-with-shorthands-and-code-conversion): Remove.

	* lisp/international/mule.el (load-with-code-conversion): Call
	hack-read-symbol-shorthands-function.  Set up shorthands.
	(hack-read-symbol-shorthands-function): New variable.

2021-10-03  Eli Zaretskii  <eliz@gnu.org>

	Fix recipe for 'native-lisp' directory

	* src/Makefile.in (../native-lisp): If the directory native-lisp
	exists, do nothing.

2021-10-03  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify socket symlink-attack checking

	This is a minor bugfix cleanup (Bug#33847#161).
	* lib-src/emacsclient.c: Move "#include <acl.h>" to inside
	"#ifdef SOCKETS_IN_FILE_SYSTEM", which is more accurate
	and simpler than having a separate "#ifndef WINDOWSNT".
	(O_PATH): Likewise.

2021-10-03  Alan Mackenzie  <acm@muc.de>

	Clarify (elisp) insert-file-contents with BEG or END not on character boundary

	* doc/lispref/files.texi (Reading from files): When the argument BEG or END to
	insert-file-contents are at a byte position not at a character boundary,
	clarify that raw bytes get inserted, and how to handle this awkwardness in
	Lisp.  Also clarify that insert-file-contents-literally is intended to insert
	raw bytes into the buffer.  Fix the outdated example that states it inserts
	500 characters, when it actually inserts 500 bytes.

2021-10-03  Andreas Schwab  <schwab@linux-m68k.org>

	* src/Makefile.in: Simplify conditionals.

2021-10-03  Juri Linkov  <juri@linkov.net>

	Move context-menu selection items Defun/List/Symbol to prog-mode (bug#9054)

	* lisp/mouse.el (context-menu-functions):
	Add context-menu-middle-separator to choices.
	(context-menu-region): Move Defun/List/Symbol selection items
	to prog-context-menu.

	* lisp/progmodes/prog-mode.el (prog-context-menu):
	Move Defun/List/Symbol selection items from context-menu-region.
	Include text-mode select menu only in strings and comments.

	* lisp/textmodes/text-mode.el (text-mode-menu): New function.
	(text-mode): Add text-mode-menu to context-menu-functions.

2021-10-03  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-detach-tab): Handle frame selected by make-frame.

	(tab-bar-move-window-to-tab): New command.
	(tab-bar-new-tab-to): Handle the value 'window' of tab-bar-new-tab-choice.
	https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg02197.html

2021-10-03  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el (tab-line-format): Add face-modified to the cache key.

	When tab-line-tab-face-functions contains tab-line-tab-face-modified,
	add 'buffer-modified-p' status to the cache-key, so the cache will expire
	when the buffer modification status will change.
	https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg00129.html

2021-10-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix unmounting in Tramp

	* doc/misc/tramp.texi (FUSE setup): Add tramp-fuse-unmount-on-cleanup.

	* lisp/net/tramp.el (tramp-file-name-unify): New defun.
	(tramp-file-name-equal-p):
	* lisp/net/tramp-cache.el (tramp-get-connection-property)
	(tramp-set-connection-property, tramp-flush-connection-property)
	(tramp-flush-connection-properties): Use it.

	* lisp/net/tramp-fuse.el (tramp-fuse-get-fusermount): New defun.
	(tramp-fuse-mount-points): New defvar.
	(tramp-fuse-unmount): Use it.  Delete VEC from
	`tramp-fuse-mount-points'.  Delete mount point.
	(tramp-fuse-unmount-on-cleanup): New user option.
	(tramp-fuse-cleanup, tramp-fuse-cleanup-all): New defuns.
	(top): Adapt `tramp-fuse-unload-hook',
	`tramp-cleanup-connection-hook',
	`tramp-cleanup-all-connections-hook' and `kill-emacs-hook'.

	* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
	Add VEC to `tramp-fuse-mount-points'.

	* test/lisp/net/tramp-tests.el (tramp-fuse-unmount-on-cleanup): Declare.
	(tramp-test39-make-lock-file-name): Use it.

2021-10-03  Stefan Kangas  <stefan@marxist.se>

	* etc/themes/light-blue-theme.el: Add "Maintainer: emacs-devel".

2021-10-03  Eli Zaretskii  <eliz@gnu.org>

	Define HAVE_NATIVE_COMP in src/Makefile.in

	* src/Makefile.in (HAVE_NATIVE_COMP): Define.  Reported by Ken
	Brown <kbrown@cornell.edu>.

2021-10-03  João Távora  <joaotavora@gmail.com>

	Rename elisp-shorthands to read-symbol-shorthands

	The new name fits better in the family of variables that affect
	the Lisp reader.

	Suggested-by: Po Lu <luangruo@yahoo.com>

	* doc/lispref/symbols.texi (Shorthands): Mention read-symbol-shorthands

	* lisp/shorthands.el (hack-read-symbol-shorthands)
	(hack-read-symbol-shorthands)
	(shorthands-font-lock-shorthands): Use read-symbol-shorthands

	* lisp/progmodes/elisp-mode.el (elisp--completion-local-symbols)
	(elisp--completion-local-symbols)
	(elisp-shorthands): Use read-symbol-shorthands

	* src/lread.c:
	(syms_of_lread): Define Vread_symbol_shorthands
	(oblookup_considering_shorthand): Use Vread_symbol_shorthands.

	* test/lisp/progmodes/elisp-mode-tests.el (elisp-shorthand-read-buffer):
	(elisp-shorthand-read-from-string): Use read-symbol-shorthands

	* test/lisp/progmodes/elisp-mode-resources/simple-shorthand-test.el
	Use new symbol name read-symbol-shorthands.

2021-10-03  João Távora  <joaotavora@gmail.com>

	Font-lock shorthands in elisp-mode for quick visual recognition (bug#50959)

	Only the shorthanded prefix is font-locked.  This allows the remainder
	of the font-lock logic to subsist (e.g. for macro-defining symbols).

	* lisp/shorthands.el (cl-lib): Require it when compiling.
	(elisp-shorthand-font-lock-face): New face.
	(shorthands--mismatch-from-end): New helper.
	(shorthands-font-lock-shorthands): New helper.

	* test/lisp/progmodes/elisp-mode-resources/simple-shorthand-test.el:
	Add some dummy test code.

2021-10-03  Michael Albinus  <michael.albinus@gmx.de>

	Suppress superfluous error messages in Tramp

	* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-insert-file-contents):
	* lisp/net/tramp.el (tramp-handle-insert-file-contents)
	(tramp-handle-lock-file): Suppress superfluous error message.

2021-10-03  Eli Zaretskii  <eliz@gnu.org>

	Fix reading the tail of a file in shorthands.el

	* lisp/shorthands.el (hack-elisp-shorthands): Fix reading past
	3000-character limit from EOF.  (Bug#50946)

2021-10-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix substitution of pretty quotes in code in easy-mmode

	* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Adjust.
	(easy-mmode--mode-docstring): Avoid making quotes into pretty
	quotes in code (bug#50968).

2021-10-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix agent directory deletion

	* lisp/gnus/gnus-agent.el (gnus-agent-expire-unagentized-dirs):
	Delete directories in a simpler way that actually works (bug#50986).

2021-10-03  Stefan Kangas  <stefan@marxist.se>

	Clarify the purpose of internal--format-docstring-line

	* test/lisp/subr-tests.el (subr-test-internal--format-docstring-line):
	* lisp/subr.el (internal--format-docstring-line): Make it more clear
	that this function is not intended for the first line of a docstring.
	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add comment explaining
	why we use 'internal--format-docstring-line'.
	Problem pointed out by Stefan Monnier <monnier@iro.umontreal.ca>.

2021-10-02  Juri Linkov  <juri@linkov.net>

	* lisp/net/dictionary.el (context-menu-dictionary): Move menu item down.

	Place the dictionary menu item after middle-separator (bug#50552).

2021-10-02  Kyle Meyer  <kyle@kyleam.com>

	Update to Org 9.5-30-g10dc9d

	The plan is to cut the Org 9.5.1 release and include it in Emacs 28.1,
	but in the meantime regularly sync changes from Org's bugfix branch to
	emacs-28.

	This sync includes files from Org 9.5's new etc/csl/ directory that
	should have been synced in bf9ec3d91a (Update to Org 9.5, 2021-09-29).

2021-10-02  Glenn Morris  <rgm@gnu.org>

	Remove bogus ":safe t" custom properties

	* lisp/org/oc.el (org-cite-global-bibliography)
	(org-cite-note-rules, org-cite-punctuation-marks):
	* lisp/org/oc-csl.el (org-cite-csl-locales-dir)
	(org-cite-csl-styles-dir, org-cite-csl-no-citelinks-backends):
	* lisp/org/oc-natbib.el (org-cite-natbib-options):
	* lisp/org/org-keys.el (org-mouse-1-follows-link):
	Remove bogus ":safe t" properties that would largely need to be
	replaced by custom predicates.

2021-10-02  Eli Zaretskii  <eliz@gnu.org>

	Fix 'apropos-compact-layout'

	* lisp/textmodes/fill.el (fill-region-as-paragraph): Fix filling
	paragraphs that end at EOB without a newline.  (Bug#50974)

2021-10-02  Glenn Morris  <rgm@gnu.org>

	Remove bogus ":safe nil" custom properties

	* lisp/org/oc.el (org-cite-activate-processor)
	(org-cite-export-processors, org-cite-follow-processor)
	(org-cite-insert-processor):
	* lisp/org/ol.el (org-link-parameters, org-link-frame-setup)
	(org-link-shell-confirm-function)
	(org-link-shell-skip-confirm-regexp)
	(org-link-elisp-confirm-function)
	(org-link-elisp-skip-confirm-regexp):
	* lisp/org/org-num.el (org-num-format-function):
	Remove bogus ":safe nil" that do nothing but propagate a
	misunderstanding of the safe-local-variable property.

2021-10-02  Glenn Morris  <rgm@gnu.org>

	The safe-local-variable property is a function (bug#50944)

	* lisp/org/oc-basic.el (org-cite-basic-sorting-field)
	(org-cite-basic-author-year-separator)
	(org-cite-basic-max-key-distance)
	(org-cite-basic-author-column-end)
	(org-cite-basic-column-separator)
	(org-cite-basic-mouse-over-key-face):
	* lisp/org/oc-biblatex.el (org-cite-biblatex-options):
	* lisp/org/oc-csl.el (org-cite-csl-link-cites)
	(org-cite-csl-html-hanging-indent)
	(org-cite-csl-html-label-width-per-char)
	(org-cite-csl-latex-hanging-indent):
	* lisp/org/oc.el (org-cite-adjust-note-numbers):
	* lisp/org/org-keys.el (org-return-follows-link):
	* lisp/org/org.el (org-fontify-todo-headline):
	* lisp/org/ox-html.el (org-html-equation-reference-format)
	(org-html-wrap-src-lines):
	* lisp/org/ox-latex.el (org-latex-reference-command)
	(org-latex-default-quote-environment):
	* lisp/textmodes/tildify.el (tildify-pattern)
	(tildify-space-string): Fix :safe property.

2021-10-02  Stefan Kangas  <stefan@marxist.se>

	Revert "; * etc/TODO: Move elpa.gnu.org items to the end."

	This reverts commit d73f0e96a7026808c01861f7525a2909279fc00d.

	These items are a priority for the project and should be before other,
	less prioritized items, according to a private discussion with project
	co-maintainer Eli Zaretskii <eliz@gnu.org>.

2021-10-02  Stefan Kangas  <stefan@marxist.se>

	Revert "* etc/TODO: Rearrange to start with "Simple tasks"."

	This reverts commit 879ef5b19ab1dd90284aef829ef306d56b4e5adb.

	Some of these items are a priority for the project and should be
	before other, less prioritized items, according to a private
	discussion with project co-maintainer Eli Zaretskii <eliz@gnu.org>.

2021-10-02  Eli Zaretskii  <eliz@gnu.org>

	Fix selection of fonts for Arabic on Posix platforms

	* lisp/international/fontset.el (script-representative-chars): Add
	U+06C1 to representative-characters for Arabic.  (Bug#50951)

2021-10-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix ox-koma-letter compilation warnings

	* lisp/org/ox-koma-letter.el (org-koma-letter-export-block)
	(org-koma-letter-export-snippet): Fix warning about two unused
	parameter.

2021-10-02  Eli Zaretskii  <eliz@gnu.org>

	Preload paren.el

	* lisp/Makefile.in (COMPILE_FIRST): Add the dependencies of
	comp.el, so that they are natively-compiled in advance.
	* lisp/loadup.el ("paren"): Preload paren.el.	(Bug#50934)

2021-10-02  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'shift-select-mode'

	* doc/emacs/mark.texi (Shift Selection): Document the 'permanent'
	value of 'shift-select-mode'.  Add index entry for that variable.
	(Bug#50954)

	* etc/NEWS: Update the entry for 'shift-select-mode'.

2021-10-02  João Távora  <joaotavora@gmail.com>

	Simplify shorthand injection (bug#50946)

	* lisp/loadup.el: Load "shorthands" relatively late. Set
	load-source-file-function to load-with-shorthands-and-code-conversion

	* lisp/international/mule.el (hack-elisp-shorthands)
	(load-with-shorthands-and-code-conversion): Move to
	lisp/shorthands.el

	* lisp/shorthands.el: New file.

2021-10-01  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/control.texi (pcase Macro): Fix cross-reference.

2021-10-01  Glenn Morris  <rgm@gnu.org>

	Fix some custom types

	* lisp/mpc.el (mpc-cover-image-re):
	* lisp/org/oc-csl.el (org-cite-csl-locales-dir)
	(org-cite-csl-styles-dir):
	* lisp/org/org-plot.el (org-plot/preset-plot-types): Fix :type.

2021-10-01  Stefan Kangas  <stefan@marxist.se>

	* etc/TODO: Add interactive mode tagging.

	* etc/TODO: Rearrange to start with "Simple tasks".

	* etc/TODO: Remove outdated item.  (Bug#50904)

2021-10-01  Stefan Kangas  <stefan@marxist.se>

	Rename arguments of ERC's '/whois' and simplify doc string

	* lisp/erc/erc.el (erc-cmd-WHOIS): Rename arguments and reword the doc
	string to further clarify and simplify.

2021-09-30  Dmitry Gutov  <dgutov@yandex.ru>

	Migrate Xref off EIEIO

	To improve performance and flexibility (bug#50777).

	* lisp/progmodes/xref.el (xref-location): Remove.
	(xref-file-location): Change to cl-struct.
	(xref-buffer-location, xref-bogus-location): Ditto.
	(xref-item, xref-match-item): Same.
	And update all method definitions accordingly.
	(xref--insert-xrefs): Don't use 'oref', use 'xref-item-location'.
	(xref--insert-xrefs, xref-show-definitions-completing-read):
	Instead of 'with-slots', use 'xref-item-summary' and
	'xref-item-location'.

	* lisp/progmodes/etags.el (xref-etags-location):
	Change from EIEIO class into a cl-struct.
	(xref-etags-apropos-location): Ditto.
	Update all method definitions.

	* test/lisp/progmodes/elisp-mode-tests.el (xref-elisp-test-run):
	Avoid using 'oref'.

2021-09-30  Eli Zaretskii  <eliz@gnu.org>

	* admin/release-branch.txt: New file.

	* lisp/dired.el (dired-omit-mode): Declare, to avoid compiler warning.

2021-09-30  Eli Zaretskii  <eliz@gnu.org>

	Cut the emacs-28 release branch

	* README:
	* configure.ac:
	* nt/README.W32:
	* msdos/sed2v2.inp: Bump Emacs version to 28.0.60.

	* lisp/cus-edit.el (customize-changed-options-previous-release):
	Update the last released version of Emacs.

2021-09-30  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>

	Make checkdoc's docstring substitution consistent with other docs

	* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
	In error text, say "mapvar" instead of "keymap", and "command"
	instead of "function", to be consistent with the ELisp manual.
	(Bug#50903)

2021-09-30  Mattias Engdegård  <mattiase@acm.org>

	Fix regexp snags in org

	* lisp/org/org-element.el (org-element-citation-key-re):
	* lisp/org/ox-org.el (org-org-identity):
	Remove repeated chars in alternatives.
	* lisp/org/ob-java.el (org-babel-execute:java):
	Remove superfluous backslash.
	* lisp/org/ob-java.el (org-babel-java--main-re)
	(org-babel-java--any-method-re): Remove (0+ space) expressions
	subsumed by adjacent expressions.

2021-09-30  Mattias Engdegård  <mattiase@acm.org>

	org-element: use correct function

	* lisp/org/org-element.el (org-element-headline-parser):
	Pretty sure this one should be `skip-chars-backward`, not
	`skip-syntax-backward`, since \t isn't a valid syntax code.

2021-09-30  Mattias Engdegård  <mattiase@acm.org>

	Revert "Indent bodies of local function definitions properly in elisp-mode"

	This reverts commit 38037e04cb05cb1f2b604f0b1602d36b0bcf6985.

2021-09-30  Mattias Engdegård  <mattiase@acm.org>

	Revert "Fix regressions in cl-flet indentation"

	This reverts commit c42af5aee74f310bdcd63aac96b1c02ec07a1c50.

2021-09-30  Philip Kaludercic  <philipk@posteo.net>

	Add rcirc-omit-unless-requested option

	* doc/misc/rcirc.texi (Notices): Update documentation
	* lisp/net/rcirc.el (rcirc-pending-requests): Add local variable
	(rcirc-omit-unless-requested): Add user option
	(rcirc-print): Respect rcirc-omit-unless-requested
	(rcirc-define-command): Update rcirc-pending-requests

2021-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/org/ob-julia.el: Use lexical-binding

	(ess-eval-visibly-p): Declare.
	(org-babel-julia-assign-elisp): Remove unused vars `header` and
	`row-names` and correspondingly remove now unused args `colnames-p` and
	`rownames-p`.
	(org-babel-variable-assignments:julia): Adjust call to
	`org-babel-julia-assign-elisp` accordingly.
	(org-babel-julia-initiate-session): Use `bound-and-true-p`.
	(org-babel-julia-evaluate-external-process)
	(org-babel-julia-evaluate-session, org-babel-julia-evaluate):
	Remove unused arg `row-names-p`.
	(org-babel-execute:julia): Adjust call to
	`org-babel-julia-evaluate` accordingly.

2021-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/org/ox-koma-letter.el: Use lexical-binding

	And remove redundant `:group` args.

2021-09-30  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent change of 'undo-redo' binding

	* lisp/bindings.el (global-map): Fix the binding of 'undo-redo'.
	(Bug#50911)

2021-09-30  Eli Zaretskii  <eliz@gnu.org>

	Merge Org 9.5 from branch 'origin/scratch/org-sync'.

2021-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous `newline' patch

	* lisp/simple.el (newline): Signal an error earlier to avoid
	peculiar behavior after getting a backtrace (bug#50900).

2021-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `newline' check the argument earlier

	* lisp/simple.el (newline): Signal an error earlier to avoid
	peculiar behavior after getting a backtrace (bug#50900).

2021-09-30  akater  <nuclearspace@gmail.com>

	Fix regressions in cl-flet indentation

	* lisp/emacs-lisp/lisp-mode.el (lisp--local-defform-body-p):
	Rename (from -p-less form) and fix indentation regression
	introduced by 38037e04cb05cb1f2b604f0b1602d36b0bcf6985
	(bug#9622).  Also add cl-macrolet cl-flet* cl-symbol-macrolet.

2021-09-30  dickmao  <none>

	Fix bootstrap after recent undo-redo change

	* lisp/bindings.el (global-map): Don't use `kbd' here -- it breaks
	bootstrap (bug#50911).

2021-09-30  Kyle Meyer  <kyle@kyleam.com>

	* etc/NEWS: Announce Org update.

	Update to Org 9.5

2021-09-30  Amin Bandali  <bandali@gnu.org>

	Add new '/wii' convenience ERC command

	* etc/NEWS: Announce the addition of the command.
	* lisp/erc/erc.el (erc-cmd-WII): Add '/wii' convenience command which
	calls the '/whois' command with the given nick as both arguments,
	which is useful for displaying the whois information for the nick
	along with idle time, even if the nick is on a different server than
	the one we are currently connected to.

2021-09-30  Amin Bandali  <bandali@gnu.org>

	Restore the previous order of ERC's '/whois' arguments

	* etc/NEWS: Remove unneeded entry.
	* lisp/erc/erc.el (erc-cmd-WHOIS): Restore the previous order of
	arguments sent to the server, so that there's no change in the
	function's behavior.  Instead, rename the arguments to be more
	accurate, and expand upon them in the doc string.

2021-09-30  Stefan Kangas  <stefan@marxist.se>

	New command mpc-goto-playing-song

	* lisp/mpc.el (mpc-goto-playing-song): New command to go to the
	currently playing song.
	(mpc-mode-map): Bind it to "o".

2021-09-29  Stefan Kangas  <stefan@marxist.se>

	* lisp/linum.el: Recommend `display-line-numbers-mode'.

2021-09-29  Dmitry Gutov  <dgutov@yandex.ru>

	Add bindings for 'undo-redo'

	* etc/NEWS: Describe the change.

	* lisp/bindings.el (global-map): Add bindings for 'undo-redo'.

	* lisp/simple.el (undo-no-redo): Turn into a user option.

2021-09-29  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-move-tab-to-frame): Delete frame with last tab.

2021-09-29  Adam Porter  <adam@alphapapa.net>

	* lisp/tab-bar.el: (tab-bar-detach-tab) New command

	(tab-bar-detach-tab): New command.
	(tab-bar-mouse-context-menu): Add menu entry.

	With thanks to Matt Beshara <m@mfa.pw> for his feedback.
	https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg02141.html

2021-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak previous message-newline-and-reformat change

	* lisp/gnus/message.el (message-newline-and-reformat): Only search
	for previous/next cited lines that have space, because it's the
	space we're trying to find.

2021-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Cross reference `dired-do-revert-buffer'

	* lisp/dired-aux.el (dired-do-copy):
	(dired-do-symlink):
	(dired-do-hardlink):
	(dired-do-rename): Mention `dired-do-revert-buffer'.

2021-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Do some NEWS taggin

2021-09-29  Stefan Kangas  <stefan@marxist.se>

	* etc/TODO: Delete ImageMagick items.  (Bug#50891)

2021-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `M-q' in message-mode work better

	* lisp/gnus/message.el (message-newline-and-reformat): Fix
	bug#43299 differently.
	(message-newline-and-reformat): Revert change for bug#43299.  This
	fixes bug#50842.

2021-09-29  Stefan Kangas  <stefan@marxist.se>

	Force volume to an integer divisible by mpc-volume-step

	* lisp/mpc.el (mpc-volume-mouse-set): Force volume to an integer
	divisible by 'mpc-volume-step'.
	(mpc-volume-step): Add docstring.

2021-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Signal an error in `search-forward-help-for-help'

	* lisp/help.el (search-forward-help-for-help): Error out instead
	of showing an empty buffer (bug#50881).

2021-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a comment about bug#50877 for gnus-set-difference

2021-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Obsolete local set difference functions in favor of seq-difference"

	This reverts commit 20f7fa691b7c2859b96550d9ccb326bf394e160d.

	gnus-set-difference is orders of magnitude faster than seq-difference
	(on these sets), and using seq-difference makes nnimap too
	slow.

2021-09-29  Michael Albinus  <michael.albinus@gmx.de>

	* test/Makefile.in (WRITE_LOG): Add emacs-module-tests as problematic.

2021-09-29  Protesilaos Stavrou  <info@protesilaos.com>

	Update modus-themes to version 1.6.0

	* doc/misc/modus-themes.org (Customization Options): Document new user
	options in code sample.
	(Option for inhibiting theme reload): Remove trailing space.
	(Option for mode line presentation): Include new possible value.
	(Option for Org agenda constructs): Include new symbols for the
	'modus-themes-org-agenda' alist.
	(Control the scale of headings): Document 'modus-themes-scale-small'.
	(Override color saturation (DIY)): Fix markup for proper texi output.
	(Custom Org user faces (DIY)): Update code samples.
	(Full support for packages or face groups): Note names of newly
	supported packages or face groups.
	(Indirectly covered packages): Document indirectly supported packages.
	(Note on highlight-parentheses.el): Provide detailed instructions on
	how to use 'highlight-parentheses' with the Modus themes.
	(Note on prism.el): Refine code samples.
	(What is the best setup for legibility?): Minor rewording.
	(Sources of the themes): Mention only Emacs28 without explaining that
	it is the development target---in preparation of the emacs-28 branch
	cut.
	(Acknowledgements): Name new contributors to code/ideas.  Stephen
	Gildea's patch was a couple lines long.  The others have assigned
	copyright to the FSF.
	(Meta): Include another link to the development notes of the themes
	about 'modus-themes-org-agenda'.

	* etc/themes/modus-operandi-theme.el,
	  etc/themes/modus-vivendi-theme.el: Bump file version.

	* etc/themes/modus-themes.el (modus-themes-operandi-colors)
	(modus-themes-vivendi-colors): Recalibrate some color values and add
	a few new ones.
	(modus-themes-slanted-constructs): Remove obsolete user option.
	Superseded by the alias 'modus-themes-italic-constructs'.
	(modus-themes-org-agenda, modus-themes-mode-line): Update user option.
	(modus-themes-scale-headings, modus-themes-scale-4): Update doc
	string.
	(modus-themes-scale-5): Remove obsolete user option.  Superseded by
	the alias 'modus-themes-scale-title'.
	(modus-themes-scale-small, modus-themes-tabs-accented): Add new user
	option.
	(modus-themes--agenda-date, modus-themes--mode-line-attrs)
	(modus-themes--tab): Update internal functions.
	(modus-themes-faces): Update variousface attributes.

	Detailed change log here:
	<https://protesilaos.com/codelog/2021-09-29-modus-themes-1-6-0/>.

2021-09-29  Philip Kaludercic  <philipk@posteo.net>

	Remove rcirc-omit-responses-after-join option

	The implementation does not work as expected and behaves
	unpredictably.

	* lisp/net/rcirc.el (rcirc-omit-responses-after-join): Remove
	option
	(rcirc-joined): Remove variable
	(rcirc-reconnect): Remove rcirc-joined code
	(rcirc-get-buffer-create): Remove rcirc-joined code
	(rcirc-print): Remove rcirc-omit-responses-after-join check
	* doc/misc/rcirc.texi (Notices): Remove documentation
	* etc/NEWS: Remove mention

2021-09-29  Stefan Kangas  <stefan@marxist.se>

	New user option mpc-cover-image-re

	* lisp/mpc.el (mpc-cover-image-re): New user option.
	(mpc-format): Find cover image based on regexp given by above new user
	option.  Treat "folder.png" as a valid cover image name.

2021-09-29  Martin Rudalics  <rudalics@gmx.at>

	Fix 'window-toggle-side-windows' (Bug#50867)

	* lisp/window.el (window-toggle-side-windows): Bind
	'window-combination-resize' to t around 'window-state-put'
	calls (Bug#50867).

2021-09-29  Michael Albinus  <michael.albinus@gmx.de>

	Some inmprovements in emba CI files

	* test/infra/Dockerfile.emba: Remove superfluous "make -j4".

	* test/infra/gitlab-ci.yml (.test-template): Add 'allow_failure' clause.
	(test-all-inotify): Add 'needs' clause.

2021-09-29  Juri Linkov  <juri@linkov.net>

	* lisp/net/dictionary.el (context-menu-dictionary): Add autoload cookie.

	(context-menu-functions): Remove context-menu-dictionary from hook (bug#50552)

2021-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the whitespace before "This is a generic function"

	* lisp/emacs-lisp/cl-generic.el (cl--generic-describe): Make the
	number of blank lines before this section consistent (whether
	there's an indented section before it or not).

2021-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the max-specpdl-size doc string

	* src/eval.c (syms_of_eval): Mention what "specpdl" means.

2021-09-29  Amin Bandali  <bandali@gnu.org>

	Switch the order of ERC's '/whois' arguments sent to the server

	* lisp/erc/erc.el (erc-cmd-WHOIS): Switch the order of 'server' and
	'user' arguments sent to the server.  Per RFC 1459 and RFC 2812, the
	optional 'server' argument command comes before the 'user' argument,
	not after.  While at it, update the doc string to explain why one may
	want to specify the 'server' argument.
	* etc/NEWS: Announce the change.

2021-09-29  Stefan Kangas  <stefan@marxist.se>

	* lisp/mpc.el (mpc-format): Fix printing after last format spec.

2021-09-29  Amin Bandali  <bandali@gnu.org>

	Unobsolete erc-compat.el

	* lisp/obsolete/erc-compat.el: Move from here...
	* lisp/erc/erc-compat.el: ...back to here.  ERC will soon be added to
	GNU ELPA, and erc-compat.el will be used to provide compatibility
	functions and/or variables for using ERC on older Emacsen.
	* etc/NEWS: Remove the previously added obsoletion news item.

2021-09-29  Stefan Kangas  <stefan@marxist.se>

	* etc/NEWS: Announce Eshell bookmarks.

2021-09-29  Stefan Kangas  <stefan@marxist.se>

	Add bookmark.el support to eww

	* lisp/net/eww.el (eww-bookmark-name, eww-bookmark-make-record)
	(eww-bookmark-jump): New defuns.
	(eww-mode): Set up bookmark handler.

2021-09-29  Dmitry Gutov  <dgutov@yandex.ru>

	Enable show-paren-mode by default

	* etc/NEWS (https): Mention the change.

	* lisp/paren.el (show-paren-mode):
	Enable by default, as discussed on emacs-devel.

2021-09-29  Stefan Kangas  <stefan@marxist.se>

	* lisp/net/eww.el (eww-mode): Show keybindings in docstring.

2021-09-28  Juri Linkov  <juri@linkov.net>

	* lisp/mouse.el (context-menu-map): Fix when menu is a command (bug#50851)

	* lisp/help.el (help--analyze-key): Get information at the position
	of mouse click such as 'C-h k' on a context menu item (bug#50067).

2021-09-28  Stefan Kangas  <stefan@marxist.se>

	Add shortdoc for text properties

	* lisp/emacs-lisp/shortdoc.el (text-properties): New shortdoc.

	e for your changes. Lines starting

2021-09-28  Stefan Kangas  <stefan@marxist.se>

	Mention describe-symbol in cl-defstruct docstring

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Mention 'describe-symbol'
	in docstring.

2021-09-28  Stefan Kangas  <stefan@marxist.se>

	Mention cl-describe-type in cl-defstruct docstring

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Mention
	'cl-describe-type' in docstring.

2021-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/map.el: Restore compatibility with Emacs-26

	Don't use the new `eql` syntax.

2021-09-28  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-tests.el for macOS

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
	(tramp-test30-make-process): Adapt for macOS.

2021-09-28  Stefan Kangas  <stefan@marxist.se>

	* doc/man/emacs.1.in: Add --no-x-resources.  (Bug#50855)

2021-09-28  Stefan Kangas  <stefan@marxist.se>

	Improve coding conventions for error messages

	* doc/lispref/tips.texi (Programming Tips): Clarify coding
	conventions for error messages to say that an error message can
	start with a Lisp symbol.  (Bug#50658)

2021-09-28  Stefan Kangas  <stefan@marxist.se>

	Improve docstrings of ert-resource-{directory,file}

	* lisp/emacs-lisp/ert-x.el (ert-resource-directory)
	(ert-resource-file): Improve docstrings.

2021-09-28  Stefan Kangas  <stefan@marxist.se>

	Signal error on newline in internal--format-docstring-line

	* lisp/subr.el (internal--format-docstring-line): Signal error
	when trying to fill a line containing a newline.

	* lisp/cedet/semantic/decorate/mode.el
	(define-semantic-decoration-style):
	* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
	Don't pass newlines to 'internal--format-docstring-line'.

2021-09-28  Eli Zaretskii  <eliz@gnu.org>

	Make the build of source tarball produce *.eln files

	* lisp/emacs-lisp/comp.el (batch-native-compile): Accept an
	optional argument; if non-nil, place the .eln file as appropriate
	for building a source tarball.

	* doc/lispref/compile.texi (Native-Compilation Functions):
	Document the new optional argument of 'batch-native-compile'.

	* lisp/Makefile.in (.PHONY, $(THEFILE)n) [HAVE_NATIVE_COMP]: New
	targets.

	* src/Makefile.in (%.eln) [HAVE_NATIVE_COMP]: New recipe.
	(all) [HAVE_NATIVE_COMP]: Add ../native-lisp to prerequisites.
	(elnlisp) [HAVE_NATIVE_COMP]: New list of *.eln files.
	(../native-lisp) [HAVE_NATIVE_COMP]: New recipe.

	* src/verbose.mk.in (AM_V_ELN): New macro.

2021-09-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust ispell-look-command type

	* lisp/textmodes/ispell.el (ispell-look-command): Adjust :type
	after previous change.

2021-09-28  André A. Gomes  <andremegafone@gmail.com>

	Fix search of the look program

	* lisp/textmodes/ispell.el (ispell-look-command): Fix logic
	concerning the existence of the look program (bug#50852) -- search
	through the executable path.
	(ispell-look-p): Adjust logic.

2021-09-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Use ert-resource-file in the shorthand tests

	Also move to the standard directory naming.

2021-09-28  Stefan Kangas  <stefan@marxist.se>

	checkdoc: Allow Lisp symbols to start a message

	* lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine): Allow
	Lisp symbols to start a message.
	(checkdoc--error-bad-format-p): New helper function.

	* test/lisp/emacs-lisp/checkdoc-tests.el
	(checkdoc-test-error-format-is-good)
	(checkdoc-test-error-format-is-bad): New helper functions.
	(checkdoc-tests-error-message-bad-format-p)
	(checkdoc-tests-error-message-bad-format-p/defined-symbols)
	(checkdoc-tests-error-message-bad-format-p/not-capitalized):
	New tests.

2021-09-27  Ken Brown  <kbrown@cornell.edu>

	Make .eln files executable on Cygwin

	* Makefile.in (INSTALL_ELN): New variable, equal to $(INSTALL) on
	Cygwin and $(INSTALL_DATA) on other platforms.
	(install-eln): Use INSTALL_ELN instead of INSTALL_DATA.
	(Bug#50818)

2021-09-27  Michael Albinus  <michael.albinus@gmx.de>

	Simplify `file-notify--rm-descriptor'

	* lisp/filenotify.el (file-notify--rm-descriptor):
	Use `file-notify-handle-event'.

2021-09-27  Juri Linkov  <juri@linkov.net>

	* lisp/mouse.el (context-menu-region): Check for nil for char-after at eobp.

2021-09-27  Mattias Engdegård  <mattiase@acm.org>

	* lisp/progmodes/flymake.el (flymake-menu): Don't use obsolete name.

2021-09-27  Alan Third  <alan@idiocy.org>

	Fix GNUstep build failure

	* src/nsfns.m (Fns_hide_emacs): NSRunningApplication is only available
	in GNUstep 0.27 and above.

2021-09-27  Robert Pluim  <rpluim@gmail.com>

	Document 'glyphless-char-display-control' changes

	* etc/NEWS: Document 'glyphless-char-display-control' changes for
	Variation Selectors.

2021-09-27  Robert Pluim  <rpluim@gmail.com>

	Try to be consistent about user options in NEWS

	* etc/NEWS: Try to be consistent about calling 'user options' that
	instead of 'variables'.

2021-09-27  Alan Third  <alan@idiocy.org>

	Fix resizing glitches in NS port (bug#50413)

	* src/nsterm.m ([EmacsView resizeWithOldSuperviewSize:]): Use the
	superview's size instead of trusting the view's size.

2021-09-27  Alan Third  <alan@idiocy.org>

	Attempt to debug a graphical glitch on macOS

	* src/nsterm.m (ns_scroll_run):
	(ns_shift_glyphs_for_insert): Switch to using NSPoint for destination.
	([EmacsView copyRect:to:]): Use NSPoint for the destination, always
	use the view's layer, and log any questionable copy requests.

2021-09-27  Alan Third  <alan@idiocy.org>

	Fix NS toolbar again (bug#50534)

	* src/nsmenu.m (free_frame_tool_bar): Remove toolbar.
	(update_frame_tool_bar_1): New function.
	(update_frame_tool_bar): Move most of the functionality to
	update_frame_tool_bar_1.
	* src/nsterm.h: Definitions of functions and methods.
	* src/nsterm.m (ns_update_begin):
	([EmacsView windowDidEnterFullScreen]):
	([EmacsView windowDidExitFullScreen]): We no longer need to reset the
	toolbar visibility as that's done when we create the new fullscreen
	window.
	([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Move the check
	for undecorated frames into createToolbar:.
	([EmacsWindow createToolbar:]): Check whether a toolbar should be
	created, and run the toolbar update immediately.

2021-09-27  Stefan Kangas  <stefan@marxist.se>

	Fix automatic filling of docstring in cl-defstruct

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix bug where a paragraph
	was filled as if it were a single line, which led to garbled
	output in the docstring.  (Bug#50839)

	* test/lisp/subr-tests.el
	(subr-test-internal--format-docstring-line): New test.

2021-09-27  Eli Zaretskii  <eliz@gnu.org>

	Minor fix in 'w32-find-non-USB-fonts'

	* lisp/term/w32-win.el (w32--filter-USB-scripts): Handle
	representative characters given as a vector, not a list.

2021-09-27  João Távora  <joaotavora@gmail.com>

	* etc/NEWS (Shorthands for Lisp symbols): Reword.

2021-09-27  Robert Pluim  <rpluim@gmail.com>

	Enhance font_range to check for emoji composition triggers

	If the codepoint that triggered composition is from the emoji script,
	use the emoji font to check the string being composed, rather than the
	font of the first character of the string.  This makes e.g.

	"emoji codepoint with Emoji_Presentation = No followed by VS-16 (FE0F)"

	display the emoji version of the glyph for that codepoint.

	* admin/unidata/blocks.awk: Add VS-1 through VS-16 to the emoji
	script.
	* src/composite.c (autocmp_chars): Accept additional argument CH for
	the codepoint that triggered composition, pass it to font_range.
	(composition_reseat_it, find_automatic_composition): Pass codepoint
	that triggered composition to autocmp_chars.
	* src/font.c (font_range): Accept additional argument CH for the
	triggering codepoint.  If the codepoint is from the 'emoji' script,
	use Vscript_representative_chars to find the font to use for the
	composition attempt.
	(syms_of_font): Add Qemoji symbol.
	* src/font.h: Update font_range prototype for argument CH.
	* etc/NEWS: Announce change.

2021-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix checkdoc-related test failure

	Fix two doc-related test failures

2021-09-27  Michael Albinus  <michael.albinus@gmx.de>

	Optimize emba builds

	* test/infra/Dockerfile.emba (emacs-base): Install also
	libdbus-1-dev and libacl1-dev.

	* test/infra/gitlab-ci.yml (prep-image-base): Comment out.  This
	stage is activated by default in Dockerfile.emba.

2021-09-27  Eli Zaretskii  <eliz@gnu.org>

	Minor stylistic fixes of shorthand code in C

	* src/lread.c (oblookup_considering_shorthand): Now static.  Move
	prototype to where it belongs.
	(read1, Fintern, Fintern_soft, Funintern)
	(oblookup_considering_shorthand, syms_of_lread): Fix style of
	braces and indentation, comments, and doc strings.

2021-09-27  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes of Lisp doc strings for shorthands feature

	* lisp/progmodes/elisp-mode.el (obarray-cache)
	(elisp--completion-local-symbols):
	* lisp/international/mule.el (hack-elisp-shorthands)
	(load-with-shorthands-and-code-conversion): Doc string fixes.

2021-09-27  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes in documentation of shorthands

	* etc/NEWS:
	* doc/lispref/symbols.texi (Symbol Components, Creating Symbols)
	(Shorthands): Improve wording, fix indexing and typos.

2021-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Make comint understand the ccrypt password phrases

	* lisp/comint.el (comint-password-prompt-regexp): Add the ccrypt
	confirmation phrase (bug#50837).

	* lisp/international/mule-conf.el (password-word-equivalents): Add
	the ccrypt phrases.

2021-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Add "passwd" (change password) prompt to comint

	* lisp/comint.el (comint-password-prompt-regexp): Add "passwd" (to
	change the password) first promp in Debian bullseye.

2021-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Note that the Packaging sub-nodes are mostly for maintainers

	* doc/lispref/package.texi (Packaging): Note that the information
	is mostly for ELPA maintainers (bug#50825).

2021-09-27  dickmao  <none>

	Get a `package-test-signed` to work again

	The test signing key succumbed to either expiration or bitrot.
	I hope I didn't just publish my secret key to the world.

	* test/lisp/emacs-lisp/package-resources/key.pub: Refresh.
	* test/lisp/emacs-lisp/package-resources/key.sec: Refresh.

2021-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Move test-cl-flet-indentation to the right file

2021-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve describe-char buffer extremely slightly

	* lisp/descr-text.el (describe-char): Add a colon to further
	signify that we're talking about the following line (bug#50795).

2021-09-27  João Távora  <joaotavora@gmail.com>

	Document shorthands in the Elisp manual section on Symbols

	* doc/lispref/symbols.texi (Symbol Components): Mention "Shorthands".
	(Creating Symbols): Mention shorthands.  Correct references to Common
	Lisp.
	(Shorthands): New section.

	* etc/NEWS (Shorthands): New entry.

2021-09-27  João Távora  <joaotavora@gmail.com>

	Add #_ reader macro to escape shorthand renaming

	* src/lread.c (read1): Add skip_shorthand variable.  Add a '#_'
	case.  If skip_shorthand call oblookup instead of
	oblookup_considering_shorthand.

	* test/lisp/progmodes/elisp-mode-tests.el
	(elisp-shorthand-escape): New test.

	* test/lisp/progmodes/elisp-resources/simple-shorthand-test.el
	(#_f-test4---): New fixture function.

2021-09-27  João Távora  <joaotavora@gmail.com>

	Consider shorthands in Elisp's elisp-completion-at-point

	Instead of referencing obarray directly, that function has to consider
	a collection of completions which includes the shorthand versions of
	some of the symbols.  That collection changes from buffer to buffer,
	depending on the choice of elisp-shorthands.

	To make this process efficient, and avoid needless recalculation of
	the above collection, a new obarray-specific cache was invented.  The
	Elisp variable obarray-cache is immediately nullified if something
	touches the obarray.

	* lisp/progmodes/elisp-mode.el : New helper.
	(elisp-completion-at-point): Use new helpers.
	(elisp--completion-local-symbols)
	(elisp--fboundp-considering-shorthands)
	(elisp--bboundp-considering-shorthands): New helpers

	* src/lread.c (intern_driver): Nullify Qobarray_cache.
	(syms_of_lread): Add Qobarray_cache.

	* test/lisp/progmodes/elisp-mode-tests.el
	(elisp-shorthand-completion-at-point): New test.

	* test/lisp/progmodes/elisp-resources/simple-shorthand-test.el
	(f-test-complete-me): New fixture.

2021-09-27  João Távora  <joaotavora@gmail.com>

	Rework Elisp shorthands to only allow only prefix substitution

	This simplification in requirements makes for more complex C code but
	that code is much less wasteful in Lisp strings than the previous
	implementation.

	* src/lread.c (read1): Rework.
	(Fintern): Rework.
	(Fintern_soft): Rework.
	(Funintern): Rework.
	(oblookup_considering_shorthand): Rewrite.

	* test/lisp/progmodes/elisp-mode-tests.el (elisp-shorthand-read-buffer)
	(elisp-shorthand-read-from-string): Use new format of
	elisp-shorthands.

	* test/lisp/progmodes/elisp-resources/simple-shorthand-test.el (f-test)
	(f-test2, f-test3): Use new form of elisp-shorthands.

2021-09-27  João Távora  <joaotavora@gmail.com>

	Move most of the shorthand implementation to C code

	It passes the tests designed for the previous Elisp implementation.

	Likely, this isn't the final form of the implementation.  For one, the
	reader is much slower and allocates a Lisp string for every atom read,
	regardless if its already interned or not.  This has the potential to
	be catastrophic in terms of GC.

	Also rename the main variable to elisp-shorthands, from the
	repetitive shorthand-shorthands.

	For some reason, I had to put 'hack-elisp-shorthands' and
	'load-with-shorthands-and-code-conversion', the new source-file
	loading functions, in lisp/international/mule.el.

	Otherwise, lisp/loadup.el wouldn't see them, for some reason that I
	didn't investigate.  This should probably be fixed.

	* lisp/shorthand.el: Remove.

	* test/lisp/shorthand-tests.el: Remove.

	* src/lread.c:
	(read1, Fintern, Fintern_soft, Funintern): Use
	oblookup_considering_shorthand.
	(oblookup_considering_shorthand): New helper.
	(syms_of_lread): Declare elisp-shorthands.

	* lisp/progmodes/elisp-mode.el (elisp-shorthands):
	Put a safe-local-variable spec.

	* test/lisp/progmodes/elisp-mode-tests.el (elisp-shorthand-read-buffer)
	(elisp-shorthand-read-from-string)
	(elisp-shorthand-byte-compile-a-file)
	(elisp-shorthand-load-a-file): New tests.

	* test/lisp/progmodes/elisp-resources/simple-shorthand-test.el: New file

	* lisp/loadup.el (load-source-file-function): Set to
	load-with-shorthands-and-code-conversion.

	* lisp/international/mule.el (hack-elisp-shorthands): Move here.
	(load-with-shorthands-and-code-conversion): And here.

2021-09-27  João Távora  <joaotavora@gmail.com>

	First Elisp version of lisp/shorthand.el, failing some tests

	* lisp/shorthand.el: New file

	* test/lisp/shorthand-tests.el: New file

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Add 'doc-string' declaration to defcalcmodevar

	* lisp/calc/calc.el (defcalcmodevar): Add 'doc-string' declaration.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Move two incorrectly named test files

	* test/lisp/emacs-lisp/tabulated-list-test.el: Move from here...
	* test/lisp/emacs-lisp/tabulated-list-tests.el: ...to here.
	* test/lisp/url/url-handlers-test.el: Move from here...
	* test/lisp/url/url-handlers-tests.el: ...to here.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	checkdoc: Don't add "Commentary" header to test files

	* lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine):
	Don't add "Commentary:" header if it looks like a test file.

2021-09-26  Robert Pluim  <rpluim@gmail.com>

	Add glyphless-char-display-control for Variation Selectors

	* lisp/international/characters.el (update-glyphless-char-display):
	(glyphless-char-display-control): Add control knob for U+FE00 through
	U+FE0F, defaulting to 'thin-space'.
	* doc/lispref/display.texi (Glyphless Chars): Document it.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Explicitly make the rest of erc-compat.el obsolete

	* lisp/obsolete/erc-compat.el (erc-decode-coding-string)
	(erc-encode-coding-string, erc-set-write-file-functions)
	(erc-emacs-build-time, erc-replace-match-subexpression-in-string)
	(erc-member-if, erc-delete-if, erc-remove-if-not, erc-subseq):
	Explicitly declare obsolete.
	(erc-define-minor-mode): Make into obsolete function alias for
	'define-minor-mode'.
	(erc-user-emacs-directory): Make into obsolete variable alias for
	'user-emacs-directory'.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Add fast-path to ert--explain-string-equal

	* lisp/emacs-lisp/ert.el (ert--explain-string-equal): Add fast-path to
	avoid doing extra work.
	Problem reported by Mattias Engdegård <mattiase@acm.org>.

2021-09-26  Michael Albinus  <michael.albinus@gmx.de>

	* test/infra/gitlab-ci.yml (variables): Set DOCKER_BUILDKIT.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Rename "Homepage" field to "Website" in package description

	* lisp/emacs-lisp/package.el (describe-package-1): Rename
	"Homepage" field to "Website".

	* test/lisp/emacs-lisp/package-tests.el
	(package-test-describe-package)
	(package-test-describe-installed-multi-file-package)
	(package-test-describe-non-installed-package)
	(package-test-describe-non-installed-multi-file-package): Update tests.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Prefer https for other domains than gnu.org in package URL

	* lisp/emacs-lisp/package.el (describe-package-1): Prefer https for
	some other common domains in the package URL.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Add test for lm-website

	* lisp/emacs-lisp/lisp-mnt.el (lm-website): Use rx.
	* test/lisp/emacs-lisp/lisp-mnt-tests.el
	(lm--tests-lm-website): New test.

2021-09-26  Mattias Engdegård  <mattiase@acm.org>

	Rx documentation touch-ups (bug#46910)

	* doc/lispref/searching.texi (Rx Constructs, Rx Functions):
	Add clarifications and improve naming of arguments.  Add examples
	illustrating the differences between `rx` and `rx-to-string`.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Warn about overly long docstring in lambda

	* lisp/emacs-lisp/bytecomp.el
	(byte-compile-docstring-length-warn): Warn about overly long
	docstring in lambda.  (Bug#44858)

	(byte-compile--wide-docstring-p): Improve comment.
	* test/lisp/emacs-lisp/bytecomp-tests.el
	("warn-wide-docstring-defun.el"): Update to test for the above new
	warning.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Avoid warning about long docstring lines in defcustom

	* lisp/custom.el (defcustom): Avoid warning about long docstring
	lines.  This was caused by the value of the defcustom being treated as
	docstring due to it being wrapped in a lambda.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Fill some auto-generated docstring lines

	* lisp/cedet/mode-local.el (define-mode-local-override):
	* lisp/cedet/semantic/decorate/mode.el (define-semantic-decoration-style):
	* lisp/cedet/semantic/idle.el (define-semantic-idle-service):
	* lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
	* lisp/emacs-lisp/eieio.el (defclass): Fill auto-generated docstring
	lines.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Avoid false positives in bytecomp docstring width warning

	* lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p):
	Ignore more function argument lists.
	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests-byte-compile--wide-docstring-p): New test.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Improve filling of generated docstring lines

	* lisp/subr.el (internal--fill-string-single-line): Improve filling to
	use full width.  Fix bug where line was not wrapped correctly.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	ert: Add basic explainer for string-equal

	* lisp/emacs-lisp/ert.el (ert--explain-string-equal): Add basic
	explainer for 'string-equal' based on 'ert--explain-equal'.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Unbreak ert tests

	* test/lisp/emacs-lisp/tabulated-list-test.el (tabulated-list-print)
	(tabulated-list-sort): Update tests for recent change.

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	Doc fix: mode name in local variables needs no suffix

	* doc/emacs/custom.texi (Specifying File Variables): Clarify that a
	mode name does not need the "-mode" suffix.  (Bug#50801)

2021-09-26  Stefan Kangas  <stefan@marxist.se>

	checkdoc: Library footer must match package.el requirement

	* lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine):
	Don't accept footer format unless it matches the requirement in
	package.el.

2021-09-26  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp's make-process for macOS.

	* lisp/net/tramp-sh.el (tramp-check-remote-uname): New defun.
	(tramp-sh-handle-file-ownership-preserved-p)
	(tramp-sh-handle-make-process, tramp-find-executable)
	(tramp-find-shell, tramp-get-remote-stat): Use it.  (Bug#50748)

	* test/lisp/net/tramp-tests.el (tramp-check-remote-uname): Declare.
	(tramp-test29-start-file-process, tramp-test30-make-process):
	Instrument for macOS.
	(tramp--test-hpux-p): Adapt function.
	(tramp--test-macos-p): New defun.

2021-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Expand the ` doc string slightly

	* lisp/emacs-lisp/backquote.el (backquote): Note that ` is used
	for other things in some macros (bug#25462).

2021-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix rendering non-ASCII text with links

	* lisp/gnus/mm-view.el (mm-text-html-renderer-alist): Add a new
	form for links.
	(mm-links-remove-leading-blank): Make obsolete.
	(mm-inline-wash-with-file):
	(mm-inline-render-with-file): Make obsolete -- they were awkwardly
	defined and only used with links.
	(mm-inline-render-with-links): New function.

2021-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new macro with-environment-variables

	* doc/lispref/os.texi (System Environment): Document it.

	* lisp/env.el (with-environment-variables): New macro.

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	Revert "; Fix capitalization of F1..F12 keys in docs"

	This reverts commit fe5b20410f68546821e6c87577d7f826167491dc.

	This change was not correct; these are Lisp symbols that should be in
	lower-case.  Problem reported by Mattias Engdegård <mattiase@acm.org>.

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	Revert part of previous doc fix

	* lisp/emacs-lisp/derived.el (define-derived-mode): Revert part of
	previous doc fix.  This change made the text confusing.  (Bug#17567)

2021-09-25  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-new-tab-to): Use ignore-window-parameters.

	Suggested by Adam Porter <adam@alphapapa.net> in
	https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01758.html

2021-09-25  Adam Porter  <adam@alphapapa.net>

	* lisp/tab-line.el: Add modified-buffer face

	(tab-line-tab-modified): New face.
	(tab-line-tab-face-modified): New function.
	(tab-line-tab-face-functions): Use new function.

	* etc/NEWS: Update.

2021-09-25  Mattias Engdegård  <mattiase@acm.org>

	Fix byte-compiler crash for legal dynamic-binding code

	This should really be taken care of by a syntax normalization step in
	the frontend, but there is no such step for non-lexbind code yet.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-letX): Tolerate bindingsa
	without initializing expressions.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
	Add test cases.

2021-09-25  Mattias Engdegård  <mattiase@acm.org>

	Constant-propagate variables bound outside loops

	Previously, variables bound outside `while` loops were not substituted
	inside even in the absence of mutation.  Add the necessary mutation
	checking inside loops to allow propagation of values and aliased
	variables.

	* lisp/emacs-lisp/byte-opt.el
	(byte-optimize--inhibit-outside-loop-constprop): New variable.
	(byte-optimize-form-code-walker): First traverse each loop without
	substitution to discover mutation, then without restrictions.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test-loop): New.
	(bytecomp-tests--test-cases): Add test cases.

2021-09-25  Mattias Engdegård  <mattiase@acm.org>

	Use ambient lexical-binding value in ert-deftest body (bug#50738)

	* lisp/emacs-lisp/ert.el (ert-deftest):
	Evaluate the body of `ert-deftest` with the `lexical-binding` value of
	the source file (or more precisely the value in force when the
	definition is evaluated), which is what everyone expected, instead of
	always using dynamic binding which is what they got until now.
	* test/lisp/emacs-lisp/ert-tests.el
	(ert-test-deftest-lexical-binding-t): New test.

2021-09-25  Mattias Engdegård  <mattiase@acm.org>

	Renege on anonymous &rest (bug#50268, bug#50720)

	Allowing &rest without a variable name following turned out not to be
	very useful, and it never worked properly.  Disallow it.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list):
	* src/eval.c (funcall_lambda):
	Signal error for &rest without variable name.
	* doc/lispref/functions.texi (Argument List): Adjust manual.
	* etc/NEWS (file): Announce.
	* test/src/eval-tests.el (eval-tests--bugs-24912-and-24913):
	Extend test, also checking with and without lexical binding.
	(eval-tests-accept-empty-optional-rest): Reduce to...
	(eval-tests-accept-empty-optional): ...this, again checking
	with and without lexical binding.

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	Clarify define-derived-mode docstring

	* lisp/emacs-lisp/derived.el (define-derived-mode): Doc fixes;
	correctly mention that the mode name is used in the mode line, clarify
	argument types, and how the mode hook is named.  (Bug17567)

	(derived-mode-hook-name, derived-mode-map-name)
	(derived-mode-syntax-table-name, derived-mode-abbrev-table-name):
	Clarify that argument is a symbol.

2021-09-25  Philip Kaludercic  <philipk@posteo.net>

	Add myself as rcirc maintainer

	* lisp/net/rcirc.el (rcirc-sentinel): Use process-status

	* doc/misc/rcirc.texi (Using rcirc with bouncers): Remove confusing sentence

	* lisp/net/rcirc.el (rcirc-reconnect): Use rcirc-reconnect-delay

	* lisp/net/rcirc.el (rcirc-reconnect): Set rcirc-joined

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	* lisp/isearch.el (isearch-forward-regexp): Doc fix.  (Bug22483)

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	Minor clarification of define-minor-mode :keymap argument

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Minor doc fix;
	clarify by saying that ":keymap" should be an "unquoted variable
	name".  (Bug#25505)

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	Buttonize functions in curved quotes in ERC

	* lisp/erc/erc-button.el (erc-button-alist): Buttonize Emacs
	functions in curved quotes.  (Bug#49964)

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	Extend and improve ERT manual section on running interactively

	* doc/misc/ert.texi (Running Tests Interactively): Format commands in
	a table, improve indexing, and add several missing
	commands.  (Bug#41829)

2021-09-25  Stephen Gildea  <stepheng+emacs@gildea.com>

	Update mh-scan regexp to match mh-note-allowlisted

	lisp/mh-e/mh-scan.el (mh-scan-good-msg-regexp, mh-scan-cmd-note-width):
	Update to match new value ("A") of mh-note-allowlisted.

2021-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Document the new paren-space indentation rule

	* doc/emacs/programs.texi (Lisp Indent): Mention the new
	paren-space indentation rule.

2021-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Some NEWS tagging

2021-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	'xref-search-program'-related doc string fixes

	* lisp/progmodes/xref.el (xref-search-program): Mention what this
	variable controls.
	(xref-matches-in-files): Mention the variables that controls it.

2021-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Document the 'string' thingatpt target

	* doc/lispref/text.texi (Buffer Contents): Mention the 'string'
	target.

2021-09-25  Eli Zaretskii  <eliz@gnu.org>

	Fix cursor motion around some Emoji sequences

	* src/character.h: Add TAG_SPACE and CANCEL_TAG to known Unicode
	characters values.
	* src/composite.c (char_composable_p): Recognize TAG characters
	relevant to Emoji as composable regardless of their General
	Category.  (Bug#39799)

2021-09-25  Eli Zaretskii  <eliz@gnu.org>

	Use explicit man-page section in references

	* lisp/dired-aux.el (dired-do-chmod): Use explicit man-page
	section in the doc string.  This avoids inadvertently showing
	the wrong man page, when several identically-named pages are
	possible in different sections.  E.g., there's also chmod(2).

2021-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	save-some-buffers-root doc string change

	* lisp/files.el (save-some-buffers-root): Improve doc string.

2021-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Do some NEWS tagging

2021-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Document redisplay-skip-fontification-on-input

	* doc/emacs/display.texi (Scrolling): Mention
	redisplay-skip-fontification-on-input.

2021-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new user option ispell-help-timeout

	* lisp/textmodes/ispell.el (ispell-help-timeout): New user option.
	(ispell-help): Use it.

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	Set :type of suggest-key-bindings to natnum

	* lisp/simple.el (suggest-key-bindings): Set :type to
	natnum.  (Bug#15809)

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	New :type natnum for defcustom

	* lisp/wid-edit.el (natnum): New widget type.  (Bug#15809)
	* doc/lispref/customize.texi (Simple Types): Document it.

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	* lisp/dired-aux.el (dired-do-chmod): Simplify docstring.

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	Add support for man page hyperlinks in doc strings

	* lisp/help-mode.el (help-man): New button type.
	(help-xref-man-regexp): New const.
	(help-make-xrefs): Use them to allow making man page buttons.
	* doc/lispref/tips.texi (Documentation Tips): Document the new
	hyperlink type.  (Bug#39215)

2021-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix some instances in the Emacs manual with misleading prefix syntax

	* doc/emacs/msdos.texi (Windows Keyboard):
	* doc/emacs/misc.texi (Editing Binary Files):
	* doc/emacs/macos.texi (Mac / GNUstep Events):
	* doc/emacs/kmacro.texi (Basic Keyboard Macro):
	* doc/emacs/glossary.texi (Glossary):
	* doc/emacs/fixit.texi (Spelling): Fix some instances where the
	syntax seems to imply we're talking about a prefix key (bug#50792).

2021-09-25  Manuel Giraud  <manuel@ledu-giraud.fr>

	Make 'C-u C-x v v' handle unregistered files.

	* lisp/vc/vc.el (vc-next-action): Make 'C-u C-x v v' handle
	unregistered files (bug#50602).

2021-09-25  Daniel Martín  <mardani29@yahoo.es>

	Mention the 'r' key in ask-user-about-supersession-help

	* lisp/userlock.el (ask-user-about-supersession-help): Replace "n, and
	then M-x revert-buffer" in the help message with "r", which does the
	same thing.  (Bug#50780)

2021-09-25  akater  <nuclearspace@gmail.com>

	Indent bodies of local function definitions properly in elisp-mode

	* lisp/emacs-lisp/lisp-mode.el (lisp-indent-function): Check for
	local defforms (`cl-flet' and `cl-labels').
	(lisp--local-defform-body): New auxiliary function (bug#9622).

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	Clarify where to find CONTRIBUTE

	* doc/emacs/trouble.texi (Contributing): Say that CONTRIBUTE is
	found in the development version of Emacs.  (Bug#37414)

2021-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Use gzip to uncompess .xz files on MacOS

	* lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Use
	gzip to uncompess .xz files on MacOS (bug#29235).

2021-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Use `temporary-file-directory' in `with-existing-directory'

	* lisp/subr.el (with-existing-directory): Use
	`temporary-file-directory' over TMPDIR.

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	Fix alignment on font size change in tabulated-list-mode

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-col): Fix
	bug where the columns didn't align correctly when using
	'text-scale-mode' to decrease the font size.  (Bug#48639)

2021-09-25  Stefan Kangas  <stefan@marxist.se>

	Doc fix; cl-random is only pseudo-random

	* lisp/emacs-lisp/cl-extra.el (cl-random): Doc fix; say it's only
	pseudo-random.

2021-09-24  Stefan Kangas  <stefan@marxist.se>

	checkdoc: Don't ask to disambiguate mode names

	* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
	Don't ask to disambiguate mode names.  (Bug#4110)

2021-09-24  Stefan Kangas  <stefan@marxist.se>

	Fix recently introduced bug in checkdoc

	* lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Fix
	recently introduced bug where some abbreviations weren't recognized.
	* test/lisp/emacs-lisp/checkdoc-tests.el
	(checkdoc-tests-in-abbrevation-p/basic-case): Extend test.

2021-09-24  Stefan Kangas  <stefan@marxist.se>

	Revert change to use seq-random-elt in Tramp test

	* test/lisp/net/tramp-tests.el (tramp-test44-asynchronous-requests):
	Revert change to use seq-random-elt, as Tramp needs to be compatible
	with Emacs 25, and the function was only added in 26.1.

2021-09-24  Stefan Kangas  <stefan@marxist.se>

	checkdoc: Improve wide line warning to decrease false positives

	* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
	Respect 'byte-compile-docstring-max-column' if it is set.  Allow the
	first line to be three characters longer than the others to account
	for indentation and the opening string character.

2021-09-24  Stefan Kangas  <stefan@marxist.se>

	Use command substitution instead of raw keys in more places

	* admin/authors.el (authors):
	* lisp/abbrev.el (abbrev-suggest-show-report):
	* lisp/calc/calc.el (calc-display-trail, calc):
	* lisp/completion.el (completion-locate-db-error):
	* lisp/dired-x.el (dired-extra-startup):
	* lisp/emacs-lisp/package.el (package-install-selected-packages):
	* lisp/emulation/viper.el (viper-mode):
	* lisp/facemenu.el (list-colors-display):
	* lisp/mail/emacsbug.el (report-emacs-bug-hook):
	* lisp/mail/sendmail.el (mail):
	* lisp/menu-bar.el (menu-bar-mode):
	* lisp/org/org.el (org-revert-all-org-buffers):
	* lisp/progmodes/antlr-mode.el (antlr-help-rules-intro)
	(antlr-insert-makefile-rules):
	* lisp/progmodes/gdb-mi.el (gdb--check-interpreter):
	* lisp/progmodes/xscheme.el (xscheme-process-sentinel):
	* lisp/ps-print.el (ps-font-info-database):
	* lisp/recentf.el (recentf-edit-list, recentf-open-files):
	* lisp/vc/ediff-util.el (ediff-suspend):
	* lisp/vc/pcvs.el (cvs-mode):
	* lisp/vc/vc-bzr.el (vc-bzr-dir-extra-headers): Use command
	substitution.

2021-09-24  Stefan Kangas  <stefan@marxist.se>

	Prefer seq-random-elt to nth+random

	* lisp/emacs-lisp/seq.el (seq-random-elt): Autoload.
	* lisp/avoid.el (mouse-avoidance-random-shape):
	* lisp/epa-ks.el (epa-ks--query-url):
	* lisp/erc/erc-networks.el (erc-server-select):
	* lisp/gnus/gnus-fun.el (gnus--random-face-with-type)
	(gnus-fun-ppm-change-string):
	* lisp/net/soap-inspect.el (soap-sample-value-for-xs-simple-type):
	* lisp/obsolete/landmark.el (landmark-random-move):
	* lisp/play/mpuz.el (mpuz-build-random-perm):
	* lisp/play/zone.el (zone-pgm-stress):
	* lisp/vc/add-log.el (add-change-log-entry):
	* test/lisp/net/tramp-tests.el
	(tramp-test44-asynchronous-requests): Prefer seq-random-elt to
	nth+random.

2021-09-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix auto-revert-test05-global-notify

	* test/lisp/autorevert-tests.el (auto-revert-test05-global-notify):
	Adapt test for killed buffer.

2021-09-24  Robert Pluim  <rpluim@gmail.com>

	Generate skin tone compositions from emoji-sequences.txt

	Read skin tone modifier sequences from emoji-sequences.txt and add
	them to the per-character composition rules derived from
	emoji-zwj-sequences.txt, rather than adding them as lookback rules for
	the skin tone modifiers.  This avoids an issue with the application of
	such lookback rules.  See Bug#39799,
	specifically
	<https://lists.gnu.org/archive/html/bug-gnu-emacs/2021-09/msg01878.html>
	for more details.

	* admin/unidata/Makefile.in (zwj): Add emoji-sequences.txt as a dependency.
	* admin/unidata/emoji-zwj.awk: Match RGI_Emoji_ZWJ_Sequence and
	RGI_Emoji_Modifier_Sequence.  Remove manual addition of skin tone
	composition rules with lookback.

2021-09-24  Robert Pluim  <rpluim@gmail.com>

	Add a few more missing emoji overrides

	* admin/unidata/blocks.awk: Add some more emoji overrides.

2021-09-24  Robert Pluim  <rpluim@gmail.com>

	Move compose-gstring-for-variation-glyph

	It logically belongs in composite.el, not japanese.el

	* lisp/language/japanese.el (compose-gstring-for-variation-glyph):
	Remove from here.
	* lisp/composite.el (compose-gstring-for-variation-glyph): And add here.

2021-09-24  Robert Pluim  <rpluim@gmail.com>

	Update provenance comment in charscript.el

	* admin/unidata/blocks.awk: Update comment about sources used to
	generate charscript.el.

2021-09-24  Juri Linkov  <juri@linkov.net>

	* lisp/gnus/mm-uu.el (mm-uu-type-alist): Add markdown-diff/-emacs-sources

	(Bug#50763)

2021-09-24  Juri Linkov  <juri@linkov.net>

	New thing-at-point target 'string' used in context-menu-region

	* lisp/mouse.el (context-menu-region): Use separate "List" and "String".

	* lisp/thingatpt.el (string): New target 'string'.
	(thing-at-point-bounds-of-string-at-point): New function.
	(thing-at-point-bounds-of-list-at-point): Revert previous commit
	by removing optional args 'escape-strings' and 'no-syntax-crossing'.
	(list-or-string): Remove recently added target 'list-or-string'.
	(thing-at-point-bounds-of-list-or-string-at-point): Remove function.
	https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01737.html

2021-09-24  Basil L. Contovounesios  <contovob@tcd.ie>

	Pacify recent warnings in ansi-color-tests.el

	* test/lisp/ansi-color-tests.el: Remove invalid package keyword
	'ansi', and unused dependency on cl-lib.
	(yellow, bright-yellow): Replace prefix-less dynvars with
	corresponding local lexvars.
	(test-strings): Rename prefix-less dynvar...
	(ansi-color-tests--strings): ...to this.  All users updated.
	(ansi-color-apply-on-region-test)
	(ansi-color-apply-on-region-bold-is-bright-test): Simplify.
	(ansi-color-apply-on-region-preserving-test): Reindent.

2021-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Add `info-lookup-symbol' to the menu

	* lisp/menu-bar.el (menu-bar-search-documentation-menu): Add entry
	for `info-lookup-symbol' (bug#50759).

2021-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Add s Symbol entry in the glossary

	* doc/emacs/glossary.texi (Glossary): Add an entry for Symbol
	(bug#50760).

2021-09-23  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	Do not count git markers as "deleted lines"

	* lisp/vc/diff-mode.el (diff-fixup-modifs): Skip "end of patch"
	markers that `git-format-patch` leaves around (bug#50761).

2021-09-23  Miha Rihtaršič  <miha@kamnitnik.top>

	Fix problems with 'C-c C-n' in sh-script-mode

	* lisp/progmodes/sh-script.el (sh-shell-process): If a *shell* buffer
	doesn't exist, 'C-c C-n' creates one and displays it.  This patch
	prevents it from being displayed in the selected window.
	Additionally, it ensures that the local `sh-shell-process' variable is
	set in the correct buffer (bug#50765).

2021-09-23  Stefan Kangas  <stefan@marxist.se>

	checkdoc: Add abbreviation and simplify

	* lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Add
	abbreviation "a.k.a.".  Simplify.

2021-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in previous man.el change

	* lisp/man.el (Man-ansi-color-map): Fix typo in last checkin.

2021-09-23  Jim Porter  <jporterbugs@gmail.com>

	Add support for "bright" ANSI colors in term-mode

	* lisp/term.el (ansi-term-color-vector): Add new faces.
	(term-color-black, term-color-red, term-color-green, term-color-yellow)
	(term-color-blue, term-color-magenta, term-color-cyan, term-color-white):
	Inherit from 'ansi-color-COLOR'.
	(term-color-bright-black, term-color-bright-red, term-color-bright-green)
	(term-color-bright-yellow, term-color-bright-blue)
	(term-color-bright-magenta, term-color-bright-cyan)
	(term-color-bright-white): New faces.
	(term--maybe-brighten-color): New function.
	(term-handle-colors-array): Handle bright colors.
	* test/lisp/term-tests.el (term-colors, term-colors-bold-is-bright):
	New functions.

2021-09-23  Jim Porter  <jporterbugs@gmail.com>

	Add support for "bright" ANSI colors in ansi-color

	* lisp/ansi-color.el (ansi-color-bold, ansi-color-faint, ansi-color-italic)
	(ansi-color-underline, ansi-color-slow-blink, ansi-color-fast-blink)
	(ansi-color-inverse, ansi-color-red, ansi-color-green, ansi-color-yellow)
	(ansi-color-blue, ansi-color-magenta, ansi-color-cyan, ansi-color-white)
	(ansi-color-bright-red, ansi-color-bright-green, ansi-color-bright-yellow)
	(ansi-color-bright-blue, ansi-color-bright-magenta, ansi-color-bright-cyan)
	(ansi-color-bright-white): New faces.
	(ansi-color-basic-faces-vector, ansi-color-normal-colors-vector)
	(ansi-color-bright-colors-vector): New constants.
	(ansi-color-faces-vector, ansi-color-names-vector): Make obsolete.
	(ansi-color-bold-is-bright): New defcustom.
	(ansi-color--find-face): Sort ANSI codes and check
	'ansi-color-bold-is-bright'.
	(ansi-color-apply-sequence): Support bright ANSI colors.
	(ansi-color-make-color-map, ansi-color-map, ansi-color-map-update):
	Make obsolete.
	(ansi-color-get-face-1): Add BRIGHT parameter.
	* lisp/man.el (Man-ansi-color-basic-faces-vector): New variable.
	(Man-ansi-color-map): Make obsolete.
	(Man-fontify-manpage): Use 'Man-ansi-color-basic-faces-vector' here.
	* test/lisp/ansi-color-tests.el
	(ansi-color-apply-on-region-bold-is-bright-test): New function.

2021-09-23  Stefan Kangas  <stefan@marxist.se>

	Avoid jumping too far in checkdoc-in-abbreviation-p

	* lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Use
	'forward-ward' instead of 'forward-sexp' to avoid jumping too far in
	some situations.  (Bug#50731)

	* test/lisp/emacs-lisp/checkdoc-tests.el
	(checkdoc-tests--abbrev-test): New helper function.
	(checkdoc-tests-in-abbrevation-p/basic-case): Rename from
	'checkdoc-tests-in-abbrevation-p'.
	(checkdoc-tests-in-abbrevation-p/with-parens)
	(checkdoc-tests-in-abbrevation-p/with-escaped-parens): Use above new
	helper function.
	(checkdoc-tests-in-abbrevation-p/single-char)
	(checkdoc-tests-in-abbrevation-p/with-em-dash)
	(checkdoc-tests-in-abbrevation-p/incorrect-abbreviation): New tests.

2021-09-23  Philip Kaludercic  <philipk@posteo.net>

	Handle updates flags when setting flags

	* lisp/gnus/nnmaildir.el (nnmaildir--article-set-flags): Handle
	updated flags more gracefully.

2021-09-23  Dmitry Gutov  <dgutov@yandex.ru>

	A bit less overhead when converting hits

	* lisp/progmodes/xref.el (xref--collect-matches):
	Move 'remote-id' and 'syntax-needed' definitions to the caller
	function.  Bind 'inhibit-modification-hooks' to t (bug#50733).

2021-09-23  Dmitry Gutov  <dgutov@yandex.ru>

	More per-match overhead reduction

	* lisp/progmodes/xref.el (xref--show-common-initialize)
	(xref-revert-buffer): Inhibit modification hooks (bug#50733).
	(xref--insert-xrefs): Cosmetics (no measurable difference here).

2021-09-23  Dmitry Gutov  <dgutov@yandex.ru>

	xref-matches-in-files: Decrease per match and per group overhead

	* lisp/progmodes/xref.el (xref-search-program-alist):
	Add '--null' argument for slightly faster parsing and probably
	better behavior with weirder file names.
	(xref--alistify): Don't accept TEST argument, use 'assoc' instead
	of 'cl-assoc', use a tash table during sorting (bug#50733).

2021-09-23  Philip Kaludercic  <philipk@posteo.net>

	Fix string-distance for two empty strings

	* src/fns.c (Fstring_distance): Avoid using uninitialized memory.
	* test/src/fns-tests.el (test-string-distance): Add test cases.

2021-09-23  Juri Linkov  <juri@linkov.net>

	* lisp/mouse.el (context-menu-region): Use save-excursion for syntax-ppss.

2021-09-23  Juri Linkov  <juri@linkov.net>

	New thing-at-point target 'list-or-string' used in context-menu-region

	* lisp/mouse.el (context-menu-region): Rearrange the order to
	All>Defun>List>Line>Symbol.  Show title either "List" or "String"
	depending on syntax-ppss, then use thing 'list-or-string' (bug#9054).

	* lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point): Add optional
	args 'escape-strings' and 'no-syntax-crossing' like in 'up-list'.
	(list-or-string): New target 'list-or-string'.
	(thing-at-point-bounds-of-list-or-string-at-point): New function.

2021-09-23  Juri Linkov  <juri@linkov.net>

	* lisp/outline.el (outline-minor-mode-cycle-filter): New defcustom (bug#50679)

	(outline-minor-mode-cycle--bind): New helper function.
	(outline-minor-mode-cycle-map): Rename from outline-mode-cycle-map.
	(outline-mode-map): Revert part of 6458e16f33 to disassociate
	keymaps outline-mode-map and outline-minor-mode-cycle-map.
	(outline-font-lock-keywords, outline-minor-mode-highlight-buffer):
	Use outline-minor-mode-cycle-map instead of outline-mode-cycle-map.

	* lisp/help.el (describe-bindings): Rename outline-mode-cycle-map
	to outline-minor-mode-cycle-map.

2021-09-23  Michael Albinus  <michael.albinus@gmx.de>

	* test/infra/Dockerfile.emba: Do not run 'make -j4 bootstrap'.

2021-09-23  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp's make-process on macOS

	* lisp/net/tramp-sh.el (tramp-get-remote-mknod-or-mkfifo): New defun.
	(tramp-sh-handle-make-process): Use it.  (Bug#50748)

2021-09-23  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-cmds.el (tramp-cleanup-connection): Remove trace buffer.

2021-09-23  Philip Kaludercic  <philipk@posteo.net>

	Add aggregate project discovery and maintenance functions

	* lisp/progmodes/project.el (project-remember-project): Add
	optional no-write argument.
	(project-remember-projects-under): Add command.
	(project-forget-zombie-projects): Add command.
	(project-forget-projects-under): Add command.
	* etc/NEWS: Document new commands.

2021-09-23  Dmitry Gutov  <dgutov@yandex.ru>

	Fix vc-annotate-show-log-revision-at-line

	* lisp/vc/vc-annotate.el (vc-annotate-show-log-revision-at-line):
	Stop from being affected by 'vc-git-print-log-follow'.

	* lisp/vc/vc-git.el (vc-git-print-log-follow):
	Mention caveats in a comment.

2021-09-23  Wilson Snyder  <wsnyder@wsnyder.org>

	verilog-mode.el: Backout part of recent change showing wrong comment

2021-09-23  Stefan Kangas  <stefan@marxist.se>

	Clarify which-function tooltip text

	* lisp/progmodes/which-func.el (which-func-format): Clarify tooltip
	text.

2021-09-23  Robert Pluim  <rpluim@gmail.com>

	Improve NEWS entry for 'ffap-file-name-with-spaces'

	* etc/NEWS: Mention default value of 'ffap-file-name-with-spaces'.

2021-09-23  Martin Rudalics  <rudalics@gmx.at>

	;* lisp/whitespace.el (whitespace-display-window): Add doc-string.

2021-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify align-regexp doc string

	* lisp/align.el (align-regexp): Clarify what REGEXP has to
	contain, and which bits are added automatically interactively
	(bug#33541).

2021-09-23  Stefan Kangas  <stefan@marxist.se>

	Add section to refcard explaining our keybinding notation

	* etc/refcards/refcard.tex (Starting Emacs): Delete section.
	(Key Binding Notation): New section.  (Bug#41403)

2021-09-23  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in emoji-zwj.el

	* admin/unidata/emoji-zwj.awk: Add lexical-binding cookie to
	generated fie emoji-zwj.el.

2021-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Expand the `match-string' doc string

	* lisp/subr.el (match-string): Mention some caveats (bug#34214).

2021-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve error messaging from byte-compiling dotted lists

	* lisp/emacs-lisp/cconv.el (cconv-analyze-form): Improve error
	messaging when byte-compiling dotted lists (bug#35186).

	Test case -- byte-compile the following file:

	;;;  -*- lexical-binding: t -*-

	(defun foo ()
	  (+ 1 2)
	  (a . b))

2021-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Move 'kdb-macro-redisplay' key binding

	* doc/emacs/kmacro.texi (Basic Keyboard Macro): Adjust.

	* lisp/kmacro.el (kmacro-keymap): Move 'kdb-macro-redisplay' to
	`C-x C-k d' since upper-case letters are reserved for users (bug#50727).

2021-09-22  Dmitry Gutov  <dgutov@yandex.ru>

	Put './' in the project directory completions

	* lisp/progmodes/project.el (project--read-file-cpd-relative):
	Put './' in the completions set when cpd was in the original
	(bug#50732).

2021-09-22  Juri Linkov  <juri@linkov.net>

	Many improvements for Context Menus (bug#9054)

	* lisp/menu-bar.el (menu-bar-showhide-menu): Add "Context Menus".

	* lisp/mouse.el (context-menu-undo): Add "in Region" to the titles
	when the region is active.
	(context-menu-region): Use 'mouse-yank-from-menu' in menu items
	created from 'yank-menu' for submenu "Paste from Kill Menu".
	(context-menu-region): Add submenu "Select" with things to mark.
	(mark-thing-at-mouse, mouse-yank-from-menu): New functions.

	* lisp/thingatpt.el (bounds-of-thing-at-mouse): New function.

	* lisp/progmodes/elisp-mode.el (elisp-context-menu):
	* lisp/progmodes/prog-mode.el (prog-context-menu):
	Use full symbol/identifier names in :help strings.

	Suggested by Martin Rudalics <rudalics@gmx.at>

2021-09-22  Eli Zaretskii  <eliz@gnu.org>

	Fix build with native compilation but without zlib

	* src/comp.c (comp_hash_source_file): Condition code that requires
	zlib with HAVE_ZLIB.

	* etc/NEWS: Explain that '--without-compress-install' is necessary
	when configuring with native compilation but without zlib.

2021-09-22  Wilson Snyder  <wsnyder@wsnyder.org>

	verilog-mode.el: Enable lexical binding, and merge from upstream.

	* lisp/progmodes/verilog-mode.el: Enable lexical binding.  Templates that
	  used the never-documented `inst' or `submod' variables may need to change
	  to use vl-... variables.
	  (verilog-at-constraint-p): Fix indentation on double curly brackets
	  (#1719) (#1744).  Reported by Nikolay Puzanov.

2021-09-22  Mattias Engdegård  <mattiase@acm.org>

	Don't rely on lexical-binding being nil in tests

	* test/lisp/button-tests.el (button--help-echo-form):
	* test/lisp/files-tests.el (files-tests-permanent-local-variables):
	Remove assumption that `with-temp-buffer` creates a buffer
	where `lexical-binding` is nil.

2021-09-22  Eli Zaretskii  <eliz@gnu.org>

	Doc string fixes in comp.e

	* src/comp.c (Fcomp_el_to_eln_filename)
	(Fcomp_el_to_eln_rel_filename): Doc fix.

2021-09-22  Eli Zaretskii  <eliz@gnu.org>

	Update comments warning about GC-resistant C programming

	* src/eval.c: Remove an outdated comment about protection from GC.
	* src/buffer.h:
	* src/lisp.h: Add warnings about using 'char *' pointers to text
	of Lisp strings and buffer text in code that could GC.  Reported by
	Po Lu <luangruo@yahoo.com>

2021-09-22  Daniel Fleischer  <danflscr@gmail.com>

	Native compilation on macOS: libgccjit not found

	* etc/PROBLEMS: Describe the problem with libgccjit setup on
	macOS.  (Bug#50411)

2021-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Speed up `replace-match' slightly

	* src/search.c (Freplace_match): Speed up non-literal (but
	actually literal) common case.

	This makes

	(benchmark-run 1000000
	  (replace-regexp-in-string
	  "a+" "foo"
	  "ogihdipofdhookfdohkfdpokhpokhfdpokfdhpokfdhkdfkhgoadfphokfkhpofdkhkdpokf"))

	about 10% faster.

2021-09-22  Stephen Gildea  <stepheng+emacs@gildea.com>

	Migrate MH-E functional tests from SourceForge

	* test/lisp/mh-e/mh-limit-tests.el:
	* test/lisp/mh-e/mh-utils-tests.el:
	* test/lisp/mh-e/mh-xface-tests.el:
	Import the functional tests from src/mh-unit.el.

	mh-unit.el is from the old SourceForge mh-e repository, last changed
	in 2017.  To this are applied unmerged patches Mike Kupfer wrote in
	2018 ("Refactor mh-unit into functional and release tests" and
	"Fix the functional tests").

	All tests have been converted to run under Emacs's ERT framework.

	Some tests for mh-utils use MH programs to examine mail folders.
	These tests require an MH variant to be installed on the system; for
	these, added both a mock harness that pretends the needed files and MH
	programs do exist, and a wrapper that creates the necessary mail files.

	New function 'mh-test-utils-setup-with-variant' bears some resemblance
	to 'mh-test-folders-set-up' from the original tests.  New function
	'mh-test-utils-setup-with-mocks' is new functionality for these tests.

2021-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Change how thread-first/thread-last indent the first argument

	* lisp/doc-view.el (doc-view--current-cache-dir): Reindent.

	* lisp/emacs-lisp/subr-x.el (thread-first):
	(thread-last): Change indentation to match examples.
	(internal--build-binding): Reindent.

	* test/lisp/emacs-lisp/subr-x-tests.el
	(subr-x-test-thread-first-function-names-are-threaded):
	(subr-x-test-thread-first-examples):
	(subr-x-test-thread-last-function-names-are-threaded):
	(subr-x-test-thread-last-examples): Reindent.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Make global-auto-revert-non-file-buffers work better

	* lisp/autorevert.el (global-auto-revert-mode): Always switch on
	the non-file tracking.
	(auto-revert--global-possibly-adopt-current-buffer): New function
	to respect dynamically changing `global-auto-revert-non-file-buffers'.

2021-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	(etc-authors-mode--hide-local-variables): Obfuscate more efficiently

2021-09-21  Stefan Kangas  <stefan@marxist.se>

	Fix warning in etc-authors-mode.el

	* lisp/textmodes/etc-authors-mode.el
	(etc-authors-mode--hide-local-variables): Avoid warning.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't quote nil and t in doc strings and comments

	* test/src/minibuf-tests.el (test-try-completion-ignore-case):
	* test/lisp/url/url-auth-tests.el
	(url-auth-test-digest-auth-retrieve-cache):
	* test/lisp/subr-tests.el (subr-tests-add-hook-depth):
	* test/lisp/so-long-tests/so-long-tests.el
	(so-long-tests-invisible-buffer-function):
	* test/lisp/emacs-lisp/tabulated-list-test.el (tabulated-list-sort):
	* src/xfaces.c:
	* src/process.c (Finterrupt_process):
	(syms_of_process):
	* src/minibuf.c (Fread_from_minibuffer):
	(Fcompleting_read):
	(syms_of_minibuf):
	* src/dispnew.c (syms_of_display):
	* src/data.c:
	* lisp/so-long.el (so-long--hack-local-variables):
	* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
	(elisp--xref-find-definitions):
	* lisp/org/ox-html.el (org-html-htmlize-output-type):
	* lisp/org/org-agenda.el (org-agenda-do-in-region):
	* lisp/net/tramp.el:
	* lisp/minibuffer.el (set-minibuffer-message):
	* lisp/isearch.el (isearch-wrap-pause):
	(isearch-repeat-on-direction-change):
	* lisp/emacs-lisp/timer.el (timer):
	* lisp/emacs-lisp/package.el (package-read-archive-contents):
	* lisp/emacs-lisp/faceup.el (faceup-next-property-change):
	* lisp/emacs-lisp/comp.el (comp-func):
	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-empty-p):
	* lisp/emacs-lisp/cl-macs.el (cl-do):
	(cl-do*):
	(cl--self-tco):
	* lisp/emacs-lisp/bytecomp.el (byte-compile-unresolved-functions):
	(byte-compile-cond-jump-table): Don't quote t and nil.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Document isearch-wrap-pause

	* doc/emacs/search.texi (Repeat Isearch): Document
	`isearch-wrap-pause'.

2021-09-21  Stefan Kangas  <stefan@marxist.se>

	New major mode with font-locking for etc/AUTHORS

	* lisp/textmodes/etc-authors-mode.el: New file.  (Bug#50674)
	* etc/AUTHORS (mode): Add "mode: etc-authors" to local variables.
	* admin/authors.el (authors): Add "mode: etc-authors" to local
	variables of the generated AUTHORS file.

2021-09-21  Eli Zaretskii  <eliz@gnu.org>

	Improve recently added documentation

	* doc/lispref/lists.texi (Building Lists):
	* lisp/subr.el (ensure-list): Avoid passive tense in documenting
	'ensure-list'.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new function `ensure-list'

	* doc/lispref/lists.texi (Building Lists): Document it.

	* lisp/subr.el (ensure-list): New function.

	* lisp/emacs-lisp/shortdoc.el (list): Mention it.

2021-09-21  Michael Albinus  <michael.albinus@gmx.de>

	Fix tramp-compat-temporary-file-directory implementation

	* lisp/net/tramp-archive.el
	(tramp-archive-handle-temporary-file-directory):
	Use `tramp-compat-temporary-file-directory-function'.

	* lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory):
	Make it a defconst.

	* lisp/net/tramp.el (tramp-get-debug-buffer, tramp-get-debug-file-name)
	(tramp-debug-message, tramp-file-name-handler, tramp-parse-file)
	(tramp-parse-shostkeys-sknownhosts)
	(tramp-handle-expand-file-name, tramp-handle-make-process)
	(tramp-local-host-p, tramp-call-process)
	(tramp-call-process-region, tramp-process-lines)
	(tramp-read-passwd):
	* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
	* lisp/net/tramp-compat.el (tramp-compat-make-temp-name)
	(tramp-compat-make-temp-file);
	* lisp/net/tramp-crypt.el (tramp-crypt-file-name-for-operation)
	(tramp-crypt-maybe-open-connection, tramp-crypt-send-command)
	(tramp-crypt-do-encrypt-or-decrypt-file-name):
	* lisp/net/tramp-fuse.el (tramp-fuse-mount-point, tramp-fuse-mounted-p)
	(tramp-fuse-unmount):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
	(tramp-sh-handle-expand-file-name)
	(tramp-sh-handle-file-local-copy, )
	(tramp-sh-handle-write-region, tramp-maybe-open-connection):
	* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.

2021-09-21  Stefan Kangas  <stefan@marxist.se>

	Minor clean-up and fixes in checkdoc

	* lisp/emacs-lisp/checkdoc.el: Minor doc fixes.  Remove unnecessary
	space at the end of 'y-or-n-p' prompts.  Move obsolete definitions to
	the end of the file.
	(checkdoc-symbol-words, checkdoc-common-verbs-wrong-voice): Add
	some more common words.

2021-09-21  Stefan Kangas  <stefan@marxist.se>

	checkdoc: New defvars to disable some warnings

	* lisp/emacs-lisp/checkdoc.el (checkdoc--argument-missing-flag)
	(checkdoc--disambiguate-symbol-flag)
	(checkdoc--interactive-docstring-flag): New defvars to disable some
	warnings.  These are intended for use with Emacs itself rather than
	with third-party libraries.
	(checkdoc-this-string-valid, checkdoc-this-string-valid-engine):
	Respect above new variables.

2021-09-21  Stefan Kangas  <stefan@marxist.se>

	Add new command 'checkdoc-dired'

	* lisp/emacs-lisp/checkdoc.el (checkdoc-dired): New command.
	(checkdoc--dired-skip-lines-re): New constant.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	More NEWS tagging

	Do some NEWS tagging

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Document `window-bump-use-time'

	* doc/lispref/windows.texi (Cyclic Window Ordering): Mention
	window-bump-use-time.

2021-09-21  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Preserve all existing tab parameters when switching tabs.

	* lisp/tab-bar.el (tab-bar--tab, tab-bar--current-tab-make):
	Copy other possible tab parameters.
	https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01544.html

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Document completions-detailed

	* doc/emacs/help.texi (Name Help): Document completions-detailed.
	* lisp/minibuffer.el (completions-detailed): Give an example in
	the doc string.

2021-09-21  Michalis V  <mvar.40k@gmail.com>

	Make dired-do-compress-to work in inserted subdirectories

	* lisp/dired-aux.el (dired-do-compress-to): Make this work in file
	in inserted subdirectories (bug#46913).

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make dired-compress-file query for a directory to uncompress to"

	This reverts commit 7e395a59b025c7f4be49294ad806addf5b1a25c9.

	The behavior change isn't good for the majority of tar files.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make recent dired tests check for external executables"

	This reverts commit 98a17f30b8314e40a1edefac3d542d3e105c7bd6.

	Reverting parent commit.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore some of the previous behavior in whitespace-display-window

	* lisp/whitespace.el (whitespace-display-window): Emulate previous
	behavior (bug#50716).  Code from martin rudalics <rudalics@gmx.at>.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't use `format' on strings without % format directives

	* lisp/vc/ediff-init.el (ediff-BAD-INFO):
	* lisp/url/url-ldap.el (url-ldap):
	* lisp/url/url-http.el (url-http--user-agent-default-string):
	* lisp/textmodes/reftex.el (reftex-access-parse-file):
	* lisp/textmodes/reftex-index.el (reftex-index-phrases-info):
	* lisp/textmodes/ispell.el (ispell-create-debug-buffer):
	* lisp/term.el (serial-read-speed):
	* lisp/progmodes/verilog-mode.el (verilog-scan-debug):
	* lisp/progmodes/idlwave.el (idlwave-find-module):
	* lisp/progmodes/compile.el (compilation-revert-buffer):
	* lisp/org/org-agenda.el (org-search-view):
	* lisp/net/telnet.el (telnet-revert-buffer):
	* lisp/net/soap-inspect.el (soap-sample-value-for-xs-simple-type):
	* lisp/net/newst-backend.el (newsticker--cache-read):
	* lisp/mh-e/mh-seq.el (mh-msg-is-in-seq):
	* lisp/mail/smtpmail.el (smtpmail-via-smtp):
	* lisp/mail/emacsbug.el (report-emacs-bug):
	* lisp/jsonrpc.el (jsonrpc-error):
	* lisp/help-fns.el (describe-variable):
	* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt):
	* lisp/gnus/gnus.el (gnus-group-startup-message):
	(gnus-group-startup-message):
	* lisp/gnus/gnus-group.el (gnus-group-restart):
	* lisp/frame.el (make-frame-on-display):
	* lisp/emulation/viper-ex.el (ex-help):
	* lisp/calendar/icalendar.el (icalendar--convert-ical-to-diary):
	(icalendar--add-diary-entry):
	* lisp/calendar/cal-tex.el (cal-tex-end-document):
	* lisp/calc/calcalg3.el (math-ninteg-romberg): Don't use `format'
	on strings that have no % format directives in them.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix usage of `format' in mm-uu-pgp-encrypted-extract

	* lisp/gnus/mm-uu.el (mm-uu-pgp-encrypted-extract): Use
	`substring' instead of `format' to ensure a fresh string.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix usage of `format' in `article-verify-x-pgp-sig'

	* lisp/gnus/gnus-art.el (article-verify-x-pgp-sig): Use
	`substring' instead of `format' to ensure a fresh string.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix PGP verification buttons (which would have cached results)

	* lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract): `format' was used
	here to guarantee a new, fresh string (since it's destructively
	modified), but that's apparently not the case any more.  Use
	`substring' instead, which is documented to do this.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't inhibit redisplay in the mml* functions

	* lisp/gnus/mml-smime.el (inhibit-redisplay): Removed.
	(mml-smime-epg-encrypt):
	(mml-smime-epg-verify): Don't inhibit.

	* lisp/gnus/mml1991.el (mml1991-epg-sign): Ditto.

	* lisp/gnus/mml2015.el (inhibit-redisplay): Removed
	(mml2015-epg-decrypt):
	(mml2015-epg-clear-decrypt):
	(mml2015-epg-verify):
	(mml2015-epg-clear-verify):
	(mml2015-epg-sign):
	(mml2015-epg-encrypt): Don't bind `inhibit-redisplay', because it
	makes debugging very odd, and doesn't seem to help much with anything.

2021-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/python.el (python-syntax-stringify): Extend
	comment about last change.

2021-09-21  Robert Pluim  <rpluim@gmail.com>

	Fix emoji-zwj.awk dolist

	* admin/unidata/emoji-zwj.awk: Fix typo, the dolist should end
	after the first set-char-table-range.

2021-09-21  Glenn Morris  <rgm@gnu.org>

	Make recent dired tests check for external executables

	* test/lisp/dired-aux-tests.el (dired-test-bug47058-tar)
	(dired-test-bug47058-zip): Add skip conditions.

2021-09-21  Dmitry Gutov  <dgutov@yandex.ru>

	Rename project-remove-known-project to project-forget-project

	* doc/emacs/maintaining.texi (Managing Projects): Ditto.

	* etc/NEWS: Update accordingly.

	* lisp/progmodes/project.el (project-forget-project):
	Rename from 'project-remove-known-project', for consistency with
	'project-remember-project' (discussed in bug#50297).

2021-09-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Consistently test alist keys with equal in map.el

	* etc/NEWS: Announce new default behavior of map-elt and map-delete
	on alists.

	* lisp/emacs-lisp/map.el: Bump to version 3.2.
	(map-elt): Test alist keys with equal by default.  Betray a little
	bit more information in the docstring on which functions are used
	for which map types.  (Bug#47368)
	(map-put): Update docstring accordingly.
	(map--plist-delete): Consistently test plist keys with eq.
	(map-delete): Consistently test alist keys with equal.

	* test/lisp/emacs-lisp/map-tests.el (test-map-elt-testfn): Update
	for new map-elt behavior.
	(test-map-put!-alist, test-map-delete-alist): New tests.

2021-09-21  Robert Pluim  <rpluim@gmail.com>

	Remove the emoji script overrides for U+2xxx codepoints

	* admin/unidata/blocks.awk: Remove the overrides for U+261D, U+26F9,
	U+270C..U+270D, and U+2764.  They don't belong in the emoji script.

2021-09-21  Robert Pluim  <rpluim@gmail.com>

	Fix the UK flag sequence composition regexp

	* admin/unidata/emoji-zwj.awk: Fix the regexp for UK flags.
	Thanks to Mattias Engdegård <mattiase@acm.org> and his magic
	regexp checker.

2021-09-21  Robert Pluim  <rpluim@gmail.com>

	Silence byte-compiler warning for network-stream-tests.el

	The api specifically requires a symbol here, so we can't just replace
	nowait with nil.

	* test/lisp/net/network-stream-tests.el
	(open-gnutls-stream-old-api-wait): Add explicit value for nowait
	to silence byte-compiler warning due to Bug#47080.

2021-09-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Avoid double argument evaluation in vc-call macro

	* lisp/vc/vc-hooks.el (vc-call): Ensure second argument is evaluated
	only once (bug#50690).
	* etc/NEWS (Change Logs and VC): Announce this change in behavior.

2021-09-21  João Távora  <joaotavora@gmail.com>

	Make syntax-ppss more accurate for Python triple quotes (bug#49518)

	By putting delimiter syntax on the last character of Python
	triple-quoted strings, this makes syntax-ppss be more accurate.

	Previously:

	    emacs -Q something.py
	    type two single quotes
	    M-: (nth 3 (syntax-ppss))
	    notice how the return value says you're outside a string, correctly
	    type another quote
	    M-: (nth 3 (syntax-ppss))
	    notice how the return value says you're inside a string, correctly
	    backspace the quote just entered
	    M-: (nth 3 (syntax-ppss))
	    notice how the return value says you're inside a string, incorrectly

	With this patch the last step is corrected.  This helps things like
	electric-pair-mode.  Also, the test
	python-syntax-after-python-backspace now passes, again.

	* lisp/progmodes/python.el (python-syntax-stringify): Put
	delimiter syntax in "inner" of the surrounding triple quotes.

	* test/lisp/progmodes/python-tests.el
	(python-syntax-after-python-backspace): Passes again.

2021-09-21  João Távora  <joaotavora@gmail.com>

	Expand and improve electric-pair-mode and Python testing (bug#49518)

	In python-tests.el, the triple-quote pairing tests are passing
	incorrectly, i.e. the auto-pairing functionality they purport to guard
	isn't really working for users trying it interactively.  Added a new
	failing test, soon to be fixed.

	In electric-tests.el, added tests for Python, too.

	* test/lisp/electric-tests.el (define-electric-pair-test): Also run
	main tests for python-mode.  (pair-some-quotes-skip-others): Test
	another slightly different pairing.

	* test/lisp/progmodes/python-tests.el
	(python-triple-double-quote-pairing): Rename from
	python-triple-quote-pairing.
	(python-triple-single-quote-pairing): New test.

2021-09-21  João Távora  <joaotavora@gmail.com>

	Add docstring for 'electric-pair-p-s-i-f' and minor refactor

	Extract the "open newline between pairs behavior" into its own
	function, electric-pair-open-newline-between-pairs-psif.

	* lisp/elec-pair.el (electric-pair-post-self-insert-function): Add
	docstring.
	(electric-pair-open-newline-between-pairs-psif): New function.
	(electric-pair-mode): Add/remove electric-pair-open-newline-between-pairs-psif

2021-09-21  João Távora  <joaotavora@gmail.com>

	Speed up test/lisp/electric-tests.el when run interactively

	'blink-paren-function' and its timers could sometimes interfere with
	the tests and slow them down significantly.

	* test/lisp/electric-tests.el (call-with-saved-electric-modes):
	Bind blink-paren-function to nil.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix whitespace-report window creation

	* lisp/whitespace.el (whitespace-display-window): Avoid creating
	many buffers if called many times (bug#50716).

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Use `special-mode' for whitespace-report

	* lisp/whitespace.el (whitespace-report-region): Use
	`special-mode' instead of `fundamental-mode' (bug#50715).

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Inhibit warning in mm-inline-wash-with-file from previous change

	* lisp/gnus/mm-view.el (mm-inline-wash-with-file): Inhibit warning
	about previous lexical fixup.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problems with non-ASCII non-encoded PGP names

	* lisp/epg.el (epg-signature-to-string): User IDs may be
	non-encoded, non-ASCII (bug#50706).

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in tex--prettify-symbols-alist

	* lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
	varsigma typo (bug#50710).

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix lexical fallout in mm-inline-wash-with-file

	* lisp/gnus/mm-view.el (mm-inline-wash-with-file): This is only
	called from the `links' handler, and it passes in `file' expecting
	that to be dynamically bound.  Which is a very, very confusing
	interface, but make that work again, anyway.

2021-09-21  Michalis V  <mvar.40k@gmail.com>

	Make dired-compress-file query for a directory to uncompress to

	* lisp/dired-aux.el (dired-compress-file-suffixes): Specify the
	directory in the tar targets.
	(dired-uncompress-file): New function (bug#47058).  This asks what
	directory to uncompress to.
	(dired-compress-file): Use it.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Clear netrc cache in auth-source test

	* test/lisp/auth-source-tests.el
	(auth-source-test-netrc-create-secret): Clear the netrc cache, too.

2021-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Only search netrc in the netrc tests

	* test/lisp/auth-source-tests.el
	(auth-source-test-netrc-create-secret): Only search netrc.

2021-09-21  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Remove some last calls to Gnus group name encoding

	This should have been part of cb12a84f2c

	* lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc,
	gnus-inews-do-gcc): Don't encode group names.

2021-09-21  Dmitry Gutov  <dgutov@yandex.ru>

	New command: project-find-dir

	* doc/emacs/maintaining.texi (Project File Commands):
	Mention the new command and update the bindings information.

	* lisp/progmodes/project.el (project-find-dir):
	New command (bug#43153).
	(project-prefix-map): Use 'd' as its binding.
	Move 'project-dired' to 'D'.
	(project-switch-commands):
	Replace 'project-dired' with 'project-find-dir'.

2021-09-20  Robert Pluim  <rpluim@gmail.com>

	Support for Unicode emoji sequences

	This covers both sequences using Zero-Width-Joiner codepoints and
	those without. Bug#39799, I hope.

	* .gitignore: Add emoji-zwj.el
	* admin/notes/unicode: Add emoji-zwj-sequences.txt and
	emoji-sequences.txt references.  Describe how to test after updating
	to a newer Unicode version.
	* admin/unidata/Makefile.in (all): add emoji-zwj.el as a dependency.
	(emoji-zwj.el): Add target plus rules for building.
	(gen-clean): Add emoji-zwj.el.
	* admin/unidata/README: Add emoji-zwj-sequences.txt and
	emoji-sequences.txt references.
	* admin/unidata/blocks.awk: Force emoji script to be used for certain
	codepoints that are used by the Unicode sequences.
	* admin/unidata/emoji-sequences.txt: New file.
	* admin/unidata/emoji-zwj-sequences.txt: New file.
	* admin/unidata/emoji-zwj.awk: New file.  Derives
	composition-function-table rules from emoji-zwj-sequences.txt, plus
	hardcodes some derived manually from emoji-sequences.txt.
	* etc/NEWS: Announce change.
	* lisp/international/characters.el: Load the generated emoji-zwj.el
	* src/Makefile.in (emoji-zwj): New target.
	(temacs): Add emoji-zwj as a dependency.

2021-09-20  Jonas Bernoulli  <jonas@bernoul.li>

	No longer raise error when http authentication failed

	* lisp/url/url-http.el (url-http-handle-authentication): Return t
	instead of raising an error, instructing the caller to invoke the
	request specific error handler (bug#50511).

2021-09-20  Robert Pluim  <rpluim@gmail.com>

	Add a note about testing out-of-tree builds

	* CONTRIBUTE: Ask contributors to test out-of-tree builds when
	making build system changes.

2021-09-20  Robert Pluim  <rpluim@gmail.com>

	Base emoji script membership on Emoji_Presentation

	The Emoji property describes which codepoints can be displayed as
	emoji, but Emoji_Presentation governs which are displayed as emoji by
	default.

	* admin/notes/unicode: Adjust check-emoji-coverage to look in the
	Emoji_Presentation sections of emoji-data.txt
	* admin/unidata/blocks.awk: Assign emoji script using the
	Emoji_Presentation section.

2021-09-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix VC repo URL detection in bug-reference-mode

	* lisp/progmodes/bug-reference.el (bug-reference-try-setup-from-vc):
	Pass file or directory name in question as the first argument to the
	backend's repository-url implementation (bug#50689).  Use when-let
	and seq-some to flatten nested conditionals.

2021-09-20  Eli Zaretskii  <eliz@gnu.org>

	Fix assertion violation with zero-width :box attributes

	* src/xfaces.c (merge_face_ref): Don't allow :box attribute with a
	zero value.  (Bug#50699)

2021-09-20  Michael Albinus  <michael.albinus@gmx.de>

	Remove superfluous skip in auth-source-tests.el

	* test/lisp/auth-source-tests.el
	(auth-source-test-netrc-create-secret): Remove superfluous skip.

2021-09-20  Mattias Engdegård  <mattiase@acm.org>

	Dump with `lexical-binding` bound to nil

	* lisp/loadup.el (dump-mode): Temporarily bind `lexical-binding` to
	nil while dumping.  Otherwise, it will be t in Emacs by default
	and that is not our intention (yet).

2021-09-20  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-new-tab): Add optional arg 'from-number'.

	(tab-bar-mouse-context-menu): Use tab-number as an arg for
	'tab-bar-duplicate-tab'.
	(tab-bar-duplicate-tab): Add optional arg 'from-number'.

2021-09-20  Juri Linkov  <juri@linkov.net>

	Add support for url-retrieve-synchronously to eww-retrieve-command (bug#50680)

	* doc/misc/eww.texi (Advanced): Mention url-retrieve-synchronously
	for eww-retrieve-command.

	* lisp/net/eww.el (eww-retrieve-command): Add choice 'sync' for
	url-retrieve-synchronously.
	(eww-retrieve): Use value 'sync' for url-retrieve-synchronously.
	(eww-isearch-next-buffer): Let-bind eww-retrieve-command to 'sync'.

2021-09-20  Miha Rihtaršič  <miha@kamnitnik.top>

	Improve documentation of exiting recursive editing

	* doc/lispref/commands.texi (Recursive Editing): Mention what happens
	when throwing a string or any other value to 'exit.
	* src/keyboard.c (Frecursive_edit): Document throwing a function
	to 'exit (bug#49700).

2021-09-20  Miha Rihtaršič  <miha@kamnitnik.top>

	Refactor minibuffer aborting

	* lisp/minibuffer.el (minibuffer-quit-recursive-edit): New optional
	argument to specify how many levels of recursion to quit.

	* src/eval.c (internal_catch): Remove special handling of 'exit
	tag (bug#49700).
	* src/minibuf.c (Fabort_minibuffers): Use
	minibuffer-quit-recursive-edit to quit multiple levels of minibuffer
	recursion.

2021-09-20  Philip Kaludercic  <philipk@posteo.net>

	Fix dolist-with-progress-reporter behavior

	* lisp/subr.el (dolist-with-progress-reporter): Use the length of
	list argument as maximal value the reporter with reach.

2021-09-19  Stefan Kangas  <stefan@marxist.se>

	Revert "Flag checkdoc-symbol-words as a :safe variable"

	There was no need for this change, as this variable was already marked
	as :safe.

	This reverts commit 222a7a1a8afdf6921e5981133c605c2d695e9281.

2021-09-19  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults due to 'bug-reference-mode'

	* src/xdisp.c (handle_fontified_prop): Set the frame's
	inhibit_clear_image_cache flag around calls to
	'fontification-functions', to avoid Lisp triggering the clearing
	of image and/or face caches behind redisplay's back.  (Big#50571)

2021-09-19  Eli Zaretskii  <eliz@gnu.org>

	Fix blocks.awk wrt to Emoji characters

	* admin/unidata/blocks.awk: Fix emoji-data.txt processing for
	older Awks.

2021-09-19  Michael Albinus  <michael.albinus@gmx.de>

	Do not save empty passwords in auth-source-search

	* lisp/auth-source.el (auth-source-netrc-create)
	(auth-source-secrets-create): Set :save-function only for non
	empty passwords.

	* lisp/net/tramp.el (tramp-read-passwd): Don't save empty passwords.

	* test/lisp/auth-source-tests.el
	(auth-source-test-secrets-create-secret): Adapt test.
	(auth-source-test-netrc-create-secret): New test.

2021-09-19  Stefan Kangas  <stefan@marxist.se>

	Be explicit about missing sections in eshell manual

	* doc/misc/eshell.texi (Writing a module, Module testing)
	(Directory handling, Key rebinding, Smart scrolling)
	(Terminal emulation): Explicitly say that these sections remain to
	be written.  (Bug#49306)

2021-09-19  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/elisp-mode.el (elisp-context-menu): Improve menu items.

2021-09-19  Ken Brown  <kbrown@cornell.edu>

	Fix build with native compilation on Cygwin

	* src/Makefile.in (emacs$(EXEEXT)) [CYGWIN]: Rebase the *.eln
	files after they are all created, to avoid fork problems later
	in the build.  (Bug#50666)

2021-09-19  Stefan Kangas  <stefan@marxist.se>

	Clarify docstring of pcase-exhaustive

	* lisp/emacs-lisp/pcase.el (pcase-exhaustive): Clarify docstring
	by contrasting with pcase.  (Bug#44166)

2021-09-19  Stefan Kangas  <stefan@marxist.se>

	Make two unused variables obsolete

	* lisp/progmodes/idlw-help.el (idlwave-help-directory)
	(idlwave-help-use-hh): Make unused variables obsolete.

2021-09-19  Stefan Kangas  <stefan@marxist.se>

	* etc/NEWS: Add section on recent checkdoc changes.

2021-09-19  Mattias Engdegård  <mattiase@acm.org>

	Initialize unread buffer

	The reader has an extra 1-char unread buffer that was incorrectly
	initialized to 0, which means that the first character read would
	always be NUL.  As this is often the code that looks for the
	lexical-binding cookie, the first loaded source module would be
	treated as dynamically bound.  During bootstrapping this is loadup.el
	and so its local variables got dumped into the global environment.

	* src/lread.c (unread_char): Initialize to empty.
	(Fload): Initialize here too just in case.

2021-09-19  Stefan Kangas  <stefan@marxist.se>

	checkdoc: Verify format of yes-or-no-p and format-message

	* lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-next-string):
	Check also for "yes-or-no-p" and "format-message".  Convert regexps to
	use rx.

2021-09-19  Stefan Kangas  <stefan@marxist.se>

	Flag checkdoc-symbol-words as a :safe variable

	* lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Flag as a safe
	file local variable.

2021-09-19  Eli Zaretskii  <eliz@gnu.org>

	Teach Mail mode to request Disposition Notifications

	* lisp/mail/sendmail.el (mail-insert-disposition-notification-to):
	New function.
	(mail-mode-map): Add it to key bindings and menu bar.

2021-09-19  Amin Bandali  <bandali@gnu.org>

	Add new '/opme' and '/deopme' convenience ERC commands

	* lisp/erc/erc.el (erc-cmd-OPME, erc-cmd-DEOPME): Add convenience
	commands for setting and unsetting the operator status on the current
	nick in the current channel.  'erc-cmd-OPME' relies on ChanServ for
	obtaining the operator status (see doc string for more details).

	* etc/NEWS: Announce the addition of the commands.

2021-09-19  Stefan Kangas  <stefan@marxist.se>

	Revert previous mode-line-modes change to unbreak bootstrap

	* lisp/bindings.el (mode-line-modes): Revert previous change to
	unbreak bootstrap.

2021-09-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Viper doc string fix

	* lisp/emulation/viper-keym.el (viper-want-ctl-h-help): Fold
	over-long first line.

2021-09-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix viper-util compilation warning

	* lisp/emulation/viper-util.el (cl-lib): Require for cl-subseq.

2021-09-18  Stefan Kangas  <stefan@marxist.se>

	* etc/NEWS: Shorten entry on move to Libera.Chat.

2021-09-18  Stefan Kangas  <stefan@marxist.se>

	Use command substitution in checkdoc-recursive-edit

	* lisp/emacs-lisp/checkdoc.el (checkdoc-recursive-edit): Use command
	substitution.
	(checkdoc--help-buffer): New variable.  Use it instead of hard-coded
	string.

2021-09-18  Stefan Kangas  <stefan@marxist.se>

	Use command substitution for exit-recursive-edit

	* lisp/bindings.el (mode-line-modes):
	* lisp/emacs-lisp/checkdoc.el (checkdoc-recursive-edit): Use command
	substitution for 'exit-recursive-edit'.

2021-09-18  Juri Linkov  <juri@linkov.net>

	* lisp/subr.el (string-replace): Add dashes to arg names (bug#50644)

	* lisp/net/tramp-compat.el (tramp-compat-string-replace): Idem.
	* doc/lispref/searching.texi (Search and Replace): Idem.

2021-09-18  Arthur Miller  <arthur.miller@live.com>

	Add new help-enable-symbol-autoload user option

	* lisp/help-fns.el (help-fns--analyze-function): Use it.
	* lisp/help-fns.el (help-enable-symbol-autoload): New user option.
	* doc/emacs/help.texi (Name Help): Document it.

2021-09-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention xref-quit-and-pop-marker-stack in the manual

	* doc/emacs/maintaining.texi (Xref Commands): Mention
	xref-quit-and-pop-marker-stack in the manual.

2021-09-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Do some xwidget NEWS markup (and adjust doc string)

	* lisp/xwidget.el (xwidget-webkit-bookmark-make-record): Mention
	`xwidget-webkit-bookmark-jump-new-session' in the doc string.

2021-09-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Make argument optional in pulse-momentary-highlight-one-line

	* lisp/cedet/pulse.el (pulse-momentary-highlight-one-line): Make
	POINT optional (bug#50642) so that the function can be used more
	easily from some hook functions.

2021-09-18  Dan Ports  <dan@drkp.net>  (tiny change)

	Use the newest gcc installed by Macports

	* configure.ac: There may be more than one gcc version installed
	in Macports (bug#50649).  Use the newest.

2021-09-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Fontify Libtool macros in autoconf-mode

	* lisp/progmodes/autoconf.el (autoconf-font-lock-keywords): Apply
	font-lock-keyword-face also to Libtool's LT_* macros (bug#50659).

2021-09-18  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings of a recent commit

	* lisp/emacs-lisp/generator.el (iter-defun):
	* lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln):
	* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode):
	* lisp/emacs-lisp/autoload.el (autoload-insert-section-header):
	Include description of arguments in the doc string's first line.

2021-09-18  Mattias Engdegård  <mattiase@acm.org>

	Regexp-quote literal symbols when grepping

	`xref-find-references` was unable to find symbols like
	`backquote-list*-macro`.

	* lisp/cedet/semantic/symref/grep.el
	(semantic-symref-grep--quote-extended): New function.
	(semantic-symref-perform-search): Call it.

2021-09-18  Eli Zaretskii  <eliz@gnu.org>

	Fix performance degradation in commands that describe key bindings

	* src/keymap.c (syms_of_keymap)
	<describe-bindings-check-shadowing-in-ranges>: New variable.
	(describe_vector): Check shadowing of consecutive keys only if
	'describe-bindings-check-shadowing-in-ranges' is non-nil.  Remove
	redundant second loop when VECTOR is a char-table.  Improve
	comments.  Patch by Stefan Kangas <stefan@marxist.se>.  (Bug#45379)

	* test/src/keymap-tests.el
	(help--describe-vector/bug-9293-one-shadowed-in-range): Adapt the
	test case for the new variable.

2021-09-18  Stefan Kangas  <stefan@marxist.se>

	* lisp/emacs-lisp/checkdoc.el: Doc fix; mention flymake.

	Do interactive mode tagging for checkdoc.el

2021-09-18  Stefan Kangas  <stefan@marxist.se>

	checkdoc: Only look for commonly used modifier keys

	* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
	Search for the modifier key "s-", but not the modifier key "A-".
	The latter is very uncommon and leads to false positives.

2021-09-18  Michael Albinus  <michael.albinus@gmx.de>

	Skip "fast" tests on emba CI

	* test/infra/gitlab-ci.yml (stages): Comment "fast" stage out.
	(test-fast-inotify): Comment out.

2021-09-18  Stefan Kangas  <stefan@marxist.se>

	Add indent declaration to emerge-defvar-local

	* lisp/vc/emerge.el (emerge-defvar-local): Add indent declaration
	for docstring.  Fix wrongly indented callers.

2021-09-18  Stefan Kangas  <stefan@marxist.se>

	Make doc argument of emerge-defvar-local optional

	* lisp/vc/emerge.el (emerge-defvar-local): Make doc argument
	optional.

2021-09-18  Stefan Kangas  <stefan@marxist.se>

	Make doc argument of ediff-defvar-local optional

	* lisp/vc/ediff-init.el (ediff-defvar-local): Make DOC argument
	optional.  Update callers passing the empty string to not use it.

2021-09-18  Federico Tedin  <federicotedin@gmail.com>

	Check for null bytes in filenames in 'expand-file-name' (bug#49723)

	* src/fileio.c (expand-file-name): Check for null bytes for both
	NAME and DEFAULT-DIRECTORY arguments.  Also check for null bytes
	in buffer-local default-directory, assuming it is used.
	* src/coding.c (encode_file_name): Use CHECK_STRING_NULL_BYTES.
	* src/lisp.h (CHECK_STRING_NULL_BYTES): Add function for checking
	for null bytes in Lisp strings.
	* test/src/fileio-tests.el (fileio-test--expand-file-name-null-bytes):
	Add test for new changes to expand-file-name.
	* etc/NEWS: Announce changes.

2021-09-18  Amin Bandali  <bandali@gnu.org>

	* lisp/erc/erc.el: Add Package-Requires and URL headers.

2021-09-18  Amin Bandali  <bandali@gnu.org>

	* etc/NEWS: Announce update of IRC-related references to point to Libera.Chat.

	Also remove the note about freenode subdomain change, as it's not
	relevant anymore.

2021-09-17  Stefan Kangas  <stefan@marxist.se>

	Update refcard to mention iconify before suspend

	* etc/refcards/refcard.tex (section{Leaving Emacs}): Put iconify
	Emacs ahead of suspend.

2021-09-17  Stefan Kangas  <stefan@marxist.se>

	checkdoc: 'y-or-n-p' no longer needs space

	* lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
	Change 'y-or-n-p' check to accept prompt ending with both "? " or "?",
	that is, it no longer needs the space.  (Bug#50621)
	(checkdoc--fix-y-or-n-p): New helper function.
	* test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests-fix-y-or-n-p)
	(checkdoc-tests-fix-y-or-n-p/no-change)
	(checkdoc-tests-fix-y-or-n-p/with-space): New tests.

2021-09-17  Robert Pluim  <rpluim@gmail.com>

	Move emoji fontset addition later

	* lisp/international/fontset.el (setup-default-fontset): Move the
	fontset addition for emoji script after that for various graphic-like
	characters, since they overlap, and we want the emoji setting to win.

2021-09-17  Martin Joerg  <martin.joerg@gmail.com>  (tiny change)

	* lisp/net/tramp-sh.el (tramp-methods) <rsync>: Separate "%c" marker.

2021-09-17  Robert Pluim  <rpluim@gmail.com>

	Fix emoji-induced build breakage

	* admin/unidata/blocks.awk: Cater for out-of-tree builds, match
	the name of the file using regexp rather than exact match.

2021-09-17  Uwe Brauer  <oub@mat.ucm.es>

	Replace hex representation by its literal form in pretty tex symbols

	* lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
	Correct error \Bbb{T}, replace hex representation by its literal
	form (bug#50645).

2021-09-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak how term-emulate-terminal selects windows

	* lisp/term.el (term-emulate-terminal): Don't record the selection
	of the window here, because we're not doing a user-level window
	selection, but just selecting the window for internal purposes
	(bug#41984).

2021-09-17  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/elisp-mode.el (elisp-context-menu): Improve menu items.

2021-09-17  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el (repeat-echo-message): Clear only own added part of message.

	(describe-repeat-maps, repeat-mode): Refer to each other in docstrings.

2021-09-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Stop imenu indexing after a certain number of seconds

	* doc/emacs/programs.texi (Imenu): Document it.
	* lisp/imenu.el (imenu-max-index-time): New user option.
	(imenu-default-create-index-function, imenu--generic-function):
	Use it (bug#18696).

2021-09-17  Manuel Giraud  <manuel@ledu-giraud.fr>

	Fix typo in idlwave

	* lisp/progmodes/idlwave.el (idlwave-keyword-abbrev): Fix typo
	(bug#50638).

2021-09-17  Uwe Brauer  <oub@mat.ucm.es>

	Add more symbols to tex--prettify-symbols-alist

	* lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add
	mathbb, caligraphic letters, fractur, varkappa and
	\|. (bug#50639).

2021-09-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention that the garbage collection is conservative

	* doc/lispref/internals.texi (Garbage Collection): Mention that
	we're using a conservative gc (bug#42013).

2021-09-17  Stephen Gildea  <stepheng+emacs@gildea.com>

	MH-E: fix check for nmh or Mailutils installation

	* lisp/mh-e/mh-e.el (mh-variant-gnu-mh-info, mh-variant-nmh-info):
	Run install-mh, not mhparam, to check whether an MH variant is
	installed on the system.  mhparam fails if no user profile is found,
	so it is not a reliable check of the state of the system as a whole.

	Tested with:
	nmh 1.4, nmh 1.7.1, GNU Mailutils 2.2, GNU Mailutils 3.7, GNU Mailutils 3.13

2021-09-17  Eli Zaretskii  <eliz@gnu.org>

	Fix display of stretch glyphs

	* src/xterm.c (x_draw_stretch_glyph_string):
	* src/w32term.c (w32_draw_stretch_glyph_string): Fix drawing
	stretch glyphs when the window is hscrolled.  (The original
	pre-Jan-2021 code was almost correct, except that it used
	'window_box_left_offset' instead of 'window_box_left', and didn't
	restrict the background_width fixup to text-area.)  (Bug#50564)

2021-09-17  Robert Pluim  <rpluim@gmail.com>

	Split Unicode emoji into their own script

	* admin/notes/unicode: Describe how to update emoji for new Unicode release.
	* admin/unidata/Makefile.in: Pass emoji-data.txt to
	blocks.awk script.
	* admin/unidata/README: Add pointer to emoji-data.txt file.
	* admin/unidata/blocks.awk: Parse emoji-data.txt, add emoji codepoints
	to the 'emoji' script (except for the ASCII ones).
	* admin/unidata/emoji-data.txt: New file.
	* etc/NEWS: Describe new 'emoji' script.
	* etc/TODO: Update item about 'emoji' script.
	* lisp/international/fontset.el (script-representative-chars): Add
	'emoji' script.
	(setup-default-fontset): Add 'emoji' script.  Use "Noto Color Emoji"
	as default font for it.

2021-09-17  Dmitry Gutov  <dgutov@yandex.ru>

	xref-matches-in-files: Move sorting to Lisp

	For better compatibility with different systems.
	Performance is unaffected, except in very pathological cases
	(~100000 matches), and even then the overhead of 'sort' is comparable.

	* lisp/progmodes/xref.el (xref-search-program-alist):
	Drop the piping through 'sort'.
	(xref-matches-in-files): Sort here instead.
	Do that to both searchers' output as well now.

2021-09-17  Eli Zaretskii  <eliz@gnu.org>

	Improve the documentation of a recent change

	* etc/NEWS:
	* doc/lispref/sequences.texi (Sequence Functions): Improve
	documentation of 'seq-union'.

2021-09-17  Stefan Kangas  <stefan@marxist.se>

	Improve performance of seq-union

	* lisp/emacs-lisp/seq.el (seq-union): Improve performance by using
	nreverse instead of seq-reverse.

2021-09-17  Stefan Kangas  <stefan@marxist.se>

	Make viper-subseq into obsolete alias for cl-subseq

	* lisp/emulation/viper-util.el (viper-subseq): Make into obsolete
	function alias for 'cl-subseq'.  Update callers.

2021-09-17  Stefan Kangas  <stefan@marxist.se>

	* lisp/vc/ediff-util.el (ediff-member): Make obsolete.

2021-09-17  Stefan Kangas  <stefan@marxist.se>

	Make ediff-set-difference into obsolete alias for seq-difference

	* lisp/vc/ediff-util.el (ediff-set-difference): Make into obsolete
	function alias for 'seq-difference'.
	* lisp/vc/ediff-mult.el (ediff-intersect-directories): Update single caller.

2021-09-17  Stefan Kangas  <stefan@marxist.se>

	Make ediff-intersection into obsolete alias for seq-intersection

	* lisp/vc/ediff-util.el (ediff-intersection): Make into obsolete
	function alias for 'seq-intersection'.
	* lisp/vc/ediff-mult.el (ediff-intersect-directories): Update
	single caller.

2021-09-17  Stefan Kangas  <stefan@marxist.se>

	Make ediff-union into obsolete alias for seq-union

	* lisp/emacs-lisp/seq.el (seq-union): Autoload.
	* lisp/vc/ediff-util.el (ediff-union): Make into obsolete function
	alias for 'seq-union'.
	* lisp/vc/ediff-mult.el (ediff-intersect-directories): Update single
	caller.

2021-09-17  Stefan Kangas  <stefan@marxist.se>

	Add new sequence function 'seq-union'

	* lisp/emacs-lisp/seq.el (seq-union): New function.
	* doc/lispref/sequences.texi (Sequence Functions):
	* lisp/emacs-lisp/shortdoc.el (sequence): Document above new
	function.
	* test/lisp/emacs-lisp/seq-tests.el (test-seq-union): New test.

2021-09-17  Stefan Kangas  <stefan@marxist.se>

	* lisp/allout.el (allout-old-expose-topic): Make obsolete.

2021-09-17  John Cummings  <john@rootabega.net>  (tiny change)

	Fix disk-free info in 'insert-directory'

	* lisp/files.el (insert-directory): Call 'get-free-disk-space'
	with the argument FILE, to make sure the reported info is for the
	correct volume.  (Bug#50630)

2021-09-17  Michael Albinus  <michael.albinus@gmx.de>

	Fix annoyance in tramp-smb.el

	* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
	Add "TERM=dumb".

2021-09-17  Olivier Certner  <olce.emacs@certner.fr>
	    F. Jason Park  <jp@neverwas.me>

	ERC: NickServ: Prompt for password last, overall simplifications (bug#46777)

	When 'erc-prompt-for-nickserv-password' is non-nil, don't ignore the
	other forms of identification.  Instead, process them first, and
	prompt for the password last.  Separate concerns (determination of the
	nick to use, of the password to use, and actual message sending).

	Note that the user can be interactively prompted for a password on
	reception of a NickServ request, as before (on
	'erc-prompt-for-nickserv-password').

	* lisp/erc/erc-services.el (erc-nickserv-identify): Make the password
	argument optional (and don't prompt for it interactively).  Further,
	now take the nick to use for identification (interactively, ask for
	it, defaulting to the current one).  Move the actual message sending
	into the new 'erc-nickserv-send-identify' function, and the password
	prompting into 'erc-nickserv-get-password'.

	(erc-nickserv-send-identify): New function containing the code for
	sending the identify message to NickServ, given the nick and password.

	(erc-nickserv-get-password): Try each password source in turn, in the
	following order: 'erc-nickserv-passwords', auth-source (if
	'erc-use-auth-source-for-nickserv-password' is non-nil), and in the
	end prompt the user interactively (if
	'erc-prompt-for-nickserv-password' is non-nil).  If one source returns
	a string, the function returns it, or nil if the string is empty.

	(erc-nickserv-call-identify-function): Declare obsolete, but retain
	for backward compatibility.  Prefer invoking 'erc-nickserv-identify'
	directly instead.

	(erc-nickserv-identify-autodetect, erc-nickserv-identify-on-connect)
	(erc-nickserv-identify-on-nick-change): Call 'erc-nickserv-identify'
	directly ('erc-nickserv-call-identify-function' has been obsoleted).
	For the last two functions, remove the redundant checks on the
	NickServ identification flags (additionally, it is doubtful they have
	any measurable impact on performance).

	* etc/NEWS: Announce the change.

2021-09-17  Amin Bandali  <bandali@gnu.org>

	* lisp/erc/erc-button.el (erc-emacswiki-url): Update to shorter address.

2021-09-17  Alfred M. Szmidt  <ams@gnu.org>

	* lisp/vc/vc.el: API doc fixes.

2021-09-17  Manuel Giraud  <manuel@ledu-giraud.fr>

	Reuse vc-read-backend more

	* lisp/vc/vc.el (vc-read-backend): New optional arguments.
	(vc-create-repo): Use it here.
	(vc-switch-backend): And here (bug#50603).

2021-09-16  Stefan Kangas  <stefan@marxist.se>

	Docfix: use command substitution for 'universal-argument'

	* lisp/autoarg.el (autoarg-mode):
	* lisp/bookmark.el (bookmark-set, bookmark-set-no-overwrite)
	(bookmark-save):
	* lisp/calendar/todo-mode.el (todo-insert-item)
	(todo-filter-top-priorities)
	(todo-filter-top-priorities-multifile):
	* lisp/dired-x.el (dired-mark-extension, dired-mark-suffix):
	* lisp/eshell/eshell.el (eshell):
	* lisp/gnus/gnus-group.el (gnus-group-find-new-groups):
	* lisp/gnus/gnus-start.el (gnus-find-new-newsgroups):
	* lisp/gnus/gnus-sum.el (gnus-summary-show-article):
	* lisp/gnus/gnus.el (gnus-secondary-servers):
	* lisp/org/org-timer.el (org-timer-set-timer):
	* lisp/org/ox.el (org-export-dispatch-last-position):
	* lisp/printing.el (pr-ps-directory-preview)
	(pr-ps-directory-using-ghostscript, pr-ps-directory-print)
	(pr-ps-directory-ps-print, pr-ps-buffer-preview)
	(pr-ps-buffer-using-ghostscript, pr-ps-buffer-print)
	(pr-ps-buffer-ps-print, pr-despool-preview)
	(pr-despool-using-ghostscript, pr-despool-print)
	(pr-despool-ps-print, pr-ps-file-up-ps-print, pr-ps-fast-fire)
	(pr-txt-fast-fire):
	* lisp/progmodes/idlwave.el (idlwave-complete):
	* lisp/progmodes/sh-script.el (sh-set-shell):
	* lisp/replace.el (occur):
	* lisp/ses.el (ses--advice-yank):
	* lisp/simple.el (set-mark-command-repeat-pop):
	* lisp/sort.el (delete-duplicate-lines):
	* lisp/strokes.el (strokes-help):
	* lisp/textmodes/artist.el (artist-mode):
	* lisp/textmodes/reftex-cite.el (reftex-citation):
	* lisp/textmodes/reftex-dcr.el (reftex-view-crossref):
	* lisp/textmodes/reftex-index.el (reftex-index-selection-or-word)
	(reftex-display-index):
	* lisp/textmodes/reftex-ref.el (reftex-reference):
	* lisp/textmodes/reftex-toc.el (reftex-toc):
	* lisp/textmodes/reftex-vars.el (reftex-cite-prompt-optional-args)
	(reftex-enable-partial-scans):
	* lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
	* lisp/windmove.el (windmove-display-in-direction)
	(windmove-delete-left, windmove-delete-up)
	(windmove-delete-right, windmove-delete-down):
	* lisp/window.el (recenter-window-group, recenter-other-window): Use
	command substitution for 'universal-argument' instead of raw "C-u".

2021-09-16  Michael Albinus  <michael.albinus@gmx.de>

	Tramp code cleanup

	* lisp/net/tramp-sh.el (tramp-methods) <telnet, nc>:
	Reintroduce "%n" marker.
	(tramp-maybe-open-connection): Handle it.

	* lisp/net/tramp.el (tramp-prefix-regexp):
	* lisp/net/tramp-smb.el (tramp-smb-options): Fix docstring.

	* lisp/net/tramp*.el: Fix typos.  Remove trailing space from
	`yes-or-no-p' and `y-or-n-p' prompts.

	* test/lisp/net/tramp-tests.el (tramp--test-telnet-p): New defun.
	(tramp-test29-start-file-process, tramp-test30-make-process)
	(tramp-test35-remote-path, tramp-test44-asynchronous-requests):
	Adapt tests.

2021-09-16  Wilson Snyder  <wsnyder@wsnyder.org>

	verilog-mode.el: Merge from upstream: prepare for lexical bindings.

	* lisp/progmodes/verilog-mode.el (verilog-do-indent)
	(verilog-indent-declaration, verilog-read-always-signals-recurse)
	(verilog-read-decls): Prepare for lexical bindings.

2021-09-16  Eli Zaretskii  <eliz@gnu.org>

	Support '...' quoting in Lisp files

	* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
	Support quoting 'like this'.

2021-09-16  Augusto Stoffel  <arstoffel@gmail.com>

	Make 'compile' respect buffer-local process environment

	* lisp/progmodes/compile.el (compilation-start): Use
	`process-environment' from original buffer in the compilation
	process (bug#50607).

2021-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Bind `M-o' in html-mode and enriched-mode

	* lisp/textmodes/enriched.el (enriched-mode-map): Actually define
	the `M-o' face map.

	* lisp/textmodes/sgml-mode.el (html-mode-map): Ditto (bug#50616).

	* lisp/textmodes/sgml-mode.el (html-mode): Adjust doc string.

2021-09-16  Kevin Brubeck Unhammer  <unhammer@fsfe.org>

	Allow irc network symbols in erc-autojoin-channels-alist

	* lisp/erc/erc-join.el (erc-autojoin-channels-alist): Explain the
	extension.
	(erc-autojoin-server-match): New function.
	(erc-autojoin-channels): Use it.
	(erc-autojoin-current-server): New function.
	(erc-autojoin-add): Use it.
	(erc-autojoin-remove): Ditto.

	This can be useful when connecting to an IRC proxy like Weechat that
	relays several networks under the same server. If we just keyed on the
	server name, we would end up joining a channel on all networks
	whenever we join one network on that server.

	Networks are simply stored as symbols instead of regexes, since that's
	how `erc-network' works.

	The `erc-autojoin-add' function will still auto-add servers as strings
	if the network doesn't have at least one entry in
	`erc-autojoin-channels-alist'.

2021-09-16  Stefan Kangas  <stefan@marxist.se>

	Prefer "website" to "homepage"

	These days, a "home page" is understood to be only "the main web page
	of a website" or "landing page", whereas a "website" is "a collection
	of web pages and related content" (Wikipedia).

	* doc/emacs/emacs.texi (Top):
	* doc/emacs/package.texi (Package Menu):
	* doc/lispintro/emacs-lisp-intro.texi (Top):
	* doc/lispref/elisp.texi (Top):
	* doc/lispref/tips.texi (Documentation Tips):
	* doc/misc/ede.texi (ede-project):
	* doc/misc/efaq-w32.texi (More information):
	* doc/misc/gnus-faq.texi (FAQ 5-7):
	* doc/misc/gnus.texi (About mairix):
	* doc/misc/mairix-el.texi (About):
	* doc/misc/reftex.texi (AUCTeX, Imprint):
	* lisp/cedet/ede/base.el (ede-project):
	* lisp/cedet/ede/system.el (ede-web-browse-home):
	* lisp/emacs-lisp/package.el (package-menu-mode-menu)
	(package-browse-url):
	* lisp/erc/erc-button.el (erc-emacswiki-url):
	* lisp/filesets.el (filesets-goto-homepage):
	* lisp/net/mairix.el:
	* lisp/net/webjump.el (webjump-sample-sites):
	* lisp/obsolete/vc-arch.el:
	* lisp/progmodes/idlw-shell.el (idlwave-shell-mode):
	* lisp/progmodes/idlwave.el (idlwave, idlwave-mode):
	* lisp/textmodes/reftex-vars.el (reftex):
	Prefer "website" to "home page".

	* doc/lispref/tips.texi (Documentation Tips):
	Sort the "URL" header comment before "Homepage".

	* lisp/emacs-lisp/lisp-mnt.el
	(lm-website): Rename from 'lm-homepage'.
	(lm-homepage): Make into alias for 'lm-website'.

2021-09-16  F. Jason Park  <jp@neverwas.me>

	Change the erc debug logging format to be more repeatable

	* lisp/erc/erc.el (erc-debug-irc-protocol): Fix line-ending
	mismatch between incoming and outgoing logger lines without
	changing interface.  Do this by adding carriage returns to the
	latter to improve machine readability.  Change printed peer labels
	to most accurately reflect logical endpoints.

	(erc-debug-irc-protocol-time-format): Add new variable to support
	timestamps in protocol logger output.

	(erc-debug-irc-protocol-version): Add new variable to help tooling
	track logging format independent of ERC and Emacs versions.

	(erc-toggle-debug-irc-protocol): Add headers to protocol-log buffer
	to aid future bug-reproduction tools. Clean up overlong lines (bug#50009).

2021-09-16  F. Jason Park  <jp@neverwas.me>

	Fix erc nick trimming

	* lisp/erc/erc.el (erc-lurker-maybe-trim): Prevent warning from
	showing up in third-party code using this function by autoloading
	rx.el when needed.  Remove trailing chars appended for uniquifying
	purposes when a nick is already taken. Special thanks to Mattias
	Engdegård for making this more respectable (Bug#50005).

	* test/lisp/erc/erc-tests.el: Add tests for the above and require
	erc-networks.

2021-09-16  F. Jason Park  <jp@neverwas.me>

	Fix mistake in test for erc-ring-previous-command

	* test/lisp/erc/erc-tests.el (erc-ring-previous-command):
	The variable erc-send-completed-hook was previously set to nil
	permanently, which would affect other tests (bug#50005).

2021-09-16  Stefan Kangas  <stefan@marxist.se>

	Do interactive mode tagging for play/*.el

2021-09-16  Eli Zaretskii  <eliz@gnu.org>

	Clarify use of early-init file

	* doc/emacs/custom.texi (Early Init File): Clarify that using the
	early-init file should be reserved to cases where it is absolutely
	necessary.  (Bug#50491)

2021-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify test-completion doc string

	* src/minibuf.c (Ftest_completion): Clarify what it means to be a
	valid completion (bug#50583).

2021-09-16  Stefan Kangas  <stefan@marxist.se>

	Remove references to dead packages

	* etc/themes/manoj-dark-theme.el: Delete references to colortheme and
	emacs-goodies.

2021-09-16  Stefan Kangas  <stefan@marxist.se>

	Make a redundant idlwave variable obsolete

	* lisp/progmodes/idlw-help.el (idlwave-help-browse-url-available):
	Make obsolete.
	(idlwave-help-check-locations): Don't use above variable.

2021-09-16  Stefan Kangas  <stefan@marxist.se>

	Various minor checkdoc tweaks

	* lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Add more
	"good" words that are used a lot in practice, and where using them
	doesn't really hurt the quality of the documentation.
	(checkdoc-proper-noun-list): Add "dired", remove "ispell"; the
	latter should not always be capitalized.
	(checkdoc-common-verbs-wrong-voice): Add some more common words.
	Don't check for "matches" as it leads to too many false positives and
	almost no fixes in practice.
	(checkdoc-this-string-valid-engine): Clarify comment.
	(checkdoc-in-abbreviation-p): Ignore some less common or non-standard
	abbreviations.

2021-09-16  Stefan Kangas  <stefan@marxist.se>

	Doc fix for y-or-n-p; trailing space is no longer needed

	* doc/lispref/minibuf.texi (Yes-or-No Queries):
	* doc/lispref/os.texi (Suspending Emacs):
	* doc/lispref/tips.texi (Programming Tips):
	* doc/misc/gnus-faq.texi (FAQ 5-9):
	* lisp/subr.el (y-or-n-p):
	* src/fns.c (Fyes_or_no_p): Doc fix to reflect that a trailing space
	is no longer needed; one is added or removed automatically.

2021-09-16  Stefan Kangas  <stefan@marxist.se>

	* doc/misc/pgg.texi: Clarify that its obsolete in the menu entry.

2021-09-15  Stefan Kangas  <stefan@marxist.se>

	Remove function obsolete since 22.1

	* lisp/erc/erc-networks.el (erc-current-network): Remove function
	obsolete since Emacs 22.1.

2021-09-15  Eli Zaretskii  <eliz@gnu.org>

	Documentation followup to a recent commit

	* doc/lispref/tips.texi (Documentation Tips): Make the wording of
	recommendation not to over-use \\[..] more future-proof.
	(Bug#50599)

2021-09-15  Basil L. Contovounesios  <contovob@tcd.ie>

	Evaluate recent isearch-motion lambdas

	* lisp/isearch.el (beginning-of-buffer, end-of-buffer)
	(scroll-up-command, scroll-down-command): Evaluate the lambdas
	inside the isearch-motion properties of these commands.

2021-09-15  Stefan Kangas  <stefan@marxist.se>

	checkdoc: Don't warn about command substitutions by default

	* lisp/emacs-lisp/checkdoc.el (checkdoc-max-keyref-before-warn):
	Add new valid value nil meaning to never warn about too many command
	substitutions, and use this value as the default.  This is no longer a
	performance problem on modern machines.  (Bug#50599)
	(checkdoc-this-string-valid-engine): Respect above new valid value
	nil.

2021-09-15  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el: Add context menu bound to down-mouse-3 like on tab bar.

	* lisp/tab-line.el: Bind tab-line down-mouse-3 to tab-line-context-menu.
	(tab-line-tab-map): Rebind tab-line-select-tab from mouse-1 to down-mouse-1.
	Bind down-mouse-3 to tab-line-tab-context-menu.
	(tab-line-add-map): Rebind tab-line-new-tab from mouse-1 to down-mouse-1.
	(tab-line-left-map, tab-line-right-map): Rebind mouse-1 to down-mouse-1.
	(tab-line-tab-context-menu, tab-line-context-menu): New functions.
	(tab-line-hscroll-right, tab-line-hscroll-left)
	(tab-line-new-tab, tab-line-select-tab)
	(tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab)
	(tab-line-close-tab): Rename event args to 'event'.

2021-09-15  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-format): Add new option tab-bar-format-menu-global

	(tab-bar-format-menu-global): New function.

2021-09-15  Juri Linkov  <juri@linkov.net>

	Add docstrings to context menu functions, and add middle-separator

	* lisp/mouse.el (context-menu-functions): Add context-menu-middle-separator
	to default values.
	(context-menu-middle-separator): New function.

	* lisp/replace.el (occur-context-menu): Use middle-separator.

	* lisp/progmodes/elisp-mode.el (elisp-context-menu):
	* lisp/progmodes/prog-mode.el (prog-context-menu):
	Use middle-separator and reorder menu items correspondingly.

2021-09-15  Philip Kaludercic  <philipk@posteo.net>

	Merge branch 'feature/rcirc-update'

2021-09-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak python-hideshow-forward-sexp-function warning avoidance

	* lisp/progmodes/python.el
	(python-hideshow-forward-sexp-function): Avoid compilation warning
	in a more standard way.  Problem reported in
	https://thedailywtf.com/articles/the-programmer-s-motto-and-other-comments

2021-09-15  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes due to clearing of a frame's face cache

	* src/xfaces.c (clear_face_cache): Don't clear fonts and faces of
	a frame that is being redisplayed, just because it's time for some
	routine maintenance.  (Bug#50571)
	* src/xdisp.c (redisplay_internal):
	* src/frame.h (struct frame) <inhibit_clear_image_cache>: Update
	commentary of using this struct member.

2021-09-15  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-methods): <sudo>: Change template.  (Bug#50594)

2021-09-15  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warnings in comp.c on MS-Windows

	* src/comp.c (DEF_DLL_FN, init_gccjit_functions): Don't load and
	don't define functions/macros if libgccjit doesn't have them, to
	avoid compiler warnings.

2021-09-15  Mattias Engdegård  <mattiase@acm.org>

	Faster grep pattern for identifiers

	* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
	Use the `-w` flag instead of wrapping the pattern in regexps that make
	matching much slower.  This speeds up `xref-find-references` by about
	3× on macOS.

2021-09-15  Eli Zaretskii  <eliz@gnu.org>

	Update Unicode support to Unicode version 14.0.0

	* admin/unidata/copyright.html:
	* admin/unidata/UnicodeData.txt:
	* admin/unidata/Blocks.txt:
	* admin/unidata/BidiBrackets.txt:
	* admin/unidata/BidiMirroring.txt:
	* admin/unidata/IVD_Sequences.txt:
	* admin/unidata/NormalizationTest.txt:
	* admin/unidata/SpecialCasing.txt:
	* test/manual/BidiCharacterTest.txt: Updated files from Unicode
	14.0.

	* lisp/international/fontset.el (script-representative-chars): Add
	new scripts.
	(otf-script-alist): Update from latest version.
	(setup-default-fontset): Add new scripts.
	* lisp/international/characters.el: Update syntax and category
	tables for new characters and scripts.
	(char-width-table): Update for changes in Unicode 14.0.
	* lisp/international/mule-cmds.el (ucs-names): Update used and
	unused ranges per Unicode 14.0.

	* test/lisp/international/ucs-normalize-tests.el
	(ucs-normalize-tests--failing-lines-part1)
	(ucs-normalize-tests--failing-lines-part2): Update per the test
	results.

	* doc/lispref/nonascii.texi (Character Properties): Update Unicode
	version number.

	* etc/NEWS: Announce support for Unicode 14.0.

	* admin/notes/unicode: Minor copyedits.

2021-09-15  João Távora  <joaotavora@gmail.com>

	* doc/misc/flymake.texi: Fix @include docstyle.texi

2021-09-15  Augusto Stoffel  <arstoffel@gmail.com>

	Python shell: rearrange printing of newline before output

	* lisp/progmodes/python.el
	(python-shell-output-filter-in-progress)
	(python-shell-output-filter-buffer): Move defvars to avoid compiler
	warnings.
	(python-shell-eval-setup-code): Don't print a newline in
	__PYTHON_EL_eval.
	(python-shell-send-string): Insert newline before output when
	applicable (bug#50514).

2021-09-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make bookmark fringe marks evaporate

	* lisp/bookmark.el (bookmark--set-fringe-mark): Make the bookmark
	evaporate when a buffer is erased (like, for instance, when doing
	`revert-buffer' in a vc buffer).

2021-09-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `lisp-data-mode' in `emacs-lisp-mode' doc string

	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Mention
	`lisp-data-mode'.

2021-09-15  Juri Linkov  <juri@linkov.net>

	Adjust occur-context-menu and elisp-context-menu

	* lisp/progmodes/elisp-mode.el (elisp-context-menu): Add separator
	only when there is a symbol at mouse click.

	* lisp/replace.el (occur-context-menu): Insert items in the middle
	of the menu after mark-whole-buffer.

2021-09-15  Philip Kaludercic  <philipk@posteo.net>

	Add occur-related context-menu operations (bug#50552)

	* lisp/replace.el (occur-word-at-mouse): Add new command.
	(occur-symbol-at-mouse): Add new command.
	(occur-context-menu): Add new function.

2021-09-15  Juri Linkov  <juri@linkov.net>

	* lisp/window.el (display-buffer-in-previous-window): Add symbolp (bug#50576)

2021-09-15  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-close-other-tabs): Add arg ‘tab-number’.

	(tab-bar-mouse-context-menu): Bind menu-item "Close other tabs" to
	tab-bar-close-other-tabs with arg ‘tab-number’.

2021-09-15  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Rename args to consistent naming convention.

	Use the same naming scheme for function arguments.  Use the term "index" when
	arguments count from 0, and the term "number" when arguments count from 1.

	* lisp/tab-bar.el (tab-bar-select-tab): Rename ‘arg’ to ‘tab-number’.
	(tab-bar-move-tab-to): Rename ‘from-index’ to ‘from-number’
	and ‘to-index’ to ‘to-number’.
	(tab-bar-move-tab-to-frame): Rename ‘from-index’ to ‘from-number’
	and ‘to-index’ to ‘to-number’.
	(tab-bar-new-tab-to): Rename ‘to-index’ to ‘tab-number’.
	(tab-bar-close-tab): Rename ‘arg’ to ‘tab-number’
	and ‘to-index’ to ‘to-number’.
	(tab-bar-rename-tab): Rename ‘arg’ to ‘tab-number’.
	(tab-bar-change-tab-group): Rename ‘arg’ to ‘tab-number’.

2021-09-15  Stephen Gildea  <stepheng+emacs@gildea.com>

	* lisp/mh-e/mh-e.el: Simplify file commentary for a native package.

2021-09-15  Dmitry Gutov  <dgutov@yandex.ru>

	Localize namespace-filtering code

	To be able to filter results coming from
	elisp-xref-find-def-functions, and for general ease of
	understanding.

	* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
	Undo the previous change.
	(xref-backend-apropos): Update accordingly.
	(elisp--xref-filter-definitions): New function.
	(xref-backend-definitions): Use it to post-filter the results
	coming from elisp--xref-find-definitions.

	* test/lisp/progmodes/elisp-mode-tests.el (find-defs-minor-defvar-c):
	New test.
	(find-defs-defun-defvar-el): Update test.

2021-09-15  Wilson Snyder  <wsnyder@wsnyder.org>

	verilog-mode.el: Update verilog-mode from upstream.

	* lisp/progmodes/verilog-mode.el: (verilog-basic-complete-re)
	(verilog-behavioral-block-beg-re, verilog-defun-keywords)
	(verilog-defun-level-generate-only-re, verilog-defun-level-re)
	(verilog-endcomment-reason-re, verilog-indent-re) (verilog-keywords,
	verilog-no-indent-begin-re) (verilog-set-auto-endcomments): Support
	Verilog-A `analog` blocks (#1738).  Reported by Dan McMahill.
	(verilog-read-defines): Fix verilog-read-defines to work
	with SystemVerilog types (#1734).  Reported by Shareef Jalloq.
	(verilog-indent-declaration,
	verilog-pretty-declarations): Fix leaving extra spaces before tabs on
	lining up declarations. (#1723) Reported by TAKAI Kousuke.
	(verilog-auto-inst, verilog-auto-inst-port)
	(verilog-read-auto-template-middle, verilog-read-sub-decls-line):
	Support AUTONOHOOKUP to not AUTOWIRE hookup AUTO_TEMPLATE signals. (#1526)
	Reported by firefoxtc.

2021-09-15  Glenn Morris  <rgm@gnu.org>

	* test/Makefile.in (XDG_CONFIG_HOME): Don't export (bug#50577).

2021-09-14  Glenn Morris  <rgm@gnu.org>

	* doc/misc/flymake.texi: Avoid xrefs in @copying.

	This isn't really what @copying is for, and doesn't work with
	makeinfo 4.13.

2021-09-14  Philip Kaludercic  <philipk@posteo.net>

	Fix interactive forms for rcirc-define-command

	* lisp/net/rcirc.el (rcirc-define-command): Handle string
	descriptors correctly.

2021-09-14  Philip Kaludercic  <philipk@posteo.net>

	Unset mode-line-process for all buffers on reconnecting

	* lisp/net/rcirc.el (rcirc-sentinel): Add loop over all managed
	buffers.

2021-09-14  Philip Kaludercic  <philipk@posteo.net>

	Restore rcirc-target if possible

	* lisp/net/rcirc.el (rcirc-process-message): Extract target from buffer name

2021-09-14  João Távora  <joaotavora@gmail.com>

	Unbreak make bootstrap (don't use cl-defun's &aux parameters)

	* lisp/progmodes/flymake.el (flymake--handle-report): Don't use &aux.

2021-09-14  Philip Kaludercic  <philipk@posteo.net>

	Display server buffer after connecting

	* lisp/net/rcirc.el (rcirc-display-server-buffer): Add new option
	(rcirc): Respect rcirc-display-server-buffer

2021-09-14  Philip Kaludercic  <philipk@posteo.net>

	Allow for multiple attempts when reconnecting

	* doc/misc/rcirc.texi (rcirc commands): Mention rcirc-reconnect-attempts
	* etc/NEWS: Document change
	(rcirc-connect): Ensure no other process exists
	(rcirc-reconnect-attempts): Add option
	(rcirc-failed-attempts): Add local variable
	(rcirc-reconnection-timer): Add local variable
	(rcirc-reconnect): Add function
	(rcirc-sentinel): Manage multiple reconnection attempts
	(rcirc-process-server-response): Change user for error messages
	(rcirc-mode): Don't set rcirc-last-connect-time
	(reconnect): Extract functionality to rcirc-reconnect

2021-09-14  Philip Kaludercic  <philipk@posteo.net>

	* doc/misc/rcirc.texi (Hacking and Tweaking): Add missing section
	to menu.

2021-09-14  Philip Kaludercic  <philipk@posteo.net>

	* lisp/net/rcirc.el (rcirc-server-alist): Add #emacs to default server list

	Author:

2021-09-14  Harald Jörg  <haj@posteo.de>

	cperl-mode.el: Allow non-ASCII Perl identifiers

	Replace all "A-Z" regexp literals with unicode-aware rx constructs
	wherever Perl allows non-ASCII identifiers.
	* lisp/progmodes/cperl-mode.el (cperl-after-sub-regexp)
	(cperl-after-label. cperl-sniff-for-indent)
	(cperl-find-pods-heres, cperl-indent-exp)
	(cperl-fix-line-spacing, cperl-imenu--create-perl-index)
	(cperl-init-faces, cperl-find-tags):
	Replace ASCII regex literals by unicode-aware rx constructs.
	(cperl-init-faces): Eliminate unused lexical `font-lock-anchored'.
	(cperl-have-help-regexp, cperl-word-at-point-hard): Allow non-ASCII
	word characters.

	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-test-fontify-special-variables): New test for $^T
	and $^{VARNAME}.
	(cperl-test-ws-rx cperl-test-ws+-rx),
	(cperl-test-version-regexp, cperl-test-package-regexp): Skip
	for perl-mode.
	(cperl-test-identifier-rx, cperl--test-unicode-setup)
	(cperl-test-unicode-labels, cperl-test-unicode-sub)
	(cperl-test-unicode-varname)
	(cperl-test-unicode-varname-list, cperl-test-unicode-arrays)
	(cperl-test-unicode-hashes, cperl-test-unicode-hashref)
	(cperl-test-unicode-proto, cperl-test-unicode-fhs)
	(cperl-test-unicode-hashkeys, cperl-test-word-at-point):
	New tests for unicode identifiers.
	 (cperl-test-imenu-index): Add a unicode identifier to the test.

	* test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add a
	function with non-ASCII name for imenu tests.

2021-09-14  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Fix type.

2021-09-14  Alan Third  <alan@idiocy.org>

	A further fix for toolbar visibility problems on macOS (bug#50534)

	* src/nsterm.m (ns_update_begin): Ensure the toolbar's visibility is
	set correctly.

2021-09-14  Eli Zaretskii  <eliz@gnu.org>

	Fix recent changes in Flymake manual

	* doc/misc/flymake.texi: Fix typos.  Downcase the first word of
	each index entry, for more reliable sorting.
	(Starting Flymake, Finding diagnostics, Troubleshooting): Fix
	typos.

2021-09-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `find-function-source-path' into obsolete alias

	* lisp/finder.el (finder-commentary): Adjust usage.

	* lisp/emacs-lisp/find-func.el (find-function-source-path): Made
	into obsolete alias (bug#50508).
	(find-library-source-path): New name.
	(find-library-name, find-library, find-function-noselect)
	(find-variable-noselect, find-definition-noselect): Adjust usage
	and update doc strings.

2021-09-14  João Távora  <joaotavora@gmail.com>

	Re-organize and rewrite parts of the Flymake manual

	bug#50244

	* doc/misc/flymake.texi (Starting Flymake): New section.
	(Finding diagnostics): New section, now contains info previously in
	"Listing diagnostics"
	(Mode line status): Renamed from "Mode-line syntax check status"
	(Troubleshooting): Renamed from "Backend exceptions".
	(Flymake error types): Tweak phrasing.

2021-09-14  João Távora  <joaotavora@gmail.com>

	Add support for project-wide diagnostics in Flymake (bug#50244)

	This is done with two new concepts: "foreign diagnostics" and
	"list-only diagnostics".  The manual has been updated with a
	description of these new concepts.

	* doc/misc/flymake.texi (Flymake utility functions):
	Explain creation of foreign diagnostics.
	(Foreign and list-only diagnostics): New subsection.
	(Listing diagnostics): New subsection.

	* lisp/progmodes/flymake.el
	(Version): Bump to 1.2.1
	(project): Require project.
	(flymake--diag): Add new slots 'orig-beg' and 'orig-end'.  Rename
	'buffer' slot to 'locus'.
	(flymake-make-diagnostic): Rework docstring.  Accept stringp
	LOCUS arg.
	(flymake-diagnostic-beg, flymake-diagnostic-end)
	(flymake-diagnostic-buffer):  Simplify definition.
	(flymake--equal-diagnostic-p): New helper
	(flymake--highlight-line): Rework.  Accept FOREIGN arg.
	(flymake--state): Work docstring. Add new slot 'foreign-diags'
	(flymake--handle-report): Call
	flymake--update-diagnostics-listings.
	(flymake--handle-report): New helper.
	(flymake--mode): Forward declare.
	(flymake--handle-report): Rework for foreign diagnostics.
	(flymake-mode): When turning on, notice any Flymake diagnostics
	for current buffer.  When turning off update diagnostics listings.
	(flymake-kill-buffer-hook): Turn off flymake explicitly before
	killing.
	(flymake--mode-line-counter): Use flymake-diagnostics to collect
	diagnostics.
	(flymake-show-diagnostic): Visit buffer of file-specific
	diagnostic.
	(flymake--tabulated-entries-1): New helper extracted from
	flymake--diagnostic-buffer-entries.
	(flymake--diagnostics-buffer-entries): Rework.
	(flymake--diagnostics-base-tabulated-list-format): New helper.
	(flymake--diagnostics-buffer-name): Adjust.
	(flymake-list-only-diagnostics): New variable.
	(flymake--project-diagnostic-list-project): New variable.
	(flymake--clear-list-only-diagnostics): New helper.
	(flymake-project-diagnostics-mode): New major mode.
	(flymake--project-diagnostics)
	(flymake--project-diagnostics-entries)
	(flymake--project-diagnostics-buffer): New helpers.
	(flymake-show-project-diagnostics): New command.
	(flymake--update-diagnostics-listings): New helper.
	(flymake-show-buffer-diagnostics): Renamed from flymake-diagnostics-buffer.

	* etc/NEWS: Mention change.

2021-09-14  João Távora  <joaotavora@gmail.com>

	Bump lisp/progmodes/project.el version to 0.7.1

	Among other things exposes the new project-buffers generic function to
	ELPA users.

	* lisp/progmodes/project.el (Version): Bump to 0.7.1

2021-09-14  João Távora  <joaotavora@gmail.com>

	Keep and report "foreign" diangnostics in flymake-cc Flymake backend

	This includes diagnostics for .h files that sprang up when checking a
	c file.  Those diagnostics are reported to the Flymake infrastructure
	which does not (yet) do anything with them.

	This includes a change to the test fixtures, too.

	* lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics): Rework

	* test/lisp/progmodes/flymake-resources/another-problematic-file.c:
	  New file.

	* test/lisp/progmodes/flymake-resources/some-problems.h:
	  Add a function declaration..

2021-09-14  João Távora  <joaotavora@gmail.com>

	Abbreviate Flymake backend name in flymake-show-diagnostics-buffer

	* lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries):
	(flymake-diagnostics-buffer-mode): Report abbreviated backend, too.

2021-09-14  João Távora  <joaotavora@gmail.com>

	Unbreak M-x compile-defun of functions using flymake-log

	* lisp/progmodes/flymake.el (flymake-log): Check if compilation unit
	  is indeed a string before treating it as a file name.

2021-09-14  João Távora  <joaotavora@gmail.com>

	Refactor some Flymake functions

	* lisp/progmodes/flymake.el (flymake-diagnostic-buffer): New
	helper.
	(flymake-diagnostic-beg, flymake-diagnostic-end): Tweak docstring.
	(flymake--handle-report): Simplify.
	(flymake--publish-diagnostics): Helper for flymake--handle-report.
	(flymake--mode-line-counter, flymake-show-diagnostic)
	(flymake--diagnostics-buffer-entries): Use
	flymake-diagnostic-buffer, flymake-diagnostic-type,
	flymake-diagnostic-beg.

2021-09-14  João Távora  <joaotavora@gmail.com>

	Rename flymake--backend-state to flymake--state

	The previous name was confusing and akward and dreadful to type and
	read.

	* lisp/progmodes/flymake.el (flymake--state): Rename from
	flymake--backend-state.
	(flymake--with-backend-state): Use flymake--state.
	(flymake--handle-report): Use flymake--state.
	(flymake--collect): Use flymake--state.
	(flymake-running-backends): Use flymake--state.
	(flymake--disable-backend): Use flymake--state.
	(flymake--run-backend): Use flymake--state.
	(flymake-start): Use flymake--state.
	(flymake-mode): Use flymake--state.
	(flymake--mode-line-title): Use flymake--state.
	(flymake--mode-line-exception): Use flymake--state.
	(flymake--mode-line-counter): Use flymake--state.

2021-09-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Project File Commands manual clarification

	* doc/emacs/maintaining.texi (Project File Commands): Clarify what
	happens with the file name under point.

2021-09-14  Alan Third  <alan@idiocy.org>

	Fix incorrectly appearing toolbar on NS (bug#50534)

	* src/nsmenu.m (update_frame_tool_bar): Ensure both sides of the test
	are booleans.
	* src/nsterm.m ([EmacsWindow createToolbar:]): Make the toolbar
	non-visible initially, in case things get out of sync.  Remove call to
	update_frame_tool_bar: the window isn't yet associated with the view,
	so it will return immediately.

2021-09-14  Alan Third  <alan@idiocy.org>

	Fix libgccjit detection on macOS

	* configure.ac: Combine the Homebrew and MacPorts detection so they
	will not create nonsense flags if both are installed.

2021-09-14  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Close tab only on mouse-1, not down-mouse-1 (bug#41343)

	* lisp/tab-bar.el (tab-bar-mouse-select-tab): Don't close the tab
	when clicked on the close button.
	(tab-bar-mouse-close-tab-from-button): New function.
	(tab-bar-map): Bind [mouse-1] to 'tab-bar-mouse-close-tab-from-button'.
	(tab-bar-mouse-move-tab): Do nothing on non-tab events.

2021-09-14  Stefan Kangas  <stefan@marxist.se>

	Add user option to avoid checkdoc warning for unescaped left paren

	* lisp/emacs-lisp/checkdoc.el
	(checkdoc-column-zero-backslash-before-paren): New user option to
	avoid warning on unescaped left parenthesis in column zero.
	(checkdoc-this-string-valid-engine): Respect above new option.

2021-09-14  Stefan Kangas  <stefan@marxist.se>

	Minor improvements to checkdoc

	* lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Add ignored
	values.
	(checkdoc-proper-noun-list): Remove XEmacs from list of words to
	capitalize; there is little need to insist on consistency here.
	(checkdoc-in-abbreviation-p): Add abbreviation "etc." and sort entries
	alphabetically.

2021-09-13  Dmitry Gutov  <dgutov@yandex.ru>

	Use the term "future history" rather than "default"

	* lisp/progmodes/project.el
	(project-find-file, project-or-external-find-file):
	Update docstring.
	(project--read-file-cpd-relative, project--read-file-absolute)
	(project--completing-read-strict): Rename DEFAULT to MB-DEFAULT.
	(project-find-file-in): Rename FILENAME to SUGGESTED-FILENAME.

2021-09-13  Dmitry Gutov  <dgutov@yandex.ru>

	Make sure to return some valid project root

	* lisp/progmodes/project.el (project-prompt-project-dir):
	If the user just pressed RET on prompt, prompt again.

2021-09-13  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/elisp-mode.el (elisp-context-menu): New function (bug#9054)

	(emacs-lisp-mode): Add elisp-context-menu to context-menu-functions.

2021-09-13  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el: Improve 'isearch-allow-motion' feature (bug#50466)

	* lisp/isearch.el: Add recenter to 'isearch-motion' property of
	'end-of-buffer' to maximize the number of search hits on the screen.
	In 'isearch-motion' property of 'scroll-up-command' use 'recenter 0'
	for the first line of the screen.
	(isearch-beginning-of-buffer)
	(isearch-end-of-buffer): Sync logic from 'isearch-allow-motion' part
	of isearch-pre-command-hook.  Direct users to isearch-allow-motion
	in the docstrings.
	(isearch-pre-command-hook): Don't override shifted 'isearch-yank-on-move'
	in 'isearch-allow-motion'.

2021-09-13  Mattias Engdegård  <mattiase@acm.org>

	Remove duplication of `find` file pattern arguments

	* lisp/cedet/semantic/symref/grep.el
	(semantic-symref-derive-find-filepatterns): Avoid including the same
	pattern twice.

2021-09-13  Andrea Corallo  <akrl@sdf.org>

	Clean-up some unnecessary macro usage in comp.c

	* src/comp.c (emit_static_object)
	(Fcomp_native_driver_options_effective_p, add_driver_options)
	(Fcomp__compile_ctxt_to_file, Fcomp_libgccjit_version): Clean-up
	unenecessary 'defined (WINDOWSNT)' usage.

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Continue NEWS tag checking

	Fix typo in previous files.el change

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention unibyte issues in insert-file-contents-literally doc string

	* lisp/files.el (insert-file-contents-literally): Mention possible
	issues with multibyte buffers (bug#50560).

2021-09-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/variables.texi (named-let): Document TCO

2021-09-13  Dmitry Gutov  <dgutov@yandex.ru>

	Fix the tests

	* test/lisp/progmodes/xref-tests.el
	(xref--xref-file-name-display-is-abs)
	(xref--xref-file-name-display-is-nondirectory)
	(xref--xref-file-name-display-is-relative-to-project-root):
	Update for the latest change in xref.el.

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Use a fringe mark in bookmark instead of a whole background line

	* lisp/bookmark.el (bookmark-face): Adjust colors.
	(bookmark-fringe-mark): New bitmap.
	(bookmark--fontify): Use a fringe instead of marking the whole line.
	(bookmark--unfontify): Adjust to remove.
	(bookmark--jump-via): Ditto.
	(bookmark-set-fringe-mark): Renamed from bookmark-fontify.
	(bookmark--set-fringe-mark, bookmark--remove-fringe-mark): Renamed
	from --*fontify.  Callers adjusted.

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	NEWS copy edits and tagging

	Correct nroff-mode NEWS entry after `M-o' changes

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention how to disable auto-fill-mode in the auto-fill section

	* doc/lispref/text.texi (Margins): Mention how to disable
	auto-fill-mode.

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Document backtrace-on-error-noninteractive in the --batch section

	* doc/emacs/cmdargs.texi (Initial Options): Mention
	backtrace-on-error-noninteractive.

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Further NEWS tagging updates

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	completions-annotations doc string clarification

	* lisp/minibuffer.el (completions-annotations): Mention that it's
	not always used.

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Update some more NEWS tagging

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `benchmark-call' in the manual

	* doc/lispref/debugging.texi (Profiling): Mention `benchmark-call'.

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Update some pcase NEWS tags for already-documented functions

	Update NEWS tagging for string helper functions

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Document named-let and update some NEWS tags

	* doc/lispref/variables.texi (Local Variables): Document `named-let'.

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify bookmark-fontify NEWS entry

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	package-menu-execute doc string clarification

	* lisp/emacs-lisp/package.el (package-menu-execute): Say what
	happens to upgrade-marked packages (bug#50551).

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	* etc/NEWS: Clarify insert-into-buffer (bug#50558).

2021-09-13  Juri Linkov  <juri@linkov.net>

	Support mouse events clicked on the tab bar but outside of any tab (bug#41343)

	* lisp/tab-bar.el (tab-bar--key-to-number): Return non-nil non-numeric t
	when no tab is used.  Return nil for current-tab.
	(tab-bar-mouse-select-tab, tab-bar-mouse-close-tab): Do nothing
	when tab-bar--key-to-number returns non-nil non-numeric t
	for click events outside of any tab.
	(tab-bar-mouse-context-menu): Add context menu when mouse is clicked
	outside of tabs.  Add "Duplicate" alongside with "Close" to the menu
	used when mouse is clicked on a tab.
	(toggle-tab-bar-mode-from-frame, toggle-frame-tab-bar): Move code
	closer to 'tab-bar-show'.

	* src/xdisp.c (handle_tab_bar_click): Return Qtab_bar with empty list
	when mouse is clicked on the tab bar but outside of any tab.

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Only do multi-isearch in eww if there's next/prev links

	* lisp/net/eww.el (eww-handle-link): Only do multi-isearch if
	there's a next/prev link in the HTML (bug#50497).
	(eww-setup-buffer): Clear the function.
	(eww-mode): Don't set it here.

2021-09-13  Juri Linkov  <juri@linkov.net>

	Change value of DEFAULT_TAB_BAR_BUTTON_MARGIN from 4 to 1 (bug#50424)

	* doc/emacs/frames.texi (Tab Bars): Improve documentation.

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix detection of char regions in print-fontset-element

	* lisp/international/mule-diag.el (print-fontset-element): Fix the
	regexp for "foo .. bar " (bug#50519).

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some search-whitespace-regexp examples

	* lisp/isearch.el (search-whitespace-regexp): Add some
	alternatives in the defcustom.

2021-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention get-byte in shortdoc

	* lisp/emacs-lisp/shortdoc.el (buffer): Mention `get-byte' here.

2021-09-13  Tassilo Horn  <tsdh@gnu.org>

	bug-reference.el: Adapt default debbugs bug regexp for IRC modes

	* lisp/progmodes/bug-reference.el (bug-reference-setup-from-irc-alist):
	Adapt regexp so that group 1 defines overlay region.

2021-09-13  Tassilo Horn  <tsdh@gnu.org>

	bug-reference.el: Adapt default debbugs bug regexp for mail modes

	* lisp/progmodes/bug-reference.el (bug-reference-setup-from-mail-alist):
	Adapt regexp so that group 1 defines overlay region.

2021-09-13  Stefan Kangas  <stefan@marxist.se>

	Declare unused function cperl-inside-parens-p obsolete

	* lisp/progmodes/cperl-mode.el (cperl-inside-parens-p): Declare
	unused function obsolete.

2021-09-13  Stefan Kangas  <stefan@marxist.se>

	Improve checkdoc abbreviation handling

	* lisp/emacs-lisp/checkdoc.el
	(checkdoc-in-abbreviation-p): New helper function.
	(checkdoc-sentencespace-region-engine): Fix handling abbreviations
	after escaped parenthesis.

	* test/lisp/emacs-lisp/checkdoc-tests.el
	(checkdoc-tests-in-abbrevation-p)
	(checkdoc-tests-in-abbrevation-p/with-parens)
	(checkdoc-tests-in-abbrevation-p/with-escaped-parens): New tests.

2021-09-13  Stefan Kangas  <stefan@marxist.se>

	Remove some remaining references to XEmacs

	* lisp/allout.el (allout-overlay-preparations):
	* lisp/cedet/semantic/decorate/include.el
	(semantic-decoration-unknown-include-menu)
	(semantic-decoration-fileless-include-menu):
	* lisp/cedet/semantic/idle.el (semantic-idle-scheduler-setup-timers):
	* lisp/vc/ediff-init.el:
	* lisp/vc/ediff-util.el (ediff-mode): Remove some remaining references
	to XEmacs.

2021-09-13  Dmitry Gutov  <dgutov@yandex.ru>

	Extend xref-file-name-display to elisp and etags definitions

	And all other types of locations (with a looks-like-file-name check).

	* lisp/progmodes/xref.el (xref--group-name-for-display): Extract
	from xref-buffer-location's implementation of xref-location-group.
	(xref-file-location): Define trivial reader for the 'file' slot.
	(xref-location-group): Update docstring.
	(xref--analyze): Use the new function here, to be able to format
	group names coming from any location type.

2021-09-12  Amin Bandali  <bandali@gnu.org>

	ERC: Use 'string-replace' only on Emacs 28 and later

	* lisp/erc/erc-dcc.el (erc-dcc-unquote-filename):
	* lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy)
	(erc-update-mode-line-buffer, erc-message-english-PART): Use
	'string-replace' only on Emacs 28 and later, otherwise use
	'replace-regexp-in-string' on older Emacsen.

2021-09-12  Amin Bandali  <bandali@gnu.org>

	ERC: Use 'string-search' only on Emacs 28 and later

	* lisp/erc/erc-backend.el (erc-parse-server-response):
	* lisp/erc/erc-dcc.el (erc-dcc-member):
	* lisp/erc/erc-speedbar.el (erc-speedbar-expand-server)
	(erc-speedbar-expand-channel, erc-speedbar-expand-user):
	* lisp/erc/erc.el (erc-send-input): Use 'string-search' only on
	Emacs 28 and later, otherwise use 'string-match' on older Emacsen.

2021-09-12  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-get-buffer-tab): Use 'remq' instead of 'seq-remove'

2021-09-12  Juri Linkov  <juri@linkov.net>

	Allow region-related context menu to be used on selected region with one click

	* lisp/mouse.el (mouse-drag-track): Don't deactivate the mark for
	the context menu invoked by down-mouse-3.

	https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg01577.html

2021-09-12  Juri Linkov  <juri@linkov.net>

	* lisp/thingatpt.el (thing-at-mouse): New function (bug#50256).

	* lisp/net/dictionary.el: Add 'context-menu-dictionary' to
	'context-menu-functions'.
	(dictionary-search-word-at-mouse): New function.
	(context-menu-dictionary): New function that uses 'thing-at-mouse'.
	(dictionary-mouse-popup-matching-words): Remove stray 'selected-window'.

	* lisp/textmodes/flyspell.el (flyspell-context-menu): Add '_click' arg.

2021-09-12  Juri Linkov  <juri@linkov.net>

	* lisp/mouse.el (context-menu-map): Add 'click' arg to called funs (bug#50256)

	(context-menu-toolbar, context-menu-global, context-menu-local)
	(context-menu-minor, context-menu-buffers, context-menu-vc)
	(context-menu-undo, context-menu-region, context-menu-ffap): Add 'click' arg.

	* lisp/dired.el (dired-context-menu):
	* lisp/help-mode.el (help-mode-context-menu):
	* lisp/info.el (Info-context-menu):
	* lisp/net/eww.el (eww-context-menu):
	* lisp/net/goto-addr.el (goto-address-context-menu):
	* lisp/progmodes/prog-mode.el (prog-context-menu):  Add 'click' arg.

2021-09-12  Eli Zaretskii  <eliz@gnu.org>

	Fix quoting style in Lisp comments

	* lisp/textmodes/rst.el:
	* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
	* lisp/org/org.el:
	* lisp/org/org-list.el (org-list-to-generic):
	* lisp/org/org-compat.el:
	* lisp/hexl.el (hexl-ascii-region):
	* lisp/emacs-lisp/lisp-mode.el:
	* lisp/calendar/calendar.el: In comments, quote 'like this'.

2021-09-12  Juri Linkov  <juri@linkov.net>

	* lisp/mouse.el (context-menu-map): Remove duplicate separators (bug#50067).

	* lisp/mouse.el (context-menu-undo, context-menu-region):
	* lisp/progmodes/prog-mode.el (prog-context-menu):
	Use 'when' instead of ':visible' that allows to remove duplicate separators
	created between empty submenus.

2021-09-12  Juri Linkov  <juri@linkov.net>

	Use window-point in event-start and event-end (bug#50256)

	* lisp/subr.el (event-start, event-end): Provide window-point
	as an arg for posn-at-point, and for the constructed list.

	* lisp/help-mode.el (help-mode-context-menu): Remove a kludge
	that checked if window-buffer is current-buffer.

2021-09-12  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Improve logic of 'ignore-current-tab'.

	* lisp/tab-bar.el (tab-bar-get-buffer-tab): Prefer the current tab
	when 'ignore-current-tab' is nil.
	(display-buffer-in-tab): Use alist entry 'ignore-current-tab'
	as the third arg of 'tab-bar-get-buffer-tab'.  Improve docstring.

	Suggested by Feng Shu <tumashu@163.com>
	https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00955.html

2021-09-12  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in Emacs FAQ

	* doc/misc/efaq.texi (What was XEmacs?, Colors on a TTY): Fix
	wording and improve the description.

2021-09-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix read-no-blanks-input doc string typo

	* lisp/minibuffer.el (read-no-blanks-input): Fix doc string typo.

2021-09-12  dick r. chiang  <dick.r.chiang@gmail.com>

	Fix read-no-blanks-input history argument

	* lisp/minibuffer.el (read-no-blanks-input): Use the
	`minibuffer-history' symbol, not the value (bug#50535).

2021-09-12  Mattias Engdegård  <mattiase@acm.org>

	Infer identifier namespace in elisp xref backend

	Improve the accuracy of `xref-find-definitions` by inferring the
	likely namespace of the sought identifier from its context.
	This reduces the number of irrelevant search hits when it is clear
	what kind of identifier is being looked for (such as showing a
	variable when the user looks for a function).

	Co-written with Dmitry Gutov.

	* lisp/progmodes/elisp-mode.el (elisp--xref-list-index)
	(elisp--xref-infer-namespace, xref-backend-identifier-at-point): New.
	(xref-backend-definitions): Use the buffer position for inferring.
	(elisp--xref-find-definitions): Use the inferred namespace.
	(xref-backend-apropos): Adapt call.
	* test/lisp/progmodes/elisp-mode-tests.el (elisp-mode-test--with-buffer)
	(elisp-mode-with-buffer, elisp-mode-infer-namespace): New tests.

2021-09-12  Martin Rudalics  <rudalics@gmx.at>

	;* lisp/window.el (switch-to-prev-buffer): Fix typo in doc-string.

2021-09-12  Martin Rudalics  <rudalics@gmx.at>

	Improve doc-strings of some buffer display options (Bug#50518)

	* lisp/window.el (pop-up-frame-alist, same-window-buffer-names)
	(same-window-regexps, pop-up-frames, pop-up-windows): In
	doc-strings say that these options are maintained for backward
	compatibility only (Bug#50518).

2021-09-12  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of tab bars in the Emacs manual

	* doc/emacs/frames.texi (Tab Bars): Improve wording, indexing, and
	cross-references.  Make sure each command is mentioned by its name
	when it is called out by the key sequence.  Index entries should
	precede @item lines in a @table.

2021-09-12  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of some tab-bar features

	* lisp/tab-bar.el (tab-bar-show, toggle-frame-tab-bar): Doc
	fixes.

	* etc/NEWS: Update the corresponding entries.

2021-09-12  Olivier Certner  <olce.emacs@certner.fr>

	ERC: Track: Fix a perceived minor bug in mode line face selection

	* lisp/erc/erc-track.el (erc-track-modified-channels): Fix what is a
	probable bug when a new insert event happens for a buffer that was not
	tracked or for which no mode line face was selected: in this case,
	stop treating the latest buffer's face (first in list) as the previous
	one, which could be overridden with an older one (in FACES' rest), as
	if it had happened after.

2021-09-12  Olivier Certner  <olce.emacs@certner.fr>
	    Amin Bandali  <bandali@gnu.org>

	ERC: Track: Rewrite 'erc-track-find-face' as 'erc-track-select-mode-line-face'

	* lisp/erc/erc-track.el (erc-track-find-face): Declare obsolete and
	rewrite as 'erc-track-select-mode-line-face', changing the function
	arguments, so that it is very clear what the current algorithm is.
	No functional changes.  Performance improvements.  Clarify the
	documentation and remove the part on some faces being lists, which
	clearly does not apply.
	(erc-track-modified-channels): Replace calls to 'erc-track-find-face'
	with calls to 'erc-track-select-mode-line-face', preserving the
	existing behavior.
	(erc-modified-channels-alist): Change the reference to
	'erc-track-select-mode-line-face' in the documentation following the
	rename.
	* etc/NEWS: Announce the change.

2021-09-12  Amin Bandali  <bandali@gnu.org>

	Merge from origin/emacs-27

	d7f4cc0974 ERC: Track: Clarify documentation on tracked buffers and a...
	fb1f0dfec9 ERC: Track: Fix documentation of structure of 'erc-modifie...
	252a769b11 ; * doc/lispref/files.texi (Changing Files): Fix xref to f...
	edc93a5ce6 ; Fix grammar in efaq.texi on Emacs vs XEmacs.

	# Conflicts:
	#	doc/misc/efaq.texi

2021-09-12  Olivier Certner  <olce.emacs@certner.fr>

	ERC: Track: Clarify documentation on tracked buffers and add references

	* lisp/erc/erc-track.el (erc-modified-channels-alist): Clarify what
	the list contains.  Add references to variables and functions involved
	in displaying tracked buffers from this list.
	(erc-make-mode-line-buffer-name): Describe exactly the algorithm, and
	reference custom variables that influence it.

2021-09-12  Olivier Certner  <olce.emacs@certner.fr>

	ERC: Track: Fix documentation of structure of 'erc-modified-channels-alist'

	* lisp/erc/erc-track.el (erc-modified-channels-alist): Fix the
	docstring: each element is a dotted list where the last cdr is
	sometimes a proper list, making the element only sometimes a proper
	list.

2021-09-12  Dmitry Gutov  <dgutov@yandex.ru>

	Re-fix bug#16897

	* lisp/vc/vc-git.el (vc-git--file-list-is-rootdir):
	Extract from 'vc-git-command'.
	(vc-git--literal-pathspecs): Use it here as well.

2021-09-11  Tassilo Horn  <tsdh@gnu.org>

	Refactor bug-reference setup for software forges

	* lisp/progmodes/bug-reference.el (bug-reference-gitea-instances)
	(bug-reference-gitlab-instances,bug-reference-sourcehut-instances):
	Delete defvars.  Those are replaced with bug-reference-forge-alist.
	(bug-reference-forge-alist): New variable.
	(bug-reference--build-forge-setup-entry): New cl-defgeneric with
	methods for github, gitlab, gitea, and sourcehut instances.
	(bug-reference--setup-from-vc-alist): Use bug-reference-forge-alist
	and bug-reference--build-forge-setup-entry.
	* doc/emacs/maintaining.texi (Bug Reference): Mention that the first
	group in bug-reference-bug-regexp defines the overlay bounds.  Also
	mention bug-reference-forge-alist in VCS setup section.

2021-09-11  Philip Kaludercic  <philipk@posteo.net>

	* NEWS: Remove empty entry

	* NEWS: Mention rcirc changes

2021-09-11  Mattias Engdegård  <mattiase@acm.org>

	Fix byte-compilation warnings

	* lisp/calc/calc-graph.el (calc-gnuplot-check-for-errors):
	* lisp/calendar/holidays.el (list-holidays):
	Dodge 'save-excursion+set-buffer' warnings that appeared after
	the progn flattening was introduced.

2021-09-11  Mattias Engdegård  <mattiase@acm.org>

	Remove obsolete variable

	* lisp/emacs-lisp/byte-opt.el
	(byte-optimize--vars-outside-condition): Remove.
	(byte-optimize-form-code-walker): Remove bindings.

2021-09-11  Mattias Engdegård  <mattiase@acm.org>

	Propagate aliased lexical variables in byte compiler

	Replace uses of a variable aliasing another variable with that aliased
	variable, to allow for variable removal when possible.  This also
	enables opportunities for other optimizations.  Example:

	 (let ((y x)) (f y)) => (f x)

	The optimization is only performed if both aliased and aliasing
	variables are lexically bound.  Shadowing bindings are α-renamed when
	necessary for correctness.  Example:

	   (let* ((b a) (a EXPR)) (f a b))
	=> (let* ((a{new} EXPR)) (f a{new} a))

	* lisp/emacs-lisp/byte-opt.el (byte-optimize--aliased-vars): New.
	(byte-optimize-form-code-walker): Cancel aliasing upon mutation.
	(byte-optimize--rename-var-body, byte-optimize--rename-var): New.
	(byte-optimize-let-form): Add the optimization.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
	Add relevant test cases.

2021-09-11  Philip Kaludercic  <philipk@posteo.net>

	* doc/misc/rcirc.texi: Replace defun-rcirc-command with
	rcirc-define-command

	* doc/misc/rcirc.texi: Document rcirc-track-abbrevate-flag

	* doc/misc/rcirc.texi: Document rcirc-nick-filter and
	rcirc-channel-filter

	* doc/misc/rcirc.texi: Document
	rcirc-track-ignore-server-buffer-flag

	* doc/misc/rcirc.texi: Document rcirc-omit-responses-after-join

2021-09-11  Philip Kaludercic  <philipk@posteo.net>

	Rename rcirc-omit-after-reconnect to rcirc-omit-after-connect

	* lisp/net/rcirc.el (rcirc-omit-after-reconnect): Remove variable
	(rcirc-omit-responses-after-join): Add variable
	(rcirc-reconncting): Remove variable
	(rcirc-joined): Add variable
	(rcirc-get-buffer-create): Set rcirc-joined
	(rcirc-print): Use rcirc-joined
	(reconnect): Remove code relating to rcirc-reconncting

2021-09-11  Augusto Stoffel  <arstoffel@gmail.com>

	Keep python.el compatible with older Emacsen

	* lisp/progmodes/python.el (python-shell-send-string): Don't assume
	comint-max-line-length is defined (bug#50503).

2021-09-11  Michael Albinus  <michael.albinus@gmx.de>

	Tramp code cleanup

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory): Simplify.

	* lisp/net/tramp-sh.el (tramp-methods) <telnet, nc>: Don't use
	"%n" marker.

	* test/lisp/net/tramp-tests.el (tramp-test13-make-directory): Merge with
	`tramp-test-make-directory-helper' and
	`tramp-test13-make-directory-with-file-modes'.
	(tramp-test44-asynchronous-requests): Use always the same
	operation in timer.

2021-09-11  Augusto Stoffel  <arstoffel@gmail.com>

	Allow using 'python-shell-send-file' across machines

	* lisp/progmodes/python.el (python-shell-eval-file-setup-code):
	Look for a file coding cookie on the Python rather than on the
	Emacs side, to avoid additional file transfers.
	(python-shell--save-temp-file): Allow argument to be a buffer.
	(python-shell-send-file): Address the case where the selected file and
	the inferior process are on different machines (bug#50516).

2021-09-11  Augusto Stoffel  <arstoffel@gmail.com>

	Implement caching for 'python-shell-completion-at-point'

	* lisp/progmodes/python.el (python-shell-completion-at-point): cache
	results, since computing them involves talking with the inferior
	process and, potentially, network communications
	(python-shell--capf-cache): new variable, for cache
	(python-shell-completion-get-completions)
	(python-shell-completion-native-get-completions): 'import' argument is
	not needed anymore.
	(python-shell-completion-native-setup)
	(python-shell-completion-native-try): pass the setup code
	synchronously, to avoid printing a message in the shell (bug#50459).

2021-09-11  Alan Third  <alan@idiocy.org>

	Fix display of tab-bar buttons

	* src/xterm.c (x_draw_image_relief):
	* src/w32term.c (w32_draw_image_relief): Fix the display of
	tab-bar buttons when mouse pointer moves off the button.
	(Bug#50424)

2021-09-11  Eli Zaretskii  <eliz@gnu.org>

	Document tool-bar and tab-bar mouse events

	* doc/lispref/commands.texi (Click Events): Document the format of
	POSITION for tab-bar and tool-bar events.

2021-09-11  Eli Zaretskii  <eliz@gnu.org>

	Fix tab-bar scrolling for mice that report mouse-wheel events

	* src/keyboard.c (make_lispy_position): Call
	'window_from_coordinates' with last 2 arguments non-zero, to have
	it report on tool-bar and tab-bar positions.  Tweak the return
	value according to the expectations of 'make_lispy_event'.
	(make_lispy_event): No more need to inject "tab-bar" into a click
	event on the tab bar: it's already there.

2021-09-11  Tassilo Horn  <tsdh@gnu.org>

	bug-reference-bug-regexp now defines a contract for the overlay region

	Formerly, bug-reference-fontify placed the overlay on the complete
	match of bug-reference-bug-regexp.  That made it impossible to encode
	constraints like "must not match at BOL" in the regexp without messing
	up fontification.  Therefore, now it establishes the contract that
	subexpression 1 defines the overlay region.  Subexpression 2 must
	still match the part of the bug reference injected into
	bug-reference-url-format if that's a string.  If its a function, the
	interpretation of subexpressions > 1 is up to the function.

	For backwards compatibility, bug-reference-fontify checks if the
	bounds of subexpression 2..10 are within the bounds of subexpression
	1.  If not, or subexpression 1 doesn't even exist/match, we fall back
	to placing the overlay from (match-beginning 0) to (match-end 0) but
	issue a warning.

	* lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Document
	contract that subexpression 1 defines the overlay region and adapt the
	default value accordingly.
	(bug-reference--nonconforming-regexps): New internal variable.
	(bug-reference--overlay-bounds): New function.
	(bug-reference-fontify): Place overlay on subexpression 1's bounds if
	bug-reference-bug-regexp conforms to the documented contract.
	(bug-reference--setup-from-vc-alist): Adapt regexps to new contract.
	* doc/emacs/maintaining.texi (Bug Reference): Adapt regexp used in
	example.

2021-09-11  Stefan Kangas  <stefan@marxist.se>

	* lisp/info.el (Info-streamline-headings): Add entry.

2021-09-11  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Show Paren mode

	* doc/emacs/programs.texi (Matching): Improve wording and
	indexing.  (Bug#29381)

2021-09-11  Eli Zaretskii  <eliz@gnu.org>

	Fix restoring from pdumper file on MS-Windows 9X

	* src/pdumper.c (dump_map_file_w32): Use PAGE_WRITECOPY flag when
	calling CreateFileMapping for DUMP_MEMORY_ACCESS_READWRITE access,
	as that is required by Windows 9X.  (Bug#50453)

2021-09-11  Dmitry Gutov  <dgutov@yandex.ru>

	New minor mode 'show-paren-local-mode'

	* lisp/paren.el (show-paren--delete-overlays):
	New function, extracted from show-paren-mode.
	(show-paren-local-mode): New minor mode.
	(show-paren-mode): Update docstring to mention it (bug#29381).

	* doc/emacs/programs.texi (Matching): Update show-paren-mode section.

2021-09-11  Tassilo Horn  <tsdh@gnu.org>

	Improve overlay placement performance

	* lisp/progmodes/bug-reference.el (bug-reference--overlays-in): New
	function.
	(bug-reference-unfontify): Use it.
	(bug-reference-fontify): Reuse and move existing overlays instead of
	deleting all and creating them anew.

2021-09-10  Arthur Miller  <arthur.miller@live.com>

	Add support for GCC compiler command-line options

	* lisp/emacs-lisp/comp.el ('native-comp-compiler-options): New option.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Add support
	for new 'native-comp-compiler-options'.
	* src/comp.c (Fcomp_native_compiler_options_effective_p): New function.
	(add_compiler_options): New function.
	(Fcomp__compile_ctxt_to_file): Call 'add_compiler_options'.

2021-09-10  Philip Kaludercic  <philipk@posteo.net>

	Merge branch 'master' into feature/rcirc-update

2021-09-10  Philip Kaludercic  <philipk@posteo.net>

	Fix double reconnection bug

	* lisp/net/rcirc.el (rcirc-sentinel): Don't reconnect if reconnecting
	(reconnect): Use delete-process instead of kill-process

2021-09-10  Dmitry Gutov  <dgutov@yandex.ru>

	Fix test find-defs-defgeneric-el

	* test/lisp/progmodes/elisp-mode-tests.el (find-defs-defgeneric-el):
	Fix the test.  Reported by dick.r.chiang@gmail.com.

2021-09-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert usage of format-prompt in python.el

	* lisp/progmodes/python.el (python-eldoc-at-point): Revert usage
	of format-prompt in python.el since this is also an ELPA package
	(and older Emacs versions doesn't have format-prompt).

2021-09-10  Augusto Stoffel  <arstoffel@gmail.com>

	Properly encode all strings sent to Python shell

	* lisp/progmodes/python.el: Now depends on Emacs 28.
	(python-shell-package-enable, python-shell-completion-get-completions)
	(python-ffap-module-path, python-eldoc--get-doc-at-point): Encode
	Python strings using 'python-shell--encode-string' instead of triple
	quotes.
	(python-shell-completion-string-code, python-eldoc-string-code)
	(python-ffap-string-code): Remove defcustoms. (bug#50503).

2021-09-10  Stephen Gildea  <stepheng+emacs@gildea.com>

	Tramp: honor default file modes in make-directory

	* lisp/net/tramp-sh.el:
	* lisp/net/tramp-adb.el:
	* lisp/net/tramp-sudoedit.el:
	* lisp/net/tramp-gvfs.el: Add support for default file modes to
	relevant Tramp back ends for make-directory.  (Closes: Bug#50410)
	* test/lisp/net/tramp-tests.el (tramp-test13-make-directory-with-file-modes):
	New test.
	* etc/NEWS: Note this enhancement.

	Thanks to Michael Albinus for helping improve this patch.

2021-09-10  Eli Zaretskii  <eliz@gnu.org>

	Doc string followup to last change.

	* lisp/progmodes/xref.el (xref-find-apropos): Mention
	'tags-apropos-additional-actions' in the doc string.
	* lisp/progmodes/etags.el (tags-apropos-additional-actions):
	Mention 'xref-find-apropos' in the doc string.

2021-09-10  Eli Zaretskii  <eliz@gnu.org>

	Document 'tags-apropos-additional-actions' with Xref

	* doc/emacs/maintaining.texi (Looking Up Identifiers): Rearrange
	and reword documentation of 'xref-find-apropos' and
	'xref-auto-jump-to-first-definition'.  Add the description of
	'tags-apropos-additional-actions'.  Delete the comment with
	not-yet implemented features that were available with
	'tags-apropos'.

	* etc/NEWS: Augment the wording of 'xref-find-apropos' entry.

2021-09-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Further fix for the search-whitespace-regexp change

	* lisp/isearch.el (search-whitespace-regexp): Fix yet another typo
	in this one-line change (bug#21278).

2021-09-10  Gregory Heytings  <gregory@heytings.org>

	New user options to move between isearch matches

	* lisp/isearch.el (isearch-allow-motion,
	isearch-motion-changes-direction): New user options.
	(isearch-pre-command-hook): Handle the new options.

	* etc/NEWS: Mention the new user options.

	* doc/emacs/search.texi: Document the new user options.

2021-09-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in previous search-whitespace-regexp change

	* lisp/isearch.el (search-whitespace-regexp): Fix typo in last
	checkin for this variable.

2021-09-10  Gregory Heytings  <gregory@heytings.org>

	Fix behavior of isearch-{beginning,end}-of-buffer

	* lisp/isearch.el (isearch-beginning-of-buffer)
	(isearch-end-of-buffer): Fix their behavior when
	isearch-repeat-on-direction-change is non-nil (bug#50466).

2021-09-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Change the default value of search-whitespace-regexp

	* lisp/isearch.el (search-whitespace-regexp): Change the default
	to always exclude newlines from the set (bug#21278).  It used to
	be mode-dependent whether newlines were included or not, and this
	was confusing as a user interface.

2021-09-10  Dmitry Gutov  <dgutov@yandex.ru>

	* lisp/progmodes/ruby-mode.el (ruby-current-indentation): Tweak obsoletion.

2021-09-10  Dmitry Gutov  <dgutov@yandex.ru>

	Support tags-apropos-additional-actions in etags Xref backend

	* lisp/progmodes/etags.el (xref-etags-apropos-location):
	New class.
	(xref-location-marker): New method definition.
	(xref-make-etags-apropos-location): New function.
	(etags--xref-apropos-additional): New function.
	(xref-backend-apropos): Use it here.

2021-09-09  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of tab-bar functions and variables

	* etc/NEWS: Improve wording of tab-bar related entries.

	* lisp/tab-bar.el (tab-bar-show, tab-bar-select-tab-modifiers):
	Improve and clarify the doc strings.

2021-09-09  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent change wrt 'comint-max-line-length'

	* lisp/progmodes/python.el (python-shell-send-string): Only heed
	'comint-max-line-length' for subprocesses with which we
	communicate via PTYs.  (Bug#49822)

	* lisp/comint.el (comint-max-line-length): Doc fix.  Add a value
	for MS-Windows.

2021-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	Change ruby-align-chained-calls indentation

	* lisp/progmodes/ruby-mode.el (ruby-smie-rules): Align with the
	first sibling on the previous line instead of the last (bug#32496).

	That is, before it used to be

	one.two.three
	       .four

	and now it is

	one.two.three
	   .four

2021-09-09  Augusto Stoffel  <arstoffel@gmail.com>

	Better treatment of line length limits for the Python inferior

	* lisp/comint.el (comint-max-line-length): New constant reflecting a
	safe maximum line size that can be sent to an inferior process.
	* lisp/progmodes/python.el
	(python-shell-comint-watch-for-first-prompt-output-filter): Send setup
	code to the inferior process only once and at this stage.
	(python-shell-eval-setup-code, python-shell-eval-file-setup-code):
	Move, unchanged, to an earlier point to avoid byte-compiler warnings.
	(python-shell-send-string-no-output): Revert changes of e32c7d2a8d
	(python-shell-send-string): Use 'comint-max-line-length' to decide
	when to resort to temp files.
	(python-shell-send-string, python-shell-send-file): Don't send setup
	code each time (bug#49822).

2021-09-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify Gnus vs. font locking in the Gnus manual

	* doc/misc/gnus.texi (Formatting Variables): Explicitly mention
	that font locking doesn't work in Gnus buffers (bug#50474).

2021-09-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the "Real meaning of copyleft" node in efaq

	* doc/misc/efaq.texi (Real meaning of copyleft): Remove the
	section (bug#50446).
	(Common acronyms): Add a link to the GNU site's page about licenses.

2021-09-09  Juri Linkov  <juri@linkov.net>

	Merge branch 'feature/tab-bar-events'

2021-09-08  Michael Albinus  <michael.albinus@gmx.de>

	Document restriction of completion styles with remote file names

	* doc/misc/tramp.texi (File name completion): Mention restriction
	of completion styles.

2021-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't ding at the user in pop-mark

	* lisp/simple.el (pop-mark): Don't ding at the user if there's no
	mark to pop (bug#44375).  This function is used (in some
	circumstances) when the user mouse-1-clicks links (in *Help*
	buffer, for instance), which will then ding at the user before
	following the link.

2021-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Further tweak describe-variable look

	* lisp/help-fns.el (describe-variable): Tweak how long variable
	values are shown.

2021-09-08  Mattias Engdegård  <mattiase@acm.org>

	* etc/NEWS: macOS alternative context menu mouse binding.

2021-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous help-fns change

	* lisp/help-fns.el (help-fns--run-describe-functions): Fix the
	test for whether the function inserted anything.

2021-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust test to describe-function changes

	The doc now always ends with an empty line

2021-09-08  Miha Rihtaršič  <miha@kamnitnik.top>

	Allow kmacros to end with C-g in minibuffer

	* src/keyboard.c (cmd_error): If a command causes a minibuffer-quit
	condition, record its key in a keyboard macro (bug#48603).

2021-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Add support for keypad `=' key in xterm.el

	* lisp/term/xterm.el (xterm-function-map): Add support for keypad
	= key (bug#16645).

2021-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't disable ipython as a native interpreter

	* lisp/progmodes/python.el
	(python-shell-completion-native-disabled-interpreters): Remove
	ipython from list, because it apparently works fine these days
	(bug#50458).

2021-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix mail-user-agent defcustom type

	* lisp/simple.el (mail-user-agent): Any symbol can be used as the
	value (bug#50460).

2021-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Move the indented *Help* block to after the doc string

	* lisp/help-fns.el (describe-function-1): Move indented admin
	block to the end (bug#50463).
	(describe-variable): Ditto (bug#50463).

2021-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't output "probably introduced" if we know the answer for sure

	* lisp/help-fns.el (help-fns--customize-variable-version):
	Factored out from `help-fns--customize-variable' to be able to see
	whether it outputs anything.
	(help-fns--run-describe-functions): New function.
	(help-fns--activated-functions): New internal variable.
	(describe-variable): Use new function.
	(describe-face, describe-function-1): Ditto (bug#50463).

2021-09-08  Stefan Kangas  <stefan@marxist.se>

	Center Emacs logo above text on the splash screen

	* lisp/startup.el (fancy-splash-head): Center Emacs logo above
	text on the splash and about screen.

2021-09-08  Dmitry Gutov  <dgutov@yandex.ru>

	Have Git backend actions accept nil filenames again

	* lisp/vc/vc-git.el (vc-git--literal-pathspec):
	Move the nil check to the beginning (bug#50422).

2021-09-07  Harald Jörg  <haj@posteo.de>

	cperl-mode.el: Use rx sequences for Perl grammar

	Following advice by Mattias Engdegård, most uses of rx-to-string
	were eliminated, and rx sequences used instead to define Perl
	grammar components.
	* lisp/progmodes/cperl-mode.el: (cperl-block-declaration-p): New
	function, replaces regexp literals.
	(cperl-imenu--function-name-regexp-perl): Deleted, use rx
	sequences to find imenu entries instead.
	(cperl-indent-line): Use rx components instead of regexp literals.
	(cperl-sniff-for-indent): use `cperl-block-declaration-p' to
	increase accuracy, use rx sequence for labels to replace
	inaccurate regexp literals.
	(cperl-block-p): Replace inline comment by docstring.  Use
	`cperl-block-declaration-p'.
	(cperl-after-block-p): Use `cperl-block-declaration-p'.
	(cperl-after-block-and-statement-beg): Replace inline comment by
	docstring.
	(cperl-imenu-package-keywords), (cperl-imenu-sub-keywords),
	(cperl-imenu-pod-keywords) : New variables to sort imenu
	entries into categories.
	(cperl-imenu--create-perl-index): Use rx sequences to collect
	imenu entries.
	(cperl-init-faces): Use rx components instead of regexp literals
	for labels.

	* test/lisp/progmodes/cperl-mode-tests.el: Test rx sequences
	instead of regexp strings

2021-09-07  Philip Kaludercic  <philipk@posteo.net>

	Add rcirc-track-ignore-server-buffer-flag option

	* lisp/net/rcirc.el (rcirc-track-ignore-server-buffer-flag): Add option
	(rcirc-record-activity): Use rcirc-track-ignore-server-buffer-flag

2021-09-07  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Don't let nndiary.el alter variables when loading file

	* lisp/gnus/nndiary.el (nndiary-open-server): Move the manipulation of
	`gnus-extra-headers' and `nnmail-extra-headers' into this function: it
	should only happen if we're actually firing up an nndiary server.
	Previously, simply attempting to complete a gnus-* prefixed symbol
	could end up loading this file, and changing the variable values.

2021-09-07  Alan Mackenzie  <acm@muc.de>

	Increase jit-lock-chunk-size from 500 to 1500 for performance reasons

	* lisp/jit-lock.el (jit-lock-chunk-size): Increase to 1500.

	See also https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00540.html.

2021-09-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Encode urls more before using in browse-url

	* lisp/net/browse-url.el (browse-url-default-windows-browser)
	(browse-url-default-macosx-browser): Encode the URL before using
	(in case it contains spaces) (bug#50435).

2021-09-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix encoding in browse-url-encode-url

	* lisp/net/browse-url.el (browse-url-url-encode-chars): Document
	what the argument really is, and simplify the implementation
	(bug#50435).
	(browse-url-encode-url): Encode spaces.

2021-09-07  Alex Bochannek  <alex@bochannek.com>

	Add a new Gnus command to toggle whether to use fonts in shr

	* doc/misc/gnus.texi (Article Washing): Document it.

	* lisp/gnus/gnus-art.el (gnus-article-toggle-fonts): New command
	and key binding (bug#50383).

2021-09-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the Info mode line further

	* lisp/info.el (Info-set-mode-line): Improve the Info mode line
	further (bug#13776).

2021-09-07  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent documentation change

	* lisp/progmodes/xref.el (xref-auto-jump-to-first-definition)
	(xref-auto-jump-to-first-xref):
	* etc/NEWS: Fix wording and typos.

2021-09-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	97aa8240d2 (origin/emacs-27) * doc/misc/efaq.texi: Misc copyedits.
	e1050492d1 * doc/misc/efaq.texi (Reporting bugs): Refer to the Emacs ...

	# Conflicts:
	#	doc/misc/efaq.texi

2021-09-07  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-test26-file-name-completion

	* test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion):
	Do not check for default method.

2021-09-07  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of new Xref options

	* lisp/progmodes/xref.el (xref-auto-jump-to-first-definition)
	(xref-auto-jump-to-first-xref): More accurate description in the
	doc strings.

	* doc/emacs/maintaining.texi (Looking Up Identifiers)
	(Identifier Search, List Identifiers, Project File Commands): Fix
	the documentation of 'xref-auto-jump-to-first-definition' and
	'xref-auto-jump-to-first-xref' to be more accurate.

	* etc/NEWS: More accurate wording of the entry about
	'xref-auto-jump-to-first-definition' and
	'xref-auto-jump-to-first-xref'.

2021-09-07  Michael Albinus  <michael.albinus@gmx.de>

	Do not expand default method, user, host in remote file name completion

	* lisp/net/tramp.el (tramp-completion-handle-file-name-all-completions):
	Do not expand default method, user, host.  (Bug#50387)
	(tramp-get-completion-methods): `partial-method' can be nil.

2021-09-07  Eli Zaretskii  <eliz@gnu.org>

	Fix display of tab-bar buttons

	* src/xterm.c (x_draw_image_relief):
	* src/w32term.c (w32_draw_image_relief): Fix calculation of relief
	thickness for tab-bar buttons.

	* lisp/tab-bar.el (tab-bar--load-buttons)
	(tab-bar-history-mode): Fix the :margin specification for tab-bar
	buttons.  (Bug#50424)

2021-09-07  Philip Kaludercic  <philipk@posteo.net>

	Use fresh symbol for argument list

	* lisp/net/rcirc.el (rcirc-define-command): Use make-symbol instead of gensym

2021-09-07  Philip Kaludercic  <philipk@posteo.net>

	Allow /reconnect while connecting

	* lisp/net/rcirc.el (reconnect): Kill previous process and start a new one

2021-09-07  Glenn Morris  <rgm@gnu.org>

	* test/lisp/vc/vc-tests.el (vc-test--version-diff): Git env tweak.

2021-09-07  Dmitry Gutov  <dgutov@yandex.ru>
	    Jiacai Liu  <hello@liujiacai.net>

	Support specifying just one command in project-switch-commands

	* lisp/progmodes/project.el (project-switch-commands):
	Describe the new possible type of value.
	(project--switch-project-command):
	New function, extract from project-switch-project.
	(project-switch-project): If project-switch-commands's value is a
	symbol, invoke that command without showing a menu.

2021-09-07  Stefan Kangas  <stefan@marxist.se>

	Small FAQ fixes

	* doc/misc/efaq.texi (Colors on a TTY): Remove reference to
	ancient Emacs version 22.
	(Finding Emacs on the Internet): Use more current terminology.

2021-09-07  Stefan Kangas  <stefan@marxist.se>

	Remove Emacs FAQ maintainer

	* doc/misc/efaq.texi: Remove maintainer Romain Francoise after private
	communication.

2021-09-07  Stefan Kangas  <stefan@marxist.se>

	* etc/NEWS: Some further re-organization.

	* etc/NEWS: Clarify entry about the "*Completions*" buffer.

2021-09-06  Philip Kaludercic  <philipk@posteo.net>

	Mention list of capabilities that should be implemented

	* lisp/net/rcirc.el (rcirc-implemented-capabilities): Add comment

2021-09-06  Philip Kaludercic  <philipk@posteo.net>

	Implement standard-replies capability

	* lisp/net/rcirc.el (rcirc-implemented-capabilities): Add standard-replies to list
	(rcirc-response-formats): Add response formats for WARN, FAIL and NOTE
	(rcirc-handler-FAIL): Add handler
	(rcirc-handler-WARN): Add handler
	(rcirc-handler-NOTE): Add handler

2021-09-06  Philip Kaludercic  <philipk@posteo.net>

	Connect to server asynchronously

	* lisp/net/rcirc.el (rcirc-connect): Add :nowait option to open-network-stream
	(rcirc-sentinel): Handle "open\n" events

2021-09-06  Tassilo Horn  <tsdh@gnu.org>

	Add possibility to override the default highlighting

	* lisp/progmodes/bug-reference.el (bug-reference-fontify): Highlight
	99th group if it exists.
	(bug-reference-bug-regexp): Document that regexp group 99 can be used
	to override the default behavior of highlighting the complete match.
	(bug-reference--run-auto-setup): Use run-hook-with-args-until-success
	instead of throw/catch.

2021-09-06  Mattias Engdegård  <mattiase@acm.org>

	Normalize nested `progn` forms in byte-code optimizer

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-body): Flatten body.
	This simplifies the source tree and reduces the number of different
	cases that other optimizations need to take into account.

2021-09-06  Mattias Engdegård  <mattiase@acm.org>

	More robust optimization of `ignore`

	Treat `ignore` as any other function during source-level optimization,
	to avoid having its warning-suppression effects canceled by repeated
	passes.  Instead, define a custom code generation function.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
	Don't treat `ignore' specially here.
	(side-effect-free-fns): Don't mark `ignore` as side-effect-free
	or error-free (although it is), since that would allow the optimizer
	to elide calls.
	* lisp/emacs-lisp/bytecomp.el (ignore, byte-compile-ignore):
	Define and register a code-gen function.

2021-09-06  Mattias Engdegård  <mattiase@acm.org>

	Optimize `member` and `assoc` (etc) with constant empty list

	* lisp/emacs-lisp/byte-opt.el
	(byte-optimize-assq): New.
	(byte-optimize-member, byte-optimize-assoc, byte-optimize-memq):
	When the list argument is constant nil, the result is always nil.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
	Add test cases.

2021-09-06  Dmitry Gutov  <dgutov@yandex.ru>

	Fixup dired-do-find-regexp-and-replace

	* lisp/dired-aux.el (dired-do-find-regexp-and-replace):
	Disregard the customized value of xref-auto-jump-to-first-xref
	(it breaks the xref-query-replace-in-results invocation).

	* lisp/progmodes/xref.el (xref-auto-jump-to-first-xref):
	Mention the caveat for users or xref distributed through ELPA.

2021-09-06  Michael Albinus  <michael.albinus@gmx.de>

	Revert an accidental change in etc/NEWS

2021-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make calc-grab-region work with rectangular selects

	* lisp/calc/calc.el (calc-grab-region): Heed `rectangle-mark-mode'
	(bug#50403).

2021-09-06  martin rudalics  <rudalics@gmx.at>

	Restore the debugging window size more reliably

	* lisp/emacs-lisp/debug.el (debug): Restore the debugging window
	size more reliably (bug#12921).

2021-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a tooltip to the comint-mode mode line format

	* lisp/comint.el (comint-mode): Add a tooltip to say what the :run
	bit means (bug#13776).

2021-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the info-mode mode line

	* lisp/info.el (Info-set-mode-line): Add a help echo to help
	explain what the thing in parentheses is (bug#13776).

2021-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Simplify `image-dired-dired-file-marked-p'

	* lisp/image-dired.el (image-dired-dired-file-marked-p): Use
	`dired-re-mark' instead of open-coding the opposite regexp (bug#14925).

2021-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the gnus-group-default-list-level doc string

	* lisp/gnus/gnus-group.el (gnus-group-default-list-level): Improve
	doc string.

2021-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Reset gnus-group-use-permanent-levels when Gnus restarts

	* lisp/gnus/gnus-start.el (gnus-clear-system): Reset
	`gnus-group-use-permanent-levels' upon Gnus restart (bug#50416).

2021-09-06  Allen Li  <darkfeline@felesatra.moe>

	Make `gnus-group-use-permanent-levels' work better

	* lisp/gnus/gnus-group.el (gnus-group-default-level): Removed implicit
	setting of gnus-group-use-permanent-levels.
	(gnus-group-list-groups): Set gnus-group-use-permanent-levels
	explicitly.
	(gnus-group-get-new-news): Set gnus-group-use-permanent-levels
	explicitly (bug#50417).
	(gnus-group-get-new-news): When the user has given a numeric
	prefix, use that as the list level.

2021-09-06  Juri Linkov  <juri@linkov.net>

	* etc/NEWS: Reorder "Isearch and Replace" items

2021-09-06  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/maintaining.texi (Xref Commands): Fix indexing.

2021-09-06  Stefan Kangas  <stefan@marxist.se>

	* etc/NEWS: Improve file organization.

2021-09-06  Stefan Kangas  <stefan@marxist.se>

	Improve documentation of save-place-abbreviate-file-names

	* lisp/saveplace.el (save-place-abbreviate-file-names): Document why
	you might want to enable this option.

2021-09-06  Stefan Kangas  <stefan@marxist.se>

	* etc/NEWS: Don't mention a fixed bug.

2021-09-06  Dmitry Gutov  <dgutov@yandex.ru>

	project--files-in-directory: Fix handling of ignores

	* lisp/progmodes/project.el (project--files-in-directory):
	Pass "." as the DIR argument to 'find' because otherwise the ignore
	expression can match the project root directory name, which we don't
	want to happen (bug#50240).  Fixup the resulting file names at the end
	with concatenation.
	Originally I thought it could lead to worse performance, but the
	results show equal or slightly better timings.

	* lisp/progmodes/xref.el (xref-matches-in-directory):
	Apply a similar fix.
	(xref--find-ignores-arguments): Use file-name-as-directory, so
	that when passed "." replace-match still had the expected effect.

	* test/lisp/progmodes/project-tests.el (project-ignores-bug-50240):
	New test.

	* test/lisp/progmodes/xref-tests.el
	(xref-matches-in-directory-filters-with-ignores): New test.

2021-09-06  Dmitry Gutov  <dgutov@yandex.ru>

	Try to fix vc-test-git06-version-diff on Hydra

	* test/lisp/vc/vc-tests.el (vc-test--version-diff):
	Fix Git backend when running in clean environment.
	(vc-test-git06-version-diff): Unskip on Hydra.

2021-09-06  Glenn Morris  <rgm@gnu.org>

	* doc/misc/efaq.texi: Misc copyedits.

	Prefer mailing lists to newgroups.
	(History of Emacs): Rename from "Status of Emacs".
	Move XEmacs node here.
	(Emacs for other operating systems): Merge all the "non-Unix"
	systems into a single node.

2021-09-05  Glenn Morris  <rgm@gnu.org>

	* test/lisp/vc/vc-tests.el (vc-test-git06-version-diff): Skip on hydra.

2021-09-05  Dmitry Gutov  <dgutov@yandex.ru>

	* lisp/progmodes/xref.el: Bump the version again.

2021-09-05  Philip Kaludercic  <philipk@posteo.net>

	Implement multi-prefix capability

	* lisp/net/rcirc.el (rcirc-implemented-capabilities): Add capability
	(rcirc-user-nick): Handle multiple prefixes

2021-09-05  Philip Kaludercic  <philipk@posteo.net>

	Fix rcirc-track-abbrevate-flag documentation

	* lisp/net/rcirc.el (rcirc-track-abbrevate-flag): Rephrase docstring

2021-09-05  Philip Kaludercic  <philipk@posteo.net>

	Store symbols in rcirc-acked-capabilities

	* lisp/net/rcirc.el (rcirc-handler-CAP): Use intern and downcase

2021-09-05  Juri Linkov  <juri@linkov.net>

	Improve tab-bar event handling (bug#41343)

	* lisp/tab-bar.el (tab-bar--key-to-number): Rename from tab--key-to-number.
	(tab-bar--event-to-item): New function from tab-bar-handle-mouse.
	(tab-bar-mouse-select-tab, tab-bar-mouse-close-tab)
	(tab-bar-mouse-context-menu, tab-bar-mouse-move-tab):
	Use tab-bar--event-to-item.

	* src/menu.c (x_popup_menu_1): Handle Qtab_bar in the second list element.

	* src/xdisp.c (tty_get_tab_bar_item): Change arg 'end' to bool 'close_p'.
	(tty_get_tab_bar_item): Detect if the close button was clicked.
	(tty_handle_tab_bar_click): Return a list with caption that has
	text properties.

2021-09-05  Philip Kaludercic  <philipk@posteo.net>

	Print value on malformed input

	* lisp/net/rcirc.el (rcirc-define-command): Unquote argument

2021-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Autoload cl-struct-slot-info

	* lisp/emacs-lisp/cl-macs.el (cl-struct-slot-info): Autoload
	(bug#50301).

	* test/lisp/emacs-lisp/memory-report-tests.el: Don't require cl-macs.

2021-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the documentation around the read-key/minibuffer prompting

	* lisp/subr.el (read-char-choice-use-read-key): Explain the
	difference.
	(read-char-choice): Mention the variables.
	(y-or-n-p-use-read-key): Explain the difference.
	(y-or-n-p): Mention the variable (bug#50390).

2021-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify completion-list-mode NEWS entry

	* etc/NEWS: Clarify completion-list-mode entry (bug#50394).

2021-09-05  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/xref.el: Fix defcustoms (bug#50067)

	* lisp/progmodes/xref.el (xref-auto-jump-to-first-definition)
	(xref-auto-jump-to-first-xref, xref-search-program): Fix defcustoms.

2021-09-05  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of new Xref options

	* doc/emacs/maintaining.texi (Looking Up Identifiers):
	* etc/NEWS: Document the new Xref user options.  Move a lost
	Xref-related entry to the rest of them.

2021-09-05  Augusto Stoffel  <arstoffel@gmail.com>

	Fixes for 'python-shell-send-string' and 'python-shell-send-file'

	* lisp/progmodes/python.el (python-shell-send-string): use a temporary
	file for sufficiently long strings.
	(python-shell-send-file, python-shell-eval-file-setup-code): Avoid
	showing "plumbing code" in the traceback (bug#32042).

2021-09-05  Ian W  <ian@wahbe.com>  (tiny change)

	Fix error handling in 'ispell-init-process'

	* lisp/textmodes/ispell.el (ispell-init-process): When Ispell
	initialization reports an error, call 'ispell-accept-output' only
	if the Ispell process is still alive.  (Bug#50370)

2021-09-05  Michael Albinus  <michael.albinus@gmx.de>

	Cleanup tramp-tests.el

	* test/lisp/net/tramp-tests.el
	(tramp--test--deftest-direct-async-process): Fix macro declaration.
	(tramp-test29-start-file-process, tramp-test30-make-process):
	Do not run connection type test for direct async processes.

2021-09-05  Glenn Morris  <rgm@gnu.org>

	* test/lisp/vc/vc-tests.el (vc-test-sccs06-version-diff): Fix it.

2021-09-05  Dmitry Gutov  <dgutov@yandex.ru>

	Belated fix

	* lisp/progmodes/xref.el: (xref--show-xref-buffer):
	Fix support for xref-auto-jump-to-first-xref.

2021-09-05  Dmitry Gutov  <dgutov@yandex.ru>

	* lisp/progmodes/xref.el: Bump version.

2021-09-05  Dmitry Gutov  <dgutov@yandex.ru>

	Xref: automatic jumping to the first definition or reference

	* lisp/progmodes/xref.el (xref-auto-jump-to-first-definition)
	(xref-auto-jump-to-first-xref): New user options.
	Discussed in bug#50067.
	(xref--show-xrefs, xref--show-defs): Use them here.
	(xref--auto-jump-first): New function, handles different values.
	(xref-show-definitions-buffer)
	(xref-show-definitions-buffer-at-bottom): Use it.

2021-09-05  Dmitry Gutov  <dgutov@yandex.ru>

	Fix test on machines with Bzr not set up

	* test/lisp/vc/vc-tests.el (vc-test--version-diff):
	Add EMAIL= to the environment to avoid potential failure.

2021-09-05  Philip Kaludercic  <philipk@posteo.net>

	Replace with-current-buffer with buffer-local-value where applicable

	* lisp/net/rcirc.el (rcirc-buffer-process): Use buffer-local-value
	(rcirc-last-quit-line): Use buffer-local-value
	(rcirc-bury-buffers): Use buffer-local-value
	(rcirc-record-activity): Use buffer-local-value

2021-09-05  Matthias Meulien  <orontee@gmail.com>

	Add tests for vc-version-diff

	* test/lisp/vc/vc-tests.el (vc-test--version-diff):
	New function.
	(vc-test-%s06-version-diff): New family of tests.

2021-09-05  Dmitry Gutov  <dgutov@yandex.ru>

	Rename xref-select-and-{goto,show}-xref

	* lisp/progmodes/xref.el (xref-select-and-show-xref):
	Rename from xref-select-and-goto-xref (bug#35376).
	Update all references.

2021-09-04  Basil L. Contovounesios  <contovob@tcd.ie>

	Avoid segfault in command-modes

	* src/data.c (Fcommand_modes): Check that bytecode object is
	interactive before accessing its interactive spec to avoid
	segfaulting (bug#50376).

2021-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/timer.el (timer-create): Don't inline it

2021-09-04  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of line truncation and wrapping

	* doc/emacs/display.texi (Line Truncation, Visual Line Mode):
	* doc/lispref/display.texi (Truncation): Document that turning on
	line truncation disables wrapping, and vice versa.

	* src/buffer.c (syms_of_buffer) <truncate-lines>:
	* src/xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>:
	Warn against turning on when 'visual-line-mode' is in effect.
	* lisp/simple.el (visual-line-mode): Document that this mode
	disables line truncation.  (Bug#29664)

2021-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow killing the diff buffer after `C-x v u'

	* doc/emacs/maintaining.texi (VC Undo): Document this.
	* lisp/vc/vc.el (vc-revert-show-diff): Allow a `kill' value.
	(vc-revert): Use it (bug#16902).

2021-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve error message in ielm on printing errors

	* lisp/ielm.el (ielm-eval-input): Don't claim that there's a bug
	on pp -- it may just be something that nests too far (bug#18012).

2021-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a customization group link from whitespace-mode

	* lisp/whitespace.el (whitespace-mode): Add a link to the
	whitespace customization group to see the faces (bug#18296).

2021-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Add support for customization group hyperlinks in doc strings

	* lisp/help-mode.el (help-customization-group): New button.
	(help-xref-customization-group-regexp): New const.
	(help-make-xrefs): Use them to allow making customization group
	buttons.

2021-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make multi-frame `M-x calendar' setup work when `pop-up-frames'

	* lisp/calendar/calendar.el (calendar): Make the calendar frame
	setup work when pop-up-frames is non-nil (bug#19256).

2021-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak hi-lock-mode doc string

	* lisp/hi-lock.el (hi-lock-mode): Tweak the doc string so that
	running hi-lock-mode in a *Help* buffer showing this help text
	won't issue an error (bug#20977).

2021-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `M-x term' offer completion

	* lisp/term.el (term): Have completion in the prompt (bug#21296).

2021-09-04  Yuchen Pei  <hi@ypei.me>

	Add diary-offset to diary-lib.el

	* doc/emacs/calendar.texi: Document the change.
	* lisp/calendar/diary-lib.el (diary-offset):
	* test/lisp/calendar/icalendar-tests.el: Add a test (bug#50195).

2021-09-04  Stefan Kangas  <stefan@marxist.se>

	* etc/DISTRIB: Refer to gnu.org instead of the deleted file etc/GNU.

2021-09-03  Glenn Morris  <rgm@gnu.org>

	* doc/misc/efaq.texi (Reporting bugs): Refer to the Emacs manual.

	That is better than having a separate, outdated text.

2021-09-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	0aa0410372 (origin/emacs-27, emacs-27) Fix "Finder" description for m...

2021-09-03  Augusto Stoffel  <arstoffel@gmail.com>

	Change Python eval to send directly instead of using temporary files

	* lisp/progmodes/python.el (python-shell-eval-setup-code): New
	const for setting up eval (bug#49822).
	(python-shell--encode-string): New function.
	(python-shell-send-string): Use it to send commands directly
	instead of writing to a temporary file.
	(python-shell-send-string-no-output): Adjust sending.
	(python-shell-send-file): Ditto.

2021-09-03  Theodor Thornhill  <theo@thornhill.no>

	Update to CSS Flexible Box Layout Module Level 2

	* lisp/textmodes/css-mode.el (css-property-alist): Update link.

2021-09-03  Theodor Thornhill  <theo@thornhill.no>

	Update to CSS Containment Module Level 2

	* lisp/textmodes/css-mode.el (css-property-alist): Update contain,
	and add content-visibility.

2021-09-03  Theodor Thornhill  <theo@thornhill.no>

	Update to CSS Grid Layout Module Level 2

	* lisp/textmodes/css-mode.el (css-property-alist): Update to the
	newer spec, and add the subgrid keywords.

2021-09-03  Theodor Thornhill  <theo@thornhill.no>

	Clean up css-property-alist for alignment

	* lisp/textmodes/css-mode.el (css-property-alist)
	(css-value-class-alist): Provide new position related entries for
	use in css-property-alist.  Make sure that property-alist reflect
	the spec: https://www.w3.org/TR/css-align-3/#property-index

2021-09-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix `describe-function' for autoloaded advised functions

	* lisp/emacs-lisp/nadvice.el (advice--make-single-doc): Factor
	out.
	(advice--make-docstring): From here (bug#23523).  Also include
	advices for autoloads.

2021-09-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow gud-mi to edit two executables with the same name

	* lisp/progmodes/gud.el (gud-common-init): Allow editing two
	executables with the same name (bug#22772).

2021-09-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Make recent timer changes more backwards-compatible

	* lisp/emacs-lisp/timer.el (timerp, timer-event-handler): Make
	backwards-compatible with old .elc files that have their own
	versions of `timer-create'd structures.

2021-09-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix message in previous toggle-truncate-lines change

	* lisp/simple.el (toggle-truncate-lines): Fix message in previous
	change.

2021-09-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow not putting pasted text onto the kill ring under xterm

	* lisp/term/xterm.el (xterm-paste): Don't put pasted text onto the
	kill ring (bug#28868).
	(xterm-store-paste-on-kill-ring): New user option.

2021-09-03  Eli Zaretskii  <eliz@gnu.org>

	* etc/NEWS: Announce recent change in 'toggle-truncate-lines'.

2021-09-03  Stefan Kangas  <stefan@marxist.se>

	Sync latest SKK-JISYO.L

	* leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.

2021-09-03  Stefan Kangas  <stefan@marxist.se>

	Update publicsuffix.txt from upstream

	* etc/publicsuffix.txt: Update from
	https://publicsuffix.org/list/public_suffix_list.dat
	dated 2021-09-02 22:13:03 UTC.

2021-09-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Make toggle-truncate-lines disable visual-line-mode

	* lisp/simple.el (toggle-truncate-lines): Disable
	`visual-line-mode' (bug#29664).

2021-09-03  Stefan Kangas  <stefan@marxist.se>

	Avoid cl-lib alias for cadadr and friends

	* lisp/edmacro.el (edmacro-fix-menu-commands):
	* lisp/frameset.el (frameset-move-onscreen):
	* lisp/htmlfontify.el (hfy-face-at, hfy-merge-adjacent-spans)
	(hfy-mark-tag-names):
	* lisp/mail/footnote.el (footnote--make-hole)
	(footnote-back-to-message):
	* lisp/net/eudc.el (eudc-get-email, eudc-get-phone):
	* lisp/net/rcirc.el (rcirc-make-trees, rcirc-handler-333)
	(rcirc-authenticate):
	* lisp/play/5x5.el (5x5-draw-grid, 5x5-solver):
	* lisp/play/decipher.el (decipher-insert-frequency-counts):
	* lisp/ses.el (ses-relocate-range):
	* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-step-into-macro-error)
	(edebug-tests-error-stepping-into-subr): Avoid using cl-lib aliases
	for cadadr and friends that now reside in subr.el.

2021-09-03  Stefan Kangas  <stefan@marxist.se>

	Move cl-lib tests for caaXr to subr-tests.el

	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-test-caaar)
	(cl-test-caadr): Move tests using a cl-lib alias from here...
	* test/lisp/subr-tests.el (subr-test-caaar, subr-test-caadr): ...to
	here.  The functions under test are in subr.el.

2021-09-03  Theodor Thornhill  <theo@thornhill.no>

	Add CSS Box Alignment Module Level 3 to css-mode

	* lisp/textmodes/css-mode.el (css-property-alist): Consolidate
	`align-{contents, items, self}', as well as the corresponding
	values for `justify-{contents, items, self}' and `place-{contents,
	items, self}'.  Values extracted from the flex part and into its
	own block (bug#50345).

2021-09-03  Theodor Thornhill  <theo@thornhill.no>

	Add selection to css-pseudo-element-ids

	* lisp/textmodes/css-mode.el (css-pseudo-element-ids): Add
	selection as an element id (bug#50345).

2021-09-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix `revert-buffer' message in `find-file-select'

	* lisp/files.el (find-file-noselect): Refer to revert-buffer-quick
	here since we're in a file-based buffer.

2021-09-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix memory-report test failure

	* test/lisp/emacs-lisp/memory-report-tests.el: Fix test build failure.

2021-09-03  Dmitry Gutov  <dgutov@yandex.ru>

	Fix recently broken vc-delete-file with Git

	* lisp/vc/vc-git.el (vc-git-delete-file):
	Treat FILE as string, not list (bug#50334).

2021-09-03  Glenn Morris  <rgm@gnu.org>

	More fixes for recently added vc-rename test

	* test/lisp/vc/vc-tests.el (vc-test-cvs05-rename-file): Skip.
	(vc-test-sccs05-rename-file): Treat like RCS.

2021-09-02  Tassilo Horn  <tsdh@gnu.org>

	Support forges by type rather than by host

	Formerly, bug-reference-setup-from-vc-alist basically had one entry
	per host (like gitlab.com).  Restructure so that it's easy to add new
	hosts being just an instance of some type of forge such as SourceHut,
	Gitea, or GitLab.

	While we're at it, add support for gitea.com, salsa.debian.org, and
	framagit.org, the latter two being GitLab instances.

	* lisp/progmodes/bug-reference.el (bug-reference-gitea-instances)
	(bug-reference-gitlab-instances,bug-reference-sourcehut-instances):
	New variables listing online instances of those forges.
	(bug-reference--setup-from-vc-alist): New function (and variable for
	caching) using the former three new variables to generate suitable VC
	auto-setup alist.
	(bug-reference-try-setup-from-vc): Use both
	bug-reference-setup-from-vc-alist and
	bug-reference--setup-from-vc-alist.

2021-09-02  Juri Linkov  <juri@linkov.net>

	* lisp/abbrev.el: Improve docstrings of inverse commands (bug#50303)

	* lisp/abbrev.el (add-mode-abbrev, add-global-abbrev)
	(inverse-add-mode-abbrev, inverse-add-global-abbrev):
	Add interlinking to opposite commands in docstrings.

2021-09-02  Eli Zaretskii  <eliz@gnu.org>

	Fix expansion of non-ASCII $HOME

	* src/fileio.c (Fexpand_file_name): Make the file name multibyte
	if the value of $HOME is multibyte.  (Bug#50266)

2021-09-02  Eli Zaretskii  <eliz@gnu.org>

	Fix 'clone-frame' on TTY frames

	* src/frame.c (Fmake_terminal_frame): Make a separate copy of the
	faces for the new frame before calling modify-frame-parameters, as
	on TTY frames that needs the faces already set up.  (Bug#34715)

2021-09-02  Eli Zaretskii  <eliz@gnu.org>

	Improve a recent change in 'mule-cmds.el'

	* lisp/international/mule-cmds.el
	(select-safe-coding-system--format-list): Display codepoints in
	hex and as characters.  Display the ellipsis in a better place.
	Enlarge the limit to 5 codepoints, as the display is now easier to
	grasp.
	(select-safe-coding-system-interactively): Don't use
	'select-safe-coding-system--format-list' for "rejected"
	coding-systems, as those don't come with characters and positions.

2021-09-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the coding system warning prettier

	* lisp/international/mule-cmds.el
	(select-safe-coding-system--format-list): New function to display
	the coding system information in a more readable format (bug#31062).
	(select-safe-coding-system-interactively): Use it.

2021-09-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Reformat up-list and backward-up-list doc strings

	* lisp/emacs-lisp/lisp.el (backward-up-list): Reformat the doc
	string into several paragraphs (bug#31349).
	(up-list): Ditto and fix the "start" to be "end".

2021-09-02  Lars Ingebrigtsen  <larsi@gnus.org>

	isearch*-lax-whitespace doc string improvements

	* lisp/isearch.el (isearch-regexp-lax-whitespace):
	* lisp/isearch.el (isearch-lax-whitespace): Mention the key binding
	in the doc string (bug#31790).

2021-09-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix documentation of `dired-do-touch'

	* doc/emacs/dired.texi (Operating on Files): Fix documentation of
	`dired-do-touch' (bug#50323).

2021-09-02  Yikai Zhao  <yikai@z1k.dev>

	memory-report: support calculating size for structures

	* lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): Add
	support for cl-defstruct types (bug#50301).

2021-09-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous ebfn2ps tweak

	* lisp/progmodes/ebnf2ps.el (ebnf-print-buffer): Remove NOOP decode
	step.

2021-09-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a test for bug#50320 in sh-script

2021-09-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Tweak sh-script-mode indentation further"

	This reverts commit 6392bc37ab3b7eb83465d9b2248d21173373ae73.

	The changes led to errors throughout (bug#50320).

2021-09-02  Stephen Gildea  <stepheng+emacs@gildea.com>

	tramp-auto-save-directory: make private

	* lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
	chmod 0700 tramp-auto-save-directory when creating

	Thanks to Michael Albinus for reviewing this patch.

2021-09-01  Eli Zaretskii  <eliz@gnu.org>

	Fix segfault with invalid key-translation-map binding

	* src/keyboard.c (access_keymap_keyremap): Don't assume an invalid
	function is specified as a symbol.  Reported by Perry E. Metzger
	<perry@piermont.com>.

2021-09-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Filter out the `name' parameter in clone-frame

	* lisp/frame.el (clone-frame): Filter out the `name' parameter,
	because two frames shouldn't have the same name and this will
	lead to a warning.

2021-09-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't have epg bug out on non-existent packages

	* lisp/epg.el (epg--start): We may be called from contexts where
	the directory doesn't exist, but we need to have an existing
	directory here for the process (bug#32004).

2021-09-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new macro `with-existing-directory'

	* doc/lispref/files.texi (Testing Accessibility): Document it.
	* lisp/subr.el (with-existing-directory): New macro (bug#32004).

2021-09-01  Kien Nguyen  <kien.n.quang@gmail.com>

	* Add a dll loader entry for gcc_jit_context_new_cast (bug#50315)

	* src/comp.c: Add a dll loader entry for
	'gcc_jit_context_new_cast' (bug#50315).

2021-09-01  Drew Adams  <drew.adams@oracle.com>

	Add new command `clone-frame'

	* doc/emacs/frames.texi (Creating Frames): Document it.

	* lisp/frame.el (clone-frame): New command and keystroke (bug#34715).

2021-09-01  Glenn Morris  <rgm@gnu.org>

	Make set-foreground-color display completions using foreground colors

	* lisp/faces.el (defined-colors-with-face-attributes): Also create
	colors for foregrounds (bug#33799).
	(read-color): Also allow varying the foreground color.

	* lisp/frame.el (set-foreground-color): Vary the foreground color.

2021-09-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix (setf (map-elt map key) (my-func))

	* lisp/emacs-lisp/map.el (map-elt): Ensure that the value isn't
	referenced more than once (bug#50290).

2021-09-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Autoload calc-grab-sum-across and calc-grab-sum-down

	* lisp/calc/calc.el (calc-grab-sum-down):
	(calc-grab-sum-across): Autoload, since they can be used from
	outside Calc (bug#50311).

2021-09-01  Miha Rihtaršič  <miha@kamnitnik.top>

	In batch mode, avoid killing Emacs with C-g in the minibuffer

	* src/keyboard.c (Fcommand_error_default_function): Don't kill emacs
	when handling the minibuffer-quit condition (bug#48603).

2021-09-01  Marco Centurion  <mcenturion@fing.edu.uy>  (tiny change)

	Use "gzip -d" instead of "gunzip"

	* lisp/dired-aux.el (dired-compress-file-suffixes): Use "gzip -d"
	instead of "gunzip" since we already assume that "gzip" exists on
	the system (bug#10990).

2021-08-31  Philip Kaludercic  <philipk@posteo.net>

	Avoid failing if vc backend doesn't implement ignore-completion-table

	* lisp/progmodes/project.el (project-ignores): Handle
	vc-not-supported signals.

2021-08-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename xref--mouse-2 and adjust documentation

	* doc/emacs/maintaining.texi (Xref Commands): `mouse-1' is bound
	to `xref-goto-xref', not `mouse-2' (bug#35376).
	(Xref Commands): Mention what `mouse-2' does.

	* lisp/progmodes/xref.el (xref--button-map): Adjust.
	(xref-select-and-goto-xref): Rename from xref--mouse-2 (bug#35376).

2021-08-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix point placement after ispell-complete-word

	* lisp/textmodes/ispell.el (ispell-complete-word): Leave point at
	the end of the inserted word instead of a less than useful amount
	of distance from the start of the word (bug#37552).

2021-08-31  Lars Ingebrigtsen  <larsi@gnus.org>

	call-process doc string clarification

	* src/callproc.c (Fcall_process): Explicitly say that "output"
	means both stdout and stderr (bug#37906).

2021-08-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Make calc plotting through gnuplot work on non-X gnuplots

	* lisp/calc/calc-graph.el (calc-graph-plot): Fall back on "dumb"
	if we don't support the terminal (bug#50237).
	(calc-gnuplot-command): Say whether the command errored out.

2021-08-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix abnf parsing of <prose> elements

	* lisp/progmodes/ebnf-abn.el (ebnf-abn-lex): Make <prose> parsing
	work (bug#39663).

2021-08-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Make run-at-time try harder to run at integral multiples

	* lisp/emacs-lisp/timer.el (timer): Add new slot integral-multiple.
	(timerp): Adjust.
	(timer-event-handler): Recompute the delay if requested
	(bug#39099).
	(run-at-time): Mark the timer as recomputable if given a t
	parameter.

	* src/keyboard.c (decode_timer): Adjust.

2021-08-31  Dmitry Gutov  <dgutov@yandex.ru>

	Move the expansion of abbreviated names to vc-git.el

	* lisp/vc/vc-git.el (vc-git--literal-pathspec):
	Perform the expansion of abbreviated file names here instead
	(bug#39452).

	* lisp/vc/vc.el (vc-root-diff, vc-print-root-log):
	Undo the recent change.

2021-08-30  Andreas Schwab  <schwab@linux-m68k.org>

	Implement proper type conversion in native compiler

	* src/comp.c (enum cast_kind_of_type): Remove.
	(comp_t): Add cast_ptr_to_int, cast_int_to_ptr, remove
	cast_type_sizes, cast_type_kind, cast_type_names, cast_union_fields,
	cast_union_field_biggest_type.
	(emit_coerce): Remove check for type size.
	(struct cast_type): Remove bytes_size.
	(define_type_punning): New function.
	(define_cast_from_to): Implement proper type conversion.
	(define_cast_functions): Adjust.  (bug#50230)

2021-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	(cperl-test-bug-14343): Make it work for perl-mode

	* test/lisp/progmodes/cperl-mode-tests.el (cperl--tests-heredoc-face):
	New const.
	(cperl-test-heredocs, cperl-test-bug-14343): Use it.
	(cperl-test-identify-no-heredoc): Remove left-over message.

2021-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/progmodes/cperl-mode-tests.el: Adjust here-doc tests for perl-mode

	(cperl-test-identify-heredoc, cperl-test-identify-no-heredoc):
	Tweak tests so they can also be used for perl-mode.

2021-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/NEWS: Fix typo

2021-08-30  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'ispell-hunspell-add-multi-dic'

	* lisp/textmodes/ispell.el (ispell-hunspell-add-multi-dic):
	Explain in the doc string how to call from Lisp.  (Bug#50241)

2021-08-30  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement in 'get-locale-names' on MS-Windows

	* lisp/international/mule-cmds.el (get-locale-names): Delete
	duplicate locales from the list returned by the MS-Windows
	implementation.

2021-08-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in kill-buffer-delete-auto-save-files NEWS entry

2021-08-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make some non-ASCII work in ebnf2ps

	* lisp/progmodes/ebnf2ps.el (ebnf-print-buffer): Make non-ASCII
	work slightly better (bug#39663).

2021-08-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in previous custom.texi change

	* doc/emacs/custom.texi (Init Syntax): Fix typo in previous change
	-- it's customize-set-variable.

2021-08-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make epg use rfc6068 for decoding %-encoded strings

	* lisp/epg.el (epg--decode-percent-escape-as-utf-8): Make obsolete
	and adjust callers.
	(epg--decode-hexstring): Ditto.

	* lisp/mail/rfc6068.el (rfc6068-unhexify-string): Allow returning
	non-decoded octets (bug#39689).

2021-08-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make rfc2368 obsolete and add rfc6068

	* lisp/obsolete/rfc2368.el: Moved here and made obsolete.

	* lisp/mail/rfc6068.el (rfc6068-unhexify-string): New file.

2021-08-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Only look for the port command on MacOS

	* configure.ac: Only look for the port command on MacOS (bug#50259).

2021-08-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Move vc-branch-p and vc-branch-part from vc.el to vc-rcs.el and rename

	* lisp/vc/vc-rcs.el (vc-rcs-branch-p): Renamed from `vc-branch-p'
	(old name made into obsolete alias) and moved from vc.el.
	(vc-rcs-branch-part): Renamed from `vc-branch-part'
	(old name made into obsolete alias) and moved from vc.el.

2021-08-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix vc test for RCS

	* test/lisp/vc/vc-tests.el (vc-test--rename-file): Fix test for RCS.

2021-08-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `set-variable' in the Init Syntax Emacs manual node

	* doc/emacs/custom.texi (Init Syntax): Mention set-variable
	(bug#50248).
	(Init Examples): Add an example.

2021-08-29  Clément Pit-Claudel  <clement.pitclaudel@live.com>

	Change --with-nativecomp to --with-native-compilation in messages

	* configure.ac:
	* test/infra/Dockerfile.emba:
	* test/infra/gitlab-ci.yml: Fix mentions of --with-nativecomp
	(bug#50255).

2021-08-29  Augusto Stoffel  <arstoffel@gmail.com>

	Add support for OSC 7 in comint (current directory tracking)

	* lisp/comint.el (comint-osc-directory-tracker, comint-osc-handlers):
	Define and register a handler for OSC 7.
	(comint-osc-process-output): Do fewer checks on
	'comint-last-output-start'.

2021-08-29  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Tweak sh-script-mode indentation further

	* lisp/progmodes/sh-script.el (sh-smie--default-backward-token):
	Allow more parentheses in a token (bug#44592).

2021-08-29  Philipp Stephani  <phst@google.com>

	Improve compatibility with musl-libc (Bug#48789)

	* lib-src/seccomp-filter.c (export_filter): Remove use of
	nonstandard macro TEMP_FAILURE_RETRY.

2021-08-29  Alan Mackenzie  <acm@muc.de>

	C++ Mode: handle compound identifiers preceding brace lists correctly

	* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): early in
	function, check alternatively for c-back-over-compound-identifier when doing
	c-backward-token-2.

2021-08-29  Alan Third  <alan@idiocy.org>

	Fix libexec installation on NS (bug#50250)

	* lib-src/Makefile.in (ns_applibexecdir): New variable.

2021-08-29  Eli Zaretskii  <eliz@gnu.org>

	Better document obsolescence of 'values'

	* doc/lispref/eval.texi (Eval): Mention that 'values' is obsolete.
	* etc/NEWS: Add a rationale for obsoleting 'values'.

2021-08-29  Alan Third  <alan@idiocy.org>

	Disable the NS app when no frames are left (bug#14619, bug#21357, bug#23586)

	* src/nsfns.m (Fx_create_frame): Enable the app.
	* src/nsterm.m (ns_delete_terminal): Disable the app.

2021-08-29  Dmitry Gutov  <dgutov@yandex.ru>

	Add tests for vc-rename-file

	* test/lisp/vc/vc-tests.el (vc-test--rename-file): New function.
	(vc-test-%s05-rename-file): New family of tests (bug#39452).

2021-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/NEWS: Document the recent xterm.el change for `\e[29~`

2021-08-27  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/flymake.el: Bind mouse-3 to flymake-menu on mode-line.

	* lisp/progmodes/flymake.el (flymake--mode-line-title):
	Bind [mode-line down-mouse-3] to flymake-menu (bug#50067)

2021-08-27  Juri Linkov  <juri@linkov.net>

	Revert part of 3572613550f5d1d0b3392dbc809b32f3989e2981 (bug#39452)

	* lisp/vc/vc-git.el (vc-git-rename-file): Don't use vc-git--literal-pathspecs.

2021-08-27  Dario Gjorgjevski  <dario.gjorgjevski@gmail.com>

	Fix shell-script-mode indentation of continuation lines

	* lisp/progmodes/sh-script.el (sh-smie--default-backward-token):
	Fix indentation of continuation lines (bug#44592).

2021-08-27  Michalis V  <mvar.40k@gmail.com>

	Fix completion of extended "..." syntax in eshell

	* lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Expand
	"..." (bug#19626).

2021-08-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't overly truncate tabulated-list headers

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
	Don't overly truncate headers that are before a right-aligned
	column (bug#44594).
	(tabulated-list--available-space): Separated out into own
	function...
	(tabulated-list-print-col): ... from here.

2021-08-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix `M-X TAB' completion for commands marked for multiple modes

	* lisp/simple.el (command-completion-using-modes-p): Fix
	completion over commands that are defined for multiple modes
	(bug#50228).

2021-08-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Put advice documentation at the end of the displayed doc string

	* lisp/emacs-lisp/nadvice.el (advice--make-docstring): Put the
	advice things at the end of the documentation (bug#50222).  It's
	important to have the first line of the original documentation
	remain the first line, because it's used when doing one-line
	summaries of the function.

2021-08-27  Thierry Volpiatto  <thievol@posteo.net>

	Make `eshell-command' also work when asynchronous

	* lisp/eshell/esh-cmd.el (eshell-eval-command): Make asynchronous
	`eshell-command' work (e.g. `M-x eshell-command RET sleep 10 &')
	(bug#50209).

2021-08-27  Christophe Troestler  <Christophe.Troestler@umons.ac.be>  (tiny change)

	lisp/newcomment.el: Uncommenting with whitespace `comment-continue'

	* lisp/newcomment.el (uncomment-region-default-1): Make
	all-whitespace `comment-continue' work (bug#50226).

2021-08-27  Andrea Corallo  <akrl@sdf.org>

	Forward `comp-file-preloaded-p' to async workers

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward
	`comp-file-preloaded-p' to async workers.

2021-08-27  Juri Linkov  <juri@linkov.net>

	Replace flyspell-use-mouse-3-for-menu with context-menu-mode (bug#50067)

	* doc/emacs/fixit.texi (Spelling): Replace mentions of
	flyspell-use-mouse-3-for-menu with context-menu-mode.

	* lisp/mouse.el (context-menu-map): Use the function from the
	text property context-menu-function at mouse click event.

	* lisp/textmodes/flyspell.el (flyspell--set-use-mouse-3-for-menu):
	Remove function.
	(flyspell-use-mouse-3-for-menu): Remove defcustom added recently in 28.1.
	(flyspell-context-menu): New function.
	(flyspell-mode): Don't call flyspell--set-use-mouse-3-for-menu.
	(flyspell-mode-on): Replace flyspell-use-mouse-3-for-menu
	with context-menu-mode.
	(make-flyspell-overlay): When context-menu-mode is non-nil,
	put overlay context-menu-function with flyspell-context-menu
	instead of using keymap flyspell-mouse-map.

2021-08-27  Lars Ingebrigtsen  <larsi@gnus.org>

	python-shell-interpreter doc string clarification

	* lisp/progmodes/python.el (python-shell-interpreter): Note what
	to do when using ipython3 (bug#44732).

2021-08-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix backtrace when query-about-changed-file nil and file has changed

	* lisp/userlock.el (userlock--check-content-unchanged): Make the
	assertion more robust -- we may be called here from a different
	contexts if `query-about-changed-file' is nil.

2021-08-27  Noah Evans  <noah@nevans.me>  (tiny change)

	Fix recentering issue in `follow-mode'

	* lisp/follow.el (follow-recenter): Make `C-c . C-l' work in
	windows before the middle one, too (bug#50220).

2021-08-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Enable setting timeclock-workday after switching mode on

	* lisp/calendar/timeclock.el (timeclock--previous-workday): New
	variable.
	(timeclock-find-discrep): Use it to flush values when
	timeclock-workday changes (bug#50216).
	(timeclock-mode-line-display): Mention `timeclock-workday' setting
	in doc string.

2021-08-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with symlinks in compile buffers

	* lisp/progmodes/compile.el (compilation-find-file): Avoid
	`expand-file-name' when computing the file names, because that will
	reliably give the wrong result when there's symlinks and ".."
	involved (bug#8035).

2021-08-26  Philip Kaludercic  <philipk@posteo.net>

	timeclock.el: Update example configuration

	* lisp/calendar/timeclock.el: Update comments that were no longer
	correct (bug#50211).

2021-08-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Make dired-chmod-program obsolete

	* lisp/dired.el (dired-chmod-program): Make into a defvar and make
	obsolete (bug#50190).

	* lisp/net/ange-ftp.el (ange-ftp-process-file): Remove usage of
	dired-chmod-program.

2021-08-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Add support for "bright" ANSI colors in ansi-color"

	This reverts commit c8e3347ec01a9ed6dc8d88c2dbbb3a08497e8eb2.

	Jim Porter's paperwork isn't finalized yet.

2021-08-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Add support for "bright" ANSI colors in term-mode"

	This reverts commit 2b2a103db0c3597c7685d3ffff4bca7f2e4d094e.

	Jim Porter's paperwork isn't finalized yet.

2021-08-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Add missing :version tags to new faces"

	This reverts commit 9759fb596b634db2faf7edcd4fd557a11abe9903.

	Jim Porter's paperwork isn't finalized yet.

2021-08-26  Michael Albinus  <michael.albinus@gmx.de>

	Improve robustness of shadowfile.el

	* lisp/shadowfile.el (shadow-site-help): New defconst.
	(shadow-read-site): Use it.
	(shadow-make-fullname, shadow-contract-file-name)
	(shadow-define-literal-group): Handle errors more robust.  (Bug#49596)

	* test/lisp/shadowfile-tests.el (shadow-test06-literal-groups):
	Extend test.

2021-08-26  Tassilo Horn  <tsdh@gnu.org>

	Fix docs about the meaning of the Re: in the subject

	* doc/misc/message.texi (Message Headers): Clarify that it comes from
	the Latin "res" meaning "in the matter of" rather than "in response
	to" as claimed previously (see RFC-2822).

2021-08-26  Eli Zaretskii  <eliz@gnu.org>

	Define a substitute for <menu> on MS-Windows

	* lisp/mouse.el (context-menu-mode-map): On w32, use <apps>
	in addition to (the mostly non-existent) <menu>.

2021-08-26  Dmitry Gutov  <dgutov@yandex.ru>

	Rename arguments for clarity

	* lisp/vc/vc-git.el (vc-git--literal-pathspecs)
	(vc-git--literal-pathspecs):
	Rename arguments for clarity (bug#39452).

2021-08-26  Dmitry Gutov  <dgutov@yandex.ru>

	Make sure to remove the remote specification before adding :(literal)

	* lisp/vc/vc-git.el (vc-git--literal-pathspec):
	Make sure to remove the remote specification from the file name
	(bug#50175, bug#39452).

2021-08-26  Stephen Gildea  <stepheng+emacs@gildea.com>

	Fix "Finder" description for multi-file packages

	* lisp/finder.el (finder-compile-keywords):  Now that 'version' is
	set for more files, it is no longer necessary to check that we have
	a version when picking the file from which to take the description.
	Doing so caused built-in packages (where the version is known) to have
	their package description taken from the last .el file that matched the
	file name pattern, usually the last source file in the sub-directory.

	This bug was introduced in July 2019 and first released in Emacs 27.1.

	Thanks to Michael Albinus for reviewing this patch.

2021-08-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/term/xterm.el (xterm-function-map): Map `\e[29~` to `menu`

2021-08-25  Gabriel do Nascimento Ribeiro  <gabriel376@hotmail.com>

	Handle nil messages in repeat-echo-message.

	* lisp/repeat.el (repeat-echo-message): Handle cases where
	'current-message' is nil (bug#50176).

2021-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Make thingatpt respect fields

	* lisp/thingatpt.el (thing-at-point): Make thingatpt respect
	fields (bug#9454).

2021-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `set-locale-environment' complete over locale names

	* lisp/international/mule-cmds.el (get-locale-names): New function.
	(set-locale-environment): Use it to allow completion (bug#9655).

2021-08-25  João Távora  <joaotavora@gmail.com>

	Speed up pcm completion styles for patternless special case

	(Bug#48841)

	* lisp/minibuffer.el (completion-flex-all-completions): Skip
	completion-pcm--hilit-commonality if there's no pattern yet.

2021-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Disable xterm selection operators in stterm

	* lisp/term/st.el (xterm-st-extra-capabilities): st doesn't
	support the xterm selection things (bug#50192).

2021-08-25  Eli Zaretskii  <eliz@gnu.org>

	Add missing :version tags to new faces

	* lisp/term.el (term-color-bright-black, term-color-bright-red)
	(term-color-bright-green, term-color-bright-yellow)
	(term-color-bright-blue, term-color-bright-magenta)
	(term-color-bright-cyan, term-color-bright-white): Add :version.

2021-08-25  Jim Porter  <jporterbugs@gmail.com>

	Add support for "bright" ANSI colors in term-mode

	* lisp/term.el (ansi-term-color-vector): Add new faces.
	(term-color-white): Tweak colors.
	(term-color-bright-black, term-color-bright-red, term-color-bright-green)
	(term-color-bright-yellow, term-color-bright-blue)
	(term-color-bright-magenta, term-color-bright-cyan)
	(term-color-bright-white): New faces.
	(term--maybe-brighten-color): New function.
	(term-handle-colors-array): Handle bright colors.
	* test/lisp/term-tests.el (term-colors, term-colors-bold-is-bright):
	New functions.

2021-08-25  Jim Porter  <jporterbugs@gmail.com>

	Add support for "bright" ANSI colors in ansi-color

	* lisp/ansi-color.el (ansi-bright-color-names-vector): New defcustom.
	(ansi-color-bold-is-bright): New defcustom.
	(ansi-color--find-face): Sort ANSI codes and check
	'ansi-color-bold-is-bright'.
	(ansi-color-apply-sequence): Support bright ANSI colors.
	(ansi-color--fill-color-map): New function.
	(ansi-color-make-color-map): Add bright ANSI colors.
	(ansi-color-get-face-1): Add BRIGHT parameter.
	* test/lisp/ansi-color-tests.el
	(ansi-color-apply-on-region-bold-is-bright-test): New function.

2021-08-25  Shitikanth Kashyap  <shitikanth1@gmail.com>  (tiny change)

	tabulated-list-print delete excess lines

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Ensure
	that we delete remaining lines if the list has gotten shorter
	(bug#50194).

2021-08-25  Augusto Stoffel  <arstoffel@gmail.com>

	Add support for OSC escape codes in comint

	* doc/emacs/misc.texi (Shell Mode): Document it.

	* lisp/comint.el (comint-osc-handlers, comint-osc--marker): New
	variables.
	(comint-osc-process-output): New function.
	(comint-osc-hyperlink-map): New map.
	(comint-osc-hyperlink-handler): New function.

2021-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up deleting auto-save/killing buffer wrt. `auto-save-visited-mode'

	* src/buffer.c (Fkill_buffer): Respect `auto-save-visited-mode'.

2021-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Further checks for kill-buffer-delete-auto-save-files

	* src/buffer.c (Fkill_buffer): Check that the auto-save file
	exists before asking whether to delete it.

2021-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous conf-mode/tex-mode redirection hacks

	* lisp/textmodes/conf-mode.el (conf-mode):
	* lisp/textmodes/tex-mode.el (tex--redirect-to-submode): The
	previous hack to these redirections would disable all local
	variables.  Try to work around this a bit more.

2021-08-24  Michael Albinus  <michael.albinus@gmx.de>

	Some precisements in Tramp's connection type handling

	* doc/misc/tramp.texi (Remote processes): Precise connection type
	handling.

	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
	* lisp/net/tramp.el (tramp-handle-make-process):
	Fix :connection-type handling.
	(tramp-action-show-and-confirm-message): Pacify byte compiler.

	* lisp/net/tramp-compat.el (tramp-compat-ignore-error): New defmacro.

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
	(tramp-test30-make-process): Extend tests.

2021-08-24  Ergus  <spacibba@aol.com>

	* lisp/mouse.el (context-menu-mode-map): Bind [menu] to context-menu-open.

	https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg01004.html

2021-08-24  Juri Linkov  <juri@linkov.net>

	* lisp/mouse.el (context-menu-buffers): New function (bug#50067).

	(context-menu-functions): Add context-menu-buffers to the choice list.

2021-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	Doc that dired-do-chmod no longer follows symlinks

	* doc/emacs/dired.texi (Operating on Files):
	* etc/NEWS: Document this security precaution.

2021-08-24  Gabriel do Nascimento Ribeiro  <gabriel376@hotmail.com>

	Fix to clear echo-area after repeat-exit-timeout.

	* lisp/repeat.el (repeat-echo-message): Use 'string-match-p'
	to handle cases where echo-area contains other messages (bug#50176).

2021-08-23  Eli Zaretskii  <eliz@gnu.org>

	Document 'jit-lock-bounds'

	* doc/lispref/modes.texi (Other Font Lock Variables):
	* lisp/jit-lock.el (jit-lock-functions, jit-lock-register):
	Document the return value of the fontification functions.

2021-08-23  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'inhibit-mouse-event-check'

	* etc/NEWS:
	* src/callint.c (syms_of_callint): Fix wording of the
	documentation of 'inhibit-mouse-event-check'.

2021-08-23  Mattias Engdegård  <mattiase@acm.org>

	Add example of advanced user-defined Rx form to manual

	* doc/lispref/searching.texi (Extending Rx): Add example illustrating
	how to define a user-defined Rx form that performs computation,
	from a discussion with Michael Herdeegen (bug#50136).
	* lisp/emacs-lisp/rx.el (rx): Clarify evaluation time for `eval`.

2021-08-23  Juri Linkov  <juri@linkov.net>

	* lisp/mouse.el (context-menu-open): New command bound to [S-f10].

	* doc/emacs/frames.texi (Menu Mouse Clicks): Mention S-F10
	to pop up the context menu.

	* src/callint.c (Fcall_interactively):
	Use inhibit_mouse_event_check for the case 'e'.
	(inhibit-mouse-event-check): New variable.

	https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00733.html

2021-08-23  Glenn Morris  <rgm@gnu.org>

	Fix recently added cperl test

	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-test-here-doc-missing-end): Fix quote regexp.

2021-08-23  Eli Zaretskii  <eliz@gnu.org>

	Improve recently-changed docs

	* src/frame.c (Fnext_frame):
	* doc/lispref/frames.texi (Finding All Frames): Improve wording
	and style of the 'next-frame's documentation.

2021-08-23  Eli Zaretskii  <eliz@gnu.org>

	Fix doc strings in recent changes.

	* lisp/progmodes/cperl-mode.el (cperl-commentify)
	(cperl-here-doc-functions, cperl-is-here-doc-p)
	(cperl-find-pods-heres): Fix wording, style, and punctuation of
	doc strings.

2021-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the documentation of `next-frame'

	* doc/lispref/frames.texi (Finding All Frames): Clarify what it
	means to "consider".
	* src/frame.c (Fnext_frame): Rewrite doc string to say what the
	parameters actually mean (bug#13339).

2021-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new variable 'kill-buffer/delete-auto-save-files'

	* doc/emacs/files.texi (Auto Save Files): Document it.
	* lisp/cus-start.el (standard): Add customize form.

	* lisp/files.el (delete-auto-save-files): Move definition to C
	(since it's used in the C layer).

	* src/buffer.c (Fkill_buffer): Use the new variable (and remove
	the old code that apparently didn't trigger for
	kill-buffer/delete-auto-save-files.
	(syms_of_buffer): Add new variable
	kill-buffer-delete-auto-save-files and move definition of
	delete-auto-save-files here (bug#21612).

2021-08-23  Michael Albinus  <michael.albinus@gmx.de>

	Complete implementation of `copy-directory-create-symlink' in Tramp

	* lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory): Fix the case
	NEWNAME is a directory name with a trailing slash.

	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
	Implement `copy-directory-create-symlink'.  (Bug#10897)

	* test/lisp/net/tramp-tests.el
	(tramp--test-ignore-make-symbolic-link-error): Move up.
	(tramp-test15-copy-directory): Extend test.

2021-08-23  Juri Linkov  <juri@linkov.net>

	* lisp/mouse.el (context-menu-toolbar): New function.

	(context-menu-functions): Add context-menu-toolbar to choice.
	(context-menu-region): Bind "Paste" to mouse-yank-at-click
	instead of mouse-yank-primary.
	https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00735.html

2021-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify :stderr in the make-process doc string

	* src/process.c (Fmake_process): Elaborate upon what :stderr does
	(bug#50166).

2021-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Update NEWS tagging for modules and parse-time-string

2021-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Document `dlet'

	* doc/lispref/variables.texi (Local Variables): Document `dlet'.

2021-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve byte-compile-warnings doc string

	* lisp/emacs-lisp/bytecomp.el (byte-compile-warnings): Mention
	'byte-compile-docstring-max-column'.

2021-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Do command mode markup in xwidget.el

2021-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make xwidget-webkit-enable-plugins a defcustom

	* lisp/xwidget.el (xwidget-webkit-enable-plugins): Make into
	defcustom.

2021-08-23  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix recent parse-partial-sexp argument validation

	* src/syntax.c (parse-partial-sexp): Also handle markers as
	arguments (bug#49944).  Tweak error message to follow conventions in
	"(elisp) Signaling Errors".

2021-08-22  Andrea Corallo  <akrl@sdf.org>

	Set a unique ID for eln files on macOS (bug#45934)

	* src/comp.c (Fcomp__compile_ctxt_to_file): Set gcc's -install_name
	parameter to the real filename.

2021-08-22  Masahiro Nakamura  <tsuucat@icloud.com>

	Set label for NSToolbarItem (bug#50159)

	* src/nsmenu.m (update_frame_tool_bar): Get label text and pass it to ...
	([EmacsToolbar addDisplayItemWithImage:idx:tag:labelText:helpText:enabled:]):
	... this that sets label for NSToolbarItem.
	* src/nsterm.h
	([EmacsToolbar addDisplayItemWithImage:idx:tag:labelText:helpText:enabled:]):
	Add labelText argument.

2021-08-22  Michael Albinus  <michael.albinus@gmx.de>

	Implement `copy-directory-create-symlink' for remote files

	* lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
	Implement `copy-directory-create-symlink'.  (Bug#10897)

	* test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
	Extend test.

2021-08-22  João Távora  <joaotavora@gmail.com>

	Double check completions-group customization variable in Icomplete

	bug#48545

	* lisp/icomplete.el (icomplete--augment): Double check completions-group.

2021-08-22  João Távora  <joaotavora@gmail.com>

	Don't mess up grouping in completion-all-sorted-completions

	The default sorting order will mess up the naturally grouped order of
	the candidates in the table that specified the group-function.

	As seen in xref.el when

	   (setq xref-show-definitions-function
	         'xref-show-definitions-completing-read)
	   (setq completions-group t)
	   M-x fido-mode

	Also partially seen with C-x 8 RET (M-x insert-char) with

	   (setq read-char-by-name-sort 'code)

	bug#48545

	* lisp/minibuffer.el (completion-all-sorted-completions): Don't
	use default sort if there's a group-function in the table.

2021-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Fix dired switch (that contain quotes and spaces) parsing"

	This reverts commit 04f723dec944eaa7b5e99373840a8bf920ba5fdd.

	The dired switches are documented to not follow shell syntax, but instead
	uses a lisp-in-string-form kind of quoting.

2021-08-22  Colin Woodbury  <colin@fosskers.ca>

	Don't echo empty string in file-name-with-extension

	* lisp/files.el (file-name-with-extension): Avoid echoing a filename
	string known to be empty (bug#50149).

2021-08-22  Omar Polo  <op@omarpolo.com>

	Avoid using %n in emacsclient

	* lib-src/emacsclient.c (local_sockname): Avoid using %n (bug#50155).

2021-08-22  Michael Albinus  <michael.albinus@gmx.de>

	Some adaptions for Tramp's security key detection.

	* lisp/net/tramp.el (tramp-security-key-timeout-regexp): New defcustom.
	(tramp-action-show-and-confirm-message): Don't use timeout, check
	for the timeout message of the ssh command.

2021-08-22  Mattias Engdegård  <mattiase@acm.org>

	Make Qhide declaration non-target-specific

	* src/xfns.c (syms_of_xfns): Move DEFSYM from here...
	* src/menu.c (syms_of_menu): ... to here.
	This fixes the NS build after dd7d966eb40b.

2021-08-22  Ergus  <spacibba@aol.com>

	* lisp/mouse.el (context-menu-mode-map): New variable.

	(context-menu--saved-bindings, context-menu--bind-mouse)
	(context-menu--restore-bindings): Remove.
	(context-menu-mode): Don't use removed functions.

2021-08-22  Juri Linkov  <juri@linkov.net>

	Don't show menu titles with the text property 'hide' (bug#50067)

	* lisp/mouse.el (context-menu-map): Add menu title "Context Menu"
	propertized with the text property 'hide'.

	* src/menu.c (x_popup_menu_1): Don't show the title with the non-nil
	text property 'hide' on GTK and NS.

2021-08-22  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'set-keyboard-coding-system'

	* doc/lispref/nonascii.texi (Terminal I/O Encoding):
	* doc/emacs/mule.texi (Terminal Coding):
	* lisp/international/mule.el (set-keyboard-coding-system):
	Document that 'set-keyboard-coding-system' has no effect on modern
	MS-Windows systems.  (Bug#15289)

2021-08-22  Glenn Morris  <rgm@gnu.org>

	* test/lisp/international/ucs-normalize-tests.el: Save 30m on hydra.

2021-08-22  Stephen Gildea  <stepheng+emacs@gildea.com>

	mh-x-image-url-sane-p: accept "https" URLs

	* lisp/mh-e/mh-xface.el (mh-x-image-url-sane-p): Accept https URLs.
	* test/lisp/mh-e/mh-xface-tests.el: New file, to test
	mh-x-image-url-sane-p.

2021-08-21  Glenn Morris  <rgm@gnu.org>

	* test/Makefile.in: Turn off hydra verbose logging for electric-tests.

2021-08-21  Glenn Morris  <rgm@gnu.org>

	* test/lisp/net/tramp-tests.el: Reduce hydra run time by 1 hour.

	It's just too slow to run these after every commit.

2021-08-21  Glenn Morris  <rgm@gnu.org>

	* test/lisp/electric-tests.el: Un-skip c-mode tests on hydra.

2021-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix failures in recent files tests

	* test/lisp/files-tests.el (files-tests-buffer-offer-save)
	(files-tests-save-buffers-kill-emacs--asks-to-save-buffers):
	`read-event' is called with arguments.

2021-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify cl-defstruct doc string and manual entry somewhat

	* doc/misc/cl.texi (Structures): Rename the slot "name" in the
	examples to "first-name", since we're talking about the names of
	slots a lot here, and having a slot with the name "name" makes the
	examples somewhat confusing.
	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Clarify certain
	things about slots (bug#14278).

2021-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix perldb doc string

	* lisp/progmodes/gud.el (perldb): Fix doc string (bug#14588).

2021-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify dired-jump doc string

	* lisp/dired.el (dired-jump): Make the doc string say what happens
	in buffers not visiting files (bug#14733).

2021-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the comment-start-skip example in the manual

	* doc/emacs/programs.texi (Options for Comments): Tweak the
	example regexp for comment-start-skip (bug#15006).

2021-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify how to do the `count-words-in-defun' recipe

	* doc/lispintro/emacs-lisp-intro.texi (count-words-in-defun):
	Clarify the recipe (bug#15069).

2021-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Make parse-partial-sexp signal an error if TO is smaller than FROM

	* src/syntax.c (Fparse_partial_sexp): Signal an error if TO is
	smaller than FROM (bug#49944).

2021-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention problems with synthetic fonts on macOS

	* etc/PROBLEMS: Mention synthetic fonts (bug#18818).

2021-08-21  Alan Third  <alan@idiocy.org>

	Fix display bug on macOS (bug#50112)

	* src/nsterm.m ([EmacsLayer initWithColorSpace:]): Use the colorspace
	setter.
	([EmacsLayer setColorSpace:]): Sometimes we seem to get null
	colorspaces, so set a default in this case.
	([EmacsLayer getContext]): Check whether there's been a surface or
	graphics context allocation failure and log it.

2021-08-21  Alan Third  <alan@idiocy.org>

	* configure.ac: Make homebrew check for libgccjit match macports.

2021-08-21  Mattias Engdegård  <mattiase@acm.org>

	Remove default "Select" title from NS popup menus (bug#50067)

	* src/menu.c (x_popup_menu_1): Remove default "Select" title.
	* src/nsmenu.m (ns_menu_show): Allow title to be absent.

2021-08-21  Mattias Engdegård  <mattiase@acm.org>

	Use overlay arrow to indicate current *xref* selection

	* lisp/progmodes/xref.el (xref--set-arrow): New function.
	(xref-show-location-at-point, xref-goto-xref)
	(xref--next-error-function): Call it.
	(xref--show-common-initialize): Remove arrow.

2021-08-21  Mattias Engdegård  <mattiase@acm.org>

	Add "Find References" to context menu (bug#50067)

	The new entry appears next to "Find Definition" and like it only
	appears when the context menu was invoked on an identifier.

	* lisp/progmodes/prog-mode.el (prog-context-menu): New menu entry.
	* lisp/progmodes/xref.el (xref-find-references-at-mouse): New
	function, analogous to `xref-find-definitions-at-mouse`.

2021-08-21  Mattias Engdegård  <mattiase@acm.org>

	Indicate progress while searching for references in xref

	* lisp/progmodes/xref.el (xref-backend-references): Add messages to
	show the user that something is happening instead of silently freezing
	during the frequently long synchronous searches for references.

2021-08-21  Mattias Engdegård  <mattiase@acm.org>

	Re-type the :location slot in `xref-match-item` to `xref-location`

	* lisp/progmodes/xref.el (xref-match-item): Change type for
	:location from `xref-file-location`, which was likely a mistake,
	to `xref-location`. This allows `xref-make-match` to take
	arguments of any subtype of `xref-location` (bug#50067).

2021-08-21  Mattias Engdegård  <mattiase@acm.org>

	Add xref operations to context menu unconditionally

	* lisp/progmodes/prog-mode.el (prog-context-menu):
	Add xref operations to the context menu even if xref hasn't been
	loaded yet; the functions involved are autoloaded (bug#50067).

2021-08-21  Alan Mackenzie  <acm@muc.de>

	CC Mode: Move a macro to before its first use in a file.

	* lisp/progmodes/cc-defs.el (c-benign-error): Move earlier in the file for the
	benefit of c-tnt-chng-cleanup.

2021-08-21  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of context menus

	* doc/lispref/modes.texi (Major Mode Conventions): Add conventions
	of setting menu-bar menus and context menus for a major mode.
	* doc/emacs/frames.texi (Menu Mouse Clicks): Fix description of
	context menu functionality.

2021-08-21  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string of 'M-.'

	* lisp/progmodes/xref.el (xref-find-definitions): Mention 'M-,' in
	the doc string.

2021-08-21  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'file-preserve-symlinks-on-save'

	* lisp/files.el (file-precious-flag): Mention
	'file-preserve-symlinks-on-save' in the doc string.

	* doc/lispref/files.texi (Saving Buffers): Move the description of
	'file-preserve-symlinks-on-save' from here...
	* doc/emacs/files.texi (Customize Save): ...to here.  Improve
	wording.

	* etc/NEWS: Fix wording of 'file-preserve-symlinks-on-save' entry.

2021-08-21  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of 'repeat-mode' changes

	* doc/emacs/basic.texi (Repeating): Fix indexing.  Improve
	wording.

2021-08-21  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of recently-added tests for files.el

	* test/lisp/files-tests.el (files-tests--save-some-buffers)
	(files-tests-save-some-buffers)
	(files-tests--with-buffer-offer-save)
	(files-tests-buffer-offer-save): Doc fixes.

2021-08-21  Eli Zaretskii  <eliz@gnu.org>

	* etc/TODO: Entry about markers being non-scalable.  (Bug#49127)

2021-08-21  Dmitry Gutov  <dgutov@yandex.ru>

	Speed up project--read-project-buffer in remote buffers

	* lisp/progmodes/project.el (project-buffers): New generic function.
	(project--read-project-buffer): Use it here (bug#49264).
	(project--buffers-to-kill): And here.
	(project-buffers): Specialized implementation for vc-project.

2021-08-21  Glenn Morris  <rgm@gnu.org>

	* lisp/bindings.el (page-navigation-repeat-map): Fix bootstrap.

2021-08-20  Alan Mackenzie  <acm@muc.de>

	Fix c-tentative-buffer-changes to be nestable in c-save-buffer-state

	* lisp/progmodes/cc-defs.el (c-tentative-buffer-changes)
	(c-tnt-chng-record-state, c-tnt-chng-cleanup): Enhance such that a
	buffer-undo-list of t is handled specially, so that a nil isn't consed onto
	it.  Thus garbage collection can't later remove the (nil . t) from the end of
	the buffer-undo-list, causing an infinite loop.

2021-08-20  Davide Masserut  <dm@mssdvd.com>  (tiny change)

	Mark page navigation commands as repeatable

	* doc/emacs/basic.texi (Repeating): Document page navigation
	repeatability.

	* lisp/bindings.el (page-navigation-repeat-map): Add new map
	(bug#50137).
	* lisp/bindings.el (forward-page):
	(backward-page): Mark as repeatable.

2021-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Document how to get rid of completion on `SPC' and `?'

	* doc/emacs/custom.texi (Minibuffer Maps): Mention how to get rid
	of completion on `SPC' and `?' (bug#16528).

2021-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix printing of C-@ in `describe-fontset'

	* lisp/international/mule-diag.el (mule--kbd-at): New function
	(bug#17836).
	(print-fontset-element): Use it to get multi-key things correct.

2021-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow preserving symlinks with file-precious-flag set

	* doc/lispref/files.texi (Saving Buffers): Document it.
	* lisp/files.el (file-preserve-symlinks-on-save): New user option
	(bug#18125).
	(basic-save-buffer-2): Use it.

2021-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix infinite recursion in mode: tex

	* lisp/textmodes/tex-mode.el (tex--redirect-to-submode): Inhibit
	recursion when called from file-local variables (bug#50126).

2021-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix infinite recursion of conf-mode

	* lisp/textmodes/conf-mode.el (conf-mode): Inhibit recursion when
	called from file-local variables (bug#50126).

2021-08-20  Marco Centurion  <mcenturion@fing.edu.uy>  (tiny change)

	Allow copy-directory to copy the source as a symlink

	* doc/emacs/files.texi (Copying and Naming): Document it.

	* lisp/files.el (copy-directory): Allow copying symbolic links as
	is (bug#10897).
	(copy-directory-create-symlink): New user option.

2021-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Further tweaks to execute-extended-command

	* lisp/simple.el (execute-extended-command): Move finding the
	short command to the timer command, too (bug#50042).  This further
	ensures that post-command-hook is run faster.

2021-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove even more waiting from execute-extended-command

	* lisp/simple.el (execute-extended-command): Remove all the
	waiting from the command and do it all with timers (bug#50042).
	This ensures that post-command-hook is run immediately also when
	the command has messaged something.

2021-08-20  Mattias Engdegård  <mattiase@acm.org>

	Use C-mouse-1 for context menu on NS

	The Mac platform convention is to use control-left-click for context
	menus (as a synonym to right-click).

	* lisp/mouse.el (context-menu--old-bindings): Remove.
	(context-menu--saved-bindings)
	(context-menu--bind-mouse, context-menu--reset-bindings): New.
	(context-menu-mode): Use new functions, with C-mouse-1 as extra
	binding on NS.

2021-08-20  Mattias Engdegård  <mattiase@acm.org>

	Fix xref {prev,next}-error target buffer match highlighting extent

	* lisp/progmodes/xref.el (xref--next-error-function):
	Bind `xref--current-item` during the call to `xref--show-location` so
	that `xref-pulse-momentarily` finds the match extent.

2021-08-20  Mattias Engdegård  <mattiase@acm.org>

	Don't mutate string literal

	* lisp/obsolete/terminal.el (terminal-escape-map): Rewrite loop in a
	simpler and more robust way.

2021-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak a failing custom test

	* test/lisp/custom-tests.el (custom-tests-require-theme): Fix a
	native-comp-related test failure.

	In this test, we set load-path to nil, and under native-comp some of
	the tests want to give a warning:

	Warning (comp): Cannot look-up eln file as no source file was
	found for /tmp/custom-tests-bfdbkW/custom-tests--d.elc

	But we can't load warning.el after setting load-path to nil, so
	require it first.

2021-08-20  João Távora  <joaotavora@gmail.com>

	Make icomplete-forward-completions O(1) when icomplete-scroll is t

	In particular, this makes the recently added
	icomplete-vertical-goto-last (bug#49005) be O(n) instead of O(n^2).
	That used to be almost unbearably slow for large n.

	* lisp/icomplete.el (icomplete-forward-completions):  don't call last
	unless needed.

2021-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove more mentions of the removed `M-o' facemenu binding

	* doc/emacs/text.texi (Fill Commands, Fill Commands): Adjust `M-o'
	mentions.

	* etc/refcards/refcard.tex (section{Formatting}):
	* etc/refcards/pt-br-refcard.tex (section{Formatando}):
	* etc/refcards/fr-refcard.tex (section{Formater}): Remove mention
	of `M-o'.

2021-08-19  Madhu  <enometh@net.meer>  (tiny change)

	Correctly call completion-in-region in shell.el

	* lisp/shell.el (shell-dynamic-complete-command)
	(shell-dynamic-complete-environment-variable): Correctly call
	completion-in-region (bug#50125).

2021-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix space at the start of appt mode line element

	* lisp/calendar/appt.el (appt-check): Add space at the end
	(bug#18164) -- all `global-mode-string' elements should have it
	there to get an even space distribution.

2021-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Add ibuffer-saved-filter-groups example to the doc string

	* lisp/ibuf-ext.el (ibuffer-saved-filter-groups): Add an example
	for this complicated syntax (bug#18694).

2021-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix dired switch (that contain quotes and spaces) parsing

	* lisp/files.el (insert-directory): Tokenize shell strings
	correctly (bug#18875).

2021-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix st.el doc string

	* lisp/term/st.el (xterm-st-extra-capabilities): New user option
	(bug#50119).
	(terminal-init-st): Use it to avoid a two-second timeout.

2021-08-19  Peter Münster  <pm@a16n.net>

	Add support for history of image tags and completion in the minibuffer

	* lisp/image-dired.el (image-dired-tag-history): New variable holding the
	tag history.
	(image-dired-tag-files, image-dired-tag-thumbnail, image-dired-delete-tag)
	(image-dired-tag-thumbnail-remove): Use it for the user input.

2021-08-19  Peter Münster  <pm@a16n.net>

	Avoid problems when one tag/file is a substring of another

	* lisp/image-dired.el (image-dired-remove-tag): End of filename is bound
	by ";" and end of tag is bound by ";" or end of line.

2021-08-19  Peter Münster  <pm@a16n.net>

	New placement of newline characters in image-dired-db-file

	It's more usual to have the newline at the end of the line, instead of the
	beginning. This change avoids missing newline at the end of the file, an
	empty line at the start and eventually a lot of empty lines when
	`require-final-newline' is not nil.

	* lisp/image-dired.el (image-dired-write-tags): Insert newline at the end
	of the line, instead of the beginning.
	(image-dired-remove-tag): Do not delete empty line at end of buffer.

2021-08-19  Peter Münster  <pm@a16n.net>

	Fix deletion of associated image

	* lisp/image-dired.el (image-dired-delete-marked): Treat original images
	first, because point position is used when there are no marked files.

2021-08-19  Eli Zaretskii  <eliz@gnu.org>

	Fix inaccuracies in documentation of 'message-truncate-lines'

	* doc/lispref/display.texi (Echo Area Customization):
	* src/xdisp.c (syms_of_xdisp): Adjust the documentation of
	message-truncate-lines to changes that fixed bug#46718.

2021-08-19  Eli Zaretskii  <eliz@gnu.org>

	Minor doc fixes in icomplete.el

	* lisp/icomplete.el (icomplete-section): Add :version.
	(icomplete--augment): Doc fix.

2021-08-19  Eli Zaretskii  <eliz@gnu.org>

	Fix errors with hscrolling mini-windows under truncate-lines

	* src/xdisp.c (hscroll_window_tree): Disallow hscroll in
	mini-windows that display echo-area messages.  (Bug#50096)

2021-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	stterm doesn't understand all codes that xterm does

	* lisp/term/st.el (xterm-st-extra-capabilities): New user option
	(bug#50119).
	(terminal-init-st): Use it to avoid a two-second timeout.

2021-08-19  João Távora  <joaotavora@gmail.com>

	Section by 'group-function' in Icomplete and Fido's vertical modes

	(Bug#48545)

	* lisp/icomplete.el (icomplete--augment): Rewrite from icomplete--affixate.
	(icomplete--render-vertical): Rework.
	(icomplete--vertical-minibuffer-setup): Separator is hardcoded "\n", no
	need to set.

2021-08-19  João Távora  <joaotavora@gmail.com>

	Improve fix of bug#49888 on no-pattern flex sorting

	This version is functionally equivalent, but doesn't duplicate any
	code.  When nothing "flexy" is happening, it works by simply not doing
	any metadata adjustments, instead of attempting to synthesize a
	function to mimic the non-flex case.

	* lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.

2021-08-19  Dmitry Gutov  <dgutov@yandex.ru>

	Fix vc-root-diff broken with Git as well

	* lisp/vc/vc.el (vc-root-diff): Fix similar to 35023214031e1 by
	avoiding the abbreviated directory name in argument (bug#39452).

2021-08-18  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'assoc'

	* doc/lispref/lists.texi (Association Lists):
	* src/fns.c (Fassoc): Document how TESTFN is called.  (Bug#50110)

2021-08-18  Juri Linkov  <juri@linkov.net>

	Mouse wheel scrolling on the tab bar

	* lisp/tab-bar.el (tab-bar-map): Bind mouse-4/wheel-up/wheel-left
	to tab-previous and mouse-5/wheel-down/wheel-right to tab-next.
	Bind S-mouse-4/wheel-up/wheel-left to tab-bar-move-tab-backward
	and S-mouse-5/wheel-down/wheel-right to tab-bar-move-tab.
	(tab-bar-move-tab-backward): New command.
	(tab-bar-move-repeat-map): Use tab-bar-move-tab-backward
	instead of lambda.

	* src/xterm.c (handle_one_xevent): Remove restriction
	to allow clicking mouse-4 and mouse-5.

2021-08-18  Juri Linkov  <juri@linkov.net>

	Bind [drag-mouse-1] to tab-bar-mouse-move-tab on tab-bar-map

	* lisp/tab-bar.el (tab-bar-mouse-move-tab): New command.
	(tab-bar-map): Bind [drag-mouse-1] to tab-bar-mouse-move-tab.
	(tab-bar-select-tab): Zero or nil arg means the current tab.

	* src/xdisp.c (handle_tab_bar_click): Remove restriction
	to allow dragging the tab to another tab.

2021-08-18  Juri Linkov  <juri@linkov.net>

	Redesign tab-bar event processing (bug#41342, bug#41343)

	Instead of emitting menu-item keys like [tab-1],
	emit normal mouse events like [mouse-1] and [down-mouse-3]
	for all mouse clicks issued on the tab-bar.

	* lisp/mouse.el (mouse-posn-property): Handle 'tab-bar' posn-area.

	* lisp/tab-bar.el (tab--key-to-number): New internal function.
	(tab-bar-handle-mouse): Use tab key to select/close tab.
	(tab-bar-mouse-select-tab, tab-bar-mouse-close-tab)
	(tab-bar-mouse-context-menu): New commands.
	(tab-bar-map): Bind [down-mouse-1] to tab-bar-mouse-select-tab,
	[down-mouse-2] to tab-bar-mouse-close-tab,
	[down-mouse-3] to tab-bar-mouse-context-menu.
	(tab-bar-keymap-cache): Remove.
	(tab-bar-make-keymap): Don't use cache.
	(tab-bar--format-tab): Remove default bindings from menu items.
	(tab-bar-make-keymap-1): Prepend tab-bar-map.

	* src/keyboard.c (make_lispy_event): Append event->arg to position
	for Qtab_bar.

	* src/term.c (handle_one_term_event): Simplify to set event arg.

	* src/w32inevt.c (do_mouse_event): Set emacs_ev->arg to the value
	returned from tty_handle_tab_bar_click.

	* src/w32term.c (w32_handle_tab_bar_click): Return value from
	handle_tab_bar_click.
	(w32_read_socket): Set tab_bar_key to value returned from
	w32_handle_tab_bar_click, and set event arg from it.

	* src/xdisp.c (handle_tab_bar_click): Instead of emitting event,
	return a list with Qtab_bar and tab caption with text properties
	that contain Qmenu_item with key and binding.
	(tty_handle_tab_bar_click): Simplify to return a list of Qtab_bar,
	key and close_p, instead of emitting event.

	* src/xterm.c (handle_one_xevent): Set tab_bar_key to value
	returned from handle_tab_bar_click, and set event arg from it.

2021-08-18  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/xref.el (xref--collect-matches): Widen temporarily.

2021-08-18  Juri Linkov  <juri@linkov.net>

	* lisp/mouse.el: More fixes for context-menu.

	(context-menu-map): Remove menu title "Context Menu" (bug#50067).
	(context-menu-minor): Reverse sub-menus to display exactly in the same order
	as on the menu bar.

2021-08-18  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of last change.

	* etc/NEWS: Mention the string value of 'auto-composition-mode'.

	* src/composite.c (syms_of_composite) <auto-composition-mode>: Doc
	fix.

2021-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Disable auto compositions on the Linux console only

	* lisp/term/linux.el (terminal-init-linux): Disable auto
	compositions on "linux" consoles (bug#21363).

	* src/composite.c (inhibit_auto_composition): New function to
	implement this.
	(composition_compute_stop_pos, composition_adjust_point)
	(Ffind_composition_internal): Use it.
	(syms_of_composite): Document it.

	* src/lisp.h: Export tty_type_name.

	* src/term.c (tty_type_name): Factored out.
	(Ftty_type): Use it.

2021-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Add undo-in-region test case for bug#21523

2021-08-18  Eli Zaretskii  <eliz@gnu.org>

	Yet another place inside redisplay_window to prevent quitting

	* src/xdisp.c (handle_single_display_spec): Inhibit quitting
	around the call to lookup_image.  (Bug#44448)

2021-08-18  Eli Zaretskii  <eliz@gnu.org>

	Fix abort when turning on Hebrew or Arabic input methods

	* src/xdisp.c (face_before_or_after_it_pos): Add the missing
	initialization of the bidi scan direction.  (Bug#50107)

2021-08-18  Peter Münster  <pm@a16n.net>

	Add menu bindings to new functions in image-dired.el

	* lisp/image-dired.el (image-dired--with-marked): New macro for
	cycling over marked thumbnails.
	(image-dired-tag-thumbnail, image-dired-tag-thumbnail-remove): Can
	handle now also all marked thumbnails.
	(image-dired-tag-marked-thumbnails): Remove it, because it's
	obsoleted by `image-dired-tag-thumbnail' now.
	(image-dired-delete-marked): Use new macro
	`image-dired--with-marked', and add command to menu (bug#50000).

2021-08-18  pillule  <pillule@riseup.net>

	Fix ediff3 layouts with window-combination-resize non-nil (Bug#49277)

	* lisp/vc/ediff-wind.el (ediff-setup-windows-plain-compare)
	(ediff-setup-windows-multiframe-compare): Fix three windows
	layouts produced by ediff3 when 'window-combination-resize'
	was customized to t and 'even-window-sizes' to nil.

2021-08-18  pillule  <pillule@riseup.net>

	Fix behavior when switch-to-prev-buffer-skip is a function (Bug#49275)

	* lisp/window.el (switch-to-prev-buffer)
	(switch-to-next-buffer): More correctly handle cases where
	'switch-to-prev-buffer-skip' is a function.

2021-08-17  Andrea Corallo  <akrl@sdf.org>

	Fix `native-compile-target-directory' effectiveness for async compilation.

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward to async
	workers `native-compile-target-directory'.

2021-08-17  Glenn Morris  <rgm@gnu.org>

	* lisp/mouse.el (context-menu-filter-function): Fix type.

2021-08-17  Eli Zaretskii  <eliz@gnu.org>

	Another fix for quitting while displaying non-selected windows

	* src/xdisp.c (handle_face_prop, extend_face_to_end_of_line):
	Inhibit quitting around the call to face_at_pos, to prevent
	leaking wrong value of point when the user quits while we
	redisplay a non-selected window.  (Bug#44448)

2021-08-17  Glenn Morris  <rgm@gnu.org>

	* test/lisp/electric-tests.el: Skip most c-mode tests on hydra.

2021-08-17  Eli Zaretskii  <eliz@gnu.org>

	Fix TTY display performance degradation due to many markers

	* src/coding.c (encode_coding_object): Don't assume that
	src_object == dst_object means src_object is the current buffer.
	Add the missing commentary that explains the arguments.
	(Bug#49127)

2021-08-17  Michalis V  <mvar.40k@gmail.com>

	Improve `forward-sexp' in *Help* buffers

	* lisp/help-mode.el (help-mode-syntax-table): New variable (bug#39134).
	(help-make-xrefs): Use it to make picking out symbols in curved
	quotes work reliably.
	(help-xref-on-pp): Ditto.

2021-08-17  João Távora  <joaotavora@gmail.com>

	Bind <up> and <down> in icomplete-vertical-mode

	Suggested by Ergus <spacibba@aol.com>

	* lisp/icomplete.el (icomplete-vertical-mode-minibuffer-map): Bind
	<up> and <down>

2021-08-17  João Távora  <joaotavora@gmail.com>
	    Simon Lang  <simon.lang@outlook.com>

	Jump to first,last completion with M-<, M-> in icomplete-vertical-mode

	(Bug#49005)


	* lisp/icomplete.el (icomplete-backward-completions): Return
	non-nil iff something was stepped.  Adjust docstring.
	(icomplete-forward-completions): Adjust docstring.
	(icomplete-vertical-goto-first, icomplete-vertical-goto-last): New commands.
	(icomplete-vertical-mode-minibuffer-map): Bind new commands to M-< and M->.

2021-08-17  Juri Linkov  <juri@linkov.net>

	Merge branch 'feature/context-menu'

2021-08-17  Dmitry Gutov  <dgutov@yandex.ru>

	ruby-mode imenu: Support methods with modifiers

	* lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
	Support methods with modifiers (visibility or otherwise)
	(bug#50079).

2021-08-17  Dmitry Gutov  <dgutov@yandex.ru>

	vc-git-region-history: Fix to call 'diff' more correctly

	* lisp/vc/vc-git.el (vc-git-region-history):
	Fix to pass a list to the backend 'diff' command (bug#39452).

2021-08-17  João Távora  <joaotavora@gmail.com>

	Make icomplete-vertical-mode take immediate effect (bug#49075)

	* etc/NEWS: Mention change.

	* lisp/icomplete.el (icomplete-vertical-mode):
	(fido-vertical-mode): Tweak docstring.  Turn on
	icomplete-mode. and fido-mode

2021-08-16  Glenn Morris  <rgm@gnu.org>

	* test/Makefile.in: Verbose logging for electric-tests on hydra.

2021-08-16  Eli Zaretskii  <eliz@gnu.org>

	Plug another hole for longjmp-ing from 'redisplay_window'

	* src/fringe.c (update_window_fringes): Inhibit quitting, so as
	not to longjmp out of redisplay_window.  (Bug#44448)

2021-08-16  Stephen Berman  <stephen.berman@gmx.net>

	Add Command Modes to Elisp manual menu and add index entries

	* doc/lispref/commands.texi (Command Modes): Add index entries.

	* doc/lispref/elisp.texi (Top): Add entry for the Command Modes
	node to the detailed node listing.

2021-08-16  Eli Zaretskii  <eliz@gnu.org>

	Fix recent documentation additions

	* doc/lispref/searching.texi (Search and Replace): Document the
	new functions by @defun.

2021-08-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	9664ee182c (origin/emacs-27) C++ Mode: Don't confuse the pointer oper...
	b3aec9ee48 CC Mode: Fix unstable fontification of doc strings.

	# Conflicts:
	#	lisp/progmodes/cc-fonts.el

2021-08-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Make overlays-in treat zero-length overlays at point-max consistently

	* doc/lispref/display.texi (Finding Overlays): Adjust documentation.

	* src/buffer.c (overlays_in): Treat the end of the buffer and the
	end of the narrowed-to buffer the same (bug#19422).
	(Foverlays_in): Adjust doc string.

2021-08-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix cursor movement on the Linux console with certain characters

	* lisp/term/linux.el (terminal-init-linux): Switch off
	auto-compositions, because they confuse cursor movement on the
	Linux console (bug#21363).

2021-08-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor clarification for define-minor-mode :variable

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
	* doc/lispref/modes.texi (Defining Minor Modes): Clarify what the
	setter function should do (bug#14875).

2021-08-16  Clément Pit-Claudel  <clement.pitclaudel@live.com>

	Remove prettification for \par in tex-mode

	* lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Remove
	prettified version of `\par'.  Many fonts don't display anything for
	the character it was mapped to (#x2029 PARAGRAPH SEPARATOR), so
	enabling prettification makes every `\par' disappear (bug#50073).

2021-08-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new functions to replace strings/regexp in a region

	* doc/lispref/searching.texi (Search and Replace): Document them.
	* lisp/subr.el (replace-string-in-region)
	(replace-regexp-in-region): New functions.

	* lisp/emacs-lisp/shortdoc.el (regexp, buffer): Mention them.

2021-08-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't remove `fontified' in nxml--buffer-substring-filter

	* lisp/nxml/nxml-mode.el (nxml--buffer-substring-filter): Removing
	`fontified' is probably unnecessary (bug#50061).

2021-08-16  Dmitry Gutov  <dgutov@yandex.ru>

	Fix regressions in the last change

	* lisp/vc/vc-git.el (vc-git-register):
	Use file names verbatim with 'git update-index', as it only accepts
	file names, not pathspecs (bug#39452).

	* lisp/vc/vc.el (vc-print-root-log):
	Expand ROOTDIR, so that vc-git-print-log doesn't receive an
	abbreviated name.  Literal pathspecs don't work with those.

2021-08-15  Alan Mackenzie  <acm@muc.de>

	C++ Mode: Don't confuse the pointer operator -> with the type indicating ->

	This fixes bug #47468.

	* lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): While searching
	backwards for "->" which is a type indicating operator, disallow also commas.

2021-08-15  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix unstable fontification of doc strings.

	Also optimize a loop over several line doc-comments.

	* lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): New variable
	comment-mid, used as the starting point for applying c-doc-face-name in a
	line comments.  In block comments, apply this face not from `comment-beg' but
	from `region-beg', no earlier than the start of the fontification region.

2021-08-15  Juri Linkov  <juri@linkov.net>

	Use map-keymap in context-menu-global, context-menu-local, context-menu-minor

2021-08-15  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (shift-select-mode): Add new choice 'permanent' (bug#50038).

	(handle-shift-selection): Handle new choice 'permanent'.

2021-08-15  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-new-button-show): Make variable obsolete.

2021-08-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/nxml/nxml-mode.el (nxml-mode): Use add-function

	This avoids calling the internal function `buffer-substring--filter`
	from `nxml.el`.

	(nxml--buffer-substring-filter): Adjust accordingly.

2021-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Filter out rng-state elements in nxml-mode buffers from the kill ring

	* lisp/nxml/nxml-mode.el (nxml--buffer-substring-filter): Filter
	out `rng-state' objects (bug#50061).
	(nxml-mode): Set `filter-buffer-substring-function'.

2021-08-15  João Távora  <joaotavora@gmail.com>

	Sort by recency in flex completion style when no flexy stuff happening

	(Bug#49888)

	* lisp/minibuffer.el (completion--flex-adjust-metadata): Fall back
	to usual alphanumeric, length, recency strategy if no minibuffer
	input.  There is still a bug indicated by the nearby FIXMEs,
	though.

2021-08-15  Augusto Stoffel  <arstoffel@gmail.com>

	Allow evaluating Python code across machines

	* lisp/progmodes/python.el (python-shell-send-string): Ensure that
	the temporary file is created in the host running the Python
	process (bug#50057).

2021-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Run execute-extended-command key binding suggestion from a timer

	* lisp/simple.el (execute-extended-command): Run the key binding
	suggestion from a timer instead of in the program flow -- this
	allows `post-command-hook' to be executed immediately (bug#50042).

2021-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make Emacs compile with musl instead of glibc

	* src/alloc.c: musl doesn't have malloc_info (bug#50058).

2021-08-15  Eli Zaretskii  <eliz@gnu.org>

	Fix unwarranted point movement after C-g

	When the same buffer is displayed in more than one window,
	redisplay temporarily moves point to the window-point when it
	works on non-selected windows.  If we allow C-g to quit out of
	redisplay_window in this situation, point will appear to have
	moved to the window-point of that non-selected window, which is
	unwarranted.  These changes prevent quitting in strategic places,
	so that we never quit out of redisplay_window.
	* src/xdisp.c (run_window_scroll_functions):
	Prevent quitting while running window-scroll-functions, so that we
	don't quit out of redisplay_window with temporarily moved point.
	(redisplay_window): While redisplaying the mode line, prevent
	quitting, to avoid exiting while point is temporarily moved.
	(decode_mode_spec): Use safe_call1 instead of call1, to trap any
	errors instead of letting them throw out of redisplay.  (Bug#44448)

2021-08-15  Masahiro Nakamura  <tsuucat@icloud.com>

	Mark up commands in shortdoc.el for modes

	* lisp/emacs-lisp/shortdoc.el: Add command mode tagging
	(bug#50064).

2021-08-15  João Távora  <joaotavora@gmail.com>

	Fix bug#50063 when using icomplete-fido-kill with C-x p p

	C-x p p utilizes a completion table "category" which is 'project-file'
	icomplete-fido-kill only functioned for 'buffer' and 'file', and
	failed with a non-informative message when something else was used.

	* lisp/icomplete.el (icomplete-fido-kill): Support 'project-file'
	class.  Use cl-case, instead of pcase.

2021-08-15  Wolfgang Scherer  <wolfgang.scherer@gmx.de>

	Fix vc-git-state for filenames with wildcards

	* lisp/vc/vc-git.el: (vc-git--literal-pathspec-inner),
	(vc-git--literal-pathspec), (vc-git--literal-pathspecs) new functions
	to add ":(literal)" pathspec magic (bug#39452).

	(vc-git-registered), (vc-git-state), (vc-git-dir-status-goto-stage),
	(vc-git-register), (vc-git-unregister), (vc-git-checkin),
	(vc-git-find-revision), (vc-git-checkout), (vc-git-revert),
	(vc-git-conflicted-files), (vc-git-print-log), (vc-git-diff),
	(vc-git-previous-revision), (vc-git-next-revision),
	(vc-git-delete-file), (vc-git-rename-file) functions
	vc-git--literal-pathspec, vc-git--literal-pathspecs applied.

2021-08-15  Dmitry Gutov  <dgutov@yandex.ru>

	Revert "Bind the GIT_LITERAL_PATHSPECS environment variable"

	This reverts commit a2d0ff26005c5c10ffe0d84bd8b458a06828be82.

	It was found to break a certain use case, and we decided to go with
	the other solution (bug#39452).

2021-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark auto-revert-test02-auto-revert-deleted-file as unstable

	* test/lisp/autorevert-tests.el
	(auto-revert-test02-auto-revert-deleted-file): This tests fails
	about 30% of the time for me.

2021-08-14  Eli Zaretskii  <eliz@gnu.org>

	* src/w32.c (_sys_read_ahead): Pacify a silly compiler warning.

2021-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Fix bug#50051

	This corrects the quite confused conversion to closure done in
	commit a070bd1c8b5213ad469d41dd80d392f924644aed.

2021-08-14  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-engine.el (c-ml-string-in-end-delim): Rewrite function

2021-08-14  Eli Zaretskii  <eliz@gnu.org>

	Fix 'random' on MS-Windows when integers are wider than 30 bits

	* src/w32.c (random): Provide more random bits for MS-Windows
	builds with EMACS_INT that is wider than 32 bits.  (Bug#32605)

2021-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a test for netrc folding parsing (bug#25769)

2021-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Filter out -L foo labels in diff-hunk-file-names

	* lisp/vc/diff-mode.el (diff-hunk-file-names): Filter out "-L foo"
	labels (bug#10160).

2021-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Add macro `seq-setq`."

	This reverts commit a8a3fd8f8e27089ac46bf98e534529ff03f679a5.

	The same patch was applied twice.  Remove the second instance.

2021-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make lm-crack-address less strict

	* lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Use
	mail-header-parse-address-lax (bug#50049).

2021-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new functions for lax mail address splitting

	* lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Autoload.
	* lisp/mail/mail-parse.el (mail-header-parse-addresses-lax)
	(mail-header-parse-address-lax): New functions.

2021-08-14  Earl Hyatt  <okamsn@protonmail.com>

	Add macro `seq-setq`.

	* doc/lispref/sequences.texi (seq-setq): Document this macro.

	* test/lisp/emacs-lisp/seq-tests.el (test-seq-setq):
	Test this macro (bug#50053).

2021-08-14  Earl Hyatt  <okamsn@protonmail.com>

	Add macro `seq-setq`.

	* doc/lispref/sequences.texi (seq-setq): Document this macro.

	* lisp/emacs-lisp/seq.el (seq-setq): New macro.

	* test/lisp/emacs-lisp/seq-tests.el (test-seq-setq):
	Test this macro (bug#50053).

2021-08-14  Yikai Zhao  <i@blahgeek.com>  (tiny change)

	Fix memory-report counting of vector/hash table sizes

	* lisp/emacs-lisp/memory-report.el (memory-report--object-size-1):
	Count element values in vectors and hash tables.

2021-08-14  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix merging of ambiguous nil maps

	* lisp/emacs-lisp/map.el: Bump version to 3.1.
	(map--merge): New merging subroutine that uses a hash table in place
	of lists, for both efficiency and avoiding ambiguities (bug#49848).
	(map-merge): Rewrite in terms of map--merge.
	(map-merge-with): Ditto.  This ensures that FUNCTION is called
	whenever two keys are merged, even if they are not eql (which could
	happen until now).  It also makes map-merge-with consistent with
	map-merge, thus achieving greater overall predictability.
	* etc/NEWS: Announce this weakening of guarantees.
	* test/lisp/emacs-lisp/map-tests.el (test-map-merge)
	(test-map-merge-with): Don't depend on specific orderings.  Test
	that nil is correctly merged into a plist.

2021-08-14  Mattias Engdegård  <mattiase@acm.org>

	Add font-lock-doc-markup-face (bug#50041)

	This face is intended for mark-up syntax and constructs inside text
	using font-lock-doc-face; ie, documentation comments and strings in
	programming modes.

	* lisp/font-lock.el (font-lock-doc-markup-face): New face.
	* lisp/cus-theme.el (custom-theme--listed-faces): Add it to the list.
	* doc/lispref/modes.texi (Faces for Font Lock): Document it.
	* etc/NEWS: Mention it.

2021-08-13  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix a bug in yesterday's patch

	* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Check
	the language has multi-line strings before calling
	c-ml-string-opener-at-or-around-point.

2021-08-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `debug' reset `inhibit-read-only' while running

	* lisp/emacs-lisp/debug.el (debug): Bind `inhibit-read-only' to
	nil in case we're in a context that has bound it to t (bug#26947).

2021-08-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust previous diff-changed-unspecified change

	* lisp/vc/diff-mode.el (diff-changed-unspecified): Adjust the
	definition to Emacs 28 (bug#26969).

2021-08-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new face diff-changed-unspecified

	* lisp/vc/diff-mode.el (diff-changed-unspecified): New face.
	(diff-font-lock-keywords): Use it (bug#26969).

2021-08-13  Lars Ingebrigtsen  <larsi@gnus.org>

	permanently-enabled-local-variables doc string clarification

	* lisp/files.el (permanently-enabled-local-variables): Clarify
	what kind of local variables this refers to.

2021-08-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make info-look search harder for the Python info file

	* lisp/info-look.el (python-mode): Try harder to find the correct
	info file (bug#31405).

2021-08-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem where an error would change standard-output

	* src/keyboard.c (cmd_error): Don't set
	standard-output/standard-input (bug#30529).  Instead bind them
	temporarily while handling the error.

2021-08-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Unknown line endings in filepos-to-bufferpos/bufferpos-to-linepos

	* lisp/international/mule-util.el (filepos-to-bufferpos): Give
	better errors on `exact' with unknown line endings, and guess at
	Unix if `approximate' (bug#36573).
	(bufferpos-to-filepos): Ditto.

2021-08-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove :group from defcustoms in image-dired.el

	* lisp/image-dired.el: Remove :group from the defcustoms throughout.

2021-08-13  Peter Münster  <pm@a16n.net>

	Don't disable transient mark mode when changing image faces

	* lisp/image-dired.el (image-dired-thumb-update-marks): Keep the
	mark state when changing faces. (bug#49999).

2021-08-13  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-history-buttons-show): Remove defcustom.

	(tab-bar-format-history): Don't use this recently added variable
	because now it's possible to customize the option 'tab-bar-format'
	to remove 'tab-bar-format-history' from it that gives the same result.

2021-08-13  Juri Linkov  <juri@linkov.net>

	Add save-some-buffers-root to save-some-buffers-default-predicate (bug#46374)

	* lisp/files.el (save-some-buffers-default-predicate): Add choice
	'save-some-buffers-root'.
	(save-some-buffers-root): New predicate function.
	(save-some-buffers): Check if 'pred' returns a lexically-bound lambda,
	then use it as 'pred'.

	Thanks to Tino Calancha <tino.calancha@gmail.com>

2021-08-12  Alan Mackenzie  <acm@muc.de>

	CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language

	* lisp/progmodes/cc-defs.el (cadar, caddr, cdddr): Add defsubsts for these for
	when they are missing from the host Emacs.
	(c-point): Add new `position' 'boll "beginning of logical line".
	(c-clear-char-properties): Return the position of the lowest removed
	property.

	* lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Fix for rare case where
	LIMIT < START in parse-partial-sexp.
	(c-old-beg-rs, c-old-end-rs, c-raw-string-end-delim-disrupted)
	(c-raw-string-pos, c-raw-string-in-end-delim, c-depropertize-raw-string)
	(c-depropertize-raw-strings-in-region, c-before-change-check-raw-strings)
	(c-propertize-raw-string-id, c-propertize-raw-string-opener): Old functions
	and variables removed or renamed "raw" -> "ml" and adapted.
	(c-old-beg-ml, c-old-1-beg-ml, c-old-end-ml, c-beg-pos, c-end-pos)
	(c-ml-string-end-delim-disrupted, c-depropertize-ml-string-delims)
	(c-ml-string-delims-around-point,c-position-wrt-ml-delims)
	(c-before-change-check-ml-strings, c-after-change-unmark-ml-strings)
	(c-maybe-re-mark-ml-string, c-propertize-ml-string-id)
	(c-propertize-ml-string-opener, c-depropertize-ml-string)
	(c-depropertize-ml-strings-in-region): New functions and variables adapted and
	possibly renamed from "raw" -> "ml".
	(c-ml-string-make-closer-re, c-ml-string-make-opener-re)
	(c-c++-make-ml-string-closer-re, c-c++-make-ml-string-opener-re)
	(c-get-ml-closer, c-ml-string-opener-around-point)
	(c-ml-string-opener-intersects-region, c-ml-string-opener-at-or-around-point)
	(c-ml-string-back-to-neutral, c-ml-string-in-end-delim, c-neutralize-pos)
	(c-neutralized-prop): New functions and variables.

	* lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Replace
	c-font-lock-raw-strings with c-font-lock-ml-strings.
	(c-font-lock-ml-strings): New function taking the place of the old
	c-font-lock-ml-strings.

	* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Move
	c-depropertize-CPP to the second item of the C++ entry, and replace
	c-before-change-check-raw-strings by c-before-change-check-ml-strings.  Add a
	new entry for Pike Mode.
	(c-before-font-lock-functions): (Replace c-after-change-unmark-raw-strings by
	c-after-change-unmark-ml-strings in the C++ entry, and add a new entry for
	Pike Mode.
	(c-ml-string-backslash-escapes, c-ml-string-non-punc-skip-chars)
	(c-ml-string-opener-re, c-ml-string-max-opener-len, c-ml-string-any-closer-re)
	(c-ml-string-max-closer-len, c-ml-string-max-closer-len-no-leader)
	(c-ml-string-back-closer-re, c-make-ml-string-closer-re-function)
	(c-make-ml-string-opener-re-function, c-ml-string-cpp-or-opener-re)
	(c-cpp-or-ml-match-offset): New c-lang-defconsts and c-land-defvars.
	(c-multiline-string-start-char): Remove the Pike Mode setting.

	* lisp/progmodes/cc-mode.el (c-depropertize-CPP): Test for general ml strings
	rather than C++ raw strings.
	(c-unescaped-nls-in-string-p): Handle languages with ml strings.
	(c-clear-string-fences): Fix bug with wrong parenthesisation.
	(c-before-change-check-unbalanced-strings)
	(c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string):
	Adapt for multi-line strings.

2021-08-12  Michael Albinus  <michael.albinus@gmx.de>

	Improve connection type `pipe' for remote processes

	* doc/misc/tramp.texi (Remote processes): New subsection "Remote
	process connection type".

	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
	Use `tramp-process-connection-type' as default connection type.
	Improve check for `:connection-type'.

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
	Use `tramp-process-connection-type' as default connection type.
	Improve check for `:connection-type'.  Send "stty -icrnl" when
	connection type is a pipe.

	* lisp/net/tramp.el (tramp-process-connection-type): Allow all
	possible values.
	(tramp-handle-make-process): Use `tramp-process-connection-type'
	as default connection type.  Improve check for `:connection-type'.

	* test/lisp/net/tramp-tests.el (tramp-test30-make-process): Extend test.

2021-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Handle multi-addresses

	(lm-authors, lm-maintainers): Adjust accordingly.

2021-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Make info-look try to use more recent Python manual

	* lisp/info-look.el: Use the Debian-installed python3.9 manual if
	it exists (bug#31405).

2021-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Further tweak minibuffer-inactive-mode doc string

	* lisp/minibuffer.el (minibuffer-inactive-mode): Mention
	`minibuffer-exit-hook' (bug#13641).

2021-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve minibuffer-inactive-mode documentation

	* lisp/minibuffer.el (minibuffer-inactive-mode): Clarify when it's
	used (bug#13641).

2021-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention url-handler-mode in the Emacs manual

	* doc/emacs/misc.texi (Browse-URL): Mention url-handler-mode
	(bug#30389).

	* lisp/url/url-handlers.el (url-handler-mode): Improve doc string.

2021-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el (pcase-setq): Align its semantics with `pcase-let`

	* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-setq): Rename from
	pcase-setq and adjust accordingly.

2021-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add support for Python mode in info-lookup-symbol

	* lisp/info-look.el (:mode): Add support for Python mode
	(bug#31405).

2021-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify smie-indent-forward-token doc string

	* lisp/emacs-lisp/smie.el (smie-indent-forward-token): Doc string
	clarification (bug#31948).

2021-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Change the `region' face in the Wombat theme

	* etc/themes/wombat-theme.el (class): Don't use a foreground in
	the `region' face because it obscures syntax highlighting (bug#32143).

2021-08-12  Omar Polo  <op@omarpolo.com>

	Mention `find-ignore-file' in the vc.el commentary

	* lisp/vc/vc.el: Update documentation in the comments about
	`find-ignore-file' (bug#50013).

2021-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add XLFD font parsing tests

	* test/src/font-tests.el (font-parse-xlfd-test): Add some tests
	for XLFD testing (bug#35816).

2021-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (fixnum, bignum): Fix type definitions

2021-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix bytecomp container test case

	* lisp/startup.el (normal-top-level): Make startup more robust --
	we may not be allowed to create any directories when running under
	test mode (bug#48350).

2021-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/obsolete/cl.el (labels): Don't quote lambda

	(flet): Don't need `fboundp` any more before calling `symbol-function`.

2021-08-11  Earl Hyatt  <okamsn@protonmail.com>

	Add a `pcase-setq' macro

	* doc/lispref/control.texi (Destructuring with pcase Patterns):
	Document this macro.

	* lisp/emacs-lisp/pcase.el (pcase-setq): New macro.  This macro is
	the 'setq' equivalent of 'pcase-let'.

	* test/lisp/emacs-lisp/pcase-tests.el (pcase-setq): Test this new
	macro. (bug#49809).

2021-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow using a single anonymous face in enriced-mode

	* lisp/format.el (format-annotate-single-property-change): Allow
	using a single anonymous face (bug#33682).

2021-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow using XLFD font names with dashes in the family name

	* src/font.c (font_parse_xlfd_1): Rename from font_parse_xlfd to
	allow calling twice from a wrapper (bug#35816).
	(font_parse_xlfd): Wrapper function -- first try to parse in the
	normal way, and then try to guess that the hyphenated bits are in
	the family name.

2021-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow `tex-buffer' to work on buffers not visiting files

	* lisp/textmodes/tex-mode.el (tex-region): Make `tex-buffer' work
	again on unsaved files (bug#34082).

2021-08-11  Stephen Berman  <stephen.berman@gmx.net>

	Fix URL entry in ffap after previous change

	* lisp/ffap.el (ffap-read-file-or-url): Make URL entry actually
	work again (bug#50011).

2021-08-11  Peter Münster  <pm@a16n.net>

	Add new image-dired commands

	* lisp/image-dired.el (image-dired-delete-marked): Factored out
	(bug#50000).
	(image-dired-display-thumbs): From here.
	(image-dired-tag-marked-thumbnails): New command.
	(image-dired-delete-marked): Ditto.

2021-08-11  Michael Albinus  <michael.albinus@gmx.de>

	Replace some `string-match-p' calls in Tramp

	* lisp/net/tramp.el (tramp-debug-message, tramp-set-completion-function)
	(tramp-get-completion-methods, tramp-get-completion-user-host):
	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
	(tramp-open-connection-setup-interactive-shell)
	(tramp-convert-file-attributes): Use `string-prefix-p'.

	* lisp/net/tramp.el (tramp-dissect-file-name)
	(tramp-progress-reporter-update, tramp-handle-insert-directory):
	* lisp/net/tramp-cache.el (tramp-get-hash-table)
	(tramp-flush-directory-properties):
	* lisp/net/tramp-cmds.el (tramp-append-tramp-buffers):
	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory)
	(tramp-call-local-coding-command, tramp-get-inline-coding):
	* lisp/net/tramp-smb.el (tramp-smb-handle-file-attributes)
	(tramp-smb-handle-file-name-all-completions)
	(tramp-smb-handle-file-writable-p)
	(tramp-smb-handle-insert-directory)
	(tramp-smb-handle-start-file-process, )
	(tramp-smb-read-file-entry): Use `tramp-compat-string-search'.

2021-08-11  Rajeev Narang  <rajeev+jnk@sivalik.com>

	Make icalendar parse multi-line items correctly

	* lisp/calendar/icalendar.el (icalendar--parse-summary-and-rest):
	Parse multi-line items correctly (bug#37887).

2021-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix icalendar-import-file prompt

	* lisp/calendar/icalendar.el (icalendar-import-file): Fix prompt.

2021-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Make gnus-icalendar-event-from-ical more robust

	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
	Don't bug out on nil UIDs.

2021-08-11  Peter Oliver  <git@mavit.org.uk>

	Drop redundant keywords in .desktop files.

	The Freedesktop.org Desktop Entry spec says, “The values [of
	Keywords]… should not be redundant with the values of Name or
	GenericName”.

	* etc/emacs.desktop, etc/emacsclient.desktop (Keywords): Remove
	keywords that are duplicated from the GenericName field.

2021-08-11  Peter Oliver  <git@mavit.org.uk>

	Hint that emacsclient.desktop should match a search for “emacsclient”

	This is necessary to get the Gnome desktop to show “Emacs (Client)”
	when the user searches for “emacsclient”.

	* etc/emacsclient.desktop (Keywords):
	* etc/emacsclient-mail.desktop (Keywords): Add
	“emacsclient”.

2021-08-11  Peter Oliver  <git@mavit.org.uk>

	Valid quoting in .desktop files

	* etc/emacsclient.desktop, etc/emacsclient-mail.desktop (Exec): Quote
	according to the rules in the Freedesktop.org Desktop Entry
	Specification.

2021-08-11  Peter Münster  <pm@a16n.net>

	Mark marked images in Image-Dired mode

	* lisp/image-dired.el (image-dired-thumb-update-marks): New
	function that makes the marks visible in the thumbnail buffer
	(bug#49988).
	(image-dired-thumb-margin, image-dired-thumb-mark-color): New user
	options.

2021-08-11  Peter Münster  <pm@a16n.net>

	Let image-dired-mouse-toggle-mark act on active region

	* lisp/image-dired.el (image-dired-mouse-toggle-mark): When region is
	active, then toggle marks of all images within (bug#49987).
	(image-dired-mouse-toggle-mark-1): Separated out into function.

2021-08-11  Juri Linkov  <juri@linkov.net>

	* lisp/replace.el (perform-replace): Use 'remove-function' (bug#49963).

	Don't let-bind the value of 'isearch-filter-predicate' to protect
	from changing the global value, since with a buffer-local value
	it still changes the global value.  So after using 'add-function' on the
	global value of 'isearch-filter-predicate', call 'remove-function' to remove
	'region-filter' from the global value in 'unwind-protect'.

2021-08-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Use ### for outline headings in shell-script-mode

	* lisp/progmodes/sh-script.el (sh-mode): Use ### for outline headings.
	This aligns it more with emacs-lisp-mode headings.

2021-08-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Add support for outlining in shell-script-mode

	* lisp/progmodes/sh-script.el (sh-mode): Set outline-regexp (bug#49346).

2021-08-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new user option `gnus-topic-prepare-topic'

	* doc/misc/gnus.texi (Topic Variables): Document it.
	* lisp/gnus/gnus-topic.el (gnus-topic-prepare-topic): New user option.
	(gnus-topic-prepare-topic): Use it.

2021-08-10  Mattias Engdegård  <mattiase@acm.org>

	More robust auto-detect of grep-highlight-matches (bug#49978)

	* lisp/progmodes/grep.el (grep-compute-defaults):
	Don't require "grep --help" to finish with exit status 0 (BSD grep
	does not) and check the output in a slightly more robust way.

2021-08-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new command `revert-buffer-quick'

	* doc/emacs/files.texi (Reverting): Document it.
	* lisp/bindings.el (ctl-x-x-map): Bind `C-x x g' to
	`revert-buffer-quick' instead.

	* lisp/files.el (revert-buffer-quick-short-answers): New user option.
	(revert-buffer-quick): New command (bug#49869).

2021-08-10  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>

	Fix nnrss-get-namespace-prefix (bug#34685)

	* lisp/gnus/nnrss.el (nnrss-get-namespace-prefix): Use the car of
	parameter el to match what dom-search expects.
	* test/lisp/gnus/nnrss-tests.el (test-nnrss-xml): Adjust to what
	xml-parse-region produces (bug#34685).

2021-08-10  Mattias Engdegård  <mattiase@acm.org>

	Tramp string-search and string-replace compatibility functions

	Add a `string-search` compatibility function for use in Tramp with
	Emacs version prior to 28, and fix the existing `string-replace`
	compatibility function so that it uses the right semantics.

	* lisp/net/tramp-compat.el (tramp-compat-string-replace):
	Use case-sensitive matching and literal replacement.
	(tramp-compat-string-search): New function.
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions)
	(tramp-do-copy-or-rename-file-out-of-band)
	(tramp-sh-handle-make-process, tramp-sh-handle-process-file):
	* lisp/net/tramp.el (tramp-handle-make-process):
	Use `tramp-compat-string-search` instead of `string-match-p`.

2021-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-generic.el: Try and fix bug#49866

	(cl-generic-generalizers): Remember the specializers that match
	a given value.
	(cl--generic-eql-generalizer): Adjust accordingly.

	* test/lisp/emacs-lisp/cl-generic-tests.el (cl-generic-test-01-eql):
	Add corresponding test.

2021-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package-buffer-info): Fix typo

2021-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package-buffer-info): Use lm-maintainers

	Avoid the now obsolete `lm-maintainer`.

2021-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make ffap-read-file-or-url put point at the correct place for URLs

	* lisp/ffap.el (ffap-read-file-or-url): Put point at the end of
	URLs (bug#44822).
	(ffap--url-file-handler): Remove hack for default dirs.

2021-08-09  dickmao  <none>

	Forestall "Selected deleted buffer" in url-http-generic-filter

	* lisp/url/url-http.el (url-http-generic-filter): Check that
	corresponding buffer is still live before using it (bug#49928).

2021-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make xterm-set-window-title more robust

	* lisp/term/xterm.el (xterm-set-window-title): Don't do anything
	on graphic displays (bug#49932).

2021-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix tmm-get-keymap under native-compile

	* lisp/tmm.el (tmm-get-keymap): Make this work under
	natively-compiled Emacsen (and with lexical binding, too) (bug#49953).

2021-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Further fixes for package-quickstart-refresh printing

	* lisp/emacs-lisp/package.el (package-quickstart-refresh): Really
	ensure that the structures aren't shortened (bug#49924).

2021-08-09  Michael Albinus  <michael.albinus@gmx.de>

	Fix last commit of tramp.el

2021-08-09  Grégoire Jadi  <gjadi@omecha.info>

	Fix freeze on OpenBSD when reading the SECONDARY selection

	* configure.ac (NSIG_MINIMUM): OpenBSD doesn't have a broken SIGIO
	any more (bug#29170).  Backport fix from the current OpenBSD port
	tree.

2021-08-09  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>

	Add test for nnrss

	* test/lisp/gnus/nnrss-tests.el (test-nnrss-xml): New test (bug#34685).

2021-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new test for dom-search

2021-08-09  Mattias Engdegård  <mattiase@acm.org>

	Fix variable binding in calendar (bug#49945)

	* lisp/calendar/cal-tex.el (cal-tex-week-hours, cal-tex-daily-page):
	Use `let*` instead of `let`.

2021-08-09  Mattias Engdegård  <mattiase@acm.org>

	Use string-search instead of string-match[-p]

	`string-search` is easier to understand, less error-prone, much
	faster, does not pollute the regexp cache, and does not mutate global
	state.  Use it where applicable and obviously safe (erring on the
	conservative side).

	* admin/authors.el (authors-canonical-file-name)
	(authors-scan-change-log):
	* lisp/apropos.el (apropos-command)
	(apropos-documentation-property, apropos-symbols-internal):
	* lisp/arc-mode.el (archive-arc-summarize)
	(archive-zoo-summarize):
	* lisp/calc/calc-aent.el (math-read-factor):
	* lisp/calc/calc-ext.el (math-read-big-expr)
	(math-format-nice-expr, math-format-number-fancy):
	* lisp/calc/calc-forms.el (math-read-angle-brackets):
	* lisp/calc/calc-graph.el (calc-graph-set-range):
	* lisp/calc/calc-keypd.el (calc-keypad-press):
	* lisp/calc/calc-lang.el (tex, latex, math-read-big-rec):
	* lisp/calc/calc-prog.el (calc-fix-token-name)
	(calc-user-define-permanent, math-define-exp):
	* lisp/calc/calc.el (calc-record, calcDigit-key)
	(calc-count-lines):
	* lisp/calc/calcalg2.el (calc-solve-for, calc-poly-roots)
	(math-do-integral):
	* lisp/calc/calcalg3.el (calc-find-root, calc-find-minimum)
	(calc-get-fit-variables):
	* lisp/cedet/ede/speedbar.el (ede-tag-expand):
	* lisp/cedet/semantic/java.el (semantic-java-expand-tag):
	* lisp/cedet/semantic/sb.el (semantic-sb-show-extra)
	(semantic-sb-expand-group):
	* lisp/cedet/semantic/wisent/python.el
	(semantic-python-instance-variable-p):
	* lisp/cus-edit.el (get):
	* lisp/descr-text.el (describe-text-sexp):
	* lisp/dired-aux.el (dired-compress-file):
	* lisp/dired-x.el (dired-make-relative-symlink):
	* lisp/dired.el (dired-glob-regexp):
	* lisp/dos-fns.el (dos-convert-standard-filename, dos-8+3-filename):
	* lisp/edmacro.el (edmacro-format-keys):
	* lisp/emacs-lisp/eieio-opt.el (eieio-sb-expand):
	* lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand):
	* lisp/emacs-lisp/lisp-mnt.el (lm-keywords-list):
	* lisp/emacs-lisp/warnings.el (display-warning):
	* lisp/emulation/viper-ex.el (viper-ex-read-file-name)
	(ex-print-display-lines):
	* lisp/env.el (read-envvar-name, setenv):
	* lisp/epa-mail.el (epa-mail-encrypt):
	* lisp/epg.el (epg--start):
	* lisp/erc/erc-backend.el (erc-parse-server-response):
	* lisp/erc/erc-dcc.el (erc-dcc-member):
	* lisp/erc/erc-speedbar.el (erc-speedbar-expand-server)
	(erc-speedbar-expand-channel, erc-speedbar-expand-user):
	* lisp/erc/erc.el (erc-send-input):
	* lisp/eshell/em-glob.el (eshell-glob-entries):
	* lisp/eshell/esh-proc.el (eshell-needs-pipe-p):
	* lisp/eshell/esh-util.el (eshell-convert):
	* lisp/eshell/esh-var.el (eshell-envvar-names):
	* lisp/faces.el (x-resolve-font-name):
	* lisp/ffap.el (ffap-file-at-point):
	* lisp/files.el (wildcard-to-regexp, shell-quote-wildcard-pattern):
	* lisp/forms.el (forms--update):
	* lisp/frameset.el (frameset-filter-unshelve-param):
	* lisp/gnus/gnus-art.el (article-decode-charset):
	* lisp/gnus/gnus-kill.el (gnus-kill-parse-rn-kill-file):
	* lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy):
	* lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc)
	(gnus-inews-insert-gcc):
	* lisp/gnus/gnus-rfc1843.el (rfc1843-decode-article-body):
	* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output)
	(gnus-search--complete-key-data):
	* lisp/gnus/gnus-spec.el (gnus-parse-simple-format):
	* lisp/gnus/gnus-sum.el (gnus-summary-refer-article):
	* lisp/gnus/gnus-util.el (gnus-extract-address-components)
	(gnus-newsgroup-directory-form):
	* lisp/gnus/gnus-uu.el (gnus-uu-grab-view):
	* lisp/gnus/gnus.el (gnus-group-native-p, gnus-short-group-name):
	* lisp/gnus/message.el (message-check-news-header-syntax)
	(message-make-message-id, message-user-mail-address)
	(message-make-fqdn, message-get-reply-headers, message-followup):
	* lisp/gnus/mm-decode.el (mm-dissect-buffer):
	* lisp/gnus/nnheader.el (nnheader-insert):
	* lisp/gnus/nnimap.el (nnimap-process-quirk)
	(nnimap-imap-ranges-to-gnus-ranges):
	* lisp/gnus/nnmaildir.el (nnmaildir--ensure-suffix):
	* lisp/gnus/nnmairix.el (nnmairix-determine-original-group-from-path):
	* lisp/gnus/nnrss.el (nnrss-match-macro):
	* lisp/gnus/nntp.el (nntp-find-group-and-number):
	* lisp/help-fns.el (help--symbol-completion-table-affixation):
	* lisp/help.el (help-function-arglist):
	* lisp/hippie-exp.el (he-concat-directory-file-name):
	* lisp/htmlfontify.el (hfy-relstub):
	* lisp/ido.el (ido-make-prompt, ido-complete, ido-copy-current-word)
	(ido-exhibit):
	* lisp/image/image-converter.el (image-convert-p):
	* lisp/info-xref.el (info-xref-docstrings):
	* lisp/info.el (Info-toc-build, Info-follow-reference)
	(Info-backward-node, Info-finder-find-node)
	(Info-speedbar-expand-node):
	* lisp/international/mule-diag.el (print-fontset-element):
	* lisp/language/korea-util.el (default-korean-keyboard):
	* lisp/linum.el (linum-after-change):
	* lisp/mail/ietf-drums.el (ietf-drums-parse-address):
	* lisp/mail/mail-utils.el (mail-dont-reply-to):
	* lisp/mail/rfc2047.el (rfc2047-encode-1, rfc2047-decode-string):
	* lisp/mail/rfc2231.el (rfc2231-parse-string):
	* lisp/mail/rmailkwd.el (rmail-set-label):
	* lisp/mail/rmailsum.el (rmail-header-summary):
	* lisp/mail/smtpmail.el (smtpmail-maybe-append-domain)
	(smtpmail-user-mail-address):
	* lisp/mail/uce.el (uce-reply-to-uce):
	* lisp/man.el (Man-default-man-entry):
	* lisp/mh-e/mh-alias.el (mh-alias-gecos-name)
	(mh-alias-minibuffer-confirm-address):
	* lisp/mh-e/mh-comp.el (mh-forwarded-letter-subject):
	* lisp/mh-e/mh-speed.el (mh-speed-parse-flists-output):
	* lisp/mh-e/mh-utils.el (mh-collect-folder-names-filter)
	(mh-folder-completion-function):
	* lisp/minibuffer.el (completion--make-envvar-table)
	(completion-file-name-table, completion-flex-try-completion)
	(completion-flex-all-completions):
	* lisp/mpc.el (mpc--proc-quote-string, mpc-cmd-special-tag-p)
	(mpc-constraints-tag-lookup):
	* lisp/net/ange-ftp.el (ange-ftp-send-cmd)
	(ange-ftp-allow-child-lookup):
	* lisp/net/mailcap.el (mailcap-mime-types):
	* lisp/net/mairix.el (mairix-search-thread-this-article):
	* lisp/net/pop3.el (pop3-open-server):
	* lisp/net/soap-client.el (soap-decode-xs-complex-type):
	* lisp/net/socks.el (socks-filter):
	* lisp/nxml/nxml-outln.el (nxml-highlighted-qname):
	* lisp/nxml/rng-cmpct.el (rng-c-expand-name, rng-c-expand-datatype):
	* lisp/nxml/rng-uri.el (rng-uri-file-name-1):
	* lisp/obsolete/complete.el (partial-completion-mode)
	(PC-do-completion):
	* lisp/obsolete/longlines.el (longlines-encode-string):
	* lisp/obsolete/nnir.el (nnir-compose-result):
	* lisp/obsolete/terminal.el (te-quote-arg-for-sh):
	* lisp/obsolete/tpu-edt.el (tpu-check-search-case):
	* lisp/obsolete/url-ns.el (isPlainHostName):
	* lisp/pcmpl-unix.el (pcomplete/scp):
	* lisp/play/dunnet.el (dun-listify-string2, dun-get-path)
	(dun-unix-parse, dun-doassign, dun-cat, dun-batch-unix-interface):
	* lisp/progmodes/ebnf2ps.el: (ebnf-eps-header-footer-comment):
	* lisp/progmodes/gdb-mi.el (gdb-var-delete)
	(gdb-speedbar-expand-node, gdbmi-bnf-incomplete-record-result):
	* lisp/progmodes/gud.el (gud-find-expr):
	* lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
	* lisp/progmodes/idlw-shell.el (idlwave-shell-mode)
	(idlwave-shell-filter-hidden-output, idlwave-shell-filter):
	* lisp/progmodes/idlwave.el (idlwave-skip-label-or-case)
	(idlwave-routine-info):
	* lisp/progmodes/octave.el (inferior-octave-completion-at-point):
	* lisp/progmodes/sh-script.el (sh-add-completer):
	* lisp/progmodes/sql.el (defun):
	* lisp/progmodes/xscheme.el (xscheme-process-filter):
	* lisp/replace.el (query-replace-compile-replacement)
	(map-query-replace-regexp):
	* lisp/shell.el (shell--command-completion-data)
	(shell-environment-variable-completion):
	* lisp/simple.el (display-message-or-buffer):
	* lisp/speedbar.el (speedbar-dired, speedbar-tag-file)
	(speedbar-tag-expand):
	* lisp/subr.el (split-string-and-unquote):
	* lisp/tar-mode.el (tar-extract):
	* lisp/term.el (term-command-hook, serial-read-name):
	* lisp/textmodes/bibtex.el (bibtex-print-help-message):
	* lisp/textmodes/ispell.el (ispell-lookup-words, ispell-filter)
	(ispell-parse-output, ispell-buffer-local-parsing):
	* lisp/textmodes/reftex-cite.el (reftex-do-citation):
	* lisp/textmodes/reftex-parse.el (reftex-notice-new):
	* lisp/textmodes/reftex-ref.el (reftex-show-entry):
	* lisp/textmodes/reftex.el (reftex-compile-variables):
	* lisp/textmodes/tex-mode.el (tex-send-command)
	(tex-start-tex, tex-append):
	* lisp/thingatpt.el (thing-at-point-url-at-point):
	* lisp/tmm.el (tmm-add-one-shortcut):
	* lisp/transient.el (transient-format-key):
	* lisp/url/url-auth.el (url-basic-auth)
	(url-digest-auth-directory-id-assoc):
	* lisp/url/url-news.el (url-news):
	* lisp/url/url-util.el (url-parse-query-string):
	* lisp/vc/vc-cvs.el (vc-cvs-parse-entry):
	* lisp/wid-browse.el (widget-browse-sexp):
	* lisp/woman.el (woman-parse-colon-path, woman-mini-help)
	(WoMan-getpage-in-background, woman-negative-vertical-space):
	* lisp/xml.el:
	* test/lisp/emacs-lisp/check-declare-tests.el
	(check-declare-tests-warn):
	* test/lisp/files-tests.el
	(files-tests-file-name-non-special-dired-compress-handler):
	* test/lisp/net/network-stream-tests.el (server-process-filter):
	* test/src/coding-tests.el (ert-test-unibyte-buffer-dos-eol-decode):
	Use `string-search` instead of `string-match` and `string-match-p`.

2021-08-08  Alan Third  <alan@idiocy.org>

	* src/nsterm.m (max_used_fringe_bitmap): Remove unused variable.

2021-08-08  Tassilo Horn  <tsdh@gnu.org>

	Un-obsolete dired-in-this-tree-p and use it again in certain places.

	This reverts parts of b425966b07, and 7b50ed553f, i.e. it reverts the
	obsoletion of dired-in-this-tree-p and switches some new callers of
	file-in-directory-p back to using dired-in-this-tree-p.

	It turned out that using file-in-directory-p can be a major
	performance regression in case you have a dired buffer of a remote
	directory which has become (almost) inaccessible.

	Any attempt to open a new dired buffer is checking if a buffer for
	that directory already exists (in terms of dired-buffers-for-dir)
	which meant that file-in-directory-p was called with the directory of
	any existing dired buffer including the inaccessible one where the
	file-truename call in file-in-directory-p could block for seconds or
	even minutes.

	* lisp/dired.el (dired-in-this-tree-p): Undo obsoletion.
	(dired-buffers-for-dir): Use dired-in-this-tree-p as before.
	* lisp/dired-aux.el (dired-kill-tree,dired-tree-down): Une
	dired-in-this-tree-p as before.

2021-08-08  Mattias Engdegård  <mattiase@acm.org>

	Use string-replace instead of replace-regexp-in-string

	`string-replace` is easier to understand, less error-prone, much
	faster, and results in shorter Lisp and byte code.  Use it where
	applicable and obviously safe (erring on the conservative side).

	* admin/authors.el (authors-scan-change-log):
	* lisp/autoinsert.el (auto-insert-alist):
	* lisp/calc/calc-prog.el (calc-edit-macro-combine-alg-ent)
	(calc-edit-macro-combine-ext-command)
	(calc-edit-macro-combine-var-name):
	* lisp/calc/calc-units.el (math-make-unit-string):
	* lisp/calendar/cal-html.el (cal-html-comment):
	* lisp/calendar/cal-tex.el (cal-tex-comment):
	* lisp/calendar/icalendar.el (icalendar--convert-string-for-export)
	(icalendar--convert-string-for-import):
	* lisp/calendar/iso8601.el (iso8601--concat-regexps)
	(iso8601--full-time-match, iso8601--combined-match):
	* lisp/calendar/time-date.el (format-seconds):
	* lisp/calendar/todo-mode.el (todo-filter-items-filename):
	* lisp/cedet/cedet-files.el (cedet-directory-name-to-file-name)
	(cedet-file-name-to-directory-name):
	* lisp/comint.el (comint-watch-for-password-prompt):
	* lisp/dired-aux.el (dired-do-chmod):
	* lisp/dired-x.el (dired-man):
	* lisp/dired.el (dired-insert-directory, dired-goto-file-1):
	* lisp/emacs-lisp/comp.el (comp-c-func-name):
	* lisp/emacs-lisp/re-builder.el (reb-copy):
	* lisp/erc/erc-dcc.el (erc-dcc-unquote-filename):
	* lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy)
	(erc-update-mode-line-buffer, erc-message-english-PART):
	* lisp/files.el (make-backup-file-name-1, files--transform-file-name)
	(read-file-modes):
	* lisp/fringe.el (fringe-mode):
	* lisp/gnus/gnus-art.el (gnus-button-handle-info-url):
	* lisp/gnus/gnus-group.el (gnus-group-completing-read):
	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
	* lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy):
	* lisp/gnus/gnus-search.el (gnus-search-query-parse-date)
	(gnus-search-transform-expression, gnus-search-run-search):
	* lisp/gnus/gnus-start.el (gnus-dribble-enter):
	* lisp/gnus/gnus-sum.el (gnus-summary-refer-article):
	* lisp/gnus/gnus-util.el (gnus-mode-string-quote):
	* lisp/gnus/message.el (message-put-addresses-in-ecomplete)
	(message-parse-mailto-url, message-mailto-1):
	* lisp/gnus/mml-sec.el (mml-secure-epg-sign):
	* lisp/gnus/mml-smime.el (mml-smime-epg-verify):
	* lisp/gnus/mml2015.el (mml2015-epg-verify):
	* lisp/gnus/nnmaildir.el (nnmaildir--system-name)
	(nnmaildir-request-list, nnmaildir-retrieve-groups)
	(nnmaildir-request-group, nnmaildir-retrieve-headers):
	* lisp/gnus/nnrss.el (nnrss-node-text):
	* lisp/gnus/spam-report.el (spam-report-gmane-internal)
	(spam-report-user-mail-address):
	* lisp/ibuffer.el (name):
	* lisp/image-dired.el (image-dired-pngnq-thumb)
	(image-dired-pngcrush-thumb, image-dired-optipng-thumb)
	(image-dired-create-thumb-1):
	* lisp/info.el (Info-set-mode-line):
	* lisp/international/mule-cmds.el (describe-language-environment):
	* lisp/mail/rfc2231.el (rfc2231-parse-string):
	* lisp/mail/rfc2368.el (rfc2368-parse-mailto-url):
	* lisp/mail/rmail.el (rmail-insert-inbox-text)
	(rmail-simplified-subject-regexp):
	* lisp/mail/rmailout.el (rmail-output-body-to-file):
	* lisp/mail/undigest.el (rmail-digest-rfc1153):
	* lisp/man.el (Man-default-man-entry):
	* lisp/mouse.el (minor-mode-menu-from-indicator):
	* lisp/mpc.el (mpc--debug):
	* lisp/net/browse-url.el (browse-url-mail):
	* lisp/net/eww.el (eww-update-header-line-format):
	* lisp/net/newst-backend.el (newsticker-save-item):
	* lisp/net/rcirc.el (rcirc-sentinel):
	* lisp/net/soap-client.el (soap-decode-date-time):
	* lisp/nxml/rng-cmpct.el (rng-c-literal-2-re):
	* lisp/nxml/xmltok.el (let*):
	* lisp/obsolete/nnir.el (nnir-run-swish-e, nnir-run-hyrex)
	(nnir-run-find-grep):
	* lisp/play/dunnet.el (dun-doassign):
	* lisp/play/handwrite.el (handwrite):
	* lisp/proced.el (proced-format-args):
	* lisp/profiler.el (profiler-report-header-line-format):
	* lisp/progmodes/gdb-mi.el (gdb-mi-quote):
	* lisp/progmodes/make-mode.el (makefile-bsdmake-rule-action-regex)
	(makefile-make-font-lock-keywords):
	* lisp/progmodes/prolog.el (prolog-guess-fill-prefix):
	* lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
	* lisp/progmodes/sql.el (sql-remove-tabs-filter, sql-str-literal):
	* lisp/progmodes/which-func.el (which-func-current):
	* lisp/replace.el (query-replace-read-from)
	(occur-engine, replace-quote):
	* lisp/select.el (xselect--encode-string):
	* lisp/ses.el (ses-export-tab):
	* lisp/subr.el (shell-quote-argument):
	* lisp/term/pc-win.el (msdos-show-help):
	* lisp/term/w32-win.el (w32--set-selection):
	* lisp/term/xterm.el (gui-backend-set-selection):
	* lisp/textmodes/picture.el (picture-tab-search):
	* lisp/thumbs.el (thumbs-call-setroot-command):
	* lisp/tooltip.el (tooltip-show-help-non-mode):
	* lisp/transient.el (transient-format-key):
	* lisp/url/url-mailto.el (url-mailto):
	* lisp/vc/log-edit.el (log-edit-changelog-ours-p):
	* lisp/vc/vc-bzr.el (vc-bzr-status):
	* lisp/vc/vc-hg.el (vc-hg--glob-to-pcre):
	* lisp/vc/vc-svn.el (vc-svn-after-dir-status):
	* lisp/xdg.el (xdg-desktop-strings):
	* test/lisp/electric-tests.el (defun):
	* test/lisp/term-tests.el (term-simple-lines):
	* test/lisp/time-stamp-tests.el (formatz-mod-del-colons):
	* test/lisp/wdired-tests.el (wdired-test-bug32173-01)
	(wdired-test-unfinished-edit-01):
	* test/src/json-tests.el (json-parse-with-custom-null-and-false-objects):
	Use `string-replace` instead of `replace-regexp-in-string`.

2021-08-08  Eli Zaretskii  <eliz@gnu.org>

	Another fix for parse-colon-path

	* test/lisp/files-tests.el (files-tests-bug-21454, files-colon-path):
	Adapt to change in behavior of 'parse-colon-path'.

	* lisp/files.el (parse-colon-path): Don't expand the directory
	names: that changes the names in ways this function is not
	supposed to.  (Bug#49918)

2021-08-08  Michael Albinus  <michael.albinus@gmx.de>

	Doc update wrt Tramp support of SSH security keys

	* doc/misc/tramp.texi (Frequently Asked Questions): Speak about
	SSH security keys.
	(GVFS-based methods, Predefined connection information)
	(Remote shell setup): Fix typo.

	* etc/NEWS: Precise Tramp's support for SSH security keys.  Fix typos.

2021-08-08  Dmitry Gutov  <dgutov@yandex.ru>

	project.el: Bump the version

	* lisp/progmodes/project.el: Bump the version.

2021-08-07  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Further fix to filtering Gnus search group names

	* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Group
	names in the GROUPS argument may be prefixed or not, depending on
	which server we're searching, so always enforce prefix policy within
	the function.

2021-08-07  Eli Zaretskii  <eliz@gnu.org>

	Fix files-tests broken on MS-Windows by a recent change

	* test/lisp/files-tests.el (files-colon-path): Use path-separator, and
	account for drive letters in absolute file names on MS-Windows.  (Bug#49918)

2021-08-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix prin1 problem in package-quickstart-refresh

	* lisp/emacs-lisp/package.el (package-quickstart-refresh): Bind
	print-length/print-level before using prin1-to-string (bug#49924).

2021-08-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix print-length issue in comp-run-async-workers

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Bind
	print-length/print-level to ensure there's no truncation (bug#49922).

2021-08-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `q' in `org-agenda' work even with `debug-on-error' set

	* lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
	Using `error' here will trigger users with `debug-on-error' so use
	`user-error' instead (bug#49920).  It would probably be preferable
	to rewrite this to not use the error system to do control flow.

2021-08-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with relative directories in CDPATH

	* lisp/files.el (parse-colon-path): Allow relative directories
	(like ".") in CDPATH (bug#49918).

2021-08-07  Tomasz Konojacki  <me@xenu.pl>  (tiny change)

	perl-mode: fix variable fontification

	* lisp/progmodes/perl-mode.el: Handle variables first to avoid
	conflicting with keywords. This fixes cases like "$package"
	(bug#49906).

2021-08-07  Lars Ingebrigtsen  <larsi@emkay.local>

	Allow building on MacOS with MacPorts and libgccjit

	* configure.ac: Check for the "port" command (MacPorts).
	Add the required lib/include directories for nativecomp.

	* src/Makefile.in (LIBGCCJIT_CFLAGS, LIBGCCJIT_LIBS): Split into
	two parts to allow including -L/-I for MacPorts.
	(LIBES): Adjust.
	(EMACS_CFLAGS): Ditto.

2021-08-06  Philip Kaludercic  <philipk@posteo.net>

	Add new option rcirc-channel-filter

	* lisp/net/rcirc.el (rcirc-channel-filter): Add option
	(rcirc-short-buffer-name): Respect rcirc-channel-filter
	(rcirc-handler-JOIN): Respect rcirc-channel-filter
	(rcirc-handler-PART): Respect rcirc-channel-filter
	(rcirc-handler-KICK): Respect rcirc-channel-filter
	(rcirc-handler-QUIT): Respect rcirc-channel-filter
	(rcirc-handler-INVITE): Respect rcirc-channel-filter

2021-08-06  Philip Kaludercic  <philipk@posteo.net>

	Add new option rcirc-track-abbrevate-flag

	* lisp/net/rcirc.el (rcirc-track-abbrevate-flag): Add option
	(rcirc-short-buffer-name): Respect rcirc-track-abbrevate-flag

2021-08-06  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	b77f6af24e (origin/emacs-27) ERC right stamps: also use latest buffer...

	# Conflicts:
	#	lisp/erc/erc-stamp.el

2021-08-06  dickmao  <none>

	Improve ffap-ido-mode test

	* test/lisp/ffap-tests.el (ffap-ido-mode): Actually test
	`ido-everywhere' at run time, not compile time (bug#49895).

2021-08-06  dick r. chiang  <dick.r.chiang@gmail.com>

	Fix problem with occasional stalls in `url-retrieve-synchronously'

	* lisp/url/url.el (url-retrieve-synchronously): Use
	`accept-process-output' on a null process.  That is the safer, more
	conventional way of achieving non-blocking sleep-for (bug#49897).

	Also rewrite for greater readability.

2021-08-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention NonGNU in "Package Archives" node in the manual

	* doc/lispref/package.texi (Package Archives): Mention NonGNU, too
	(bug#49899).

2021-08-06  Dmitry Gutov  <dgutov@yandex.ru>

	Add colon-space after prompt

	* lisp/progmodes/project.el (project--completing-read-strict):
	Fix last change's regression (bug#49865).

2021-08-06  Eli Zaretskii  <eliz@gnu.org>

	Fix automatic hscrolling when line numbers are displayed

	* src/xdisp.c (hscroll_window_tree): When line numbers are
	displayed, account for the line-number space when calculating
	the desired X coordinate on the left.  (Bug#49891)

2021-08-06  Eli Zaretskii  <eliz@gnu.org>

	Improve wording of recently changed documentation

	* src/minibuf.c (syms_of_minibuf):
	* lisp/minibuffer.el (minibuffer-restore-windows):
	* lisp/progmodes/etags.el (etags-xref-prefer-current-file):
	Improve wording of doc strings.

	* etc/NEWS: Improve wording and format of recently added entries.

2021-08-06  Eli Zaretskii  <eliz@gnu.org>

	Make sure installed *.eln files have correct permissions

	* Makefile.in (install-eln): Add "umask 022" to ensure the *.eln
	files are accessible from the user's Emacs session.  Suggested by
	Wilhelm Kirschbaum <wkirschbaum@gmail.com>.  (Bug#49864)

2021-08-06  Olivier Certner  <olce.emacs@certner.fr>

	ERC right stamps: also use latest buffer's window's width (Bug#44140)

	* lisp/erc/erc-stamp.el (erc-insert-timestamp-right): Use latest
	buffer's window's width to position the timestamp, if both
	`erc-timestamp-right-column' and `erc-fill-column' are not set (or
	`erc-fill-mode' is off).  This is what the documentation says, but was
	not implemented.  Also fix the bug of using selected window's width
	instead of the (or some) window showing the buffer.  The latest
	window's width is saved in `erc-timestamp-last-window-width' and used
	when the buffer is no more shown.  In case the buffer was never shown,
	which I'm not sure can happen, either use `fill-column' if set, or
	give up on aligning and just output the timestamp (modulo the kludge)
	right after message text.  While here, fix the off by one calculation
	of point start when the reference is the window's width.

2021-08-06  Dmitry Gutov  <dgutov@yandex.ru>

	Change how project-find-file's completion works

	* lisp/progmodes/project.el (project--completing-read-strict):
	Allow to choose a non-existent file, with confirmation
	(bug#49204).
	Don't use the string at point as a "real" default, and instead
	only include it in "future history": meaning, it will be inserted
	on 'M-n' (bug#49865).

2021-08-06  Dmitry Gutov  <dgutov@yandex.ru>

	New option etags-xref-prefer-current-file

	* lisp/progmodes/etags.el (etags-xref-prefer-current-file):
	New user option (bug#2544).
	(xref-backend-definitions): Use it.

2021-08-06  Dmitry Gutov  <dgutov@yandex.ru>

	Provide a default for xref-find-apropos pattern

	* lisp/progmodes/xref.el (xref-find-apropos):
	Provide a default for the pattern (bug#49731).

2021-08-06  Dmitry Gutov  <dgutov@yandex.ru>

	Change the xref-goto-xref error message

	* lisp/progmodes/xref.el (xref-goto-xref):
	Change the error message (bug#49846).

2021-08-06  Juri Linkov  <juri@linkov.net>

	Add function minibuffer-restore-windows (bug#45072)

	* lisp/minibuffer.el (minibuffer-restore-windows): New function
	that removes the completions buffer.  Add it to minibuffer-exit-hook.
	* src/minibuf.c (read-minibuffer-restore-windows): Mention
	minibuffer-restore-windows.

2021-08-05  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	Reset mtime of a buffer reverted "delicately"

	* lisp/files.el (revert-buffer-insert-file-contents-delicately):
	Once buffer is reverted, reset its mtime to that of the file.
	(Bug#49893)

2021-08-05  Eli Zaretskii  <eliz@gnu.org>

	Fix files-tests on non-Posix systems

	* test/lisp/files-tests.el (files-test-auto-save-name-default)
	(files-test-auto-save-name-transform)
	(files-test-auto-save-name-unique, files-test-lock-name-default)
	(files-test-lock-name-unique): Skip the drive letter in absolute
	file names on MS-Windows/MS-DOS when comparing file names against
	the expected ones.
	(files-tests-file-name-non-special--subprocess): Skip test on
	MS-Windows/MS-DOS.

2021-08-05  Mattias Engdegård  <mattiase@acm.org>

	Cease attempts to const-propagate through setq

	The current method of propagating constants through setq was unsound
	because it relied on each setq form only being traversed at most once
	during optimization, which isn't necessarily true in general; it could
	be made to miscompile code in rare cases.

	Since it was only used in limited circumstances, disabling this
	optimization doesn't cost us much.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
	Don't update the known value when traversing `setq`.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
	Add test case.

2021-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix M-n description in refcards

	* etc/refcards/pl-refcard.tex (section{Szukanie przyrostowe}):
	Ditto (in comments).

	* etc/refcards/refcard.tex (section{Incremental Search}): Fix M-n
	description (bug#49872).

2021-08-05  Roland Winkler  <winkler@gnu.org>

	Add support for the oauth2.el library in nnimap and smtpmail

	* doc/misc/gnus.texi (Customizing the IMAP Connection):
	* doc/misc/smtpmail.texi (Authentication): Mention it.

	* lisp/gnus/nnimap.el (nnimap-login): Support oauth2.

	* lisp/mail/smtpmail.el (smtpmail-try-auth-method): New function
	for oauth2.

2021-08-05  Glenn Morris  <rgm@gnu.org>

	* lisp/cus-start.el (read-minibuffer-restore-windows): Fix entry.

2021-08-04  Juri Linkov  <juri@linkov.net>

	* lisp/vc/smerge-mode.el (smerge-mode-menu): Add menu item for smerge-refine.

2021-08-04  dickmao  <none>

	Package archive location needs to be absolute filename

	* lisp/emacs-lisp/package.el (package--with-response-buffer-1):
	Actually check that URL is absolute (bug#49788).

2021-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new thing-at-point type: existing-filename

	* doc/lispref/text.texi (Buffer Contents): Mention it.

	* lisp/thingatpt.el (thing-at-point-file-at-point): New function.
	(existing-filename): Register it.

2021-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `M-j' work reliably if `comment-auto-fill-only-comments' is set

	* lisp/simple.el (default-indent-new-line): Force breaking the
	line when called interactively (bug#49849).  (Perhaps the
	interactive command should be rebound and call this function
	instead...)

2021-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve `define-globalized-minor-mode' doc strings

	* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
	Copy the description from easy-mmode--arg-docstring (bug#49843).

2021-08-04  dickmao  <none>

	ffap ido accommodation

	Now that ffap-file-finder can be ido-find-file, the
	noninteractive portion of find-file-at-point cannot
	assume ffap-file-finder always takes an argument
	(ido-find-file does not).

	* lisp/ffap.el (find-file-at-point): Do not call ffap-file-finder.
	* test/lisp/ffap-tests.el (ffap-ido-mode): Test it.

2021-08-04  Miha Rihtaršič  <miha@kamnitnik.top>

	Use `abort-minibuffers' in delsel

	* lisp/delsel.el (minibuffer-keyboard-quit): Use
	`abort-minibuffers' (bug#49821).

	Previously, C-g was bound to abort-recursive-edit, now it is bound to
	abort-minibuffers.  However, after requiring delsel, it gets bound to
	minibuffer-keyboard-quit, which still uses abort-recursive-edit.  Use
	the new function instead.

2021-08-04  martin rudalics  <rudalics@gmx.at>

	Add new user option 'read-minibuffer-restore-windows'

	* doc/lispref/minibuf.texi (Text from Minibuffer): Document it
	(bug#45072).

	* lisp/cus-start.el (standard): Add.

	* src/minibuf.c (syms_of_minibuf): New variable
	'read-minibuffer-restore-windows'.

2021-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Update outdated Gnus information

	* doc/misc/gnus.texi (History): Update information.

2021-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix apparent typo in new cl-generic-tests.el test case

2021-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Don't emit warning

	Also remove "WARNING" annotations after confirming that he code was right.

2021-08-04  akater  <nuclearspace@gmail.com>

	Evaluate eql specializers

	* lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Evaluate
	forms that are eql specializers.  Provide backward compatibility
	with a warning.

	* test/lisp/emacs-lisp/cl-generic-tests.el: Add a test.
	* lisp/emacs-lisp/bindat.el (bindat--type): Adhere to the new rule.
	* lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op): Adhere to the new rule.
	* lisp/emacs-lisp/map.el (map-into): Adhere to the new rule.
	* lisp/emacs-lisp/radix-tree.el (map-into): Adhere to the new rule.
	* lisp/frame.el (cl-generic-define-context-rewriter): Adhere to the new rule.
	* lisp/gnus/gnus-search.el
	(gnus-search-transform-expression): Adhere to the new rule.
	* lisp/image/image-converter.el
	(image-converter--probe image-converter--convert): Adhere to the new rule.
	* lisp/mail/smtpmail.el (smtpmail-try-auth-method): Adhere to the new rule.
	* lisp/progmodes/elisp-mode.el
	(xref-backend-definitions)
	(xref-backend-apropos): Adhere to the new rule.
	* lisp/progmodes/etags.el (xref-backend-identifier-at-point)
	(xref-backend-identifier-completion-table)
	(xref-backend-identifier-completion-ignore-case)
	(xref-backend-definitions)(xref-backend-apropos): Adhere to the new rule.
	* test/lisp/emacs-lisp/checkdoc-tests.el
	(checkdoc-cl-defmethod-with-types-ok)
	(checkdoc-cl-defmethod-qualified-ok)
	(checkdoc-cl-defmethod-with-extra-qualifier-ok): Adhere to the new rule.

	* etc/NEWS: Describe the change.

2021-08-03  Michael Albinus  <michael.albinus@gmx.de>

	Code cleanup for Tramp's yubikey integration

	* lisp/net/tramp-sh.el (tramp-actions-before-shell)
	(tramp-actions-copy-out-of-band):
	Use `tramp-security-key-confirm-regexp'.

	* lisp/net/tramp.el (tramp-security-key-confirm-regexp): Rename from
	`tramp-yubikey-regexp'.  Adapt docstring.
	(tramp-security-key-confirmed-regexp): New defcustom.
	(tramp-action-show-and-confirm-message):
	Redisplay.  Use `tramp-security-key-confirmed-regexp'.

2021-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	file-name-concat is not error free

	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Declare
	file-name-concat as side-effect free.

2021-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Declare file-name-concat as side-effect free

	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Declare
	file-name-concat as side-effect (and error) free.

2021-08-03  Mattias Engdegård  <mattiase@acm.org>

	Remove ineffective expression in verilog-mode

	* lisp/progmodes/verilog-mode.el (verilog-set-auto-endcomments):
	Remove expression that now elicits a byte-compiler warning.

2021-08-03  Mattias Engdegård  <mattiase@acm.org>

	Declare `match-beginning` and `match-end` as side-effect-free

	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add functions.

2021-08-03  Phil Sainty  <psainty@orcon.net.nz>

	Merge branch 'scratch/so-long'

2021-08-03  Phil Sainty  <psainty@orcon.net.nz>

	Make `global-so-long-mode' use `buffer-line-statistics'

	* lisp/so-long.el: (so-long-statistics-excessive-p): New predicate
	function using `buffer-line-statistics'.
	(so-long-predicate): Use `so-long-statistics-excessive-p' by default.

	* etc/NEWS: Describe changes.

	* test/lisp/so-long-tests/so-long-tests-helpers.el:
	* test/lisp/so-long-tests/so-long-tests.el: Update tests.
	Also improve the existing `so-long-tests-predicate' tests.

2021-08-03  Phil Sainty  <psainty@orcon.net.nz>

	Support 'preserved' variables and minor modes in `so-long-mode'

	The default values support preserving the state of `view-mode' when
	switching to (and reverting from) `so-long-mode' (bug#45084).

	* lisp/so-long.el (so-long-mode-preserved-variables)
	(so-long-mode-preserved-minor-modes): New user options.
	(so-long-mode-maintain-preserved-variables)
	(so-long-mode-maintain-preserved-minor-modes): New functions.
	(so-long-remember-all, so-long-after-change-major-mode)
	(so-long-mode-revert): Use them.

	* etc/NEWS: Describe changes.

	* test/lisp/so-long-tests/so-long-tests-helpers.el:
	* test/lisp/so-long-tests/so-long-tests.el: Update tests.

2021-08-03  Phil Sainty  <psainty@orcon.net.nz>

	* lisp/so-long.el (so-long-minor-modes): Additional modes to disable

2021-08-03  Phil Sainty  <psainty@orcon.net.nz>

	Make `global-so-long-mode' handle unrecognized file types

	* lisp/so-long.el (so-long-target-modes): Add `fundamental-mode'

	* etc/NEWS: Describe changes.

	This doesn't affect buffers which are simply in `fundamental-mode' by
	default.  It only affects buffers for which `set-auto-mode' has been
	called (normally via `find-file') without establishing a different
	major mode.

2021-08-03  Phil Sainty  <psainty@orcon.net.nz>

	Increase `so-long-threshold' and `so-long-max-lines' defaults

	* lisp/so-long.el (so-long-threshold, so-long-max-lines): Increase
	default values to reduce false-positives.

	* etc/NEWS: Describe changes.

	Lines shorter than 10,000 characters shouldn't generally be causing
	problems, so testing this explicitly will largely eliminate
	false-positives.  We must also increase the maximum number of lines
	to check, because 'minified' code may still include newlines, and so
	there may be many lines shorter than the new threshold before we find
	a line which exceeds it.

	Previously we used a minimum-effort heuristic, testing a very small
	number of lines against a maximum length which, while not remotely
	long enough to cause problems, would nevertheless be uncommon in any
	normal file of programming code (and hence indicative that the file
	was likely to be minified code).

	Testing indicates that the performance penalty for the larger values
	should be negligible.

2021-08-03  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>

	* Fix error while disassembling native code on macOS

	* lisp/emacs-lisp/disass.el (disassemble-internal): Make sure the
	regexp that searches for a symbol takes into account of llvm-objdump's
	output format.

2021-08-03  Juri Linkov  <juri@linkov.net>

	Improve handling of context menus for global, local, minor-mode menus

	* lisp/mouse.el (context-menu-global, context-menu-local, context-menu-minor):
	Better handling of possibly nested menu maps.

2021-08-03  Amin Bandali  <bandali@gnu.org>

	Merge from origin/emacs-27

	75ecce4323 Unbreak ERC's Ibuffer filter (Bug#44100)

2021-08-03  Olivier Certner  <olce.emacs@certner.fr>

	Unbreak ERC's Ibuffer filter (Bug#44100)

	* lisp/erc/erc-ibuffer.el (erc-modified): Don't use `length' on dotted
	lists (and not even to test if there is more than one element, for
	that matter).  Use `cdr' instead.

2021-08-03  Juri Linkov  <juri@linkov.net>

	Adjust tab-bar to the new mode-line-misc-info value (bug#49806)

	* lisp/tab-bar.el (tab-bar--define-keys): Adjust to the new
	default value for `mode-line-misc-info'.

2021-08-02  Stephen Gildea  <stepheng+emacs@gildea.com>

	mh-junk: adjust messages for allow/block actions

	* lisp/mh-e/mh-junk.el: Remove messages that get overwritten quickly.
	Keep messages that give status for slow operations.  Add information
	that might be useful for debugging failures.

2021-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mwheel.el: Don't use `custom-initialize-delay`.

	Set up the keybindings when loading the file.

	(mouse-wheel--installed-bindings-alist): Move to beginning.
	(mouse-wheel-change-button): Don't update bindings when they're not installed.
	(mouse-wheel--setup-bindings): New function extracted from `mouse-wheel-mode`.
	(<topleve>): Call it when loading the file.
	(mouse-wheel-mode): Use the default :initializer.

2021-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/flymake.el (flymake--mode-line-title): Don't quote lambda

2021-08-01  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/project.el (project-switch-project): Use 'let*' (bug#49635).

	This allows overriding-local-map to have effect on read-key-sequence.

2021-08-01  Juri Linkov  <juri@linkov.net>

	* lisp/help-mode.el (help-mode-context-menu): New function.

	(help-mode): Use it.

2021-08-01  Juri Linkov  <juri@linkov.net>

	* lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Display warning.

	https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00007.html

2021-08-01  Mattias Engdegård  <mattiase@acm.org>

	Make dlet work like let, not let*

	Change `dlet` so that it has binding semantics like `let` because that
	is what a user would expect and it allows a corresponding `dlet*` to
	be added later should the need arise.  Fortunately the change has no
	effect where it is currently used.

	* lisp/subr.el (dlet): Work like let.
	* lisp/calendar/cal-bahai.el (calendar-bahai-date-string):
	* lisp/calendar/cal-coptic.el (calendar-coptic-date-string):
	* lisp/calendar/cal-dst.el (calendar-time-zone-daylight-rules)
	(calendar-dst-starts, dst-in-effect):
	* lisp/calendar/cal-persia.el (calendar-persian-date-string):
	* lisp/calendar/calendar.el (calendar-dlet, calendar-generate-month)
	(calendar-update-mode-line, calendar-date-string):
	* lisp/calendar/diary-lib.el (diary-list-entries-2)
	(diary-list-entries, diary-mark-entries-1, diary-sexp-entry)
	(diary-remind, diary-font-lock-date-forms, diary-fancy-date-pattern):
	* lisp/calendar/holidays.el (holiday-sexp):
	* lisp/calendar/icalendar.el (icalendar--convert-float-to-ical):
	* lisp/calendar/solar.el (solar-time-string):
	* lisp/calendar/todo-mode.el (todo-date-pattern)
	(todo-edit-item--header, todo-convert-legacy-date-time)
	(todo-read-date):
	Rename `calendar-dlet*` to `calendar-dlet` since it uses `dlet`.

2021-08-01  Mattias Engdegård  <mattiase@acm.org>

	Indicate selected occur target with fringe arrow

	* lisp/replace.el (occur--set-arrow): New function.
	(occur-mode-goto-occurrence)
	(occur-mode-goto-occurrence-other-window)
	(occur-mode-display-occurrence): Call it.
	* etc/NEWS: Announce.

2021-08-01  Juri Linkov  <juri@linkov.net>

	* lisp/filecache.el: Fix cycling (bug#49761).

	(file-cache-cycle): Refactor from file-cache-minibuffer-complete.
	(file-cache-minibuffer-complete): Use file-cache-cycle in 2 old places,
	and in 1 following new place.  When last-command is equal to this-command,
	use file-cache-cycle to continue cycling the previous completion
	as long as the user continues typing C-TAB.
	Also when displaying a list of completions, don't try to move point
	to the common prefix.

2021-08-01  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Extend Gnus summary highlight faces by default

	* lisp/gnus/gnus.el (gnus-summary-selected):
	(gnus-summary-normal-ancient):
	(gnus-summary-normal-undownloaded):
	(gnus-summary-normal-unread):
	(gnus-summary-normal-read): Set :extend attribute.

2021-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust the fully qualified host name when nothing is set

	* doc/misc/message.texi (News Headers): Adjust index.
	* lisp/gnus/message.el (message-check-news-header-syntax): Adjust check.
	(message-make-fqdn): Be less hilarious.

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix `u' binding in Gnus Browse mode

	* lisp/gnus/gnus-srvr.el (gnus-browse-mode-map): Bind to
	`gnus-browse-toggle-subscription-at-point', which is the command.

2021-07-31  Mattias Engdegård  <mattiase@acm.org>

	Occur-mode multi-line match property gap filling

	When an occur-mode regexp matches across multiple lines, the spacing
	prefixes inserted between each did not have the `occur-target`
	property which is essential for jumping to the corresponding place in
	the target buffer.  This prevented next-error and previous-error
	from working.

	* lisp/replace.el (occur-engine): Put the `occur-target` property on
	the continuation prefix to avoid the gap.

2021-07-31  Mattias Engdegård  <mattiase@acm.org>

	* etc/NEWS: Mention occur-mode highlight changes.

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	C-x 5 5 manual tweak

	* doc/emacs/frames.texi (Creating Frames): Mention
	other-frame-prefix function name.

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Update NEWS tagging for a couple entries

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Add an index entry for outline-minor-mode-cycle

	* doc/emacs/text.texi (Outline Mode): Document outline-minor-mode-cycle.

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Document outline-minor-mode-cycle in the manual.

	* doc/emacs/text.texi (Outline Mode): Document outline-minor-mode-cycle.

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `ffap-read-file-or-url' work again (to read URLs)

	* lisp/ffap.el (ffap--url-file-handler): New function (bug#44822).
	(ffap-read-file-or-url): Use it to allow switching between URLs
	and files.

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new user option python-forward-sexp-function

	* lisp/progmodes/python.el (python-forward-sexp-function): New
	user option (bug#41361).
	(python-mode): Use it.

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust how `replace-match' runs modification hooks

	* src/editfns.c (Fsubst_char_in_region)
	(Ftranslate_region_internal):
	* src/cmds.c (internal_self_insert): Update callers.
	* src/insdel.c (replace_range): Allow inhibiting
	signal_after_change/update_compositions.
	* src/lisp.h: Update.

	* src/search.c (Freplace_match): Run the modification hooks at the
	end instead of before adjusting point (bug#42424).

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Extend whitespace-empty to the end of the line

	* lisp/whitespace.el (whitespace-empty): Restore Emacs 26 look by
	extending the face (bug#42112).

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Fix `speedbar-directory-buttons' when using Tramp"

	This reverts commit 5afad3918bc8816b74e8efcff9cc441785446aa6.

	This patch can't possibly be correct, and it breaks the stated interface.

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Allow nil initializers in define-minor-mode"

	This reverts commit 02cbb37de73d563149389615ee44741322007108.

	This was mistakenly committed and doesn't really make much sense.

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't bind <mouse-2> and RET in *Help* buffers

	* lisp/help-mode.el (help-mode-map): Remove key bindings for RET
	and <mouse-2> (bug#49784).
	(help-xref-stack, help-xref-forward-stack, help-xref-stack-item)
	(help-make-xrefs): Fix doc strings -- these aren't used by
	`help-follow', but by `help-follow-symbol'.
	(help-follow-mouse, help-follow): Make obsolete.

2021-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow nil initializers in define-minor-mode

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Make the
	meaning of :initialize nil and a missing :initialize the same.

2021-07-31  Alan Third  <alan@idiocy.org>

	Fix some macOS problems

	* src/nsmenu.m (update_frame_tool_bar): Make sure the toolbar isn't
	displayed when it's not supposed to be.
	* src/nsterm.m ([EmacsView layoutSublayersOfLayer:]): Reinstate code
	intended to prevent a crash when running redisplay.

2021-07-31  Alan Third  <alan@idiocy.org>

	Move parent frame setting code into EmacsWindow

	* src/nsterm.m (ns_make_frame_visible):
	(ns_set_parent_frame):
	([EmacsWindow initWithEmacsFrame:fullscreen:screen:]):  Use new method.
	([EmacsWindow setParentChildRelationships]): New method.

2021-07-31  Alan Third  <alan@idiocy.org>

	Move NS port toolbar handling to the window

	* src/nsmenu.m (free_frame_tool_bar):
	(update_frame_tool_bar): Remove wait_for_tool_bar and get the toolbar
	from the window.
	* src/nsterm.h (EmacsView): Remove toolbar and wait_for_tool_bar.
	* src/nsterm.m (ns_update_begin):
	([EmacsView windowDidEnterFullScreen]):
	([EmacsView windowDidExitFullScreen]): Get the toolbar from the
	window, not the view.
	([EmacsView dealloc]): Remove toolbar from view.
	([EmacsView createToolbar:]): Move method to EmacsWindow.
	([EmacsView initFrameFromEmacs:]): Don't create toolbar here any more.
	([EmacsView toolbar]): Remove method.
	([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Create toolbar here.
	([EmacsWindow createToolbar:]): Moved from EmacsView.
	([EmacsWindow dealloc]): Make sure we clean up the toolbar after
	closing the window.

2021-07-31  Alan Third  <alan@idiocy.org>

	Fix macOS live resize drawing

	* src/nsterm.m ([EmacsView layout]):
	([EmacsView layoutSublayersOfLayer:]): Rename layout to
	layoutSublayersOfLayer.

2021-07-31  Alan Third  <alan@idiocy.org>

	Change NS port resize detection

	* src/nsterm.m ([EmacsView windowDidResize:]): Remove function, it's
	not performing a useful function any more.
	([EmacsView viewDidResize]):
	([EmacsView resizeWithOldSuperviewSize:]): Replace viewDidResize with
	resizeWithOldSuperviewSize.
	([EmacsView initFrameFromEmacs:]): Remove the view resize notification
	as we don't need it any more.

2021-07-31  Alan Third  <alan@idiocy.org>

	Tidy up NS port OS window handling

	* src/nsterm.h (EmacsWindow): Move above EmacsView definition and add
	new method definitions.
	(EmacsView): Remove redundant bwidth variable, and change NSWindow to
	EmacsWindow.
	(EmacsFSWindow): Delete definition.
	* src/nsterm.m (ns_set_undecorated): Rewrite to work in GNUstep using
	the new OS window creating methods.
	([EmacsView initFrameFromEmacs:]): Move all NSWindow related code to
	new init method in EmacsWindow, and use said method.
	([EmacsView toggleFullScreen:]): Use EmacsWindow instead of NSWindow.
	([EmacsWindow initWithEmacsFrame:]):
	([EmacsWindow initWithEmacsFrame:fullscreen:screen:]):
	([EmacsWindow borderWidth]): New methods.
	(EmacsFSWindow): Remove implementation.

2021-07-31  Alan Third  <alan@idiocy.org>

	Simplify macOS drawing code

	Convert EmacsSurface into a CALayer subclass so we can use the
	built-in relationships.  Also simplify the macOS versioning code.
	This will result in more warnings on older versions of macOS but makes
	reading the code easier.

	* configure.ac: Add QuartzCore framework.
	* src/nsterm.h (NS_DRAW_TO_BUFFER): Remove define and all references.
	(EmacsSurface, EmacsLayer): Rename EmacsSurface to EmacsLayer and
	modify the definition to fit the new function.
	* src/nsterm.m (ns_update_begin):
	(ns_update_end):
	(ns_focus):
	(ns_unfocus): Use the new overridden lockFocus and unlockFocus and
	simplify the frame management.
	([EmacsView dealloc]):
	([EmacsView viewDidResize:]):Don't explicitly release surfaces.
	([EmacsView initFrameFromEmacs:]): Move the layer code to after the
	NSWindow has been created as creating the layer now relies on some of
	it's properties.
	([EmacsView makeBackingLayer]): New function.
	([EmacsView lockFocus]):
	([EmacsView focusOnDrawingBuffer]): Rename to lockFocus.
	([EmacsView unlockFocus]):
	([EmacsView unfocusDrawingBuffer]): Rename to unlockFocus.
	([EmacsView windowDidChangeBackingProperties]): Don't explicitly
	release surfaces but reset EmacsLayer properties.
	([EmacsView layout]):
	([EmacsView viewWillDraw]): Rename to layout.
	([EmacsView wantsUpdateLayer]): Remove function and change all callers
	to [EmacsView wantsLayer].
	(EmacsSurface, EmacsLayer): Rename to EmacsLayer.
	([EmacsSurface getSize]):
	([EmacsSurface initWithSize:ColorSpace:Scale:]): Remove methods.
	([EmacsSurface initWithColorSpace:]):
	([EmacsLayer checkDimensions]):
	([EmacsLayer releaseSurfaces]):
	([EmacsLayer display]): New functions.
	* src/nsterm.m ([EmacsLayer dealloc]): Use releaseSurfaces.
	([EmacsSurface getContext]): Automatically detect frame property
	changes and clear the cache if required.  Use built-in CALayer
	properties where available.
	([EmacsLayer copyContentsTo:]): Use [CALayer contents] as source.

2021-07-31  Eli Zaretskii  <eliz@gnu.org>

	* src/fontset.c (check_fontset_name): A better fix for bug#49782.

2021-07-30  Adam Porter  <adam@alphapapa.net>

	* lisp/emacs-lisp/cl-macs.el: Add cl-type pattern

	* lisp/emacs-lisp/cl-macs.el:
	((pcase-defmacro type)): Add 'cl-type' pattern.

	* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-cl-type): Add test.

	* doc/lispref/control.texi (pcase Macro): Update manual.

	With thanks to Stefan Monnier and Eli Zaretskii for their guidance.

2021-07-30  Eli Zaretskii  <eliz@gnu.org>

	* src/fontset.c (check_fontset_name): Fix last change.

2021-07-30  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfault when set-fontset-font is called from non-GUI frames

	* src/fontset.c (check_fontset_name): Avoid crashes if this is
	called from a non-GUI frame.  (Bug#49782)

2021-07-30  Michael Albinus  <michael.albinus@gmx.de>

	Change Tramp version to "2.5.2-pre"

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.5.2-pre".

2021-07-30  Dmitry Gutov  <dgutov@yandex.ru>

	Make fileloop skip missing files

	* lisp/fileloop.el (fileloop-next-file): If a file doesn't exist,
	skip to the next one (bug#44979).

2021-07-30  Maxim Nikulin  <manikulin@gmail.com>  (tiny change)

	Tweak previous mailcap-view-file change

	* lisp/net/mailcap.el (mailcap-view-file): Remove the :noquery t
	mistakenly added (bug#12972).

2021-07-30  k3tu0isui  <k3tu0isui@gmail.com>  (tiny change)

	Fix problem when switching between different prolog versions

	* lisp/progmodes/prolog.el (run-prolog): Make switching between
	different prolog systems work more reliably (bug#45795).

	* lisp/progmodes/prolog.el (prolog-ensure-process): Don't start a
	new process if one already exists.

2021-07-30  Mattias Engdegård  <mattiase@acm.org>

	Simplify lexical let-optimisations

	Ensure in cconv that let-bindings have the normal form (VAR EXPR)
	where VAR is a valid variable name, so that we don't need to keep
	re-checking this all the time in the optimizer.

	* lisp/emacs-lisp/byte-opt.el
	(byte-optimize-enable-variable-constprop)
	(byte-optimize-warn-eliminated-variable): Remove; these were mainly
	used for debugging.
	* lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form):
	Assume normalized let-bindings (with lexical-binding).
	Stop using the variables removed above.
	* lisp/emacs-lisp/cconv.el (cconv-convert): Ensure normalized
	let-bindings.  Malformed bindings are dropped after warning.

	remove byte-optimize-warn-eliminated-variable

2021-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure that recover-file doesn't leave stale auto-save files behind

	* lisp/files.el (recover-file): Don't leave stale auto-save files
	behind after crash recovery (bug#11331).

2021-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow shell PROMPT strings to have ANSI codes

	* lisp/comint.el (comint-output-filter): Don't overwrite ANSI
	codes from the prompt command (bug#11883).

2021-07-30  Max Nikulin  <manikulin@gmail.com>  (tiny change)

	mailcap.el: Avoid xdg-open silent failure

	* lisp/net/mailcap.el (mailcap-view-file): Use 'pipe :connection-type
	instead of 'pty to prevent killing of background process on handler
	exit.  Avoid regression similar to Bug#44824.

	Problem happens only in some desktop environments where mailcap handler
	launches actual viewer (as defined in .desktop files and obtained from
	mimeapps.list) in background.  E.g. xdg-open invokes "gio open" or
	kde-open5 for Gnome or KDE accordingly and these handlers launch e.g.
	eog or okular in background.  As soon as main process exits, temporary
	terminal session created by `start-process-shell-command' is terminated.
	As a result background processes receive SIGHUP.

	Previously command were executed with no buffer as well, so the change
	does not affect "needsterminal" and "copiousoutput" mailcap features,
	they are not supported as earlier.

	If main process of the handler fails then show a message with exit
	reason.  Output (including error messages) is ignored as before.
	Gtk applications tend to report significant amount of failed asserts
	hardly informative for majority of users (bug#12972).

2021-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix case insensitivity in `read-file-name'

	* lisp/minibuffer.el (read-file-name-default): Make `read-file-name'
	actually respect `read-file-name-completion-ignore-case' (bug#14340).

2021-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix issue with mml-preview from outside Gnus

	* lisp/gnus/gnus-art.el (gnus-mime-display-alternative): Be more
	resilient when running from outside Gnus.

2021-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Work around long-standing seq.el compilation warning

	* lisp/emacs-lisp/seq.el (seq-contains): When using cl-defgeneric
	to define an obsolete function, it'll complain about it being
	obsolete.  Suppress that warning.  (Should probably be fixed in
	cl-defgeneric instead.)

2021-07-30  Basil L. Contovounesios  <contovob@tcd.ie>

	Remove a redundant let-binding from Ispell

	Recent optimizer changes revealed a case-fold-search binding in
	Ispell that was made redundant in the revision of 2020-11-03
	"Simplify ispell-check-version’s use of -vv flag".

	* lisp/textmodes/ispell.el (ispell-check-version): Remove no-op
	binding of case-fold-search.

2021-07-30  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Tramp supports authentication via yubikey now.  Fix typos.

2021-07-30  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#49773 in Tramp

	* lisp/net/tramp.el (tramp-handle-find-backup-file-name)
	(tramp-handle-lock-file, tramp-handle-make-auto-save-file-name):
	Check security hole only if action is in progress.  (Bug#49773)

2021-07-30  Mattias Engdegård  <mattiase@acm.org>

	Optimize let and let* whose body is constant or the last variable

	Simplify  (let ((X1 E1) ... (Xn En)) Xn)
	      =>  (progn E1 ... En)

	and       (let* ((X1 E1) ... (Xn En)) Xn)
	      =>  (let* ((X1 E1) ... (Xn-1 En-1)) En)

	and similarly the case where the body is a constant, extending a
	previous optimization that only applied to the constant nil.
	This reduces the number of bound variables, shortens the code, and
	enables further optimizations.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-letX): Rewrite using
	`pcase` and add the aforementioned transformations.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
	Add test cases.

2021-07-30  Mattias Engdegård  <mattiase@acm.org>

	Move warnings about bad let-bindings from source optimizer to cconv

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form): Move warnings...
	* lisp/emacs-lisp/cconv.el (cconv-convert): ...here, which is an
	overall better place (closer to the front-end).

2021-07-30  Mattias Engdegård  <mattiase@acm.org>

	Optimize prog1 better

	Rewrite (prog1 CONST FORMS...) => (progn FORMS... CONST)
	where CONST is a compile-time constant, because putting the value last
	allows the lapcode peephole pass to do important improvements like
	branch elimination.  Also use progn instead of prog1 for `ignore`.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
	New `prog1` and `ignore` transforms.

2021-07-30  Mattias Engdegård  <mattiase@acm.org>

	Elide lexical variables in for-effect context in source optimizer

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
	Remove for-effect uses of lexical variables.  We previously relied on
	this being done by the lapcode peephole optimizer but at source level
	it enables more optimization opportunities.
	Keywords are elided for the same reason.

2021-07-30  Mattias Engdegård  <mattiase@acm.org>

	Single source optimizer entry point

	Make the optimizer aware of lexical arguments.  Otherwise we cannot
	know for sure whether a variable is lexical or dynamic during
	traversal.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-one-form): New optimizer
	entry point, replacing the recursive byte-optimize-form.
	* lisp/emacs-lisp/bytecomp.el (byte-optimize-one-form): Autoload.
	(byte-compile-keep-pending, byte-compile-top-level):
	Use byte-optimize-one-form.

2021-07-30  Stephen Gildea  <stepheng+emacs@gildea.com>

	mh-junk: replace color-based terms with descriptive words

	* lisp/mh-e/*.el: "whitelist" -> "allowlist" and "blacklist" -> "blocklist".
	* doc/misc/mh-e.texi: update manual to match.
	* lisp/mh-e/mh-folder.el: Change the binding of
	'mh-junk-allowlist' to 'J a'.  Add a compatibility binding for the
	old 'J w'.
	* lisp/mh-e/mh-scan.el (mh-note-allowlisted): Change char from 'W' to 'A'.
	* lisp/mh-e/mh-junk.el: Rename 'mh-blacklist-a-msg' to
	'mh-junk-blocklist-a-msg', adding the missing "junk-" to the
	function name.

2021-07-29  Nick Gasson  <nick@nickg.me.uk>  (tiny change)

	Avoid errors in rmailsum for messages without "From"

	* lisp/mail/rmailsum.el (rmail-header-summary): Be defensive about
	the presence of the "From" header.  (Bug#49770)

2021-07-29  dickmao  <none>

	Follow-up toggle-subscription name change

	* doc/misc/gnus.texi (Subscription Commands): Refer to correct function.
	* lisp/gnus/gnus-group.el (gnus-group-unsubscribe-current-group):
	Make backwards-compatible.
	(gnus-group-unsubscribe-group):
	Make backwards-compatible (bug#49768).

2021-07-29  Dmitry Gutov  <dgutov@yandex.ru>

	Fix printing of multiple items in one group without line numbers

	* lisp/progmodes/xref.el (xref--insert-xrefs):
	Fix printing of multiple items in one group without line numbers
	(mentioned in bug#49731).

2021-07-28  dickmao  <none>

	Rename Gnus -unsubscribe-group commands to -toggle-subscription

	* doc/emacs/misc.texi (Gnus Group Buffer): Document change.
	* doc/misc/gnus.texi (Subscription Commands): Document change.
	(Browse Foreign Server): Document change.
	* lisp/gnus/gnus-group.el (gnus-group-mode-map):
	Unsubscribe is not subscribe.
	(gnus-group-sub-map): Unsubscribe is not subscribe.
	(gnus-group-make-menu-bar): Unsubscribe is not subscribe.
	(gnus-group-tool-bar-gnome): Unsubscribe is not subscribe.
	(gnus-group-mode): Unsubscribe is not subscribe.
	(gnus-group-unsubscribe): Refactor.
	(gnus-group-subscribe): Refactor.
	(gnus-group-unsubscribe-current-group): Define obsolete alias.
	(gnus-group-unsubscribe-group): Define obsolete alias.
	(gnus-group-toggle-subscription-at-point): Refactor.
	(gnus-group-set-subscription-at-point): Refactor.
	(gnus-group-toggle-subscription): Refactor.
	(gnus-group-set-subscription): Refactor.
	* lisp/gnus/gnus-srvr.el (gnus-browse-mode-map):
	Unsubscribe is not subscribe.
	(gnus-browse-make-menu-bar): Unsubscribe is not subscribe.
	(gnus-browse-mode): Document the change.
	(gnus-browse-unsubscribe-current-group): Define obsolete alias.
	(gnus-browse-unsubscribe-group): Define obsolete alias.
	(gnus-browse-toggle-subscription-at-point): Unsubscribe is not subscribe.
	(gnus-browse-toggle-subscription): Unsubscribe is not subscribe
	(bug#49759).

2021-07-28  Juri Linkov  <juri@linkov.net>

	Improve :type of defcustom 'context-menu-functions' and add documentation.

	* doc/emacs/frames.texi (Menu Mouse Clicks): Describe context-menu-mode
	and context-menu-functions instead of suggesting global-set-key.
	(Menu Bars): Mention context-menu-mode and context-menu-functions.

	* etc/NEWS: Add context-menu-mode and context-menu-functions.

	* lisp/mouse.el (context-menu-functions): Use :type with repeat/function-item.
	(context-menu-minor, context-menu-undo, context-menu-region)
	(context-menu-ffap): Improve docstrings displayed for function-item in
	defcustom of context-menu-functions.

2021-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve mode-line-position-column-format manual entry

	* doc/lispref/modes.texi (Mode Line Variables): Mention %C, and
	don't mention the obsolete column-number-indicator-zero-based
	variable.

2021-07-28  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/gud.el: Add prefix 'gud-' to repeat-map variables (bug#49632)

	* lisp/progmodes/gud.el (gud-sdb-repeat-map, gud-dbx-repeat-map)
	(gud-xdb-repeat-map, gud-perldb-repeat-map, gud-pdb-repeat-map)
	(gud-guiler-repeat-map, gud-jdb-repeat-map): Rename with prefix 'gud-'.

2021-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make byte-recompile-directory less brittle

	* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Don't
	interpret files named "~" as $HOME (bug#49758).

2021-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve mode-line-position-column-format doc string

	* lisp/bindings.el (mode-line-position-column-format): Improve doc
	string.
	(mode-line-position-line-format): Point to
	`mode-line-position-column-line-format'.

2021-07-28  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Improve file-name-concat NEWS entry

2021-07-28  Philip Kaludercic  <philipk@posteo.net>

	Replace cl-c[ad]+r with regular c[ad]+r

	* lisp/net/rcirc.el (rcirc-make-trees): Replace cl-cdadr with cdadr
	(rcirc-handler-333): Replace cl-cadddr with cadddr
	(rcirc-authenticate): Replace cl-cdddr with cdddr

2021-07-28  Michael Albinus  <michael.albinus@gmx.de>

	Display yubikey message properly in Tramp

	* lisp/net/tramp.el (tramp-action-show-and-confirm-message):
	Display message properly.

2021-07-27  Brian Leung  <leungbk@mailfence.com>

	Ensure that gud commands for non-GDB debuggers are handled by repeat-mode

	* lisp/progmodes/gud.el (sdb-repeat-map): Define.
	(sdb): Set repeat-mode property to the symbol corresponding to the
	repeat map.
	(dbx-repeat-map): Define.
	(dbx): Set repeat-mode property to the symbol corresponding to the
	repeat map.
	(xdb-repeat-map): Define.
	(xdb): Set repeat-mode property to the symbol corresponding to the
	repeat map.
	(perldb-repeat-map): Define.
	(perldb): Set repeat-mode property to the symbol corresponding to the
	repeat map.
	(pdb-repeat-map): Define.
	(pdb): Set repeat-mode property to the symbol corresponding to the
	repeat map.
	(guiler-repeat-map): Define.
	(guiler): Set repeat-mode property to the symbol corresponding to the
	repeat map.
	(jdb-repeat-map): Define.
	(jdb): Set repeat-mode property to the symbol corresponding to the
	repeat map.  (Bug#49632)

2021-07-27  Brian Leung  <leungbk@mailfence.com>

	Ensure that gud commands for M-x gdb are handled by repeat-mode

	* lisp/progmodes/gud.el (gud-gdb-repeat-map): Rename from
	gud-repeat-map, and populate at the top-level.
	(gud-set-repeat-map-property): Introduce this helper function for
	setting the repeat-map property.
	(gud-gdb): Use the gud-set-repeat-map-property function to assign the
	repeat-map property.

	* lisp/progmodes/gdb-mi.el (gdb): Use the gud-set-repeat-map-property
	function to assign the repeat-map property.

	Because different debugging tools may not support all of the gud-foo
	functions, we reassign the repeat-map property within the respective
	commands, as opposed to the top level of the files, to ensure that the
	repeat-map property is reassigned each time to a symbol corresponding
	to the active debugging tool.  (Bug#49632)

2021-07-27  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-format-global): Use string-trim-right (bug#30056).

2021-07-27  Juri Linkov  <juri@linkov.net>

	Add new context-menu options for menus "File At Point" and "Version Control".

	* lisp/mouse.el (context-menu-functions): Add more options.
	(context-menu-global, context-menu-local): Fix separators.
	(context-menu-minor): Rewrite to support list of submenus.
	(context-menu-vc, context-menu-ffap): New functions.
	(context-menu-undo, context-menu-region): Fix separators.

	* lisp/dired.el (dired-context-menu):
	* lisp/info.el (Info-context-menu):
	* lisp/net/goto-addr.el (goto-address-context-menu):
	* lisp/net/eww.el (eww-context-menu):
	* lisp/progmodes/prog-mode.el (prog-context-menu):  Fix separators.

2021-07-27  Philip Kaludercic  <philipk@posteo.net>

	Remove removal of text properties from rcirc-buffer-alist keys

	* lisp/net/rcirc.el (rcirc-mode): Remove set-text-properties call

2021-07-27  Michael Albinus  <michael.albinus@gmx.de>

	Mark all autorevert tests as unstable on Cygwin (bug#49665)

	* test/lisp/autorevert-tests.el: Mark all tests as unstable on
	Cygwin (bug#49665).

2021-07-27  Philip Kaludercic  <philipk@posteo.net>

	Fix checkdoc issues

	* lisp/net/rcirc.el (rcirc-finished-sasl): Add period.
	(rcirc-mode): Expand docstring.
	(rcirc-handler-900): Document sender and process

2021-07-27  Mattias Engdegård  <mattiase@acm.org>

	Fix mistake in switch-case generation of `null` (bug#49746)

	Reported by Gregor Zattler.

	* lisp/emacs-lisp/bytecomp.el (byte-compile--cond-switch-prefix):
	Be more careful in the selection of equality.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
	Add test case.

2021-07-27  Philip Kaludercic  <philipk@posteo.net>

	Update rcirc-buffer-alist after receiving NICK

	* lisp/net/rcirc.el (rcirc-handler-NICK): Remove old nick and add new nick

2021-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make revert-buffer preserve buffer-readedness"

	This reverts commit fcae435f598471a2911641412125c5ac4f73559f.

	This leads to problems when reverting from a file that's changed
	readedness externally.

2021-07-27  Philip Kaludercic  <philipk@posteo.net>

	Fix TOPIC command

	* lisp/net/rcirc.el (topic): Add target argument.

2021-07-27  Michael Albinus  <michael.albinus@gmx.de>

	Final tweak for Tramp's yubikey detection

	* lisp/net/tramp.el (tramp-yubikey-regexp)
	(tramp-action-show-and-confirm-message): Expect also "\n".

2021-07-27  Alan Third  <alan@idiocy.org>

	Convert fringe bitmaps to vectors on NS port

	Unfortunately *step doesn't support masks for bitmap images so
	changing the colors of fringe bitmaps is awkward.  We can work around
	this by converting the bitmap into an NSBezierPath and drawing it in
	the required color.

	* src/nsterm.m (ns_define_fringe_bitmap):
	(ns_destroy_fringe_bitmap): New functions
	(ns_draw_fringe_bitmap): Display the NSBezierPath.
	* src/nsimage.m
	([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): Remove
	variable that's there to allow us to easily modify the XBM colors.
	([EmacsImage setXBMColor:]): Remove method.

2021-07-27  Alan Third  <alan@idiocy.org>

	Fix NS inset rectangle corners

	* src/nsterm.m (ns_draw_relief): Use a path to draw the mitered
	corners instead of rectangles.

2021-07-27  Alan Third  <alan@idiocy.org>

	Simplify NS sizing and positioning code

	* src/nsterm.m (ns_set_offset): Unify the two branches into one, most
	of the code is the same.
	(ns_set_window_size): Use the provided tools to calculate the window
	size instead of doing it ourselves.

2021-07-27  Alan Third  <alan@idiocy.org>

	* src/nsterm.m (ns_set_frame_alpha): Enable alpha on GNUstep.

2021-07-26  Alan Third  <alan@idiocy.org>

	Fix image crash on macOS (bug#49688)

	* src/nsimage.m ([EmacsImage allocInitFromFile:]): Use isValid to
	check whether the image is valid instead of generating a tiff.

2021-07-26  Mattias Engdegård  <mattiase@acm.org>

	Adjust grep-mode end-col function return value

	* lisp/progmodes/grep.el (grep-regexp-alist): Adjust the return value
	from the END-COL function by one since it is now (after fixing
	bug#49624) inclusive.  Found by Juri Linkov.

2021-07-26  Michael Albinus  <michael.albinus@gmx.de>

	Some minor improvements for share handling in tramp-gvfs.el

	* lisp/net/tramp-gvfs.el (tramp-gvfs-connection-mounted-p):
	Set "share" connection property if the mount spec offers it.
	(tramp-gvfs-handle-get-remote-uid)
	(tramp-gvfs-handle-get-remote-gid): Use it.

2021-07-26  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp for yubikey

	* lisp/net/tramp.el (tramp-yubikey-regexp): Adapt value.
	(tramp-trace-functions): Adapt docstring.
	(tramp-process-action-regexp): New defvar.
	(tramp-action-password, tramp-process-one-action): Use it.
	(tramp-action-show-and-confirm-message): Rewrite.

2021-07-26  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-sudoedit.el for better testing

	* doc/misc/tramp.texi (Bug Reports): Revert last change.  Mention
	exception for sudoedit.

	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command):
	Let-bind `tramp-cache-read-persistent-data' for better password handling.

2021-07-25  Mattias Engdegård  <mattiase@acm.org>

	Describe changes to the occur-mode implementation in NEWS

	* etc/NEWS: Mention change to the `occur-target` property (bug#39121).

2021-07-25  Glenn Morris  <rgm@gnu.org>

	Fix recent gdb-mi change

	* lisp/progmodes/gdb-mi.el (gdb-registers-filter-pattern-list):
	Fix type.

2021-07-25  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	d0625dc553 (origin/emacs-27) ; One more change in back.texi.
	06d0a66e57 ; Yet another last-minute change in Emacs manual for printing

2021-07-25  Michael Albinus  <michael.albinus@gmx.de>

	Add instructions for Tramp bug reports

	* doc/misc/tramp.texi (Bug Reports): Describe how to use password
	cache with "emacs -Q".

2021-07-25  Mattias Engdegård  <mattiase@acm.org>

	Fix tex-validate-buffer

	* lisp/textmodes/tex-mode.el (tex-validate-buffer):
	Set `inhibit-read-only` around all modifications of the
	read-protected *Occur* buffer (bug#19326).
	Add the `occur-match` property, and adjust the extent of the
	`occur-target` property, so that next-error and previous-error work
	correctly (bug#39121).

2021-07-25  Mattias Engdegård  <mattiase@acm.org>

	Add back occur-mode-find-occurrence for compatibility (bug#39121)

	* lisp/replace.el (occur-mode-find-occurrence):
	Put back (an emulation of) the previously removed function.
	It is used internally in eshell and in some external code.

	Problem found by Basil Contovounesios.

2021-07-25  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation of xftfont.c with old fontconfig

	* src/xftfont.c (FC_LCD_FILTER): Define if undefined, for older
	versions of fontconfig.  This was mistakenly deleted 2 years ago.
	(Bug#49722)

2021-07-25  Michael Albinus  <michael.albinus@gmx.de>

	Fix extended attributes for Tramp's sudoedit method (bug#49724)

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
	Remove compat code for `{set-}file-extended-attributes'.
	(tramp-sudoedit-handle-write-region): Handle extended attributes.
	(Bug#49724)

	* test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
	Fix test for sudoedit method.

2021-07-25  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	* etc/NEWS: Fix renaming of directory-append.

2021-07-25  Christopher League  <league@contrapunctus.net>

	When bookmark is overwritten, unfontify its previous position

	* lisp/bookmark.el (bookmark-store): When the bookmark-fontify option
	is non-nil, setting or jumping to bookmarks will colorize them using
	`bookmark-face'.  With this change, overwriting a bookmark will remove
	the fontification at its former position (bug#49725).

2021-07-25  Michael Albinus  <michael.albinus@gmx.de>

	Use `file-name-concat' in Tramp

	* lisp/net/tramp-compat.el (tramp-compat-file-name-concat):
	New defalias.

	* lisp/net/tramp.el (tramp-handle-expand-file-name):
	* lisp/net/tramp-adb.el
	(tramp-adb-handle-directory-files-and-attributes):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
	* lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
	* lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name):
	Use it.

2021-07-25  Mattias Engdegård  <mattiase@acm.org>

	Don't squash markers in occur-edit-mode

	* lisp/replace.el (occur-after-change-function): Instead of replacing
	the whole line being edited, use shrink-wrapping to replace the
	smallest interval encompassing the change.  That way, we avoid
	disturbing markers (such as occur highlighting locations) in the line;
	they would otherwise all be forced to the beginning.

2021-07-25  Mattias Engdegård  <mattiase@acm.org>

	Keep track of match extents in occur-mode (bug#39121)

	Use the `occur-target` text property to keep track of the extents of
	all matches on each line instead of just the start of the first match.
	Doing so allows us to highlight all matches when jumping to a matching
	line instead of just the first one, and it works in a more principled
	way.  It also removes compatibility problems that were introduced with
	occur-highlight-regexp.

	For compatibility with code that populate their own occur-mode
	buffers, we still accept `occur-target` properties with a single
	marker as value.

	* lisp/replace.el (occur-highlight-regexp, occur-highlight-overlay):
	Remove.
	(occur-highlight-overlays): New.
	(occur--targets-start): New.
	* lisp/replace.el (occur-after-change-function):
	(occur-mode-find-occurrence): Replace with...
	(occur-mode--find-occurrences): ...this function that returns the
	whole `occur-target` property value.
	(occur-mode-goto-occurrence, occur-mode-goto-occurrence-other-window)
	(occur-goto-locus-delete-o, occur-mode-display-occurrence)
	(occur-engine): Adjust to new property format.
	(occur--highlight-occurrence): Replace with...
	(occur--highlight-occurrences): ...this function that takes
	the `occur-target` property value as argument.
	(occur-1): Don't use `occur-highlight-regexp`.
	* test/lisp/replace-tests.el (occur-highlight-occurrence):
	Adapt to new property format.

2021-07-25  Arthur Miller  <arthur.miller@live.com>  (tiny change)

	Support  '--group-directories-first' in ls-lisp.el

	* lisp/ls-lisp.el (ls-lisp--sanitize-switches): New function.
	(ls-lisp--insert-directory): Support '--group-directories-first'.
	Call 'ls-lisp--sanitize-switches' to convert long options to short
	forms and remove unsupported long options.  Update the doc string.

2021-07-25  Peter Feigl  <peter.feigl@nexoid.at>

	Add commands to move to next/previous column in tabulated-list-mode

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Add
	keybindings M-left and M-right.
	(tabulated-list-previous-column tabulated-list-next-column): Implement
	commands (bug#44711).

2021-07-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename directory-append to file-name-concat

	* src/fileio.c (Ffile_name_concat):
	* lisp/files.el (move-file-to-trash):
	* lisp/emacs-lisp/shortdoc.el (file-name):
	* doc/lispref/files.texi (Directory Names): Rename
	`directory-append' to `file-name-concat'.

2021-07-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow empty elements in directory-append

	* doc/lispref/files.texi (Directory Names): Document it.
	* src/fileio.c (Fdirectory_append): Allow empty elements.

2021-07-24  Mattias Engdegård  <mattiase@acm.org>

	Disable delay and ding in replace-tests

	* test/lisp/replace-tests.el (replace-tests-with-undo):
	When testing the "U" (undo all changes) option, the code will delay
	and ding which is obnoxious in an automated test.
	Disabling that makes the test quiet and about 150 times faster.

2021-07-24  Yuan Fu  <casouri@gmail.com>

	Add filter to GDB's register buffer

	* lisp/progmodes/gdb-mi.el (gdb-registers-enable-filter)
	(gdb-registers-filter-pattern-list): New custom options.
	(gdb-header-click-event-handler, gdb-registers-toggle-filter): New
	functions.
	(gdb-header-click-event-handler): Only add a register if it passes the
	filter.
	(gdb-registers-mode-map): New keybinding for toggling the filter.
	(gdb-registers-header): New buttons on the header line for the
	filter (bug#39179).

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Really convert to multibyte in Fdirectory_append

	* src/fileio.c (Fdirectory_append): Fix check for whether we need
	to convert to multibyte.
	(Fdirectory_append):

2021-07-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix last commit in tramp.el

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix Fdirectory_append check for whether strings have to be converted

	* src/coding.c (string_ascii_p): Make it non-static.

	* src/fileio.c (Fdirectory_append): Fix check for whether we need
	to convert to multibyte.

	* src/fns.c (string_ascii_p): Remove copy.

	* src/lisp.h: Declare string_ascii_p.

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Set the normal-erase-is-backspace variable from Customize

	* lisp/simple.el (normal-erase-is-backspace): Always set the
	variable so that Customize is up-to-date (bug#49593).

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak Fdirectory_append slightly

	* src/fileio.c (Fdirectory_append): Make the xfree condition more
	robust.

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve directory-append manual entry

	* doc/lispref/files.texi (Directory Names): Mention zero-length
	restriction.

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak Fdirectory_append for efficiency

	* src/fileio.c (Fdirectory_append): Make slightly more efficient.

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Extend directory-append to take an arbitrary number of components

	* doc/lispref/files.texi (Directory Names): Document it.
	* lisp/emacs-lisp/shortdoc.el (file-name): Add new example.

	* src/fileio.c (Fdirectory_append): Change the function to take an
	arbitrary number of components.

2021-07-24  Philip Kaludercic  <philipk@posteo.net>

	Ensure that rcirc-buffer-alist has no text properties

	* lisp/net/rcirc.el (rcirc-mode): Remove text properties from
	  rcirc-buffer-alist keys

2021-07-24  Michael Albinus  <michael.albinus@gmx.de>

	Add Tramp support for yubikey (bug#49714)

	* lisp/net/tramp.el (tramp-yubikey-regexp): New defcustom.
	(tramp-action-show-and-confirm-message): New defun.

	* lisp/net/tramp-sh.el (tramp-actions-before-shell)
	(tramp-actions-copy-out-of-band): Add `tramp-yubikey-regexp' action.

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust tab-bar to the new mode-line-misc-info value

	* lisp/tab-bar.el (tab-bar--define-keys): Adjust to the new
	default value for `mode-line-misc-info'.

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove duplicated NEWS entries

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make 's' in *Help* work for Lisp-defined variables again

	* lisp/help-fns.el (describe-variable): Make the `s' command work
	for Lisp-defined variables again (bug#39121).

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem when moving files called ~ to the trash

	* lisp/files.el (move-file-to-trash): Construct the trash file
	name safely (bug#49711).  This makes (move-file-to-trash "/tmp/~")
	etc work.

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new function `directory-append'

	* doc/lispref/files.texi (Directory Names): Document it, and
	remove the concat-based file concatenation description.
	* lisp/emacs-lisp/shortdoc.el (file-name): Add.  And add more
	expand-file-name examples.

	* src/fileio.c (Fdirectory_append): New function.

2021-07-24  Philip Kaludercic  <philipk@posteo.net>

	Generate no message when activating rcirc-omit-mode

	* lisp/net/rcirc.el (rcirc-omit-mode): Remove (message ...) expressions

2021-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the test for auto-mode-alist from .dir-local.el stricter

	* lisp/files.el (set-auto-mode--dir-local-valid-p): New function.
	(set-auto-mode--apply-alist): Use it as a stricter test.

2021-07-23  Eli Zaretskii  <eliz@gnu.org>

	Improve recently added documentation

	* etc/NEWS: Improve wording of a recently added entry.

	* doc/misc/smtpmail.texi (Queued delivery): Fix typo.

2021-07-23  Alex Bochannek  <alex@bochannek.com>

	Fix bug#49699

	* lisp/net/tramp-sh.el (tramp-scp-strict-file-name-checking):
	Adapt check for macOS.  (Bug#49699)

2021-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in set-auto-mode--apply-alist

	* lisp/files.el (set-auto-mode--apply-alist): Fix typo in
	ad5faa424a5 (bug#49712).

2021-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow storing SMTP variables when queueing mail

	* doc/misc/smtpmail.texi (Queued delivery): Document it (bug#49709).

	* lisp/gnus/message.el (message-multi-smtp-send-mail): Store
	variables.

	* lisp/mail/smtpmail.el (smtpmail-queue-mail): Mention it.
	(smtpmail-store-queue-variables): New variable.
	(smtpmail-send-it): Store SMTP variables if requested.
	(smtpmail-send-queued-mail): Restore variables.

2021-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix do-auto-fill thinko introduced earlier today

	* lisp/simple.el (do-auto-fill): `current-fill-column' returns nil
	to signal that we should fill.

2021-07-23  Tom Tromey  <tom@tromey.com>

	Add auto-mode-alist functionality to .dir-locals.el

	* doc/emacs/custom.texi (Directory Variables): Document
	auto-mode-alist in .dir-locals.el (Bug#18721)
	* doc/emacs/modes.texi (Choosing Modes): Update.
	* lisp/files.el (set-auto-mode--apply-alist): New function,
	from set-auto-mode.
	(set-auto-mode): Check directory locals for auto-mode-alist.
	(dir-locals-collect-variables): Add "predicate" parameter.
	(hack-dir-local--get-variables): New function, from
	hack-dir-local-variables.
	(hack-dir-local-variables): Call hack-dir-local--get-variables.
	* test/lisp/files-resources/.dir-locals.el: New file.
	* test/lisp/files-resources/whatever.quux: New file.
	* test/lisp/files-tests.el (files-tests-data-dir): New variable.
	(files-test-dir-locals-auto-mode-alist): New test.

2021-07-23  Jean Forget  <J2N-FORGET@orange.fr>

	Add more support for the French Revolutionary Calendar

	* lisp/calendar/cal-french.el (calendar-french-feasts-array): New
	variable (bug#19174).
	(calendar-french-trim-feast): New function.
	(calendar-french-date-string, calendar-french-goto-date):
	(calendar-french-goto-date): Use them.

	http://datetime.mongueurs.net/Histoire/s-c/01-g.en.html
	https://metacpan.org/pod/DateTime::Calendar::FrenchRevolutionary#Internet

2021-07-23  Mattias Engdegård  <mattiase@acm.org>

	Off-by-one error in compilation rule end-column function (bug#49624)

	* lisp/progmodes/compile.el (compilation-error-properties):
	When the end-column parameter of a compilation message rule
	(in compilation-error-regexp-alist[-alist]) is a function, treat its
	return value as if it were matched by the regexp, which is how it is
	documented to work, and how all other parameters work.

2021-07-23  Mattias Engdegård  <mattiase@acm.org>

	Warn about arity errors in inlining calls (bug#12299)

	Wrong number of arguments in inlining function calls (to `defsubst` or
	explicitly using `inline`) did not result in warnings, or in very
	cryptic ones.

	* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Add calls
	to `byte-compile--check-arity-bytecode`.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-emit-callargs-warn)
	(byte-compile--check-arity-bytecode): New functions.
	(byte-compile-callargs-warn): Use factored-out function.
	* test/lisp/emacs-lisp/bytecomp-resources/warn-callargs-defsubst.el:
	* test/lisp/emacs-lisp/bytecomp-tests.el ("warn-callargs-defsubst.el"):
	New test case.

2021-07-23  F. Jason Park  <jp@neverwas.me>

	Remove text props from callback args in erc-button

	* lisp/erc/erc-button.el (erc-button-add-buttons-1): Remove text
	properties from strings stored in `erc-data' and passed to
	`erc-callback'
	(both text properties themselves) (bug#49704).  This reduces
	memory usage in erc buffers (which are long-lived and can become
	very large).

2021-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	declare-function doc string clarification about FILE

	* lisp/subr.el (declare-function): Mention that FILE can be nil
	(bug#21466).

2021-07-23  Stefan Kangas  <stefan@marxist.se>

	Make nil value of fill-column obsolete

	* lisp/textmodes/fill.el (current-fill-column): Make nil value of
	'fill-column' obsolete.  (Bug#22847)
	(current-fill-column--has-warned): New variable to track warning.
	* lisp/simple.el (do-auto-fill): Remove handling of nil return value
	from 'current-fill-column'.
	* etc/NEWS: Announce obsoletion of this usage.

2021-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust time-tests.el to bug#30056

	* test/lisp/time-tests.el (time-tests-display-time-update): Adjust
	test (bug#30056).

2021-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Move mode-line NEWS items to a common section

2021-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	'global-mode-string' elements should have a space at the end

	* lisp/time.el (display-time-string-forms):
	* lisp/battery.el (battery-mode-line-format): Add a space to the
	end (bug#30056).
	* lisp/bindings.el (mode-line-misc-info): Remove space from end.
	This will make the default format have one space before the
	line-of-dashes (instead of two) on terminals.

2021-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix an rcirc merge problem

	* lisp/net/rcirc.el (rcirc-get-server-method)
	(rcirc-get-server-password): Remove double definition after merge.

2021-07-23  Eli Zaretskii  <eliz@gnu.org>

	MS-Windows followup to recent emacsclient changes

	* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_file-has-acl): Set to true
	to avoid compiling file-has-acl.c on MS-Windows.

2021-07-23  Paul Eggert  <eggert@cs.ucla.edu>

	Redo emacsclient socket symlink-attack checking

	* admin/merge-gnulib (GNULIB_MODULES): Add file-has-acl.
	* lib/file-has-acl.c: New file, copied from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib-src/emacsclient.c: Include acl.h, for file_has_acl.
	(O_PATH): Default to O_SEARCH, which is good enough here.
	(union local_sockaddr): New type.
	(socket_status): Remove, replacing with ...
	(connect_socket): New function.  All callers changed.
	This function checks for ownership and permissions issues with the
	parent directory of the socket file, instead of checking the
	owner of the socket (which does not help security).
	(socknamesize): Move to file scope.
	(local_sockname): New arg S.  No need to pass socknamesize.
	UID arg is now uid_t.  All callers changed.  Get file descriptor
	of parent directory of socket, to foil some symlink attacks.
	Do not follow symlinks to that directory.
	(set_local_socket): Create the socket here instead of on
	each attempt to connect it.  Fall back from XDG_RUNTIME_DIR
	to /tmp only if the former fails due to ENOENT.  Adjust
	permission-failure diagnostic to match changed behavior.

	This addresses Bug#33847, which complained about emacsclient in a
	safer XDG environment not connecting to an Emacs server running in
	a less-safe environment outside XDG.  The patch fixes a
	longstanding issue with emacsclient permission checking.
	It’s ineffective to look at the permission of the socket file
	itself; on some platforms, these permissions are ignored anyway.
	What matters are the permissions on the parent directory of the
	socket file, as these are what make symlink attacks possible.
	Change the permissions check accordingly, and also refuse to
	follow symlinks to that parent directory.  These changes make it
	OK for emacsclient to fall back from XDG_RUNTIME_DIR to the
	traditionally less-safe /tmp/emacsNNNN directories, since /tmp is
	universally sticky nowadays.

2021-07-23  Philip Kaludercic  <philipk@posteo.net>

	Merge branch 'feature/rcirc-update'

2021-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make erc recognize `foo*' as a function Lisp symbol

	* lisp/erc/erc-button.el (erc-button-alist): Add some more chars
	to the `foo' button regexp (bug#49690).

2021-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make supersession warnings work again

	* src/filelock.c (lock_file): Fix thinko in lock_file in 2ad34bcea4e
	(bug#49701).

2021-07-22  Eli Zaretskii  <eliz@gnu.org>

	Fix display of line/wrap-prefix when there's a display property at BOL

	* src/xdisp.c (get_line_prefix_it_property): New function.
	(handle_line_prefix): Call 'get_line_prefix_it_property' instead
	of 'get_it_property', to examine also the property of the buffer
	text underlying the display or overlay string.  (Bug#49695)

2021-07-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Make revert-buffer preserve buffer-readedness

	* lisp/files.el (revert-buffer): Preserve buffer-readedness
	(bug#35166).

2021-07-22  Lars Ingebrigtsen  <larsi@gnus.org>

	`term-char-mode' doc string clarification

	* lisp/term.el (term-char-mode): Document behavior (bug#49186).

2021-07-22  Dmitry Gutov  <dgutov@yandex.ru>

	Bind the GIT_LITERAL_PATHSPECS environment variable

	* lisp/vc/vc-git.el (vc-git-command):
	(vc-git--call): Ensure that git interprets file names literally
	(bug#39452).

2021-07-22  Sergey Organov  <sorganov@gmail.com>  (tiny change)

	Avoid failing in desktop-clear due to killed buffers

	* lisp/desktop.el (desktop-clear): check that buffer is not already
	killed before attempting to kill it. A buffer might become killed as
	part of regular operation as a side-effect of killing another buffer,
	and then attempt to kill it again causes error (bug#49692).

2021-07-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the (value) bits from cus-start Customize strings

	* lisp/cus-start.el (standard): Don't mention the Lisp values in
	the choice strings, because that's just confusing in the Customize
	interface (bug#49687).

2021-07-22  Eli Zaretskii  <eliz@gnu.org>

	Avoid byte-compilation warning

	* test/src/buffer-tests.el (buffer-tests-inhibit-buffer-hooks):
	Avoid byte-compiler warning.  (Bug#49667)

2021-07-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Move generalized variable specs from cl-lib.el to gv.el

	* lisp/emacs-lisp/cl-lib.el: Move all the generalized variable
	specifications from cl-lib.el...
	* lisp/emacs-lisp/gv.el: ... to gv.el.  This will make things like
	`(setf (getenv "FOO") "BAR")' work without requiring anything,
	since `setf' lives in gv.el (bug#49651).

2021-07-21  Yan Gajdos  <yan@gajdos.info>  (tiny change)

	Make vc-git-mode-line-string more robust

	* lisp/vc/vc-git.el (vc-git-mode-line-string): Make function more
	robust (bug#49683).  It could previously error out under certain
	conditions, like moving directories in and out of the
	VC-controlled tree.

2021-07-21  Illia Ostapyshyn  <ilya.ostapyshyn@gmail.com>  (tiny change)

	* lisp/cus-start.el: Add mode-line-compact to Customize

	* lisp/cus-start.el (standard): Make `mode-line-compact' into a
	user option (bug#49687).

2021-07-21  Juri Linkov  <juri@linkov.net>

	Improve docstring of context-menu-functions and add eww-context-menu

	* lisp/mouse.el (context-menu-functions): Explain function args in docstring.

	* lisp/net/eww.el (eww-context-menu): New function.
	(eww-mode): Add it to context-menu-functions.

	* lisp/info.el (Info-context-menu): Move history items higher.

	* lisp/progmodes/prog-mode.el (prog-context-menu): Add menu items
	in the middle of the menu after the region menu items.

2021-07-21  Juri Linkov  <juri@linkov.net>

	Change the order of context-menu-functions and add more context menus.

	* lisp/mouse.el (context-menu-functions): Update default list.
	(context-menu-overriding-function): Remove variable.
	(context-menu-map): Reverse the order.
	(context-menu-global, context-menu-local, context-menu-minor): New functions.
	(context-menu-undo, context-menu-region): Add separators.
	Use define-key-after instead of bindings--define-key.
	(context-menu-entry): New variable.
	(context-menu-mode): Use it.

	* lisp/dired.el (dired-context-menu): New function.
	(dired-mode): Add it to context-menu-functions.

	* lisp/info.el (Info-context-menu): Reorder.

	* lisp/net/goto-addr.el (goto-address-at-mouse):
	Rename from goto-address-at-click.
	(goto-address-context-menu): Use goto-address-at-mouse.

	* lisp/progmodes/prog-mode.el (prog-context-menu): New function.
	(prog-mode): Add it to context-menu-functions.

2021-07-21  Logan Perkins  <logan@lp-programming.com>

	Make input of multi-key inputs in different emacsclients more logical

	* src/keyboard.c (read_key_sequence): Don't continue the input of
	multi-key commands in one emacsclient in another (bug#39687).

2021-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/eval.c (signal_quit_p): Fix the usual int/Lisp_Object mixup

2021-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/macroexp.el (macroexp-warn-and-return): Add arg `category`

	Use it to obey `byte-compile-warnings`.

	(macroexp--warn-wrap): Add arg `category`.
	(macroexp-macroexpand, macroexp--expand-all): Use it.

	* lisp/emacs-lisp/cconv.el (cconv--convert-funcbody, cconv-convert):
	Mark the warnings as `lexical`.

	* lisp/emacs-lisp/eieio-core.el (eieio-oref, eieio-oref-default)
	(eieio-oset-default):
	* lisp/emacs-lisp/eieio.el (defclass): Adjust to new calling convention.

2021-07-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `C-g' after `M-x' not give a backtrace unless required

	* src/eval.c (signal_quit_p): New function.
	(maybe_call_debugger): React to all `quit' signals (bug#49675).

	* src/keyboard.c (cmd_error_internal, menu_item_eval_property_1):
	Ditto.

2021-07-21  Jashank Jeremy  <jashank@rulingia.com.au>

	Speed up by storing frame faces in hash tables instead of alists

	* src/frame.h (struct frame): Add face_hash_table, remove face_alist.
	(fset_face_hash_table): New function.
	(fset_face_alist): Remove.
	* src/frame.c (make_frame): Initialize f->face_hash_table.
	(Fmake_terminal_frame): Update to work with hash tables instead of
	alists.
	* src/xfaces.c (lface_from_face_name_no_resolve):
	(Finternal_make_lisp_face):
	(update_face_from_frame_parameter): Update to work with hash tables
	instead of alists.
	(Fframe_face_hash_table): New function.
	(Fframe_face_alist): Move to faces.el as frame-face-alist.
	(syms_of_xfaces): Add frame_face_hash_table.

	* lisp/progmodes/elisp-mode.el (elisp--eval-defun-1):
	* lisp/frame.el (frame-set-background-mode): Update to work with hash
	tables instead of alists.
	* lisp/faces.el (face-new-frame-defaults): Mark obsolete.
	(face-list): Update to use face--new-frame-defaults.
	(frame-face-alist): Moved here from src/xfaces.c.
	(x-create-frame-with-faces): Update to handle subtle semantic change
	to how frame faces propagate, which otherwise breaks frame creation
	with reverse video enabled (bug#41200).

	Reworked from a patch by Clément Pit-Claudel <clement.pitclaudel@live.com>.

2021-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/display.texi (Overlay Properties): Tweak further

	The "character after point" is not as important as point itself

2021-07-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some "is"es from previous json checkin

	* lisp/subr.el (json-available-p):
	* doc/lispref/text.texi (Parsing JSON): Fix typo in last check-in.

2021-07-21  Stefan Kangas  <stefan@marxist.se>

	Factor out char_table_ref_simple for readability

	* src/chartab.c (char_table_ref_simple): New function...
	(sub_char_table_ref_and_range, char_table_ref_and_range):
	...factored out from here. (bug#45550).

2021-07-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix final test for invalid base64url chars

	* src/fns.c (base64_decode_1): Fix test for invalid base64url
	(bug#45562).  Noted by Andreas Schwab.

2021-07-21  Pankaj Jangid  <pankaj@codeisgreat.org>

	Fixed a typo in Gnus manual

	* doc/misc/gnus.texi (Washing Mail): Fixed typo

2021-07-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix bug-reference.el compilation warning

	* lisp/progmodes/bug-reference.el (bug-reference-mode): Silence a
	compilation warning (bug#49677).

2021-07-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore evaluation logic in dired-guess-default

	* lisp/dired-x.el (dired-guess-default): Restore the `eval' bits
	also removed in a previous commit (bug#48071).

2021-07-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix dired-guess-default logic after previous change

	* lisp/dired-x.el (dired-guess-default): Restore previous logic --
	require matches for all files (bug#48071).

2021-07-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add json-available-p

	* doc/lispref/text.texi (Parsing JSON): Document it.
	* lisp/subr.el (json-available-p): New function (bug#49660).

2021-07-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention rear-advance in relation to the keymap overlay property

	* doc/lispref/display.texi (Overlay Properties): Mention the
	effect of REAR-ADVANCE (bug#459).

2021-07-21  Mattias Engdegård  <mattiase@acm.org>

	Fix mistake in `quote` optimizer

	Found by Pip Cet.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-quote): Fix mistake that
	made this optimizer ineffective at removing quoting of nil, t, and
	keywords.  The only obvious consequence is that we no longer need...
	(byte-optimize-form): ...a 'nil => nil normalizing step here; remove.
	(byte-optimize-form-code-walker): Make the compiler warn about (quote).

2021-07-20  Juri Linkov  <juri@linkov.net>

	Add new mode context-menu-mode and use it in info.el and goto-addr.el

	* lisp/mouse.el (context-menu-functions): New defcustom.
	(context-menu-overriding-function): New function.
	(context-menu-filter-function): New defcustom.
	(context-menu-map): New function.
	(context-menu-undo, context-menu-region): New menu functions.
	(context-menu-mode): New mode.

	* lisp/info.el (Info-context-menu): New function.
	(Info-mode): Add Info-context-menu to context-menu-functions.

	* lisp/net/goto-addr.el (goto-address-context-menu): New function.
	(goto-address-at-click): New command.
	(goto-address-mode): Add goto-address-context-menu to context-menu-functions.

2021-07-20  Juri Linkov  <juri@linkov.net>

	* lisp/button.el (button-map): Bind [follow-link] to 'mouse-face' (bug#49626)

2021-07-20  Mattias Engdegård  <mattiase@acm.org>

	Strength-reduce (eq X nil) to (not X)

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-eq): New optimization,
	which results in better test and branch code generation where it
	applies.

2021-07-20  Mattias Engdegård  <mattiase@acm.org>

	Count (not X) as a switch condition

	* lisp/emacs-lisp/bytecomp.el (byte-compile--cond-switch-prefix):
	Treat (not VAR) and (null VAR) as (eq VAR nil) when computing the
	extent of switch ops.

2021-07-20  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/shadowfile.el (shadow-homedir): Add slash.

	(shadow-contract-file-name): Use it.  Bug#49596.

2021-07-20  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of a recent changeset

	* lisp/autorevert.el (auto-revert-mode):
	* lisp/files.el (revert-buffer): Doc fix.  (Bug#49661)

2021-07-20  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#49636

	* test/lisp/net/tramp-tests.el (tramp-test39-make-lock-file-name):
	Let-bind `auto-save-default'.  (Bug#49636)

2021-07-20  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	Improve auto-revert-mode and revert-buffer doc strings

	* lisp/autorevert.el (auto-revert-mode):
	* lisp/files.el (revert-buffer): Mention that there is
	revert-buffer-with-fine-grain that is better suited for markers
	preservation (bug#49661).

2021-07-20  jakanakaevangeli  <jakanakaevangeli@chiru.no>

	Make `kill-all-local-variables' also remove lambda from hooks

	* src/buffer.c (reset_buffer_local_variables): Also remove
	non-symbol elements from hook variables (bug#46407).

2021-07-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make dired-guess-default return all matching programs

	* lisp/dired-x.el (dired-guess-default): Return all matching
	programs (bug#48071).

2021-07-20  Ioannis Kappas  <ioannis.kappas@gmail.com>

	Allow installing packages with DOS line endings

	* lisp/emacs-lisp/package.el (package-install-from-buffer): Allow
	installing files with different line ending conventions (Unix, DOS
	and Macos) (bug#48137).

2021-07-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Signal an error in json.c function if not available

	* src/json.c (Fjson_serialize, Fjson_insert)
	(Fjson_parse_string, Fjson_parse_buffer, syms_of_json): Signal
	`json-unavailable' if jansson isn't available (bug#48228).

2021-07-20  Miha Rihtaršič  <miha@kamnitnik.top>

	Quit minibuffers without aborting kmacros

	* doc/lispref/commands.texi (Quitting): Document `minibuffer-quit'
	(Recursive Editing): Document throwing of function values to `exit'.

	* doc/lispref/errors.texi (Standard Errors): Document
	`minibuffer-quit'

	* lisp/minibuffer.el (minibuffer-quit-recursive-edit): New function.

	* lisp/simple.el (minibuffer-error-function): Do not abort keyboard
	macro execution if is minibuffer-quit is signaled (bug#48603).
	* src/data.c (syms_of_data): New error symbol `minibuffer-quit'

	* src/keyboard.c (recursive_edit_1): Implement throwing of function
	values to `exit`.  In that case, the function will be called without
	arguments before returning from the command loop.
	(cmd_error):
	(Fcommand_error_default_function): Do not abort keyboard macro
	execution if minibuffer-quit is signaled.
	(command_loop_2): New argument HANDLERS.

	* src/macros.c (Fexecute_kbd_macro): Use command_loop_2 instead of
	command_loop_1.

	* src/minibuf.c (Fabort_minibuffers): Use it.

2021-07-20  Kenichi Handa  <handa@gnu.org>

	Fix problem with certain fonts in ftfont_shape_by_flt

	* src/ftfont.c (ftfont_shape_by_flt): Fix problem with unusual OTF
	tables in fonts (bug#49066).

2021-07-20  Earl Hyatt  <okamsn@protonmail.com>

	Add commands 'kill-matching-lines' and 'copy-matching-lines'

	* doc/emacs/search.texi: Document these additions.
	* lisp/replace.el:
	Add the commands 'kill-matching-lines' and 'copy-matching-lines'.

	'kill-matching-lines' is like 'flush-lines', but adds the lines to the
	kill ring as a single string, keeping line endings.
	'copy-matching-lines' is like 'kill-matching-lines', but only copies
	those lines instead of killing them.

2021-07-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak example in Function Indirection node in the lispref manual

	* doc/lispref/eval.texi (Function Indirection): Make example more
	robust (bug#49647).  Suggested by Scott Marks
	<scott.c.marks@gmail.com>.

2021-07-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Put command line file names and mouse dragging onto 'file-name-history'

	* lisp/dnd.el (dnd-open-local-file): Add file to history.
	* lisp/files.el (file-name-history--add): New function (bug#12915).

	* lisp/startup.el (command-line-1): Add file to history.

2021-07-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `overlays-in' in the `overlays-at' doc string

	* src/buffer.c (Foverlays_at): Mention `overlays-in' in the doc
	string (bug#459).

2021-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Make wdired work better in narrowed-to buffers

	* lisp/wdired.el (wdired--before-change-fn):
	(wdired--restore-properties): Widen before doing anything so that
	we get all the changed bits (bug#49124).

2021-07-19  Ivan Sokolov  <ivan-p-sokolov@ya.ru>

	Add function for filtering ANSI sequences when compiling

	* lisp/ansi-color.el (ansi-color-for-compilation-mode): New user
	option (bug#49609).
	(ansi-color-compilation-filter): New function.

2021-07-19  Eli Zaretskii  <eliz@gnu.org>

	Fix typos in a recent change

	* src/buffer.c (Fmake_indirect_buffer): Fix a typo in a recent
	change.

	* doc/lispref/buffers.texi (Indirect Buffers): Fix punctuation.

2021-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the `s' command in *Help* work for Lisp variables defined in C

	* lisp/help-fns.el (describe-variable): Store the type.
	* lisp/help-mode.el (help-view-source): Use the type.  This fixes
	the problem when looking for a variable defined in a C file.

2021-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Add inhibit-buffer-hooks to `make-indirect-buffer'

	* doc/lispref/buffers.texi (Indirect Buffers): Document it (bug#49160).

	* src/buffer.c (Fmake_indirect_buffer): Allow controlling whether
	to inhibit buffer hooks.

2021-07-19  dickmao  <none>

	Make make-indirect-buffer inherit inhibit-buffer-hook from base buffer

	* src/buffer.c (Fmake_indirect_buffer):
	Match base buffer's inhibit-buffer-hooks.
	* test/src/buffer-tests.el (buffer-tests-inhibit-buffer-hooks-indirect):
	Add a test (bug#49160).

2021-07-19  Eli Zaretskii  <eliz@gnu.org>

	Document recent changes in 'comint-delete-output' (bug#1496)

	* doc/emacs/misc.texi (Shell Mode): Document the new optional
	behavior of 'C-c C-o'.

	* etc/NEWS: Call out the new behavior of 'C-c C-o'.

2021-07-19  Gabriel do Nascimento Ribeiro  <gabriel376@hotmail.com>

	Use 'remember-buffer' in remember.el doc strings.

	* lisp/textmodes/remember.el (remember-initial-contents)
	(remember-before-remember-hook, remember-destroy): Refer to
	`remember-buffer'.

	* lisp/textmodes/remember.el (remember-buffer): Make into
	defcustom (bug#49373).

2021-07-19  Gabriel do Nascimento Ribeiro  <gabriel376@hotmail.com>

	Use 'remember-buffer' in remember.el doc strings.

	* lisp/textmodes/remember.el (remember-initial-contents)
	(remember-before-remember-hook, remember-destroy): Refer to
	`remember-buffer'.

	* lisp/textmodes/remember.el (remember-buffer): Make into
	defcustom (bug#49373).

2021-07-19  Madhu  <enometh@meer.net>  (tiny change)

	Propagate asynchronousness correctly when using proxies in url.el

	* lisp/url/url.el (url-retrieve-internal): Propagate
	asynchronousness correctly when using a proxy (bug#49570).

2021-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix infloop in woman-file-name

	* lisp/woman.el (woman-file-name): Fix infloop for non-existent
	manual page (bug#414).

2021-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow comint-delete-output to save the output on the kill ring

	* lisp/comint.el (comint-delete-output): Allow saving the output
	to the kill ring (bug#1496).

2021-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix documentation of mouse-leave-buffer-hook

	* doc/lispref/hooks.texi (Standard Hooks): Ditto.

	* src/callint.c (syms_of_callint): Document the actual usage of
	`mouse-leave-buffer-hook' (bug#2932).

2021-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Use make-separator-line in shortdoc

	* lisp/simple.el (separator-line): Tweak definition to not be so
	overwhelming.

	* lisp/emacs-lisp/shortdoc.el (shortdoc-separator): Removed.
	(shortdoc-display-group): Use make-separator-line.

2021-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new function for separator lines

	* lisp/help-fns.el (describe-symbol): Use it.

	* lisp/help.el (describe-key): Use it.

	* lisp/simple.el (separator-line): New face.
	(make-separator-line): New function (bug#49630).

2021-07-18  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of a recent changeset (bug#5003)

	* lisp/files.el (safe-local-variable-values)
	(ignored-local-variable-values): Doc fix.
	(ignored-local-variable-values): Add :version tag.

	* doc/emacs/custom.texi (Safe File Variables): Mention
	'ignored-local-variable-values'.
	* doc/lispref/variables.texi (File Local Variables): Fix wording.

	* etc/NEWS: Improve wording of the 'ignored-local-variable-values'
	entry.

2021-07-18  Mattias Engdegård  <mattiase@acm.org>

	Count compile errors when FILE is a function

	* lisp/progmodes/compile.el (compilation-parse-errors):
	Don't omit messages from the error count when FILE is a function
	rather than a regexp match number.

2021-07-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify event-convert-list doc string

	* src/keyboard.c (Fevent_convert_list): Clarify that the base type
	returned isn't always the same (bug#7631).

2021-07-18  Stephen Gildea  <stepheng+emacs@gildea.com>

	Add doc string to time-stamp-tests that didn't have one

	* test/lisp/time-stamp-tests.el (formatz-generate-tests,
	  formatz-%z-spotcheck): Add doc strings to tests.

2021-07-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow ignoring local variable values permanently

	* doc/lispref/variables.texi (File Local Variables): Document it.

	* lisp/files.el (ignored-local-variable-values): New user option
	(bug#5003).
	(hack-local-variables-confirm): Allow ignoring permanently.
	(hack-local-variables-filter): Ignore the permanently ignored
	variables.

2021-07-18  Michael Albinus  <michael.albinus@gmx.de>

	Make remote file locks more robust

	* lisp/net/tramp.el (tramp-handle-write-region):
	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region):
	Make file locks more robust.

	* test/lisp/net/tramp-tests.el (tramp-test39-make-lock-file-name):
	Rename and extend.

2021-07-18  Naofumi Yasufuku  <naofumi@yasufuku.dev>  (tiny change)

	Make remote file locks more robust.  (Bug#49621)

	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Make file
	locks more robust.  (Bug#49621)

2021-07-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Maintain a list of terminal buffers in the menu

	* lisp/term.el (term--update-term-menu): New function (bug#5641).
	(term-mode): Use it to list terminal buffers.

2021-07-18  Eli Zaretskii  <eliz@gnu.org>

	Fix display of mode-line with bidi formatting controls

	* src/xdisp.c (face_before_or_after_it_pos): Reimplement the bidi
	iteration to find the character after the current in visual order.
	(Bug#49562)

2021-07-18  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem in `shadow-define-literal-group' (Bug#49596)

	* lisp/shadowfile.el (shadow-make-fullname): HOST can also be a
	remote file name.  Bug#49596.

	* test/lisp/shadowfile-tests.el (auth-source-save-behavior)
	(tramp-cache-read-persistent-data, tramp-persistency-file-name):
	Set them globally.
	(shadow-test06-literal-groups): Extend test.

2021-07-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Make indent-tabs-mode into a regular mode instead of just a variable

	* lisp/simple.el (indent-tabs-mode): Make into a minor mode (bug#6276).

2021-07-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't shorten comment padding if the padding isn't spaces

	* lisp/newcomment.el (comment-padright): Don't shorten non-space
	padding (bug#6822).
	(comment-padleft): Ditto.

2021-07-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix an unlikely `copyright-find-copyright' problem

	* lisp/emacs-lisp/copyright.el (copyright-find-copyright): Make
	the copyright matcher more robust (bug#7179).

2021-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous grep-file-at-point change

	* lisp/progmodes/grep.el (grep-file-at-point): Fix previous change.

2021-07-17  Lennart Borgman  <lennart.borgman@gmail.com>

	Add new function 'grep-file-at-point'

	* lisp/progmodes/grep.el (grep-file-at-point): New function to
	return the file name at point (bug#8252).

2021-07-17  Karthik Chikmagalur  <karthikchikmagalur@gmail.com>  (tiny change)

	Enhance pcomplete support for xargs

	* lisp/pcmpl-unix.el (pcomplete/xargs): Add support for completing xargs
	options, including the ability to distinguish them from the command
	xargs runs (bug#49603).

2021-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make 'n'/'p' work again in shortdoc after previous changes

	* lisp/emacs-lisp/shortdoc.el (shortdoc--goto-section): Adjust to
	changes in how the text properties are inserted in 22a5482ab6
	(bug#49605).  Also make into a regular function.

2021-07-16  akater  <nuclearspace@gmail.com>

	EIEIO: Prevent excessive evaluation of :initform

	* lisp/emacs-lisp/eieio.el (initialize-instance):
	Do not evaluate initform of a slot when initarg for the slot is provided,
	according to the following sections of CLHS:
	- Object Creation and Initialization
	- Initialization Arguments
	- Defaulting of Initialization Arguments
	- Rules for Initialization Arguments

	* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el:
	Add corresponding tests
	Fix a typo

2021-07-16  Mattias Engdegård  <mattiase@acm.org>

	Define revert-buffer-function for *Memory Report*

	* lisp/emacs-lisp/memory-report.el (memory-report):
	Allow the memory report buffer to be updated by pressing 'g'.

2021-07-16  Michael Albinus  <michael.albinus@gmx.de>

	Add lock-file-mode

	* doc/emacs/files.texi (Interlocking):
	* doc/lispref/files.texi (File Locks):
	* etc/NEWS: Add lock-file-mode.

	* lisp/files.el (lock-file-name-transforms)
	(remote-file-name-inhibit-locks): Move down.
	(lock-file-mode): New minor mode.

2021-07-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	7ac411ae2c (origin/emacs-27) ; * src/data.c (Fcar, Fcdr): Doc fix.
	0d9e1826f7 One more minor update of the Emacs manual for 19th printing
	92616d30e0 ; Fix let-alist Texinfo markup
	c13acf8e34 ; * doc/emacs/mule.texi (International Chars): Mention 'de...

2021-07-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify emacsclient Options node in the Emacs manual

	* doc/emacs/misc.texi (emacsclient Options): Don't claim that
	emacsclient searches for a socket name (bug#13319).

2021-07-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new user option 'query-about-changed-file'

	* doc/emacs/files.texi (Visiting): Document it.
	* lisp/files.el (query-about-changed-file): New user option (bug#10775).
	(find-file-noselect): Use it.

2021-07-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix lock-file-name-transforms build problem

	* lisp/files.el (lock-file-name-transforms): Remove
	custom-initialize-delay to fix build problem (bug#49507).

2021-07-16  Eli Zaretskii  <eliz@gnu.org>

	Fix wording in a recent ELisp manual change

	* doc/lispref/tips.texi (Coding Conventions): Fix wording in a
	recent change.  (Bug#21440)

2021-07-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow hiding variables in Customize

	* lisp/cus-edit.el (custom-toggle-hide-variable): Allow closing an
	option even if there are unsaved changes (bug#11655).

2021-07-16  Remington Furman  <remington@remcycles.net>  (tiny change)

	Make `number-at-point' work for more hex numbers

	* lisp/thingatpt.el (number-at-point): Rewrite to actually catch
	the hex numbers (bug#49588).

2021-07-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify -unload-feature in Coding Conventions

	* doc/lispref/tips.texi (Coding Conventions): Clarify when an
	unload function is useful (bug#21440).

2021-07-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a couple more shell-tests-split-string tests

2021-07-15  Glenn Morris  <rgm@gnu.org>

	Improve recent jka-compr-compression-info-list change

	* lisp/jka-cmpr-hook.el (jka-compr-compression-info-list):
	Document previous change, and fix :type.

2021-07-15  Tassilo Horn  <tsdh@gnu.org>

	Add bug-reference support for Codeberg projects

	* lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist):
	Add support for codeberg.org bug and pull request references.
	* doc/emacs/maintaining.texi (Bug Reference): Mention that bug and
	pull request references for codeberg projects are supported.

2021-07-15  Tassilo Horn  <tsdh@gnu.org>

	Add support for sourcehut to bug-reference.el

	* lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist):
	Add support for bug references like #17 and ~user/project#19 for
	sourcehut (sr.ht).
	* doc/emacs/maintaining.texi (Bug Reference): Document sourcehut
	support.

2021-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more car/cdr examples to shortdoc

	* lisp/emacs-lisp/shortdoc.el (list): Add more car/cdr examples.

2021-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the shortdoc link action in *Help* buffers

	* lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Allow
	taking an optional parameter to place point on a specific function.
	(shortdoc--display-function): Go to the function in question in
	the shortdoc buffer.

2021-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new user option to abbreviate file names in save-place

	* lisp/saveplace.el (save-place-abbreviate-file-names): New user
	option (bug#13286).
	(save-place-to-alist): Use it.

2021-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow restoring the original order in 'tabulated-list-mode'

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Allow
	restoring the original order (bug#13411).
	(tabulated-list--sort-by-column-name): Store the original order.
	(tabulated-list--original-order): New buffer-local variable.

2021-07-15  Protesilaos Stavrou  <info@protesilaos.com>

	Update modus-themes to version 1.5.0

	* doc/misc/modus-themes.org (Enable and load): Include internal link.
	(Sample configuration for use-package): Update code sample.
	(Customization Options): Update references to customization options.
	(Option for more italic constructs): Document new variable, as an
	alias of the deprecated 'modus-themes-slanted-constructs'.

	(Option for syntax highlighting, Option for links)
	(Option for command prompt styles, Option for mode line presentation)
	(Option for language checkers)
	(Option for line highlighting (hl-line-mode))
	(Option for parenthesis matching (show-paren-mode))
	(Option for active region, Option for the headings' overall style):
	Update documentation to describe new possible values, expressed as a
	list of symbols.

	(Option for Org agenda constructs): Document new user option.

	(Control the scale of headings): Update symbol of variable.

	(Remap face with local value (DIY), Backdrop for pdf-tools (DIY)):
	Tweak text of internal reference.

	(Font configurations for Org and others (DIY)):  Add internal link and
	document how to configure the 'bold' and 'italic' faces.

	(Custom Org user faces (DIY)): Minor corrections or changes to single
	words.

	(Full support for packages or face groups): Include new items.

	(Notes on individual packages): Add notes on Avy hints, the color of
	days in 'M-x calendar', and underlines in 'compilation-mode' buffers.

	(What is the best setup for legibility?): Remove single word.
	(Acknowledgements): Update list of contributors.

	* etc/themes/modus-themes.el (modus-themes-faces)
	(modus-themes-operandi-colors, modus-themes-vivendi-colors)
	(modus-themes-subtle-red, modus-themes-subtle-green)
	(modus-themes-subtle-yellow, modus-themes-subtle-blue)
	(modus-themes-subtle-magenta, modus-themes-subtle-cyan)
	(modus-themes-subtle-neutral, modus-themes-intense-red)
	(modus-themes-intense-green, modus-themes-intense-yellow)
	(modus-themes-intense-blue, modus-themes-intense-magenta)
	(modus-themes-intense-cyan, modus-themes-intense-neutral)
	(modus-themes-refine-red, modus-themes-refine-green)
	(modus-themes-refine-yellow, modus-themes-refine-blue)
	(modus-themes-refine-magenta, modus-themes-refine-cyan)
	(modus-themes-active-red, modus-themes-active-green)
	(modus-themes-active-yellow, modus-themes-active-blue)
	(modus-themes-active-magenta, modus-themes-active-cyan)
	(modus-themes-fringe-red, modus-themes-fringe-green)
	(modus-themes-fringe-yellow, modus-themes-fringe-blue)
	(modus-themes-fringe-magenta, modus-themes-fringe-cyan)
	(modus-themes-nuanced-red, modus-themes-nuanced-green)
	(modus-themes-nuanced-yellow, modus-themes-nuanced-blue)
	(modus-themes-nuanced-magenta, modus-themes-nuanced-cyan)
	(modus-themes-special-cold, modus-themes-special-mild)
	(modus-themes-special-warm, modus-themes-special-calm)
	(modus-themes-diff-added, modus-themes-diff-changed)
	(modus-themes-diff-removed, modus-themes-diff-refine-added)
	(modus-themes-diff-refine-changed, modus-themes-diff-refine-removed)
	(modus-themes-diff-focus-added, modus-themes-diff-focus-changed)
	(modus-themes-diff-focus-removed, modus-themes-diff-heading)
	(modus-themes-pseudo-header, modus-themes-mark-alt)
	(modus-themes-mark-del, modus-themes-mark-sel, modus-themes-mark-symbol)
	(modus-themes-heading-1, modus-themes-heading-2, modus-themes-heading-3)
	(modus-themes-heading-4, modus-themes-heading-5, modus-themes-heading-6)
	(modus-themes-heading-7, modus-themes-heading-8, modus-themes-hl-line)
	(modus-themes-bold, modus-themes-slant, modus-themes-variable-pitch)
	(modus-themes-graph-red-0, modus-themes-graph-red-1)
	(modus-themes-graph-green-0, modus-themes-graph-green-1)
	(modus-themes-graph-yellow-0, modus-themes-graph-yellow-1)
	(modus-themes-graph-blue-0, modus-themes-graph-blue-1)
	(modus-themes-graph-magenta-0, modus-themes-graph-magenta-1)
	(modus-themes-graph-cyan-0, modus-themes-graph-cyan-1)
	(modus-themes-lang-note, modus-themes-lang-warning)
	(modus-themes-lang-error, modus-themes-reset-soft)
	(modus-themes-reset-hard, modus-themes-key-binding)
	(modus-themes-search-success, modus-themes-search-success-modeline)
	(modus-themes-search-success-lazy): Add new ':group' specification for
	custom faces.

	(modus-themes-operandi-color-overrides)
	(modus-themes-vivendi-color-overrides, modus-themes-bold-constructs)
	(modus-themes-variable-pitch-headings, modus-themes-variable-pitch-ui)
	(modus-themes-no-mixed-fonts, modus-themes-fringes)
	(modus-themes-scale-headings, modus-themes-scale-1, modus-themes-scale-2)
	(modus-themes-scale-3, modus-themes-scale-4, modus-themes-scale-title)
	(modus-themes-org-blocks, modus-themes-completions)
	(modus-themes-success-deuteranopia, modus-themes-mail-citations)
	(modus-themes-subtle-line-numbers, modus-themes-intense-hl-line): Add
	custom setter.

	(modus-themes-scale-5, modus-themes-scale-title): Deprecate variable
	and replace it with alias 'modus-themes-scale-title'.

	(modus-themes-slanted-constructs, modus-themes-italic-constructs):
	Deprecate variable and replace it with alias
	'modus-themes-italic-constructs'.

	(modus-themes-org-habit, modus-themes-org-agenda): Deprecate variable
	and make its functionality a part of 'modus-themes-org-agenda'.

	(modus-themes-headings, modus-themes-mode-line, modus-themes-diffs)
	(modus-themes-prompts, modus-themes-paren-match, modus-themes-syntax)
	(modus-themes-links, modus-themes-region, modus-themes-lang-checkers)
	(modus-themes-org-blocks): Make user options accept a value as a list
	of properties.

	(modus-themes--mixed-fonts, modus-themes--slant)
	(modus-themes--fixed-pitch, modus-themes--lang-check)
	(modus-themes--prompt, modus-themes--paren)
	(modus-themes--syntax-foreground, modus-themes--syntax-extra)
	(modus-themes--syntax-string, modus-themes--syntax-docstring)
	(modus-themes--syntax-comment, modus-themes--heading-p)
	(modus-themes--heading, modus-themes--org-habit)
	(modus-themes--mode-line-attrs, modus-themes--link-color)
	(modus-themes--link, modus-themes--region, modus-themes--hl-line):
	Update internal functions to parse new values for user options.

	* etc/themes/modus-operandi-theme.el,
	  etc/themes/modus-vivendi-theme.el: Bump version number.

	A detailed change log is provided here (no javascript required):
	<https://protesilaos.com/codelog/2021-07-15-modus-themes-1-5-0/>.

2021-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Autoload `split-string-shell-command'

	* lisp/shell.el (split-string-shell-command): Autoload.

2021-07-15  Eli Zaretskii  <eliz@gnu.org>

	Fix 'shell-tests-split-string' on MS-Windows

	* test/lisp/shell-tests.el (shell-tests-split-string): Skip test
	that always fails on MS-Windows/MS-DOS.

2021-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the `window-end' doc string

	* src/window.c (Fwindow_end): Be more explicit about what the
	position is (bug#13429).

2021-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention more split-string-* functions in shortdoc

	* lisp/emacs-lisp/shortdoc.el (string): Mention
	split-string-and-unquote and split-string-shell-command.

2021-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow using spaces in `inferior-lisp' command names

	* lisp/progmodes/inf-lisp.el (inferior-lisp): Allow using spaces
	in the command names (by splitting using shell syntax) (bug#16005).

2021-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename shell-split-string to split-string-shell-command

	* lisp/shell.el (split-string-shell-command):
	* doc/lispref/processes.texi (Shell Arguments): Rename from
	shell-split-string.

2021-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new function 'shell-split-string'

	* doc/lispref/processes.texi (Shell Arguments): Document it.
	* lisp/shell.el (shell-split-string): New function.

2021-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify overriding-local-map doc string

	* src/keyboard.c (syms_of_keyboard): Clarify
	`overriding-local-map' vs. text properties/overlays (bug#16312).

2021-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc -Woverflow more clearly

	* src/alloc.c (mark_maybe_pointer): Make it clearer that ANDing
	with UINTPTR_MAX is intended.  Omit a now-unnecessary cast.

2021-07-14  Michael Albinus  <michael.albinus@gmx.de>

	Preserve backward compatibility in Tramp

	* lisp/net/tramp-crypt.el (tramp-crypt-handle-lock-file)
	(tramp-crypt-handle-unlock-file): Preserve backward compatibility.

	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Do not
	create lock file twice.

	* lisp/net/tramp.el (tramp-handle-make-lock-file-name): Move lock
	file security check ...
	(tramp-handle-lock-file): ... here.
	(tramp-handle-unlock-file): Preserve backward compatibility.

	* test/lisp/net/tramp-tests.el (lock-file-name-transforms)
	(remote-file-name-inhibit-locks): Declare.
	(tramp-allow-unsafe-temporary-files): Set to t.
	(tramp-test37-make-auto-save-file-name)
	(tramp-test38-find-backup-file-name): Move binding of
	`tramp-allow-unsafe-temporary-files' up.
	(tramp-test39-lock-file): Bind `tramp-allow-unsafe-temporary-files'.
	Preserve backward compatibility.  Extend test.

2021-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fontify the signature separator in Message mode

	* lisp/gnus/message.el (message-signature-separator): New face
	(bug#17757).
	(message-font-lock-keywords): Add it to the signature, and ensure
	that the trailing space isn't removed when hitting RET.
	(message--match-signature): New helper function.

2021-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify backward-delete-char-untabify doc string

	* lisp/simple.el (backward-delete-char-untabify): Mention the
	effect of Transient Mark mode (bug#17263).

2021-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	* etc/NEWS: Add back a missing apostrophe.

2021-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	switch-to-buffer-other-frame doc string improvement

	* lisp/window.el (switch-to-buffer-other-frame): Document that we
	don't always display the buffer in a different frame (bug#17719).

2021-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix hilit-chg highlighting of characters where text has been removed

	* lisp/hilit-chg.el (hilit-chg-set-face-on-change): Remove
	highlighting from characters that are just highlighted because of
	something that has been previously deleted (bug#17784).

2021-07-14  Eli Zaretskii  <eliz@gnu.org>

	Fix deprecation warnings from libtiff

	* src/image.c (UINT32) [TIFFLIB_VERSION >= 20210416]: Define to
	use stdint.h type for recent libtiff versions.  Reported by Andy
	Moreton <andrewjmoreton@gmail.com>.

2021-07-14  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS (insert-into-buffer'): Fix thinko.

2021-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `apropos-library' also work for libraries without symbols

	* lisp/apropos.el (apropos--preamble): Factor out (bug#17832)...
	(apropos-print-doc): ... from here.
	(apropos-library): Use it to display the apropos buffer even if it
	has no symbols of its own.

2021-07-14  Juri Linkov  <juri@linkov.net>

	Revert e0619995594d1686afd0493391417d6f900d632c that added save-match-data.

	* lisp/isearch.el (isearch-filter-predicate): Mention precautions against
	clobbering the match data in docstring (bug#49534).

2021-07-14  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el: Add save-match-data for funcall isearch-filter-predicate.

	* lisp/isearch.el (isearch-search): Add save-match-data before
	funcall isearch-filter-predicate.
	(isearch-lazy-highlight-search): Add save-match-data before
	funcall isearch-filter-predicate.
	(Bug#49534)

2021-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a better interactive spec to `facemenu-add-face'

	* lisp/facemenu.el (facemenu-add-face): Use `read-face-name'
	(bug#18369) by copying over the interactive spec from
	facemenu-set-face.

2021-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make jka-compr-insert-file-contents slightly more efficient

	* lisp/jka-compr.el (jka-compr-insert-file-contents): Make more
	efficient by using `insert-into-buffer'.

2021-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new function 'insert-into-buffer'

	* doc/lispref/text.texi (Insertion): Document it.
	* lisp/subr.el (insert-into-buffer): New function.

2021-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fall back on zlib-decompress-region if gzip doesn't exist

	* lisp/jka-cmpr-hook.el (jka-compr-info-uncompress-function): New
	function (bug#18823).
	(jka-compr-compression-info-list): Expand info with decompression
	function.

	* lisp/jka-compr.el (jka-compr-insert-file-contents): Fall back on
	internal decompression function if external doesn't exist.

2021-07-13  Daniel Martín  <mardani29@yahoo.es>

	Fix dired-number-of-marked-files when there are no marked files

	* lisp/dired.el (dired-number-of-marked-files): Fix if expression so
	that the else part is evaluated correctly.

2021-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/modes.texi (Multiline Font Lock): Tweak last change

2021-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow not updating Customize settings in set-frame-font

	* lisp/frame.el (set-frame-font): Allow not updating the
	Customization settings (bug#19298).

2021-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Document the syntax-multilne text property

	* doc/lispref/modes.texi (Multiline Font Lock): Document the
	syntax-multiline text property (bug#20436).

2021-07-13  Juri Linkov  <juri@linkov.net>

	Support Isearch filter predicates with empty search hits (bug#49534)

	* lisp/isearch.el (isearch-search): Move (= (match-beginning 0) (match-end 0))
	and (bobp)/(eobp) outside the call to isearch-filter-predicate.
	Use forward-char 1/-1 on empty matches only when going to retry search.
	(isearch-lazy-highlight-search):  Remove (= (point) bound),
	but leave (= (match-beginning 0) (match-end 0)) since empty matches
	make no sense in lazy-highlighting.

2021-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make 'tex-validate-buffer' work again

	* lisp/textmodes/tex-mode.el (tex-validate-buffer): The *Occur*
	buffer is read-only, so inhibit that before inserting things into
	it (bug#19326).

2021-07-13  Michael Albinus  <michael.albinus@gmx.de>

	Add remote-file-name-inhibit-locks

	* doc/emacs/files.texi (Interlocking):
	* doc/lispref/files.texi (File Locks):
	* doc/misc/tramp.texi (Auto-save File Lock and Backup):
	Add remote-file-name-inhibit-locks.

	* etc/NEWS: New user option 'remote-file-name-inhibit-locks'.

	* lisp/files.el (remote-file-name-inhibit-locks): New defcustom.

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
	Use `tramp-handle-make-lock-file-name'.

	* lisp/net/tramp.el (tramp-allow-unsafe-temporary-files): Fix docstring.
	(tramp-handle-make-lock-file-name): New defun.

	* test/lisp/net/tramp-tests.el (tramp-test39-lock-file): Extend test.

2021-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new user option to avoid piling on Dired buffers

	* doc/emacs/dired.texi (Dired Visiting): Document it.

	* lisp/dired.el (dired-kill-when-opening-new-dired-buffer): New
	user option (bug#20598).
	(dired-up-directory, dired-find-file): Use it.
	(dired--find-possibly-alternative-file): New convenience command
	to respect the user option.

2021-07-13  Mattias Engdegård  <mattiase@acm.org>

	Block TLS handshake until TCP connection established

	If a TLS handshake is attempted before the completion of an
	asynchronous TCP connection has been ascertained, our local state will
	not be set up correctly for further progress and the sentinel "open"
	event will never be sent.  This can occur if sufficient time passes
	after the initiation of an async TCP connection so that by the time
	`wait_reading_process_output` is called, the connection has already
	been established on the TCP level.

	This somewhat timing-sensitive bug has plagued HTTPS connections on
	some platforms, notably macOS, for a long time (bug#49449).

	* src/process.c (wait_reading_process_output): Gate the TLS handshake
	by the NON_BLOCKING_CONNECT_FD flag.  The flag will be cleared as soon
	as the TCP socket is found to be writable.
	* test/src/process-tests.el (process-async-https-with-delay):
	New test.

2021-07-13  Ken Brown  <kbrown@cornell.edu>

	Fix portability issue with make-serial-process

	* src/sysdep.c (struct speed_struct): New struct.
	(speeds): New static array of struct speed_struct.
	(convert_speed): New static function to convert a numerical baud
	rate (e.g., 9600) to a Bnnn constant defined in termios.h (e.g.,
	B9600).
	(serial_configure): Use convert_speed to make the call to cfsetspeed
	compliant with its advertised API.  (Bug#49524)

2021-07-13  Eli Zaretskii  <eliz@gnu.org>

	One more minor update of the Emacs manual for 19th printing

	* doc/emacs/back.texi:
	* doc/emacs/book-spine.texi:
	* doc/emacs/emacs.texi: Last round of minor copyedits for 19th ed.

2021-07-12  Michael Albinus  <michael.albinus@gmx.de>

	Fix a problem with tramp-*-process-file

	* lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
	* lisp/net/tramp-sh.el (tramp-sh-handle-process-file):
	* lisp/net/tramp-smb.el (tramp-smb-handle-process-file):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file):
	Use `(expand-file-name default-directory)'.

2021-07-12  Paul Eggert  <eggert@cs.ucla.edu>

	Port test module to glibc 2.33

	* test/Makefile.in (REPLACE_FREE, FREE_SOURCE_0, FREE_SOURCE_1):
	New macros.
	($(test_module)): Improve accuracy of test as to whether free.c
	should be compiled; glibc 2.33 does not need it compiled and the
	compilation breaks if you try, if you build with
	--enable-gcc-warnings.

2021-07-12  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc 11.1.1 -Wclobbered

	* src/eval.c (Fprogn, internal_lisp_condition_case):
	Add CACHEABLE to work around more instances of -Wclobbered bug.

2021-07-12  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc 11.1.1 -Wanalyzer-possible-null-dereference

	* oldXMenu/Create.c (XMenuCreate):
	* oldXMenu/Internal.c (_XMRecomputePane, _XMRecomputeSelection):
	* oldXMenu/XMakeAssoc.c (XMakeAssoc):
	* test/src/emacs-module-resources/mod-test.c (Fmod_test_userptr_make):
	Don’t assume that malloc and calloc succeed.

2021-07-12  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc 11.1.1 -Wanalyzer-null-argument

	* lib-src/etags.c (regexp): Omit member force_explicit_name,
	since it’s always true.  All uses removed.  This lets us
	remove calls to strlen (name) where GCC isn’t smart enough
	to deduce that name must be nonnull.
	* lib-src/movemail.c (main): Fix bug that could cause
	link (tempname, NULL) to be called.
	* src/emacs.c (argmatch): Break check into two ‘if’s,
	since GCC doesn’t seem to be smart enough to check the single ‘if’.
	* src/gtkutil.c (xg_update_menu_item): Fix bug where strcmp
	could be given a NULL arg.
	* src/xfont.c (xfont_list_family): Use nonnull value for dummy
	initial value.

2021-07-12  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc -Woverflow more nicely

	* src/alloc.c (mark_maybe_pointer): Simplify pacification
	of gcc -Woverflow (unknown GCC version).

2021-07-12  Juri Linkov  <juri@linkov.net>

	* lisp/textmodes/enriched.el: Require 'facemenu' (bug#49466)

2021-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Further tweaks to gnus-search-query-expand-key

	* lisp/gnus/gnus-search.el (gnus-search-query-expand-key): It's
	possible that KEY could be partially completed (ie no longer string=
	to COMP), but not all the way. Use a more accurate test. Add
	docstring.

2021-07-11  Michael Albinus  <michael.albinus@gmx.de>

	Use `auto-save-file-name-p' in tramp-*-write-region

	* lisp/net/tramp.el (tramp-handle-write-region):
	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region):
	Use `auto-save-file-name-p'.

2021-07-11  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation of the --with-wide-int configuration

	* src/alloc.c (mark_maybe_pointer): Fix a recent change for
	WIDE_EMACS_INT builds.  (Bug#49261)

2021-07-11  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC 11.1.1 20210531 (Red Hat 11.1.1-3)

	* src/image.c (xpm_load_image):
	* src/xfns.c (x_icon):
	Rework to pacify gcc -Wmaybe-uninitialized.

2021-07-11  Paul Eggert  <eggert@cs.ucla.edu>

	Make pdumper-marking pickier

	Prevent some false-positives in conservative GC marking.
	This doesn’t fix any correctness bugs; it’s merely to
	reclaim some memory instead of keeping it unnecessarily.
	* src/alloc.c (mark_maybe_pointer): New arg SYMBOL_ONLY.
	All callers changed.  Check that the pointer’s tag, if any,
	matches the pdumper-reported type.

2021-07-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix pdumper-related GC bug

	* src/alloc.c (mark_maybe_pointer): Also mark pointers
	to pdumper objects, even when the pointers are tagged.
	Add a FIXME saying why this isn’t enough.

2021-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Rewrite gnus-search-query-expand-key

	* lisp/gnus/gnus-search.el (gnus-search-query-expand-key): There was a
	misunderstanding about how completion-all-completion works (if the
	test string can't be completed, the whole table is returned). Simplify
	to use try-completion.
	* test/lisp/gnus/gnus-search-tests.el (gnus-s-expand-keyword): Ensure
	that an unknown/uncompletable keyword is returned unmolested.

2021-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Rework gnus-search-indexed-parse-output

	* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Be more
	careful about matching filesystem paths to Gnus group names; make
	absolutely sure that we only return valid article numbers.

2021-07-11  Matthew White  <mehw.is.me@inventati.org>

	* src/buffer.c (kill-buffer): Fix a typo.

	* src/buffer.c (Fkill_buffer): Fix typo in comment.

2021-07-10  Filipp Gunbin  <fgunbin@fastmail.fm>

	doc/lispref/text.texi (Substitution): Add subst-char-in-string

	* doc/lispref/text.texi (Substitution): Document
	subst-char-in-string (bug#49420).

2021-07-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Make package-menu-filter-by-status work as documented

	* lisp/emacs-lisp/package.el (package-menu-filter-by-status): Work
	as documented (bug#49474).

2021-07-09  Ken Brown  <kbrown@cornell.edu>

	Skip a process test on Cygwin to avoid hang

	* test/src/process-tests.el
	(process-tests/fd-setsize-no-crash/make-network-process): Skip
	test on Cygwin to avoid hang due to connect/accept handshake.
	(Bug#49496)

2021-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/facemenu.el: Preload the C-mouse-2 menu binding

2021-07-09  Michael Albinus  <michael.albinus@gmx.de>

	Further cleanup for file locks

	* doc/misc/tramp.texi (Top, Configuration): Adapt node name for
	file locks.
	(Auto-save File Lock and Backup): Rename node name and section
	title.  Add file-lock to @cindex.  Describe file locks.

	* lisp/dired.el (dired-trivial-filenames): Add lock files.
	(dired-font-lock-keywords): Move files suffixed with
	`completion-ignored-extensions' up.  Add lock files to these checks.

	* lisp/net/tramp.el (tramp-get-lock-file, tramp-handle-unlock-file):
	Use `when-let'
	(tramp-lock-file-info-regexp): Rename from
	`tramp-lock-file-contents-regexp'.
	(tramp-handle-file-locked-p, tramp-handle-lock-file): Adapt callees.
	(tramp-handle-lock-file): Set file modes of lockname.

	* src/buffer.c (Frestore_buffer_modified_p):
	* src/fileio.c (write_region):
	* src/insdel.c (prepare_to_modify_buffer_1): Call Flock_file.

	* src/filelock.c (Qmake_lock_file_name): Declare symbol.
	(make_lock_file_name): Use it.  Don't check Fboundp, it doesn't
	work for interned symbols.
	(lock_file): Return a Lisp_Object.  Don't check create_lockfiles.
	Remove MSDOS version of the function.
	(Flock_file): Check create_lockfiles.
	(Flock_buffer): Call Flock_file.

	* src/lisp.h (lock_file): Remove.

	* test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo)
	(shadow-test09-shadow-copy-files): Let-bind `create-lockfiles'.

	* test/lisp/net/tramp-tests.el (create-lockfiles): Don't set it
	globally.
	(tramp-test39-lock-file): Check also for `set-visited-file-name'.

2021-07-09  Eli Zaretskii  <eliz@gnu.org>

	Partially restore the lost C-mouse-2 drop-down menu

	This allows to pop up the Text Properties menu once facemenu is
	loaded.  It still doesn't allow C-mouse-2 clicks without manually
	loading facemenu; FIXME.
	* lisp/facemenu.el (global-map) <C-down-mouse-2>: Add back the
	removed binding.  (Bug#49466)

2021-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/outline.el (outline-mode-cycle-map): Don't bind `tab`.

	Since it would take precedence over bindings for TAB in higher
	precedence maps.

2021-07-08  Michael Albinus  <michael.albinus@gmx.de>

	* doc/lispref/files.texi (Magic File Names): Add make-lock-file-name.

2021-07-08  Michael Albinus  <michael.albinus@gmx.de>

	Code cleanup wrt file locks

	* lisp/files.el (make-lock-file-name): Fix docstring.

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
	* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
	Add `make-lock-file-name'.

	* lisp/net/tramp.el (tramp-file-name-for-operation):
	Add `make-lock-file-name'.
	(tramp-handle-unlock-file): Call `userlock--handle-unlock-error'
	in case of error.

	* src/buffer.c (Frestore_buffer_modified_p):
	* src/editfns.c (Freplace_buffer_contents):
	* src/fileio.c (Finsert_file_contents, write_region): Call Funlock_file.

	* src/filelock.c (unlock_file): Rename from unlock_file_body.
	Remove the other declarations of unlock_file.  Move file name
	handler check to ...
	(Funlock_file): ... here.  Adapt argument numbers.  Call
	unlock_file wrapped by internal_condition_case.
	(Flock_file): Adapt argument numbers.
	(unlock_all_files, Funlock_buffer, unlock_buffer): Call Funlock_file.

	* src/lisp.h (unlock_file): Remove.

2021-07-08  Juri Linkov  <juri@linkov.net>

	Don't turn mouse-1 into mouse-2 when clicking on the tab-line (bug#49247)

	* lisp/tab-line.el (tab-line-tab-name-format-default): For 'tab-line-tab-map'
	add the property 'follow-link' with the value 'ignore'.

2021-07-08  pillule  <pillule@riseup.net>

	Use display-buffer with re-builder (bug#49069)

	* lisp/emacs-lisp/re-builder.el (re-builder): Uses 'display-buffer'
	with 'display-buffer-in-direction' to display the reb-buffer.  This
	allow user-customizations and using it on not splitables windows.
	Add a dedication to its window so killing this buffer quit the window.

2021-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make desktop-kill more robust

	* lisp/desktop.el (desktop-kill): Allow exiting Emacs even if we
	can't delete the desktop file (bug#20762).

2021-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow inhibiting inserting #! in sh-set-shell

	* lisp/progmodes/sh-script.el (sh-set-shell): Allow inhibiting
	inserting the #! line (bug#20959).

2021-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid making backup files in ediff when `make-backup-files' is nil

	* lisp/vc/ediff-util.el (ediff-arrange-autosave-in-merge-jobs):
	Don't make backup files when `make-backup-files' is nil (bug#21599).

2021-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make ido-mode override ffap-file-finder

	* lisp/ffap.el: Autoload so that we can override in ido (bug#21980).

	* lisp/ido.el (ido-everywhere): Override ffap-file-finder.

2021-07-08  Michael Albinus  <michael.albinus@gmx.de>

	Some further adaptions wrt Tramp file name locks

	* lisp/files.el (files--transform-file-name): Rename from
	`auto-save--transform-file-name'.  Wrap with `save-match-data'.
	(make-auto-save-file-name): Use it.
	(make-lock-file-name): Use it.  Call file name handler.

	* lisp/net/tramp.el (tramp-handle-write-region):
	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
	Suppress file lock for temporary file.

	* lisp/net/tramp-compat.el (tramp-compat-make-lock-file-name):
	New defalias.

	* lisp/net/tramp.el (tramp-get-lock-file)
	(tramp-handle-lock-file, tramp-handle-unlock-file): Use it.
	(tramp-make-lock-name): Remove.

	* test/lisp/filenotify-tests.el (file-notify-test03-events-remote):
	Tag it :unstable temporarily.

2021-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Exclude term-mode from hi-lock global modes

	* lisp/hi-lock.el (hi-lock-exclude-modes): Exclude term-mode so
	that `C-x' works in terminal buffers (bug#22620).

2021-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix font-lock of Makefile variables at the start of lines

	* lisp/progmodes/make-mode.el (makefile-var-use-regex): Match
	variables at the beginning of lines correctly (bug#23266).  Change
	suggested by Anders Lindgren <andlind@gmail.com>.

2021-07-08  N. Jackson  <nljlistbox2@gmail.com>

	Mention what happens with timers when the computer is asleep

	* doc/lispref/os.texi (Timers): Explain what happens if the
	computer is a asleep when the timer is scheduled (bug#23929).

2021-07-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Make make_lock_file_name more robust

	* src/filelock.c (make_lock_file_name): Protect against the
	make-lock-file-name not being defined.
	(lock_file, unlock_file_body, Ffile_locked_p): Return early if not
	defined.

2021-07-07  Eli Zaretskii  <eliz@gnu.org>

	* lisp/faces.el: Fix a typo.

2021-07-07  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* lisp/faces.el (tty-menu-enabled-face, tty-menu-disabled-face):
	Define for monochrome displays.

2021-07-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new user option lock-file-name-transforms

	* doc/emacs/files.texi (Interlocking): Mention
	lock-file-name-transforms.

	* doc/lispref/files.texi (File Locks): Document
	lock-file-name-transforms.

	* doc/misc/efaq.texi (Not writing files to the current directory):
	Mention all the three variables needed to not having Emacs writing
	files to the current directory in one place.

	* lisp/files.el (lock-file-name-transforms): New user option (bug#49261).
	(make-auto-save-file-name): Factor out the main logic...
	(auto-save--transform-file-name): ... to this new function.
	(make-lock-file-name): New function that also calls the
	factored-out function.

	* src/filelock.c: Remove MAKE_LOCK_NAME and fill_in_lock_file_name.
	(make_lock_file_name): New utility function that calls out to Lisp
	to heed `lock-file-name-transforms'.
	(lock_file): Use it.  Also remove likely buggy call to
	dostounix_filename.
	(unlock_file_body, Ffile_locked_p): Also use make_lock_file_name.

2021-07-07  Eli Zaretskii  <eliz@gnu.org>

	Fix tty menus on monochrome displays

	* lisp/faces.el (tty-menu-selected-face): Make sure the selected
	menu item stands out even without colors.

2021-07-07  Michael Albinus  <michael.albinus@gmx.de>

	Implement file locks for remote files (Bug#49261)

	* doc/lispref/files.texi (Magic File Names): Add file-locked-p,
	lock-file and unlock-file.

	* etc/NEWS: Tramp supports file locks now.

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	Add `file-locked-p', `lock-file' and `unlock-file'.
	(tramp-adb-handle-write-region): Handle LOCKNAME.

	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
	Add `file-locked-p', `lock-file' and `unlock-file'.

	* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
	Add `file-locked-p', `lock-file' and `unlock-file'.
	(tramp-crypt-handle-file-locked-p, tramp-crypt-handle-lock-file)
	(tramp-crypt-handle-unlock-file): New defun.

	* lisp/net/tramp-fuse.el (tramp-fuse-mounted-p): Simplify.
	(tramp-fuse-unmount): New defun.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	Add `file-locked-p', `lock-file' and `unlock-file'.
	(tramp-gvfs-maybe-open-connection): Set "lock-pid" connection property.

	* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
	Add `file-locked-p', `lock-file' and `unlock-file'.
	(tramp-rclone-maybe-open-connection): Set "lock-pid" connection property.

	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
	Add `file-locked-p', `lock-file' and `unlock-file'.
	(tramp-sh-handle-write-region): Handle LOCKNAME.

	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
	Add `file-locked-p', `lock-file' and `unlock-file'.
	(tramp-smb-handle-copy-directory): Use `sleep-for'.
	(tramp-smb-handle-write-region): Handle LOCKNAME.

	* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
	Add `file-locked-p', `lock-file' and `unlock-file'.
	(tramp-sshfs-handle-write-region): Handle LOCKNAME.
	(tramp-sshfs-maybe-open-connection): Set "lock-pid" connection property.

	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
	Add `file-locked-p', `lock-file' and `unlock-file'.
	(tramp-sudoedit-maybe-open-connection):
	Set "lock-pid" connection property.

	* lisp/net/tramp.el (tramp-file-name-for-operation):
	Add `file-locked-p', `lock-file' and `unlock-file'.
	(tramp-make-lock-name, tramp-get-lock-file, tramp-get-lock-pid)
	(tramp-handle-file-locked-p, tramp-handle-lock-file)
	(tramp-handle-unlock-file): New defuns.
	(tramp-lock-file-contents-regexp): New regexp.
	(tramp-handle-write-region): Handle LOCKNAME.

	* src/filelock.c (lock_file, unlock_file_body, Ffile_locked_p):
	Call handler if exists.
	(Flock_file, Funlock_file): New defuns.
	(Qlock_file, Qunlock_file, Qfile_locked_p): Declare symbols.
	(Slock_file, Sunlock_file): Declare subroutines.

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test40-make-nearby-temp-file)
	(tramp-archive-test43-file-system-info): Rename.

	* test/lisp/net/tramp-tests.el (top): Set `create-lockfiles' to nil.
	(tramp--test-fuse-p): New defun.
	(tramp-test14-delete-directory): Use it.
	(tramp-test39-lock-file): New test.
	(tramp-test40-make-nearby-temp-file)
	(tramp-test41-special-characters)
	(tramp-test41-special-characters-with-stat)
	(tramp-test41-special-characters-with-perl)
	(tramp-test41-special-characters-with-ls, tramp-test42-utf8)
	(tramp-test42-utf8-with-stat, tramp-test42-utf8-with-perl)
	(tramp-test42-utf8-with-ls, tramp-test43-file-system-info)
	(tramp-test44-asynchronous-requests, tramp-test45-auto-load)
	(tramp-test45-delay-load, tramp-test45-recursive-load)
	(tramp-test45-remote-load-path, tramp-test46-unload): Rename.
	(tramp--test-special-characters, tramp--test-utf8)
	(tramp--test-asynchronous-requests-timeout): Modify docstring.

2021-07-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	fbf1cb2bf2 (origin/emacs-27) Fix overfull hbox in Emacs manual
	fda60094a2 Minor copyedits of Emacs manual

	# Conflicts:
	#	doc/emacs/display.texi

2021-07-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make previous empty-body warning disabling more robust

	* lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
	`byte-compile-warning-enabled-p' may not be defined here.

2021-07-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Avoid invalid regexp in wide docstring check

	* lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p):
	Avoid constructing an invalid regexp during byte-compilation by
	limiting the number of columns to the current RE_DUP_MAX of 65535.
	This protects against pathological values of fill-column, for
	example (bug#49426).

2021-07-06  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el (describe-repeat-maps): Rename from `describe-repeat'.

	Fix text strings (bug#49265).

2021-07-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `M-x clipboard-yank' work reliably

	* lisp/menu-bar.el (clipboard-yank): Make the command work
	consistently (bug#27442).

	* lisp/select.el (gui-selection-value): Try to explain why the
	logic is the way it is.

2021-07-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Explain what ( . c) means to the Emacs Lisp reader

	* doc/lispref/objects.texi (Dotted Pair Notation): Explain what
	( . c) means to the Lisp reader (bug#24875).

2021-07-06  Eli Zaretskii  <eliz@gnu.org>

	Fix right-margin display on TTY frames

	* src/dispnew.c (prepare_desired_row, adjust_glyph_matrix): Adjust
	the glyph pointer of the right-margin area for all windows but the
	rightmost ones on TTY frames, to account for the border glyph.
	(Bug#48257)

2021-07-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Warn when wrapping index matches with `,' after `i' in Info

	* lisp/info.el (Info--current-index-alternative): New internal
	variable.
	(Info-warn-on-index-alternatives-wrap): New user option (bug#24282).
	(Info-index-next): Use the new user option.

2021-07-06  Protesilaos Stavrou  <info@protesilaos.com>

	Add faces for shr heading elements (bug#49433)

	* etc/NEWS: Document new faces.
	* lisp/net/shr.el (shr-h1, shr-h2, shr-h3, shr-h4, shr-h5, shr-h6):
	Define new faces.
	(shr-tag-h1): Remove inclusion of 'variable-pitch' face.  Fix
	bug#49433 by applying a new face directly.
	(shr-tag-h2, shr-tag-h3, shr-tag-h4, shr-tag-h5, shr-tag-h6): Apply
	new faces.

2021-07-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make gnus-gcc-externalize-attachments work again

	* lisp/gnus/gnus-msg.el (gnus-inews-do-gcc): Allow externalizing
	parts again by defeating the cache (bug#49436).

2021-07-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow inhibiting warnings about unused variables and empty bodies

	* lisp/emacs-lisp/cconv.el (cconv--warn-unused-msg): Allow
	inhibiting warnings about unbound variables (bug#26486).

	* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Allow
	inhibiting warnings about empty bodies.

2021-07-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow using `mm-inline-message' from other mail clients than Gnus

	* lisp/gnus/mm-view.el (mm-inline-message-prepare-function): New
	variable (bug#49380).
	(mm-inline-message): Use it to separate out the Gnus-specific code.
	* lisp/gnus/gnus-art.el (gnus-mime-display-single): ... which has
	been moved here.

2021-07-06  Eli Zaretskii  <eliz@gnu.org>

	Fix overfull hbox in Emacs manual

	* doc/emacs/display.texi (Displaying Boundaries): Fix overfull
	hbox.

2021-07-06  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits of Emacs manual

	* doc/emacs/book-spine.texi: Fix the author attribution.
	(Bug#49405)
	* doc/emacs/back.texi: Update text.

2021-07-06  Philip Kaludercic  <philipk@posteo.net>

	Add query command removed in 4ff1f66b12

	* lisp/net/rcirc.el (query): Re-add accidentally removed command.

2021-07-06  Philip Kaludercic  <philipk@posteo.net>

	Fix issues with argument parsing in rcirc-define-command

	* lisp/net/rcirc.el (rcirc-define-command): Fix issues

2021-07-06  Dmitry Gutov  <dgutov@yandex.ru>

	(xref--insert-xrefs): Fix printing of line numbers

	* lisp/progmodes/xref.el (xref--insert-xrefs):
	Fix printing of line numbers when we have multiple files with
	(e.g.) single match on the same line.

2021-07-05  Stephen Leake  <stephen_leake@stephe-leake.org>

	* lisp/progmodes/bug-reference.el: Refer to info manual node

2021-07-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Support reverting in Customize buffers

	* lisp/cus-edit.el (custom--revert-buffer): New function (bug#26871).
	(Custom-mode): Set up reversion.
	(custom--invocation-options): New variable.
	(custom-buffer-create-internal): Set it.

2021-07-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Count zero-length matches in `count-matches' correctly

	* lisp/replace.el (how-many): Count zero-length matches correctly
	(bug#27359).

2021-07-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Propagate :safe properties when autoloading defcustoms

	* lisp/emacs-lisp/autoload.el (make-autoload): Propagate the :safe
	property to the loaddefs file (bug#28104).

2021-07-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `bookmark--unfontify' more robust

	* lisp/bookmark.el (bookmark--unfontify): Don't bug out if there's
	no fontification recorded (bug#49341).

2021-07-05  Lars Ingebrigtsen  <larsi@gnus.org>

	`image-save' doc string clarification

	* lisp/image.el (image-save): Clarify what's being saved
	(bug#49347).

2021-07-05  Michael Albinus  <michael.albinus@gmx.de>

	Don't use LOCKNAME for temp files in Tramp (Bug#49406)

	* lisp/net/tramp.el (tramp-handle-write-region):
	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region):
	Don't use LOCKNAME for temp file.  (Bug#49406)

	* test/lisp/shadowfile-tests.el (password-cache-expiry):
	Set `shadow-debug' also on emba.

2021-07-05  Martin Rudalics  <rudalics@gmx.at>

	Show hand cursor when dragging frame (Bug#49247)

	* src/xdisp.c (note_mode_line_or_margin_highlight): Show hand
	cursor when dragging frame with mode, tab or header line.
	(syms_of_xdisp): Define Qdrag_with_mode_line,
	Qdrag_with_header_line and Qdrag_with_tab_line.

2021-07-05  Michael Albinus  <michael.albinus@gmx.de>

	Fix newly introduced error in tramp-tests.el (Bug#49406)

	* test/lisp/net/tramp-tests.el (tramp--test-check-files):
	Filter out empty strings.  (Bug#49406)

2021-07-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Ignore .dir-locals-2.el files more

	* lisp/emacs-lisp/shadow.el (load-path-shadows-find):
	* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Ignore
	.dir-locals-2.el, too (bug#23257).

2021-07-04  Jim Porter  <jporterbugs@gmail.com>

	Ensure 'call-process' interprets INFILE as a local path

	* src/callproc.c (get_current_directory): Rename from
	'encode_current_directory' and add boolean ENCODE flag.
	(Fcall_process): Interpret INFILE relative to the working directory
	from which PROGRAM is run, not 'default-directory'.
	(call_process): Use 'get_current_directory'.
	* src/process.c (Fmake_process): Use 'get_current_directory'.
	* src/process.h (get_current_directory): Rename decl from
	'encode_current_directory'.
	* src/sysdep.c (sys_subshell): Use 'get_current_directory' (bug#49283).

2021-07-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust eshell and ps-print to not use emacs-kill-hook

	* lisp/ps-print.el (ps-kill-emacs-check):

	* lisp/eshell/em-dirs.el (eshell-dirs-initialize)
	(eshell-save-some-last-dir): Don't use `emacs-kill-hook' (bug#28943).

	* lisp/eshell/em-hist.el (eshell-hist-initialize)
	(eshell-save-some-history):

2021-07-04  Eli Zaretskii  <eliz@gnu.org>

	* lisp/url/url-util.el (url-unhex-string): Doc fix.

2021-07-04  Eli Zaretskii  <eliz@gnu.org>

	Avoid deprecation warnings with Texinfo 6.8

	* doc/lispref/functions.texi (Function Safety):
	* doc/misc/srecode.texi (Parts of SRecode):
	* doc/misc/wisent.texi (Wisent Semantic, Wisent Lex):
	* doc/misc/pcl-cvs.texi (Editing files):
	* doc/misc/bovine.texi (top, Starting Rules)
	(Bovine Grammar Rules, How Lexical Tokens Match)
	(Optional Lambda Expression):
	* doc/emacs/msdos.texi (Windows Keyboard):
	* doc/emacs/buffers.texi (Several Buffers):
	* doc/emacs/text.texi (Text): Avoid using @inforef, which is
	deprecated.

2021-07-04  Alan Third  <alan@idiocy.org>

	Fix crash in GNUstep font coverage check

	* src/nsfont.m (ns_charset_covers): Check coverage more accurately and
	don't automatically assume the buffer is 8192 bytes long.

2021-07-04  Alan Third  <alan@idiocy.org>

	Remove unused variables

	* src/nsterm.m ([EmacsView keyDown:]): Remove ns_fake_keydown as
	there's no code that ever sets it to YES.

2021-07-04  Alan Third  <alan@idiocy.org>

	Fix thread memory management under NS

	* src/thread.c (run_thread): Allocate an autorelease pool so that any
	autoreleased Objective C objects are correctly released.

2021-07-04  Amin Bandali  <bandali@gnu.org>

	Update a few more IRC-related references to point to Libera.Chat

2021-07-04  Amin Bandali  <bandali@gnu.org>

	Merge from origin/emacs-27

	348b2aed0c Update IRC-related references to point to Libera.Chat
	b0e725e2fe Fix typo in c-macro-expand docstring

	# Conflicts:
	#	doc/misc/erc.texi
	#	doc/misc/gnus-faq.texi
	#	doc/misc/rcirc.texi
	#	etc/NEWS
	#	lisp/erc/erc-services.el
	#	lisp/erc/erc.el
	#	lisp/ldefs-boot.el
	#	lisp/net/rcirc.el

2021-07-04  Amin Bandali  <bandali@gnu.org>

	Merge from origin/emacs-27

	d898d3c73a ; * doc/emacs/back.texi: Fix a typo.
	de52dbd4ad Update doc/emacs/ for a new printing of the Emacs Manual book

2021-07-04  Amin Bandali  <bandali@gnu.org>

	Update IRC-related references to point to Libera.Chat

	Per GNU and FSF's announcements [0, 1] of moving official IRC channels
	to the Libera.Chat IRC network, as well as several Emacs-related
	channels following suit [2], update IRC-related references to reflect
	the migration.

	[0]: https://lists.gnu.org/archive/html/info-gnu/2021-06/msg00005.html
	[1]: https://lists.gnu.org/archive/html/info-gnu/2021-06/msg00007.html
	[2]: https://lists.gnu.org/archive/html/info-gnu-emacs/2021-06/msg00000.html

2021-07-04  Dmitry Gutov  <dgutov@yandex.ru>

	Speed up fido-mode

	* lisp/icomplete.el (icomplete-completions): Speed up fido-mode (bug#48841).

2021-07-03  Daniel Martín  <mardani29@yahoo.es>

	Fix typo in c-macro-expand docstring

	* lisp/progmodes/cmacexp.el (c-macro-expand): Fix typo.  (Bug#49356)

2021-07-03  Christopher League  <league@contrapunctus.net>

	Retain documentation string when customizing theme

	* lisp/cus-theme.el (customize-create-theme): When editing an existing
	theme, load its doc string into the description widget, instead of
	replacing it with a date stamp (Bug#49274).

2021-07-02  Philip Kaludercic  <philipk@posteo.net>

	* lisp/net/rcirc.el (rcirc-define-command): Mention name of malformed command

	Author:

2021-07-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't have desktop-save-mode query on `M-x kill-emacs'

	* lisp/desktop.el (noninteractive): Prompting functions should not
	be added to `kill-emacs-hook' (bug#28943).
	(desktop-kill): Return t so that it can be used from
	`kill-emacs-query-functions'.

2021-07-02  Michael Albinus  <michael.albinus@gmx.de>

	Implement another fix for bug#49229

	* lisp/minibuffer.el (read-file-name-default): Respect remote files.
	(Bug#49229)

	* lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
	Handle special file names on MS Windows.

	* lisp/net/tramp.el (tramp-file-name-handler): Revert patch.
	(Bug#49229)

2021-07-02  Peter Oliver  <git@mavit.org.uk>

	Hide emacs-mail.desktop, emacsclient-mail.desktop from menus

	These are intended for use as mailto: URL handlers, not for launching
	directly, so we can reduce clutter by hiding them from a desktop
	environment’s menus.

	* etc/emacs-mail.desktop, etc/emacsclient-mail.desktop: NoDisplay=true

2021-07-02  Peter Oliver  <git@mavit.org.uk>

	Install emacs-mail.desktop and emacsclient-mail.desktop

	* Makefile.in (install-etc): Install emacs-mail.desktop and
	emacsclient-mail.desktop

2021-07-02  Peter Oliver  <git@mavit.org.uk>

	Provide an emacsclient-mail.desktop

	We provide both an emacs.desktop and an emacsclient.desktop, so for
	consistency let’s do the same with mail.

	* etc/emacs-mail.desktop: Extract suggestions for using emacsclient
	from comments to create emacsclient-mail.desktop.
	* etc/emacsclient-mail.desktop: Send mail using an existing Emacs
	rather than starting a new one.

2021-07-02  Tino Calancha  <tino.calancha@gmail.com>

	lisp/auth-source-pass.el: Keep legitimate spaces inside data

	Users should be able to store a field as follows:
	message: remember: Destroy the image and you will break the enemy

	and later, recover the message untouched, i.e.:
	"remember: Destroy the image and you will break the enemy"

	* lisp/auth-source-pass.el (auth-source-pass--parse-data): Preserve
	inner spaces at data.
	* test/lisp/auth-source-pass-tests.el
	(auth-source-pass-parse-with-colons-in-data): Add test.

2021-07-02  Iku Iwasa  <iku.iwasa@gmail.com>

	lisp/auth-source-pass.el: Support multiple hosts in search spec

	* lisp/auth-source-pass.el (auth-source-pass-search): Accept a list of
	strings for argument HOST.
	(auth-source-pass--build-result): Rename argument HOST to HOSTS. Also
	return value "host" from entry if it exists.
	(auth-source-pass--find-match): Rename argument HOST to HOSTS. Iterate
	over each host in HOSTS.
	* test/lisp/auth-source-pass-tests.el: Add corresponding tests

2021-07-02  Jim Porter  <jporterbugs@gmail.com>

	Don't pass 'null-device' to 'call-process' in ispell

	* lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
	Replace 'null-device' with nil (bug#49283).  This allows running a
	local ispell process when editing a buffer editing a file via Tramp.

2021-07-02  Martin Rudalics  <rudalics@gmx.at>

	New frame parameter 'drag-with-tab-line' (Bug#49247)

	The new frame parameter 'drag-with-tab-line' allows to move
	frames by dragging their topmost windows' tab line with the
	mouse thus achieving a behavior similar to that provided by
	the 'drag-with-header-line' parameter.

	* lisp/mouse.el (mouse-drag-tab-line): New function.
	(mouse-drag-frame-resize, mouse-drag-frame-move)
	([tab-line down-mouse-1]): Handle tab line dragging in various
	keymaps.
	* doc/lispref/frames.texi (Mouse Dragging Parameters): Describe
	new parameter 'drag-with-tab-line'.
	* etc/NEWS: Add entry for 'drag-with-tab-line'.

2021-07-02  Michael Albinus  <michael.albinus@gmx.de>

	Fix a problem of cus-start.el for remote default directories

	* lisp/cus-start.el: Bind `default-directory' to "/" when calling
	`shell-command-to-string' for a local value on DARWIN.

2021-07-01  Alan Third  <alan@idiocy.org>

	Fix NS self contained eln location (bug#49271)

	* Makefile.in:
	* configure.ac: Change eln file install location to
	Contents/Frameworks.
	* src/comp.c (hash_native_abi): Replace dots with underscores in the
	eln install location as the macOS code-signing tool won't sign the
	files if the parent directories have dots.

2021-07-01  Alan Third  <alan@idiocy.org>

	Fix NS native comp search path (bug#49270)

	* configure.ac (NS_SELF_CONTAINED): We need to make lispdirrel the
	same as lispdir when building a self contained app bundle as they're
	both relative paths.

2021-07-01  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/transient.el: Update to package version 0.3.6.

2021-07-01  Mattias Engdegård  <mattiase@acm.org>

	Update describe-prefix-binding manual text

	* doc/emacs/help.texi (Misc Help): `ESC ?` isn't unbound any more.

2021-07-01  Michael Albinus  <michael.albinus@gmx.de>

	Handle test environment variables

	* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
	Check also for EMACS_EMBA_CI.

	* test/README (SELECTOR): Mention EMACS_TEST_VERBOSE.

	* test/infra/gitlab-ci.yml (variables): Set EMACS_TEST_VERBOSE.

2021-07-01  Peter Oliver  <git@mavit.org.uk>

	Fix copy/paste error in emacsclient.desktop

	* etc/emacsclient.desktop: new-instance should read new-window.

2021-07-01  Eli Zaretskii  <eliz@gnu.org>

	Update doc/emacs/ for a new printing of the Emacs Manual book

	* doc/emacs/book-spine.texi: New file: the printed book spine.
	* doc/emacs/back.texi: New file: the backcover text for the
	printed book.
	* doc/emacs/emacs.texi: Update ISBN.

2021-07-01  Michael Albinus  <michael.albinus@gmx.de>

	Doc cleanup

	* doc/lispref/files.texi (File Locks, Changing Files)
	(File Name Components, File Name Expansion, Magic File Names):
	* lisp/files.el (locate-dominating-stop-dir-regexp)
	(auto-mode-alist, set-auto-mode, file-name-with-extension)
	(backup-directory-alist, wildcard-to-regexp)
	(save-buffers-kill-terminal): Doc fixes.

	* etc/NEWS: Fix typos.

2021-06-30  Jonas Bernoulli  <jonas@bernoul.li>

	In files that use allout use it for all headings

	* lisp/allout.el: Don't prefix regular comments with three
	semicolons.
	* lisp/icomplete.el: Use allout syntax for all headings.
	* lisp/net/eudc.el: Use allout syntax for all headings.

2021-06-30  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/comint.el: Prefix headings with enough semicolons.

	Outline headings must begin with three or more semicolons.

2021-06-30  Jonas Bernoulli  <jonas@bernoul.li>

	Improve consistency of outline headings in dired libraries

	* lisp/dired-aux.el: Improve consistency of outline headings.
	* lisp/dired-x.el: Improve consistency of outline headings.
	* lisp/dired.el: Improve consistency of outline headings.

	- Use three semicolons at beginning of headings because that already
	  is the dominant number of semicolons for headings in these files.
	- Prefix each heading with a ^L instead of randomly omitting it in
	  front of some.
	- Always prefix the line with the ^L with a completely empty line.
	- Begin headings with a capital letter.
	- Do not update complete headings.
	- Do not end headings with a period.
	- Remove a handful of section end markers.
	- Address further inconsistencies.

2021-06-30  Jonas Bernoulli  <jonas@bernoul.li>

	Cleanup whitespace and comments in dired libraries

	* lisp/dired-aux.el: Cleanup whitespace and comments.
	* lisp/dired-x.el: Cleanup whitespace and comments.
	* lisp/dired.el: Cleanup whitespace and comments.

2021-06-30  Jonas Bernoulli  <jonas@bernoul.li>

	Add new function lm-maintainers (bug#48592)

	* doc/lispref/tips.texi (Library Headers): Improve wording.
	* lisp/emacs-lisp/lisp-mnt.el (lm-maintainers): New function.
	(lm-maintainer): Make obsolete in favor of lm-maintainer.
	(lm-verify): Use lm-maintainers.
	(lm-report-bug): Use lm-maintainers.

2021-06-30  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Right-trim name.

	The addresses might be aligned in which case we have to trim the
	extra whitespace at the end of the names.

2021-06-30  João Távora  <joaotavora@gmail.com>

	Adjust docstring of lisp-mode (bug#49278)

	* lisp/emacs-lisp/lisp-mode.el (lisp-mode): Mention that this mode is
	primarily for Common Lisp.

2021-06-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new user option to transform kill ring contents

	* doc/emacs/killing.texi (Kill Options): Document it.
	* lisp/simple.el (kill-new): Use it.
	(kill-transform-function): New user option (bug#29013).

2021-06-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the minor mode doc strings say that they're minor modes

	* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring):
	Mention that this is a minor mode (bug#20462).

2021-06-30  Peter Oliver  <git@mavit.org.uk>

	From .desktop files, reuse a frame or start a new Emacs as required

	* doc/emacs/misc.texi: (Using Emacs as a Server) Explain
	emacsclient.desktop.
	* etc/NEWS: (Emacs Server): Explain emacsclient.desktop.
	* etc/emacs-mail.desktop:
	* etc/emacsclient.desktop: Automatically try to
	reuse an existing frame, open a new frame, or start a new Emacs
	daemon.  Add actions for specific behaviors (bug#49195).

2021-06-30  Peter Oliver  <git@mavit.org.uk>

	Revert more of a partially reverted emacsclient.desktop patch

	* etc/emacsclient.desktop: Undo setting of StartupWMClass=Emacsd, since
	this relies on a change to etc/emacs.service which was also undone.  See
	bug#37847 for more explanation (bug#49259).

2021-06-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem when creating an .authinfo entry with an existing machine name

	* lisp/auth-source.el (auth-source-netrc-create): Don't return the
	incorrect data if there's a matching host entry but the wrong user
	name (bug#49289).

2021-06-30  Colin Woodbury  <colin@fosskers.ca>

	Add new function file-name-with-extension

	* doc/lispref/files.texi (File Name Components): Document it.
	* lisp/emacs-lisp/shortdoc.el (file-name): Ditto.

	* lisp/files.el (file-name-with-extension): New function.

2021-06-29  Alan Third  <alan@idiocy.org>

	Fix NS port built with gcc

	* src/nsterm.m (ns_relocate): The NSArray shorthand notation doesn't
	work in GCC.

2021-06-29  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el (describe-repeat): New command (bug#49265).

2021-06-29  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp 2.5.1

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.5.1".

	* lisp/net/tramp.el (tramp-handle-write-region):
	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Call
	local `write-region' directly.

	* test/lisp/net/tramp-tests.el (tramp--test-utf8): Adapt test for
	MS Windows.

2021-06-29  Alex McGrath  <amk@amk.ie>

	Fix SASL joining channels after auth

	Send CAP END after authentication has been successful

2021-06-29  Martin Rudalics  <rudalics@gmx.at>

	In read_minibuf_unwind don't try to select dead window (Bug#49248)

	* src/minibuf.c (read_minibuf_unwind): Don't try to select dead
	window (Bug#49248).

2021-06-28  Alex McGrath  <alexmcgraak@arista.com>

	Fix SASL on rcirc-update

2021-06-28  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	ef5f3d5ee7 (origin/emacs-27) C++ Mode: Handle new keywords static_cas...

2021-06-28  Reuben Thomas  <rrt@sc3d.org>

	* lisp/textmodes/ispell.el: Fix finding dictionaries for Enchant.

	(ispell-find-enchant-dictionaries):

	I originally copied this code from the equivalent code for
	Aspell. Unfortunately it was wrong for the case of Enchant: it should
	find only dictionaries that Enchant knows about, and not merge in
	`ispell-dictionary-base-alist' or add a default element, as these
	are dealt with in `ispell-set-spellchecker-params'.

	This caused a bug where the correct `-d' argument would not be added
	to the invocation of enchant, leading to the process not being
	correctly started.

2021-06-28  Reuben Thomas  <rrt@sc3d.org>

	* lisp/textmodes/ispell.el: Check process is live before interacting.

	Check that `ispell-process' is live before trying to read from or
	write to it. This avoids a hang if the process has died.

2021-06-28  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#49229 in shell.el

	* lisp/shell.el (shell): Ensure, that a remote shell is remote.
	(Bug#49229)

2021-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/files.el (hack-one-local-variable): Allow `add-function` in `eval:`

	(Bug#49163)

2021-06-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/flyspell.el: Fix bug#49104

	(flyspell--prev-meta-tab-binding): Delete var.
	(flyspell-prog-mode): Don't set it.
	(flyspell-auto-correct-word): Lookup the "next" command dynamically.

2021-06-27  Alan Mackenzie  <acm@muc.de>

	C++ Mode: Handle new keywords static_cast, etc., wrt angle brackets

	* lisp/progmodes/cc-langs.el (c-<>-arglist-kwds): Add const_cast,
	dynamic_cast, reinterpret_cast and static_cast into this lang const.

	* lisp/progmodes/cc-engine.el (c-clear-<-pair-props, c-clear->-pair-props)
	(c-clear-<-pair-props-if-match-after, c-clear->-pair-props-if-match-before)
	(c-forward-<>-arglist-recur):
	Invalidate caches with c-truncate-lit-pos-cache.
	(c-forward-<>-arglist-recur): If in a matching <...> expression, the < has a
	syntax-table property, but the > not, remove that property.

2021-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (completion-in-region--single-word): Simplify

	Remove redundant args `collection` and `predicate` which were always
	equal to `minibuffer-completion-table` and
	`minibuffer-completion-predicate` anyway.

	(minibuffer-complete-word):
	* lisp/emacs-lisp/crm.el (crm-complete-word): Simplify accordingly.

2021-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (minibuffer--completion-prompt-end): Rename

2021-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el: Fix test regression

	(cl--alist-to-plist): New function.
	(cl-struct-slot-info): Use it.

2021-06-26  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp bug#49229

	* lisp/net/tramp.el (tramp-file-name-handler): Drop possible
	volume letter when `expand-file-name' is called with a local
	absolute file name as first argument.  (Bug#49229)

2021-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (completion--prompt-end): New function (bug#30668)

	(minibuffer-complete, minibuffer-force-complete-and-exit)
	(minibuffer-force-complete, minibuffer-complete-and-exit)
	(minibuffer-complete-word, minibuffer-completion-help): Use it.

2021-06-26  Alan Third  <alan@idiocy.org>

	Fix NS self-contained build configuration

	* configure.ac: When rebuilding epaths.h for NS check that we're
	actually doing an NS build first.

2021-06-26  Alan Third  <alan@idiocy.org>

	Fix NS native compilation builds

	* Makefile.in (ns_applibexecdir):
	(ns_applibdir):
	(ns_appdir): New variables.
	(.PHONY): Include new rule.
	(epaths-force-ns-self-contained): Remove the app bundle directory from
	all paths.
	* configure.ac (NS_SELF_CONTAINED): Set the default site-lisp
	directory instead of hard-coding it in the ObjC code, and use the new
	epaths generating make rule.
	* src/callproc.c (init_callproc_1):
	(init_callproc): Remove all the NS specific code as the special cases
	are now handled by decode_env_path.
	* src/emacs.c (load_pdump):
	(decode_env_path): Use ns_relocate to find the correct directory after
	relocation.
	* src/lread.c (load_path_default): Remove all the NS specific code as
	the special cases are now handled by decode_env_path.
	* src/nsterm.h: Update function definitions.
	* src/nsterm.m (ns_etc_directory):
	(ns_exec_path):
	(ns_load_path): Remove functions that are no longer needed.
	(ns_relocate): New function to calculate paths within the NS app
	bundle.
	* nextstep/Makefile.in (ns_applibexecdir): New variable, and update
	anything relying on the libexec location.

2021-06-26  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Small improvements to handling of IMAP mark search

	* lisp/gnus/gnus-search.el (gnus-search-imap-handle-flag): Use a
	KEYWORD search for any mark starting with a "$", so
	"mark:$hasattachment" goes through as "KEYWORD $hasattachment".

2021-06-25  Mattias Engdegård  <mattiase@acm.org>

	Print newlines as \n instead of \12 in ERT results

	This makes test errors unquestionably more readable.  The change also
	makes FF print as \f; other controls still use octal escapes.

	* lisp/emacs-lisp/ert.el (ert--pp-with-indentation-and-newline):
	Run `pp` with `pp-escape-newlines` set to `t`.

2021-06-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Make (find-face-definition 'default) work more reliably

	* lisp/emacs-lisp/find-func.el (find-function--defface): New
	function (bug#30230).
	(find-function-regexp-alist): Use it to skip past definitions
	inside comments and strings.

2021-06-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the name of the sorted minor mode map after previous change

	* lisp/bindings.el (mode-line-major-mode-keymap): Change the name
	of the minor mode menu items.

2021-06-25  Eli Zaretskii  <eliz@gnu.org>

	Fix race conditions between Lisp threads in GTK builds

	* src/xgselect.c (release_select_lock, acquire_select_lock)
	[GCC >= 4.7.0]: Use '__atomic' builtins to prevent races between
	threads in accessing 'threads_holding_glib_lock'.  Reported by
	<dick.r.chiang@gmail.com>.  (Bug#36609)

2021-06-25  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp bug#49178

	* lisp/net/tramp.el (tramp-handle-find-backup-file-name)
	(tramp-handle-make-auto-save-file-name): Adapt checks.  (Bug#49178)

2021-06-25  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar--define-keys): Fix global-mode-string (bug#49215)

2021-06-25  Stephen Berman  <stephen.berman@gmx.net>

	Prevent Org mode from mistakenly changing Calendar keymap

	* lisp/org/org-compat.el (org--setup-calendar-bindings): Fix logic
	in test of 'org-agenda-diary-file' (bug#48199).

2021-06-25  Eli Zaretskii  <eliz@gnu.org>

	Fix syntax-category of some punctuation characters

	* lisp/textmodes/text-mode.el (text-mode-syntax-table): Don't
	modify the global syntax-table just because we load text-mode.el.
	This happens at loadup time, and then affects the default syntax
	in all modes, not just in text-mode and its derivatives.
	(Bug#49214)

2021-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/bindings.el (bindings--sort-menu-keymap): Add "menu" in its name

	(bindings--menu-item-string): Use `pcase`.

2021-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-preloaded.el: Fix the format of props in slot-descs

	(cl--plist-remove): Remove.
	(cl--plist-to-alist): New function.
	(cl-struct-define): Use it to convert slots's properties to the
	format expected by `cl-slot-descriptor`.

	* lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Revert last
	changes, not needed any more.

2021-06-24  Alex McGrath  <amk@amk.ie>

	Add SASL authentication to rcirc

	* lisp/net/rcirc.el (rcirc-handler-AUTHENTICATE): New function
	(bug#48601).
	(rcirc-authenticate):
	(rcirc-connect): Support sasl.
	(rcirc-get-server-password, rcirc-get-server-method): New functions.
	(rcirc-authinfo): Document it.

2021-06-24  Mattias Engdegård  <mattiase@acm.org>

	Don't call ERT explainer on error

	* lisp/emacs-lisp/ert.el (ert--expand-should-1): If the predicate form
	signals an error, don't call an explainer because the arguments passed
	(the error and error argument, respectively) do not make any sense to
	the explainer at all.

2021-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Attempt to make defclass documentation more legible

	* lisp/emacs-lisp/cl-extra.el (cl--print-table): Attempt to make
	defclass documentation more readable (bug#30998).
	(cl--describe-class-slots): Ditto.

2021-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix printing of defclass documentation slots again

	* lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Fix
	printing defclass slots, and retain printing of defstruct slots
	(bug#30998 and bug#46662).

2021-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow `C-u M-x dig' to ask for a query type

	* lisp/net/dig.el (dig): Allow prompting for a query type
	(bug#31810).

2021-06-24  Alex McGrath  <amk@amk.ie>

	Add SASL authentication to rcirc

	* lisp/net/rcirc.el (rcirc-handler-AUTHENTICATE): New function
	(bug#48601).
	(rcirc-authenticate):
	(rcirc-connect): Support sasl.
	(rcirc-get-server-password, rcirc-get-server-method): New functions.
	(rcirc-authinfo): Document it.

2021-06-24  E. Choroba  <choroba@matfyz.cz>

	Fix highlighting in cperl-mode for "for /regex/"

	* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Fix
	highlighting of regexp in "print for /./;" (bug#49192).

2021-06-24  Jim Porter  <jporterbugs@gmail.com>

	Ignore file-missing errors during diff-refined font-locking

	* lisp/vc/diff-mode.el (diff--font-lock-refined): Ignore file-missing
	errors (bug#49197).

2021-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the help in the package buffers

	* lisp/emacs-lisp/package.el (package--quick-help-keys): Clarify
	marking help (bug#40457).

2021-06-24  Jim Porter  <jporterbugs@gmail.com>

	Sort the items in 'mode-line-mode-menu' before displaying the menu

	* lisp/bindings.el (bindings--menu-item-string, bindings--sort-keymap):
	New functions.
	(mode-line-major-mode-keymap, mode-line-minor-mode-keymap):
	Sort 'mode-line-mode-menu'.

2021-06-23  Saroj Thirumalai  <emacs_bugs.saroj@thirumalai.com>  (tiny change)

	* lisp/printing.el (pr-global-menubar): Fix duplicate menu problem.

	In Emacs 27.1 Print menu items were moved to a submenu of the File menu.
	The Printing package (lisp/printing.el) replaces the Print menu (via the
	function: pr-global-menubar).  The latter needs to be updated to reflect the
	changes; otherwise, a second Print (sub)menu is created at the end of the
	File menu.

2021-06-23  Mauro Aranda  <maurooaranda@gmail.com>

	Fix defvar->defcustom conversion in ethio-util.el

	* lisp/language/ethio-util.el (ethio-primary-language)
	(ethio-secondary-language): Don't quote the const.
	(ethio-use-three-dot-question, ethio-quote-vowel-always)
	(ethio-W-sixth-always, ethio-numeric-reduction)
	(ethio-java-save-lowercase): Really make them defcustom.

2021-06-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make ethio-* variables into user options

	* lisp/language/ethio-util.el (ethiopic): New group.
	(ethio-primary-language, ethio-secondary-language)
	(ethio-use-colon-for-colon, ethio-use-three-dot-question)
	(ethio-quote-vowel-always, ethio-W-sixth-always)
	(ethio-numeric-reduction, ethio-java-save-lowercase): Make into
	user options (bug#33024).

2021-06-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Sort the items in 'mode-line-mode-menu' before displaying the menu"

	This reverts commit d4d6d8f335165e2bda8942b4acd45e5bab613b70.

	This approach doesn't work on certain types of keymaps, so it should be implemented in a different way.

2021-06-23  Jim Porter  <jporterbugs@gmail.com>

	Sort the items in 'mode-line-mode-menu' before displaying the menu

	* lisp/bindings.el (bindings--menu-item-string, bindings--sort-keymap):
	New functions.
	(mode-line-major-mode-keymap, mode-line-minor-mode-keymap):
	Sort 'mode-line-mode-menu'.

2021-06-23  dickmao  <none>

	Clean up code in `message-replace-header'

	* lisp/gnus/message.el (message-replace-header): Elide redundancy
	(bug#49180).

2021-06-23  dickmao  <none>

	Fix message-replace-header after recent change

	* lisp/gnus/message.el (message-replace-header): Restore else
	branch removed by mistake in 989de3b824 (bug#49179).

2021-06-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Give feedback to the user in dired-do-find-regexp

	* lisp/dired-aux.el (dired-do-find-regexp): Give some feedback to
	the user (bug#35352).

2021-06-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Make minor mode docstrings say what the mode "variable" is

	* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Add
	the mode variable (bug#36500).
	(easy-mmode--mode-docstring):
	(define-minor-mode): Pass in the getter.

2021-06-22  Protesilaos Stavrou  <info@protesilaos.com>

	Use named face for apropos-button

	* etc/NEWS: Document new face.
	* lisp/apropos.el (apropos-button): Define new face.
	(apropos-face): Specify face instead of hardcoding
	attributes (bug#49162).

2021-06-22  Peter Oliver  <git@mavit.org.uk>

	If the daemon’s TTY is our only frame, create a new frame

	* lisp/server.el (server-process-filter): If there won't be a
	current frame to use, fall back to trying to create a new one
	(bug#11033).

2021-06-22  Peter Oliver  <git@mavit.org.uk>

	Advertise support for Startup Notification when built with GTK

	* etc/emacsclient.desktop, etc/emacsclient.desktop: Specify
	StartupNotify=true.
	* configure.ac (USE_STARTUP_NOTIFICATION): New variable, yes iff
	HAVE_GTK.
	* Makefile.in (install-etc): Remove StartupNotify=true from
	etc/*.desktop unless USE_STARTUP_NOTIFICATION (bug#48783).

2021-06-22  Utkarsh Singh  <utkarsh190601@gmail.com>

	Make tex-compile-commands heed tex-start-options

	* lisp/textmodes/tex-mode.el (tex-compile-commands): Respect
	`tex-start-options' (bug#49018).

2021-06-22  Eli Zaretskii  <eliz@gnu.org>

	Fix "make -j install"

	* Makefile.in (install-eln): Depend on 'lisp', so that people
	could say "make -j install" without a separate "make" step.
	(Bug#49099)

2021-06-22  Stephen Gildea  <stepheng+emacs@gildea.com>

	time-stamp: add principled, expressive %z

	* lisp/time-stamp.el (time-stamp-formatz-from-parsed-options): New
	function for time zone offset formatting ("%z" variants).

	* test/lisp/time-stamp-tests.el (formatz*): New unit tests to cover
	the new implementation of %5z.

2021-06-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix shortdoc-add-function section creation

	* lisp/emacs-lisp/shortdoc.el (shortdoc-add-function): Use nconc to
	actually append a new section to the list of groups while avoiding a
	previous OBOE.  Push a new group to the front of shortdoc--groups
	without copying it, just like define-short-documentation-group does.
	(buffer): Fix copypasta in unlock-buffer example.

	* test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-examples): Also
	check that :no-value forms demonstrate the right function.

	* doc/lispref/help.texi (Documentation Groups): Clarify that @dots
	in the define-short-documentation-group arglist refer to whole
	key-value pairs.  Fix typo in :eg-result-string description.

2021-06-21  Lars Ingebrigtsen  <larsi@gnus.org>

	NEWS for tool bar "X" in *Help* buffers change (bug#49139)

2021-06-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix prompting for large files when loading literally

	* lisp/files.el (find-file-noselect): Don't include "literally" in
	the "large file" prompt if we're going to load literally anyway
	(bug#49144).

2021-06-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Make find-file-literally ignore local variables again

	* lisp/files.el (find-file-noselect-1): Re-inhibit local variables
	when loading a file literally (bug#49143).  This was broken by
	5bedbe6b1d.

2021-06-21  Alex Bochannek  <alex@bochannek.com>

	Refactor gnus-article-sort-by-*

	* lisp/gnus/gnus-sum.el (gnus-article-sort-extract-extra): New
	function (bug#49081).
	(gnus-article-sort-by-recipient): Use it.
	(gnus-article-sort-by-newsgroups): Ditto.

2021-06-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Further fixes for bound-and-true-p doc string

	* lisp/bindings.el (bound-and-true-p): Improve doc string.

2021-06-21  Andrea Corallo  <akrl@sdf.org>

	Do not attempt to write .elc files when not necessary (bug#49118)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Do not attempt to
	write .elc files when not necessary.

2021-06-21  Philip Kaludercic  <philipk@posteo.net>

	Query encryption using yes-or-no-p

	* lisp/net/rcirc.el (rcirc-prompt-for-encryption): Replace completing-read
	  prompt with yes-or-no-p

2021-06-20  Alan Third  <alan@idiocy.org>

	Fix GNUstep menu update crashes

	* src/nsmenu.m (ns_update_menubar): close the submenus before modifying them.
	([EmacsMenu close]): Make sure to close all submenus.

2021-06-20  Alan Third  <alan@idiocy.org>

	Fix GNUstep build warnings

	* src/nsterm.h ([EmacsWindow orderedIndex]):
	* src/nsterm.m ([EmacsWindow orderedIndex]): Implement orderedIndex
	for use under GNUstep.
	* src/nsmenu.m (free_frame_menubar):
	(ns_update_menubar):
	([EmacsMenu addSubmenuWithTitle:]):
	([EmacsMenu addItemWithWidgetValue:attributes:]): Cast return values
	to correct types.
	([EmacsMenu fillWithWidgetValue:]): Move variable definition inside
	relevant #ifdef block.
	([EmacsMenu menuWillOpen:]):
	([EmacsMenu menuDidClose:]):
	([EmacsMenu confinementRectForMenu:onScreen:]):
	([EmacsMenu menu:willHighlightItem:]): New functions to silence build
	warnings.
	* src/nsfont.m (nsfont_open): Remove pointless fabs call.

2021-06-20  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tests in tramp-archive-tests.el

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test05-expand-file-name)
	(tramp-archive-test06-directory-file-name): Adapt tests.

2021-06-20  Grant Shangreaux  <grant@churls.world>

	Add input methods for Lakota

	The White Hat and Suggested Lakota Orthography are represented here
	by three different input modes: A prefix and postfix mode for the SLO,
	and a postfix mode for the White Hat orthography.
	* lisp/leim/quail/latin-post.el (lakota-slo-postfix)
	(lakota-white-hat-postfix):
	* lisp/leim/quail/latin-pre.el (lakota-slo-prefix): New input methods.
	* etc/HELLO: Call out the additions.

2021-06-20  Juri Linkov  <juri@linkov.net>

	Add new convenience command for *Help*

	* doc/emacs/help.texi (Help Mode): Document it (bug#36767).

	* lisp/help-mode.el (help-mode-map): Add 'c'.
	(help-mode-menu): Add help-customize.
	(help-customize): New command.

2021-06-19  Michael Albinus  <michael.albinus@gmx.de>

	Fix error in tramp-archive.el

	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
	Archive must exist.  (Bug#49030, Bug#49043)

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test06-directory-file-name): Tag it :unstable temporarily.

2021-06-19  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	7722b510aa (origin/emacs-27) Another improvement in documentation of ...
	8d5c70d73a Improve documentation of profiler
	0ffef0b46b Document 'ispell-program-name'
	7be610f911 Fix documentation of 'face-extend-p'

	# Conflicts:
	#	doc/lispref/debugging.texi

2021-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Use file-truename on files loaded with "emacs -l"

	* lisp/startup.el (command-line-1): When loading a file, use the
	truename so that eval-after-load works more reliably (bug#49009).
	Change suggested by ctarbide@tuta.io.

2021-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve bound-and-true-p doc string

	* lisp/bindings.el (bound-and-true-p): Improve doc string (bug#49116).

2021-06-19  dickmao  <none>

	De-obfuscate gnutls_handshake loop

	* src/gnutls.c (gnutls_try_handshake): Rewrite the handshake loop
	for greater clarity (bug#49055).

2021-06-19  Alex Bochannek  <alex@bochannek.com>

	New Gnus Summary buffer sort options for extra headers

	* lisp/gnus/gnus-sum.el (gnus-article-sort-functions)
	(gnus-thread-sort-functions, gnus-subthread-sort-functions)
	(gnus-summary-mode-map, gnus-summary-make-menu-bar)
	(gnus-article-sort-by-newsgroups)
	(gnus-summary-sort-by-newsgroups, gnus-summary-sort-by-extra):
	Sort by Newsgroups extra header. Prompt for header name for other
	extra headers.

	* doc/misc/gnus.texi (Summary Sorting): Document new sort functions

	* etc/NEWS: New Gnus Summary buffer sort feature (bug#49081).

2021-06-19  Eli Zaretskii  <eliz@gnu.org>

	Another improvement in documentation of "memory" profiler

	* lisp/profiler.el (profiler-start): Fix the doc string to better
	explain what is "memory" profiler.

2021-06-19  Łukasz Stelmach  <stlman@poczta.fm>

	Allow `message-replace-header' to take a list of AFTERs

	* lisp/gnus/message.el (message-replace-header): Facilitate
	capability of message-position-on-field to accept multiple headers
	as AFTERS argument and make possible to mimic behavioir of
	message-goto-* functions with message-replace-header in case the
	header does not exist (bug#49070).

2021-06-19  Alex Bochannek  <alex@bochannek.com>

	Add support for displaying total number of groups in subgroups in Gnus

	* lisp/gnus/gnus-topic.el (gnus-topic-line-format)
	(gnus-topic-line-format-alist, gnus-topic-prepare-topic)
	(gnus-topic-insert-topic-line, )
	(gnus-topic-display-missing-topic, )
	(gnus-topic-update-topic-line):
	Provide number of groups in subtopics for topic line display and
	add 'G' element to be used for 'gnus-topic-line-format' variable

	* doc/misc/gnus.texi (Topic Variables):
	Document 'G' element for 'gnus-topic-line-format' variable (bug#49068).

2021-06-19  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of profiler

	* doc/lispref/debugging.texi (Profiling): Stop misleading users
	about what "memory" profiling really is.

2021-06-19  Jim Porter  <jporterbugs@gmail.com>

	Improve to selsel doc strings

	* lisp/delsel.el (delete-active-region): Document interactive behavior.
	* lisp/delsel.el (delete-selection-repeat-replace-region):
	Use "\\[universal-argument]" instead of literal "C-u" in docstring.

2021-06-19  Michael Albinus  <michael.albinus@gmx.de>

	Revert "Add `file-name-set-extension'"

	This reverts commit 4f1a5e456e35930e8d0713b990bd7b14923cfe97.

2021-06-19  Michael Albinus  <michael.albinus@gmx.de>

	Add `file-name-set-extension'

	* lisp/files.el (file-name-with-extension): New defun.

	* test/lisp/files-tests.el (files-tests-file-name-with-extension-good)
	(files-tests-file-name-with-extension-bad): New tests.

2021-06-19  Philip Kaludercic  <philipk@posteo.net>

	Use add-to-list instead of manually modifying minor-mode-alist

2021-06-19  Michael Albinus  <michael.albinus@gmx.de>

	Handle case remote uid is 0 in some Tramp related tests

	* test/lisp/filenotify-tests.el:
	* test/lisp/shadowfile-tests.el:
	Set `tramp-allow-unsafe-temporary-files' to t.

2021-06-18  Mattias Engdegård  <mattiase@acm.org>

	Fix Morse for non-ASCII letters

	* lisp/play/morse.el (morse-code): Downcase letters in the table
	because they must match downcased input.

2021-06-18  Eli Zaretskii  <eliz@gnu.org>

	Improve and update the 'etags' test suite

	* lib-src/etags.c (mercury_pr): Remove redundant comment.

	* test/manual/etags/merc-src/accumulator.m: Add more complex
	declarations.
	* test/manual/etags/ETAGS.good_1:
	* test/manual/etags/ETAGS.good_2:
	* test/manual/etags/ETAGS.good_3:
	* test/manual/etags/ETAGS.good_4:
	* test/manual/etags/ETAGS.good_5:
	* test/manual/etags/ETAGS.good_6:
	* test/manual/etags/CTAGS.good: Adapt to latest changes in 'etags'
	and the test suite.  (Bug#47408)

2021-06-18  Fabrice Nicol  <fabrnicol@gmail.com>

	Fix Mercury support, notably qualified procedures.

	    Correct the previous fix (did not correctly handle qualified types).
	    Also fix the following issues:
	    - remove module name (+ dot) from tags, as prefixing module name is
	      often inconsistent in code and may cause tags to be too specific.
	    - now tag 0-arity predicates and functions (':- func foo_14.')
	    - now tag one-word declarations (':- interface.')

	    * lib-src/etags.c (mercury_pr): Pass the correct NAME and NAMELEN
	    arguments to 'make_tag'.
	    (mercury_decl): Return more information about the declaration or
	    definition it finds.  This allows mercury_pr to be smarter.
	    (Bug#47408)

2021-06-18  Philipp Stephani  <phst@google.com>

	Update SCSS test file syntax.

	According to
	https://sass-lang.com/documentation/breaking-changes/slash-div, the
	slash operator should be replaced by 'math.div'.

	Fixed using the migration tool mentioned at
	https://sass-lang.com/documentation/breaking-changes/slash-div#automatic-migration.

	* test/manual/indent/scss-mode.scss: Remove slash operator.

2021-06-18  Arash Esbati  <arash@gnu.org>

	Use \footref when referencing a footnote label

	* lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin): Use
	\footref as `reference-format' for \footnote macro.

2021-06-18  Arash Esbati  <arash@gnu.org>

	Support new LaTeX kernel macro \footref

	* lisp/textmodes/reftex-vars.el (reftex-ref-style-alist): Add
	entry for \footref macro which is part of LaTeX kernel 2021-06-01.

2021-06-17  Juri Linkov  <juri@linkov.net>

	* lisp/help-fns.el (help--symbol-class): Concat chars for all namespaces.

	Since Emacs Lisp is more than Lisp-2, separately output letters
	for each namespace: functions, variables, faces, classes.
	Use non-letter characters for additional properties
	such as advice, obsolete, local.
	(help--symbol-completion-table-affixation): Use format "%-4s".
	https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00524.html

2021-06-17  Juri Linkov  <juri@linkov.net>

	Fix display-buffer-override-next-command for no-select case (bug#49057)

	* lisp/window.el (display-buffer-override-next-command):
	Separate 'postfun' from 'clearfun', so 'clearfun' resets
	'display-buffer-overriding-action', whereas 'postfun' calls
	'post-function' that can select the right window in 'post-command-hook'.

	* lisp/windmove.el (windmove-display-no-select): Add new choice 'ignore'.
	Improve docstring.
	(windmove-display-in-direction): Use new value 'ignore' of
	'windmove-display-no-select'.  Improve docstring.
	(windmove-display-left, windmove-display-up)
	(windmove-display-right, windmove-display-down): Mention
	'windmove-display-no-select' in docstrings.

2021-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-generic.el: Fix bug#49053 and bug#47454

	(cl-generic-define-method): Shorten the time window where the symbol is
	defined to `dummy`.

2021-06-16  Mattias Engdegård  <mattiase@acm.org>

	Eliminate some GCC warnings

	* src/doprnt.c (exprintf, evxprintf):
	* src/lisp.h (exprintf, evxprintf): Don't use a pointer-to-const type
	for the `nonheapbuf` argument: although it is never dereferenced, GCC
	will warn when passing a pointer to uninitialized memory otherwise.
	* src/fns.c (sort_vector_copy, realize_face, realize_gui_face)
	(realize_tty_face): Use the same signatures in the prototypes as in
	the actual function definitions.

2021-06-16  Glenn Morris  <rgm@gnu.org>

	* lisp/simple.el (save-interprogram-paste-before-kill): Fix type.

2021-06-16  Mattias Engdegård  <mattiase@acm.org>

	* src/xdisp.c (gui_draw_bottom_divider): Fix misleading indentation.

2021-06-16  Mattias Engdegård  <mattiase@acm.org>

	Remove outdated advise from manual

	* doc/lispref/modes.texi (Search-based Fontification):
	Remove paragraph that has been unnecessary and confusing ever since
	regexp-opt stopped using capturing brackets more than 21 years ago.

2021-06-16  Pip Cet  <pipcet@gmail.com>

	Prepare pdumper dump file in memory, write it in one go (Bug#46881)

	* src/pdumper.c (struct dump_context): Add buf, buf_size, max_offset fields.
	(dump_grow_buffer): New function.
	(dump_write): Use memcpy, not an actual emacs_write.
	(dump_seek): Keep track of maximum seen offset. Don't actually seek.
	(Fdump_emacs_portable): Write out the file contents when done.

2021-06-16  Philip Kaludercic  <philipk@posteo.net>

	Force mode line update after modifying activity string

	* lisp/net/rcirc.el (rcirc-update-activity-string): Call force-mode-line-update

2021-06-16  pillule  <pillule@riseup.net>

	User option to choose a function triggered by windmove-create (bug#48917)

	* lisp/windmove.el (windmove-create-window): Add a defcustom choice.
	(windmove-do-window-select): Trigger custom functions, update the docstring.

2021-06-16  pillule  <pillule@riseup.net>

	User option to select 'no-other-window' with windmove (bug#48916)

	* lisp/windmove.el (windmove-wrap-around): Remove superfluous :group tag.
	(windmove-create-window): Remove superfluous :group tag.
	(windmove-window-distance-delta): Remove superfluous :group tag.
	(windmove-allow-all-windows): Add new user option to allow the commands
	of windmove to target windows with the 'no-other-window parameter.
	(windmove-find-other-window): Use windmove-allow-all-windows.
	(windmove-display-no-select): Remove superfluous :group tag.
	(windmove-display-in-direction): Use windmove-allow-all-windows.
	(windmove-delete-in-direction): Use windmove-allow-all-windows.
	(windmove-swap-states-in-direction): Use windmove-allow-all-windows.
	(windmove-default-keybindings): Remove superfluous :group tag.
	(windmove-display-default-keybindings): Remove superfluous :group tag.
	(windmove-delete-default-keybindings): Remove superfluous :group tag.
	(windmove-swap-states-default-keybindings): Remove superfluous :group tag.

2021-06-15  Philip Kaludercic  <philipk@posteo.net>

	Fix edge case with single argument for rcirc-define-command

	* lisp/net/rcirc.el (rcirc-define-command): Update regular expression generator

2021-06-15  Philip Kaludercic  <philipk@posteo.net>

	Fix argument parser for rcirc-define-command with string input

	* lisp/net/rcirc.el (rcirc-define-command): Require at least one space between
	arguments

2021-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make help-view-source more robust

	* lisp/help-mode.el (help-view-source): Check the right thing to
	see if we can jump to the source file.

2021-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new convenience commands for *Help*

	* doc/emacs/help.texi (Help Mode): Document it (bug#36767).

	* lisp/help-fns.el (help-fns-function-description-header)
	(describe-variable, describe-face, describe-keymap)
	(describe-mode): Add the required data.

	* lisp/help-mode.el (help-mode-map): Add 'i' and 's'.
	(help-mode--current-data): New variable.
	(help-mode): Make it local.
	(help-view-source, help-goto-info): New commands.

2021-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify (interactive "K") in the manual

	* doc/lispref/commands.texi (Interactive Codes): Clarify
	(interactive "K") (bug#37146).

2021-06-15  Philip Kaludercic  <philipk@posteo.net>

	Check if server buffer is live

	* lisp/net/rcirc.el (with-rcirc-server-buffer): Use live-buffer-p
	(rcirc-buffer-nick): Use with-rcirc-server-buffer
	(rcirc-switch-to-server-buffer): Use with-rcirc-server-buffer

2021-06-15  Eli Zaretskii  <eliz@gnu.org>

	Document 'ispell-program-name'

	* doc/emacs/fixit.texi (Spelling): Document
	'ispell-program-name'.  (Bug#49039)

2021-06-15  Julian Scheid  <jscheid@protonmail.com>

	Allow ERT tests to output the failure reasons, too

	* lisp/emacs-lisp/ert.el (ert-reason-for-test-result): New function.
	(ert-run-tests-batch): Output failure or skip reason  (bug#47071).

2021-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new function syntax-class-to-char

	* doc/lispref/syntax.texi (Syntax Table Internals): Document it.
	* src/syntax.c (Fsyntax_class_to_char): New function (bug#37452).

2021-06-15  Jared Finder  <jared@finder.org>

	Fix dragging dividers in terminal Emacs when there's margins

	* lisp/mouse.el (mouse-drag-line): Do the right thing in the
	presence of margins (bug#41156).
	(mouse-drag-line): Bind left-margin/right-margin in the map, too.

2021-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Document `completions-format'

	* doc/emacs/mini.texi (Completion Options): Document
	`completions-format'.

	* lisp/simple.el (completion-list-mode): Mention in (bug#49003).

2021-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix false positives in docstring width warning with (fn...) constructs.

	* lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p):
	Don't consider the function signature when determining whether the
	doc string is too wide (bug#49007).  (The signature is folded
	later when displaying help.)

2021-06-15  Philip Kaludercic  <philipk@posteo.net>

	Improve message markup

	* lisp/net/rcirc.el (rcirc-markup-text-functions): Add rcirc-color-attributes,
	rcirc-remove-markup-codes
	(rcirc-markup-attributes): Recognize strike-through and monospace,
	don't remove control codes
	(rcirc-color-attributes): Recognize mIRC color codes
	(rcirc-remove-markup-codes): Add function
	(rcirc-monospace-text): Add face

2021-06-15  Stephen Gildea  <stepheng+emacs@gildea.com>

	mh-junk need not support SpamAssassin 2.20 from 2003

	* lisp/mh-e/mh-junk.el (mh-spamassassin-*list): Remove support
	for SpamAssassin 2.20.  (SpamAssassin 3.0 was released in 2004.)
	This change updates both the flags for sa-learn and the comments
	about how the current version works.

	This change reverts part of a change made in 2003 that added
	support for what was even then an "old version of spamassassin."

2021-06-14  Philip Kaludercic  <philipk@posteo.net>

	Fix construction of interactive specification in rcirc-define-command

	* lisp/net/rcirc.el (rcirc-define-command): Ensure that only one argument is passed.

2021-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove unused variable from sgml-mode test

	* test/lisp/textmodes/sgml-mode-tests.el (sgml-test-brackets):
	Remove unused variable.

2021-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Get fractional seconds in iso8601 parsing right

	* lisp/calendar/iso8601.el (iso8601-parse-time): Get fractional
	times (with leading zeroes in the fraction part) right (bug#49017).
	Fix based on a patch by "J.P." <jp@neverwas.me>.

2021-06-14  Andrea Corallo  <akrl@sdf.org>

	Do not produce .elc temporary file when unnecessary (bug#48978)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Produce .elc
	temporary files only when non native compiling or when native
	compiling but `byte+native-compile' is non nil.

2021-06-14  Stephen Berman  <stephen.berman@gmx.net>

	Fix problem in HTML with bracketed characters

	* lisp/textmodes/sgml-mode.el (sgml-tag-syntax-table): Use bracket
	syntax for all Unicode bracket characters (bug#43941).

2021-06-14  Andrea Corallo  <akrl@sdf.org>

	;* lisp/emacs-lisp/bytecomp.el (byte-native-compiling): Typo fix.

	* lisp/emacs-lisp/bytecomp.el (byte+native-compile): Update docstring.

2021-06-14  Philip Kaludercic  <philipk@posteo.net>

	Rename set-rcirc-{encode,decode}-coding-system

	* lisp/net/rcirc.el (set-rcirc-decode-coding-system): Deprecate command
	(rcirc-set-decode-coding-system): New command
	(set-rcirc-encode-coding-system): Deprecate command
	(rcirc-set-encode-coding-system): New command

2021-06-14  Philip Kaludercic  <philipk@posteo.net>

	Preserve order of completion during cycling

	* lisp/net/rcirc.el (rcirc-completion-at-point): Specify cycle-sort-function

2021-06-14  Michael Albinus  <michael.albinus@gmx.de>

	Handle sensitive auto-save or backup remote files (Bug#45245)

	* doc/misc/tramp.texi (Auto-save and Backup):
	Describe tramp-allow-unsafe-temporary-files.
	(Ad-hoc multi-hops): Use proper format.

	* etc/NEWS: Mention confirmation for writing sensitive auto-save
	or backup remote files to the local temporary directory..

	* lisp/net/tramp-cache.el (tramp-dump-connection-properties):
	Strengthen test.

	* lisp/net/tramp.el (tramp-allow-unsafe-temporary-files): New defcustom.
	(tramp-handle-find-backup-file-name)
	(tramp-handle-make-auto-save-file-name): Don't expose sensible
	auto-save or backup files on local temporary directory.  (Bug#45245)

	* test/lisp/net/tramp-tests.el (tramp--test-always): New defalias.
	(tramp-test10-write-region, tramp-test21-file-links)
	(tramp--test--deftest-direct-async-process): Use it.
	(tramp-test37-make-auto-save-file-name)
	(tramp-test38-find-backup-file-name): Extend tests.

2021-06-14  pillule  <pillule@riseup.net>

	Improve handling of dedicated flag for side windows (Bug#48493)

	* doc/lispref/windows.texi (Buffers and Windows): Mention the
	special handling of side windows and add a reference.
	(Buffer Display Action Alists): Say explicitly that
	`display-buffer-in-side-window' is dedicating to side by default.
	(Dedicated Windows): Add case (4) and explain its meaning, add
	a reference.
	(Displaying Buffers in Side Windows): Move the paragraph about
	`switch-to-(prev|next)-buffer' into a new item to emphasize the
	special meaning of dedication for side windows.
	* lisp/window.el (set-window-buffer-start-and-point): Restore
	side dedication.
	(switch-to-prev-buffer, switch-to-next-buffer): Correct return
	value that should be nil instead of the same buffer in case of
	no change.
	(delete-windows-on): Restore side dedication.
	(replace-buffer-in-windows): Update the docstring, restore side
	dedication.
	(quit-restore-window): Rearrange the logic so that strongly
	dedicated windows are eventually deleted first.  Restore the
	side dedication.  In the final case try to
	`switch-to-prev-buffer' before deleting a window (Bug#48367).

2021-06-14  Philip Kaludercic  <philipk@posteo.net>

	Add mouse properties to activity string

	* lisp/net/rcirc.el (rcirc-activity-string): Allow clicking on string

2021-06-13  Philip Kaludercic  <philipk@posteo.net>

	Update activity string after switching to next active buffer

	* lisp/net/rcirc.el (rcirc-next-active-buffer): Call rcirc-update-activity-string

2021-06-13  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of 'face-extend-p'

	* doc/lispref/display.texi (Attribute Functions): Fix description
	of 'face-extend-p'.  (Bug#48936)

2021-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous pulse.el fix

	* lisp/cedet/pulse.el (pulse-reset-face): Fix up previous
	pulse-reset-face change -- reset back to the start face
	(bug#48936).

2021-06-13  dickmao  <dick.r.chiang@gmail.com>

	Avoid an infinite loop in mml-expand-html-into-multipart-related

	* lisp/gnus/mml.el (mml-expand-html-into-multipart-related):
	Skip images with empty filename parts (bug#49001).

2021-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Reset the pulse face more fully in pulse-reset-face

	* lisp/cedet/pulse.el (pulse-reset-face): Reset the :extend to nil
	if there's no face given (bug#48936).

2021-06-13  Eli Zaretskii  <eliz@gnu.org>

	Fix wording of recently added documentation

	* etc/NEWS:
	* lisp/simple.el (save-interprogram-paste-before-kill): Fix
	wording of a recently added documentation.  (Bug#41168)

2021-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fsubstitute_in_file_name doc string clarification

	* src/fileio.c (Fsubstitute_in_file_name): Mention that undefined
	variables aren't replaced (as opposed to what happens in a shell
	substitution) (bug#40949).

2021-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow save-interprogram-paste-before-kill to be a number

	* doc/emacs/killing.texi (Clipboard): Document it.
	* lisp/simple.el (save-interprogram-paste-before-kill): Extend
	range (bug#41168).
	(kill-new): Implement it (bug#41168).

2021-06-13  Juri Linkov  <juri@linkov.net>

	* doc/emacs/windows.texi (Change Window): Add pxref to (elisp)Deleting Windows

	(Bug#47300)

2021-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior

	Change docs to advertise `slot-value` rather than `oref`.
	Change the implementation of `:initform` to better match the CLOS semantics,
	while preserving the EIEIO semantics, but warn when encountering cases
	where the two diverge.
	Demote the mostly unused special semantics of `oref-default`
	on non-class allocated slots.

	* doc/misc/eieio.texi (Quick Start): Use `slot-value`.
	(Accessing Slots): Move `slot-value` before `oref`.
	Fix paren-typo in example (reported by pillule <pillule@riseup.net>).
	(Introspection): Remove mention of `class-slot-initarg`.

	* lisp/transient.el (transient--parse-group, transient--parse-suffix):
	Don't use `oref-default` to get the default value.
	(transient-lisp-variable): Init forms are evaluated.

	* lisp/emacs-lisp/eieio.el (defclass): Warn about inapplicable
	`:initarg` and about uses of init forms that are ambiguous.
	(oref): Don't advertise the deprecated use of initargs as slot names.
	(oref-default): Don't advertise the deprecated case where it returns the
	initform's value.
	(initialize-instance): Use `macroexp-const-p`.
	* lisp/emacs-lisp/eieio-core.el (eieio--unbound): Rename from
	`eieio-unbound`.
	(eieio--unbound-form): New var.
	(eieio--slot-override): Use it.
	(eieio-defclass-internal): Use it.  Change `init` so it should always
	be evaluated.
	(eieio--known-class-slot-names): New var.
	(eieio--eval-default-p): Rename from `eieio-eval-default-p`.
	(eieio--perform-slot-validation-for-default): Use `macroexp-const-p` to
	decide whether to skip the test.
	(eieio--add-new-slot): Register slot in `eieio--known-class-slot-names`
	when applicable.
	(eieio-oref-default, eieio-oset-default): Add warning for unknown slots
	and slots not known to be allocated to the class.
	(eieio-default-eval-maybe): Delete function.  Use just `eval` instead.
	(eieio-declare-slots): Allow slots to specify their allocation class.

	* lisp/cedet/srecode/insert.el (point): Declare the slot instead of
	moving the class definition before the slot's first use.
	(srecode-template-inserter-point, srecode-insert-fcn):
	Use nil instead of unbound for the `point` slot.

	* lisp/cedet/srecode/compile.el (srecode-template-inserter):
	Declare the `key` slot that all children should have.

	* lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar)
	(eieio-speedbar-directory-button, eieio-speedbar-file-button):
	* lisp/emacs-lisp/eieio-custom.el (eieio-widget-test-class):
	* lisp/emacs-lisp/chart.el (chart-bar):
	* lisp/cedet/semantic/ede-grammar.el (semantic-ede-proj-target-grammar):
	* lisp/cedet/semantic/db.el (semanticdb-project-database):
	* lisp/cedet/semantic/db-javascript.el (semanticdb-table-javascript)
	(semanticdb-project-database-javascript):
	* lisp/cedet/semantic/db-el.el (semanticdb-table-emacs-lisp)
	(semanticdb-project-database-emacs-lisp):
	* lisp/cedet/semantic/db-ebrowse.el (semanticdb-table-ebrowse)
	(semanticdb-project-database-ebrowse):
	* lisp/cedet/ede/proj.el (ede-proj-project):
	* lisp/cedet/ede/proj-obj.el (ede-proj-target-makefile-objectcode):
	* lisp/cedet/ede/generic.el (ede-generic-project):
	* lisp/cedet/ede/config.el (ede-project-with-config):
	* lisp/cedet/ede/base.el (ede-target, ede-project):
	* lisp/auth-source.el (auth-source-backend): Init forms are evaluated,
	so quote them accordingly.

2021-06-12  Robert Pluim  <rpluim@gmail.com>

	Make `window-system-for-display' work for ipv6, too

	* lisp/term/x-win.el (display-format-alist): Also work for ipv6
	(bug#42045).

2021-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify some browse-url doc strings

	* lisp/net/browse-url.el (browse-url-of-file)
	(browse-url-of-buffer, browse-url-of-region, browse-url)
	(browse-url-at-point, browse-url-at-mouse): Clarify doc strings
	(bug#42432).

2021-06-12  Tassilo Horn  <tsdh@gnu.org>

	Use file-in-directory-p instead of obsolete dired-in-this-tree-p

	* lisp/dired-aux.el (dired-rename-subdir,dired-rename-subdir-1)
	(dired-insert-subdir,dired-insert-subdir-validate)
	(dired-kill-tree,dired-tree-down): Use file-in-directory-p instead of
	obsolete dired-in-this-tree-p.

2021-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix double (recursive) load of fortran.el

	* lisp/progmodes/fortran.el (fortran-menu): Move menu creation to
	the end to avoid a recursive load (bug#43116).

2021-06-12  Alex Bochannek  <alex@bochannek.com>

	Mention nov-is-evil/nnvirtual combination in the Gnus manual

	* doc/misc/gnus.texi (To From Newsgroups): Mention using separate
	select methods for different values (bug#48801).

2021-06-12  Matt Beshara  <m@mfa.pw>

	Add ability to bring only the selected frame to the front (bug#48865)

	Causes ‘ns-hide-emacs’ to layer the selected frame in front of every other
	application’s windows, and give that frame keyboard focus, when called with
	'activate-front.

	* src/nsfns.m (Fns_hide_emacs): Allow activating only selected frame.

2021-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/benchmark.el (benchmark-elapse): Tweak

2021-06-11  Martin Rudalics  <rudalics@gmx.at>

	Rename/rewrite recently added option and function in window.el

	* lisp/window.el (window-at-x-y): Rename from `window-at-pos'.
	Fix doc-string.
	(delete-window-choose-selected): Rename from
	`delete-window-set-selected'.  Fix doc-string.
	(delete-window): Adjust to above renaming.
	* doc/emacs/windows.texi (Change Window): Mention new option
	`delete-window-choose-selected'.
	* etc/NEWS:
	* doc/lispref/windows.texi (Deleting Windows): Follow up on
	above renamings.

2021-06-11  Dmitry Gutov  <dgutov@yandex.ru>

	Simplify vc-git-log-switches's usage; change default value to nil

	* lisp/vc/vc-git.el (vc-git-log-switches):
	Do not mention or allow the value 't' anymore
	(https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00452.html).
	(vc-git-print-log): Use 'vc-git-log-switches' directly.

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Preserve incoming order of messages with same timestamp

	* lisp/net/rcirc.el (rcirc-print): Emulate time-less-or-equal-p

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Allow hiding certain message types after reconnecting

	* lisp/net/rcirc.el (rcirc-omit-after-reconnect): Add new user option
	(rcirc-reconncting): Add new variable
	(rcirc-print): Check if message should be omitted
	(reconnect): Mark buffers as freshly reconnected

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Use defvar-local instead of setq-local where applicable

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Allow for optional arguments using rcirc-define-command

	* lisp/net/rcirc.el (rcirc-define-command): Handle &optional arguments

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Fix prompt doubling when reconnecting

	* lisp/net/rcirc.el (rcirc-connect): Check if rcirc-mode is already active
	(rcirc-get-buffer-create): Check if rcirc-mode is already active

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Allow filtering how nicks are presented

	* lisp/net/rcirc.el (rcirc-nick-filter): Add new option
	(rcirc-completion-at-point): Use rcirc-nick-filter
	(rcirc-format-response-string): Use rcirc-nick-filter
	(rcirc-sort-nicknames-join): Use rcirc-nick-filter

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Implement invite-notify capability

	* lisp/net/rcirc.el (rcirc-implemented-capabilities): Add invite-notify
	(rcirc-handler-INVITE): Handle invite notifications

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Add TAGMSG handler

	* lisp/net/rcirc.el (rcirc-handler-TAGMSG): Add new message handler

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Implement message-ids extension

	* lisp/net/rcirc.el (rcirc-implemented-capabilities): Add to list of
	implemented extensions
	(rcirc-print): Insert property denoting message ID

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Implement batch extension

	* lisp/net/rcirc.el (rcirc-implemented-capabilities): Add batch extension
	(rcirc-supported-batch-types): Add new variable
	(rcirc-batch-attributes): Add new variable
	(rcirc-batched-messages): Add new variable
	(rcirc-process-server-response-1): Handle messages with batch tag
	(rcirc-handler-BATCH): Add batch dispatcher

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Implement server-time extension

	* lisp/net/rcirc.el (rcirc-implemented-capabilities): Add new capability
	(rcirc-print): Insert messages in the right position
	(rcirc-log): Use right time value
	(rcirc-markup-timestamp): Use right time value

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Create framework for IRCv3 support

	* lisp/net/rcirc.el (rcirc-implemented-capabilities): Add new variable
	(rcirc-requested-capabilities): Add new variable
	(rcirc-acked-capabilities): Add new variable
	(rcirc-connect): Request capabilities from rcirc-implemented-capabilities
	(rcirc-process-regexp): Extend rcirc-process-regexp with tag support
	(rcirc-tag-regexp): Add new tokenizer for tags
	(rcirc-message-tags): Add new variable
	(rcirc-get-tag): Add new function
	(rcirc-process-server-response-1): Parse message-tags
	(rcirc-handler-CAP): Add new handler for capability requests

2021-06-10  Philip Kaludercic  <philipk@posteo.net>

	Replace defun-rcirc-command with rcirc-define-command

	* lisp/net/rcirc.el (defun-rcirc-command): Remove old macro
	(rcirc-define-command): Create new macro

2021-06-10  Eli Zaretskii  <eliz@gnu.org>

	Support mercury in 'ctags' as well

	The previous lack of support was due to incorrect calls to 'make_tag'
	in 'mercury_pr', which caused 'pfnote' to refrain from adding Mercury
	tags to the list of recorded tags.

	* lib-src/etags.c (mercury_pr): Pass the correct NAME and NAMELEN
	arguments to 'make_tag'.

	* test/manual/etags/CTAGS.good: Adjust to the above change.

2021-06-10  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'M-y'

	* doc/emacs/killing.texi (Yanking): Mention that TTY frames can
	also support yanking from the clipboard.
	(Earlier Kills): Finalize the documentation of the new behavior
	of the lone 'M-y'.  (Bug#48478)

2021-06-10  Martin Rudalics  <rudalics@gmx.at>

	Provide new option `delete-window-set-selected' (Bug#47300)

	When `delete-window' deletes its frame's selected window, this new
	option allows to choose another window as replacement.

	* lisp/window.el (get-lru-window, get-mru-window)
	(get-largest-window): New optional argument NO-OTHER.
	(window-at-pos): New function.
	(delete-window-set-selected): New option.
	(delete-window): Handle `delete-window-set-selected'.
	* src/window.c (Fdelete_window_internal): Set the selected
	window of WINDOW's frame to the first window on that frame and
	let `delete-window' choose a more suitable window instead.
	* doc/lispref/windows.texi (Deleting Windows): Describe new
	option `delete-window-set-selected'.
	(Cyclic Window Ordering): Describe new NO-OTHER argument for
	`get-lru-window', `get-mru-window' and `get-largest-window'.
	* etc/NEWS: Mention `delete-window-set-selected' and the NO-OTHER
	argument.

2021-06-09  Alan Third  <alan@idiocy.org>

	Remove pause on fullscreening in NS (bug#48406)

	* src/nsterm.m (ns_make_frame_visible):
	(ns_set_parent_frame):
	([EmacsView windowWillEnterFullScreen:]):
	([EmacsView windowDidEnterFullScreen:]):
	([EmacsView windowWillExitFullScreen:]):
	([EmacsView initFrameFromEmacs:]): Remove references to
	in_fullscreen_transition.
	([EmacsView toggleFullScreen:]): Remove calls to removed methods.
	([EmacsView inFullScreenTransition]):
	([EmacsView waitFullScreenTransition]): Remove Methods.
	* src/nsterm.h (EmacsView): Remove definitions of removed methods, and
	the in_fullscreen_transition variable.

2021-06-09  Glenn Morris  <rgm@gnu.org>

	* lib/Makefile.in (Makefile): Fix typo.

2021-06-09  Philip Kaludercic  <philipk@posteo.net>

	Remove custom rcirc-completion implementation

	* lisp/net/rcirc.el (rcirc-completion-at-point): Improve completion suggestions
	(rcirc-completions): Remove variable
	(rcirc-completion-start): Remove variable
	(rcirc-complete): Remove function
	(rcirc-mode-map): Bind TAB to completion-at-point
	(rcirc-mode): Use cycling for completion

2021-06-09  Philip Kaludercic  <philipk@posteo.net>

	Recognize quoted commands in rcirc-process-input-line

	* lisp/net/rcirc.el (rcirc-process-input-line): Check for quoted commands
	(rcirc-process-command): Don't check for quoted commands

2021-06-09  Philip Kaludercic  <philipk@posteo.net>

	Integrate formatting into rcirc-send-string

	* lisp/net/rcirc.el (rcirc-connect): Use new syntax
	(rcirc-send-string): Allow for more arguments
	(rcirc-send-privmsg): Use new syntax
	(rcirc-send-ctcp): Use new syntax
	(rcirc-send-message): Use new syntax
	(rcirc-clean-up-buffer): Use new syntax
	(join): Use new syntax
	(invite): Use new syntax
	(part): Use new syntax
	(quit): Use new syntax
	(nick): Use new syntax
	(names): Use new syntax
	(topic): Use new syntax
	(whois): Use new syntax
	(mode): Use new syntax
	(list): Use new syntax
	(oper): Use new syntax
	(kick): Use new syntax
	(rcirc-handler-PING): Use new syntax
	(rcirc-handler-ctcp-VERSION): Use new syntax
	(rcirc-handler-ctcp-ACTION): Use new syntax
	(rcirc-handler-ctcp-TIME): Use new syntax

2021-06-09  Philip Kaludercic  <philipk@posteo.net>

	Fix checkdoc complaints and related issues

2021-06-09  Philip Kaludercic  <philipk@posteo.net>

	Use auth-source for user-passwords

	* (rcirc): Use auth-source is no password was specified

2021-06-09  Philip Kaludercic  <philipk@posteo.net>

	Default to libera instead of freenode

	* lisp/net/rcirc.el (rcirc-server-alist): Update default value

2021-06-09  Alan Third  <alan@idiocy.org>

	Fix image filename encoding issues (bug#48902)

	* src/image.c (image_find_image_fd): Don't return an encoded filename
	string.
	* src/nsfns.m: ([NSString stringWithLispString:]): Clarify usage
	comment.
	* src/nsimage.m ([EmacsImage allocInitFromFile:]): No need to encode
	the filename when converting to NSString.

2021-06-09  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: New user option 'shell-has-auto-cd'.

2021-06-09  Jason Kim  <jason.kim@revtera.com>  (tiny change)

	Handle auto-cd in shell-mode

	* lisp/shell.el (shell-has-auto-cd): New defcustom.
	(shell-directory-tracker): Handle implicit "cd".

2021-06-09  Utkarsh Singh  <utkarsh190601@gmail.com>  (tiny change)

	New user option for Git log switches

	* lisp/vc/vc-git.el (vc-git-diff-switches): New defcustom.
	(vc-git-print-log): Use it.

	* etc/NEWS: Announce the new option.

2021-06-08  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (yank-from-kill-ring): Add edited string to the kill-ring.

	(Bug#48478)

2021-06-08  Juri Linkov  <juri@linkov.net>

	Sync overlay code in minibuffer-message and set-minibuffer-message (bug#48669)

	* lisp/minibuffer.el (minibuffer-message): Copy more overlay positioning code
	from set-minibuffer-message.
	(minibuffer--message-overlay-pos): Mention both minibuffer-message and
	set-minibuffer-message in the docstring.
	(set-minibuffer-message): Use 'cursor t' instead of 1.

2021-06-08  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	37f4457994 (origin/emacs-27) ; Fix typo in dynamic module functions d...
	f7d4bbceee ; * src/composite.h: Improve comments for LGSTRING and LGL...

2021-06-08  Alex Bochannek  <alex@bochannek.com>

	Change the Gnus default to use `#' to toggle the process mark

	* doc/misc/gnus.texi (Marking Groups, Topic Commands):
	(Setting Process Marks, Pick and Read): Document the new default.
	* lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu.

	* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu.

	* lisp/gnus/gnus-topic.el (gnus-topic-make-menu-bar): Update menu.

	* lisp/gnus/gnus.el (gnus-process-mark-toggle): Change default.

2021-06-08  Stephen Gildea  <stepheng+emacs@gildea.com>

	MH-E: do not look for MH variants in relative directories

	* lisp/mh-e/mh-e.el (mh-variants): Do not examine relative directories
	in exec-path (e.g., "."); these won't have MH installed.  Also,
	file-chase-links is not robust with relative names: you cannot pass it
	a relative name that is a symlink.

2021-06-08  Stefan Kangas  <stefan@marxist.se>

	Fix an example in ERC docs

	* doc/misc/erc.texi (Connecting):
	* lisp/erc/erc.el (erc, erc-tls): Fix example to use J. Random Hacker
	instead of Harry S. Truman.

2021-06-08  Stefan Kangas  <stefan@marxist.se>

	* doc/man/emacs.1.in: Minor fixes.

2021-06-08  Alan Third  <alan@idiocy.org>

	Revert "src/nsterm.m: fix window tabbing on macOS"

	This reverts commit 2207f9adccc0411b7ad73a3703f16250d7f8e139.

2021-06-07  Michael Albinus  <michael.albinus@gmx.de>

	Improve support of remote files in browse-url.el

	* etc/NEWS: Mention support of remote file browsing.

	* lisp/net/browse-url.el (browse-url-of-buffer): Revert last change.
	(browse-url-of-file): Use temporary file in case of remote file.
	(Bug#48397)

2021-06-07  Dmitry Gutov  <dgutov@yandex.ru>

	Fix rgrep abbreviation

	* lisp/progmodes/grep.el (grep-mode-font-lock-keywords):
	Update for the last change in grep-find-template (bug#48471).

2021-06-07  Eli Zaretskii  <eliz@gnu.org>

	* src/xdisp.c (Fwindow_text_pixel_size): Plug memory leak.  (Bug#48884)

2021-06-07  Michael Albinus  <michael.albinus@gmx.de>

	Support remote file names in `browse-url-of-buffer'

	* lisp/net/browse-url.el (browse-url-of-buffer): Use temporary
	file in case of remote `file-name'.  (Bug#48397)

2021-06-07  Dmitry Gutov  <dgutov@yandex.ru>

	Support old BSD find and "root dir symlink" better

	* lisp/progmodes/grep.el (grep-compute-defaults):
	Add '-H' to grep-find-template (bug#48471).

	* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
	Pass the root directory name without the trailing slash.

	* lisp/progmodes/xref.el (xref-matches-in-directory): Ditto.

	* test/lisp/progmodes/xref-tests.el (xref--xref-file-name-display-is-abs)
	(xref--xref-file-name-display-is-relative-to-project-root):
	Make tests more strict again.

2021-06-06  Dmitry Gutov  <dgutov@yandex.ru>

	completion-pcm--hilit-commonality: Reuse the match-data cons cells

	* lisp/minibuffer.el (completion-pcm--hilit-commonality): Reuse
	the match-data cons cells for better performance (bug#48841).

2021-06-06  Eli Zaretskii  <eliz@gnu.org>

	Fix a problem with restarting 'tags-search'

	* lisp/progmodes/etags.el (tags-search, tags-query-replace): Link
	to 'fileloop-continue' instead of 'tags-loop-continue', for
	continuing TAGS-based search/replace commands.

	* lisp/fileloop.el (fileloop-continue): Reset
	'switch-to-buffer-preserve-window-point' to nil when switching to
	another buffer, so as to make sure a new search always restarts
	from point-min in each buffer it searches.  (Bug#48628)

2021-06-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify boolean widget prompt

	* lisp/wid-edit.el (widget-boolean-prompt-value): Clarify prompt
	(bug#43593).

2021-06-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify file reversion prompt

	* lisp/files.el (revert-buffer--default): Clarify prompt when the
	buffer is modified (bug#43884).

2021-06-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `so-long' restore `view-mode'

	* lisp/so-long.el (so-long): Make the `v' command in Dired work
	more reliably (bug#45084).

2021-06-06  Sebastian Urban  <mrsebastianurban@gmail.com>  (tiny change)

	Minor copyedits in the Emacs user manual

	* doc/emacs/fixit.texi (Spelling): Move TeX hyphenation directives
	from here...
	* doc/emacs/docstyle.texi: ...to here.
	* doc/emacs/display.texi (Displaying Boundaries, Text Display):
	Minor stylistic changes.  (Bug#48654)

2021-06-06  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes for last change

	* test/manual/etags/ETAGS.good_1:
	* test/manual/etags/ETAGS.good_2:
	* test/manual/etags/ETAGS.good_3:
	* test/manual/etags/ETAGS.good_4:
	* test/manual/etags/ETAGS.good_5:
	* test/manual/etags/ETAGS.good_6: Adapt to added Mercury support.

	* lib-src/etags.c (find_entries, test_objc_is_mercury):
	* etc/NEWS: Fix punctuation and typos in last change.

2021-06-06  Fabrice Nicol  <fabrnicol@gmail.com>

	Add support for Mercury (https://mercurylang.org) in 'etags'

	Tag declarations starting lines with ':-'.
	By default, all declarations are tagged.  Optionally, first
	predicate or functions in clauses can be tagged as in Prolog
	support using '--declarations'.  (Bug#47408).
	* lib-src/etags.c (test_objc_is_mercury, Mercury_functions)
	(mercury_skip_comment,  mercury_decl, mercury_pr):
	Implement Mercury support.  As Mercury and Objective-C have
	the same file extension .m, a heuristic test tries to detect
	the language.

	* doc/man/etags.1: Document the change.  Add Mercury-specific
	 behavior for '--declarations'.  This option tags first
	predicates or functions in clauses in addition to declarations.

2021-06-06  Paul W. Rankin  <pwr@bydasein.com>

	src/nsterm.m: fix window tabbing on macOS

	* src/nsterm.m: remove NSWindowTabbingModeDisallowed to respect
	  system-wide preferences
	* etc/NEWS: add mention of native tab support in macOS and where
	  to specify system-wide setting

2021-06-06  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-error): Make it a defun.

2021-06-05  João Távora  <joaotavora@gmail.com>

	Consider environment vars in Fido's directory-aware RET binding

	(Bug#48782)

	* lisp/icomplete.el (icomplete-fido-ret): Consider environment
	variables in dir expansion.

2021-06-05  Alex Bochannek  <alex@bochannek.com>

	Fix Gnus summary exclusion when everything matches

	* lisp/gnus/gnus-sum.el (gnus-summary-limit-to-recipient):
	* lisp/gnus/gnus-sum.el (gnus-summary-limit-to-subject):
	(gnus-summary-limit-to-address, gnus-summary-limit-to-extra):
	Don't claim that there aren't any matches when everything matches
	an exclusion (bug#48834).

2021-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/keyboard.c (read_decoded_event_from_main_queue): Fix paren typo

	* lisp/mpc.el (mpc-intersection): Fix commit 1760029b0927242

2021-06-05  Eli Zaretskii  <eliz@gnu.org>

	Document the last change

	* doc/lispref/os.texi (Input Modes): Document the changes in the
	values of the META flag.

	* etc/NEWS: Call out the change in input-meta-mode.

2021-06-05  Max Mikhanosha  <max.mikhanosha@protonmail.com>

	Support terminal emulators that encode the Meta modifier as 8th bit

	See discussion starting at

	 https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00034.html

	for the details.
	* src/keyboard.c (read_decoded_event_from_main_queue): For
	raw-text encoed input, if Meta bit is encoded, apply the Meta
	modifier to single-byte characters that have the 0x80 bit set.
	For input encoded otherwise, if the Meta bit is encoded, remove
	the 0x80 bit after decoding the characters.
	(tty_read_avail_input): Reset the 0x80 bit only if Meta bit is not
	encoded.
	(Fset_input_meta_mode): Support 'encoded' as the value of META.
	(Fset_input_mode): Document 'encoded' for META.
	(Fcurrent_input_mode): Support and document 'encoded' as the value
	of META.
	(syms_of_keyboard): DEFSYM 'encoded'.

2021-06-05  Eli Zaretskii  <eliz@gnu.org>

	Fix slow operation of 'string-width'

	* src/composite.c (find_automatic_composition): Accept one
	additional argument BACKLIM; don't look back in buffer or string
	farther than that.  Add an assertion for BACKLIM.
	(composition_adjust_point, Ffind_composition_internal): Callers
	adjusted.
	* src/composite.h (find_automatic_composition): Adjust prototype.
	* src/character.c (lisp_string_width): Call
	'find_automatic_composition' with the value of BACKLIM equal to POS,
	to avoid costly and unnecessary search back in the string, since
	those previous characters were already checked for automatic
	compositions.  (Bug#48734)  (Bug#48839)

2021-06-05  Eli Zaretskii  <eliz@gnu.org>

	Some additions to the TeX input method

	* lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Add some
	rules from Unicode Technical Note 28 "UnicodeMath" v3.1.

2021-06-05  Dmitry Gutov  <dgutov@yandex.ru>

	Make icomplete less blinky and more responsive

	* lisp/icomplete.el (icomplete-pre-command-hook, icomplete-tidy):
	Remove, update the callers
	(https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00111.html).
	(icomplete-compute-delay): Change the default to 150ms.
	(icomplete-max-delay-chars): Change the default to 2.

2021-06-04  Tassilo Horn  <tsdh@gnu.org>

	Ask if dir and subdir dired buffers be killed when deleting dir

	Previously, when you've had dired buffers

	  ~/foo/
	  ~/foo/bar/
	  ~/foo/bar/baz/

	and then deleted ~/foo/, dired (with dired-clean-up-buffers-too set to
	non-nil) would only ask to delete the dired buffer of ~/foo/.  Now it
	will offer to delete all three buffers.

	* lisp/dired.el (dired-buffers-for-dir): Add optional argument SUBDIRS
	which makes the function return also dired buffers showing a subdir of
	DIR.
	(dired-in-this-tree-p): Make obsolete in favor of file-in-directory-p
	which actually does what the name suggest whereas dired-in-this-tree-p
	is just string-matching on filenames which will fail with symlinks
	filenames including ./ or ../.

2021-06-04  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of a recent change.

	* etc/NEWS:
	* doc/emacs/misc.texi (Invoking emacsclient): Fix a recent change.
	(Bug#11358)

2021-06-04  Stephen Berman  <stephen.berman@gmx.net>

	Fix placement of point in Dired deletion operations

	* lisp/dired.el (dired-do-flagged-delete, dired-do-delete): Use
	point-marker instead of point to record each file name position.
	Clean up the markers before returning.
	(dired-internal-do-deletions): Move to the file name marker, and
	then move point to the file name to visually emphasize which file
	is being operated on (bug#48805).

2021-06-04  Harald Hanche-Olsen  <harald.hanche-olsen@ntnu.no>  (tiny change)

	Add a new `server-edit-abort' command

	* doc/emacs/misc.texi (Invoking emacsclient): Document it (bug#11358).

	* lisp/server.el (server-edit): Mention it in the doc string.
	(server-edit-abort): New command.

2021-06-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make the `i' command in Info-mode remove duplicate matches"

	This reverts commit 089e0c4c55dcf72f9cf2f6f04b8a52fc7355499c.

	There were no duplicate entries -- there were two entries
	for different things that referred to the same line.

2021-06-04  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of recent 'windmove' changes

	* lisp/windmove.el (windmove-default-keybindings)
	(windmove-display-default-keybindings)
	(windmove-delete-default-keybindings)
	(windmove-swap-states-default-keybindings): Improve doc strings.
	(Bug#41438)

	* etc/NEWS: Fix a typo in the 'windmove' entry.

2021-06-03  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (read-from-kill-ring): Fix the case of 'M-y M-p' (bug#48478)

	Don't use offsets for read-from-kill-ring-history when kill-ring-yank-pointer
	points to the last element of kill-ring.

2021-06-03  Juri Linkov  <juri@linkov.net>

	* lisp/help-fns.el (help--symbol-class): New function.

	Refactored from help--symbol-completion-table-affixation.
	https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00066.html

2021-06-03  Juri Linkov  <juri@linkov.net>

	* etc/NEWS: Add windmove keybindings (bug#41438)

2021-06-03  Philip Kaludercic  <philipk@posteo.net>

	Add user options for default windmove commands (bug#41438)

	* lisp/windmove.el (windmove--default-keybindings-type): Add type.
	(windmove-default-keybindings): Add user option.
	(windmove-display-default-keybindings): Add user option.
	(windmove-delete-default-keybindings): Add user option.
	(windmove-swap-states-default-keybindings): Add user option.

2021-06-03  Philip Kaludercic  <philipk@posteo.net>

	Improve windmove-*-default-keybindings functions (bug#41438)

	* lisp/windmove.el (windmove-mode-map): Add special map for windmove commands.
	(windmove-mode): Add minor mode for activating windmove-mode-map.
	(windmove-install-defaults): Add general function for manipulating
	windmove-mode-map.
	(windmove-default-keybindings): Use windmove-install-defaults.
	(windmove-display-default-keybindings): Use windmove-install-defaults.
	(windmove-delete-default-keybindings): Use windmove-install-defaults.
	(windmove-swap-states-default-keybindings): Use windmove-install-defaults.

2021-06-03  Mattias Engdegård  <mattiase@acm.org>

	Constant-propagate (function SYMBOL)

	* lisp/emacs-lisp/byte-opt.el (byte-optimize--substitutable-p):
	Consider #'SYMBOL a constant for compile-time propagation purposes.

2021-06-03  Mattias Engdegård  <mattiase@acm.org>

	Optimize (cons X nil) to (list X)

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-cons): New function.

2021-06-03  Eli Zaretskii  <eliz@gnu.org>

	Fix fill-column-indicator on TTY frames

	* src/xdisp.c (extend_face_to_end_of_line): Fix calculation of
	fill-column-indicator on TTY frames.  Suggested by Jimmy Aguilar
	Mena <spacibba@aol.com>.

2021-06-03  Eli Zaretskii  <eliz@gnu.org>

	More accurate highlighting of mis-spellings in Flyspell

	* lisp/textmodes/flyspell.el (flyspell-word): Highlight only the
	misspelled word, not any extra characters after it.  (Bug#5575)

2021-06-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the `i' command in Info-mode remove duplicate matches

	* lisp/info.el (Info-index): Weed out duplicate matched
	(bug#3692).

2021-06-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous hideif change to avoid a compilation warning

	* lisp/progmodes/hideif.el
	(hide-ifdef-expand-reinclusion-protection): Move to avoid a
	compilation warning.

2021-06-03  Lars Ingebrigtsen  <larsi@gnus.org>

	fringe-mode doc clarifications

	* lisp/fringe.el (fringe-mode):
	(fringe-mode): Note that this variable and command have nothing to
	do with modes (bug#6931).

2021-06-03  Luke Lee  <luke.yx.lee@gmail.com>

	* lisp/progmodes/hideif.el: Fix initial version for new variables

	(hide-ifdef-verbose, hide-ifdef-evalulate-enter-hook)
	(hide-ifdef-evalulate-leave-hook): Fix initial version to 28.1.
	(hide-ifdef-expand-reinclusion-protection): Obsolete since 28.1,
	rename to `hide-ifdef-expand-reinclusion-guard' instead.

2021-06-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with empty command histories in eshell and `erase'

	* lisp/eshell/em-hist.el (eshell-add-input-to-history): Protect
	against an empty ring (bug#48770).

2021-06-03  Eli Zaretskii  <eliz@gnu.org>

	* configure.ac: Clarify "smoke test" error message.  (Bug#48804)

2021-06-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Cross-reference the message/error control variables

	* src/keyboard.c (syms_of_keyboard): Mention set-message-function
	in the command-error-function doc string...

	* src/xdisp.c (syms_of_xdisp): ... and vice versa (bug#13752).

2021-06-03  Eli Zaretskii  <eliz@gnu.org>

	* configure.ac: Improve error messages about libgccjit.

2021-06-02  Tassilo Horn  <tsdh@gnu.org>

	Allow opening buttonized URL with secondary browser in rcirc

	* lisp/net/browse-url.el (browse-url-button-open-url): Add autoload
	cookie.
	* lisp/net/rcirc.el (rcirc-markup-urls): Use
	`browse-url-button-open-url' instead of just `browse-url' in order to
	be able to use the secondary browser by giving a prefix arg.

2021-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in 'produce_glyphless_glyph'

	* src/xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
	Remove workaround for lack of its initialization.  (Bug#8215)

2021-06-02  Luke Lee  <luke.yx.lee@gmail.com>

	* lisp/progmodes/hideif.el: update for new C++ standards and extensions

	Matching gcc/clang behavior on stringification including keeping the same
	number of white spaces.  C++11, C++14, C++17 and GCC literals extension are
	supported.  Preprocessing time floating point operation supported but limited
	to Emacs internal representation which is C data type "double".  Also support
	some frequently used keywords like __LINE__, __TIME__, __DATE__ and so on.

	(hif-clear-all-ifdef-defined, hif-show-all, hif-after-revert-function)
	(hide-ifdef-define, hide-ifdefs, show-ifdefs): interactive behavior changes,
	mainly to allow operation within the marked region.
	(hif-eval, hif-__LINE__, hif-__FILE__, hif-__COUNTER__, hif-__cplusplus)
	(hif-__DATE__, hif-__TIME__, hif-__STDC__, hif-__STDC_VERSION__)
	(hif-__STDC_HOST__, hif-__FILE__, hif-full-match, hif-is-number, hif-is-float)
	(hif-delete-char-in-string, hif-string-to-decfloat, hif-string-to-hexfloat)
	(hif-strtok, hif-is-white, hif-backward-comment, hif-split-signed-token)
	(hif-keep-single, hif-display-macro): new functions.
	(hide-ifdef-verbose, hide-ifdef-evalulate-enter-hook)
	(hide-ifdef-evalulate-leave-hook, hide-ifdef-evaluator, hif-predefine-alist)
	(hif-numtype-suffix-regexp, hif-bin-regexp, hif-hex-regexp, hif-oct-regexp)
	(hif-dec-regexp, hif-decfloat-regexp, hif-hexfloat-regexp)
	(hif-unicode-prefix-regexp, hif-verbose-define-count): new constants or
	variables.
	(hif-macroref-regexp, hif-token-alist, hif-token-regexp)
	(hif-string-literal-regexp): modified constants for faster regexp processing.
	(hide-ifdef-expand-reinclusion-guard): renamed from
	`hide-ifdef-expand-reinclusion-protection' to match commonly used term.
	(hif-lookup, hif-defined, hif-string-to-number, hif-tokenize, hif-nextoken)
	(hif-if-valid-identifier-p, hif-define-operator, hif-expand-token-list)
	(hif-parse-exp, hif-math, hif-factor, hif-get-argument-list, hif-stringify)
	(hif-token-concat, hif-mathify, hif-comma, hif-token-stringification)
	(hif-token-concatenation, hif-macro-supply-arguments, hif-evaluate-macro)
	(hif-find-define, hif-add-new-defines, hide-ifdef-guts, hif-undefine-symbol)
	(hide-ifdef-set-define-alist, hide-ifdef-use-define-alist): modified functions
	for new internal data representation, mainly for stringification and white
	space preservation.  Also better error handling to report source line number
	and more informative error messages.

2021-06-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix ibuffer auto-shrinking windows

	* lisp/ibuffer.el (ibuffer-shrink-to-fit): Don't shrink all
	windows, just the ibuffer one (bug#7218).

2021-06-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Move point in dired buffers when handling a list of files

	* lisp/dired-aux.el (dired-create-files): Advance point to the
	current file (bug#8015).

2021-06-02  Alex Bochannek  <alex@bochannek.com>

	Add new user option to Gnus to allow `#' to toggle

	* doc/misc/gnus.texi (Marking Groups, Setting Process Marks):
	Mention the new variable.

	* lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu.
	(gnus-group-mark-group): Support the variable.
	(gnus-group-mark-update): New command.
	(gnus-group-unmark-group, gnus-group-mark-region): Pass in new
	parameter.

	* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu.
	(gnus-summary-mark-as-processable): Use the variable.

	* lisp/gnus/gnus-topic.el (gnus-topic-mark-topic):  (bug#48683).

	* lisp/gnus/gnus-topic.el (gnus-topic-mark-topic): Use the variable.

	* lisp/gnus/gnus.el (gnus-process-mark-toggle): New user option.

2021-06-01  Alan Third  <alan@idiocy.org>

	Improve performance of NS port's display on macOS

	* src/nsterm.h: Update EmacsSurface definition.
	* src/nsterm.m ([EmacsView focusOnDrawingBuffer]): Don't change the
	CGContext's settings directly.
	([EmacsView unfocusDrawingBuffer]): Don't release the context here.
	(CACHE_MAX_SIZE): Add maximum cache size.
	([EmacsView updateLayer]): Send a request for getContext, which will
	copy the buffer and create the context if it doesn't already exist, to
	the NS run loop.
	([EmacsSurface initWithSize:ColorSpace:Scale:]): Add the scale factor
	and if there's already a CGContext available, reuse it.
	([EmacsSurface dealloc]): No longer need to release lastSurface
	separately.
	([EmacsSurface getContext]): Don't create more surfaces than we have
	spaces for in the cache.
	([EmacsSurface releaseContext]): If there's no context don't try to
	release it and put currentSurface back on the cache instead of
	lastSurface.
	([EmacsSurface copyContentsTo:]): Don't try to copy if the source and
	destination are actually the same surface.

2021-06-01  Andrea Corallo  <akrl@sdf.org>

	Add `native-compile-target-directory' (bug#48743)

	* lisp/emacs-lisp/comp.el (native-compile-target-directory): New
	variable.
	(comp-spill-lap-function): Make use of.

2021-06-01  Andrea Corallo  <akrl@sdf.org>

	Rename batch-byte-native-compile-for-bootstrap (bug#48743)

	* lisp/Makefile.in : Rename `batch-byte-native-compile-for-bootstrap'
	-> `batch-byte+native-compile.
	* lisp/emacs-lisp/bytecomp.el (byte+native-compile)
	(byte-compile-file): Rename
	`batch-byte-native-compile-for-bootstrap' ->
	`batch-byte+native-compile + `byte-native-for-bootstrap' ->
	`byte+native-compile'.
	* lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final)
	(batch-native-compile, batch-byte+native-compile): Likewise.
	* lisp/emacs-lisp/bytecomp.el (byte+native-compile)
	(byte-compile-file): Likewise.
	* test/src/comp-tests.el (comp-tests-bootstrap): Rename
	`byte-native-for-bootstrap' -> `byte+native-compile'.

2021-06-01  Glenn Morris  <rgm@gnu.org>

	Remove unnecessary function declaration in isearch

	* lisp/isearch.el (multi-isearch-switch-buffer):
	Remove unnecessary declaration (after ldefs-boot update).

2021-06-01  Andreas Schwab  <schwab@linux-m68k.org>

	Avoid hang in nnimap-keepalive

	* lisp/gnus/nnimap.el (nnimap-keepalive): Make interruptible.

2021-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-art.el: Don't sneak dynbound code via quoting

	Make sure we don't accidentally quote lambdas by embedding them within
	quoted data.

	(gnus-visible-headers, gnus-emphasis-alist)
	(gnus-mime-display-alternative, gnus-article-describe-bindings):
	Unquote lambdas.

2021-06-01  João Távora  <joaotavora@gmail.com>

	Add annotation capability to icomplete-vertical-mode

	Co-authored-by Daniel Mendler <mail@daniel-mendler.de>

	* lisp/icomplete.el (icomplete--affixate): New helper.
	(icomplete--render-vertical): Use it. Rework.
	(icomplete-completions): Pass md to icomplete--render-vertical.

2021-06-01  João Távora  <joaotavora@gmail.com>

	Improve icomplete-vertical-mode and fido-vertical-mode

	This mode is intended to be used with Icomplete ('M-x icomplete-mode')
	or Fido ('M-x fido-mode'), to display the list of completions
	candidates vertically instead of horizontally.  When used with
	Icomplete, completions are rotated and selection kept at the top.
	When used with Fido, completions scroll like a typical dropdown
	widget.

	If the dropdown behavior is desired for Icomplete (instead of
	rotation), icomplete-scroll can be adjusted separately by the user.

	* etc/NEWS (icomplete-vertical-mode): Reword.

	* lisp/icomplete.el (simple): Require it.
	(icomplete-selected-match): New face.
	(icomplete-scroll): New user-visible var.
	(icomplete-forward-completions): Rework.
	(icomplete-backward-completions): Rework.
	(icomplete--fido-mode-setup): Prefer icomplete-scroll according to
	icomplete-vertical mode.
	(icomplete-minibuffer-setup): Initialize icomplete--scrolled-completions.
	(fido-vertical-mode): An alias for icomplete-vertical-mode.
	(icomplete-exhibit): Init icomplete--scrolled-past.  Adjust overlay.
	(icomplete--render-vertical): New helper.
	(icomplete--sorted-completions): If cache is stale, also
	invalidate icomplete--scrolled-past.
	(icomplete-completions): Rework.  Mostly reformat.

	* lisp/simple.el (max-mini-window-lines): New helper.
	(display-message-or-buffer): Use it.

2021-06-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow packages to change the hl-line overlay priority

	* lisp/hl-line.el (hl-line-overlay-priority): New variable
	(bug#11509).
	(hl-line-make-overlay): Use it.

2021-06-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with `format-alist' marking all the text in the buffer

	* lisp/format.el (format-decode-run-method): Use it to avoid
	marking the entire buffer (bug#11691).

	* lisp/simple.el (shell-command-on-region): Allow replacing text
	without activating the mark.

2021-06-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Document `with-selected-frame'

	* doc/lispref/windows.texi (Selecting Windows): Document
	`with-selected-frame' (bug#12075).

2021-06-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Obsolete `global-whitespace-newline-mode'

	* lisp/whitespace.el (global-whitespace-newline-mode): Make
	obsolete since it doesn't work correctly, and seems superfluous
	(bug#12496).

2021-06-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new command `mailcap-view-file'

	* doc/misc/emacs-mime.texi (mailcap): Document it (bug#12972).

	* lisp/net/mailcap.el (mailcap-view-file): New command.

2021-06-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix documentation of literal `face' syntax in font-lock section

	* doc/lispref/modes.texi (Search-based Fontification): Fix
	the literal `(0 (face ...))' syntax documentation (bug#13917).

2021-06-01  Philip Kaludercic  <philipk@posteo.net>

	Improve random selection of keyservers

	* lisp/epa-ks.el (epa-keyserver): Interpret a list as a pool.
	(epa-ks--query-url): Add new auxiliary function.
	(epa-ks--fetch-key): Use epa-ks--query-url.
	(epa-search-keys): Use epa-ks--query-url.

2021-05-31  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (lazy-highlight-buffer-max-at-a-time): Change from 20 to 200

	Suggested by Augusto Stoffel <arstoffel@gmail.com> in bug#48581

2021-05-31  Andrea Corallo  <akrl@sdf.org>

	Make *Async-native-compile-log* buffer read-only (bug#48763)

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Make
	"*Async-native-compile-log*" read-only.

2021-05-31  Alan Mackenzie  <acm@muc.de>

	Make frames record when their selected window was the mini-window

	When a frame in this state is selected again by Fselect_frame (but not by
	Fselect_window), the mini-window rather than the frame's currently selected
	window, is chosen for selection, should there still be an active minibuffer in
	it.

	This fixes bug #48674.

	* src/frame.h (struct frame): Add new boolean field select_mini_window_flag.

	* src/frame.c (make_frame): Initialize select_mini_window_flag to false.
	(do_switch_frame): Set the new flag appropriately for the old frame, and
	process the new frame's setting of this flag, before setting it to false.

	* src/window.c (select_window): Set f->select_mini_window_flag to false.
	(Fset_frame_selected_window, Fdelete_other_windows_internal)
	(Fdelete_window_internal): Add comments clarifying that there is no clearing
	of f->select_mini_window_flag in these functions.

2021-05-31  Glenn Morris  <rgm@gnu.org>

	* src/keyboard.c (make_lispy_event): Fix previous.

2021-05-31  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	5dfa5e26dd (origin/emacs-27) Improve documentation of regexp ranges

2021-05-31  Alan Mackenzie  <acm@muc.de>

	Correct mouse handling when window origin changes between down and up events

	Do this by using frame relative positions rather than window relative ones,
	which gave rise to spurious drag events when the origin of the window changed
	between the mouse down and up events.  This fixes bug #48409.

	* src/keyboard.c (frame_relative_event_pos): New static variable.
	(make_lispy_event): Record frame relative position of down event.  When the up
	event is in the same position, "move" this event into the window of the down
	event when this window (typically a mini-window) is no longer under the mouse.
	Call make_lispy_position a second time to generate this changed event.
	(syms_of_keyboard): Declare Qwindow_edges.  static_pro
	frame_relative_event_pos.

2021-05-31  Colin Woodbury  <colin@fosskers.ca>  (tiny change)

	Remove spurious @example from the elisp manual

	* doc/lispref/macros.texi (Defining Macros): Remove spurious extra
	pair of @example/@end example.

2021-05-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove messaging in ediff-make-diff2-buffer

	* lisp/vc/ediff-diff.el (ediff-make-diff2-buffer): Remove message
	that's often misleading when diffing buffers (that may be unsaved)
	(bug#13091).

2021-05-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Put ELP results in a special-mode buffer

	* lisp/emacs-lisp/elp.el (elp-results): Make `q' work in ELP
	results buffer (bug#14104).
	(elp-results-mode): Define as an empty special mode derivation.

2021-05-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `menu-bar-select-buffer' obsolete

	* lisp/menu-bar.el (menu-bar-select-buffer): Make obsolete (bug#15651).

	* lisp/msb.el (msb--select-buffer): Move function here and rename.
	(msb--make-keymap-menu): Use it.

2021-05-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Move menu-bar-select-buffer to msb.el"

	This reverts commit 253e52478c355dc29052c0d21013b8d06b473880.

	This is to be fixed in a different way in the next patch.

2021-05-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Use buffer-local-boundp in describe-variable

	* lisp/help-fns.el (describe-variable): Use `buffer-local-boundp'.

2021-05-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new convenience function `buffer-local-boundp'

	* doc/lispref/variables.texi (Creating Buffer-Local): Document it.
	* lisp/subr.el (buffer-local-boundp): New function.

	* src/data.c (Flocal_variable_p): Mention it.

2021-05-31  Daniel Mendler  <mail@daniel-mendler.de>

	Speed up `describe-variable' completion predicate

	* lisp/help-fns.el (describe-variable): Do not switch to the original
	buffer in the predicate (bug#48738).

2021-05-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix error in xdg-mime-apps-files when XDG_CURRENT_DESKTOP is defined

	* lisp/xdg.el (xdg-mime-apps-files): Don't bug out when
	XDG_CURRENT_DESKTOP is bound (bug#48748).

2021-05-30  Philipp Stephani  <phst@google.com>

	Document that the 'syntax-propertize-function' may move point.

	The functions generated by 'syntax-propertize-rules' don't use
	'save-excursion', but 'syntax-propertize' does, so we might as well
	document that the 'syntax-propertize-function' may move point.

	* doc/lispref/syntax.texi (Syntax Properties): Document that the
	'syntax-propertize-function' may move point.

2021-05-30  Philipp Stephani  <phst@google.com>

	Give 'syntax-propertize-wholelines' a docstring.

	This function is generally useful.

	* lisp/emacs-lisp/syntax.el (syntax-propertize-wholelines): Add
	docstring.

2021-05-30  Stephen Gildea  <stepheng+emacs@gildea.com>

	time-stamp: fix minor bug when parsing option combos

	* lisp/time-stamp.el (time-stamp-string-preprocess): Handle digit
	options correctly to avoid overcounting colon options.

	* test/lisp/time-stamp-tests.el (time-stamp-format-time-zone-offset):
	Add a new test case that would have caught the option-parsing error.

2021-05-30  Stephen Gildea  <stepheng+emacs@gildea.com>

	time-stamp: refactor time-stamp-string-preprocess

	* lisp/time-stamp.el (time-stamp-string-preprocess):  Reduce lifetime of
	some loop-local variables to be less error-prone.

2021-05-30  Mauro Aranda  <maurooaranda@gmail.com>

	Do not reset settings when disabling a theme

	* lisp/custom.el (disable-theme): Don't call custom-push-theme, since
	that resets the theme settings and it isn't useful: we only need to
	remove the theme setting from the themed variable or face.  This fixes
	a regression when "toggling" themes, introduced while fixing Bug#34027.
	(Bug#48736)

2021-05-30  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of regexp ranges

	* doc/lispref/searching.texi (Regexp Special): Document the effect
	of using octal escapes in regexp ranges.  (Bug#17758)

2021-05-30  Eli Zaretskii  <eliz@gnu.org>

	Don't account for character compositions in 'format' and friends

	'lisp_string_width' is called from 'format' and 'format-message',
	which can be called both very early into Emacs initialization and in
	other contexts where using the font backend is impossible or
	undesirable.  So this commit changes 'lisp_string_width' to try
	accounting for automatic compositions only when explicitly requested,
	and only 'string-width' does that; 'format' and 'format-message'
	don't.
	* src/character.c (lisp_string_width): Accept an additional
	argument AUTO_COMP; attempt accounting for auto-compositions only
	if that argument is non-zero.  (Bug#48732)
	* src/editfns.c (styled_format):
	* src/character.c (Fstring_width): Callers of 'lisp_string_width'
	adjusted.

2021-05-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify that `symbol-file' only works for symbols in Lisp files

	* lisp/subr.el (symbol-file): Mention help-C-file-name in the doc
	string (bug#14932).

2021-05-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow help-C-file-name to work on symbols designating subrs

	* lisp/help-fns.el (help-C-file-name): Allow working on symbols
	designating subrs (bug#14932).

2021-05-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix kmacro-view-ring-2nd doc string

	* lisp/kmacro.el (kmacro-view-ring-2nd): Fix doc string (bug#15020).

2021-05-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Move menu-bar-select-buffer to msb.el

	* lisp/menu-bar.el (menu-bar-select-buffer): Move from
	here... (bug#15651).
	* lisp/msb.el (menu-bar-select-buffer): ... to here (which is the
	only usage in-tree in Emacs).

2021-05-30  Stephen Gildea  <stepheng+emacs@gildea.com>

	time-stamp: improve unit-test coverage

	* test/lisp/time-stamp-tests.el (time-stamp-format-year-4digit,
	time-stamp-format-ignored-modifiers): Improve coverage with more cases.
	(time-stamp-format-multiple-conversions): New test.

2021-05-30  Lars Ingebrigtsen  <larsi@gnus.org>

	`minibuffer-exit-hook' doc string clarification

	* src/minibuf.c (syms_of_minibuf): `minibuffer-exit-hook' is run
	in the minubuffer usually, so don't claim that it's run after
	(bug#16524).

2021-05-30  Daniel Martín  <mardani29@yahoo.es>

	Add a new documentation group for overlays

	* lisp/emacs-lisp/shortdoc.el (overlay): Add documentation group for
	buffer overlays(bug#48730).

2021-05-30  Daniel Martín  <mardani29@yahoo.es>

	Improve the documentation of documentation groups

	* doc/lispref/help.texi (Documentation Groups): Fix typos and add an
	example.
	* lisp/emacs-lisp/shortdoc.el (define-short-documentation-group): Add
	:no-eval* and :result-string keywords to the docstring.  (Bug#48730)

2021-05-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak octave continuation indentation

	* lisp/progmodes/octave.el (octave-smie-rules): Further tweak
	continuation indentation (bug#17955).

2021-05-30  Eli Zaretskii  <eliz@gnu.org>

	Clarify indent-line-function doc string

	* lisp/indent.el (indent-line-function): Clarify by avoiding
	specifics (bug#20846).

2021-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mpc.el (mpc-format): Fix inf-loop in constructed predicate

2021-05-29  Andreas Schwab  <schwab@linux-m68k.org>

	* lisp/wdired.el (wdired-normalize-filename): Sync with
	dired-get-filename.  (Bug#48659)

2021-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/electric.el: Do auto-indent inside strings and comments by default

	This fixes bug#20846 where it transpired that there is no good reason
	to shy away from auto-indenting inside comments and strings.

	(electric-indent-post-self-insert-function): Don't check syntax-ppss.

2021-05-29  Keith David Bershatsky  <esq@lawlist.com>

	Improve tex fontification of quoted strings

	* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-2): Fontify
	``text like this'' that has an apostrophe correctly (bug#16881).

2021-05-29  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* lisp/international/quail.el (quail-add-unread-command-events):
	Fix wording of the doc string.  Move the rationale for the
	function out of the doc string and into a comment.

2021-05-29  Gregory Heytings  <gregory@heytings.org>

	Fix key recording bug when an input method is activated

	* lisp/international/quail.el (quail-add-unread-command-events):
	New function.
	(quail-start-translation, quail-start-conversion)
	(quail-update-translation, quail-next-translation)
	(quail-prev-translation, quail-next-translation-block)
	(quail-prev-translation-block, quail-minibuffer-message): Use
	'quail-add-unread-command-events' (and partly revert commit
	03e3440dbb).  (Bug#48042)

	* lisp/subr.el (inhibit--record-char): Now obsolete.

	* lisp/term/xterm.el (xterm--init): New function, with most of the
	code of former 'terminal-init-xterm'.
	(terminal-init-xterm): Clear the lossage after terminal
	initialization (see Bug#44908).
	(xterm--read-event-for-query): Do not use 'inhibit--record-char'
	anymore (revert commit 3e6525d69f).

	* src/keyboard.c (syms_of_keyboard): Remove 'inhibit--record-char'
	(partly revert 03e3440dbb).
	(record_char, syms_of_keyboard_for_pdumper): Do not use
	'inhibit_record_char anymore'.

2021-05-29  Mattias Engdegård  <mattiase@acm.org>

	Fix shortdoc examples

	Make sure that each example in shortdoc actually contains the function
	it illustrates, and add a test for it.

	* lisp/emacs-lisp/shortdoc.el (string, list, buffer, number):
	Use the right functions in examples for string-version-lessp,
	lax-plist-put, point-min and ffloor.
	* test/lisp/emacs-lisp/shortdoc-tests.el: New test file.

2021-05-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add lambda to the pretty Ruby symbols list

	* lisp/progmodes/ruby-mode.el (ruby--prettify-symbols-alist): Add
	lambda (bug#48681).

2021-05-29  William Denton  <wtd@pobox.com>

	Add pretty symbols to ruby-mode

	* lisp/progmodes/ruby-mode.el (ruby--prettify-symbols-alist): Add
	pretty symbols (bug#48681).
	(ruby-mode): Use them.

2021-05-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the recent floating point reader changes in NEWS

	* etc/NEWS: Mention the floating point reader changes (bug#48678).

2021-05-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the dired-guess-shell-alist-user doc string

	* lisp/dired-x.el (dired-guess-shell-alist-user): Document how
	REGEXP is used (bug#17251).

2021-05-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix folding of non-ASCII lines when printing to Postscript

	* lisp/ps-mule.el (ps-mule-plot-string): Fix folding of non-ASCII
	Latin-1 lines (bug#17758).

2021-05-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve Octave indentation after continuation lines

	* lisp/progmodes/octave.el (octave-smie-rules): Indent
	continuation lines better (bug#17955).

2021-05-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the file-accessible-directory-p doc string

	* src/fileio.c (Ffile_accessible_directory_p): Don't use the
	phrase "directory name spec", which isn't defined (bug#18201).

2021-05-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix point movement in morse-region and nato-region

	* lisp/play/morse.el (morse-region):
	(nato-region): Leave point after the translated region
	(bug#18717).

2021-05-29  Peter Oliver  <p.d.oliver@mavit.org.uk>  (tiny change)

	Rename emacs.appdata.xml to emacs.metainfo.xml and add more data

	* Makefile.in: Replace "appdata" with "metainfo".

	This is the name currently recommended by the spec at
	<https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html>.

	* etc/emacs.metainfo.xml: Populate more fields, based on those
	available in
	https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
	(bug#48662).

2021-05-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Continue checking the same line when hitting SPC in ispell"

	This reverts commit 390044f854fa103020ffca00eb1fe0e16805ad72.

	This breaks the `a' command, so it should be fixed in a different way.

2021-05-28  Juri Linkov  <juri@linkov.net>

	* lisp/outline.el (outline-font-lock-keywords): Fix highlight case (bug#48707)

2021-05-28  Utkarsh Singh  <utkarsh190601@gmail.com>  (tiny change)

	* lisp/outline.el (outline-minor-mode-highlight): Fix safe-local-variable.

2021-05-28  Eli Zaretskii  <eliz@gnu.org>

	Another stability fix in 'lisp_string_width'

	* src/character.c (lisp_string_width): Compute C pointer to data
	of STRING immediately before using it, since STRING could be
	relocated by GC triggered by processing compositions.  (Bug#48711)

2021-05-28  Eli Zaretskii  <eliz@gnu.org>

	Attempt to fix segfaults caused by changes in 'lisp_string_width'

	* src/character.c (lisp_string_width): Validate the value of TO
	argument before passing it to 'composition_gstring_width'.
	(Bug#48711)

2021-05-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve previous frames.texi change

	* doc/emacs/frames.texi (Fonts): Use conf names instead of path
	names (bug#19568).

2021-05-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Specify which Gsetting font names are used in the manual

	* doc/emacs/frames.texi (Fonts): Explicitly say what Gsettings
	names are used (bug#19568).

2021-05-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous admin/emake change

2021-05-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust admin/emake filters

	Recent changes have made etc/doc always be regenerated, so it's no
	longer interesting.  And all "git pull"s will make

	  INFO     Scraping files for cal-loaddefs.el...
	  INFO     Scraping files for cal-loaddefs.el...done

	etc be output, so filter them, too.

2021-05-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Continue checking the same line when hitting SPC in ispell

	* lisp/textmodes/ispell.el (ispell-process-line): Continue
	checking the same line when hitting SPC (bug#20543).

2021-05-28  Daniel Martín  <mardani29@yahoo.es>

	Fix looking-at-p example in shortdoc.el

	* lisp/emacs-lisp/shortdoc.el (regexp): Use `looking-at-p' instead of
	`looking-at' (bug#48709).

2021-05-28  Alex Bochannek  <alex@bochannek.com>

	Mention the -e switch in an ange-ftp doc string

	* lisp/net/ange-ftp.el (ange-ftp-ftp-program-args): Mention the -e
	switch (bug#48494).

2021-05-28  Alex Bochannek  <alex@bochannek.com>

	Fix nnimap lexical conversion problem

	* lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Fix problem
	introduced when converting to lexical binding -- `set' alters the
	dynamic value (bug#48577).

2021-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Silence warnings

	(byte-optimize--lexvars): Move before first use instead of using `dlet`
	on that first use.

2021-05-27  Ingo Lohmar  <ingo.lohmar@posteo.net>

	* lisp/progmodes/sql.el: Turn `sql-*-statement-starters' to defvars.

	These variables hold information on the SQL standard and
	product-specific additions and should not be user-customizable.

2021-05-27  Eli Zaretskii  <eliz@gnu.org>

	* src/character.c (lisp_string_width): Fix a typo in recent change.

2021-05-27  Eli Zaretskii  <eliz@gnu.org>

	Fix resolution of symlinks during dumping

	* src/comp.c (Fcomp_el_to_eln_rel_filename): Don't use
	'file-truename', as it is only available once files.el is loaded,
	which doesn't work during dumping, until loadup loads files.el.
	Instead, use 'realpath'.  (Bug#48578)
	* src/w32.c (realpath): New function.
	* src/w32.h (realpath): Add prototype.

	* nt/mingw-cfg.site (ac_cv_func_realpath)
	(gl_cv_func_realpath_works): Define to "yes", as this function is
	now implemented in w32.c.

2021-05-27  Eli Zaretskii  <eliz@gnu.org>

	* src/character.c (lisp_string_width): Fix last change.

2021-05-27  Mattias Engdegård  <mattiase@acm.org>

	Fix lexing of numbers with trailing decimal point and exponent

	Numbers with a trailing dot and an exponent were incorrectly read as
	integers (with the exponent ignored) instead of the floats they should
	be.  For example, 1.e6 was read as the integer 1, not 1000000.0 as
	every sane person would agree was meant. (Bug#48678)

	Numbers with a trailing dot but no exponent are still read as
	integers.

	* src/lread.c (string_to_number): Fix float lexing.
	* test/src/lread-tests.el (lread-float): Add test.
	* doc/lispref/numbers.texi (Float Basics): Clarify syntax.

2021-05-27  Mattias Engdegård  <mattiase@acm.org>

	Don't propagate lexical variables into inlined functions

	Functions compiled when inlined (thus from inside the optimizer)
	mustn't retain the lexical environment of the caller or there will be
	tears.  See discussion at
	https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg01227.html .

	Bug found by Stefan Monnier.

	* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
	Bind byte-optimize--lexvars to nil when re-entering the compiler
	recursively.
	* test/lisp/emacs-lisp/bytecomp-resources/bc-test-alpha.el:
	* test/lisp/emacs-lisp/bytecomp-resources/bc-test-beta.el: New files.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-defsubst): New test.

2021-05-27  Philipp Stephani  <phst@google.com>

	* src/character.c (lisp_string_width): Add missing type checks.

2021-05-27  Eli Zaretskii  <eliz@gnu.org>

	A better fix for 'string-width'

	* src/character.c (lisp_string_width): Compute the width when
	automatic compositions can happen more accurately, by using the
	pixel widths of the grapheme clusters, divided by the default
	face's font width.  Disregard the current state of
	'auto-composition-mode', for consistency with 'current-column' .

2021-05-27  Deneb Meketa  <deneb@pixar.com>  (tiny change)

	Fix filling of overlong first lines in Python doc strings

	* lisp/progmodes/python.el (python-fill-string): Fill overlong
	first lines correctly (bug#20860).

2021-05-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the prompting in read-directory-name

	* lisp/dired-x.el (dired-virtual): Improve doc string and use
	`read-directory-name' (bug#20993).

2021-05-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix ediff message parsing in non-English locales

	* lisp/vc/ediff-diff.el (ediff-exec-process): Run diff in the C
	locale to enable parsing the messages (bug#21387).

2021-05-27  Juri Linkov  <juri@linkov.net>

	* lisp/vc/diff-mode.el (diff-hunk-text): Test-driven fix for newlines.

	* lisp/vc/diff-mode.el (diff-hunk-text): Fix handling of newlines
	to cover all test cases according to new test.

	* test/lisp/vc/diff-mode-tests.el (diff-mode-test-hunk-text-no-newline):
	New test to cover cases with no newline at end of file.

2021-05-26  Alex Bochannek  <alex@bochannek.com>

	Remove the base64 Face header repadding in Gnus

	* lisp/gnus/gnus-fun.el (gnus-convert-face-to-png): Remove call.

	* lisp/gnus/gnus-util.el (gnus-base64-repad): Remove.

2021-05-26  Karl Fogel  <kfogel@red-bean.com>

	Improve some doc strings in bookmark.el

	* lisp/bookmark.el (bookmark-bmenu-load): Describe prefix argument
	  behavior.  Refer to related functions for more information.
	  (bookmark-bmenu-save): Likewise refer to related functions.

	As discussed in this thread:

	  https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00389.html

	  From: Karl Fogel
	  To: Eli Zaretskii
	  Cc: Matthias Meulien, Drew Adams, Lars Ingebrigtsen,
	      Stefan Monnier, Emacs Devel
	  Subject: Re: [External] : Re: [PATCH] When deleting in bookmark menu,
	           prompt for confirmation.
	  Date: Sun, 09 May 2021 13:37:52 -0500
	  Message-ID: <87h7jboirj.fsf@red-bean.com>

2021-05-26  Eli Zaretskii  <eliz@gnu.org>

	Make 'string-width' auto-composition aware

	* src/composite.c (find_automatic_composition): Now extern.
	(char_composable_p): Don't assume 'unicode-category-table' is
	always available.
	* src/composite.h (find_automatic_composition): Add prototype.
	* src/character.c (lisp_string_width): Support automatic
	compositions; call 'find_automatic_composition' when
	'auto-composition-mode' is ON.

2021-05-26  Filipp Gunbin  <fgunbin@fastmail.fm>

	* src/sysdep.c (system_process_attributes): Fix misspelled Qttname for FreeBSD

2021-05-26  Filipp Gunbin  <fgunbin@fastmail.fm>

	Improve system_process_attributes on macOS (Bug#48548)

	* src/sysdep.c (system_process_attributes): Fix misprint in 'tty' attr
	- should be 'ttname' instead.  Change 'utime', 'stime', 'time',
	'majflt' attrs to obtain them from proc_pid_rusage, as sysctl call
	used before doesn't give correct values; remove 'minflt' because it's
	not available.  Obtain 'vsize' / 'rss' / 'thcount' from proc_pidinfo.
	Use sysctl with KERN_PROCARGS2 to obtain args: value contains both
	argc and argv, so argv can be reliably cut out.

2021-05-26  Protesilaos Stavrou  <info@protesilaos.com>

	Remove modus-themes.org build date (bug#48661)

	* doc/misc/modus-themes.org: Delete Org macro of the current export date.

	This makes the manual reproducible between Emacs builds.

2021-05-25  Juri Linkov  <juri@linkov.net>

	* lisp/international/mule-cmds.el (mule--ucs-names-group): Better char check.

2021-05-25  Tassilo Horn  <tsdh@gnu.org>

	Make the Alacritty terminal an alias of xterm-256color

	* lisp/faces.el (term-file-aliases): Make the Alacritty terminal
	an alias of xterm-256color (bug#48439).

2021-05-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Make hs-set-up-overlay into user option

	* lisp/progmodes/hideshow.el (hs-set-up-overlay): Make into
	defcustom (bug#48513).

2021-05-25  Stephen Leake  <stephen_leake@stephe-leake.org>

	Restore `ff-find-other-file' buffer selection logic

	* lisp/find-file.el (ff-find-other-file): Restore selection of
	buffer changed by previous change (bug#48535).

2021-05-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix font and indentation of call-with-port in scheme-mode

	* lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
	call-with-port (bug#48544).
	(call-with-port): Indent correctly.

2021-05-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Handle syntactically invalid .dir-locals.el files better

	* lisp/files.el (dir-locals-read-from-dir): Handle syntactically
	invalid .dir-locals.el files more gently (bug#48568).  Give a
	message instead of bugging out later.

2021-05-25  Protesilaos Stavrou  <info@protesilaos.com>

	Update modus-themes to version 1.4.0

	* doc/misc/modus-themes.org:
	(Overview): Document good support for cases with red-green color
	deficiency (deuteranopia).
	(Customization Options): Add code block with sample configuration.
	(Option for mode line presentation): Document new values.
	(Option for completion framework aesthetics): Reword statements.
	(Option for mail citations): Include new customization.
	(Option for line highlighting (hl-line-mode)): Change description
	of possible value.
	(Option for diff buffer looks): Update the meaning of 'fg-only',
	which now is an alias for 'fg-only-deuteranopia'.
	(Option for org-mode block styles): Rename possible values.
	(Cycle through arbitrary colors (DIY)): Include code samples for
	demo case.
	(Override colors (DIY)): Use correct symbol.
	(Override color saturation (DIY)): Show how to combine manual and
	automatic color overrides.
	(Update Org block delimiter fontification (DIY)): Provide example.
	(Load theme depending on time of day): Include missing "DIY" label.
	(Full support for packages or face groups): Update list with
	additions, removals.
	(Indirectly covered packages): Update list.
	(Notes for individual packages)
	(Note on dimmer.el)
	(Note on display-fill-column-indicator-mode)
	(Note on mmm-mode.el background colors)
	(Note on prism.el)
	(Note on ERC escaped color sequences)
	(Note on powerline or spaceline)
	(Note on Helm grep)
	(Note on EWW and Elfeed fonts (SHR fonts)): Stylistic change to
	the heading.
	(Note on inline Latex in Org buffers)
	(Note on god-mode.el): Add note.
	(Frequently Asked Questions (FAQ)): Include new section.
	(Acknowledgements): Update list of contributors (bug#48647).
	* etc/themes/modus-operandi-theme.el: Bump version number.

	* etc/themes/modus-themes.el: Add new defcustom forms and update
	existing ones, edit doc strings, remove old obsolete aliases,
	tweak internal functions, refine face specifications.

	* etc/themes/modus-vivendi-theme.el: Bump version number.

2021-05-25  Gregory Heytings  <gregory@heytings.org>

	Do not switch to other window when minibuffer is selected

	* lisp/window.el (handle-select-window): Do not silently switch to
	other window when minibuffer is selected and
	mouse-autoselect-window is t (Bug#47969).

2021-05-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore `dired-do-create-files' return value

	* lisp/dired-aux.el (dired-do-create-files): Preserve the return
	value from `dired-create-files', which is apparently an
	undocumented feature used by dired-aux-tests.el (dired-test-bug30624).

2021-05-25  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of a recent change

	* src/process.c (syms_of_process) <process-prioritize-lower-fds>:
	Doc fix.

	* etc/NEWS: Reword the entry for 'process-prioritize-lower-fds'.

2021-05-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Update help-tests.el after minibuffer map change

2021-05-25  Miha Rihtaršič  <miha@kamnitnik.top>

	Try to not prioritize reading from lower file descriptors

	* src/process.c (wait_reading_process_output): When looping through
	fds, continue from where we left off.
	(syms_of_process): Vprocess_prioritize_lower_fds: New variable
	(bug#48118).

2021-05-25  Glenn Morris  <rgm@gnu.org>

	* doc/misc/cc-mode.texi: Remove hand-written node pointers (bug#48402).

2021-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/byte-opt.el: Make the build more reproducible

	(byte-compile-inline-expand): When inlining code from another file,
	always inline the byte-code version of the function.
	(byte-optimize--pcase): Simplify edebug spec.

2021-05-25  Philipp Stephani  <phst@google.com>

	Allow years in a copyright range to be separated by en dashes.

	* lisp/emacs-lisp/copyright.el (copyright-regexp)
	(copyright-years-regexp, copyright-update-year)
	(copyright-fix-years): Also include en dash.

	* test/lisp/emacs-lisp/copyright-tests.el (copyright-tests--data): New
	test cases.

2021-05-25  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/transient.el: Update to package version 0.3.4.

2021-05-25  Gregory Heytings  <gregory@heytings.org>

	Further improvements to completion-list-mode-map

	* doc/emacs/mini.texi (Completion Commands): Mention the change,
	and mention the 'n' and 'p' keys bound to 'next-completion' and
	'previous-completion'. (bug#47699).
	* lisp/minibuffer.el (minibuffer-local-completion-map): Change the
	M-g key to M-g M-c.

	* lisp/simple.el (completion-list-mode-map): Change the M-g key to
	M-g M-c.
	(read-expression-map): Bind M-g M-c to
	read-expression-switch-to-completions.
	(read-expression-switch-to-completions): New function.

2021-05-25  Gregory Heytings  <gregory@heytings.org>

	Improve completion-list-mode-map

	* doc/emacs/mini.texi (Completion Commands): Mention it.

	* lisp/minibuffer.el (minibuffer-local-completion-map): Add the M-g key
	for switch-to-completion (bug#47699).

	* lisp/simple.el (completion-list-mode-map): Make special-mode-map its
	parent, unbind the 'g' revert key, add the 'n' and 'p' keys for
	next-completion and previous-completion, and the M-g key for
	switch-to-minibuffer.
	(switch-to-minibuffer): New function.

2021-05-25  Gregory Heytings  <gregory@heytings.org>

	Use correct face when pulsing in CEDET

	* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Use
	pulse-highlight-face, not pulse-highlight-start-face (bug#47810).

2021-05-25  Gregory Heytings  <gregory@heytings.org>

	Consider all user-defined bitmaps in gui_init_fringe()

	* src/fringe.c (gui_init_fringe): Consider user-defined bitmaps
	that override default ones (bug#47832).

2021-05-25  Gregory Heytings  <gregory@heytings.org>

	Fix infloop in Modula-2 mode

	* lisp/progmodes/modula2.el (m2-smie-refine-colon): Stop looping
	when point does not move with forward-sexp (Bug#48011).

2021-05-25  Amin Bandali  <bandali@gnu.org>

	* lisp/erc/erc-services.el: Fix newly-added Libera.Chat entry (bug#48529).

2021-05-25  Gregory Heytings  <gregory@heytings.org>

	Fix bug when moving directories to trash

	* lisp/files.el (move-file-to-trash): Pass the correct dir-flag to
	make-temp-file so that a directory is created when a directory is
	being trashed (Bug#47960).

2021-05-24  Corwin Brust  <corwin@bru.st>  (tiny change)

	Add Libera.chat to `erc-nickserv-alist'

	* lisp/erc/erc-services.el (erc-nickserv-alist): Add support for
	the Libera chat.

2021-05-24  Glenn Morris  <rgm@gnu.org>

	Tweak c-mode bug reporting address

	* lisp/progmodes/cc-mode.el (c-mode-help-address):
	Switch to bug-gnu-emacs.  This is an alias for the previous
	submit@debbugs address, except that if no Package header can be found,
	as often seems to happen for cc-mode reports, debbugs will assign
	the report to the "emacs" package rather than to "debbugs.gnu.org".

2021-05-23  Philipp Stephani  <phst@google.com>

	Fix find invocation for macOS (Bug#48471).

	* lisp/progmodes/project.el (project--files-in-directory): Instead of
	appending a slash (which doesn't work well with macOS find), remove
	trailing slash and pass -H instead.

2021-05-23  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-archive-autoload-file-name-handler

	* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
	Bind `default-directory' to safe value.

2021-05-22  Juri Linkov  <juri@linkov.net>

	* src/editfns.c (Finsert_char): Add docstring reference to read-char-by-name.

2021-05-22  Tassilo Horn  <tsdh@gnu.org>

	Document bug-reference setup for 3rd-party packages

	* doc/emacs/maintaining.texi (Bug Reference): Add section explaining
	adding support for third-party packages.
	* lisp/progmodes/bug-reference.el (bug-reference-maybe-setup-from-vc)
	(bug-reference-maybe-setup-from-mail)
	(bug-reference-maybe-setup-from-irc): Rename from
	bug-reference--maybe-setup-from-*, i.e., un-privatize them because
	they are advertised in the docs now.

2021-05-22  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	30e5d93ee1 (origin/emacs-27) Improve documentation of display tables
	8804ac857b * src/buffer.c (syms_of_buffer) <ctl-arrow>: Doc fix.  (Bu...

2021-05-22  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/maintaining.texi (Bug Reference): Fix cross refs.

	"First argument to cross-reference may not be empty." (makeinfo 4).

2021-05-22  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#48476

	* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
	Add implementation.

	* lisp/net/tramp-integration.el (tramp-rename-files)
	(tramp-rename-these-files): Declare them.

	* lisp/net/tramp.el (tramp-autoload-file-name-handler):
	Load tramp-archive.el if needed.  (Bug#48476)

	* test/lisp/net/tramp-archive-tests.el (tramp-archive-test45-auto-load):
	Extend test.

	Use #' syntax for function symbols.

2021-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/subr-x.el (if-let*, if-let): Use looser Edebug spec

	This makes the same spec work both for `if-let` and `when-let`.

	(when-let*, and-let*, when-let): Simplify accordingly.

2021-05-22  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix native-comp-async-report-warnings-errors :type

	* doc/lispref/compile.texi (Native-Compilation Variables): Document
	'silent' alternative of native-comp-async-report-warnings-errors.
	* lisp/emacs-lisp/comp.el
	(native-comp-async-report-warnings-errors): Fix quoting in
	:type expression (bug#48586).

2021-05-22  Philipp Stephani  <phst@google.com>

	Give 'when-let' and 'when-let*' their own Edebug specification.

	The Edebug specification of 'if-let' and 'if-let*' doesn't work if the
	body is empty.  While that's a pathological case, it's not wrong per
	se, and could arguably happen due to macro expansion.

	* lisp/emacs-lisp/subr-x.el (when-let*, when-let): Don't reuse Edebug
	specification from 'if-let*' and 'if-let'.

2021-05-22  Philipp Stephani  <phst@google.com>

	* lisp/emacs-lisp/cl-macs.el (cl-loop): Add missing 'when' to spec

2021-05-21  Tassilo Horn  <tsdh@gnu.org>

	Add documentation about bug-reference auto-setup.

	* doc/emacs/maintaining.texi (Bug Reference): Add documentation about
	the automatic setup.
	* lisp/progmodes/bug-reference.el
	(bug-reference-setup-from-irc-alist): Remove doubling in docstring.

2021-05-21  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Robustify parsing of gnus-search search results

	* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Look
	for a "process finished" tag, and don't choke on mis-parsed lines.

2021-05-21  Juri Linkov  <juri@linkov.net>

	* lisp/dired-aux.el (dired-do-revert-buffer): New defcustom (bug#48456).

	(dired-do-create-files): Use it.

2021-05-21  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (yank-from-kill-ring): Fix kill-ring-yank-pointer (bug#48478)

2021-05-21  Michael Albinus  <michael.albinus@gmx.de>

	Adapt native-comp entries in gitlab-ci.yml

	* test/infra/gitlab-ci.yml (stages): New stages native-comp-images
	and native-comp.
	(build-native-bootstrap-speed0): Simplify.
	(build-native-bootstrap-speed1, build-native-bootstrap-speed2):
	Deactivate temporarily.

	* test/infra/gitlab-ci.yml (.build-template): Add 'needs:' clause.
	(.native-comp-template): New template.
	(build-native-bootstrap-speed0): Use it.

2021-05-21  Eli Zaretskii  <eliz@gnu.org>

	Avoid byte-compiler warning during bootstrap

	* lisp/isearch.el (multi-isearch-switch-buffer): Avoid
	byte-compiler warning.

2021-05-21  Michael Albinus  <michael.albinus@gmx.de>

	Rearrange nativecomp tests for EMBA

	* test/infra/Dockerfile.emba (emacs-native-comp-speed0):
	Add recipe.

	* test/infra/gitlab-ci.yml (stages): New stages native-comp-images
	and native-comp.
	(build-native-bootstrap-speed0): Simplify.
	(build-native-bootstrap-speed1, build-native-bootstrap-speed2):
	Deactivate temporarily.

2021-05-21  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of display tables

	* doc/lispref/display.texi (Display Tables): Add a cross-reference
	to the next section.

2021-05-21  Andrea Corallo  <akrl@sdf.org>

	Fix ahead-of-time native compilation for out-of-tree builds (bug#48497)

	* src/comp.c (Fcomp_el_to_eln_rel_filename): Expand
	'PATH_DUMPLOADSEARCH' while computing 'loadsearch_re_list'.

2021-05-21  Eli Zaretskii  <eliz@gnu.org>

	* src/buffer.c (syms_of_buffer) <ctl-arrow>: Doc fix.  (Bug#48539)

2021-05-20  Juri Linkov  <juri@linkov.net>

	* lisp/help.el (describe-bindings-outline): New defcustom (bug#45147).

	(describe-bindings): Use describe-bindings-outline.
	(describe-bindings-internal): Remove function obsolete since 24.4.

2021-05-20  Juri Linkov  <juri@linkov.net>

	* lisp/vc/diff-mode.el (diff-hunk-text): Handle better "\ No newline at end".

2021-05-20  Juri Linkov  <juri@linkov.net>

	Fix off-by-one inconsistency of 'M-y C-y' (bug#48478).

	* lisp/simple.el (read-from-kill-ring): Increment kill-ring-yank-pointer by 1.
	(yank-from-kill-ring): Don't increment kill-ring-yank-pointer by 1.

2021-05-20  Juri Linkov  <juri@linkov.net>

	* lisp/international/mule-cmds.el: Use group-function in read-char-by-name.

	(mule--ucs-names-group): Simplify for using by group-function.
	(read-char-by-name-group): Remove defcustom
	obsoleted by completions-group.
	(read-char-by-name): Mention completions-group and
	completions-group-sort in docstring.  Use group-function when
	completions-group is non-nil.
	https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00791.html

2021-05-20  Daniel Mendler  <mail@daniel-mendler.de>

	(minibuffer-completion-help): Add group sorting

	Sort the groups as returned by the `group-function` of the completion
	table depending on the value of the customizable variable
	`completions-group-sort`.  By default `completions-group-sort` is set
	to nil.  The variable can be set to the symbol `alphabetical` in order
	to configure alphabetical sorting.  Furthermore, a custom sorting
	function can be used as value of `completions-group-sort`.

	* lisp/minibuffer.el (completions-group-sort): New variable.
	(minibuffer--group-by): Add SORT-FUN argument.
	(minibuffer-completion-help): Pass `completions-group-sort` to
	`minibuffer--group-by`.

2021-05-20  Daniel Mendler  <mail@daniel-mendler.de>

	(completion--insert-vertical): Separate groups completely

	Insert the candidates vertically within the groups, but keep the
	groups separate using the full width group separators.

	* lisp/minibuffer.el (completion--insert-vertical): Adjust
	grouping.

2021-05-20  Daniel Mendler  <mail@daniel-mendler.de>

	(minibuffer-completion-help): Do not check `completions-group` centrally

	The guard variable `completions-group` should be checked in each
	completion table individually.  The guard variable
	`completions-detailed` variable is used in the same way.

	* lisp/minibuffer.el (minibuffer-completion-help): Remove check of
	`completions-group`.

2021-05-20  Daniel Mendler  <mail@daniel-mendler.de>

	(completion--insert-strings): Split function; Full group title support

	Split `completion--insert-strings` into a function per completions
	format in order to increase readability and extensibility.  This
	change eases the addition of more formats.  Add support for group
	titles to the vertical and horizontal formatting functions.

	* lisp/minibuffer.el (completion--insert): Add new function.
	(completion--insert-vertical, completion--insert-horizontal,
	completion--insert-one-column): Extract function from
	`completion--insert-strings`.  Use new function `completion--insert`.
	(completion--insert-strings): Use new insertion functions.

2021-05-20  Daniel Mendler  <mail@daniel-mendler.de>

	(completing-read): Add `group-function` to the completion metadata

	A completion table can specify a `group-function` in its metadata.
	The group function takes two arguments, a completion candidate and a
	transform argument.  The group function is used to group the
	candidates after sorting and to enhance the completion UI with group
	titles.

	If the transform argument is nil, the function must return the title
	of the group to which the completion candidate belongs.  The function
	may also return nil if the candidate does not belong to a group.

	If the transform argument is non-nil, the function must return the
	transformed candidate.  For example, the transformation allows to
	remove a redundant part of the candidate, which is then displayed in
	the title.

	The grouping functionality is guarded by the customizable variable
	`completions-group` and turned off by default for the *Completions*
	buffer.

	The specific form of the `group-function` has been chosen in order to
	allow allocation-free grouping.  This is important for completion UIs,
	which continuously update the displayed set of candidates (Icomplete,
	Vertico, Ivy, etc.).  Only when the transform argument is non-nil the
	candidate transformation is performed, which may involve a string
	allocation as done in the function `xref--completing-read-group`.

	The function `xref-show-definitions-completing-read` makes use of the
	`group-function`, by moving the file name prefix to the title.  If
	grouping is enabled, the *Completions* are displayed as
	"linenum:summary" instead of "file:linenum:summary".  This way the
	*Completions* buffer resembles the *Occur* buffer.

	* doc/lispref/minibuf.texi: Add documentation.

	* lisp/minibuffer.el (completion-metadata): Describe the
	`group-function` in the docstring.
	(completions-group): Add guard variable, off by default.
	(completions-group-format): Add variable defining the format string
	for the group titles.
	(completions-group-title): Add face used by `completions-group-format`
	for the group titles.
	(completions-group-separator): Add face used by
	`completions-group-format` for the group separator lines.
	(minibuffer--group-by): New grouping function.
	(minibuffer-completion-help): Use it.
	(display-completion-list): Add optional GROUP-FUN argument.
	(completion--insert-strings): Add optional GROUP-FUN argument.  Insert
	group titles if `completions-format` is `one-column`.  Transform each
	candidate with the GROUP-FUN.  Attach the untransformed candidate to
	the property `completion--string`.

	* lisp/simple.el (choose-completion): Retrieve the untransformed
	completion candidate from the property `completion--string`.

	* lisp/progmodes/xref.el:
	(xref--completing-read-group): New grouping function.
	(xref-show-definitions-completing-read): Use it.

2021-05-20  Michael Albinus  <michael.albinus@gmx.de>

	* doc/emacs/maintaining.texi (Bug Reference): Add debbugs-browse-mode.

2021-05-20  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'etags' tests

	* test/manual/etags/README: New file.  (Bug#46055)

	* test/README: Mention separate README files for tests in the
	'manual' subdirectory

2021-05-20  Eli Zaretskii  <eliz@gnu.org>

	Fix arg-out-of-range errors in 'line-number-at-pos'

	* src/fns.c (Fline_number_at_pos): Pass character position to
	args_out_of_range.  Suggested by Andreas Schwab
	<schwab@linux-m68k.org>.  Call args_out_of_range_3 to show both
	ends of the accessible portion.

2021-05-20  Eli Zaretskii  <eliz@gnu.org>

	Make sure gmalloc's hybrid_free preserves errno

	* src/gmalloc.c (hybrid_free_1): New function, with the body of
	the previous 'hybrid_free'.
	(hybrid_free): Call 'hybrid_free_1' while preserving the value of
	'errno'.  Suggested by Paul Eggert <eggert@cs.ucla.edu>.

2021-05-20  Eli Zaretskii  <eliz@gnu.org>

	Clean up the fix for unexec build on GNU/Linux

	* src/conf_post.h [HYBRID_MALLOC || DARWIN_OS && HAVE_UNEXEC]:
	Include <stdlib.h> here, before redirecting 'malloc' and friends
	to their hybrid_* and unexec_* equivalents.  #undef malloc and
	friends before redefining.  Provide prototypes for the
	replacements.  Suggested by Paul Eggert <eggert@cs.ucla.edu>.
	* src/gmalloc.c [HYBRID_MALLOC]: Remove declarations of 'malloc'
	and friends, as they are now redundant: we include <stdlib.h> in
	conf_post.h before redefining 'malloc' etc., and that provides
	prototypes from system headers.

	* configure.ac (HYBRID_MALLOC): Remove kludge to avoid replacement
	of 'free' by Gnulib.  (Bug#36649)

2021-05-19  Tassilo Horn  <tsdh@gnu.org>

	Add a section about bug-reference-mode.

	* doc/emacs/maintaining.texi (Maintaining): Add a section about
	bug-reference-mode.
	* doc/emacs/emacs.texi (Top): Link to the new section about
	bug-reference-mode.

2021-05-19  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (yank-from-kill-ring-rotate): New defcustom (bug#48478).

	(read-from-kill-ring, yank-from-kill-ring): Use it.

2021-05-19  Eli Zaretskii  <eliz@gnu.org>

	Fix rare failures in 'window-default-font-height'

	* lisp/window.el (window-default-font-height): Avoid signaling an
	error when a client TTY frame happens to have an X-style 'display'
	parameter.  (Bug#48408)

2021-05-19  Eli Zaretskii  <eliz@gnu.org>

	* lisp/startup.el (command-line-1): Avoid byte-compiler warning.

2021-05-19  Glenn Morris  <rgm@gnu.org>

	Fix custom type of recent dired-aux additions

	* lisp/dired-aux.el (dired-compress-file-default-suffix)
	(dired-compress-directory-default-suffix): Fix :type.

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/kmacro.el (kmacro-lambda-form): Fix bug#48523

	Re-add `counter` and `format` arguments, since they are used in
	`insert-kbd-macro`.

2021-05-19  Eli Zaretskii  <eliz@gnu.org>

	Fix the unexec build on GNU/Linux

	The unexec build on GNU/Linux must use HYBRID_MALLOC (gmalloc.c) and
	sheap.c.  This was inadvertently disabled because a configure-time
	test for 'sbrk' was moved as side effect of an unrelated change.

	* configure.ac: Test for 'sbrk' before using the result in the
	decision about SYSTEM_MALLOC and HYBRID_MALLOC.
	(HYBRID_MALLOC): Prevent Gnulib from redirecting 'free' to its
	replacement 'rpl_free'.

	* lib/Makefile.in (not_emacs_OBJECTS): Add mallooc/%.o and free.o.

2021-05-19  Ingo Lohmar  <ingo.lohmar@posteo.net>

	* lisp/progmodes/sql.el: `sql-postgres-statement-starters' defcustom

	Recognize common table expression as statement start in Postgres.

2021-05-19  Mauro Aranda  <maurooaranda@gmail.com>

	Lift restriction for finding theme summary line

	* lisp/cus-theme.el (custom-theme-summary): Don't limit the file to
	having the deftheme form as the very first form, rather look for the
	deftheme form explicitly.

2021-05-19  Martin Rudalics  <rudalics@gmx.at>

	Fix recently introduced misbehavior of `quit-restore-window' (Bug#48493)

	* lisp/window.el (quit-restore-window): Unconditionally call
	`switch-to-prev-buffer' (Bug#48493).

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/js.el (js--make-framework-matcher): Use a closure

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/gud.el (gud-tooltip-tips): Use proper closures

	Also prefer #' to quote function names.

	(jdb): Fix $ => \'.

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/org/org-timer.el (org-timer--run-countdown-timer): Use closures

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/org/org-mouse.el: Make use of lexical scoping

	(org-mouse-todo-menu): Simplify by eta-reduction.
	(org-mouse-popup-global-menu): Remove redundant `eval`.
	(org-mouse-keyword-menu, org-mouse-keyword-replace-menu)
	(org-mouse-tag-menu, org-mouse-match-closure): Use proper closures.

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/org/org-colview.el (org-columns-map): Use proper closures

	Also prefer #' to quote function names.

	(org-columns-map): Use derived-mode-p.

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/org/org-clock.el (org-clock-get-table-data): Use proper closures

	Also, prefer #' to quote function names

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/sieve-manage.el (sieve-sasl-auth): Use proper closures

	* lisp/net/shr.el (shr-image-displayer): Use proper closures

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/imap.el (imap-mailbox-close): Use proper closures

	Also, remove redundant `:group` args, and prefer #' to quote function names

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/eudc.el (eudc-menu): Use proper closures

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/browse-url.el: Avoid `(lambda ..)

	(browse-url-netscape, browse-url-mozilla, browse-url-galeon)
	(browse-url-epiphany, browse-url-elinks): Use proper closures.

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/misearch.el (multi-isearch-push-state): Use proper closures

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/menu-bar.el: Avoid `(lambda

	(menu-bar-buffer-vector, menu-bar-update-buffers): Use proper closures.

2021-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/info.el (Info-isearch-push-state): Use proper closures

	* lisp/imenu.el (imenu--create-keymap): Use proper closures

	* lisp/find-dired.el (find-dired): Use a proper closure

	* lisp/facemenu.el (facemenu-add-new-face): Use `:documentation`

2021-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/eshell/em-pred.el: Take advantage of lexical scoping

	Also remove redundant `:group` arguments.

	(eshell-parse-modifiers): Make sure we pass a function value.
	(eshell-parse-arg-modifier, eshell-parse-modifiers)
	(eshell-add-pred-func, eshell-pred-user-or-group)
	(eshell-pred-file-time, eshell-pred-file-type, eshell-pred-file-mode)
	(eshell-pred-file-links, eshell-pred-file-size)
	(eshell-pred-substitute, eshell-include-members, eshell-join-members)
	(eshell-split-members): Use proper closures.

2021-05-18  Juri Linkov  <juri@linkov.net>

	* doc/emacs/basic.texi (Repeating): Document repeat-exit-timeout (bug#48472).

2021-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Use a closure

2021-05-18  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el (repeat-exit-timeout): New defcustom (bug#48472).

	(repeat-exit-timer): New variable.
	(repeat-post-hook): Run idle timer with an "exit function"
	returned from set-transient-map.
	Suggested by Gustavo Barros <gusbrs.2016@gmail.com>.

	(repeat-echo-message): Remove own previous message when input arg is nil.

	* lisp/window.el (display-buffer-override-next-command): Return exitfun.

2021-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/cal-menu.el (cal-menu-holidays-menu): Use a proper closure

2021-05-18  Juri Linkov  <juri@linkov.net>

	* lisp/emacs-lisp/lisp-mode.el (lisp-outline-level): Fix imprecise numbers.

	(lisp-outline-level): Return right levels starting from 1 instead of 5.
	Suggested by Howard Melman <hmelman@gmail.com> in bug#46878.

2021-05-18  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (read-from-kill-ring): Add new arg PROMPT (bug#48478).

	* lisp/simple.el (yank-pop, yank-from-kill-ring):
	* lisp/isearch.el (isearch-yank-from-kill-ring):
	Use arg PROMPT in the call read-from-kill-ring.

2021-05-18  Philipp Stephani  <phst@google.com>

	Recreate symptom of Bug#42701.

	The fix to Bug#48489 (commit 9676d41b8301b84e07717e633059a3f2b5c4c9d8)
	has masked the symptom of Bug#42701 for 'if-let'.  Create a helper
	macro that still exemplifies the bug.

	* test/lisp/emacs-lisp/edebug-tests.el
	(edebug-tests--duplicate-symbol-backtrack): New helper macro.
	(edebug-tests-duplicate-symbol-backtrack): Use it instead of 'if-let'.

2021-05-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix some regressions introduced by the previous dired-aux change

	* lisp/dired-aux.el (dired-compress-file): Check that the file
	we're compressing exists.  Also work outside the current directory.

2021-05-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Look for ElDoc buffer in all visible frames

	* lisp/emacs-lisp/eldoc.el (eldoc--echo-area-prefer-doc-buffer-p):
	Look for a window displaying the ElDoc documentation buffer in all
	visible frames, as promised by the user option
	eldoc-echo-area-prefer-doc-buffer (bug#48278).

2021-05-18  Miha Rihtaršič  <miha@kamnitnik.top>

	Fix problem with focusing in `C-o' in ibuffer in some circumstances

	* lisp/ibuffer.el (ibuffer-visit-buffer-other-window-noselect):
	Use display-buffer instead of pop-to-buffer and selecting the old
	window.  `pop-to-buffer' focuses the new frame, but
	`select-window' usually fails to focus the original frame.  This
	simple patch fixes that (bug#48218).

2021-05-18  Gong Qijian  <gongqijian@gmail.com>  (tiny change)

	Fix `custom-delayed-init-variables' problem when re-dumping emacs

	* lisp/startup.el (command-line): Don't bug out on redumping Emacs
	(bug#48492).

2021-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/kmacro.el: Fix test cases broken by last change

	(kmacro-lambda-form): Remove unused args `counter` and `format`.
	Arrange to be able to extract `mac` from the function.
	(kmacro-extract-lambda): Use this new extraction instead of digging
	into the guts of a function's code.

2021-05-18  Alexandr Vityazev  <avityazev@posteo.org>  (tiny change)

	Fix the length= shortdoc example

	* lisp/emacs-lisp/shortdoc.el (list): Fix the length= example
	(bug#48495).

2021-05-18  Eli Zaretskii  <eliz@gnu.org>

	Revert "* lisp/bookmark.el: make bookmark-fontify nil default value"

	This reverts commit ed8c3303f945fbd2c16ece0e87d041c75ae05ff9.

2021-05-18  Mattias Engdegård  <mattiase@acm.org>

	Fix pcase 'rx' patterns with a single named submatch (bug#48477)

	pcase 'rx' patterns with a single named submatch, like

	  (rx (let x "a"))

	would always succeed because of an over-optimistic transformation.
	Patterns with 0 or more than 1 named submatches were not affected.

	Reported by Philipp Stephani.

	* lisp/emacs-lisp/rx.el (rx--pcase-macroexpander):
	Special case for a single named submatch.
	* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add tests.

2021-05-18  Paul W. Rankin  <pwr@bydasein.com>

	* lisp/bookmark.el: make bookmark-fontify nil default value

2021-05-18  Philipp Stephani  <phst@google.com>

	* lisp/emacs-lisp/subr-x.el (if-let): Swap &or branches (Bug#48489)

2021-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/kmacro.el: Avoid the dynbound dialect of ELisp

	(kmacro-call-macro, kmacro-lambda-form): Use proper closures.
	(kmacro-keymap): Prefer #' top quote function names.

2021-05-18  Dmitry Gutov  <dgutov@yandex.ru>

	Visually truncate excessively long lines in Xref

	* lisp/progmodes/xref.el (xref-truncation-width): New option.
	(xref--apply-truncation): New function.
	(xref--insert-xrefs): Use it (bug#46859).

2021-05-17  Eli Zaretskii  <eliz@gnu.org>

	Fix the etags test suite

	* test/manual/etags/ETAGS.good_2:
	* test/manual/etags/ETAGS.good_3:
	* test/manual/etags/ETAGS.good_4:
	* test/manual/etags/ETAGS.good_5:
	* test/manual/etags/ETAGS.good_6:
	* test/manual/etags/CTAGS.good: Adjust to addition test.rs.

2021-05-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Add an etags test for Rust (bug#46055)

2021-05-17  Eli Zaretskii  <eliz@gnu.org>

	Update the etags/ctags test files

	* test/manual/etags/ETAGS.good_1:
	* test/manual/etags/ETAGS.good_2:
	* test/manual/etags/ETAGS.good_3:
	* test/manual/etags/ETAGS.good_4:
	* test/manual/etags/ETAGS.good_5:
	* test/manual/etags/ETAGS.good_6:
	* test/manual/etags/CTAGS.good: Adjust to current codebase.

2021-05-17  Sun Lin  <sunlin7@yahoo.com>

	Allow specifying the default archive types to compress to in Dired

	* lisp/dired-aux.el (dired-compress-file-default-suffix):
	(dired-compress-directory-default-suffix): New user options
	(bug#47119).
	(dired-compress-file-alist): New variable.

	* lisp/dired-aux.el (dired-compress-file): Use them.
	(dired-compress-file-suffixes): Remove the directory item.

2021-05-17  Pierre-Antoine Rouby  <contact@parouby.fr>

	Add support for Rust in etags

	* lib-src/etags.c (Rust_functions): New function to make tags for rust
	files.
	(Rust_help, Rust_suffixes): New constant.
	* doc/emacs/maintaining.texi (Tag Syntax): Add Rust item.
	* doc/man/etags.1: Add Rust (bug#46055).

2021-05-17  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes in condition-case

	* src/eval.c (internal_lisp_condition_case): Don't take XCAR
	without making sure the value is a cons cell.  (Bug#48479)

2021-05-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention *-nov-is-evil in the Extra Headers Gnus manual section

	* doc/misc/gnus.texi (To From Newsgroups): Mention nov-is-evil.

2021-05-17  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of new behavior of 'M-y'

	* lisp/minibuffer.el (minibuffer-local-map): Switch the order of
	'\r' and '\n' bindings.
	* lisp/simple.el (yank-pop, read-from-kill-ring)
	(yank-from-kill-ring): Doc fixes.

	* doc/emacs/search.texi (Isearch Yank):
	* doc/emacs/killing.texi (Yanking): Improve the description of the
	new functionality of 'M-y'.
	* doc/lispref/text.texi (Yank Commands): Remove inaccurate
	description of 'M-y' in Isearch.

	* etc/NEWS: Improve the wording of 'M-y' entry.

2021-05-17  Philipp Stephani  <phst@google.com>

	Add a unit test to reproduce Bug#48471.

	* test/lisp/progmodes/project-tests.el (project-tests--trivial)
	(project-root, project-ignores): New test project type.
	(project-ignores): New unit test.

2021-05-17  Philipp Stephani  <phst@google.com>

	Fix a few Edebug specifications where code is wrapped in lambdas.

	As the Info node `(elisp) Specification List' explains, it is not
	correct to use `body' or t for a piece of code that the macro wraps in
	a `lambda' form.  These should use `def-body' instead.

	* lisp/info-xref.el (info-xref-with-file):
	* lisp/subr.el (subr--with-wrapper-hook-no-warnings, track-mouse)
	(combine-change-calls, with-eval-after-load):
	* lisp/emacs-lisp/bytecomp.el (displaying-byte-compile-warnings):
	* lisp/emacs-lisp/cl-macs.el (cl-do-symbols, cl-progv):
	* lisp/emacs-lisp/ert-x.el (ert-with-test-buffer):
	* lisp/emacs-lisp/gv.el (gv-letplace):
	* lisp/emacs-lisp/nadvice.el (define-advice):
	* lisp/emacs-lisp/thunk.el (thunk-delay):
	* lisp/vc/vc-dispatcher.el (vc-run-delayed): Use 'def-body' instead of
	t or 'body' where applicable.

	* lisp/emacs-lisp/package.el (package--with-response-buffer): Remove
	evaluation of the body altogether.  I have no idea how to write it
	correctly in this case.

2021-05-16  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Add a 'silent option for native-comp-async-report-warnings-errors

	* lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors):
	Set to 'silent to log warnings, but not pop up the *Warnings* buffer.
	* lisp/emacs-lisp/comp.el (comp-accept-and-process-async-output):
	Check value.

2021-05-16  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Use condition-case-unless-debug in nnselect-run

	* lisp/gnus/nnselect.el (nnselect-run): This is confusing for users,
	make it more yielding to common debugging strategies.

2021-05-16  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix function signature for gnus-search-indexed-parse-output

	* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Generic
	function arg list didn't match the method arglist, which made for
	confusing function help.

2021-05-16  Lars Ingebrigtsen  <larsi@gnus.org>

	mouse-wheel-progressive-speed doc string clarification

	* lisp/mwheel.el (mouse-wheel-progressive-speed): Doc string
	improvement (bug#45322).

2021-05-16  Ingo Lohmar  <ingo.lohmar@posteo.net>

	prepend newline in sqli buffer

	(sql-remove-continuation-prompt, sql-send-string): Move newline
	insertion.

	Previously, the preoutput filter `sql-remove-continuation-prompt'
	inserted a leading newline in the interactive SQL buffer if it decided
	that is has to remove continuation prompts and that it had found all
	it was looking for.

	1) This filter function was a doubtful place to do that (arguably, its
	   name does not suggest any action like this).
	2) The behavior worked inconsistently, eg, when sending a single-line
	   "SELECT" statement, because it only ran when the filter function
	   needed to remove any prompts (for example, not when sending a
	   region without newlines).

	   This can lead to misaligned table headers, which explains why
	   emacswiki and stackoverflow both present several fixes to this
	   behavior.

2021-05-16  Tassilo Horn  <tsdh@gnu.org>

	Add bug-reference-mode-force-auto-setup

	* lisp/progmodes/bug-reference.el
	(bug-reference-try-setup-from-rmail): Match the Rmail mbox filename
	against GROUP-REGEXP in bug-reference-setup-from-mail-alist.
	(bug-reference-mode-force-auto-setup): New function which forces
	auto-setup even if bug-reference-bug-regexp and
	bug-reference-url-format are already set.

2021-05-16  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>

	Add more completion tests

	* test/lisp/minibuffer-tests.el (completion--pcm-score)
	(completion--pcm-first-difference-pos): New helpers.
	(completion-pcm-test-1, completion-pcm-test-2)
	(completion-pcm-test-3, completion-pcm-test-4)
	(completion-pcm-test-5, completion-pcm-test-6)
	(completion-substring-test-1, completion-substring-test-2)
	(completion-substring-test-3, completion-substring-test-4)
	(completion-flex-test-1, completion-flex-test-2)
	(completion-flex-test-3): New tests (bug#42149)

2021-05-16  Sebastian Urban  <mrsebastianurban@gmail.com>  (tiny change)

	Improve some quotation quoting in the Emacs manual

	* doc/emacs/text.texi (Quotation Marks, Quotation Marks):
	* doc/emacs/display.texi (Text Display): Fix some issues when
	quoting quote marks and the like (bug#35885).

	* doc/emacs/emacs.texi: Switch on double-sided printing headings.

2021-05-16  Noam Postavsky  <npostavs@gmail.com>

	Remove unreliable test for match data clobbering

	* src/search.c (Freplace_match): Don't test for change in search_regs
	start and end, this is unreliable if change hooks modify text earlier
	in the buffer (bug#35264).

2021-05-16  Philipp Stephani  <phst@google.com>

	Optimize calls to 'eql', 'memql' and similar for fixnums.

	It's good practice to compare integers using 'eql' because two bignum
	objects representing the same integer might not be 'eq'.  However,
	'eql' is slower and doesn't have its own byte code.  Therefore,
	replace it with 'eq' if one argument is guaranteed to be a fixnum on
	all platforms.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize--fixnump): New helper
	function.
	(byte-optimize-equal, byte-optimize-member, byte-optimize-assoc): Use
	it to optimize 'eql' etc. to 'eq' if it will always compare fixnums.

2021-05-16  Michael Albinus  <michael.albinus@gmx.de>

	Fix handling of stderr buffer in Tramp's make-process (Bug#47861)

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
	Reimplement stderr buffer handling.  (Bug#47861)
	(tramp-maybe-open-connection): Improve traces.

	* test/lisp/net/tramp-tests.el (tramp-test30-make-process):
	Rework for stderr buffer.

2021-05-16  Tassilo Horn  <tsdh@gnu.org>

	Bug reference auto-setup for Rmail

	* lisp/progmodes/bug-reference.el
	(bug-reference-try-setup-from-rmail): New function setting up
	`bug-reference-mode' from the current Rmail message.

2021-05-15  Dmitry Gutov  <dgutov@yandex.ru>

	Update CSS completion tests

	* test/lisp/textmodes/css-mode-tests.el (css-test-complete-pseudo-class)
	(css-test-complete-pseudo-element): Update the tests for recent changes.

2021-05-15  Tassilo Horn  <tsdh@gnu.org>

	Refactor bug-reference setup functions into a defvar

	* lisp/progmodes/bug-reference.el
	(bug-reference-auto-setup-functions): New defvar so that other
	packages can add their own auto-setup functions to it.
	* lisp/progmodes/bug-reference.el (bug-reference--run-auto-setup): Use
	the new variable instead of hard-coding the 4 functions we've had
	already.

2021-05-15  Eli Zaretskii  <eliz@gnu.org>

	Fix segfaults when byte-compiling with native-compilation

	* src/emacs.c (main): Call 'set_initial_minibuffer_mode' before
	entering recursive-exit.
	* src/minibuf.c (init_minibuf_once_for_pdumper): Don't call
	'set_minibuffer_mode' here...
	(set_initial_minibuffer_mode): ... set it in this new function.
	(Bug#48446)
	* src/lisp.h: Add prototype for 'set_initial_minibuffer_mode'.

2021-05-15  Alan Mackenzie  <acm@muc.de>

	Miscellaneous corrections to src/minibuf.c for bug #48337

	* src/minibuf.c (read_minibuf): Call get_minibuffer before incrementing
	minibuf_level, in case a hook function calls Factive_minibuffer_window.
	(init_minibuf_once_for_pdumper): Create  *Minibuf-0* here (moved from
	init_minibuf_once), and set its mode, so that clicking in the mini-window
	immediately after start up works (thanks, Eli Z.).

2021-05-15  Eli Zaretskii  <eliz@gnu.org>

	Fix launching net-utils on MS-Windows

	* lisp/net/net-utils.el (net-utils-run-simple): Bind
	coding-system-for-read around the code which starts the process.
	(Bug#48375)

2021-05-15  pillule  <pillule@riseup.net>  (tiny change)

	Fix `quit-restore-window' when all previous buffers got killed (Bug#48367)

	* lisp/window.el (quit-restore-window): Simplify calculation of
	WINDOW's previous buffer.  Avoid that killing WINDOW's previous
	buffers results in a state where `quit-window' has no more
	effect, by simply deleting WINDOW in that case (Bug#48367).

2021-05-15  Daniel Semyonov  <cmstr@dsemy.com>  (tiny change)

	Mairix: use 'mairix-search-options' as documented

	* lisp/net/mairix.el (mairix-call-mairix): Append
	'mairix-search-options' to the arguments passed to mairix.

2021-05-15  Daniel Semyonov  <cmstr@dsemy.com>  (tiny change)

	Mairix: autoload main interactive functions

	* lisp/net/mairix.el (mairix-search, mairix-use-saved-search)
	(mairix-edit-saved-searches-customize, mairix-search-from-this-article)
	(mairix-search-thread-this-article, mairix-widget-search-based-on-article)
	(mairix-edit-saved-searches, mairix-widget-search, mairix-update-database):
	Add magic autoload comment.

2021-05-15  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string of 'log-edit-generate-changelog-from-diff'

	* lisp/vc/log-edit.el (log-edit-generate-changelog-from-diff):
	Improve the doc string.  (Bug#48269)

2021-05-15  Martin Rudalics  <rudalics@gmx.at>

	Have X builds handle VisibilityNotify events (Bug#48268, Bug#48413)

	* src/xterm.c (handle_one_xevent): Handle VisibilityNotify
	events (Bug#48268, Bug#48413).

2021-05-15  Dmitry Gutov  <dgutov@yandex.ru>

	Add :company-kind support to nxml-mode completion

	* lisp/nxml/rng-nxml.el (rng-complete-tag)
	(rng-complete-attribute-name, rng-complete-attribute-value):
	Support :company-kind.

2021-05-15  Dmitry Gutov  <dgutov@yandex.ru>

	Add :company-kind support to sh-mode completion

	* lisp/progmodes/sh-script.el (sh--completion-keywords):
	New variable.
	(sh--cmd-completion-table): Extracted from here.
	(sh-completion-at-point-function): Add :company-kind.

2021-05-15  Dmitry Gutov  <dgutov@yandex.ru>

	Include colons in the completion strings

	* lisp/textmodes/css-mode.el
	(css--complete-pseudo-element-or-class):
	Include colons in the completion strings. That's simply the nicer
	behavior (e.g. someone typing : will see pseudo-elements in
	completions as well), and by the standards, the colons are part of
	their names anyway (of pseudo-elements and classes).

2021-05-15  Dmitry Gutov  <dgutov@yandex.ru>

	Add :company-kind support to css-mode completion

	* lisp/textmodes/css-mode.el (css--complete-pseudo-element-or-class)
	(css--complete-property-value, css-completion-at-point)
	(css--complete-at-rule): Add :company-kind properties, to annotate
	completions with kinds returned in each case.

2021-05-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the M-x obsoletion check more robust

	* lisp/simple.el (read-extended-command): Make the obsoletion
	check more robust.

2021-05-14  Alan Mackenzie  <acm@muc.de>

	Various detailed fixes to minibuf.c, etc., to fix bug #48337

	Also fix some unsafe coding.

	* lisp/window.el (push-window-buffer-onto-prev): New function, extracted from
	(record-window-buffer): Refactor by extracting the above, and removing the now
	redundant parameter DO-MINIBUF.

	* src/minibuf.c (zip_minibuffer_stacks, read_minibuf): Replace calls to
	get_minibuffer (0) by nth_minibuffer (0).  Replace calls to
	Qrecord_window_buffer by calls to Qpush_window_buffer_onto_prev.
	(Factive_minibuffer_window, read_minibuf_unwind): Call abort_emacs should an
	"impossible" null value be returned by nth_minibuffer.
	(read_minibuf): Move the get_minibuffer_call to just after the incrementation
	of minibuf_level as a precaution against a missing buffer in
	Vminibuffer_list.
	(nth_minibuffer): Replace XCAR by Fcar, to allow (car nil) to work.
	(init_minibuf_once): Create the inactive buffer  *Minibuf-0*.
	(syms_of_minibuf): New DEFSYM, Qpush_window_buffer_onto_prev.

	* src/window.c (restore_window_configuration): Replace some XCARs and XCDRs
	by Fcar_safe and Fcdr_safe.

2021-05-13  Glenn Morris  <rgm@gnu.org>

	* doc/misc/calc.texi: Remove most hand-written node pointers.

	The complex, conditional node layout makes this one of the very
	few cases that can't be done entirely automatically.

2021-05-13  Glenn Morris  <rgm@gnu.org>

	Remove more hand-written node pointers in doc/misc

	* doc/misc/ede.texi, doc/misc/mh-e.texi, doc/misc/reftex.texi:
	* doc/misc/todo-mode.texi: Remove hand-written node pointers.

2021-05-13  Glenn Morris  <rgm@gnu.org>

	* doc/misc/epa.texi: Remove hand-written node pointers.

2021-05-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	bcd92b5708 (origin/emacs-27) Improve documentation of Hexl mode
	c233f4eccd ; * etc/NEWS: Fix decoded-time-set-defaults typo.
	4c3abb3dd1 Fix compilation errors with latest w32 API headers
	127f1f330b Improve doc strings in log-edit.el
	e36183ff46 ; * etc/TODO (etc/DOC): Update the todo entries.

	# Conflicts:
	#	etc/NEWS

2021-05-13  Glenn Morris  <rgm@gnu.org>

	* doc/misc/epa.texi: Fix @nodes in previous change.

2021-05-13  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp traces

	* lisp/net/tramp-cmds.el (tramp-list-tramp-buffers):
	List also trace buffers.

	* lisp/net/tramp.el (tramp-buffer-name):
	Add `tramp-suppress-trace' property.
	(tramp-get-debug-file-name): Fix docstring.
	(tramp-trace-buffer-name): New defun.
	(tramp-trace-functions): New defvar.
	(tramp-debug-message): Obey also `tramp-trace-functions'.

	* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
	Handle trace buffer accordingly.

2021-05-13  dickmao  <none>

	Process sentinels need to work under X and commandline

	* src/process.c (add_non_keyboard_read_fd): Make this a public function.
	(add_process_read_fd): Fold old, static add_non_keyboard_read_fd guts
	into here.
	* src/xsmfns.c (ice_conn_watch_CB): Call add_non_keyboard_read_fd
	(bug#43834).

2021-05-13  Eli Zaretskii  <eliz@gnu.org>

	Fix vertical cursor motion across tall text or small images

	'line-move-partial' should in general leave it to the display
	engine to scroll or recenter the window due to vertical motion of
	the cursor.  The only purpose of this function is to produce
	vscroll suitable for scrolling across large (relatively to the
	window's height) images, where moving by display lines is not
	appropriate.

	* src/xdisp.c (Fdisplay__line_is_continued_p): New primitive.

	* lisp/simple.el (line-move-partial): Call
	'display--line-is-continued-p' to decide whether to leave it to
	redisplay to scroll the window as appropriate.  (Bug#48170)

2021-05-13  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#48349 in file-name-non-special

	* lisp/files.el (file-name-non-special): Use Tramp file name
	handler only in case of	`copy-file', 'rename-file' and
	`copy-directory'.  (Bug#48349)

2021-05-13  Stefan Kangas  <stefan@marxist.se>

	Document `package-quickstart' in the user manual

	* doc/emacs/package.texi (Package Installation): Document
	`package-quickstart' (bug#44748).

2021-05-13  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	Make searching for files faster under Windows

	* src/lread.c (openp): Use faccessat to check that a file exists
	before opening it on Windows (bug#41646).  This speeds up
	searching for files.

2021-05-13  Stefan Kangas  <stefan@marxist.se>

	Don't consider obsolete commands for completion in some cases

	* lisp/simple.el (read-extended-command): Exclude obsolete commands
	that are either lacking a 'current-name' or were obsoleted in a
	previous major version (bug#43300).

	(There's been some back and forth here.  Obsolete commands used to be
	treated normally for completion, and then they were removed.  Then
	they were put back again, but annotated with what they were
	obsoleting.  There was some pushback on this change, so this latest
	changes is a compromise between the last two states.)

2021-05-13  Radon Rosborough  <radon.neon@gmail.com>

	Use an explicit line width of 1 on hollow cursors under X

	* src/xterm.c (x_draw_hollow_cursor): Specify a line width of
	1 explicitly to avoid problems on some X implementations (bug#42452).

2021-05-13  Eli Zaretskii  <eliz@gnu.org>

	* src/image.c (xpm_image_p): Avoid another compiler warning.

	* src/image.c: Avoid compiler warnings in Cairo builds without XPM.

2021-05-12  Tom Gillespie  <tgbugs@gmail.com>

	Fix evaluation order for hack-local-variables

	* lisp/files.el (hack-local-variables): Fix the ordering which
	local variables are evaluated by `hack-local-variables' so that
	prop-line local variables are evaluated first. There is a hidden
	nreverse lurking in `hack-local-variables-apply' which means that
	the prop line variables must come second in order to be evaluated
	before the end of file variables.

2021-05-12  Philip K  <philipk@posteo.net>

	Don't mark interactive commands as internal functions

	* lisp/epa-ks.el (epa-ks-search-mode-map): Rename commands from
	"--" to "-" throughout.

2021-05-12  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings and prompt in epa-ks.el

	* lisp/epa-ks.el (epa-ks--mark-key-to-fetch, epa-ks--fetch-key)
	(epa-search-keys): Doc fixes.
	(epa-ks-do-key-to-fetch): Better wording for the fetch prompt.

2021-05-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Even further `text-property-search-forward' clarifications

	* lisp/emacs-lisp/text-property-search.el
	(text-property-search-forward): Further doc string clarifications.

2021-05-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Update email address in epa-ks.el

2021-05-12  Philip K  <philipk@posteo.net>

	All a GPG key server client

	* lisp/epa-ks.el (epa-keyserver): New file (bug#39886).
	* doc/misc/epa.texi (Quick start): Mention it.
	(Querying a key server): Document it.

2021-05-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix `uniquify-managed' unbounded growth

	* lisp/uniquify.el (uniquify-rationalize-file-buffer-names):
	Protect against exponential `uniquify-managed' growth when
	reverting several (more than two) buffers that have the same file
	name (bug#36877).

2021-05-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Further corrections for the text-property-search doc strings

	* lisp/emacs-lisp/text-property-search.el
	(text-property-search-forward): Correct doc string.
	(text-property-search-backward): Ditto.

2021-05-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak indentation of #foo in js-mode

	* lisp/progmodes/js.el (js--proper-indentation): Indent #define
	(etc) to column 0, but otherwise indent #foo normally (bug#47488).

2021-05-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove unused variable in rmail.el

	* lisp/mail/rmail.el (rmail-reply): Remove unused lexical variable
	introduced in previous patch.

2021-05-12  Eli Zaretskii  <eliz@gnu.org>

	Fix the tests for 'string-limit'

	* test/lisp/emacs-lisp/subr-x-tests.el (subr-string-limit-coding):
	Fix the expected results of string-limit when encoding with
	UTF-16.  Add tests for UTF-8 with BOM.  (Bug#48324)

	* lisp/emacs-lisp/subr-x.el (string-limit): Add FIXME comment
	about the current implementation, which is faulty by design.

2021-05-12  Jim Porter  <jporterbugs@gmail.com>

	Abbreviate rgrep command on MS Windows (bug#48302)

	* lisp/progmodes/grep.el (grep-mode-font-lock-keywords):
	Adapt regexp to match MS Windows-style shell-quoting.

	* test/lisp/progmodes/grep-tests.el: New file.

2021-05-12  Martin Rudalics  <rudalics@gmx.at>

	Handle Bug#24526 without breaking Emacs on tiling WMs (Bug#48268)

	Since tiling window managers may react allergically to resize
	requests immediately following MapNotify events on X, make sure
	that such requests are issued only when a new frame should not
	become visible and a size has been explicitly requested for it.

	* lisp/faces.el (x-create-frame-with-faces): Mark frame as
	'was-invisible' if it should be initially invisible or iconified
	and has its size specified explicitly.
	* src/frame.c (make_frame): Initialize new frame's was_invisible
	flag.
	(Fframe__set_was_invisible): New internal function.
	* src/frame.h (struct frame): Specify size of new_size_p slot.
	New flag was_invisible.
	* src/w32fns.c (Fx_create_frame)
	* src/nsfns.m (Fx_create_frame)
	* src/xfns.c (Fx_create_frame): Set new frame's was_invisible
	flag.
	* src/xterm.c (handle_one_xevent): Call xg_frame_set_char_size
	after a PropertyNotify or MapNotify event only if F's
	was_invisible flag was set.

2021-05-12  Richard Stallman  <rms@gnu.org>

	Avoid querying in a noninteractive Emacs.

	* lisp/mail/sendmail.el (mail-send): In noninteractive Emacs,
	don't ask about combining header fields.

2021-05-12  Richard Stallman  <rms@gnu.org>

	Handle empty string as mail-header-separator

	* lisp/mail/sendmail.el (mail-mode):
	(mail-sendmail-undelimit-header): Handle mail-header-separator empty.
	(mail-send): Search for mail-header-separator as entire contents of line.

2021-05-12  Richard Stallman  <rms@gnu.org>

	Handle multi-line FROM.

	* lisp/mail/rmailsum.el (rmail-header-summary): Handle multi-line FROM.

2021-05-12  Richard Stallman  <rms@gnu.org>

	Little improvements in rmail.el.  Recognize encrypted override headers.

	* lisp/mail/rmail.el (rmail-simplified-subject): Delete `[External] :'.
	(rmail-reply): In encrypted message, search for other header fields
	        inside the encrypted part, and use them instead of the real header.
	(rmail-epa-decrypt): Don't set MIME unless it's Rmail mode.

2021-05-12  Richard Stallman  <rms@gnu.org>

	Use rfc822-goto-eoh rather that mail-header-separator.

	* lisp/epa-mail.el (epa-mail-sign)
	(epa-mail-default-recipients, epa-mail-encrypt):
	Use rfc822-goto-eoh, not mail-header-separator.
	(epa-mail-default-recipients): Assume epa-mail-aliases
	elements are lower case, search case-independently.

2021-05-11  Eli Zaretskii  <eliz@gnu.org>

	Move the Text Properties menu back to Edit

	* lisp/textmodes/enriched.el (enriched-mode): Don't add "Text
	Properties" sub-menu to Text mode menu.
	* lisp/facemenu.el (menu-bar-edit-menu): Add "Text Properties"
	sub-menu back to the Edit menu.

2021-05-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove purecopy throughout facemenu.el (since it's not preloaded)

2021-05-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Move facemenu to enriched mode

	* lisp/menu-bar.el (menu-bar-edit-menu): Move from here...

	* lisp/textmodes/enriched.el (enriched-mode): ... to here.

2021-05-11  Tassilo Horn  <tsdh@gnu.org>

	Fix dired confirm message asking to kill buffers of deleted dir (bug#48301)

	* lisp/dired.el (dired-clean-up-after-deletion): Fix dired
	confirmation message asking to kill buffers of deleted dir in the case
	where `dired-listing-switches' contain -p (bug#48301).

2021-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/font-lock.el: Fix `font-lock-comment-end-skip` fallback (bug#34088)

	(font-lock-fontify-syntactically-region): Use `comment-end-skip` as
	fallback for `font-lock-comment-end-skip`, as is done for
	`font-lock-comment-start-skip` (and as the name suggests).

	* lisp/progmodes/opascal.el (opascal-mode): Revert last change,
	made unnecessary.

2021-05-11  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Hexl mode

	* doc/emacs/misc.texi (Editing Binary Files): Explain that Hexl can
	also be used for editing text, including non-ASCII text.

2021-05-11  Andrea Corallo  <akrl@sdf.org>

	Rename comp-deferred-compilation

	* lisp/progmodes/elisp-mode.el
	(emacs-lisp-native-compile-and-load): Rename
	comp-deferred-compilation -> native-comp-deferred-compilation.
	* src/comp.c (maybe_defer_native_compilation, syms_of_comp):
	Likewise.

2021-05-11  Andrea Corallo  <akrl@sdf.org>

	Rename comp-deferred-compilation-deny-list

	* lisp/emacs-lisp/comp.el (native-comp-deferred-compilation-deny-list)
	(native-compile-async-skip-p): Rename
	comp-deferred-compilation-deny-list ->
	native-comp-deferred-compilation-deny-list.

2021-05-11  Eli Zaretskii  <eliz@gnu.org>

	Mention native compilation in the user manual

	* doc/emacs/building.texi (Lisp Libraries): Mention native
	compilation.

2021-05-11  Stefan Kangas  <stefankangas@gmail.com>

	Fix exiting Emacs when savehist-file not writable

	* lisp/savehist.el (savehist-save): Show warning when 'savehist-file'
	is not writable.  (Bug#34093)
	(savehist--has-given-file-warning): New variable.

2021-05-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix comment end delimiter fontification in OPascal mode

	* lisp/progmodes/opascal.el (opascal-mode): Fontify the ending
	brace with `font-lock-comment-delimiter-face' correctly (bug#34088).

2021-05-11  Eli Zaretskii  <eliz@gnu.org>

	Fix assertions in nth_minibuffer

	* src/minibuf.c (nth_minibuffer): Avoid assertion violation when
	DEPTHth minibuffer doesn't exist.  (Bug#48337)

2021-05-11  Lars Ingebrigtsen  <larsi@gnus.org>

	`text-property-search-forward' doc string improvement

	* lisp/emacs-lisp/text-property-search.el
	(text-property-search-forward): Correct and clarify the doc string
	(bug#48317).

2021-05-11  Eli Zaretskii  <eliz@gnu.org>

	Fix Hexl handling of coding-systems with BOM

	* lisp/international/mule-cmds.el (encode-coding-char): If
	CODING-SYSTEM produces BOM, remove the BOM bytes from the produced
	byte sequence.  (Bug#48324)

	* lisp/hexl.el (hexl-mode): Use bufferpos-to-filepos to convert
	point to offset into the original file.
	(hexl-mode-exit, hexl-maybe-dehexlify-buffer): Use
	filepos-to-bufferpos to restore point in the original buffer.
	(hexl-mode, hexl-insert-multibyte-char)
	(hexl-self-insert-command, hexl-insert-hex-char)
	(hexl-insert-decimal-char, hexl-insert-octal-char)
	(hexl-find-file): Enhance the doc strings, mainly explaining the
	complications of inserting multibyte characters.
	(hexl-insert-multibyte-char): Don't treat CH as unibyte if the
	coding-system isn't ASCII-compatible.  Don't treat null bytes as
	multibyte.

2021-05-11  Glenn Morris  <rgm@gnu.org>

	* doc/misc/erc.texi (Connecting): Fix cross reference.

2021-05-11  Amin Bandali  <bandali@gnu.org>

	Tweak documentation relating to 'erc-tls'

	* doc/misc/erc.texi (Connecting): Add a reference to the auth manual.
	* etc/NEWS: Remove the verbose, detailed example of client certificate
	specification and refer to the ERC manual instead.
	* lisp/erc/erc.el (erc-tls): Fix leftover path example in docstring.

2021-05-10  Glenn Morris  <rgm@gnu.org>

	* lib/Makefile.in (maintainer-clean): Fully ignore rmdir errors.

2021-05-10  Glenn Morris  <rgm@gnu.org>

	* Makefile.in: Simplify maintainer-clean.

	(maintainer_clean_dirs): Remove.
	(maintainer-clean): Don't duplicate clean by running bootstrap-clean,
	which can lead to issues with parallel clean.

2021-05-10  Glenn Morris  <rgm@gnu.org>

	* test/src/emacs-module-tests.el (mod-test-file): Unbreak out-of-tree.

	* test/Makefile.in (clean): Remove generated mml-sec file.

2021-05-10  Glenn Morris  <rgm@gnu.org>

	Always include the test/ directory in tarfiles

	In hindsight, it's hard to see why not including it was ever an option.
	* make-dist: Always include the test/ directory.
	(with_tests): Remove.
	(--tests, --no-tests): Make these options no-ops.
	* Makefile.in (mostlyclean_dirs, maintainer_clean_dirs): Add "test".
	(mostlyclean, clean, distclean, maintainer-clean):
	Remove special-casing for "test".
	($(CHECK_TARGETS)): Simplify.

2021-05-10  Michael Albinus  <michael.albinus@gmx.de>

	Extend meaning of UNIQUIFY `auto-save-file-name-transforms'.  (Bug#47493)

	* doc/lispref/backups.texi (Auto-Saving): Explain UNIQUIFY being a
	secure hash in auto-save-file-name-transforms.

	* etc/NEWS: Mention change in `auto-save-file-name-transforms'.

	* lisp/files.el (auto-save-file-name-transforms): Adapt docstring.
	(make-auto-save-file-name): Care, if UNIQ is a secure hash symbol.

2021-05-10  Mauro Aranda  <maurooaranda@gmail.com>

	Avoid saving session customizations in the custom-file

	* lisp/custom.el (custom-theme-recalc-variable): Only stash theme
	settings for void variables.
	(custom-declare-variable): After initializing a variable, unstash a
	theme setting, if present.
	(disable-theme): When disabling a theme, maybe unstash a theme
	setting.

	* test/lisp/custom-resources/custom--test-theme.el: Add two settings
	for testing the fix.

2021-05-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Always heed the `lexical-binding' local variable

	* doc/lispref/variables.texi (File Local Variables): Document
	`permanently-enabled-local-variables'.

	* lisp/files.el (enable-local-variables): Mention the new variable.
	(set-auto-mode): Always call `hack-local-variables'.
	(hack-local-variables): Factor out the variable gathering into its
	own function, and respect the new variable (bug#47843).
	(hack-local-variables--find-variables): Factored out from
	`hack-local-variables'.
	(permanently-enabled-local-variables): New variable.

2021-05-10  Glenn Morris  <rgm@gnu.org>

	* lib-src/Makefile.in (clean): Tidy up seccomp-filter files.

	* test/Makefile.in (SUBDIRS, subdir_template): Fix out-of-tree.

2021-05-10  Glenn Morris  <rgm@gnu.org>

	Small fixes for out-of-tree clean rules.

	* Makefile.in (top_maintainer_clean, extraclean): Fix out-of-tree.

2021-05-10  Glenn Morris  <rgm@gnu.org>

	Small fixes for Makefile clean rules

	* Makefile.in (maintainer-clean): Move some items from extraclean.
	(extraclean): doc/emacs already deletes emacsver.texi.

2021-05-10  Glenn Morris  <rgm@gnu.org>

	Base the "extraclean" Make rule on "maintainer-clean"

	* Makefile.in (FIND_DELETE): New, set by configure.
	(extraclean_dirs): Remove.
	(extraclean): Make it just a small variation on maintainer-clean.
	* admin/charsets/Makefile.in (extraclean):
	* admin/grammars/Makefile.in (extraclean):
	* admin/unidata/Makefile.in (extraclean):
	* leim/Makefile.in (extraclean):
	* lib-src/Makefile.in (extraclean):
	* lisp/Makefile.in (extraclean):
	* lwlib/Makefile.in (extraclean):
	* nt/Makefile.in (extraclean):
	* src/Makefile.in (extraclean): Remove target.
	* lib/Makefile.in (extraclean): Merge into maintainer-clean.

2021-05-09  Juri Linkov  <juri@linkov.net>

	* lisp/misearch.el (multi-isearch-switch-buffer): New function.

	* lisp/isearch.el (isearch-search-string):
	* lisp/misearch.el (multi-isearch-wrap, multi-isearch-pop-state): Use it.

	https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00309.html

2021-05-09  Michael Albinus  <michael.albinus@gmx.de>

	Cleanups for Tramp out-of-band methods on MS Windows

	* doc/misc/tramp.texi (Frequently Asked Questions):
	tramp-use-ssh-controlmaster-options is nil on MS Windows.

	* lisp/net/tramp.el (tramp-unquote-shell-quote-argument): Revert previous
	change, it worked (not as expected but) properly.

	* test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
	Don't skip on MS Windows.
	(tramp--test-windows-nt-and-scp-p): Remove.
	(tramp--test-special-characters): Skip for out-of-band methods on
	MS Windows, sometimes.

2021-05-09  Andreas Schwab  <schwab@linux-m68k.org>

	Make autoloads-force work in build directory

	* lisp/Makefile.in (autoloads-force): Remove $(lisp)/loaddefs.el,
	not loaddefs.el.

2021-05-09  Basil L. Contovounesios  <contovob@tcd.ie>

	Default to 1970 in decoded-time-set-defaults

	* lisp/calendar/time-date.el (decoded-time-set-defaults): Set an
	unspecified year field to 1970, as promised in the docstring, and to
	ensure it's representable on all systems (bug#48298).

2021-05-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Reintroduce autoloads for edebug-all-defs/edebug-all-forms

	* lisp/emacs-lisp/edebug.el (edebug-all-defs, edebug-all-forms):
	Reintroduce ;;;###autoload of these user options that were removed
	in bae2cfe63c, because this leads to errors in a common (and
	recommended) use case (bug#47516).

2021-05-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix indentation of lines starting with # in js-mode

	* lisp/progmodes/js.el (js--proper-indentation): # is not like in
	C -- it doesn't have to appear on the beginning of the line
	(bug#47488).

2021-05-09  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation errors with latest w32 API headers

	* src/w32common.h: Rename OS_* to OS_SUBTYPE__*, as w32 API
	headers started defining OS_NT, which breaks the use of the
	enumeration.  All users changed.  (Bug#48303)

2021-05-08  Basil L. Contovounesios  <contovob@tcd.ie>

	Tiny fixes to recent native compilation docs

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2021-05/msg00347.html

	* doc/lispref/compile.texi (Native Compilation): Fix grammar in @ref
	online label.
	(Native-Compilation Functions): Consistently unhyphenate
	'sub-process'.  Fix grammar.
	(Native-Compilation Variables): Fix @cindex entry.

2021-05-08  Eli Zaretskii  <eliz@gnu.org>

	Document native-compilation

	* doc/lispref/loading.texi (How Programs Do Loading)
	(Library Search): Update for native-compilation features.
	* doc/lispref/compile.texi (Native Compilation)
	(Native-Compilation Functions, Native-Compilation Variables): New
	chapter and sections.
	* doc/lispref/elisp.texi (Top): Update the top-level menus.

	* etc/NEWS: Add a reference to the ELisp manual.

2021-05-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't delete socket on server exit if it was passed in

	* lisp/server.el (server-sentinel): Don't delete the socket if it
	was passed in to Emacs (bug#47511).

2021-05-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove dead URL in isearchb.el comments

	* lisp/isearchb.el: Remove dead URL in comments (bug#47514).

2021-05-08  Alan Mackenzie  <acm@muc.de>

	Prevent the selected window being a dead mini-window when switching frames

	This fixes bug #48249 and also a situation where, with recursive minibuffers
	enabled and minibuffer-follows-selected-frame t, switching frames when a
	minibuffer was open would leave the mini-window selected on the old frame.

	* lisp/window.el (record-window-buffer): Add extra parameter DO-MINIBUF, and
	amend the code such that minibuffers only get processed when that parameter is
	non-nil.

	* src/minibuf.c (zip_minibuffer_stacks, read_minibuf): Call
	Qrecord_window_buffer with the new argument set to Qt.
	(move_minibuffers_onto_frame): Set the selected window on the old frame when
	this would otherwise remain the mini-window.

2021-05-08  dalanicolai  <dalanicolai@gmail.com>  (tiny change)

	Mention that Emacs is usually case-insensitive in a couple of places

	* doc/lispref/searching.texi (Regular Expressions): Mention
	`case-fold-search'.

	* lisp/emacs-lisp/re-builder.el (re-builder): Mention case
	sensitivity toggles (bug#47534).

2021-05-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Fix moving directories with the same name to trash"

	This reverts commit f618cc5bc83d3822759c5bb85d15320651ca2431.

	This patch doesn't cover some corner cases, I think.

2021-05-08  Codruț Constantin Gușoi  <mail@codrut.pro>  (tiny change)

	Fix moving directories with the same name to trash

	* lisp/files.el (move-file-to-trash): Allow moving several
	directories with the same name to Trash (bug#48280).

2021-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/nnoo.el (defvoo, deffoo): Add `doc-string` property

2021-05-08  Jim Porter  <jporterbugs@gmail.com>

	Ensure `<menu-bar> <edit> <clear>' handles rectangular regions

	* lisp/delsel.el (delete-active-region): Autoload it and make it interactive.
	* lisp/menu-bar.el (menu-bar-edit-menu): Bind "Clear" to
	`delete-active-region'.

2021-05-07  Philipp Stephani  <phst@google.com>

	Don't use symbolic links in the test resource directory.

	This doesn't work on Windows.  Instead, use the EMACS_TEST_DIRECTORY
	environment variable to find the BPF files.

	* test/src/emacs-tests.el (emacs-tests--lib-src): New constant.
	(emacs-tests/seccomp/allows-stdout)
	(emacs-tests/seccomp/forbids-subprocess)
	(emacs-tests/bwrap/allows-stdout): Use it.

2021-05-07  Michael Albinus  <michael.albinus@gmx.de>

	Tramp: Fix file name quoting on MS Windows

	* lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
	Use `tramp-unquote-shell-quote-argument'.

	* lisp/net/tramp.el (tramp-unquote-shell-quote-argument):
	Adapt for MS Windows.

	* test/lisp/net/tramp-tests.el (tramp--test-special-characters):
	Adapt for MS Windows.

2021-05-07  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent change in rmc.el

	* lisp/emacs-lisp/rmc.el (read-multiple-choice): Doc fix.  Improve
	the message when entering recursive-edit.

2021-05-07  Michael Albinus  <michael.albinus@gmx.de>

	Fix some annoyances wrt file-name-non-special

	* lisp/files.el (file-name-non-special): Do not expand `file-truename'.

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
	Use local `default-directory' for `start-process'.

2021-05-07  Lars Ingebrigtsen  <larsi@gnus.org>

	`mail-envelope-from' doc clarification

	* lisp/mail/sendmail.el (mail-envelope-from): Note that the buffer
	should be narrowed before calling (bug#47616).

2021-05-07  Michael Albinus  <michael.albinus@gmx.de>

	Tune Tramp traces

	* doc/misc/tramp.texi (Traces and Profiles): Describe call traces.

	* lisp/net/tramp-compat.el: Add `tramp-suppress-trace' property for all
	functions.

	* lisp/net/tramp.el (tramp-verbose): Adapt docstring.
	(tramp-file-name-method, tramp-file-name-user)
	(tramp-file-name-domain, tramp-file-name-host)
	(tramp-file-name-port, tramp-file-name-localname)
	(tramp-file-name-hop, tramp-file-name-user-domain)
	(tramp-file-name-host-port, tramp-file-name-port-or-default)
	(tramp-tramp-file-p, tramp-find-method, tramp-find-user)
	(tramp-find-host, tramp-dissect-file-name)
	(tramp-dissect-hop-name, tramp-debug-buffer-name)
	(tramp-debug-outline-level, tramp-get-debug-buffer)
	(tramp-get-debug-file-name, tramp-read-passwd)
	(tramp-clear-passwd): Add `tramp-suppress-trace' property.
	(tramp-debug-message): Activate call traces.

	* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case): Simplify.

2021-05-07  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings in log-edit.el

	* lisp/vc/log-edit.el (log-edit-new-comment-index)
	(log-edit-maximum-comment-ring-size, log-edit-previous-comment)
	(log-edit-next-comment, log-edit-comment-search-backward)
	(log-edit-comment-search-forward)
	(log-edit-comment-to-change-log)
	(log-edit-header-contents-regexp, log-edit-font-lock-gnu-style)
	(log-edit, log-edit-mode, log-edit-fill-entry, log-edit-done)
	(log-edit-kill-buffer, log-edit-insert-message-template)
	(log-edit-insert-cvs-template, log-edit-insert-cvs-rcstemplate)
	(log-edit-rewrite-fixes, log-edit-add-to-changelog)
	(log-edit-generate-changelog-from-diff)
	(log-edit-insert-changelog, log-edit-narrow-changelog)
	(log-edit-changelog-entry, log-edit-changelog-insert-entries)
	(log-edit-extract-headers): Enhance and reword doc strings.

2021-05-06  Jim Porter  <jporterbugs@gmail.com>

	Shell-quote the directory when finding a project's files

	* lisp/progmodes/project.el (project--files-in-directory):
	Shell-quote the directory (bug48247).

2021-05-06  Dmitry Gutov  <dgutov@yandex.ru>

	project--buffer-list: Tighten the check

	* lisp/progmodes/project.el (project--buffer-list): Tighten the
	check to speed up in the presence of multiple Tramp sessions, too.
	(https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00152.html)

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-eln-load-path → native-comp-eln-load-path

	* src/comp.c (Fcomp_el_to_eln_filename): Rename comp-eln-load-path →
	native-comp-eln-load-path.
	* src/lread.c (maybe_swap_for_eln): Likewise.
	* lisp/startup.el (native-comp-eln-load-path)
	(normal-top-level): Likewise.
	* lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final)
	(comp-eln-load-path-eff, comp-trampoline-compile)
	(comp-clean-up-stale-eln, comp-run-async-workers)
	(comp-lookup-eln, batch-byte-native-compile-for-bootstrap): Likewise.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-warning-on-missing-source

	* src/lread.c (maybe_swap_for_eln): Rename
	comp-warning-on-missing-source →
	native-comp-warning-on-missing-source.
	* src/comp.c (syms_of_comp): Likewise.
	* lisp/emacs-lisp/comp.el (native-comp-warning-on-missing-source):
	Likewise.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-native-driver-options → native-comp-driver-options

	* src/comp.c (add_driver_options, syms_of_comp): Rename
	comp-native-driver-options → native-comp-driver-options.
	* lisp/emacs-lisp/comp.el (native-comp-driver-options)
	(comp-ctxt, comp-spill-lap-function, comp-final)
	(comp-run-async-workers): Likewise.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-async-query-on-exit → native-comp-async-query-on-exit

	* lisp/emacs-lisp/comp.el (native-comp-async-query-on-exit)
	(comp-run-async-workers): Rename comp-async-query-on-exit →
	native-comp-async-query-on-exit.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-async-report-warnings-errors

	* lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors)
	(comp-accept-and-process-async-output): Rename
	comp-async-report-warnings-errors →
	native-comp-async-report-warnings-errors.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-async-env-modifier-form → native-comp-async-env-modifier-form

	* lisp/emacs-lisp/comp.el (native-comp-async-env-modifier-form)
	(comp-final, comp-run-async-workers): Rename
	comp-async-env-modifier-form → native-comp-async-env-modifier-form.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-async-all-done-hook → native-comp-async-all-done-hook

	* lisp/emacs-lisp/comp.el (native-comp-async-all-done-hook)
	(comp-run-async-workers): Rename comp-async-all-done-hook →
	native-comp-async-all-done-hook.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-async-cu-done-functions → native-comp-async-cu-done-functions

	* lisp/emacs-lisp/comp.el (native-comp-async-cu-done-functions)
	(comp-run-async-workers): Rename comp-async-cu-done-functions →
	native-comp-async-cu-done-functions.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-async-jobs-number → native-comp-async-jobs-number

	* lisp/emacs-lisp/comp.el (native-comp-async-jobs-number)
	(comp-effective-async-max-jobs, native--compile-async)
	(native-compile-async): Rename comp-async-jobs-number →
	native-comp-async-jobs-number.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-never-optimize-functions → native-comp-never-optimize-functions

	* lisp/emacs-lisp/nadvice.el (advice--add-function): Rename
	comp-never-optimize-functions → native-comp-never-optimize-functions.
	* lisp/emacs-lisp/comp.el (native-comp-never-optimize-functions)
	(comp-subr-trampoline-install, comp-call-optim-form-call): Likewise.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-bootstrap-deny-list → native-comp-bootstrap-deny-list

	* lisp/emacs-lisp/comp.el (native-comp-bootstrap-deny-list)
	(batch-native-compile): Rename comp-bootstrap-deny-list →
	native-comp-bootstrap-deny-list.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-always-compile → native-comp-always-compile

	* lisp/emacs-lisp/comp.el (native-comp-always-compile)
	(comp-run-async-workers): comp-always-compile →
	native-comp-always-compile.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-verbose -> native-comp-verbose

	* lisp/emacs-lisp/comp.el (native-comp-verbose, comp-log)
	(comp-log-func, comp-final, comp-run-async-workers): Rename
	comp-verbose -> native-comp-verbose.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-debug -> native-comp-debug

	* src/comp.c (emit_ctxt_code, syms_of_comp): Rename comp-debug ->
	native-comp-debug.
	* lisp/emacs-lisp/comp.el (native-comp-debug, comp-ctxt)
	(comp-spill-lap-function, comp-run-async-workers): Likewise.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise.
	* test/src/comp-tests.el (comp-tests-bootstrap): Likewise.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-speed -> native-comp-speed

	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
	comp-speed -> native-comp-speed.
	* lisp/emacs-lisp/comp.el (native-comp-speed, comp-ctxt, comp-func,
	comp-spill-lap-function, comp-trampoline-compile,
	comp-run-async-workers): Likewise.
	* src/comp.c (emit_ctxt_code, load_comp_unit, syms_of_comp): Likewise.
	* test/src/comp-tests.el (comp-tests-tco, comp-tests-fw-prop-1)
	(comp-tests-check-ret-type-spec, comp-tests-pure): Likewise.

2021-05-06  Andrea Corallo  <akrl@sdf.org>

	Rename comp-limple-mode -> native-comp-limple-mode

	* lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Doc update.
	(native-comp-limple-mode, comp-log-to-buffer): Rename comp-limple-mode
	-> native-comp-limple-mode.

2021-05-06  Michael Albinus  <michael.albinus@gmx.de>

	In Tramp, use scp "-T" argument if available

	* lisp/net/tramp-sh.el (tramp-scp-strict-file-name-checking): New defvar.
	(tramp-scp-strict-file-name-checking): New defun.
	(tramp-do-copy-or-rename-file-out-of-band): Use it.
	(tramp-methods) <scp, scpx>: Use "%x".
	(tramp-make-copy-program-file-name): Use local quoting.
	(tramp-sh-handle-make-process): Don't call
	`tramp-maybe-open-connection', this happens implicitly by
	`tramp-send-command'.

	* lisp/net/tramp.el (tramp-methods): Adapt docstring.

	* test/lisp/net/tramp-tests.el (tramp-test40-special-characters)
	(tramp-test40-special-characters-with-stat)
	(tramp-test40-special-characters-with-perl)
	(tramp-test40-special-characters-with-ls): Don't skip for
	`tramp--test-windows-nt-and-scp-p'.

2021-05-06  Stefan Kangas  <stefan@marxist.se>

	Improve formatting in text-quoting-style docstring

	* src/doc.c (syms_of_doc) <text-quoting-style>: Doc fix; improve
	formatting for readability.

2021-05-06  Stefan Kangas  <stefan@marxist.se>

	Remove another variable alias obsolete since Emacs 23

	* lisp/menu-bar.el (menu-bar-files-menu): Delete variable alias for
	`menu-bar-file-menu'.
	* etc/NEWS: Announce its deletion.

2021-05-06  Mattias Engdegård  <mattiase@acm.org>

	Don't fail image-tests if JPEG format isn't compiled in

	* test/lisp/image-tests.el (image-type/from-filename):
	Make jpeg test conditional.  Test pbm (always present).

2021-05-06  Mattias Engdegård  <mattiase@acm.org>

	Tidy file-matching regexps and remove some ineffective backslashes

	* lisp/emacs-lisp/package.el (package--delete-directory):
	* lisp/net/tramp-cmds.el (tramp-recompile-elpa):
	Escape dot; replace $ with \'.
	* lisp/help.el (help-for-help):
	* lisp/transient.el (transient-font-lock-keywords):
	Remove useless backslashes.

2021-05-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make (setf (map-elt ...)) return the value in the alist/plist cases

	* lisp/emacs-lisp/map.el (map-elt): Return the value in the list
	case (which can signal a `map-not-inplace' error.
	(map-elt): Return the value in the list case, too (bug#47572).

2021-05-06  Matt Armstrong  <matt@rfc20.org>

	Add tests for `map-elt'

	* test/lisp/emacs-lisp/map-tests.el: Add (failing) tests for `map-elt'
	(bug#47572).

2021-05-06  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#47625 in dired

	* lisp/dired-aux.el (dired-create-files): Check, that
	`dired-do-symlink' does not create symlinks on different hosts.
	(Bug#47625)

2021-05-06  Alan Mackenzie  <acm@muc.de>

	Fix wrong handling of minibuffers when frames get iconified/made invisible

	This should fix bug #47766.

	* lisp/window.el (window-deletable-p): Add a quote where it was missing from
	minibuffer-follows-selected-frame.

	* src/frame.c (check_minibuf_window): Delete the function.
	(delete_frame): In place of calling check_minibuf_window, call
	move_minibuffers_onto_frame, possibly to move minibuffers onto the new current
	frame.
	(Fmake_frame_invisible, Ficonify_frame): Remove calls to check_minibuf_window.

	* src/minibuf.c (Factive_minibuffer_window): Search the frames for the active
	minibuffer rather than just assuming minibuf_window has been correctly
	updated.

2021-05-06  Harald Jörg  <haj@posteo.de>

	cperl-mode: Eliminate bad interpretation of ?foo?

	* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Delete
	?? from the allowed bare regexp delimiters.
	(cperl-short-docs): Delete ?...? from the documentation.

	* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug-47598):
	Add tests for good, bad, and ambiguous use of ? as regex
	delimiter (bug#47598).

2021-05-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Only look at the headers when computing the envelope from address

	* lisp/mail/smtpmail.el (smtpmail-send-it)
	(smtpmail-send-queued-mail, smtpmail-via-smtp):
	* lisp/mail/sendmail.el (sendmail-send-it): Only look at the
	headers when computing the envelope from (bug#47616).

2021-05-06  Dmitrii Kuragin  <dkuragin@ya.ru>  (tiny change)

	Fix ispell program comparison

	* lisp/textmodes/ispell.el (ispell-set-spellchecker-params):
	Compare strings with `equal', not `eq' (since the identity of the
	string may change) (bug#48246).

2021-05-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make Info completion more robust

	* lisp/info.el (Info-build-node-completions): Don't signal an
	error if there are no nodes in the file we're computing
	completions over (bug#47771).

2021-05-06  Daniel Martín  <mardani29@yahoo.es>

	Add a help option to the open large files prompt

	* lisp/files.el (files--ask-user-about-large-file-help-text): New
	function that returns information about opening large files in
	Emacs.  (Bug#45412)
	(files--ask-user-about-large-file): Use read-multiple-choice to
	display the available actions.
	* etc/NEWS: Advertise the new feature.

2021-05-06  Daniel Martín  <mardani29@yahoo.es>

	Extend read-multiple-choice to support free-form help descriptions

	* lisp/emacs-lisp/rmc.el (read-multiple-choice): Add a new argument to
	override the default help description in `read-multiple-choice'.  Use
	the `help-char' variable instead of ?\C-h.  Also support the `edit'
	action from `query-replace-map', so that help links can be visited by
	entering a recursive edit.

2021-05-05  Karl Fogel  <kfogel@red-bean.com>

	New option to confirm deletion in bookmark menu

	* lisp/bookmark.el (bookmark-menu-confirm-deletion): New defcustom.
	(bookmark-delete-all): Add comment explaining why we don't use the new
	confirmation formula here.
	(bookmark-bmenu-execute-deletions): Conditionally confirm deletion.
	Note that the bulk of the code diff here is just reindentation of an
	otherwise unchanged `let' expression.

	* etc/NEWS: Announce the new option.

	Thanks to Lars Ingebrigtsen and Eli Zaretskii for review, and thanks
	to Oliver Taylor for suggesting the option in the first place:

	  https://lists.gnu.org/archive/html/emacs-humanities/2021-02/msg00022.html
	  From: Oliver Taylor
	  Subject: Re: [emacs-humanities] Extending Emacs Bookmarks to Work with EWW
	  To: Karl Fogel
	  Cc: Stefan Kangas, Emacs-humanities mailing list
	  Date: Wed, 3 Feb 2021 20:21:59 -0800
	  Message-Id: <936D47EA-4D11-452B-8303-971B6386877B@me.com>

2021-05-05  Andrea Corallo  <akrl@sdf.org>

	Rename feature `nativecomp' into `native-compile'

	* test/src/comp-tests.el : Rename feature `nativecomp' into
	`native-compile'.
	* test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Likewise.
	* src/comp.c (syms_of_comp): Likewise.
	* lisp/startup.el (normal-top-level): Likewise.
	* lisp/loadup.el: Likewise.
	* lisp/help.el (help-function-arglist): Likewise.
	* lisp/emacs-lisp/package.el (package--native-compile-async)
	(package--delete-directory): Likewise.
	* lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise.
	* lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Likewise.
	* lisp/emacs-lisp/advice.el (ad-add-advice): Likewise.

2021-05-05  Martin Rudalics  <rudalics@gmx.at>

	Fix setting of 'width' and 'height' frame parameters

	* src/frame.c (Fframe_parameters): Fix bogus setting of 'height'
	and 'width' parameters.

2021-05-05  Andrea Corallo  <akrl@sdf.org>

	* test/lisp/help-fns-tests.el (help-fns-test-lisp-defsubst): Fix (bug#48221).

2021-05-05  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Tweak how some Japanese punctuation chars are translated to ASCII

	* lisp/language/japan-util.el (japanese-symbol-table): Tweak
	Japanese punctuation character translation (bug#47767).

2021-05-05  Andrea Corallo  <akrl@sdf.org>

	Better identify native compiler presence in two tests.

	* test/lisp/help-fns-tests.el (help-fns-test-lisp-defun)
	(help-fns-test-lisp-defsubst): Better identify native-comp
	presence.

2021-05-05  Daniel Mendler  <mail@daniel-mendler.de>

	Don't bug out in `Info-goto-node' completion

	* lisp/info.el (Info-read-node-name-1): Don't bug out in the
	middle of completion, but return nil instead (and issue a message)
	(bug#47771).

2021-05-05  Boruch Baum  <boruch_baum@gmx.com>

	Fix error in ses.el when setting the current row

	* lisp/ses.el (ses-jump, ses-list-local-printers)
	(ses-list-named-cells): Use `user-error' for user errors.
	(ses-set-header-row): Function `ses-set-header-row' was
	determining the current row based upon variable `ses--curcell',
	but that variable is NIL until one begins an operation on a cell
	(eg. keybindings '=', '"'), so navigating to a row was
	insufficient to select that row, and further generated an ERROR
	because the code was not expecting a NIL value for variable
	`ses--curcell' (bug#47784).

2021-05-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow `C-x C-k l' to work even if `C-h l' is unbound

	* lisp/kmacro.el (kmacro-edit-lossage): `view-lossage' may be
	bound to a different key than `C-h l' (bug#47785).

2021-05-05  Matt Beshara  <m@mfa.pw>

	Remove unnecessary call to message in js.el

	* lisp/progmodes/js.el (js--end-of-defun-nested): Remove debugging
	message left over (bug#48234).

2021-05-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Use @defmac on eval-{and,when}-compile

	* doc/lispref/compile.texi (Eval During Compile):  Use @defmac
	instead of @defspec on two macros (bug#47862).

2021-05-05  Martin Rudalics  <rudalics@gmx.at>

	Fix two GTK3 event handling issues

	* src/xterm.c (handle_one_xevent): For GTK3 PropertyNotify and
	MapNotify events explicitly request the stored frame sizes when
	the frame changes from iconified to a non-hidden state
	(Bug#24526).  For Expose events do not change the frame's
	visibility or iconified state.  For FocusIn events on GTK3 do
	not apply the fix for Bug#42655.  The latter two changes are to
	avoid that plain invisible frames get reported as iconified.

2021-05-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the ELC+ELN lines line up with the other lines

2021-05-05  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Add new defvoo nnimap-keepalive-intervals to Gnus nnimap servers

	* lisp/gnus/nnimap.el (nnimap-keepalive-intervals): New per-server
	config for customizing when keepalive commands are sent.
	(nnimap-keepalive, nnimap-open-connection-1): Consult in these
	places.  Additionally, use nnimap-streaming -> t when sending the
	keepalive NOOP, so we don't wait for the response.
	* doc/misc/gnus.texi (Customizing the IMAP Connection): Document.

2021-05-04  Basil L. Contovounesios  <contovob@tcd.ie>

	Remove unused lexical variables in cc-defs.el

	* lisp/progmodes/cc-defs.el (c-sc-scan-lists-no-category+1+1)
	(c-sc-scan-lists-no-category+1-1, c-sc-scan-lists-no-category-1+1)
	(c-sc-scan-lists-no-category-1-1): Remove unused lexical variable
	'here' to pacify byte-compilation warnings in cc-engine.el.

2021-05-04  Andrea Corallo  <akrl@sdf.org>

	Do not try to load unexistent eln file if async compilation was skipped

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Don't try to
	load if the eln file was not produced.

2021-05-04  Eli Zaretskii  <eliz@gnu.org>

	Fix infloop in lsp-mode

	* src/indent.c (line_number_display_width): Make sure the selected
	window's buffer is current before using display code on it:
	redisplay assumes that the window's buffer is current at all
	times.  Reported by Evgeny Kurnevsky via lsp-mode's issue 1621,
	https://github.com/emacs-lsp/lsp-mode/issues/1621.

2021-05-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	40228fffd7 (origin/emacs-27) Fix code for newline-and-indent in skele...
	56c4c8ef32 * lisp/jka-compr.el (jka-compr-uninstall): Fix function re...

2021-05-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	101a049f55 Improve doc string of 'tab-width'.
	43c154404e * lisp/emacs-lisp/elp.el: Doc fixes.
	1984213f62 * lisp/emacs-lisp/pp.el: Doc fixes.
	6486c9dc73 * admin/make-tarball.txt: Note to update more files on web...

2021-05-04  Basil L. Contovounesios  <contovob@tcd.ie>

	Remove as of recently unused GDK macro

	Its only use was removed in the recent change of 2021-04-27 "Major
	rewrite of adjust_frame_size", announced in the following thread:
	https://lists.gnu.org/r/emacs-devel/2021-04/msg01162.html

	* src/gtkutil.c [USE_GTK && !HAVE_GTK3] (gdk_window_get_geometry):
	Remove unused macro to pacify -Wunused-macros build warning.

2021-05-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix inconsistent behavior in find-file-noselect when using nowarn

	* lisp/files.el (after-find-file): Behave the same in when
	warning/not warning (bug#47850).  This fixes this test case:
	(switch-to-buffer (find-file-noselect "non-existing-dir/test.el" t))
	which would leave the buffer read-only.

2021-05-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow TAB to go to a key in EPA key buffers

	* lisp/epa.el (epa--insert-keys): Allow TAB to go to the keys
	(bug#47876).

2021-05-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix doc marker for previous bookmark NEWS change

2021-05-04  Boruch Baum  <boruch_baum@gmx.com>

	Fontify lines when setting a bookmark

	* lisp/bookmark.el (bookmark-fontify): New user option (bug#48179).
	(bookmark-face): New face.
	(bookmark--fontify, bookmark--unfontify): New functions.
	(bookmark-set-internal, bookmark--jump-via, bookmark-delete): Use
	them.

2021-05-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure updating the animated image in all windows

	* lisp/image.el (image-show-frame): Simplify the window update --
	pass in the buffer, which is a noop if the buffer isn't displayed.

2021-05-04  Martin Rudalics  <rudalics@gmx.at>

	Fix a problem with x_set_tab_bar_lines (Bug#46827)

	* src/xfns.c (x_set_tab_bar_lines): Call
	x_change_tab_bar_height only if the number of tab bar lines
	changed from or to zero (Bug#46827).
	* src/xterm.c (x_make_frame_visible): Make frame_size_history
	update less noisy by doing it only if the frame wasn't visible
	before.

2021-05-03  Philip K  <philipk@posteo.net>

	project--buffer-list: Avoid Tramp buffers when possible

	* lisp/progmodes/project.el (project--buffer-list): Add
	file-remote-p check.

2021-05-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix unquoting of file names in subprocesses (Bug#48177)

	* lisp/files.el (file-name-non-special):
	Improve handling of inhibit-file-name-handlers.

	* src/callproc.c (Fcall_process, call_process): Unquote infile,
	error_file and output_file.  (Bug#48177)

	* test/lisp/files-tests.el (files-tests-file-name-non-special--subprocess)
	(files-tests-file-name-non-special-file-name-all-completions)
	(files-tests-file-name-non-special-file-name-completion): Adapt tests.

2021-05-03  Alan Third  <alan@idiocy.org>
	    martin rudalics  <rudalics@gmx.at>

	Fix incorrect resizing behavior on macOS (bug#48157, bug#48162)

	* src/nsterm.m ([EmacsView viewDidResize:]): The drawing buffer can be
	resized independently of Emacs's idea of the frame size.

2021-05-03  Lars Ingebrigtsen  <larsi@gnus.org>

	ediff shouldn't alter the kill ring when copying a diff

	* lisp/vc/ediff-util.el (ediff-copy-diff, ediff-pop-diff): Don't
	alter the kill ring (bug#47881).

2021-05-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Speed up animation of non-displayed buffers

	* lisp/image.el (image-show-frame): Don't force an update if the
	buffer with the animation isn't in a window (bug#47895).  Also
	just update the window in question.

2021-05-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Speed up animation of non-displayed images

	* lisp/image.el (image-animate): Only compute the animation data
	once -- this avoids recomputing the image on every iteration when
	the image is not displayed (bug#47895).

2021-05-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Note that function symbols are preferred in `add-hook'

	* lisp/subr.el (add-hook): Note that FUNCTION should preferably be
	a symbol (bug#47992).

2021-05-03  Steve Purcell  <steve@sanityinc.com>

	ruby-mode.el: puts and printf do not require args

	* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): puts and
	printf can be called without arguments, so the font locking of
	"bare" calls to either is incorrect.  The fix is to font-lock them
	as for other kernel methods which accepts zero or more arguments
	(bug#48180).

2021-05-03  Lele Gaifax  <lele@metapensiero.it>

	Align TUTORIAL.it to the English version

	* etc/tutorials/TUTORIAL.it: Reference 'describe-command' to replicate
	recent change.  Add also a space before '<Invio>' in several places,
	mimicking the usage of <Return> in the English version (bug#48183).

2021-05-02  Philipp Stephani  <phst@google.com>

	Fix code for newline-and-indent in skeleton language.

	The code for this is the symbol 'n', which is usually spelled as '\n'
	here, not the character ?\n.

	* doc/misc/autotype.texi (Skeleton Language): Fix item for
	newline-and-indent.

2021-05-02  Martin Rudalics  <rudalics@gmx.at>

	Add two changes announced but not included in previous commit

	* src/frame.c (adjust_frame_size): Remove extra
	inhibit_horizontal/_vertical checks.  Improve the implied
	resize check when INHIBIT equals 2.

2021-05-02  Stefan Kangas  <stefan@marxist.se>

	* etc/tutorials/TUTORIAL.sv: Adjust to latest change in TUTORIAL.

	* etc/tutorials/TUTORIAL.es: Adjust to latest change in TUTORIAL.

2021-05-02  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-defs.el (c-save-buffer-state): Amend debug
	spec, t to let*.

	This should solve part of bug #48100.

2021-05-02  Eli Zaretskii  <eliz@gnu.org>

	* etc/tutorials/TUTORIAL.he: Adjust to latest change in TUTORIAL.

2021-05-02  Stefan Kangas  <stefan@marxist.se>

	Add new help command 'describe-command'

	* lisp/help-fns.el (describe-command): New command.
	(help-fns--describe-function-or-command-prompt): New helper
	function to prompt for a function or function.  (Bug#46627)
	(describe-function): Use above new helper function.

	* lisp/help.el (help-map): Bind above new command to `C-h x'.
	(help-for-help): Add this new command to the help summary.
	* lisp/menu-bar.el (menu-bar-describe-menu): Add the new command to
	the help menu.

	* doc/emacs/help.texi (Help Summary, Name Help): Document
	'describe-command', and update documentation on 'describe-function'.
	* etc/tutorials/TUTORIAL: Change reference from 'describe-function' to
	'describe-command'.

2021-05-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/apropos.el (apropos-value, apropos-local-value): Tweak for lexbind

	Don't skip symbols for the nowadays lexically scoped local vars.

2021-05-02  Alan Third  <alan@idiocy.org>

	Fix crash when resizing GNUstep builds

	The toolkit can send far too many resize notifications, so be more
	careful when we take action after receiving one.

	* src/nsfns.m (ns_set_tool_bar_lines): Remove unneeded NSTRACE.
	* src/nsterm.m ([EmacsView viewDidResize:]): Don't report resizes to
	Emacs when the same change has already been reported and delayed.

2021-05-02  Stefan Kangas  <stefan@marxist.se>

	* lisp/help-macro.el: Doc fix.

2021-05-02  Stefan Kangas  <stefan@marxist.se>

	Bind S-SPC to scroll-down in help-for-help

	* lisp/help-macro.el (make-help-screen): Bind S-SPC to
	scroll-down.  Thanks to Dmitry Gutov <dgutov@yandex.ru>.

2021-05-02  Stefan Kangas  <stefan@marxist.se>

	Minor doc fixes in simple.el

	* lisp/simple.el (next-error-move-function)
	(next-error-found-function, next-error-found)
	(previous-error-no-select, eval-expression-get-print-arguments)
	(undo-adjust-elt, undo-adjust-beg-end): Minor doc fixes.

2021-05-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>

	Don't use pdumper-stats with unexec

	* lisp/emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): Check if
	pdumper-stats is bound before using it.

2021-05-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Inhibit lines in doc-view-mode

	* lisp/doc-view.el (doc-view-mode): Inhibit line number modes
	(bug#47974).  Change suggested by Gregory Heytings.

2021-05-02  Eric Skoglund  <eric@pagefault.se>

	Add newline and tab matching documentation to query-replace-regexp

	* lisp/replace.el: Add \n and \t matching information to
	query-replace-regexp docstring (bug#47981).

2021-05-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak filtering some more

	This should get the ./temacs continuation lines right.

2021-05-02  Martin Rudalics  <rudalics@gmx.at>

	Make adjust_frame_size set up frame's new_width/_height too (Bug#17120)

	The purpose of this change is to have implied frame size changes
	pick up sizes requested by previous explicit size changes not
	only after they have been confirmed by the WM but already when
	they are initially passed to adjust_frame_size (Bug#17120).

	* src/dispextern.h (delayed_size_change): Remove extern.
	* src/dispnew.c (delayed_size_change): Make static again.
	(do_pending_window_change): Call change_frame_size only if F's
	new_size_p flag is set.
	(change_frame_size_1): Set/reset F's new_size_p flag
	* src/frame.c (adjust_frame_size): Remove extra
	inhibit_horizontal/_vertical checks.  Improve the implied
	resizes check with INHIBIT equals 2.  Set F's new_width and
	new_height and reset F's new_size_p flag when we run
	set_window_size_hook with INHIBIT 0 or 1.
	* src/frame.h (struct frame): New bit slot new_size_p.
	* src/gtkutil.c (xg_frame_resized): Use F's new_size_p flag
	instead of delayed_size_change to decide whether to call
	change_frame_size.
	(xg_frame_set_char_size): Call frame_size_history_extra before
	waiting for the ConfigureNotify event.
	* src/xterm.c (handle_one_xevent): Use F's new_size_p flag
	instead of delayed_size_change to decide whether to call
	change_frame_size.

2021-05-02  Boruch Baum  <boruch_baum@gmx.com>

	Suppress false positives in apropos-value

	* lisp/apropos.el (apropos-value): Skip more apropos-internal
	variables (bug#48063).
	(apropos-value-internal): Skip the first value in the history
	values, which always contains the match.

2021-05-02  Philipp Stephani  <phst@google.com>

	* lisp/jka-compr.el (jka-compr-uninstall): Fix function reference.

2021-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (newline): Make the hook function remove itself

	(copy-region-as-kill, kill-ring-save): Simplify interactive spec.

2021-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (completing-read-default): Fix bug#45474

	Set `minibuffer-completion-*` variables buffer-locally instead of using
	a global let-binding.  This should also help make completion work
	correctly when multiple minibuffers are simultaneously active.

2021-05-01  Alan Third  <alan@idiocy.org>

	Fix infinite loop on GNUstep when toolbar updated

	* src/nsterm.m ([EmacsView viewDidResize:]): Use Emacs's existing
	knowledge of the frame size to decide whether to resize or not.

2021-05-01  Alan Third  <alan@idiocy.org>

	Fix NS build warnings

	* src/nsfns.m (Fx_create_frame): Remove unused variables.

2021-05-01  Jim Porter  <jporterbugs@gmail.com>

	Fix GUD overlay arrows in gdb-mi when debugging over Tramp

	* lisp/progmodes/gdb-mi.el (gdb-frame-handler): Use local part of
	file name when setting `gud-last-frame'.

2021-04-30  Stefan Kangas  <stefan@marxist.se>

	Advertise PgUp/PgDn instead of SPC/DEL in help-for-help

	* lisp/help-macro.el (make-help-screen):
	* lisp/help.el (help-for-help): Advertise PgUp/PgDn instead of
	SPC/DEL.

2021-04-30  Mattias Engdegård  <mattiase@acm.org>

	Don't signal scan-error in interactive sexp-based commands

	This takes care of unfinished business from df0f32f04850 (bug#43489).

	* lisp/emacs-lisp/lisp.el (end-of-defun, mark-defun):
	* lisp/reposition.el (reposition-window):
	* lisp/simple.el (transpose-sexps): Convert nasty-looking scan-error
	into a human-readable message.

2021-04-30  Eli Zaretskii  <eliz@gnu.org>

	Fix the unexec build on MS-Windows

	* src/buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: If dumped
	with unexec, be sure to map new memory also for the " prin1"
	buffer.  For the reasons and discussion, see
	https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg01401.html.

2021-04-30  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string of 'tab-width'.

	* src/buffer.c (syms_of_buffer) <tab-width>: Clarify doc string.
	(Bug#48058)

2021-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Alter `gnus-article-show-images' to re-display with images installed

	* lisp/gnus/gnus-art.el (gnus-article-show-images): Reselect to
	display HTML images.

2021-04-30  Eli Zaretskii  <eliz@gnu.org>

	Improve support for 'display-line-numbers-width-start'

	* lisp/display-line-numbers.el (display-line-numbers-width-start):
	Allow the value to be a number.  (Bug#48095)
	(display-line-numbers-mode): Handle
	'display-line-numbers-width-start' whose value is a number.

2021-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/doc.c (Fsnarf_documentation): Fix bug#48019

	Don't presume that `custom-delayed-init-variables` holds a list.

2021-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/supercite.el (sc-select-attribution): Fix lexical conversion

	Mark `citation` and `attribution` as dynamically scoped around
	`sc-attribs-postselect-hook`, as documented in the function's docstring.

2021-04-29  Andrea Corallo  <akrl@sdf.org>

	Improve `comp-normalize-valset' reproducibility (bug#48021)

	* lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Make
	it more reproducible.

2021-04-29  Glenn Morris  <rgm@gnu.org>

	Automatically generate texinfo.el internal autoloads

	* lisp/textmodes/texinfo.el: Replace manual autoloads.
	* lisp/textmodes/makeinfo.el (makeinfo-region, makeinfo-buffer)
	(makeinfo-recenter-compilation-buffer):
	* lisp/textmodes/texnfo-upd.el (texinfo-make-menu)
	(texinfo-all-menus-update, texinfo-start-menu-description)
	(texinfo-indent-menu-description, texinfo-master-menu)
	(texinfo-update-node, texinfo-every-node-update)
	(texinfo-sequential-node-update, texinfo-insert-node-lines)
	(texinfo-multiple-files-update):
	Add autoload cookies, and set generated-autoload-file.

2021-04-29  Stefan Kangas  <stefan@marxist.se>

	* lisp/emacs-lisp/elp.el: Doc fixes.

2021-04-29  Michael Albinus  <michael.albinus@gmx.de>

	Some Tramp corrections, Bug#48067

	* doc/misc/tramp.texi (Frequently Asked Questions): Rephrase GNU
	ELPA warnings.

	* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter):
	Improve handling of gio warning.  (Bug#48067)

2021-04-29  Stefan Kangas  <stefan@marxist.se>

	* lisp/emacs-lisp/pp.el: Doc fixes.

	* lisp/emacs-lisp/shortdoc.el: Doc fixes.

2021-04-29  Dmitry Gutov  <dgutov@yandex.ru>

	* lisp/progmodes/project.el: Also bump version.

	* lisp/progmodes/xref.el: Bump version.

2021-04-28  Juri Linkov  <juri@linkov.net>

	* lisp/window.el (window--state-put-2): Set next/prev-buffers even to nil.

	When next-buffers or prev-buffers are nil, still use set-window-next-buffers
	or set-window-prev-buffers to set next/prev-buffers to nil.  (Bug#46904)

2021-04-28  Andrea Corallo  <akrl@sdf.org>

	Add a note related to native compilation and Dynamic Binding

	* doc/lispref/variables.texi (Dynamic Binding): Add a note
	related to native compilation.

2021-04-28  Michael Albinus  <michael.albinus@gmx.de>

	Tramp code cleanup

	* lisp/net/tramp-archive.el (tramp-archive-handle-insert-file-contents):
	Code cleanup.

	* lisp/net/tramp.el: Reload `tramp-compat' when we reload
	`tramp-autoloads'.
	(with-tramp-file-property, with-tramp-connection-property):
	Use `tramp-cache-undefined'.
	(tramp-autoload-file-name-handler): Do not load tramp-compat.el.
	(tramp-handle-insert-file-contents): Code cleanup.

2021-04-28  Michael Albinus  <michael.albinus@gmx.de>

	Fix gio warning in Tramp

	* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter):
	Improve handling of gio warning.  (Bug#48067)

2021-04-28  Eli Zaretskii  <eliz@gnu.org>

	Doc fixes in avl-tree.el

	* lisp/emacs-lisp/avl-tree.el (avl-tree--root)
	(avl-tree--dir-to-sign, avl-tree--sign-to-dir)
	(avl-tree--del-balance, avl-tree--enter-balance)
	(avl-tree--do-copy, avl-tree--stack-repopulate, avl-tree-empty)
	(avl-tree-delete, avl-tree-member, avl-tree-member-p)
	(avl-tree-map, avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar)
	(avl-tree-copy, avl-tree-clear, avl-tree-stack)
	(avl-tree-stack-first): Fix doc strings to be less verbose and to
	have the first line a complete sentence.

2021-04-28  Stefan Kangas  <stefan@marxist.se>

	* lisp/emacs-lisp/avl-tree.el: Minor doc fixes.

	* admin/make-tarball.txt: Note to update more files on web page.

2021-04-28  Michael Albinus  <michael.albinus@gmx.de>

	Improve add-log-current-defun-header-regexp

	* lisp/vc/add-log.el (add-log-current-defun-header-regexp):
	Allow digits.  Require at least one letter.  (Bug#48037)

2021-04-28  Peter Oliver  <p.d.oliver@mavit.org.uk>

	Add tests

	* test/lisp/progmodes/ruby-mode-tests.el (ruby-with-temp-file): New helper.
	(ruby--set-encoding-when-ascii, ruby--set-encoding-when-utf8)
	(ruby--set-encoding-when-latin-15): Tests for the previous commit (bug#48043).

2021-04-28  Dmitry Gutov  <dgutov@yandex.ru>

	Don't add magic comment to Ruby files for utf-8 encoding

	* lisp/progmodes/ruby-mode.el (ruby-encoding-map):
	Add entry for utf-8 (bug#48043).
	(ruby--detect-encoding): Don't convert to string too early, so
	that returning nil is meaningful.
	(ruby-mode-set-encoding): Convert to string here.

2021-04-27  Andrea Corallo  <akrl@sdf.org>

	Clean-up temporary eln test-suite directory when exiting (bug#48060)

	* lisp/startup.el (normal-top-level): Remove eln test-suite temp
	dir when exiting.

2021-04-27  Andrea Corallo  <akrl@sdf.org>

	Have `comp-cstr-intersection-no-mem' intersect pos neg value sets

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-mem):
	intersect pos and neg value sets
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add two tests and fix some
	test number.

2021-04-27  Stefan Kangas  <stefan@marxist.se>

	Avoid missing whitespace in help-for-help

	* lisp/help.el (help--for-help-make-commands): Avoid missing
	whitespace before description of command.
	Problem reported by Dmitry Gutov <dgutov@yandex.ru>.

2021-04-27  Michael Albinus  <michael.albinus@gmx.de>

	Fix loading problem in Tramp

	* lisp/net/tramp.el (tramp-autoload-file-name-handler): Load also
	tramp-compat.el.

2021-04-27  Daniel Mendler  <mail@daniel-mendler.de>

	(affixation-function): Allow only three-element list elements

	Restrict the definition of the `affixation-function`.  The function
	must return a list of three element lists.  Since the
	`affixation-function` is part of the widely used `completing-read` API
	a simplification is helpful for both authors of completion UIs and
	authors of completion tables.

	* doc/lispref/minibuf.texi: Update documentation.
	* lisp/minibuffer.el: Update documentation.
	* lisp/simple.el (read-extended-command--affixation):
	Return three-element lists.

	https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg01193.html

2021-04-27  Mattias Engdegård  <mattiase@acm.org>

	Calc: control digits after decimal point (bug#47302)

	Calc normally displays a trailing decimal point for floats with no
	fractional part, like '12.'. Some uses require at least one digit
	after the point; add the governing variable calc-digit-after-point.

	* lisp/calc/calc.el (calc-digit-after-point): New variable.
	(math-format-number): Use it.
	* test/lisp/calc/calc-tests.el (calc-display-digit-after-point):
	New test.

2021-04-27  Martin Rudalics  <rudalics@gmx.at>

	Major rewrite of adjust_frame_size

	Have adjust_frame_size pass native frame sizes to backends
	instead of text sizes.  Expand frame size history management.
	Drop PIXELWISE argument from change_frame_size and convert
	native to text sizes only when calling adjust_frame_size.  Use
	convention in arguments that -1 instead of 0 means that no size
	change is required.  When adjusting frame sizes pick up delayed
	size changes (Bug#46827).

	* lisp/frame.el (frame-notice-user-settings, make-frame): Don't
	set frame size history.
	(frame--size-history): Rewrite doc-string.  Handle new formats
	of `frame-size-history' entries.
	* src/dispextern.h (delayed_size_change): Extern it.
	(change_frame_size): Drop last argument from extern.
	* src/dispnew.c (delayed_size_change): Make it global.
	(handle_window_change_signal): Reformat.  Drop last argument
	from change_frame_size call.
	(do_pending_window_change, init_display_interactive): Drop last
	argument from change_frame_size call.
	(change_frame_size_1): NEW_WIDTH and NEW_HEIGHT now specify
	native sizes.  Drop last argument PIXELWISE.  Queue a change
	when it either differs from F's current pixel sizes or F's
	previously queued sizes.  Inject frame_size_history_extra call
	when queuing.  Adopt convention that for queued sizes -1 means
	that no size change is required.  Convert from native to text
	sizes when calling adjust_frame_size.
	(change_frame_size): Drop last argument PIXELWISE and drop it
	also in change_frame_size_1 calls.
	* src/frame.c (frame_size_history_add): Remove.
	(frame_inhibit_resize): Remove call to frame_size_history_add.
	(set_menu_bar_lines, set_tab_bar_lines): Simplify.  Drop last
	argument from change_frame_size call.
	(frame_windows_min_size): No more static.
	(keep_ratio): Minor rewrite using macros.
	(frame_size_history_adjust, frame_size_history_plain)
	(frame_size_history_extra): New functions.
	(adjust_frame_size): Major rewrite.  Adopt new convention that
	negative values for new sizes mean no change.  Pick up delayed
	size changes from F's new_width and new_height slots
	(Bug#46827).  Call set_window_size_hook with native instead of
	text sizes.  Do not sanitize window sizes any more.  Call
	frame_size_history_adjust instead of frame_size_history_add.
	Always set F's resized_p slot to true.
	(make_frame): Initialize new_width and new_height slots to -1.
	Simplify setup of initial sizes and an adjust_frame_size call.
	(Fframe_parameters): Drop processing F's new_pixelwise slot.
	(check_frame_pixels): Reorder to make declarations appear first.
	(Fset_frame_height, Fset_frame_width, Fset_frame_size): Pass
	explicit width and height values to adjust_frame_size instead of
	-1.
	(gui_set_frame_parameters): Minor rewrite making sure that
	explicit sizes and the corresponding parameter are passed to
	adjust_frame_size.  Remove frame_size_history_add call.
	(gui_figure_window_size): Drop last two arguments.  Simplify
	assignment of initial size.  Set new_height and new_width slots
	to -1.  Use adjust_frame_size to set sizes instead of returning
	them to caller.
	(syms_of_frame): Drop symbols used by frame size history; these
	are now built on-the-fly.  Also drop some menu bar related
	symbols in favor of Qmenu_bar_lines.
	* src/frame.h (struct frame): Remove new_pixelwise.
	(SET_FRAME_COLS, SET_FRAME_LINES, SET_FRAME_WIDTH)
	(SET_FRAME_HEIGHT): Remove macros.
	(frame_size_history_add): Remove externs.
	(frame_windows_min_size, frame_size_history_plain)
	(frame_size_history_extra): Add externs.
	(FRAME_WINDOWS_WIDTH, FRAME_WINDOWS_HEIGHT): Rename to
	FRAME_INNER_WIDTH and FRAME_INNER_HEIGHT.
	(gui_figure_window_size): Drop last two arguments from
	extern.
	* src/gtkutil.c (xg_frame_resized): Rename arguments to WIDTH
	and HEIGHT.  Consult delayed_size_change to handle case where
	WIDTH and HEIGHT do not match F's new_width and new_height
	values.  Call change_frame_size with native sizes and without
	PIXELWISE argument.  Instead of frame_size_history_add call
	frame_size_history_extra.
	(xg_frame_set_char_size): WIDTH and HEIGHT are native sizes now;
	fix adjust_frame_size call accordingly.  Instead of
	frame_size_history_add call frame_size_history_extra.
	(style_changed_cb): Call xg_frame_set_char_size with native
	instead of text sizes.
	(tb_size_cb): Remove frame_size_history_add call.  Call
	adjust_frame_size with INHIBIT 5.
	(free_frame_tool_bar, xg_change_toolbar_position): Remove
	frame_size_history_add call.
	(update_frame_tool_bar): Call adjust_frame_size with INHIBIT 2
	and let it handle frame_inhibit_implied_resize and
	fullheight/-width.  Remove frame_size_history_add call.
	* src/keyboard.c (Fsuspend_emacs): Call change_frame_size with
	native sizes.
	* src/nsfns.m (ns_set_tool_bar_lines): Call adjust_frame_size
	with INHIBIT 2 and let it handle frame_inhibit_implied_resize
	and fullheight/-width.  Remove frame_size_history_add call.
	(Fx_create_frame): Drop two last arguments in
	gui_figure_window_size call.  Do not SET_FRAME_WIDTH and
	SET_FRAME_HEIGHT, the adjust_frame_size in
	gui_figure_window_size did that already.
	* src/nsterm.m (ns_set_window_size): Drop PIXELWISE argument and
	its processing; WIDTH and HEIGHT represent native pixel sizes
	now.  Call change_frame_size with native sizes.  Remove call to
	frame_size_history_add.
	([EmacsView viewDidResize:]): Call change_frame_size with native
	sizes.
	* src/term.c (Fresume_tty): Call change_frame_size with native
	sizes.
	* src/termhooks.h (*set_window_size_hook): Drop last argument
	PIXELWISE.
	* src/w32fns.c (w32_change_tab_bar_height)
	(w32_change_tool_bar_height): Fix handling of these in the initial
	phase before they have been resized at least once.
	(Fx_create_frame, w32_create_tip_frame): Drop two last arguments
	in gui_figure_window_size call.  Do not SET_FRAME_WIDTH and
	SET_FRAME_HEIGHT (or SET_FRAME_COLS and SET_FRAME_LINES), the
	adjust_frame_size in gui_figure_window_size did that already.
	* src/w32inevt.c (resize_event, maybe_generate_resize_event):
	Pass native sizes to change_frame_size.
	* src/w32term.c (w32_read_socket): When WM_WINDOWPOSCHANGED pass
	native sizes to change_frame_size.
	(w32_new_font): Recalculate FRAME_TAB_BAR_HEIGHT.  Simplify
	code.
	(w32fullscreen_hook): Call change_frame_size with native sizes.
	(w32_set_window_size): Drop argument PIXELWISE and its
	processing; WIDTH and HEIGHT are native sizes now.  Remove
	frame_size_history_add calls.  Pass native sizes to
	change_frame_size.
	* src/widget.c (set_frame_size): Set width and height of widget
	directly.  Call frame_size_history_plain instead of
	frame_size_history_add.
	(update_from_various_frame_slots): Call
	frame_size_history_extra.
	(EmacsFrameRealize): Call frame_size_history_plain.
	(EmacsFrameResize): Call change_frame_size with native sizes.
	Call frame_size_history_extra instead of frame_size_history_add.
	(EmacsFrameSetCharSize): Call frame_size_history_extra.  Drop
	PIXELWISE argument in x_set_window_size call and specify pixels.
	(pixel_to_text_size): Remove function.
	* src/xdisp.c (resize_mini_window): Replace FRAME_WINDOWS_HEIGHT
	with FRAME_INNER_HEIGHT.
	(redisplay_tab_bar): Don't set tab_bar_redisplayed when we did
	not redisplay it.
	(redisplay_tool_bar): Don't call it for external tool bar.
	Don't set tool_bar_redisplayed when we did not redisplay it.
	(redisplay_window): When the tool bar is external call
	update_frame_tool_bar directly.
	* src/xfns.c (x_set_menu_bar_lines): Call adjust_frame_size only
	if number of menu bar lines changed and fix 6th argument.
	(x_change_tab_bar_height, x_change_tool_bar_height): Fix
	handling of these in the initial phase before they have been
	resized at least once.
	(Fx_create_frame, x_create_tip_frame): Drop two last arguments
	in gui_figure_window_size call.  Do not SET_FRAME_WIDTH and
	SET_FRAME_HEIGHT (or SET_FRAME_COLS and SET_FRAME_LINES), the
	adjust_frame_size in gui_figure_window_size did that already.
	* src/xmenu.c (update_frame_menubar): Fix 6th arg of
	adjust_frame_size call.
	(free_frame_menubar): For Motif frames fix fullscreen and
	`frame-inhibit-implied-resize' handling.  Fix 6th arg of
	adjust_frame_size calls.
	* src/xterm.c (x_net_wm_state): Remove call to
	frame_size_history_add.
	(handle_one_xevent): For PropertyNotify and UnmapNotify events
	add frame_size_history_plain calls.  For MapNotify and
	ConfigureNotify events add a frame_size_history_extra call.  For
	ConfigureNotify events also handle delayed size changes and call
	change_frame_size with native sizes.
	(x_new_font): Recalculate FRAME_TAB_BAR_HEIGHT.  Simplify code.
	(x_handle_net_wm_state): Remove frame_size_history_add call.
	(x_check_fullscreen): Remove frame_size_history_add call.  Call
	change_frame_size with native height.
	(x_set_window_size_1): WIDTH and HEIGHT are now native.  Remove
	some frame_size_history_add calls and add frame_size_history_extra
	calls instead.  If the frame is not visible call adjust_frame_size
	directly instead of calling change_frame_size.
	(x_set_window_size): Drop PIXELWISE argument.  WIDTH and HEIGHT
	represent native sizes now.
	(x_make_frame_visible, x_make_frame_invisible): Call
	frame_size_history_plain.
	* src/xterm.h (x_set_window_size): Drop last argument from
	extern declaration.

2021-04-27  Glenn Morris  <rgm@gnu.org>

	Doc fixes for comp.el

	* lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list)
	(comp-bootstrap-deny-list, comp-pred-to-cstr, make-comp-mvar)
	(comp-mvar-used-p, comp-async-compilation): Doc fixes.

2021-04-27  Glenn Morris  <rgm@gnu.org>

	Fix some custom types in comp.el

	* lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list)
	(comp-bootstrap-deny-list, comp-never-optimize-functions)
	(comp-async-env-modifier-form, comp-native-driver-options):
	Fix :type (`list' on its own isn't even a valid type).

2021-04-27  Amin Bandali  <bandali@gnu.org>

	* lisp/erc/erc.el: Add past maintainer Michael Olson to Contributors.

2021-04-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warnings in non-toolkit builds

	* src/xterm.c (x_create_toolkit_scroll_bar)
	(x_create_horizontal_toolkit_scroll_bar): String constants for
	XtSetArg are defined as const strings (in
	/usr/include/X11/Xaw3d/ThreeD.h, for instance), but the argument
	in XtSetArg is defined as either a const char* or a regular char*
	in /usr/include/X11/Intrinsic.h.  Cast the argument to String
	(which should be correct on all platforms, hopefully) to avoid a
	compilation warning (bug#47452).

2021-04-27  Stefan Kangas  <stefan@marxist.se>

	Rename abnormal hook to comp-async-cu-done-functions

	* lisp/emacs-lisp/comp.el (comp-async-cu-done-functions): Rename
	from 'comp-async-cu-done-hook' to reflect that it is an abnormal
	hook.  Doc fix and update single caller.

2021-04-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix failing subr test

	* test/lisp/subr-tests.el (subr-tests-bug22027): Fix mocked
	signature of `read-string' (bug#48022).

2021-04-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix failing auth-source test

	* test/lisp/auth-source-tests.el
	(auth-source-test-secrets-create-secret): Fix test failing because
	the mocked `read-string' had the wrong interface.

2021-04-27  Adam Sjøgren  <asjo@koldfront.dk>

	Ensure that we get an X-Draft-From headers

	* lisp/gnus/gnus-msg.el (gnus-setup-message): Ensure that we get an
	X-Draft-From headers (bug#48049).

2021-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el: Fix use of `find-library-name`

	That function caused a warning for a good reason.
	Don't just declare it and hope it will be available.

	(package--list-of-conflicts): Require `find-func` explicitly before
	declaring the function.  Also don't ignore all errors but only
	the `file-error`s which will be emitted by `find-library-name`
	in normal circumstances.

	* lisp/emacs-lisp/find-func.el (find-library-name): Signal a `file-error`
	Instead of a generic `error`.

2021-04-26  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp-cstr.el (comp-ctxt): Initialize it.

2021-04-26  Andrea Corallo  <akrl@sdf.org>

	Rework where `comp-ctxt' is defined.

	* test/lisp/emacs-lisp/comp-cstr-tests.el (comp-ctxt): Remove
	`comp-ctxt' definition.
	* lisp/emacs-lisp/comp.el (comp-ctxt): Likewise.
	* lisp/emacs-lisp/comp-cstr.el (comp-ctxt): Define it here.

2021-04-26  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el: Make it loadable in vanilla builds (bug#48021).

	* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix string-search.

2021-04-26  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Small tweaks to gnus-registry reindexing messaging

	* lisp/gnus/gnus-registry.el (gnus-registry-fixup-registry): Use
	`seq-set-equal-p' so we don't care about list element ordering.  Don't
	show messages within `registry-reindex' if we aren't at gnus-verbose
	level 9.

2021-04-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous emake adjustment

2021-04-26  Andrea Corallo  <akrl@sdf.org>

	Make use of `ert-resource-file' `ert-resource-directory' in comp-tests

	* test/src/comp-resources/comp-test-pure.el: Rename.
	* test/src/comp-resources/comp-test-funcs.el: Likewise.
	* test/src/comp-resources/comp-test-funcs-dyn.el: Likewise.
	* test/src/comp-resources/comp-test-45603.el: Likewise.
	* test/src/comp-tests.el (comp-test-src, comp-test-dyn-src): Use
	`ert-resource-file'.
	(comp-tests-bootstrap): Use ert-resource-directory.
	(comp-tests-45603-1, comp-tests-pure): Use `ert-resource-file'.

2021-04-26  Andrea Corallo  <akrl@sdf.org>

	Use `expand-file-name' in place of `concat' in comp-tests.el

	* test/src/comp-tests.el (comp-test-src,
	comp-test-dyn-src) (comp-tests-bootstrap, comp-tests-pure,
	comp-test-src): Use `expand-file-name' in place of `concat'.

2021-04-26  Andrea Corallo  <akrl@sdf.org>

	Move native compiler test data into proper directory (bug#48031)

	* test/src/comp-tests-resources/comp-test-45603.el: Rename.
	* test/src/comp-tests-resources/comp-test-funcs-dyn.el: Likewise.
	* test/src/comp-tests-resources/comp-test-funcs.el: Likewise.
	* test/src/comp-tests-resources/comp-test-pure.el: Likewise.
	* test/src/comp-tests.el (comp-test-directory): Update.

2021-04-26  Andrea Corallo  <akrl@sdf.org>

	* test/src/comp-tests.el: Fix it for non native compiled build (bug#48031).

2021-04-26  Andrea Corallo  <akrl@sdf.org>

	Fix comp-cstr tests for vanilla build (bug#48021)

	* test/lisp/emacs-lisp/comp-cstr-tests.el (comp-ctxt): Fix tests
	for vanilla build (bug#48021)

2021-04-26  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-accept-and-process-async-output): Fix regexp.

2021-04-26  Michael Albinus  <michael.albinus@gmx.de>

	Some rearrangement in gitlab-ci.yml

	* test/infra/gitlab-ci.yml (test-filenotify-gio, test-gnustep):
	Add 'needs:' clause.
	(build-native-bootstrap-speed0, build-native-bootstrap-speed1)
	(build-native-bootstrap-speed2): Rename from 'test-*'.  Do not use
	'--without-makeinfo'.

2021-04-26  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>

	Fix typo in tramp-get-remote-gid

	* lisp/net/tramp.el (tramp-get-remote-gid): Pass the correct
	operation to find-file-name-handler.  (Bug#48026)

2021-04-26  Stefan Kangas  <stefan@marxist.se>

	* src/editfns.c (Fpropertize): Doc fix; reference Info manual.

2021-04-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/url/url-proxy.el (url-find-proxy-for-url): Minor simplification

2021-04-25  Andrea Corallo  <akrl@sdf.org>

	* lisp/startup.el (comp-eln-load-path): Silence a warning.

2021-04-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Hack around problems in Turkish environments in url-proxy

	* lisp/url/url-proxy.el (url-find-proxy-for-url): Work around a
	problem in Turkish language environments (where a downcased I is
	?ı (bug#44604).

2021-04-25  Stefan Kangas  <stefan@marxist.se>

	* lisp/emacs-lisp/comp.el (no-native-compile): Minor doc fixes.

	* lisp/help-macro.el: Remove stale Change Log.

2021-04-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust regexp to extra native-comp lines

2021-04-25  Andrea Corallo  <akrl@sdf.org>

	Merge branch 'feature/native-comp' into trunk

2021-04-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert window/winner changes (Revert 0454bfd3313)

	See bug#23621 for an explanation.

2021-04-25  Alan Mackenzie  <acm@muc.de>

	CC Mode: Get proper search limits in c-font-lock-cut-off-declarators

	* lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators): Instead of
	using a crude 2,000 characters back limit for backward searching, which is
	erroneous when that point is in a literal, use the already calculated
	c-determine-limit result.

2021-04-25  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	7d5b973959 (origin/emacs-27) * doc/misc/cl.texi (For Clauses): Minor ...
	4570781f8d ; * doc/lispref/files.texi (Directory Names): Add missing ...
	1b52fd538d Minor update for make-tarball.txt
	8efb8491b2 * doc/misc/cl.texi (Iteration Clauses): fix `never' clause...
	0873134682 ; Fix Texinfo in last change to minibuf.texi.
	cad8913c89 Improve filling-related documentation
	2b7eed23eb ; * doc/lispref/keymaps.texi (Easy Menu): Fix typo.
	47fc92cefc Fix reference to "yanking" in the main Emacs manual
	1789dcdb35 Improve documentation of 'map-y-or-n-p'

2021-04-25  Stefan Kangas  <stefan@marxist.se>

	Add more scroll key bindings to make-help-screen

	* lisp/help-macro.el (make-help-screen): Add bindings to scroll on
	<PageUp>, <PageDown>, <up>, <down>.

2021-04-25  Gregory Heytings  <gregory@heytings.org>  (tiny change)

	Fix the handling of the Delete key in help screens.

	* lisp/help-macro.el (make-help-screen): Handle the Delete key
	in help screens as in Emacs 23 and earlier.

2021-04-25  Stefan Kangas  <stefan@marxist.se>

	* lisp/ses.el: Doc fixes.

2021-04-25  Stefan Kangas  <stefan@marxist.se>

	Don't hard-code face of "Install" button

	* lisp/emacs-lisp/package.el (package-make-button): Use the
	'custom-button' face for the "Install" button.  (Bug#47944)

2021-04-25  Stefan Kangas  <stefan@marxist.se>

	Remove redundant #' before lambda in printing.el

	* lisp/printing.el (pr-menu-create, pr-eval-setting-alist)
	(pr-complete-alist, pr-file-list, pr-ps-file-list)
	(pr-insert-section-1, pr-insert-section-2)
	(pr-insert-section-4, pr-insert-section-5, pr-choice-alist)
	Remove redundant #' before lambda.

2021-04-25  Stefan Kangas  <stefan@marxist.se>

	* src/keyboard.c (Flossage_size): Improve prompt.

2021-04-25  Stefan Kangas  <stefan@marxist.se>

	Show correct lossage size in help-for-help

	* lisp/help.el (help-for-help): Show correct lossage size.  Add
	trailing newline.
	Suggested by Gregory Heytings <gregory@heytings.org>.

2021-04-25  Štěpán Němec  <stepnem@gmail.com>

	* doc/lispref/macros.texi (Eval During Expansion): Copy edit.

2021-04-25  Daniel Mendler  <mail@daniel-mendler.de>

	(completion-all-sorted-completions): Fix history use with boundaries

	Preprocess the history (and the default) through the new function
	`minibuffer--sort-preprocess-history` to filter out the completion
	base for completion tables with boundaries (in particular the file
	completion table).

	* lisp/minibuffer.el (minibuffer--sort-preprocess-history_: New function.
	(completion-all-sorted-completions): Use it.
	* test/lisp/minibuffer-tests.el (completion-all-sorted-completions):
	Add tests for various combinations of with/without history/base/default.

2021-04-24  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/project.el: Use project-prefixed-buffer-name in more places.

	(project-shell, project-eshell): Use project-prefixed-buffer-name (bug#47975).
	(project-compilation-buffer-name-function): Add :version tag.

2021-04-24  Philipp Stephani  <phst@google.com>

	* doc/misc/cl.texi (For Clauses): Minor copyedits.

2021-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mpc.el: Avoid (implicit) `eval`; prefer #' to quote function names

	(mpc-format): Compose functions instead of constructing
	source-code expressions at run time.
	Rename `mpc-pred` property to `mpc--uptodate-p`.
	(mpc-status-buffer-refresh): Adjust to the new property name.

2021-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/svg.el: Fix typo in sample code; add minor optimization

	(svg--elliptical-arc-command, svg--moveto-command)
	(svg--lineto-command): Use `mapcan`.

2021-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/macros.texi (Eval During Expansion): Fix fixme

2021-04-24  Glenn Morris  <rgm@gnu.org>

	Simplify top-level Makefile since admin is always included

	* Makefile.in (clean_dirs, distclean_dirs, maintainer_clean_dirs):
	Add admin directories.
	(clean, distclean, bootstrap-clean, maintainer-clean): Simplify.
	(maybeclean_dirs): Remove - this dates to when admin/ was not
	included in tar files.

2021-04-24  Stefan Kangas  <stefan@marxist.se>

	* lisp/help.el (help--for-help-make-sections): Fix typo.

2021-04-24  Stefan Kangas  <stefan@marxist.se>

	Redesign and improve the help-for-help (C-h C-h) command

	* lisp/help.el (help-for-help): Redesign help screen; add sections,
	rearrange and reword.
	(help-for-help-header): New face.
	(help--for-help-make-commands, help--for-help-make-sections): New
	functions.
	(help-for-help-buffer-name): New variable.

	* lisp/help-macro.el (make-help-screen): New optional argument
	BUFFER-NAME.  Fontify keys.

	This change was discussed in:
	https://lists.gnu.org/r/emacs-devel/2021-02/msg01695.html
	https://lists.gnu.org/r/emacs-devel/2021-03/msg00670.html
	https://lists.gnu.org/r/emacs-devel/2021-04/msg00292.html

2021-04-24  Eli Zaretskii  <eliz@gnu.org>

	Improve detection of pdumper file and *.eln files

	* src/emacs.c (load_pdump_find_executable): Resolve symlinks even
	if argv[0] includes leading directories.  (Bug#46790)

2021-04-24  Eli Zaretskii  <eliz@gnu.org>

	Minor update for make-tarball.txt

	* admin/make-tarball.txt (UPDATING THE EMACS WEB PAGES AFTER A
	RELEASE): Update and enhance the section to make it easier to find
	the banner and verify the updated pages are in place.

2021-04-24  Jorge P. de Morais Neto  <jorge+git@disroot.org>  (tiny change)

	* doc/misc/cl.texi (Iteration Clauses): fix `never' clause typo

	This fixes bug#47962.

2021-04-24  Eli Zaretskii  <eliz@gnu.org>

	Obsolete the TAB binding in *xref* buffers

	* doc/emacs/maintaining.texi (Xref Commands): Remove the
	description of the TAB binding.  Enhance the description of the
	RET binding.  (Bug#44611)

	* etc/NEWS: Announce the obsolescence of TAB binding in XREF.

	* lisp/progmodes/xref.el (xref-goto-xref): Improve doc string.

2021-04-24  Stefan Kangas  <stefan@marxist.se>

	* lisp/rot13.el: Improve documentation.  (Bug#47970)

2021-04-24  Eli Zaretskii  <eliz@gnu.org>

	Improve diagnostics of loading *.eln files

	* src/pdumper.c (dump_do_dump_relocation): Improve diagnostics
	when loading preloaded *.eln files fails.  (Bug#46790)

2021-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (remove-hook): Improve last change

	Don't put a `hook--depth-alist` property if there isn't one already.

2021-04-24  Amin Bandali  <bandali@gnu.org>

	Fix thinko introduced in the last ERC patch (bug#47788)

	* lisp/erc/erc-backend.el (erc-open-network-stream): Need to use apply
	to call open-network-stream with the supplied arguments because of the
	plist p of arguments.  Thanks to neverwas for pointing it out.

2021-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/files.el (minibuffer-with-setup-hook): Fix bug#46326

2021-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (add-hook): Try and fix bug#46326

	Use `eq` indexing on `hook--depth-alist`.

	(remove-hook): Remove old entries from `hook--depth-alist`.

2021-04-23  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p):

	Check, whether Tramp has a package description.

2021-04-23  Juri Linkov  <juri@linkov.net>

	* lisp/wdired.el (wdired--before-change-fn): Wrap body in save-match-data.

	Suggested by Michael Heerdegen <michael_heerdegen@web.de> (bug#14013)

2021-04-23  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent change in minibuf.texi

	* doc/lispref/minibuf.texi (Basic Completion)
	(Programmed Completion): Improve wording, punctuation, and markup
	of a recently-added text.

2021-04-23  Stefan Kangas  <stefan@marxist.se>

	* etc/NEWS: 'world-clock-mode' is no longer interactive.

2021-04-23  Philipp Stephani  <phst@google.com>

	Expand documentation on nontrivial completion boundaries.

	The interplay between nontrivial completion boundaries and the other
	completion functions is somewhat subtle, so it deserves a bit more
	explanation.

	* doc/lispref/minibuf.texi (Basic Completion)
	(Programmed Completion): Add a few more remarks about nontrivial
	completion boundaries.

2021-04-23  Philipp Stephani  <phst@google.com>

	Fix small bug in 'completion-table-subvert'.

	Even for a trivial underlying completion table (where the 'boundaries'
	action returns nil), we need to provide nontrivial boundaries so that
	they match the behavior of 'all-completions'.

	* lisp/minibuffer.el (completion-table-subvert): Return boundaries
	even for trivial underlying completion table.
	* test/lisp/minibuffer-tests.el (completion-table-subvert-test):
	Amend unit test to also test boundaries.  While there, also test
	the other completion functions.

2021-04-23  Eli Zaretskii  <eliz@gnu.org>

	Revert "Remove the binding for xref-quit-and-goto-xref"

	This reverts commit 522c34f0e80f60969861b0dc34bc7105249f9994.

	Making changes to which there was an explicit disagreement
	and a long discussion is unacceptable.  (Bug#44611)

2021-04-23  Dmitry Gutov  <dgutov@yandex.ru>

	Misc changes

	* lisp/progmodes/project.el (project-shell, project-eshell):
	Simplify.
	(project-switch-commands, project-switch-use-entire-map):
	Add :group keywords (to fix misattribution to project-vc).

2021-04-23  Amin Bandali  <bandali@gnu.org>

	Add support for using a TLS client certificate with 'erc-tls' (bug#47788)

	* lisp/erc/erc-backend.el (erc-session-client-certificate): New
	buffer-local variable storing the TLS client certificate used for the
	current connection.
	(erc-open-network-stream): Use open-network-stream instead of
	make-network-process, and pass any additional arguments to it.
	(erc-server-connect): Add an optional client-certificate argument
	that if present is passed with the :client-certificate keyword as part
	of the arguments to erc-server-connect-function.
	* lisp/erc/erc.el (erc-open): Add new optional client-certificate
	argument, set it as erc-session-client-certificate, and pass it along
	to erc-server-connect.
	(erc): Clarify documentation string with respect to the full-name
	argument.
	(erc-tls): Add new client-certificate keyword argument and pass it in
	the direct call to erc-open (instead of going through erc).
	(erc-open-tls-stream): Pass any additional arguments (such as
	:client-certificate) to open-network-stream.  Also allow overriding
	:nowait if desired.

	* doc/misc/erc.texi: Add documentation for erc-tls, including the new
	:client-certificate argument.

	* etc/NEWS: Announce the change.

2021-04-23  Ivan Sokolov  <ivan-p-sokolov@ya.ru>  (tiny change)

	Introduce project-compilation-buffer-name-function

	* lisp/progmodes/project.el (project-compilation-buffer-name-function):
	New option.
	(project-compile): Use it.
	(project-prefixed-buffer-name): New function.

2021-04-22  Dmitry Gutov  <dgutov@yandex.ru>

	* lisp/progmodes/xref.el: Remove the "still experimental" note.

2021-04-22  Dmitry Gutov  <dgutov@yandex.ru>

	Remove the binding for xref-quit-and-goto-xref

	* lisp/progmodes/xref.el (xref--xref-buffer-mode-map):
	Remove the binding for xref-quit-and-goto-xref (bug#44611).

	* doc/emacs/maintaining.texi (Xref Commands): Update.

2021-04-22  Stefan Kangas  <stefan@marxist.se>

	* lisp/time.el (world-clock-mode): Make non-interactive.

2021-04-22  Stefan Kangas  <stefan@marxist.se>

	Minor improvements to world-clock

	* lisp/time.el (world-clock-mode-map): New variable.  Bind 'n' and
	'p' to 'next-line' and 'previous-line'.
	(world-clock-update): Preserve point.

2021-04-22  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows link switches for unexec

	* configure.ac (LD_SWITCH_SYSTEM_TEMACS) [mingw32]: Disable ASLR
	when linking for unexec.  Reported by Nikolay Kudryavtsev
	<nikolay.kudryavtsev@gmail.com>.

2021-04-22  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/which-func.el: Doc fixes.

2021-04-22  Dmitry Gutov  <dgutov@yandex.ru>

	Move part of the fix from project to xref

	* lisp/progmodes/project.el (project--find-regexp-in-files):
	Don't unquote file names here.

	* lisp/progmodes/xref.el (xref-matches-in-files): Do it here.
	And only if the first element in the list is quoted (bug#47799).

2021-04-22  Philipp Stephani  <phst@google.com>

	Ensure that argument to 'verify' is a constant expression.

	Casting NULL is not a constant expression (Bug#47951).

	* lib-src/seccomp-filter.c (main): Turn check for null pointer
	representation into a runtime assertion.

2021-04-22  Utkarsh Singh  <utkarsh190601@gmail.com>  (tiny change)

	* lisp/window.el (display-buffer): Doc fix.  (Bug#47950)

2021-04-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix unload+reload of files using `custom-initialize-delay` (bug#47072)

	* lisp/custom.el (custom-initialize-delay): Don't delay if
	`custom-delayed-init-variables` has already been processed.
	* lisp/startup.el (command-line): Mark `custom-delayed-init-variables`
	as processed.

2021-04-22  Alan Mackenzie  <acm@muc.de>

	Fix unclean "can't happen" error handling in read_minibuf_unwind

	Also fix a bug where, with minibuffer-follows-selected-frame neither nil nor
	t, a minibuffer could appear in two frames at the same time.

	* src/window.c (Fset_window_configuration): Add a new &optional parameter
	DONT-SET-MINIWINDOW, which inhibits the minibuffer from being restored from
	the supplied window configuration.
	(restore_window_configuration): Enhance to match the above.

	* src/minibuf.c (read_minibuf): Enhance the argument list to the
	restore_window_configuration calls to match the above.  In the main case,
	restoring the minibuffer is inhibited.
	(read_minibuf_unwind): Should the frame with the expired minibuffer not be
	found ("can't happen"), unwind the stacked data nevertheless, rather than just
	exiting.

	* src/keyboard.c (read_char_help_form_unwind): Amend a call of
	Fset_window_configuration.

	* doc/lispref/windows.texi (Window Configurations): Document the new form of
	set-window-configuration.

	* etc/NEWS (Lisp Changes in Emacs 28.1): Amend the entry for
	set-window-configuration.

2021-04-22  Eli Zaretskii  <eliz@gnu.org>

	Fix Isearch hscrolling in a corner case

	* lisp/isearch.el (isearch-update): When we start hscrolled,
	consider also the case that point ends up being to the left of the
	hscrolled window's edge.  (Bug#46316)

2021-04-22  Eli Zaretskii  <eliz@gnu.org>

	Fix 'window-text-pixel-size' when there's after-string at EOB

	* src/xdisp.c (move_it_to): Fix logic of reaching TO_CHARPOS when
	there's a display or overlay string(s) at EOB.  (Bug#47860)

2021-04-22  Andrea Corallo  <akrl@sdf.org>

	Improve a native compiler test

	* test/src/comp-tests.el (comp-test-47868-1): Improve
	testcase.
	* test/src/comp-resources/comp-test-funcs.el (comp-test-47868-3-f)
	(comp-test-47868-4-f): New functions.

2021-04-22  Stefan Kangas  <stefan@marxist.se>

	Avoid lowering gc-cons-threshold

	* lisp/cedet/semantic/wisent/comp.el (wisent--compile-grammar):
	* lisp/international/mule-cmds.el (ucs-names):
	* lisp/progmodes/ebrowse.el (ebrowse-read):
	* test/src/coding-tests.el (benchmark-decoder): Avoid lowering
	gc-cons-threshold.

2021-04-22  Stefan Kangas  <stefan@marxist.se>

	* lisp/strokes.el: Doc fix; update URL.

2021-04-22  Dmitry Gutov  <dgutov@yandex.ru>

	Use khaki1 as 'match' background

	* lisp/replace.el (match): Use khaki1 as the background color for
	light backgrounds (bug#47574).

2021-04-21  Stefan Kangas  <stefan@marxist.se>

	* lisp/emacs-lisp/package.el (package-archives): Bump :version.

	* lisp/emacs-lisp/package.el: Doc fix.

2021-04-21  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-imm-equal-test): Style fix.

2021-04-21  Philip K  <philipk@posteo.net>

	Make outline commands repeatable (bug#47878)

	* lisp/outline.el (outline-navigation-repeat-map): Add new map.
	(outline-editing-repeat-map): Add new map.

2021-04-21  Mattias Engdegård  <mattiase@acm.org>

	Don't erroneously declare `mark` as error-free

	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns)
	(side-effect-and-error-free-fns):
	`mark` is side-effect-free but not error-free.

2021-04-21  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-forward-thing-at-point): New command (bug#39512).

	(search-map): Bind "M-s M-." to isearch-forward-thing-at-point.
	(isearch-forward-thing-at-point): New defcustom.

2021-04-21  Juri Linkov  <juri@linkov.net>

	* lisp/thingatpt.el (region): Put property bounds-of-thing-at-point, bug#39512

2021-04-21  Philipp Stephani  <phst@google.com>

	Remove a self-reference from the Emacs Lisp manual.

	* doc/lispref/minibuf.texi (Programmed Completion): Remove
	self-reference.

2021-04-21  Stefan Kangas  <stefan@marxist.se>

	Improve error message for missing Info manual

	* lisp/info.el (Info-find-file): Improve error message for missing
	Info manual.  (Bug#46236)
	Fix suggested by Eli Zaretskii <eliz@gnu.org>.

2021-04-21  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (batch-byte-native-compile-for-bootstrap): Fix typo.

2021-04-21  Andrea Corallo  <akrl@sdf.org>

	Fix native compiler string hash consing strategy (bug#47868)

	* test/src/comp-tests.el (comp-test-47868-1): Add new test.
	* test/src/comp-resources/comp-test-funcs.el (comp-test-47868-1-f)
	(comp-test-47868-2-f): New functions.
	* lisp/emacs-lisp/comp.el (comp-imm-equal-test): Define new hash
	tanble test.
	(comp-data-container): Use it.
	(comp-final, comp-run-async-workers): have comp required before
	reading dumped hashes so that `comp-imm-equal-test' is defined.

2021-04-21  Andrea Corallo  <akrl@sdf.org>

	Introduce `sxhash-equal-including-properties'.

	* src/fns.c (collect_interval): Move it upwards.
	(Fsxhash_equal_including_properties): New function.
	(syms_of_fns): Register `sxhash-equal-including-properties'.
	* etc/NEWS: Add 'sxhash-equal-including-properties'.

2021-04-21  Philip K  <philipk@posteo.net>

	sgml-mode: Only set sgml-xml-mode if guessed to be an XML file

	* lisp/textmodes/sgml-mode.el (sgml-mode): Don't override
	sgml-xml-mode if the result of the guess is used as the buffer local
	value.  (Bug#47877)

2021-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix bug#47925

	In order to correctly detect the case of the "new style" with an empty body,
	remove the old optional arguments `init-value`, `lighter`, and `keymap`,
	so we can distinguish the "nil arg" from the "absent arg" cases.

2021-04-20  Harald Jörg  <haj@posteo.de>

	cperl-mode: Avoid abbrev expansion in variable names

	* lisp/progmodes/cperl-mode.el (cperl-electric-else): Don't expand
	scalar variables like '$continue' as keywords.  (Bug#47902)
	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-test-hyperactive-electric-else): Verify that keywords are
	expanded but variable names aren't.

2021-04-20  Juri Linkov  <juri@linkov.net>

	* lisp/wdired.el (wdired--self-insert): Put symbol property delete-selection.

	* lisp/isearch.el (isearch-post-command-hook): Revert ff796823e5 (bug#47894).

2021-04-20  Jonas Bernoulli  <jonas@bernoul.li>

	Add new library transient.el

	* lisp/transient.el: New file.

2021-04-20  Eli Zaretskii  <eliz@gnu.org>

	Fix Rmail-MIME size estimations

	The quoted-printable estimation was obviously wrong: the size becomes
	smaller when decoded, not larger...
	* lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Fix estimations
	of decoded MIME attachment.

2021-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/minibuf.c (Fread_no_blanks_input): Move to `minibuffer.el`

	* src/keymap.c (syms_of_keymap):
	* lisp/minibuffer.el (minibuffer-local-ns-map): Move declaration
	to initialization.
	(read-no-blanks-input): Move from `minibuf.c`.

2021-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (minibuffer-mode-map): Make it an alias

	Avoid creating this "dummy" keymap by making it an alias of
	the parent keymap of all minibuffer keymaps.

2021-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/minibuf.c (read_minibuf): Change multibyte more safely

	We used to `bset_enable_multibyte_characters` while the buffer is not
	empty, putting the buffer temporarily in an inconsistent state.

	Further simplifications along the way: Prefer re-using local var `histvar`
	and let `insert` do the unibyte<->multibyte conversion if needed.

2021-04-20  Eli Zaretskii  <eliz@gnu.org>

	Improve filling-related documentation

	* doc/emacs/text.texi (Auto Fill, Fill Commands): Mention special
	line-breaking rules for CJK characters and the kinsoku rules.
	(Bug#47856)

	* lisp/textmodes/fill.el
	(fill-separate-heterogeneous-words-with-space): Doc fix.

2021-04-20  Michael Albinus  <michael.albinus@gmx.de>

	Fix localization problem in Tramp

	* lisp/net/tramp-sh.el (tramp-get-remote-stat): Use localized
	quotation characters for check.

2021-04-20  Alan Mackenzie  <acm@muc.de>

	Fix bug #47781: (window-list-1 nil t) wrongly returned nil.

	* src/window.c (candidate_window_p): In the WINDOW_P (all_frames) branch of
	the conditional, insert "EQ (minibuf, Qt)" in the requisite place.

2021-04-20  Alan Mackenzie  <acm@muc.de>

	Introduce and use minibuffer-mode.  This fixes bug #47150

	* lisp/minibuffer.el (minibuffer-mode): New derived mode.

	* src/minibuf.c (syms_of_minibuf): New DEFSYMs Qminibuffer_mode,
	Qminibuffer_inactive_mode, Qminibuffer_completing_file_name,
	Qselect_frame_set_input_focus, Qadd_to_history.
	(read_minibuf, set_minibuffer_mode, read_minibuf_unwind): Use the new DEFSYMs
	in place of continual interning.
	(set_minibuffer_mode): Put an active minibuffer into minibuffer-mode rather
	than fundamental-mode.

	* doc/emacs/mini.texi (Minibuffer Edit): Mention minibuffer-mode.

	* doc/lispref/minibuf.texi (Intro to Minibuffers): Add a paragraph about
	minibuffer-mode.

	* etc/NEWS (Incompatible Lisp Changes in Emacs 28.1): Add an entry.

2021-04-20  Daniel Mendler  <mail@daniel-mendler.de>

	(completion-all-sorted-completions): Additional alphabetical sorting

	Even in the cases where it does not make much visible difference,
	it brings the benefit of making the result deterministic.

	* lisp/minibuffer.el (minibuffer--sort-by-length-alpha): New function.
	(minibuffer--sort-by-position): New function extracted from
	`completion-all-sorted-completions`.
	(completion-all-sorted-completions): Use them.

2021-04-19  Daniel Mendler  <mail@daniel-mendler.de>

	minibuffer.el: Use completion--message instead of minibuffer-message

	* lisp/minibuffer.el: Use completion--message consistently for the messages
	"Incomplete", "Sole completion" and "No completions".

2021-04-19  Philipp Stephani  <phst@google.com>

	Seccomp filter: deal with arch_prctl(ARCH_CET_STATUS, ...).

	The dynamic loader of GNU libc 2.28 uses this system call to
	initialize CPU information, see
	https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/cpu-features.c;hb=glibc-2.28#l28.
	Simulating an older kernel by returning EINVAL should be the most
	harmless rule here.

	The ARCH_CET_STATUS symbol isn't yet exposed by the kernel headers;
	see the FIXME at the top of
	https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/include/asm/prctl.h;hb=glibc-2.28.

	* lib-src/seccomp-filter.c (ARCH_CET_STATUS): Define if not
	already present.  Inline the value because there doesn't seem to
	be a header file exporting this constant yet.
	(main): Make ARCH_CET_STATUS subfunction of arch_prctl return EINVAL.

2021-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (completion-all-sorted-completions): Fix last change

2021-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (minibuffer--sort-by-key): New function

	(completion-all-sorted-completions): Use it.

2021-04-19  Daniel Mendler  <mail@daniel-mendler.de>

	completion-all-sorted-completions: Fix sorting performance bug

	* lisp/minibuffer.el (completion-all-sorted-completions): Use hash
	table for sorting by history position, O(m+n*log(n)) instead of
	O(m*n*log(n)) with history length `m` and candidate length `n`.

2021-04-19  Daniel Mendler  <mail@daniel-mendler.de>

	completing-read: If HIST is the symbol `t', history is not recorded.

	* lisp/minibuffer.el (completion-all-sorted-completions): Check if
	`minibuffer-history-variable` is `t`
	* src/minibuf.c (completing-read): Update docstring
	* doc/lispref/minibuf.texi: Update documentation of
	`read-from-minibuffer` and `completing-read`

2021-04-19  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into native-comp

2021-04-19  Michael Albinus  <michael.albinus@gmx.de>

	Add Tramp recompilation

	* doc/misc/tramp.texi (Frequently Asked Questions): Refer to GNU
	ELPA Tramp README.

	* lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p)
	(tramp-recompile-elpa): New defuns.  Add property `completion-predicate'.

2021-04-19  Stefan Kangas  <stefan@marxist.se>

	Don't hard-code "~/.emacs.d/" in two more places

	* lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
	* lisp/progmodes/js.el (js-js-tmpdir): Don't hard-code
	"~/.emacs.d/".

2021-04-19  Philip K  <philipk@posteo.net>

	Don't hard-code "~/.emacs.d/" in rcirc.el

	* lisp/net/rcirc.el (rcirc-log-directory): Use
	locate-user-emacs-file.  (Bug#47880)

2021-04-18  Philipp Stephani  <phst@google.com>

	Factor out a helper macro to create a temporary directory.

	This is a useful abstraction, and saves a few levels of indentation in
	the test body.

	* test/lisp/progmodes/project-tests.el
	(project-tests--with-temporary-directory): New helper macro.
	(project/quoted-directory): Use it.

2021-04-18  Philipp Stephani  <phst@google.com>

	Add quoted filename support to 'project-find-regexp' (Bug#47799).

	This is only a band-aid; it would be better to fix xref.el to work
	with quoted filenames as well.

	* lisp/progmodes/project.el (project--find-regexp-in-files): Unquote
	filenames before passing them to 'xref-matches-in-files'.
	* test/lisp/progmodes/project-tests.el (project/quoted-directory):
	Also test 'project-find-regexp'.

2021-04-18  Philipp Stephani  <phst@google.com>

	Extend project test so that 'project-current' works.

	* test/lisp/progmodes/project-tests.el (project/quoted-directory):
	Verify that 'project-current' returns the right project.

2021-04-18  Philipp Stephani  <phst@google.com>

	Skip a unit test that requires an external program if necessary.

	* test/lisp/progmodes/project-tests.el (project/quoted-directory):
	Skip if the 'find' program isn't available.  The 'project-files'
	function uses 'find' to obtain the list of project files.

2021-04-18  Eli Zaretskii  <eliz@gnu.org>

	* src/emacs.c (main): Add back the call to init_callproc_1. (bug#47872)

2021-04-18  Protesilaos Stavrou  <info@protesilaos.com>

	Update modus-themes to version 1.3.2

	* doc/misc/modus-themes.org (COPYING): Reword to match the phrasing of
	other manuals that are distributed with Emacs.

	(Install from the archives)
	(Sample configuration for use-package)
	(Option for more bold constructs)
	(Option for more slanted constructs)
	(Option for syntax highlighting)
	(Option for no font mixing)
	(Option for links)
	(Option for command prompt styles)
	(Option for completion framework aesthetics)
	(Option for fringe visibility)
	(Option for language checkers)
	(Option for org-habit graph styles)
	(Option for line numbers (display-line-numbers-mode))
	(Option for parenthesis matching (show-paren-mode))
	(Option for diff buffer looks)
	(Option for scaled headings)
	(Option for variable-pitch font in UI elements)
	(Option for variable-pitch font in headings)
	(Case-by-case face specs using the themes' palette (DIY))
	(Face specs at scale using the themes' palette (DIY))
	(Font configurations for Org and others (DIY))
	(Load theme depending on time of day): Minor markup changes for better
	texi output.

	(Option for mode line presentation): Document new possible values for
	'modus-themes-mode-line'.

	(Option for line highlighting (hl-line-mode)): Document new
	'modus-themes-hl-line' variable, which supersedes
	'modus-themes-intense-hl-line'.

	(Option for active region): Document new possible values for
	'modus-themes-region'.

	(Option for org-mode block styles): Cite variables that affect
	fontification.

	(Option for the headings' overall style): Include the option of a
	per-level nil value.

	(Remap face with local value (DIY))
	(Override colors (DIY)): Add sections.

	(Full support for packages or face groups): Document newly supported packages

	(Note for dimmer.el)
	(Note for EWW and Elfeed fonts (SHR fonts)): Add notes.

	(Acknowledgements): Add names of new contributors.

	(GNU Free Documentation License): Add tags for html export.

	* etc/themes/modus-operandi-theme.el (File)
	* etc/themes/modus-vivendi-theme.el (File): Update to version 1.3.1

	* etc/themes/modus-themes.el (modus-themes-operandi-colors)
	(modus-themes-vivendi-colors)
	(modus-theme-subtle-red)
	(modus-themes-subtle-red)
	(modus-theme-subtle-green)
	(modus-themes-subtle-green)
	(modus-theme-subtle-yellow)
	(modus-themes-subtle-yellow)
	(modus-theme-subtle-blue)
	(modus-themes-subtle-blue)
	(modus-theme-subtle-magenta)
	(modus-themes-subtle-magenta)
	(modus-theme-subtle-cyan)
	(modus-themes-subtle-cyan)
	(modus-theme-subtle-neutral)
	(modus-themes-subtle-neutral)
	(modus-theme-intense-red)
	(modus-themes-intense-red)
	(modus-theme-intense-green)
	(modus-themes-intense-green)
	(modus-theme-intense-yellow)
	(modus-themes-intense-yellow)
	(modus-theme-intense-blue)
	(modus-themes-intense-blue)
	(modus-theme-intense-magenta)
	(modus-themes-intense-magenta)
	(modus-theme-intense-cyan)
	(modus-themes-intense-cyan)
	(modus-theme-intense-neutral)
	(modus-themes-intense-neutral)
	(modus-theme-refine-red)
	(modus-themes-refine-red)
	(modus-theme-refine-green)
	(modus-themes-refine-green)
	(modus-theme-refine-yellow)
	(modus-themes-refine-yellow)
	(modus-theme-refine-blue)
	(modus-themes-refine-blue)
	(modus-theme-refine-magenta)
	(modus-themes-refine-magenta)
	(modus-theme-refine-cyan)
	(modus-themes-refine-cyan)
	(modus-theme-active-red)
	(modus-themes-active-red)
	(modus-theme-active-green)
	(modus-themes-active-green)
	(modus-theme-active-yellow)
	(modus-themes-active-yellow)
	(modus-theme-active-blue)
	(modus-themes-active-blue)
	(modus-theme-active-magenta)
	(modus-themes-active-magenta)
	(modus-theme-active-cyan)
	(modus-themes-active-cyan)
	(modus-theme-fringe-red)
	(modus-themes-fringe-red)
	(modus-theme-fringe-green)
	(modus-themes-fringe-green)
	(modus-theme-fringe-yellow)
	(modus-themes-fringe-yellow)
	(modus-theme-fringe-blue)
	(modus-themes-fringe-blue)
	(modus-theme-fringe-magenta)
	(modus-themes-fringe-magenta)
	(modus-theme-fringe-cyan)
	(modus-themes-fringe-cyan)
	(modus-theme-nuanced-red)
	(modus-theme-nuanced-green)
	(modus-theme-nuanced-yellow)
	(modus-theme-nuanced-blue)
	(modus-theme-nuanced-magenta)
	(modus-theme-nuanced-cyan)
	(modus-theme-special-cold)
	(modus-theme-special-mild)
	(modus-theme-special-warm)
	(modus-theme-special-calm)
	(modus-theme-diff-added)
	(modus-theme-diff-changed)
	(modus-theme-diff-removed)
	(modus-theme-diff-refine-added)
	(modus-theme-diff-refine-changed)
	(modus-theme-diff-refine-removed)
	(modus-theme-diff-focus-added)
	(modus-theme-diff-focus-changed)
	(modus-theme-diff-focus-removed)
	(modus-theme-diff-heading)
	(modus-theme-pseudo-header)
	(modus-theme-mark-alt)
	(modus-theme-mark-del)
	(modus-theme-mark-sel)
	(modus-theme-mark-symbol)
	(modus-theme-heading-1)
	(modus-theme-heading-2)
	(modus-theme-heading-3)
	(modus-theme-heading-4)
	(modus-theme-heading-5)
	(modus-theme-heading-6)
	(modus-theme-heading-7)
	(modus-theme-heading-8)
	(modus-theme-hl-line)
	(modus-theme-bold)
	(modus-theme-slant)
	(modus-theme-variable-pitch)
	(modus-theme-graph-red-0)
	(modus-theme-graph-red-1)
	(modus-theme-graph-green-0)
	(modus-theme-graph-green-1)
	(modus-theme-graph-yellow-0)
	(modus-theme-graph-yellow-1)
	(modus-theme-graph-blue-0)
	(modus-theme-graph-blue-1)
	(modus-theme-graph-magenta-0)
	(modus-theme-graph-magenta-1)
	(modus-theme-graph-cyan-0)
	(modus-theme-graph-cyan-1)
	(modus-theme-lang-note)
	(modus-theme-lang-warning)
	(modus-theme-lang-error): Rename all internal faces.

	(modus-themes-headings)
	(modus-themes-fringes)
	(modus-themes-lang-checkers)
	(modus-themes-org-blocks)
	(modus-themes-org-habit)
	(modus-themes-mode-line)
	(modus-themes-diffs)
	(modus-themes-completions)
	(modus-themes-prompts)
	(modus-themes-intense-hl-line)
	(modus-themes-hl-line)
	(modus-themes-paren-match)
	(modus-themes-syntax)
	(modus-themes-links)
	(modus-themes-region): Update defcustom.

	(modus-themes--fringe):
	(modus-themes--headings-choice):
	(modus-themes--prompt):
	(modus-themes--org-block-delim):
	(modus-themes--mode-line-attrs):
	(modus-themes--link):
	(modus-themes--region):
	(modus-themes--hl-line): Adjustments to internal functions.

	(modus-themes-faces): Update faces.
	(modus-themes-custom-variables): Update custom variables.

2021-04-18  Eli Zaretskii  <eliz@gnu.org>

	* src/comp.c (fixup_eln_load_path): Simplify code.

2021-04-18  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* src/emacs.c (load_pdump_find_executable): Fix the value of
	CANDIDATE_SIZE when the final candidate is a symlink.

2021-04-18  Philipp Stephani  <phst@google.com>

	Fix Seccomp filter on CentOS 8.3 (Bug#47828).

	* lib-src/seccomp-filter.c (main): mmap: Also allow MAP_SHARED.

2021-04-18  Stefan Kangas  <stefan@marxist.se>

	* lisp/misearch.el (multi-isearch-pop-state): Doc fix.

2021-04-18  Martin Rudalics  <rudalics@gmx.at>

	Avoid selecting tooltip windows and frames (Bug#47207)

	* src/frame.c (do_switch_frame): Don't switch to a tooltip frame.
	(Fselect_frame): Do not select a tooltip frame.
	* src/w32fns.c (Fx_show_tip):
	* src/xfns.c (Fx_show_tip): Set the tooltip window's
	`no-other-window' parameter so `other-window' will skip it.
	* src/window.c (select_window): Do not select a tooltip window.
	(candidate_window_p): Make sure MINIBUF is live.
	(decode_next_window_args): Make sure that W's frame's minibuffer
	window is live before including it.
	(Qno_other_window): New symbol.

2021-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/debug.el (debug): Fix (bug#47588)

	Don't bind `load-read-function` to nil but to its actual default value.
	Actually, I'm not sure it's worth the trouble rebinding this var, but
	if we do, then we should bind it to a valid value rather than to nil.

	* lisp/emacs-lisp/edebug.el (edebug--eval-defun): Re-install our advice
	if needed.

2021-04-17  Philipp Stephani  <phst@google.com>

	Attempt to print some debugging information on Seccomp failures.

	Try to search the audit log as well as recent core dumps.

	* test/src/emacs-tests.el (emacs-tests--seccomp-debug): New helper
	function.
	(emacs-tests/seccomp/allows-stdout)
	(emacs-tests/seccomp/forbids-subprocess)
	(emacs-tests/bwrap/allows-stdout): Use it.

2021-04-17  Eli Zaretskii  <eliz@gnu.org>

	* src/emacs.c (load_pdump): Fix unconditional references to strip_suffix.

2021-04-17  Michael Albinus  <michael.albinus@gmx.de>

	Make stderr in Tramp's make-process more robust

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Wrap about
	error in inserting stderr file.

	* lisp/net/tramp.el (tramp-handle-make-process): Fix docstring.

2021-04-17  Eli Zaretskii  <eliz@gnu.org>

	* src/emacs.c (load_pdump): Fix compilation on picky-compiler platforms.

2021-04-17  Daniel Martín  <mardani29@yahoo.es>

	Fix reference to "yanking" in the main Emacs manual

	* doc/emacs/emacs.texi (Top): Yanking is alternatively known as
	pasting, not copying.  (Bug#47839).

2021-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Tweak further

	Suggested by Lars Ingebrigtsen <larsi@gnus.org>.

2021-04-17  Eli Zaretskii  <eliz@gnu.org>

	Fix loading *.eln files when Emacs is installed via symlinks

	* src/emacs.c (real_filename, set_invocation_vars)
	(init_vars_for_load): Functions deleted; callers adjusted.
	(init_cmdargs): Put back all the code which was extracted into
	set_invocation_vars.
	(load_pdump_find_executable): Make sure the return value has any
	symlinks in it expanded.
	(load_pdump): Accept only 2 arguments, not 3.  Determine both the
	file name of the Emacs executable and of the dump file in
	synchronized manner, so that if we decided to look for the dump
	file in its hardcoded installation directory, the directory of the
	Emacs executable will also be where we expect it to be installed.
	Pass only 2 arguments to pdumper_load.  (Bug#47800)  (Bug#44128)
	* src/pdumper.c (dump_do_dump_relocation): Use emacs_execdir
	instead of Vinvocation_directory to produce absolute file names of
	*.eln files that are recorded in the pdumper file.  Pass the full
	.eln file name to fixup_eln_load_path.
	(pdumper_set_emacs_execdir) [HAVE_NATIVE_COMP]: New function.
	(pdumper_load) [HAVE_NATIVE_COMP]: Call pdumper_set_emacs_execdir.
	* src/comp.c (fixup_eln_load_path): Use Fsubstring_no_properties
	instead of Fsubstring.  No need to cons a file name, as the caller
	already did that.  Use explicit const string to avoid "magic"
	values.

	* lisp/startup.el (normal-top-level): Use expand-file-name instead
	of concat.  Decode comp-eln-load-path and expand-file-name its
	members.

2021-04-17  Alan Third  <alan@idiocy.org>

	Fix :scale's affect on :width and :height (bug#47819)

	* src/image.c (compute_image_size): Multiply width and height values
	by scale.

2021-04-17  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'map-y-or-n-p'

	* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Doc fix.  (Bug#47833)

	* doc/lispref/minibuf.texi (Multiple Queries): Fix the wording in
	the description of 'map-y-or-n-p'.

2021-04-17  Martin Rudalics  <rudalics@gmx.at>

	Don't allow quitting while rebuilding Vwindow_list (Bug#47244)

	* src/window.c (window_list, next_window, window_list_1): Don't
	allow quitting in Fnconc and Fmemq (Bug#47244).

2021-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Improve `C-h f` output

	Suggested by Michael Heerdegen <michael_heerdegen@web.de>.

2021-04-17  Stefan Kangas  <stefan@marxist.se>

	Cleanup in em-extra.el

	* lisp/eshell/em-xtra.el (cl-lib): Require.
	(pcomplete, compile): Remove unnecessary requires.
	(eshell/substitute, eshell/count, eshell/mismatch, eshell/union)
	(eshell/intersection, eshell/set-difference)
	(eshell/set-exclusive-or): Use cl-lib.  Doc fixes.
	(eshell/ff, eshell/gf, eshell/expr): Quote function symbols as such.
	(eshell/expr): Assume 'calc-eval' is always available.

2021-04-16  Alan Mackenzie  <acm@muc.de>

	Check minibuffer windows are live windows, rather than assuming it

	This partly fixes bug #47207.

	* src/minibuf.c (choose_minibuf_frame, move_minibuffers_onto_frame)
	(read_minibuf (twice), read_minibuf_unwind): Before using a frame's
	->minibuffer_window field, check it is valid with WINDOW_LIVE_P.
	(choose_minibuf_frame): Remove the emacs_abort for a null minibuffer.

2021-04-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	eedad01b4b (origin/emacs-27) Fix typos in manuals
	24d214652e Fix description of momentary message display

2021-04-16  Ashish SHUKLA  <ashish@FreeBSD.org>

	* lisp/emacs-lisp/comp.el (comp-effective-async-max-jobs): Handle BSD.

2021-04-16  Robert Pluim  <rpluim@gmail.com>

	Improve docstring of 'frame-scale-factor'

	* src/frame.c (Fframe_scale_factor): Explain what happens when the
	FRAME argument is nil.

2021-04-16  Dmitry Gutov  <dgutov@yandex.ru>

	Improve quoting of directory names in project/xref

	* lisp/progmodes/project.el (project--files-in-directory):
	Quote LOCALDIR a bit earlier, to affect
	xref--find-ignores-arguments as well (bug#47799).

	* lisp/progmodes/xref.el (xref-matches-in-directory):
	Quote the dir passed to xref--rgrep-command.

2021-04-16  Dmitry Gutov  <dgutov@yandex.ru>

	project--files-in-directory: Handle errors reported by 'find'

	* lisp/progmodes/project.el (project--files-in-directory):
	Handle errors reported by 'find' (bug#47799).

2021-04-15  Eli Zaretskii  <eliz@gnu.org>

	Fix 'garbage-collect-maybe'

	* src/alloc.c (Fgarbage_collect_maybe): No longer interactive.
	(Bug#47805)

2021-04-15  Alan Third  <alan@idiocy.org>

	Allow use of em in image spec sizes

	* src/image.c (image_get_dimension): New function.
	(compute_image_size): Use image_get_dimension to set the sizes, and
	pass in the image struct instead of just the spec.
	(image_set_transform):
	(imagemagick_load_image):
	(svg_load_image): Use the image instead of the spec in compute_image_size.
	(syms_of_image): Add 'em' as a symbol.

2021-04-15  Philipp Stephani  <phst@google.com>

	Improve project support for quoted directory names (Bug#47799)

	* lisp/progmodes/project.el (project--files-in-directory): Unquote
	directory name before passing it to 'find'.
	(project--remote-file-names): Requote local filenames if the original
	directory is quoted.
	* test/lisp/progmodes/project-tests.el (project/quoted-directory): New
	unit test.

2021-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bindat.el: Allow non-fixed size of `strz`

	(bindat--unpack-strz): Allow `len` to be nil.
	(bindat--pack-strz): New function.
	(bindat--type) <strz>: Make `len` arg optional.
	(bindat-type): Adjust debug spec and docstring accordingly.

	* doc/lispref/processes.texi (Bindat Types): Adjust accordingly.

2021-04-15  Mattias Engdegård  <mattiase@acm.org>

	Add condition-case success handler (bug#47677)

	Allow a condition-case handler on the form (:success BODY) to be
	specified as the success continuation of the protected form, with
	the specified variable bound to its result.

	* src/eval.c (Fcondition_case): Update the doc string.
	(internal_lisp_condition_case): Implement in interpreter.
	(syms_of_eval): Defsym :success.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case):
	Implement in byte-compiler.
	* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Allow self-TCO
	from success handler.
	* doc/lispref/control.texi (Handling Errors): Update manual.
	* etc/NEWS: Announce.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases)
	(bytecomp-condition-case-success):
	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
	Add test cases.

2021-04-15  Alan Mackenzie  <acm@muc.de>

	CC Mode: Put debug specs inside declare forms.  Add missing debug specs.

	* lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-cmds.el,
	lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el,
	lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-langs.el,
	lisp/progmodes/cc-mode.el: Change the explicit def-edebug-spec for many macros
	into a (declare (debug ...) ..) form.  Add such forms to macros which were
	previously lacking def-edebug-spec forms.

2021-04-14  Andrea Corallo  <akrl@sdf.org>

	* configure.ac: Revert prev commit and fix native-comp NetBSD build.

2021-04-14  Juri Linkov  <juri@linkov.net>

	repeat-echo-mode-line-string doesn't need risky-local-variable to keep props

	(bug#47566)

2021-04-14  Filipp Gunbin  <fgunbin@fastmail.fm>

	Java Mode: Change the syntax of character @ to prefix syntax

	lisp/progmodes/cc-langs.el (c-make-mode-syntax-table): Change the syntax of @
	as indicated.

2021-04-14  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-mouse-2): Let-bind isearch-mode to nil (bug#47755)

2021-04-14  Juri Linkov  <juri@linkov.net>

	Don't error out when selection data is unavailable (bug#47642)

	* src/xselect.c (x_get_window_property_as_lisp_data):
	Display a message and return nil when data is not available.

2021-04-14  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/gud.el (gud-repeat-map): New variable (bug#47688).

	(gud-gdb): Populate gud-repeat-map with repeating keys.

2021-04-14  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el: Add option to indicate repeat-mode in mode-line (bug#47566)

	* lisp/repeat.el (repeat-echo-function): Rename from repeat-mode-echo.
	Add choice repeat-echo-mode-line.
	(repeat-in-progress): New variable.
	(repeat-post-hook): Call repeat-echo-function with nil arg
	at the end of repeating sequence.
	(repeat-echo-message-string): New function with body from repeat-post-hook.
	(repeat-echo-message): Rename from repeat-mode-message.
	(repeat-echo-mode-line-string): New variable.
	(repeat-echo-mode-line): New function.

2021-04-14  Andrea Corallo  <akrl@sdf.org>

	* configure.ac: Fix native-comp FreeBSD build.

2021-04-14  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows build following last change

	* src/emacs.c (real_filename) [WINDOWSNT]: Fix off-by-one error
	when allocating storage for a file name.

2021-04-14  Andrea Corallo  <akrl@sdf.org>

	Fix native-comp startup for symliked binary (bug#44128)

	* src/emacs.c (real_filename): New function.
	(set_invocation_vars, load_pdump): Make use of.

2021-04-14  Michael Albinus  <michael.albinus@gmx.de>

	Rearrange argument handling in Tramp scp calls.

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
	Use `start-process' instead of `start-process-shell-command'.
	(tramp-make-copy-program-file-name): Do not quote `localname'.

	* test/lisp/net/tramp-tests.el (tramp-method-out-of-band-p): Declare.
	(tramp--test-windows-nt-and-batch-p)
	(tramp--test-windows-nt-and-pscp-psftp-p): Remove, and also all callees.
	(tramp--test-windows-nt-and-out-of-band-p)
	(tramp--test-windows-nt-and-scp-p): New defuns.
	(tramp-test17-dired-with-wildcards)
	(tramp-test40-special-characters)
	(tramp-test40-special-characters-with-stat)
	(tramp-test40-special-characters-with-perl)
	(tramp-test40-special-characters-with-ls, tramp-test41-utf8)
	(tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
	(tramp-test41-utf8-with-ls): Use them.

2021-04-14  Eli Zaretskii  <eliz@gnu.org>

	Add two optional arguments to 'string-width'

	* src/character.c (Fstring_width, lisp_string_width): Accept two
	optional arguments FROM and TO, to indicate the substring to be
	considered.
	(Fstring_width): Add caveats in the doc string about display
	features ignored by the function.  (Bug#47712)
	* src/character.h (lisp_string_width): Update prototype.
	* src/editfns.c (styled_format): Adjust call of lisp_string_width
	to its changed signature.

	* test/src/character-tests.el (character-test-string-width): New
	file with tests for 'string-width'.

	* doc/lispref/display.texi (Size of Displayed Text): Document
	caveats of using 'string-width'.

	* etc/NEWS: Announce the change.

2021-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/xdisp.c (wset_update_mode_line): Move from `src/window.c`

	Move that function next to its siblings.  Also simplify it, since
	after careful analysis it is now clear that the frame's title's update
	is already handled elsewhere (in `prepare_menu_bars` and `redisplay_window`)
	so we just need to make sure the `redisplay` bit is set.

	* src/window.c (wset_update_mode_line): Move to `src/xdisp.c`.
	* src/window.h (wset_update_mode_line): Declare.

2021-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/nxml/xmltok.el (xmltok-defregexp): Don't quote lambda

	* lisp/emacs-lisp/eieio-core.el (list-of): Don't quote lambda

2021-04-13  Filipp Gunbin  <fgunbin@fastmail.fm>

	* doc/lispref/keymaps.texi (Translation Keymaps): Fix small misprint

	* doc/lispref/processes.texi: Fix small misprint

2021-04-13  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Improvements to message-syntax-checks docs and options

	* doc/misc/message.texi: Move the manual entry from the "News Headers"
	section to the "Message Headers" section, as it is generally
	applicable, not just to News.
	* lisp/gnus/message.el (message-syntax-checks): Add an explicit alist
	type specifying the valid options; point to the manual for more
	information.

2021-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/two-column.el: Address FIXME

	(2C-associate-buffer): Move minibuffer interactive to the `interactive` spec.

2021-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/paragraphs.el (multiple-lines): Remove mistaken declaration

	(forward-paragraph): Remove unused var `multiple-lines`.

2021-04-13  Eli Zaretskii  <eliz@gnu.org>

	Resurrect mouse-highlight of close buttons on tab-bar

	* src/w32term.c (w32_draw_image_relief): Support tab-bar drawing
	with relief as xterm.c does.

	* src/xdisp.c (handle_tab_bar_click): Access the mouse-highlight
	info.  Call show_mouse_face to show the button in the pressed or
	the released state, according to value of DOWN_P.
	(note_tab_bar_highlight): Function added back.
	(note_mouse_highlight): Call note_tab_bar_highlight when the mouse
	pointer is in the tab-bar window.
	(show_mouse_face): Return immediately if mouse_face_window is not
	set up in HLINFO.  This avoids rare assertion violations.

2021-04-13  Eli Zaretskii  <eliz@gnu.org>

	Fix typos in manuals

	* doc/misc/eshell.texi (Completion):
	* doc/lispref/objects.texi (Mutability): Fix typos.  (Bug#47738)

2021-04-13  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into native-comp

2021-04-13  Andrea Corallo  <akrl@sdf.org>

	Fix two comp-cstr tests

	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Fix test 53 70.

2021-04-13  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): (not null) => t.

	* lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Remove duplicates.

2021-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/comint.el: Add `font-lock-face` to `rear-nonsticky`

	(comint--prompt-rear-nonsticky): New const.
	(comint-send-input, comint-output-filter): Use it.

2021-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	Don't version-control generated file `grammat-wy.el`

	This file is needed for CEDET's bootstrap, tho, so we now keep a copy of it
	under version control in `gram-wy-boot.el`, very much like we do with
	the `ldefs-boot.el` copy of `loaddefs.el`.

	* lisp/cedet/semantic/grm-wy-boot.el: Rename from
	`lisp/cedet/semantic/grammar-wy.el`.

	* lisp/cedet/semantic/grammar.el: Load `grm-wy-boot.el` if
	`grammar-wy.el` hasn't been generated yet.

	* admin/update_autogen: Also refresh `grm-wy-boot.el`.

	* admin/grammars/Makefile.in (WISENT): Add `grammar-wy.el` to the
	generated files.

	* .gitignore: Add `grammar-wy.el`.

2021-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (completion-table-with-quoting): Fix bug#47678

2021-04-12  Wilson Snyder  <wsnyder@wsnyder.org>

	* lisp/progmodes/verilog-mode.el (vl-memory): Add missing defvar.

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/smie.el: Fix URL.  Remove redundant `:group` args

	(smie-indent-forward-token): Improve error message.
	(smie--funcall): New function.
	(smie-indent-calculate): Use it.

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): Simplify

	* lisp/emacs-lisp/float-sup.el (pi): Actually mark it as obsolete

	* lisp/emacs-lisp/edebug.el (edebug--frame): Move docstring where it belongs

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vt-control.el: Avoid `called-interactively-p`

	(vt-keypad-on, vt-keypad-off): Use the `tell` arg instead.
	(vt-numlock): Add `tell` arg.

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/files.el (file-modes-number-to-symbolic): Add `filetype` arg.

	* lisp/tar-mode.el (tar-header-block-summarize): Use it.
	(tar-grind-file-mode): Declare obsolete.

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/frame.el (delete-other-frames): Add universal prefix `iconify` arg

	(frame--current-backround-mode): New function,
	extracted from `frame-set-background-mode`.  Use `color-dark-p`.
	(frame-set-background-mode): Use it.

2021-04-12  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el (repeat-mode-echo): New defcustom.

	(repeat-post-hook): Use it.
	(repeat-mode-message): New function (bug#47566).
	(repeat-post-hook): Use real-this-command instead of this-command
	to handle e.g. rectangle-exchange-point-and-mark remapped to
	exchange-point-and-mark (bug#47688).

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/dynamic-setting.el: Add missing footer

	* lisp/comint.el (comint-strip-ctrl-m): Avoid `called-interactively-p`

2021-04-12  Glenn Morris  <rgm@gnu.org>

	* lisp/strokes.el (strokes-mode): Fix typo in previous.

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	(define-minor-mode): Warn about use of pre-Emacs-21 style args

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
	Use `advertised-calling-convention` to avoid promoting the old
	style arguments.  Emit a wanring when old-style arguments are used.
	Massage the docstring accordingly.
	* doc/lispref/modes.texi (Defining Minor Modes): Document the keyword
	arguments rather than the old-style positional arguments.

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/vhdl-mode.el: Add note about XEmacs compatibility

2021-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust verilog-mode to changes in the completion framework

	* lisp/progmodes/verilog-mode.el (verilog-func-completion): Don't
	bug out on `C-M-i' (which expects no point movement) (bug#47652).
	(verilog-declaration-end): There may be no semicolons; don't bug out.

2021-04-12  Shitikanth Kashyap  <shitikanth1@gmail.com>  (tiny change)

	Fix python-shell-switch-to-shell redisplay bug

	* lisp/progmodes/python.el (python-shell-switch-to-shell):
	Redisplay the switched-to window faster (bug#47679).

2021-04-12  Ralph Schleicher  <rs@ralph-schleicher.de>

	Add command in eww to toggle images

	* lisp/net/eww.el (eww-toggle-images): New function.
	(eww-mode-map): Add key binding and menu entry.
	* lisp/net/shr.el (shr-inhibit-images): Make it customizable.
	* doc/misc/eww.texi (Basics): Document eww-toggle-images.
	Fix index entries for shr-use-fonts and shr-use-colors.
	(Advanced): Document shr-inhibit-images
	(bug#47705).

2021-04-12  Junya Takahashi  <jutakat@gmail.com>  (tiny change)

	Fix args-out-of-range error in epa-file-insert-file-contents

	* lisp/epa-file.el (epa-file-insert-file-contents): Don't bug out
	on a region that's longer than the file (bug#47718).

2021-04-12  Philipp Stephani  <phst@google.com>

	* lib-src/seccomp-filter.c: Add missing headers.

2021-04-12  Philipp Stephani  <phst@google.com>

	Generate Seccomp filters only if we have the necessary constants.

	If we're missing SECCOMP_SET_MODE_FILTER, the seccomp-filter build
	fails.  Reuse the existing HAVE_SECCOMP configuration variable, which
	checks for these macros.

	* configure.ac (HAVE_SECCOMP): Substitute in Makefile.in.
	* lib-src/Makefile.in (HAVE_SECCOMP): New variable.
	(SECCOMP_FILTER): Define only if HAVE_SECCOMP.

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/**/*.el: Avoid positional args to `define-minor-mode`

	Back in Emacs-21.1, `define-minor-mode` grew keywords arguments to
	replace its old positional arguments.  Let's make sure we don't use
	the old-style any more.

	* lisp/org/ox-beamer.el (org-beamer-mode-map): Move initialization
	into declaration.
	(org-beamer-mode):
	* lisp/textmodes/tildify.el (tildify-mode):
	* lisp/textmodes/sgml-mode.el (html-autoview-mode):
	* lisp/textmodes/rst.el (rst-minor-mode):
	* lisp/textmodes/remember.el (remember-notes-mode):
	* lisp/textmodes/ispell.el (ispell-minor-mode):
	* lisp/tar-mode.el (tar-subfile-mode):
	* lisp/strokes.el (strokes-mode):
	* lisp/so-long.el (so-long-minor-mode):
	* lisp/shell.el (shell-dirtrack-mode):
	* lisp/scroll-all.el (scroll-all-mode):
	* lisp/ruler-mode.el (ruler-mode):
	* lisp/rect.el (rectangle-mark-mode):
	* lisp/progmodes/sh-script.el (sh-electric-here-document-mode):
	* lisp/outline.el (outline-minor-mode):
	* lisp/org/org.el (org-cdlatex-mode):
	* lisp/org/org-table.el (org-table-header-line-mode)
	(org-table-follow-field-mode, orgtbl-mode):
	* lisp/org/org-src.el (org-src-mode):
	* lisp/org/org-list.el (org-list-checkbox-radio-mode):
	* lisp/org/org-indent.el (org-indent-mode):
	* lisp/org/org-capture.el (org-capture-mode):
	* lisp/obsolete/pc-select.el (pc-selection-mode):
	* lisp/obsolete/iswitchb.el (iswitchb-mode):
	* lisp/net/rcirc.el (rcirc-omit-mode, rcirc-multiline-minor-mode)
	(rcirc-track-minor-mode):
	* lisp/net/goto-addr.el (goto-address-mode, goto-address-prog-mode):
	* lisp/image-mode.el (image-minor-mode):
	* lisp/ibuf-ext.el (ibuffer-auto-mode):
	* lisp/gnus/gnus-cite.el (gnus-message-citation-mode):
	* lisp/font-core.el (font-lock-mode):
	* lisp/erc/erc.el (define-erc-module):
	* lisp/erc/erc-track.el (erc-track-minor-mode):
	* lisp/erc/erc-fill.el (erc-fill-mode):
	* lisp/epa-mail.el (epa-mail-mode):
	* lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode):
	* lisp/dirtrack.el (dirtrack-mode, dirtrack-debug-mode):
	* lisp/dired-aux.el (dired-isearch-filenames-mode):
	* lisp/cedet/semantic/idle.el (semantic-idle-scheduler-mode):
	* lisp/cedet/semantic/decorate/mode.el (semantic-decoration-mode):
	* lisp/autoarg.el (autoarg-mode, autoarg-kp-mode):
	* lisp/vc/pcvs.el (cvs-minor-mode):
	Avoid old-style positional args to `define-minor-mode`.

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el: Give non-nil defaults for function vars

	Also prefer #' to quote functions.

	(message-send-rename-function, message-reply-to-function)
	(message-wide-reply-to-function, message-followup-to-function):
	Use a non-nil default value so it can be used with `add-function`.
	(message-do-send-housekeeping): Tweak accordingly.
	(message-get-reply-headers): Simplify by η-reduction.

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/eshell/esh-util.el: Require `seq`

	Also remove redundant `:group` args and tweak comment

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/eshell/esh-proc.el (eshell-kill-process-function): Use `remove-hook`

	Also remove redundant `:group` args

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/rmailmm.el (rmail-mime): Simplify interactive spec

	* lisp/progmodes/sql.el (sql-mode-ansi-font-lock-keywords): Fix declaration

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/log-edit.el (log-edit-diff-function): Give non-nil default

	(log-edit-show-diff): Simplify accordingly.

2021-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/bug-reference.el: Avoid old-style `define-minor-mode`

	(bug-reference-mode, bug-reference-prog-mode): Remove redundant args.

2021-04-11  Philipp Stephani  <phst@google.com>

	* src/emacs.c (load_seccomp): Consistently check for nonzero result

2021-04-11  Philipp Stephani  <phst@google.com>

	Add a variant of the Seccomp filter file that allows 'execve'.

	This is useful when starting Emacs with a Seccomp filter enabled,
	e.g. using 'bwrap'.

	* lib-src/seccomp-filter.c (main): Generate new Seccomp files.

	* lib-src/Makefile.in (all)
	(seccomp-filter.bpf seccomp-filter.pfc seccomp-filter-exec.bpf
	seccomp-filter-exec.pfc): Generate new Seccomp files.

	* .gitignore: Ignore new Seccomp files.

	* test/src/emacs-tests.el (emacs-tests/bwrap/allows-stdout): New unit
	test.

2021-04-11  Philipp Stephani  <phst@google.com>

	* lib-src/seccomp-filter.c (main): Also allow O_NOFOLLOW.

2021-04-11  Philipp Stephani  <phst@google.com>

	Don't attempt to generate Seccomp filter file in Linux < 4.14.

	Only Linux 4.14 and later contain the required support for
	SECCOMP_RET_KILL_PROCESS.

	* lib-src/Makefile.in (SECCOMP_FILTER): Define only if we run at least
	Linux 4.14.

2021-04-11  Philipp Stephani  <phst@google.com>

	Seccomp filter: allow reading the current time (Bug#47708).

	* lib-src/seccomp-filter.c (main): Allow reading the current time.

2021-04-11  Andreas Schwab  <schwab@linux-m68k.org>

	Fix check for timer_getoverrun

	* configure.ac (timer_getoverrun): Move check after gnulib checks
	and use $LIB_TIMER_TIME during check.

2021-04-11  Philipp Stephani  <phst@google.com>

	Use pkg-config to check for libseccomp.

	We need at list version 2.4.0 of libseccomp for seccomp-filter.c to
	build cleanly.

	* configure.ac: Use pkg-config to check for libseccomp.
	* lib-src/Makefile.in (HAVE_LIBSECCOMP, LIBSECCOMP_LIBS)
	(LIBSECCOMP_CFLAGS): New variables.
	(SECCOMP_FILTER, seccomp-filter$(EXEEXT)): Use them.

2021-04-11  Philipp Stephani  <phst@google.com>

	Remove SCMP_FLTATR_CTL_LOG attribute from Seccomp filter.

	Whether or not we log failing syscalls isn't security-critical, and we
	shouldn't care.

	* lib-src/seccomp-filter.c (main): Remove log attribute.

2021-04-11  Philipp Stephani  <phst@google.com>

	Only attempt to generate seccomp filter files on x86-64 systems.

	The seccomp filters are always architecture-specific, and
	seccomp-filter.c right now only supports x86-64.

	* lib-src/Makefile.in (SECCOMP_FILTER): New variable.
	(DONT_INSTALL, all, seccomp-filter$(EXEEXT)): Use it.

2021-04-11  Philipp Stephani  <phst@google.com>

	* lib-src/seccomp-filter.c: Print trailing newline.

2021-04-11  Stefan Kangas  <stefan@marxist.se>

	* doc/lispref/elisp.texi (Top): Add missing entry.

2021-04-11  Eli Barzilay  <eli@barzilay.org>

	Fix calculator-string-to-number yet again (bug#47694)

	* lisp/calculator.el (calculator-string-to-number):
	The last bugfix changed the code to just blindly replace ".e".  This
	has some minor problems like making "-." parse as 0.0 instead of -0.0,
	and ".1.e1" is parsed as 1 instead of 0.1.  Instead, replace the first
	"." that is followed by a non-digit with ".0".  Since this has had
	several problems over the years, add some tests too.  (Also, restore
	the original if-indentation style.)

2021-04-11  Mattias Engdegård  <mattiase@acm.org>

	Fix typo in cconv

	* lisp/emacs-lisp/cconv.el (cconv-convert): Typo.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
	Add test case.

2021-04-11  Philipp Stephani  <phst@google.com>

	Add another check for the required header <linux/filter.h>.

	* configure.ac: Also check for <linux/filter.h>.
	* src/emacs.c (SECCOMP_USABLE): Also check for <linux/filter.h>.

2021-04-11  Philipp Stephani  <phst@google.com>

	Also check for needed seccomp macros.

	It looks like these are not available on some versions of GNU/Linux,
	breaking the build.

	* configure.ac: Also check for needed seccomp macros.
	* src/emacs.c (SECCOMP_USABLE): New macro.
	(usage_message, main, standard_args): Use it.

2021-04-11  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of mouse clicks on tab-bar buttons

	* src/xdisp.c (note_mouse_highlight): Don't attempt to highlight
	tab-bar buttons.
	(note_tab_bar_highlight): Function deleted: it had no effect on
	display of tab-bar buttons.
	(tab_bar_item_info): Mention all arguments in the commentary.
	(get_tab_bar_item): Don't pay attention to mouse-highlight
	information; instead, compare the button's index with the one
	recorded in f->last_tab_bar_item.
	(handle_tab_bar_click): Don't attempt to show tab-bar buttons in
	pressed or released state: that isn't supported.  Determine
	whether to generate a tab-bar button click based on DOWN_P
	argument, not on mouse-highlight, which has no effect on tab-bar
	display.  (Bug#47581)

2021-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/shr.el (shr-insert-document): Explain why bidi-display-reordering

2021-04-11  Gregory Heytings  <gregory@heytings.org>
	    João Távora  <joaotavora@gmail.com>

	Add new icomplete-vertical-mode


	* lisp/icomplete.el (icomplete-completions): Consider icomplete-vertical-mode.
	(icomplete-vertical-mode-minibuffer-map): New map.
	(icomplete--vertical-minibuffer-setup): New helper.
	(icomplete-vertical-mode): New minor mode.

	* doc/emacs/buffers.texi (Icomplete): Mention icomplete-vertical-mode.

	* etc/NEWS: Mention icomplete-vertical-mode

2021-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/misearch.el (multi-isearch-read-buffers): Fix last change

	These are not buffers but buffer names.

2021-04-10  Philipp Stephani  <phst@google.com>

	* src/emacs.c (read_full): Add a few assertions.

2021-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cus-dep.el: Use lexical-binding

2021-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/misearch.el: Use lexical-binding

	(multi-isearch-read-buffers, multi-isearch-read-files):
	Replace `add-to-list` with `cl-pushnew` for use on a local variable.

2021-04-10  Philipp Stephani  <phst@google.com>

	* src/emacs.c (load_seccomp): Add a useful assertion.

	* src/emacs.c (load_seccomp): Fix condition.

2021-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/ps-bdf.el: Use lexical-binding

	* lisp/informat.el: Use lexical-binding

	* lisp/loadup.el: Use lexical-binding

2021-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/jka-compr.el: Use lexical-binding

	Prefer #' to quote function names.

2021-04-10  Philipp Stephani  <phst@google.com>

	* etc/NEWS: Extend paragraph about &define form and backtracking

2021-04-10  Alan Mackenzie  <acm@muc.de>

	Convert CC Mode to lexical binding in Emacs

	lisp/progmodes/cc-align.el, lisp/progmodes/cc-awk.el,
	lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-cmds.el,
	lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el,
	lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-guess.el,
	lisp/progmodes/cc-langs.el, lisp/progmodes/cc-menus.el,
	lisp/progmodes/cc-mode.el, lisp/progmodes/cc-styles.el,
	lisp/progmodes/cc-subword.el, lisp/progmodes/cc-vars.el: Mark these files with
	a `lexical-binding' setting in line 1.

	lisp/progmodes/cc-align.el, lisp/progmodes/cc-engine.el,
	lisp/progmodes/cc-vars.el (c-syntactic-context, c-syntactic-element): Declare
	these as special variables.

	lisp/progmodes/cc-bytecomp.el (cc-bytecomp-debug-msg): prefix the parameter
	ARGS with a _, and remove an `ignore' call.

	lisp/progmodes/cc-cmds.el (c-where-wrt-brace-construct): Remove `kluge-start',
	an unused variable.
	(c-while-widening-to-decl-block): Add an extra parameter, which suppresses
	the generation of a setting of variable `where'.
	(c-defun-name-and-limits): Remove variable `where' from the function and use
	the new argument to the previous macro.

	lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state): Remove two unneeded
	variables, `last' and `intermediate'.

	lisp/progmodes/cc-fonts.el (c-font-lock-c++-using): Remove unused variable.

	lisp/progmodes/cc-langs.el (c-vsemi-status-unknown-p-fn): Replace the doc
	string with the more precise one from stand-alone CC Mode.

	lisp/progmodes/cc-styles.el (c-set-offset): Give the `ignored' parameter a
	leading _.

2021-04-10  Philipp Stephani  <phst@google.com>

	Add a helper binary to create a basic Secure Computing filter.

	The binary uses the 'seccomp' helper library.  The library isn't
	needed to load the generated Secure Computing filter.

	* configure.ac: Check for 'seccomp' header and library.

	* lib-src/seccomp-filter.c: New helper binary to generate a generic
	Secure Computing filter for GNU/Linux.

	* lib-src/Makefile.in (DONT_INSTALL): Add 'seccomp-filter' helper
	binary if possible.
	(all): Add Secure Computing filter file if possible.
	(seccomp-filter$(EXEEXT)): Compile helper binary.
	(seccomp-filter.bpf seccomp-filter.pfc): Generate filter files.

	* test/src/emacs-tests.el (emacs-tests/seccomp/allows-stdout)
	(emacs-tests/seccomp/forbids-subprocess): New unit tests.

	* test/Makefile.in (src/emacs-tests.log): Add dependency on the helper
	binary.

2021-04-10  Philipp Stephani  <phst@google.com>

	* src/emacs.c (load_seccomp): Fix condition.

2021-04-10  Philipp Stephani  <phst@google.com>

	Read file in a loop if necessary.

	This allows for short reads from 'emacs_read'.

	* src/emacs.c (read_full): New helper function.
	(load_seccomp): Use it.

2021-04-10  Philipp Stephani  <phst@google.com>

	Add support for --seccomp command-line option.

	When passing this option on GNU/Linux, Emacs installs a Secure
	Computing kernel system call filter.  See Bug#45198.

	* configure.ac: Check for seccomp header.

	* src/emacs.c (usage_message): Document --seccomp option.
	(emacs_seccomp): New wrapper for 'seccomp' syscall.
	(load_seccomp, maybe_load_seccomp): New helper functions.
	(main): Potentially load seccomp filters during startup.
	(standard_args): Add --seccomp option.

	* lisp/startup.el (command-line): Detect and ignore --seccomp option.

	* test/src/emacs-tests.el (emacs-tests/seccomp/absent-file)
	(emacs-tests/seccomp/empty-file)
	(emacs-tests/seccomp/file-too-large)
	(emacs-tests/seccomp/invalid-file-size): New unit tests.
	(emacs-tests--with-temp-file): New helper macro.

	* etc/NEWS: Document new --seccomp option.

2021-04-10  Philipp Stephani  <phst@google.com>

	Edebug: Disable backtracking when hitting a &define keyword.

	Edebug doesn't deal well with backtracking out of definitions, see
	Bug#41988.  Rather than trying to support this rare situation (e.g. by
	implementing a multipass parser), prevent it by adding an implicit
	gate.

	* lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op): Disable
	backtracking when hitting a &define keyword.

	* test/lisp/emacs-lisp/edebug-tests.el
	(edebug-tests-duplicate-&define): New unit test.
	(edebug-tests--duplicate-&define): New helper macro.

	* doc/lispref/edebug.texi (Backtracking): Mention &define in the list
	of constructs that disable backtracking.

	* etc/NEWS: Document new behavior.

2021-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/nnagent.el: Fix spurious empty line at BOB

2021-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/edmacro.el: Use lexical-binding

	(edmacro-finish-edit, edmacro-parse-keys): Use `match-string`.

2021-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/files-x.el: Use lexical-binding

2021-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/ps-mule.el: Use lexical-binding

	(ps-mule-encode-header-string, ps-mule-begin-job): Use `pcase`.

2021-04-10  Gregory Heytings  <gregory@heytings.org>

	Autoload list-colors-display.

	* lisp/facemenu.el (list-colors-display): Autoload, it is mentioned
	in (info "(emacs)Colors for Faces"), and to be generally available.

2021-04-10  Michael Albinus  <michael.albinus@gmx.de>

	Tramp: fix location of files on W32

	* lisp/net/tramp.el:
	* lisp/net/tramp-sh.el: Use (eq system-type 'windows-nt) where appropriate.
	(tramp-completion-function-alist-ssh): Fix location of files on W32.

2021-04-10  Jim Porter  <jporterbugs@gmail.com>  (tiny change)

	Further fix of hostname completion on MS Windows

	* lisp/net/tramp.el (tramp-completion-file-name-regexp-simplified)
	(tramp-completion-file-name-regexp-separate): Fix W32 hostname/method
	completion for simplified and separate syntaxes (same as the previous change
	to default syntax).

2021-04-10  Eli Zaretskii  <eliz@gnu.org>

	Fix description of momentary message display

	* doc/emacs/mini.texi (Basic Minibuffer): Update the description
	of momentary message display while minibuffer is active.
	(Bug#47689)

2021-04-10  João Távora  <joaotavora@gmail.com>

	Fail earlier if stale Flymake report functions called

	If a Flymake backend calls a "stale" report function,
	flymake--handle-report might be called for a backend function that is
	no longer in the flymake--backend-state hash table.  This patch makes
	that erroneous situation slightly more explicit.

	* lisp/progmodes/flymake.el (flymake--handle-report): Improve
	error reporting.

2021-04-10  Dmitry Gutov  <dgutov@yandex.ru>

	Don't stop when before space or closing paren

	* lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
	Don't stop when before space or closing paren (bug#47665).

2021-04-09  Alan Mackenzie  <acm@muc.de>

	CC Mode: fix c-where-wrt-brace-construct to cope with class declarations

	Make the function correctly recognize a brace block preceded by an
	introductory line without a parameter list.

	* lisp/progmodes/cc-cmds.el (c-where-wrt-brace-construct): Reintroduce the use
	of c-beginning-of-decl-1, which was removed some weeks ago, in place of a
	c-syntactic-skip-backward.  Reformulate the code generally.

2021-04-09  Mattias Engdegård  <mattiase@acm.org>

	Fix condition-case optimizer bug

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't
	perform incorrect optimizations when a condition-case variable shadows
	another lexical variable.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
	New test case.

2021-04-09  Mattias Engdegård  <mattiase@acm.org>

	Better compiler warning tests

	These changes allow all bytecomp-tests to be run interactively.

	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--with-warning-test)
	(bytecomp--define-warning-file-test): Interpret any space in the
	pattern as arbitrary whitespace to tolerate line breaks.
	Don't abuse the expected-failure mechanism when checking
	for the expected absence of a warning.
	(bytecomp/*.el): Rewrite patterns to work with line breaks
	in the middle.

2021-04-09  Mattias Engdegård  <mattiase@acm.org>

	Clean up bytecomp-tests.el

	Now all test cases are run with both lexical and dynamic binding
	where applicable, comparing interpreted against compiled results.
	Previously, almost all tests were only run with dynamic binding
	which was definitely not intended.

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(byte-opt-testsuite-arith-data): Rename to bytecomp-tests--test-cases.
	(bytecomp-check-1, bytecomp-explain-1, bytecomp-tests)
	(bytecomp-lexbind-tests, bytecomp-lexbind-check-1)
	(bytecomp-lexbind-explain-1): Remove.
	(bytecomp-tests--eval-interpreted, bytecomp-tests--eval-compiled)
	(bytecomp-tests-lexbind, bytecomp-tests-dynbind)
	(bytecomp-tests--test-cases-lexbind-only): New.

2021-04-09  Stefan Kangas  <stefan@marxist.se>

	Make refer-every into obsolete alias for seq-every-p

	* lisp/textmodes/refer.el (refer-every): Make into obsolete
	function alias for seq-every-p.  Update single caller.

2021-04-09  Stefan Kangas  <stefan@marxist.se>

	Remove redundant #' before lambda in ibuf-*.el

	* lisp/ibuf-ext.el (ibuffer-included-in-filters-p)
	(ibuffer-included-in-filter-p-1, ibuffer-do-kill-lines)
	(ibuffer-jump-to-buffer, ibuffer-mark-on-buffer)
	(ibuffer-mark-by-name-regexp, ibuffer-mark-by-mode-regexp)
	(ibuffer-mark-by-content-regexp, ibuffer-mark-by-mode)
	(ibuffer-mark-modified-buffers, ibuffer-mark-unsaved-buffers)
	(ibuffer-mark-dissociated-buffers, ibuffer-mark-help-buffers)
	(ibuffer-mark-compressed-file-buffers, ibuffer-mark-old-buffers)
	(ibuffer-mark-special-buffers, ibuffer-mark-read-only-buffers)
	(ibuffer-mark-dired-buffers, ibuffer-do-occur):
	* lisp/ibuf-macs.el (ibuffer-save-marks, define-ibuffer-sorter)
	(define-ibuffer-op): Remove redundant #' before lambda.

2021-04-09  Stefan Kangas  <stefan@marxist.se>

	Don't preserve window-line in tabulated-list-print

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't
	try to preserve window-line.  (Bug#42747)

2021-04-09  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in winner.el

	* lisp/winner.el: Use lexical-binding.  Remove redundant :group
	args.
	(winner-set, winner-mode-map): Quote function symbols as such.

2021-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	Merge branch 'vhdl-mode-lexbind' into trunk

2021-04-09  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in cmuscheme.el

	* lisp/cmuscheme.el: Use lexical-binding.  Doc fixes.  Remove
	redundant :group args.  Quote function symbols as such.

2021-04-09  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/cmacexp.el: Use lexical-binding.

2021-04-09  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in foldout.el

	* lisp/foldout.el: Use lexical-binding.  Doc and formatting fixes.
	Quote function symbols as such.

2021-04-09  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in loadhist.el and add tests

	* lisp/loadhist.el: Use lexical-binding.
	* test/lisp/loadhist-tests.el: New file.

2021-04-09  Mattias Engdegård  <mattiase@acm.org>

	Self-TCO in `condition-case` error handlers

	* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Recognize
	`condition-case` handlers as being in the tail position.
	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
	Extend test.

2021-04-09  Jim Porter  <jporterbugs@gmail.com>  (tiny change)

	Fix hostname completion on MS Windows

	* lisp/net/tramp.el (tramp-completion-file-name-regexp-default):
	Handle volume letter being added to paths for file name completion on W32
	systems.  This fixes hostname (and method) autocomplete on W32.

2021-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/shadowfile-tests.el: Fix recent test failures

	(shadow--tests-cleanup): `shadow-hashtable` is now a hash table (duh!).

2021-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/vhdl-mode.el: Use lexical-binding

	Use #' to quote function names to get better compiler diagnostics.
	Wrap some lines to avoid arguments "hidden" in positions that are easy
	to misread.
	Prefix unused arguments with a semi-colon to silence compiler warnings.
	Fix a few comments that used ;;; even though they were not headings.

	(vhdl-emacs-21): Delete variable.
	Replace all uses with (not (featurep 'xemacs)) instead since `vhdl-mode`
	has been incompatible with Emacs<21 for more than 10 years already.
	(vhdl-prepare-search-1): Add Edebug declaration.
	(vhdl-prepare-search-2): Add Edebug declaration and use
	`with-syntax-table`.
	(vhdl-visit-file): Add Edebug and indentation declaration.
	Move the bulk of the code to a function for easier debugging.
	(vhdl--visit-file): New function extracted from `vhdl-visit-file`.
	Be careful not to modify syntax tables in unrelated buffers.
	(vhdl-speedbar-refresh): Remove unused var `pos`.
	(vhdl-backward-sexp): Remove unused var `last-forward`.
	(vhdl-electric-tab, vhdl-minibuffer-tab, vhdl-line-expand):
	Rename arg to avoid conflict with the `prefix-arg`
	global variable.
	(vhdl-align-region-1): Remove unused var `indent`.
	(vhdl-character-to-event): Actually give a body to that poor function.
	(vhdl-template-context): Remove unused vars `entity-exists` and `string`.
	(vhdl-template-group): Remove unused var `start`.
	(vhdl-template-argument-list): Remove unused var `start`.
	(vhdl-port-paste-context-clause): Remove unused var `margin`.
	(vhdl-port-paste-testbench): Remove unused var `source-buffer`.
	(vhdl-hs-minor-mode): Declare function `hs-hide-all`.
	(vhdl-get-hierarchy): Rename arguments `ent-alist`, `conf-alist`, and
	`conf-key` and bind those dynamically scoped var via `let` instead
	since arguments can't be dynamically scoped.
	(vhdl-speedbar-insert-hierarchy, vhdl-compose-configuration-architecture):
	Same thing with arguments `ent-alist` and `conf-alist`.
	(vhdl-cache-version): Declare variable.
	(speedbar-expand-line, speedbar-edit-line): Declare functions.
	(vhdl-speedbar-update-current-unit): Declare before first use.
	(vhdl-compose-new-component): Remove unused var `project`.
	(lazy-lock-minimum-size): Declare variable.
	(vhdl-submit-bug-report): Declare variable `reporter-prompt-for-summary-p`.

2021-04-09  Stefan Kangas  <stefan@marxist.se>

	Revert "Load all generic-x.el modes unconditionally"

	This reverts commit 0161c9df6edc02db6bd8871b00df522dd0699157.

2021-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/shadowfile.el: Use lexical-binding

	Delete redundant `:group` args.

	(shadow-hashtable): Make it an actual hash-table.
	(shadow-shadows-of, shadow-invalidate-hashtable): Adjust accordingly.
	(shadow-insert-var): Strength-reduce `eval` to `symbol-value`.
	(shadow--save-buffers-kill-emacs): New function extracted from
	`shadow-save-buffers-kill-emacs`.
	(shadow-save-buffers-kill-emacs): Use it and use `save-buffers-kill-emacs`.
	(shadow-initialize, shadowfile-unload-function):
	Use `advice-add/remove` rather than override `save-buffers-kill-emacs`
	with `defalias`.

2021-04-09  Stefan Kangas  <stefan@marxist.se>

	Remove redundant #' before lambda in {calendar,erc,mh-e}/*.el

	* lisp/calendar/icalendar.el (icalendar--get-most-recent-observance):
	* lisp/calendar/parse-time.el (parse-time-rules):
	* lisp/erc/erc-dcc.el (pcomplete/erc-mode/DCC):
	* lisp/erc/erc-track.el (erc-modified-channels-display):
	* lisp/erc/erc.el (erc-toggle-debug-irc-protocol)
	(erc-cmd-IGNORE, erc-cmd-JOIN, erc-default-server-handler)
	(erc-banlist-update):
	* lisp/mh-e/mh-search.el (mh-search, mh-mairix-convert-to-sop*)
	(mh-index-create-sequences):
	* lisp/mh-e/mh-thread.el (mh-toggle-threads, mh-thread-generate)
	(mh-thread-prune-containers, mh-thread-sort-containers):
	* lisp/mh-e/mh-utils.el (mh-sub-folders): Remove redundant #' before
	lambda.

2021-04-08  Gregory Heytings  <gregory@heytings.org>

	Terminate isearch when point has moved to another buffer

	* lisp/isearch.el (isearch-post-command-hook): Terminate isearch
	when the command just executed has moved point to another buffer.
	https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg00309.html

2021-04-08  Gregory Heytings  <gregory@heytings.org>

	User option to move to another match when changing direction in isearch.

	* lisp/isearch.el (isearch-direction-change-changes-match):
	New user option (bug#47599).
	(isearch-repeat): Use the new option.
	(isearch-repeat-forward, isearch-repeat-backward): Adapt to the
	new option.

	* etc/NEWS: Mention the new user option.

	* doc/emacs/search.texi: Document the new user option.

2021-04-08  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el (repeat-post-hook): Check for prefix-arg.

	This is instead of checking for a list of argument-related commands
	that set prefix-arg anyway.

2021-04-08  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el (repeat-post-hook): Skip repeating in minibuffer (bug#47566).

	(repeat-map)<defvar>: Add docstring.

2021-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/vhdl-mode.el: Use progress-reporter

	This was actually prompted by a backward compatibility problem
	(because of the use of Emacs-27's `time-convert`).  The new code
	seems to work fine in Emacs-25.
	It also fixes a minor bug that made the echo area messages of
	`vhdl-indent-region` compete with those of `indent-region`.

	(vhdl-progress-info): Delete variable.
	(vhdl--progress-reporter): New var to replace it.
	(vhdl-update-progress-info): Delete function.
	(vhdl-indent-line): Call progress-reporter-update instead.
	(vhdl-indent-region): Make it an obsolete alias of `indent-region`.
	Change all users.
	(vhdl-align-region-groups, vhdl-align-region, vhdl-fix-case-region-1):
	Use `make-progress-reporter` and `progress-reporter-update`.

2021-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/array.el: Use lexical-binding

2021-04-08  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Frequently Asked Questions): New item about recentf.

2021-04-08  Michael Albinus  <michael.albinus@gmx.de>

	Revert use of powershell in Tramp, there are collateral damages

	* lisp/net/tramp-sh.el (tramp-methods) <sshx, scpx>: Fix quoting
	for MS Windows.
	(tramp-connection-properties): Don't set "encoding-shell".
	(tramp-actions-before-shell): Remove `tramp-no-job-control-regexp'.
	(tramp-maybe-open-connection): Revert changes for "encoding-shell".

	* lisp/net/tramp.el (tramp-no-job-control-regexp): Remove.

2021-04-07  Alan Third  <alan@idiocy.org>

	Remove hardcoded gcc version

	* configure.ac: Use 'find' to find the brew installed libgccjit libs
	instead of a hardcoded path.

2021-04-07  Juri Linkov  <juri@linkov.net>

	Don't set isearch-success in isearch-wrap functions

	* lisp/comint.el (comint-history-isearch-wrap):
	* lisp/simple.el (minibuffer-history-isearch-wrap):
	Don't set isearch-success to t, so isearch-repeat won't skip the
	beginning of the wrapped match with (forward-char (if isearch-forward 1 -1)).

2021-04-07  Eli Zaretskii  <eliz@gnu.org>

	Fix crash on MS-Windows caused by recent changes

	* src/pdumper.c (dump_do_dump_relocation): Don't use
	expand-file-name, as this crashes on MS-Windows.  Use
	file_access_p instead of emacs_fopen.

2021-04-07  Andrea Corallo  <akrl@sdf.org>

	Improve some docstring in comp.el

	* lisp/emacs-lisp/comp.el (comp--native-compile)
	(batch-native-compile, batch-byte-native-compile-for-bootstrap):
	Improve docstring.

2021-04-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	2f5f30671a (origin/emacs-27) Fix broken links in autorevert.el
	673c02f6d0 * lisp/international/ja-dic-cnv.el (skkdic-convert): Doc fix.

2021-04-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	3ec93bb7c2 Improve doc strings in replace.el

2021-04-07  Stefan Kangas  <stefan@marxist.se>

	Clarify obsoletion messages for easy-menu-{add,remove}

	* lisp/emacs-lisp/easymenu.el (easy-menu-remove, easy-menu-add):
	Clarify obsoletion messages.

2021-04-07  Stefan Kangas  <stefan@marxist.se>

	Update whois-server-tld

	* lisp/net/net-utils.el (whois-server-tld): Update and add some
	missing entries.

2021-04-07  Andrea Corallo  <akrl@sdf.org>

	Move gitlab-ci native-comp tests into '/test/infra/gitlab-ci.yml'

	* .gitlab-ci.yml: Fix incorrect b8d3ae78c5 merge.
	* test/infra/gitlab-ci.yml (test-native-bootstrap-speed0)
	(test-native-bootstrap-speed1, test-native-bootstrap-speed2): Move
	from .gitlab-ci.yml.

2021-04-07  Mattias Engdegård  <mattiase@acm.org>

	Fix mistakes in bytecomp-tests

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(byte-opt-testsuite-arith-data): Fix typos and avoid errors that made
	the tests less powerful than intended.

2021-04-07  Alan Third  <alan@idiocy.org>

	Fix install with NS app bundle

	* configure.ac: Set up CFLAGS and LDFLAGS to find a Homebrew
	installation of libgccjit.
	* Makefile.in (ELN_DESTDIR): Set to the app bundle resource dir when
	required.
	(install-eln): macOS install doesn't support the -D flag, so make the
	directories separately.

2021-04-07  Andrea Corallo  <akrl@sdf.org>

	Makefile.in (BIN_DESTDIR, src): Fix 'BIN_DESTDIR' on MacOS.

2021-04-07  Dmitry Gutov  <dgutov@yandex.ru>

	Add explicit support for C-g or ESC ESC ESC after keymap prompt

	* lisp/progmodes/project.el (project-switch-project):
	Add explicit support for C-g or ESC ESC ESC after keymap prompt
	(bug#47620).

2021-04-07  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>

	Allow complex key bindings in project-switch-project

	* lisp/progmodes/project.el (project-switch-project): Replace
	read-event with an overriding local map and read-key-sequence to allow
	for complex key bindings to be read (bug#47620).

2021-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/find-file.el: Make the commands oblivious to mouse/non-mouse

	(ff-find-other-file): Add `event` argument.
	(ff-find-other-file-other-window): Rename from
	`ff-mouse-find-other-file-other-window` and use this new argument.
	(ff-mouse-find-other-file, ff-mouse-find-other-file-other-window):
	Make them obsolete aliases.
	(ff-upcase-p): Remove unused `start` and `end` arguments and
	simplify accordingly.

2021-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/find-file.el: Use lexical-binding

	Remove unused `:group` args.  Prefer #' to quote function.

	(ff-special-constructs, ff-find-the-other-file, ff-get-file-name)
	(ff-list-replace-env-vars, ff-cc-hh-converter): Use `match-string`.
	(modula2-other-file-alist): Tighten regexps.
	(ff-get-other-file, ff-find-other-file): Use dynamic scoping.
	(ff-find-the-other-file): Minor simplification.
	(ff-other-file-name): Delete unused function.
	(ff-string-match): Don't let-bind `case-fold-search` if not needed.
	(ff-basename): Make it an obsolete alias for `file-name-nondirectory`.
	(ff-switch-file): Minor simplification.
	(ff-list-replace-env-vars): Use [:alnum:].
	(ff-upcase-p): Use [:upper:]
	(ff-cc-hh-converter): Use [:upper:] and [:lower:].

2021-04-06  Andrea Corallo  <akrl@sdf.org>

	* .gitlab-ci.yml: Move native-comp tests into 'slow' stage.

2021-04-06  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-wrap-pause): New defcustom (bug#47599).

	(isearch-repeat): Use it.
	(isearch-search): Don't ding when isearch-wrap-pause is no-ding.

2021-04-06  Andrea Corallo  <akrl@sdf.org>

	* src/pdumper.c (dump_do_dump_relocation): Use `expand-file-name'.

2021-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/ps-mode.el: Use lexical-binding

	And prefer #' to quote function names.

2021-04-06  Damien Cassou  <damien@cassou.me>

	Fix broken links in autorevert.el

	* lisp/autorevert.el (global-auto-revert-non-file-buffers):
	Fix broken links.  (Bug#47621)

2021-04-06  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#47601 in Tramp

	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
	Use `tramp-handle-file-newer-than-file-p'.  (Bug#47601)
	(tramp-sh-handle-file-newer-than-file-p, tramp-run-test2): Remove.

2021-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/msb.el: Use lexical-binding

	Remove redundant `:group` args.
	(msb--add-to-menu): Strength-reduce `eval` to `symbol-value` and use `push`.
	(msb--create-sort-item): Strength-reduce `eval` to `symbol-value`.
	(msb-menu-bar-update-buffers): Replace `(lambda...) with a proper closure.

2021-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/hippie-exp.el: Use lexical-binding

	Remove redundant `:group` args.
	(make-hippie-expand-function): Turn it into a function returning
	a closure.
	(try-expand-all-abbrevs): Strength-reduce `eval` to `symbol-value`
	and use `abbrev-table-p` rather than `vectorp`.

2021-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/comint.el: Fix understickiness of non-comint properties

	When a third party package adds properties to the prompt they don't
	necessarily want to be `read-nonsticky` (e.g. for the `cursor-intangible`
	property), so replace the catchall `rear-nonsticky t` with an
	actual list of the properties that we want to be `rear-nonsticky`.

	(comint-send-input, comint-output-filter): Don't mark
	all properties as non-sticky.

2021-04-05  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Add repeat-map keymaps.

	* lisp/tab-bar.el (tab-bar-switch-repeat-map): New keymap used for
	'tab-next' and 'tab-previous'.
	(tab-bar-move-repeat-map): New keymap used for 'tab-move'.
	https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg01103.html

2021-04-05  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el (repeat-keep-prefix): New defcustom.

	* lisp/repeat.el (repeat-map): New autoloaded global variable.
	(repeat-post-hook): Use 'repeat-map' when non-nil
	and reset it to nil afterwards.
	(repeat-post-hook): Keep the current prefix when
	'repeat-keep-prefix' is non-nil.

	* lisp/window.el (other-window-repeat-map): Add "O" that sets
	'repeat-map' to 'other-window-repeat-map' before calling
	'(other-window -1)'.

	https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg01387.html

2021-04-05  Juri Linkov  <juri@linkov.net>

	* lisp/repeat.el (repeat-post-hook): Fix key lookup.

	* lisp/repeat.el (repeat-post-hook): Rename let-bound repeat-map to rep-map.
	Define let-bound prefix-command-p.  Use lookup-key with
	this-single-command-keys instead of last-command-event.
	Don't show message when typing prefix keys.
	https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg00083.html

2021-04-05  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into native-comp

2021-04-05  Andrea Corallo  <akrl@sdf.org>

	Introduce `comp-file-preloaded-p'

	* src/comp.c (syms_of_comp): Define `comp-file-preloaded-p'.
	(Fcomp_el_to_eln_filename): Account for `comp-file-preloaded-p'.

2021-04-05  Michael Albinus  <michael.albinus@gmx.de>

	Use powershell for Tramp on MS Windows

	* lisp/net/tramp-sh.el (tramp-use-ssh-controlmaster-options):
	Nil on MS Windows.
	(tramp-connection-properties): Add "encoding-shell".
	(tramp-maybe-open-connection): Use it.  Change exit handling.
	(tramp-actions-before-shell): Add `tramp-no-job-control-regexp'.

	* lisp/net/tramp.el (tramp-methods): Adapt docstring.
	(tramp-no-job-control-regexp): New defcustom.
	(tramp-get-debug-buffer): Set coding system.

2021-04-05  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>

	Do not search the global keymap in project--keymap-prompt

	* lisp/progmodes/project.el: (project--keymap-prompt) Pass
	project--keymap-prompt as a list to where-is-internal so that the
	global keymap is not searched at all (bug#47501).

2021-04-05  Lin Sun  <lin.sun@zoom.us>

	Don't call `image-toggle-display-text' when toggling

	*lisp/image-mode.el (image-mode-to-text): Do not call the
	image-toggle-display-text twice when toggle image display (bug#47521).

2021-04-05  Utkarsh Singh  <utkarsh190601@gmail.com>  (tiny change)

	Fix cd to directories called "eshell" in eshell

	* lisp/eshell/em-script.el (eshell-script-initialize): Allow
	changing directory to directories called "eshell" (bug#47547).

2021-04-05  Glenn Morris  <rgm@gnu.org>

	* lisp/international/ja-dic-cnv.el (skkdic-convert): Doc fix.

2021-04-05  Stefan Kangas  <stefan@marxist.se>

	Remove redundant #' before lambda in calc/*.el

	* lisp/calc/calc-alg.el (math-defsimplify):
	* lisp/calc/calc-ext.el (math-defintegral, math-defintegral-2):
	* lisp/calc/calc-prog.el (math-do-arg-check): Remove redundant #'
	before lambda.

2021-04-05  Stefan Kangas  <stefan@marxist.se>

	* lisp/shadowfile.el (cl-lib): Revert removing require.

	* lisp/pcomplete.el: Remove aliases commented out for 20 years.

2021-04-05  Stefan Kangas  <stefan@marxist.se>

	Remove local uniquify functions in favor of seq-uniq

	* lisp/emacs-lisp/seq.el (seq-uniq): Add autoload cookie.
	* lisp/pcomplete.el: (pcomplete-uniquify-list): Use seq-uniq.
	* lisp/eshell/esh-util.el (eshell-uniqify-list)
	(eshell-uniquify-list):
	* lisp/nxml/rng-util.el (rng-uniquify-equal):
	* lisp/progmodes/idlwave.el (idlwave-uniquify):
	* lisp/textmodes/artist.el (artist-uniq): Make into obsolete
	function aliases for seq-uniq.  Update callers.
	* lisp/nxml/rng-util.el (rng-uniquify-eq): Make obsolete in favor
	of seq-uniq.  Update callers.

2021-04-05  Stefan Kangas  <stefan@marxist.se>

	Obsolete local set difference functions in favor of seq-difference

	* lisp/emacs-lisp/seq.el (seq-difference): Add autoload cookie.
	* lisp/gnus/gnus-range.el (gnus-set-difference):
	* lisp/gnus/spam.el (spam-set-difference): Make obsolete in favor
	of seq-difference.  Update callers.

2021-04-05  Stefan Kangas  <stefan@marxist.se>

	Obsolete local list functions in shadowfile.el

	* lisp/shadowfile.el (shadow-union): Make obsolete in favor of
	cl-union.  Update callers.
	(shadow-find): Make into obsolete function alias for seq-find.
	Update callers.
	(cl-lib): Remove unnecessary require.

2021-04-05  Michael Albinus  <michael.albinus@gmx.de>

	* test/infra/Dockerfile.emba (emacs-gnustep): Do not run parallel make.

2021-04-05  Stefan Kangas  <stefan@marxist.se>

	Remove code commented out since 1995 from ediff-util.el

	* lisp/vc/ediff-util.el (ediff-load-hook): Remove code commented out
	since the file was added in 1995.

2021-04-05  Stefan Kangas  <stefan@marxist.se>

	Replace local intersection functions with seq-intersection

	* lisp/doc-view.el (doc-view-intersection):
	* lisp/gnus/gnus-range.el (gnus-intersection):
	* lisp/htmlfontify.el (hfy-interq):
	* lisp/loadhist.el (file-set-intersect):
	* lisp/mail/smtpmail.el (smtpmail-intersection): Make obsolete in
	favor of seq-intersection.  Update all callers.

	* lisp/url/url-dav.el (url-intersection): Redefine as obsolete
	function alias for seq-intersection.  Update callers.

	* lisp/mpc.el (mpc-intersection, mpc-cmd-list, mpc-reorder):
	Use seq-intersection.

2021-04-05  Stefan Kangas  <stefan@marxist.se>

	Make ediff-copy-list alias obsolete

	* lisp/vc/ediff-mult.el (ediff-intersect-directories)
	(ediff-get-directory-files-under-revision): Don't use above
	obsolete alias.
	* lisp/vc/ediff-util.el (ediff-copy-list): Make alias obsolete.

2021-04-05  Stefan Kangas  <stefan@marxist.se>

	* lisp/htmlfontify.el (hfy-triplet-regex): Use rx.

	* etc/NEWS: Add entry for new SVG icons in customize.

2021-04-05  Glenn Morris  <rgm@gnu.org>

	* doc/misc/Makefile.in (echo-sources): Make it not the first target.

2021-04-05  Glenn Morris  <rgm@gnu.org>

	Regenerate texi-from-org if ox-texinfo.el changes

	* doc/misc/Makefile.in (top_srcdir): New, set by configure.
	(emacs): Set load-prefer-newer.
	(org_template): Make output depend on ox-texinfo.el.

2021-04-05  Glenn Morris  <rgm@gnu.org>

	Regenerate semantic grammars if the generating code changes

	* admin/grammars/Makefile.in (emacs): Set load-prefer-newer.
	(grammar_bovine, grammar_wisent): New variables.
	(${bovinedir}/%-by.el, ${bovinedir}/scm-by.el)
	(${cedetdir}/semantic/%-wy.el, ${wisentdir}/%-wy.el)
	(${wisentdir}/javat-wy.el, ${cedetdir}/srecode/srt-wy.el):
	Depend on the source file for the generating function.
	* lisp/cedet/semantic/bovine/grammar.el (bovine--make-parser-1):
	* lisp/cedet/semantic/wisent/grammar.el (wisent--make-parser-1):
	Force generation of the output file.  The previous "is the output
	newer than the input" failed to account for changes in the
	generation code itself.  Force so we can let make figure it out.

2021-04-04  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (fixup_eln_load_path): Fix parameter name.

	* src/comp.c (Fcomp_el_to_eln_filename): Fix doc.

	* lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Clean-up all .eln dirs.

2021-04-04  Andrea Corallo  <akrl@sdf.org>

	Output native compiled preloaded files into the 'preloaded' subfolder

	* src/comp.c (fixup_eln_load_path): Account the fact that the
	file can be dumped in the 'preloaded' subfolder.
	* lisp/loadup.el: Likewise.
	* src/lread.c (maybe_swap_for_eln1): New function.
	(maybe_swap_for_eln): Handle 'preloaded' subfolder.
	* src/Makefile.in (LISP_PRELOADED): Export preloaded files.

2021-04-04  Harald Jörg  <haj@posteo.de>

	cperl-mode: Don't reposition the window when writing messages

	* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Avoid
	printing messages while point is off-screen (Bug#47549).

2021-04-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the doc string of insert-image

	* lisp/image.el (insert-image): Mention the effect of a whitespace
	image (bug#47240).

2021-04-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Work around issue with (setq Man-notify-method 'aggressive)

	* lisp/man.el (Man-bgproc-sentinel): Check that the window still
	exists before trying to select it (bug#38164).

2021-04-04  Glenn Morris  <rgm@gnu.org>

	Make maintainer-clean delete generated files, as per standards

	These are generated files that were once kept in the repository.
	When they were removed from the repository, as a half-way measure
	they were only deleted by "extraclean", but this was never
	necessary and was not a proper use of that rule.
	* admin/charsets/Makefile.in (gen-clean): New phony target.
	(maintainer-clean): Delete generated files.
	* admin/grammars/Makefile.in (gen-clean): New phony target.
	(maintainer-clean): Delete generated files.
	* admin/unidata/Makefile.in (gen-clean): New phony target.
	(maintainer-clean): Delete generated files.
	* leim/Makefile.in (gen-clean): New phony target.
	(maintainer-clean): Delete generated files.
	* GNUmakefile: Doc fix.

2021-04-04  Alan Third  <alan@idiocy.org>

	Work around librsvg bug (bug#47074)

	Librsvg <= 2.40 has restrictions on how certain numbers can be run
	together in path elements which do not match the SVG spec.

	* etc/images/checkbox-mixed.svg:
	* etc/images/checked.svg:
	* etc/images/radio-checked.svg:
	* etc/images/unchecked.svg: Separate problem numbers.
	* etc/images/radio-mixed.svg: Separate problem numbers and color and
	font-weight data.

2021-04-04  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/filenotify-tests.el (file-notify--test-timeout):

	Change timing on emba.

2021-04-04  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows build

	* src/image.c: (init_svg_functions) [WINDOWSNT]: Define and load
	rsvg_handle_set_stylesheet from the DLL for librsvg > 2.48.
	(lookup_image): Use xmalloc.

2021-04-04  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in hilit-chg.el

	* lisp/hilit-chg.el: Use lexical-binding.  Remove redundant :group
	args.  Doc and formatting fixes.
	(highlight-changes-mode, highlight-changes-visible-mode):
	Use keyword arguments.
	(hilit-chg-display-changes, highlight-changes-rotate-faces):
	Quote function symbols as such.
	(hilit-x, hilit-y, hilit-e): Define variables on top-level to
	silence the byte-compiler.
	(highlight-markup-buffers): Improve message format.

2021-04-04  Stefan Kangas  <stefan@marxist.se>

	Remove redundant #' before lambda in tests

	* test/lisp/electric-tests.el (save-electric-modes)
	(inhibit-in-mismatched-string-inside-ruby-comments)
	(inhibit-in-mismatched-string-inside-c-comments, js-mode-braces)
	(js-mode-braces-with-layout)
	(js-mode-braces-with-layout-and-indent, autowrapping-1)
	(autowrapping-2, autowrapping-3, autowrapping-4, autowrapping-5)
	(autowrapping-6, autowrapping-7):
	* test/lisp/progmodes/xref-tests.el
	(xref--xref-file-name-display-is-relative-to-project-root):
	* test/src/thread-tests.el (threads-signal-early)
	(threads-signal-main-thread): Remove redundant #' before lambda.

2021-04-04  Alan Third  <alan@idiocy.org>

	Fix warnings in image.c

	* src/image.c (svg_load_image): Fix types and move declaration of
	'css' to the top of the function.

2021-04-04  Eli Zaretskii  <eliz@gnu.org>

	Fix unexec compilation

	* src/pdumper.c (thaw_hash_tables): Now conditioned by
	HAVE_PDUMPER.
	(init_pdumper_once): No-op unless HAVE_PDUMPER.  Reported by
	Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>.

2021-04-04  Eli Zaretskii  <eliz@gnu.org>

	Fix recent changes regarding frame-scale-factor

	* src/frame.c (Fframe_scale_factor): Make more robust and avoid
	compiler warning while at that.  Doc fix.

2021-04-04  İ. Göktuğ Kayaalp  <self@gkayaalp.com>

	Fix build error in frame.h on non-NS

	* src/frame.h (FRAME_SCALE_FACTOR): Fix syntax of macro in
	previous change.

2021-04-04  Alan Third  <alan@idiocy.org>

	Make new SVG widgets match character height (bug#47074)

	* etc/images/checkbox-mixed.svg:
	* etc/images/checked.svg:
	* etc/images/radio-checked.svg:
	* etc/images/radio-mixed.svg:
	* etc/images/radio.svg:
	* etc/images/unchecked.svg: Use viewBox and set height to 1em.

2021-04-04  Alan Third  <alan@idiocy.org>

	Set CSS for SVG files

	* src/dispextern.h (struct image): Add font details required for the CSS.
	* src/image.c (free_image): Free the font family string.
	(search_image_cache):
	(uncache_image): Make image caching understand the font details.
	(lookup_image): Handle the font details when generating the image and
	looking up the cache.
	(svg_css_length_to_pixels): Handle 'em' when we know the font size.
	(svg_load_image): Generate the CSS and apply it to the SVG.
	(enum svg_keyword_index):
	(svg_format):
	(syms_of_image): Add ':css' attribute.
	* doc/lispref/display.texi (SVG Images): Add details of new svg image
	attributes.

2021-04-04  Alan Third  <alan@idiocy.org>

	Fix NSTRACE failure

	* src/nsterm.m ([EmacsSurface getContext]): Remove unneeded '@' symbol.

2021-04-04  Alan Third  <alan@idiocy.org>

	Implement frame-scale-factor

	* src/frame.c (Fframe_scale_factor): New function.
	(syms_of_frame): Add frame-scale-factor.
	* src/frame.h: Add FRAME_SCALE_FACTOR.
	* src/image.c: Move FRAME_SCALE_FACTOR to frame.h.

2021-04-03  Stefan Kangas  <stefan@marxist.se>

	Add SVG icons for customize buffers

	* etc/images/checkbox-mixed.svg:
	* etc/images/checked.svg:
	* etc/images/down.svg:
	* etc/images/left.svg:
	* etc/images/radio-checked.svg:
	* etc/images/radio-mixed.svg:
	* etc/images/radio.svg:
	* etc/images/right.svg:
	* etc/images/unchecked.svg:
	* etc/images/up.svg: New files from the Adwaita Icon Theme (made by
	the GNOME project).  The background color was changed from gray to
	none to use the same colors as the current face instead.  (Bug#47074)
	* etc/images/README: Add license information for the above new files.
	* lisp/wid-edit.el (widget-image-conversion): Prefer SVG if it exists.
	(radio-button): Rename radio buttons to "radio-checked" and
	"radio".  These files did not exist before.

2021-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vcursor.el: Use lexical-binding

	Remove redundant `:group` args.
	(vcursor): Remove unused var declaration.

2021-04-03  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):

	Fix code finding //DIRED//.

2021-04-03  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/filenotify-tests.el (file-notify--test-timeout): Change timing.

2021-04-03  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings in replace.el

	* lisp/replace.el (occur, list-matching-lines-prefix-face)
	(list-matching-lines-jump-to-current-line): Doc fixes.

2021-04-03  Stefan Kangas  <stefan@marxist.se>

	* lisp/pixel-scroll.el: Use lexical-binding.

2021-04-03  Stefan Kangas  <stefan@marxist.se>

	Replace two functions with seq-subseq

	* lisp/emacs-lisp/seq.el (seq-subseq): Add autoload cookie.
	* lisp/eshell/esh-util.el (eshell-sublist): Redefine using seq-subseq
	and make obsolete.  Update callers.
	* lisp/wid-edit.el (widget-sublist): Redefine as obsolete function
	alias for seq-subseq.  Update callers.

2021-04-03  Stefan Kangas  <stefan@marxist.se>

	Remove redundant #' before lambda in eshell/*.el

	* lisp/eshell/em-dirs.el (eshell-dirs-initialize):
	* lisp/eshell/em-pred.el (eshell-predicate-alist)
	(eshell-modifier-alist):
	* lisp/eshell/em-script.el (eshell-script-initialize):
	* lisp/eshell/eshell.el (eshell-command): Remove redundant #' before
	lambda.

2021-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/simula.el: Use lexical-binding

	(simula-tab-always-indent): Mark as obsolete.
	(simula-mode-map): Don't bind TAB.
	(simula-indent-command): Mark as obsolete.
	(hilit-set-mode-patterns): Remove obsolete support for hilit19.
	(simula-mode-syntax-table): Move initialization code into the declaration.

2021-04-03  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in recentf.el

	* lisp/recentf.el: Use lexical-binding.  Doc fix.
	(recentf-save-file): Strength reduce 'eval' to 'symbol-value'.
	(recentf-trunc-list): Make into obsolete function alias for
	'seq-take'.  Update callers.
	(recentf-show-file-shortcuts-flag): Doc fix.
	(recentf-menu-elements, recentf-make-menu-items)
	(recentf-make-menu-item, recentf-dialog-mode-map)
	(recentf-dialog, recentf-open-files-item)
	(recentf-open-files-items, recentf-open-files)
	(recentf-load-list): Quote function symbols as such.
	(recentf-relative-filter, recentf-file-name-nondir): Remove
	redundant #' before lambda.

2021-04-03  Stefan Kangas  <stefan@marxist.se>

	Remove references to very old versions of Emacs from eintr

	* doc/lispintro/emacs-lisp-intro.texi (Making Errors)
	(Void Function, Void Variable, Wrong Type of Argument, debug)
	(debug-on-entry): Remove commented out references to Emacs 20 or
	earlier.
	* doc/lispintro/emacs-lisp-intro.texi (what-line)
	(print-elements-of-list, debug, X Axis Tic Marks): Don't call version
	22 or earlier a "recent" version of Emacs.

2021-04-02  Stefan Kangas  <stefan@marxist.se>

	* doc/misc/woman.texi (Introduction): Remove reference to old Emacs.

2021-04-02  Stefan Kangas  <stefan@marxist.se>

	Remove redundant #' before lambda in textmodes/*.el

	* lisp/textmodes/fill.el:
	* lisp/textmodes/ispell.el (ispell-find-enchant-dictionaries):
	* lisp/textmodes/rst.el (rst-re, rst-Ado-position)
	(rst-Hdr-member-ado, rst-mode-abbrev-table)
	(rst-preferred-adornments, rst-new-preferred-hdr)
	(rst-classify-adornment, rst-ttl-at-point, rst-hdr-hierarchy)
	(rst-all-ttls-with-level, rst-get-previous-hdr)
	(rst-adjust-region, rst-preferred-bullets, rst-find-begs)
	(rst-straighten-bullets-region, rst-stn-containing-point)
	(rst-toc-update, rst-forward-section, rst-shift-region)
	(rst-enumerate-region, rst-bullet-list-region)
	(rst-line-block-region, rst-forward-indented-block): Remove redundant #'
	before lambda.

2021-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/misc/reftex.texi: Remove outdated instructions

	(Building and Installing, Installation with make)
	(Installation by Hand, Loading @RefTeX{}): Delete sections.
	(Entering @RefTeX{} Mode): Merge into its parent.
	(AUCTeX): Point to GNU ELPA for installation.
	(Problems and Work-Arounds): Remove XEmacs-specific item.

2021-04-02  Arash Esbati  <arash@gnu.org>

	Delete XEmacs-only definition

	* lisp/textmodes/reftex-vars.el (reftex-label-regexps): Remove
	XEmacs compat code.

2021-04-02  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/xref.el: Change xref-file-name-display and xref-match face.

	* lisp/progmodes/xref.el (xref-file-name-display): Change the default value
	to 'project-relative' (bug#47012).
	(xref-match)<face>: Inherit from 'match'.

2021-04-02  Dmitry Gutov  <dgutov@yandex.ru>

	Fix C-u project-find-regexp's default dir

	* lisp/progmodes/project.el (project-find-regexp):
	Default read-directory-name to the current default-directory when
	called with C-u (bug#47012).

2021-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cfengine.el: Use lexical-binding

2021-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/dcl-mode.el: Clarify what is meant by DCL

2021-04-01  Andrea Corallo  <akrl@sdf.org>

	* src/comp.h (unload_comp_unit): Define for vanilla build (warning removal).

2021-04-01  Stefan Kangas  <stefan@marxist.se>

	Remove redundant #' before lambda in {mail,net,url}/*.el

	* lisp/mail/mail-extr.el:
	* lisp/mail/rmail.el (rmail-start-mail):
	* lisp/net/gnutls.el (gnutls-boot-parameters):
	* lisp/net/imap.el (imap-starttls-open):
	* lisp/net/pop3.el (pop3-list):
	* lisp/url/url-cookie.el (url-cookie-save-interval):
	* lisp/url/url-history.el (url-history-save-interval)
	(url-history-track):
	* lisp/url/url-mailto.el (url-mailto): Remove redundant #' before lambda.

2021-04-01  Andrea Corallo  <akrl@sdf.org>

	Issue a warning when eln look-up fails due to missing .el source file.

	* lisp/emacs-lisp/comp.el (comp-warning-on-missing-source): New
	customize.
	* src/lread.c (maybe_swap_for_eln): Issue a warning when eln
	look-up fails due to missing .el source file.
	* src/comp.c (syms_of_comp): Define
	'Qcomp_warning_on_missing_source'.

2021-04-01  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in executable.el and add tests

	* lisp/progmodes/executable.el: Use lexical-binding.
	* test/lisp/progmodes/executable-tests.el: New file.

2021-04-01  Stefan Kangas  <stefan@marxist.se>

	Remove redundant #' before lambda in progmodes/*.el

	* lisp/progmodes/cc-styles.el (c-set-offset):
	* lisp/progmodes/ebnf-yac.el (ebnf-yac-token-table):
	* lisp/progmodes/ebnf2ps.el (ebnf-format-float, ebnf-map-name):
	* lisp/progmodes/grep.el (lgrep, rgrep-default-command):
	* lisp/progmodes/inf-lisp.el:
	* lisp/progmodes/octave.el (octave-lookfor):
	* lisp/progmodes/python.el (python-pdbtrack-tracking-finish): Remove
	redundant #' before lambda.

2021-04-01  Stefan Kangas  <stefan@marxist.se>

	Remove redundant #' before lambda in international/*.el

	* lisp/international/characters.el:
	(use-cjk-char-width-table, update-glyphless-char-display):
	* lisp/international/fontset.el (build-default-fontset-data)
	(generate-fontset-menu):
	* lisp/international/latin1-disp.el (latin1-display-reset):
	* lisp/international/mule-cmds.el
	(select-safe-coding-system-interactively):
	* lisp/international/mule-diag.el (sort-listed-character-sets)
	(font-show-log):
	* lisp/international/mule.el (char-displayable-p):
	* lisp/international/quail.el (quail-keyboard-layout-type)
	(quail-update-translation, quail-find-key):
	* lisp/international/titdic-cnv.el (tsang-quick-converter)
	(ziranma-converter): Remove redundant #' before lambda.

2021-04-01  Eli Zaretskii  <eliz@gnu.org>

	GNUmakefile: Fix last change.

2021-04-01  Eli Zaretskii  <eliz@gnu.org>

	Fix 'extraclean' targets

	* GNUmakefile: Add description of 'extraclean'.

	* Makefile.in (extraclean_dirs): Add lwlib.

	* lwlib/Makefile.in (clean mostlyclean extraclean): Add
	'extraclean' target.

	* lisp/Makefile.in (extraclean): Remove ${loaddefs}, not just
	${LOADDEFS}.  Delete all backup and autosave files.

2021-04-01  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in epg-config.el and add tests

	* lisp/epg-config.el: Use lexical-binding.
	(epg-find-configuration): Improve error message.
	* test/lisp/epg-config-tests.el: New file.

2021-04-01  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in isearchb.el

	* lisp/isearchb.el: Use lexical-binding.  Remove redundant :group
	args.

2021-04-01  Stefan Kangas  <stefan@marxist.se>

	Remove redundant #' before lambda in Gnus

	* lisp/gnus/gnus-group.el (gnus-group-list-cached)
	(gnus-group-list-dormant, gnus-group-list-ticked):
	* lisp/gnus/gnus-registry.el (gnus-registry-remove-extra-data):
	* lisp/gnus/gnus-score.el (gnus-score-edit-file-at-point):
	* lisp/gnus/gnus-sum.el (gnus-fetch-headers):
	* lisp/gnus/mm-partial.el (mm-inline-partial):
	* lisp/gnus/nnselect.el (nnselect-uncompress-artlist)
	(numbers-by-group, nnselect-request-expire-articles)
	(nnselect-request-update-info, nnselect-request-thread):
	* lisp/gnus/nnvirtual.el (nnvirtual-request-expire-articles):
	* lisp/gnus/spam-stat.el (spam-stat-score-buffer): Remove redundant #'
	before lambda.

2021-04-01  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in avoid.el

	* lisp/avoid.el: Use lexical-binding.  Remove redundant :group args.
	(mouse-avoidance-fancy): Quote function symbol as such.

2021-04-01  Stefan Kangas  <stefan@marxist.se>

	Use emacs-version instead of obsolete version variables

	* lisp/calendar/icalendar.el (icalendar-version):
	* lisp/dframe.el (dframe-version):
	* lisp/emacs-lisp/checkdoc.el (checkdoc-version):
	* lisp/emulation/edt.el (edt-version):
	* lisp/international/mule.el (mule-version):
	* lisp/linum.el (linum-version):
	* lisp/play/bubbles.el (bubbles-version):
	* lisp/textmodes/remember.el (remember-version):
	* lisp/url/url-vars.el (url-version):
	* lisp/woman.el (woman-version): Use emacs-version instead of obsolete
	version variables.

2021-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/strokes.el: Use lexical-binding.  Remove redundant `:group` args

	(strokes-char-table): Move initialization into declaration.

2021-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/forms.el: Use lexical-binding.  Remove redundant `:group` args

	(forms--process-format-list, forms--debug): Strength-reduce `eval`
	to `symbol-value`.

2021-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/dcl-mode.el: Use lexical-binding

	(dcl-guess-option-value, dcl-save-local-variable)
	(dcl-save-nondefault-options): Strength-reduce `eval` to `symbol-value`.

2021-03-31  Eli Zaretskii  <eliz@gnu.org>

	* src/comp.c (Fcomp__compile_ctxt_to_file): Fix debug level 1.

2021-03-31  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter):

	Make assumption for emba.

2021-03-31  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-final): Clean-up temporary file.

2021-03-31  Andrea Corallo  <akrl@sdf.org>

	Rework native compilation `comp-debug' (bug#46495)

	* lisp/emacs-lisp/comp.el (comp-debug): Update docstring and
	move default on Windows systems from 0 to 1.
	* src/comp.c (Fcomp__compile_ctxt_to_file): Tweak debug
	levels.

2021-03-31  Andrea Corallo  <akrl@sdf.org>

	Do not defer compilation when bytecode is explicitly requested (bug#46617)

	* src/comp.c (maybe_defer_native_compilation): Check if the file
	is registered in 'V_comp_no_native_file_h'.
	(syms_of_comp): 'V_comp_no_native_file_h' new global.
	* src/lread.c (maybe_swap_for_eln): Register files in
	'V_comp_no_native_file_h'.
	* lisp/faces.el (tty-run-terminal-initialization): Do not
	explicitly load .elc file to not exclude .eln being loaded in
	place.

2021-03-31  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in progmodes/inf-lisp.el

	* lisp/progmodes/inf-lisp.el: Use lexical-binding.  Doc fixes.
	(inferior-lisp-mode-map, lisp-mode-map)
	(inferior-lisp-install-letter-bindings): Quote function symbols as such.
	(inferior-lisp-menu, lisp-compile-string, lisp-eval-string)
	(lisp-show-variable-documentation): Doc fixes.

2021-03-31  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into native-comp

	* lisp/emacs-lisp/comp.el (comp-debug): Fix docstring.

2021-03-31  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in scroll-all.el

	* lisp/scroll-all.el: Use lexical-binding.
	(scroll-all-scroll-down-all, scroll-all-scroll-up-all)
	(scroll-all-page-down-all, scroll-all-page-up-all)
	(scroll-all-beginning-of-buffer-all)
	(scroll-all-end-of-buffer-all): Doc fixes.

2021-03-31  Stefan Kangas  <stefan@marxist.se>

	* lisp/dynamic-setting.el: Use lexical-binding.

2021-03-31  Luke Lee  <luke.lee@synaptics.com>

	Fix incorrect regular expression for more general text replacements.

	* lisp/progmodes/hideif.el (hif-evaluate-macro): fix regexp to trim
	  off leading/trailing spaces, but not within.

2021-03-31  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in chistory.el

	* lisp/chistory.el: Use lexical-binding.  Remove redundant :group
	args.
	(command-history-mode-map): Quote function symbols as such.

2021-03-31  Stefan Kangas  <stefan@marxist.se>

	* lisp/ebuff-menu.el: Use lexical-binding.

2021-03-31  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in double.el

	* lisp/double.el: Use lexical-binding.  Remove redundant :group
	args.

2021-03-31  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in dirtrack.el

	* lisp/dirtrack.el: Use lexical-binding.  Remove redundant group
	args.

2021-03-31  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/cwarn.el: Use lexical-binding.

2021-03-30  Stefan Kangas  <stefan@marxist.se>

	Remove redundant #' before lambda in cedet

	* lisp/cedet/mode-local.el (mode-local-map-mode-buffers)
	(mode-local--activate-bindings, mode-local--deactivate-bindings)
	(setq-mode-local, describe-mode-local-bindings-in-mode):
	* lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
	* lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
	* lisp/cedet/semantic/db-ebrowse.el
	(semanticdb-ebrowse-get-ebrowse-structure):
	* lisp/cedet/semantic/db-global.el
	(semanticdb-enable-gnu-global-databases):
	* lisp/cedet/semantic/edit.el (semantic-changes-in-region):
	* lisp/cedet/semantic/fw.el (semantic-install-function-overrides):
	* lisp/cedet/semantic/grammar.el (semantic-grammar-ASSOC)
	(semantic-grammar-tag-symbols, semantic-grammar-keywords)
	(semantic--grammar-macros-regexp-1)
	(semantic-format-tag-summarize):
	* lisp/cedet/semantic/idle.el (semantic-idle-core-handler)
	(semantic-idle-work-core-handler):
	* lisp/cedet/semantic/imenu.el (semantic-imenu-semanticdb-hook):
	* lisp/cedet/semantic/java.el (semantic-java-doc-keywords-map)
	(semantic-java-doc-setup):
	* lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-save-table)
	(semantic-lex-spp-macros):
	* lisp/cedet/semantic/lex.el (semantic-lex-map-symbols)
	(semantic-lex-keywords, semantic-lex-types):
	* lisp/cedet/semantic/util-modes.el
	(semantic-toggle-minor-mode-globally):
	* lisp/cedet/semantic/wisent/comp.el (wisent-defcontext)
	(wisent-automaton-lisp-form):
	* lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-assocs)
	(wisent-grammar-terminals): Remove redundant #' before lambda.

2021-03-30  Stefan Kangas  <stefan@marxist.se>

	Delete Emacs 19 compat code in foldout.el

	* lisp/foldout.el (foldout-hide-flag):
	(foldout-show-flag): Delete Emacs 19 compat code and make obsolete.
	(foldout-exit-fold): Don't use above obsolete variable.

2021-03-30  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in lpr.el and add rudimentary tests

	* lisp/lpr.el: Use lexical-binding.  Remove redundant :group args.
	(print-region-function): Declare MS-Windows specific function.
	* test/lisp/lpr-tests.el: New file.

2021-03-30  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in echistory.el

	* lisp/echistory.el: Use lexical-binding.
	(electric-history-map): Quote function symbols as such.
	(Electric-history-undefined): Use command substitutions.

2021-03-30  Stefan Kangas  <stefan@marxist.se>

	Delete empty "History" sections

	* lisp/bs.el:
	* lisp/calendar/timeclock.el:
	* lisp/cedet/semantic/bovine/grammar.el:
	* lisp/cedet/semantic/grammar.el:
	* lisp/cedet/semantic/wisent.el:
	* lisp/cedet/semantic/wisent/comp.el:
	* lisp/cedet/semantic/wisent/java-tags.el:
	* lisp/cedet/semantic/wisent/wisent.el:
	* lisp/erc/erc.el:
	* lisp/net/newst-treeview.el:
	* lisp/recentf.el:
	* lisp/ruler-mode.el:
	* lisp/textmodes/remember.el:
	* lisp/thumbs.el:
	* lisp/tree-widget.el:
	* lisp/vc/vc-hg.el: Delete empty "History" sections.

	* lisp/cedet/semantic/grammar.el
	(semantic-grammar-header-template): Don't add "History" section to
	generated file.

2021-03-30  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in follow.el

	* lisp/follow.el: Use lexical-binding.
	(follow-mode-map, follow-debug-message): Quote function symbols as
	such.
	(follow-pos-visible-in-window-p): Remove unused variable 'last'.
	(follow-move-to-window-line): Remove unused variable 'middle-window'.

2021-03-30  Mattias Engdegard  <mattiase@acm.org>

	lisp/progmodes/verilog-mode.el internal code cleanup.

	* lisp/progmodes/verilog-mode.el (verilog-at-close-struct-p):
	Internal code cleanup.

2021-03-30  Arash Esbati  <arash@gnu.org>

	* lisp/textmodes/reftex-auc.el: Improve the external function declarations

	(LaTeX-add-bibitems): Move declaration closer to the others.
	Fix those declarations to refer to the right file.

2021-03-30  Dmitry Gutov  <dgutov@yandex.ru>

	Provide information to show icons with Elisp completions

	* lisp/progmodes/elisp-mode.el (elisp--company-kind): New function.
	(elisp-completion-at-point): Use it.  And a couple of anonymous
	:company-kind functions too.

2021-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	lisp/progmodes/verilog-mode.el: Prepare for lexical-binding.

	* lisp/progmodes/verilog-mode.el: Activate lexical-binding.
	Insert newlines to avoid some situations where arguments were easy
	to misunderstand.
	(verilog-set-compile-command): Strength-reduce `eval` to `symbol-value`.
	(verilog-error-regexp-add-emacs): Replace `mapcar` => `mapc` since
	the result is not used.
	(verilog-surelint-off): Remove always-nil var `dir`.
	(verilog-do-indent): Minor simplification of the code.
	(verilog-pred): Delete var.  It was always nil.
	(verilog-flag): Delete var; pass the corresponding data via
	explicit arguments instead.
	(verilog-keyword-completion): Use `dolist`.
	(verilog-completion-response): Rename to `verilog--complete-with-action`.
	Change calling convention to match that of `complete-with-action`.
	Use `complete-with-action` instead when available.
	Adjust all callers.
	(verilog-completion, verilog-comp-defun): Change arg names so they
	don't collide with dynamically scoped vars, and let-bind `verilog-str`
	explicitly instead.  Use `with-current-buffer`.
	(verilog-batch-execute-func): Use `with-current-buffer`.
	(verilog-complete-word): Don't convert the completion list into
	a completion alist, since lists work just as well.
	(verilog-showscopes): Use `with-current-buffer`.
	(verilog-symbol-detick, verilog-symbol-detick-text)
	(verilog-signals-matching-enum): Strength-reduce `eval` to `symbol-value`.
	(verilog--insert-indent): Rename from `verilog--insert-indent`.
	Add `indent-pt` argument.
	(verilog-insert-indent): New macro wrapper to provide the old
	calling convention.
	(verilog-auto-assign-modport, verilog-auto-inout-modport):
	Remove always-nil var `direction-re`.
	(verilog--auto-inst-first): Rename from `verilog-auto-inst-first`.
	Add `indent-pt` argument.
	(verilog-auto-inst-port): Adjust call accordingly.

2021-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/verilog-mode.el: Use #' where appropriate.

2021-03-30  Wilson Snyder  <wsnyder@wsnyder.org>

	lisp/progmodes/verilog-mode.el: Fix indentation of enum.

	* lisp/progmodes/verilog-mode.el (verilog-at-close-struct-p): Fix
	indentation of enum with multiple objects. Reported by punzik. (#1716).

2021-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/completion.el: Activate lexical-binding

	Remove redundant `:group` arguments.

	(list-all-completions-1): Merge into `list-all-completions` and
	then delete.
	(list-all-completions-by-hash-bucket-1): Use `push`.  Merge into
	`list-all-completions-by-hash-bucket` and then delete.
	(completions-list-return-value): Delete variable, not used any more.

2021-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/woman.el: Activate lexical-binding.  Require `cl-lib`

	(woman-mode, woman2-roff-buffer): Use `cl-letf`.
	(woman-request): Move declaration before first use.
	(woman0-macro): Rename arg to not shadow the dynamically scoped var.
	(woman-set-arg): Strength-reduce `eval` to `symbol-value`.

2021-03-29  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/project.el (project-regexp-history-variable): New variable.

	(project--read-regexp): Use it as HISTORY arg of 'read-regexp' with
	'grep-regexp-history' default (bug#47012).

2021-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/allout*.el: Use lexical-binding

	* lisp/allout.el: Activate lexical-binding.
	(allout-setup-menubar): Delete "complex no-op" function.
	(allout-mode): Delete call to it.
	(allout-hotspot-key-handler): Delete XEmacs-only code.
	(allout-copy-exposed-to-buffer): Remove always-nil var `start-list`.

	* lisp/allout-widgets.el: Activate lexical-binding.
	(allout-item-icon-keymap): Use `ignore`.
	(allout-widgets-exposure-change-processor): Use `cl-callf` instead of
	relying on dynamic binding to apply some code to two different variables.

2021-03-29  Alan Mackenzie  <acm@muc.de>

	Fix an infinite loop in C++ Mode redisplay.  This was bug #47191.

	* lisp/progmodes/cc-defs.el (c-forward-syntactic-ws, c-backward-syntactic-ws):
	When point is on the wrong side of a supplied search limit, leave point
	unmoved rather than setting it to that limit.

	* lisp/progmodes/cc-engine.el (c-forward-name): After scanning a template
	argument list (which is not itself subject to a search limit) recalculate the
	search limit starting from the end point, since these argument lists can
	legitimately be long.  At each of the scanning loops, check point hasn't gone
	past the limit.

2021-03-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	8a92030f6a (origin/emacs-27) Fix hang in autorevert-tests.el

	# Conflicts:
	#	test/lisp/autorevert-tests.el

2021-03-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	bcc4cc3362 Doc fixes for 'face-foreground' and 'face-background'.
	bf6442fafd ; * admin/make-tarball.txt: Minor addition to the Web page...
	38b127d32e * admin/admin.el (set-version): Handle malformed NEWS markup.
	0d7e2a993e admin.el fix for bug#47394
	fdec444758 ; * etc/NEWS: Fix typo.
	1e6ca2765f ; * admin/make-tarball.txt: Another minor addition.

	# Conflicts:
	#	etc/NEWS

2021-03-29  Michael Albinus  <michael.albinus@gmx.de>

	Some Tramp doc clarifications

	* doc/misc/tramp.texi (Remote shell setup): Explain meaning of
	`tramp-sh-extra-args' for bash.
	(Frequently Asked Questions): New item about unloading / reloading Tramp.

2021-03-29  Eli Zaretskii  <eliz@gnu.org>

	Protect add-variable-watcher from incorrect usage

	* src/data.c (Fadd_variable_watcher): Avoid crashes if SYMBOL
	isn't.  (Bug#47462)

2021-03-29  Michael Albinus  <michael.albinus@gmx.de>

	Optimize test jobs for emba

	* test/infra/gitlab-ci.yml (.test-template): Do not run fast and
	normal test jobs when scheduled.

2021-03-29  Stefan Kangas  <stefan@marxist.se>

	Doc fixes in follow.el

	* lisp/follow.el:
	(follow-pos-visible-in-window-p, follow-adjust-window)
	(follow-prev-buffer, follow-internal-force-redisplay):
	Minor doc fixes.

2021-03-29  Michael Albinus  <michael.albinus@gmx.de>

	* test/infra/gitlab-ci.yml (test-filenotify-gio): Use *.log for make_params.

2021-03-28  Michael Albinus  <michael.albinus@gmx.de>

	Fix hang in autorevert-tests.el

	* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert):
	Apply more robust check, whether file notification is used.

2021-03-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix a dbus.el byte compilation warning

	* lisp/net/dbus.el (dbus-register-monitor): Silence a
	byte-compilation warning on systems without dbus.

2021-03-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Use a 64KB page size for pdump

	* src/pdumper.c (dump_get_page_size): Use a 64KB page size on all
	architectures, as this many vary between systems (bug#47125).

2021-03-28  Michael Albinus  <michael.albinus@gmx.de>

	* admin/notes/emba: Explain job types and artifacts.

2021-03-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Clarify dired-do-shell-command doc string"

	This reverts commit cf607c262e15c873961fdfcced254e6f8e82f8d7.

	The doc string already explains this.

	(cherry picked from commit 01cf0eb75786834b7a0ee5be34be53f6e8e14c11)

2021-03-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Clarify dired-do-shell-command doc string"

	This reverts commit cf607c262e15c873961fdfcced254e6f8e82f8d7.

	The doc string already explains this.

2021-03-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify dired-do-shell-command doc string

	* lisp/dired-aux.el (dired-do-shell-command): Mention what happens
	to FILE-LIST (bug#47432).

	(cherry picked from commit cf607c262e15c873961fdfcced254e6f8e82f8d7)

2021-03-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify dired-do-shell-command doc string

	* lisp/dired-aux.el (dired-do-shell-command): Mention what happens
	to FILE-LIST (bug#47432).

2021-03-28  Eli Zaretskii  <eliz@gnu.org>

	Doc fixes for 'face-foreground' and 'face-background'.

	* lisp/faces.el (face-foreground, face-background): Clarify how a
	face specified in INHERIT arg is used.  (Bug#47437)

2021-03-28  pillule  <pillule@riseup.net>  (tiny change)

	compilation-goto-locus does not handle right display-buffer

	* lisp/progmodes/compile.el (compilation-goto-locus): Pop to the
	source buffer if the match buffer is the selected window (bug#47414).

2021-03-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the doc string of plist-member and plist-put

	* src/fns.c (Fplist_member):
	(Fplist_put): Clarify what comparison function is used for PROP
	(bug#47426) and don't claim that PROP has to be a symbol.

2021-03-28  Eli Zaretskii  <eliz@gnu.org>

	Avoid errors in pulse.el for some face customizations

	* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Make
	sure 'face-background' always returns a color name.  Suggested by
	Ingo Lohmar <ingo.lohmar@posteo.net> in bug#47437.

2021-03-28  Michael Albinus  <michael.albinus@gmx.de>

	Make artifacts working on emba (hopefully)

	* test/infra/gitlab-ci.yml (.job-template): Use proper docker name.
	(.test-template): Adapt artifacts path.

2021-03-27  Basil L. Contovounesios  <contovob@tcd.ie>

	Demote read-extended-command-predicate errors

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2021-03/msg00682.html

	* lisp/simple.el (read-extended-command): Demote errors when calling
	read-extended-command-predicate so M-x completion doesn't break.

2021-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/wdired.el (wdired--self-insert): Fix thinko

2021-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/wdired.el: Fix minor regressions and simplify a bit

	Use `wdired--current-column` more consistently to avoid mayhem when it
	doesn't return the same result as `current-column`.

	(wdired-get-filename): Fix the unprocessed case.
	(wdired-finish-edit): Don't force processing all the lines.
	(wdired--col-perm): Remove, redundant with `wdired--perm-beg`.
	(wdired-change-to-wdired-mode): Don't error in empty directory.
	(wdired--set-permission-bounds): Set `wdired--perm-beg` when we can't
	find permissions.  Move `wdired--perm-beg` 1 char further (like
	`wdired--col-perm`).  Use `wdired--current-column`.
	(wdired--point-at-perms-p): Fix when `wdired--perm-beg` is nil.
	(wdired--self-insert): Lookup the keymap to know command to call.
	(wdired--before-change-fn): Just use `point` instead of `beg`.
	Use `with-silent-modifications` here rather than in each of the
	`wdired--preprocess-*` functions.
	(wdired--preprocess-files): Presume we're at BOL and within
	`with-silent-modifications`.  Fix application of `read-only`.
	(wdired-abort-changes): Don't use `with-silent-modifications` since
	we're really modifying the buffer.
	(wdired--preprocess-symlinks): Presume we're at BOL and within
	`with-silent-modifications`.
	(wdired--preprocess-perms): Presume we're at BOL and within
	`with-silent-modifications`.
	(wdired-set-bit): Add `char` argument.  Use `wdired--current-column`.
	Copy previous text properties rather than duplicating the code of
	`wdired--preprocess-perms`.
	(wdired-toggle-bit): Delegate to `wdired-set-bit`.

2021-03-27  Arthur Miller  <arthur.miller@live.com>

	* lisp/wdired.el: Apply text properties lazily

	Entering wdired was taking time proportional to the size of the directory,
	making it inconvenient to quickly enter wdired just to rename one or two
	files in a large directory.

	(wdired-mode-map): Rebind `self-insert-command`.
	(wdired--perm-beg, wdired--perm-end): New vars.
	(wdired--col-perm, wdired--old-content, wdired--old-point)
	(wdired--old-marks): Rename vars, using "--" rather than "-".
	All users updated.
	(wdired--before-change-fn): New function.
	(wdired-change-to-wdired-mode): Use it `before-change-functions`
	instead of eagerly putting the various text properties here.
	(wdired--set-permission-bounds, wdired--current-column)
	(wdired--point-at-perms-p, wdired--line-preprocessed-p):
	New auxiliary functions.
	(wdired--self-insert): New command.
	(wdired--preprocess-files, wdired--preprocess-symlinks)
	(wdired--preprocess-perms): Add "--" to the name.  Make it operate only
	on the current line.  Use `with-silent-modifications`.
	(wdired-abort-changes): Use `with-silent-modifications`.

2021-03-27  Michael Albinus  <michael.albinus@gmx.de>

	Keep *.log files on emba

	* test/infra/gitlab-ci.yml (.test-template): New template.
	(test-fast-inotify, test-lisp-inotify, test-lisp-net-inotify)
	(test-filenotify-gio, test-gnustep, test-all-inotify): Use it.

2021-03-27  Eli Zaretskii  <eliz@gnu.org>

	Fix lisp/files-tests on MS-Windows

	* test/lisp/files-tests.el (files-colon-path)
	(files-tests-bug-21454): Adapt to MS-DOS/Windows, where
	parse-colon-path needs and absolute file name with a drive letter.
	(files-tests-file-name-non-special-get-file-buffer): Forcefully
	delete the file's buffer if it happens to exist.

2021-03-27  Matt Armstrong  <matt@rfc20.org>

	File unlock errors now issue warnings (Bug#46397)

	The primary idea is to allow `kill-buffer' and `kill-emacs' to
	complete even if Emacs has trouble unlocking the buffer's file.

	* lisp/userlock.el (userlock--handle-unlock-error): New function, call
	`display-error'.
	* src/filelock.c (unlock_file_body): New function, do what
	'unlock_file' used to.
	(unlock_file_handle_error): New function, call
	`userlock--handle-unlock-error' with the captured error.
	(unlock_file): Handle `file-error' conditions by calling the handler
	defined above.
	* test/src/filelock-tests.el (filelock-tests-kill-buffer-spoiled):
	(filelock-tests-unlock-spoiled): Modify to test new behavior.

2021-03-27  Matt Armstrong  <matt@rfc20.org>

	Add test coverage for src/filelock.c (Bug#46397)

	* test/src/filelock-tests.el: New file.

2021-03-27  Kenichi Handa  <handa@gnu.org>

	Fix encoding by ISO-2022-JP

	* src/coding.c (encode_coding): Reset the CODING_MODE_LAST_BLOCK
	flag for all iterations but the last one.  (Bug#46933)

2021-03-26  Michael Albinus  <michael.albinus@gmx.de>

	Improve remote file notifications

	* lisp/net/tramp-sh.el (tramp-get-remote-gio-file-monitor): Remove it.
	(tramp-sh-handle-file-notify-add-watch): Do not call it.
	(tramp-sh-gio-monitor-process-filter): Read monitor name.

	* test/lisp/filenotify-tests.el (file-notify--test-read-event)
	(file-notify--test-timeout): Change timings.
	(file-notify--test-monitor): Read remote monitor name more reliably.
	(file-notify-test02-rm-watch): Retrieve remote monitor name in time.
	(file-notify--test-event-actions): New defun.
	(file-notify--test-with-actions-explainer): Use it.
	(file-notify--test-with-actions-check): Use it.  Dump traces in
	case of debug.
	(file-notify--test-with-actions): Don't stop while debugging.
	(file-notify-test03-events, file-notify-test04-autorevert)
	(file-notify-test05-file-validity)
	(file-notify-test07-many-events, file-notify-test08-backup)
	(file-notify-test09-watched-file-in-watched-dir): Adapt tests.

2021-03-26  Basil L. Contovounesios  <contovob@tcd.ie>

	Address some --without-x byte-compilation warnings

	These came to light in the contexts of bug#29713 and bug#47234.

	* lisp/emulation/edt-mapper.el (edt-xserver):
	* lisp/emulation/edt.el (edt-xserver):
	* lisp/gnus/gnus-util.el (gnus-rescale-image):
	* lisp/gnus/nnimap.el (nnimap-map-port):
	* lisp/term/w32-win.el:
	* lisp/image.el (image--get-imagemagick-and-warn):
	* lisp/frame.el (frame-notice-user-settings): Declare functions that
	are known to be present at runtime in GUI builds.
	(make-frame-on-display): Signal more informative error when called
	interactively in a non-GUI build (bug#29713).
	* lisp/international/mule-diag.el (describe-font):
	* lisp/org/org-macs.el (org--string-from-props): Pacify warnings
	about unknown functions in non-GUI bilds.
	* lisp/mh-e/mh-mime.el (mh-small-image-p): Avoid eliminating fboundp
	check in non-GUI builds, to pacify unused lexical variable warning.
	* lisp/net/newst-plainview.el (newsticker--plainview-tool-bar-map):
	* lisp/net/newst-treeview.el (newsticker-treeview-tool-bar-map):
	Declare tool-bar-map as a special variable in non-GUI builds.

2021-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/obsolete/tpu-extras.el: Avoid defadvice

	(tpu--respect-bottom-scroll-margin): New function, extracted from
	`newline`s defadvice.
	(newline, newline-and-indent, do-auto-fill): Delete defadvice.
	(tpu-set-scroll-margins): Use advice-add instead of
	`ad-enable-advice`+`ad-activate`.
	Use an explicit arg instead of `called-interactively-p`.

2021-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mh-e/: Take advice-remove of the newly enabled lexical-binding

	* lisp/mh-e/mh-mime.el (mh-mm-inline-message):
	* lisp/mh-e/mh-inc.el (mh-inc-spool-generator): Replace `(lambda...)
	with a proper closure.

2021-03-26  Andrea Corallo  <akrl@sdf.org>

	Prevent stale eln loading checking file timestamp before load (bug#46617)

	* src/lread.c (maybe_swap_for_eln): Add file timestamp check.
	(openp): Update 'maybe_swap_for_eln' call sites.

2021-03-25  Glenn Morris  <rgm@gnu.org>

	* admin/admin.el (set-version): Handle malformed NEWS markup.

2021-03-25  Glenn Morris  <rgm@gnu.org>

	admin.el fix for bug#47394

	* admin/admin.el (manual-html-fix-index-2): Handle Texinfo 6.7.

2021-03-25  Spencer Baugh  <sbaugh@catern.com>

	Assert not local-variable-p after setq in let_default binding

	Breaking this is a likely way to break this test, so this saves a bit
	of time in debugging.

	* test/src/data-tests.el (data-tests--let-buffer-local):
	Add assertion to test.

2021-03-25  Spencer Baugh  <sbaugh@catern.com>

	Add a test for let-binding unwinding

	Bindings in other buffers are not un-set when we unwind a let-binding
	which set the default value.  There doesn't seem to be an existing
	test which covers this, so here's one.

	* test/src/data-tests.el (data-tests--let-buffer-local-no-unwind-other-buffers):
	  Add test for let-binding unwinding behavior

2021-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/htmlfontify.el: Fix misuses of `nconc`

	(hfy-face-to-style-i): `this` is not known to be fresh.
	(hfy--size-to-int): Rename from `hfy--size-to-int` and return just the
	integer without wrapping it in a list.
	(hfy-flatten-style): Avoid O(n²) problems.  Use `float`.

2021-03-25  Bill Wohler  <wohler@newt.com>

	Remove XEmacs support in lexical-binding

	* lisp/mh-e/mh-alias.el (mh-alias-insert-file): Remove reference to
	  remove-specifier.

2021-03-25  Mark A. Hershberger  <mah@nichework.com>

	Update rnc to use Open Document's Relax-NG schema to version 1.3

	* etc/schema/OpenDocument-schema-v1.3+libreoffice.rnc:
	* etc/schema/OpenDocument-schema-v1.3.rnc: New files.
	* etc/schema/schemas.xml: Use the LibreOffice Relax-NG files since
	they include a hack to support 1.2.

	rng source:
	   https://raw.githubusercontent.com/freedesktop/libreoffice-core/master/
	   schema/libreoffice/OpenDocument-schema-v1.3%2Blibreoffice.rng
	translation to rnc with trang:
	   trang -I rng -O rnc OpenDocument-schema-v1.3+libreoffice.rng \
	       OpenDocument-schema-v1.3+libreoffice.rnc

2021-03-25  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into native-comp

2021-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-27

	291a421c2e * admin/make-tarball.txt: Improve and expand the instructi...
	0e4795fc98 Fix preeditarea reporting wrong spot.

2021-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-27

	deef5efafb ; * ChangeLog.3: Update with the log of the last change.
	bd991e3c9b Fix frame-inner-height in non-GUI builds

2021-03-25  Eli Zaretskii  <eliz@gnu.org>

	* admin/make-tarball.txt: Improve and expand the instructions.

2021-03-25  Amos Bird  <amosbird@gmail.com>

	Fix preeditarea reporting wrong spot.

	This patch adjust the x position of preeditarea with both left fringe
	and left margin, which prevents IME preedit box (such as fcitx) from
	placing at the wrong position in GUI emacs.
	* src/xfns.c (xic_set_preeditarea): Adjust X for left margin width.
	(Bug#47377)

2021-03-25  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp file notification support

	* lisp/net/tramp-integration.el (tramp-use-ssh-controlmaster-options):
	Declare it.

	* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
	Remove "gvfs-monitor-dir".
	(tramp-sh-gvfs-monitor-dir-process-filter)
	(tramp-get-remote-gvfs-monitor-dir): Remove.
	(tramp-get-remote-gio-file-monitor): Support also cygwin, and
	GFamDirectoryMonitor, GPollFileMonitor.

2021-03-25  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/maintaining.texi (Managing Projects): Fixes and copyedits.

2021-03-25  Dmitry Gutov  <dgutov@yandex.ru>

	Fix typo

	* lisp/progmodes/project.el (project-remove-known-project):
	Fix typo (bug#47287).

2021-03-25  Theodor Thornhill  <theo@thornhill.no>

	Add command project-remove-known-project

	* etc/NEWS: Mention the new command.

	* lisp/progmodes/project.el (project--remove-from-project-list): Add
	new argument, report-message, used to signal various messages when
	removal has happened.

	* lisp/progmodes/project.el (project-remove-known-project): New
	command that removes the selected directory from the project-list-file.

	* lisp/progmodes/project.el (project-current): Add the report message.

	* doc/emacs/maintaining.texi: Add information about the new command to
	the manual.

2021-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* list/progmodes/idl*.el: Use lexical-binding

	* lisp/progmodes/idlw-complete-structtag.el: Use lexical-binding.

	* lisp/progmodes/idlw-help.el: Use lexical-binding.
	Delete redundant `:group` arguments.
	(idlwave-query-class, idlwave-force-class-query, idlw-help-name)
	(idlw-help-kwd, idlw-help-link): Declare vars.
	(idlwave-highlight-linked-completions): Remove unused var `class`.
	(idlwave-help-find-in-doc-header): Remove unused var `header-re`.

	* lisp/progmodes/idlw-shell.el (idlwave-shell-input-mode-magic):
	Remove XEmacs-only code.
	(idlwave-shell-filter, idlwave-shell-scan-for-state):
	Use `functionp` since a function can also satisfy `listp`.
	(idlwave-shell--mouse-examine): Rename from `idlwave-shell-mouse-examine`.
	Make it a function, and simplify for Emacs≥22.  Simplify calling convention
	since all callers always immediately `funcall`d the result.
	Update all callers.
	(idlwave-default-mouse-track-event-is-with-button): Use `always`.
	(idlwave-shell-filter-bp): Simplify a tiny bit.

	* lisp/progmodes/idlw-toolbar.el: Use lexical-binding.
	(idlwave-toolbar-add, idlwave-toolbar-remove)
	(idlwave-toolbar-add-everywhere, idlwave-toolbar-remove-everywhere)
	(idlwave-toolbar-toggle): Remove XEmacs-only code.

	* lisp/progmodes/idlwave.el: Use lexical-binding.
	(idlwave--dlet): New macro.
	(<toplevel>): Use it.
	(idlwave-keyword-abbrev): Turn it into a function.
	(idlwave-code-abbrev): Delete macro.
	(idlwave-mode-abbrev-table): Use `:enable-function` instead.
	(idlwave-with-special-syntax): Delete macro; use `with-syntax-table`
	instead in all callers.
	(idlwave-action-and-binding): Use `alist-get` and replace `(lambda...)
	with a proper closure.  Change all callers to prefer passing a function
	in the `cmd` argument.
	(idlwave-fill-function): Delete constant var.
	Replace its uses with its value (the symbol `auto-fill-function`).
	(idlwave-mode): Set `normal-auto-fill-function` instead of the
	cumbersome use of `idlwave-fill-function`.  Tighten a regexp.
	Don't set `imenu-create-index-function` to the value it should already have.
	(idlwave-auto-fill-mode): Make it an obsolete alias for `auto-fill-mode`.
	(idlwave-modify-abbrev): Rename from `idlwave-check-abbrev`.
	Don't check `idlwave-quoted` since `:enable-function` did it for us already.
	(idlwave--command-function): Rename from `idlwave-command-hook`
	and make it hold a function rather than an expression.
	(idlwave-command-hook, idlwave-modify-abbrev): Adjust accordingly.
	(idlwave-show-begin-check): Don't check `idlwave-quoted` since
	`:enable-function` did it for us already.
	(idlwave-do-action): Use `functionp` since a function can also satisfy `listp`
	(idlwave-new-sintern-type): Make it a macro, so we don't need to
	`declare-function` for the functions it defines.
	(idlwave--class-selector, idlwave--type-selector)
	(idlwave--method-selector, idlwave--super-classes): Rename those vars
	by adding the `idlwave--` prefix.  Adjust all uses.
	(idlwave-complete-functions): Rename from `idlwave-complete-special`.
	(idlwave-call-special): Declare obsolete.  Change all callers to use
	`run-hook-with-args-until-success` instead.
	(idlwave-complete-filename): Use `dlet`.
	(idlwave-rinfo-assq-any-class): Remove unused var `class`.
	(idlwave-determine-class-functions): Rename from
	`idlwave-determine-class-special`; fix docstring since the functions
	are called with only one argument.
	(idlwave--complete-after-success-function): Rename from
	`idlwave-complete-after-success-form` and make it hold a function.
	Adjust all users.
	(idlwave--complete-after-success-force-function): Rename from
	`idlwave-complete-after-success-form-force` and make it hold a function.
	Adjust all users.
	(idlwave-attach-classes): Remove always-t variable `do-dots`.
	(idlwave-local-value): Use `local-variable-p` and `buffer-local-value`
	to avoid `with-current-buffer`.
	(idlwave-default-choose-completion): Comment out (unused and calls
	a function that doesn't exist).
	(idlwave-shell-filter-sysvars): Remove unused vars `type`, `name`, and `class`
	(idlwave-fix-module-if-obj_new): Remove unused var `name`.
	(idlwave-fix-keywords): Bind `idlwave--super-classes` via `let` than
	via the function's argument.
	(idlwave-twin-class, idlwave-twin-name): Move before first use.
	(idlwave-study-twins): Remove stealth/redundant `type` variable.
	(idlwave-routine-entry-compare-twins): Remove unused var `type`.
	(idlwave-path-alist-add-flag): Avoid `add-to-list` on a local var.
	(idlwave-list-abbrevs): Simplify a tiny bit.

2021-03-24  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-tab-post-change-group-functions): New hook.

	(tab-bar-change-tab-group): Run it.
	(tab-bar-move-tab-to-group): New command for new hook.

2021-03-24  Alan Mackenzie  <acm@muc.de>

	Improve failure reporting in test/lisp/electric-tests.el

	In particular, on a failure, output the test's doc string to
	electric-tests.log, along with all the other failure information.
	Fixes bug #47320.

	* test/lisp/electric-tests.el (electric-pair-test-for) New
	parameter doc-string.  On a test failure, output the doc-string
	parameter with message.
	(electric-pair-define-test-form): Set the new variable doc-string to the
	generated doc string, and pass this as argument to both ert-deftest and
	electric-pair-test-for.

2021-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/auth-source-pass.el (auth-source): Silence spurious warning

2021-03-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous format-prompt change: The default can be a symbol

	* lisp/minibuffer.el (format-prompt): The default can also be a
	symbol.

2021-03-24  Harald Jörg  <haj@posteo.de>

	perl-mode: Fix regexps for fontification

	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-test-fontify-declarations): New test to ensure consistency
	between perl-mode.el and cperl-mode.el (bug#47345).
	* lisp/progmodes/perl-mode.el (perl-font-lock-keywords-1): pick
	correct capture groups for "use Pack::Age;"
	Fontify all components of "Pack::Age", not just "Pack"
	(perl-font-lock-keywords-2): Use keyword-face for declarators

2021-03-24  Andrea Corallo  <akrl@sdf.org>

	Improve two native compiler related docstrings.

	* lisp/emacs-lisp/comp.el (comp-eln-load-path-eff): Improve docstring.
	* src/comp.c (comp-eln-load-path): Likewise.

2021-03-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Remove font-lock toggle from font-lock-update"

	This reverts commit 23995414fec483287e7fb9c9a279483319f9fc54.

	The subject is under discussion.

2021-03-24  Paul W. Rankin  <pwr@bydasein.com>

	Remove font-lock toggle from font-lock-update

	* lisp/font-lock.el (font-lock-update): Remove call to
	font-lock-unfontify-region and font-lock-mode toggle with ARG; this
	did not perform what original author intended

2021-03-24  Andrea Corallo  <akrl@sdf.org>

	* src/lread.c (maybe_swap_for_eln): Fix eln filename (bug#bug#47337).

2021-03-24  Dmitry Gutov  <dgutov@yandex.ru>

	xref.el: Keep Emacs 26 compatibility

	* lisp/progmodes/xref.el (xref--read-identifier)
	(xref-find-definitions, xref-find-definitions-other-window)
	(xref-find-definitions-other-frame, xref-find-references):
	Undo the latest change for Emacs 26 compatibility (bug#47286).

2021-03-24  Gabriel do Nascimento Ribeiro  <gabriel.nascimento@nubank.com.br>

	Add optional FORMAT argument to 'emacs-init-time'

	* lisp/time.el (emacs-init-time): Add optional FORMAT argument
	(bug#47306).

2021-03-24  Gabriel do Nascimento Ribeiro  <gabriel.nascimento@nubank.com.br>

	Replace "(default %s)" with 'format-prompt'

	* lisp/cmuscheme.el (scheme-load-file, scheme-compile-file):
	* lisp/comint.el (comint-get-source):
	* lisp/emulation/viper-cmd.el (viper-quote-region, viper-kill-buffer)
	(viper-query-replace, viper-read-string-with-history):
	* lisp/eshell/esh-mode.el (eshell-find-tag):
	* lisp/gnus/gnus-sum.el (gnus-articles-to-read)
	(gnus-summary-search-article-forward)
	(gnus-summary-search-article-backward):
	* lisp/international/mule-cmds.el (set-input-method, toggle-input-method)
	(describe-input-method, set-language-environment)
	(describe-language-environment):
	* lisp/mh-e/mh-gnus.el (mh-mml-minibuffer-read-disposition):
	* lisp/mh-e/mh-letter.el (mh-insert-letter):
	* lisp/mh-e/mh-mime.el (mh-display-with-external-viewer)
	(mh-mime-save-parts, mh-mh-forward-message)
	(mh-mml-query-cryptographic-method, mh-minibuffer-read-type):
	* lisp/mh-e/mh-seq.el (mh-read-seq, mh-read-range):
	* lisp/mh-e/mh-utils.el (mh-prompt-for-folder):
	* lisp/progmodes/etags.el (find-tag-tag):
	(find-tag-noselect, find-tag, find-tag-other-window)
	(find-tag-other-frame, find-tag-regexp):
	* lisp/progmodes/idlwave.el (idlwave-find-module):
	* lisp/progmodes/inf-lisp.el (lisp-load-file, lisp-compile-file):
	* lisp/progmodes/tcl.el (tcl-load-file, tcl-restart-with-file):
	* lisp/progmodes/xref.el (xref--read-identifier):
	(xref-find-definitions, xref-find-definitions-other-window)
	(xref-find-definitions-other-frame, xref-find-references):
	* lisp/ses.el (ses-read-printer):
	(ses-read-cell-printer, ses-read-column-printer)
	(ses-read-default-printer, ses-define-local-printer):
	* lisp/subr.el (read-number):
	* lisp/term.el (term-get-source):
	* src/minibuf.c (read-buffer): Remove prompt suffix and
	use 'format-prompt'.
	* lisp/minibuffer.el (format-prompt): Ignore DEFAULT empty strings
	(bug#47286).

2021-03-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with filling with a computed fill prefix

	* lisp/textmodes/fill.el (fill-region-as-paragraph): Fix problem
	when filling text with a computed fill prefix (bug#47338).

2021-03-24  Stefan Kangas  <stefan@marxist.se>

	Convert many more links to use HTTPS

2021-03-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Move string-trim functions to subr.el

	* doc/lispref/strings.texi (Creating Strings): Document them.

	* lisp/faces.el: Don't require subr-x, because that leads to build
	errors.

	* lisp/subr.el (string-trim, string-trim-right)
	(string-trim-left): Move here from subr-x.el.

	* lisp/emacs-lisp/shortdoc.el (string): Adjust.

2021-03-24  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in iimage.el

	* lisp/iimage.el: Use lexical-binding.  Remove redundant :group args.

2021-03-24  Stefan Kangas  <stefan@marxist.se>

	* lisp/talk.el: Use lexical-binding.

2021-03-24  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in two trivial org-mode files

	This change has already been made on org-mode's master branch.

	* lisp/org/org-install.el:
	* lisp/org/org-version.el: Use lexical-binding.

2021-03-24  Stefan Kangas  <stefan@marxist.se>

	* lisp/help-at-pt.el: Use lexical-binding.

	* lisp/progmodes/simula.el (hilit-set-mode-patterns): Use regexp-opt.

	* lisp/progmodes/modula2.el: Use lexical-binding.

2021-03-24  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in view.el

	* lisp/view.el: Use lexical-binding.  Remove redundant :group args.

2021-03-24  Stefan Kangas  <stefan@marxist.se>

	Delete some commented out defgroups

	* lisp/eshell/esh-opt.el:
	* lisp/international/ccl.el:
	* lisp/pcmpl-linux.el:
	* lisp/shell.el:
	* lisp/url/url-news.el: Delete some commented out defgroups.

2021-03-24  Stefan Kangas  <stefan@marxist.se>

	Doc fixes in view.el

	* lisp/view.el:
	(view-try-extend-at-buffer-end, kill-buffer-if-not-modified)
	(view-buffer, view-buffer-other-window, view-buffer-other-frame)
	(view-page-size-default, view-set-half-page-size-default)
	(view-really-at-end, view-end-message)
	(view-search-no-match-lines): Doc fixes.

2021-03-24  Stefan Kangas  <stefan@marxist.se>

	* lisp/master.el: Use lexical-binding.

2021-03-24  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in ruler-mode.el

	* lisp/ruler-mode.el: Use lexical-binding.  Remove redundant
	:group args.

2021-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/ebnf-*.el: Use lexical-binding

	* lisp/progmodes/ebnf-abn.el:
	* lisp/progmodes/ebnf-bnf.el:
	* lisp/progmodes/ebnf-dtd.el:
	* lisp/progmodes/ebnf-ebx.el:
	* lisp/progmodes/ebnf-iso.el:
	* lisp/progmodes/ebnf-otz.el:
	* lisp/progmodes/ebnf-yac.el: Enable lexical-binding.
	* lisp/progmodes/ebnf2ps.el (ebnf-apply-style1)
	(ebnf-insert-ebnf-prologue): Use lexical-binding.

2021-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mh-e: Enable lexical-binding in all the files

	* lisp/mh-e/mh-alias.el: Use lexical-binding.
	(mh-alias-insert-file): Completion tables can be mere lists of strings.

	* lisp/mh-e/mh-mime.el: Use lexical-binding.
	(mh-mm-inline-message): Remove always-nil var `visible-headers`.

	* lisp/mh-e/mh-search.el: Use lexical-binding.
	(mh-search-folder): Remove unused var `pick-folder`.

	* lisp/mh-e/mh-show.el: Use lexical-binding.
	(mh-display-msg): Remove always-nil var `visible-headers`.

	* lisp/mh-e/mh-utils.el: Use lexical-binding.
	(completion-root-regexp): Always declare var.

	* lisp/mh-e/mh-buffers.el: Use lexical-binding.
	* lisp/mh-e/mh-comp.el: Use lexical-binding.
	* lisp/mh-e/mh-folder.el: Use lexical-binding.
	* lisp/mh-e/mh-funcs.el: Use lexical-binding.
	* lisp/mh-e/mh-gnus.el: Use lexical-binding.
	* lisp/mh-e/mh-identity.el: Use lexical-binding.
	* lisp/mh-e/mh-inc.el: Use lexical-binding.
	* lisp/mh-e/mh-junk.el: Use lexical-binding.
	* lisp/mh-e/mh-letter.el: Use lexical-binding.
	* lisp/mh-e/mh-limit.el: Use lexical-binding.
	* lisp/mh-e/mh-print.el: Use lexical-binding.
	* lisp/mh-e/mh-scan.el: Use lexical-binding.
	* lisp/mh-e/mh-seq.el: Use lexical-binding.
	* lisp/mh-e/mh-speed.el: Use lexical-binding.
	* lisp/mh-e/mh-thread.el: Use lexical-binding.
	* lisp/mh-e/mh-tool-bar.el: Use lexical-binding.
	* lisp/mh-e/mh-xface.el: Use lexical-binding.

2021-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/wdired.el: Fix typo in last change.

	Reported by Michael Heerdegen <michael_heerdegen@web.de>.

	(wdired-change-to-wdired-mode, wdired-change-to-dired-mode):
	The `(local FOO)` form takes an expression, so the var needs to be quoted.

2021-03-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `C-o' in the `RET' doc string

	* lisp/simple.el (newline-and-indent): Mention `C-o' in the doc
	string.

2021-03-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous face.el change

	* lisp/faces.el (require): Fix compilation warning from previous
	face.el change.

2021-03-22  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-new-tab-group): Set default to t.

	(tab-bar-tabs, tab-bar-select-tab, tab-bar-new-tab-to):
	Use tab-bar--current-tab-make instead of tab-bar--current-tab.
	(tab-bar--tab): Add arg 'frame' to tab-bar--current-tab-find.
	(tab-bar--current-tab, tab-bar--current-tab-make): Move most of body
	from the former to the latter, thus reverting tab-bar--current-tab
	to its previous behavior.
	https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00959.html

2021-03-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Use read-color in read-face-attribute for color attributes

	* lisp/faces.el (read-face-attribute): Use read-color when
	prompting for a color (bug#47316).

2021-03-22  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/files-x.el (connection-local-criteria-for-default-directory):

	Add optional argument APPLICATION.

2021-03-22  Stefan Kangas  <stefan@marxist.se>

	Remove unnecessary requires of rx

	* lisp/cedet/semantic/wisent/python.el (rx):
	* test/src/process-tests.el (rx): Remove unnecessary requires.

2021-03-22  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in notifications.el

	* lisp/notifications.el: Use lexical-binding.
	(notifications-notify): Prefer 'push' to 'add-to-list'.

2021-03-21  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-lookup-eln): Add autoload cookie.

	* lisp/emacs-lisp/comp.el (comp-lookup-eln): Add new function.

2021-03-21  Andrea Corallo  <akrl@sdf.org>

	Prevent unnecessary multiple .el hashing in 'maybe_swap_for_eln'

	* src/comp.c (Fcomp_el_to_eln_rel_filename): New function.
	(Fcomp_el_to_eln_filename): Make use of.
	(syms_of_comp): Register 'Scomp_el_to_eln_rel_filename'.
	* src/lread.c (maybe_swap_for_eln): Make use of
	'Fcomp_el_to_eln_rel_filename' to hash prevent unnecessary
	multiple hashing.

2021-03-21  Alan Mackenzie  <acm@muc.de>

	Prevent open minibuffers getting lost when their frame gets deleted

	This happened with minibuffer-follows-selected-frame set to t.

	* doc/emacs/mini.texi (Basic Minibuffer): State where a command's action takes
	place when a minibuffer's frame has been deleted.

	* lisp/window.el (window--before-delete-windows, record-window-buffer): Take
	into account that minibuffers are now recorded on w->prev_buffers field.

	* src/fns.c (merge_c): New version of `merge' taking a C function, rather than
	a Lisp function as the comparison function.

	* src/frame.c (do_switch_frame): Pass arguments sf and for_deletion to
	move_minibuffers_onnto_frame.

	* src/lisp.h (top level): Declare merge_c and
	move_minibuffers_onto_selected_frame.

	* src/minibuf.c (MB_frame): New Lisp_Object recording the minibuffer's frame.
	(choose_minibuf_frame): Remove all code except that which sets minibuf_window
	to the current frame's minibuffer.
	(minibuffer_ent_greater): New comparison function, passed to merge_c.
	(zip_minibuffer_stacks): New function.
	(move_minibuffers_onto_frame): Renamed from `move_minibuffer_onto_frame' given
	two arguments, the old frame and for_deletion, and simplified.  Minibuffers
	are now stacked in the mini-window's ->prev_buffers field.
	(read_minibuf): Several detailed amendments.
	(exp_MB_frame): New Lisp_Object, the expired minibuffer's frame.
	(read_minibuf_unwind): Search for the expired minibuffer's frame, rather than
	taking it from (unreliable) variables.  Switch temporarily to this frame for
	tidying up operations.
	(minibuffer_unwind): New function which pops a stacked minibuffer.
	(syms_of_minibuf): Call staticpro for the two new Lisp variables.

	* src/window.c (Fset_window_configuration): Don't record minibuffers with
	record-window-buffer.

	* src/xdisp.c (gui_consider_frame_title): Remove redundant Fselect_window,
	which caused an unwanted frame switch.  Amend the arguments to
	format_mode_line_unwind_data to match.

2021-03-21  Andrea Corallo  <akrl@sdf.org>

	Add a tmp dir to `comp-eln-load-path' when running the testsuite.

	* lisp/startup.el (normal-top-level): Tweak `comp-eln-load-path'
	adding a temp directory when running the testsuite.

2021-03-21  Glenn Morris  <rgm@gnu.org>

	* lisp/thumbs.el (thumbs-conversion-program): Simplify.

	/usr/bin is (normally) always in PATH, and this need not be absolute,
	so the executable-find is unnecessary.

2021-03-21  Stefan Kangas  <stefan@marxist.se>

	Actually use lexical-binding in wid-browse.el

	* lisp/wid-browse.el: Use lexical-binding.  I apparently forgot to
	commit the lexical-binding cookie in my previous attempt.

2021-03-21  Andrea Corallo  <akrl@sdf.org>

	Revert "* lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Clean-up all..."

	This reverts commit be22cda7be9e77e67f224f6f07cca9dd44aaa078.

	Older binaries might still need those .eln if they where preloaded.

2021-03-21  Theodor Thornhill  <theo@thornhill.no>

	Use pop-to-buffer-same-window for shell

	* lisp/progmodes/project.el (project-shell): Behave the same way as
	'M-x project-eshell'.
	* lisp/shell.el (shell): Behave the same way as 'M-x eshell'.
	* etc/NEWS: Add news entry describing the change.
	* lisp/tutorial.el: Use lexical-binding.

2021-03-21  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Clean-up all .eln dirs.

2021-03-21  Zhiwei Chen  <chenzhiwei03@kuaishou.com>  (tiny change)

	Allow hide-ifdef-guts to work in buffers not visiting files

	* lisp/progmodes/hideif.el (hide-ifdef-guts): Allow working in
	buffers not visiting files (bug#47279).

2021-03-21  Stefan Kangas  <stefan@marxist.se>

	* lisp/tutorial.el: Use lexical-binding.

2021-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/ia.el (semantic-ia-complete-symbol): Simplify

	Cut the `semantic-ia-get-completions-deprecated` middle man.

2021-03-20  Stefan Kangas  <stefan@marxist.se>

	Remove support for Syndic8.com, defunct since 2013

	* lisp/gnus/nnrss.el (nnrss-discover-feed)
	(nnrss-find-rss-via-syndic8): Remove support for Syndic8.com, as
	the site was shut down in 2013.

2021-03-20  Toby Cubitt  <toby@dr-qubit.org>

	Fix cl-progv binding order

	* lisp/emacs-lisp/cl-macs.el (cl-progv): Bind variables in the
	correct order (bug#47272).

2021-03-20  Gregory Heytings  <gregory@heytings.org>

	* etc/NEWS: Small corrections for the new command 'font-lock-update'

2021-03-20  Stefan Kangas  <stefan@marxist.se>

	Remove Gnus specific .dir-locals.el

	* lisp/gnus/.dir-locals.el: Delete file.  The only variable it set was
	'show-trailing-whitespace', but this should be up to the individual
	developer.  (Bug#47278)

2021-03-20  Stefan Kangas  <stefan@marxist.se>

	Prefer https and fix broken links in ERC

	* lisp/erc/erc-button.el (erc-button-rfc-url)
	(erc-button-search-url): Prefer https.
	* lisp/erc/erc-capab.el:
	* lisp/erc/erc.el (erc-cmd-MODE): Fix broken links.

2021-03-20  Stefan Kangas  <stefan@marxist.se>

	* lisp/thumbs.el (thumbs-show-from-dir): Improve prompt.

2021-03-20  Eli Zaretskii  <eliz@gnu.org>

	Fix args-out-of-range error in format.el

	* lisp/format.el (format-deannotate-region): Ignore todo items
	with FROM > TO.  (Bug#47277)

2021-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t convert pointer to bool

	Without this patch, Oracle Studio 12.6 complains about converting
	pointer to bool.
	* src/editfns.c (styled_format): Use !!.

2021-03-20  Stefan Kangas  <stefan@marxist.se>

	Assume something more recent than X11R6

	* lisp/bindings.el:
	* lisp/menu-bar.el:
	* lisp/printing.el:
	* lisp/thumbs.el (thumbs-conversion-program): Assume we have something
	more recent than X11R6.

2021-03-20  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in thumbs.el

	* lisp/thumbs.el: Use lexical-binding.  Remove redundant :group args.
	* test/lisp/thumbs-tests.el: New file.

2021-03-20  Stefan Kangas  <stefan@marxist.se>

	* lisp/novice.el: Use lexical-binding.

2021-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/wdired.el: Use lexical-binding

	Remove redundant `:group` args.

	(wdired-change-to-wdired-mode): Use `add-function` to modify
	`revert-buffer-function`.
	(wdired-change-to-dired-mode): Adjust accordingly.
	(wdired-do-renames): Make sure to bind `dired-backup-overwrite` dynamically.

2021-03-20  Stefan Kangas  <stefan@marxist.se>

	Don't tag mouse command as mode exclusive

	* lisp/finder.el (finder-mouse-select): Don't tag for finder-mode.

2021-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bytecomp.el: Remember location of unresolved calls

	I've gotten tired of seeing the "function foo not known to be defined"
	warning without any line number information.  So this patch adds as
	line number the position of the first use of that function in the file
	(well, approximately, as usual).

	(byte-compile-unresolved-functions): Add POSITIONs in the alist.
	(byte-compile-function-warn): Store the current position in
	`byte-compile-unresolved-functions`.
	(byte-compile-arglist-warn): Adjust accordingly.
	(byte-compile-print-syms): Delete unused function.
	(byte-compile-warn-about-unresolved-functions): Use the stored position
	to give more precise warnings.

2021-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el (pcase-compile-patterns): New function (bug#47261)

	Extracted from `pcase--expand`.
	(pcase--expand): Use it.

2021-03-19  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into native-comp

2021-03-19  Eli Zaretskii  <eliz@gnu.org>

	Improve the docs of a recent change in mb-depth.el

	* lisp/mb-depth.el (minibuffer-depth-indicator-function): Improve
	the wording of the doc string and of the label used for the
	default value.  (Bug#47252)

2021-03-19  Andrea Corallo  <akrl@sdf.org>

	Do not load native code when `load' is explicitly called on a .elc file

	* src/lread.c (Fload): Do not load native code when `load' is
	explicitly called on a .elc file.
	(Flocate_file_internal): Update 'openp' call sites.
	(maybe_swap_for_eln): Add new 'no_native' parameter.
	(openp): Likewise + update 'maybe_swap_for_eln' and 'openp' call
	sites.
	* src/lisp.h: Update 'openp' signature.
	* src/w32proc.c (sys_spawnve): Update 'openp' call sites.
	* src/w32.c (check_windows_init_file): Likewise.
	* src/sound.c (Fplay_sound_internal): Likewise.
	* src/process.c (Fmake_process): Likewise.
	* src/image.c (image_create_bitmap_from_file)
	(image_find_image_fd): Likewise.
	* src/emacs.c (set_invocation_vars): Likewise.
	* src/charset.c (load_charset_map_from_file): Likewise.
	* src/callproc.c (call_process): Likewise.

2021-03-19  Mauro Aranda  <maurooaranda@gmail.com>

	Fix :type of recently introduced defcustom

	* lisp/mb-depth.el (minibuffer-depth-indicator-function): The option
	can be nil, so add nil as a choice.  (Bug#47252)

2021-03-19  Gabriel do Nascimento Ribeiro  <gabriel.nascimento@nubank.com.br>

	Make minibuffer-depth-indicator-function a defcustom

	* lisp/mb-depth.el (minibuffer-depth-indicator-function): Make
	into a user option (bug#47252).

2021-03-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Warn the user if we can't find pkg-config

	* configure.ac (WITH_IFAVAILABLE): Warn the user if we can't find
	a usable pkg-config (bug#47159).

2021-03-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a note to NEWS as to how to restore the facemenu

2021-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix copyright lines mistakenly treated as outline headers

	* lisp/emacs-lisp/generator.el:
	* test/lisp/cedet/semantic-utest.el:
	* test/lisp/cedet/semantic/format-tests.el:
	* test/lisp/cedet/semantic/fw-tests.el:
	* test/lisp/cedet/semantic/bovine/gcc-tests.el:
	* test/lisp/cedet/semantic/format-resources/test-fmt.el:
	* test/manual/cedet/semantic-tests.el:
	* lisp/obsolete/inversion.el: Use only 2 semi-colons before "Copyright".

2021-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	lisp/erc: Use lexical-binding

	Also remove various redundant `:group` arguments.

	* lisp/erc/erc-backend.el (define-erc-response-handler): Move `declare`
	after the docstring.

	* lisp/erc/erc-capab.el: Use lexical-binding.
	(erc-capab-identify-activate): Simplify with `member`.

	* lisp/erc/erc-dcc.el (erc-dcc): Move before erc-dcc-mode definition,
	which refers to it.
	(erc-dcc-chat-accept): Remove unused vars `nick` and `buffer`.

	* lisp/erc/erc-imenu.el: Use lexical-binding.
	(erc-create-imenu-index): Remove unused var `prev-pos`.

	* lisp/erc/erc-match.el: Use lexical-binding.
	(erc-match-message): Remove unused var `old-pt`.
	(erc-match-message): Strength-reduce `eval` to `symbol-value`.

	* lisp/erc/erc-page.el: Use lexical-binding.
	(erc-page): Move Custom group before `erg-page-mode` which refers to it.

	* lisp/erc/erc-replace.el: Use lexical-binding.
	(erc-replace-insert): Use `functionp`.

	* lisp/erc/erc-status-sidebar.el: Use lexical-binding.
	(erc-status-sidebar-open): Remove unused var `sidebar-window`.

	* lisp/erc/erc.el: Fix header to use the customary 3 semi-colons.
	(erc-fill-column): Declare variable.

	* lisp/erc/erc-autoaway.el: Use lexical-binding.
	* lisp/erc/erc-ezbounce.el: Use lexical-binding.
	* lisp/erc/erc-fill.el: Use lexical-binding.
	* lisp/erc/erc-goodies.el: Use lexical-binding.
	* lisp/erc/erc-ibuffer.el: Use lexical-binding.
	* lisp/erc/erc-identd.el: Use lexical-binding.
	* lisp/erc/erc-join.el: Use lexical-binding.
	* lisp/erc/erc-lang.el: Use lexical-binding.
	* lisp/erc/erc-log.el: Use lexical-binding.
	* lisp/erc/erc-menu.el: Use lexical-binding.
	* lisp/erc/erc-netsplit.el: Use lexical-binding.
	* lisp/erc/erc-networks.el: Use lexical-binding.
	* lisp/erc/erc-pcomplete.el: Use lexical-binding.
	* lisp/erc/erc-ring.el: Use lexical-binding.
	* lisp/erc/erc-speedbar.el: Use lexical-binding.
	* lisp/erc/erc-spelling.el: Use lexical-binding.
	* lisp/erc/erc-truncate.el: Use lexical-binding.
	* lisp/erc/erc-xdcc.el: Use lexical-binding.

2021-03-19  Stefan Kangas  <stefan@marxist.se>

	Do interactive mode tagging for finder.el

2021-03-19  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in finder.el

	* lisp/finder.el: Use lexical-binding.
	(finder-mode-map, finder-compile-keywords): Remove unused lexical
	variables.

2021-03-19  Stefan Kangas  <stefan@marxist.se>

	Fix a warning due to not preloading facemenu.el

	* test/src/undo-tests.el (facemenu): Require.

2021-03-18  Stefan Kangas  <stefan@marxist.se>

	* lisp/faces.el (help-key-binding): Tweak background.

2021-03-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix frame-inner-height in non-GUI builds

	Include tab bar in frame's inner height in non-GUI builds that don't
	define tab-bar-height.  This is consistent with the inclusion of the
	menu bar in the calculated height.  It is also consistent with TTY
	frames of GUI builds, for which tab-bar-height is always zero
	anyway (bug#47234).  Fix suggested by Eli Zaretskii <eliz@gnu.org>.

	* lisp/frame.el (frame-inner-height): Don't assume tab-bar-height is
	defined in builds --without-x.

2021-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Optimize the "return nil" case

2021-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/progmodes/cperl-mode-tests.el: Silence warnings

	(cperl-test-bug-47112): Actually obey the major-mode for the test.

2021-03-18  Juri Linkov  <juri@linkov.net>

	* lisp/newcomment.el: Allow 'comment-continue' with whitespace (bug#47167)

	* lisp/newcomment.el (comment-region-default-1): Still use 'comment-continue'
	as a string with whitespace even when 'comment-padright' returns nil.

2021-03-18  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (next-error-quit-window): New function (bug#44611).

	(next-error-found-function): Add it as a choice.

2021-03-18  Glenn Morris  <rgm@gnu.org>

	* admin/make-tarball.txt: Be kind to people merging branches.

2021-03-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	d5b160d7cc (tag: emacs-27.2-rc1, origin/emacs-27) Prepare the Emacs 2...
	216bd67a4f ; * admin/make-tarball.txt: Advise to remove stale subdire...

	# Conflicts:
	#	ChangeLog.3
	#	README
	#	configure.ac
	#	etc/AUTHORS
	#	etc/NEWS
	#	lisp/ldefs-boot.el
	#	msdos/sed2v2.inp
	#	nt/README.W32

2021-03-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	a7f95d5244 Remove duplicate @table item from ELisp manual
	be1b3512f7 Fix reference to 'diff-font-lock-syntax' in diff-mode docu...

2021-03-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	f60eb988f6 Fix typos and omissions for (elisp)Button Buffer Commands
	876b95bf90 Teach Rmail about NBSP in "Re:"

	# Conflicts:
	#	lisp/mail/rmail.el

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Prepare the Emacs 27.2 release.

	* etc/HISTORY: Update for Emacs 27.2.

	* README:
	* configure.ac:
	* nt/README.W32:
	* msdos/sed2v2.inp: Set version to 27.2

2021-03-18  Mattias Engdegård  <mattiase@acm.org>

	Optimize tail calls in `and` and `or` forms in `cl-labels` functions

	* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Handle `and` and `or`.
	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
	Add test cases.

2021-03-18  Michael Albinus  <michael.albinus@gmx.de>

	Extend handled events in 'while-no-input-ignore-events' (Bug#47205)

	* etc/NEWS: Mention changes to 'while-no-input-ignore-events'.

	* src/keyboard.c (kbd_buffer_store_buffered_event): Handle also
	Qfile_notify and Qdbus_event as ignore_event.  (Bug#47205)

2021-03-18  Stefan Kangas  <stefan@marxist.se>

	Add comint-password-prompt-regexp test for "zip -e ..."

	* test/lisp/comint-tests.el (comint-testsuite-password-strings):
	Add test for "zip -e ...".  (Bug#47209)

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Compute chart-face-list dynamically

	* lisp/emacs-lisp/chart.el (chart-face-list): Allow a function as
	the value (bug#47133) so that we can compute the faces dynamically
	on different displays.
	(chart--face-list): New function.
	(chart-draw-data): Use it.

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Document that `buffer-string' retains text properties

	* doc/lispref/text.texi (Buffer Contents): Mention text properties
	in the `buffer-string' documentation.
	* src/editfns.c (Fbuffer_string): Mention text properties in the
	doc string (bug#47220).

	(cherry picked from commit 60af754170f22f5d25510af069ed0ebfec95f992)

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix breaking undo-test

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Make "not found" message in dictionary less misleading

	* lisp/net/dictionary.el (dictionary-do-search): Don't say there
	are more words when there aren't (bug#47056).

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Make memory-report work with buffer-local unbound vars

	* lisp/emacs-lisp/memory-report.el (memory-report--buffer-data):
	Protect against buffer-local unbound variables (bug#47057).

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix sorting in speedbar sub-groups

	* lisp/speedbar.el (speedbar-prefix-group-tag-hierarchy): Sort
	entries in sub-groups (bug#47073).

2021-03-18  Gabriel do Nascimento Ribeiro  <gabriel.nascimento@nubank.com.br>

	lisp/cedet/pulse.el: Use color.el

	* lisp/cedet/pulse.el: (pulse-int-to-hex): Remove function.
	(pulse-color-values-to-hex): Remove function.
	(pulse-lighten-highlight): Remove function.
	(pulse-momentary-iteration): Add variable.
	(pulse-momentary-highlight-overlay): Use color-gradient from color.el.
	(pulse-tick): Receive colors and update overlay background (bug#47083).

2021-03-18  Harald Jörg  <haj@posteo.de>

	cperl-mode: Don't interpret y_ as start of y// function.

	* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Avoid
	treating underscores as word-terminators.

	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-test-bug-47112): Test case for that bug (bug#47112).

2021-03-18  Gabriel do Nascimento Ribeiro  <gabriel.nascimento@nubank.com.br>

	Fix uniquify-trailing-separator-p + uniquify-strip-common-suffix

	(uniquify-item): New slot 'original-dirname'.
	(uniquify-rationalize-file-buffer-names): Use new slot.
	(uniquify-rationalize): Use new slot.
	(uniquify-get-proposed-name): New optional argument 'original-dirname'
	to properly add a trailing separator when the corresponding user option
	is set and the dirname is an existing directory (bug#47132).

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem of trashing files to an inconsistent trash directory

	* lisp/files.el (move-file-to-trash): Allow moving files to trash
	even if there's a file in trash with the same name (but no entry
	in info) (bug#47135).

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Autoload 'mouse-wheel-mode'

	* lisp/mwheel.el (mouse-wheel-mode): Autoload, since the mode can
	be used (but isn't preloaded) when there isn't any window system
	(bug#47162).

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Recognize "Verify password" as a password prompt

	* lisp/comint.el (comint-password-prompt-regexp): Also react to
	"Verify password" (output by "zip -e") (bug#47209).

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Document that `buffer-string' retains text properties

	* doc/lispref/text.texi (Buffer Contents): Mention text properties
	in the `buffer-string' documentation.
	* src/editfns.c (Fbuffer_string): Mention text properties in the
	doc string (bug#47220).

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't pre-load facemenu

	* lisp/facemenu.el (facemenu-add-face-function): Move to avoid a
	compilation warning.
	(facemenu-color-alist): Made obsolete.

	* lisp/faces.el (read-color): Don't use it.

	* lisp/loadup.el ("emacs-lisp/syntax"): Don't load facemenu.

	* lisp/wid-edit.el (color): Don't use facemenu-color-alist.
	(widget-color--choose-action): Require facemenu.
	(widget-color-action): Ditto.

	* lisp/progmodes/cperl-mode.el (facemenu): Require.

	* lisp/textmodes/sgml-mode.el (facemenu): Require.

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Unbind `M-o' and add new `C-x x f' binding

	* doc/lispref/modes.texi (Other Font Lock Variables):
	`font-lock-fontify-block' is no longer bound.
	* lisp/bindings.el (ctl-x-x-map): Bind `font-lock-update'.

	* lisp/font-lock.el (font-lock-update): New command written by
	Gregory Heytings <gregory@heytings.org>.

	* lisp/loadup.el: Remove transitional experimental code.

2021-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes: Use lexical-binding

	* lisp/textmodes/enriched.el: Use lexical-binding.
	(enriched-mode): Use `delete-dups` to avoid `add-to-list` on
	a local variable.

	* lisp/textmodes/makeinfo.el: Use lexical-binding.
	(makeinfo-region): Remove unused var `filename-or-header`.

	* lisp/textmodes/refbib.el: Use lexical-binding.
	(r2b-put-field): Remove unused var `multi-line`.
	(r2b-barf-output): Remove unused var `match`.

	* lisp/textmodes/refer.el: Use lexical-binding.
	(refer-find-entry-internal): Remove unused vars `old-buffer` and `found`.

	* lisp/textmodes/reftex-auc.el: Use lexical-binding.
	(LaTeX-add-bibitems): Declare function.
	(reftex-plug-into-AUCTeX): Use `add-function` and `advice-add` so we
	can properly unplug.

	* lisp/textmodes/reftex-cite.el: Use lexical-binding.
	(reftex-create-bibtex-file): Remove unused var `file`.
	(reftex--found-list): Declare var.
	(reftex-offer-bib-menu): Rename local var to `reftex--found-list`.

	* lisp/textmodes/reftex-dcr.el: Use lexical-binding.
	(reftex-use-itimer-in-xemacs): Delete XEmacs-only var.
	(reftex-toggle-auto-view-crossref): Delete XEmacs-only code.
	(reftex-start-itimer-once): Delete XEmacs-only function.

	* lisp/textmodes/reftex-global.el: Use lexical-binding.
	(reftex-isearch-push-state-function): Use a closure instead of `(lambda).

	* lisp/textmodes/reftex-index.el: Use lexical-binding.
	(mark-active, transient-mark-mode): Delete var declarations.
	(reftex-index-mode-map): Remove XEmacs-only code.
	Use `mapc` so we can use closures instead of hand-built lambdas.
	(reftex-index-next, reftex-index-previous): Tweak interactive spec to
	remove unused prefix arg and mark it as a motion command.
	(reftex-index-phrases-font-lock-keywords)
	(reftex-index-phrases-font-lock-keywords): Move initialization into
	declaration.
	(reftex-index-initialize-phrases-buffer, reftex-index-phrases-mode)
	reftex-index-phrases-apply-to-region: Remove XEmacs-only code.
	(TeX-master): Remove redundant declaration.
	(reftex--chars-first): Rename dynvar from `chars-first`.  Adjust all uses.

	* lisp/textmodes/reftex-parse.el: Use lexical-binding.

	* lisp/textmodes/reftex-ref.el: Use lexical-binding.
	(reftex-label): Remove always-nil var `text`.
	(reftex-refstyle): Declare before first use.
	(<toplevel>): Use closures rather than `eval` when building commands from
	`reftex-ref-style-alist`.

	* lisp/textmodes/reftex-sel.el: Use lexical-binding.
	(reftex-select-label-mode-map, reftex-select-bib-mode-map):
	Use `mapc` so we can use closures instead of hand-built lambdas.
	(reftex-select-label-mode, reftex-select-bib-mode): Remove XEmacs-only code.
	(reftex-select-data, reftex-select-prompt, reftex-refstyle):
	Move declaration before first use.
	(reftex--found-list, reftex--cb-flag, reftex--last-data)
	(reftex--call-back, reftex--help-string): Move declaration before use,
	and rename by adding `reftext--` prefix.  Adjust all uses in this file.
	For `reftex--found-list` adjust corresponding uses in `reftex-cite.el`.
	(reftex-select-item): Explicitly let-bind them.
	Remove XEmacs-only code.

	* lisp/textmodes/reftex-toc.el: Use lexical-binding.
	(reftex-toc-mode-map, reftex-toc-mode, reftex-toc-restore-region)
	(reftex-toc-next, reftex-toc-previous, reftex-toc-next-heading)
	(reftex-toc-previous-heading, reftex-toggle-auto-toc-recenter
	(reftex-make-separate-toc-frame): Remove XEmacs-only code.

	* lisp/textmodes/reftex-vars.el: Use lexical-binding.

	* lisp/textmodes/reftex.el: Use lexical-binding.
	(reftex-mode-map, reftex-mode, reftex-fontify-select-label-buffer)
	(reftex-verified-face): Remove XEmacs-only code.
	(reftex-region-active-p, reftex-overlay-put, reftex-move-overlay)
	(reftex-make-overlay, reftex-get-buffer-visiting, reftex-delete-overlay):
	Redefine as obsolete aliases.  Replace all callers.
	(current-message): Remove XEmacs-only definition.

	* lisp/textmodes/remember.el: Use lexical-binding.

	* lisp/textmodes/table.el (<toplevel>): Use closures rather than `(lambda)
	to build commands.

	* lisp/textmodes/texinfmt.el: Use lexical-binding.
	(texinfo-example-start): Declare var.
	(texinfo-format-region, texinfo-format-buffer-1): Remove unused var
	`last-input-buffer`.
	(texinfo-format-scan): Use `dlet` to bind `whitespace-silent`.
	(texinfo-optional-braces-discard, texinfo-format-parse-line-args)
	(texinfo-format-parse-args): Remove unused var `start`.
	(texinfo-multitable-widths): Remove unused var `start-of-templates`.
	(texinfo-multitable-item): Strength-reduce `eval` to `symbol-value`.
	(texinfo-alias): Remove unused vars `start` and `args`.
	(texinfo-defun-type symbol-property): Change the car to help the type
	symbol rather than an expression returning it.
	(texinfo-format-deffn): Remove corresponding `eval`.
	(texinfo-clear): Remove unused var `value`.
	(texinfo-format-ifeq): Remove unused var `end`.

	* lisp/textmodes/texinfo.el: Use lexical-binding.
	(tex-show-print-queue): Declare function.

	* lisp/textmodes/texnfo-upd.el: Use lexical-binding.
	(texinfo-start-menu-description): Remove unused var `end`.
	(texinfo-insert-node-lines): Remove unused var `beginning-marker`.
	(texinfo-multiple-files-update): Remove unused vars `next-node-name`
	and `previous-node-name`.

	* lisp/textmodes/two-column.el: Use lexical-binding.

2021-03-18  Dmitry Gutov  <dgutov@yandex.ru>

	Leave signaling the exact error to cl-generic's internals

	* lisp/progmodes/project.el (project-root): Extract default
	definition to a new method, predicated on a context
	(https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00771.html).

2021-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/benchmark.el (benchmark-call): New function

	(benchmark-run, benchmark-run-compiled, benchmark): Use it.
	(benchmark--adaptive): New internal function.

2021-03-17  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el: Face cleanup.

2021-03-17  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: New faces and face options.

	* lisp/tab-bar.el (tab-bar-tab-group-current)
	(tab-bar-tab-group-inactive, tab-bar-tab-ungrouped): New deffaces.
	(tab-bar-tab-face-function): New defcustom.
	(tab-bar-tab-face-default): New function.
	(tab-bar-tab-name-format-default): Use it.
	(tab-bar-tab-group-format-default): Use tab-bar-tab-group-inactive face.
	(tab-bar-tab-group-face-function): New defcustom.
	(tab-bar-tab-group-face-default): New function.
	(tab-bar--format-tab-group): Add new arg 'current-p'.
	(tab-bar-format-tabs-groups): Prepend current group name before first tab.
	Override tab-bar-tab-face-function with tab-bar-tab-group-face-function.

2021-03-17  Dmitry Gutov  <dgutov@yandex.ru>

	Stop project-root from going into infinite recursion

	* lisp/progmodes/project.el (project--within-roots-fallback):
	New variable.
	(project-root, project-roots): Use it (bug#47168).

2021-03-17  Fabrice Bauzac  <noon@mykolab.com>

	Remove duplicate @table item from ELisp manual

	* doc/lispref/objects.texi (Special Read Syntax): Remove duplicate
	item "#@N" from the table of Special Read Syntax.  (Bug#47200)

2021-03-16  Juri Linkov  <juri@linkov.net>

	New commands xref-next-line-no-show and xref-prev-line-no-show (bug#44611)

	* lisp/progmodes/xref.el (xref-next-line-no-show)
	(xref-prev-line-no-show): New commands.
	(xref-next-line, xref-prev-line): Use them.

2021-03-16  Juri Linkov  <juri@linkov.net>

	Minor fixes

	* lisp/frame.el (set-frame-property--interactive): Remove '(point)'
	that makes no sense as the default value.  (Bug#9970)

	* lisp/simple.el (next-error-found-function): Move defcustom
	closer to function 'next-error-found' where it's used.

2021-03-16  Andrea Corallo  <akrl@sdf.org>

	Fix `no-byte-compile' native compilation interaction (bug#47169)

	* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Throw
	no-native-compile when `byte-native-qualities' are null.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): No need
	to consider `no-byte-compile'.

2021-03-16  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-select-tab): Support negative arg.

2021-03-16  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Simplify internal functions.

	* lisp/tab-bar.el (tab-bar-tabs-set): New function.
	(tab-bar-tabs): Use tab-bar--current-tab-find and tab-bar-tabs-set.
	(tab-bar--tab): Use tab-bar--current-tab-find.
	(tab-bar--current-tab): Remove unused line (assq 'current-tab ...)
	because there is no current-tab when it's called.  Remove unused arg 'frame'.
	(tab-bar--current-tab-find): Simplify.
	(tab-bar-move-tab-to, tab-bar-move-tab-to-frame)
	(tab-bar-new-tab-to, tab-bar-close-tab)
	(tab-bar-close-other-tabs, tab-bar-undo-close-tab)
	(tab-switcher-delete-from-list): Use tab-bar-tabs-set
	instead of set-frame-parameter.
	(tab-bar-close-group-tabs): Simplify using tab-bar--current-tab-find
	without arg.

2021-03-16  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem of image-tests.el on emba

	* test/README: Mention $EMACS_TEST_DIRECTORY.

	* test/lisp/image-tests.el (image-tests--emacs-images-directory):
	Use `data-directory', for runs without of make.
	(image-type/from-filename): Check for `image-load-path'.

2021-03-16  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem in Tramp running two async processes in parallel

	* lisp/net/tramp-integration.el
	(tramp-compile-disable-ssh-controlmaster-options): New defun.  Add
	it to `compilation-mode-hook'.  (Bug#45518)

	* lisp/progmodes/compile.el (compilation-get-file-structure):
	Revert commit 4ce5646d59, it isn't needed.

2021-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/themes/modus-themes.el: Bump version for GNU ELPA release

	(News:): New section.

2021-03-16  Andrea Corallo  <akrl@sdf.org>

	Have `no-byte-compile' implies also `no-native-compile'.

	* lisp/emacs-lisp/comp.el (no-native-compile): Update doctring.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): when
	`no-byte-compile' is set to non-nil it overrides this.

2021-03-16  Daniel Martín  <mardani29@yahoo.es>

	Add minibuffer input support to commands that set the frame size

	* lisp/frame.el (set-frame-property--interactive): Internal function to
	produce the interactive form of `set-frame-width' and
	`set-frame-height'.  Offer the current size as default.  (Bug#9970)
	* src/frame.c (Fset_frame_height): Modify to call
	`set-frame-property--interactive'.
	(Fset_frame_width): Modify to call `set-frame-property--interactive'.
	* doc/lispref/frames.texi (Frame Size): Update the manuals.
	* etc/NEWS: Advertise the change (bug#9970).

2021-03-15  Eli Zaretskii  <eliz@gnu.org>

	* lisp/emacs-lisp/byte-opt.el: Fix native re-compilation (bug#47161).

2021-03-15  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-new-tab-group): New defcustom.

	(tab-bar--current-tab, tab-bar-new-tab-to, tab-bar-duplicate-tab): Use it.

2021-03-15  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-tab-group-format-function): New defcustom.

	(tab-bar-tab-group-default): New function.
	(tab-bar-tab-group-format-default, tab-bar-format-tabs-groups)
	(tab-bar-change-tab-group, tab-bar-close-group-tabs): Use it.

2021-03-15  Glenn Morris  <rgm@gnu.org>

	* CONTRIBUTE: Refer to gnulib for request-assign.future.

	The vast majority of the exchanges on this topic are "please send me
	the form; ok I sent you the form", and there's no need to involve a
	mailing list for that.

2021-03-15  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/bytecomp.el: Fix native re-compilation (bug#47161).

2021-03-15  Eli Zaretskii  <eliz@gnu.org>

	Prefer expand-file-name to concat in native-compilation code

	* lisp/emacs-lisp/comp.el (comp-eln-load-path-eff):
	* src/comp.c (Fcomp_el_to_eln_filename)
	(eln_load_path_final_clean_up): Prefer expand-file-name to concat.
	(Bug#43725)

2021-03-15  Protesilaos Stavrou  <info@protesilaos.com>

	Make the `kbd` macro work in both Emacs-26 and Emacs-28

	This is so that elpa.gnu.org's Emacs-26 can successfully build the
	Info version of it for the GNU ELPA package.

2021-03-15  Michael Albinus  <michael.albinus@gmx.de>

	Improve command completion in tramp-crypt.el

	* lisp/net/tramp-crypt.el (tramp-crypt-command-completion-p):
	Rename from `tramp-crypt-enabled-p'.  Handle
	`tramp-crypt-remove-directory' special.

2021-03-15  Stefan Kangas  <stefan@marxist.se>

	* lisp/textmodes/refill.el: Use lexical-binding.

2021-03-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet: Convert remaining files to lexical-binding

	Remove a few more redundant `:group` args.
	Make use of lexical scoping to replace `(lambda...) with proper closures.

	* lisp/cedet/ede/custom.el (ede-project-sort-targets-list):
	Use `dotimes` and replace `(lambda..) with closures.

	* lisp/cedet/ede/proj-comp.el (proj-comp-insert-variable-once):
	* lisp/cedet/ede/pmake.el (ede-pmake-insert-variable-once):
	Remove unused var `addcr`.

	* lisp/cedet/semantic/complete.el: Use lexical-binding.
	(semantic-displayer-show-request): Remove unused var `typing-count`.
	Use `equal` instead of `stringp+string=`.

	* lisp/cedet/semantic/db-ebrowse.el: Use lexical-binding.
	(semanticdb-create-ebrowse-database): Remove unused vars `mma` and `regexp`.
	(semanticdb-ebrowse-strip-trees): Remove unused var `class` and `filename`.
	(semanticdb-ebrowse-add-globals-to-table): Remove unused var `fname`.

	* lisp/cedet/semantic/db-find.el: Use lexical-binding.
	(semanticdb-find-adebug-insert-scanned-tag-cons): Remove always-nil var
	`tip`.

	* lisp/cedet/semantic/db-global.el: Use lexical-binding.
	(semanticdb-enable-gnu-global-databases): Access local var
	`semantic--ih` by sticking its value in the code passed to `eval`
	rather than by dynamic scoping.

	* lisp/cedet/semantic/db-typecache.el: Use lexical-binding.
	(semanticdb-db-typecache-dump): Remove unused var `junk`.

	* lisp/cedet/semantic/debug.el: Use lexical-binding.

	* lisp/cedet/semantic/dep.el: Use lexical-binding.
	(semantic-add-system-include): Avoid `add-to-list` on a local variable.
	Access local var `value` by sticking its value in the code passed to
	`eval` rather than by dynamic scoping.
	(semantic-remove-system-include): Don't use `delete` on a list received
	from elsewhere.
	Access local var `value` by sticking its value in the code passed to
	`eval` rather than by dynamic scoping.
	(semantic-reset-system-include): Simplify a bit.

	* lisp/cedet/semantic/ede-grammar.el: Use lexical-binding.
	(project-compile-target): Remove unused vars `csrc` and `cb`.
	Use `cl-incf`.  Remove apparently unneeded `with-no-warnings`.

	* lisp/cedet/semantic/edit.el: Use lexical-binding.
	(semantic-edits-change-over-tags): Remove unused var `inner-start`.
	(semantic-edits-incremental-parser-1): Silence warnings about
	intentionally unused var `last-cond`.

	* lisp/cedet/semantic/fw.el: Use lexical-binding.
	(recentf-exclude, semantic-init-hook, ede-auto-add-method)
	(flymake-start-syntax-check-on-find-file, auto-insert): Declare vars.

	* lisp/cedet/semantic/ia-sb.el: Use lexical-binding.
	(semantic-ia-sb-key-map): Move initialization into declaration.
	(semantic-ia-sb-more-buttons): Remove unused var `idx`.
	(semantic-ia-sb-line-path): Simplify `if` -> `or`.

	* lisp/cedet/semantic/idle.el (semantic-idle-breadcrumbs--tag-function):
	Make it a function returning a closure.

	* lisp/cedet/semantic/senator.el: Use lexical-binding.
	(senator-search-set-tag-class-filter): Replace `(lambda..) with a closure.

	* lisp/cedet/semantic/sort.el: Use lexical-binding.
	(semanticdb-search-system-databases): Declare var.
	(semantic-tag-external-member-children-default): Replace `(lambda..)
	with a closure.

	* lisp/cedet/semantic/tag-ls.el: Use lexical-binding.
	(semantic-tag-protection-default, semantic-tag-abstract-p-default):
	Simplify with `member`.

	* lisp/cedet/semantic/util.el: Use lexical-binding.
	(semantic-something-to-tag-table): Declare function
	`semanticdb-abstract-table--eieio-childp` called via `cl-typep`.

	* lisp/cedet/semantic/bovine/scm.el (semantic-default-scheme-setup):
	Remove duplicate setting of `imenu-create-index-function`.

	* lisp/cedet/semantic/decorate/mode.el (semantic-decoration-build-style-menu):
	Replace `(lambda..) with a closure.

	* lisp/cedet/srecode/cpp.el (srecode-semantic-apply-tag-to-dict):
	Remove always-t variable `member`.

	* lisp/cedet/srecode/mode.el (srecode-minor-mode-templates-menu):
	Replace `(lambda..) with a closure.  Use `push`.

	* lisp/cedet/semantic/chart.el: Use lexical-binding.
	* lisp/cedet/semantic/db-debug.el: Use lexical-binding.
	* lisp/cedet/semantic/db-el.el: Use lexical-binding.
	* lisp/cedet/semantic/db-file.el: Use lexical-binding.
	* lisp/cedet/semantic/db-javascript.el: Use lexical-binding.
	* lisp/cedet/semantic/db-mode.el: Use lexical-binding.
	* lisp/cedet/semantic/db-ref.el: Use lexical-binding.
	* lisp/cedet/semantic/decorate.el: Use lexical-binding.
	* lisp/cedet/semantic/doc.el: Use lexical-binding.
	* lisp/cedet/semantic/find.el: Use lexical-binding.
	* lisp/cedet/semantic/format.el: Use lexical-binding.
	* lisp/cedet/semantic/html.el: Use lexical-binding.
	* lisp/cedet/semantic/ia.el: Use lexical-binding.
	* lisp/cedet/semantic/imenu.el: Use lexical-binding.
	* lisp/cedet/semantic/java.el: Use lexical-binding.
	* lisp/cedet/semantic/mru-bookmark.el: Use lexical-binding.
	* lisp/cedet/semantic/symref.el: Use lexical-binding.
	* lisp/cedet/semantic/tag-file.el: Use lexical-binding.
	* lisp/cedet/semantic/tag-write.el: Use lexical-binding.
	* lisp/cedet/semantic/texi.el: Use lexical-binding.
	* lisp/cedet/semantic/util-modes.el: Use lexical-binding.

2021-03-15  Gabriel do Nascimento Ribeiro  <gabriel.nascimento@nubank.com.br>

	Init archive and add noconfirm to 'package-install-selected-packages'

	* lisp/emacs-lisp/package.el (package-install-selected-packages):
	Add call to 'package--archives-initialize' and add optional argument
	NOCONFIRM to skip user confirmation when installing packages.  (Bug#47124)

2021-03-15  Stefan Kangas  <stefan@marxist.se>

	* lisp/vc/ediff-vers.el: Remove XEmacs compat code.

2021-03-15  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in expand.el

	* lisp/expand.el: Use lexical-binding.  Remove redundant :group args.

2021-03-15  Stefan Kangas  <stefan@marxist.se>

	* lisp/help-macro.el: Use lexical-binding.

2021-03-15  Stefan Kangas  <stefan@marxist.se>

	Add three new tests for image.el

	* test/lisp/image-tests.el (image-find-image)
	(image-type-from-file-name, image-type/from-filename): New tests.

2021-03-15  Stefan Kangas  <stefan@marxist.se>

	* lisp/wid-edit.el (widget-field): Add subtle border to face.

2021-03-14  Andrea Corallo  <akrl@sdf.org>

	Fix some entry in `comp-known-type-specifiers' (bug#46847)

	* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Some
	fix.
	* test/src/comp-tests.el (comp-tests-46670-1): Update test.

2021-03-14  Pip Cet  <pipcet@gmail.com>

	Don't call setjmp through a function pointer on Windows (bug#47067)

	* src/comp.c (ABI_VERSION): Bump.
	(emit_setjmp): Call setjmp directly.
	(declare_runtime_imported_funcs): Remove setjmp.
	(helper_link_table): Remove entry for setjmp.

2021-03-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	Revert "* lisp/calendar/appt.el (appt-activate): Set the local `write-file-functions`"

	This reverts commit 587a97bcb23bc6ea429ab790efa03f2260a9bca8.
	We really do want to affect the global part of the hook.
	Reported by Gabriel <gabriel376@hotmail.com>.

2021-03-14  Eli Zaretskii  <eliz@gnu.org>

	Fix hang due to failure to clean up *.eln.old files at exit

	* src/comp.c (eln_load_path_final_clean_up): Call
	internal_delete_file, not Fdelete_file, to ignore any errors.
	(Bug#46972)

2021-03-14  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Tab groups can be displayed with tab-bar-format-tabs-groups

	* lisp/tab-bar.el (tab-bar-format): Turn defvar into defcustom.
	Add :options and force-mode-line-update in :set.
	(tab-bar--format-tab): New function refactored from tab-bar-format-tabs.
	(tab-bar-format-tabs): Move most of code to tab-bar--format-tab and call it.
	(tab-bar-tab-group-format-function): New defcustom.
	(tab-bar-tab-group-format-default): New function.
	(tab-bar--format-tab-group, tab-bar-format-tabs-groups): New functions.
	(tab-bar-format-align-right, tab-bar-format-global): Shorten id.
	(tab-bar-change-tab-group): Add refs to tab-bar-format in docstring.

2021-03-14  Gabriel do Nascimento Ribeiro  <gabriel.nascimento@nubank.com.br>

	* lisp/tab-line.el: Update docstring of 'tab-line-tabs-function' (bug#47117)

	(tab-line-tabs-function): Mention 'tab-line-tabs-buffer-groups'
	in the docstring.
	(tab-line-tabs-buffer-groups): Add docstring.

2021-03-14  Gabriel do Nascimento Ribeiro  <gabriel.nascimento@nubank.com.br>

	* lisp/tab-line.el: Add face for group-tab (bug#47118)

	(tab-line-tab-face-functions): Add choice for 'tab-line-tab-face-group'.
	(tab-line-tab-group): New face.
	(tab-line-tabs-buffer-groups): Set alist key 'group-tab' for group tabs.
	(tab-line-tab-face-group): New function to set face for group tabs.

2021-03-14  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-crypt.el (tramp-crypt-add-directory):

	Don't autoload setting property `completion-predicate'.

2021-03-14  Daniel Martín  <mardani29@yahoo.es>

	Fix reference to 'diff-font-lock-syntax' in diff-mode documentation

	* doc/emacs/files.texi (Diff Mode): Add the omitted name of the
	variable.  (Bug#47129)

2021-03-14  Alan Third  <alan@idiocy.org>

	Fix buffer overflow in xbm_scan (bug#47094)

	* src/image.c (xbm_scan): Ensure reading a string doesn't overflow the
	buffer.

	(cherry picked from commit ebc3b25409dd614c1814a0643960452683e37aa3)

2021-03-13  Alan Third  <alan@idiocy.org>

	Fix buffer overflow in xbm_scan (bug#47094)

	* src/image.c (xbm_scan): Ensure reading a string doesn't overflow the
	buffer.

2021-03-13  Juri Linkov  <juri@linkov.net>

	Separate values 'override' and 'append' in 'outline-minor-mode-highlight'

	* lisp/outline.el (outline-font-lock-keywords): Handle 'override' and 'append'
	separately.
	(outline-minor-mode-highlight): Separate values 'override' and 'append'.
	(outline-minor-mode-highlight-buffer): Go to match-beginning
	before checking '(point)'.

2021-03-13  Stefan Kangas  <stefan@marxist.se>

	Add help-key-binding styling to wombat theme

	* etc/themes/wombat-theme.el (help-key-binding): Add face
	definition.

2021-03-13  Eli Zaretskii  <eliz@gnu.org>

	Fix rare redisplay glitches when image has been removed from display

	* src/dispnew.c (update_window): Make sure all glyph rows below
	the last visible one are marked as invalid, even when the loop
	which "updates the rest of the lines" didn't examine the last
	visible row.  (Bug#47093)

2021-03-13  Stefan Kangas  <stefan@marxist.se>

	Adjust colors of help-key-binding face for readability

	* lisp/faces.el (help-key-binding): Adjust colors for improved
	readability, and use a flat :box for highlighting (with negative
	:line-width height to avoid any vertical resizing of the minibuffer).

	This was discussed in:
	https://lists.gnu.org/r/emacs-devel/2021-03/msg00535.html

2021-03-13  Michael Albinus  <michael.albinus@gmx.de>

	Remove ;;;###tramp-autoload cookie from Tramp defcustoms (Bug#47063)

	* lisp/net/tramp-crypt.el (tramp-crypt-enabled-p): New defun.
	(tramp-crypt-add-directory, tramp-crypt-remove-directory):
	Add property `completion-predicate'.

	* lisp/net/tramp-sh.el (tramp-terminal-type, tramp-remote-path)
	(tramp-remote-process-environment): Remove.  Move them to ...

	* lisp/net/tramp.el: ... here.

2021-03-13  Eli Zaretskii  <eliz@gnu.org>

	Extend support for faces in Enriched mode

	* lisp/textmodes/enriched.el (enriched-face-ans): Support faces
	with bold and italic attributes.  (Bug#46507)

2021-03-13  Matt Armstrong  <matt@rfc20.org>

	Fix typos and omissions for (elisp)Button Buffer Commands

	* doc/lispref/display.texi (Button Buffer Commands): Minor
	typo and omission fixes `backward-button' and
	`forward-button'.  (Bug#47051)

2021-03-13  Eli Zaretskii  <eliz@gnu.org>

	Teach Rmail about NBSP in "Re:"

	* lisp/mail/rmail.el (rmail-simplified-subject)
	(rmail-reply-regexp): Allow NBSP in "RE:" prefixes.

2021-03-12  Andrea Corallo  <akrl@sdf.org>

	Fix circular dependency when loading a modified comp.el (bug#47049)

	* lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Move it
	before other functional code.

2021-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/keyboard.c (parse_solitary_modifier): Accept `click` modifier

2021-03-12  Yuan Fu  <casouri@gmail.com>

	Fix simple-tests--undo*

	* test/lisp/simple-tests.el (simple-tests--undo-in-region,
	simple-tests--undo-equiv-table): Re-enable in batch mode.
	Enable 'transient-mark-mode' in temp buffer.

2021-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/filesets.el: Address byte-compiler warning

	(filesets-run-cmd): Let-bind `filesets--files`.
	(filesets-cmd-isearch-getargs): Use it.

2021-03-12  Glenn Morris  <rgm@gnu.org>

	* lisp/tooltip.el (tooltip): Restore group that was not "redundant".

2021-03-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	02a5cfce47 (origin/emacs-27) * lisp/mouse.el: Fix mouse-1-clock-follo...
	c881e990e3 * lisp/emacs-lisp/gv.el (edebug-after): Don't run the gett...

2021-03-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	fc83f37951 Fix initialization of 'while-no-input-ignore-events'
	8f603da44c Update documentation of reading passwords

2021-03-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	2c5f215419 Avoid crashes in Mew due to corrupted tool-bar label
	7a23915618 * lisp/tooltip.el (tooltip): Doc fix for GTK.
	c4bbe02cc4 * lisp/help.el (help-for-help-internal): Doc fix; use impe...

	# Conflicts:
	#	lisp/help.el
	#	lisp/tooltip.el

2021-03-12  Glenn Morris  <rgm@gnu.org>

	Skip recent undo tests in batch mode for now

	* test/lisp/simple-tests.el (simple-tests--undo-in-region):
	Split into separate test.  Skip in batch mode for now.
	(simple-tests--undo-equiv-table): Skip in batch mode for now.

2021-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/{*.el,ede/*.el}: Use lexical-binding

	Remove a few redundant `:group` arguments as well.

	* lisp/cedet/ede.el: Use lexical-binding.
	Don't load `ede/files` at compile-time.
	(ede-speedbar): Declare function.
	(ede-load-project-file): Allow `rootreturn` to be a reference rather
	than a symbol.
	(ede-initialize-state-current-buffer): Pass `ROOT` as a reference
	rather than a symbol to `ede-directory-get-open-project` and
	`ede-load-project-file` so we don't need to make it dynamically scoped.
	(ede-flush-deleted-projects): Avoid `add-to-list` on a local var.

	* lisp/cedet/ede/files.el: Use lexical-binding.
	(ede-directory-get-open-project): Allow `rootreturn` to be a reference
	rather than a symbol.
	(ede-project-root-directory): Remove unused var `root`.
	(ede-expand-filename-impl): Remove unused vars `path` and `proj`.

	* lisp/cedet/cedet-idutils.el: Use lexical-binding.
	(cedet-idutils-search): Remove always-nil variable `scopeflags`.

	* lisp/cedet/data-debug.el: Use lexical-binding.
	(data-debug-insert-overlay-button, data-debug-insert-overlay-list-button)
	(data-debug-insert-buffer-button, data-debug-insert-buffer-list-button)
	(data-debug-insert-process-button): Remove always-nil variable `tip`.
	(data-debug-insert-ring-button): Remove unused var `ringthing`.
	(data-debug-insert-widget-properties): Remove unused var `type`.

	* lisp/cedet/semantic.el: Use lexical-binding.
	(semantic-mode): Strength-reduce `eval` to `symbol-value`.

	* lisp/cedet/ede/custom.el: Use lexical-binding.
	(ede-project-sort-targets): Remove unused vars `count`, `current`, and
	`order`.

	* lisp/cedet/ede/pconf.el: Use lexical-binding.
	(ede-proj-configure-synchronize): Remove unused var `add-missing`.

	* lisp/cedet/ede/pmake.el (ede-proj-makefile-garbage-patterns):
	Simplify via η-reduction.
	(ede-proj-makefile-dependencies): Use `seq-some` rather than `eval+or`.

	* lisp/cedet/ede/proj-elisp.el: Use lexical-binding.
	(project-compile-target): Remove unused var `elc`.
	(ede-update-version-in-source): Remove unused var `match`.
	(project-compile-target): Declare function `cedet-update-autoloads`
	from file we don't have.

	* lisp/cedet/cedet-cscope.el: Use lexical-binding.
	* lisp/cedet/cedet-files.el: Use lexical-binding.
	* lisp/cedet/cedet-global.el: Use lexical-binding.
	* lisp/cedet/cedet.el: Use lexical-binding.
	* lisp/cedet/ede/auto.el: Use lexical-binding.
	* lisp/cedet/ede/autoconf-edit.el: Use lexical-binding.
	* lisp/cedet/ede/config.el: Use lexical-binding.
	* lisp/cedet/ede/cpp-root.el: Use lexical-binding.
	* lisp/cedet/ede/detect.el: Use lexical-binding.
	* lisp/cedet/ede/generic.el: Use lexical-binding.
	* lisp/cedet/ede/linux.el: Use lexical-binding.
	* lisp/cedet/ede/locate.el: Use lexical-binding.
	* lisp/cedet/ede/makefile-edit.el: Use lexical-binding.
	* lisp/cedet/ede/proj-info.el: Use lexical-binding.
	* lisp/cedet/ede/proj-obj.el: Use lexical-binding.
	* lisp/cedet/ede/proj-prog.el: Use lexical-binding.
	* lisp/cedet/ede/proj-shared.el: Use lexical-binding.
	* lisp/cedet/ede/proj.el: Use lexical-binding.
	* lisp/cedet/ede/shell.el: Use lexical-binding.
	* lisp/cedet/ede/simple.el: Use lexical-binding.
	* lisp/cedet/ede/source.el: Use lexical-binding.
	* lisp/cedet/ede/speedbar.el: Use lexical-binding.
	* lisp/cedet/ede/util.el: Use lexical-binding.

2021-03-12  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into native-comp

2021-03-12  Michael Albinus  <michael.albinus@gmx.de>

	Tramp sshfs fixes

	* doc/misc/tramp.texi (FUSE setup): Fix typo.

	* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-set-file-modes):
	Use `tramp-compat-set-file-modes'.

	* test/lisp/net/tramp-tests.el
	(tramp-test43-asynchronous-requests): Don't run for tramp-sshfs.

2021-03-12  Andrea Corallo  <akrl@sdf.org>

	Implement `no-native-compile' (bug#46983)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Capture
	`no-native-compile'.
	* lisp/emacs-lisp/comp.el (no-native-compile): Define new
	variable.
	(comp-spill-lap-function): Throw when `no-native-compile' was
	captured non-nil.
	(comp--native-compile): Catch `no-native-compile' if necessary and
	return nil in case.

2021-03-12  Robert Pluim  <rpluim@gmail.com>

	Document how to create a branch for Git/Mercurial

	* doc/emacs/maintaining.texi (Creating Branches): Add instructions
	for git/Mercurial.

2021-03-12  Andrea Corallo  <akrl@sdf.org>

	Fix error reporting for async native compilation (bug#47024)

	* lisp/emacs-lisp/comp.el (comp--native-compile): During async
	compilation if we catch an error print it in a parsable way so we
	can report it to the user.

2021-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Simplify (doh!)

2021-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Tune down the warning

	Don't warn for always-nil bindings if the binding is made explicit.
	Fixes bug#47080.

2021-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Use `macroexp-let2`

	This also silences the recently introduced compilation warning.

2021-03-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename to image--transform-smoothing in image-mode.el

	* lisp/image-mode.el (image--transform-smoothing): Rename from
	image-transform-smoothing.
	(image-transform-properties, image-transform-reset): Adjust usage.

2021-03-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new `image-transform-smoothing' user option

	* doc/lispref/display.texi (Image Descriptors): Document it.
	* lisp/image.el (image-transform-smoothing): New user option.
	(create-image): Use it.
	(image--default-smoothing): New function.

2021-03-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in python-wy.el after lexical rewrite

	* admin/grammars/python.wy: Require semantic/tag.

	In end of data:
	cedet/semantic/wisent/python-wy.el:862:1: Warning: the function
	    `semantic-tag-name' might not be defined at runtime.

2021-03-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Make byte-compiled uses of `define-minor-mode' more compatible

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Be more
	defensive about accessing minor mode variables.

2021-03-11  Yuan Fu  <casouri@gmail.com>

	Map redo records for undo in region to 'undo-in-region

	* lisp/simple.el (undo-equiv-table): Add explanation for
	undo-in-region, undo to the beginning of undo list and null undo.
	(undo): If equiv is 'undo-in-region, empty or t, set pending-undo-list
	to t.  If the redo is undo-in-region, map buffer-undo-list to
	'undo-in-region instead of t, if it is an identity mapping, map to
	'empty.
	(undo-make-selective-list): Only continue when ulist is a proper list.
	* test/lisp/simple-tests.el (simple-tests--undo): Add test for
	undo-only in region.
	(simple-tests--sans-leading-nil): New helper function.
	(simple-tests--undo-equiv-table): New test for 'undo-equiv-table'.

2021-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/: Use lexical-binding

	Remove some redundant `:group` args as well.

	* lisp/mail/supercite.el: Use lexical-binding.
	(completer-disable): Declare var.
	(sc-set-variable): Don't rely on dynbind to access `help` variable.

	* lisp/mail/mail-extr.el: Use lexical-binding.
	(mail-extract-address-components): Avoid use of dynamic scoping to
	refer to local vars.

	* lisp/mail/mailabbrev.el: Use lexical-binding.
	(mail-abbrev-make-syntax-table): Rename `_` variable to `syntax-_`.

	* lisp/mail/mailheader.el: Use lexical-binding.
	(headers): Don't declare as dynbound globally.
	(mail-header-set, mail-header-merge): Declare `headers` as dynbound
	locally, instead.  Mark those functions as obsolete.
	(mail-header-format): Use `alist-get` instead of `mail-header`.

	* lisp/mail/binhex.el (binhex-decode-region-external): Remove always-nil
	var `firstline`.

	* lisp/mail/emacsbug.el: Use lexical-binding.
	(report-emacs-bug): Remove always-nil var `message-end-point`.

	* lisp/mail/rmail-spam-filter.el: Use lexical-binding.
	(bbdb/mail_auto_create_p): Declare variable.

	* lisp/mail/rmail.el (rmail-get-new-mail): Remove always-nil var
	`delete-files`.

	* lisp/mail/rmailout.el: Use lexical-binding.
	(rmail-output-read-file-name): Remove unused var `err`.
	(rmail-convert-to-babyl-format): Remove unused var `count`.
	(rmail-output-as-mbox): Remove unused vars `from` and `date`.

	* lisp/mail/rmailsort.el: Use lexical-binding.
	(rmail-sort-messages): Remove unused var `msginfo`.

	* lisp/mail/rfc822.el: Use lexical-binding.
	* lisp/mail/rmailedit.el: Use lexical-binding.
	* lisp/mail/mailclient.el: Use lexical-binding.
	* lisp/mail/blessmail.el: Use lexical-binding.
	* lisp/mail/mail-hist.el: Use lexical-binding.
	* lisp/mail/rmailkwd.el: Use lexical-binding.
	* lisp/mail/rmailmsc.el: Use lexical-binding.
	* lisp/mail/uce.el: Use lexical-binding.
	* lisp/mail/unrmail.el: Use lexical-binding.

2021-03-11  Juri Linkov  <juri@linkov.net>

	Update docstrings of 'delete'/'remove' to interlink each other (bug#47054)

	* lisp/subr.el (remove): Add xref to 'delete'.
	* src/fns.c (Fdelete): Add xref to 'remove'.

2021-03-11  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar--current-tab-find): New function.

	(tab-bar-close-other-tabs, tab-bar-close-group-tabs): Use it.
	(tab-bar--history-pre-change): Rename from
	'tab-bar-history--pre-change' to follow naming convention.
	(tab-bar-history-mode): Use renamed 'tab-bar--history-pre-change'.

2021-03-11  Paul Eggert  <eggert@cs.ucla.edu>

	On MS-Windows, fflush stderr after newline

	Problem reported by Ioannis Kappas (Bug#46388).
	* src/sysdep.c (errputc) [WINDOWSNT]: Flush stderr after newline.

2021-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/outline.el (outline-font-lock-keywords): Simplify

	The `laxmatch` part of `font-lock-keywords` is just a boolean.

2021-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp: Remove yet more always-nil variables

	* lisp/align.el (align-region):
	Remove always-nil variable `group-c`.
	* lisp/ido.el (ido-make-prompt): Remove always-nil variable `prefix`.

	* lisp/xdg.el (xdg-mime-collect-associations):
	Remove always-nil variable `end`.

	* lisp/calc/calc-yank.el (calc-edit):
	Remove always-nil variable `flag`.

	* lisp/calendar/todo-mode.el (todo-edit-item--header):
	Remove always-nil variable `dayname`.
	(todo-show-categories-table):
	Remove always-nil variable `sortkey`.

	* lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-docstring-engine):
	Remove always-nil variable `err`.

	* lisp/emacs-lisp/tcover-ses.el: Remove always-nil variable `pause`.

	* lisp/eshell/em-ls.el (eshell-ls-files):
	Remove always-nil variable `ignore`.

	* lisp/net/ange-ftp.el (ange-ftp-copy-file-internal): Remove always-nil
	variable `temp2`.

	* lisp/progmodes/cperl-mode.el (cperl-tags-hier-init): Remove
	always-nil variables `l1`, `l2`, `l3`.
	(cperl-tags-treeify): Remove always-nil variable `l1`.

	* lisp/progmodes/ebrowse.el (ebrowse-tags-read-member+class-name):
	Remove always-nil variable `class`.

	* lisp/textmodes/artist.el (artist-draw-ellipse-with-0-height):
	Remove always-nil variable `fill-info`.

	* lisp/textmodes/flyspell.el (flyspell-emacs-popup):
	Remove always-nil variable `show-affix-info`.

	* lisp/textmodes/rst.el (rst-Ado):
	Remove always-nil variable `char`.

	* lisp/vc/vc.el (vc-diff-build-argument-list-internal):
	Remove always-nil variable `rev2-default`.

2021-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet: Remove always-nil variables

	* lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-variables):
	Remove always-nil variable `conf-done`.

	* lisp/cedet/ede/project-am.el: Use ref instead of dynbound var.
	(project-rescan): Pass the ref.
	(project-am-expand-subdirlist): Use it.

	* lisp/cedet/semantic/idle.el (semantic-idle-work-core-handler):
	Fix misuse of the wrong `errbuf `variable.

	* lisp/cedet/semantic/scope.el (semantic-analyze-scoped-type-parts):
	Remove always-nil variable `extmeth`.

	* lisp/cedet/semantic/wisent/comp.el (wisent-context-name)
	(wisent-context-bindings): Make them into functions.
	(wisent-with-context): Use `dlet`.

2021-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emulation/edt.el (edt-with-position): Don't bind `left`

	(edt-find-forward, edt-find-next-forward, edt-sentence-forward)
	(edt-paragraph-forward): Adjust accordingly.

2021-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/pcvs-parse.el: Fix lexical-binding breakage

	(cvs-parse-table, cvs-parse-merge, cvs-parse-status, cvs-parse-commit):
	Declare vars set by `cvs-match` as dynamic.

2021-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/ses.el (ses-set-cell): Use `macroexp-let2`

	(ses--\,@); Rename from `ses--metaprogramming`.

2021-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/obsolete/iswitchb.el: Remove dead code

	(most-len, most-is-exact): Delete vars.
	(iswitchb-output-completion): Delete function.
	(iswitchb-completions): Delete dead code consequence of `most` being nil.

2021-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/org/: Delete some always-nil variables

	* lisp/org/ob-lilypond.el (org-babel-lilypond-compile-lilyfile):
	Remove always-nil variable `arg-2`.

	* lisp/org/ol-gnus.el (org-gnus-store-link):
	Remove always-nil variables `newsgroup` and `xarchive`.

	* lisp/org/ol.el (org-store-link):
	Remove always-nil variable `description`.

	* lisp/org/org-clock.el (org-clock-special-range):
	Remove always-nil variables `m1` and `m`.

	* lisp/org/org-crypt.el (org--matcher-tags-todo-only): Declare var.

	* lisp/org/org-protocol.el (org-protocol-open-source):
	Remove always-nil variable `result`.

	* lisp/org/ox-odt.el (org-odt-format-label):
	Remove always-nil variable `short-caption`.
	(org-odt-link--inline-formula):
	Remove always-nil variables `width` and `height`.

	* lisp/org/ox.el (org-export--missing-definitions):
	Remove always-nil variable `seen`.

2021-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Warn never-initialized vars

	(byte-compile-not-lexical-var-p): Remove Emacs<24 compatibility.

2021-03-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Re-fix previous Info-fontify-node change

	* lisp/info.el (Info-fontify-node): Re-fix previous fix here
	(bug#34661) by fixing an off-by-one error in the `looking-back'.

2021-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mouse.el: Fix mouse-1-clock-follows-mouse = double

	This functionality was broken by commit 3d5e31eceb9dc1fb62b2b2,
	the problem being that we end up considering as distinct the events
	`down-double-mouse-1` and `double-down-mouse-1`.

	Reported by Eyal Soha <eyalsoha@gmail.com>

	(mouse--click-1-maybe-follows-link): Make sure the last element of
	the list passed to `event-convert-list` is indeed a "basic" event.

2021-03-11  Michael Albinus  <michael.albinus@gmx.de>

	Add remote processes to Tramp sshfs method

	* doc/misc/tramp.texi (FUSE setup): Method sshfs supports also
	remote processes.

	* lisp/net/tramp-cache.el (tramp-get-file-property)
	(tramp-set-file-property): Move setting of
	`tramp-cache-unload-hook' out of function.

	* lisp/net/tramp.el (tramp-expand-args): New defun.
	(tramp-handle-make-process):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
	(tramp-maybe-open-connection):
	* lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): Use it.

	* lisp/net/tramp-sshfs.el (tramp-methods) <sshfs>:
	Adapt `tramp-mount-args'.  Add `tramp-login-args',
	`tramp-direct-async', `tramp-remote-shell',
	`tramp-remote-shell-login' and `tramp-remote-shell-args'.
	(tramp-connection-properties): Set "direct-async-process" fir sshfs.
	(tramp-sshfs-file-name-handler-alist): Add `exec-path',
	`make-process', `process-file', `set-file-modes', `shell-command',
	`start-file-process', `tramp-get-remote-gid',
	`tramp-get-remote-uid' and `tramp-set-file-uid-gid'.
	(tramp-sshfs-handle-exec-path, tramp-sshfs-handle-process-file)
	(tramp-sshfs-handle-set-file-modes): New defuns.

	* test/lisp/net/tramp-tests.el (tramp-test20-file-modes)
	(tramp-test28-process-file, tramp-test29-start-file-process)
	(tramp-test30-make-process, tramp-test32-shell-command)
	(tramp-test32-shell-command-dont-erase-buffer)
	(tramp-test34-explicit-shell-file-name, tramp-test35-exec-path)
	(tramp-test43-asynchronous-requests): Run also for tramp-sshfs.
	(tramp--test-shell-file-name): New defun.
	(tramp-test28-process-file)
	(tramp-test34-explicit-shell-file-name)
	(tramp-test43-asynchronous-requests): Use it.
	(tramp-test40-special-characters-with-stat)
	(tramp-test40-special-characters-with-perl)
	(tramp-test40-special-characters-with-ls)
	(tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
	(tramp-test41-utf8-with-ls): Remove superfluous skip.

2021-03-11  Petteri Hintsanen  <petterih@iki.fi>

	Make tags tables from Texinfo sources

	* doc/misc/Makefile.in (ETAGS, texifiles): New variables.
	(TAGS, tags, FORCE, ${ETAGS}): New targets.
	(bootstrap-clean maintainer-clean): Delete TAGS.
	* doc/lispref/Makefile.in (ETAGS, texifiles): New variables.
	(TAGS, tags, FORCE, ${ETAGS}): New targets.
	(bootstrap-clean maintainer-clean): Delete TAGS.
	* doc/lispintro/Makefile.in (ETAGS, texifiles): New variables.
	(TAGS, tags, FORCE, ${ETAGS}): New targets.
	(bootstrap-clean maintainer-clean): Delete TAGS.
	* doc/emacs/Makefile.in (ETAGS, texifiles): New variables.
	(TAGS, tags, FORCE, ${ETAGS}): New targets.
	(bootstrap-clean maintainer-clean): Delete TAGS.
	* Makefile.in (TAGS tags): Make tags in doc/emacs, doc/lispintro,
	doc/lispref and doc/misc.

2021-03-11  Philipp Stephani  <phst@google.com>

	* src/image.c (image_set_transform): Don't use ! for Lisp object.

	* src/image.c (FRAME_SCALE_FACTOR): Define only when needed.

2021-03-11  Eli Zaretskii  <eliz@gnu.org>

	Fix wording of a recently added documentation

	* etc/NEWS:
	* doc/lispref/display.texi (Image Descriptors): Fix wording of the
	description of :transform-smoothing.

2021-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/nnmh.el (nnmh-newsgroup-articles): Declare var

	Reported by Barry Fishman <barry@ecubist.org>.

	Along the way, I checked other variables which are similarly let-bound
	to nil and then read with any intervening assignment, which found
	another similar case of missing `defvar`s plus a bit of dead code.

	* lisp/gnus/gnus-kill.el (gnus-apply-kill-file-internal):
	Remove constant nil var `beg`.
	* lisp/gnus/gnus-search.el (gnus-search-query-parse-kv):
	Remove constant nil var `return`.
	* lisp/gnus/gnus-start.el (gnus-ask-server-for-new-groups):
	Remove constant nil var `group`.
	(gnus-killed-assoc, gnus-marked-assoc, gnus-newsrc-assoc): Declare vars.
	* lisp/gnus/gnus-sum.el (gnus-compute-read-articles):
	Remove constant nil var `first`.
	* lisp/gnus/nnbabyl.el (nnbabyl-request-accept-article):
	Remove constant nil var `beg`.
	* lisp/gnus/nnfolder.el (nnfolder-possibly-change-group):
	Remove constant nil var `inf`.
	* lisp/gnus/nnrss.el (nnrss-request-article):
	Remove constant nil var `err`.

2021-03-10  Alan Third  <alan@idiocy.org>

	Enable selectable image smoothing (bug#38394)

	* lisp/doc-view.el (doc-view-insert-image): Always use smoothing in
	docview.
	* lisp/image-mode.el (image-transform-smoothing): New variable.
	(image-mode-map): Add smoothing binding.
	(image-transform-properties): Apply smoothing when requested.
	(image-transform-set-smoothing): New function.
	(image-transform-reset): Reset smoothing.
	* src/image.c (image_set_transform): Use new :transform-smoothing
	attribute.
	(syms_of_image): Add :transform-smoothing attribute.
	* doc/lispref/display.texi (Image Descriptors): Document new
	:transform-smoothing property.

2021-03-10  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-close-group-tabs): New command.

	(tab-close-group): New alias.
	(tab-bar-close-other-tabs): Rewrite to fix old bug where regardless of
	the returned value from tab-bar-tab-prevent-close-functions,
	only one tab was retained.

2021-03-10  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: 'C-x t G' (tab-group) assigns a group name to the tab.

	* lisp/tab-bar.el (tab-bar--tab, tab-bar--current-tab): Add tab group if any.
	(tab-bar-change-tab-group): New command.
	(display-buffer-in-new-tab): Handle tab-group alist entry.
	(tab-group): New alias.
	(tab-prefix-map): Bind "G" to 'tab-group'.

2021-03-10  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Highlight the entire summary line for selected articles

	* lisp/gnus/gnus-sum.el (gnus-highlight-selected-summary):
	Highlight the entire summary line (bug#47026).

2021-03-10  Stefan Kangas  <stefan@marxist.se>

	Remove Emacs 19 workaround from cperl-mode.el

	* lisp/progmodes/cperl-mode.el (cperl-make-indent): Remove Emacs 19
	workaround.

2021-03-10  Andrea Corallo  <akrl@sdf.org>

	* lisp/loadup.el: Don't load pcase on native builds (bug#47025).

2021-03-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix byte-compilation warning in benchmark-run

	* lisp/emacs-lisp/benchmark.el (benchmark-run): Avoid a
	byte-compilation warning about an empty let body (bug#46819).

2021-03-10  Andrea Corallo  <akrl@sdf.org>

	Fix truncated warnings (bug#47024)

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Bind
	`warning-fill-column' to `most-positive-fixnum'.

2021-03-10  Stefan Kangas  <stefan@marxist.se>

	* lisp/files.el (cd): Improve error message.

2021-03-10  Mattias Engdegård  <mattiase@acm.org>

	Mark string predicates side-effect-free

	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add string>,
	string-greaterp, string-empty-p, string-prefix-p, string-suffix-p
	and string-blank-p, all recently marked pure.

2021-03-10  Stefan Kangas  <stefan@marxist.se>

	Remove several references to Emacs 22 and earlier

	* admin/charsets/mapfiles/README:
	* doc/emacs/custom.texi (Saving Customizations):
	* doc/lispintro/emacs-lisp-intro.texi (Simple Extension):
	* doc/misc/efaq-w32.texi (Location of init file):
	* doc/misc/gnus-faq.texi (FAQ 1-3):
	* doc/misc/gnus.texi (Top, Various, Image Enhancements):
	* lisp/erc/erc-menu.el (menu):
	* lisp/progmodes/cfengine.el (cfengine-fill-paragraph):
	Remove some references to Emacs 22 and earlier.

	* doc/lispref/buffers.texi:
	* doc/lispref/eval.texi:
	* doc/lispref/files.texi:
	* doc/lispref/keymaps.texi:
	* doc/lispref/loading.texi:
	* doc/lispref/minibuf.texi:
	* doc/lispref/positions.texi:
	* doc/lispref/variables.texi: Remove comments about "Emacs 19
	specific" features.

2021-03-10  Stefan Kangas  <stefan@marxist.se>

	Fix duplicate ":" in ert-find-test-other-window prompt

	* lisp/emacs-lisp/ert.el (ert-find-test-other-window): Don't insert
	duplicate ":" in prompt.

2021-03-10  Stefan Kangas  <stefan@marxist.se>

	Do mode tagging in ert.el

2021-03-10  Stefan Kangas  <stefan@marxist.se>

	Use proper command substitutions in some docstrings

	* lisp/arc-mode.el (archive-mode):
	* lisp/ibuffer.el (ibuffer):
	* lisp/tar-mode.el (tar-mode):
	* lisp/textmodes/table.el (table-insert): Use substitute-command-keys
	instead of hardcoded keys in some docstrings.

2021-03-10  Stefan Kangas  <stefan@marxist.se>

	* lisp/userlock.el: Use lexical-binding.

2021-03-10  Stefan Kangas  <stefan@marxist.se>

	Use 'help-key-binding' face in userlock.el

	* lisp/userlock.el (userlock--fontify-key): New function.
	(ask-user-about-lock, ask-user-about-lock-help,
	(ask-user-about-supersession-threat)
	(ask-user-about-supersession-help): Add face 'help-key-binding' to
	displayed keys.

2021-03-10  Dmitry Gutov  <dgutov@yandex.ru>

	(project-switch-commands): Remove the ###autoload instruction

	* lisp/progmodes/project.el (project-switch-commands):
	Remove the ###autoload instruction.  It's unnecessary and can
	cause surprises in some circumstances (bug#46986).

2021-03-10  Stefan Kangas  <stefan@marxist.se>

	* lisp/help.el (help--describe-translation): Fix typo.

2021-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/rmailmm.el: Use `cl-defstruct` and `lexical-binding`

	Remove redundant `:group` args.
	(rmail-mime-entity): Make it a `cl-defstruct`.
	(rmail-mime-entity-set-truncated): Mark as obsolete.
	(rmail-mime-display): New `cl-defstruct`.
	(rmail-mime-shown-mode, rmail-mime-hidden-mode, rmail-mime-raw-mode)
	(rmail-mime-toggle-hidden, rmail-mime-update-tagline)
	(rmail-mime-text-handler, rmail-mime-bulk-handler)
	(rmail-mime-process-multipart, rmail-mime-handle, rmail-mime-process)
	(rmail-mime-parse, rmail-mime-insert, rmail-show-mime): Adjust accordingly.
	(rmail-mime-toggle-raw): Apply de Morgan.
	(rmail-mime-insert-text): Remove unused var `tagline`.
	(rmail-mime-insert-image): Remove unused var `content-type`.
	(shr-inhibit-images, shr-width): Declare vars.
	(rmail-mime-insert-multipart): Remove unused vars `tagline` and `body`.
	(rmail-mime-insert): Remove unused var `tagline`.
	(rmail-search-mime-message): Remove unused var `body-end`.

2021-03-09  Paul Eggert  <eggert@cs.ucla.edu>

	Port alternate signal stack to upcoming glibc 2.34

	* src/sysdep.c (sigsegv_stack): Increase size to 64 KiB and align
	it to max_align_t.  This copies from Gnulib’s c-stack.c, and works
	around a portability bug in draft glibc 2.34, which no longer
	defines SIGSTKSZ when _GNU_SOURCE is defined.

2021-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/buffer.c (Fbuffer_swap_text): Swap `mark-active` as well

	This avoids undesirable situations where `mark-active` is set even
	though the `mark` isn't.

2021-03-09  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-select-tab): Set window-state-put WINDOW arg to nil

	WINDOW arg nil will always create a new window regardless of the value
	returned by 'frame-root-window' that is nondeterministic - it returns
	an internal window when there are more than 1 window on the frame/tab,
	otherwise it returns a live window that was reused between different tabs
	(bug#46904)
	(tab-prefix-map): Bind "u" to 'tab-undo'.

2021-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cconv.el: Don't confuse a string for a docstring

	(cconv--convert-funcbody): Check there's something after a docstring.

	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-string-vs-docstring):
	New corresponding test.

2021-03-09  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (ABI_VERSION): Bump following-up 380ba045c4.

	* test/src/comp-resources/comp-test-funcs.el
	(comp-test-46670-1-f): Remove a warning.

	Merge commit '9cbdf20316' into native-comp

2021-03-09  Pip Cet  <pipcet@gmail.com>

	* Fix comp unit type decl in eln files to fix GC crash (bug#46256)

	* src/comp.c (emit_ctxt_code): Allocate comp_unit as a Lisp_Object,
	not a pointer to pointer to Lisp_Object.

2021-03-09  Pip Cet  <pipcet@gmail.com>

	Zero stale pointer when unloading comp units (bug#46256)

	* src/alloc.c (cleanup_vector): Call unload_comp_unit.
	* src/comp.c (unload_comp_unit): New function.

2021-03-09  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	smerge-vc-next-conflict: Move to conflict markers more reliably

	* lisp/vc/smerge-mode.el (smerge-vc-next-conflict): Search for a
	conflict marker if call to (vc-find-conflicted-file) haven't resulted in
	a jump to one.  And remove `buffer` variable that becomes unused.

2021-03-09  Dmitry Gutov  <dgutov@yandex.ru>

	Strip text properties from the default string

	* lisp/progmodes/project.el (project--read-regexp):
	Strip text properties from the default string (bug#47012).

2021-03-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make semantic/idle not move point after last change

	* lisp/cedet/semantic/idle.el (semantic--eldoc-info): Don't move
	point (bug#46999).

2021-03-08  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/xref.el (xref-after-update-hook): New defcustom (bug#46992).

	(xref--insert-xrefs): Use run-hooks on it.

2021-03-08  Juri Linkov  <juri@linkov.net>

	* lisp/faces.el (help-argument-name): Use grey background, not foreground

	https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00402.html

2021-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/*.el: Use lexical-binding

	Also remove some redundant `:group` arguments.

	* lisp/net/eudc-export.el: Use lexical-binding.
	(eudc-create-bbdb-record): Use `cl-progv` and `apply` to avoid `eval`.

	* lisp/net/eudc-hotlist.el: Use lexical-binding.

	* lisp/net/eudc.el (eudc-print-attribute-value): Use `funcall` to avoid
	`eval`.

	* lisp/net/eudcb-bbdb.el: Use lexical-binding.
	(eudc-bbdb-filter-non-matching-record): Use `funcall` to avoid `eval`.
	Move `bbdb-val` binding to avoid `setq`.
	Use `seq-some` instead of `eval+or`.
	(eudc-bbdb-format-record-as-result): Use `dolist` and `pcase`.
	Use `funcall` to avoid `eval`.
	(eudc-bbdb-query-internal): Simplify a bit.

	* lisp/net/eudcb-ldap.el: Use lexical-binding.
	(eudc-ldap-get-host-parameter): Use `defalias` to avoid `eval-and-compile`.

	* lisp/net/telnet.el: Use lexical-binding.
	* lisp/net/quickurl.el: Use lexical-binding.
	* lisp/net/newst-ticker.el: Use lexical-binding.
	* lisp/net/newst-reader.el: Use lexical-binding.
	* lisp/net/goto-addr.el: Use lexical-binding.
	* lisp/net/gnutls.el: Use lexical-binding.
	* lisp/net/eudcb-macos-contacts.el: Use lexical-binding.
	* lisp/net/eudcb-mab.el: Use lexical-binding.

	* lisp/net/net-utils.el: Use lexical-binding.
	(finger): Remove unused var `found`.

	* lisp/net/network-stream.el (open-protocol-stream): Remove redundant
	`defalias`.

	* lisp/net/newst-plainview.el: Use lexical-binding.
	(newsticker-hide-entry, newsticker-show-entry): Remove unused var
	`is-invisible`.
	(w3m-fill-column, w3-maximum-line-length): Declare vars.

	* lisp/net/tramp.el (tramp-compute-multi-hops):
	* lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory):
	* lisp/net/tramp-cmds.el (tramp-default-rename-file):
	* lisp/net/webjump.el (webjump): Don't forget lexical-binding for `eval`.

2021-03-08  Michael Albinus  <michael.albinus@gmx.de>

	Fix handling of `tramp-cache-{g,s}et-count-*'

	* lisp/net/tramp-cache.el (tramp-get-file-property)
	(tramp-set-file-property): Fix handling of `tramp-cache-{g,s}et-count-*'.

2021-03-08  Philipp Stephani  <phst@google.com>

	Fix structure of condition object in nested 'ert-fail'.

	See the test 'ert-test-fail' for the expected structure.

	* lisp/emacs-lisp/ert.el (ert--should-signal-hook): Condition list
	should be (SYMBOL . DATA), not (SYMBOL DATA).
	* test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): Fix
	unit test.

2021-03-08  Simen Heggestøyl  <simenheg@gmail.com>

	Use `pop-to-buffer-same-window' in `project-eshell'

	* lisp/progmodes/project.el (project-eshell): Use
	`pop-to-buffer-same-window' instead of `pop-to-buffer' to match the
	behavior of `M-x eshell'.

2021-03-08  Mauro Aranda  <maurooaranda@gmail.com>

	Make checkdoc--next-docstring use the doc-string-elt property

	This follows from a fix for Bug#46918 and a discussion to use
	doc-string-elt:
	https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00232.html

	* lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Check for a
	non-nil doc-string-elt property, instead of hard-coding the
	supported symbols.  Use that property to position point at the
	doc-string.

2021-03-08  Michael Albinus  <michael.albinus@gmx.de>

	Add Tramp sshfs method

	* doc/misc/tramp.texi (Top, Configuration): Insert sections 'FUSE-based
	methods' and 'FUSE setup' in menu.
	(Quick Start Guide): Fix @anchors.  Add doas.  Extend section
	'Using @command{rclone}' to 'Using @acronym{FUSE}-based methods'.
	(External methods): Remove rclone paragraph.
	(FUSE-based methods, FUSE setup): New nodes.
	(Predefined connection information): Mention "mount-point".

	* etc/NEWS: Mention Tramp sshfs method.
	Fix typos and other oddities.

	* lisp/net/tramp-fuse.el: New file.

	* lisp/net/tramp-rclone.el (tramp-fuse): Require.
	(tramp-rclone-file-name-handler-alist): Replace `tramp-rclone-handle-*'
	by `tramp-fuse-handle-*' where appropriate.
	(tramp-rclone-handle-delete-directory)
	(tramp-rclone-handle-delete-file)
	(tramp-rclone-handle-directory-files)
	(tramp-rclone-handle-file-attributes)
	(tramp-rclone-handle-file-executable-p)
	(tramp-rclone-handle-file-name-all-completions)
	(tramp-rclone-handle-file-readable-p)
	(tramp-rclone-handle-insert-directory)
	(tramp-rclone-handle-insert-file-contents)
	(tramp-rclone-handle-make-directory, tramp-rclone-mount-point)
	(tramp-rclone-mounted-p, tramp-rclone-local-file-name):
	Remove.  Functionality moved to tramp-fuse.el.
	(tramp-rclone-remote-file-name)
	(tramp-rclone-maybe-open-connection): Use `tramp-fuse-*' functions.

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
	Simplify check.

	* lisp/net/tramp-sshfs.el: New file.

	* lisp/net/tramp.el: Remove TODO item.

	* test/lisp/net/tramp-tests.el (tramp--test-sshfs-p): New defun.
	(tramp-test14-delete-directory): Use it.

2021-03-08  Stefan Kangas  <stefan@marxist.se>

	Delete two more items obsoleted in Emacs 23.1

	* lisp/calendar/icalendar.el
	(icalendar--datetime-to-noneuropean-date): Remove alias obsolete since
	* lisp/obsolete/nnir.el (nnir-swish-e-index-file):
	Delete items obsolete since Emacs 23.1.

2021-03-08  Stefan Kangas  <stefan@marxist.se>

	Normalize version specifiers for make-obsolete and friends

	* lisp/auth-source.el (auth-source-forget-user-or-password)
	(auth-source-user-or-password, auth-source-hide-passwords):
	* lisp/calendar/icalendar.el (icalendar--datetime-to-noneuropean-date):
	* lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym-function-arglist):
	* lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
	* lisp/obsolete/nnir.el (nnir-swish-e-index-file):
	* lisp/obsolete/starttls.el (starttls-any-program-available):
	Normalize version specifiers for make-obsolete and friends.

2021-03-08  Stefan Kangas  <stefan@marxist.se>

	* lisp/help-mode.el (help-mode-tool-bar-map): Fix tooltips.

2021-03-08  Stefan Kangas  <stefan@marxist.se>

	Add new face 'help-key-binding' for keybindings in help

	* lisp/faces.el (help-key-binding): New face.
	* lisp/help.el
	(help-for-help): Rename from 'help-for-help-internal'.  Use
	'substitute-command-keys' syntax.
	(help): Make into alias for 'help-for-help'.
	(help-for-help-internal): Make into obsolete alias for
	'help-for-help'.
	(help--key-description-fontified): New function to add the
	'help-key-binding' face.
	(help-key-description, substitute-command-keys)
	(describe-map-tree, help--describe-command)
	(help--describe-translation, describe-map):
	* lisp/help-fns.el (help-fns--key-bindings, describe-mode):
	Use above new function.
	* lisp/isearch.el (isearch-help-for-help-internal): Use
	`substitute-command-keys' syntax.
	* lisp/help-macro.el (make-help-screen): Use
	'substitute-command-keys' and 'help--key-description-fontified'.
	Simplify.
	* src/keymap.c (describe_key_maybe_fontify): New function to add
	the 'help-key-binding' face to keybindings.
	(describe_vector): Use above new keybinding.
	(syms_of_keymap) <Qfont_lock_face, Qhelp_key_binding>: New
	DEFSYMs.
	(fontify_key_properties): New static variable.
	* lisp/tooltip.el (tooltip-show): Avoid overriding faces in
	specified tooltip text.
	* test/lisp/help-tests.el (with-substitute-command-keys-test):
	Don't test for text properties.
	(help-tests-substitute-command-keys/add-key-face)
	(help-tests-substitute-command-keys/add-key-face-listing):
	New tests.

2021-03-08  Dmitry Gutov  <dgutov@yandex.ru>

	Speed up xref rendering for matches on very long lines

	* lisp/progmodes/xref.el (xref--insert-xrefs): Cut up the current
	line into pieces here for multiple matches's summaries, so that
	xref--insert-xrefs can do less work (bug#46859).
	(xref--insert-xrefs): Do less work.
	(xref--outdated-p):
	Update accordingly to how the summary creation logic changed.
	(xref--buf-pairs-iterator): Update to the new calling convention.
	(xref-location-column): Effectively rename back to
	xref-file-location-column since the generic version is now unused.

	* test/lisp/progmodes/xref-tests.el
	(xref-matches-in-directory-finds-two-matches-on-the-same-line)
	(xref-matches-in-directory-finds-an-empty-line-regexp-match):
	Adjust to the xref-location-column change.
	(xref-matches-in-files-trims-summary-for-matches-on-same-line):
	New test.

	* test/lisp/progmodes/xref-resources/file1.txt:
	Change contents slightly to test the new xref--outdated-p code.

2021-03-08  Dmitry Gutov  <dgutov@yandex.ru>

	Xref test improvements

	* test/lisp/progmodes/xref-tests.el
	(xref--xref-file-name-display-is-abs):
	Fix not to rely on the default value.
	(xref-matches-in-files-includes-matches-from-all-the-files):
	New test.

2021-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/tramp-cache.el: Fix misuse of bound-and-true-p

	(tramp-get-file-property, tramp-set-file-property): Check the var's
	value rather than its name.

2021-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/ange-ftp.el: Fix problem pointed out by compiler warning

	(ange-ftp-fix-name-for-bs2000): Remove redundant `boundp` test.

2021-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/erc/erc.el: Fix problem pointed out by compiler warning

	[ Also use `read-string` instead of `read-from-minibuffer`.  ]

	(erc-part-from-channel): Comment out improbable
	reference to the formal argument from within the interactive spec.

2021-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/fw.el (semantic-find-file-noselect): Fix warning

	Remove ugly hack trying to warn the user about some unknown problem,
	and which stopped working in 2013 when files.el started using
	lexical-binding.

2021-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/skeleton.el (skeleton-read): Silence compiler warning

2021-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/bovine.el: Fix recent regression

	The conversion to `lexical-binding` introduced a regression because
	`bovine/c.el` relied on inspecting the local variable `lse` in one of
	its callers.

	(semantic-bovinate-stream): Bind `lse` dynamically, because of
	`semantic-parse-region-c-mode`.
	(semantic-bovinate-nonterminal-check-map): Rename from
	`semantic-bovinate-nonterminal-check-obarray` to hold some other kind
	of table.
	(semantic-bovinate-nonterminal-check): Use a hash-table instead of an obarray.

	* lisp/cedet/semantic/bovine/c.el (semantic-parse-region-c-mode):
	Declare use of `lse` via dynamic scoping.

	* test/lisp/cedet/semantic-utest-c.el
	(semantic-test-c-preprocessor-simulation): Re-enable test.

2021-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bytecomp.el: Warn about unprefixed vars in `boundp`

	(byte-compile--check-prefixed-var): New fun,
	extracted from `byte-compile--declare-var`.
	(byte-compile--declare-var): Use it.
	(byte-compile-maybe-guarded): Use it as well.

2021-03-07  Andrea Corallo  <akrl@sdf.org>

	Handle `comp-native-driver-options' both as file-local both as global

	* src/comp.c (add_driver_options): Throw an error if
	`comp-native-driver-options' is set globally but
	'gcc_jit_context_add_driver_option' is not available, ignore for
	the file-local case.

2021-03-07  Andrea Corallo  <akrl@sdf.org>

	Use `length=' and family where possible in native comp code

	* lisp/emacs-lisp/comp-cstr.el (comp-intersect-typesets)
	(comp-cstr-imm): Use `length=' and family where possible.
	* lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-target-block)
	(comp-compute-dominator-frontiers)
	(batch-byte-native-compile-for-bootstrap): Likewise.

2021-03-07  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (w32-get-nproc): Suppress warning declaring it.

	For non Windows system.

2021-03-07  Andrea Corallo  <akrl@sdf.org>

	Allow for `comp-native-driver-options' to work as a file-local variable.

2021-03-07  Juri Linkov  <juri@linkov.net>

	Remove outline-cycle-minor-mode and outline-cycle-highlight-minor-mode

	* lisp/outline.el (outline-font-lock-keywords): Use OVERRIDE or
	LAXMATCH depending on outline-minor-mode-highlight in outline-minor-mode.
	(outline-minor-mode-cycle, outline-minor-mode-highlight): Promote
	defvar to defcustom.
	(outline-minor-mode-highlight-buffer): Don't override existing faces.
	(outline-cycle-minor-mode, outline-cycle-highlight-minor-mode):
	Remove minor modes.

	* etc/compilation.txt:
	* etc/grep.txt: Enable outline-minor-mode-cycle and
	outline-minor-mode-highlight with outline-minor-mode.
	https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00144.html

2021-03-07  Andrea Corallo  <akrl@sdf.org>

	Work around GCC PR99126 on all libgccjit < 11

	* src/comp.c (Fcomp__compile_ctxt_to_file): Work around GCC
	PR99126 on all libgccjit < 11.

2021-03-07  Michael Albinus  <michael.albinus@gmx.de>

	* test/infra/Dockerfile.emba: Install texinfo.

2021-03-07  Glenn Morris  <rgm@gnu.org>

	Tag a semantic test that seems to hang recently

	* test/lisp/cedet/semantic-utest-c.el
	(semantic-test-c-preprocessor-simulation): Mark as unstable.

2021-03-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix string-replace error data

	* lisp/subr.el (string-replace): Signal an error with data that is a
	list, and whose contents are consistent with other uses of
	wrong-length-argument.
	* test/lisp/subr-tests.el (string-replace): Test for this.
	(subr-test-define-prefix-command): Pacify byte-compiler warnings.

2021-03-07  Eli Zaretskii  <eliz@gnu.org>

	Avoid aborts in native-comp subprocesses when exiting Emacs on Windows

	* src/w32.c (shutdown_handler): Clear the message stack when being
	shut down in noninteractive mode, to avoid aborting in
	shut_down_emacs when a native-compilation subprocess is killed
	because the parent Emacs exits.

2021-03-07  Eli Zaretskii  <eliz@gnu.org>

	Fix encoding of file names in comp.c

	* src/comp.c (Fcomp__compile_ctxt_to_file) [WINDOWSNT]: Fix
	encoding of file names passed to libgccjit.

2021-03-07  Eli Zaretskii  <eliz@gnu.org>

	Use MS-Windows system APIs to get number of processors

	* lisp/emacs-lisp/comp.el: Use 'w32-get-nproc' instead of the
	environment variable NUMBER_OF_PROCESSORS.

	* src/w32proc.c (Fw32_get_nproc): New primitive.
	* src/w32.c (w32_get_nproc): New function.
	(sample_system_load): Call w32_get_nproc to initialize the number
	of processors on this system.
	* src/w32.h (w32_get_nproc): Add prototype.

2021-03-07  Eli Zaretskii  <eliz@gnu.org>

	Fix libgccjit PROGNAME on MS-Windows

	* src/comp.c [WINDOWSNT]: Import gcc_jit_context_set_str_option.
	(init_gccjit_functions): Load gcc_jit_context_set_str_option.
	(gcc_jit_context_set_str_option) [WINDOWSNT]: New macro.
	(Fcomp__compile_ctxt_to_file) [WINDOWSNT]: Pass the actual name of
	the libgccjit DLL to the library, to be used as PROGNAME.

2021-03-07  Michael Albinus  <michael.albinus@gmx.de>

	* test/infra/Dockerfile.emba: Touch "info/emacs".

2021-03-07  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Dockerfile.emba according to recent configure changes

	* test/infra/Dockerfile.emba: Remove "--without-makeinfo" from
	configure.  Add "lisp" to make.

2021-03-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/wisent: Use lexical-binding

	* lisp/cedet/semantic/wisent/comp.el: lexical-binding.
	(wisent-defcontext): Make sure the vars are also dynbound in the files
	that `require` us.
	(wisent-state-actions, wisent-automaton-lisp-form): Use `obarray-make`.
	(wisent--compile-grammar): Rename from `wisent-compile-grammar`.
	(wisent-compile-grammar): Redefine as an obsolete function.
	(wisent-automaton-lisp-form): Avoid variable `state`.

	* lisp/cedet/semantic/grammar.el: Use lexical-binding.
	(semantic-grammar-require-form): New var.
	(semantic-grammar-header): Use it to provide new element `require-form`.
	(semantic-grammar-header-template): Use it.

	* lisp/cedet/semantic/wisent.el (wisent-compiled-grammar): New macro.

	* lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-parsetable-builder):
	Use it in the generated code instead of the `wisent-compile-grammar` function.
	(wisent-grammar-mode): Set `semantic-grammar-require-form` so
	the generated ELisp files require `semantic/wisent` rather than
	`semantic/bovine`.

	* lisp/cedet/semantic/wisent/wisent.el: Use lexical-binding.
	* lisp/cedet/semantic/wisent/java-tags.el: Use lexical-binding.
	* lisp/cedet/semantic/wisent/python.el: Use lexical-binding.
	* lisp/cedet/semantic/wisent/javascript.el: Use lexical-binding.
	(semantic-ctxt-current-symbol): Remove unused var `symlist`.

	* admin/grammars/python.wy (wisent-python-EXPANDING-block):
	Declare dynbound var.

	* lisp/cedet/semantic/grammar-wy.el: Regenerate.

2021-03-07  Stefan Kangas  <stefan@marxist.se>

	Remove additional items obsolete since Emacs 22/23

	* lisp/speedbar.el (speedbar-update-speed)
	(speedbar-navigating-speed): Remove variables obsolete since Emacs 23.
	(speedbar-dir-follow, speedbar-directory-buttons-follow): Don't use
	above removed variables.

	* lisp/erc/erc.el (erc-announced-server-name, erc-process)
	(erc-default-coding-system, erc-send-command): Remove variables and
	functions obsolete since Emacs 22.

2021-03-07  Stefan Kangas  <stefan@marxist.se>

	Remove some items obsolete since Emacs 22/23 from Gnus

	* lisp/gnus/gnus-art.el (gnus-article-hide-pgp-hook)
	(gnus-treat-strip-pgp, gnus-treat-display-xface):
	* lisp/gnus/gnus-msg.el (gnus-inews-mark-gcc-as-read):
	* lisp/gnus/gnus-start.el (nnmail-spool-file):
	* lisp/gnus/nnmail.el (nnmail-spool-file)
	(nnmail-fix-eudora-headers): Remove items obsolete since 22.1.
	* lisp/gnus/gnus-art.el (gnus-treat-display-x-face):
	* lisp/gnus/gnus-msg.el (gnus-inews-do-gcc): Don't use above obsolete symbols.
	* doc/misc/gnus.texi (Washing Mail, Not Reading Mail): Don't refer to
	above obsolete variables.

	* lisp/gnus/gnus.el (gnus-local-domain, gnus-carpal):
	* lisp/gnus/nnimap.el (nnimap-split-rule):
	* lisp/gnus/nntp.el (nntp-authinfo-file): Fix obsolete variable
	version format.

2021-03-07  Stefan Kangas  <stefan@marxist.se>

	Remove some references to Emacs 21

	* lisp/erc/erc-track.el (erc-track-position-in-mode-line):
	* lisp/erc/erc.el (erc-header-line-format):
	* lisp/ibuffer.el (ibuffer-mode):
	* lisp/ruler-mode.el: Remove some references to Emacs 21.

2021-03-07  Stefan Kangas  <stefan@marxist.se>

	* lisp/mouse-drag.el: Use lexical-binding.

	* lisp/mouse-copy.el: Use lexical-binding.

2021-03-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/bovine/*.el: Use lexical-binding

	* lisp/cedet/semantic/bovine/c.el: Use lexical-binding.
	(semantic-lex-cpp-define): Remove unused var `name`.
	(semantic-c-do-lex-if): Remove unused var `pt`.
	(semantic-analyze-tag-references): Remove unused var `refs`.
	(semantic-c-dereference-namespace): Remove unused vars `tmp` and
	`usingname`.
	(semantic-c-dereference-namespace-alias): Remove unused var `newtype`.
	(semantic-c-check-type-namespace-using): Remove unused vars `tmp` and
	`shortname`.
	(semanticdb-find-table-for-include): Remove unused var `prefix`.
	(semantic-default-c-setup, semantic-c-describe-environment):
	Use `derived-mode-p`.

	* lisp/cedet/semantic/bovine/debug.el: Use lexical-binding.

	* lisp/cedet/semantic/bovine/make.el: Use lexical-binding.

	* lisp/cedet/semantic/bovine/scm.el: Use lexical-binding.

	* lisp/cedet/semantic/lex.el (define-lex-analyzer): Define the var (and
	the function) in a single step.

2021-03-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/obsolete/inversion.el: Use lexical-binding

2021-03-07  Glenn Morris  <rgm@gnu.org>

	* admin/admin.el (make-manuals-dist-output-variables): Update.

2021-03-07  Glenn Morris  <rgm@gnu.org>

	Simplify silent-rules build machinery

	* src/verbose.mk.in: New file.
	* configure.ac (AM_V, AM_DEFAULT_V): Remove output variables.
	(src/verbose.mk): New output file.
	* Makefile.in, admin/charsets/Makefile.in:
	* admin/grammars/Makefile.in, admin/unidata/Makefile.in:
	* doc/emacs/Makefile.in, doc/lispintro/Makefile.in:
	* doc/lispref/Makefile.in, doc/misc/Makefile.in, leim/Makefile.in:
	* lib-src/Makefile.in, lib/Makefile.in, lisp/Makefile.in:
	* lwlib/Makefile.in, nt/Makefile.in, oldXMenu/Makefile.in:
	* src/Makefile.in, src/verbose.mk.in, test/Makefile.in:
	Include src/verbose.mk rather than repeatedly defining AM_V_at etc.

2021-03-06  Andrea Corallo  <akrl@sdf.org>

	Fix `comp-cstr-intersection-no-hashcons' for negated result cstr

	* lisp/emacs-lisp/comp-cstr.el
	(comp-cstr-intersection-no-hashcons): When negated and
	necessary relax dst to t.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.

2021-03-06  Pip Cet  <pipcet@gmail.com>

	Fix miscompilation of funcall forms in some cases (bug#46974)

	* lisp/emacs-lisp/comp.el (comp-call-optim-func): Call
	comp-cstr-imm-vld-p before relying on comp-cstr-imm to return the
	right value.

2021-03-06  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-simple): Suppress warning.

2021-03-06  Andrea Corallo  <akrl@sdf.org>

	Fix `=' propagation to handle -0.0 0.0 case

	* lisp/emacs-lisp/comp-cstr.el
	(comp-cstr-intersection-homogeneous): Fix indent + use `memql'.
	(comp-cstr-=): Handle 0.0 -0.0 idiosyncrasy
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add two
	tests and fix enumeration.

2021-03-06  Glenn Morris  <rgm@gnu.org>

	* src/Makefile.in (base_obj): Remove GMP_OBJ, undefined since 202007.

2021-03-06  Glenn Morris  <rgm@gnu.org>

	Don't pass implicit flags to sub-makes

	* Makefile.in (info_misc, uninstall, texi_misc):
	Don't pass any implicit make flags to sub-makes.
	Ref https://lists.gnu.org/r/help-make/2021-03/msg00007.html

2021-03-06  Glenn Morris  <rgm@gnu.org>

	Remove the --without-makeinfo configure option (bug#46837)

	* configure.ac (--without-makeinfo): Remove option.
	(HAVE_MAKEINFO): Remove output variable.

	* Makefile.in (HAVE_MAKEINFO): Remove.
	(info_misc): Remove HAVE_MAKEINFO check.
	(info-real): Remove target.
	(info): Simplify.

2021-03-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/srecode/compile.el: Fix last change

	(srecode-compile-inserter): Call `make-instance` properly.

2021-03-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Speed up json.el encoding

	This replaces most json-encode-* functions with similar
	json--print-* counterparts that insert into the current buffer
	instead of returning a string (bug#46761).

	Some unused but useful json-encode-* functions are kept for backward
	compatibility and as a public API, and the rest are deprecated.

	* etc/NEWS: Announce obsoletions.

	* lisp/json.el: Document organization of library.  Make subsection
	headings more consistent.
	(json--encoding-current-indentation): Rename...
	(json--print-indentation-prefix): ...to this, to reflect new use.
	(json--encode-stringlike, json--encode-alist): Rename...
	(json--print-stringlike, json--print-alist): ...to these,
	respectively, and encode argument into current buffer instead.  All
	callers changed.

	(json--print-string, json--print-unordered-map, json--print-array)
	(json--print): New functions.
	(json-encode-string, json-encode-plist, json-encode-array)
	(json-encode): Use them, respectively.

	(json-encode-number, json-encode-hash-table): Mark as obsolete
	aliases of json-encode.
	(json-encode-key, json-encode-list): Mark as obsolete in preference
	for json-encode.

	(json--print-indentation-depth, json--print-keyval-separator): New
	variables.
	(json--with-output-to-string): New macro.
	(json--print-indentation, json--print-keyword, json--print-key)
	(json--print-pair, json--print-map, json--print-list): New
	functions.

	(json--with-indentation): Use json--print-indentation-depth to avoid
	unnecessary string allocation.
	(json-encoding-default-indentation, json-pretty-print-max-secs):
	Clarify docstrings.
	(json--escape, json--long-string-threshold, json--string-buffer):
	Remove; no longer used.

	* lisp/progmodes/js.el (js--js-encode-value): Replace
	json-encode-string and json-encode-number with json-encode.
	(js-eval-defun): Use json--print-list to avoid
	json-encode-list->insert roundtrip.

	* test/lisp/json-tests.el (test-json-encode-number)
	(test-json-encode-hash-table, test-json-encode-hash-table-pretty)
	(test-json-encode-hash-table-lisp-style)
	(test-json-encode-hash-table-sort,  test-json-encode-list):  Replace
	uses of obsolete functions with the equivalent use of json-encode.
	(test-json-encode-key): Suppress obsoletion warnings.
	(test-json-encode-string): Check that text properties are stripped.

2021-03-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bindat.el (bindat-struct): Fix Edebug def

2021-03-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emulation/: Use lexical-binding

	* lisp/emulation/cua-base.el: Use lexical-binding.
	Remove redundant `:group` arguments.
	(cua-mode): Don't use `:require` since the autoload on `define-minor-mode`
	takes care of loading the mode when custom-setting it.

	* lisp/emulation/cua-gmrk.el: Use lexical-binding.
	(cua--copy-rectangle-to-global-mark): Remove unused var `src-buf`.

	* lisp/emulation/edt-mapper.el: Use lexical-binding.

	* lisp/emulation/edt.el: Use lexical-binding.
	Remove redundant `:group` arguments.
	(edt-with-position): Allow `top`, `left`, and `far` to be left unused
	in `body`.

	* lisp/emulation/keypad.el: Use lexical-binding.

	* lisp/emulation/viper-cmd.el: Move `provide` to the end.
	(viper-read-string-with-history): Strength reduce `eval` to `symbol-value`.

	* lisp/emulation/viper-ex.el: Use lexical-binding.
	Remove redundant `:group` arguments.
	Move `provide` to the end.

	* lisp/emulation/viper-init.el: Use lexical-binding.

	* lisp/emulation/viper-keym.el (viper-toggle-key): Use `dolist`.
	(viper-insert-diehard-map): Use `string`.
	(viper-modify-major-mode): Use `alist-get` and `setf`.

	* lisp/emulation/viper-macs.el (viper-ex-work-buf):
	Move `provide` to the end.
	(viper-record-kbd-macro): Strength reduce `eval` to `symbol-value`.
	(viper-describe-kbd-macros): Return value is not significant.
	(viper-keyseq-is-a-possible-macro): Use `seq-some`.
	(viper-common-seq-prefix): Use `seq-every-p`.

	* lisp/emulation/viper-mous.el: Use lexical-binding.
	Remove redundant `:group` arguments.
	Move `provide` to the end.
	(viper-remember-current-frame): Accept arbitrary ignored args.
	(viper-parse-mouse-key): Strength reduce `eval` to `symbol-value`.
	Remove unused var `key-spec`.
	(viper-bind-mouse-search-key, viper-bind-mouse-insert-key):
	Apply de Morgan.

	* lisp/emulation/viper-util.el: Move `provide` to the end.
	(viper-move-marker-locally, viper-push-onto-ring, viper-save-setting):
	Strength reduce `eval` to `symbol-value`.
	(viper-event-vector-p, viper-char-symbol-sequence-p, viper-char-array-p):
	Use `seq-every-p`.

	* lisp/emulation/viper.el (viper-non-hook-settings): Eta-reduce use of
	`viper-remember-current-frame`.

2021-03-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Various map.el improvements

	* lisp/emacs-lisp/seq.el (seq-do-indexed): Return nil as per doc.

	* lisp/emacs-lisp/map.el: Require Emacs >= 26 due to dependence on
	5-arg alist-get.  Bump package to version 3.0.  Fix other
	headers.  (Bug#46754)
	(map--plist-p): Detect list starting with nil as plist, not alist.
	(map-elt, map-filter, map-apply, map--make-pcase-bindings)
	(map--make-pcase-patterns): Simplify.
	(map-let, map-put, map-nested-elt, mapp): Update docstring for plist
	support.
	(map-delete): Fix OBOE on arrays.  Split into cl-defmethods.
	(map-values, map-values-apply): Specialize for arrays.
	(map-pairs, map-keys-apply, map-put!): Improve docstring.
	(map-length): Clarify docstring w.r.t. duplicate keys.  Split into
	cl-defmethods.  Optimize default implementation.
	(map-copy): Use copy-alist on alists.  Split into cl-defmethods.
	(map-contains-key): Add plist support.  Clarify docstring
	w.r.t. optional argument.  Simplify default implementation.
	(map-some, map-every-p, map-merge, map-merge-with, map--into-hash):
	Don't use map-apply for side effects.
	(map-into): Preserve plist ordering.  Improve docstrings.
	(map-insert): Add hash-table and array support.
	(map-inplace): Remove unused error symbol.
	(map-do): Return nil as per doc.

	* etc/NEWS: Announce new user-visible behavior.

	* test/lisp/emacs-lisp/map-tests.el: Prefer should-not
	over (should (not ...)) in general.
	(with-maps-do): Fix docstring.
	(with-empty-maps-do): New macro.
	(test-map-elt-default, test-mapp, test-map-keys, test-map-values)
	(test-map-pairs, test-map-length, test-map-copy, test-map-apply)
	(test-map-do, test-map-keys-apply, test-map-values-apply)
	(test-map-filter, test-map-remove, test-map-empty-p)
	(test-map-contains-key, test-map-some, test-map-every-p):
	Use it.

	(test-map-plist-p, test-map-put!-new-keys, test-map-insert-empty)
	(test-map-insert, test-map-delete-empty, test-map-copy-alist)
	(test-map-contains-key-testfn, test-map-into-hash-test)
	(test-map-into-empty, test-map-merge, test-map-merge-empty):
	New tests.

	(test-map-elt): Test array key that is within bounds but not fixnum.
	(test-map-put!): Use map--plist-p.  Remove redundant tests.
	(test-map-put-alist-new-key): Don't modify list literal.
	(test-map-put-testfn-alist, test-map-put-return-value): Silence
	obsoletion warnings.
	(test-map-delete): Check for OBOE on arrays.
	(test-map-delete-return-value): Remove test made redundant by
	test-map-delete.
	(test-map-nested-elt, test-map-into): Test plists too.

2021-03-06  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix calculation of c-parse-state when there're macros with braces

	This fixes bug #46951.

	* lisp/progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache):
	Ensure the starting point for backward scanning is not within a macro which
	doesn't contain HERE.

2021-03-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/flymake.el (flymake-log): Push the right code

	* lisp/progmodes/flymake.el (flymake-log): Simplify

2021-03-06  Eli Zaretskii  <eliz@gnu.org>

	Revert "Fix Makefile subshell output when run in parallel"

	This reverts commit 117505454ce04c0c0ce2c2b4058823cf764fc2eb.
	It breaks the build for versions of GNU Make that don't support -O.

2021-03-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix Makefile subshell output when run in parallel

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2021-03/msg00255.html

	* Makefile.in (texi_misc): Avoid interspersing parallel Make output
	with that from subshell.

2021-03-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Pacify some semantic-tag-make-plist warnings

	* lisp/cedet/semantic/tag.el (semantic-tag-make-plist): Define
	before its first use to pacify some recent "may not be defined at
	runtime" warnings after turning on lexical-binding.

2021-03-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove mention of using defun- and defvar- as prefixes

	* doc/lispref/tips.texi (Coding Conventions): Remove mention of
	using defun- and defvar- as prefixes, as this is something that we
	rarely do in Emacs (bug#46899).

2021-03-06  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Bindat

	* doc/lispref/processes.texi (Bindat Types, Bindat Functions)
	(Bindat Computed Types): Improve wording and add indexing.

	* etc/NEWS: Add a pointer to the ELisp manual for "Bindat".

2021-03-06  Protesilaos Stavrou  <info@protesilaos.com>

	Pull Modus themes version 1.2.3 from upstream

	This syncs with the following upstream revision:

	Update to version 1.2.3
	0a36239 2021-03-05 19:43:30 +0200
	https://gitlab.com/protesilaos/modus-themes/-/commit/0a36239baf908585cdf32c6188eb86713d9bf6c6

	For discussion, see bug#45068 and the following upstream issue:
	https://gitlab.com/protesilaos/modus-themes/-/issues/162

	* doc/misc/modus-themes.org:
	* etc/themes/modus-operandi-theme.el:
	* etc/themes/modus-themes.el:
	* etc/themes/modus-vivendi-theme.el: Update to version 1.2.3.

2021-03-06  Protesilaos Stavrou  <info@protesilaos.com>

	Update Modus themes to their version 1.2.0

	* doc/misc/modus-themes.org: Add new version of the manual, with
	changes to markup and references to the latest state of the project.

	* etc/themes/modus-vivendi-theme.el:
	* etc/themes/modus-operandi-theme.el: Provide updated version of each
	theme, which expands the contents of 'modus-themes.el' (bug#45068).

	* etc/themes/modus-themes.el: Add new supportive file.  This is where
	theme data, functions, and face definitions are defined.

2021-03-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Conditionally use macroexp-file-name in Flymake

	* lisp/progmodes/flymake.el (flymake-log): Reinstate Emacs 26
	support by conditionally using macroexp-file-name which is new in
	Emacs 28 (bug#46957).

2021-03-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* * lisp/cedet/semantic: Use lexical-binding in the generated grammars

	* admin/grammars/c.by (typesimple): Bind `semantic-c-classname` dynamically.

	* lisp/cedet/semantic/bovine.el: Use lexical-binding.
	(semantic-lambda): Silence warnings if the `vals` arg is not used.

	* lisp/cedet/semantic/grammar-wy.el: Re-generate.

	* lisp/cedet/semantic/bovine/grammar.el: Use lexical-binding.
	(bovine-grammar-expand-action): Silence warnings if some of the
	`vals`, `start`, or `end` args is not used.
	(bovine--make-parser-1): Use lexical-binding in the generated files.

	* lisp/cedet/semantic/wisent/grammar.el: Use lexical-binding.
	(wisent--make-parser-1): Use lexical-binding in the generated files.

2021-03-06  Stefan Kangas  <stefan@marxist.se>

	Add some new tests for keymap.c

	* test/src/keymap-tests.el (keymap-define-key/undefined)
	(keymap-define-key/keyboard-macro, keymap-define-key/lambda)
	(keymap-define-key/keymap, keymap-define-key/menu-item)
	(keymap-lookup-key/list-of-keymaps, keymap-lookup-key/too-long):
	New tests.
	(keymap-lookup-key): Extend test slightly.

2021-03-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/srecode/*.el: Use lexical-binding

	* lisp/cedet/srecode/compile.el (srecode-compile-inserter):
	Use `make-instance` instead of the class name-as-function.

	* lisp/cedet/srecode/fields.el (srecode-field-behind-hook):
	Remove unused var `field`.

	* lisp/cedet/srecode/find.el (srecode-load-tables-for-mode): Simplify.

	* lisp/cedet/srecode/getset.el (srecode-semantic-selected-tag): Declare var.

	* lisp/cedet/srecode/mode.el (srecode-minor-mode): Mark references to
	non-existing `srecode-m3-items` function.

	* lisp/cedet/srecode/srt-mode.el (srecode-parse-this-macro): Remove
	unused var `raw`.

2021-03-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	Bindat: new macro-expansion based data layout language

	Thorough redesign of the Bindat system, which makes it possible
	to define new Bindat type forms, define recursive types, control
	the values returned when unpacking, freely mix arbitrary computations
	with type definitions, as well as support for arbitrary sized
	integers.

	This also reverts the recent addition of the `bindat-spec` macro and
	the support for 64bit integers in the old Bindat language since that
	is now considered obsolete anyway.

	* doc/lispref/processes.texi (Bindat Types): Rename from `Bindat Spec`
	and rewrite for the new sublanguage.
	(Bindat Functions): Adjust to the new terminology.
	(Bindat Computed Types): New node.

	* lisp/emacs-lisp/bindat.el (bindat--type): New type.
	(bindat--unpack-u64, bindat--unpack-u64r): Delete functions.
	(bindat--unpack-item, bindat--pack-item, bindat--fixed-length-alist):
	Revert addition of support for 64bit integers.
	(bindat--unpack-group, bindat--length-group, bindat--pack-group):
	Handle the new `bindat--type` values.
	(bindat-spec): Revert addition of this macro.
	(bindat--unpack-uint, bindat--unpack-uintr, bindat--pack-uint)
	(bindat--pack-uintr): New functions.
	(bindat-type, bindat-defmacro, bindat--pcase): New macros.
	(bindat-type): New Edebug elem.
	(bindat--type): New generic function.
	(bindat--primitives): New constant.
	(bindat--macroenv, bindat--op): New vars.
	(bindat--make-docstring, bindat--fun, bindat--makefun, bindat--toplevel):
	New functions.

	* test/lisp/emacs-lisp/bindat-tests.el: Use `bindat-type`.
	(ip): New Bindat type.
	(header-bindat-spec, data-bindat-spec, packet-bindat-spec): Adjust to
	new `bindat-type` macro.
	(bindat-test-unpack): Simplify now that the order of fields is preserved.
	(bindat-test--int-websocket-type, bindat-test--LEB128): New consts.
	(bindat-test--pack-val, bindat-test--sint, bindat-test--recursive):
	New tests.

2021-03-05  Mattias Engdegård  <mattiase@acm.org>

	Make lambda-lifting work again

	* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Fix typo.
	* test/lisp/emacs-lisp/cconv-tests.el (cconv-convert-lambda-lifted):
	Add test case.

2021-03-05  Tassilo Horn  <tsdh@gnu.org>

	Improve rcirc-authenticated-hook docstring

	* lisp/net/rcirc.el (rcirc-authenticated-hook): Improve docstring.

2021-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bindat.el: Minor refactoring

	(bindat--unpack-str, bindat--unpack-strz, bindat--unpack-bits):
	New functions, extracted from `bindat--unpack-item`.
	(bindat--unpack-item): Use them.
	(bindat--align): New function.
	(bindat--unpack-group, bindat--length-group, bindat--pack-group): Use it.
	(bindat-get-field): Allow integers to index both lists (as returned by
	`repeat`) and vectors (as returned by `vec`).
	(bindat--pack-str, bindat--pack-bits): New functions, extracted from
	`bindat--pack-item`.
	(bindat--pack-item): Use them.

	* test/lisp/emacs-lisp/bindat-tests.el (struct-bindat): Place the fields
	in the order in which they appear in the structs.

2021-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/gv.el (edebug-after): Don't run the getter in the setter

	This fixes bug#46573 which was introduced by commit
	d79cf638f278e50c22feb53d6ba556f5ce9d7853.
	The new code is a middle ground, which makes sure the instrumentation
	point is used (so the coverage checker won't have ghost unreachable
	instrumentation points) yet without artificially running the getter
	when we only need to run the setter.

2021-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fns.c (Frandom): Handle bignum `limit`s

	(ccall2, get_random_bignum): New functions.

2021-03-05  Michael Albinus  <michael.albinus@gmx.de>

	Declare some completion predicates

	* lisp/filenotify.el (file-notify-handle-event):
	* lisp/net/dbus.el (dbus-handle-event): Declare `completion-predicate'.

2021-03-05  Masahiro Nakamura  <tsuucat@icloud.com>

	* doc/misc/tramp.texi (Remote shell setup): Fix reference.

	* doc/misc/tramp.texi (Remote shell setup): Fix reference. (Do not merge)

2021-03-05  Eli Zaretskii  <eliz@gnu.org>

	Fix some unsafe uses of SSDATA in comp.c

	* src/comp.c (comp_hash_source_file)
	(Fcomp__compile_ctxt_to_file, Fnative_elisp_load): Encode file
	names before passing them to library APIs.
	(Fcomp__compile_ctxt_to_file): use emacs_fopen instead of fopen.
	(declare_lex_function): Avoid keeping a 'char *' pointer around
	while calling Lisp, which could trigger GC, which could relocate
	string data.

2021-03-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the documentation of :extra in cl-defmethod

	* doc/lispref/functions.texi (Generic Functions): Improve
	documentation of :extra (bug#46917).

	* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Ditto.

2021-03-05  Mauro Aranda  <maurooaranda@gmail.com>

	Fix qualifiers order for loadhist-unload-element in elp.el

	* lisp/emacs-lisp/elp.el (loadhist-unload-element): The :extra
	qualifier is expected to come before the other qualifiers, so do
	that (bug#46917).

2021-03-05  Stephen Berman  <stephen.berman@gmx.net>

	Restrict the version guesser to top-level headings

	* lisp/help-fns.el (help-fns--first-release): Restrict the version
	guesser to top-level section -- looking in all headings leads to
	false positives (bug#46889).

2021-03-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Actually fill the correct paragraph in `lisp-fill-paragraph'

	* lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Fix previous
	change here by actually filling the correct paragraph (bug#28937).

2021-03-05  Eli Zaretskii  <eliz@gnu.org>

	Fix initialization of 'while-no-input-ignore-events'

	* src/keyboard.c (syms_of_keyboard_for_pdumper): Don't reset
	'while-no-input-ignore-events' after loading the dump file.
	(Bug#46940)

2021-03-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Don't override load-path in require-theme

	* lisp/custom.el (require-theme): Open-code 'require' error, because
	binding load-path can prevent other libraries from loading on error,
	such as debug.el, which gives a misleading error.  (Bug#45068)

2021-03-05  Andrea Corallo  <akrl@sdf.org>

	Harden `comp-abi-hash' computation

	Account for subr arity in `comp-abi-hash' computation as that's part
	of the ABI exposed to .eln files.

	* src/comp.c (Fcomp__subr_signature): New support function.
	(hash_native_abi): Make use of.
	(syms_of_comp): Register 'Scomp__subr_signature'.

2021-03-05  Pip Cet  <pipcet@gmail.com>

	Don't ignore lexically-bound variables in a defvar (bug#46912)

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Walk
	the value form of a defvar.

2021-03-05  Glenn Morris  <rgm@gnu.org>

	* Makefile.in: Ensure non-info forms of doc/misc have an Emacs binary.

2021-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-generic.el: Make `doc-string` prop work with qualifiers

	(cl--defmethod-doc-pos): New function.
	(cl-defmethod): Use it.

2021-03-04  Andrea Corallo  <akrl@sdf.org>

	Makefile.in (ELN_DESTDIR): Remove unnecessary double quoting.

2021-03-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a command in package mode for opening home pages directly

	* doc/emacs/package.texi (Package Menu): Document it.
	* lisp/emacs-lisp/package.el (package-browse-url): New command and
	keystroke (bug#46927).

2021-03-04  Eli Zaretskii  <eliz@gnu.org>

	Fix typos and doc strings in native-compilation files

	* lisp/emacs-lisp/comp.el (comp-speed, comp-debug, comp-verbose)
	(comp-always-compile, comp-deferred-compilation-deny-list)
	(comp-bootstrap-deny-list, comp-never-optimize-functions)
	(comp-async-jobs-number, comp-async-cu-done-hook)
	(comp-async-all-done-hook, comp-async-env-modifier-form)
	(comp-pass, comp-native-compiling, comp-post-pass-hooks)
	(comp-known-predicate-p, comp-pred-to-cstr)
	(comp-symbol-values-optimizable, comp-limple-assignments)
	(comp-limple-calls, comp-limple-branches, comp-block)
	(comp-vec--verify-idx, comp-vec-aref, comp-vec-append)
	(comp-vec-prepend, comp-block-preds)
	(comp-ensure-native-compiler, comp-log, comp-log-func)
	(comp-loop-insn-in-block, comp-byte-frame-size)
	(comp-add-func-to-ctxt, comp-spill-lap-function, comp-spill-lap)
	(comp-lap-fall-through-p, comp-new-frame, comp-emit-set-call)
	(comp-copy-slot, comp-latch-make-fill, comp-emit-cond-jump)
	(comp-body-eff, comp-op-case, comp-prepare-args-for-top-level)
	(comp-limplify-top-level, comp-negate-arithm-cmp-fun)
	(comp-emit-assume, comp-cond-cstrs-target-mvar)
	(comp-function-foldable-p, comp-function-call-maybe-fold)
	(comp-form-tco-call-seq, comp-clean-up-stale-eln)
	(comp-delete-or-replace-file, comp--native-compile)
	(native--compile-async, native-compile)
	(batch-byte-native-compile-for-bootstrap): Fix typos, wording, and
	punctuation in doc strings.
	* lisp/loadup.el: Fix typos.

	* src/lread.c (syms_of_lread): Doc fix.

2021-03-04  Eli Zaretskii  <eliz@gnu.org>

	Update documentation of reading passwords

	* doc/emacs/mini.texi (Passwords): Update to match the modified
	implementation.  (Bug#46902)  Add indexing.

2021-03-04  Mauro Aranda  <maurooaranda@gmail.com>

	Make checkdoc work with qualified methods

	* lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Handle
	cl-defmethod in a case of its own.  Check for the presence of
	qualifiers, and skip them accordingly until the docstring.

	* test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-cl-defmethod-qualified-ok)
	(checkdoc-cl-defmethod-with-extra-qualifier-ok)
	(checkdoc-cl-defmethod-with-extra-and-nil-args-ok): Add tests for the fix.

2021-03-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Add "of" as a keyword in js-mode

	* lisp/progmodes/js.el (js--keyword-re): Add the "of" of "for
	... of" in ECMAScript 2018 (bug#46924).

2021-03-04  Matt Armstrong  <matt@mdeb>

	Call the set_buffer_overlays_ setters

	* src/buffer.c (Fkill_buffer): Call set_buffer_overlays_before and
	set_buffer_overlays_after instead of setting the fields directly
	(bug#46914).

2021-03-04  Glenn Morris  <rgm@gnu.org>

	Generate info/dir directly from any org sources

	* Makefile.in (texi_misc): New variable.
	(srcdir_doc_info_dir_inputs): Use texi_misc.
	(${srcdir}/info/dir): No longer depend on info-real.

2021-03-04  Glenn Morris  <rgm@gnu.org>

	* doc/misc/Makefile.in (echo-sources): New phony target.

	* build-aux/make-info-dir: Handle .org input files.

2021-03-04  Basil L. Contovounesios  <contovob@tcd.ie>

	Decouple require-theme from load-theme

	* lisp/custom.el (require-theme): Refashion after 'require', as a
	function for loading only named features.  Do not call
	load-theme (bug#45068).
	* etc/NEWS: Update its announcement accordingly.
	* doc/lispref/customize.texi (Custom Themes): Document it.

	* etc/themes/modus-operandi-theme.el:
	* etc/themes/modus-vivendi-theme.el: Remove redundant calls to
	'provide'.

	* test/lisp/custom-tests.el (custom-tests--with-temp-dir): New
	macro.
	(custom-theme--load-path): Use it.
	(custom-tests-require-theme): New test.

2021-03-04  Mauro Aranda  <maurooaranda@gmail.com>

	Remove copy-pasto from image-dired.el

	* lisp/image-dired.el (image-dired-dired-edit-comment-and-tags):
	Remove reference to widget-example-repeat.

2021-03-04  Mauro Aranda  <maurooaranda@gmail.com>

	Remove duplicated tests in checkdoc-tests.el

	* test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-cl-defmethod-ok)
	(checkdoc-cl-defmethod-with-types-ok, checkdoc-cl-defun-with-key-ok)
	(checkdoc-cl-defun-with-allow-other-keys-ok)
	(checkdoc-cl-defun-with-default-optional-value-ok)
	(checkdoc-cl-defun-with-destructuring-ok): This tests were duplicated,
	so keep one copy of them.  Checked by diffing two files with the
	suspected tests, and supported by the fact that running occur with the
	regexp "^(ert-deftest" reported 14 matches, while the tests being run
	were 8.

2021-03-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make radio checkboxes work in eww

	* lisp/net/eww.el (eww-toggle-checkbox): Actually update the
	:checked values in the form.

2021-03-04  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (hash_native_abi): Account for `system-configuration-options'.

2021-03-04  Glenn Morris  <rgm@gnu.org>

	Fix a doc/misc clean rule

	* doc/misc/Makefile.in (TEXI_FROM_ORG): New variable.
	(orgclean): Fix rule.

2021-03-04  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix pcase dontcare pattern in cl--sm-macroexpand

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2021-03/msg00119.html

	* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Fix recently
	uncovered use of old name for pcase--dontcare.

2021-03-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el (pcase-defmacro): Fix `pcase-tests-macro`

	* lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Simplify accordingly.

2021-03-03  Ulf Jasper  <ulf.jasper@web.de>

	Preserve group structure on opml import and export.

	* lisp/net/newst-backend.el (newsticker--raw-url-list-defaults),
	  (newsticker-url-list-defaults),
	  (newsticker--get-news-by-url),
	  (newsticker--sentinel-work),
	  (newsticker--parse-atom-0.3),
	  (newsticker--decode-rfc822-date),
	  (newsticker--image-download-by-wget),
	  (newsticker--image-save),
	  (newsticker--image-download-by-url),
	  (newsticker--cache-save),
	  (newsticker--stat-num-items): Fix indentation.
	  (newsticker-opml-export): Preserve group structure on export.
	  (newsticker--opml-insert-elt),
	  (newsticker--opml-insert-group),
	  (newsticker--opml-insert-feed): New.
	  (newsticker--opml-import-outlines):
	  (newsticker-opml-import): Preserve group structure on import. (Fixes
	  fourth issue in Bug#41376.)

2021-03-03  Pip Cet  <pipcet@gmail.com>

	Don't call _setjmp through a function pointer (Bug#46824)

	* src/comp.c (helper_link_table): Don't include SETJMP except on Windows.
	(emit_setjmp): Don't use function pointers except on Windows.
	(declare_runtime_imported_funcs): Don't import SETJMP at runtime.
	(ABI_VERSION): Bump.
	* test/src/comp-tests.el (46824-1): New test.
	* test/src/comp-resources/comp-test-funcs.el
	(comp-test-46824-1-f): New function.

2021-03-03  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (return_nil): Make it not a nested function.

2021-03-03  Andrea Corallo  <akrl@sdf.org>

	Fix two compiler ICEs dealing with nan and infinity

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): Don't crash when
	truncate fails.
	* test/src/comp-test-funcs.el (comp-test-=-nan): Add two functions
	to be compiled.

2021-03-03  Juri Linkov  <juri@linkov.net>

	New mode outline-cycle-minor-mode with Orgmode-like TAB cycling on headings

	* lisp/outline.el (outline-mode-cycle-map): New keymap from outline-mode-map.
	(outline-mode-map): Inherit from outline-mode-cycle-map.
	(outline-font-lock-keywords): Append keymap and face depending on
	'outline-minor-mode-cycle' and 'outline-minor-mode-highlight'.
	(outline-minor-mode-cycle, outline-minor-mode-highlight): New variables.
	(outline-minor-mode-highlight-buffer): New function.
	(outline-minor-mode): Handle 'outline-minor-mode-cycle' and
	'outline-minor-mode-highlight'.
	(outline-cycle-minor-mode, outline-cycle-highlight-minor-mode):
	New minor modes (bug#45147).

	* etc/compilation.txt:
	* etc/grep.txt:
	Enable outline-cycle-highlight-minor-mode.

2021-03-03  Stefan Kangas  <stefan@marxist.se>

	Make inversion.el obsolete (Bug#46841)

	* lisp/cedet/inversion.el:
	* test/lisp/cedet/inversion-tests.el: Move from here...
	* lisp/obsolete/inversion.el:
	* test/lisp/obsolete/inversion-tests.el: ...to here.

	* lisp/cedet/cedet.el (cedet-version): Make obsolete.
	* lisp/cedet/cedet-cscope.el (cedet-cscope-version-check):
	* lisp/cedet/cedet-global.el (cedet-gnu-global-version-check):
	* lisp/cedet/cedet-idutils.el (cedet-idutils-version-check):
	* lisp/cedet/ede/make.el (ede-make-check-version): Use 'version<'
	instead of 'inversion-check-version'.
	* lisp/cedet/semantic/db-file.el (semanticdb-load-database): Don't
	use 'inversion-test'.
	* lisp/cedet/semantic/ede-grammar.el
	(ede-proj-makefile-insert-variables): Don't add inversion to
	loadpath.
	* lisp/speedbar.el: Remove stale comment.

2021-03-03  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation warnings in --with-wide-int build on Windows

	* src/comp.c (emit_rvalue_from_emacs_uint)
	(emit_rvalue_from_lisp_word_tag): Fix comparison of unsigned
	values.
	(gcc_jit_context_new_rvalue_from_ptr): Define only if
	LISP_WORDS_ARE_POINTERS, to avoid compilation warning.
	(init_gccjit_functions): Load gcc_jit_context_new_rvalue_from_ptr
	only if LISP_WORDS_ARE_POINTERS.

2021-03-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid aborting on MS-Windows at startup

	* src/emacs.c (set_invocation_vars) [WINDOWSNT]: If argv0 is not
	an absolute file name, obtain the absolute file name of the Emacs
	executable from 'w32_my_exename'.

2021-03-03  Eli Zaretskii  <eliz@gnu.org>

	Improve NEWS entries about native-compilation

	* etc/NEWS: Add an entry about native-compilation.  Improve
	wording of the entry about 'package-native-compile'.

2021-03-03  Alan Mackenzie  <acm@muc.de>

	C++ Mode: Handle "if constexpr (...)" with a simple statement correctly

	* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Add a check and
	handling for c-block-stmt-hangon-key in the main loop.

2021-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el (pcase--u1): Fix typo

2021-03-02  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix analysis of brace lists, particularly in C++ Mode

	Fix some alignment functionality in cc-align.el.

	* lisp/progmodes/cc-align.el (c-lineup-arglist-intro-after-paren): Align the
	next line under the previous entry rather than one to the right of the paren.
	(c-lineup-2nd-brace-entry-in-arglist): Take the anchor point from the
	brace-list-entry element, not the brace-list-intro one.

	* lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Use
	c-looking-at-statement-block to test whether "struct A {" begins a brace list
	or a struct declaration.
	(c-looking-at-or-maybe-in-bracelist): Several detailed amendments, correctly
	to recognize brace lists.
	(c-looking-at-statement-block): No longer search for commas, as they are not
	reliable indicators of a brace list.  Search now for a restricted set of
	keywords, since some can appear in brace lists in C++ mode.

	* lisp/progmodes/cc-langs.el (c-stmt-block-only-keywords)
	(c-stmt-block-only-keywords-regexp): New lang consts/vars.
	(c-pre-id-bracelist-kwds): New lang const.
	(c-pre-id-bracelist-key): Derive now from the above.
	(c-pre-brace-non-bracelist-key): New lang const/var.

2021-03-02  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Minor stylistic fixes.

	(tab-bar-select-tab-modifiers): Use tab-bar--undefine-keys and
	tab-bar--define-keys instead of turning tab-bar-mode on/off.

2021-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/trace.el (trace-values): Work outside of traced function

2021-03-02  Andrea Corallo  <akrl@sdf.org>

	Fix = propagation semantic for constrained inputs

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr): Synthesize
	`comp-cstr-shallow-copy'.
	(comp-cstr-=): Relax inputs before intersecting them.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add three
	tests.

2021-03-02  Dmitry Gutov  <dgutov@yandex.ru>

	(ruby-find-library-file): Also recognize 'gem' statements

	* lisp/progmodes/ruby-mode.el (ruby-find-library-file):
	Also recognize 'gem' statements.

2021-03-02  Pip Cet  <pipcet@gmail.com>

	Compile closures that modify their bound vars correctly (Bug#46834)

	* lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Don't
	move let bindings into the lambda. Don't reverse list of
	bindings. (byte-compile): Evaluate the return value if it was
	previously reified.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-reify-function):
	Add tests.

2021-03-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the dired-do-kill-lines doc string

	* lisp/dired-aux.el (dired-do-kill-lines): Document the FMT
	parameter (bug#46867).

2021-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el: Bind all the vars in `or` patterns

	Improve the handling of `or` patterns where not all sub-patterns bind the
	same set of variables.  This used to be "unsupported" and behaved in
	somewhat unpredictable ways.

	(pcase--expand): Rewrite.
	(pcase-codegen): Delete.

	* doc/lispref/control.texi (pcase Macro): Adjust accordingly.
	Also remove the warning about "at least two" sub patterns.
	These work fine, AFAICT, and if not we should fix it.

	* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-or-vars): New test.

2021-03-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous completion-pcm--optimize-pattern fix

	* lisp/minibuffer.el (completion-pcm--optimize-pattern): Re-fix
	previous change.

2021-03-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix warning in completion-pcm--optimize-pattern

	* lisp/minibuffer.el (completion-pcm--optimize-pattern): Remove
	unused variable.

2021-03-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Make easymenu downcase the menu symbol for greater backwards compat

	* lisp/cmuscheme.el (map): Revert previous fix.

	* lisp/woman.el (woman-dired-define-keys): Ditto.

	* lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Downcase the
	menu name for greater backwards compatibility.

2021-03-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el: Fix bug#46786

	Revert commit a218c9861573b5ec4979ff2662f5c0343397e3ff, but in order
	to avoid the spurious warnings that this commit tried to squash,
	keep track of the vars used during the match so as to add
	corresponding annotations to explicitly silence the spurious warnings.

	To do this, we change the VARS used in `pcase-u` (and throughout
	the pcase code): they used to hold elements of the form (NAME . VAL)
	and now they hold elements of the form (NAME VAL . USED).

	(pcase--expand): Bind all vars instead of only those found via fgrep.
	(pcase-codegen): Silence "unused var" warnings for those vars that have
	already been referenced during the match itself.
	(pcase--funcall, pcase--eval): Record the vars that are used.
	(pcase--u1): Record the vars that are used via non-linear patterns.

	* lisp/textmodes/mhtml-mode.el (mhtml-forward):
	* lisp/vc/diff-mode.el (diff-goto-source): Silence newly
	discovered warnings.

	* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-bug46786): New test.

2021-03-01  Mattias Engdegård  <mattiase@acm.org>

	Fix multiple Calc defmath errors (bug#46750)

	Fix incorrect variable scoping in `let*`, `for` and `foreach`.
	Fix loop variable value in `foreach` (should be element, not tail).
	Fix function quoting, as in ('cons x y) -- didn't work at all.

	Reported by Stephan Neuhaus.

	* lisp/calc/calc-prog.el (math-define-exp, math-handle-foreach):
	* test/lisp/calc/calc-tests.el: (var-g, test1, test2, test3, test4)
	(test5, test6, test7, calc-defmath): Test various defmath forms.

2021-03-01  Mattias Engdegård  <mattiase@acm.org>

	Remove references to old bignums from Calc manual

	* doc/misc/calc.texi: Remove references to the old Calc representation
	of big integers, outdated references to fixnums, an any text and
	examples that only made sense at the time.

2021-03-01  Mattias Engdegård  <mattiase@acm.org>

	* lisp/calc/calc-ext.el (math-equal-int): Work for bignums.

2021-03-01  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el: Minor doc fix.

	* lisp/tab-bar.el (tab-bar--define-keys): Add check for tab-bar-format-global.

2021-03-01  Protesilaos Stavrou  <info@protesilaos.com>

	Add 'require-theme' function

	* etc/NEWS: Document new function.
	* lisp/custom.el (require-theme): Add function.

	This follows from the discussion on bug#45068 where it became apparent
	that there was no equivalent mechanism to 'require' that read through
	the 'custom-theme-load-path'.

2021-03-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix woman.el menu alteration code

	* lisp/woman.el (woman-dired-define-keys): Fix naming of menu
	after dired menu changes.

2021-03-01  Alan Mackenzie  <acm@muc.de>

	CC Mode: Amend C-M-a/e to handle lambda function in C++ arglist

	* lisp/progmodes/cc-cmds.el (c-where-wrt-brace-construct): Reformulate latter
	part such that the least enclosing braces and parentheses are used when
	determining containment in such.  c-beginning-of-decl-1 has been superseded
	by list movement and syntactic whitespace movement.
	(c-backward-to-nth-BOF-{): Work on least enclosing parens rather than parens
	at any level when moving back to an opening brace.
	(c-forward-to-nth-EOF-\;-or-}): Work on least enclosing parens, as above.
	Move the correction of point when in a "function trailer" to after the main
	loop, correcting a minor bug.

2021-03-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el (pcase--split-pred): Re-fix bug#14773

	Adjust to calling convention of `macroexp--fgrep`.

2021-03-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix misuses of `byte-compile-macro-environment`

	These seem to be left overs from Emacs<24 when `macroexpand-all` was
	implemented in the CL library and hence the macros's evaluation
	environment could come from different places depending on the
	circumstance (either `byte-compile-macro-environment`, or
	`cl-macro-environment`, or ...).

	`byte-compile-macro-environment` contains definitions which expand to
	code that is only understood by the rest of the byte-compiler,
	so using it for code which isn't being byte-compiled leads to errors
	such as references to non-existing function
	`internal--with-suppressed-warnings`.

	* lisp/emacs-lisp/cl-extra.el (cl-prettyexpand): Remove left-over
	binding from when `macroexpand-all` was implemented in the CL library.

	* lisp/emacs-lisp/ert.el (ert--expand-should-1):
	* lisp/emacs-lisp/cl-macs.el (cl--compile-time-too): Properly preserve the
	macroexpand-all-environment.
	(cl--macroexp-fboundp): Pay attention to `cl-macrolet` macros as well.

2021-03-01  Andrea Corallo  <akrl@sdf.org>

	Fix `eql' `equal' propagation of non hash consed values (bug#46843)

	Extend assumes allowing the following form:

	(assume dst (and-nhc src1 src2))

	`and-nhc' assume operator allow for constraining correctly
	intersections where non hash consed values are not propagated as
	values but rather promoted to their types.

	* lisp/emacs-lisp/comp-cstr.el
	(comp-cstr-intersection-no-hashcons): New function.
	* lisp/emacs-lisp/comp.el (comp-emit-assume): Logic update to emit
	`and-nhc' operator (implemented in fwprop by
	`comp-cstr-intersection-no-hashcons').
	(comp-add-cond-cstrs): Map `eq' to `and' assume operator and
	`equal' `eql' into `and-nhc'.
	(comp-fwprop-insn): Update to handle `and-nhc'.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add two
	tests covering `eql' and `equal' propagation of non hash consed
	values.

2021-03-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/eval.c (init_eval_once): Bump max_specpdl_size (bug46818)

	Further testing seems to confirm my suspicion that the increase in the
	specpdl comes from the recent change to `pcase--if`.

	* lisp/international/mule-cmds.el (update-leim-list-file): Revert workaround.

2021-03-01  Matt Armstrong  <matt@rfc20.org>

	Clean up obsolete comment

	* src/marker.c (unchain_marker): Clean up obsolete comment
	(bug#46836).

	Commit cf3164523b (* src/alloc.c: Avoid O(N²) complexity when
	unchaining markers (bug#24548)., 2018-03-23) removed the call from GC
	into unchain_marker, so there is no need to warn about it.

2021-03-01  F. Jason Park  <jp@neverwas.me>

	Fix Bootstring skew parameter in puny.el

	* lisp/net/puny.el: change puny-skew to match value given in RFC3492.
	* test/lisp/net/puny-tests.el (puny-test-encode-domain)
	(puny-test-decode-domain): add regression case for popular
	domain. (bug#46838).

2021-03-01  Stefan Kangas  <stefan@marxist.se>

	Convert various menus to easymenu

	* lisp/emacs-lisp/lisp-mode.el (lisp-mode-map): Move menu from
	here...
	(lisp-mode-menu): ...to here, and convert to easymenu.

	* lisp/progmodes/elisp-mode.el (lisp-interaction-mode-map): Move
	menu definition from here...
	(lisp-interaction-mode-menu): ...to here, and convert to easymenu.

	* lisp/replace.el (occur-menu-map): Convert to easymenu.

2021-03-01  Glenn Morris  <rgm@gnu.org>

	Improve admin.el's Makefile in standalone manual tarfiles

	* admin/admin.el (make-manuals-dist-output-variables):
	Fix abs_top_builddir.  Add EMACS.
	(make-manuals-dist--1): Respect case when replacing output variables.

2021-03-01  Glenn Morris  <rgm@gnu.org>

	info/dir needs generated texi files to exist

	* Makefile.in (misc-info): Depend on lisp.
	(${srcdir}/info/dir): Depend on info-real.
	(info): Simplify.

2021-03-01  Glenn Morris  <rgm@gnu.org>

	Make generation of texi from org overwrite output

	* doc/misc/Makefile.in (org_template): Don't delete output.
	* lisp/org/ox-texinfo.el (org-texinfo-export-to-texinfo-batch):
	Overwrite existing output.

2021-02-28  Andrea Corallo  <akrl@sdf.org>

	Don't treat '=' as simple equality emitting constraints (bug#46812)

	Extend assumes allowing the following form

	(assume dst (= src1 src2))

	to capture '=' semanting during fwprop handling float integer
	conversions.

	* lisp/emacs-lisp/comp.el (comp-equality-fun-p): Don't treat '=' as
	simple equality.
	(comp-arithm-cmp-fun-p, comp-negate-arithm-cmp-fun)
	(comp-reverse-arithm-fun): Rename and add '=' '!='.
	(comp-emit-assume, comp-add-cond-cstrs, comp-fwprop-insn): Update
	for new function naming and to handle '='.
	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): New function.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a bunch
	of '=' specific tests.

2021-02-28  Andrea Corallo  <akrl@sdf.org>

	Migrate and rename a bunch of functions from comp.el to comp-cstr.el

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-imm-vld-p)
	(comp-cstr-imm, comp-cstr-fixnum-p, comp-cstr-symbol-p)
	(comp-cstr-cons-p): Move and rename from 'comp.el'.
	* lisp/emacs-lisp/comp.el (comp-mvar-type-hint-match-p)
	(make-comp-mvar, comp-emit-assume, comp-fwprop-prologue)
	(comp-function-foldable-p, comp-function-call-maybe-fold)
	(comp-fwprop-call, comp-fwprop-insn, comp-call-optim-func)
	(comp-compute-function-type): Update for renamed functions.
	* src/comp.c (emit_mvar_rval): Likewise.
	* test/src/comp-tests.el (comp-tests-mentioned-p-1)
	(comp-tests-cond-rw-checker-val): Likewise.

2021-02-28  Glenn Morris  <rgm@gnu.org>

	* doc/misc/modus-themes.org: Add copying markup.  (Bug#45141)

2021-02-28  Glenn Morris  <rgm@gnu.org>

	Update admins make-manuals for new output variable

	* admin/admin.el (make-manuals-dist-output-variables):
	Add abs_top_builddir.

2021-02-28  Stefan Kangas  <stefan@marxist.se>

	Convert dired menus to easymenu

	* lisp/dired.el (dired-mode-map): Move menus from here...
	(dired-mode-subdir-menu, dired-mode-immediate-menu)
	(dired-mode-regexp-menu, dired-mode-mark-menu)
	(dired-mode-operate-menu): ...to here, and convert to easymenu.

2021-02-28  Stefan Kangas  <stefan@marxist.se>

	Convert hi-lock-menu to easymenu

	* lisp/hi-lock.el (hi-lock-menu): Convert to easymenu.

2021-02-28  Alan Mackenzie  <acm@muc.de>

	Combine and reconcile two conflicting entries in NEWS on goto-line-history

	* etc/NEWS: Amend.

	* doc/lispref/minibuf.texi (Minibuffer History): Amend the entry about
	goto-line-history, which is now buffer local only after being so customized.

2021-02-28  Mattias Engdegård  <mattiase@acm.org>

	Declare more string predicates as pure

	* lisp/emacs-lisp/byte-opt.el (pure-fns): Treat string>,
	string-greaterp, string-empty-p, string-blank-p, string-prefix-p and
	string-suffix-p as pure functions in the compiler.

2021-02-28  Stefan Kangas  <stefan@marxist.se>

	Convert ibuffer menus to easymenu

	* lisp/ibuffer.el (ibuffer-mode-map): Move menu from here...
	(ibuffer-mode-mark-menu, ibuffer-mode-view-menu): ...to here.
	Convert to easymenu.
	(ibuffer-mode--groups-menu-definition): New function.  Fix bug where
	"Kill filter by group named" and "Yank last killed filter group
	before" was overwritten and never shown in the menu.
	(ibuffer-mode-groups-popup): Convert to easymenu.
	(ibuffer-mode-operate-menu): Rename from 'ibuffer-mode-operate-map'
	and update uses.  Convert to easymenu.
	(ibuffer-mode-operate-map): Make into obsolete alias for above
	renamed variable.

2021-02-28  Michael Albinus  <michael.albinus@gmx.de>

	Add `completion-predicate' to some Tramp commands

	* lisp/net/tramp-cmds.el (tramp-cleanup-this-connection)
	(tramp-rename-these-files): Add property `completion-predicate'.

	* lisp/net/tramp.el (tramp-command-completion-p): New defun.

2021-02-28  Kapuze Martin  <m.s.p@posteo.de>  (tiny change)

	Enable Python type hints and non-trivial base classes in wisent

	* admin/grammars/python.wy: Enable understanding Python type hints
	and non-trivial base classes (bug#46817).

2021-02-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust cmuscheme.el menu bar after previous scheme.el change

	* lisp/cmuscheme.el (map): Adjust the keymap lookup after recent
	scheme.el change (bug#46820).

2021-02-28  Mattias Engdegård  <mattiase@acm.org>

	Fix pcase 'rx' pattern match-data bug

	The pcase 'rx' pattern would in some cases allow the match data to be
	clobbered before it is read.  For example:

	  (pcase "PQR"
	    ((and (rx (let a nonl)) (rx ?z)) (list 'one a))
	    ((rx (let b ?Q))                 (list 'two b)))

	The above returned (two "P") instead of the correct (two "Q").
	This occurred because the calls to string-match and match-string were
	presented as separate patterns to pcase, which would interleave them
	with other patterns.

	As a remedy, combine string matching and match-data extraction into a
	single pcase pattern.  This introduces a slight inefficiency for two
	or more submatches as they are grouped into a list structure which
	then has to be destructured.

	Found by Stefan Monnier.  See discussion at
	https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg02010.html

	* lisp/emacs-lisp/rx.el (rx--reduce-right): New helper.
	(rx [pcase macro]): Combine string-match and match-string calls into a
	single pcase pattern.
	* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test cases.

2021-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/mule-cmds.el: Try and fix bug#46818

	(update-leim-list-file): Reduce stack/pdl use.

2021-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/macroexp.el: Rewrite the code warning about '(lambda ...)

	(macroexp--expand-all): Use `pcase--dontcare` so pcase generates
	slightly better code.  Don't hardcode which functions takes function
	arguments; rely on a new `funarg-positions` symbol property instead.

2021-02-28  Stefan Kangas  <stefan@marxist.se>

	Convert text-mode menu to easymenu

	* lisp/textmodes/text-mode.el (text-mode-map): Move menu
	definition from here...
	(text-mode-menu): ...to here, and convert to easymenu.

2021-02-28  Stefan Kangas  <stefan@marxist.se>

	Convert isearch menu to easymenu

	* lisp/isearch.el (isearch-menu-bar-yank-map)
	(isearch-menu-bar-map, isearch-mode-map): Move menu definition
	from here...
	(isearch-menu-bar-map): ...to here, and convert to easymenu.

	* lisp/loadup.el ("emacs-lisp/easymenu"): Move before isearch.el.

2021-02-28  Stefan Kangas  <stefan@marxist.se>

	Checkdoc fixes in isearch.el

	* lisp/isearch.el (isearch--set-state, isearch-yank-pop-only)
	(isearch-search-and-update, isearch-complete-edit, isearch-search):
	Minor doc fixes.

2021-02-27  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Support displaying global-mode-string in the tab bar.

	* lisp/tab-bar.el (tab-bar--define-keys): Update global-mode-string
	in mode-line-misc-info with condition to disable global-mode-string
	in the mode line.
	(tab-bar-format): New variable.
	(tab-bar-format-history, tab-bar-format-add-tab)
	(tab-bar-format-tabs): New functions with body from
	'tab-bar-make-keymap-1'.
	(tab-bar-format-align-right, tab-bar-format-global): New functions for
	'tab-bar-format' list.
	(tab-bar-format-list): New utility function.
	(tab-bar-make-keymap-1): Just call 'tab-bar-format-list'.
	https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg01210.html

2021-02-27  Juri Linkov  <juri@linkov.net>

	* lisp/subr.el (read-char-choice-with-read-key): New function.

	* lisp/subr.el (read-char-choice): Move most of the function body to
	'read-char-choice-with-read-key'.
	(read-char-choice-with-read-key): New function with body from
	'read-char-choice'.

2021-02-27  Stefan Kangas  <stefan@marxist.se>

	Convert Buffer-menu-mode menu to easymenu

	* lisp/buff-menu.el (Buffer-menu-mode-map): Move menu
	definition from here...
	(Buffer-menu-mode-menu): ...to here, and convert to easymenu.

2021-02-27  Stefan Kangas  <stefan@marxist.se>

	Minor fixes after preloading easymenu

	* lisp/cedet/ede/dired.el:
	* lisp/dired-x.el:
	* lisp/filesets.el:
	* lisp/follow.el:
	* lisp/gnus/gnus-registry.el:
	* lisp/net/eudc.el:
	* lisp/printing.el:
	* lisp/recentf.el:
	* lisp/speedbar.el: Remove redundant require of easymenu; it is now
	preloaded.
	* lisp/org/org.el:
	* lisp/progmodes/antlr-mode.el:
	* lisp/progmodes/vhdl-mode.el:
	* lisp/textmodes/reftex.el: Don't require easymenu in Emacs 28 or
	later.

	* etc/NEWS: Announce that 'easymenu' is now preloaded.

2021-02-27  Glenn Morris  <rgm@gnu.org>

	Fix doc/misc Makefile for out-of-tree with relative path

	* doc/misc/Makefile.in (org_template): Fix for relative srcdir.

2021-02-27  Glenn Morris  <rgm@gnu.org>

	Improve Makefile treatment of org sources in doc/misc

	* doc/misc/Makefile.in (ORG_SETUP): New variable.
	(ORG_SRC): Use wildcard rather than hard-coding.
	(org_template): Adjust for input containing $srcdir and suffix.
	(org_setup_template): New template.

2021-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bytecomp.el: Fix minor regression introduced by pdump

	After `rm **/*.elc; make` we'd sometimes get loads and loads of unnecessary
	"Reloading ...".

	(byte-compile-refresh-preloaded): Don't reload files that are more
	recent than `temacs` but older than the `.pdmp` file.

2021-02-27  Stefan Kangas  <stefan@marxist.se>

	Don't require overlay; that's only needed in XEmacs

	* lisp/allout.el:
	* lisp/net/eudc.el:
	* lisp/org/org.el: Don't require overlay; that's only needed in
	XEmacs.

2021-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cconv.el: Fix uncaught brain farts in last change

	(cconv--convert-funcbody, cconv-convert): Use `macroexp--warn-wrap` properly.

2021-02-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Add sexp navigation commands to elisp-mode

	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu): Add some
	navigation commands (bug#24774).

2021-02-27  Stefan Kangas  <stefan@marxist.se>

	Convert emacs-lisp-mode menu to easy-menu-define

	* lisp/loadup.el: Preload easymenu.

	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-map): Convert menu to
	use easy-menu-define (bug#24774).

2021-02-27  Matt Armstrong  <matt@rfc20.org>

	Remove unnecessary unlock-buffer calls

	* lisp/files.el (revert-buffer-insert-file-contents--default-function):
	Remove vestigial call to `unlock-buffer'.
	* lisp/simple.el (primitive-undo): Assume unlock-buffer is always
	bound.  (Bug#46701)

2021-02-27  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes in Mew due to corrupted tool-bar label

	* src/gtkutil.c (update_frame_tool_bar): Don't keep around a
	'char *' pointer to a Lisp string's contents when calling Lisp,
	because that could relocate string data; keep the Lisp string
	itself instead.  This avoids crashes in Mew.  (Bug#46791)

2021-02-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Compute grep defaults earlier

	* lisp/progmodes/grep.el (grep): Always compute the defaults
	(bug#46801).
	(grep-highlight-matches): Clarify that it's not just used
	interactively.

2021-02-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Change defcustom types of two non-standard hooks

	* lisp/erc/erc.el (erc-before-connect, erc-after-connect): Change
	type from 'hook to 'function (bug#34657).

2021-02-27  F. Jason Park  <jp@neverwas.me>

	Accept string argument in erc-add-to-input-ring

	* lisp/erc/erc-ring.el: (erc-add-to-input-ring)
	(erc-previous-command): Use existing API to grab input.
	* test/lisp/erc/erc-tests.el: (erc-ring-previous-command)
	See (bug#46339).

2021-02-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Add generated .texi files to .gitignore

2021-02-27  Glenn Morris  <rgm@gnu.org>

	Fixes for doc/misc org source files

	* doc/misc/org-setup.org: Fix "version" file lookup.  Add copyright.
	* doc/misc/modus-themes.org: Fix up doclicense include.
	* doc/misc/org.org: Remove non-working and unused "modification-time".
	Fix up doclicense include.  Adjust setupfile inclusion.

2021-02-27  Glenn Morris  <rgm@gnu.org>

	Distribute the real source for some doc/misc manuals (bug#45143)

	* doc/misc/modus-themes.texi, doc/misc/org.texi:
	Remove generated files from repository.
	* doc/misc/Makefile.in: Add rules for building .texi from .org.
	(ORG_SRC, abs_top_builddir, EMACS, emacs):
	New variables.
	(org_template): New template.
	(orgclean): New phony target.
	* Makefile.in (info): Depend on lisp.
	* lisp/org/ox-texinfo.el (org-texinfo-export-to-texinfo-batch):
	New function.
	* doc/misc/org.org, doc/misc/org-setup.org: New files.
	Import from https://code.orgmode.org d8e8a97a14.

2021-02-27  Protesilaos Stavrou  <info@protesilaos.com>

	Import org source file for modus-themes manual

	* doc/misc/modus-themes.org: New file.
	Import from https://gitlab.com/protesilaos/modus-themes 515180ac.

2021-02-27  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in progmodes/icon.el

	* lisp/progmodes/icon.el: Use lexical-binding.
	(electric-icon-brace): Very minor cleanup.

2021-02-27  Stefan Kangas  <stefan@marxist.se>

	Convert change-log-mode menu to easy-menu-define

	* lisp/vc/add-log.el (change-log-mode-map): Move menu from here...
	(change-log-mode-menu): ...to here; convert to easy-menu-define.

2021-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cconv.el: Improve line-nb info of unused var warnings

	Instead of warning about unused vars during the analysis phase of
	closure conversion, do it in the actual closure conversion by
	annotating the code with "unused" warnings, so that the warnings
	get emitted later by the bytecomp phase, like all other warnings,
	at which point the line-number info is a bit less imprecise.

	Take advantage of this change to wrap the expressions of unused
	let-bound vars inside (ignore ...) so the byte-compiler can better
	optimize them away.

	Finally, promote `macroexp--warn-and-return` to "official" status
	by removing its "--" marker.

	(cconv-captured+mutated, cconv-lambda-candidates): Remove vars.
	(cconv-var-classification): New var to replace them.
	(cconv-warnings-only): Delete function.
	(cconv--warn-unused-msg, cconv--var-classification): New functions.
	(cconv--convert-funcbody): Add warnings for unused args.
	(cconv-convert): Add warnings for unused vars in `let` and `condition-case`.
	(cconv--analyze-use): Don't emit an "unused var" warning any more,
	but instead remember the fact in `cconv-var-classification`.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-force-lexical-warnings):
	Remove variable.
	(byte-compile-preprocess): Remove corresponding case.

	* lisp/emacs-lisp/pcase.el (pcase--if): Don't throw away `test` effects.
	(\`):
	* lisp/emacs-lisp/cl-macs.el (cl--do-arglist): Use `car-safe` instead
	of `car`, so it can more easily be removed by the optimizer if the
	result is not used.

	* lisp/emacs-lisp/macroexp.el (macroexp--warn-wrap): New function.
	(macroexp-warn-and-return): Rename from `macroexp--warn-and-return`.

2021-02-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	lisp/vc/*.el: Use lexical-bindings in all the files

	Also remove some redundant `:group` arguments.

	* lisp/vc/vc.el (vc-ignore): Autoload.

	* lisp/vc/pcvs-util.el (cvs-every, cvs-union, cvs-map): Delete functions.
	* lisp/vc/cvs-status.el: Require `cl-lib` at runtime.
	(cvs-tree-tags-insert): Use `cl-mapcar` and `cl-every` instead.
	* lisp/vc/pcvs.el: Require `cl-lib` at runtime.
	(cvs-do-removal): Use `cl-every` instead.

	* lisp/vc/ediff-init.el: Require `ediff-util` (for `ediff-cleanup-mess`
	and `ediff-default-suspend-function`).

	* lisp/vc/pcvs-info.el (cvs-fileinfo<): Remove unused vars `subtypea`
	and `subtypeb`.

	* lisp/vc/vc-git.el:
	* lisp/vc/vc-bzr.el: Require `vc-dispatcher` at runtime for
	`vc-do-async-command`.

2021-02-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/idle.el: Fix compilation warning

	(eldoc-last-message): Remove var declaration.
	(eldoc-message): Remove function declaration.
	(semantic--eldoc-info): Rename from semantic-idle-summary-idle-function.
	Make it usable on `eldoc-documentation-functions`.
	(semantic-idle-summary-mode): Use `eldoc-mode`.
	(semantic-idle-summary-refresh-echo-area): Delete function.

2021-02-26  Andrea Corallo  <akrl@sdf.org>

	Canonicalize filenames on Windows before hashing (bug#46256)

	* src/comp.c (Fcomp_el_to_eln_filename): On Windowns
	canonicalize filenames before hashing.

2021-02-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/analyze*.el: Use lexical-binding

	* lisp/cedet/semantic/analyze.el: Use lexical-binding.
	Rename the dynbound var `prefixtypes` to `semantic--prefixtypes`.
	(semantic--prefixtypes): Declare var.

	* lisp/cedet/semantic/analyze/complete.el: Use lexical-binding.
	(semantic--prefixtypes): Declare var.
	(semantic-analyze-possible-completions-default): Remove unused var `any`.
	Rename `prefixtypes` to `semantic--prefixtypes`.

	* lisp/cedet/semantic/analyze/debug.el: Use lexical-binding.
	(semantic-analyzer-debug-global-symbol): Remove no-op use of `prefixtypes`.

	* lisp/cedet/semantic/analyze/refs.el:
	* lisp/cedet/semantic/analyze/fcn.el: Use lexical-binding.

2021-02-26  Andrea Corallo  <akrl@sdf.org>

	Change native compiler configure flag into '--with-native-compilation'

	* configure.ac: Rename configure nativecomp flags into
	--with-native-compilation.

2021-02-26  Andrea Corallo  <akrl@sdf.org>

	Interactive tag native compilation function in emacs-lisp-mode

	* lisp/progmodes/elisp-mode.el
	(emacs-lisp-native-compile-and-load): Tag it for `emacs-lisp-mode'.

2021-02-26  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into native-comp

2021-02-26  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp manual

	* doc/misc/tramp.texi (External methods): Mention "about-args".
	(Remote shell setup): Use sshx.

2021-02-26  Stefan Kangas  <stefan@marxist.se>

	Make some defcustom types stricter in comp.el

	* lisp/emacs-lisp/comp.el (comp-speed, comp-debug, comp-verbose)
	(comp-async-jobs-number, comp-async-env-modifier-form): Use stricter
	types.

2021-02-26  Stefan Kangas  <stefan@marxist.se>

	Add :version tags to defcustoms in comp.el

	* lisp/emacs-lisp/comp.el (comp-speed, comp-debug, comp-verbose)
	(comp-never-optimize-functions, comp-async-jobs-number)
	(comp-async-cu-done-hook, comp-async-all-done-hook)
	(comp-async-env-modifier-form)
	(comp-async-report-warnings-errors, comp-native-driver-options)
	(comp-libgccjit-reproducer): Add :version tags.

2021-02-26  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/dcl-mode.el: Minor doc fixes.

2021-02-26  Stefan Kangas  <stefan@marxist.se>

	Convert some more progmode menus to easy-menu-define

	* lisp/progmodes/dcl-mode.el (dcl-mode-map):
	* lisp/progmodes/icon.el (icon-mode-map):
	* lisp/progmodes/scheme.el (scheme-mode-map):
	Move menu definitions from here...
	* lisp/progmodes/dcl-mode.el (dcl-mode-menu):
	* lisp/progmodes/icon.el (icon-mode-menu)
	* lisp/progmodes/scheme.el (scheme-mode-menu):
	...to here, and use easy-menu-define.

	* lisp/progmodes/icon.el
	(icon-mode-map, icon-mode-syntax-table): Simplify.

2021-02-26  Stefan Kangas  <stefan@marxist.se>

	Convert simula-mode menu to easy-menu-define

	* lisp/progmodes/simula.el (simula-mode-map): Move menu definition
	from here...
	(simula-mode-menu): ...to here, and use easy-menu-define.
	(simula-popup-menu): Declare unused function obsolete.

2021-02-26  Stefan Kangas  <stefan@marxist.se>

	Fix syntax highlighting of easy-menu-define docstrings

	* lisp/emacs-lisp/easymenu.el (easy-menu-define): Add doc-string
	declaration for correct syntax highlighting.

2021-02-26  Stefan Kangas  <stefan@marxist.se>

	Remove redundant requires of easymenu

	* lisp/allout.el:
	* lisp/emacs-lisp/edebug.el:
	* lisp/emacs-lisp/ert.el:
	* lisp/erc/erc-menu.el:
	* lisp/help-mode.el:
	* lisp/net/dictionary.el:
	* lisp/nxml/rng-nxml.el:
	* lisp/progmodes/ebrowse.el:
	* lisp/progmodes/meta-mode.el:
	* lisp/progmodes/prolog.el:
	* lisp/progmodes/ps-mode.el:
	* lisp/progmodes/vera-mode.el:
	* lisp/wid-browse.el: Remove redundant require of easymenu.  We only
	use the autoloaded macro 'easy-menu-define' here.

2021-02-26  Stefan Kangas  <stefan@marxist.se>

	Remove check for missing easymenu from cperl-mode.el

	* lisp/progmodes/cperl-mode.el (cperl-menu): Don't wrap definition
	in condition-case; easymenu always exists in Emacs.
	(easymenu): Remove redundant require.

2021-02-26  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* lisp/emacs-lisp/comp.el (comp-async-report-warnings-errors):
	Improve wording of the doc string.

2021-02-26  Andrea Corallo  <akrl@sdf.org>

	Improve `comp-async-report-warnings-errors' docstring

	* lisp/emacs-lisp/comp.el (comp-async-report-warnings-errors):
	Improve docstring.

2021-02-26  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of last change

	* lisp/emacs-lisp/comp.el (comp-async-query-on-exit)
	(comp-async-report-warnings-errors): Improve wording.

2021-02-26  Andrea Corallo  <akrl@sdf.org>

	Add `comp-async-query-on-exit' customize.

	* lisp/emacs-lisp/comp.el (comp-async-query-on-exit): New customize.
	(comp-run-async-workers): Make use of.

2021-02-26  Basil L. Contovounesios  <contovob@tcd.ie>

	Function-quote completion property of declare form

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2021-02/msg01666.html

	* lisp/emacs-lisp/byte-run.el (byte-run--set-completion): Quote with
	'function' for syntactical consistency with other declare form
	properties.  This allows writing (declare (completion foo)) instead
	of (declare (completion 'foo)).
	* lisp/emacs-lisp/easymenu.el (easy-menu-do-define):
	* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Prefer
	function-put over put for function symbols.
	* lisp/subr.el (ignore, undefined): Remove #'-quoting from declare
	form; it is no longer needed.

2021-02-26  Mattias Engdegård  <mattiase@acm.org>

	Fix pcase rx pattern bugs

	Two unrelated bugs: A missing type check caused an error in rx
	patterns for non-string match targets, and rx patterns did not work at
	all in pcase-let or pcase-let*.

	Second bug reported by Basil Contovounesios and Ag Ibragimov; fixes
	proposed by Stefan Monnier.  Discussion and explanation in thread at
	https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg01924.html

	* lisp/emacs-lisp/rx.el (rx): Add (pred stringp) to avoid type errors,
	and replace the `pred` clause for the actual match with something that
	works with pcase-let(*) without being optimized away.
	* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test cases.

2021-02-26  Stefan Kangas  <stefan@marxist.se>

	* lisp/tooltip.el (tooltip): Doc fix for GTK.

2021-02-25  Andrea Corallo  <akrl@sdf.org>

	Fix some comp-vec logic

	* lisp/emacs-lisp/comp.el (comp-vec-length, comp-vec-append)
	(comp-vec-prepend): Fix logic.
	(comp-vec-aref): Fix indentation.

2021-02-25  Andrea Corallo  <akrl@sdf.org>

	Fix two docstrings in comp.el

	* lisp/emacs-lisp/comp.el (comp-new-frame,
	comp-maybe-add-vmvar): Fix docstring.

2021-02-25  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of a recent change

	* src/fns.c (Fyes_or_no_p): Don't use braces around one-line
	block.
	(syms_of_fns) <use-short-answers>: Improve the wording of the doc
	string.
	* etc/NEWS: Improve wording of the entry about 'use-short-answers'.

2021-02-25  Juri Linkov  <juri@linkov.net>

	New variable 'use-short-answers' to use 'y-or-n-p' instead of 'yes-or-no-p'

	* lisp/cus-start.el: Add use-short-answers.

	* lisp/emacs-lisp/map-ynp.el (read-answer): Handle use-short-answers.
	(read-answer-short): Add use-short-answers to docstring.

	* src/fns.c (Fyes_or_no_p): Call y-or-n-p if use_short_answers is true.
	(syms_of_fns): Add DEFVAR_BOOL use-short-answers (bug#46594).

2021-02-25  Alan Third  <alan@idiocy.org>

	Fix freeze on older macOS's (bug#46687)

	* src/nsterm.m ([EmacsView windowDidChangeBackingProperties:]):
	([EmacsView viewWillDraw]): Only run this code when actually drawing
	to an offscreen bitmap.

2021-02-25  Robert Pluim  <rpluim@gmail.com>

	Re-enable network-stream-tests.el :nowait t tests

	After the fix for Bug#46709, these no longer fail in the absence of a
	working Internet connection

	* test/lisp/net/network-stream-tests.el (internet-is-working): Remove
	defvar, it's no longer needed in this file.

	* test/lisp/net/network-stream-tests.el
	(connect-to-tls-ipv4-nowait):
	(connect-to-tls-ipv6-nowait):
	(open-network-stream-tls-nowait):
	(open-gnutls-stream-new-api-nowait):
	(open-gnutls-stream-old-api-nowait): Remove check for internet-is-working.

2021-02-25  Robert Pluim  <rpluim@gmail.com>

	Don't crash if gnutls_handshake fails

	In some situations involving Internet access not being fully
	functional, gnutls_handshake returns a fatal error, which we were
	ignoring, causing us to call gnutls_handshake again.  Now we check for
	the error and return it to the caller.

	* src/gnutls.c (gnutls_try_handshake): Return immediately if
	gnutls_handshake returns a fatal error (Bug#46709).

2021-02-25  Robert Pluim  <rpluim@gmail.com>

	* Specify 'ipv4 when testing ipv4 in network-stream-tests.el

	* test/lisp/net/network-stream-tests.el
	(connect-to-tls-ipv4-nowait): Specify :family 'ipv4.

2021-02-25  Stefan Kangas  <stefan@marxist.se>

	Convert epa-key-list-mode menu to easy-menu-define

	* lisp/epa.el (epa-key-list-mode-map): Move menu from here...
	(epa-key-list-mode-menu): ...to here, and convert to easy-menu-define.

2021-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	Remove last remaining external uses of `edebug-form-spec`

	* lisp/emacs-lisp/gv.el (gv-place): Use `def-edebug-elem-spec`.

	* lisp/obsolete/erc-compat.el (erc-define-minor-mode): Remove redundant
	`edebug-form-spec`.

2021-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): Add case

	Add use of `macroexp-file-name` from a macro called from within
	a function, which works thanks to eager-macroexpansion (so the macro
	is expanded which the file is being loaded rather than only later
	when the function is called).

	* test/lisp/emacs-lisp/macroexp-resources/m1.el
	(macroexp--m1-tests-file-name): New function.

2021-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): New test

	* test/lisp/emacs-lisp/macroexp-resources/m1.el:
	* test/lisp/emacs-lisp/macroexp-resources/m2.el: New files.

2021-02-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Include a "make check-maybe" in the admin/emake script

2021-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/macroexp.el (macroexp-file-name): Work in `eval-buffer`

	Rely on `current-load-list` instead of `load-file-name`.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables):
	Change the var we override accordingly.

2021-02-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve quail-update-leim-list-file error messaging

	* lisp/international/quail.el (quail-update-leim-list-file): Give
	a better error message.

2021-02-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix warning generated by indian.el + quail.el

	* lisp/leim/quail/indian.el (quail-define-indian-trans-package):
	Reintroduce kludge to fix automatic detection by Quail.

2021-02-24  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Move aliases down closer to keybindings.

2021-02-24  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-switch): New defalias to 'tab-bar-switch-to-tab'.

	(tab-prefix-map): Bind "O" to 'tab-previous'.

2021-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/macroexp.el (macroexp-file-name): New function.

	Yes, finally: a function that tells you the name of the file where
	the code is located.  Finding this name is non-trivial in practice,
	as evidenced by the "4 shift/reduce conflicts" warning when compiling
	CEDET's python.el, because its `wisent-source` got it wrong in that
	case, thinking the grammar came from `python.el` instead of
	`python-wy.el`.

	While at it, also made `macroexp-compiling-p` public, since it's
	useful at various places.

	(macroexp-compiling-p): Rename from `macroexp--compiling-p`.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables):
	Bind `load-file-name` to nil so we can distinguish a load that calls
	the byte compiler from a byte compilation which causes a load.

	* lisp/cedet/semantic/wisent/python.el (wisent-python--expected-conflicts):
	Remove; it was just a workaround.
	* lisp/subr.el (do-after-load-evaluation): Avoid `byte-compile--` vars.
	* lisp/cedet/semantic/fw.el (semantic-alias-obsolete):
	Use `macroexp-compiling-p` and `macroexp-file-name`.
	* lisp/cedet/semantic/wisent/comp.el (wisent-source): Use `macroexp-file-name`
	(wisent-total-conflicts): Tighten regexp.
	* lisp/emacs-lisp/cl-lib.el (cl--compiling-file): Delete function
	and variable.  Use `macroexp-compiling-p` instead.
	* lisp/progmodes/flymake.el (flymake-log):
	* lisp/emacs-lisp/package.el (package-get-version):
	* lisp/emacs-lisp/ert-x.el (ert-resource-directory):
	Use `macroexp-file-name`.

2021-02-24  Ulf Jasper  <ulf.jasper@web.de>

	Add options to use feed names from newticker-url-list

	* lisp/net/newst-treeview.el
	  (newsticker-treeview-use-feed-name-from-url-list-in-treeview): New.
	  (newsticker-treeview-use-feed-name-from-url-list-in-itemview): New.
	  (newsticker--treeview-item-show): Show feed name from
	  newsticker-url-list if wanted.
	  (newsticker--treeview-propertize-tag): Add argument 'tooltip'.
	  (newsticker--treeview-tree-get-tag): Usefeed name from
	  newsticker-url-list if wanted.  (Fixes third issue in
	  Bug#41376.)

2021-02-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix wisent/python.el grammar warning

	* lisp/cedet/semantic/wisent/python.el: Fix warning about
	shift/reduce conflicts in the Python grammar.

2021-02-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix warning generated by indian.el + quail.el

	* lisp/leim/quail/indian.el (quail-define-indian-trans-package):
	Reintroduce kludge to fix automatic detection by Quail.

2021-02-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the "Documentation:" line from the variable help

	* lisp/help-fns.el (describe-variable): Remove the
	"Documentation:" line (bug#46702).  This makes the help text more
	compact and seems easier to read, too.

2021-02-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix Calc menu item for vector dot products

	* lisp/calc/calc-menu.el (calc-vectors-menu): Use the correct
	function `calc-times' instead of the non-existent `calc-mult'
	function (bug#46710).

2021-02-24  Doug Davis  <ddavis@ddavis.io>

	Interactive tag byte compilation functions in emacs-lisp-mode

	* lisp/progmodes/elisp-mode.el (emacs-lisp-byte-compile)
	(emacs-lisp-byte-compile-and-load): Add interactive tagging
	(bug#46721).

2021-02-24  Miha Rihtaršič  <miha@kamnitnik.top>  (tiny change)

	Run all functions in `prefix-command-echo-keystrokes-functions'

	* lisp/simple.el (internal-echo-keystrokes-prefix): Really run all
	functions in `prefix-command-echo-keystrokes-functions' (bug#46727).

2021-02-24  Protesilaos Stavrou  <info@protesilaos.com>

	Use named faces in shortdoc

	* lisp/emacs-lisp/shortdoc.el (shortdoc-heading): Define new face
	for headings.
	(shortdoc-display-group): Apply new heading face.
	(shortdoc--display-function): Use existing face for section text.
	* etc/NEWS: Document new face (bug#46748).

2021-02-24  Utkarsh Singh  <utkarsh190601@gmail.com>  (tiny change)

	Use sh-mode for PKGBUILD files

	* lisp/files.el (auto-mode-alist): Use sh-mode for PKGBUILD files
	(bug#46660).

2021-02-24  Eli Zaretskii  <eliz@gnu.org>

	Fix dangerous code in xdisp.c

	* src/xdisp.c (move_it_to, display_line): Make sure ZV_BYTE is
	greater than 1 before fetching previous byte.

2021-02-24  Eli Zaretskii  <eliz@gnu.org>

	Better support for 'truncate-line' non-nil in the mini-window

	* src/xdisp.c (resize_mini_window): Resize the mini-window
	when multi-line text is displayed under	truncate-lines
	non-nil in the minibuffer.  (Bug#46718)

2021-02-24  Protesilaos Stavrou  <info@protesilaos.com>

	Specify the Emacs version of new vc-dir faces

	* vc-dir.el (vc-dir-header)
	(vc-dir-header-value)
	(vc-dir-directory)
	(vc-dir-file)
	(vc-dir-mark-indicator)
	(vc-dir-status-warning)
	(vc-dir-status-edited)
	(vc-dir-status-up-to-date)
	(vc-dir-status-ignored): Add version 28.1.  (Bug#46745)

2021-02-24  Andrea Corallo  <akrl@sdf.org>

	Fix async compilation and parameter naming

	* lisp/emacs-lisp/comp.el (native--compile-async)
	(native-compile-async): Fix broken parameter renaming.

2021-02-23  Andrea Corallo  <akrl@sdf.org>

	Do not emit assumptions referencing clobbered mvars (bug#46670)

	* lisp/emacs-lisp/comp.el (comp-func): Add `vframe-size' slot.
	(comp-new-frame): Add `vsize' parameter.
	(comp-limplify-top-level, comp-limplify-function): Update for new
	`comp-new-frame'.
	(comp-maybe-add-vmvar): New function.
	(comp-add-cond-cstrs): Logic update to emit assumptions not
	referencing clobbered variables.
	(comp-place-phis, comp-ssa, comp-ssa-rename-insn)
	(comp-ssa-rename): Update rename logic to rename also negative
	slots.
	(comp-fwprop-insn): Update to handle `(assume mvar mvar)' form.
	* test/src/comp-tests.el (46670-1): Add testcase.
	* test/src/comp-test-funcs.el (comp-test-46670-1-f)
	(comp-test-46670-2-f): New functions.

2021-02-23  Andrea Corallo  <akrl@sdf.org>

	Move ssa rename from vector to comp-vec

	* lisp/emacs-lisp/comp.el (comp-block): Updated `final-frame' slot
	type.
	(comp-limplify): Updated `frame' slot type.
	(comp-slot-n, comp-new-frame, comp-place-phis, comp-ssa)
	(comp-ssa-rename-insn, comp-ssa-rename, comp-finalize-phis): Use
	`comp-vec'.

2021-02-23  Andrea Corallo  <akrl@sdf.org>

	Add a simple growable vector like type

	* lisp/emacs-lisp/comp.el (comp-vec): Define struct.
	(comp-vec-copy, comp-vec-length, comp-vec--verify-idx)
	(comp-vec-aref, comp-vec-append, comp-vec-prepend): New functions.

2021-02-23  Juri Linkov  <juri@linkov.net>

	Small fixes

	* lisp/emacs-lisp/seq.el (seq-contains): Move the ‘declare’ form
	after the docstring.
	* lisp/misc.el (copy-from-above-command): Fix whitespace regexp.

2021-02-23  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el (tab-line-tab-name-format-function): New defcustom.

	(tab-line-tab-name-format-default): New function as the default value.
	(tab-line-format-template): Funcall tab-line-tab-name-format-function.
	This is like recently added tab-bar-tab-name-format-function.

2021-02-23  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-prefix-map): Bind "n" to 'tab-duplicate'.

	(tab-bar-separator): New function.
	(tab-bar-make-keymap-1): Use it.

2021-02-23  Ulf Jasper  <ulf.jasper@web.de>

	Leave other windows unchanged, use search instead of re-search

	* lisp/net/newst-backend.el (newsticker-customize-feed): Leave other
	  windws unchanged.  Use search instead of re-search.

2021-02-23  Ulf Jasper  <ulf.jasper@web.de>

	Fix invalid interactive-statement

	* lisp/net/newst-backend.el (newsticker-customize): Fix invalid
	  interactive-statement.

2021-02-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/: Use lexical-binding the few remaining files

	* test/manual/biditest.el: Use lexical-binding.
	(biditest-generate-testfile): Remove unused var `levels`.

	* test/manual/image-circular-tests.el: Use lexical-binding.

	* test/manual/image-size-tests.el: Use lexical-binding.
	(image-size-tests): Check `fboundp` before calling `imagemagick-types`.

	* test/manual/redisplay-testsuite.el: Use lexical-binding.

	* test/manual/cedet/cedet-utests.el: Use lexical-binding.
	Use `with-current-buffer`.
	(cedet-utest): Test `fboundp` i.s.o `featurep` to silence warning.
	(srecode-map-save-file): Declare var.
	(pulse-test): Test `fboundp` before calling `pulse-available-p`.
	Declare `pulse-momentary-highlight-overlay` since it's not autoloaded.

	* test/manual/cedet/semantic-tests.el: Use lexical-binding.
	Use `with-current-buffer`.
	(semanticdb-ebrowse-dump): Remove unused var `ab`.
	(semanticdb-test-gnu-global): Don't use obsolete "name" arg to constructor.
	(cedet-utest-directory): Declare var.

2021-02-23  Ulf Jasper  <ulf.jasper@web.de>

	Add command for customizing current newsticker feed

	* lisp/net/newst-backend.el (newsticker-customize-feed): New.
	  (newsticker--insert-bytes): Add documentation string.
	  (newsticker--decode-iso8601-date): Fix documentation string.
	* lisp/net/newst-treeview.el (newsticker-treeview-customize-current-feed):
	  New.
	  (newsticker-treeview-mode-map): Add key for new command
	  'newsticker-treeview-customize-current-feed'. (Fixes second issue in
	  Bug#41376.)

2021-02-23  Robert Pluim  <rpluim@gmail.com>

	* doc/misc/tramp.texi: Grammar/style fixes

	* doc/misc/tramp.texi (Overview):
	(Obtaining @value{tramp}):
	(Quick Start Guide):
	(Configuration):
	(Connection types):
	(Inline methods):
	(External methods):
	(Password handling):
	(Predefined connection information):
	(Remote shell setup):
	(Remote processes):
	(Frequently Asked Questions):
	(External packages):
	(Traces and Profiles): Grammar/style fixes.

2021-02-23  Robert Pluim  <rpluim@gmail.com>

	* lisp/net/dictionary-connection.el: Grammar fixes

	* lisp/net/dictionary-connection.el: Grammar fix
	(dictionary-connection-open): Use active voice.
	(dictionary-connection-status): Reword and improve formatting.

2021-02-23  Robert Pluim  <rpluim@gmail.com>

	Make message-mailto work for emacsclient

	* doc/misc/message.texi (System Mailer Setup): Add index entry.
	Mention option to use emacsclient.

	* etc/NEWS: Mention emacsclient option for 'mailto:' handling.

	* etc/emacs-mail.desktop: Add example using emacsclient.

	* lisp/gnus/message.el (message-mailto): Add optional url argument
	so we can call it from emacsclient.

2021-02-23  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix bug in "state cache" invalidation function.

	* lisp/progmodes/cc-engine.el (c-invalidate-state-cache-1): Rewrite part of
	it, following the code in c-parse-state-1, to get a proper setting of
	c-state-cache-good-pos.

2021-02-23  Stefan Kangas  <stefan@marxist.se>

	Convert some more menus to easy-menu-define

	* lisp/tar-mode.el (tar-mode-map):
	* lisp/textmodes/sgml-mode.el (sgml-mode-map, html-mode-map):
	* lisp/wdired.el (wdired-mode-map): Move menus from here...

	* lisp/tar-mode.el (tar-mode-immediate-menu, tar-mode-mark-menu)
	* lisp/textmodes/sgml-mode.el (sgml-mode-menu, html-mode-menu):
	* lisp/wdired.el (wdired-mode-menu): ...to here, and convert to
	easy-menu-define.

2021-02-23  Stefan Kangas  <stefan@marxist.se>

	Improve easymenu.el Commentary section

	* lisp/emacs-lisp/easymenu.el: Improve Commentary section.

2021-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/antlr-mode.el: Fix bootstrap failure

	(antlr-mode): Remove compatibility code with older CC-mode.
	This somehow appears to fix the error:

	    In antlr-mode:
	    progmodes/antlr-mode.el:2426:20: Error: `c-init-language-vars' defined
	        after use in (c-init-language-vars) (missing `require' of a library
	        file?)
	    progmodes/antlr-mode.el:2427:26: Warning: c-init-language-vars called
	        with 0 arguments, but requires 1

	No idea what caused the error to appear after the previous patch either.

2021-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Do mode tagging in decipher.el

	Do mode tagging in bubbles.el

2021-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/obsolete: Use lexical-binding

	Use lexical-binding in all the lisp/obsolete/*.el files.
	While at it, removed redundant :group arguments and used #' to quote
	functions.  Commented out the key bindings which the #' revealed
	to lead to non-existing commands, and replaced those revealed to be obsolete.

	* lisp/obsolete/cl-compat.el: Use cl-lib.

	* lisp/obsolete/cust-print.el: Assume `defalias` exists.
	(with-custom-print): Use `declare`.

	* lisp/obsolete/iswitchb.el (iswitchb-init-XEmacs-trick)
	(iswitchb-xemacs-backspacekey): Remove functions.

	* lisp/obsolete/landmark.el (landmark, landmark-nslify-wts):
	Prefer `apply` to `eval`.

	* lisp/obsolete/longlines.el (longlines-mode): Don't use `add-to-list`
	on a hook.

	* lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region): Use `clear-string`.

	* lisp/obsolete/pgg-pgp.el (pgg-pgp-encrypt-region): Remove oddly
	unused var `passphrase`.
	(pgg-pgp-verify-region): Declare var `jam-zcat-filename-list`.

	* lisp/obsolete/pgg-pgp5.el (pgg-pgp5-encrypt-region): Remove oddly
	unused var `passphrase`.
	(pgg-pgp5-verify-region): Declare var `jam-zcat-filename-list`.

	* lisp/obsolete/pgg.el: Remove some XEmacs compatibility code.
	(pgg-run-at-time, pgg-cancel-timer, pgg-clear-string): Remove functions.
	Use their core equivalent instead.

	* lisp/obsolete/rcompile.el (remote-compile): Remove unused vars `l`,
	`l-host`, `l-user`, and `localname`.

	* lisp/obsolete/starttls.el (starttls-any-program-available):
	Use `define-obsolete-function-alias`.

	* lisp/obsolete/tls.el (tls-format-message): Delete function, use
	`format-message` instead.

	* lisp/obsolete/url-ns.el (url-ns-prefs): Use `with-current-buffer`
	and `dlet`.

	* lisp/obsolete/vip.el (vip-escape-to-emacs): Remove unused var `key`.
	(vip-command-argument, vip-read-string, ex-delete, ex-line): Remove
	unused var `conditions`.
	(ex-map): Use a closure instead of `eval`.
	(ex-set): Make it an alias of `set-variable`.
	(ex-substitute): Remove unused var `cont`.

	* lisp/obsolete/abbrevlist.el:
	* lisp/obsolete/bruce.el:
	* lisp/obsolete/cc-compat.el:
	* lisp/obsolete/cl-compat.el:
	* lisp/obsolete/cl.el:
	* lisp/obsolete/complete.el:
	* lisp/obsolete/crisp.el:
	* lisp/obsolete/cust-print.el:
	* lisp/obsolete/erc-compat.el:
	* lisp/obsolete/erc-hecomplete.el:
	* lisp/obsolete/eudcb-ph.el:
	* lisp/obsolete/fast-lock.el:
	* lisp/obsolete/gs.el:
	* lisp/obsolete/gulp.el:
	* lisp/obsolete/html2text.el:
	* lisp/obsolete/info-edit.el:
	* lisp/obsolete/iswitchb.el:
	* lisp/obsolete/landmark.el:
	* lisp/obsolete/lazy-lock.el:
	* lisp/obsolete/longlines.el:
	* lisp/obsolete/mailpost.el:
	* lisp/obsolete/mantemp.el:
	* lisp/obsolete/meese.el:
	* lisp/obsolete/messcompat.el:
	* lisp/obsolete/metamail.el:
	* lisp/obsolete/mouse-sel.el:
	* lisp/obsolete/nnir.el:
	* lisp/obsolete/old-emacs-lock.el:
	* lisp/obsolete/otodo-mode.el:
	* lisp/obsolete/patcomp.el:
	* lisp/obsolete/pc-mode.el:
	* lisp/obsolete/pc-select.el:
	* lisp/obsolete/pgg-def.el:
	* lisp/obsolete/pgg-gpg.el:
	* lisp/obsolete/pgg-parse.el:
	* lisp/obsolete/pgg-pgp.el:
	* lisp/obsolete/pgg-pgp5.el:
	* lisp/obsolete/pgg.el:
	* lisp/obsolete/rcompile.el:
	* lisp/obsolete/s-region.el:
	* lisp/obsolete/sb-image.el:
	* lisp/obsolete/sregex.el:
	* lisp/obsolete/starttls.el:
	* lisp/obsolete/sup-mouse.el:
	* lisp/obsolete/terminal.el:
	* lisp/obsolete/tls.el:
	* lisp/obsolete/tpu-edt.el:
	* lisp/obsolete/tpu-extras.el:
	* lisp/obsolete/tpu-mapper.el:
	* lisp/obsolete/url-ns.el:
	* lisp/obsolete/vc-arch.el:
	* lisp/obsolete/vi.el:
	* lisp/obsolete/vip.el:
	* lisp/obsolete/ws-mode.el:
	* lisp/obsolete/yow.el: Use lexical-binding.

2021-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the problems with newlines in Dired

	* doc/emacs/dired.texi (Dired Enter): Mention newlines and what to
	do about them.

	* lisp/dired.el (dired-listing-switches): Mention newlines
	(bug#46705).

2021-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Buttonize function values in help (and add a blank line)

	* lisp/help-fns.el (describe-variable): Add a newline for better
	readability (bug#46702).  This also has the side effect of
	buttonizing `function-references-like-this' in the "Its value is"
	part.

	* lisp/help-mode.el (help-make-xrefs): Adjust comments.

2021-02-22  Andrea Corallo  <akrl@sdf.org>

	Revert "* configure.ac: Rename configure nativecomp flags..."

	This reverts commit f6c5f0dd5c8167b6f8f724f42632a4b8808efe7a.

	Reason for this is that I overlooked few other suggestions and this
	change has to be discussed before a final decision is taken.

2021-02-22  Andrea Corallo  <akrl@sdf.org>

	Some clean-up in comp.el

	* lisp/emacs-lisp/comp.el (comp-func): Remove 'array-h'.
	(comp-spill-lap-function, comp-intern-func-in-ctxt)
	(comp-spill-lap-function, comp-addr-to-bb-name): Update
	accordingly.

2021-02-22  Andrea Corallo  <akrl@sdf.org>

	* configure.ac: Rename configure nativecomp flags into --with-native-comp.

	Configure now with '--with-native-comp'!

2021-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/antlr-mode.el: Remove XEmacs compatibility

	(cond-emacs-xemacs, cond-emacs-xemacs-macfn, defunx, ignore-errors-x):
	Remove those functions and macros.  Replace every use with the result
	of their use.
	(antlr-default-directory): Remove function, use the `default-directory`
	variable instead.
	(antlr-read-shell-command): Remove function, use
	`read-shell-command` instead.
	(antlr-with-displaying-help-buffer): Remove function, by inlining it at
	its only call site.
	(antlr-end-of-rule, antlr-beginning-of-rule, antlr-end-of-body)
	(antlr-beginning-of-body): Mark them as movement commands.

2021-02-22  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: 'C-x t N' bound to tab-new-to supports a negative argument

	* lisp/tab-bar.el (tab-bar-new-tab-to): Negative TO-INDEX counts
	tabs from the end of the tab bar.
	(tab-bar-new-tab): Fix docstring to add reference to
	'tab-bar-new-tab-to'.
	(tab-prefix-map): Bind "N" to tab-new-to.

2021-02-22  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: 'C-x t M' bound to tab-move-to supports a negative argument

	* lisp/tab-bar.el (tab-bar-move-tab-to): Negative TO-INDEX counts
	tabs from the end of the tab bar.
	(tab-bar-move-tab): Fix docstring to add reference to tab-bar-move-tab-to.
	(tab-prefix-map): Bind "M" to tab-move-to.

2021-02-22  Juri Linkov  <juri@linkov.net>

	'Mod-9' bound to 'tab-last' now switches to the last tab like in web browsers

	* lisp/tab-bar.el (tab-bar--define-keys): Rebind 0 from
	tab-bar-switch-to-recent-tab to its alias tab-recent.
	Bind 9 to tab-last.
	(tab-bar-switch-to-last-tab): New command.
	(tab-last): New alias to tab-bar-switch-to-last-tab.
	(tab-bar-switch-to-tab, tab-bar-undo-close-tab): Fix docstrings to
	avoid mentioning the term "last" for "most recently used" meaning.

2021-02-22  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar--undefine-keys): New function from tab-bar-mode.

2021-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	Prefer `declare` over a `put` of `list-indent-function`.

	While at it, I enabled lexical-binding in the affected files.

	* lisp/cedet/semantic/sb.el: Enable lexical-binding.
	(semantic-sb-with-tag-buffer): Use `declare`.

	* lisp/cedet/semantic/bovine/el.el: Enable lexical-binding.
	(semantic-elisp-setup-form-parser): Use `declare`.

	* lisp/emacs-lisp/ert.el:
	* lisp/emacs-lisp/ert-x.el: Remove redundant `put`.

	* lisp/emulation/cua-rect.el: Enable lexical-binding.
	(cua--rectangle-operation, cua--rectangle-aux-replace): Use `declare`.

	* lisp/mh-e/mh-acros.el: Enable lexical-binding.
	(mh-do-in-gnu-emacs, mh-do-in-xemacs, mh-funcall-if-exists, defun-mh)
	(defmacro-mh, with-mh-folder-updating, mh-in-show-buffer)
	(mh-do-at-event-location, mh-iterate-on-messages-in-region)
	(mh-iterate-on-range): Use `declare`.

	* lisp/mh-e/mh-compat.el: Enable lexical-binding.
	(mh-flet): Use `declare`.

	* lisp/mh-e/mh-e.el: Enable lexical-binding.
	(defgroup-mh, defcustom-mh, defface-mh): Use `declare`.

	* lisp/net/sieve.el: Enable lexical-binding.  Remove redundant :group args.
	(sieve-activate, sieve-remove, sieve-edit-script): Remove unused arg
	from the interactive spec.
	(sieve-deactivate-all): Remove unused var `name`.
	(sieve-change-region): Use `declare`.

	* lisp/obsolete/fast-lock.el: Enable lexical-binding.
	Remove redundant :group args.  Remove XEmacs compat code.
	(save-buffer-state): Remove macro.
	(fast-lock-add-properties): Use `with-silent-modifications` instead.

	* lisp/obsolete/lazy-lock.el: Enable lexical-binding.
	Remove redundant :group args.
	(do-while): Use `declare`.
	(save-buffer-state): Remove macro.
	(lazy-lock-fontify-rest-after-change, lazy-lock-defer-line-after-change)
	(lazy-lock-defer-rest-after-change, lazy-lock-after-fontify-buffer)
	(lazy-lock-after-unfontify-buffer, lazy-lock-fontify-region):
	Use `with-silent-modifications` instead.

	* lisp/obsolete/pgg.el: Enable lexical-binding.  Remove XEmacs compat code.
	(pgg-save-coding-system, pgg-as-lbt, pgg-process-when-success):
	Use `declare`.
	(pgg-add-passphrase-to-cache): Remove unused var `new-timer`.
	(pgg-decrypt-region): Remove unused var `buf`.

	* lisp/org/org-agenda.el (org-let, org-let2): Move from org-macs and
	use `declare`.

	* lisp/org/org-macs.el (org-let, org-let2): Move these functions that
	are inherently harmful to your karma to the only package that uses them.
	(org-scroll): Use `pcase` to avoid `eval` and use more readable syntax
	for those integers standing for events.

	* lisp/progmodes/antlr-mode.el: Enable lexical-binding.
	(save-buffer-state-x): Use `declare` and `with-silent-modifications`.

	* lisp/international/mule-util.el (with-coding-priority):
	* lisp/cedet/ede/proj-comp.el (proj-comp-insert-variable-once):
	* lisp/org/org-element.el (org-element-map):
	* test/lisp/emacs-lisp/bytecomp-tests.el (test-byte-comp-compile-and-load):
	* test/lisp/emacs-lisp/generator-tests.el (cps-testcase): Use `declare`.

2021-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix ANSI coloring problem in large outputs in eshell

	* lisp/ansi-color.el (ansi-color-apply-on-region): Ensure that we
	fontize from where we left off, and don't skip to the end of the
	region (bug#46332).

2021-02-22  Julian Scheid  <julians37@gmail.com>

	cl-extra: Fix docstring retrieval

	* lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Fix
	docstring retrieval (bug#46662).

2021-02-22  Robert Pluim  <rpluim@gmail.com>

	Skip tests that require Internet when there's no Internet

	Bug#46641

	The network-stream-tests actually work fine when the local machine has
	no IP at all, but cause a crash in the GnuTLS library when there is an
	IP configured but the interface is down.

	* test/lisp/net/network-stream-tests.el (internet-is-working): New
	defvar, checks if we can resolve "google.com".
	(connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait)
	(open-network-stream-tls-nowait, open-gnutls-stream-new-api-nowait)
	(open-gnutls-stream-old-api-nowait): Use it to check for working
	Internet access.

	* test/src/process-tests.el (internet-is-working): New defvar, checks
	if we can resolve "google.com".
	(lookup-family-specification, lookup-unicode-domains)
	(unibyte-domain-name, lookup-google, non-existent-lookup-failure): Use
	it to check for working Internet access.

2021-02-22  Robert Pluim  <rpluim@gmail.com>

	Fix hang when running dns-query with no working internet

	* lisp/net/dns.el (dns-set-servers): reduce the timeout and retry
	count when using 'nslookup' for "localhost".
	(dns-query): Check to see if we actually managed to initiate a dns
	request before starting a busy-wait for the result.

2021-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Simplify comint-watch-for-password-prompt

	* lisp/comint.el (comint-watch-for-password-prompt): Simplify by
	using `string-trim'.

2021-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix prompt for the `M-S-x' command

	* lisp/simple.el (read-extended-command): Further kludge the
	hard-coded "M-x" prompt for the new `M-S-x' command.

2021-02-22  Andrea Corallo  <akrl@sdf.org>

	Don't use paths to indicate filenames

	* lisp/emacs-lisp/comp.el (native--compile-async)
	(native-compile-async): Replace `paths' argname with `files'.

2021-02-22  Andrea Corallo  <akrl@sdf.org>

	Fix union constraint for mixed pos/neg constraints

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix neg
	type shadowing pos values.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add testcase.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Fix testcase.

2021-02-22  Stefan Kangas  <stefan@marxist.se>

	Prefer mailing lists to newsgroups in FAQ

	* doc/misc/efaq.texi (Real meaning of copyleft)
	(Guidelines for mailing list postings, Mailing list archives)
	(Packages that do not come with Emacs): Prefer mailing lists to
	newsgroups.  (Bug#46633)

2021-02-22  Stefan Kangas  <stefan@marxist.se>

	Improve wrong number of args error message in propertize

	* src/editfns.c (Fpropertize): Improve error message.
	(syms_of_editfns) <Qpropertize>: New DEFSYM.
	* test/src/editfns-tests.el
	(propertize/error-wrong-number-of-args): New test.

2021-02-22  Mattias Engdegård  <mattiase@acm.org>

	Fix compilation of closures with nontrivial doc strings

	* lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure):
	Use the supplied doc string if it's a literal; fall back to the old
	slow way of building a closure otherwise.

2021-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous conf-mode.el and nroff-mode.el change slightly

	* lisp/textmodes/conf-mode.el (conf-mode-map): Remove variable now
	unused.

	* lisp/textmodes/nroff-mode.el (nroff-mode-map): Remove variable
	now unused.

2021-02-22  Glenn Morris  <rgm@gnu.org>

	* test/misc/test-custom-libs.el (test-custom-libs): Skip on hydra.

	* test/misc/test-custom-noloads.el (custom-test-load): Unstable.

2021-02-22  Stefan Kangas  <stefan@marxist.se>

	Convert some textmodes menus to easy-menu-define

	* lisp/textmodes/artist.el (artist-menu-map): Convert menu definition
	to easy-menu-define.

	* lisp/textmodes/conf-mode.el (conf-mode-map):
	* lisp/textmodes/nroff-mode.el (nroff-mode-map): Move menu
	definition from here...
	* lisp/textmodes/conf-mode.el (conf-mode-menu):
	* lisp/textmodes/nroff-mode.el (nroff-mode-menu): ...to here, and
	convert to use easy-menu-define.

2021-02-21  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-spill-lap): Fix doc string.

	Merge remote-tracking branch 'savannah/master' into HEAD

2021-02-21  Mattias Engdegård  <mattiase@acm.org>

	Faster, more compact, and readable closure creation

	Simplify closure creation by calling a single function at run time
	instead of putting it together from small pieces.  This is faster
	(by about a factor 2), takes less space on disk and in memory, and
	makes internal functions somewhat readable in disassembly listings again.

	This is done by creating a prototype function at compile-time whose
	closure variables are placeholder values V0, V1... which can be seen
	in the disassembly.  The prototype is then cloned at run time using
	the new make-closure function that replaces the placeholders with
	the actual closure variables.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure):
	Generate call to make-closure from a prototype function.
	* src/alloc.c (Fmake_closure): New function.
	(syms_of_alloc): Defsubr it.
	* src/data.c (syms_of_data): Defsym byte-code-function-p.

2021-02-21  Stefan Kangas  <stefan@marxist.se>

	Run admin/cus-tests.el tests from test suite

	* test/Makefile.in (SUBDIRS): Run tests in new directory "misc",
	intended for tests not belonging to any one file.
	* test/misc/test-custom-deps.el:
	* test/misc/test-custom-libs.el:
	* test/misc/test-custom-noloads.el:
	* test/misc/test-custom-opts.el: New files.
	* test/lisp/custom-tests.el (custom--test-local-option): Move test to
	above new file test-custom-opts.el.

	* admin/cus-test.el: Document running tests from regular test suite.
	* test/file-organization.org (Test Files): Document new test directory
	"misc" for tests not belonging to any one file.

2021-02-21  Stefan Kangas  <stefan@marxist.se>

	Fix interactive mode tagging for man and woman

	* lisp/man.el (man-common): New mode inheriting special-mode.
	(Man-mode):
	* lisp/woman.el (woman-mode): Inherit from man-common.

	* lisp/man.el (man-follow, Man-update-manpage)
	(Man-fontify-manpage, Man-cleanup-manpage, Man-next-section)
	(Man-previous-section, Man-goto-section)
	(Man-goto-see-also-section, Man-follow-manual-reference)
	(Man-kill, Man-goto-page, Man-next-manpage)
	(Man-previous-manpage): Change interactive mode tag to man-common.

	This was discussed in:
	https://lists.gnu.org/r/emacs-devel/2021-02/msg01619.html

2021-02-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Declare that `ignore' and `undefined' shouldn't be completed over

	* lisp/subr.el (ignore, undefined): Declare that these shouldn't
	be completed over.

2021-02-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Use `undefined' instead of `ignore' in wdired

	* lisp/wdired.el (wdired-mode-map): Use `undefined' here instead
	of `ignore' to give the user more feedback.

2021-02-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix json.el encoding of confusable object keys

	* lisp/json.el (json-encode-string): Clarify commentary.
	(json--encode-stringlike): New function that covers a subset of
	json-encode.
	(json-encode-key): Use it for more efficient encoding and
	validation, and to avoid mishandling confusable keys like boolean
	symbols (bug#42545).
	(json-encode-array): Make it clearer that argument can be a list.
	(json-encode): Reuse json-encode-keyword and json--encode-stringlike
	for a subset of the dispatch logic.
	(json-pretty-print): Ensure confusable keys like ":a" survive a
	decoding/encoding roundtrip (bug#24252, bug#45032).

	* test/lisp/json-tests.el (test-json-encode-string)
	(test-json-encode-hash-table, test-json-encode-alist)
	(test-json-encode-plist, test-json-pretty-print-object): Test
	encoding of confusable keys.

2021-02-21  Stefan Kangas  <stefan@marxist.se>

	Make unused variable menu-bar-handwrite-map obsolete

	* lisp/play/handwrite.el (menu-bar-handwrite-map): Make unused
	variable obsolete.

2021-02-21  Stefan Kangas  <stefan@marxist.se>

	Convert bubbles menu to easy-menu-define

	* lisp/play/bubbles.el (bubbles-game-theme-menu)
	(bubbles-graphics-theme-menu, bubbles-menu, bubbles-mode-map):
	Move menu definition from here...
	(bubbles-menu): ...to here, and convert to easy-menu-define.

2021-02-21  Stefan Kangas  <stefan@marxist.se>

	* etc/NEWS.19: Add entry for 'easy-menu-define'.

2021-02-21  Stefan Kangas  <stefan@marxist.se>

	Convert some progmodes menus to easy-menu-define

	* lisp/progmodes/asm-mode.el (asm-mode-map):
	* lisp/progmodes/grep.el (grep-mode-map):
	* lisp/progmodes/m4-mode.el (m4-mode-map):
	* lisp/progmodes/sh-script.el (sh-mode-map): Move menu definition from here...
	* lisp/progmodes/asm-mode.el (asm-mode-menu):
	* lisp/progmodes/grep.el (grep-menu-map):
	* lisp/progmodes/m4-mode.el (m4-mode-menu):
	* lisp/progmodes/sh-script.el (sh-mode-menu): ...to here, and rewrite
	using easy-menu-define.

2021-02-21  Michael Albinus  <michael.albinus@gmx.de>

	Clarification of password handling in Tramp manual

	* doc/misc/tramp.texi (Password handling): Describe, how to
	suppress `auth-sources' for Tramp.
	(Remote shell setup, Remote processes)
	(Cleanup remote connections, Frequently Asked Questions):
	Handle reference to Emacs manual.

2021-02-20  Alan Third  <alan@idiocy.org>

	Fix memory leak

	* src/nsterm.m ([EmacsSurface dealloc]): Release will remove all
	objects and free the memory.

2021-02-20  Stefan Kangas  <stefan@marxist.se>

	Convert makefile-mode menu to easy-menu-define

	* lisp/progmodes/make-mode.el (makefile-mode-map): Move menu
	definition from here...
	(makefile-mode-menu): ...to here, and rewrite using easy-menu-define.

2021-02-20  F. Jason Park  <jp@neverwas.me>

	Mute noisy test fixture for socks.el

	* test/lisp/net/socks-tests.el:
	(socks-tests-perform-hello-world-http-request): Bind
	'inhibit-message' non-nil when in batch mode.
	(Bug#46342)

2021-02-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Change command-completion-using-modes-p to defun

	* lisp/simple.el (command-completion-using-modes-p): Change into a
	defun for now because of a build problem.

2021-02-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `M-S-x' in the Emacs manual.

	* doc/emacs/m-x.texi (M-x): Mention `M-S-x' in the Emacs manual.

2021-02-20  Stefan Kangas  <stefan@marxist.se>

	* lisp/help.el (help-for-help-internal): Doc fix; use imperative.

2021-02-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new command for mode-specific commands

	* doc/lispref/commands.texi (Interactive Call): Document it.
	* lisp/simple.el (command-completion-using-modes-p): Refactored
	out into its own function for reuse...
	(command-completion-default-include-p): ... from here.
	(execute-extended-command-for-buffer): New command and keystroke
	(`M-S-x').

2021-02-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Change how (declare (modes store the data

	* lisp/emacs-lisp/byte-run.el (byte-run--set-modes): Change from
	being a predicate to storing the modes.  This allows using the
	modes for positive command discovery, too.
	* src/data.c (Fcommand_modes): Look at the `command-modes' symbol
	property, too.

2021-02-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Add the `always' function

	* doc/lispref/functions.texi (Calling Functions): Document it.
	* lisp/subr.el (always): New function.

	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Mark it as
	side effect free.

2021-02-20  F. Jason Park  <jp@neverwas.me>

	Use raw bytes for SOCKS 4 IP addresses

	* lisp/net/socks.el: (socks--open-network-stream, socks-send-command):
	* test/lisp/net/socks-tests.el: (socks-tests-v4-basic): (Bug#46342).

2021-02-20  F. Jason Park  <jp@neverwas.me>

	Add more auth-related tests for socks.el

	* test/lisp/net/socks-tests.el (auth-registration-and-suite-offer)
	(filter-response-parsing-v4, filter-response-parsing-v5): Assert
	auth-method selection wrangling and socks-filter parsing.
	(v5-auth-user-pass, v5-auth-user-pass-blank, v5-auth-none): Show prep
	and execution of the SOCKS connect command and proxying of an HTTP
	request; simplify fake server.  (Bug#46342)

2021-02-20  Stefan Kangas  <stefan@marxist.se>

	Convert re-builder menu to easy-menu-define

	* lisp/emacs-lisp/re-builder.el (reb-mode-map): Move menu
	definition from here...
	(reb-mode-menu): ...to here, and rewrite using easy-menu-define.

2021-02-20  Stefan Kangas  <stefan@marxist.se>

	Convert finder menu to easy-menu-define

	* lisp/finder.el (finder-mode-map): Move menu definition from
	here...
	(finder-mode-menu): ...to here, and rewrite using
	easy-menu-define.

2021-02-20  Stefan Kangas  <stefan@marxist.se>

	Add toolbar for help-mode

	* lisp/help-mode.el (help-mode): Add toolbar.
	(help-mode-tool-bar-map): New variable.
	(help-mode-menu): Disable forward/backward items when stack is empty.

	(help-bookmark-make-record, help-bookmark-jump): Minor doc fixes.

2021-02-20  Stefan Kangas  <stefan@marxist.se>

	* lisp/woman.el: Doc fix; remove redundant setup info.

2021-02-19  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	* lisp/url/url-http.el (url-http): Fix docstring typo.

2021-02-19  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	ntlm-tests: Remove missing dependency warnings

	* test/lisp/net/ntlm-tests.el: Remove warnings about dependencies
	not being present.

2021-02-19  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
	    Michael Albinus  <michael.albinus@gmx.de>

	ntlm-tests: Skip tests if dependencies are too old

	* test/lisp/net/ntlm-tests.el (ntlm-tests--dependencies-present):
	Add version and functionality checks.

2021-02-19  Andrea Corallo  <akrl@sdf.org>

	Work around bug#46495 (GCC PR99126)

	* src/comp.c (gcc_jit_context_add_command_line_option): Import for
	dynamic load.
	(Fcomp__compile_ctxt_to_file): Disable GCC "isolate-paths" on GCC
	10.

2021-02-19  Andrea Corallo  <akrl@sdf.org>

	Remove unnecessary function 'emit_rvalue_from_unsigned_long_long'

	* src/comp.c (emit_rvalue_from_unsigned_long_long): Remove
	function.
	(emit_rvalue_from_emacs_uint, emit_rvalue_from_lisp_word_tag)
	(emit_rvalue_from_lisp_word): Make use of
	'emit_rvalue_from_long_long'.

2021-02-19  Andrea Corallo  <akrl@sdf.org>

	Pacify GCC warning on non wide-int configurations

	* src/comp.c (emit_rvalue_from_emacs_uint)
	(emit_rvalue_from_lisp_word_tag): Pacify GCC warning.
	(emit_rvalue_from_unsigned_long_long): Define it only when
	necessary.

2021-02-19  Alan Third  <alan@idiocy.org>

	Fix frame contents scaling bug on macOS (bug#46155)

	Discussion in bug#46406.

	* src/nsterm.m ([EmacsView focusOnDrawingBuffer:]): Set the scale
	factor for the backing layer.

2021-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bytecomp.el: Don't warn for repeated _ args

	(byte-compile-check-lambda-list): Skip warnings of repeated arg for
	those that are declared as unused anyway.

2021-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/emacs-lisp/edebug-tests.el: Adjust to new `edebug-eval-defun`.

	(edebug-tests-trivial-backquote): Adjust to the way `eval-defun`
	outputs its result.
	(edebug-tests-cl-macrolet): Adjust to the fact that now macro expansion
	takes place during the `eval-defun` even when Edebugging.

2021-02-19  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	8e8b46ef81 (origin/emacs-27) More accurate documentation of the "r" i...
	dcb2015a5b Mention the GNU Kind Communications Guidelines in the FAQ
	9882e63eea ; * CONTRIBUTE: Another wording change regarding tiny chan...
	850f18ef23 Allow newlines in password prompts again in comint
	c977370dd7 Avoid point movement when visiting image files
	da64a257a4 ; * CONTRIBUTE: Yet another clarification of significant c...
	d03f2a6ee9 Avoid assertion violation in callproc.c
	dcc00bbb19 ; * CONTRIBUTE: Clarify the "15-lines" rule a bit more.

2021-02-19  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	4712c75ab8 Clarify when activate-mark-hook is run
	abedf3a865 Fix language-environment and font selection on MS-Windows
	8b8708eadd Fix example in Sequence Functions node in the manual

2021-02-19  Ulf Jasper  <ulf.jasper@web.de>

	Enable newsticker--group-shift-feed-(up|down) to move groups as well

	Fix broken newsticker--group-shift-group-(up-down).

	* lisp/net/newst-treeview.el (newsticker-treeview-jump): Change prompt
	string.
	(newsticker--group-shift): Move the group when a group is currently
	selected. Fix error when explicitly shifting a group. (Fixes first
	issue in Bug#41376.)

2021-02-19  Eli Zaretskii  <eliz@gnu.org>

	More accurate documentation of the "r" interactive spec

	* doc/lispref/commands.texi (Interactive Codes): Describe the
	effect of 'mark-even-if-inactive'.

2021-02-19  Mattias Engdegård  <mattiase@acm.org>

	Fix regexp mistakes

	* lisp/progmodes/cperl-mode.el (cperl--package-regexp):
	Avoid double repetition; cperl--ws-or-comment-regexp is already
	repeated with 1+.
	* test/lisp/textmodes/dns-mode-tests.el
	(dns-mode-tests-dns-mode-soa-increment-serial): Escape literal '$'.
	* test/lisp/emacs-lisp/rx-tests.el (rx-regexp): Modify test to not
	trigger a linting warning while retaining its testing power.

2021-02-19  Stefan Kangas  <stefan@marxist.se>

	Mention the GNU Kind Communications Guidelines in the FAQ

	* doc/misc/efaq.texi (Guidelines for newsgroup postings): Mention
	the GNU Kind Communications Guidelines.

2021-02-19  Stefan Kangas  <stefan@marxist.se>

	* lisp/calculator.el: Minor doc fix.  Remove redundant :group args.

2021-02-19  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp bug#46625

	* test/lisp/net/tramp-tests.el (tramp-test33-environment-variables):
	Adapt test.  (Bug#46625)

2021-02-19  Stefan Kangas  <stefan@marxist.se>

	Do interactive mode tagging for snake.el

	Do interactive mode tagging for tetris.el

	Do interactive mode tagging for man.el

	Do interactive mode tagging for package.el

2021-02-19  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	Implement NTLM server for ntlm.el testing

	* test/Makefile.in
	(GNU_ELPA_DIRECTORY, elpa_dependencies, elpa_els, elpa_opts): New
	variables.
	(EMACSOPT, ert_opts): Add elpa_opts.
	* test/README: Document GNU_ELPA_DIRECTORY make variable.
	* test/lisp/net/ntlm-tests.el: Fix checkdoc-reported issues.
	(ntlm-tests-message, ntlm-server-build-type-2, ntlm-server-hash)
	(ntlm-server-check-authorization, ntlm-server-do-token)
	(ntlm-server-filter, ntlm-server-handler, ntlm-server-start)
	(ntlm-server-stop, ntlm-tests--url-retrieve-internal-around)
	(ntlm-tests--authenticate)
	(ntlm-tests--start-server-authenticate-stop-server): New
	functions.
	(ntlm-tests--username-oem, ntlm-tests--username-unicode)
	(ntlm-tests--client-supports-unicode, ntlm-tests--challenge)
	(ntlm-tests--result-buffer, ntlm-tests--successful-result): New
	variables.
	(ntlm-authentication)
	(ntlm-authentication-old-compatibility-level): New tests.
	* test/lisp/net/ntlm-resources/authinfo: New file.  (Bug#43566)

2021-02-18  Andrea Corallo  <akrl@sdf.org>

	* src/pdumper.c (dump_do_dump_relocation): Use emacs_fopen + ENCODE_FILE.

	* src/emacs.c (syms_of_emacs): Add a FIXME for Windows native-comp.

2021-02-18  Andrea Corallo  <akrl@sdf.org>

	Add a bunch of assertions for fixnums coming from Lisp later used as int

	* src/comp.c (emit_limple_insn, declare_lex_function)
	(compile_function, Fcomp__compile_ctxt_to_file): Add some
	assertion.

2021-02-18  Andrea Corallo  <akrl@sdf.org>

	Add assertion guarding against emitting a relocation array overflow

	* src/comp.c (reloc_array_t): New type.
	(comp_t, imm_reloc_t): Make use of 'reloc_array_t'.
	(obj_to_reloc): Add an assertion not to overflow relocation
	arrays.
	(emit_lisp_obj_reloc_lval, emit_limple_insn)
	(declare_imported_data_relocs): Make use of 'reloc_array_t'.

2021-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bindat.el: Tweak example in comment

	Suggested by Kim Storm <storm@cua.dk>.

2021-02-18  Mattias Engdegård  <mattiase@acm.org>

	Fix typos

	* doc/lispref/display.texi (Size of Displayed Text):
	* doc/lispref/windows.texi (Buffer Display Action Functions):
	* etc/NEWS:
	* etc/ORG-NEWS (Org-Attach has been refactored and extended):
	* lisp/battery.el (display-battery-mode, battery--upower-subsribe):
	* lisp/calendar/parse-time.el:
	* lisp/dired-x.el:
	* lisp/emacs-lisp/chart.el (chart-sequece, chart-bar-quickie):
	* lisp/emacs-lisp/eldoc.el (eldoc-echo-area-use-multiline-p)
	(eldoc-documentation-strategy):
	* lisp/emacs-lisp/pcase.el (pcase--split-pred, pcase--u1):
	* lisp/gnus/gnus-search.el (gnus-search-expandable-keys)
	(gnus-search-parse-query, gnus-search-query-return-string)
	(gnus-search-imap, gnus-search-imap-search-command)
	(gnus-search-transform-expression):
	* lisp/gnus/nnselect.el:
	* lisp/isearch.el (isearch-lazy-count-format):
	* lisp/mh-e/mh-show.el (mh-show-msg):
	* lisp/net/dictionary-connection.el (dictionary-connection-open):
	* lisp/net/dictionary.el (dictionary-default-popup-strategy)
	(dictionary, dictionary-split-string, dictionary-do-select-dictionary)
	(dictionary-display-dictionarys, dictionary-search)
	(dictionary-tooltip-mode):
	* lisp/net/eudcb-macos-contacts.el (eudc-macos-contacts-set-server):
	* lisp/net/mailcap.el (mailcap-mime-data):
	* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
	* lisp/nxml/nxml-mode.el (nxml-mode):
	* lisp/progmodes/cc-engine.el:
	* lisp/progmodes/cperl-mode.el (cperl-mode)
	(cperl-fontify-syntaxically):
	* lisp/progmodes/flymake.el (flymake-diagnostic-functions):
	* lisp/progmodes/verilog-mode.el (verilog--supressed-warnings)
	(verilog-preprocess):
	* lisp/simple.el (self-insert-uses-region-functions):
	* lisp/textmodes/bibtex.el (bibtex-copy-summary-as-kill):
	* lisp/textmodes/texnfo-upd.el (texinfo-insert-master-menu-list):
	* src/dispnew.c:
	* src/font.c (Ffont_get):
	* src/indent.c (compute_motion):
	* src/process.c (init_process_emacs):
	* src/w32fns.c (deliver_wm_chars):
	* test/lisp/jsonrpc-tests.el (deferred-action-complex-tests):
	Fix typos in documentation, comments, and internal identifiers.

2021-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/edebug.el (eval-defun): Simplify

	(edebug-all-defs, edebug-all-forms): Don't autoload since the problem
	it was working around has been fixed a while back.
	(edebug--eval-defun): Rename from `edebug-eval-defun` and simplify by
	making it an `:around` advice.
	(edebug-install-read-eval-functions)
	(edebug-uninstall-read-eval-functions): Adjust accordingly.
	(edebug-eval-defun): Redefine as an obsolete wrapper.

	* lisp/progmodes/elisp-mode.el (elisp--eval-defun):
	Use `load-read-function` so it obeys `edebug-all-(defs|forms)`.
	(elisp--eval-defun): Fix recent regression introduced with
	`elisp--eval-defun-result`.

2021-02-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Do interactive mode tagging for python.el navigation functions."

	This reverts commit 546f552e7b2439b482c7d28222fb88761a9c876a.

	This is a "core package", so can't use the new syntax.

2021-02-18  Ryan Prior  <rprior@protonmail.com>  (tiny change)

	Allow newlines in password prompts again in comint

	* lisp/comint.el (comint-password-prompt-regexp): Match all
	whitespace (including newline) at the end of the passphrase, not
	just space and \t (bug#46609).
	(comint-watch-for-password-prompt): Remove trailing newlines from
	the prompt (bug#46609).

2021-02-18  Doug Davis  <ddavis@ddavis.io>  (tiny change)

	Do interactive mode tagging for python.el navigation functions.

	* lisp/progmodes/python.el (navigation functions): Add python-mode to
	`interactive' declarations for mode-specific commands (bug#46610).

2021-02-18  Mattias Engdegård  <mattiase@acm.org>

	Fix rx `regexp` form with deprecated syntax

	The argument of the rx `regexp` form is assumed to evaluate to a valid
	regexp, but certain kinds of deprecated but still accepted usage were
	not handled correctly, such as unescaped literal (special) characters:
	 (rx "a" (regexp "*")) => "a*" which is wrong.
	Handle these cases; there is no extra trouble.

	* lisp/emacs-lisp/rx.el (rx--translate-regexp): Force bracketing
	of single special characters.
	* test/lisp/emacs-lisp/rx-tests.el (rx-regexp): Add test case.

2021-02-18  Dmitry Gutov  <dgutov@yandex.ru>

	Move 'project-try-ede' to the back of 'project-find-functions'

	* lisp/cedet/ede.el (project-find-functions):
	Move 'project-try-ede' further back, so that 'project-try-vc' has
	priority (bug46202).

2021-02-18  Dmitry Gutov  <dgutov@yandex.ru>

	Present C source files as absolute file names too when possible

	* lisp/progmodes/elisp-mode.el (xref-location-group):
	Present C source files as absolute file names too when possible
	(bug#46514).

2021-02-17  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix recent Command Modes changes in Elisp manual

	* doc/lispref/commands.texi (Command Modes): Fix typos and grammar.
	Cross-reference the 'declare' form node.

2021-02-17  Matt Armstrong  <matt@rfc20.org>

	doc/lispref/commands.texi (Command Modes): Fix typo.

	* doc/lispref/commands.texi (Command Modes): Fix typo.

2021-02-17  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into native-comp

2021-02-17  Alan Mackenzie  <acm@muc.de>

	Make goto-line-history buffer local only when so customized

	* lisp/simple.el (goto-line-history-local): New customizable option.
	(goto-line-history): Define this simply with defvar, not defvar-local.
	(goto-line-read-args): Handle goto-line-history-local, and changes to it.

	* doc/emacs/basic.texi (Moving Point): Add a paragraph about
	goto-line-history-local.

	* etc/NEWS: Add an item under "Editing Changes in Emacs 28.1".

2021-02-17  Andrea Corallo  <akrl@sdf.org>

	Fix inverted logic in constraint comparison (bug#46540)

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr->, comp-cstr->=)
	(comp-cstr-<, comp-cstr-<=): Fix inverted logic.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add
	three integer constrain tests.

2021-02-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust the edebug spec for `interactive'

	* lisp/emacs-lisp/edebug.el: Adjust the edebug spec for
	`interactive' for the new syntax.

2021-02-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make unused `Buffer-menu-sort' alias obsolete

	* lisp/buff-menu.el (Buffer-menu-sort): Make unused alias obsolete.
	* test/lisp/progmodes/elisp-mode-tests.el
	(find-defs-defalias-defun-el): Adjust test to use an alias that's
	not obsolete.

2021-02-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark up commands in buff-menu.el for modes

2021-02-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Explicate on how to tag commands with modes

	* doc/lispref/commands.texi (Command Modes): New node.
	(Using Interactive): Move the `modes' text to the new node.

2021-02-17  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (Fcomp__compile_ctxt_to_file): Clean-up unused variable.

2021-02-17  Juri Linkov  <juri@linkov.net>

	New transient mode 'repeat-mode' to allow shorter key sequences (bug#46515)

	* doc/emacs/basic.texi (Repeating): Document repeat-mode.

	* lisp/repeat.el (repeat-exit-key): New defcustom.
	(repeat-mode): New global minor mode.
	(repeat-post-hook): New function.

	* lisp/bindings.el (undo-repeat-map): New variable.
	(undo): Put 'repeat-map' property with
	'undo-repeat-map'.
	(next-error-repeat-map): New variable.
	(next-error, previous-error): Put 'repeat-map' property with
	'next-error-repeat-map'.

	* lisp/window.el (other-window-repeat-map): New variable.
	(other-window): Put 'repeat-map' property with
	'other-window-repeat-map'.
	(resize-window-repeat-map): New variable.
	(enlarge-window, enlarge-window-horizontally)
	(shrink-window-horizontally, shrink-window): Put 'repeat-map'
	property with 'resize-window-repeat-map'.

2021-02-17  Juri Linkov  <juri@linkov.net>

	New command 'tab-duplicate' like in web browsers

2021-02-17  Michael Albinus  <michael.albinus@gmx.de>

	Further Tramp code cleanup

	* doc/misc/tramp.texi (Predefined connection information):
	Mention "about-args".

	* lisp/net/tramp-cmds.el (tramp-version): Adapt docstring.

	* lisp/net/tramp.el (tramp-handle-expand-file-name):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
	* lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name)
	* lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name):
	Handle local "/..".

	* lisp/net/tramp-rclone.el (tramp-methods) <rclone>:
	Adapt `tramp-mount-args'.
	(tramp-rclone-flush-directory-cache): Remove.
	(tramp-rclone-do-copy-or-rename-file)
	(tramp-rclone-handle-delete-directory)
	(tramp-rclone-handle-delete-file)
	(tramp-rclone-handle-make-directory): Don't use that function.
	(tramp-rclone-maybe-open-connection): Fix use of `tramp-mount-args'.

	* lisp/net/trampver.el (tramp-inside-emacs): New defun.
	* lisp/net/tramp.el (tramp-handle-make-process):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
	(tramp-sh-handle-process-file, tramp-open-shell): Use it.
	(tramp-get-env-with-u-option): Remove.

	* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-top):
	New test.

2021-02-17  Eli Zaretskii  <eliz@gnu.org>

	Disable filtering of commands in M-x completion

	This makes the default behavior like it was before:
	M-x completion doesn't filter out any commands.  To
	have commands filtered based on their relevance to the
	current buffer's modes, customize the option
	'read-extended-command-predicate' to call
	'command-completion-default-include-p'.
	* doc/lispref/commands.texi (Interactive Call):
	* doc/emacs/m-x.texi (M-x): Update the description of
	'read-extended-command-predicate' and improve wording.

	* etc/NEWS: Update the entry about
	'read-extended-command-predicate'.

	* lisp/simple.el (read-extended-command-predicate): Change default
	value to nil.  Update doc string.  Add :group.
	(read-extended-command): Handle nil as meaning to apply
	no-filtering.

2021-02-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix recently introduced bug in `byte-compile-lambda'

	* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Fix recently
	introduced error when compiling non-lexical commands (bug#46589).

2021-02-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify 'read-extended-command-predicate' in NEWS

2021-02-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Change name for the completion-* predicates

	* lisp/simple.el (command-completion-default-include-p)
	(command-completion-with-modes-p, command-completion-button-p):
	Rename from completion-*.
	(read-extended-command-predicate): Adjust default predicate.

	* lisp/emacs-lisp/byte-run.el (byte-run--set-modes): Adjust
	predicate name.

2021-02-17  Glenn Morris  <rgm@gnu.org>

	* configure.ac: Replace obsolete AC_CHECK_HEADER usage.  (Bug#46578)

	* configure.ac: Replace obsolete AC_TRY_LINK with AC_LINK_IFELSE.

2021-02-17  Glenn Morris  <rgm@gnu.org>

	Remove TIME_WITH_SYS_TIME, unused for a long time

	* configure.ac (AC_HEADER_TIME): Remove.  (Bug#46578)

2021-02-17  Harald Jörg  <haj@posteo.de>

	cperl-mode: Improve detection of index entries for imenu

	* lisp/progmodes/cperl-mode.el
	(cperl-imenu-addback): Customization variable deleted.  This
	variable has been declared obsolete in 1998.
	(cperl--basic-identifier-regexp) and many other variables:
	defining regular expressions for basic Perl constructs.
	(cperl-imenu--create-perl-index): This function has been
	completely rewritten, keeping only some parts of the output
	formatting.  It now recognizes a lot more package and
	subroutine declarations which came since Perl 5.14: Packages
	with a version and/or a block attached, lexical subroutines,
	declarations with a newline between the keyword "package" and
	the package name, and several more.  This version also
	correctly separates subroutine names from attributes, does no
	longer support "unnamed" packages (which don't exist in Perl),
	and doesn't fall for false positives like stuff that looks
	like a declaration in a multiline string.
	(cperl-tags-hier-init): Eliminate call to
	`cperl-imenu-addback` (which actually was commented out in
	1997)

	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-test--validate-regexp) and six other new tests for the
	new regular expressions and the index creation.

	* test/lisp/progmodes/cperl-mode-resources/grammar.pl: New
	file showcasing different syntax variations for package and
	sub declarations (bug#46574).

2021-02-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't move point in `exif-parse-buffer'

	* lisp/image/exif.el (exif-parse-buffer): Don't move point
	(bug#46552).

2021-02-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix edebug spec for minibuffer-with-setup-hook

	* lisp/files.el (minibuffer-with-setup-hook): Instrument the
	:append form for edebug (bug#46531).

2021-02-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify Gnus Agent expiry quirks

	* doc/misc/gnus.texi (Agent Expiry): Mention that the last article
	won't be expired (bug#46533).

2021-02-16  Andrea Corallo  <akrl@sdf.org>

	Clean-up some signal related dead-code

	* src/comp.c (restore_sigmask): Remove function.
	(Fcomp__compile_ctxt_to_file): Remove some dead-code.

2021-02-16  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (check_comp_unit_relocs): Prefer ptrdiff_t to EMACS_INT.

2021-02-16  Andrea Corallo  <akrl@sdf.org>

	Better long range check

	* src/comp.c (emit_rvalue_from_emacs_uint)
	(emit_rvalue_from_emacs_int, emit_rvalue_from_lisp_word_tag)
	(emit_rvalue_from_lisp_word): Better long range check.

2021-02-16  Andrea Corallo  <akrl@sdf.org>

	Sanitize frame slot access in final

	* src/comp.c (comp_t): Add 'frame_size' field.
	(emit_mvar_lval): Add sanity check on frame element access.
	(compile_function): Initialize 'comp.frame_size' and
	'comp.frame_size'.

2021-02-16  Glenn Morris  <rgm@gnu.org>

	thumbs.el: avoid creating thumbs directory on loading library

	* lisp/thumbs.el (thumbs-cleanup-thumbsdir):
	Don't create the thumbs directory if it does not exist.

2021-02-16  Glenn Morris  <rgm@gnu.org>

	* admin/cus-test.el (cus-test-load-libs): Quieten loading.

	* admin/cus-test.el (cus-test-get-lisp-files): Ignore loaddefs files.

2021-02-16  Bastian Beranek  <bastian.beischer@rwth-aachen.de>

	* lisp/tab-bar.el: Fix behavior of toggle-frame-tab-bar (bug #46299)

	(toggle-frame-tab-bar): Add frame parameter to protect tab bar state.
	(tab-bar--update-tab-bar-lines): Check parameter.

2021-02-16  Basil L. Contovounesios  <contovob@tcd.ie>

	Pacify unused function warning in xfns.c with GTK2

	* src/xfns.c (x_get_net_workarea, x_get_monitor_for_frame)
	(x_make_monitor_attribute_list, x_get_monitor_attributes_fallback):
	[HAVE_XINERAMA] (x_get_monitor_attributes_xinerama)
	[HAVE_XRANDR] (x_get_monitor_attributes_xrandr)
	(x_get_monitor_attributes): Fix #ifdefs around definitions to avoid
	unused function warnings regardless of GTK use (bug#46509).
	[HAVE_XRANDR] (x_get_monitor_attributes_xrandr): Undefine
	RANDR13_LIBRARY after it's been used.

2021-02-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Fix problem of point movement in image-mode"

	This reverts commit 7c7377288a125ef47f2b422cf131f044a3b418e1.

	This is fixed differently in Emacs 27.

2021-02-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem of point movement in image-mode

	* lisp/image-mode.el (image-mode): Switch disable-point-adjustment
	on, otherwise `C-c C-c' will move point around oddly.
	(image-toggle-display): Ensure that point is on the image (bug#46552).

2021-02-16  Eli Zaretskii  <eliz@gnu.org>

	Avoid point movement when visiting image files

	* lisp/image-mode.el (image-toggle-display-image): Preserve point
	around the call to exif-parse-buffer, to prevent it from moving
	into the image data.  (Bug#46552)

2021-02-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Do interactive mode tagging for info.el

2021-02-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't resize images in image-mode if we have a rotation

	* lisp/image-mode.el (image-fit-to-window): Don't resize of we
	have a manually rotated imaged (and explain the resizing logic a
	bit).

2021-02-16  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	make smerge-vc-next-conflict wrap around

	* lisp/vc/smerge-mode.el:
	(smerge-vc-next-conflict): While searching for conflict markers,
	wrap search around if current file is the last one with conflicts
	(bug#46538).

2021-02-16  Stefan Kangas  <stefan@marxist.se>

	Do `interactive' mode tagging in gomoku.el

	* lisp/play/gomoku.el: Do `interactive' mode tagging.

2021-02-16  Stefan Kangas  <stefan@marxist.se>

	* lisp/play/gomoku.el: Minor doc fixes; formatting.

2021-02-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bindat.el: Add 64bit int support

	(bindat--unpack-u64, bindat--unpack-u64r, bindat--pack-u64)
	(bindat--pack-u64r): New functions.
	(bindat--unpack-item, bindat--pack-item): Use them.
	(bindat--fixed-length-alist): Add new types.

2021-02-16  Stefan Kangas  <stefan@marxist.se>

	Fix admin/check-doc-strings for new DEFUN format

	* admin/check-doc-strings: Various fixes, including for the new DEFUN
	format.  The script still produces a ton of false positives, however.

2021-02-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bindat.el: Clarify when field labels are optional

	The fixes the doc and the Edebug spec, as well as a subtle issue in
	the code where a field whose name is (eval 'fill) was mistakenly
	considered as an anonymous field of type `fill`.

	(bindat--unpack-item, bindat--unpack-group, bindat--length-group)
	(bindat--pack-item, bindat--pack-group): Use dotimes, dolist, and pcase.
	(bindat--item-aux): New edebug elem.
	(bindat-item): Use it to fix the handling of optional fields.
	(bindat-format-vector): Use `mapconcat`.

2021-02-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bindat.el (bindat-spec): New macro.

	It's basically an alias for `quote`, but it offers the advantage of
	providing Edebug support and opens the possibility of compiling
	the bindat spec to ELisp code.

	* doc/lispref/processes.texi (Bindat Spec): Document `bindat-spec`.
	(Bindat Functions): Tweak a few things to adjust to the state of the code.

	* test/lisp/emacs-lisp/bindat-tests.el: Use it.

	* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests--read): New function.
	(edebug-tests--&rest-behavior): New test.

2021-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Warn on empty let bodies

2021-02-15  Ulf Jasper  <ulf.jasper@web.de>

	Display yearly ical events from first year on.  Fix Bug#23100.

	Convert yearly rrule starting in year x into diary-anniversary entry
	for year x-1 when importing an icalendar.  Correspondingly convert
	diary-anniversary for year x into yearly rrule starting in year x+1.

	*
	test/lisp/calendar/icalendar-resources/import-rrule-anniversary.diary-american:
	*
	test/lisp/calendar/icalendar-resources/import-rrule-anniversary.diary-european:
	*
	test/lisp/calendar/icalendar-resources/import-rrule-anniversary.diary-iso:
	*
	test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-american:
	*
	test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-european:
	*
	test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-iso:
	*
	test/lisp/calendar/icalendar-tests.el (icalendar-convert-anniversary-to-ical):
	Match new diary-anniversary/yearly-rrule behavior.

	* lisp/calendar/icalendar.el (icalendar--datestring-to-isodate): Add
	year-shift option.  (icalendar--convert-anniversary-to-ical): Shift
	the year as diary-anniversary is not displayed in the initial year.
	(icalendar--convert-recurring-to-diary): Shift the year as
	diary-anniversary is not displayed in the initial year. (Bug#23100)

2021-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calc/calc-sel.el (calc-replace-sub-formula): Fix typo

	Reported by Sébastien Miquel <sebastien.miquel@posteo.eu>

2021-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bindat.el: Expose the `struct` variable (bug#46534)

	(bindat--unpack-group, bindat--length-group, bindat--pack-group):
	Mark it as dynamically scoped.

2021-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow overriding declared predicates, too

	* lisp/simple.el (completion-default-include-p): Rename and move
	the checking for an explicit predicate down here...
	(read-extended-command): ... from here.
	(read-extended-command-predicate): Adjust default value.

2021-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Do `interactive' mode tagging in the remaining lisp/gnus files

2021-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new variable `global-minor-modes'

	* doc/lispref/modes.texi (Minor Modes): Document it.
	* lisp/simple.el (global-minor-modes): New variable.
	(completion-in-mode-p): Use it.
	(completion-with-modes-p): Use it.

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Support it.

2021-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename minor-modes to local-minor-modes

	* doc/lispref/modes.texi (Minor Modes): Update documentation.
	* lisp/simple.el (completion-with-modes-p): Change usage.

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Change usage.

	* src/buffer.c: Rename from minor_modes to local_minor_modes
	throughout.
	(syms_of_buffer): Rename minor-modes to local-minor-modes.

	* src/buffer.h (struct buffer): Rename minor_modes_.

	* src/pdumper.c (dump_buffer): Update hash and usage.

2021-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/edebug.el (edebug-&optional, edebug-&rest): Remove vars

	According to my tests, `edebug-&optional` never has any effect.
	And `edebug-&rest` can be replaced with a closure.

	(edebug-&rest-wrapper): Remove function.
	(edebug--match-&-spec-op): Use a closure to remember the `specs`.

2021-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/byte-run.el (compiler-macro): Make it Edebuggable

	* lisp/emacs-lisp/gv.el (gc-expander, gv-setter): Reuse the spec of
	`compiler-macro`.

2021-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the button completion predicate be more useful

	* lisp/simple.el (completion-button-p): Rework from
	`completion-at-point-p'.

	* lisp/net/shr.el (shr-show-alt-text): It should be possible to
	complete to commands that aren't bound to a key.

2021-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Speed up completion-in-mode-p in the common case

	* lisp/simple.el (completion-in-mode-p): Make predicate more
	efficient in the common one-mode case.

2021-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix two syntax errors in Specification List

	* doc/lispref/edebug.texi (Specification List): Add a couple of
	missing @s.

2021-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	Edebug: Generalize `&lookup`, use it for `cl-macrolet` and `cl-generic`

	This allows the use of (declare (debug ...)) in the lexical macros
	defined with `cl-macrolet`.  It also fixes the names used by Edebug
	for the methods of `cl-generic` so it doesn't need to use gensym
	and so they don't include the formal arg names any more.

	* lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op):
	Rename from `edebug--handle-&-spec-op`.
	(edebug--match-&-spec-op <&interpose>): Rename from `&lookup` and
	generalize so it can let-bind dynamic variables around the rest of the parse.
	(edebug-lexical-macro-ctx): Rename from `edebug--cl-macrolet-defs` and
	make it into an alist.
	(edebug-list-form-args): Use the specs from `edebug-lexical-macro-ctx`
	when available.
	(edebug--current-cl-macrolet-defs): Delete var.
	(edebug-match-cl-macrolet-expr, edebug-match-cl-macrolet-name)
	(edebug-match-cl-macrolet-body): Delete functions.
	(def-declarations): Use new `&interpose`.
	(edebug--match-declare-arg): Rename from `edebug--get-declare-spec` and
	adjust to new calling convention.

	* lisp/subr.el (def-edebug-elem-spec): Fix docstring.
	(eval-after-load): Use `declare`.

	* lisp/emacs-lisp/cl-generic.el: Fix Edebug names so we don't need
	gensym any more and we only include the specializers but not the formal
	arg names.
	(cl--generic-edebug-name): New var.
	(cl--generic-edebug-remember-name, cl--generic-edebug-make-name): New funs.
	(cl-defgeneric, cl-defmethod): Use them.

	* lisp/emacs-lisp/cl-macs.el: Add support for `debug` declarations in
	`cl-macrolet`.
	(cl-declarations-or-string):
	Fix use of `lambda-doc` and allow use of `declare`.
	(edebug-lexical-macro-ctx): Declare var.
	(cl--edebug-macrolet-interposer): New function.
	(cl-macrolet): Use it to pass the right `lexical-macro-ctx` to the body.

	* lisp/emacs-lisp/pcase.el (pcase-PAT): Use new `&interpose`.
	(pcase--edebug-match-pat-args): Rename from `pcase--get-edebug-spec` and
	adjust to new calling convention.

	* test/lisp/emacs-lisp/cl-generic-tests.el (cl-defgeneric/edebug/method):
	Adjust to the new names.

	* test/lisp/emacs-lisp/edebug-tests.el (edebug-cl-defmethod-qualifier)
	(edebug-tests-cl-flet): Adjust to the new names.

	* doc/lispref/edebug.texi (Specification List): Document &interpose.

2021-02-15  Stefan Kangas  <stefan@marxist.se>

	Avoid asking repeatedly about reloading bookmarks file

	* lisp/bookmark.el (bookmark-maybe-load-default-file): Reload watched
	bookmarks file only if its mtime has changed since the last query.
	This avoids asking repeatedly about reloading the bookmarks file if
	the user has already said "no" to a previous query.
	(bookmark--watch-file-already-queried-p): New function.
	(bookmark--watch-already-asked-mtime): New variable.

2021-02-14  Stefan Kangas  <stefan@marxist.se>

	Mark up bookmark.el for correct modes

	* lisp/bookmark.el: Mark up all commands with applicable modes.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a comment to `read-extended-command'

	* lisp/simple.el (read-extended-command): Add a comment.

2021-02-14  Andrea Corallo  <akrl@sdf.org>

	* lisp/startup.el (normal-top-level): Use `path-separator' in place of ":".

2021-02-14  Eli Zaretskii  <eliz@gnu.org>

	* src/xdisp.c (move_it_to): Fix last change.  (Bug#46316)

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a possible completion predicate for buttons

	* lisp/simple.el (completion-at-point-p): New predicate.

	* lisp/net/shr.el (shr-show-alt-text): Mark up as a button.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make completion-with-modes-p work with minor modes, too

	* lisp/simple.el (completion-with-modes-p): Work with minor modes,
	too.

2021-02-14  Andrea Corallo  <akrl@sdf.org>

	Revert "* src/comp.c (define_jmp_buf): Use 'jmp_buf' instead of 'sys_jmp_buf'."

	This reverts commit bebec46bcbf0e52460b08234c067d7a2cb0f2246.

	Looking at the git history I realize now the use of 'sys_jmp_buf' was
	intentional.

2021-02-14  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (define_jmp_buf): Use 'jmp_buf' instead of 'sys_jmp_buf'.

	* src/comp.c (load_comp_unit): Fix 'data_ephemeral_vec' shadowing decl.

2021-02-14  Bastian Beranek  <bastian.beischer@rwth-aachen.de>

	Fix showing and hiding of tab-bar on new frames (bug#46299)

	* lisp/tab-bar.el (tab-bar--update-tab-bar-lines)
	(tab-bar--tab-bar-lines-for-frame):
	New functions to update value of tab-bar-lines in frames.
	(tab-bar-mode, tab-bar-new-tab-to, tab-bar-close-tab)
	(tab-bar-close-other-tab, tab-bar-show :set):
	Use new function.
	(tab-bar-select-tab-modifiers :set):
	Work around visual glitch.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Do command markup in blackbox.el

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix byte-run--set-modes call signature

	* lisp/emacs-lisp/byte-run.el (byte-run--set-modes): We take a
	list of modes, not a single one (and fix the quoting).

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix missing ' in NEWS

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Also mention `M-o M-o' removal

	* lisp/loadup.el (facemenu-keymap-restore): Also restore `M-o M-o'.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't update `minor-modes' in global modes

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): There's no
	point in setting the buffer-local `minor-modes' in global modes.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark up 5x5 for interactive mode

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with the newly introduces `minor-modes' variable

	* lisp/help-fns.el (describe-mode): Apparently buffer-local
	variables take precedence over lexically bound variables?

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Do `interactive' mode markup in all Gnus files

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Really fix the syntax problem in define-minor-mode

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix
	interactive extension in previous change.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous define-minor-mode change

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix
	interactive extension in previous change.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark up eww.el for correct modes

	* lisp/net/eww.el: Mark up all commands with applicable modes.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `C-h m' list unbound commands applicable for the mode

	* lisp/help-fns.el (help-fns--list-local-commands): New function.
	(describe-mode): Use it.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow define-minor-mode to take an :interactive keyword

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Allow
	specifying the :interactive state and the modes.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix dumping of buffers after minor_modes was added

	* src/pdumper.c (dump_buffer): Set minor_modes to nil before dumping.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert the bit about command_modes in previous patch set

	* src/data.c (Fcommand_modes): Remove the subr bit -- it's not
	necessary since it can just use a predicate.
	* src/lisp.h (GCALIGNED_STRUCT): Remove command_modes.

	* src/lread.c (defsubr): Remove command_modes.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add 'read-extended-command-predicate'

	* doc/emacs/m-x.texi (M-x): Document it.
	* doc/lispref/commands.texi (Interactive Call): Document it further.

	* lisp/simple.el (read-extended-command-predicate): New user option.
	(read-extended-command-predicate): Use it.
	(completion-in-mode-p): New function (the default predicate).

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark easy-menu-do-define menus as "not interesting"

	* lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Mark menu
	keymaps as "not interesting" when doing completion.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new 'declare' forms for command completion predicates

	* doc/lispref/functions.texi (Declare Form): Document the new
	`completion' and `modes' declarations.
	* lisp/simple.el (completion-with-modes-p): New helper functions.

	* lisp/emacs-lisp/byte-run.el (byte-run--set-completion)
	(byte-run--set-modes):
	(defun-declarations-alist): New declarations for `completion' and
	`modes'.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Extend the syntax of `interactive' to list applicable modes

	* doc/lispref/commands.texi (Using Interactive): Document the
	extended `interactive' form.
	* doc/lispref/loading.texi (Autoload): Document list-of-modes
	form.

	* lisp/emacs-lisp/autoload.el (make-autoload): Pick the list of
	modes from `interactive' out of the functions.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Allow for the
	extended `interactive' form.

	* src/callint.c (Finteractive): Document the extended form.

	* src/data.c (Finteractive_form): Return the interactive form in
	the old format (even when there's an extended `interactive') to
	avoid having other parts of Emacs be aware of this.
	(Fcommand_modes): New defun.

	* src/emacs-module.c (GCALIGNED_STRUCT): Allow for modules to
	return command modes.

	* src/lisp.h: New function module_function_command_modes.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix how `shell-mode' avoids being called interactively

	* lisp/shell.el (shell-mode): Make noninteractive instead of
	erroring out after being called.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Introduce an :interactive keyword for `defined-derived-mode'

	* doc/lispref/modes.texi (Derived Modes): Document it.
	* lisp/emacs-lisp/derived.el (define-derived-mode): Introduce a
	new :interactive keyword.

2021-02-14  Stefan Kangas  <stefan@marxist.se>

	Remove redundant :group args from textmodes/*.el

	* lisp/textmodes/enriched.el:
	* lisp/textmodes/ispell.el:
	* lisp/textmodes/makeinfo.el:
	* lisp/textmodes/paragraphs.el:
	* lisp/textmodes/picture.el:
	* lisp/textmodes/refbib.el:
	* lisp/textmodes/refer.el:
	* lisp/textmodes/remember.el:
	* lisp/textmodes/texinfo.el:
	* lisp/textmodes/tildify.el:
	* lisp/textmodes/two-column.el: Remove redundant :group args.

2021-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new buffer-local variable `minor-modes'

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Keep
	`minor-modes' updated.
	* src/buffer.c (bset_minor_modes, Fmake_indirect_buffer)
	(reset_buffer, init_buffer_once): Initialize `minor-modes'.
	(syms_of_buffer): Add `minor-modes' as a new permanently-local
	variable.

	* src/buffer.h (struct buffer): Add minor_modes_.

2021-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Reinstate.

	Removed by accident.

2021-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/edebug.el: Fix `called-interactively-p`

	And get rid of the old special-case handling of `interactive-p`, which
	is now redundant.

	(edebug--called-interactively-skip): Fix lexical-binding case,
	and adjust to some formerly missed call patterns.
	(edebug-def-interactive, edebug-interactive-p): Remove vars.
	(edebug-interactive-p-name, edebug-wrap-def-body)
	(edebug-make-enter-wrapper): Remove functions.
	(edebug-list-form): Don't special-case `interactive-p`.

2021-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/edebug.el (edebug-match-lambda-expr): Delete function

	(lambda-expr): Define with `def-edebug-elem-spec` instead.
	(edebug--handle-&-spec-op): Remove left over code.
	(interactive): Re-add mistakenly removed spec elem.

	* doc/lispref/edebug.texi (Specification List): Remove `function-form`.

2021-02-13  Alan Third  <alan@idiocy.org>

	Fix flicker when resizing NS frame programmatically (bug#46155)


	* src/nsterm.m ([EmacsView viewWillDraw]): New function.
	([EmacsView viewDidResize:]): We now have to mark the frame for
	display on resize.
	([EmacsView initFrameFromEmacs:]): Retain frame contents on resize.
	([EmacsView updateLayer]): Don't update the layer if the frame is
	still garbaged.

2021-02-13  Alan Third  <alan@idiocy.org>

	Remove aliasing on SVG images under scaled NS frames

	* src/image.c (FRAME_SCALE_FACTOR): New #define for getting frame
	scale factor.
	(image_set_transform):
	(svg_load_image): Use FRAME_SCALE_FACTOR.
	* src/nsterm.m (ns_frame_scale_factor): Get the scale factor for an NS
	frame.

2021-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/edebug.el (edebug--handle-&-spec-op <&name>): New method

	(edebug--concat-name): New function.
	(edebug-match-name, edebug-match-cl-generic-method-qualifier)
	(edebug-match-cl-generic-method-args): Delete functions.

	* doc/lispref/edebug.texi (Specification List): Document it.

	* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Use `&name`.
	(cl-generic--method-qualifier-p): New predicate.
	(cl-defmethod): Use it and `&name`.
	* lisp/emacs-lisp/cl-macs.el (cl-defun, cl-iter-defun, cl-flet):
	* lisp/emacs-lisp/eieio-compat.el (defmethod):
	* lisp/emacs-lisp/gv.el (gv-define-setter):
	* lisp/emacs-lisp/ert.el (ert-deftest): Use `&name`.
	* lisp/erc/erc-backend.el (define-erc-response-handler): Use `declare`
	and `&name`.

2021-02-13  Philipp Stephani  <phst@google.com>

	* etc/NEWS: Document new JSON behavior.

2021-02-13  Augusto Stoffel  <arstoffel@gmail.com>  (tiny change)

	Small correction to `isearch-lazy-highlight-buffer-update'

	The value of point is now read after a potential change of buffer.
	* lisp/isearch.el (isearch-lazy-highlight-buffer-update): Move call
	to `point' after `select-window'.

2021-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	(backtrace-goto-source-functions): Make it a normal abnormal hook

	* lisp/emacs-lisp/backtrace.el (backtrace-goto-source-functions):
	Don't mark it as buffer-local any more.
	(backtrace-goto-source): Use `run-hook-with-args-until-success`.

	* lisp/emacs-lisp/edebug.el (edebug-pop-to-backtrace): Clarify that the
	hook is only intended to be modified buffer-locally.

2021-02-13  Eli Zaretskii  <eliz@gnu.org>

	Fix I-search at EOB when long lines are truncated

	* src/xdisp.c (move_it_to): Fix logic when TO_CHARPOS is at the
	end of an hscrolled line which ends at EOB.  (Bug#46316)

2021-02-13  Philipp Stephani  <phst@google.com>

	Pass 'struct json_configuration' as const where possible.

	The JSON serialization and parsing functions don't need to modify
	these structures.

	* src/json.c (lisp_to_json_nonscalar_1, lisp_to_json_nonscalar)
	(lisp_to_json, json_to_lisp): Mark configuration object parameter as
	const.

2021-02-13  Philipp Stephani  <phst@google.com>

	Allow any JSON value at the top level (Bug#42994).

	Newer standards like RFC 8259, which obsoletes the earlier RFC 4627,
	now allow any top-level value unconditionally, so Emacs should too.

	* src/json.c (Fjson_serialize, Fjson_insert): Pass JSON_ENCODE_ANY to
	allow serialization of any JSON value.  Call 'lisp_to_json' instead of
	'lisp_to_json_toplevel'.  Remove obsolete comments
	(neither JSON_DECODE_ANY nor JSON_ALLOW_NUL are allowed here).  Reword
	documentation strings.
	(Fjson_parse_string, Fjson_parse_buffer): Pass JSON_DECODE_ANY to
	allow deserialization of any JSON value.  Reword documentation
	strings.
	(lisp_to_json_nonscalar, lisp_to_json_nonscalar_1): Rename from
	"toplevel" to avoid confusion.
	(lisp_to_json): Adapt caller.
	* test/src/json-tests.el (json-serialize/roundtrip-scalars): New unit
	test.
	* doc/lispref/text.texi (Parsing JSON): Update documentation.

2021-02-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Remove stale comments from gnus-msg.el

	* lisp/gnus/gnus-msg.el (gnus-group-mail, gnus-group-news)
	(gnus-summary-mail-other-window, gnus-summary-news-other-window):
	Remove stale comments about let-binding gnus-newsgroup-name, as they
	should have been addressed (bug#37871#38).

2021-02-13  Eli Zaretskii  <eliz@gnu.org>

	Fix vertical cursor motion among many images

	* src/xdisp.c (move_it_in_display_line_to): Consider it
	MOVE_POS_MATCH_OR_ZV if we are just after an image, stretch, or
	display string, and the position matches exactly.  This is needed
	when one image follows another at TO_CHARPOS.  (Bug#46464)

2021-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	add-minor-mode doc string clarification

	* lisp/subr.el (add-minor-mode): Clarify that this function isn't
	only about XEmacs compat stuff.

2021-02-13  Stefan Kangas  <stefan@marxist.se>

	Delete 20 year old comment in executable.el

	* lisp/progmodes/executable.el (executable-insert): Delete 20 year old
	comment.

2021-02-13  Stefan Kangas  <stefan@marxist.se>

	Remove redundant :group args in progmodes/*.el

	* lisp/progmodes/bug-reference.el:
	* lisp/progmodes/cfengine.el:
	* lisp/progmodes/cmacexp.el:
	* lisp/progmodes/cpp.el:
	* lisp/progmodes/cwarn.el:
	* lisp/progmodes/dcl-mode.el:
	* lisp/progmodes/executable.el:
	* lisp/progmodes/flymake.el:
	* lisp/progmodes/gud.el:
	* lisp/progmodes/hideshow.el:
	* lisp/progmodes/icon.el:
	* lisp/progmodes/inf-lisp.el:
	* lisp/progmodes/js.el:
	* lisp/progmodes/ld-script.el:
	* lisp/progmodes/make-mode.el:
	* lisp/progmodes/modula2.el:
	* lisp/progmodes/pascal.el:
	* lisp/progmodes/perl-mode.el:
	* lisp/progmodes/prog-mode.el:
	* lisp/progmodes/simula.el:
	* lisp/progmodes/xscheme.el: Remove redundant :group args.

2021-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	Edebug: Make it possible to debug `gv-expander`s in `declare`

	Arrange for declarations to be able to specify their own specs via
	the `edebug-declaration-spec` property.

	* lisp/emacs-lisp/edebug.el: (edebug--get-declare-spec): New function.
	(def-declarations): New spec element.
	(defun, defmacro): Use it in their spec.

	* lisp/emacs-lisp/gv.el (gv-expander, gv-setter):
	Set `edebug-declaration-spec`.

	* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-gv-expander): New test.

	* test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el
	(edebug-test-code-use-gv-expander): New test case.

2021-02-13  Stefan Kangas  <stefan@marxist.se>

	Comment out mysterious code from cperl-mode.el

	* lisp/progmodes/cperl-mode.el: Comment out mysterious code referring
	to some unknown variable 'edit-var-mode-alist'.  No one seems to know
	what it is used for, so comment it out and see if anyone complains
	before Emacs 28.1 or 28.2.

2021-02-13  Stefan Kangas  <stefan@marxist.se>

	Remove outdated documentation from cperl-mode.el

	* lisp/progmodes/cperl-mode.el (cperl-tips, cperl-problems)
	(cperl-praise, cperl-speed, cperl-mode): Doc fixes; remove references
	to very old versions of Emacs and other "Emaxen".
	(cperl-problems-old-emaxen): Make obsolete and remove information on
	Emacs 20.3 and older.

2021-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	Edebug: Overload `edebug-form-spec` even less

	The `edebug-form-spec` symbol property was used both to map forms's
	head symbol to the corresponding spec, and to map spec element names
	to their expansion.

	This lead to name conflicts which break instrumentation of examples such as

	    (cl-flet ((gate (x) x)) (gate 4))

	because of the Edebug spec element `gate`.
	So introduce a new symbol property `edebug-elem-spec`.

	* lisp/subr.el (def-edebug-elem-spec): New function.

	* lisp/emacs-lisp/edebug.el (edebug--get-elem-spec): New function.
	(edebug-match-symbol): Use it.
	(Core Edebug elems): Put them on `edebug-elem-spec` instead of
	`edebug-form-spec`.
	(ELisp special forms): Set their `edebug-form-spec` via dolist.
	(Other non-core Edebug elems): Use `def-edebug-elem-spec`.
	(edebug-\`): Use `declare`.

	* lisp/emacs-lisp/pcase.el (pcase-PAT, pcase-FUN, pcase-QPAT):
	* lisp/skeleton.el (skeleton-edebug-spec):
	* lisp/emacs-lisp/cl-macs.el: Use `def-edebug-elem-spec`.

	* test/lisp/emacs-lisp/edebug-tests.el
	(edebug-tests--conflicting-internal-names): New test.
	* test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el
	(edebug-test-code-cl-flet1): New test case.

	* doc/lispref/edebug.texi (Specification List): Add `def-edebug-elem-spec`.
	(Specification Examples): Use it.

	* doc/lispref/loading.texi (Hooks for Loading): Avoid the use of
	`def-edebug-spec` in example (better use `debug` declaration).

2021-02-13  Stefan Kangas  <stefan@marxist.se>

	Remove XEmacs and Emacs 21 compat code from cperl-mode

	* lisp/progmodes/cperl-mode.el (cperl-mode): Remove XEmacs and
	Emacs 21 compat code.
	(cperl-compilation-error-regexp-list): New variable.
	(cperl-compilation-error-regexp-alist): Make obsolete.

2021-02-12  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix ElDoc setup for eval-expression

	* lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): Don't set
	global value of eldoc-documentation-strategy (bug#44886).

2021-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use `declare` instead of `def-edebug-spec` in most places

	* lisp/speedbar.el: Use lexical-binding.
	(speedbar-with-writable): Use `declare`.

	* lisp/subr.el (def-edebug-spec): Use `declare`.

	* lisp/cedet/ede/base.el: Use lexical-binding.
	(ede-with-projectfile): Use `declare`.
	(recentf-exclude): Declare var.

	* lisp/cedet/ede/pmake.el: Use lexical-binding.
	(ede-pmake-insert-variable-shared, ede-pmake-insert-variable-once):
	Use `declare`.

	* lisp/cedet/ede/proj-comp.el: Use lexical-binding.
	(ede-compiler-begin-unique, ede-compiler-only-once)
	(ede-linker-begin-unique, ede-linker-only-once): Use `declare`.

	* lisp/cedet/semantic/ctxt.el: Use lexical-binding.
	(semantic-with-buffer-narrowed-to-context)
	(semantic-with-buffer-narrowed-to-command): Use `declare`.
	(semantic--progress-reporter): Declare var.
	(semantic-ctxt-end-of-symbol-default): Remove unused var `fieldsep`.

	* lisp/cedet/semantic/lex-spp.el: Use lexical-binding.
	(define-lex-spp-macro-declaration-analyzer)
	(define-lex-spp-include-analyzer, semantic-lex-with-macro-used)
	(define-lex-spp-macro-undeclaration-analyzer): Use `declare`.
	(semantic-lex-spp-symbol-remove): Rename arg to avoid colliding with
	dynamic variable `obarray`.
	(semantic-lex-spp-symbol-pop): Remove unused var `oldvalue`.
	(semantic-lex-spp-lex-text-string): Remove unused var `analyzer`.

	* lisp/cedet/semantic/lex.el (define-lex)
	(semantic-lex-unterminated-syntax-protection, define-lex-analyzer)
	(define-lex-regex-analyzer, define-lex-block-analyzer)
	(semantic-lex-catch-errors): Use `declare`.

	* lisp/cedet/semantic/tag.el: Use lexical-binding.
	(semantic-with-buffer-narrowed-to-current-tag)
	(semantic-with-buffer-narrowed-to-tag): Use `declare`.

	* lisp/cedet/semantic/wisent.el: Use lexical-binding.
	(define-wisent-lexer): Use `declare`.

	* lisp/emacs-lisp/cl-lib.el (cl-pushnew): The arg to :test can be any
	form not just function form.

	* lisp/org/ob-comint.el (org-babel-comint-in-buffer)
	(org-babel-comint-with-output): Use `declare`.

	* lisp/org/ob-core.el (org-babel-map-src-blocks): Use `declare`.
	(org-babel-result-cond): Simplify edebug spec.

	* lisp/org/org-clock.el (org-with-clock-position, org-with-clock):
	* lisp/org/org-agenda.el (org-agenda-with-point-at-orig-entry):
	* lisp/org/ob-tangle.el (org-babel-with-temp-filebuffer): Use `declare`.

	* lisp/textmodes/rst.el (push): Remove redundant edebug spec.

	* lisp/vc/pcvs-parse.el: Use lexical-binding.
	(cvs-parse-buffer): Rename arg to avoid dynbound conflict.
	(cvs-or): Use `declare`.

2021-02-12  Mattias Engdegård  <mattiase@acm.org>

	Simplify expression in byte-code decompiler

	* lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
	Replace roundabout expression with what it essentially does.

2021-02-12  Mattias Engdegård  <mattiase@acm.org>

	byte-opt.el: More concise expression

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
	Refactor `setq` clause.

2021-02-12  Mattias Engdegård  <mattiase@acm.org>

	Avoid traversing dead `if` branches in bytecode optimizer

	There is no point in traversing conditional branches that are
	statically known never to be executed.  This saves some optimization
	effort, but more importantly prevents variable assignments and
	references in those branches from blocking effective constant
	propagation.

	Also attempt to traverse as much as possible in an unconditional
	context, which enables constant-propagation through (linear)
	assignments.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form):
	Rewrite the (tail) recursion into an explicit loop.  Normalize a
	return value of (quote nil) to nil, for easier subsequent
	optimizations.
	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't
	traverse dead `if` branches.  Use unconditional traversion context
	when possible.

2021-02-12  Mattias Engdegård  <mattiase@acm.org>

	Don't inline tramp-debug-message

	* lisp/net/tramp.el (tramp-debug-message): Change defsubst into defun.
	Until now the byte-compiler hasn't been clever enough to inline this
	function but this is about to change; the code expansion is
	unnecessary and makes compiler improvements more difficult to gauge.

2021-02-12  Stefan Kangas  <stefan@marxist.se>

	Use regexp-opt for font lock defaults in meta-mode.el

	* lisp/progmodes/meta-mode.el: Remove redundant :group args.

	(meta-font-lock-keywords): Use regexp-opt.

2021-02-12  Stefan Kangas  <stefan@marxist.se>

	Minor cleanups in scheme.el

	* lisp/progmodes/scheme.el: Remove redundant :group args.
	(dsssl-font-lock-keywords): Use regexp-opt.

2021-02-12  Stefan Kangas  <stefan@marxist.se>

	Add font locking for many missing macros in m4-mode

	* lisp/progmodes/m4-mode.el (m4--macro-list): New variable.
	(m4-font-lock-keywords): Use regexp-opt and add many missing macros
	sourced from the M4 manual.

2021-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/edebug.el (edebug--handle-&-spec-op) <&lookup>: New method

	* doc/lispref/edebug.texi (Specification List): Document it.

	* lisp/emacs-lisp/pcase.el (pcase-PAT): Use it.
	(pcase-MACRO): Remove Edebug element.
	(pcase--get-edebug-spec): New function.
	(pcase--edebug-match-macro): Remove function.

2021-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl-flet): Fix edebug spec

2021-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/edebug.el: Misc cleanups.

	Move all definitions under the `edebug-` prefix.

	(edebug-get-spec): Rename from `get-edebug-spec`.
	(edebug-move-cursor): Use `cl-callf`.
	(edebug-spec-p): Remove unused function.
	(def-edebug-spec, edebug-spec-list, edebug-spec): Remove unused specs
	(nothing in there gets instrumented anyway).
	(edebug-tracing): Use `declare`.
	(edebug-cancel-on-entry): Rename from `cancel-edebug-on-entry`.
	(edebug-global-prefix): Rename from `global-edebug-prefix`.
	(edebug-global-map): Rename from `global-edebug-map`.

	* lisp/emacs-lisp/pcase.el (pcase-PAT): Remove `let`.
	(let): Use `declare` instead.
	(pcase--edebug-match-macro): Use new name `edebug-get-spec`.

2021-02-12  Robert Pluim  <rpluim@gmail.com>

	Remove Motif support

	* configure.ac: Remove support for configuring --with-x-toolkit=motif

	* etc/NEWS: Mention removal of Motif support.

2021-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow minor modes to specify major modes they're useful in

2021-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/gv.el (gv-place): Simplify

2021-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/symref/: Use lexical-binding

	* lisp/cedet/semantic/symref/cscope.el:
	* lisp/cedet/semantic/symref/filter.el:
	* lisp/cedet/semantic/symref/global.el:
	* lisp/cedet/semantic/symref/grep.el:
	* lisp/cedet/semantic/symref/idutils.el:
	* lisp/cedet/semantic/symref/list.el: Use lexical-binding.

2021-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/decorate/: Use lexical-binding in all files

	* lisp/cedet/semantic/decorate/include.el
	(semantic-decoration-fileless-include-describe): Remove unused var `mm`.
	* lisp/cedet/semantic/decorate/mode.el: Use lexical-binding.

2021-02-11  Alan Mackenzie  <acm@muc.de>

	Make recursive minibuffers and recursive edits work together

	* lisp/minibuffer.el (exit-minibuffer): When in a minibuffer, throw an error
	should the command loop nesting level be wrong.

	* src/lisp.h (minibuffer_quit_level): declare as an extern.
	(command_loop_level): Move definition from src/window.h

	* src/window.h (command_loop_level): move definition to src/lisp.h.

	* src/eval.c (minibuffer_quit_level): Move this variable to file level from
	being a static inside internal_catch.
	(internal_catch): Simplify the logic.

	* src/minibuf.c (Vcommand_loop_level_list): New variable.
	(move_minibuffer_onto_frame): Set the major mode of  *Minibuf-0*.
	(Fminibuffer_innermost_command_loop_p): New primitive.
	(Fabort_minibuffers): Check the command loop level before throwing t to 'exit,
	and set minibuffer_quit_level too.
	(read_minibuf): New variable calling_window.
	Before stacking up minibuffers on the current mini-window, check that the
	mini-window is not the current one.
	Do not call choose_minibuf_frame from read_minibuf's unwinding process.
	Bind calling_frame and calling_window over the recursive edit.
	Set the new minibuffer's major mode directly.
	Remove the switching away from the minibuffer after the recursive edit.
	(get_minibuffer): Record the command loop level in new variable
	Vcommand_loop_level_list.  No longer set the major mode of a returned
	minibuffer.
	(minibuf_c_loop_level): New function.
	(read_minibuf_unwind): New variables calling_frame, calling_window are unbound
	from the binding stack.  Remove old variable `window', which could not be set
	reliably to the expired mini-window.
	The expired minibuffer is determined as the nth in the list, rather than the
	contents of the current or previous mini-window.
	Switch the current window away from the mini-window here (moved from
	read_minibuf).

2021-02-11  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in erc-sound.el

	* lisp/erc/erc-sound.el: Use lexical-binding.  Remove redundant :group
	args.

2021-02-11  Stefan Kangas  <stefan@marxist.se>

	Drop XEmacs and SXEmacs support from EDE

	* lisp/cedet/ede/emacs.el (ede-emacs-version): Drop XEmacs and
	SXEmacs support from EDE.

2021-02-11  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in various ede files

	* lisp/cedet/ede/dired.el:
	* lisp/cedet/ede/emacs.el:
	* lisp/cedet/ede/make.el:
	* lisp/cedet/ede/proj-archive.el:
	* lisp/cedet/ede/proj-aux.el:
	* lisp/cedet/ede/proj-misc.el:
	* lisp/cedet/ede/proj-scheme.el:
	* lisp/cedet/ede/srecode.el:
	* lisp/cedet/ede/system.el: Use lexical-binding.

2021-02-11  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Default to speed 1.

2021-02-11  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in wid-browse.el

	* lisp/wid-browse.el: Use lexical-binding.
	(widget-browse-mode): Use define-derived-mode.
	(widget-browse-mode-hook): Remove redundant :group arg.
	(widget-browse-action, widget-browse-value-create): Doc fixes.

2021-02-11  Stefan Kangas  <stefan@marxist.se>

	* lisp/ps-samp.el: Use lexical-binding.

2021-02-11  Stefan Kangas  <stefan@marxist.se>

	Fix two Emacs version references in misc manuals

	* doc/misc/forms.texi: Fix reference to Emacs version.
	* doc/misc/remember.texi: Fix version reference to indicate Emacs
	version instead of version of remember.  The corresponding version
	variable and header have been marked obsolete.

2021-02-11  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix Octave double-quoted string line continuations

	* lisp/progmodes/octave.el (octave-string-continuation-marker): New
	defconst after octave-continuation-string.
	(octave-continuation-string): Mention it in docstring.
	(octave-maybe-insert-continuation-string): Mark unused function as
	obsolete.
	(octave-help-function): Simplify action.
	(octave--indent-new-comment-line): Insert
	octave-string-continuation-marker instead of
	octave-continuation-string within double-quoted strings (bug#46420).
	(octave-indent-new-comment-line):
	* etc/NEWS: Describe new behavior.

2021-02-11  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	Use frame monitor in frame_float

	* src/frame.c (frame_float): Use frame monitor attributes instead
	of attributes of the main monitor (bug#46406).

2021-02-11  Stefan Kangas  <stefan@marxist.se>

	Avoid having erc in irrelevant finder categories

	* lisp/erc/erc-backend.el:
	* lisp/erc/erc-button.el:
	* lisp/erc/erc-dcc.el:
	* lisp/erc/erc-identd.el:
	* lisp/erc/erc-join.el:
	* lisp/erc/erc-lang.el:
	* lisp/erc/erc-log.el:
	* lisp/erc/erc-match.el:
	* lisp/erc/erc-menu.el:
	* lisp/erc/erc-pcomplete.el:
	* lisp/erc/erc-replace.el:
	* lisp/erc/erc-spelling.el:
	* lisp/erc/erc-stamp.el:
	* lisp/erc/erc-track.el:
	* lisp/erc/erc-xdcc.el: Remove irrelevant entries in Keywords header.

2021-02-11  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/cperl-mode.el (cperl-init-faces): Use regexp-opt.

2021-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/play/decipher.el: Use lexical-binding

	(decipher-mode-syntax-table): Move initialization into declaration.
	(decipher-mode, decipher-stats-mode): Use `define-derived-mode`.
	(decipher-stats-buffer): Use `buffer-local-value`.

2021-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/leim/quail: Use lexical-binding

	* lisp/leim/quail/hangul.el:
	* lisp/leim/quail/indian.el:
	* lisp/leim/quail/ipa.el:
	* lisp/leim/quail/japanese.el:
	* lisp/leim/quail/lao.el:
	* lisp/leim/quail/latin-ltx.el:
	* lisp/leim/quail/lrt.el:
	* lisp/leim/quail/sisheng.el:
	* lisp/leim/quail/thai.el:
	* lisp/leim/quail/tibetan.el: Use lexical-binding.
	* lisp/leim/quail/uni-input.el (ucs-input-method): Remove unused var `str`.

2021-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/leim/quail: Use lexical-binding

	* lisp/leim/quail/hangul.el:
	* lisp/leim/quail/indian.el:
	* lisp/leim/quail/ipa.el:
	* lisp/leim/quail/japanese.el:
	* lisp/leim/quail/lao.el:
	* lisp/leim/quail/latin-ltx.el:
	* lisp/leim/quail/lrt.el:
	* lisp/leim/quail/sisheng.el:
	* lisp/leim/quail/thai.el:
	* lisp/leim/quail/tibetan.el: Use lexical-binding.
	* lisp/leim/quail/uni-input.el (ucs-input-method): Remove unused var `str`.

2021-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (combine-change-calls-1): Don't presume integer args

	This avoids problems where the `after-change-functions` end up called
	with the new length rather than the old length.

2021-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Break cycles

	* test/lisp/emacs-lisp/macroexp-tests.el: New file.

2021-02-10  Andrea Corallo  <akrl@sdf.org>

	Add late load pdumper hooks so these can call into Lisp

	* src/pdumper.h (pdumper_do_now_and_after_late_load): New function.
	* src/pdumper.c (dump_late_hooks, nr_dump_late_hooks): New static
	variables.
	(dump_metadata_for_pdumper): Add support for late load hooks.
	(pdumper_do_now_and_after_late_load_impl): New functions.
	(pdumper_load): Add support for late load hooks.
	* src/window.c (init_window_once): Register
	'init_window_once_for_pdumper' to be executed after late load.

2021-02-10  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2021-02-10  Juri Linkov  <juri@linkov.net>

	Fix ediff even/odd faces to increase their contrast and readability

	* lisp/vc/ediff-init.el (ediff-even-diff-A, ediff-even-diff-B)
	(ediff-even-diff-C, ediff-even-diff-Ancestor, ediff-odd-diff-A)
	(ediff-odd-diff-B, ediff-odd-diff-C): Add :distant-foreground
	"Black" for light background.  For dark background
	add :distant-foreground "White", and use darker shades of grey
	for background colors (bug#46396).

2021-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix build problem with previous facemenu change

	* lisp/facemenu.el (facemenu-add-face-function): Move to avoid a
	warning.
	(list-colors-display): Autoload.

2021-02-10  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify and speed up after-find-file

	Use newer primitives like file-accessible-directory-p to simplify
	and speed up longstanding code in after-find-file.
	* lisp/files.el (after-find-file):
	Prefer file-exists-p + file-symlink-p to file-attributes +
	file-symlink-p + file-chase-links + file-exists-p.
	Prefer file-accessible-directory-p to directory-file-name +
	file-attributes.
	Prefer file-directory-p to file-name-directory + file-exists-p.

2021-02-10  Paul Eggert  <eggert@cs.ucla.edu>

	Fix file lock issue (Bug#46397)

	* src/filelock.c (current_lock_owner):
	Also treat ENOTDIR as meaning the lock file does not exist.

2021-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the 'M-o' ('facemap-keymap') binding experimentally

	* doc/lispref/maps.texi (Standard Keymaps):
	* doc/lispref/keymaps.texi (Prefix Keys): Remove mentions.

	* etc/facemenu-removal.txt: New temporary file.

	* lisp/loadup.el: Don't load facemenu.el.
	(removed-facemenu-command): New command.
	(facemenu-keymap-restore): New function.

	* lisp/textmodes/text-mode.el (center-paragraph): Remove binding.
	(center-line): Remove binding.

2021-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/edebug.el: Tweak last change

	Use generic functions i.s.o `edebug--spec-op-function`.

	<toplevel>: No need to register the &foo and :foo handler any more.
	(edebug--handle-&-spec-op, edebug--handle-:-spec-op): New generic functions.
	(edebug-match-specs): Use them.
	(edebug--get-spec-op): Remove function.
	(edebug-match-&optional, edebug-match-&rest, edebug-match-&or)
	(edebug-match-&not, edebug-match-&key, edebug-match-&error)
	(edebug-match-&define): Turn functions into methods of
	`edebug--handle-&-spec-op`.
	(edebug-match-:name, edebug-match-:unique): Turn functions into methods of
	`edebug--handle-:-spec-op`.

2021-02-10  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violation in callproc.c

	* src/callproc.c (call_process): Avoid assertion violation when
	DESTINATION is a cons cell '(:file . "FOO")'.  (Bug#46426)

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in dns-mode.el

	* lisp/textmodes/dns-mode.el: Use lexical-binding.  Remove
	redundant :group args.
	* test/lisp/textmodes/dns-mode-tests.el
	(dns-mode-tests-dns-mode-soa-increment-serial): New test.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in mail-utils.el and add tests

	* lisp/mail/mail-utils.el: Use lexical-binding.
	* test/lisp/mail/mail-utils-tests.el: New file.

2021-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/edebug.el: Don't overload `edebug-form-spec`.

	The `edebug-form-spec` symbol property was used to store two different things:
	the handlers for spec elements like `body` and the handlers for
	spec operators like `&or`.  But these two sets use different calling
	conventions, so they're fundamentally incompatible.

	So, move the handlers to spec operators to the new property
	`edebug--spec-op-function`.  This unbreaks Edebugging of:

	    (cl-flet ((f (&rest x) x)) 3)

	* lisp/emacs-lisp/edebug.el <toplevel>: Split the alist of built in
	spec elements into normal spec element and spec ops.
	(edebug--get-spec-op): New function.
	(edebug-match-specs): Use it.
	(edebug-match-:name): Rename from `edebug-match-colon-name`.

2021-02-10  Eli Zaretskii  <eliz@gnu.org>

	Bump FACE_CACHE_BUCKETS_SIZE to 1009

	* src/xfaces.c (FACE_CACHE_BUCKETS_SIZE): Make it 1009, a prime
	number, per the comment.  Reported by Win Treese <treese@acm.org>.

2021-02-10  Mattias Engdegård  <mattiase@acm.org>

	Fix local defvar scoping error (bug#46387)

	This bug was introduced by the lexical variable constant propagation
	mechanism.  It was discovered by Michael Heerdegen.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form)
	(byte-optimize-body): Let the effects of a local defvar declaration be
	scoped by let and let*, not any arbitrary Lisp expression body (such
	as progn).
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--get-vars)
	(bytecomp-local-defvar): New test.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Minor cleanup in imenu.el

	* lisp/imenu.el: Doc fix; these examples have been removed.  Remove
	redundant :group args.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in snmp-mode.el

	* lisp/net/snmp-mode.el: Use lexical-binding.  Remove redundant :group
	args.  Doc fix; remove outdated information.
	(snmp-mode, snmpv2-mode): Add FIXME to use define-derived-mode.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Declare empty macro imenu-progress-menu obsolete

	* lisp/imenu.el: Remove commented out code.
	(imenu-progress-message): Declare macro obsolete.

	* lisp/erc/erc-imenu.el (erc-create-imenu-index):
	* lisp/net/snmp-mode.el (snmp-mode-imenu-create-index):
	* lisp/progmodes/antlr-mode.el (antlr-imenu-create-index-function):
	Don't use or mention above obsolete macro.

2021-02-10  Protesilaos Stavrou  <info@protesilaos.com>

	Update NEWS entry for vc-dir faces

	* NEWS: Remove reference to specific backend, as it now applies to all
	of them.  Update name of 'vc-dir-status-ignored'.

	This follows from the discussion in bug#46358.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	* lisp/cedet/semantic/bovine/gcc.el: Use lexical-binding.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Move cedet test resource files to follow our conventions

	* test/lisp/cedet/semantic-utest-ia.el (ert, ert-x): Require.
	(cedet-utest-directory, semantic-utest-test-directory): Remove
	variables.
	(semantic-utest-ia-doublens.cpp, semantic-utest-ia-subclass.cpp)
	(semantic-utest-ia-typedefs.cpp, semantic-utest-ia-struct.cpp)
	(semantic-utest-ia-templates.cpp, semantic-utest-ia-using.cpp)
	(semantic-utest-ia-nsp.cpp, semantic-utest-ia-localvars.cpp)
	(semantic-utest-ia-namespace.cpp)
	(semantic-utest-ia-sppcomplete.c, semantic-utest-ia-varnames.c)
	(semantic-utest-ia-javacomp.java)
	(semantic-utest-ia-varnames.java, semantic-utest-ia-wisent.wy)
	(semantic-utest-ia-texi, semantic-utest-ia-make)
	(semantic-utest-ia-srecoder): Use 'ert-resource-file'.  Don't
	check if file exists; we can assume that it does.

	* test/manual/cedet/tests/testjavacomp.java:
	* test/manual/cedet/tests/testlocalvars.cpp:
	* test/manual/cedet/tests/testnsp.cpp:
	* test/manual/cedet/tests/testsppcomplete.c:
	* test/manual/cedet/tests/teststruct.cpp:
	* test/manual/cedet/tests/testsubclass.cpp:
	* test/manual/cedet/tests/testsubclass.hh:
	* test/manual/cedet/tests/testtemplates.cpp:
	* test/manual/cedet/tests/testtypedefs.cpp:
	* test/manual/cedet/tests/testusing.cpp:
	* test/manual/cedet/tests/testusing.hh:
	* test/manual/cedet/tests/testvarnames.c:
	* test/manual/cedet/tests/testvarnames.java:
	* test/manual/cedet/tests/testwisent.wy: Move from here...
	* test/lisp/cedet/semantic-utest-ia-resources/testjavacomp.java:
	* test/lisp/cedet/semantic-utest-ia-resources/testlocalvars.cpp:
	* test/lisp/cedet/semantic-utest-ia-resources/testnsp.cpp:
	* test/lisp/cedet/semantic-utest-ia-resources/testsppcomplete.c:
	* test/lisp/cedet/semantic-utest-ia-resources/teststruct.cpp:
	* test/lisp/cedet/semantic-utest-ia-resources/testsubclass.cpp:
	* test/lisp/cedet/semantic-utest-ia-resources/testsubclass.hh:
	* test/lisp/cedet/semantic-utest-ia-resources/testtemplates.cpp:
	* test/lisp/cedet/semantic-utest-ia-resources/testtypedefs.cpp:
	* test/lisp/cedet/semantic-utest-ia-resources/testusing.cpp:
	* test/lisp/cedet/semantic-utest-ia-resources/testusing.hh:
	* test/lisp/cedet/semantic-utest-ia-resources/testvarnames.c:
	* test/lisp/cedet/semantic-utest-ia-resources/testvarnames.java:
	* test/lisp/cedet/semantic-utest-ia-resources/testwisent.wy:
	...to here.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Convert tests for srecode/fields.el to ert

	* test/manual/cedet/srecode-tests.el: Move from here...
	* test/lisp/cedet/srecode/fields-tests.el: ...to here.
	(srecode-field-utest-impl): Convert test to ert.  Silence
	byte-compiler.

	* test/manual/cedet/cedet-utests.el (cedet-utest-libs): Don't
	list the above moved file.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Make texinfmt-version variable obsolete

	* lisp/textmodes/texinfmt.el (texinfmt-version): Make variable and
	command obsolete in favor of 'emacs-version'.
	(texinfo-format-region, texinfo-format-buffer-1): Use
	'emacs-version' instead of above obsolete variable.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in bib-mode.el

	* lisp/textmodes/bib-mode.el: Use lexical-binding.  Remove
	redundant :group args.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Move semantic/format.el tests to follow our conventions

	* test/lisp/cedet/semantic-utest-fmt.el: Move from here...
	* test/lisp/cedet/semantic/format-tests.el: ...to here.
	(ert, ert-x): Require.
	(semantic-fmt-utest-file-list): Use ert-resource-file.
	* test/manual/cedet/tests/test-fmt.cpp:
	* test/manual/cedet/tests/test-fmt.el: Move from here...
	* test/lisp/cedet/semantic/format-resources/test-fmt.cpp:
	* test/lisp/cedet/semantic/format-resources/test-fmt.el: ...to here.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in some test files

	* test/manual/cedet/ede-tests.el:
	* test/manual/cedet/srecode-tests.el:
	* test/manual/cedet/tests/test.el: Use lexical-binding.

	* test/manual/etags/el-src/TAGTEST.EL: Add lexical-binding cookie.
	* test/manual/etags/ETAGS.good_1: Update expected result for the
	above change.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Change default semantic-lex-analyzer to semantic-lex

	* lisp/cedet/semantic/lex.el (semantic-lex-analyzer): Change default
	to semantic-lex, since semantic-flex was obsolete and has been
	removed.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Convert many manual cedet tests to ert

	* test/manual/cedet/cedet-utests.el
	(cedet-files-utest): Move test from here...
	* test/lisp/cedet/cedet-files-tests.el: ...to this new file.

	* test/manual/cedet/srecode-tests.el
	(srecode-document-function-comment-extract-test): Move test from
	here...
	* test/lisp/cedet/srecode/document-tests.el: ...to this new file.

	* test/manual/cedet/cedet-utests.el
	(inversion-unit-test): Move test from here...
	* test/lisp/cedet/inversion-tests.el: ...to this new file.

	* test/manual/cedet/semantic-tests.el
	(semantic-gcc-test-output-parser): Move test from here...
	* test/lisp/cedet/semantic/bovine/gcc-tests.el: ...to this new file.

	* test/manual/cedet/semantic-tests.el
	(semantic-test-data-cache): Move test from here...
	* test/lisp/cedet/semantic/fw-tests.el: ...to this new file.

2021-02-10  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in almost all of play/*.el

	* lisp/play/5x5.el: Use lexical-binding.
	(5x5-draw-grid-end, 5x5-draw-grid, 5x5-solver)
	(5x5-solve-suggest): Silence byte-compiler.

	* lisp/play/cookie1.el: Use lexical-binding.
	(cookie-shuffle-vector, cookie-apropos): Silence byte-compiler.

	* lisp/play/zone.el: Use lexical-binding.
	(zone): Convert lambda to proper lexical closure.
	(zone-replace-char, zone-fill-out-screen): Silence byte-compiler.

	* lisp/play/blackbox.el:
	* lisp/play/doctor.el:
	* lisp/play/gametree.el:
	* lisp/play/hanoi.el: Use lexical-binding.

	* test/lisp/play/cookie1-resources/cookies:
	* test/lisp/play/cookie1-tests.el: New files.

2021-02-10  Protesilaos Stavrou  <info@protesilaos.com>

	Refine use of vc-dir faces; apply to all backends

	* lisp/vc/vc-dir.el (vc-default-dir-printer): Add check for the
	"ignored" status and make 'vc-dir-status-edited' the default face.
	Also extend condition for more states that qualify as "warnings".

	(vc-dir-ignored, vc-dir-status-ignored): Rename face for consistency.

	* lisp/vc/vc-git.el (vc-git-dir-printer): Use the
	'vc-dir-status-edited' as the default for the Git backend.  And
	reference the renamed face.  Also stop treating the empty stash
	differently from other header values.

	* lisp/vc/vc-bzr.el (vc-bzr-dir-extra-headers): Implement new faces.
	* lisp/vc/vc-cvs.el (vc-cvs-dir-extra-headers): Same.
	* lisp/vc/vc-hg.el (vc-hg-dir-extra-headers): Same.
	* lisp/vc/vc-svn.el (vc-svn-dir-extra-headers): Same.

	This follows from the discussion in bug#46358.

2021-02-09  Basil L. Contovounesios  <contovob@tcd.ie>

	Tiny simplification to read-char-by-name

	* lisp/international/mule-cmds.el (mule--ucs-names-sort-by-code):
	Sort with car-less-than-car instead of slower lambda.
	(mule--ucs-names-affixation): Just stick character into a list to
	avoid trip through format and char-to-string.
	(read-char-by-name): Quote function symbols as such.

2021-02-09  Eli Zaretskii  <eliz@gnu.org>

	Fix syntax category of some characters

	* lisp/international/characters.el (modify-syntax-entry): Fix
	syntax of numerical subscripts and superscripts.  (Bug#46240)

2021-02-09  Juri Linkov  <juri@linkov.net>

	* lisp/net/dictionary.el: Dictionary improvements (bug#45262)

	* lisp/net/dictionary.el (dictionary-link-dictionary): New defcustom.
	(dictionary-mark-reference): Use dictionary-link-dictionary.
	(dictionary-post-buffer-hook): New defcustom.
	(dictionary-post-buffer): Run dictionary-post-buffer-hook.
	(dictionary-mode-map): Bind 'S-SPC' to scroll-down-command.
	(dictionary-search-default): Use possibly multi-word data at point.

2021-02-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use lexical-binding in a few more scattered files

	* lisp/registry.el: Use lexical-binding.
	(registry-reindex): Remove unused var `values`.

	* lisp/cedet/pulse.el: Use lexical-binding.

	* lisp/cedet/semantic/idle.el: Use lexical-binding.
	(semantic-idle-core-handler): Remove unused var `safe`.
	(ede-auto-add-method): Declare var.
	(define-semantic-idle-service): Use `declare`.  Remove unused var `setup`.
	(pulse-flag): Declare var.

	* lisp/net/ldap.el: Use lexical-binding.
	(ldap-search-internal): Remove unused var `proc`.

	* lisp/net/mairix.el: Use lexical-binding.
	Remove redundant `:group` args.
	(mairix-widget-create-query): Remove unused var `allwidgets`.

2021-02-09  Juri Linkov  <juri@linkov.net>

	New options read-char-by-name-sort and read-char-by-name-group (bug#46240)

	* lisp/international/mule-cmds.el (mule--ucs-names-sort-by-code)
	(mule--ucs-names-group): New functions.
	(read-char-by-name-sort, read-char-by-name-group): New defcustoms.
	(read-char-by-name): Use them.

2021-02-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/{semantic/scope.el,ede/project-am.el}: Use lexical-scoping

	* lisp/cedet/ede/project-am.el: Remove redundant `:group` args.
	(recentf-exclude): Declare variable.
	(project-am--with-makefile-current): New function extracted from
	`project-am-with-makefile-current`.  Use `with-current-buffer` and
	`unwind-protect`.
	(project-am-with-makefile-current): Use `declare` and
	`project-am--with-makefile-current`.
	(project-am-with-config-current): Use `declare` and `with-temp-buffer`.
	(project-am-extract-shell-variable): Turn it into a `defun`; the use of
	`defmacro` appears to have been a plain mistake.

2021-02-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/byte-opt.el (byte-optimize--pcase): New macro

	(byte-optimize-form-code-walker): Use it.

2021-02-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/macroexp.el: Break cycle with bytecomp/byte-opt

	The recent change in macroexp triggered a cyclic dependency error
	during eager macroexpansion when neither `bytecomp` nor `byte-opt` had
	been byte-compiled yet.  This fixes it by moving the offending
	function to macroexp.el.

	* lisp/emacs-lisp/macroexp.el (macroexp--unfold-lambda): Move from
	byte-opt.el and rename.
	(macroexp--expand-all): Use it.

	* lisp/emacs-lisp/byte-opt.el (byte-compile-unfold-lambda): Move to
	macroexp.el.
	(byte-compile-inline-expand, byte-optimize-form-code-walker):
	* lisp/emacs-lisp/bytecomp.el (byte-compile-form):
	Use `macroexp--unfold-lambda` instead.

2021-02-09  Stefan Kangas  <stefan@marxist.se>

	Remove some dead, commented out code from lisp-mode.el

	* lisp/emacs-lisp/lisp-mode.el (lisp-data-mode-syntax-table):
	Remove code commented out since 2005.

2021-02-09  Stefan Kangas  <stefan@marxist.se>

	Load all generic-x.el modes unconditionally

	* lisp/generic-x.el: Load all modes unconditionally.
	(generic-default-modes, generic-mswindows-modes)
	(generic-unix-modes, generic-other-modes)
	(generic-extras-enable-list): Make obsolete.
	Ref: https://lists.gnu.org/r/emacs-devel/2021-01/msg01403.html

2021-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Note that the `values' variable is now obsolete

	* src/lread.c (syms_of_lread): Note that it's obsolete in the doc
	string (because we can't mark it as obsolete "properly" yet,
	because that leads to compilation warnings when somebody
	(let (values) ... values).

2021-02-09  Alan Mackenzie  <acm@muc.de>

	Allow exit-minibuffer to be called from Lisp code.  Fixes bug #46373

	* lisp/minibuffer.el (exit-minibuffer): Throw the error "Not in most nested
	minibuffer" only when the current buffer is a minibuffer (thus the command
	came directly from a key binding).

	* doc/lispref/minibuf.texi (Minibuffer Commands): Change the documentation
	accordingly.

2021-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make pcomplete-ignore-case obsolete

	* lisp/pcomplete.el (pcomplete-completions-at-point)
	(pcomplete-stub, pcomplete--entries, pcomplete-insert-entry):
	* lisp/eshell/em-cmpl.el (eshell-cmpl-initialize):
	* lisp/eshell/em-cmpl.el (eshell-cmpl-ignore-case):
	* lisp/erc/erc-pcomplete.el (pcomplete-erc-setup): Use
	`completion-ignore-case' instead (bug#23117).

	* lisp/pcomplete.el (pcomplete-ignore-case): Make obsolete.

2021-02-09  Matt Armstrong  <matt@rfc20.org>

	Preserve leading whitespace in `lm-commentary'.

	* lisp/emacs-lisp/lisp-mnt.el (lm-commentary): Preserve leading
	whitespace (bug#46364).

2021-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Move all usages of `values' to `values--store-value'

	* lisp/simple.el (eval-expression):
	* lisp/progmodes/elisp-mode.el (eval-last-sexp):
	* lisp/emacs-lisp/pp.el (pp-eval-expression):
	* lisp/emacs-lisp/edebug.el (edebug-eval-expression):
	* lisp/emacs-lisp/pp.el (pp-eval-expression):
	* lisp/emacs-lisp/edebug.el (edebug-eval-expression):
	* lisp/cedet/data-debug.el (data-debug-eval-expression): Use it
	instead of pushing to `values' directly (bug#22066).

	* lisp/subr.el (values--store-value): New function.

2021-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't use `values' in elisp--eval-defun

	* lisp/progmodes/elisp-mode.el (elisp--eval-defun): Don't use
	`values', since it's being deprecated (bug#22066).

2021-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Finish customize-changed-options/customize-changed fix up

	* doc/emacs/custom.texi (Specific Customization): Fix
	customize-changed/customize-changed-options documentation.
	* lisp/cus-dep.el (custom-make-dependencies): Adjust doc string
	(bug#23085).

	* lisp/menu-bar.el (menu-bar-custom-menu): Adjust menu options.

2021-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix count-lines problem in non-ASCII buffers

	* src/fns.c (Fline_number_at_pos): Get the correct start position
	in non-ASCII buffers (bug#22763).

2021-02-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-topic.el: Fix a backward incompatibility

	(gnus-topic-insert-topic-line): Make the vars used in
	`gnus-topic-line-format-spec` dynamically scoped since it seems
	that they're sometimes accessed from functions called by
	`gnus-topic-line-format-spec` :-(

	* lisp/gnus/gnus-util.el (gnus--\,@): Move macro to here...
	* lisp/gnus/gnus-art.el (gnus--\,@): .. from here.

	* lisp/gnus/gnus.el (gnus-method-to-server): Apply DeMorgan.

2021-02-08  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Run Gnus group names through regexp-quote when matching results

	* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Be more
	careful about making sure group names will match search results
	correctly.

2021-02-08  Eli Zaretskii  <eliz@gnu.org>

	Fix scrolling past tall images

	* src/xdisp.c (try_window): Don't try checking the margins if the
	window is vscrolled, as that could cause unnecessary recentering
	when tall images are displayed.  (Bug#46320)

2021-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/indent.el (beginning-of-line-text): Mark it as a movement command

	So that combining it with `shift` selects the text, as usual, in case
	you have it bound for example to `C-a` in a mode like `enriched-mode`.

2021-02-08  Stefan Kangas  <stefan@marxist.se>

	* lisp/avoid.el: Doc fixes.

2021-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Record the value of `C-x C-e' in `values'

	* lisp/progmodes/elisp-mode.el (eval-last-sexp): Record the value
	in `values' (bug#22066) since we're messaging it.

2021-02-08  Protesilaos Stavrou  <info@protesilaos.com>

	Add vc-dir faces; also apply them to vc-git

	* etc/NEWS: Document the new faces.

	* lisp/vc/vc-dir.el (vc-dir-header, vc-dir-header-value)
	(vc-dir-directory, vc-dir-file, vc-dir-mark-indicator)
	(vc-dir-status-warning, vc-dir-status-edited, vc-dir-status-up-to-date)
	(vc-dir-ignored): Add new faces.

	* lisp/vc/vc-git.el (vc-git-permissions-as-string, vc-git-dir-printer)
	(vc-git-dir-extra-headers): Apply new faces (bug#46358).

2021-02-08  Sean Whitton  <spwhitton@spwhitton.name>

	Bind clone-buffer to C-x x n

	* lisp/bindings.el (ctl-x-x-map): Bind clone-buffer.
	* etc/NEWS: Document the change (bug#46369).

2021-02-08  Anticrisis  <anticrisisg@gmail.com>  (tiny change)

	Fix tcl-mode indentation of namespaced code

	* lisp/progmodes/tcl.el (tcl-calculate-indent): Fix indentation
	when using namespaces (bug#44834).
	(tcl-beginning-of-defun-function): Remove.  This partially reverts
	cd5bb4bf3dbad8941d25823f398b595b8f0edbb9.

2021-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify "changes" in CONTRIBUTE

	* CONTRIBUTE: Clarify that "changes" doesn't include removing code
	(bug#44834).

2021-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `C-a' in enriched-mode behave more line in other modes

	* lisp/textmodes/enriched.el (enriched-mode-map): Don't rebind
	beginning-or-line, because it makes `C-S-a' not mark the region,
	and it doesn't allow actually moving to the beginning of the line
	if the line starts with characters in `adaptive-fill-regexp'
	(bug#22554).

2021-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix noninteractive gnus-article-press-button

	* lisp/gnus/gnus-art.el (gnus-article-press-button): Make the `b'
	summary mode command work again.

2021-02-08  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in a few more places

	* lisp/calc/calc-embed.el (calc-embedded-make-info):
	* lisp/calc/calcalg2.el (calcFunc-integ):
	* lisp/comint.el (comint-mode):
	* lisp/epa.el (epa--list-keys, epa--show-key):
	* lisp/epg.el (epg--start):
	* lisp/vc/ediff-util.el (ediff-activate-mark): Prefer setq-local.

2021-02-08  Stefan Kangas  <stefan@marxist.se>

	Add tests for count-lines

	* test/lisp/simple-tests.el (simple-test-count-lines)
	(simple-test-count-lines/ignore-invisible-lines): Add tests.

2021-02-07  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix namazu search result parsing in gnus-search

	* lisp/gnus/gnus-search.el (gnus-search-indexed-extract): This method
	is documented to leave point at the end of the extracted search
	result. The namazu implementation wasn't doing that.

2021-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify when activate-mark-hook is run

	* doc/lispref/markers.texi (The Mark):
	* lisp/simple.el (activate-mark-hook): Clarify when the hook is
	run (bug#23444).

2021-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Use `line-number-at-pos' in `count-lines'

	* lisp/simple.el (count-lines): Use `line-number-at-pos', which
	should be faster.

2021-02-07  Eli Zaretskii  <eliz@gnu.org>

	Fix language-environment and font selection on MS-Windows

	These changes improve setting the language-environment and font
	selection when MS-Windows returns useless "ZZZ" as the "language
	name", which then disrupts all the setup of the locale-dependent
	stuff, and in particular font selection.
	* lisp/w32-fns.el (w32-charset-info-alist): Add an element for
	"iso8859-5", in case LANG is set to something unusable, like
	"ZZZ".  This allows fonts capable of displaying Cyrillic
	characters to be used even when language preferences are screwed.

	* src/w32.c (init_environment): If GetLocaleInfo returns "ZZZ" as
	the "language name" for LOCALE_USER_DEFAULT, try again with locale
	ID based on what GetUserDefaultUILanguage returns.  (Bug#39286)

2021-02-07  Tino Calancha  <ccalancha@suse.com>

	Add command to recenter errors from Occur/Grep buffers

	To scroll up/down the current displayed occurrence/error
	without abandon the Occur/Grep buffer.

	Add also a command 'recenter-other-window' to recenter
	the other window from any kind of buffer.

	* lisp/window.el (recenter-other-window): New command.
	Bind recenter-other-window to S-M-C-l (Bug#46119).

	* lisp/simple.el (recenter-current-error): New command.
	* lisp/progmodes/grep.el (grep-mode-map):
	Delete bindings for n and p.

	* lisp/progmodes/compile.el (compilation-minor-mode-map):
	Move here the n and p bindings.
	Bind `recenter-current-error' to l.
	* lisp/replace.el (occur-mode-map):
	Same.

	* doc/emacs/windows.texi (Other Window):
	* doc/emacs/display.texi (Recentering):
	Document recenter-other-window.

	* etc/NEWS (Changes in Specialized Modes and Packages in Emacs 28.1):
	Announce the changes.

2021-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow Fline_number_at_pos being called with a marker

	* src/fns.c (Fline_number_at_pos): Also allow being called with a
	marker (since the Lisp function allowed that).

2021-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Move line-number-at-pos to C

	* doc/lispref/positions.texi (Text Lines): Revert previous change.

	* lisp/simple.el (line-number-at-pos): Remove definition.

	* lisp/simple.el (count-lines): Revert back to using
	`forward-line', because there seems to be a disagreement on how
	lines should be counted in a region...

	* src/fns.c (Fline_number_at_pos): Rename from
	Fline_number_at_position and adjust parameter list.

2021-02-07  Stefan Kangas  <stefan@marxist.se>

	Minor doc fixes in dictionary-connection.el

	* lisp/net/dictionary-connection.el:
	(dictionary-connection-p, dictionary-connection-read-to-point):
	Minor doc fixes to adhere to our conventions.

2021-02-07  Stefan Kangas  <stefan@marxist.se>

	Fix copyright and license statement in dictionary*.el

	* lisp/net/dictionary-connection.el:
	* lisp/net/dictionary.el: Add copyright statement and fix license
	statement.

2021-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new function 'line-number-at-position'

	* doc/lispref/positions.texi (Text Lines): Document it.

	* lisp/simple.el (count-lines): Use it.
	(line-number-at-pos): Ditto.

	* src/fns.c (Fline_number_at_position): New function (bug#22763).

2021-02-07  Stefan Kangas  <stefan@marxist.se>

	Various doc fixes in dictionary.el

	* lisp/net/dictionary.el (dictionary-set-server-var)
	(dictionary-server, dictionary-port)
	(dictionary-default-dictionary)
	(dictionary-default-popup-strategy, dictionary-proxy-server)
	(dictionary-proxy-port, dictionary-description-open-delimiter)
	(dictionary-description-close-delimiter)
	(dictionary-window-configuration, dictionary-selected-window)
	(dictionary-position-stack, dictionary-data-stack)
	(dictionary-positions, dictionary-current-data)
	(dictionary-connection, dictionary-instances)
	(dictionary-color-support, dictionary-word-history)
	(dictionary-mode, dictionary, dictionary-check-connection)
	(dictionary-mode-p, dictionary-send-command)
	(dictionary-read-reply-and-split, dictionary-check-reply)
	(dictionary-check-initial-reply, dictionary-store-state)
	(dictionary-store-positions, dictionary-new-search)
	(dictionary-new-search-internal, dictionary-do-search)
	(dictionary-display-search-result)
	(dictionary-display-word-definition)
	(dictionary-special-dictionary, dictionary-set-strategy)
	(dictionary-tooltip-dictionary, dictionary-switch-tooltip-mode)
	(dictionary-tooltip-mode, global-dictionary-tooltip-mode): Doc fixes
	to adhere to our conventions.

2021-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Fix inferior octave single-quote font lock"

	This reverts commit 9e68413c7f0a7f71e1cee923ace7282d14c2e686.

	This patch led to bug#46327:

	x = [2 2]'
	disp(x)

	Which meant that the transpose operator was interpreted
	as the start of a string.

2021-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Reverse customize-changed and customize-changed-options aliasing

	* lisp/cus-edit.el (customize-changed): Rename from
	customize-changed-options (bug#23085), since the old name doesn't
	reflect what it does: It's not just about user options, but also
	faces and the like.
	(customize-changed-options): Make into an obsolete alias.

2021-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify that #s(hash-table ...) doesn't always create a new hash table

	* doc/lispref/hash.texi (Creating Hash): Note that the printed
	representation doesn't necessarily create a new table (bug#23417).

	* doc/lispref/lists.texi (Rearrangement): Link to Self-Evaluating
	Forms to further expand upon immutability.

2021-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more commands to the new `C-x x' keymap

	* doc/emacs/killing.texi (Accumulating Text):
	* doc/emacs/display.texi (Line Truncation):
	* doc/emacs/buffers.texi (Misc Buffer): Document it.

	* lisp/bindings.el (ctl-x-x-map): Add new bindings for
	rename-buffer, rename-uniquely, insert-buffer and
	toggle-truncate-lines.

2021-02-07  Sean Whitton  <spwhitton@spwhitton.name>

	Move 'revert-buffer' global binding to 'C-x g g'

	* lisp/bindings.el: Define ctl-x-g-map and bind 'revert-buffer' to
	'C-x x g' globally.
	* doc/emacs/files.texi: Replace 'C-x g' with 'C-x x g'.
	* etc/NEWS: Document the change (bug#46300).

2021-02-07  Petteri Hintsanen  <petterih@iki.fi>

	Fix example in Sequence Functions node in the manual

	* doc/lispref/sequences.texi (Sequence Functions): Fix the result
	from the example.

2021-02-06  Dmitry Gutov  <dgutov@yandex.ru>

	Revert "Fix the previous change"

	This reverts commit fc37dc298f27025823fad2d944e11cc7ee6a058d.

	That change was only needed in the release branch.

2021-02-06  Mattias Engdegård  <mattiase@acm.org>

	Fix spurious warnings from unwise condition order in inlined code

	These are both conditions having the form (and A B) where A is
	side-effect-free and B may be known to be nil at compile time.
	The compiler will then warn about A being useless and thrown away.
	The fix is to test B first.

	* lisp/gnus/gnus.el (gnus-method-to-server):
	Test `(not no-enter-cache)` first.
	(gnus-server-get-method): Test `group` first.

2021-02-06  Mattias Engdegård  <mattiase@acm.org>

	Constprop of lexical variables

	Lexical variables bound to a constant value (symbol, number or string)
	are substituted at their point of use and the variable then eliminated
	if possible.  Example:

	  (let ((x (+ 2 3))) (f x))  =>  (f 5)

	This reduces code size, eliminates stack operations, and enables
	further optimizations.  The implementation is conservative, and is
	strongly curtailed by the presence of variable mutation, conditions
	and loops.

	* lisp/emacs-lisp/byte-opt.el
	(byte-optimize-enable-variable-constprop)
	(byte-optimize-warn-eliminated-variable): New constants.
	(byte-optimize--lexvars, byte-optimize--vars-outside-condition)
	(byte-optimize--vars-outside-loop, byte-optimize--dynamic-vars):
	New dynamic variables.
	(byte-optimize--substitutable-p, byte-optimize-let-form):
	New functions.
	(byte-optimize-form-code-walker): Adapt clauses for variable
	constprop, and add clauses for 'setq' and 'defvar'.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test-var)
	(bytecomp-test-get-var, bytecomp-test-identity)
	(byte-opt-testsuite-arith-data): Add test cases.

2021-02-06  Ioannis Kappas  <ioannis.kappas@gmail.com>  (tiny change)

	New test for src/process.c on MS-Windows

	* test/src/process-tests.el (process-sentinel-interrupt-event):
	New test.  (Bug#46284)

2021-02-06  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix TEXT check in gnus-search IMAP search

	* lisp/gnus/gnus-search.el (gnus-search-run-search): It's a string,
	not a buffer!

2021-02-06  Martin Rudalics  <rudalics@gmx.at>

	Permit zero value for 'child-frame-border-width' parameter (Bug#46184)

	* doc/lispref/frames.texi (Layout Parameters): Update entry on
	'child-frame-border-width' parameter.
	* src/frame.c (make_frame): Init child_frame_border_width to -1.
	(Fframe_child_frame_border_width): Return internal border width if
	child frame border width parameter is nil.
	(gui_report_frame_params): Report nil as child frame border
	width parameter if the frame value is negative.
	* src/frame.h (FRAME_INTERNAL_BORDER_WIDTH): Return value of
	child frame border width only if it is not negative.
	* src/xfns.c (Fx_create_frame): Default child frame border to -1
	when recording it in its frame slot via gui_default_parameter.
	* src/nsfns.m (ns_set_child_frame_border_width): Handle nil ARG.
	(Fx_create_frame): Default child frame border width parameter to
	nil.
	* src/w32fns.c (w32_set_child_frame_border_width): Handle nil ARG.
	(Fx_create_frame): Default child frame border width parameter to
	nil.
	* src/xfns.c (x_set_child_frame_border_width): Handle nil ARG.
	(Fx_create_frame): Default child frame border width parameter to
	nil.

2021-02-06  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	8ad48a0bdd (origin/emacs-27) Improve doc string of 'text-scale-adjust'
	7a25ff767d Clarify the indent-rigidly doc string
	6c5ddf0e0b Fix two small tab bar issues
	c71e08eba9 Fix last change in syntax.texi

	# Conflicts:
	#	lisp/indent.el

2021-02-06  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	8c27af3ff4 Clarify how transient indentation modes are exited in the ...
	fc37dc298f Fix the previous change

2021-02-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous change in testcover.el

	* lisp/emacs-lisp/testcover.el
	(testcover-analyze-coverage-edebug-after): The wrapper macro is
	called `1value', not `testcover-1value'.

2021-02-06  Eli Zaretskii  <eliz@gnu.org>

	Support file names with whitespace in Nroff mode

	* lisp/textmodes/nroff-mode.el (nroff-view): Quote argument of
	'Man-getpage-in-background' to support file names with special
	characters.  (Bug#46051)

2021-02-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak provided-mode-derived-p doc string

	* lisp/subr.el (provided-mode-derived-p): Remove detail about "or
	their aliases", since that seems self-evident (bug#46331) (and
	derived-mode-p works the same, and doesn't have the bit in
	question).

2021-02-06  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string of 'text-scale-adjust'

	* lisp/face-remap.el (text-scale-adjust): Clarify that "default
	face height" refers to the 'default' face.  (Bug#25168)

2021-02-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Warn in message.el when sending encryptable mail

	* lisp/gnus/message.el (message-send): Query if it looks like
	encryption was intended, but is not going to happen.

	* lisp/gnus/mml-sec.el (mml-secure-is-encrypted-p): Allow saying
	whether there's any <#secure tags present (bug#24411).

2021-02-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename the `1value' symbol in testcover.el

	* lisp/emacs-lisp/testcover.el: Rename the symbol `1value'
	throughout the file to `testcover-1value' to allow using the
	variable in code that's to be tested (bug#25471).

2021-02-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow provided-mode-derived-p to work on aliases

	* lisp/subr.el (provided-mode-derived-p): Allow this to work on
	modes that are aliases of other modes (bug#46331).  For instance:
	(provided-mode-derived-p 'javascript-mode 'prog-mode)

2021-02-06  Michael Albinus  <michael.albinus@gmx.de>

	Modernize use of prompts in auth-source.el

	* lisp/auth-source.el (auth-source-search): Adapt docstring
	(auth-source-format-prompt): Remove trailing ": ".
	(auth-source-netrc-create, auth-source-secrets-create)
	(auth-source-plstore-create): Adapt prompts.  Use `format-prompt'.
	Do not ask interactively if `auth-source-save-behavior' is nil.

2021-02-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the indent-rigidly doc string

	* lisp/indent.el (indent-rigidly): Clarify exiting the transient
	mode (bug#46296).

2021-02-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem when ~/.mailcap had several entries for a MIME type

	* lisp/net/mailcap.el (mailcap-mime-info): Use all the matching
	entries from ~/.mailcap, not just the first (bug#46318).

2021-02-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid a compilation warning in iter-do

	* lisp/emacs-lisp/generator.el (iter-do): Avoid a compilation
	warning on using variables marked for not using (bug#31641).
	Eg. (iter-do (_ i))

2021-02-06  Eli Zaretskii  <eliz@gnu.org>

	Fix copying text properties in 'format'

	* src/editfns.c (styled_format): Fix accounting for text
	properties that come from the format string.  (Bug#46317)

	* test/src/editfns-tests.el (format-properties): Add new tests for
	bug#46317.

2021-02-06  Martin Rudalics  <rudalics@gmx.at>

	Fix two small tab bar issues

	* lisp/cus-start.el (frame-inhibit-implied-resize): Update version tag.
	* lisp/frame.el (frame-inner-height): Do not count in tab bar.

2021-02-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el (let): Reimplement as a pcase macro

	(pcase--macroexpand, pcase--u1): Remove handling of `let` from
	`pcase`s core.

2021-02-05  Eli Zaretskii  <eliz@gnu.org>

	Fix 'C-d' on the first line in Rmail summary buffer

	* lisp/mail/rmailsum.el (rmail-summary-delete-forward): Fix
	deleting backward past the beginning of the summary buffer.
	(Bug#46325)

2021-02-05  Michael Albinus  <michael.albinus@gmx.de>

	Add command 'dbus-monitor'

	* doc/misc/dbus.texi: (Monitoring Messages): Document 'dbus-monitor'.

	* etc/NEWS: Mention 'dbus-monitor' but 'dbus-register-monitor'.
	Fix typos and other oddities.

	* lisp/net/dbus.el (dbus-monitor): New command.

	* test/lisp/net/dbus-tests.el (dbus--test-register-service): Extend test.

2021-02-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't hard-code ignored functions in `indent-according-to-mode'

	* lisp/indent.el (indent-line-ignored-functions): New variable
	(bug#26945).
	(indent-according-to-mode): Use it.

2021-02-05  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in 'window-text-pixel-size'

	* src/xdisp.c (Fwindow_text_pixel_size): Fix last change: preserve
	the original Y coordinate after start_display, instead of zeroing
	it out.  Reported by martin rudalics <rudalics@gmx.at>.

2021-02-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Fontize more automatic variables in makefile-gmake-mode

	* lisp/progmodes/make-mode.el (makefile-gmake-font-lock-keywords):
	Fontize the $ in more automatic variables (bug#27842).

2021-02-05  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in syntax.texi

	* doc/lispref/syntax.texi (Syntax Properties): Fix wording in last
	change.  (Bug#46274)

2021-02-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Correct the lispref manual about flushing ppss info

	* doc/lispref/syntax.texi (Syntax Properties): Correct the
	information about flushing the state by copying the text from the
	doc string (bug#46274).

	(cherry picked from commit ff701ce2b261acce1dfcd1fe137268d87d5eab35)

2021-02-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify how transient indentation modes are exited in the manual

	* doc/emacs/indent.texi (Indentation Commands): Clarify that the
	other keys don't just exit the transient mode, but are also
	handled as normally (bug#46296).

2021-02-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Protect against killed buffers in term-emulate-terminal

	* lisp/term.el (term-emulate-terminal): Ensure that the buffer is
	still alive before selecting it (bug#46323).  This avoids an error
	when saying `C-x k' in an ansi-term buffer.

2021-02-05  Sean Whitton  <spwhitton@spwhitton.name>

	Fix repeating complex commands

	* lisp/repeat.el (repeat): Fix repeating complex commands
	(bug#46290).  This makes `M-: date RET C-x z' work again (like in
	Emacs 21, apparently).

2021-02-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Make octave-send-region deactivate the region

	* lisp/progmodes/octave.el (octave-send-region): Deactivate mark
	after sending the region (bug#32282), since this is how these commands
	usually work.

2021-02-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Correct the lispref manual about flushing ppss info

	* doc/lispref/syntax.texi (Syntax Properties): Correct the
	information about flushing the state by copying the text from the
	doc string (bug#46274).

2021-02-05  Stefan Kangas  <stefan@marxist.se>

	* lisp/emacs-lisp/checkdoc.el: Doc fix; don't mention built-ins.

2021-02-05  Stefan Kangas  <stefan@marxist.se>

	Remove some unnecessary references to Emacs 18

	* lisp/progmodes/cmacexp.el:
	* lisp/progmodes/f90.el:
	* lisp/shell.el: Doc fix; don't mention Emacs 18.

2021-02-05  Stefan Kangas  <stefan@marxist.se>

	Remove Emacs 19 compat code from dcl-mode.el

	* lisp/progmodes/dcl-mode.el: Doc fix.
	(dcl-mode-map, dcl-mode): Remove compat code for Emacs 19.

2021-02-05  Stefan Kangas  <stefan@marxist.se>

	Remove Emacs 20 compat code for header-line-format

	* lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
	* lisp/erc/erc.el (erc-update-mode-line-buffer):
	* lisp/ibuffer.el (ibuffer-use-header-line): Remove Emacs 20 compat
	code; header-line-format is always defined starting with Emacs 21.

2021-02-05  Stefan Kangas  <stefan@marxist.se>

	* lisp/color.el: Remove Emacs 23.2 compat code.

	* lisp/textmodes/rst.el (rst-directive): Remove XEmacs compat code.

2021-02-05  Stefan Kangas  <stefan@marxist.se>

	Assume font-lock-mode variable is not void

	* lisp/align.el (align-rules-list):
	* lisp/cedet/semantic/idle.el
	(semantic-idle-summary-useful-context-p):
	* lisp/org/org-table.el (org-table-edit-field):
	* lisp/org/org.el (org-restart-font-lock):
	* lisp/progmodes/antlr-mode.el (antlr-language-option-extra):
	* lisp/progmodes/idlwave.el (idlwave-choose):
	* lisp/progmodes/sql.el (sql-product-font-lock):
	* lisp/progmodes/verilog-mode.el
	(verilog-save-font-no-change-functions, verilog-preprocess):
	* lisp/vc/cvs-status.el:
	* lisp/vc/smerge-mode.el (smerge-mode):
	* lisp/woman.el (woman-decode-buffer): Assume font-lock-mode variable
	is not void; it is preloaded.

2021-02-05  Dmitry Gutov  <dgutov@yandex.ru>

	Fix the previous change

	* lisp/progmodes/project.el (project-find-regexp):
	Fix the previous change (project-root is not defined in this version).
	(project-or-external-find-regexp): Same.

2021-02-04  Harald Jörg  <haj@posteo.de>

	cperl-mode: eliminate dead code

	* lisp/progmodes/cperl-mode.el (cperl-update-syntaxification):
	Eliminate check for `syntax-propertize-rules` (always true)
	and eliminate unused first parameter.
	(cperl-mode): Eliminate obsolete `font-lock-syntactic-keywords`,
	Eliminate check for `syntax-propertize-rules` (always true).
	(cperl-fontify-syntaxically): Eliminate call to
	no-longer-existing function `edebug-backtrace` (bug#46302).

2021-02-04  Eli Zaretskii  <eliz@gnu.org>

	Avoid overwriting minibuffer prompt by keystrokes echo

	* src/lread.c (Fread_char, Fread_event, Fread_char_exclusive):
	Call cancel_echoing to make sure the prompt is not obscured by
	keystrokes echo.  (Bug#46243)

2021-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Deactivate region in `C-c C-r' in python-mode

	* lisp/progmodes/python.el (python-shell-send-region): Deactivate
	mark after executing (bug#28789).  This is how this command worked
	in Emacs 24, apparently.

2021-02-04  Eli Zaretskii  <eliz@gnu.org>

	Fix 'window-text-pixel-size' for short spans of text

	* src/xdisp.c (Fwindow_text_pixel_size): Support the use case
	where FROM and TO belong to the same screen line.  Reported by
	Yuan Fu <casouri@gmail.com>.

2021-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve filling of Emacs Lisp doc strings

	* lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): When filling
	a Lisp string, try to avoid filling bits that follow it
	(bug#28937).

2021-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow a :variable keyword in define-globalized-minor-mode

	* doc/lispref/modes.texi (Defining Minor Modes): Document it.
	* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
	Allow specifying a :variable to be used if the underlying mode has
	a divergent variable to store the state (bug#29081).

2021-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous ibuffer patch

	* lisp/ibuffer.el (ibuffer-last-sorting-mode): Restore variable
	removed by mistake in previous change.

2021-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the recency sorting stable when we have inverted sorting

	* lisp/ibuffer.el (recency): Remove.
	(recency): New macro function so that sorting by recency is
	stable when inverted sorting is switched on (bug#30129).

2021-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Tweak how ibuffer-invert-sorting updates the buffer"

	This reverts commit b8b3263eab688b97530a7bf7d565b084df56ea08.

	This doesn't fix other instances of ibuffer-redisplay

2021-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak how ibuffer-invert-sorting updates the buffer

	* lisp/ibuf-ext.el (ibuffer-invert-sorting): Enable calling this
	function repeatedly with more predictable results (bug#30129).

2021-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't ask the user to make a bug report on missing arglists

	* lisp/help-fns.el (help-fns--signature): Don't ask the user to
	make a bug report (bug#30223) because the symbol may very well be
	one that the user has defined themselves.
	(help-fns-function-description-header): Ditto.

2021-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the "Sentinels" node in the lispref manual

	* doc/lispref/processes.texi (Sentinels): Mention "run" and that
	the strings can be anything (bug#30461).

2021-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow eshell to have an "erasedups"-like history

	* lisp/eshell/em-hist.el (eshell-add-input-to-history): Use the
	new value (bug#30466).
	(eshell-hist-ignoredups): Allow "erasedups"-like value.

2021-02-04  Robert Pluim  <rpluim@gmail.com>

	Update description of 'tramp-crypt-remove-directory'

	* doc/misc/tramp.texi (Keeping files encrypted): Correct name of
	function to use to indicate files should no longer be encrypted,
	and update its description.

2021-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Be stricter when going back to the previous node in Info-find-node-2

	* lisp/info.el (Info-find-node-2): When going back to the previous
	node, be strict (bug#31137) since we have the exact node name.

2021-02-04  Juri Linkov  <juri@linkov.net>

	* lisp/replace.el (occur-rename-buffer): Check for overlay (bug#46268).

	(occur-1): Don't use occur--garbage-collect-revert-args
	when reverting the Occur buffer with same bufs.

2021-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix epg filtering out keys that contain revoked IDs

	* lisp/epg.el (epg--filter-revoked-keys): Only filter out the
	revoked user ids, not the entire key that contains revoked user
	ids (bug#46138).

2021-02-04  Stefan Kangas  <stefan@marxist.se>

	Don't set removed variable facemenu-unlisted-faces

	* lisp/vc/ediff-init.el (ediff-hide-face): Redefine as obsolete
	function alias for 'ignore'; the variable 'facemenu-unlisted-faces'
	was removed in Emacs 22.  Remove all calls.

	* lisp/mh-e/mh-e.el: Add comment saying that the variable
	'facemenu-unlisted-faces' is removed.

2021-02-04  Stefan Kangas  <stefan@marxist.se>

	* lisp/man.el (Man-notify-method): Remove Emacs 19.28 compat code.

2021-02-04  Stefan Kangas  <stefan@marxist.se>

	Use require instead of boundp+load-library in double.el

	* lisp/double.el (isearch): Use require instead of
	boundp+load-library.

2021-02-04  Stefan Kangas  <stefan@marxist.se>

	Remove some unnecessary references to Emacs 19

	* lisp/emacs-lisp/elp.el:
	* lisp/mouse-copy.el:
	* lisp/mouse-drag.el:
	* lisp/progmodes/simula.el (simula-mode-map):
	* lisp/term.el (term-matching-input-from-input-string):
	* lisp/vcursor.el: Doc fix; don't mention Emacs 19.

2021-02-04  Stefan Kangas  <stefan@marxist.se>

	Remove XEmacs compat code from edebug.el

	* lisp/emacs-lisp/edebug.el (edebug-window-live-p, edebug-mark):
	Make obsolete.  Update callers.

2021-02-04  Dmitry Gutov  <dgutov@yandex.ru>

	Bind default-directory to the project root

	* lisp/progmodes/project.el (project-find-regexp):
	Bind default-directory to the project root, to save this value
	in the resulting buffer (esp. if the project selector was used,
	(https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg00140.html).
	(project-or-external-find-regexp): Same.

2021-02-03  Andrea Corallo  <akrl@sdf.org>

	Remove `system-configuration' from eln filename

	* src/comp.c (hash_native_abi): Remove `system-configuration'
	from eln filename. Add `system-configuration' and
	`emacs-version' into `comp-abi-hash'.

2021-02-03  Andrea Corallo  <akrl@sdf.org>

	Short eln filename hashes

	* src/comp.c (HASH_LENGTH): New macro.
	(comp_hash_string, comp_hash_source_file): Trim the hash before
	returning.

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Tramp code cleanup

	* lisp/net/tramp.el (tramp-signal-hook-function)
	(tramp-handle-access-file, tramp-handle-copy-directory)
	(tramp-handle-directory-files, tramp-handle-file-local-copy)
	(tramp-handle-insert-file-contents, tramp-handle-load):
	* lisp/net/tramp-adb.el (tramp-adb-handle-directory-files-and-attributes)
	(tramp-adb-handle-make-directory)
	(tramp-adb-handle-file-local-copy, tramp-adb-handle-copy-file)
	(tramp-adb-handle-rename-file):
	* lisp/net/tramp-crypt.el (tramp-crypt-do-copy-or-rename-file)
	(tramp-crypt-handle-directory-files)
	(tramp-crypt-handle-make-directory):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-event-error)
	(tramp-gvfs-do-copy-or-rename-file)
	(tramp-gvfs-handle-make-directory):
	* lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file)
	(tramp-rclone-handle-directory-files):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
	(tramp-sh-handle-directory-files-and-attributes)
	(tramp-sh-handle-file-name-all-completions)
	(tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file)
	(tramp-sh-handle-make-directory)
	(tramp-sh-handle-file-local-copy)
	(tramp-sh-inotifywait-process-filter):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-copy-file, tramp-smb-handle-directory-files)
	(tramp-smb-handle-file-local-copy)
	(tramp-smb-handle-make-directory, tramp-smb-handle-rename-file):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
	Unify error report.

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler): Sync args
	with other `tramp-*-file-name-handler'.

	* lisp/net/tramp-compat.el (tramp-error): Declare.
	(tramp-compat-file-missing): New defsubst.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
	Handle volatile files.
	(tramp-gvfs-set-attribute): New defun.
	(tramp-gvfs-handle-set-file-modes)
	(tramp-gvfs-handle-set-file-times)
	(tramp-gvfs-handle-set-file-uid-gid): Use it.

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
	Use `msg-operation'.

	* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
	Remove superfluous `format:
	(tramp-smb-maybe-open-connection): Simplify loop.

	* lisp/net/tramp.el (tramp-handle-file-truename): Drop volume letter from
	symlinked files.

	* test/lisp/net/tramp-tests.el (tramp--test-gdrive-p): New defun.
	(tramp--test-nextcloud-p): Remove.
	(tramp-test40-special-characters-with-ls): Do not skip on MS Windows.
	(tramp-test41-utf8): Skip if needed.

2021-02-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	7355209f53 (origin/emacs-27) * lisp/window.el (recenter-top-bottom): ...
	dc78f8a4ea (emacs-27) url-http.el: Special-case NTLM authentication
	85b0137858 * lisp/isearch.el (isearch-lazy-highlight): Fix defcustom ...
	cbeda21083 Sync latest SKK-JISYO.L

2021-02-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	9c75434173 Fix build failure on macOS 10.7 (bug#46036)
	ca44ea18ef Improve documentation of auto-resize-tool/tab-bars

2021-02-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	74a71c41e0 (tag: emacs-27.1.91) Update files for 27.1.91 pretest

	# Conflicts:
	#	ChangeLog.3
	#	etc/AUTHORS
	#	lisp/ldefs-boot.el

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Make backslash characters no longer escape in `f90-mode'

	* lisp/progmodes/f90.el (f90-backslash-not-special): Make obsolete
	(bug#32766).
	(f90-mode-syntax-table): Make the backslash be a normal
	(non-escape) character, which is the default since about 2007 (and
	F2K): https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34203

2021-02-03  Wilson Snyder  <wsnyder@wsnyder.org>

	Update lisp/progmodes/verilog-mode.el

	* lisp/progmodes/verilog-mode.el: Cleanup compile-time warning
	suppression.  Use underscore for unused arguments and other style
	cleanups.  Use '# for function references.  By Stefan Monnier.
	(verilog-auto-reset, verilog-sig-tieoff):
	Fix AUTORESET '0 (#1714). Reported by Paul Adams.
	(verilog-simplify-range-expression):
	Fix AUTOWIRE simplifying X/Y where there is a remainder (#1712).
	Reported by Joachim Lechner.
	(verilog-read-sub-decls-expr):
	Fix multiplication in multidimensional AUTOINST output (#1698).
	Reported by alanamckee.
	(verilog-at-constraint-p, verilog-at-streaming-op-p, verilog-streaming-op-re):
	Add streaming operator support (#1692) (#1516),
	(verilog-auto-assign-modport, verilog-auto-inout-modport):
	Support adding prefix to AUTOASSIGNMODPORT and AUTOINOUTMODPORT (#1690).
	(verilog-signals-matching-dir-re):
	Fix error when matching regexp with 2D packed memory.
	Reported by Chris DeMarco.
	(verilog-declaration-core-re): Allow parameter
	declaration statements to align like any other declaration (#1683).
	Suggested by Vinam Arora.
	(verilog-auto-inout, verilog-auto-inout-in)
	(verilog-auto-inout-module, verilog-auto-input, verilog-auto-inst)
	(verilog-auto-inst-param, verilog-auto-output-every)
	(verilog-signals-matching-regexp)
	(verilog-signals-not-matching-regexp):
	When "?!" is at the front of a signal-matching regexp, invert it.
	(verilog-declaration-varname-matcher)
	(verilog-highlight-max-lookahead, verilog-mode)
	(verilog-single-declaration-end) (verilog-font-lock-keywords-1):
	Improve syntax highlighting in declaration statements, and support
	multi-line declarations, #1681.  Reported by Vinam Arora.

2021-02-02  Alan Mackenzie  <acm@muc.de>

	CC Mode: Prevent "const" inside an identifier being recognized as the keyword

	This fixes bug #45560.

	* lisp/progmodes/cc-engine.el (c-forward-declarator)
	(c-forward-decl-or-cast-1): Amend certain regexp match numbers on account of
	the change below.  Surround some looking-at calls with save-match-data.

	* lisp/progmodes/cc-langs.el (c-type-decl-prefix-keywords-key): New lang
	const.
	(c-type-decl-prefix-key): Reformulate to match operators and keywords
	separately, using the new lang const (above).

2021-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-art.el: Fix misuse of `standard-value`.

	* lisp/custom.el (custom--standard-value): New function.

	* lisp/gnus/gnus-art.el: (gnus-article-browse-html-parts)
	(gnus-article-browse-html-article):
	* lisp/dired-aux.el (dired-do-find-regexp-and-replace):
	* lisp/emacs-lisp/package-x.el (package-upload-buffer-internal):
	* lisp/startup.el (command-line): Use it.

2021-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-group.el: Fix a regression due to lexical scoping

	(gnus-group-highlight): Improve docstring.
	(gnus-group-update-eval-form): Add `group` and `method` to the vars
	provided to `eval`.

2021-02-02  Eli Zaretskii  <eliz@gnu.org>

	* lisp/window.el (recenter-top-bottom): Clarify doc string.

2021-02-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Handle errors in `comint-strip-ctrl-m' in some cases

	* lisp/comint.el (comint-strip-ctrl-m): Don't signal errors when
	used noninteractively (bug#33115).

2021-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/lisp-mode.el (lisp-mode): Also set `comment-end-skip`

2021-02-02  chuntaro  <chuntaro@sakura-games.jp>  (tiny change)

	Fix |# fontification in lisp-mode

	* lisp/emacs-lisp/lisp-mode.el (lisp-mode): Give the |# the
	correct (font-lock-comment-delimited-face) face (bug#39820).

2021-02-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Have `dired-mode' refer to Customize instead of listing some variables

	* lisp/dired.el (dired-mode): Punt to Customize instead of listing
	some of the dired variables (bug#46239).

2021-02-02  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in remaining libraries

	* lisp/align.el (align-mode-rules-list)
	(align-mode-exclude-rules-list):
	* lisp/bookmark.el (bookmark-current-bookmark)
	(bookmark-annotation-name)
	(bookmark--annotation-from-bookmark-list):
	* lisp/calc/calc-embed.el (calc-embedded-all-active)
	(calc-embedded-some-active):
	* lisp/comint.el (comint-password-function):
	* lisp/completion.el (completion-syntax-table):
	* lisp/dframe.el (dframe-track-mouse-function)
	(dframe-help-echo-function, dframe-mouse-click-function)
	(dframe-mouse-position-function, dframe-timer)
	(dframe-attached-frame, dframe-controlled):
	* lisp/ehelp.el (electric-help-orig-major-mode):
	* lisp/eshell/esh-util.el (eshell-path-env):
	* lisp/expand.el (expand-pos, expand-index, expand-point):
	* lisp/face-remap.el (text-scale-mode-remapping)
	(text-scale-mode-lighter, text-scale-mode-amount)
	(text-scale-remap-header-line, buffer-face-mode-remapping):
	* lisp/ffap.el (ffap-menu-alist):
	* lisp/files-x.el (connection-local-variables-alist):
	* lisp/foldout.el (foldout-fold-list, foldout-mode-line-string):
	* lisp/follow.el (follow-start-end-invalid):
	* lisp/forms.el (forms--mode-setup):
	* lisp/gnus/message.el (message-cross-post-old-target)
	(message-options):
	* lisp/help-mode.el (help-xref-stack, help-xref-forward-stack)
	(help-xref-stack-item, help-xref-stack-forward-item):
	* lisp/hexl.el (hexl-mode--old-var-vals, hexl-ascii-overlay):
	* lisp/hilit-chg.el (hilit-chg-string):
	* lisp/ido.el (ido-eoinput):
	* lisp/imenu.el (imenu-generic-expression)
	(imenu-create-index-function, imenu-default-goto-function)
	(imenu-prev-index-position-function)
	(imenu-extract-index-name-function, imenu-name-lookup-function)
	(imenu-syntax-alist, imenu-case-fold-search):
	* lisp/jka-compr.el (jka-compr-really-do-compress):
	* lisp/language/ethio-util.el (ethio-prefer-ascii-space):
	* lisp/leim/quail/hangul.el (hangul-input-method-help-text):
	* lisp/leim/quail/japanese.el (quail-japanese-package-saved):
	* lisp/linum.el (linum-overlays, linum-available):
	* lisp/man.el (Man-original-frame, Man-arguments, Man--sections)
	(Man--refpages, Man-page-list, Man-current-page)
	(Man-page-mode-string):
	* lisp/pcomplete.el (pcomplete-current-completions)
	(pcomplete-last-completion-length)
	(pcomplete-last-completion-stub, pcomplete-last-completion-raw)
	(pcomplete-last-window-config, pcomplete-window-restore-timer):
	* lisp/reveal.el (reveal-open-spots, reveal-last-tick):
	* lisp/ruler-mode.el (ruler-mode):
	* lisp/scroll-lock.el (scroll-lock-preserve-screen-pos-save):
	* lisp/server.el (server-buffer-clients, server-existing-buffer):
	* lisp/tab-line.el (tab-line-exclude):
	* lisp/tar-mode.el (tar-data-buffer, tar-data-swapped):
	* lisp/thumbs.el (thumbs-current-tmp-filename)
	(thumbs-current-image-filename, thumbs-extra-images)
	(thumbs-image-num, thumbs-buffer, thumbs-marked-list):
	* lisp/tutorial.el (tutorial--point-before-chkeys)
	(tutorial--point-after-chkeys, tutorial--lang):
	* lisp/url/url-vars.el (url-current-object)
	(url-current-mime-headers, url-current-lastloc):
	* lisp/view.el (view-mode, view-old-buffer-read-only)
	(view-old-Helper-return-blurb, view-page-size)
	(view-half-page-size, view-last-regexp, view-return-to-alist)
	(view-exit-action, view-overlay):
	* lisp/wid-edit.el (widget-global-map, widget-field-new)
	(widget-field-list, widget-field-last, widget-field-was):
	* lisp/woman.el (woman-imenu-done): Prefer defvar-local.

2021-02-02  Stefan Kangas  <stefan@marxist.se>

	Remove redundant :group args in play/*.el

	* lisp/play/bubbles.el:
	* lisp/play/cookie1.el:
	* lisp/play/decipher.el:
	* lisp/play/dunnet.el:
	* lisp/play/gametree.el:
	* lisp/play/gomoku.el:
	* lisp/play/hanoi.el: Remove redundant :group args.

2021-02-02  Sean Whitton  <spwhitton@spwhitton.name>

	Bind 'revert-buffer' to 'C-x g' globally

	* lisp/bindings.el: Bind 'revert-buffer' to 'C-x g' globally.
	* doc/emacs/files.texi: Replace 'M-x revert-buffer' with 'C-x g'.
	* etc/NEWS: Document the change (bug#46151).

2021-02-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up invalid_syntax error signaling

	* src/lread.c (invalid_syntax_lisp): Instead of putting the
	line/column in a string, signal an error containing the numbers as
	data.  This allows for easier post-processing and is how other
	similar errors (like (forward-sexp 1)) do it.

2021-02-02  Dmitry Gutov  <dgutov@yandex.ru>

	ruby-syntax-propertize: Fix certain cases following ::

	* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
	Make sure to backtrack if the "symbols with special characters"
	rule is aborted because of preceding colon.

2021-02-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Make syntax errors say the line/column they appear at

	* src/lisp.h: Add count_lines prototype.
	* src/lread.c (invalid_syntax_lisp): New function (bug#36970).
	(invalid_syntax): Extend function to take a readcharfun parameter.
	(read_emacs_mule_char, character_name_to_code): Pass in.
	(read_escape, invalid_radix_integer, read1): Ditto.

	* src/xdisp.c (count_lines): Add a more succinct shim over
	display_count_lines.

2021-02-01  Stefan Kangas  <stefan@marxist.se>

	* test/src/minibuf-tests.el (test-inhibit-interaction): Fix test.

2021-02-01  Stefan Kangas  <stefan@marxist.se>

	Remove another variable obsolete since Emacs 23.2

	* src/keymap.c (syms_of_keymap, Fdefine_key):
	* lisp/subr.el (define-key-rebound-commands): Remove variable obsolete
	since Emacs 23.2.

2021-02-01  Stefan Kangas  <stefan@marxist.se>

	* lisp/hi-lock.el (hi-lock-mode): Doc fix; don't mention Emacs 21.

2021-02-01  Stefan Kangas  <stefan@marxist.se>

	Make XEmacs compat alias obsolete in allout-widgets.el

	* lisp/allout-widgets.el (allout-frame-property): Redefine compat
	alias as obsolete function alias for 'frame-parameter'.
	(allout-fetch-icon-image): Update caller.

2021-02-01  Stefan Kangas  <stefan@marxist.se>

	Redefine two functions as regular defuns

	* lisp/dframe.el (dframe-popup-kludge, dframe-mouse-event-p):
	Redefine as regular defun.

2021-02-01  Stefan Kangas  <stefan@marxist.se>

	Make two eshell aliases obsolete

	* lisp/eshell/esh-util.el (eshell-user-name): Redefine as obsolete
	function alias for 'user-login-name'.
	(eshell-copy-tree): Redefine as obsolete function alias for
	'copy-tree'.
	* lisp/eshell/esh-cmd.el (eshell-do-eval): Don't use above
	obsolete alias.

2021-02-01  Stefan Kangas  <stefan@marxist.se>

	Add cross-references to defvar-local

	* src/data.c (Fmake_variable_buffer_local):
	* src/eval.c (Fdefvar): Add cross-references to 'defvar-local'.

2021-02-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix indentation of non-comment HTML with -- in it

	* lisp/textmodes/sgml-mode.el (sgml-comment-indent-new-line): Only
	indent as if we're in a comment if syntax-ppss says that we're in
	a comment (bug#36227).

2021-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/eshell/em-cmpl.el (eshell--complete-commands-list): Fix last fix

	Complete `*firef` to `*firefox` rather than to `firefox`.

2021-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/eshell/em-cmpl.el: Try and fix bug#41423

	(eshell--complete-commands-list): Rename from `eshell-complete-commands-list`.
	Return a (dynamic) completion table rather than a list of completions.
	Use `dolist` and `push`.

2021-02-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	url-http.el: Special-case NTLM authentication

	* lisp/url/url-http.el (url-http-handle-authentication): Do not
	signal an error on NTLM authorization strings.  (Bug#43566)

2021-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* admin/*.el: Use lexical-binding

	* admin/admin.el: Use lexical-binding.
	(manual-misc-manuals): Pass a limit to `looking-back`.
	(reminder-for-release-blocking-bugs): Don't use `_` for a real variable.

	* admin/authors.el: Use lexical-binding.
	(authors-disambiguate-file-name): Remove unused var `parent`.

	* admin/cus-test.el:
	* admin/find-gc.el:
	* admin/gitmerge.el: Use lexical-binding.

2021-01-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	Merge remote-tracking branch 'origin/scratch/lexical-gnus' into trunk

2021-01-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-group.el: Defvar all the `gnus-tmp-*` vars

	These were collected via

	    sed -n -e 's/.*\(gnus-tmp-[^     ()]*\).*/(defvar \1)/p' \
	        lisp/gnus/gnus-group.el

2021-01-31  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-lazy-highlight): Fix defcustom type (bug#46208)

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in preloaded files

	* lisp/abbrev.el:
	* lisp/bindings.el (mode-line-mule-info, mode-line-modified)
	(mode-line-remote, mode-line-process)
	(mode-line-buffer-identification):
	* lisp/buff-menu.el (Buffer-menu-files-only):
	* lisp/files.el (buffer-file-number, buffer-file-read-only)
	(local-write-file-hooks, write-contents-functions)
	(file-local-variables-alist, dir-local-variables-alist)
	(save-buffer-coding-system, buffer-save-without-query):
	* lisp/font-core.el (font-lock-defaults):
	* lisp/font-lock.el (font-lock-keywords-case-fold-search)
	(font-lock-syntactically-fontified)
	(font-lock-extend-after-change-region-function)
	(font-lock-extend-region-functions, font-lock-major-mode):
	* lisp/menu-bar.el (list-buffers-directory):
	* lisp/simple.el (next-error--message-highlight-overlay)
	(next-error-buffer, next-error-function)
	(next-error-move-function, goto-line-history)
	(minibuffer-default-add-done, undo-extra-outer-limit):
	* lisp/tab-bar.el (tab-switcher-column):
	* lisp/term/ns-win.el (ns-select-overlay):
	* lisp/window.el (window-size-fixed, window-area-factor)
	(window-group-start-function, window-group-end-function)
	(set-window-group-start-function)
	(recenter-window-group-function)
	(pos-visible-in-window-group-p-function)
	(selected-window-group-function)
	(move-to-window-group-line-function): Prefer defvar-local.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in mail/*.el

	* lisp/mail/emacsbug.el (report-emacs-bug-send-command)
	(report-emacs-bug-send-hook):
	* lisp/mail/reporter.el (reporter-initial-text):
	* lisp/mail/supercite.el (sc-mail-info, sc-attributions):
	* lisp/mail/rmail.el (rmail-buffer-swapped, rmail-view-buffer):
	Prefer defvar-local.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in progmodes/*.el

	This skips libraries that might want compatibility with Emacs 24.2.

	* lisp/progmodes/compile.el (compilation-auto-jump-to-next)
	(compilation--previous-directory-cache, compilation--parsed)
	(compilation-gcpro):
	* lisp/progmodes/cpp.el (cpp-overlay-list, cpp-edit-buffer)
	(cpp-parse-symbols, cpp-edit-symbols):
	* lisp/progmodes/ebnf2ps.el (ebnf-eps-upper-x, ebnf-eps-upper-y)
	(ebnf-eps-prod-width, ebnf-eps-max-height, ebnf-eps-max-width):
	* lisp/progmodes/f90.el (f90-cache-position):
	* lisp/progmodes/gud.el (gud-marker-acc):
	* lisp/progmodes/js.el (js--quick-match-re)
	(js--quick-match-re-func, js--cache-end, js--last-parse-pos)
	(js--state-at-last-parse-pos, js--tmp-location):
	* lisp/progmodes/octave.el (inferior-octave-directory-tracker-resync):
	* lisp/progmodes/sh-script.el (sh-header-marker): Prefer defvar-local.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in textmodes/*.el

	This skips libraries that might want compatibility with Emacs 24.2.

	* lisp/textmodes/artist.el (artist-curr-go)
	(artist-line-char-set, artist-line-char, artist-fill-char-set)
	(artist-fill-char, artist-erase-char, artist-default-fill-char)
	(artist-draw-region-min-y, artist-draw-region-max-y)
	(artist-borderless-shapes):
	* lisp/textmodes/css-mode.el (css--at-ids, css--bang-ids)
	(css--nested-selectors-allowed):
	* lisp/textmodes/enriched.el (enriched-old-bindings):
	* lisp/textmodes/flyspell.el (flyspell-generic-check-word-predicate)
	(flyspell-consider-dash-as-word-delimiter-flag)
	(flyspell-dash-dictionary, flyspell-dash-local-dictionary)
	(flyspell-word-cache-start, flyspell-word-cache-end)
	(flyspell-word-cache-word, flyspell-word-cache-result)
	(flyspell-changes, flyspell-auto-correct-pos)
	(flyspell-auto-correct-region, flyspell-auto-correct-ring)
	(flyspell-auto-correct-word):
	* lisp/textmodes/ispell.el (ispell-local-dictionary-overridden)
	(ispell-local-pdict, ispell-buffer-session-localwords):
	* lisp/textmodes/refill.el (refill-ignorable-overlay)
	(refill-doit):
	* lisp/textmodes/sgml-mode.el (html--buffer-classes-cache)
	(html--buffer-ids-cache):
	* lisp/textmodes/table.el (table-mode-indicator):
	* lisp/textmodes/tex-mode.el (tex-send-command-modified-tick):
	* lisp/textmodes/two-column.el (2C-autoscroll-start, 2C-mode):
	Prefer defvar-local.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in cedet

	* lisp/cedet/ede.el (ede-object-root-project)
	(ede-object-project, ede-object):
	* lisp/cedet/mode-local.el (mode-local-symbol-table):
	* lisp/cedet/semantic.el (semantic--parse-table)
	(semantic-symbol->name-assoc-list)
	(semantic-symbol->name-assoc-list-for-type-parts)
	(semantic-case-fold, semantic--buffer-cache)
	(semantic-unmatched-syntax-cache)
	(semantic-unmatched-syntax-cache-check, semantic-parser-name)
	(semantic--completion-cache, semantic-parse-tree-state)
	(semantic-init-mode-hook, semantic-parser-warnings):
	* lisp/cedet/semantic/bovine.el
	(semantic-bovinate-nonterminal-check-obarray):
	* lisp/cedet/semantic/complete.el (semantic-collector-per-buffer-list):
	* lisp/cedet/semantic/ctxt.el (semantic-command-separation-character)
	(semantic-function-argument-separation-character):
	* lisp/cedet/semantic/db-find.el (semanticdb-find-lost-includes)
	(semanticdb-find-scanned-include-tags):
	* lisp/cedet/semantic/db.el (semanticdb-new-database-class)
	(semanticdb-default-find-index-class)
	(semanticdb-current-database, semanticdb-current-table)
	(semanticdb-project-system-databases)
	(semanticdb-out-of-buffer-create-table-fcn):
	* lisp/cedet/semantic/debug.el (semantic-debug-parser-source)
	(semantic-debug-parser-class)
	(semantic-debug-parser-debugger-source):
	* lisp/cedet/semantic/dep.el (semantic-dependency-include-path)
	(semantic-dependency-system-include-path):
	* lisp/cedet/semantic/format.el (semantic-function-argument-separator)
	(semantic-format-parent-separator):
	* lisp/cedet/semantic/fw.el (semantic-new-buffer-fcn-was-run):
	* lisp/cedet/semantic/grammar.el (semantic-grammar-macros)
	(semantic--grammar-macros-regexp-1)
	(semantic--grammar-macros-regexp-2):
	* lisp/cedet/semantic/idle.el (semantic-idle-scheduler-mode):
	* lisp/cedet/semantic/imenu.el (semantic-imenu-expandable-tag-classes):
	* lisp/cedet/semantic/lex-spp.el
	(semantic-lex-spp-macro-symbol-obarray)
	(semantic-lex-spp-project-macro-symbol-obarray)
	(semantic-lex-spp-dynamic-macro-symbol-obarray)
	(semantic-lex-spp-dynamic-macro-symbol-obarray-stack):
	* lisp/cedet/semantic/lex.el (semantic-flex-keywords-obarray)
	(semantic-lex-types-obarray, semantic-lex-analyzer)
	(semantic-lex-syntax-modifications, semantic-lex-syntax-table)
	(semantic-lex-comment-regex, semantic-lex-number-expression)
	(semantic-lex-depth, semantic-flex-extensions)
	(semantic-flex-syntax-modifications, semantic-ignore-comments)
	(semantic-flex-enable-newlines, semantic-flex-enable-whitespace)
	(semantic-flex-enable-bol, semantic-number-expression)
	(semantic-flex-depth):
	* lisp/cedet/semantic/senator.el (senator-isearch-semantic-mode):
	* lisp/cedet/semantic/sort.el
	(semantic-orphaned-member-metaparent-type):
	* lisp/cedet/semantic/tag.el (semantic-tag-expand-function):
	* lisp/cedet/semantic/util-modes.el (semantic-show-parser-state-string)
	(semantic-stickyfunc-sticky-classes)
	(semantic-highlight-func-ct-overlay):
	* lisp/cedet/semantic/util.el
	(semantic-type-relation-separator-character)
	(semantic-equivalent-major-modes):
	* lisp/cedet/semantic/wisent.el (wisent-error-function)
	(wisent-lexer-function): Prefer defvar-local.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in net/*.el

	* lisp/net/browse-url.el (browse-url-temp-file-name):
	* lisp/net/rcirc.el (rcirc-ignore-buffer-activity-flag)
	(rcirc-low-priority-flag, rcirc-parent-buffer)
	(rcirc-activity-types, rcirc-last-sender):
	* lisp/net/soap-inspect.el (soap-inspect-previous-items)
	(soap-inspect-current-item):
	* lisp/net/telnet.el (telnet-remote-echoes)
	(telnet-interrupt-string, telnet-count): Prefer defvar-local.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in vc/*.el

	* lisp/vc/ediff-diff.el (ediff-whitespace, ediff-word-1)
	(ediff-word-2, ediff-word-3, ediff-word-4):
	* lisp/vc/ediff-init.el (ediff-defvar-local):
	* lisp/vc/smerge-mode.el (smerge-check-cache):
	* lisp/vc/vc-bzr.el (vc-bzr-annotation-table):
	* lisp/vc/vc-dispatcher.el (vc-mode-line-hook): Prefer defvar-local.

2021-01-31  Philipp Stephani  <phst@google.com>

	* etc/MACHINES: Document that we support AArch64 with macOS.

2021-01-31  Alan Mackenzie  <acm@muc.de>

	Minimize the time Vminibuffer_list is in an inconsistent state (src/minibuf.c)

	src/minibuf.c (get_minibuffer): Move the XSETCAR which writes the new
	minibuffer into Vminibuffer_list to immediately after the MB's creation, so
	that the list is in a consistent state before calling fundamental-mode or
	minibuffer-inactive-mode.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in international/*.el

	* lisp/international/mule-cmds.el (current-input-method)
	(current-input-method-title, current-transient-input-method)
	(previous-transient-input-method, input-method-history)
	(deactivate-current-input-method-function)
	(describe-current-input-method-function):
	* lisp/international/mule.el (buffer-file-coding-system-explicit):
	* lisp/international/quail.el (quail-current-package)
	(quail-guidance-str, quail-overlay, quail-conv-overlay)
	(quail-current-key, quail-current-str)
	(quail-current-translations, quail-current-data):
	* lisp/international/robin.el (robin-mode)
	(robin-current-package-name): Prefer defvar-local in
	international/*.el.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in nxml/*.el

	* lisp/nxml/rng-cmpct.el (rng-c-current-token)
	(rng-c-escape-positions, rng-c-file-name):
	* lisp/nxml/rng-pttrn.el (rng-current-schema):
	* lisp/nxml/rng-valid.el (rng-validate-timer)
	(rng-validate-quick-timer, rng-error-count, rng-message-overlay)
	(rng-message-overlay-inhibit-point, rng-message-overlay-current)
	(rng-validate-up-to-date-end, rng-conditional-up-to-date-start)
	(rng-conditional-up-to-date-end, rng-dtd): Prefer defvar-local.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in emacs-lisp/*.el

	* lisp/emacs-lisp/chart.el (chart-local-object):
	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode)
	(define-globalized-minor-mode):
	* lisp/emacs-lisp/edebug.el:
	* lisp/emacs-lisp/generic.el (generic-font-lock-keywords):
	* lisp/emacs-lisp/re-builder.el (reb-regexp, reb-regexp-src)
	(reb-overlays):
	* lisp/emacs-lisp/syntax.el
	(syntax-propertize-extend-region-functions): Prefer defvar-local.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in allout

	* lisp/allout.el (allout-just-did-undo, allout-mode)
	(allout-layout, allout-regexp, allout-bullets-string)
	(allout-bullets-string-len, allout-depth-specific-regexp)
	(allout-depth-one-regexp, allout-line-boundary-regexp)
	(allout-bob-regexp, allout-header-subtraction)
	(allout-plain-bullets-string-len, allout-mode-prior-settings)
	(allout-outside-normal-auto-fill-function)
	(allout-encryption-plaintext-sanitization-regexps)
	(allout-encryption-ciphertext-rejection-regexps)
	(allout-explicitly-deactivated, allout-recent-prefix-beginning)
	(allout-recent-prefix-end, allout-recent-depth)
	(allout-recent-end-of-subtree, allout-post-goto-bullet)
	(allout-command-counter, allout-this-command-hid-text):
	* lisp/allout-widgets.el (allout-widgets-mode)
	(allout-widgets-tally, allout-widgets-mode-inhibit)
	(allout-inhibit-body-modification-hook)
	(allout-widgets-changes-record)
	(allout-widgets-undo-exposure-record)
	(allout-escaped-prefix-regexp, allout-item-icon-keymap)
	(allout-item-body-keymap, allout-cue-span-keymap)
	(allout-widgets-last-decoration-timing)
	(allout-container-item-widget): Prefer defvar-local.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in cua

	* lisp/emulation/cua-base.el (cua-inhibit-cua-keys)
	(cua--status-string):
	* lisp/emulation/cua-rect.el (cua--rectangle)
	(cua--rectangle-overlays): Prefer defvar-local.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Obsolete viper-deflocalvar for defvar-local

	* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
	Use defvar-local.

	* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
	* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
	(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
	(viper-vi-global-user-minor-mode)
	(viper-vi-state-modifier-minor-mode)
	(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
	(viper-insert-intercept-minor-mode)
	(viper-insert-basic-minor-mode)
	(viper-insert-local-user-minor-mode)
	(viper-insert-global-user-minor-mode)
	(viper-insert-state-modifier-minor-mode)
	(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
	(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
	(viper-emacs-local-user-minor-mode)
	(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
	(viper-emacs-state-modifier-minor-mode)
	(viper-vi-minibuffer-minor-mode)
	(viper-insert-minibuffer-minor-mode)
	(viper-automatic-iso-accents, viper-special-input-method)
	(viper-intermediate-command, viper-began-as-replace)
	(viper-replace-overlay, viper-last-posn-in-replace-region)
	(viper-last-posn-while-in-insert-state)
	(viper-sitting-in-replace, viper-replace-chars-to-delete)
	(viper-replace-region-chars-deleted, viper-current-state)
	(viper-cted, viper-current-indent, viper-preserve-indent)
	(viper-auto-indent, viper-electric-mode, viper-insert-point)
	(viper-pre-command-point, viper-com-point)
	(viper-ex-style-motion, viper-ex-style-editing)
	(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
	(viper-related-files-and-buffers-ring)
	(viper-local-search-start-marker, viper-search-overlay)
	(viper-last-jump, viper-last-jump-ignore)
	(viper-minibuffer-current-face, viper-minibuffer-overlay):
	* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
	(viper-insert-local-user-map, viper-emacs-local-user-map)
	(viper--key-maps, viper-need-new-vi-local-map)
	(viper-need-new-insert-local-map)
	(viper-need-new-emacs-local-map):
	* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
	(viper-mouse-click-search-limit):
	* lisp/emulation/viper-util.el (viper-non-word-characters)
	(viper-ALPHA-char-class):
	* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
	macro viper-deflocalvar.

2021-01-31  Alan Mackenzie  <acm@muc.de>

	Don't attempt to display input method guidance in expired minibuffers

	This caused infinite waits in circumstances involving setting an input method
	in a global minor mode.  This commit fixes bug #45792.

	* lisp/international/quail.el (quail-show-guidance): Test the major mode is
	not minibuffer-inactive-mode before proceeding with the function.

2021-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	execute-kbd-macro doc string clarification

	* src/macros.c (Fexecute_kbd_macro): Mention that the buffer is
	(potentially) changed (bug#37396).

2021-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Make operating-system-release obsolete

	* lisp/subr.el (operating-system-release): Make obsolete
	(bug#39940).  There are no in-tree usages any more, and the data
	doesn't seem all that interesting on its own.

2021-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string improvements around `default-korean-keyboard'

	* lisp/language/korea-util.el (default-korean-keyboard): Mention
	"Hangul" here for easier discoverability.
	(toggle-korean-input-method, quail-hangul-switch-symbol-ksc)
	(quail-hangul-switch-hanja): Mention the variable.

2021-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Improve fontifying of #| ... |# in `lisp-mode'"

	This reverts commit 1275dc4711af77c9c223063dcd149d782d497463.

	Setting comment-end isn't the correct thing to do -- it makes M-; insert that string.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in play/*.el

	* lisp/play/5x5.el
	(5x5-grid, 5x5-x-pos, 5x5-y-pos, 5x5-moves, 5x5-cracking):
	* lisp/play/decipher.el (decipher-alphabet)
	(decipher-stats-buffer, decipher-undo-list-size)
	(decipher-undo-list):
	* lisp/play/gamegrid.el (gamegrid-use-glyphs)
	(gamegrid-use-color, gamegrid-font, gamegrid-face)
	(gamegrid-display-options, gamegrid-buffer-width)
	(gamegrid-buffer-height, gamegrid-blank, gamegrid-timer)
	(gamegrid-display-mode, gamegrid-display-table)
	(gamegrid-face-table, gamegrid-buffer-start)
	(gamegrid-score-file-length):
	* lisp/play/snake.el (snake-length, snake-velocity-x)
	(snake-velocity-y, snake-positions, snake-score, snake-paused)
	(snake-moved-p, snake-velocity-queue):
	* lisp/play/tetris.el (tetris-shape, tetris-rot)
	(tetris-next-shape, tetris-n-shapes, tetris-n-rows)
	(tetris-score, tetris-pos-x, tetris-pos-y, tetris-paused):
	Prefer defvar-local.

	* lisp/play/5x5.el (5x5-defvar-local): Make obsolete.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Remove redundant defvar for artist-mode

	* lisp/textmodes/artist.el (artist-mode): Remove redundant
	defvar; it is defined by define-minor-mode.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Prefer defvar-local in erc

	* lisp/erc/erc-backend.el (erc-server-current-nick)
	(erc-server-process, erc-session-server, erc-session-connector)
	(erc-session-port, erc-server-announced-name)
	(erc-server-version, erc-server-parameters)
	(erc-server-connected, erc-server-reconnect-count)
	(erc-server-quitting, erc-server-reconnecting)
	(erc-server-timed-out, erc-server-banned)
	(erc-server-error-occurred, erc-server-lines-sent)
	(erc-server-last-peers, erc-server-last-sent-time)
	(erc-server-last-ping-time, erc-server-last-received-time)
	(erc-server-lag, erc-server-filter-data, erc-server-duplicates)
	(erc-server-processing-p, erc-server-flood-last-message)
	(erc-server-flood-queue, erc-server-flood-timer)
	(erc-server-ping-handler):
	* lisp/erc/erc-capab.el (erc-capab-identify-activated)
	(erc-capab-identify-sent):
	* lisp/erc/erc-dcc.el (erc-dcc-byte-count, erc-dcc-entry-data)
	(erc-dcc-file-name):
	* lisp/erc/erc-ezbounce.el (erc-ezb-session-list):
	* lisp/erc/erc-join.el (erc--autojoin-timer):
	* lisp/erc/erc-netsplit.el (erc-netsplit-list):
	* lisp/erc/erc-networks.el (erc-network):
	* lisp/erc/erc-notify.el (erc-last-ison, erc-last-ison-time):
	* lisp/erc/erc-ring.el (erc-input-ring, erc-input-ring-index):
	* lisp/erc/erc-stamp.el (erc-timestamp-last-inserted)
	(erc-timestamp-last-inserted-left)
	(erc-timestamp-last-inserted-right):
	* lisp/erc/erc.el (erc-session-password, erc-channel-users)
	(erc-server-users, erc-channel-topic, erc-channel-modes)
	(erc-insert-marker, erc-input-marker, erc-last-saved-position)
	(erc-dbuf, erc-active-buffer, erc-default-recipients)
	(erc-session-user-full-name, erc-channel-user-limit)
	(erc-channel-key, erc-invitation, erc-channel-list)
	(erc-bad-nick, erc-logged-in, erc-default-nicks)
	(erc-nick-change-attempt-count, erc-send-input-line-function)
	(erc-channel-new-member-names, erc-channel-banlist)
	(erc-current-message-catalog): Prefer defvar-local.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Remove redundant requires of 'derived'

	* lisp/net/newst-backend.el (derived):
	* lisp/net/newst-plainview.el (derived):
	* lisp/play/gametree.el (derived):
	* lisp/textmodes/less-css-mode.el (derived): Remove redundant require;
	'define-derived-mode' is autoloaded.

2021-01-31  Stefan Kangas  <stefan@marxist.se>

	Sync latest SKK-JISYO.L

	* leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.

2021-01-31  Dmitry Gutov  <dgutov@yandex.ru>

	Recompute mode-lines when marking conflicts resolved

	* lisp/vc/vc.el (vc-mark-resolved):
	Recompute the mode lines of the affected files.

2021-01-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus: Use closures now that we activated `lexical-binding`

	* lisp/gnus/nnml.el (nnml-request-accept-article):
	* lisp/gnus/nnmairix.el (nnmairix-request-marks):
	* lisp/gnus/nnmail.el (nnmail-get-new-mail-1):
	* lisp/gnus/mm-view.el (mm-inline-image)
	(mm-inline-text-html-render-with-w3m, mm-inline-text)
	(mm-insert-inline, mm-inline-message):
	* lisp/gnus/mm-partial.el (mm-inline-partial):
	* lisp/gnus/mm-archive.el (mm-archive-dissect-and-inline):
	* lisp/gnus/gnus-util.el (gnus-create-info-command):
	* lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters)
	(gnus-topic-sort-topics-1):
	* lisp/gnus/gnus-sum.el (gnus-summary-edit-article):
	* lisp/gnus/gnus-srvr.el (gnus-server-edit-server):
	* lisp/gnus/gnus-msg.el (gnus-inews-make-draft)
	(gnus-inews-add-send-actions, gnus-summary-cancel-article)
	(gnus-summary-supersede-article, gnus-summary-resend-message)
	(gnus-configure-posting-styles):
	* lisp/gnus/gnus-kill.el (gnus-execute):
	* lisp/gnus/gnus-html.el (gnus-html-wash-images):
	* lisp/gnus/gnus-group.el (gnus-group-edit-group)
	(gnus-group-nnimap-edit-acl):
	* lisp/gnus/gnus-draft.el (gnus-draft-edit-message, gnus-draft-setup):
	* lisp/gnus/gnus-art.el (gnus-article-edit-part)
	(gnus-mm-display-part, gnus-article-edit):
	* lisp/gnus/gnus-agent.el (gnus-category-edit-predicate)
	(gnus-category-edit-score, gnus-category-edit-groups):
	Use closures instead of `(lambda ...).

	* lisp/gnus/nnoo.el (noo--defalias): New function.
	(nnoo-import-1, nnoo-define-skeleton-1): Use it to avoid `eval`.

2021-01-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus: Use lexical-binding in all the files

	* lisp/gnus/gnus-group.el (features): Use `dlet`.
	(gnus-tmp-level, gnus-tmp-marked, gnus-tmp-group): Declare vars.
	(gnus-group-insert-group-line): Bind dynbound vars via `let` rather
	than as formal args.  Bind `number` as dynbound.
	(gnus-visual, gnus-score-find-score-files-function)
	(gnus-home-score-file, gnus-apply-kill-hook)
	(gnus-summary-expunge-below): Declare vars.
	(gnus-group-restart, gnus-group-list-plus): Fix `interactive` spec
	since the arg is unused.

	* lisp/gnus/mail-source.el (mail-source-bind, mail-source-bind-common):
	Use `dlet` and suppress the warnings about the non-prefixed dynbound vars.
	(mail-source-set-1): Remove unused var `auth-info`.
	(mail-source-call-script): Remove unused var `background`.
	(mail-source-fetch-pop, mail-source-check-pop): Bind pop3 vars with `dlet`.

	* lisp/gnus/gnus-int.el (mail-source-plugged, gnus-inhibit-demon):
	Declare vars.
	(gnus-server-opened, gnus-status-message)
	(gnus-open-server, gnus-close-server, gnus-request-list)
	(gnus-finish-retrieve-group-infos, gnus-retrieve-group-data-early)
	(gnus-request-list-newsgroups, gnus-request-newgroups)
	(gnus-request-regenerate, gnus-request-compact, gnus-request-group)
	(gnus-retrieve-groups, gnus-request-post, gnus-request-expunge-group)
	(gnus-request-scan, gnus-request-update-info, gnus-request-marks)
	(gnus-request-accept-article, gnus-request-create-group)
	(gnus-asynchronous-p, gnus-remove-denial):
	Bind `gnus-command-method` via `let` rather than as formal args.

	* lisp/gnus/gnus-topic.el (gnus-topic-insert-topic-line):
	Pass documented vars to eval for `gnus-topic-line-format-spec`.

	* lisp/gnus/message.el (message-yank-original): Use `cl-progv` rather
	than `eval` to bind the vars from `message-cite-style`.

	* lisp/gnus/mml.el (mml-parse-1): Use `apply` instead of `eval`.
	(gnus-newsgroup-name, gnus-displaying-mime, gnus-newsgroup-name)
	(gnus-article-prepare-hook, gnus-newsgroup-charset)
	(gnus-original-article-buffer, gnus-message-buffer)
	(message-this-is-news, message-this-is-mail): Declare vars.

	* lisp/gnus/deuglify.el (gnus-outlook-rearrange-article): Remove unused
	var `cite-marks`.
	* lisp/gnus/gnus-art.el (ansi-color-context-region): Declare var.
	(gnus-mime-display-attachment-buttons-in-header): Move declaration
	before first use.
	(gnus-mime-display-alternative): Remove unused var `from`.
	* lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-list): Remove unused
	var `start` `end`.
	* lisp/gnus/gnus-cache.el (gnus-article-decode-hook)
	(nnml-generate-active-function): Declare var.
	* lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Remove unused
	var `keywords`.
	* lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Remove unused var
	`cipher`.
	(gnus-cloud-ensure-cloud-group): Remove unused var `method`.
	* lisp/gnus/gnus-delay.el (gnus-delay-article): Remove unused var `days`.
	* lisp/gnus/gnus-html.el (gnus-html-wash-images): Remove unused vars
	`tag`, `string`, and `images`.
	(gnus-html-wash-tags): Remove unused vars `string` and `images`.
	* lisp/gnus/gnus-msg.el (gnus-msg-mail): Remove unused var `group-name`.
	(gnus-group-mail, gnus-group-news, gnus-summary-mail-other-window)
	(gnus-summary-news-other-window):
	Remove unused vars `group` and `buffer`.
	(gnus-configure-posting-styles): Remove unused vars `style` and `attribute`.
	* lisp/gnus/gnus-picon.el (gnus-picon-find-face): Remove unused vars
	`database`, `directory`, and `instance`.
	(gnus-picon-transform-newsgroups): Remove unused var `point`.
	* lisp/gnus/gnus-range.el (gnus-range-difference): Remove unused var `safe`.
	* lisp/gnus/gnus-score.el (gnus-score-load-file): Remove unused var
	`score-fn`.
	* lisp/gnus/gnus-sum.el (message-options-set-recipient): Declare var.
	* lisp/gnus/gnus-undo.el (gnus-undo): Fix docstring lie.
	* lisp/gnus/gnus-util.el (print-string-length)
	(iswitchb-make-buflist-hook): Declare vars.
	(gnus-emacs-version): Remove unused var `codename`.
	(gnus-rename-file): Remove unused vars `old-name` and `new-name`.
	* lisp/gnus/gnus-uu.el (gnus-uu-yenc-article): Remove unused var
	`start-char`.
	(gnus-asynchronous): Declare var.
	* lisp/gnus/mm-partial.el (gnus-displaying-mime): Declare var.
	(mm-inline-partial): Remove unused var `buffer`.
	* lisp/gnus/mm-view.el (w3m-force-redisplay, w3m-safe-url-regexp)
	(gnus-displaying-mime, gnus-original-article-buffer)
	(gnus-article-prepare-hook): Declare vars.
	* lisp/gnus/mml-smime.el (mml-smime-epg-encrypt): Remove unused var
	`boundary`.
	(mml-smime-epg-verify): Remove unused vars `plain` and `signature-file`.
	* lisp/gnus/mml1991.el (pgg-text-mode): Declare var.
	* lisp/gnus/mml2015.el (pgg-text-mode): Declare var.
	(mml2015-pgg-decrypt): Remove unused var `result`.
	(mml2015-epg-key-image-to-string): Remove unused var `error`.
	(mml2015-epg-decrypt): Remove unused var `result`.
	(mml2015-epg-verify): Remove unused vars `plain` and `signature-file`.
	* lisp/gnus/nnbabyl.el (nnml-current-directory): Declare var.
	* lisp/gnus/nndiary.el (nndiary-files): Move declaration before first use.
	* lisp/gnus/nnfolder.el (nnfolder-request-accept-article):
	Remove unused var `buf`.
	* lisp/gnus/nnmail.el (nnmail-parse-active): Remove unused var `err`.
	* lisp/gnus/nnmairix.el (nnmairix-request-group): Remove unused var `args`.
	(nnmairix-request-create-group): Remove unused var `info`.
	(nnmairix-request-list): Remove unused var `folder`.
	(nnmairix-request-set-mark): Remove unused var `propto`.
	(nnmairix-request-set-mark): Remove unused vars `number` and `method`.
	(nnmairix-close-group): Remove unused var `method`.
	(nnmairix-create-search-group-from-message): Remove unused var `cq`.
	(nnmairix-create-server-and-default-group): Remove unused var `create`.
	(nnmairix-purge-old-groups): Remove unused var `folder`.
	(nnmairix-remove-tick-mark-original-article, nnmairix-get-valid-servers):
	Remove unused var `cur`.
	(nnmairix-replace-group-and-numbers): Remove unused var `header`.
	(nnmairix-goto-original-article): Remove unused var `rval`.
	(nnmairix-widget-create-query): Remove unused var `allwidgets`.
	* lisp/gnus/nnmbox.el (nnml-current-directory): Declare var.
	* lisp/gnus/nnmh.el (nnmh-toplev): Move declaration before first use.
	(nnmh-request-list-1): Remove unused var `rdir`.
	* lisp/gnus/nnml.el (nnml-generate-nov-file): Remove unused var `file`.
	* lisp/gnus/nnrss.el (nnrss-request-article): Remove unused var `post`.
	(nnrss-request-article): Remove unused var `fn`.
	(nnrss-check-group): Remove unused var `rdf-ns`.
	* lisp/gnus/nnweb.el (nnweb-request-article): Remove unused var `active`.
	(nnweb-google-parse-1): Remove unused var `Score`.
	* lisp/gnus/spam-stat.el (spam-stat-error-holder): Remove var.
	(spam-stat-buffer-words-with-scores): Remove unused var `word`.
	(spam-stat-score-buffer): Remove unused var `spam-stat-error-holder`.
	(spam-stat-split-fancy): Use `err` instead of `spam-stat-error-holder`.
	* lisp/gnus/spam-wash.el (spam-wash): Remove unused var `handle`.
	* lisp/gnus/spam.el (spam-copy-or-move-routine): Remove unused vars
	`article` and `mark`.
	(spam-register-routine): Remove unused var `article`.
	(spam-log-undo-registration): Remove unused var `found`.
	(spam-ifile-register-with-ifile): Remove unused var `parameters`.
	(spam-check-stat): Remove unused vars `category` and `return`.
	(spam-parse-list): Remove unused var `found`.
	(spam-filelist-register-routine): Remove unused var `from`.

2021-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus: Misc simplifications found during conversion to lexical

	* lisp/gnus/nnoo.el (noo-import-1, nnoo-define-skeleton-1): Use `dolist`.
	(noo-map-functions, nnoo-define-basics): Directly emit the code rather than
	going through an intermediate function; this also avoids the use of `eval`.
	(noo-map-functions-1, nnoo-define-basics-1): Delete functions,
	folded into their corresponding macro.

	* lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Demote `eval` to
	`symbol-value`.

	* lisp/gnus/gnus-art.el (gnus-button-handle-describe-key): Avoid `eval`
	since `kbd` is a function nowadays.
	(gnus-treat-part-number): Rename from `part-number`.
	(gnus-treat-total-parts): Rename from `total-parts`.
	(gnus-treat-article, gnus-treat-predicate): Adjust accordingly.

	* lisp/gnus/gnus-cache.el (gnus-agent-load-alist): Use `declare-function`.

	* lisp/gnus/gnus-group.el (gnus-cache-active-hashtb): Use `defvar`.
	(gnus-group-iterate): Make it a normal function since lexical scoping
	avoids the risk of name capture anyway.
	(gnus-group-delete-articles): Actually use the `oldp` arg.

	* lisp/gnus/gnus-html.el (gnus-html-wash-images): Fix debug message so
	it's emitted after the `url` var it prints is actually initialized.
	And avoid `setq` while we're at it.

	* lisp/gnus/gnus-msg.el (gnus-group-mail, gnus-group-news)
	(gnus-summary-mail-other-window, gnus-summary-news-other-window):
	Merge `let`s using `let*`.

	* lisp/gnus/gnus-spec.el (gnus-update-format-specifications):
	Tighten the scope of `buffer`, and tighten a regexp.
	(gnus-parse-simple-format): Reduce code duplication.

	* lisp/gnus/gnus-start.el (gnus-child-mode): Don't `defvar` it since we
	never use that variable and accordingly don't define it as a minor mode.

	* lisp/gnus/gnus-util.el (gnus-byte-compile): Simplify so it obeys
	`gnus-use-byte-compile` not just on the first call.
	(iswitchb-minibuffer-setup): Declare.

	* lisp/gnus/mail-source.el (mail-source-bind-1)
	(mail-source-bind-common-1): Use `mapcar`.
	(mail-source-set-common-1): Use `dolist`.
	(display-time-event-handler): Declare.

	* lisp/gnus/mml-smime.el (mml-smime-epg-verify): Reduce code duplication.

	* lisp/gnus/mml.el (mml-parse-1): Reduce code duplication.

	* lisp/gnus/mml2015.el (mml2015-epg-verify): Reduce code duplication.

	* lisp/gnus/nnmail.el (nnmail-get-split-group): Tighten regexp.
	(nnmail-split-it): Reduce code duplication.

	* lisp/gnus/nnweb.el (nnweb-request-article): Avoid `setq`.

	* lisp/gnus/spam.el (BBDB): Use the `noerror` arg of `require`, and
	define all the functions for BBDB regardless if the require succeeded.
	(spam-exists-in-BBDB-p): Don't inline, not worth it.

2021-01-30  Alan Third  <alan@idiocy.org>

	Fix build failure on macOS 10.7 (bug#46036)

	* src/nsfns.m (ns_set_represented_filename): Define the NSNumber in a
	more compatible manner.

2021-01-30  Alan Mackenzie  <acm@muc.de>

	With minibuffer-follows-selected-frame `hybrid', preserve recursive Mbuffers

	...when enable-recursive-minibuffers is non-nil, and several minibuffers are
	activated from different frames.  Also set the major mode of a reused active
	minibuffer to `fundamental-mode' - up till now it's been
	minibuffer-inactive-mode.

	* src/minibuf.c (read_minibuf): with the indicated settings of variables,
	"stack up" all containing minibuffers on the mini-window of the current
	frame.  Delete another, now superfluous such stacking up.
	(set_minibuffer_mode): New function.
	(get_minibuffer): Call the above new function (twice), in place of inline
	code, ensuring active minibuffers are never left in minibuffer-inactive-mode.

2021-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus: Remove redundant `:group` args

	* lisp/gnus/spam-stat.el:
	* lisp/gnus/spam-report.el:
	* lisp/gnus/smime.el:
	* lisp/gnus/nnrss.el:
	* lisp/gnus/nnmairix.el:
	* lisp/gnus/nnimap.el:
	* lisp/gnus/nndiary.el:
	* lisp/gnus/mm-url.el:
	* lisp/gnus/mail-source.el:
	* lisp/gnus/gnus-win.el:
	* lisp/gnus/gnus-topic.el:
	* lisp/gnus/gnus-sieve.el:
	* lisp/gnus/gnus-search.el:
	* lisp/gnus/gnus-registry.el:
	* lisp/gnus/gnus-notifications.el:
	* lisp/gnus/gnus-gravatar.el:
	* lisp/gnus/gnus-eform.el:
	* lisp/gnus/gnus-dup.el:
	* lisp/gnus/gnus-diary.el:
	* lisp/gnus/gnus-demon.el:
	* lisp/gnus/gnus-delay.el:
	* lisp/gnus/gnus-cloud.el:
	* lisp/gnus/gnus-cite.el:
	* lisp/gnus/gnus-bookmark.el:
	* lisp/gnus/gmm-utils.el:
	* lisp/gnus/deuglify.el:
	* lisp/gnus/canlock.el: Remove redundant `:group` arguments

2021-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus: Demote some macros and defsubsts, plus a fix

	* lisp/gnus/gnus-sum.el (gnus-summary-thread-level)
	(gnus-summary-article-mark): Turn macros into `defsubst`.

	* lisp/gnus/mail-source.el (mail-source-bind-common): Actually use its arg.

	* lisp/gnus/nntp.el (nntp-copy-to-buffer): Turn macro into a `defsubst`.
	(nntp-wait-for, nntp-retrieve-data, nntp-send-command): Don't inline
	those, it's not worth it.

2021-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus: Use `with-current-buffer` at a few more places

	* lisp/gnus/nnmbox.el (nnmbox-request-scan, nnmbox-read-mbox):
	* lisp/gnus/nnmairix.el (nnmairix-create-search-group):
	* lisp/gnus/nnfolder.el (nnfolder-existing-articles):
	* lisp/gnus/nndraft.el (nndraft-auto-save-file-name):
	* lisp/gnus/nndoc.el (nndoc-request-article):
	* lisp/gnus/nnbabyl.el (nnbabyl-read-mbox):
	* lisp/gnus/gnus-score.el (gnus-score-body):
	* lisp/gnus/gnus-start.el (gnus-dribble-enter)
	(gnus-dribble-eval-file, gnus-ask-server-for-new-groups)
	(gnus-read-newsrc-file, gnus-read-descriptions-file):
	* lisp/gnus/gnus-spec.el (gnus-update-format-specifications):
	* lisp/gnus/gnus-draft.el (gnus-draft-edit-message):
	* lisp/gnus/gnus-art.el (gnus-request-article-this-buffer)
	(gnus-article-edit-exit): Use `with-current-buffer`.

2021-01-30  Eli Zaretskii  <eliz@gnu.org>

	Fix NS build broken by a recent change

	* src/nsmenu.m (set_frame_menubar, Fns_reset_menu): Adapt to
	recent changes in set_frame_menubar.  (Bug#45759)

2021-01-30  Juri Linkov  <juri@linkov.net>

	Allow the caller to specify own face on suffix in annotation-function

	* lisp/minibuffer.el (completion--insert-strings):
	Don't add 'completions-annotations' face when the caller
	specified own face in annotation-function.
	Remove no-op code for 'unless prefix' branch.
	(completion-metadata, completion-extra-properties):
	Update docs of affixation-function.
	Suggested by Clemens <clemera@posteo.net> (bug#45780)

	* test/lisp/minibuffer-tests.el: Rename package name from
	completion-tests.el to minibuffer-tests.el.
	Add new test completion--insert-strings-faces.

	* doc/lispref/minibuf.texi (Completion Variables)
	(Programmed Completion): Update descriptions of
	annotation-function and affixation-function.

2021-01-30  Augusto Stoffel  <arstoffel@gmail.com>  (tiny change)

	Reduce flicker in Isearch mode

	Lazy highlighting now happens immediately when the search string is at
	least as long as the value of the new custom variable
	`lazy-highlight-no-delay-length`.  Also avoid updating the lazy
	count in the echo area too often.
	* lisp/isearch.el (lazy-highlight-no-delay-length): New defcustom.
	(lazy-lazy-count-format): Avoid a momentarily incorrect
	count when reversing search direction.
	(isearch-lazy-highlight-new-loop): Avoid a call to
	`isearch-message` that is quickly succeed by a second echo area
	update, thus causing flicker.
	(isearch-lazy-highlight-new-loop):
	Start lazy highlight immediately if appropriate.
	* etc/NEWS: Announce the change.
	* doc/emacs/search.texi: Document `lazy-highlight-no-delay-length'.

2021-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-msg.el: Remove empty `unwind-protect`s

	(gnus-msg-mail, gnus-group-mail)
	(gnus-group-news, gnus-summary-mail-other-window)
	(gnus-summary-news-other-window): Remove empty `unwind-protect`.

2021-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/mm-encode.el (mm-default-file-type): New name

	Rename from misleading `mm-default-file-encoding`.
	(mm-default-file-encoding): Redefine as obsolete alias.

	* lisp/mail/sendmail.el (mail-add-attachment):
	* lisp/mh-e/mh-mime.el (mh-minibuffer-read-type):
	* lisp/gnus/gnus-art.el (gnus-mime-view-part-as-type-internal):
	* lisp/gnus/gnus-dired.el (gnus-dired-attach):
	* lisp/gnus/mml.el (mml-generate-mime-1, mml-minibuffer-read-type)
	(mml-attach-file): Use the new name.

2021-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus: Quote functions with #'

	To get better warnings, try and use #' to quote function names.

	* lisp/gnus/canlock.el:
	* lisp/gnus/deuglify.el:
	* lisp/gnus/gmm-utils.el:
	* lisp/gnus/gnus-agent.el:
	* lisp/gnus/gnus-art.el:
	* lisp/gnus/gnus-bookmark.el:
	* lisp/gnus/gnus-cache.el:
	* lisp/gnus/gnus-cite.el:
	* lisp/gnus/gnus-cus.el:
	* lisp/gnus/gnus-delay.el:
	* lisp/gnus/gnus-diary.el:
	* lisp/gnus/gnus-dired.el:
	* lisp/gnus/gnus-draft.el:
	* lisp/gnus/gnus-fun.el:
	* lisp/gnus/gnus-group.el:
	* lisp/gnus/gnus-html.el:
	* lisp/gnus/gnus-int.el:
	* lisp/gnus/gnus-kill.el:
	* lisp/gnus/gnus-mlspl.el:
	* lisp/gnus/gnus-msg.el:
	* lisp/gnus/gnus-notifications.el:
	* lisp/gnus/gnus-picon.el:
	* lisp/gnus/gnus-registry.el:
	* lisp/gnus/gnus-rfc1843.el:
	* lisp/gnus/gnus-salt.el:
	* lisp/gnus/gnus-score.el:
	* lisp/gnus/gnus-search.el:
	* lisp/gnus/gnus-sieve.el:
	* lisp/gnus/gnus-srvr.el:
	* lisp/gnus/gnus-start.el:
	* lisp/gnus/gnus-topic.el:
	* lisp/gnus/gnus-undo.el:
	* lisp/gnus/gnus-util.el:
	* lisp/gnus/gnus-uu.el:
	* lisp/gnus/gnus.el:
	* lisp/gnus/mail-source.el:
	* lisp/gnus/message.el:
	* lisp/gnus/mm-archive.el:
	* lisp/gnus/mm-decode.el:
	* lisp/gnus/mm-url.el:
	* lisp/gnus/mm-util.el:
	* lisp/gnus/mm-view.el:
	* lisp/gnus/mml-sec.el:
	* lisp/gnus/mml-smime.el:
	* lisp/gnus/mml.el:
	* lisp/gnus/nnagent.el:
	* lisp/gnus/nndiary.el:
	* lisp/gnus/nndoc.el:
	* lisp/gnus/nndraft.el:
	* lisp/gnus/nnfolder.el:
	* lisp/gnus/nnheader.el:
	* lisp/gnus/nnmail.el:
	* lisp/gnus/nnmaildir.el:
	* lisp/gnus/nnmairix.el:
	* lisp/gnus/nnmh.el:
	* lisp/gnus/nnml.el:
	* lisp/gnus/nnrss.el:
	* lisp/gnus/nnselect.el:
	* lisp/gnus/nnspool.el:
	* lisp/gnus/nnvirtual.el:
	* lisp/gnus/nnweb.el:
	* lisp/gnus/smiley.el:
	* lisp/gnus/smime.el:
	* lisp/gnus/spam-report.el:
	* lisp/gnus/spam-stat.el:
	* lisp/gnus/spam-wash.el:
	* lisp/gnus/spam.el:

2021-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-art.el: Add `event` args and operate at its position.

	(gnus-mime-save-part-and-strip)
	(gnus-mime-delete-part, gnus-mime-save-part, gnus-mime-pipe-part)
	(gnus-mime-view-part, gnus-mime-view-part-as-type)
	(gnus-mime-copy-part, gnus-mime-print-part, gnus-mime-inline-part)
	(gnus-mime-view-part-as-charset, gnus-mime-view-part-externally)
	(gnus-mime-view-part-internally, gnus-article-press-button):
	Add `event` arg and operate at its position.

2021-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus: Use `declare`.

	* lisp/gnus/nnoo.el (defvoo, deffoo, nnoo-declare, nnoo-import)
	(nnoo-map-functions):
	* lisp/gnus/nnmaildir.el (nnmaildir--with-nntp-buffer)
	(nnmaildir--with-work-buffer, nnmaildir--with-nov-buffer)
	(nnmaildir--with-move-buffer, nnmaildir--condcase):
	* lisp/gnus/mm-decode.el (mm-with-part):
	* lisp/gnus/gnus-msg.el (gnus-setup-message):
	* lisp/gnus/gnus-agent.el (gnus-agent-with-fetch, gnus-agent-while-plugged):
	* lisp/gnus/mail-source.el (mail-source-set-1, mail-source-value):
	Use `declare`.

	* lisp/gnus/gnus-util.el (gnus-define-keys): Use `declare`, and also
	don't quote `keymap` if it's a variable name.
	(gnus-define-keys-1): Reject the case where `keymap` is a variable name.
	(gnus-eval-in-buffer-window, gnus-define-keys-safe)
	(gnus-define-keymap, gnus-atomic-progn, gnus-with-output-to-file)
	(gnus-parse-without-error): Use `declare`.
	(gnus-atomic-progn-assign, gnus-atomic-setq): Delete macros.

	* lisp/gnus/gnus-undo.el (gnus-undo-register): Drop indent and edebug spec
	since they're not really appropriate for a function.

	* lisp/gnus/gnus-art.el (gnus--\,@): New macro.
	Use it at top-level to construct the `gnus-article-FOO` => `article-FOO`
	wrapper functions.
	(gnus-with-article-headers, gnus-with-article-buffer): Use `declare`.

2021-01-30  Stefan Kangas  <stefan@marxist.se>

	Remove unused argument from set_frame_menubar (Bug#45759)

	* src/w32menu.c (set_frame_menubar):
	* src/xmenu.c (set_frame_menubar): Remove unused argument.
	All callers updated.

2021-01-30  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of auto-resize-tool/tab-bars

	* src/xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>
	<auto-resize-tab-bars>: Doc fix.  (Bug#46178)

2021-01-30  Dmitry Gutov  <dgutov@yandex.ru>

	Also highlight 'conflict' with the warning face

	* lisp/vc/vc-git.el (vc-git-dir-printer):
	Also highlight 'conflict' with the warning face, like
	vc-default-dir-printer does already.

2021-01-30  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into native-comp

2021-01-30  Lars Ingebrigtsen  <larsi@gnus.org>

	auth-source-search doc string fix

	* lisp/auth-source.el (auth-source-search): Fix example (bug#36286).

2021-01-30  Jared Finder  <jared@finder.org>

	* lisp/tab-line.el (tab-line-new-tab): Use tty menus when supported.

2021-01-30  Eli Zaretskii  <eliz@gnu.org>

	New Rmail option 'rmail-show-message-set-modified'

	* lisp/mail/rmail.el (rmail-show-message-set-modified): New
	option.
	(rmail-show-message-1): If 'rmail-show-message-set-modified' is
	non-nil, don't reset the buffer's modified state.  (Bug#45941)

	* etc/NEWS: Announce the new option.

2021-01-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix vc-hg-rename-file on file names like ~/foo/bar

	* lisp/vc/vc-hg.el (vc-hg-rename-file): Use absolute file names,
	because hg doesn't like getting file names like "~/foo/bar"
	(bug#36932).

2021-01-30  Jeff Spencer  <jeffspencerd@gmail.com>  (tiny change)

	Fix interaction between two dired cleanup variables

	* lisp/dired.el (dired-clean-up-after-deletion): Kill the buffers
	if you have `dired-clean-up-buffers-too' set and
	`dired-clean-confirm-killing-deleted-buffers' nil (bug#38037).

2021-01-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve :foreground description in the manual

	* doc/lispref/frames.texi (Font and Color Parameters): Make the
	description less confusing (bug#38710).

2021-01-30  Mauro Aranda  <maurooaranda@gmail.com>

	Add source to sgml-empty-tags

	* lisp/textmodes/sgml-mode.el (html-mode): Add "source" as an empty
	tag to fix indentation when this element is present (bug#46181).

2021-01-30  Lars Ingebrigtsen  <larsi@gnus.org>

	rmail-summary-mark-deleted optional argument fix

	* lisp/mail/rmailsum.el (rmail-summary-mark-deleted): Argument N
	is optional, so don't assume that it's a number (bug#39076).

2021-01-30  Dmitry Gutov  <dgutov@yandex.ru>

	vc-dir-mode-map: Remove the mouse-2 binding

	* lisp/vc/vc-dir.el (vc-dir-mode-map):
	Remove the mouse-2 binding (bug#13692).
	(vc-dir-mode): Update the docstring accordingly.
	(vc-dir-status-mouse-map): New variable.
	(vc-default-dir-printer): Use it on the state buttons.

	* lisp/vc/vc-git.el (vc-git-dir-printer): Same.

2021-01-30  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in mpuz.el

	* lisp/play/mpuz.el: Use lexical-binding.  Remove redundant :group
	args.
	(mpuz-switch-to-window): Minor cleanup.

2021-01-30  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in handwrite.el

	* lisp/play/handwrite.el: Use lexical-binding.  Remove redundant
	:group args.  Minor cleanups.

	(handwrite): Minor cleanups.
	(handwrite-set-pagenumber-off, handwrite-set-pagenumber-on): Make
	comments into docstrings.

2021-01-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/electric-tests.el: Fix switch to lexical-binding.

	(define-electric-pair-test): Don't presume that function values are
	self-evaluating.

2021-01-29  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in sasl.el and add tests

	* lisp/net/sasl.el:
	* lisp/net/sasl-digest.el:
	* lisp/net/sasl-cram.el:
	* lisp/net/sasl-ntlm.el: Use lexical-binding.

	* test/lisp/net/sasl-tests.el:
	* test/lisp/net/sasl-cram-tests.el: New files.

2021-01-29  Dmitry Gutov  <dgutov@yandex.ru>

	(xref-revert-buffer): Also 'erase-buffer' when handling a user-error

	* lisp/progmodes/xref.el (xref-revert-buffer):
	Also 'erase-buffer' when handling a user-error (bug#46042).

	(cherry picked from commit e86b30d6fd04070b86560774ec82392dbe24ca1e)

2021-01-29  Dmitry Gutov  <dgutov@yandex.ru>

	(xref-revert-buffer): Also 'erase-buffer' when handling a user-error

	* lisp/progmodes/xref.el (xref-revert-buffer):
	Also 'erase-buffer' when handling a user-error (bug#46042).

2021-01-29  Eli Zaretskii  <eliz@gnu.org>

	Update files for 27.1.91 pretest

	* ChangeLog.3:
	* etc/AUTHORS
	* lisp/ldefs-boot.el: Update.

2021-01-29  Eli Zaretskii  <eliz@gnu.org>

	Support 'operating-system-release' on MS-Windows

	* src/w32fns.c (w32_version_string) [WINDOWSNT]: New function.
	* src/w32common.h (w32_version_string) [WINDOWSNT]: Add prototype.
	* src/editfns.c (init_editfns) [WINDOWSNT]: Produce a non-nil
	string with the OS version.

2021-01-29  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp--test-special-characters):

	Adapt test for docker.

2021-01-29  Juri Linkov  <juri@linkov.net>

	Use save-mark-and-excursion in query-replace-read-args (bug#45617)

2021-01-29  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#45518 in compile.el

	* lisp/progmodes/compile.el (compilation-get-file-structure):
	Avoid call of `file-truename' for remote files.  (Bug#45518)

2021-01-29  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string of 'operating-system-release'

	* src/editfns.c (syms_of_editfns) <operating-system-release>: Doc
	fix.  (Bug#39940)

2021-01-29  Sean Whitton  <spwhitton@spwhitton.name>

	Fix previous commit regarding revert-buffer-function

	* lisp/simple.el (shell-command, shell-command-on-region): Set
	revert-buffer-function buffer-locally, not globally.  Also, avoid an
	unnecessary call to (current-buffer) by taking advantage of the
	closure (bug#46151).

2021-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Describe pointer shapes in the manual

	* doc/lispref/frames.texi (Pointer Shape): Describe what the
	typical pointer shapes are (and add `nhdrag') (bug#39246).

2021-01-29  Marco Wahl  <marcowahlsoft@gmail.com>

	Add a command for redisplay during keyboard macros

	* doc/emacs/kmacro.texi (Basic Keyboard Macro): Document it
	(bug#39252).

	* lisp/kmacro.el (kdb-macro-redisplay): New function.
	(kmacro-keymap): Bind it.

2021-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve fontifying of #| ... |# in `lisp-mode'

	* lisp/emacs-lisp/lisp-mode.el (lisp-mode): Fontify the end
	delimiter in #| ... |# correctly (bug#39820).

2021-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	operating-system-release doc string improvement

	* src/editfns.c (syms_of_editfns): Be more precise about what
	`operating-system-release' is (bug#39940).

2021-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	flymake-diagnostic-beg/end doc string and error reporting improvement

	* lisp/progmodes/flymake.el (flymake-diagnostic-beg):
	(flymake-diagnostic-end): Improve doc string and error reporting
	(bug#39971).

2021-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix position in empty buffers in checkdoc-file-comments-engine

	* lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine):
	Don't give invalid positions on empty buffers (bug#39987).

2021-01-29  Sean Whitton  <spwhitton@spwhitton.name>

	Set revert-buffer-function in shell command output buffers

	* lisp/simple.el (shell-command, shell-command-on-region): Set
	revert-buffer-function in shell command output buffers
	(bug#46151).

2021-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention using buffer-list-update-hook in recentf-mode

	* lisp/recentf.el (recentf-mode): Mention using
	`buffer-list-update-hook' (bug#46153).

2021-01-29  Stefan Kangas  <stefan@marxist.se>

	Remove Emacs 21 compat code from sasl.el

	* lisp/net/sasl.el (sasl-read-passphrase): Remove compat code;
	'read-passwd' is preloaded since Emacs 22.

2021-01-29  Stefan Kangas  <stefan@marxist.se>

	* lisp/flow-ctrl.el: Use lexical-binding.

	* lisp/flow-ctrl.el (enable-flow-control): Minor cleanup.

2021-01-29  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in find-cmd.el and add tests

	* lisp/find-cmd.el: Use lexical-binding.
	* test/lisp/find-cmd-tests.el: New file.

2021-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Slight gravatar.el code clean up

	* lisp/image/gravatar.el (gravatar--service-libravatar): Clean the
	code up slightly.

2021-01-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk

2021-01-28  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in nroff-mode.el

	* lisp/textmodes/nroff-mode.el: Use lexical-binding.  Remove
	redundant :group args.

2021-01-28  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/bat-mode.el: Use lexical-binding.

2021-01-28  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in generic-x.el

	* lisp/generic-x.el: Use lexical-binding.  Remove redundant :groups.
	(generic-rul-mode-setup-function): Prefer setq-local.

2021-01-28  Stefan Kangas  <stefan@marxist.se>

	Define compat alias obsolete

	* lisp/generic-x.el (generic-mode-ini-file-find-file-hook): Define
	compat alias introduced after rename in 22.1 obsolete.

2021-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use lexical-binding in all of `lisp/emacs-lisp`

	* lisp/emacs-lisp/bindat.el: Use lexical-binding.
	(bindat--unpack-group, bindat--length-group, bindat--pack-group):
	Declare `last` and `tag` as dyn-scoped.
	(bindat-unpack, bindat-pack): Bind `bindat-raw` and `bindat-idx` via
	`let` rather than via the formal arglist.

	* lisp/emacs-lisp/package-x.el:
	* lisp/emacs-lisp/generic.el:
	* lisp/emacs-lisp/eieio-opt.el:
	* lisp/emacs-lisp/derived.el:
	* lisp/emacs-lisp/crm.el: Use lexical-binding.

	* lisp/emacs-lisp/helper.el: Use lexical-binding.
	(Helper-help-map): Move initialization into declaration.

	* lisp/emacs-lisp/regi.el: Use lexical-binding.
	(regi-interpret): Remove unused var `tstart`.
	Declare `curframe`, `curentry` and `curline` as dyn-scoped.

	* lisp/emacs-lisp/shadow.el: Use lexical-binding.
	(load-path-shadows-find): Remove unused var `file`.
	Tighten a regexp, use `push`.

	* lisp/emacs-lisp/tcover-ses.el: Use lexical-binding.  Require `ses`.
	Remove correspondingly redundant declarations.
	(ses--curcell-overlay): Declare.
	(ses-exercise): Use `dlet` and use a properly-prefixed var name.
	Fix name of `curcell-overlay` variable.

	* lisp/emacs-lisp/unsafep.el: Use lexical-binding.
	(unsafep): Bind `unsafep-vars` via `let` rather than via the formal arglist.

2021-01-28  Juri Linkov  <juri@linkov.net>

	Use isearch-tmm-menubar when tmm-menubar is called in isearch-mode (bug#43966)

	* lisp/isearch.el (isearch-menu-bar-commands): Add tmm-menubar to defaults.
	(isearch-mode-map): Remove remapping of tmm-menubar to isearch-tmm-menubar.

	* lisp/tmm.el (tmm-menubar): Call isearch-tmm-menubar in isearch-mode.

2021-01-28  Stefan Kangas  <stefan@marxist.se>

	* lisp/wdired.el: Minor doc fixes.

2021-01-28  Stefan Kangas  <stefan@marxist.se>

	Avoid recommending Google

	* doc/misc/org.texi (Link Abbreviations):
	* lisp/net/webjump.el (webjump-sample-sites):
	* lisp/org/ol.el (org-link-shell-confirm-function)
	(org-link-elisp-confirm-function):
	* lisp/org/org.el (org-highlight-links):
	* lisp/wdired.el: Avoid recommending Google.

	squash! Avoid recommending Google

2021-01-28  Stefan Kangas  <stefan@marxist.se>

	* lisp/leim/quail/viqr.el: Use lexical-binding.

	* lisp/leim/quail/compose.el: Use lexical-binding.

	* lisp/ezimage.el: Use lexical-binding.

2021-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fns.c (hash_string): Fix bug#46111

	Use `memcpy` instead of an unaligned memory access.  On x86 at least,
	GCC turns this `memcpy` into a single `mov`, so it's about as fast.

2021-01-28  Stefan Kangas  <stefan@marxist.se>

	Add cross-reference to with-eval-after-load

	* lisp/subr.el (eval-after-load): Doc fix; add cross-reference to
	'with-eval-after-load'.

2021-01-28  Stefan Kangas  <stefan@marxist.se>

	* lisp/generic-x.el (hosts-generic-mode): Support IPv6 addresses.

2021-01-28  Stefan Kangas  <stefan@marxist.se>

	Add missing file systems to etc-fstab-generic-mode

	* lisp/generic-x.el (etc-fstab-generic-mode): Add entries for missing
	file systems.

2021-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/Makefile.in (emacs): Use the C locale

	This fixes spurious test failures in my environment for
	`diff-mode-test-font-lock-syntax-one-line` (where my `diff` otherwise
	returns "No newline at end of file" in French) and for
	various tests in `emacs-module-tests` because errors signal
	"Abandon" instead of "Abort".

2021-01-28  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/ange-ftp.el (ange-ftp-ls): Handle several "--dired" switches.

2021-01-28  Michael Albinus  <michael.albinus@gmx.de>

	Simplify auto-revert buffer list by watch descriptor  (Bug#44639)

	* lisp/autorevert.el (auto-revert--buffer-by-watch-descriptor):
	Rename from `auto-revert--buffers-by-watch-descriptor'.  Make it
	an assoc list.
	(auto-revert-notify-rm-watch, auto-revert-notify-add-watch)
	(auto-revert-notify-handler): Adapt accordingly.  Based on a
	patch provided by Spencer Baugh <sbaugh@catern.com>.  (Bug#44639)

2021-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use lexical-binding in lisp/{term,nxml,language}

	* test/lisp/electric-tests.el:
	* lisp/term/w32console.el:
	* lisp/nxml/rng-util.el:
	* leim/leim-ext.el: Use lexical-binding.

	* lisp/international/titdic-cnv.el (tit-process-header)
	(miscdic-convert):
	* lisp/international/mule-cmds.el (leim-list-header):
	* lisp/international/ja-dic-cnv.el (skkdic-convert):
	Use lexical-binding in the generated file.

2021-01-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Protect against bad results from libravatar

	* lisp/image/gravatar.el (gravatar--service-libravatar): Don't
	have (gravatar-retrieve "foobar@zjp.codes" 'ignore) (which returns
	a CNAME) bug out.

2021-01-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix numerical `comment-padding' value

	* lisp/newcomment.el (comment-padright): Allow using a number for
	`comment-padding', like the doc string says (bug#40056).

2021-01-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the default `whitespace-enable-predicate' use `derived-mode-p'

	* lisp/whitespace.el (whitespace-enable-predicate): Use
	`derived-mode-p' to check modes instead of `eq' (bug#40481).

2021-01-28  Mattias M  <mattias@marka.ee>  (tiny change)

	Fix fill-paragraph in asm-mode

	* lisp/progmodes/asm-mode.el: The value of fill-prefix ought to be nil
	not "\t" so that fill-context-prefix can do its thing. In fact,
	fill-prefix does not have to be set at all because asm-mode derives
	from prog-mode and fill-prefix is set in simple.el.

	* test/lisp/progmodes/asm-mode-tests.el: Add relevant test (bug#41064).

2021-01-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow commenting out white space lines in latex-mode

	* lisp/newcomment.el (comment-region-default-1): Allow commenting
	out whitespace-only regions (bug#41793).

	* lisp/textmodes/tex-mode.el (latex--comment-region): Use it.
	(latex-mode): Set a comment style shim.

2021-01-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix Gnus icalendar button navigation

	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-insert-button): Mark
	buttons correctly for TAB navigation (bug#46135).

2021-01-28  Harald Jörg  <haj@posteo.de>

	perl-mode.el: Eliminate keywords which are not in Perl.

	* lisp/progmodes/perl-mode.el (perl-imenu-generic-expression):
	Remove keywords which are not part of Perl.
	(perl-font-lock-keywords-2): Remove keywords which are not part of
	Perl (bug#46024).  (These keywords are part of Raku; aka. Perl 6.)

2021-01-28  João Távora  <joaotavora@gmail.com>

	Allow project/xref packages to be used in Emacs 26.1

	* lisp/progmodes/project.el: Change Package-Requires to Emacs 26.1
	(bug#44671).

	* lisp/progmodes/xref.el: Ditto.

2021-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/macroexp.el (macroexp-if): Fix typo

2021-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el (pcase--split-pred): Handle `memq` pred.

	Improve handling of the `member` tests generated from (or 'a 'b 'c).
	This will expand

	    (pcase EXP ((and (or 1 2 3) (guard (FOO))) EXP1) (1 EXP2) (6 EXP3))

	to

	    (cond ((memql '(3 2 1) EXP)
	           (cond ((FOO) EXP1) ((eql EXP 1) EXP2)))
	          ((eql EXP 6) EXP3))

	rather than to

	    (cond ((memql '(3 2 1) EXP)
	           (cond ((FOO) EXP1) ((eql EXP 1) EXP2) ((eql EXP 6) EXP3)))
	          ((eql EXP 1) EXP2)
	          ((eql EXP 6) EXP3))

2021-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Perform β-reduction

	Also, in `funcall` macroexpand the function before checking to see if
	we can remove the `funcall`.

	(macroexp-if): Trim trailing `nil` in the generated code while we're at it.

2021-01-27  Juri Linkov  <juri@linkov.net>

	* lisp/replace.el (query-replace-read-from-suggestions): New function.

	(query-replace-read-from): Use it instead of hard-coded '(car search-ring)'.
	(read-regexp-suggestions): Add the active region (bug#41692).

2021-01-27  Paul Eggert  <eggert@cs.ucla.edu>

	* admin/notes/unicode: titdic-cnv.el is now utf-8.

2021-01-27  Juri Linkov  <juri@linkov.net>

	Support multi-line prompt and contents in previous-line-or-history-element.

	* lisp/simple.el (previous-line-or-history-element): Move to the
	beginning of minibuffer contents if there is editable minibuffer contents
	on the same line after moving point to the prompt (bug#46033).
	Fix minimal old-column from 0 to 1 to put point at the beginning of
	minibuffer contents after going to the previous history element.

2021-01-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/titdic-cnv.el (tsang-quick-converter): Simplify

	Merge branches which only differed in the `charset` property of the
	strings they intended to return, since that info gets lost later
	on anyway.

2021-01-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/titdic-cnv.el: Revert to utf-8 encoding

	While it's true that using the iso-2022-jp encoding on the file does
	allow Emacs to render the two strings differently, this only applies to
	the source file.  The .elc files all use `utf-8-emacs` encoding anyway,
	so that info is lost.  And the difference is even lost before we write
	the .elc file because when Emacs byte-compiles that code the
	byte-compiler considers those two strings as "equal" and emits only one
	string in the byte-code (so the two branches return `eq` strings).

	So, I think using `iso-2022-jp` is a bad idea here: it gives the
	illusion that the `charset` info exists, even it will be lost.
	Eli discussed it with Handa-san a year ago, and they arrived at the
	conclusion that the charset information is indeed no longer important.

2021-01-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use lexical-binding in of all lisp/language

	* lisp/international/titdic-cnv.el (pinyin-convert):
	Enable lexical-binding in the generated file(s).

	* lisp/language/ethio-util.el: Use lexical-binding.
	(ethio-tex-to-fidel-buffer): Use `inhibit-read-only`.  Remove unused
	vars `p` and `ch`.

	* lisp/language/hanja-util.el: Use lexical-binding.

	* lisp/language/ind-util.el: Use lexical-binding.
	(indian-translate-region): Actually use the `from` and `to` arguments.
	(<toplevel>): Use `dlet`.  Remove unused var `current-repertory`.
	(indian-2-column-to-ucs-region): Remove unused var `pos`.

	* lisp/language/japan-util.el: Use lexical-binding.
	(japanese-katakana-region, japanese-hiragana-region)
	(japanese-zenkaku-region): Remove unused var `next`.

	* lisp/language/korea-util.el: Use lexical-binding.

	* lisp/language/lao-util.el: Use lexical-binding.
	(lao-composition-function): Remove unused var `glyph`.

	* lisp/language/thai-util.el: Use lexical-binding.
	(thai-composition-function): Remove unused var `glyph`.

	* lisp/language/thai-word.el: Use lexical-binding.
	(thai-forward-word): Remove unused var `tail`.

	* lisp/language/tibet-util.el: Use lexical-binding.
	(tibetan-add-components): Remove unused var `tmp`.
	(tibetan-compose-region): Remove unused vars `str`, `result`, `chars`.

	* lisp/language/viet-util.el:
	* lisp/language/tv-util.el:
	* lisp/language/cyril-util.el:
	* lisp/language/china-util.el: Use lexical-binding.

2021-01-27  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	3443a1c698 Fix last change

2021-01-27  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	3f610177ad Avoid sending systemd shutdown notifications if non-daemon
	009df5cb3c * src/cmds.c (Fforward_line): Doc fix.  (Bug#46027)
	ee1c54ebc0 Improve documentation of sendmail.el defcustom's

2021-01-27  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	b58fd1eab9 ; * lisp/language/cham.el: Fix copy-paste mistake in comment.

2021-01-27  Eli Zaretskii  <eliz@gnu.org>

	Fix display of stretches of whitespace in the display margins

	* src/xdisp.c (produce_stretch_glyph): Truncate the stretch glyph
	due to line wrap only when drawing in the text area.
	* src/xterm.c (x_draw_stretch_glyph_string):
	* src/w32term.c (w32_draw_stretch_glyph_string): Fix the
	adjustment of the stretch X and width so that stretch glyphs could
	be drawn in the left margin.  Reported by Paul W. Rankin
	<pwr@bydasein.com>.

2021-01-27  Michael Albinus  <michael.albinus@gmx.de>

	Some Tramp fixes

	* doc/misc/tramp.texi (GVFS-based methods): Ban sftp RemoteCommand
	option.

	* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
	(tramp-adb-handle-rename-file): Avoid calling jka-compr when
	writing the target file.

	* lisp/net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p):
	Skip GROUP test on *BSD machines.

	* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory-one-file):
	Skip for tamp-crypt.el.
	(tramp--test-sh-no-ls--dired-p): Ignore errors.

2021-01-27  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/dbus.el (dbus-monitor-handler): Disable buffer undo.

2021-01-27  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'read-regexp' and friends

	* doc/emacs/glossary.texi (Glossary): Add "Tag" to the Glossary.
	* doc/emacs/maintaining.texi (Xref): Mention that identifiers are
	also known as "tags".

	* lisp/replace.el (read-regexp, read-regexp-suggestions): Improve
	wording of doc strings.  (Bug#46088)  (Bug#46089)

	(cherry picked from commit 49eb03d6c8a181fd46adbbcf1f0a976d0a9efa87)

2021-01-27  Lars Ingebrigtsen  <larsi@gnus.org>

	read-regexp-suggestions doc string improvement

	* lisp/replace.el (read-regexp-suggestions): Add a link to the
	manual to explain what a tag is (bug#46089).

	(cherry picked from commit f9cc2d48246fe8370e9286866e6115ba8e2acf44)

2021-01-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Try to improve the read-regexp doc string

	* lisp/replace.el (read-regexp): Attempt to clarify the semantics
	(bug#46088).

	(cherry picked from commit eded2a7ad7d456a417354a2797c18e9a578414d7)

2021-01-27  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'read-regexp' and friends

	* doc/emacs/glossary.texi (Glossary): Add "Tag" to the Glossary.
	* doc/emacs/maintaining.texi (Xref): Mention that identifiers are
	also known as "tags".

	* lisp/replace.el (read-regexp, read-regexp-suggestions): Improve
	wording of doc strings.  (Bug#46088)  (Bug#46089)

2021-01-27  Juri Linkov  <juri@linkov.net>

	* lisp/subr.el (empty-history): Move defvar to functions where it's used.

2021-01-27  Juri Linkov  <juri@linkov.net>

	Support variable name for previous-window in display-buffer-in-previous-window

	* lisp/window.el (display-buffer-in-previous-window): Support the value of
	'previous-window' entry as a symbol for variable name (bug#45688).

2021-01-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix indentation in sieve-mode

	* lisp/net/sieve-mode.el (sieve-mode-indent-function): New function.
	(sieve-mode): Don't inherit from C mode, because the syntax
	doesn't really resemble C mode that much (except being curly braced).

2021-01-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix setting of line/point style in calc gnuplot

	* lisp/calc/calc-graph.el (calc-graph-set-styles): Modern gnuplot
	requires "ls" before the line style and "ps" before the point
	style (bug#46070).

2021-01-27  Lars Ingebrigtsen  <larsi@gnus.org>

	read-regexp-suggestions doc string improvement

	* lisp/replace.el (read-regexp-suggestions): Add a link to the
	manual to explain what a tag is (bug#46089).

2021-01-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Try to improve the read-regexp doc string

	* lisp/replace.el (read-regexp): Attempt to clarify the semantics
	(bug#46088).

2021-01-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use lexical-binding in all of `lisp/url`

	* lisp/url/url-dav.el: Use lexical-binding.
	(url-dav-process-DAV:prop): Remove unused var `handler-func`.
	(url-dav-lock-resource): Remove unused var `child-url`.
	(url-dav-active-locks): Remove unused var `properties`.
	(url-dav-delete-directory): Remove unused var `props`.
	(url-dav-file-name-completion): Remove unused var `result`.

	* lisp/url/url-expand.el (url-expand-file-name): Use \s

	* lisp/url/url-file.el (url-file): Improve regexp.

	* lisp/url/url-gw.el: Use lexical-binding.
	(url-open-stream): Remove unused var `cur-retries`, `retry`, `errobj`.

	* lisp/url/url-imap.el: Use lexical-binding.
	(imap-username, imap-password): Declare.

	* lisp/url/url-mailto.el: Use lexical-binding.
	(url-mailto): Remove unused var `func`.  Use `push`.

	* lisp/url/url-news.el: Use lexical-binding.
	(url-news): Remove unused var `article-brackets`.

	* lisp/url/url-cid.el:
	* lisp/url/url-cache.el:
	* lisp/url/url-about.el:
	* lisp/url/url-tramp.el:
	* lisp/url/url-proxy.el:
	* lisp/url/url-privacy.el:
	* lisp/url/url-nfs.el:
	* lisp/url/url-ldap.el:
	* lisp/url/url-misc.el:
	* lisp/url/url-methods.el: Use lexical-binding.

2021-01-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/sh-script.el (sh-smie-sh-rules): Tweak indent of new `for`

	The new `for (TEST) { BODY }` syntax introduces various challenges.
	This patch just fixes a trivial subcase.

2021-01-26  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Revert "Allow gnus-retrieve-headers to return headers directly"

	This reverts commit 20add1cd22f9775a4475148b300cf2a4de4bd54a. This
	needs more work before it's ready to merge.

2021-01-26  Eli Zaretskii  <eliz@gnu.org>

	Fix typos and punctuation

	* src/w32fns.c:
	* src/frame.h:
	* doc/lispref/frames.texi (Frame Layout):
	* etc/NEWS: Fix typos and punctuation in recent changes.

2021-01-26  Martin Rudalics  <rudalics@gmx.at>

	Fix typo in last change of FRAME_INTERNAL_BORDER_WIDTH

	* src/frame.h (FRAME_INTERNAL_BORDER_WIDTH): Fix typo in last
	change.

2021-01-26  Alexander Miller  <alexanderm@web.de>

	Add distinct controls for child frames' borders (Bug#45620)

	The background of the 'child-frame-border' face instead of the
	'internal-border' face now controls the color of child frames'
	borders.

	The 'child-frame-border-width' frame parameter is now used for the
	width of child frames' borders instead of internal-border-width',
	though we still fall back on using the latter if the former is not
	set.

	* doc/lispref/frames.texi (Frame Layout): Mention
	'child-frame-border' and 'child-frame-border-width'.
	(Layout Parameters): Mention 'child-frame-border-width'.
	* etc/NEWS: Mention new face 'child-frame-border' and frame
	parameter 'child-frame-border-width'.
	* lisp/faces.el (child-frame-border): New face.
	* src/dispextern.h (enum face_id): Add CHILD_FRAME_BORDER_FACE_ID.
	* src/frame.c (Fframe_child_frame_border_width): New function.
	(gui_report_frame_params): Add entry for Qchild_frame_border_width.
	* src/frame.h (struct frame): New slot child_frame_border_width.
	(FRAME_CHILD_FRAME_BORDER_WIDTH): New inlined function.
	* src/nsfns.m (ns_set_child_frame_border_width): New function.
	(Fx_create_frame): Handle Qchild_frame_border_width parameter.
	(ns_frame_parm_handlers): Add ns_set_child_frame_border_width.
	* src/nsterm.m (ns_clear_under_internal_border): Handle
	CHILD_FRAME_BORDER_FACE_ID.
	* src/w32fns.c (w32_clear_under_internal_border): Handle
	CHILD_FRAME_BORDER_FACE_ID.
	(w32_set_internal_border_width): New function.
	(Fx_create_frame): Handle Qchild_frame_border_width parameter.
	(w32_frame_parm_handlers): Add w32_set_child_frame_border_width.
	* src/xfaces.c (lookup_basic_face, realize_basic_faces): Handle
	CHILD_FRAME_BORDER_FACE_ID.
	* src/xfns.c (x_set_child_frame_border_width): New function.
	(Fx_create_frame): Handle Qchild_frame_border_width parameter.
	(x_frame_parm_handlers): Add x_set_child_frame_border_width.
	* src/xterm.c (x_clear_under_internal_border)
	(x_after_update_window_line): Handle CHILD_FRAME_BORDER_FACE_ID.

2021-01-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use `lexical-binding` in all `lisp/international` files

	* lisp/startup.el (keyboard-type): Make obsolete and lex-bound.

	* admin/unidata/unidata-gen.el (unidata-gen-file)
	(unidata-gen-charprop): Mark the generated files to use lexical binding.

	* lisp/international/isearch-x.el: Use lexical-binding.
	(junk-hist): Declare locally.

	* lisp/international/iso-cvt.el:
	* lisp/international/utf-7.el:
	* lisp/international/robin.el:
	* lisp/international/ogonek.el:
	* lisp/international/latin1-disp.el:
	* lisp/international/kkc.el:
	* lisp/international/kinsoku.el:
	* lisp/international/ja-dic-utl.el: Use lexical-binding.

	* lisp/international/ja-dic-cnv.el: Use lexical-binding.
	(skkdic-breakup-string): Remove unused var `kana-len`.

	* lisp/international/latexenc.el: Use lexical-binding.
	(tex-start-of-header): Declare.

	* lisp/international/mule-diag.el: Use lexical-binding.
	(list-character-sets): Remove unused var `pos`.
	(list-character-sets-1): Remove unused vars `tail` and `charset`.
	(list-charset-chars): Remove unused vars `chars` and `plane`.
	(describe-coding-system): Remove unused var `extra-spec`.
	(mule--print-opened): New var.
	(print-fontset): Bind it.
	(print-fontset-element): Use it instead of `print-opened`.

	* lisp/international/quail.el: Use lexical-binding.
	(quail-start-translation, quail-start-conversion):
	Remove unused var `generated-events`.
	(quail-help-insert-keymap-description): Use local dynbound var `the-keymap`.

2021-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Make subdirs . nil in dir-locals in ~/ work

	* lisp/files.el (dir-locals-collect-variables): Compare directory
	names after expanding.  This makes a (subdirs . nil) in ~/ work as
	expected (bug#17205).

	Test case:

	((nil . ((a .  "hallo")
	         (subdirs . nil))))

	in ~/

2021-01-25  Juri Linkov  <juri@linkov.net>

	Don't move point to the prompt in previous-line-or-history-element (bug#46033)

	* lisp/simple.el (previous-line-or-history-element):
	Avoid moving point to the prompt.

2021-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fontify special forms and macros the same

	* lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Handle
	special forms and macros the same way (bug#43265).  This makes
	things like (setq a '(if a b)) be fontified correctly (i.e., not
	fontified as a keyword).

2021-01-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Rewrite lisp--el-funcall-position-p to be inverse of the -not function

	* lisp/emacs-lisp/lisp-mode.el (lisp--el-funcall-position-p):
	Rename and rewrite to return the inverse value.  Non-inverted
	predicate functions are easier to reason about.
	(lisp--el-non-funcall-position-p): Make obsolete.

2021-01-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix macro fontification in `condition-case' handler bodies

	* lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
	Fontify macros in the BODY of HANDLERS in `condition-case'
	correctly (bug#43265).

2021-01-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak `condition-case' keyword highlights

	* lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
	Tweak `condition-case' position check to skip the VAR form.

2021-01-24  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into native-comp

2021-01-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some elisp-mode font lock tests

2021-01-24  Michael Albinus  <michael.albinus@gmx.de>

	Make Tramp's insert-directory more robust

	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
	Use `tramp-sh--quoting-style-options'.

	* test/lisp/net/tramp-tests.el (tramp--test-hpux-p, tramp--test-ksh-p):
	Remove superfluous nil.
	(tramp--test-sh-no-ls--dired-p): New defun.
	(tramp--test-special-characters): Use it.

2021-01-24  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix insertion logic of newly subscribed Gnus groups

	* lisp/gnus/gnus-start.el (gnus-subscribe-newsgroup): This was a
	misunderstanding of the next/previous argument: no group should ever
	be inserted before "dummy.group".
	(gnus-group-change-level): Make it clearer that PREVIOUS can be
	nil. In fact none of this code would error on a nil value, but it
	_looks_ like nil is unexpected.

2021-01-24  Philipp Stephani  <phst@google.com>

	Add more assertions to recently-added process test.

	* test/src/process-tests.el (process-tests/multiple-threads-waiting):
	Also check that 'thread-join' and 'thread-last-error' return the
	expected errors.

2021-01-24  Dmitry Gutov  <dgutov@yandex.ru>

	Erase the buffer only after fetching the new contents

	* lisp/progmodes/xref.el (xref-revert-buffer):
	Erase the buffer only after fetching the new contents (bug#46042).

	(cherry picked from commit 5821dee0949b2913c07970d6e4b8bb8e8a35f036)

2021-01-24  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix recently uncovered 'make check' failures

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2021-01/msg01111.html

	* test/lisp/autorevert-tests.el
	(auto-revert-test07-auto-revert-several-buffers):
	* test/lisp/emacs-lisp/seq-tests.el (test-seq-do-indexed)
	(test-seq-random-elt-take-all): Fix errors from using add-to-list on
	lexical variables.
	* test/lisp/emacs-lisp/cl-lib-tests.el
	(cl-lib-defstruct-record): Expect test to succeed when byte-compiled
	following change of 2021-01-23 'Fix missing file&line info in
	"Unknown defun property" warnings'.
	(cl-lib-tests--dummy-function): Remove; no longer needed.
	(old-struct): Silence byte-compiler warning about unused lexical
	variable.

2021-01-24  Jean Louis  <bugs@gnu.support>

	Add support for dired compressing .lz/.lzo files

	* lisp/dired-aux.el (dired-compress-files-alist): Add support for
	.lz/.lzo files (bug#44901).

2021-01-23  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Properly initialize gnus-search-namazu-index-directory

	* lisp/gnus/gnus-search.el (gnus-search-namazu): We were missing the
	appropriate :initform on this slot definition (Bug#46047).

2021-01-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make (subdirs . nil) in .dir-locals.el work

	* lisp/files.el (dir-locals-collect-variables): Don't
	destructively modify the cached structure (bug#17205), because
	that means that (subdirs . nil) doesn't work.

2021-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix missing file&line info in "Unknown defun property" warnings

	* lisp/emacs-lisp/byte-run.el (defmacro, defun): Use
	`macroexp--warn-and-return` rather than `message`.

	* lisp/emacs-lisp/macroexp.el: Fix `macroexp--compiling-p`.
	(macroexp--warn-and-return): Don't try and detect repetition on forms
	like `nil`.
	(macroexp-macroexpand): Don't forget to bind `macroexpand-all-environment`.

2021-01-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Provide a (thing-at-point 'url) in eww buffers

	* lisp/net/eww.el (eww-mode): Allow (thing-at-point 'url) to work
	in eww buffers.
	(eww--url-at-point): New function.

2021-01-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a mechanism for buffer-local thing-at-points

	* doc/lispref/text.texi (Buffer Contents): Document it.

	* lisp/thingatpt.el (thing-at-point-provider-alist): New variable.
	(thing-at-point): Use it.

2021-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib by running admin/merge-gnulib

2021-01-23  Gabriel do Nascimento Ribeiro  <gabriel.nascimento@nubank.com.br>

	Use single post-command-hook on hl-line modes

	* lisp/hl-line.el (hl-line-mode, global-hl-line-mode): Ensure
	that 'maybe-unhighlight' is called after line is highlighted.
	(Bug#45946)
	(hl-line-unhighlight, global-hl-line-unhighlight): Set overlay
	variable to nil after overlay is deleted.

2021-01-23  Philipp Stephani  <phst@google.com>

	Add a unit test testing interaction between threads and processes.

	This unit test tests that we can call 'accept-process-output' in
	parallel from multiple threads.

	* test/src/process-tests.el (process-tests/multiple-threads-waiting):
	New unit test.

2021-01-23  Philipp Stephani  <phst@google.com>

	Avoid a few compilation warnings in Objective-C code.

	* src/nsfns.m (Fns_frame_restack): Remove unused variable 'flag'.

	* src/nsmenu.m (ns_update_menubar): Remove unused variable 'pool'.

	* src/nsterm.m (focus_view, hide_bell): Define conditionally.
	(ns_update_end): Define variable 'view' conditionally.
	(ns_redraw_scroll_bars): Don't define unused function.
	(copyRect): Don't perform arithmetic on 'void' pointers.
	(nswindow_orderedIndex_sort): Make static.

2021-01-23  Philipp Stephani  <phst@google.com>

	* .clang-format: Fix base style.

2021-01-23  Philipp Stephani  <phst@google.com>

	Add a FIXME comment to improve the SIGCHLD race condition handling.

	* src/process.c: Add FIXME comment describing how we could avoid the
	self-pipe on modern Unix-like systems.

2021-01-23  Philipp Stephani  <phst@google.com>

	Mark both ends of self-pipe a nonblocking.

	While no deadlocks caused by the blocking write end have been reported
	yet, marking both ends nonblocking is consistent and also recommended
	in the GNU/Linux manpage of 'select'.

	* src/process.c (child_signal_init): Mark write end of self-pipe as
	nonblocking.

2021-01-23  Michael Albinus  <michael.albinus@gmx.de>

	Fix failed autorevert test on emba

	* test/lisp/autorevert-tests.el (auto-revert-test05-global-notify):
	Check, whether buffer is alive.

2021-01-23  Michael Albinus  <michael.albinus@gmx.de>

	* test/infra/gitlab-ci.yml (.job-template): Check also for test/lib-src/*.el.

2021-01-23  Eli Zaretskii  <eliz@gnu.org>

	Clean up the recently added self-pipe mechanism for WINDOWSNT

	* src/process.c (child_signal_init, child_signal_read)
	(child_signal_notify): #ifdef away on WINDOWSNT.

2021-01-23  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* doc/lispref/text.texi (Undo): Add a cross-reference to the
	description of 'undo-amalgamate-change-group'.
	(Atomic Changes): Expand and improve the description of
	'undo-amalgamate-change-group'.  (Bug#42303)

2021-01-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention undo-amalgamate-change-group in the lispref manual

	* doc/lispref/text.texi (Atomic Changes): Mention
	undo-amalgamate-change-group (bug#42303).

	(cherry picked from commit ba25a82855a2c03c25fec83f3056c166b692e94f)

2021-01-23  Dmitry Gutov  <dgutov@yandex.ru>

	Erase the buffer only after fetching the new contents

	* lisp/progmodes/xref.el (xref-revert-buffer):
	Erase the buffer only after fetching the new contents (bug#46042).

2021-01-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (newline-and-indent): Disable `electric-indent-mode`

	With `electric-indent-mode` enabled, `newline-and-indent` ends up indenting
	3 times: once for the original line and twice on the new line.
	`reindent-then-newline-and-indent` is even worse, indenting twice
	both lines.
	None of those commands should be affected by `electric-indent-mode`
	since they even explicitly say in their name when and how they do
	indentation.

	(reindent-then-newline-and-indent): Temporarily disable
	`electric-indent-mode` as well.

2021-01-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention undo-amalgamate-change-group in the lispref manual

	* doc/lispref/text.texi (Atomic Changes): Mention
	undo-amalgamate-change-group (bug#42303).

2021-01-22  Paul Eggert  <eggert@cs.ucla.edu>

	Work around __has_attribute bug in clang 3.4

	* src/conf_post.h (HAS_ATTRIBUTE):
	* src/emacs-module.h.in (EMACS_ATTRIBUTE_NONNULL):
	Port to clang 3.4 and earlier.

2021-01-22  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib by running admin/merge-gnulib

2021-01-22  Paul Eggert  <eggert@cs.ucla.edu>

	Prepare for update from Gnulib

	* configure.ac: Also create lib/malloc and lib/deps/malloc
	if the dynarray module is in use, as Gnulib regex will
	start needing it due to recent glibc changes.

2021-01-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous mh-speed.el ignored variable change

	* lisp/mh-e/mh-speed.el (mh-speed-toggle, mh-speed-view): Mark the
	ignored parameter with _ instead of using the Common Lispish
	(declare (ignore args)) (which Emacs Lisp doesn't really support),
	except by accident.

2021-01-22  Keith David Bershatsky  <esq@lawlist.com>

	Add more isearch-related bindings to ns-win.el

	* lisp/term/ns-win.el (minibuffer-local-isearch-map): Add more
	bindings to mirror bindings in isearch.el (bug#15667).

2021-01-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Make nnml handle invalid non-ASCII headers more consistently

	* lisp/gnus/nnml.el (nnml--encode-headers): New function to
	RFC2047-encode invalid Subject/From headers (bug#45925).  This
	will make them be displayed more consistently in the Summary
	buffer (but still "wrong" sometimes, since there's not that much
	we can guess at this stage, charset wise).
	(nnml-parse-head): Use it.

2021-01-22  Michael Albinus  <michael.albinus@gmx.de>

	Use RemoteCommand option for Tramp's sshx and scpx methods

	* doc/misc/tramp.texi (Inline methods) <sshx>:
	(External methods) <scpx>: Adapt call sequence.
	(Remote shell setup): Mention, that sshx and scpx overwrite
	RemoteCommand.
	(Remote processes): Restriction: direct asynchronous processes
	cannot be used when RemoteCommand is in use.
	`tramp-remote-process-environment' is not ignored any longer.

	* lisp/net/tramp-sh.el (tramp-methods) <sshx, scpx>: Handle login
	shell via RemoteCommand.  Remove `tramp-direct-async' parameter.
	(tramp-maybe-open-connection): Add "-i" to login.

	* lisp/net/tramp-smb.el (tramp-smb-errors):
	Add "NT_STATUS_NOT_SUPPORTED".
	(tramp-smb-handle-insert-directory): Fix point moving error.

	* test/lisp/net/tramp-tests.el (tramp-test34-explicit-shell-file-name):
	Use `get-buffer-process' where appropriate.

2021-01-22  Mattias Engdegård  <mattiase@acm.org>

	Calc: use big brackets around function arguments

	* lisp/calc/calccomp.el (math-compose-expr): Use big brackets around
	arguments in Big mode, so that expressions like sin(a/b) look a bit
	better.

2021-01-22  Eli Zaretskii  <eliz@gnu.org>

	Avoid sending systemd shutdown notifications if non-daemon

	* src/emacs.c (Fkill_emacs): Send the shutdown notification only
	in daemon mode.  (Bug#46022)

2021-01-22  Eli Zaretskii  <eliz@gnu.org>

	Fix last change for DOS_NT systems

	* src/term.c (tty_draw_row_with_mouse_face)
	(tty_write_glyphs_with_face): Don't define on MSDOS and WINDOWSNT,
	as those have their own implementations of that.

2021-01-22  João Távora  <joaotavora@gmail.com>

	Enable TTY mouse-face support when built without GPM support

	* src/term.c (tty_write_glyphs_with_face): Move definition out of
	ifdef block.
	* src/xdisp.c (draw_row_with_mouse_face): Now called
	unconditionally on all platforms.

2021-01-22  Glenn Morris  <rgm@gnu.org>

	* lisp/textmodes/remember.el (remember-text-format-function): Fix type.

2021-01-22  Eli Zaretskii  <eliz@gnu.org>

	* src/cmds.c (Fforward_line): Doc fix.  (Bug#46027)

2021-01-22  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of sendmail.el defcustom's

	* lisp/mail/sendmail.el (mail-archive-file-name)
	(mail-default-reply-to, mail-self-blind, mail-default-headers):
	Say in the doc string that 'message-default-mail-headers' shall be
	customized when using 'message-mode' for email composition.
	(Bug#46029)

2021-01-21  Ted Zlatanov  <tzz@lifelogs.com>

	* test/infra/gitlab-ci.yml: Copy newer files to image to build less often.

2021-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix spurious "Lexical argument shadows the dynamic variable" due to inlining

	Before this patch doing:

	    rm lisp/calendar/calendar.elc
	    make lisp/calendar/cal-hebrew.elc

	would spew out lots of spurious such warnings about a `date` argument,
	pointing to code which has no `date` argument in sight.  This was
	because that code had calls to inlinable functions (taking a `date`
	argument) defined in `calendar.el`, and while `date` is a normal
	lexical var at the site of those functions' definitions, it was
	declared as dynbound at the call site.

	* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
	Don't impose our local context onto the inlined function.

	* test/lisp/emacs-lisp/bytecomp-tests.el: Add matching test.

2021-01-21  Stefan Kangas  <stefan@marxist.se>

	* lisp/net/webjump.el: Add Maintainer: emacs-devel.

	Ref: https://lists.gnu.org/r/emacs-devel/2021-01/msg01019.html

2021-01-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't have type-break-mode signal errors on corrupted files

	* lisp/type-break.el (type-break-get-previous-time):
	(type-break-get-previous-count): Signal a warning instead of an
	error (bug#38246).  type-break will still continue to work even if
	the database can't be loaded after a restart, but this allows
	Emacs to be started.

2021-01-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix message.el build warning from previous change

	* lisp/gnus/message.el (subr-x): Fix build warning from previous
	commit.

2021-01-21  Ted Zlatanov  <tzz@lifelogs.com>

	* test/infra/gitlab-ci.yml: Revert to always building.

2021-01-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add dired support for compressing .pax files

	* lisp/dired-aux.el (dired-compress-files-alist): Add support for
	compressing .pax files (bug#40135).

2021-01-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak previous message-forward-included-mime-headers change

	* lisp/gnus/message.el (message-forward-included-mime-headers):
	Should probably not include Content-Transfer-Encoding, because we
	will re-encode anyway.

2021-01-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Make Message respect header removal instructions more

	* doc/misc/message.texi (Forwarding): Document it.

	* lisp/gnus/message.el (message-forward-ignored-headers): Improve
	documentation.
	(message-forward-included-headers): Ditto.
	(message-forward-included-mime-headers): New user option.
	(message-remove-ignored-headers): Use it to preserve the necessary
	MIME headers.
	(message-forward-make-body): Remove headers when forwarding as
	MIME, too.

2021-01-21  Eli Zaretskii  <eliz@gnu.org>

	A better fix for 'kill-visual-line'

	* lisp/simple.el (kill-visual-line): Use the 6th element of the
	return value of 'posn-at-point', which provides the coordinates in
	terms or row and column, and is thus more reliable for deciding
	whether we moved to the next screen line.  (Bug#45837)

2021-01-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix thinko in previous footnote.el change

	* lisp/mail/footnote.el (footnote--regenerate-alist): Don't error
	out when there's no footnotes.

2021-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use `lexical-binding` in all the cal-*.el files

	* lisp/calendar/cal-bahai.el: Use lexical-binding.
	(calendar-bahai-date-string): Use `calendar-dlet*`.

	* lisp/calendar/cal-china.el: Use lexical-binding.
	(calendar-chinese-zodiac-sign-on-or-after)
	(calendar-chinese-new-moon-on-or-after): Declare `year`.
	(calendar-chinese-from-absolute-for-diary)
	(calendar-chinese-to-absolute-for-diary)
	(calendar-chinese-mark-date-pattern): Avoid dynbound var `date` as
	function argument.

	* lisp/calendar/cal-coptic.el: Use lexical-binding.
	(calendar-coptic-date-string): Use `calendar-dlet*`.
	(calendar-ethiopic-to-absolute, calendar-ethiopic-from-absolute)
	(calendar-ethiopic-date-string, calendar-ethiopic-goto-date):
	Avoid dynbound var `date` as function argument.

	* lisp/calendar/cal-french.el: Use lexical-binding.

	* lisp/calendar/cal-hebrew.el: Use lexical-binding.
	(holiday-hebrew-hanukkah): Don't use the third form in `dotimes`.

	* lisp/calendar/cal-islam.el: Use lexical-binding.
	(calendar-islamic-to-absolute): Comment out unused vars `month` and `day`.

	* lisp/calendar/cal-move.el:
	* lisp/calendar/cal-mayan.el:
	* lisp/calendar/cal-iso.el: Use lexical-binding.

	* lisp/calendar/cal-persia.el: Use lexical-binding.
	(calendar-persian-date-string): Use `calendar-dlet*`.

	* lisp/calendar/cal-html.el: Use lexical-binding.
	(cal-html-insert-minical): Comment out unused var `date`.
	(cal-html-cursor-month, cal-html-cursor-year): Mark `event` arg as unused.

	* lisp/calendar/cal-menu.el: Use lexical-binding.
	(diary-list-include-blanks): Declare var.

	* lisp/calendar/cal-x.el: Use lexical-binding.

	* lisp/calendar/cal-tex.el: Use lexical-binding.
	(diary-list-include-blanks): Declare var.
	(cal-tex-insert-days, cal-tex-cursor-week-iso, cal-tex-week-hours)
	(cal-tex-weekly-common, cal-tex-cursor-filofax-2week)
	(cal-tex-cursor-filofax-daily, cal-tex-daily-page): Declare `date`
	as dynbound for the benefit of `cal-tex-daily-string`.

2021-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use `calendar-read-sexp` instead of the now obsolete `calendar-read`

	* lisp/calendar/diary-lib.el (diary-insert-cyclic-entry):
	* lisp/calendar/cal-persia.el (calendar-persian-read-date):
	* lisp/calendar/cal-move.el (calendar-goto-day-of-year):
	* lisp/calendar/cal-mayan.el (calendar-mayan-read-haab-date)
	(calendar-mayan-read-tzolkin-date):
	* lisp/calendar/cal-julian.el (calendar-julian-goto-date)
	(calendar-astro-goto-day-number):
	* lisp/calendar/cal-iso.el (calendar-iso-read-date):
	* lisp/calendar/cal-islam.el (calendar-islamic-read-date):
	* lisp/calendar/cal-hebrew.el (calendar-hebrew-read-date)
	(calendar-hebrew-list-yahrzeits):
	* lisp/calendar/cal-french.el (calendar-french-goto-date):
	* lisp/calendar/cal-coptic.el (calendar-coptic-read-date):
	* lisp/calendar/cal-china.el (calendar-chinese-goto-date):
	* lisp/calendar/cal-bahai.el (calendar-bahai-read-date):
	* lisp/calendar/holidays.el (list-holidays): Use `calendar-read-sexp`.

2021-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/cal-french.el (calendar-french-accents-p): Obsolete function

	Always assume accented letters can be used

	(calendar-french-month-name-array)
	(calendar-french-special-days-array): Use the accented names.
	(calendar-french-multibyte-month-name-array)
	(calendar-french-multibyte-special-days-array): Make those vars
	obsolete aliases.
	(calendar-french-month-name-array, calendar-french-day-name-array)
	(calendar-french-special-days-array): Mark functions as obsolete.
	(calendar-french-date-string, calendar-french-goto-date): Always use
	the text with accents.

2021-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/calendar.el (calendar-read-sexp): New function

	(calendar-read): Mark as obsolete.
	(calendar-read-date): Use it.  Add `default-date` argument.
	Provide defaults for the month and day (fixes bug#32105).

2021-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bytecomp.el (byte-compile--declare-var): Fix warning

	Make sure the "declared after first use" is under the control of
	the `lexical` option.

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix recent remember-diary-extract-entries change

	* lisp/textmodes/remember.el (remember-diary-extract-entries): Use
	`remember-diary-file' over `diary-file'.

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	checkdoc-spellcheck-documentation-flag doc string improvement

	* lisp/emacs-lisp/checkdoc.el
	(checkdoc-spellcheck-documentation-flag): Mention
	`ispell-kill-ispell' (bug#6221).

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Always send Lisp words to checkdoc-ispell-init"

	This reverts commit 93141d581330d94e7eec9f114def2bec15f87866.

	This would make checkdoc words be used in other flyspell
	buffers.

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Always send Lisp words to checkdoc-ispell-init

	* lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-init): Always send
	the Lisp words to the process (bug#6221).  This allows an existing
	ispell process to be correctly initialized.

2021-01-20  Juri Linkov  <juri@linkov.net>

	Move the ‘declare’ form before the interactive spec in 10 functions.

	* lisp/emacs-lisp/package.el (package-menu-hide-package):
	* lisp/font-lock.el (font-lock-debug-fontify):
	* lisp/image.el (image-jpeg-p):
	* lisp/mail/flow-fill.el (fill-flowed-test):
	* lisp/mh-e/mh-speed.el (mh-speed-toggle, mh-speed-view):
	* lisp/progmodes/project.el (project-async-shell-command)
	(project-shell-command, project-compile):
	* lisp/progmodes/sh-script.el (sh-assignment):
	Fix special forms to follow in this order: docstring, declare, interactive.

2021-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/subr-x.el (named-let): New macro

2021-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Add 2 new opts

	This introduces two new optimizations.  They're designed for code like

	    (while
	        (let (...)
	          (if ... (progn blabla t) (progn blabla nil)))
	      ...)

	and they allow the elimination of the test internal to `while` since
	we can immediately know when we return `t` or `nil` what the result
	of the test will be.

	`cl-labels` tends to generate this kind of code when it applies the
	tail-call optimization.

2021-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Move some opts.

	This moves two optimizations from the final pass to the main loop.
	Both may enable further optimizations (and the second can be applied
	repeatedly but "from the end", so the loop in the final pass only gets
	to apply it once).

2021-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Re-indent

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix footnote-mode problem when reopening an old file

	* lisp/mail/footnote.el (footnote--regenerate-alist): New function
	(bug#7258).
	(footnote-mode): Use it to restore footnotes after opening an old
	file with footnotes.

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	cua-toggle-global-mark doc string clarification

	* lisp/emulation/cua-gmrk.el (cua-toggle-global-mark): Clarify
	that also inserted characters are affected (bug#8083).

2021-01-20  Michael Albinus  <michael.albinus@gmx.de>

	Fix environment handling in tramp-handle-make-process

	* lisp/net/tramp.el (tramp-test-message): Add `tramp-suppress-trace' property.
	(tramp-handle-make-process): Handle also 'tramp-remote-process-environment'.

2021-01-20  Gabriel do Nascimento Ribeiro  <gabriel.nascimento@nubank.com.br>

	Respect remember-save-after-remembering on remember-diary-extract-entries

	* lisp/textmodes/remember.el (remember-diary-extract-entries):
	Save automatically if `remember-save-after-remembering' is non-nil
	(bug#45811).

2021-01-20  Gabriel do Nascimento Ribeiro  <gabriel376@hotmail.com>

	Add option remember-text-format-function

	* lisp/textmodes/remember.el (remember-text-format-function): New
	variable (bug#45809).
	(remember-append-to-file): Use it.

2021-01-20  Gabriel do Nascimento Ribeiro  <gabriel.nascimento@nubank.com.br>

	Add option remember-diary-regexp

	* lisp/textmodes/remember.el (remember-diary-extract-entries): Use
	it (bug#45808).
	(remember-diary-regexp): New variable.

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak tty-find-type to allow TERM=screen.xterm

	* lisp/faces.el (tty-find-type): Allow TERM=screen.xterm to find
	term/screen.el (bug#45824).

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make symbol-at-point return nil if there's no symbols in the buffer

	* lisp/thingatpt.el (thing-at-point--beginning-of-symbol): Special
	op that errors out when there's no symbols in the buffer before
	point (bug#14234).
	(symbol): Use it.

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Add tests for symbol-at-point (bug#14234)

2021-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	Don't let `maybe_quit` prevent resetting `consing_until_gc` (bug#43389)

	* src/alloc.c (garbage_collect): Postpone `unblock_input` a bit.
	* src/window.c (window_parameter): Avoid `maybe_quit`.

2021-01-20  Fabrice Bauzac  <noon@mykolab.com>  (tiny change)

	Sort Ibuffer filename/process column as displayed

	* lisp/ibuf-ext.el (ibuffer-do-sort-by-filename/process): Use the
	same function for sorting and for displaying the
	filename/process (Bug#45800).

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make `symbol-at-point' work in buffers with no symbols"

	This reverts commit 40a5df81434ce02fba01779256b50976fb74da4f.

	This fails when a point is after a symbol, and there's
	nothing else in the buffer.

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't add Content-Type when ceasing an rmail edit

	* lisp/mail/rmailedit.el (rmail-cease-edit): Take an optional
	parameter to avoid altering the message (bug#13327).
	(rmail-abort-edit): Use it.

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `symbol-at-point' work in buffers with no symbols

	* lisp/thingatpt.el (thing-at-point--end-of-symbol): New function
	(bug#14234).
	(symbol): Use it instead of `forward-symbol', because the latter
	will move to the end of the buffer even if there is no symbol
	there.  Instead error out like `forward-sexp' and friends.

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up example in the Modifying Menus node in the lispref manual

	* doc/lispref/keymaps.texi (Modifying Menus): Make the second
	example more regular (bug#14257).

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention that the mouse will switch on transient-mark-mode in manual

	* doc/lispref/markers.texi (The Mark): Mention that the mouse will
	enable the `(only)' transient mark mode (bug#14945).

2021-01-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make sh-mode use `auto-mode-interpreter-regexp'

	* lisp/progmodes/sh-script.el (sh-mode): Use
	`auto-mode-interpreter-regexp' instead of open-coding the value
	(bug#17158).

2021-01-20  Nick Drozd  <nicholasdrozd@gmail.com>

	test/lisp/replace-tests.el: Add nested match group test

	* test/lisp/replace-tests.el (replace-regexp-bug45973): Add test
	(bug#45973).

2021-01-19  Andrea Corallo  <akrl@sdf.org>

	Do not add unnecessary arg constraints (bug#45812 bug#45705 bug#45751).

	These have the effect of bloating the IR for no effect killing compile
	time.  The typical cases for that are extremely long backuoted lists.

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-t): New var.
	* lisp/emacs-lisp/comp.el (comp-add-call-cstr): No need to add
	arg call constraints if this is t.

2021-01-19  Philipp Stephani  <phst@google.com>

	Make child signal read pipe non-blocking.

	Otherwise Emacs might hang when trying to read the pipe twice in a
	row.  This is consistent with the other file descriptors we pass to
	'pselect'.

	* src/process.c (child_signal_init): Make read end of pipe
	non-blocking.

2021-01-19  Dmitry Gutov  <dgutov@yandex.ru>

	Declare some project commands interactive-only

	* lisp/progmodes/project.el (project-async-shell-command)
	(project-shell-command, project-compile):
	Declare interactive-only (bug#45765).

2021-01-19  Juri Linkov  <juri@linkov.net>

	* lisp/help-fns.el: Move defvar keymap-name-history closer to where it's used.

2021-01-19  Juri Linkov  <juri@linkov.net>

	Better check for nil in search-/query-replace-highlight-submatches (bug#45973)

	* lisp/isearch.el (isearch-highlight):
	* lisp/replace.el (replace-highlight):
	Use integer-or-marker-p to check matches.

2021-01-19  Ted Zlatanov  <tzz@lifelogs.com>

	* test/infra/gitlab-ci.yml: Bootstrap only from web, schedule, or C-related.

2021-01-19  Mattias Engdegård  <mattiase@acm.org>

	Calc: use Unicode brackets in Big mode when available (bug#45917)

	* lisp/calc/calccomp.el (math--big-bracket-alist)
	(math--big-bracket, math--comp-bracket, math--comp-round-bracket):
	New.
	(math-compose-expr, math-compose-log, math-compose-log10)
	(math-compose-choose, math-compose-integ, math-compose-sum)
	(math-compose-prod): Use big brackets when available.

2021-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/NEWS.19: Add entry for `indent-line-to`

	* lisp/version.el (emacs-major-version, emacs-minor-version):
	Remove redundant version info already displayed by `C-h o`.

2021-01-19  Michael Albinus  <michael.albinus@gmx.de>

	Some Tramp fixes, resulting from test campaign

	* doc/misc/tramp.texi (Remote shell setup): Clarifications for
	`tramp-actions-before-shell' example.

	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Do not expand
	FILENAME explicitly.
	(tramp-open-shell): Add "-i" for interactive shells.

	* test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p)
	(tramp-test14-delete-directory)
	(tramp-test43-asynchronous-requests): Skip for MS windows.

2021-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/startup.el: Fix bug#45857, bug#30994, and bug#45913.

	(command-line): Don't re-evaluate the `custom-delayed-init-variables`
	a second time after reading the `early-init.el` file.
	(x-apply-session-resources): Set `blink-cursor-mode` rather than
	`no-blinking-cursor`.

	* lisp/frame.el (blink-cursor-start): Turn `blink-cursor-mode` off
	if `blink-cursor-mode` was set to nil.
	(blink-cursor-mode): Default to it being enabled regardless of
	`window-system`.

	* lisp/custom.el (custom-initialize-delay): Fox docstring now that
	autoload.el preserves the `:initialize` info.

2021-01-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Only show "2x entries" i vc log buffers if needed

	* lisp/vc/vc.el (vc-print-log-setup-buttons): Only show the "more"
	buttons if we got more or equal to the number of entries we asked
	for (bug#18959).

2021-01-19  Mattias Engdegård  <mattiase@acm.org>

	Parse square root sign in embedded Calc mode

	* lisp/calc/calc-lang.el (math-read-big-rec): Recognize √ since it may
	be used in Big mode.

2021-01-19  Mattias Engdegård  <mattiase@acm.org>

	Missing dynamic variable declarations in Calc

	* lisp/calc/calc-embed.el (calc-embedded-set-modes): Prevent
	the-language and the-display-just from being lexically bound here,
	because they may be assigned using 'set'.

2021-01-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix slow abbrev expansion in `message-mode' in some circumstances

	* lisp/gnus/message.el (message--syntax-propertize): Use the
	correct Message mode syntax table to avoid having
	`message-cite-prefix-regexp' trigger very heavy backtracing when
	called from an abbrev context (which defines "_" as a word
	constituent) (bug#45944).

2021-01-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't stop Gnus startup on password failures

	* lisp/gnus/nntp.el (nntp-send-authinfo): Don't signal an
	`nntp-authinfo-rejected' error, because that will stop Gnus
	startup (bug#45855).  Instead signal an error that will be caught
	higher up.

2021-01-19  Michael Albinus  <michael.albinus@gmx.de>

	Handle also test/lib-src directory

	* test/Makefile.in (SUBDIRS): Add lib-src.

	* test/README: Add predefined selectors.

	* test/file-organization.org: Mention test/lib-src directory.

2021-01-19  Mauro Aranda  <maurooaranda@gmail.com>

	Fix list-colors-print handling of callback arg

	* lisp/facemenu.el (list-colors-print): Keeping
	backward-compatibility, don't fail when passed a closure object as
	CALLBACK.  (Bug#45831)

2021-01-19  Mauro Aranda  <maurooaranda@gmail.com>

	Add test for the widget-color-match function (Bug#45829)

	* test/lisp/wid-edit-tests.el (widget-test-color-match): New test.

2021-01-19  Drew Adams  <drew.adams@oracle.com>

	Tweaks to the color widget (Bug#45829)

	* lisp/wid-edit.el (widget-color-match, widget-color-validate): New
	functions.
	(color): Use the new functions.  Base size on longest defined color
	name, defaulting to the longest RGB hex string.

2021-01-19  Protesilaos Stavrou  <info@protesilaos.com>

	Add 'perl-non-scalar-variable' face to perl-mode

	* etc/NEWS: Document the new face (bug#45840).
	* lisp/progmodes/perl-mode.el (perl-non-scalar-variable): Define new
	face.
	(perl-font-lock-keywords-2): Apply 'perl-non-scalar-variable' face.

2021-01-19  James N. V. Cash  <james.nvc@gmail.com>  (tiny change)

	Define keymap-name-history

	* lisp/help-fns.el (keymap-name-history): Define the history
	variable (bug#45879).  This avoids problems in other completing
	systems like Helm.

2021-01-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Actually make the calc trail window dedicated

	* lisp/calc/calc.el (calc-trail-display): Actually make the trail
	window dedicated (bug#45928).

2021-01-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't infloop in comint-redirect-results-list-from-process

	* lisp/comint.el (comint-redirect-results-list-from-process):
	Ensure forward progress (bug#45950).

2021-01-19  Lucas Werkmeister  <mail@lucaswerkmeister.de>

	Mark the various nxml flags as safa

	* lisp/nxml/nxml-mode.el (nxml-char-ref-display-glyph-flag)
	(nxml-sexp-element-flag, nxml-slash-auto-complete-flag)
	(nxml-child-indent, nxml-attribute-indent)
	(nxml-bind-meta-tab-to-complete-flag)
	(nxml-prefer-utf-16-to-utf-8-flag)
	(nxml-prefer-utf-16-little-to-big-endian-flag)
	(nxml-default-buffer-file-coding-system)
	(nxml-auto-insert-xml-declaration-flag): Add :safe to allow easier
	customization (bug#45969).

2021-01-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "* .gitignore: add src/fingerprint.c"

	This reverts commit 2644353cbc65927a6a0a76d68e00d017771cdd03.

	The src/fingerprint.c file is no longer generated, and the spelling of the obsolete function was correct.

2021-01-19  Dmitry Gutov  <dgutov@yandex.ru>

	Make sure the new window is not too tall

	* lisp/progmodes/xref.el (xref-show-definitions-buffer-at-bottom):
	Make sure the new window is not too tall (bug#45945).

2021-01-18  Stephen Gildea  <stepheng+emacs@gildea.com>

	time-stamp-tests now pass in more locales

	Update time-stamp-tests to use format-time-string to generate the date
	words (month, day of week, AM/PM) instead of hard-coding English.  Now
	the tests pass in locales other than "C" and US English.

	Expand the test coverage of modifier characters.

2021-01-18  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Allow gnus-retrieve-headers to return headers directly

	Previously, all Gnus backends returned header information by writing
	nov lines into the nntp-server-buffer, which was later parsed.  This
	commit allows the backends to return their header information as a
	list of already-parsed headers, though so far none of the backends
	actually do that.  The agent, cache, cloud etc. now operate on parsed
	headers rather than nov text, ie. they use gnus-fetch-headers instead
	of gnus-retrieve-headers.

	* lisp/gnus/gnus-sum.el (gnus-fetch-headers): Handle the case in which
	gnus-retrieve-headers returns headers directly.
	* lisp/gnus/nnvirtual.el (nnvirtual-retrieve-headers): Use
	gnus-fetch-headers rather than gnus-retrieve-headers to get headers,
	meaning we're operating on already-parsed headers.
	(nnvirtual-convert-headers): Remove now-unnecessary function.
	(nnvirtual-update-xref-header): Rewrite to operate on parsed header.
	* lisp/gnus/gnus-cloud.el (gnus-cloud-available-chunks): Use
	gnus-fetch-headers instead of gnus-retrieve-headers.
	* lisp/gnus/gnus-cache.el (gnus-cache-retrieve-headers): Use
	gnus-fetch-headers.
	(gnus-cache-braid-nov, gnus-cache-braid-heads): Delete unnecessary
	functions -- we now do this work on a list of parsed headers.
	* lisp/gnus/gnus-agent.el (gnus-agent-retrieve-headers): Use
	gnus-fetch-headers.
	(gnus-agent-braid-nov): Remove unnecessary function.
	(gnus-agent-fetch-headers): Use gnus-fetch-headers.

2021-01-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix ibuffer-mark-by-file-name-regexp abbreviations

	* lisp/ibuffer.el (ibuffer--abbreviate-file-name): New function.
	(filename): Use it.
	* lisp/ibuf-ext.el (ibuffer-mark-by-file-name-regexp): Prefer
	read-regexp over read-string for reading regexps.  Determine file
	name using ibuffer-buffer-file-name for consistency.  Abbreviate
	file name using ibuffer-directory-abbrev-alist (bug#18859).

2021-01-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Use format-prompt in read-regexp.

	* lisp/replace.el (read-regexp): Use format-prompt (bug#12443).

2021-01-18  Eric Ludlam  <ericludlam@gmail.com>

	* lisp/cedet/ede/proj.el: Enable Project files to load

	(ede-proj-target-makefile): Give more precise type for its `rules` slot.

	* lisp/cedet/ede/base.el (ede-target-list): Don't define.
	(ede-project): Use `list-of` instead.

2021-01-18  Eli Zaretskii  <eliz@gnu.org>

	Fix recent changes for Cham script

	* lisp/language/cham.el ("Cham"): Fix sample-text.
	* lisp/leim/quail/cham.el: Really install this new file.

2021-01-18  Aaron Jensen  <aaronjensen@gmail.com>

	* test/src/xdisp-tests.el: Fix tests to work in batch mode

	(xdisp-tests--window-text-pixel-size)
	(xdisp-tests--window-text-pixel-size-leading-space)
	(xdisp-tests--window-text-pixel-size-trailing-space): Fix tests.
	(Bug#45748)

2021-01-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't double up keys in epa--list-keys

	* lisp/epa.el (epa--list-keys): Delete the list keys before
	redisplaying (bug#44134).

2021-01-18  Stephen Berman  <stephen.berman@gmx.net>

	Fix problem with `epa-list-keys' bugging out

	* lisp/epa.el (epa--list-keys): Partially revert 517285f7cae which
	removed the wrong property (bug#44134).

2021-01-18  Mattias Engdegård  <mattiase@acm.org>

	Avoid macOS NSFilenamesPboardType warning (bug#33035)

	* src/nsterm.h (NS_USE_NSPasteboardTypeFileURL): New #define.
	* src/nsterm.m (ns_term_init):
	([EmacsView performDragOperation:]):
	* src/nsselect.m (ns_string_to_symbol):
	(nxatoms_of_nsselect):
	NSFilenamesPboardType was deprecated in macOS 10.14; use
	NSPasteboardTypeFileURL instead when available.

2021-01-18  Philipp Stephani  <phst@google.com>

	Replace Unix commands with Emacs in process tests.

	That way, the tests only depend on Emacs, and not on utilities that
	might not be available during test time.

	* test/src/process-tests.el (process-tests--eval)
	(process-tests--emacs-command, process-tests--emacs-binary)
	(process-tests--dump-file)
	(process-tests--usable-file-for-reinvoke): New helper functions.
	(process-tests/sentinel-called)
	(process-tests/sentinel-with-multiple-processes): Use them.

2021-01-17  Andrea Corallo  <akrl@sdf.org>

	Run dead code removal always before fwprop, optim bootstrap time (~20% less)

	* lisp/emacs-lisp/comp.el (comp-passes): Remove `comp-dead-code'.
	(comp-fwprop): Call `comp-dead-code'.
	(comp-dead-code): Remove fake arg.

2021-01-17  Andrea Corallo  <akrl@sdf.org>

	Introduce `comp-fwprop-max-insns-scan' as heuristic threshold

	* lisp/emacs-lisp/comp.el (comp-fwprop-max-insns-scan): New
	constant.
	(comp-fwprop*): Give-up when `comp-fwprop-max-insns-scan' is
	exceeded.

2021-01-17  Andrea Corallo  <akrl@sdf.org>

	Make `comp-enable-subr-trampolines' effective for advices (bug#45854)

	* src/comp.c: Copyright update.
	(syms_of_comp): Update `comp-enable-subr-trampolines' doc.
	* lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Check
	for `comp-enable-subr-trampolines'.

2021-01-17  Eli Zaretskii  <eliz@gnu.org>

	Improve support for the Cham script and languages

	* etc/NEWS: Announce the new 'cham' input method.
	* etc/HELLO: Fix the order of letters in the Cham greeting.
	Remove redundant newlines (reported by Ulrich Mueller
	<ulm@gentoo.org>).

	* lisp/language/cham.el ("Cham"): Add input-method entry.
	* lisp/leim/quail/cham.el: New file.
	* lisp/international/fontset.el (setup-default-fontset): Add an
	entry for Cham.

2021-01-17  Ted Zlatanov  <tzz@lifelogs.com>

	* test/infra/gitlab-ci.yml: Merge test-template into job-template.

2021-01-17  Philipp Stephani  <phst@google.com>

	Ensure that sentinels are called during 'accept-process-output'.

	When we're trying to notify a process about a status change, we need
	to ignore the SIGCHLD pipe temporarily, otherwise the code would
	likely not run into the timeout case that's necessary for a status
	change to happen.

	* src/process.c (wait_reading_process_output): Ignore the SIGCHLD pipe
	when notifying a process about a status change.
	* test/src/process-tests.el (process-tests/sentinel-called)
	(process-tests/sentinel-with-multiple-processes): New unit tests.

2021-01-17  Michael Albinus  <michael.albinus@gmx.de>

	Add new targets to test/Makefile

	* test/Makefile.in (SUBDIRS): New variable.
	(subdir_template): New template.
	(top) Create new check-<dirname> targets.

	* test/README: Document them.

	* test/infra/gitlab-ci.yml (test-lisp-net-inotify): Rename.

2021-01-17  Philipp Stephani  <phst@google.com>

	Add a bit more clarification around standard error processes.

	* doc/lispref/processes.texi (Asynchronous Processes): Document
	how to obtain the standard error process that Emacs creates.
	(Accepting Output): Add an example how to wait for standard error in
	case Emacs has created a standard error process.

2021-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Use pcase

2021-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el: Add support for `not` to `pred`

	(pcase--split-pred, pcase--funcall): Adjust for `not`.
	(pcase--get-macroexpander): New function.
	(pcase--edebug-match-macro, pcase--make-docstring)
	(pcase--macroexpand): Use it.

	* lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Use it!

	* doc/lispref/control.texi (The @code{pcase} macro): Document it.

	* lisp/emacs-lisp/ert.el (ert--explain-equal-rec): Remove redundant test.

2021-01-16  Philipp Stephani  <phst@google.com>

	Don't crash if no asynchronous process has been created yet.

	* src/process.c (wait_reading_process_output): Allow
	child_signal_read_fd < 0.

2021-01-16  Philipp Stephani  <phst@google.com>

	Fix deadlock when receiving SIGCHLD during 'pselect'.

	If we receive and handle a SIGCHLD signal for a process while waiting
	for that process, 'pselect' might never return.  Instead, we have to
	explicitly 'pselect' that the process status has changed.  We do this
	by writing to a pipe in the SIGCHLD handler and having
	'wait_reading_process_output' select on it.

	* src/process.c (child_signal_init): New helper function to create a
	pipe for SIGCHLD notifications.
	(child_signal_read, child_signal_notify): New helper functions to
	read from/write to the child signal pipe.
	(create_process): Initialize the child signal pipe on first use.
	(handle_child_signal): Notify waiters that a process status has
	changed.
	(wait_reading_process_output): Make sure that we also catch
	SIGCHLD/process status changes.

	* test/src/process-tests.el
	(process-tests/fd-setsize-no-crash/make-process): Remove workaround,
	which is no longer needed.

2021-01-16  Eli Zaretskii  <eliz@gnu.org>

	Fix Rmail summary for more than 99,999 messages

	* lisp/mail/rmailsum.el (rmail-summary-font-lock-keywords): Don't
	assume there will be less than 100,000 messages in an mbox file.
	(Bug#45912)

2021-01-16  Eli Zaretskii  <eliz@gnu.org>

	Fix two tests

	* test/lisp/progmodes/elisp-mode-tests.el (xref-elisp-test-run):
	Make sure file names can be compared as strings, by running them
	through 'file-truename'.  Reported by Vin Shelton
	<acs@alumni.princeton.edu>.
	* test/lisp/emacs-lisp/bytecomp-tests.el ("warn-obsolete-hook.el")
	("warn-obsolete-variable.el"): Use [^z-a] to match a newline as
	well.  Reported by Vin Shelton <acs@alumni.princeton.edu>.

2021-01-16  Ted Zlatanov  <tzz@lifelogs.com>

	test/infra/gitlab-ci.yml: run only for tags and some branches

2021-01-16  Eli Zaretskii  <eliz@gnu.org>

	Improve support for Cham script

	* lisp/language/cham.el ("Cham"): Expand the entry.

	* etc/HELLO: Add entry for Cham.

2021-01-16  Ted Zlatanov  <tzz@lifelogs.com>

	EMBA container build improvements for Emacs build testing.

	* test/infra/gitlab-ci.yml: Moved from .gitlab-ci.yml. Use the
	EMBA container registry with a different login token storage file
	for each commit. Split test stages into prep, build, fast tests,
	normal tests, platform tests, and slow (everything) and use
	templates where possible.

	* .gitlab-ci.yml: Include test/infra/gitlab-ci.yml and move all
	content there.

2021-01-16  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* src/frame.c (Fset_mouse_position, Fset_mouse_pixel_position):
	Don't compile the FRAME_MSDOS_P case on platforms other than
	MSDOS, as that will never happen there.

2021-01-16  Jared Finder  <jared@finder.org>

	Make mouse-related calls be more consistent on all frame types

	* src/frame.c (Fset_mouse_position, Fset_mouse_pixel_position): Call
	Fselect_frame and appropriate mouse_moveto function on all non-GUI
	frame types, independent of #ifdef's.
	* src/term.c (init_tty): Initialize mouse_face_window for all
	non-GUI frame types.
	(term_mouse_moveto) [HAVE_GPM]: Make available even if
	HAVE_WINDOW_SYSTEM is defined.
	* src/xdisp.c (try_window_id): Call gui_clear_window_mouse_face
	in all cases.

2021-01-16  Philip Brown  <pdbrown.git@gmail.com>  (tiny change)

	* Set `backtrace-line-length' in async worker processes

	Philip Brown <pdbrown.git@gmail.com>

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Set
	backtrace-line-length in async worker processes.

2021-01-16  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into native-comp

2021-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/frame.el Don't activate `blink-cursor-idle-timer` needlessly.

	(blink-cursor-mode): Use `blink-cursor-check` rather than
	`blink-cursor--start-idle-timer` so we check for the presence of
	a frame where the cursor can be blinked before activating the idle timer.

2021-01-16  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Change default-directory before prompting in project-compile

	This causes command completion to work from the project root, letting
	users complete top-level folders, make targets, etc (bug#45765).

	* lisp/progmodes/project.el (project-compile): Simplify using
	call-interactively, as done with project(-async)-shell-command.

2021-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/dispnew.c (sit_for): Return nil when interrupted by process output

	Before adbb4eacc2a984c0fc0b65ec761368fd9067d6c5,
	`read_and_dispose_of_process_output` called
	`record_asynch_buffer_change` which added "artificial" input events
	(in the form of BUFFER_SWITCH_EVENTs), causing sit_for to return
	Qnil when interrupted by process output.  Without those BUFFER_SWITCH_EVENTs,
	sit_for now tends to return Qt when interrupted by process output
	making `read_char` believe that we've waited the whole timeout,
	As consequence incoming process output tended to cause premature
	auto-saving of files (sometimes right after almost every key press).

	This patch recovers the previous behavior, which is not ideal
	(incoming process output can delay auto-save indefinitely), but has
	been good enough for many years.

2021-01-15  Phillip Lord  <phillip.lord@russet.org.uk>

	Remove support for 32 bit build

	* admin/nt/dist-build/README-scripts: Update
	* admin/nt/dist-build/README-windows-binaries: Update
	* admin/nt/dist-build/build-zips.sh: Remove 32 bit and fix paths
	* admin/nt/dist-build/build-dep-zips.py: Remove 32 bit and update
	  paths
	* admin/nt/dist-build/emacs.nsi: Remove 32 bit and fix paths

2021-01-15  Phillip Lord  <phillip.lord@russet.org.uk>

	Update dependency capture

	* admin/nt/dist-build/build-dep-zips.py: Use ntldd to directly
	  determine DLL dependencies

2021-01-15  Stephen Leake  <stephen_leake@stephe-leake.org>

	* .gitignore: add src/fingerprint.c

	* lisp/dired-x.el (dired-file-name-at-point): Fix spelling in obsolete
	message.

2021-01-15  Aaron Jensen  <aaronjensen@gmail.com>

	Fix 'window-text-pixel-size' when there are leading/trailing spaces

	First, scan to find the first non-whitespace character and then
	backtrack to find the beginning of the line.  The previous
	algorithm always started on the non-whitespace character during
	the backtrack, causing it to stop immediately and not actually
	find the beginning of the line.  The same applies to the end of
	line calculation.
	* src/xdisp.c: (Fwindow_text_pixel_size): Fix off by one error.
	(Bug#45748)

	* test/src/xdisp-tests.el (xdisp-tests--window-text-pixel-size)
	(xdisp-tests--window-text-pixel-size-leading-space)
	(xdisp-tests--window-text-pixel-size-trailing-space): New tests.

2021-01-15  Jared Finder  <jared@finder.org>

	Make libraries works with xterm-mouse-mode.

	Change calls from 'read-event' to 'read-key' in libraries expecting
	mouse events.  Do this only when 'xterm-mouse-mode' is enabled.  That
	way those libraries read decoded mouse events instead of the
	underlying escape sequence.  Add a parameter to 'read-key' that avoids
	running any of the unbound fallbacks in 'read-key-sequence' so the
	libraries can read mouse button-down events.

	For backward compatibility purposes, the above logic is contained in a
	new internal-only function: 'read--potential-mouse-event'.

	* doc/lispref/commands.texi (Reading One Event): Document new
	parameter to 'read-key'.  Mention that non-character events on
	terminals need 'read-key'.
	* lisp/subr.el (read-key-full-map): Add new keymap used by 'read-key'.
	(read-key): Add new parameter 'fallbacks-disabled' to prevent running
	any of the unbound fallbacks normally run by 'read-key-sequence'.
	(read--potential-mouse-event): Add new function that calls 'read-key'
	or 'read-event' depending on if 'xterm-mouse-mode' is set.
	* lisp/foldout.el (foldout-mouse-swallow-events):
	* lisp/isearch.el (isearch-pre-command-hook):
	* lisp/mouse-drag.el (mouse-drag-throw, mouse-drag-drag):
	* lisp/mouse.el (mouse-drag-secondary):
	* lisp/ruler-mode.el (ruler-mode-mouse-grab-any-column)
	(ruler-mode-mouse-drag-any-column-iteration):
	* lisp/strokes.el (strokes-read-stroke, strokes-read-complex-stroke):
	* lisp/textmodes/artist.el (artist-mouse-draw-continously)
	(artist-mouse-draw-poly, artist-mouse-draw-2points):
	* lisp/vc/ediff-wind.el (ediff-get-window-by-clicking):
	* lisp/wid-edit.el (widget-button--check-and-call-button)
	(widget-button-click): Call 'read--potential-mouse-event' instead of
	'read-event'.
	* lisp/wid-edit.el (widget-key-sequence-read-event): Call 'read-key'
	with 'fallbacks-disabled' set instead of 'read-event'.  Unlike above
	changes, this is unconditionally applied so it works for function
	keys too.  Apply 'local-function-key-map' instead of
	'function-key-map' as that contains the full terminal translations.
	* lisp/vc/ediff.el (ediff-windows): Use 'display-mouse-p' to check if
	a mouse is available.
	* src/lread.c (Fread_event): Recommend 'read-key' in docstring for
	'read-event' for non-character events.

2021-01-15  Michael Albinus  <michael.albinus@gmx.de>

	Some Tramp adaptions, mainly direct async processes

	* doc/misc/tramp.texi (Firewalls, Remote processes)
	(Frequently Asked Questions): Add @vindex.
	(Predefined connection information): Precise precondition or direct
	async processes.
	(Remote shell setup): Ban ssh RemoteCommand option.
	(Frequently Asked Questions): Adapt quoting.

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.5.1-pre".

	* lisp/net/tramp-adb.el (tramp-methods) <adb>: Add `tramp-direct-async'
	parameter.
	(tramp-adb-handle-make-process): Adapt docstring.

	* lisp/net/tramp-sh.el (tramp-methods) <scp, scpx, rsync, ssh, sshx>:
	Add `tramp-direct-async' parameter.
	(tramp-sh-handle-insert-directory): Simplify merkers.
	(tramp-sh-handle-make-process): Adapt docstring.

	* lisp/net/tramp.el (tramp-methods): Adapt docstring.
	(tramp-debug-message): Suppress lockfiles.
	(tramp-test-message): New defun.
	(tramp-direct-async-process-p): Check also for `tramp-direct-async'.
	(tramp-handle-make-process): Do not check for `tramp-direct-async-args'.

	* test/lisp/net/tramp-tests.el (all): Replace `string-match' by
	`string-match-p'.
	(dired-copy-dereference): Declare.
	(tramp-test-temporary-file-directory):
	Remove `tramp-direct-async-args` for mock method.
	(tramp-test15-copy-directory, tramp-test40-special-characters)
	(tramp-test40-special-characters-with-stat)
	(tramp-test40-special-characters-with-perl)
	(tramp-test40-special-characters-with-ls, tramp-test41-utf8)
	(tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
	(tramp-test41-utf8-with-ls): Skip for tramp-rclone.el.
	(tramp--test--deftest-direct-async-process): Do not skip for mock
	method.
	(tramp-test32-shell-command): Adapt test for direct async processes.
	(tramp-test36-vc-registered, tramp--test-hpux-p, tramp--test-ksh-p):
	Use `tramp-test-vec'.

2021-01-15  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/seq.el (seq-concatenate): Unautoload (merge fix).

	gitmerge-skip-regexp does not handle line breaks.

2021-01-15  Eli Zaretskii  <eliz@gnu.org>

	Fix 'kill-visual-line'

	* lisp/simple.el (kill-whole-line): Mention in the doc string that
	this option affects 'kill-visual-line' as well.
	(kill-visual-line): Improve the doc string.  Delete the character
	at which the line was wrapped under 'visual-line-mode'.  Don't
	indiscriminately delete whitespace following the wrap point.
	(Bug#45837)

2021-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/startup.el (command-line): Remove redundant set of no-blinking-cursor

	This is redundant because this was set based on "X" resources under
	(memq window-system '(x w32 ns)) but the exact same resources and
	values are tested in `x-apply-session-resources` which is also used for
	those 3 window systems.

2021-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/startup.el (command-line): Remove redundant set of no-blinking-cursor

	This was set when (or noninteractive emacs-basic-display), but
	the code that sets `emacs-basic-display` also sets `no-blinking-cursor`
	and `blink-cursor-mode`s value already tests `noninteractive`
	alongside `no-blinking-cursor`.

2021-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix marking "delayed-initialization" vars as dynamically scoped

	We used to mark those vars as dynbound in `custom-reevaluate-setting`
	which forced us to bind `current-load-list` around it to avoid having
	the vars be associated with the wrong file.  Move this marking to
	`custom-initialize-delay` so we don't need this workaround.

	* lisp/custom.el (custom-initialize-delay): Mark the var as dynamic.
	(custom-reevaluate-setting): Don't use `defvar` here.

	* lisp/startup.el (command-line): Don't let-bind `current-load-list`
	around calls to `custom-reevaluate-setting`.

2021-01-14  Andrea Corallo  <akrl@sdf.org>

	Normalize `comp-eln-load-path' entries for trampoline comp (bug#43475)

	* lisp/emacs-lisp/comp.el (comp-eln-load-path-eff): New function.
	(comp-trampoline-search, comp-trampoline-compile)
	(comp-clean-up-stale-eln): Update to use normalized
	`comp-eln-load-path-eff'.

2021-01-14  Andrea Corallo  <akrl@sdf.org>

	Introduce native compilation time reports

	* lisp/emacs-lisp/comp.el (comp-log-time-report): New special
	variable.
	(comp--native-compile): Rework to log time reports.

2021-01-14  Juri Linkov  <juri@linkov.net>

	* lisp/info.el (Info-search): Don't deactivate mark when landed in same node

	(bug#45839)

2021-01-14  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	488204cdc6 (origin/emacs-27) Remove one of recently added warnings ab...
	55bc1560ac Fix assertion failure in window_box_height (Bug#45737)
	27743e9e70 Fix cl-concatenate inlining
	32a3758c84 Fix infloop in 'pixel-scroll-mode'
	74d18957b8 Fix inhibiting the default.el loading in user init file

2021-01-14  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	149d64bbb2 * doc/misc/tramp.texi (Quick Start Guide): Fix thinko.
	97747e6fb9 Tell people how to remove fontconfig customizations
	33d0c603c6 ; * doc/lispref/modes.texi (SMIE Indentation Example): Fix...
	03080b5545 Remove extraneous closing paren

2021-01-14  Ted Zlatanov  <tzz@lifelogs.com>

	EMBA infrastructure improvements for Emacs build testing.

	* .gitlab-ci.yml: Use job templates and rules. Split tests into
	fast/normal/slow. Make Docker images for each tested platform
	(inotify, filenotify-gio, gnustep). Increase timeout.
	* test/Makefile.in (check-lisp, check-net): Add new testing
	targets.
	* test/README: Document them.
	* test/file-organization.org: Mention test/infra.
	* test/infra/Dockerfile.emba: Add special Docker recipes for EMBA
	testing.

2021-01-13  Juri Linkov  <juri@linkov.net>

	Remove one of recently added warnings abound binding keys in Isearch maps

	* lisp/isearch.el (minibuffer-local-isearch-map): Remove comments
	which warn against wantonly rebinding unbound keys from
	irrelevant keymap.
	https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00259.html

2021-01-13  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el: C-s C-u M-y reads a string from the kill-ring minibuffer

	* lisp/isearch.el (isearch-yank-from-kill-ring): New command
	with code moved from isearch-yank-pop.
	(isearch-yank-pop): Use isearch-yank-from-kill-ring.
	(isearch-yank-pop-only): Add optional arg, and call
	isearch-yank-from-kill-ring when the prefix arg is C-u.
	https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00089.html

2021-01-13  Stefan Kangas  <stefan@marxist.se>

	Lift {global,local}-key-binding to Lisp

	* lisp/subr.el (local-key-binding, global-key-binding): New defuns.
	* src/keymap.c (Flocal_key_binding, Fglobal_key_binding): Remove DEFUNs.
	(syms_of_keymap): Remove defsubrs for above DEFUNs.
	* test/lisp/subr-tests.el (subr-test-local-key-binding)
	(subr-test-global-key-binding): New tests.

2021-01-13  Stefan Kangas  <stefan@marxist.se>

	Prefer skip-unless in more tests

	* test/lisp/emacs-lisp/timer-tests.el (timer-tests-debug-timer-check):
	* test/src/decompress-tests.el (zlib--decompress):
	* test/src/xml-tests.el (libxml-tests): Prefer skip-unless.

2021-01-13  Eli Zaretskii  <eliz@gnu.org>

	Fix 'visual-line-mode' when 'word-wrap-by-category' is in effect

	* src/xdisp.c (move_it_in_display_line_to): Don't reset
	next_may_wrap after saving a potential wrap point.  This fixes the
	case where several characters in a row can serve as a wrap point.
	(Bug#45837)

2021-01-13  Stefan Kangas  <stefan@marxist.se>

	Use skip-unless instead of if+message in test

	* test/lisp/cedet/semantic-utest.el (semantic-utest-Javascript):
	Use skip-unless instead of if+message.

2021-01-13  Stefan Kangas  <stefan@marxist.se>

	Remove some XEmacs compat code from tests

	* test/lisp/cedet/srecode-utest-getset.el
	(srecode-utest-getset-output):
	* test/lisp/cedet/srecode-utest-template.el
	(srecode-utest-template-output): Remove XEmacs compat code.

2021-01-13  Stefan Kangas  <stefan@marxist.se>

	* lisp/calc/calc.el: Remove some XEmacs compat code.

2021-01-13  Mattias Engdegård  <mattiase@acm.org>

	Stabilise lunar-phase-list test (bug#45818)

	The test reference data was produced with accidental interference from
	the system daylight saving in effect at the time.  Prevent that
	from occurring again and correct the data.

	* test/lisp/calendar/lunar-tests.el (with-lunar-test):
	Switch to UTC and make sure daylight saving adjustment is disabled.
	Use normal time presentation for maintainability.
	* test/lisp/calendar/lunar-tests.el (lunar-test-phase): Adjust to UTC.
	(lunar-test-phase-list): Adjust to UTC with correct times.
	Enable the test by removing its :unstable mark.

2021-01-12  Mattias Engdegård  <mattiase@acm.org>

	Fix Indian time zone test when run by Irishmen (bug#45818)

	* test/lisp/calendar/solar-tests.el (solar-sunrise-sunset):
	Inhibit any attempt by confused calendar code to apply daylight saving
	correction when Irish time zone settings are in effect.  It's not
	entirely clear why this is needed but may be related to the fact that
	'IST' stands for both Irish and Indian Standard Time, and that Ireland
	uses reversed daylight saving in winter.

2021-01-12  Omar Polo  <op@omarpolo.com>

	* configure.ac: Fix native-comp OpenBSD build.

2021-01-12  Robert Pluim  <rpluim@gmail.com>

	Only run IPv6 tests if we have an IPv6 address

	* test/src/process-tests.el (ipv6-is-available): New function for
	checking whether we have a globally routable IPv6 prefix assigned.
	(lookup-family-specification): Use 'ipv6-is-available' to check for
	IPv6.  Use 'localhost' instead of 'google.com' to test
	'network-lookup-address-info' API.
	(lookup-google): Use 'ipv6-is-available' to check for
	IPv6.

	* test/lisp/net/nsm-tests.el (nsm-ipv6-is-available): Rename to
	'ipv6-is-available', make identical to the one in
	test/src/process-tests.el.

2021-01-12  Robert Pluim  <rpluim@gmail.com>

	Fix nsm-should-check for "google.com" failure

	* lisp/net/nsm.el (nsm-should-check): Extract the mask from
	'network-interface-list' rather than the broadcast
	address (Bug#45798).

2021-01-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new function 'buffer-line-statistics'

	* src/fns.c (Fbuffer_line_statistics): New function.

2021-01-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new variable `inhibit-interaction'

	* doc/lispref/elisp.texi (Top): Add a link.
	* doc/lispref/errors.texi (Standard Errors): Mention the new error.

	* doc/lispref/minibuf.texi (Minibuffers): Add a link.
	(Inhibiting Interaction): New node.

	* src/data.c (syms_of_data): Define the `inhibited-interaction' error.

	* src/lisp.h: Export the barfing function.

	* src/lread.c (Fread_char, Fread_event, Fread_char_exclusive):
	Barf if inhibited.

	* src/minibuf.c (barf_if_interaction_inhibited): New function.
	(Fread_from_minibuffer, Fread_no_blanks_input): Barf if inhibited.
	(syms_of_minibuf): Define the `inhibit-interaction' variable.

2021-01-12  Glenn Morris  <rgm@gnu.org>

	Update substitute-command-keys tests, again

	* test/lisp/help-tests.el (help-tests-substitute-command-keys/keymaps)
	(help-tests-substitute-command-keys/keymap-change):
	Update following recent minibuffer changes.

2021-01-12  Brian Leung  <leungbk@mailfence.com>

	comint-read-input-ring: Simplify last commit

	* lisp/comint.el (comint-read-input-ring): It is not necessary to use
	  `goto-char' again since we have already moved point to the desired
	  location (bug#45797).

2021-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/eieio-base.el: Silence warnings in last change

	(eieio-persistent-make-instance): Quote the `eieio-named` class name.
	(eieio-named): Move before `eieio-persistent`.

2021-01-11  Eric Ludlam  <zappo@gnu.org>

	cedet/ede/auto.el:

	(ede-calc-fromconfig): New method.  Support functions in addition to
	string matchers.
	(ede-dirmatch-installed, ede-do-dirmatch):
	Use `ede-calc-fromconfig' to do conversion.
	Author: Eric Ludlam <zappo@gnu.org>

2021-01-11  Eric Ludlam  <zappo@gnu.org>

	eieio-base.el:

	(eieio-persistent-make-instance): Save the backward compatible 'name'
	of objects saved in the file, and if the newly loaded class inherits
	from 'eieio-named', restore the name of the object.
	Author: Eric Ludlam <zappo@gnu.org>

2021-01-11  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix possible prepending of "TEXT" to IMAP searches

	* lisp/gnus/gnus-search.el (gnus-search-imap-search-keys): Add missing
	keys "old", "new", "or" and "not".
	(gnus-search-run-search): In addition, don't touch the query if it
	starts with a parenthesis. Consider just getting rid of this
	convenience altogether.

2021-01-11  Stephen Leake  <stephen_leake@stephe-leake.org>

	* admin/notes/elpa: Update to match recent Gnu ELPA changes

2021-01-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark previous erc-services change as not needing documentation

2021-01-11  Brian Leung  <leungbk@mailfence.com>

	Make comint-read-input-ring skip uninteresting text in .zsh_history

	* lisp/comint.el (comint-read-input-ring): Simplify (bug#45606).
	* lisp/shell.el (shell-mode): Add "~/.zsh_history".
	* lisp/comint.el (comint-read-input-ring): Bind
	`comint-input-ring-file-prefix' in anticipation of a buffer switch.
	* lisp/comint.el (comint-read-input-ring): Skip the separator.

	Because re-search-backward moves point to the beginning of the match,
	and since we don't want the separator appearing in the output, we skip
	over it.

	This is required to properly detect instances of the value that zsh
	uses for `comint-input-ring-file-prefix'; if the
	`comint-input-ring-file-prefix' is ':potato', the subsequent
	invocation `looking-at' sees '\n:potato' for all entries after the one
	at the very beginning of the history file.

2021-01-11  Anticrisis  <anticrisisg@gmail.com>  (tiny change)

	Add a failing test for bug#44834

	* test/lisp/progmodes/tcl-tests.el (tcl-mode-namespace-indent-2):
	New, failing test (bug#44834).
	(tcl-mode-function-name-2):
	(tcl-mode-function-name-3): Fix names of the tests so that they're
	actually run.

2021-01-11  Leon Vack  <dev@lgcl.de>

	Support using auth-source for NickServ passwords in ERC

	* lisp/erc/erc-services.el (erc-nickserv-passwords): Document that
	the passwords are only used when erc-prompt-for-nickserv-password
	is nil.
	(erc-use-auth-source-for-nickserv-password): New customizable
	variable to enable checking auth-source for NickServ passwords.
	(etc-nickserv-get-password): New function to handle the lookup
	of the NickServ password from both auth-source and the
	erc-nickserv-passwords variable.
	(erc-nickserv-call-identify-function): Use new
	erc-nickserv-get-password function to lookup NickServ passwords.
	(erc-nickserv-identify-autodetect)
	(erc-nickserv-identify-on-connect)
	(erc-nickserv-identify-on-nick-change): Call
	erc-nickserv-call-identify-function when
	erc-use-auth-source-for-nickserv-password is set.
	* etc/NEWS: Document change (bug#45340).

2021-01-11  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)

	Fix problem with non-ASCII characters in nnmaildir

	* lisp/gnus/nnmaildir.el (nnmaildir-request-article): Enable
	multipart 8bit-content-transfer-encoded files to be displayed
	correctly by reading as `raw-text' instead of having Emacs
	(incorrectly) decode the files (bug#44307).

2021-01-11  Pedro Andres Aranda Gutierrez  <paaguti@gmail.com>

	Add `flat-button' to custom-face-attributes

	* lisp/cus-face.el (custom-face-attributes): Add `flat-button'
	(bug#45769).

2021-01-11  Robert Pluim  <rpluim@gmail.com>

	* configure.ac: Alphabetize emacs_config_features

2021-01-11  Robert Pluim  <rpluim@gmail.com>

	Ensure HAVE_GMP is reflected in emacs_config_features

	* configure.ac: Move HAVE_GMP setting before emacs_config_features
	setting (Bug#45771).

2021-01-10  Dmitry Gutov  <dgutov@yandex.ru>

	New command xref-quit-and-pop-marker-stack

	* lisp/progmodes/xref.el (xref-quit-and-pop-marker-stack):
	New command.
	(xref--xref-buffer-mode-map): Binding for it.

2021-01-10  Phillip Lord  <phillip.lord@russet.org.uk>

	Allow evaluation of tests from local source repository

	* etc/w32-feature.el (w32-feature-load-tests): Add new command

2021-01-10  Philipp Stephani  <phst@google.com>

	Fix build breakage if Lisp_Object is not a primitive type.

	* src/minibuf.c (choose_minibuf_frame): Don't compare Lisp_Objects
	with '!='.  Use 'EQ' instead.

2021-01-10  Philipp Stephani  <phst@google.com>

	Add functions to open a file without quitting.

	In some situations, e.g. when the Lisp machinery isn't available, we
	can't quit.  Don't check the quit flags in such situations, in case
	they contain garbage.

	* src/sysdep.c (emacs_open_noquit, emacs_openat_noquit): New variants
	of 'emacs_open' and 'emacs_openat' that don't check the quit flags.

	* src/emacs.c (main, Fdaemon_initialized):
	* src/pdumper.c (pdumper_load):
	* src/w32term.c (w32_initialize):
	* src/buffer.c (mmap_init):
	* src/callproc.c (emacs_spawn): Use them where we can't quit.

2021-01-10  Alan Mackenzie  <acm@muc.de>

	Fix incompleteness in the implementation of minibuffer-follows-selected-frame

	In particular, add a new value to the variable, and fix several bugs apparent
	with the implementation up till now.

	* doc/emacs/mini.texi (Basic Minibuffer): Add a description of the new
	non-nil, non-t value of minibuffer-follows-selected-frame.

	* doc/emacs/trouble.texi (Quitting): Add a description of how C-g handles
	recursive minibuffers when typed in one which isn't the most nested.

	* doc/lispref/minibuf.texi (Intro to Minibuffers): Add an @dfn for "active
	minibuffer".
	(Minibuffer Commands): Document that exit-minibuffer throws an error when not
	invoked from the innermost Minibuffer.
	(Recursive Mini): Amend the description of the visibility of outer level
	minibuffers.
	(Minibuffer Misc): In the description of the minibuffer hooks, replace "the
	minibuffer" with "a minibuffer".

	* etc/NEWS (Entry announcing minibuffer-follows-selected-frame): Add a
	description of the new non-nil, non-t value.

	* lisp/cus-start.el (top level): make the customize entry for
	minibuffer-follows-selected-frame a choice between three entries.

	* lisp/minibuffer.el (exit-minibuffer): throw an error when we're not in the
	most nested minibuffer.
	(top level): Bind C-g to abort-minibuffers in minibuffer-local-map.

	* lisp/window.el (window-deletable-p): return the symbol `frame' when (amongst
	other things) minibuffer-follows-selected-frame is t.

	* src/eval.c (internal_catch): Add a mechanism to (throw 'exit t) repeatedly
	when the throw currently being processed doesn't terminate the current
	minibuffer.

	* src/lisp.h (this_minibuffer_depth): New extern declaration
	(minibuf_level): extern declaration moved here from window.h.

	* src/minibuf.c (minibuffer_follows_frame, minibuf_stays_put)
	(minibuf_moves_frame_when_opened): New and amended functions to query the
	value of minibuffer-follows-selected-frame.
	(choose_minibuf_frame): check (minibuf > 1) in place of (minibufer > 0) at a
	particular place.  At another place, check that an alleged frame is so and is
	live.  Before selecting a non-miniwindow on a different frame, ensure it
	really is a different frame.
	(move_minibuffer_onto_frame): Stack up all recursive minibuffers on the target
	frame.  Check the minibuf_window isn't in the old frame before setting that
	frame's miniwindow to an inactive minibuffer.
	(Finnermost_minibuffer_p, Fabort_minibuffers): New primitives.
	(this_minibuffer_depth): New function.
	(read_minibuf): Record the calling frame in a variable, and switch back to it
	after the recursive edit has terminated normally, using
	select-frame-set-input-focus.  Stack up all the recursive minibuffers on the
	miniwindow where a new minibuffer is being opened.  After the recursive edit,
	switch the selected window away from the expired minibuffer's window.
	(nth_minibuffer): New function.
	(minibuffer-follows-selected-frame): Change from a DEFVAR_BOOL to a
	DEFVAR_LISP.

	* src/window.c (decode_next_window_args): Set *minibuf to w's mini-window's
	content when that content is a minibuffer.

	* src/window.h (minibuf_level) Declaration moved from here to lisp.h.

2021-01-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Respect message-forward-ignored-headers more

	* lisp/gnus/message.el (message-forward-ignored-headers): Clarify
	doc string once again.
	(message-forward-make-body-mime): Remove headers when not
	encrypted (bug#45631).
	(message-forward-make-body): Pass in correct values.

2021-01-10  Glenn Morris  <rgm@gnu.org>

	Default python-shell-interpreter to python3

	* lisp/progmodes/python.el (python-shell-interpreter): Default to
	python3 (bug#45655).

2021-01-10  David Edmondson  <dme@dme.org>

	Fix example in the Gnus manual

	* doc/misc/gnus.texi (Score Variables): In the example showing how to
	use a list of functions for gnus-score-find-score-files-find-function,
	return a list of strings from the lambda rather than trying to call
	the string as a function (bug#45673).

2021-01-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Specify precedence in .authinfo files

	* doc/misc/auth.texi (Help for users): Mention placing more
	specific entries first (bug#45711).

2021-01-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve fill-region-as-paragraph when there's a fill prefix

	* lisp/textmodes/fill.el (fill-region-as-paragraph): Try to
	improve how line breaks are set on unbreakable text with a fill
	prefix area that has spaces within (bug#45720).

2021-01-10  k3tu0isui  <k3tu0isui@gmail.com>  (tiny change)

	Make font locking work in mercury-mode

	* lisp/progmodes/prolog.el (prolog-font-lock-keywords): Work in
	all modes derived from prolog-mode (bug#45747).
	(mercury-mode): Set up variables based on the Prolog system (bug#45747).

2021-01-10  Basil L. Contovounesios  <contovob@tcd.ie>

	Hyperlink symbol names without word syntax in Help

	* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
	(lisp-cl-font-lock-keywords-2): Allow single-character symbol names.
	* lisp/help-mode.el (help-xref-symbol-regexp): Also match symbol
	names starting with symbol syntax (bug#6601, bug#24309).
	* test/lisp/help-mode-tests.el (help-mode-tests-xref-button): Test
	hyperlink creation for function names without symbol syntax.

2021-01-10  Omar Polo  <op@omarpolo.com>

	Add support for 'process-attributes' on OpenBSD

	* src/sysdep.c (make_lisp_timeval):
	(system_process_attributes): Implement for OpenBSD (bug#45729).

2021-01-10  Pedro Andres Aranda Gutierrez  <paaguti@gmail.com>  (tiny change)

	Add support for flat buttons

	* src/xfaces.c (Finternal_set_lisp_face_attribute):
	(realize_gui_face): Add support for `flat-button' (bug#45735).

2021-01-10  Daniel Martín  <mardani29@yahoo.es>

	Minor shortdoc link improvements

	* lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Use
	describe-function as a fallback link when a function is not documented
	in any Info manual.  Also make the link respond to mouse-1, like the
	rest of *Help* links, and add a proper help-echo property.
	* lisp/help-fns.el (help-fns--mention-shortdoc-groups): Same link
	improvement as described before, this time for the shortdoc groups
	(bug#45750).

2021-01-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a link to the manual from the defcustom doc string

	* lisp/custom.el (defcustom): Add a link to the manual for the
	:type element.

2021-01-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert recent mm-with-part change

	* lisp/gnus/mm-decode.el (mm-with-part): Revert
	23a887e426f81033b0de2f4c93a8525cb31c28da -- this is the wrong
	place to handle this peculiarity.

2021-01-10  Michael Albinus  <michael.albinus@gmx.de>

	Rework parts of Tramp's insert-directory, bug#45691

	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Fix some
	unibyte/multibyte inconsistencies.  (Bug#45691)

	* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory-one-file):
	New test.

2021-01-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more mm-decode tests

2021-01-10  Stefan Kangas  <stefan@marxist.se>

	* lisp/subr.el (global-map): Doc fix; add cross-reference.

2021-01-10  F. Jason Park  <jp@neverwas.me>

	Create new test file for socks.el

	* test/lisp/net/socks-tests.el (socks-tests-auth-filter-url-http): Add
	SOCKS5 authentication test and fake server (bug#45162).

2021-01-10  Martin Rudalics  <rudalics@gmx.at>

	Fix assertion failure in window_box_height (Bug#45737)

	* lisp/window.el (window-sizable): Don't try to grow a mini window
	when the root window's minimum height is already larger than its
	actual height (Bug#45737).

2021-01-10  Philipp Stephani  <phst@google.com>

	Increase probability that a process test succeeds.

	* test/src/process-tests.el
	(process-tests/fd-setsize-no-crash/make-process): Work around
	potential Emacs bug.

2021-01-10  Philipp Stephani  <phst@google.com>

	Remove a pointless check for WCOREDUMPED.

	WCOREDUMPED can only be used if the process was killed.

	* src/process.c (status_convert): Don't check WCOREDUMPED if
	WIFEXITED.

2021-01-10  Tassilo Horn  <tsdh@gnu.org>

	Support keyval style beamer frame labels

	* lisp/textmodes/reftex-vars.el (reftex-label-regexps): Support keyval
	style beamer frame labels.

2021-01-10  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Remove reference to gnus-bug-create-help-buffer

	* lisp/gnus/gnus-win.el (gnus-buffer-configuration): Variable no
	longer exists.

2021-01-09  Philipp Stephani  <phst@google.com>

	Don't unblock SIGCHLD too early.

	We first need to register the received process ID so that
	'handle_child_signal' checks it.  Otherwise we might never call
	'waitpid' for these processes, risking deadlock.

	* src/callproc.c (call_process):
	* src/process.c (create_process): Don't unblock SIGCHLD before
	registering the process ID to wait for.

	* src/callproc.c (emacs_spawn): Accept a signal set from the caller.

2021-01-09  João Távora  <joaotavora@gmail.com>

	Count Flymake diagnostics in modeline by severity, not type

	Originally reported in https://github.com/joaotavora/eglot/issues/588
	by Pankaj Jangid.

	* lisp/progmodes/flymake.el (flymake--mode-line-counter): Count
	diagnostics by severity level, not by type.
	(Version): Bump to 1.1.1

2021-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Fix build of gnus-agent.el

	Don't burp on "naked" variable let bindings.

2021-01-09  Andrea Corallo  <akrl@sdf.org>

	Improve `comp-libgccjit-reproducer'

	* src/comp.c (Fcomp__compile_ctxt_to_file): Better libgccjit
	reproducer file name.
	* lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): Doc update.
	(comp-final, comp-run-async-workers): Pass
	`comp-libgccjit-reproducer' setting to child workers.

2021-01-09  Eli Zaretskii  <eliz@gnu.org>

	Fix cl-concatenate use in macros

	* lisp/emacs-lisp/cl-macs.el (inline): Remove cl-concatenate.
	(Bug#45610)

2021-01-09  Eli Zaretskii  <eliz@gnu.org>

	Fix cl-concatenate inlining

	* lisp/emacs-lisp/seq.el (seq-concatenate): Auto-load it.  Do not
	merge to master.  (Bug#45610)

2021-01-09  Andrea Corallo  <akrl@sdf.org>

	Add new customize `comp-libgccjit-reproducer'

	* lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): New customize.
	* src/comp.c (Fcomp__compile_ctxt_to_file): Use
	`comp-libgccjit-reproducer' for dumping repoducer.
	(syms_of_comp): Define 'Qcomp_libgccjit_reproducer'.

2021-01-09  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Fix infloop in 'pixel-scroll-mode'

	* lisp/pixel-scroll.el (pixel-scroll-up, pixel-scroll-down): Avoid
	inflooping when 'vertical-motion' doesn't move.  (Bug#45628)

2021-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el: Optimize self-calls in tail position

	Implement a limited form of tail-call optimization for the special
	case of recursive functions defined with `cl-labels`.  Only self-recursion
	is optimized, no attempt is made to handle more complex cases such a mutual
	recursion.

	The main benefit is to reduce the use of the stack, tho in my limited
	tests, this can also improve performance (about half of the way to
	a hand-written `while` loop).

	(cl--self-tco): New function.
	(cl-labels): Use it.

	* lisp/subr.el (letrec): Optimize single-binding corner case.

	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): Add tests
	to check that TCO is working.

2021-01-09  Dmitry Gutov  <dgutov@yandex.ru>

	Make sure default-directory relates to the originating buffer

	* lisp/progmodes/xref.el (xref--show-xref-buffer):
	Pick up default-directory value from the caller
	(https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00551.html).
	(xref-show-definitions-buffer-at-bottom): Same.

2021-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (letrec): Optimize some non-recursive bindings

	* lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Look inside bytecode
	objects as well.

	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
	* test/lisp/subr-tests.el (subr--tests-letrec): New tests.

2021-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-generic.el (cl--generic-lambda): Fix last change

2021-01-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Rename from `pcase--fgrep`

	* lisp/emacs-lisp/cl-generic.el (cl--generic-fgrep): Delete.
	(cl--generic-lambda): Use `macroexp--pacse` instead.

	* lisp/emacs-lisp/pcase.el (pcase--fgrep): Rename to `macroexp--fgrep`.

2021-01-08  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2021-01-08  Stefan Kangas  <stefan@marxist.se>

	Merge recently added kbd tests

	* test/lisp/subr-tests.el (subr--kbd): Merge test...
	(subr-test-kbd): ...with this one.  Fix thinko in my previous commit.
	Thanks to Mattias Engdegård <mattiase@acm.org>.

2021-01-08  Stefan Kangas  <stefan@marxist.se>

	Lift define-prefix-command to Lisp

	* lisp/subr.el (define-prefix-command): New defun.
	* src/keymap.c (Fdefine_prefix_command): Remove DEFUN.
	(syms_of_keymap): Remove defsubr for Fdefine_prefix_command.
	* test/lisp/subr-tests.el (subr-test-define-prefix-command): New
	test.

2021-01-08  Stefan Kangas  <stefan@marxist.se>

	* test/lisp/subr-tests.el (subr-test-kbd): New test.

2021-01-08  Stefan Kangas  <stefan@marxist.se>

	Remove unused DEFSYM

	* src/minibuf.c (syms_of_minibuf) <Qhistory_length>: Remove unused
	DEFSYM.

2021-01-08  Eli Zaretskii  <eliz@gnu.org>

	Fix syntax of space characters

	* lisp/international/characters.el (tbl): Give all the space
	characters whose Unicode General Category is Zs the 'space'
	syntax.  (Bug#45660)

2021-01-08  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):

	Tag it :unstable on hydra.

2021-01-08  Eli Zaretskii  <eliz@gnu.org>

	Fix inhibiting the default.el loading in user init file

	* lisp/startup.el (startup--load-user-init-file): Test the value
	of 'inhibit-default-init', not just the LOAD-DEFAULTS argument,
	because loading the user's init file could have set the value of
	the former.
	(command-line): Call 'startup--load-user-init-file' with last arg
	t: there's no longer any need to test the value of
	'inhibit-default-init' here, as it will be tested by the called
	function.  (Bug#45708)

2021-01-07  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix typo.

2021-01-07  Andrea Corallo  <akrl@sdf.org>

	Add a type specifier test

	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add testcase.

2021-01-07  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Improve tab-bar-show (bug#45556)

	* lisp/tab-bar.el (tab-bar-show): Change :set lambda to update all frames.
	Improve docstring.

2021-01-07  Juri Linkov  <juri@linkov.net>

	* lisp/mb-depth.el (minibuffer-depth-indicator): Add :group 'minibuffer'.

2021-01-07  Stefan Kangas  <stefan@marxist.se>

	Remove an outdated comment

	* lisp/subr.el: Remove comment to reflect recent change in the
	definition of global-map, esc-map and ctl-x-map.

2021-01-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Further display-buffer doc changes

	* lisp/window.el (display-buffer): `display-buffer-alist' is
	apparently the variable the user should be directed towards.

2021-01-07  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/filenotify-tests.el (file-notify-test07-many-events-remote):

	Mark it as unstable also on emba.

2021-01-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a display-buffer window selection function that's more like XEmacs

	* doc/lispref/windows.texi (Buffer Display Action Functions):
	Document it.
	* lisp/window.el (display-buffer--action-function-custom-type): Add.
	(display-buffer): Mention it.
	(display-buffer-use-least-recent-window): New function (bug#45688).

	* src/window.c (Fwindow_bump_use_time): New function.

2021-01-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in last display-buffer doc string change

	* lisp/window.el (display-buffer): Fix typo in last doc string change.

2021-01-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Edit the display-buffer doc string slightly

	* lisp/window.el (display-buffer): Reword the start of the doc
	string (bug#45688).

2021-01-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add work-around for nnmaildir encoding problem

	* lisp/gnus/mm-decode.el (mm-with-part): Fix problem with
	multipart 8bit encoded posts from nnmaildir (bug#44307).

2021-01-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add tests for mm-decode.el

2021-01-07  F. Jason Park  <jp@neverwas.me>

	Clear socks protocol scratch after authentication

	* lisp/net/socks.el (socks-open-connection): Fix incomplete patch
	titled "Append incremental message segments in socks-filter," which
	addressed chunk ordering but neglected to zero out the work area
	following successful username/password authentication (bug#45162).

2021-01-07  Andreas Schwab  <schwab@linux-m68k.org>

	Fix quoting problem in pop3-uidl-save

	* lisp/net/pop3.el (pop3-uidl-save): Quote strings properly
	(bug#43896).

2021-01-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert mark-paragraph change and add tests

	* lisp/textmodes/paragraphs.el (mark-paragraph): Revert
	eb090f65ceb0ae8a90829e911694348583135ba5 (bug#45318).  This restores
	the behavior from Emacs 27 -- further work is needed on this patch.

2021-01-07  Michael Albinus  <michael.albinus@gmx.de>

	* test/Makefile.in (WRITE_LOG): Mark also problematic tests for emba.

2021-01-07  Glenn Morris  <rgm@gnu.org>

	Update a substitute-command-keys test

	* test/lisp/help-tests.el (help-tests-substitute-command-keys/keymaps):
	Update for "Pretty-print keys without <> around modifiers" change.

2021-01-06  Daniel Martín  <mardani29@yahoo.es>

	Fix some failing tests in BSD systems

	* test/lisp/progmodes/xref-tests.el
	(xref--xref-file-name-display-is-abs)
	(xref--xref-file-name-display-is-relative-to-project-root):
	Accommodate some older versions of BSD find
	(https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00156.html).

2021-01-06  Dmitry Gutov  <dgutov@yandex.ru>

	Proof some searches and file listings against symlinks

	* lisp/progmodes/project.el (project--files-in-directory):
	Make sure the directory includes the trailing slash in case it's
	a symlink, discussed in
	https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00345.html.

	* lisp/progmodes/xref.el (xref-matches-in-directory): Same.

	* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
	Same.

2021-01-06  Gabriel do Nascimento Ribeiro  <gabriel376@hotmail.com>  (tiny change)

	* lisp/mb-depth.el (minibuffer-depth-indicator): New face.

	(minibuffer-depth-setup): Use new face and add a single space between
	the depth indicator and the minibuffer prompt.
	https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00230.html

2021-01-06  Andrea Corallo  <akrl@sdf.org>

	Fix bug#45603

	Reported and reduced by Mauricio Collares.

	* lisp/emacs-lisp/comp.el (comp-final): Fix coding system for the
	tmp file used to pass data the child processes.
	* test/src/comp-tests.el (45603-1): New testcase
	* test/src/comp-resources/comp-test-45603.el: New File.

2021-01-06  Michael Heerdegen  <michael_heerdegen@web.de>

	Fix obsolete variable warnings about class names

	* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload): Try to make
	the wording of the warning about the obsoleted variable less confusing.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-check-variable): Don't
	warn for lexical variables (Bug#39169).  Fix spurious `or'.
	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp/warn-obsolete-variable-bound\.el): New test.
	* test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-bound.el:
	New file.

2021-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/play/dunnet.el: Run the game when loaded via `--batch -l dunnet`

	(dun--batch): Rename from `dun-batch` and don't autoload.
	(dunnet): Delegate to `dun--batch` when in batch mode.

2021-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package-activate-all): Another tweak

	`package-quickstart.el` files presume `package-activated-list`
	is a bound variable, so make sure this is the case even when `package.el` is
	not yet loaded.

2021-01-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/autoload.el: Improve last change

	It turns out there were other places that used `custom-initialize-delay`
	on autoloaded variables and used various hacks to make it work with
	`autoload.el`.  The new code makes those hacks unneeded.
	Also, there's no point trying to "optimize" those rare cases anyway,
	so I simplified the `autoload.el` code for those cases.

	(make-autoload): For non-trivial cases,
	just include the whole `defcustom` instead of trying to mimic it.

	* lisp/mail/rmail.el (rmail-spool-directory): Remove hacks.
	* lisp/info.el (Info-default-directory-list): Remove `progn` hack.

	* lisp/custom.el (custom-declare-variable)
	(custom-handle-all-keywords): Don't use pseudo-group `nil`.

2021-01-05  Alan Third  <alan@idiocy.org>

	Prevent stack overflow in GNUstep menu code

	* src/nsmenu.m (ns_update_menubar): Always do a deep update for
	GNUstep.
	([EmacsMenu menuNeedsUpdate:]): Don't update the menu as it should
	always have had a deep update.

2021-01-05  Juri Linkov  <juri@linkov.net>

	* lisp/subr.el (remove-hook): Add default value (bug#45393)

2021-01-05  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-tab-name-format-function): New defcustom.

	(tab-bar-tab-name-format-default): New function as the default value.
	(tab-bar-make-keymap-1): Funcall tab-bar-tab-name-format-function.

2021-01-05  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (toggle-frame-tab-bar): New command (bug#45556)

2021-01-05  James N. V. Cash  <james.nvc@gmail.com>  (tiny change)

	Refactor tab-bar-mode to -define-keys and -load-buttons (bug#42052)

	* lisp/tab-bar.el (tab-bar--define-keys, tab-bar--load-buttons):
	Move some code here from 'tab-bar-mode'.
	(tab-bar-new-tab-to): Call tab-bar--load-buttons and tab-bar--define-keys.

2021-01-05  Eli Zaretskii  <eliz@gnu.org>

	Fix process-tests on MS-Windows

	It was again broken by recent changes.
	* test/src/process-tests.el
	(process-tests/fd-setsize-no-crash/make-serial-process): Skip test
	on MS-Windows.

2021-01-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el: Load package-quickstart without package.el

	Speed up startup when `package-quickstart` is in use by making it possible
	to load the quickstart file without having to load `package.el` at all.

	(package-user-dir, package-directory-list, package-quickstart-file):
	Preload those variables.
	(package--get-activatable-pkg): New fun, extracted from `package-activate`.
	(package-activate): Use it.
	(package--activate-all): New function, extracted from
	`package-activate-all`.
	(package-activate-all): Use it and make the function preloaded.
	(package--archives-initialize): New function.
	(package-install): Use it.
	(list-packages): Avoid `switch-to-buffer`.
	(package-get-descriptor): New function.

	* lisp/startup.el (command-line): Simplify the code now that
	package-user-dir and package-directory-list are preloaded.

	* lisp/emacs-lisp/autoload.el (make-autoload): Add support for
	`:initialize #'custom-initialize-delay` in `defcustom`.

2021-01-05  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Quick Start Guide): Fix thinko.

2021-01-05  Robert Pluim  <rpluim@gmail.com>

	Tell people how to remove fontconfig customizations

2021-01-05  Mattias Engdegård  <mattiase@acm.org>

	ruby-mode: eliminate redundant regexp branch

	* lisp/progmodes/ruby-mode.el (ruby-add-log-current-method):
	Since ruby-operator-re matches dot, don't include both in regexp.
	This pacifies relint.

2021-01-05  Mattias Engdegård  <mattiase@acm.org>

	Pretty-print keys without <> around modifiers (bug#45536)

	Be consistent when pretty-printing keys: put modifiers outside <>,
	thus the more logical C-M-<return> instead of <C-M-return>.

	* src/keymap.c (Fsingle_key_description):
	Skip modifier prefix before adding <>.
	* doc/lispref/help.texi (Describing Characters): Update example.
	* doc/lispref/debugging.texi (Backtraces):
	* doc/lispref/minibuf.texi (Text from Minibuffer):
	Use @kbd instead of @key.
	* etc/NEWS: Announce the change.
	* test/src/keymap-tests.el (keymap--key-description):
	* test/lisp/subr-tests.el (subr--kbd): New tests.

2021-01-05  Mattias Engdegård  <mattiase@acm.org>

	* lisp/filesets.el (filesets-external-viewers): Tighten regexp.

2021-01-05  Harald Jörg  <haj@posteo.de>

	perl-mode: Display here-docs as strings instead of comments

	* lisp/progmodes/perl-mode.el
	(perl-syntax-propertize-function): Handle HERE doc starter
	lines ending in a comment.
	(perl-heredoc): New face for HERE docs, inheriting from
	font-lock-string-face.
	(perl-font-lock-syntactic-face-function): Apply the new face
	to HERE docs (Bug#23461).

	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-test--run-bug-10483): Skip for Perl mode.  The test
	explicitly calls a function of CPerl mode.

2021-01-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (esc-map): Initialize inside declaration

	* src/commands.h (meta_map):
	* src/keymap.c (meta_map): Delete variable.
	(syms_of_keymap): Don't initialize esc-map here.
	(initial_define_key):
	* src/keymap.h (initial_define_key): Delete function.

	* src/keyboard.c (keys_of_keyboard): Don't initialize esc-map here.

	* src/window.h (keys_of_window):
	* src/window.c (keys_of_window): Delete function.
	* src/lisp.h (keys_of_casefiddle):
	* src/casefiddle.c (keys_of_casefiddle): Delete function.
	* src/emacs.c (main): Don't call them.

2021-01-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (ctl-x-map): Initialize inside the declaration.

	* src/command.h (control_x_map):
	* src/keymap.c (control_x_map): Delete variable.
	(syms_of_keymap):
	* src/keyboard.c (keys_of_keyboard):
	* src/casefiddle.c (keys_of_casefiddle):
	* src/window.c (keys_of_window): Move initialization of ctl-x-map to
	subr.el.

	* src/lisp.h (syms_of_buffer):
	* src/buffer.c (keys_of_buffer): Delete function.
	* src/emacs.c (main): Don't call it.

2021-01-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (global-map): Initialize inside declaration.

	* src/commands.h (global_map):
	* src/keymap.c (global_map): Delete variable.
	(syms_of_keymap): Don't initialize global_map here.
	(keys_of_keymap): Delete function.
	* src/lisp.h (keys_of_cmds):
	* src/cmds.c (keys_of_cmds): Delete function.
	* src/emacs.c (main): Don't call them.

	* src/window.c (keys_of_window): Don't initialize global_map here.
	* src/keyboard.c (keys_of_keyboard): Don't initialize global_map here.

2021-01-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use lexical-binding in the remaining preloaded files

	* lisp/widget.el:
	* lisp/w32-fns.el:
	* lisp/textmodes/fill.el:
	* lisp/term/common-win.el:
	* lisp/scroll-bar.el:
	* lisp/rfn-eshadow.el:
	* lisp/menu-bar.el:
	* lisp/language/tibetan.el:
	* lisp/language/thai.el:
	* lisp/language/misc-lang.el:
	* lisp/language/lao.el:
	* lisp/language/korean.el:
	* lisp/language/japanese.el:
	* lisp/language/indian.el:
	* lisp/language/hebrew.el:
	* lisp/language/european.el:
	* lisp/language/ethiopic.el:
	* lisp/language/english.el:
	* lisp/language/cyrillic.el:
	* lisp/language/chinese.el:
	* lisp/jka-cmpr-hook.el:
	* lisp/international/ucs-normalize.el:
	* lisp/international/mule.el:
	* lisp/international/mule-conf.el:
	* lisp/international/iso-transl.el:
	* lisp/international/fontset.el:
	* lisp/international/characters.el:
	* lisp/format.el:
	* lisp/facemenu.el:
	* lisp/electric.el:
	* lisp/dos-w32.el:
	* lisp/dos-fns.el:
	* lisp/disp-table.el:
	* lisp/cus-face.el:
	* lisp/composite.el:
	* lisp/bindings.el:
	* admin/unidata/blocks.awk:
	* admin/charsets/eucjp-ms.awk:
	* admin/charsets/cp51932.awk: Use `lexical-binding`.

2021-01-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/filesets.el: Use lexical-binding

	Remove redundant `:group` args.  Require cl-lib and seq.
	Fix various O(n²) bug and flag a few remaining ones.

	(filesets-external-viewers): Simplify regexps.  Use \' instead of $.
	Remove useless :constraint-flag properties.
	(filesets-convert-path-list): η-reduce.
	(filesets-eviewer-constraint-p): Mark :constraint-flag as obsolete.
	(filesets-spawn-external-viewer): Can't use `run-hooks` on
	lexical variable.
	(filesets-filter-list): Fix O(n²) bug.
	(filesets-ormap): Simplify.
	(filesets-some, filesets-member, filesets-sublist): Make them
	obsolete aliases.
	(filesets-reset-fileset): Simplify.
	(filesets-directory-files): Use `push`.
	(filesets-spawn-external-viewer): Use `mapconcat` to fix O(n²) bug.
	(filesets-cmd-get-args): Use `mapcan` to fix O(n²) bug.
	(filesets-run-cmd): Use `mapconcat` and `mapcan` to fix O(n²) bugs.
	(filesets-ingroup-collect-finder): Use dynamic scoping.
	(filesets-ingroup-collect-files): Use `nreverse` to fix O(n²) bug.
	(filesets-ingroup-collect-build-menu): Use `mapcan` to fix O(n²) bug.

2021-01-04  Andrea Corallo  <akrl@sdf.org>

	* test/src/comp-tests.el (cond-rw-1, not-cons, 45576): Rename three tests.

2021-01-04  Andrea Corallo  <akrl@sdf.org>

	Fix a type specifier test

	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Fix a testcase.

2021-01-04  Andrea Corallo  <akrl@sdf.org>

	Fix type inference for bug#45635

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix
	missing mixed pos neg handling.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add a test.
	* test/src/comp-tests.el (45635): New testcase.
	* test/src/comp-test-funcs.el (comp-test-45635-f): New function.

2021-01-04  Philipp Stephani  <phst@google.com>

	Make a process tests a bit more robust.

	* test/src/process-tests.el
	(process-tests/fd-setsize-no-crash/make-process): Allow for processes
	to fail before 'exec'.

2021-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/srecode/semantic.el: Use lexical-binding

	(srecode-semantic-insert-tag): Can't use `run-hook-with-args` on
	lexical variable.

2021-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/reporter.el: Use lexical-binding

	(reporter--run-functions): New function.
	(reporter-dump-state): Use it and simplify the code.

2021-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/erc/erc.el (erc-process-input-line): Undo confused last change

2021-01-04  Dmitry Gutov  <dgutov@yandex.ru>

	ruby-add-log-current-method: Support methods with symbolic names

	* lisp/progmodes/ruby-mode.el (ruby-add-log-current-method):
	Support methods with symbolic names.

2021-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	Do not assume Xrender merely because Cairo

	Problem reported by Andrea Corallo in:
	https://lists.gnu.org/r/emacs-devel/2021-01/msg00225.html
	* src/xterm.c (x_term_init) [USE_CAIRO && !HAVE_XRENDER]:
	Do not call XRenderQueryExtension.

2021-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix broken build on AIX 7.2

	Without this fix, the build on AIX 7.2 with xlc fails in the ‘CCLD
	temacs’ step with the diagnostic ‘ld: 0711-317 ERROR: Undefined
	symbol: BC’.  This is because -lcurses does not define BC etc.
	* configure.ac: When building terminfo.o, define
	TERMINFO_DEFINES_BC if the library defines BC etc.
	* src/terminfo.c (UP, BC, PC): Define depending on
	TERMINFO_DEFINES_BC, not on TERMINFO.

	(cherry picked from commit 632917461a7c1893a83979a3873b51d4da3b8a42)

2021-01-04  Simen Heggestøyl  <simenheg@gmail.com>

	Remove extraneous closing paren

	* doc/lispref/modes.texi (SMIE Indentation Example): Remove extraneous
	closing paren.

2021-01-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	99cc0045eb (origin/emacs-27) Update two user option names in the Widg...

2021-01-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	2e09efdb68 Revert previous patch which was installed into wrong branch.

2021-01-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	a7c2793efe Fix last change

2021-01-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	90c782e92e Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...

2021-01-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	7384ec6416 Add warning comments abound binding keys in Isearch maps

2021-01-04  Michael Albinus  <michael.albinus@gmx.de>

	Fix error in tramp-sh-handle-insert-directory

	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Let buffer be
	unibyte when applying numbers returned with the ls --dired option.
	Reported by Justus Piater <Justus-dev@Piater.name>.

	* test/lisp/net/tramp-tests.el (tramp--test-check-files): Extend test.

2021-01-04  Mauro Aranda  <maurooaranda@gmail.com>

	Update two user option names in the Widget manual

	* doc/misc/widget.texi (Basic Types): The user options
	widget-glyph-directory and widget-glyph-enable were renamed long ago
	to widget-image-directory and widget-image-enable, but the manual
	kept calling them by their old names.  Update the names.

2021-01-04  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix build for --enable-checking=structs

	The last change to lisp.h only added comments in Lisp_String, so the
	portable dumper need not be changed.

	* src/pdumper.c (dump_string): Update hash for Lisp_String.

2021-01-04  Mauro Aranda  <maurooaranda@gmail.com>

	Don't skip widgets when moving backward

	* lisp/wid-edit.el (widget-move): Remove code that caused
	widget-backward to skip an immediate previous widget when moving
	backward from the start of a widget.  (Bug#45623)

	* test/lisp/wid-edit-tests.el (widget-test-widget-backward): New test.

2021-01-04  Amin Bandali  <bandali@gnu.org>

	Fix off-by-one error in mode-line-compact code

	* src/xdisp.c (display_mode_line): Fix off-by-one error that would
	chop off the final non-space character when compacting (bug#45646).

2021-01-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix computation of Lines in nnmaildir

	* lisp/gnus/nnmaildir.el (nnmaildir--update-nov): Lines is -1 if
	it's not present; not 0 (probably) (bug#45650).

2021-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/print.c (print_vectorlike): Use `HASH_TABLE_SIZE`

2021-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/xdisp.c (syms_of_xdisp): New var redisplay-skip-fontification-on-input

	(handle_fontified_prop): Use it.

	* src/keyboard.h (input_was_pending): Declare.
	* src/keyboard.c (input_was_pending): Make non-static.

2021-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/erc/erc.el: Use `run-hook-with-args` for `erc-pre-send-functions`

	(erc-process-input-line): A function can be `listp`.
	(erc-send-input): Use `run-hook-with-args` for `erc-pre-send-functions`.
	(erc-display-command): Comment out, unused.

2021-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calc/calc-yank.el (calc-edit-mode): Make it into a proper major mode

	Also make `calc-edit-handler` hold a function instead of an expression.

	(calc-original-buffer, calc-return-buffer, calc-one-window)
	(calc-edit-handler, calc-restore-trail, calc-allow-ret)
	(calc-edit-top): Give them a default value.
	(calc--edit-mode): New function extracted from old `calc-edit-mode`.
	(calc-edit-return, calc-edit-finish): Don't need to test `boundp` any more.
	(calc-edit-finish): Allow `calc-edit-handler` to be a function.

	(calc-edit, calc-alg-edit):

	* lisp/calc/calc-prog.el (calc-edit-user-syntax, calc-user-define-edit):
	* lisp/calc/calc-embed.el (calc-embedded-edit):
	* lisp/calc/calc-sel.el (calc-edit-selection):
	* lisp/calc/calc-store.el (calc-edit-variable):
	Use `calc--edit-mode` and make first arg into a function.

	* lisp/calc/calc-ext.el (calc-init-extensions): Autoload `calc--edit-mode`
	instead of `calc-edit-mode`.

2021-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* Makefile.in (test/%): New target

	* lisp/calendar/appt.el (appt-activate): Set the local `write-file-functions`

2021-01-04  Mark Oteiza  <mvoteiza@udel.edu>

	Fix last change in json.el

	* lisp/json.el (json-encode-array): Include optimization for lists.

2021-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/arc-mode.el (tar-grind-file-mode): Remove left over autoload

	* doc/lispref/syntax.texi (Syntax Class Table): Clarify `@`

2021-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* admin/last-chance.el (last-chance): Use `grep`s return value

	(compilation-finish-functions): Only set it buffer-locally.

2021-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/buffer.c (Fset_buffer_multibyte): Remove dead code

2021-01-03  Mark Oteiza  <mvoteiza@udel.edu>

	Remove unnecessary dependency on seq library

	* lisp/json.el: Remove require declaration.
	(json-encode-array): Just use length and /=.

2021-01-03  Phillip Lord  <phillip.lord@russet.org.uk>

	Remove relative paths for consistency

	* admin/nt/dist-build/build-zips.sh: Remove Paths

2021-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/byte-run.el (make-obsolete): Make `when` mandatory

	(define-obsolete-function-alias, make-obsolete-variable)
	(define-obsolete-variable-alias): Adjust similarly.

2021-01-03  Paul Eggert  <eggert@cs.ucla.edu>

	Mention -lcurses problem on AIX

	* etc/PROBLEMS: Describe problem with Emacs 27 and -lcurses.
	Do not merge to master.

2021-01-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix broken build on AIX 7.2

	Without this fix, the build on AIX 7.2 with xlc fails in the ‘CCLD
	temacs’ step with the diagnostic ‘ld: 0711-317 ERROR: Undefined
	symbol: BC’.  This is because -lcurses does not define BC etc.
	* configure.ac: When building terminfo.o, define
	TERMINFO_DEFINES_BC if the library defines BC etc.
	* src/terminfo.c (UP, BC, PC): Define depending on
	TERMINFO_DEFINES_BC, not on TERMINFO.

2021-01-03  Paul Eggert  <eggert@cs.ucla.edu>

	Revert previous patch which was installed into wrong branch.

2021-01-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix broken build on AIX 7.2

	Without this fix, the build on AIX 7.2 with xlc fails in the ‘CCLD
	temacs’ step with the diagnostic ‘ld: 0711-317 ERROR: Undefined
	symbol: BC’.  This is because -lcurses does not define BC etc.
	* configure.ac: When building terminfo.o, define
	TERMINFO_DEFINES_BC if the library defines BC etc.
	* src/terminfo.c (UP, BC, PC): Define depending on
	TERMINFO_DEFINES_BC, not on TERMINFO.

2021-01-03  Alan Third  <alan@idiocy.org>

	Fix child frame restacking on NS (bug#41422)

	* src/nsfns.m (Fns_frame_restack): Use new restackWindow method.
	* src/nsterm.m ([EmacsWindow orderFront:]):
	([EmacsWindow makeKeyAndOrderFront:]):
	(nswindow_orderedIndex_sort):
	([EmacsWindow orderBack:]):
	([EmacsWindow restackWindow:above:]): Override superclass methods to
	handle child windows the way we want.

2021-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/xref.el (xref--show-defs-buffer-at-bottom): Fix missing arg

2021-01-02  Alan Third  <alan@idiocy.org>

	Fix crash when using menus and tramp on NS


	* src/nsterm.m (ns_select): Don't drain outerpool in this function.

2021-01-02  Alan Third  <alan@idiocy.org>

	Fix NS toolbar image release crash (bug#43973)

	The toolbar fails to make a proper copy of EmacsImage objects, so
	releasing the copy incorrectly released instance variables from the
	original objects.

	* src/nsimage.m ([EmacsImage copyWithZone:]): New function to enable
	correct copying of EmacsImage.

2021-01-02  Roland Winkler  <winkler@gnu.org>

	bibtex-mode: Extend widget bibtex-entry-alist

2021-01-02  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Reposition call to set-buffer-modified-p in sieve-upload

	* lisp/net/sieve.el (sieve-upload): It's meant to affect the script
	buffer, not sieve-buffer, so needs to be outside the call to
	with-current-buffer.

2021-01-02  Dmitry Gutov  <dgutov@yandex.ru>

	xref--show-pos-in-buf: Don't set other-window-scroll-buffer

	* lisp/progmodes/xref.el (xref--show-pos-in-buf):
	Don't set other-window-scroll-buffer (bug#45581).

2021-01-02  Mattias Engdegård  <mattiase@acm.org>

	Fix backslash mistakes in doc strings in C code

	These were found by an instrumented version of make-docfile.

	* src/gnutls.c (Fgnutls_available_p):
	* src/keymap.c (Fkey_description):
	* src/xdisp.c (syms_of_xdisp):

2021-01-02  Mauro Aranda  <maurooaranda@gmail.com>

	Fix Quit button in dictionary buffer

	* lisp/net/dictionary.el (dictionary-close): Changing the arity of the
	function in cc5f2803785c5dc785f09a292313cf799e8d29bb was a mistake.
	Restore it, but mark the argument as unused to avoid a
	wrong-number-of-arguments error when using the Quit button.

2021-01-02  Philipp Stephani  <phst@google.com>

	Avoid printing stacktraces when it probably wouldn't work anyway.

	* src/eval.c (signal_or_quit): Don't try to call the debugger if it's
	inhibited or we are about to dump or bootstrap.  In those cases the
	debugger probably wouldn't work anyway.

2021-01-02  Philipp Stephani  <phst@google.com>

	Make a process test faster.

	The test 'process-tests/fd-setsize-no-crash/make-process' used to call
	'sleep' to ensure that enough processes are live to trigger a
	FD_SETSIZE overflow.  However, we can just call 'cat' instead and
	close standard input when done.  That way, we only wait as long as
	needed.

	* test/src/process-tests.el
	(process-tests/fd-setsize-no-crash/make-process): Invoke 'cat' instead
	of 'sleep'.  Close standard input to exit the 'cat' processes.

2021-01-02  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-known-predicates): Some more tweaking.

2021-01-02  Philipp Stephani  <phst@google.com>

	Simplify TTY allocation.

	The 'process-tty-name' already provides the TTY name, we don't have
	interrogate the TTY host.

	* test/src/process-tests.el
	(process-tests/fd-setsize-no-crash/make-serial-process): Use
	'process-tty-name' instead of having the TTY host print its TTY
	name.  Check whether TTY names are unique.
	(process-tests--new-pty, process-tests--with-temp-file): Remove;
	no longer used.

2021-01-02  Andrea Corallo  <akrl@sdf.org>

	Fix `functionp' constraining (bug#45576)

	* lisp/emacs-lisp/comp.el (comp-known-predicates)
	(comp-known-predicates-h): New constants.
	(comp-known-predicate-p, comp-pred-to-cstr): New functions.
	* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Don't define.
	* test/src/comp-tests.el (comp-test-45576): New testcase.
	* test/src/comp-test-funcs.el (comp-test-45576-f): New function.

2021-01-02  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in characters.el

	* lisp/international/characters.el: Adjust syntax of more
	characters to follow that of Unicode properties.  (Bug#44974)

2021-01-02  Andrea Corallo  <akrl@sdf.org>

	Rename `dom' slot into  `idom' in `comp-block' struct

	* lisp/emacs-lisp/comp.el (comp-block): Rename dom `slot' into
	`idom'.
	(comp-clean-ssa, comp-compute-dominator-tree)
	(comp-compute-dominator-frontiers, comp-dom-tree-walker)
	(comp-remove-unreachable-blocks): Update accordingly.

2021-01-02  Eli Zaretskii  <eliz@gnu.org>

	Fix syntax of symbol and punctuation characters

	* lisp/international/characters.el: Adjust syntax of punctuation
	and symbol characters to follow that of Unicode properties.
	(Bug#44974)

2021-01-02  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2021-01-02  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* doc/lispref/strings.texi (Creating Strings): Improve wording of
	last change.  (Bug#45516)

2021-01-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a reference between the Strings node and Search/Replace

	* doc/lispref/strings.texi (Creating Strings): Mention
	string-replace/replace-regexp-in-string (bug#45516).

	(cherry picked from commit b9359d4183a1a6923122d3aa12b922ab89693354)

2021-01-02  Dmitry Gutov  <dgutov@yandex.ru>

	ruby-smie-rules: Avoid one case of infinite recursion

	* lisp/progmodes/ruby-mode.el (ruby-smie-rules):
	Avoid one case of infinite recursion (bug#29107).

2021-01-01  Alan Third  <alan@idiocy.org>

	Fix GNUstep warnings

	* src/nsterm.h: EmacsSurface is only required if NS_DRAW_TO_BUFFER is
	defined.
	* src/nsterm.m (ns_judge_scroll_bars): Remove unused variable.
	* src/nsmenu.m (update_frame_tool_bar):
	(ns_update_menubar): Remove unused variables.

2021-01-01  Alan Third  <alan@idiocy.org>

	Improve drawing performance on macOS

	* configure.ac: Require IOSurface framework.
	* src/nsterm.h: New EmacsSurface class and update EmacsView
	definitions.
	* src/nsterm.m (ns_update_end):
	(ns_unfocus): Use new unfocusDrawingBuffer method.
	(ns_draw_window_cursor): Move ns_focus to before we set colors.
	([EmacsView dealloc]):
	([EmacsView viewDidResize:]): Handle new EmacsSurface class.
	([EmacsView initFrameFromEmacs:]): Remove reference to old method.
	([EmacsView createDrawingBuffer]): Remove method.
	([EmacsView focusOnDrawingBuffer]):
	([EmacsView windowDidChangeBackingProperties:]): Use new EmacsSurface
	class.
	([EmacsView unfocusDrawingBuffer]): New method.
	([EmacsView copyRect:to:]): Get information from the context instead
	of direct from the IOSurface.
	([EmacsView updateLayer]): Use new EmacsSurface class.
	([EmacsView copyRect:to:]): Use memcpy to copy bits around instead of
	using NS image functions.
	([EmacsSurface initWithSize:ColorSpace:]):
	([EmacsSurface dealloc]):
	([EmacsSurface getSize]):
	([EmacsSurface getContext]):
	([EmacsSurface releaseContext]):
	([EmacsSurface getSurface]):
	([EmacsSurface copyContentsTo:]): New class and methods.

2021-01-01  Roland Winkler  <winkler@gnu.org>

	bibtex-mode: Handle biblatex field aliases (bug#44976)

	* lisp/textmodes/bibtex.el (bibtex-biblatex-entry-alist): Define
	field aliases.
	(bibtex-vec-incr): Remove.
	(bibtex-format-entry, bibtex-validate): Check for field aliases.
	(bibtex--skip-field-aliases): New function.
	(bibtex-field-list): Use it.

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix CCL_MOD typo

	* src/ccl.c (ccl_driver): Fix typo that disabled the
	checks for undefined behavior with integer remainder.
	Problem caught by Oracle Studio 12.6.

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Add overflow check for INPUT_EVENT_POS_MIN

	* src/keyboard.c (INPUT_EVENT_POS_MIN): Don’t assume (-1 -
	INPUT_EVENT_POS_MAX) fits into ptrdiff_t.  This fixes a
	purely-theoretical problem that cannot occur on two’s-complement
	arithmetic.  The Solaris 10 compiler still complains incorrectly,
	but oh well.

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Port to Solaris 10

	* configure.ac: Instead of AC_CHECK_HEADER, use AC_COMPILE_IFELSE
	with X11/Intrinsic.h when checking for X11/extensions/Xrender.h.
	This suppresses a bogus "report a bug to bug-gnu-emacs" diagnostic
	from 'configure' in Solaris 10.
	(SETUP_SLAVE_PTY): Adjust to recent renaming of forkin to
	std_in in callproc.c.  Needed on Solaris and Unixware.
	* lib-src/Makefile.in (LIB_GETRANDOM, LIBS_ETAGS): New vars,
	needed because on Solaris 10 the Gnulib tempname module now needs
	the -lrt library for clock_gettime.  Throw in the LIB_GETRANDOM
	stuff too while we’re at it; from getrandom.m4 it seems to be
	needed for MingW.
	(LIBS_MOVE, etags_libs): Use them.
	* src/callproc.c [SETUP_SLAVE_PTY]: Include sys/stream.h
	and sys/stropts.h, for SETUP_SLAVE_PTY’s definiens.
	* src/process.c [NEED_BSDTTY]: Don’t include bsdtty.h; hasn’t been
	needed in years.
	[USG5_4]: Don’t include sys/stream.h or sys/stropts.h; these
	directives havbe been moved to callproc.c because the only use of
	SETUP_SLAVE_PTY is there now.

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	New file scratch_buffer_dupfree.c

	* lib/malloc/scratch_buffer_dupfree.c: New file, from Gnulib
	(originally from glibc 2.33 code).
	This is needed on macOS and some other platforms;
	I forgot to commit it in the most recent Gnulib update.

2021-01-01  Andrea Corallo  <akrl@sdf.org>

	Add `throw' to non returning functions

	* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add throw.

2021-01-01  Dmitry Gutov  <dgutov@yandex.ru>

	xref-show-definitions-completing-read: Default to the first location

	* lisp/progmodes/xref.el (xref-show-definitions-completing-read):
	Default to the first location.

2021-01-01  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-compute-dominator-tree): Fix.

2021-01-01  Andrea Corallo  <akrl@sdf.org>

	Clean unreachable block using dominance tree to handle circularities

	With this commit unreachable basic blocks are pruned automatically by
	comp-ssa relying on dominance analysis.  This solves the issue of
	unreachable cluster of basic blocks referencing each other.

	* lisp/emacs-lisp/comp.el (comp-block-lap): New `no-ret' slot.
	(comp-compute-dominator-tree): Update.
	(comp-remove-unreachable-blocks): New functions.
	(comp-ssa): Update to call `comp-remove-unreachable-blocks'.
	(comp-clean-orphan-blocks): Delete.
	(comp-rewrite-non-locals): Update and simplify.

2021-01-01  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (Fcomp__compile_ctxt_to_file): Fix hash table iteration.

2021-01-01  Andrea Corallo  <akrl@sdf.org>

	Introduce 'unreachable' LIMPLE operator

	Introduce 'unreachable' as LIMPLE operator so we can handle correctly
	in the CFG functions throwing values or signaling errors.

	* src/comp.c (retrive_block): Better error diagnostic.
	(emit_limple_insn): Add `unreachable'.
	(compile_function): Fix block iteration.
	(syms_of_comp): Define 'Qunreachable'.
	* lisp/emacs-lisp/comp.el (comp-block): New variable.
	(comp-block-lap): Add `non-ret-insn' slot.
	(comp-branch-op-p): New predicate.
	(comp-limple-lock-keywords): Color `unreachable' as red.
	(comp-compute-edges): Add `unreachable'.
	(comp-fwprop-call): Store non returning function call.
	(comp-fwprop*): Update.
	(comp-clean-orphan-blocks, comp-rewrite-non-locals): New functions.
	(comp-fwprop): Call `comp-rewrite-non-locals'.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add two
	tests.
	* test/src/comp-test-funcs.el (comp-test-non-local-1)
	(comp-test-non-local-2, comp-test-non-local-3)
	(comp-test-non-local-4): New functions.

2021-01-01  Eli Zaretskii  <eliz@gnu.org>

	Add warning comments abound binding keys in Isearch maps

	* lisp/isearch.el (isearch-mode-map)
	(minibuffer-local-isearch-map): Add comments which warn against
	wantonly rebinding unbound keys.

2021-01-01  Philipp Stephani  <phst@google.com>

	Fix a compilation warning.

	ruby-mode uses 'cl-evenp' at runtime, so cl-lib must be available at
	runtime as well.

	* lisp/progmodes/ruby-mode.el (cl-lib): Require at runtime as well.

2021-01-01  Andrea Corallo  <akrl@sdf.org>

	Fix two predicates for missing negation handling

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-empty-p)
	(comp-cstr-null-p): Fix missing negation handling.

2021-01-01  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Color returns as red.

2021-01-01  Andrea Corallo  <akrl@sdf.org>

	Add `comp-insert-insn'

	* lisp/emacs-lisp/comp.el (comp-insert-insn): New inline.
	(comp-emit-call-cstr): Split logic and call `comp-insert-insn'.

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Remove stray copy of image-tests.el

	* test/manual/image-circular-tests.el: Remove a stray copy of
	image-tests.el that was appended to this file.  Found by its
	duplicate copyright notice.

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib by running admin/merge-gnulib.

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-27

	33d159c36f Fix copyright years by hand

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-27

	74a77ef299 Improve documentation of 'network-lookup-address-info'
	c6d5555646 Display messages sent using ERC's /say
	c156723769 Fix Rmail summary display when From: header is malformed

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Update copyright year to 2021

	Run "TZ=UTC0 admin/update-copyright".

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some mistaken shell delinting

	* admin/merge-gnulib, admin/update-copyright, make-dist:
	Revert recent mistaken changes that were put in merely to
	pacify a shellcheck linter.

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix copyright years by hand

	These are dates that admin/update-copyright did not update.

2021-01-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert recent add-to-ordered-list changes

	* doc/lispref/lists.texi (List Variables): Revert.

	* lisp/subr.el (add-to-ordered-list): Revert recent changes
	because the semantics are too muddled.

2020-12-31  Alan Mackenzie  <acm@muc.de>

	CC Mode: increment version numbers to 5.35 due to standalone release

	* doc/misc/cc-mode.texi.  Increment the mode to 5.35, twice.

	* lisp/progmodes/cc-defs.el.  Increment the mode to "5.35.1".

2020-12-31  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'network-lookup-address-info'

	* src/process.c (Fnetwork_lookup_address_info):
	* doc/lispref/processes.texi (Misc Network): Document the error
	message emitted by 'network-lookup-address-info' when it fails.

2020-12-31  Dmitry Gutov  <dgutov@yandex.ru>

	ruby-mode: Optimize expression expansion too

	This speeds up syntax-propertize almost 2x.

	* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
	Optimize expression expansion too.
	(ruby-syntax-propertize-expansion, ruby-font-lock-keywords)
	(ruby-expression-expansion-re): Update to match.

2020-12-31  Dmitry Gutov  <dgutov@yandex.ru>

	ruby-syntax-propertize: Optimize two rules a little

	* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
	Optimize two rules a little.

2020-12-31  Dmitry Gutov  <dgutov@yandex.ru>

	ruby-mode: Recognize setter symbols

	* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
	Add a rule for setter symbols (bug#42846).
	(ruby-font-lock-keywords): Remove dead code, left over from before
	commit 26f9c507.

	* lisp/progmodes/ruby-mode.el (ruby-smie--bosp):
	Handle '=' being part of a symbol (bug#42846).

	* test/lisp/progmodes/ruby-mode-resources/ruby.rb:
	Add corresponding indentation examples.

2020-12-31  João Távora  <joaotavora@gmail.com>

	Fix type declaration of two Flymake customization variables

	* lisp/progmodes/flymake.el (flymake-mode-line-format)
	(flymake-mode-line-counter-format): Fix type declaration.

2020-12-31  Eli Zaretskii  <eliz@gnu.org>

	Fix process-tests on MS-Windows

	* test/src/process-tests.el (process-tests--fd-setsize-test): On
	MS-Windows start the pipe processes in the "stopped" condition.

2020-12-31  João Távora  <joaotavora@gmail.com>

	Must explicitly create unpropertized strings in mode-line

	Otherwise, an innocent string like " " will mysteriously
	pickup properties from some other minor mode.

	Making this a separate commit in hopes of raising attention to this
	possible bug.

	* lisp/progmodes/flymake.el (flymake--mode-line-counter): Must
	explicily create a new string unpropertized string

2020-12-31  João Távora  <joaotavora@gmail.com>

	Make Flymake mode-line indicator customizable (bug#33740)

	* lisp/progmodes/flymake.el (flymake-mode): Use
	flymake-mode-line-format.
	(flymake--mode-line-format): Remove.
	(flymake-mode-line-counter-format, flymake-mode-line-format): New
	defcustom.
	(flymake-mode-line-title, flymake-mode-line-exception)
	(flymake-mode-line-counters, flymake-error-counter)
	(flymake-warning-counter, flymake-note-counter): New variables.
	(flymake--mode-line-title, flymake--mode-line-exception)
	(flymake--mode-line-counters, flymake--mode-line-counter): New
	helpers.

	* doc/misc/flymake.texi (Customizable variables): Mention
	flymake-mode-line-format and flymake-mode-line-counter-format

	* etc/NEWS: Mention Flymake's customizable mode-line.

2020-12-31  João Távora  <joaotavora@gmail.com>

	Protect elisp-flymake-checkdoc against boundless diagnostics

	These would be the kind of "This file needs a ;;Code section" and
	such.

	* lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Resist
	checkdoc diagnostics with no end position.

2020-12-31  Michael Albinus  <michael.albinus@gmx.de>

	* test/src/process-tests.el: Let timeouts fail the tests.  Fix some docstrings

2020-12-31  Alan Mackenzie  <acm@muc.de>

	CC Mode.  Fix AWK Mode fontification bug, remove some unused variables

	* lisp/progmodes/cc-awk.el (awk-font-lock-keywords): Replace a hard use of
	c-preprocessor-face-name by an `eval' expression which evaluates it.

	* lisp/progmodes/cc-engine.el (c-in-knr-argdecl, c-laomib-put-cache)
	(c-laomib-fix-elt): Remove unused bound variables.

2020-12-31  Philipp Stephani  <phst@google.com>

	Unbreak process tests if 'errno' is not installed.

	* test/src/process-tests.el (process-tests--EMFILE-message): Don't
	signal an error if the 'errno' binary is unavailable.

2020-12-31  Stefan Kangas  <stefan@marxist.se>

	Fix some shellcheck linter warnings

	* admin/diff-tar-files:
	* admin/merge-gnulib:
	* admin/merge-pkg-config:
	* admin/update-copyright:
	* build-aux/git-hooks/prepare-commit-msg:
	* make-dist: Fix some shellcheck linter warnings.

2020-12-31  Stefan Kangas  <stefan@marxist.se>

	Minor cleanup in doc.c

	* src/doc.c (get_doc_string, Fdocumentation)
	(Fdocumentation_property, store_function_docstring):
	Minor cleanup.

2020-12-31  Stefan Kangas  <stefan@marxist.se>

	Add lexical-binding cookie to autoload files

	* build-aux/update-subdirs:
	* lisp/emacs-lisp/autoload.el (autoload-rubric): Add lexical-binding
	cookie to generated files (bug#44854).

2020-12-31  Daniel Martín  <mardani29@yahoo.es>

	Fix duplicated entry in gnus-mime-action-alist

	* lisp/gnus/gnus-art.el (gnus-mime-action-alist): Remove duplicated
	"toggle display" entry and call the appropriate function for the "view
	as charset" action (bug#45561).

2020-12-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow add-to-ordered-list to use a test predicate

	* doc/lispref/lists.texi (List Variables): Update manual.

	* lisp/subr.el (add-to-ordered-list): Allow using a test
	predicate, and make slightly more efficient (bug#45539).

2020-12-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Add test for add-to-ordered-list

2020-12-31  Daniel Martín  <mardani29@yahoo.es>

	Add some tests to find-func.el

2020-12-31  Philipp Stephani  <phst@google.com>

	Minor improvements to FD_SETSIZE overflow checks.

	* src/process.c (Fmake_serial_process): Add port to error data.
	(connect_network_socket): Add an explanatory comment.

2020-12-31  Philipp Stephani  <phst@google.com>

	Manually limit file descriptors that we select on to FD_SETSIZE.

	This works even if another thread or process resets the resource limit
	for open file descriptors, e.g., using 'prlimit' on GNU/Linux.

	* src/process.c (create_process, create_pty, Fmake_pipe_process)
	(Fmake_serial_process, connect_network_socket)
	(server_accept_connection): Limit file descriptors to FD_SETSIZE.
	* test/src/process-tests.el (process-tests--with-raised-rlimit): New
	helper macro.
	(process-tests--fd-setsize-test): Rename from
	'process-tests--with-many-pipes'.  Increase resource limit during test
	if possible.
	(process-tests/fd-setsize-no-crash/make-process)
	(process-tests/fd-setsize-no-crash/make-pipe-process)
	(process-tests/fd-setsize-no-crash/make-network-process)
	(process-tests--new-pty): Rename callers.

2020-12-31  Philipp Stephani  <phst@google.com>

	Fix a potential unit test breakage on GNU/Linux.

	* test/src/process-tests.el
	(process-tests/fd-setsize-no-crash/make-process): Allow special exit
	codes that can happen if terminal setup fails in the child process.

2020-12-30  Philipp Stephani  <phst@google.com>

	Fix an incorrect Edebug specification.

	* test/src/process-tests.el (process-tests--with-many-pipes): Fix
	incorrect Edebug specification.

2020-12-30  Philipp Stephani  <phst@google.com>

	Consistently check for FD_SETSIZE overflow.

	Previously this was only checked in a few places.  Now assert that
	file descriptors are within the expected range whenever we'd otherwise
	introduce undefined behavior.

	* src/process.c (add_read_fd, add_process_read_fd, delete_read_fd)
	(recompute_max_desc, delete_write_fd, compute_input_wait_mask)
	(compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
	(compute_write_mask, clear_waiting_thread_info)
	(update_processes_for_thread_death, Fset_process_thread)
	(create_process, create_pty, Fmake_pipe_process)
	(Fprocess_datagram_address, Fset_process_datagram_address)
	(Fmake_serial_process, finish_after_tls_connection)
	(connect_network_socket, deactivate_process)
	(server_accept_connection, wait_reading_process_output)
	(read_process_output, read_and_dispose_of_process_output)
	(send_process, Fcontinue_process, Fprocess_send_eof)
	(Fprocess_filter_multibyte_p, keyboard_bit_set)
	(add_timer_wait_descriptor, setup_process_coding_systems): Add
	assertions to document and check that file descriptors are within the
	expected range when used as file descriptor set elements or array
	subscripts.

2020-12-30  Philipp Stephani  <phst@google.com>

	Extend and overhaul FD_SETSIZE overflow tests.

	Instead of trying to generate the right number of processes,
	pre-create lots of unused pipe processes until creation fails.  Extend
	the tests to the 'pty' connection type and other kinds of process
	objects.

	* test/src/process-tests.el (process-tests--ignore-EMFILE)
	(process-tests--with-buffers, process-tests--with-processes)
	(process-tests--with-many-pipes, process-tests--with-temp-file)
	(process-tests--with-temp-directory): New helper macros.
	(process-tests/fd-setsize-no-crash/make-process): Renamed from
	'process-tests/fd-setsize-no-crash'.  Fail on timeout.  Also test the
	'pty' connection type.  Pre-create lots of pipe processes so we reach
	the FD_SETSIZE limit faster.  Ignore EMFILE more precisely, if
	possible.
	(process-tests/fd-setsize-no-crash/make-pipe-process)
	(process-tests/fd-setsize-no-crash/make-network-process)
	(process-tests/fd-setsize-no-crash/make-serial-process): New tests
	that test FD_SETSIZE limits for other kinds of processes.
	(process-tests--EMFILE-message): New helper function and cache
	variable.
	(process-tests--new-pty): New helper function.

2020-12-30  Philipp Stephani  <phst@google.com>

	* src/nsterm.m (ns_select): Fix off-by-one error, and add assertion

2020-12-30  Alan Mackenzie  <acm@muc.de>

	CC Mode: correct the handling of empty strings

	In particular, have the macro cache invalidated after its last use in
	c-before-change.

	* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
	c-invalidate-macro-cache from the entries it's in, moving it to....

	* lisp/progmodes/cc-mode.el (c-before-change): Call c-invalidate-macro-cache
	directly from the functions, after the call to c-invalidate-state-cache.

2020-12-30  Alan Third  <alan@idiocy.org>

	Fix Help menu on macOS

	* src/nsmenu.m (ns_update_menubar): Make sure to reset the help menu
	when we move it to another submenu.

2020-12-30  Andrea Corallo  <akrl@sdf.org>

	Order function types in alphabetical order

	* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Reorder in
	alphabetical order and comment.

2020-12-30  Andrea Corallo  <akrl@sdf.org>

	Add more function type specifiers

	* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add more
	type specifiers.

2020-12-30  Mattias Engdegård  <mattiase@acm.org>

	Use standard key symbols in NS menu entries

	* src/nsmenu.m (skipspc): Remove.
	(key_symbols, prettify_key): New.
	([EmacsMenu fillWithWidgetValue:]): Call prettify_key.

2020-12-30  Stefan Kangas  <stefan@marxist.se>

	Remove redundant 'function's around lambda in align.el

	* lisp/align.el (align-rules-list, align-exclude-rules-list)
	(align-vhdl-rules-list, align-highlight-rule): Remove redundant
	'function's around lambda.

2020-12-30  Dmitry Gutov  <dgutov@yandex.ru>
	    Tobias Rittweiler  <trittweiler@gmail.com>

	Add 'project-relative' as value for 'xref-file-name-display'

	* lisp/progmodes/xref.el (xref-file-name-display): Document new value.
	(xref-location-group ((l xref-file-location))): Handle the new value.
	(xref--project-root): Extract from the default method of
	'xref-backend-references' so it can be used in above's new code.
	Also fix an old bug in the "backward compat" branch.

	* lisp/progmodes/xref.el (xref--project-root-memo): New variable.

	* test/lisp/progmodes/xref-tests.el: Add test cases for the three
	possible settings of 'xref-file-name-display'.

2020-12-30  Stefan Kangas  <stefan@marxist.se>

	Fix some over-wide docstrings

	* lisp/cedet/semantic/analyze/refs.el
	(semantic-analyze-refs-proto)
	(semantic-analyze-refs-impl):
	* lisp/cedet/semantic/symref.el
	(semantic-symref-hit-to-tag-via-buffer):
	* lisp/emacs-lisp/chart.el (chart-axis-draw):
	* lisp/emacs-lisp/cl-macs.el (cl-defstruct, cl-loop):
	* lisp/emacs-lisp/eieio-core.el (eieio--add-new-slot):
	* lisp/eshell/em-unix.el (eshell/info):
	* lisp/gnus/deuglify.el (gnus-outlook-rearrange-article):
	* lisp/gnus/gnus-agent.el (gnus-agent-read-article-number):
	* lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines)
	(gnus-put-text-property-excluding-newlines):
	* lisp/gnus/message.el (message-sort-headers):
	* lisp/gnus/nntp.el (nntp-with-open-group)
	(nntp-with-open-group-function):
	* lisp/gnus/nnvirtual.el (nnvirtual-create-mapping):
	* lisp/mail/feedmail.el (feedmail-fiddle-list-of-fiddle-plexes)
	(feedmail-queue-reminder, feedmail-mail-send-hook-splitter):
	* lisp/net/dictionary.el (dictionary-do-matching):
	* lisp/obsolete/longlines.el (longlines-auto-wrap):
	* lisp/org/ob-sql.el (org-babel-sql-dbstring-vertica):
	* lisp/org/ol-bbdb.el (org-bbdb-date-list):
	* lisp/progmodes/cc-cmds.el (c-mark-function):
	* lisp/progmodes/cperl-mode.el (cperl-add-tags-recurse)
	(cperl-add-tags-recurse-noxs-fullpath)
	(cperl-add-tags-recurse-noxs):
	* lisp/progmodes/etags.el (tags-search):
	* lisp/progmodes/verilog-mode.el (verilog-delete-auto-buffer)
	(verilog-auto-re-search-do, verilog-expand-vector-internal):
	* lisp/textmodes/reftex-parse.el (reftex-init-section-numbers):
	* lisp/textmodes/reftex-toc.el
	(reftex-toc-load-all-files-for-promotion):
	* lisp/textmodes/sgml-mode.el (html-mode):
	* lisp/textmodes/table.el (table--transcoord-cache-to-table)
	(table--transcoord-table-to-cache, table--remove-eol-spaces)
	(table--region-in-cell-p, table-goto-bottom-right-corner)
	(table-split-cell-horizontally):
	* lisp/url/url-handlers.el (url-insert):
	* lisp/vc/ediff-util.el (ediff-inferior-compare-regions): Fix doc
	strings to not exceed 80-column limits.  (Bug#44858)

2020-12-30  Mattias Engdegård  <mattiase@acm.org>

	Plug NS memory leaks (bug#45502)

	* src/nsmenu.m ([EmacsMenu addItemWithWidgetValue:attributes:]):
	Mark allocated and owned objects for autorelease.

2020-12-30  Juri Linkov  <juri@linkov.net>

	Add variables read-char-choice-use-read-key and y-or-n-p-use-read-key

	* lisp/subr.el (read-char-choice-use-read-key): New variable.
	(read-char-choice): Use read-char-from-minibuffer when
	read-char-choice-use-read-key is nil.
	(y-or-n-p-use-read-key): New variable.
	(y-or-n-p): Restore old code that calls read-key to use it when
	y-or-n-p-use-read-key is non-nil.

	* lisp/dired-aux.el (dired--no-subst-ask, dired-query):
	* lisp/files.el (files--ask-user-about-large-file)
	(hack-local-variables-confirm):
	* lisp/userlock.el (ask-user-about-supersession-threat):
	* lisp/wid-edit.el (widget-choose): Revert to use read-char-choice
	instead of read-char-from-minibuffer.

	https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg01919.html

2020-12-30  Michael Albinus  <michael.albinus@gmx.de>

	* src/dbusbind.c (XD_BASIC_DBUS_TYPE): Fix error in declaration.

2020-12-30  Juri Linkov  <juri@linkov.net>

	In Isearch bind 'C-s M-y' to isearch-yank-pop-only with old code (bug#45483)

	* lisp/isearch.el (isearch-menu-bar-yank-map, isearch-mode-map):
	(isearch-forward): Use isearch-yank-pop-only instead of isearch-yank-pop.
	(isearch-yank-pop): Mention isearch-yank-pop-only.
	(isearch-yank-pop-only): New command with old body from Emacs 27.

2020-12-30  Stefan Kangas  <stefan@marxist.se>

	Minor cleanup in keymap.c

	* src/keymap.c (get_keymap, keymap_parent, Fset_keymap_parent)
	(store_in_keymap, Fdefine_key, Flookup_key, define_as_prefix)
	(silly_event_symbol_error, current_minor_maps)
	(Fcurrent_active_maps, Fkey_binding, Flocal_key_binding)
	(Fminor_mode_key_binding, Fdefine_prefix_command)
	(Faccessible_keymaps, Fdescribe_buffer_bindings)
	(describe_vector, Fwhere_is_internal): Minor cleanup.

2020-12-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Also count symbol plists in memory-report

	* lisp/emacs-lisp/memory-report.el (memory-report--symbol-plist):
	New function.
	(memory-report): Use it.

2020-12-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Switch add-to-ordered-list to eql"

	This reverts commit b4fd857ead728a06380250c5336c1ab94a7c2f7a.

	I misunderstood the purposed of the function.

2020-12-30  Stefan Kangas  <stefan@marxist.se>

	Add some char-table tests

	* test/src/chartab-tests.el (chartab-test-char-table-p)
	(chartab-test-char-table-subtype)
	(chartab-test-char-table-parent)
	(chartab-test-char-table-extra-slot): New tests.

2020-12-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Switch add-to-ordered-list to eql

	* doc/lispref/lists.texi (List Variables): Update documentation.

	* lisp/subr.el (add-to-ordered-list): Switch to eql (bug#45539).

2020-12-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the `long' computation of `mode-line-compact'

	* src/xdisp.c (display_mode_line): Compute `long' based on total
	window width, and use the passed-in window instead of the selected
	window.

2020-12-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Add caveat about the `long' `mode-line-compact' setting

	* doc/lispref/modes.texi (Mode Line Basics): Elaborate on the
	`long' setting.

2020-12-30  Tobias Rittweiler  <trittweiler@gmail.com>

	Minor refactoring of xref-tests

	* test/lisp/progmodes/xref-tests.el (xref-tests-data-dir):
	Rename to 'xref-tests--data-dir'.
	(xref-tests--matches-in-data-dir, xref-tests--locations-in-data-dir):
	New functions.  Factored out from test cases and updated usage sites
	to use them.

2020-12-29  Alan Third  <alan@idiocy.org>

	Don't calculate macOS menu data for GNUstep (bug#45502)

	* src/nsmenu.m ([EmacsMenu fillWithWidgetValue:]): #ifdef out code
	that has no effect on GNUstep and autorelease alloc'd objects.

2020-12-29  Artem Loenko  <artyom.loenko@mac.com>

	* src/Makefile.in (DO_CODESIGN): Fix architecture for Apple Silicon

2020-12-29  Juri Linkov  <juri@linkov.net>

	Use explicit "--color=auto" in grep mode to support both GNU grep and ripgrep

	* lisp/progmodes/grep.el (grep-highlight-matches):
	(grep-compute-defaults, grep-expand-template):
	Use "--color=auto" instead of "--color" (bug#44983).

2020-12-29  Juri Linkov  <juri@linkov.net>

	* lisp/x-dnd.el (x-dnd-get-drop-x-y): Add safer check for top/left (bug#45277)

2020-12-29  Eli Zaretskii  <eliz@gnu.org>

	A better fix for process-tests on MS-Windows

	* src/w32.c (pipe2): When forcibly closing pipe handles due to
	overflow of FD_SETSIZE, set the handles to -1, to avoid assertion
	violations in emacs_close.

	* test/src/process-tests.el (process-tests/fd-setsize-no-crash):
	No need to skip this test anymore.

2020-12-29  Eli Zaretskii  <eliz@gnu.org>

	Fix process-tests on MS-Windows

	* test/src/process-tests.el (process-tests/fd-setsize-no-crash):
	Skip this test on windows-nt systems, as we cannot use more than
	FD_SETSIZE file descriptors there: if we try, we crash.

2020-12-29  Dmitry Gutov  <dgutov@yandex.ru>

	xref-show-definitions-completing-read: Tune up completion

	* lisp/minibuffer.el (completion-category-defaults)
	Use 'substring' completion style for 'xref-location' category by
	default.

	* lisp/progmodes/xref.el (xref-show-definitions-completing-read):
	Assign the 'xref-location' category to the completions. Pass
	REQUIRE-MATCH=t.

2020-12-29  Michael Albinus  <michael.albinus@gmx.de>

	Instrument process-tests.el for timeouts on emba

2020-12-29  Philipp Stephani  <phst@google.com>

	Add a regression test for Bug#24325.

	* test/src/process-tests.el (process-tests/fd-setsize-no-crash): New
	unit test.

2020-12-29  Andrea Corallo  <akrl@sdf.org>

	Fix missing negation handling in a bunch of predicates

	* lisp/emacs-lisp/comp.el (comp-mvar-fixnum-p)
	(comp-mvar-symbol-p, comp-mvar-cons-p): Consider neg slot.
	* test/src/comp-tests.el (comp-test-not-cons): New test.
	* test/src/comp-test-funcs.el (comp-test-not-cons-f): New
	function.

2020-12-29  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-value-to-cstr'.

2020-12-29  Andrea Corallo  <akrl@sdf.org>

	Constrain mvars under compare and branch with built-in predicates

	* lisp/emacs-lisp/comp.el (comp-emit-assume): Update.
	(comp-known-predicate-p): New function.
	(comp-add-cond-cstrs): Extend to pattern match predicate calls.
	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-null-p)
	(comp-pred-to-cstr): New function.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a
	number of tests and fix comments.

2020-12-29  Mattias Engdegård  <mattiase@acm.org>

	More readable keys in NS menu entries (bug#45502)

	Each menu entry now has the key binding in a right-aligned column, as
	an attempt to improve readability.  Previously the keys were given in
	brackets immediately following the menu string.

	* src/nsmenu.m ([EmacsMenu parseKeyEquiv:]): Remove.
	(skipspc): New helper function.
	([EmacsMenu addItemWithWidgetValue:]): Add attributes argument.
	Use attributed title string.  Don't special-case Super bindings.
	([EmacsMenu fillWithWidgetValue:]): Compute maximum width.  Prepare
	attributes for title.

2020-12-29  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp 2.5.0

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.5.0".

	* test/lisp/net/tramp-tests.el
	(tramp--test--deftest-direct-async-process): Check, that
	`make-process' supports file name handlers.  Suppress
	`internal-default-process-sentinel'.
	(tramp--test-async-shell-command): Set `proc' proper.
	(tramp-test32-shell-command-direct-async): Tag it :unstable.

2020-12-29  João Távora  <joaotavora@gmail.com>

	Revert "Allow the flymake mode line indicator to be customized"

	This reverts commit 37049ee78c4576d340781179317e6cbaaf73b6c3.

	It's not ready to be used, contains some fundamental errors.

	See bug#33740.

2020-12-29  Andrea Corallo  <akrl@sdf.org>

	Define `cl-satisfies-deftype' mapping predicate -> type

	* lisp/emacs-lisp/cl-macs.el (cl-satisfies-deftype): Define symbol
	property as reverse of `cl-deftype-satisfies'.

2020-12-29  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-type-to-cstr'.

2020-12-29  Alan Third  <alan@idiocy.org>

	Fix crash in NS menu code

	* src/nsmenu.m (ns_update_menubar): When the menu generation code was
	copied from xmenu.c the fix for waiting_for_input was lost.  Reinstate
	it.

2020-12-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some tests for align.el

2020-12-29  Glenn Morris  <rgm@gnu.org>

	* src/xdisp.c (display_mode_line): I guess FALSE should be false.

2020-12-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert the previous display_string change

	* src/xdisp.c (display_string): Revert adding the additional
	ignore_text_properties parameter -- it was already covered by the
	other mix of parameters.

2020-12-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compact mode line text properties

	* src/xdisp.c (display_mode_line): Display the compact mode
	correctly (with text properties) (bug#45520).

2020-12-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a parameter to display_string to allow not ignoring text props

	* src/xdisp.c (display_string): Add a parameter to allow not
	ignoring text properties (bug#45520).  Adjust callers throughout
	xdisp.c.

2020-12-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Introduce new variable mode-line-compact

	* doc/lispref/modes.texi (Mode Line Basics): Document it (bug#34476).

	* src/xdisp.c (display_mode_line): Use it.
	(syms_of_xdisp): New variable mode-line-compact.

2020-12-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow the flymake mode line indicator to be customized

	* doc/misc/flymake.texi (Customizable variables): Mention it.

	* lisp/progmodes/flymake.el (flymake-mode-line-indicator-format):
	New variable (bug#33740).
	(flymake--mode-line-format): Use it.

2020-12-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a SPLIT parameter to `format-spec'

	* doc/lispref/strings.texi (Custom Format Strings): Document it.

	* lisp/format-spec.el (format-spec): Add an optional parameter to
	return a list of strings (bug#33740).

2020-12-29  Basil L. Contovounesios  <contovob@tcd.ie>

	Reword a long docstring in cc-langs.el

	* lisp/progmodes/cc-langs.el (c-vsemi-status-unknown-p-fn): Reword
	docstring to fit within 80 columns and silence the corresponding
	byte-compiler warning (bug#44858).

2020-12-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a reference between the Strings node and Search/Replace

	* doc/lispref/strings.texi (Creating Strings): Mention
	string-replace/replace-regexp-in-string (bug#45516).

2020-12-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow mixing attributes and comments in the diary file

	* lisp/calendar/diary-lib.el (diary-face-attrs): The attributes
	don't have to be at the end of the line -- there may be ##warntime
	or other comments (bug#19965).

2020-12-29  João Távora  <joaotavora@gmail.com>

	Robustify completion match scoring for optimized patterns

	(Bug#42149)

	The function completion-pcm--hilit-commonality, which propertizes and
	scores a previously confirmed match, expected its PATTERN argument to
	match the strings of COMPLETIONS entirely (i.e. up to the string's
	very end).  But sometimes the ending wildcard, represented by the
	'any' atom in PATTERN, is optimized away by
	completion-pcm--optimize-pattern.  Although this is mostly benign in
	terms of highlighting commonality, it leads to incorrect score values.

	In this change, we ensure that completion-pcm--hilit-commonality is
	aware of this exception and isn't affected by it.  We also document
	the function a bit better and simplify its workings.

	Originally reported by Dario Gjorgjevski <dario.gjorgjevski@gmail.com>

	* lisp/minibuffer.el (completion-pcm--hilit-commonality):
	Simplify.  Add docstring.

	* lisp/minibuffer.el (completion-pcm--hilit-commonality): Add
	docstring

2020-12-28  Amin Bandali  <bandali@gnu.org>

	Display messages sent using ERC's /say

	* lisp/erc/erc.el (erc-cmd-SAY): Call `erc-display-msg' to display the
	user's message in the buffer, just like other [non-command] messages.

	https://lists.gnu.org/r/help-gnu-emacs/2020-12/msg00066.html

2020-12-28  Alan Mackenzie  <acm@muc.de>

	CC Mode: Add newish AWK Mode facilities, as used in gawk-4.

	* lisp/progmodes/cc-awk.el (c-awk-font-lock-invalid-namespace-separators):
	New function.
	(c-awk-context-expand-fl-region): New function.
	(awk-font-lock-keywords): Enhance handling of function declarations to include
	:: tokens.  Fontify new system variable names FPAT, FUNCTAB, PREC, ROUNDMODE,
	SYNTAB.  Fontify new keywords BEGINFILE and ENDFILE.  Fontify new system
	functions asorti, dcngettext, isarray, patsplit, typeof.  Fontify the new
	directives @include, @load, @namespace.  Call
	c-awk-font-lock-invalid-namespace-separators as a matcher.

	* lisp/progmodes/cc-fonts.el (top level): No longer require 'cc-awk.

	* lisp/progmodes/cc-langs.el (c-before-context-fontification-functions): Give
	AWK the value c-awk-context-expand-fl-region rather than nil.

	* lisp/progmodes/cc-mode.el (top level): Declare awk-mode-syntax-table as a
	variable.

2020-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el: Avoid consecutive `any` in completion patterns

	(completion-pcm--optimize-pattern): Turn multiple consecutive
	occurrences of `any` into just a single one.
	Suggested by Dario Gjorgjevski <dario.gjorgjevski@gmail.com>.

2020-12-28  Glenn Morris  <rgm@gnu.org>

	Fix package tests for tetris no longer existing as a package

	* test/lisp/emacs-lisp/package-tests.el
	(package-test-list-filter-by-name, package-test-list-clear-filter):
	Use ansi-color instead of tetris, which no longer has a version:.

2020-12-28  Alan Third  <alan@idiocy.org>

	Fix crash in NS menu code

	* src/nsmenu.m (ns_update_menubar): Don't assume that the top level
	menus are correct when populating the submenus.
	(free_frame_menubar): Clear the menu.
	([EmacsMenu removeAllItems]): Actually remove all menu items.

2020-12-28  Andrea Corallo  <akrl@sdf.org>

	Store function type and expose it with `subr-type'

	* src/lisp.h (struct Lisp_Subr): Add 'type' field.
	(SUBR_TYPE): New inline accessor.
	* src/pdumper.c (dump_subr): Update for 'type' field.
	* src/data.c (Fsubr_type): New primitive.
	(syms_of_data): Update.
	* src/comp.c (ABI_VERSION): Bump new ABI version.
	(make_subr): Set type.
	(Fcomp__register_lambda, Fcomp__register_subr)
	(Fcomp__late_register_subr): Receive and pass subr type to
	'make_subr'.
	* src/alloc.c (mark_object): Mark subr type.
	* lisp/emacs-lisp/comp.el (comp-func): Change slot type into mvar.
	(comp-emit-for-top-level, comp-emit-lambda-for-top-level): Pass
	type mvar to subr register functions.
	(comp-compute-function-type): Fix-up subr type mvars.
	* test/src/comp-tests.el (comp-tests-check-ret-type-spec): Use
	`subr-type'.

2020-12-28  Andrea Corallo  <akrl@sdf.org>

	Reorder subr register function arguments to make some room

	* src/comp.c (Fcomp__register_lambda, Fcomp__register_subr)
	(Fcomp__late_register_subr): Use a rest arg to pass 'doc_idx' and
	'intspec' parameters.
	* lisp/emacs-lisp/comp.el (comp-emit-for-top-level)
	(comp-emit-lambda-for-top-level): Update.

2020-12-28  Andrea Corallo  <akrl@sdf.org>

	Propagate function calls also when hiddend under funcall

	* lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate functions
	also when called under `funcall'.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.

2020-12-28  Andrea Corallo  <akrl@sdf.org>

	Compute function type for native compiled functions

	* lisp/emacs-lisp/comp.el (comp-func): `type' rename from
	`ret-type-specifier'.
	(comp-args-to-lambda-list): New function.
	(comp-compute-function-type): New function from
	`comp-ret-type-spec'.
	(comp-final): Update.
	* test/src/comp-tests.el (comp-tests-check-ret-type-spec): Update.

2020-12-28  Andrea Corallo  <akrl@sdf.org>

	Improve some slot type into comp.el

	* lisp/emacs-lisp/comp.el (comp-args-base, comp-args)
	(comp-nargs, comp-func): Fix the type of some slots.

2020-12-28  Stefan Kangas  <stefan@marxist.se>

	Minor cleanups in tetris.el

	* lisp/play/tetris.el: Remove redundant :group args.
	(tetris-get-tick-period): Drop unnecessary check.
	(tetris): Stylistic doc fixes.

2020-12-28  Stefan Kangas  <stefan@marxist.se>

	* lisp/ps-print.el (ps-message-log-max): Remove XEmacs compat code.

2020-12-28  Stefan Kangas  <stefan@marxist.se>

	Remove redundant 'function's around lambda in vhdl-mode.el

	* lisp/progmodes/vhdl-mode.el (fboundp, vhdl-sort-alist, lambda)
	(vhdl-create-mode-menu, vhdl-set-offset, vhdl-set-style)
	(vhdl-regress-line, vhdl-align-inline-comment-region-1)
	(vhdl-resolve-paths, vhdl-generate-makefile-1)
	(vhdl-submit-bug-report): Remove redundant 'function's around lambda.

2020-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix too-long feedmail-sendmail-f-doesnt-sell-me-out doc string

	* lisp/mail/feedmail.el (feedmail-sendmail-f-doesnt-sell-me-out):
	Fold the example SMTP header using continuation folding.

2020-12-28  Stefan Kangas  <stefan@marxist.se>

	Fill some auto-generated docstrings

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode)
	(define-globalized-minor-mode): Fill auto-generated documentation
	strings.  (Bug#44858)
	* lisp/subr.el (internal--fill-string-single-line)
	(internal--format-docstring-line): New functions.

2020-12-28  Stefan Kangas  <stefan@marxist.se>

	Make byte-compiler warn about wide docstrings

	* lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p):
	(byte-compile-docstring-length-warn): New defuns.
	(byte-compile-docstring-max-column): New defcustom.
	(byte-compile--wide-docstring-substitution-len): New variable.
	(byte-compile-warning-types, byte-compile-warnings): New value
	'docstrings'.
	(byte-compile-file-form-autoload, byte-compile-file-form-defvar):
	(byte-compile-file-form-defvar-function, byte-compile-lambda):
	(byte-compile-defvar, byte-compile-file-form-defalias): Warn about too
	wide docstrings.  (Bug#44858)

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-warn-wide-docstring/defconst)
	(bytecomp-warn-wide-docstring/defvar): New tests.
	(bytecomp--define-warning-file-test): New macro.
	(bytecomp/warn-wide-docstring-autoload\.el)
	(bytecomp/warn-wide-docstring-custom-declare-variable\.el)
	(bytecomp/warn-wide-docstring-defalias\.el)
	(bytecomp/warn-wide-docstring-defconst\.el)
	(bytecomp/warn-wide-docstring-define-abbrev-table\.el)
	(bytecomp/warn-wide-docstring-define-obsolete-function-alias\.el)
	(bytecomp/warn-wide-docstring-define-obsolete-variable-alias\.el)
	(bytecomp/warn-wide-docstring-defun\.el)
	(bytecomp/warn-wide-docstring-defvar\.el)
	(bytecomp/warn-wide-docstring-defvaralias\.el)
	(bytecomp/warn-wide-docstring-ignore-fill-column\.el)
	(bytecomp/warn-wide-docstring-ignore-override\.el)
	(bytecomp/warn-wide-docstring-ignore\.el)
	(bytecomp/warn-wide-docstring-multiline-first\.el)
	(bytecomp/warn-wide-docstring-multiline\.el): New tests.
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-autoload.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-custom-declare-variable.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defalias.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defconst.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-abbrev-table.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-obsolete-function-alias.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-obsolete-variable-alias.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defun.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defvar.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defvaralias.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-fill-column.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-override.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-multiline-first.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-multiline.el:
	New files.

2020-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make octave-send-region be asynchronous

	* lisp/progmodes/octave.el (octave-send-region): Send things
	asynchronously to the inferior process (bug#24492).

2020-12-28  Yichao Yu  <yyc1992@gmail.com>

	Make XIM to work with non-CJK locales

	* src/xfns.c (best_xim_style): Don't rely on supported_xim_styles
	(bug#10867).

	* src/xterm.c (x_draw_window_cursor): Adjust to modern input styles.
	(xim_instantiate_callback): Ditto.

2020-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix background mode on Gnome 3.38 terminals

	* lisp/term/xterm.el (xterm--version-handler): Adjust to Gnome
	3.38 (bug#43891).

2020-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix alignment of Java String[] and the like

	* lisp/align.el (align-rules-list): Allow aligning Java String[] etc
	(bug#19385).

	Test case:

	class X
	{
	    String	field1;
	    String[] field2;
	    int		field3;
	    int[] field4;
	    X		field5;
	    X[] field6;
	}

2020-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Document the text property limitations in mode lines

	* doc/lispref/modes.texi (Properties in Mode, Mode Line Basics):
	Mention the special text property limitations.

2020-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow remember-notes to use the *scratch* buffer

	* lisp/textmodes/remember.el (remember-notes): Allow the
	remember-notes buffer to use the *scratch* buffer (as documented)
	(bug#20740).

2020-12-28  Dmitry Gutov  <dgutov@yandex.ru>

	Rename and document the built-in xref-show-definitions-function's

	* lisp/progmodes/xref.el (xref-show-definitions-buffer): Rename
	from 'xref--show-defs-buffer'.
	(xref-show-definitions-buffer-at-bottom): Rename from
	'xref--show-defs-buffer-at-bottom'.

2020-12-28  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)

	Do not output two spaces for non-autoloaded ieieo constructor functions

	* lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Amend
	format to avoid two spaces for non-autoloaded object constructor
	functions (bug#45454).

2020-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package-archives): Add NonGNU ELPA

2020-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/rst.el (rst-mode): Don't touch global hook

	(rst-re): η-reduce.

2020-12-27  Andrea Corallo  <akrl@sdf.org>

	Add 1+ 1- integer range propagation support

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-one): New special var.
	* lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate integer
	ranges on +1 -1.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add two tests.

2020-12-27  Andrea Corallo  <akrl@sdf.org>

	Add sum/subtraction integer range propagation support

	* lisp/emacs-lisp/comp-cstr.el (comp-range-+, comp-range--): New
	functions.
	(comp-cstr-set-range-for-arithm): New macro.
	(comp-cstr-add-2, comp-cstr-sub-2, comp-cstr-add, comp-cstr-sub):
	New function.
	* lisp/emacs-lisp/comp.el (comp-fwprop-call): Wire-up + - integer
	range propagation.

2020-12-27  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range): Improve.

2020-12-27  Andrea Corallo  <akrl@sdf.org>

	Add comp-cstr-greatest-in-range comp-cstr-smallest-in-range

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-smallest-in-range)
	(comp-cstr-greatest-in-range): New function.
	(comp-cstr->, comp-cstr->=, comp-cstr-<, comp-cstr-<=): Make use of.

2020-12-27  Andrea Corallo  <akrl@sdf.org>

	Don't require trailing backslashes in `comp-eln-load-path' (bug#45462)

	* src/comp.c (Fcomp_el_to_eln_filename): Don't require
	trailing backslashes in comp-eln-load-path.

2020-12-27  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-12-27  Alan Third  <alan@idiocy.org>

	Remove NS menu synthesized events (bug#44333)

	Remove the frame tracking stuff as it's not used for anything, and
	move the update tracking into the EmacsMenu class.

	* src/nsmenu.m (ns_update_menubar): Copy the parsing code from xmenu.c
	and rework the NS specific code around to update the existing menus
	instead of rebuilding them completely.
	(ns_activate_menubar):
	([EmacsMenu trackingNotification:]):
	([EmacsMenu menuWillOpen:]):
	([EmacsMenu menuDidClose:]): Remove unused functions.
	([EmacsMenu menuNeedsUpdate:]): Remove menu tracking code and add code
	to check whether an update is required.
	([EmacsMenu fillWithWidgetValue:]):
	([EmacsMenu addSubmenuWithTitle:]):
	([EmacsMenu initWithTitle:]): Remove references to frame.
	([EmacsMenu setFrame:]): Remove method.
	([EmacsMenu clear]): Rename to removeAllItems.
	([EmacsMenu removeAllItems]): Use built-in removeAllItems, if
	available.
	(syms_of_nsmenu): Remove tracking code.
	* src/nsterm.m (ns_check_menu_open):
	(ns_check_pending_open_menu):
	(ns_create_terminal): Remove unused functions.
	(ns_term_init): Get rid of menu tracking.
	* src/nsterm.h (EmacsMenu): Remove frame, add needsUpdate and update
	method definitions.

2020-12-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up length_internal with degenerate length inputs

	* src/fns.c (length_internal): Protect against edge conditions.

2020-12-27  Daniel Martín  <mardani29@yahoo.es>

	Improve "find definition" in *Help* buffers

	* lisp/emacs-lisp/find-func.el (find-function-search-for-symbol): If
	our regexp algorithm could not find a location for the symbol
	definition, resort to find-function--search-by-expanding-macros.
	* test/lisp/emacs-lisp/find-func-tests.el: Add a automatic test for a
	function and variable generated by a macro.
	* etc/NEWS: Advertise the improved functionality (bug#45443).

2020-12-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new predicates for sequence lengths

	* doc/lispref/sequences.texi (Sequence Functions): Document them.
	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Mark them as
	side-effect-free.

	* lisp/emacs-lisp/shortdoc.el (list): Mention them.

	* src/fns.c (Flength): Mention them in the doc string.
	(length_internal): New function.
	(Flength_less, Flength_greater, Flength_equal): New defuns.
	(syms_of_fns): Sym them.

2020-12-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the edebug-form-data doc string

	* lisp/emacs-lisp/edebug.el (edebug-form-data): Doc string
	clarification (bug#42776).

2020-12-26  Andrea Corallo  <akrl@sdf.org>

	Fix `byte-compile-file' for native compilation (bug#45442)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Fix logic for
	native compilation.

2020-12-26  Andrea Corallo  <akrl@sdf.org>

	Fix missing float handling into `comp-cstr-set-cmp-range'

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range): Add
	float handling.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Update results.

2020-12-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/forms.el (forms--run-functions): New function

	(forms--intuit-from-file, forms-save-buffer): Use it.
	(forms-mode): Use it to fix regression.
	Remove always-true test.  Fix incorrect uses of `fboundp`.
	(forms--iif-hook): Use `add-hook`.
	(forms--iif-post-command-hook): Use `remove-hook` and fix typo.
	(forms--debug): Use `mapconcat`.

2020-12-26  Eli Zaretskii  <eliz@gnu.org>

	Fix test/src/process-tests on MS-Windows

	* src/process.c (network_lookup_address_info_1) [WINDOWSNT]:
	Initialize winsock.

2020-12-26  Michael Albinus  <michael.albinus@gmx.de>

	Rename Tramp method "media" to "mtp" (Bug#45402)

	* doc/misc/tramp.texi (Quick Start Guide, GVFS-based methods):
	Rename "media" to "mtp".  (Bug#45402)

	* etc/NEWS: Rename Tramp method "media" to "mtp".  Fix typos.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-methods, tramp-media-methods)
	(tramp-gvfs-activation-uri)
	(tramp-gvfs-handler-volumeadded-volumeremoved)
	(tramp-get-media-devices, top): Rename "media" to "mtp".  (Bug#45402)

2020-12-26  Andrea Corallo  <akrl@sdf.org>

	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add two more test.

2020-12-26  Andrea Corallo  <akrl@sdf.org>

	Remove unnecessary lhs rename in `comp-ssa-rename-insn'

	* lisp/emacs-lisp/comp.el (comp-ssa-rename-insn): No point to
	rename lhs as it's being replaced.

2020-12-26  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add two functions.

2020-12-26  Eli Zaretskii  <eliz@gnu.org>

	Fix Rmail summary display when From: header is malformed

	* lisp/mail/rmailsum.el (rmail-header-summary): Remove newlines
	from the "From:" value, to avoid producing corrupted summary
	display.

2020-12-26  Andrea Corallo  <akrl@sdf.org>

	Enable integer range narrowing under compare and branch

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range)
	(comp-cstr->, comp-cstr->=, comp-cstr-<, comp-cstr-<=): New
	functions.
	* lisp/emacs-lisp/comp.el (comp-equality-fun-p)
	(comp-range-cmp-fun-p): New functions.
	(comp-collect-rhs): Use `comp-assign-op-p' in place of
	`comp-set-op-p'.
	(comp-negate-range-cmp-fun, comp-reverse-cmp-fun): New functions.
	(comp-emit-assume): Rework to be able to emit also comparison
	assumption.
	(comp-add-cond-cstrs-simple): Update for new `comp-emit-assume'.
	(comp-add-cond-cstrs-simple): Update to emit range assumption.
	(comp-fwprop-insn): Execute range assumptions.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add tests.

2020-12-26  emacs-f  <emacs-f@media.mit.edu>  (tiny change)

	Avoid missing email messages due to rmail-spam-filter

	* lisp/mail/rmail-spam-filter.el (rsf--rmail-last-seen-message):
	New function.
	(rmail-spam-filter, rmail-get-new-mail-filter-spam): Call
	'rsf--rmail-last-seen-message' instead of
	'rmail-first-unseen-message'.  (Bug#45128)

2020-12-26  Zajcev Evgeny  <zevlg@yandex.ru>

	Improvements for `:base-uri' svg image property

	* src/image.c (svg_load): Use ENCODE_FILE for `:base-uri'

	* doc/lispref/display.texi (SVG Images): Add more documentation for
	  `:base-uri'

2020-12-26  Eli Zaretskii  <eliz@gnu.org>

	Fix messages with plural forms in todo-mode.el

	* lisp/calendar/todo-mode.el (todo-move-item, todo-item-undone)
	(todo-category-completions): Use 'ngettext' instead of hard-coding
	plural forms by hand.

2020-12-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix issues with lib/malloc out-of-dir builds

	Problem reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2020-12/msg01626.html
	* configure.ac: If the scratch_buffer module is enabled, create
	lib/malloc and (if doing dependencies) lib/deps/malloc.
	* lib/Makefile.in (DEPFLAGS) [AUTO_DEPEND]: No longer any need to
	squash lib dependencies into a single directory.
	(clean): Also remove */*.o and $(DEPDIR)/*/*.d, to clean out
	malloc/*.o and deps/malloc/*.d.  Just remove *.d files in
	dependencies so that rm does not complain about not being able to
	remove deps/malloc.
	(extraclean): Also remove malloc, if it is empty.

2020-12-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Kill the scdaemon after doing the mml-sec tests

	* test/lisp/gnus/mml-sec-tests.el (mml-sec-test--kill-gpg-agent):
	Kill the scdaemon, too (bug#43358).

2020-12-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix infloop in memory-report

	* lisp/emacs-lisp/memory-report.el (memory-report--object-size-1):
	Fix infloop on circular lists.

2020-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix package reloading problems on systems with symlinks

	* lisp/emacs-lisp/package.el (package--files-load-history): We're
	comparing the truenames, so ensure that we've using that
	everywhere.  This fixes problems when there's symlinks in the paths.

2020-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Refactor package--list-loaded-files for easier debuggability

	* lisp/emacs-lisp/package.el (package--files-load-history)
	(package--list-of-conflicts): Factor out from...
	(package--list-loaded-files): ... this function for easier
	debuggability.

2020-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Disable some semantic tests on systems without g++

	* test/lisp/cedet/semantic-utest-ia.el: Disable g++ tests on
	systems without g++.

2020-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Skip some mml tests that rely on CMS if that's not installed

2020-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix gpg-agent killing in mml-sec-tests

	* test/lisp/gnus/mml-sec-tests.el (mml-sec-test--kill-gpg-agent):
	Identify the gpg-agent more successfully after the resource dir
	makeover.

2020-12-25  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	b242bbb073 (origin/emacs-27) ; lisp/org/org.el: Fix Version header.
	e0fc939c5f Add more details to the "word processor" section
	fda9b3e83a * src/Makefile.in (DO_CODESIGN): Fix expected architecture...

2020-12-25  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	5d46593568 Support build of Emacs on ARM Macos machines
	7f8793e5f1 Update to Org 9.4.4
	7b3367a0b5 * lisp/so-long.el: Decrease use of passive voice.
	a90836c638 * doc/misc/efaq.texi (New in Emacs 27): Add section.
	711fe70dd8 * doc/misc/efaq.texi (Latest version of Emacs): Bump version.
	52b30834fb * lisp/face-remap.el (face-remap-set-base): Doc fix.  (Bug...
	b3fe0ac62e Correct argument order in comment

2020-12-25  Michael Albinus  <michael.albinus@gmx.de>

	Tag another Tramp test :unstable on emba

	* test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process)
	(tramp-test43-asynchronous-requests): Tag them :unstable on emba.

2020-12-25  Michael Albinus  <michael.albinus@gmx.de>

	Tag Tramp test :unstable

	* test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
	Tag it :unstable on emba.

2020-12-25  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* lisp/international/mule-conf.el (ebcdic-int1, cp256, cp273)
	(ebcdic-be, cp274, ebcdic-br, cp275, ebcdic-cp-dk, ebcdic-cp-no)
	(cp277, ebcdic-cp-fi, ebcdic-cp-se, cp278, ebcdic-cp-it, cp280)
	(ebcdic-jp-e, cp281, ebcdic-cp-es, cp284, ebcdic-cp-gb, cp285)
	(ebcdic-jp-kana, cp290, ebcdic-cp-fr, cp297): Remove charset
	aliases, they are not really needed.

	* lisp/language/english.el (ibm275): Move from here...
	* lisp/language/european.el (ibm275): ...to here.

2020-12-25  Timo Myyrä  <timo.myyra@bittivirhe.fi>

	Add support for more EBCDIC code pages IBM2XX

	There was already charset file present in etc/charsets for IBM2XX
	character sets but there wasn't definitions for them in Emacs.
	Add character set and coding system definitions for them.
	* lisp/language/japanese.el (ibm281, ibm290):
	* lisp/language/european.el (ibm256, ibm273, ibm274, ibm277)
	(ibm278, ibm280, ibm284, ibm285, ibm297):
	* lisp/language/english.el (ibm275): New coding systems.
	* lisp/international/mule-conf.el (ibm256, ibm273, ibm274)
	(ibm275, ibm277, ibm278, ibm280, ibm281, ibm284, ibm285, ibm290)
	(ibm297): New charsets.

2020-12-25  Eli Zaretskii  <eliz@gnu.org>

	Don't compile Gnulib's 'free' on MinGW

	* nt/mingw-cfg.site (gl_cv_func_free_preserves_errno): Set to
	"yes" to avoid compiling Gnulib's free.c in the MinGW build.

2020-12-25  Eli Zaretskii  <eliz@gnu.org>

	Revert "Import posix_spawn from Gnulib."

	This reverts commit 3ba34141da77a24c251ee6530f3f72a366fe556e.
	It breaks the MinGW build and should be first tested on a
	branch.

2020-12-25  Eli Zaretskii  <eliz@gnu.org>

	Revert "Use posix_spawn if possible."

	This reverts commit 2c79a8f9210db01c86b0e5f236adeb0509519d30.
	It breaks the MinGW build in too many ways, and should be
	first tested on a branch.

2020-12-25  Philipp Stephani  <phst@google.com>

	Use posix_spawn if possible.

	posix_spawn is less error-prone than vfork + execve, and can make
	better use of system-specific enhancements like 'clone' on Linux.  Use
	it if we don't need to configure a pseudoterminal.

	* src/Makefile.in (LIB_POSIX_SPAWN): New variable.
	(LIBES): Use it.

	* src/callproc.c (emacs_spawn): Use posix_spawn on Unix-like system if
	we don't need to set up a pseudoterminal.

2020-12-25  Philipp Stephani  <phst@google.com>

	Import posix_spawn from Gnulib.

	posix_spawn is less error-prone than vfork + exec, and can make use of
	system-specific optimizations like `clone' on Linux.  Import Gnulib
	replacement so that we can use recent additions like
	`posix_spawn_file_actions_addchdir'.

	The only manual change are to admin/merge-gnulib and .gitignore.  All
	other changes are due to rerunning merge-gnulib.

	* admin/merge-gnulib (GNULIB_MODULES): Add posix_spawn-related
	modules.
	* .gitignore: Add new generated files.

2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	Update Gnulib.

	All changes in this commit are autogenerated by running
	admin/merge-gnulib.

2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	Adjust test_module to recent Gnulib changes

	* test/Makefile.in ($(test_module)): Also compile lib/free.c
	if it is needed to define rpl_free.

2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	Adjust to recent Gnulib changes

	The latest Gnulib merge brought in free-posix, which causes 'free'
	to preserve errno.  This lets us simplify some Emacs code that
	calls 'free'.
	* admin/merge-gnulib (GNULIB_MODULES): Add free-posix.
	This module is pulled in by canonicalize-lgpl anyway,
	so we might as well rely on it.
	* lib-src/emacsclient.c (get_current_dir_name):
	Sync better with src/sysdep.c.
	* lib-src/etags.c (process_file_name, etags_mktmp):
	* lib-src/update-game-score.c (unlock_file):
	* src/fileio.c (file_accessible_directory_p):
	* src/sysdep.c (get_current_dir_name_or_unreachable):
	Simplify by assuming that 'free' preserves errno.
	* src/alloc.c (malloc_unblock_input):
	Preserve errno, so that xfree preserves errno.
	* src/sysdep.c (get_current_dir_name_or_unreachable):
	Simplify by using strdup instead of malloc+memcpy.
	No need for realloc (and the old code leaked memory anyway on
	failure); just use free+malloc.

2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc 10.2 -Wanalyzer-null-argument in gtkutil.c

	* src/gtkutil.c (xg_item_label_same_p): Simplify.  Without this
	simplification, GCC (Ubuntu 10.2.0-13ubuntu1)
	-Wanalyzer-null-argument complains about use of NULL where
	non-null expected as argument of strcmp.

2020-12-25  Andrea Corallo  <akrl@sdf.org>

	Don't emit byte op-code annotations in LIMPLE to optimize for compile-time

	Saves 10~15% in bootstrap time.

	* lisp/emacs-lisp/comp.el (comp-op-case): Don't emit op-code
	annotaitons.
	(comp-limplify-lap-inst, comp-add-cond-cstrs-simple)
	(comp-add-cond-cstrs, comp-tco-func): Update accordingly.

2020-12-25  Eli Zaretskii  <eliz@gnu.org>

	Add more details to the "word processor" section

	* etc/TODO (Emacs as word processor): Add more details based on
	recent discussions.

2020-12-25  E. Choroba  <choroba@matfyz.cz>  (tiny change)

	cperl-mode: Correctly syntax highlight index/value array slices

	* lisp/progmodes/cperl-mode.el (cperl-init-faces): %array[0, 1]
	should use the array face, not the hash one (bug#45373).

2020-12-25  Thibault Polge  <thibault@thb.lt>

	Make `remove-hook' interactive

	* lisp/subr.el (remove-hook): Make `remove-hook' interactive
	(bug#45393).

2020-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow `string-limit' to work on encoded strings

	* doc/lispref/strings.texi (Creating Strings): Document it.

	* lisp/emacs-lisp/subr-x.el (string-limit): Allow limiting on
	encoded strings.

2020-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove `string-slice' -- it's not very well defined

	* doc/lispref/strings.texi (Creating Strings): Ditto.

	* lisp/emacs-lisp/subr-x.el (string-slice): Remove.

2020-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Unbreak the build on *BSD and Macos after previous gnulib merge

	* lib/Makefile.in (DEPFLAGS): Unbreak build on BSD derivatives by
	writing all deps files into a single directory (instead of
	deps/malloc/*.c).

2020-12-24  Eli Zaretskii  <eliz@gnu.org>

	Fix the MinGW build broken by Gnulib update

	* nt/mingw-cfg.site (gl_cv_func_readlink_trailing_slash)
	(gl_cv_func_readlink_truncate): Define to "yes" to avoid compiling
	readlink.c.

2020-12-24  Eli Zaretskii  <eliz@gnu.org>

	Unbreak the MinGW build broken by recent changes in callproc.c

	* src/w32.h (set_process_dir):
	* src/w32proc.c (set_process_dir): Change the argument to 'const
	char *'.
	* src/lisp.h (make_environment_block):
	* src/callproc.c (make_environment_block): Now returns 'char **'.
	(exec_failed) [DOS_NT]: Remove unused function.
	* src/callproc.c (child_setup): NEW_ARGV and ENV are now 'char **'.
	Making them 'const' breaks the MinGW build and is not needed for
	other platforms.
	* src/callproc.c (emacs_spawn): ARGV and ENVP arguments are now
	'char *', for the same reason.
	* src/process.c (create_process): Adapt to above changes.

2020-12-24  Philipp Stephani  <phst@google.com>

	Update Gnulib.

	All changes in this commit are autogenerated by running
	admin/merge-gnulib.

2020-12-24  Philipp Stephani  <phst@google.com>

	Ensure that Gnulib objects in subdirectories are built correctly.

	* lib/Makefile.in (.c.o): Add missing -o option.

2020-12-24  Andrea Corallo  <akrl@sdf.org>

	Memoize `comp-subtype-p'

	* lisp/emacs-lisp/comp-cstr.el (comp-subtype-p): Memoize.
	(comp-cstr-ctxt): Add `subtype-p-mem' slot.

2020-12-24  Andrea Corallo  <akrl@sdf.org>

	Constrain only mvars that are actually used

	* lisp/emacs-lisp/comp.el (comp-mvar-used-p, comp-collect-mvars)
	(comp-collect-rhs): New functions.
	(comp-add-cond-cstrs-simple, comp-add-cond-cstrs): Update logic.
	(comp-add-cstrs): Call `comp-collect-rhs' before doing anything
	else.

2020-12-24  Andrea Corallo  <akrl@sdf.org>

	Use `comp-assign-op-p' into dead code elimination pass

	* lisp/emacs-lisp/comp.el (comp-dead-assignments-func): Use
	`comp-assign-op-p' in place of `comp-set-op-p'.

2020-12-24  Andrea Corallo  <akrl@sdf.org>

	Fix logic for constraining block with multiple predecessors

	* lisp/emacs-lisp/comp.el (comp-limple-lock-keywords)
	(comp-add-cond-cstrs-target-block): Logic update.

2020-12-24  Andrea Corallo  <akrl@sdf.org>

	Symplify (not t) => nil and (not nil) => t

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-negation): Symplify (not
	t) => nil and (not nil) => t.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add two tests.

2020-12-24  Andrea Corallo  <akrl@sdf.org>

	Extend cstrs pass to match `unless' like code

	* lisp/emacs-lisp/comp.el (comp-emit-assume): Add assertion.
	(comp-add-new-block-between): Fix two typos.
	(comp-add-cond-cstrs-target-block): Fix typo.
	(comp-add-cond-cstrs-simple): Logic update.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.

2020-12-24  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-limplify-lap-inst): Opencode byte-not.

2020-12-24  Andrea Corallo  <akrl@sdf.org>

	Extend cstrs pass to match `when' like code

	* lisp/emacs-lisp/comp.el (comp-emit-assume): Better parameter names.
	(comp-add-cond-cstrs-simple): New function.
	(comp-add-cond-cstrs): Rename assume-target -> block-target.
	(comp-add-cstrs): Call `comp-add-cond-cstrs-simple'.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add test.

2020-12-24  Philipp Stephani  <phst@google.com>

	Centralize subprocess creation in a single function.

	Getting the vfork + execve combination right isn't easy, and the code
	was partially duplicated between callproc.c and process.c.  Centralize
	the spawn operation in a single function that deals with the nasty
	details.  Going forward, we should be able to use posix_spawn from
	either libc or Gnulib (or CreateProcessW on Windows) in the non-pty
	case.

	* src/callproc.c (emacs_spawn): New function to start an asynchronous
	subprocess.  Merge code from 'call_process' and 'create_process' into
	this function.
	(call_process): Use new 'emacs_spawn' function.
	(child_setup): Make static, since there are no users outside this
	compilation unit left.
	(CHILD_SETUP_TYPE): Move from header file, since there are no users
	outside this compilation unit left.

	* src/process.c (create_process): Use new 'emacs_spawn' function.

2020-12-24  Andrea Corallo  <akrl@sdf.org>

	Invert basic block argument order in LIMPLE cond-jump

	* lisp/emacs-lisp/comp.el (comp-emit-cond-jump)
	(comp-emit-switch, comp-emit-narg-prologue, comp-add-cond-cstrs):
	Invert basic block argument order in LIMPLE cond-jump.
	* src/comp.c (emit_limple_insn): Likewise.

2020-12-24  Alan Mackenzie  <acm@muc.de>

	CC Mode: introduce a new cache for brace structures.  This fixes bug #45248

	Also fix three infinite loops.  The new cache accelerates backward searches
	for struct beginnings in c-looking-at-or-maybe-in-bracelist.

	* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): In the final loop
	over unary operators, add a check (> (point) lim) to avoid certain infinite
	loops.
	(c-beginning-of-decl-1): In the first loop add a similar check on point and
	lim.
	(c-laomib-loop): New function extracted from
	c-looking-at-or-maybe-in-bracelist.
	(c-laomib-cache): New buffer local variable.
	(c-laomib-get-cache, c-laomib-put-cache, c-laomib-fix-elt)
	(c-laomib-invalidate-cache): New functions which implement the cache.
	(c-looking-at-or-maybe-in-bracelist): Replace two invocations of
	c-go-up-list-backwards with calls to c-parse-state.  Extract the new function
	c-laomib-loop.  Insert code which calls c-laomib-loop minimally, with the help
	of the new cache.

	* lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the new cache
	(at mode start).
	(c-before-change): Invalidate the new cache.
	(c-fl-decl-start): Add an extra check (> (point) bod-lim) to prevent looping.
	Determine the enclosing brace to pass as arguments to
	c-looking-at-or-maybe-in-bracelist.

2020-12-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/dispnew.c (sit_for): Fix bug#45292

	When reading, prefer staying in the selected-window over preserving
	the current-buffer.

2020-12-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/lisp-mnt.el (lm-section-end): Stop at the right heading

	`lisp-outline-level` assumes the match-data is that set by
	`outline-regexp`.

2020-12-23  TEC  <tec@tecosaur.com>

	authinfo-mode: add option to not hide any elements (and add font-lock)

	* lisp/auth-source.el (authinfo-hide-elements): New user option.
	(authinfo--keywords): New variable.
	(authinfo-mode): Use it.
	(authinfo--hide-passwords): Use doc-face instead of warning for
	the passwords.
	(authinfo--toggle-display): Ditto.

2020-12-23  Adam Porter  <adam@alphapapa.net>

	* lisp/tab-line.el: New options, faces, and functions

	* lisp/tab-line.el:
	(tab-line-tab-face-functions): New option.
	(tab-line-tab-inactive-alternate): New face.
	(tab-line-tab-special): New face.
	(tab-line-tab-face-inactive-alternating): New function.
	(tab-line-tab-face-special): New function.
	(tab-line-format-template): Use them.

	* etc/NEWS: Update.

	With thanks to Juri Linkov and Eli Zaretskii for their guidance.

2020-12-23  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-12-23  Philipp Stephani  <phst@google.com>

	* src/Makefile.in (DO_CODESIGN): Fix expected architecture name.

2020-12-23  Philipp Stephani  <phst@google.com>

	Declare argument vector as char *const *.

	This matches the signature of execve.

	* src/callproc.c (child_setup): Declare NEW_ARGV as char *const *.

2020-12-23  Philipp Stephani  <phst@google.com>

	* .clang-format (ColumnLimit): Fix line length.

2020-12-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Support build of Emacs on ARM Macos machines

	* configure.ac: Add support for aarch64-* on Macos (i.e., 64-bit
	ARM) (bug#43369).

2020-12-23  Philipp Stephani  <phst@google.com>

	Pass C string pointer to current directory to 'child_setup'.

	This avoids the impression that 'child_setup' could do anything
	Lisp-related.

	* src/callproc.c (child_setup): Pass C pointer to current directory
	name.
	(call_process): Adapt callers.

	* src/process.c (create_process): Adapt callers.

2020-12-23  Andrea Corallo  <akrl@sdf.org>

	Negate only values while constraining variables (bug#45376)

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-value-negation): New
	function.
	* lisp/emacs-lisp/comp.el (comp-fwprop-insn): Use
	`comp-cstr-value-negation'.
	* test/src/comp-test-funcs.el (comp-test-45376-1-f): Rename.
	(comp-test-45376-2-f): New function.
	* test/src/comp-tests.el (bug-45376-1): Rename test.
	(bug-45376-2): Add test.

2020-12-23  Andrea Corallo  <akrl@sdf.org>

	Fix non range cstr union operation

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-homogeneous): Add
	range parameter and handle the non range case.
	(comp-cstr-union-1-no-mem, comp-cstr-intersection-no-mem): Update
	`comp-cstr-union-homogeneous' call sites.

2020-12-23  Philipp Stephani  <phst@google.com>

	Allocate environment block before forking.

	While 'child_setup' carefully avoids calls to async-signal-unsafe
	functions like 'malloc', it seems simpler and less brittle to use
	normal allocation outside the critical section between 'fork' and
	'exec'.

	* src/callproc.c (make_environment_block): New function to create the
	environment block for subprocesses.  Code largely extracted from
	'child_setup' and adapted to use 'xmalloc' instead of 'alloca'.
	(child_setup): Remove environment block allocation in favor of
	passing the environment block as command-line argument.
	(call_process): Adapt to new calling convention.

	* src/process.c (create_process): Adapt to new calling convention.

2020-12-23  Andrea Corallo  <akrl@sdf.org>

	Follow cstr basic blocks to perform latch recognition

	* lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix latch
	recognition.

2020-12-23  Philipp Stephani  <phst@google.com>

	Reject filenames containing NUL bytes.

	Such filenames are dangerous, as Emacs would silently only use the
	part up to the first NUL byte.  Reject them explicitly instead.

	* src/coding.c (encode_file_name_1): New helper function.
	(encode_file_name): Check that encoded filename doesn't contain a
	NUL byte.
	(syms_of_coding): Define 'filenamep' symbol.

	* test/src/fileio-tests.el (fileio-tests/null-character): New unit
	test.

	* etc/NEWS: Document change.

2020-12-23  Philipp Stephani  <phst@google.com>

	Remove an unused parameter from 'child_setup' function.

	* src/callproc.c (child_setup): Remove unused SET_PGRP parameter.

	* src/callproc.c (call_process):
	* src/process.c (create_process): Fix all callers.

2020-12-23  Andrea Corallo  <akrl@sdf.org>

	Make input constraints into memoization hash immutable (bug#45376)

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1)
	(comp-cstr-intersection): Copy input before soting it into the
	memoization hash table.

2020-12-23  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-copy): Tweak for perf.

2020-12-23  Juri Linkov  <juri@linkov.net>

	Show image as text when trying to search/replace in image buffer (bug#25905)

	* lisp/image-mode.el (image-mode-isearch-filter): New function.
	(image-mode--setup-mode): Use it to add it as :before-while to
	isearch-filter-predicate.

2020-12-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the string-limit doc string

	* lisp/emacs-lisp/subr-x.el (string-limit): Mention
	truncate-string-to-width in the doc string.

2020-12-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow string-slice to take zero-length matches

	* lisp/emacs-lisp/subr-x.el (string-slice): Allow zero-length
	matches.  Code adapted from s.el by Magnar Sveen.

2020-12-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert recent server.el frame-focus changes

	* lisp/server.el (server-switch-buffer, server-execute): Revert
	9cef8fc8cdb5e6e18c9cf617eed3808d67ca340e and
	c5f2eb56c0164e87abc881955552e0b718921186.  This change led to
	regressions in non-new-frame circumstances.

2020-12-23  Łukasz Stelmach  <stlman@poczta.fm>

	Handle gracefully href="" in base tags in shr

	* net/shr.el (shr-tag-base): shr-parse-base can't handle empty
	strings gracefully.  Don't call it unless href is a non-empty
	string (bug#45355).

2020-12-23  Stefan Kangas  <stefan@marxist.se>

	Fix use of obsolete 'emergency' warning level

	* src/alloc.c (display_malloc_warning): Use new style ':emergency'
	warning level instead of obsolete 'emergency'.

2020-12-23  Zajcev Evgeny  <zevlg@yandex.ru>

	Fix use of obsolete 'error' warning level

	* src/fileio.c (auto_save_error): Use new style ':error' warning level
	instead of obsolete 'error'.

2020-12-23  Alan Third  <alan@idiocy.org>

	Use new NSString lisp methods

	* src/nsfont.m (ns_otf_to_script):
	(ns_registry_to_script):
	(ns_get_req_script): Use NSString conversion methods.
	* src/nsimage.m ([EmacsImage allocInitFromFile:]): Use NSString
	conversion methods.
	* src/nsmenu.m (ns_menu_show): Use NSString conversion methods.
	* src/nsselect.m (symbol_to_nsstring):
	(ns_string_to_pasteboard_internal): Use NSString conversion methods.
	* src/nsterm.m (ns_term_init):
	([EmacsView initFrameFromEmacs:]): Use NSString conversion methods.
	* src/nsxwidget.m (nsxwidget_webkit_uri):
	(nsxwidget_webkit_title):
	(js_to_lisp): Use NSString conversion methods.
	(build_string_with_nsstr): Functionality replaced by NSString
	extensions.

2020-12-22  Liāu, Kiong-Gē 廖宮毅  <gongyi.liao@gmail.com>  (tiny change)

	Fix --with-nativecomp Windows build (bug#45303)

	Liāu, Kiong-Gē 廖宮毅 <gongyi.liao@gmail.com>

	* src/comp.c (eln_load_path_final_clean_up): Fix argument order.
	* nt/mingw-cfg.site (ac_cv_func_strsignal): Force
	`ac_cv_func_strsignal' to no.

2020-12-22  Alan Mackenzie  <acm@muc.de>

	Align the word "Function" in profiler's headers over the actual functions

	* lisp/profiler.el (profiler-report-render-calltree-1): Replace two
	occurrences of "Function" with "  Function".

2020-12-22  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Ensure that Gnus servers are open(able) before searching them

	* lisp/gnus/gnus-search.el (gnus-search-run-search): Imap servers need
	to be opened (made into the "current server") before we manipulate the
	nnimap-buffer.
	(gnus-search-run-search): Sneakily fix regexp.
	(gnus-search-indexed-parse-output): We need to pass the server name in
	here, otherwise nnmaildir won't know how to make this the "current
	server".

2020-12-22  Alan Mackenzie  <acm@muc.de>

	Align profiler's header-line-format to column 0, to work correctly on tty's

	* lisp/profiler.el (profiler-report-header-line-format): Propertize the first
	space with 'display '(space :align-to 0).

2020-12-22  Alan Mackenzie  <acm@muc.de>

	Re-order the items in `profiler-report' output.

	Putting the usage figures first on the line will eliminate the truncation of
	function names.

	lisp/profiler.el (profiler-version): Change to "28.1".
	(profiler-format): Enhance, so that a width of zero means print the string
	without padding or truncation.
	(profiler-report-cpu-line-format, profiler-report-memory-line-format): Amend
	for the new layout.  The number of places for the cpu samples has been reduced
	from 19 to 12 (enough for ~30 years at 1,000 samples per second).
	(profiler-report-line-format, profiler-report-describe-entry): Amend for the
	new order of arguments to profiler-format.

	etc/NEWS (Specialized Modes): Add an entry documenting this change.

	doc/lispref/debugging.texi (Profiling): Describe the new ordering of the items
	in place of the old ordering.

2020-12-22  Michael Albinus  <michael.albinus@gmx.de>

	Reorganize Tramp header lines

	* lisp/net/tramp.el: Move header lines Version, Package-Requires,
	Package-Type and URL ...
	* lisp/net/trampver.el: ... here.

2020-12-22  Bastien Guerry  <bzg@gnu.org>

	Update to Org 9.4.4

2020-12-22  Daniel Martín  <mardani29@yahoo.es>

	Fix wdired-get-filename when ls -F marks symlinks

	* lisp/wdired.el (wdired-get-filename): In some systems like BSD or
	macOS, "ls -F" marks symlinks with a trailing "@".  Add logic
	accounting for this so that wdired-get-filename returns the correct
	filename.  This change also fixes test "wdired-test-bug34915" on macOS
	and BSD systems (bug#34915).

2020-12-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Make string-pad take an optional START parameter

	* lisp/emacs-lisp/subr-x.el (string-pad): Alter the calling
	convention.

2020-12-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Change the string-limit parameter semantics

	* lisp/emacs-lisp/subr-x.el (string-limit): Alter the calling
	convention.

2020-12-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Further string-clean-whitespace tweaks

	* lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Put \r
	back, which was mistakenly removed.

2020-12-22  Dmitry Gutov  <dgutov@yandex.ru>

	(ruby-mode-set-encoding): Use 'save-restriction'

	* lisp/progmodes/ruby-mode.el (ruby-mode-set-encoding):
	Use 'save-restriction' (bug#45349).

2020-12-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Tiny string-clean-whitespace simplification

	* lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Streamline by
	treating replacement string as being literal and having fixed case.

2020-12-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Make string-chop-newline more efficient

	* lisp/emacs-lisp/subr-x.el (string-chop-newline): Make more
	efficient.

2020-12-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Make string-clean-whitespace work on non-ASCII whitespace, too

	* lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Also clean
	up non-ASCII whitespace.

2020-12-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add try-completion to the string shortdoc

	* lisp/emacs-lisp/shortdoc.el (string): Mention try-completion here.

2020-12-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add string-chop-newline

	* doc/lispref/strings.texi (Creating Strings): Document it.
	* lisp/emacs-lisp/subr-x.el (string-chop-newline): Add new function.

2020-12-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix shorter-than-length case for string-limit

	* lisp/emacs-lisp/subr-x.el (string-limit): Fix
	shorter-than-length case.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Fix a test in auth-source-tests.el

	* test/lisp/auth-source-tests.el
	(auth-source-test-secrets-create-secret): Redefine `read-string'
	respecting the original number of arguments.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Fix a bunch of known type specifiers

	* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fixes for:
	=, string-search, substring.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Fix `comp-add-call-cstr' and add a test

	* lisp/emacs-lisp/comp.el (comp-add-call-cstr): Fix it.
	* test/src/comp-tests.el (assume-in-loop-1): New test.
	* test/src/comp-test-funcs.el (comp-test-assume-in-loop-1-f): New
	function.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Fix value type inference for doubly negate constraints

	* lisp/emacs-lisp/comp.el (comp-fwprop-insn): Do not propagate in
	case of double negation.
	* test/src/comp-test-funcs.el (comp-test-assume-double-neg-f):
	New function.
	* test/src/comp-tests.el (assume-double-neg): New test.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Fix native compiler tests when they are bytecompiled

	* test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-ts)
	(comp-cstr-typespec-test, comp-cstr-typespec-tests-alist): Eval
	also at compile time.
	* test/src/comp-tests.el (comp-tests-type-spec-tests)
	(comp-tests-define-type-spec-test): Likewise.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Simplify correctly (or (integer 1 1) (not (integer 1 1))) as t

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Logic
	update.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add a test.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Guarantee fwprop convergence and termination

	* lisp/emacs-lisp/comp.el (comp-emit-call-cstr): Have new-mvar as
	LHS *and* RHS when constraining in and to ensure monotonicity and
	fwprop convergence.
	(comp-fwprop): Raise a warning for debug reasons in case fwprop
	does not converge within 100 iterations.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Allow for overlapping src and dst in cstr set operations

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem)
	(comp-cstr-union-1, comp-cstr-intersection-no-mem)
	(comp-cstr-intersection): Logic update.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Symplify type specifier (not t) as nil

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-mem):
	Add logic.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add two tests.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Enhance type inference constraining function arguments

	* lisp/emacs-lisp/comp.el: Add some commentary.
	(comp-cond-cstrs-target-mvar): Rename and update docstring.
	(comp-add-cond-cstrs): Update to use
	`comp-cond-cstrs-target-mvar'.
	(comp-emit-call-cstr, comp-lambda-list-gen, comp-add-call-cstr):
	New functions.
	(comp-add-cstrs): Call `comp-add-call-cstr'.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Update two
	type specifier tests.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Allow for modifying insn-cell inside `comp-loop-insn-in-block'

	* lisp/emacs-lisp/comp.el (comp-loop-insn-in-block): Update.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Rename comp-cond-cstr into comp-add-cstrs

	* lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-target-mvar)
	(comp-add-cond-cstrs, comp-add-cstrs): Rename comp-cond-cstr
	-> comp-add-cstrs.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Two minors in comp.el

	* lisp/emacs-lisp/comp.el (comp-known-func-cstr-h)
	(comp-ret-type-spec): Style.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Add a type specifier test to comp-cstr-tests.el

	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add a test.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Enumerate and split type specifier tests in comp-tests.el to ease debug

	* test/src/comp-tests.el (comp-tests-type-spec-tests): Enumerate.
	(comp-tests-define-type-spec-test): New function.
	(comp-tests-define-type-spec-tests): New macro to expand tests.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Improve constraint simplification logic in comp-cstr.el

	* lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors):
	Simplify.
	(comp-cstr-empty-p): New Funchion.
	(comp-split-pos-neg): Minor.
	(comp-normalize-typeset): Logic update.
	(comp-union-typesets): Minor.
	(comp-intersect-two-typesets): New function.
	(comp-intersect-typesets): Logic update.
	(comp-range-union, comp-range-intersection): Minor.
	(comp-cstr-union-homogeneous, comp-cstr-union-1-no-mem)
	(comp-cstr-intersection-homogeneous)
	(comp-cstr-intersection-no-mem, comp-cstr-negation)
	(comp-type-spec-to-cstr, comp-cstr-to-type-spec): Logic update.

	* lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): Simplify.

2020-12-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename slice-string to string-slice

	* lisp/emacs-lisp/subr-x.el (string-slice): Rename from slice-string.
	* doc/lispref/strings.texi (Creating Strings): Ditto.

2020-12-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add `string-pad'

	* doc/lispref/strings.texi (Creating Strings): Document it.
	* lisp/emacs-lisp/shortdoc.el (string): Add example.

	* lisp/emacs-lisp/subr-x.el (string-pad): New function.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Fix a number of type specifier simplification tests

	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Fix a number of tests.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Improve comp-fwprop pass

	Wire-up comp-cstr.el routines in fwprop and constraint mvars also on
	the else side of branches.

	* lisp/emacs-lisp/comp.el (comp-emit-assume)
	(comp-cond-cstr-target-mvar, comp-cond-cstr-func)
	(comp-fwprop-insn): Logic update.
	(comp-mvar-value-vld-p, comp-mvar-propagate, comp-fwprop-call):
	Handle neg slot.

2020-12-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Beef up the Emacs string utility set a bit

	* doc/lispref/strings.texi (Modifying Strings): Document them.
	* lisp/emacs-lisp/shortdoc.el (string): Add examples.

	* lisp/emacs-lisp/subr-x.el (string-clean-whitespace)
	(string-fill, string-limit, string-lines, slice-string): New
	functions.

2020-12-21  Stefan Kangas  <stefan@marxist.se>

	* lisp/so-long.el: Decrease use of passive voice.

	Suggested by Richard Stallman <rms@gnu.org>.

2020-12-21  Eli Zaretskii  <eliz@gnu.org>

	Fix frame creation on X when tool bar is disabled

	* src/xterm.c (handle_one_xevent): Restrict the fix for bug#44002
	to situations when we are asked by the WM to create a window with
	bogus 1x1 dimensions.  (Bug#44794)

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Add mvar pretty print support when dumping LIMPLE

	* lisp/emacs-lisp/comp.el (comp-prettyformat-mvar)
	(comp-prettyformat-insn): New function.
	(comp-log-func): Update to use `comp-prettyformat-insn'.
	(comp-finalize-phis): Change LIMPLE phi format to ease
	`comp-prettyformat-insn' destructuring.

2020-12-21  Michael Albinus  <michael.albinus@gmx.de>

	Fix permission problem in Tramp's copy-file

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly):
	Take care of PRESERVE-UID-GID.

2020-12-21  Stefan Kangas  <stefan@marxist.se>

	* doc/misc/efaq.texi (New in Emacs 27): Add section.

2020-12-21  Stefan Kangas  <stefan@marxist.se>

	Drop XEmacs support for EDE ELisp projects

	* lisp/cedet/ede/proj-elisp.el (ede-proj-target-elisp): Remove
	XEmacs support.
	(ede-xemacs-compiler): Make obsolete.

2020-12-21  Stefan Kangas  <stefan@marxist.se>

	* doc/misc/efaq.texi (Latest version of Emacs): Bump version.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	Fix Windows build link-time zlib error (bug#45303)

	* src/lisp.h (md5_gz_stream): Declare.
	* src/comp.c (accumulate_and_process_md5)
	(final_process_md5, md5_gz_stream): Remove.
	* src/decompress.c (accumulate_and_process_md5)
	(final_process_md5, md5_gz_stream): Move from comp.c.

2020-12-21  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (eln_load_path_final_clean_up): Fix call arg order (bug#45303).

	* src/comp.c (Fcomp__compile_ctxt_to_file): Fix sigmask store/restore.

2020-12-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with entering Gnus groups when Gnus isn't running

	* lisp/gnus/gnus-sum.el (gnus-update-summary-mark-positions):
	Don't bug out when Gnus isn't running (bug#45330).

2020-12-21  Dario Gjorgjevski  <dario.gjorgjevski@gmail.com>

	Make python-mode fontify more assignment statements

	* lisp/progmodes/python.el (python-font-lock-assignment-matcher): New
	function to match assignment statements.
	(python-rx): Add `assignment-target' and `grouped-assignment-target'.
	(python-font-lock-keywords-maximum-decoration): Add new matchers
	(bug#45341).

2020-12-21  Dmitry Gutov  <dgutov@yandex.ru>

	Generic-ify xref-location-column

	* lisp/progmodes/xref.el (xref-location-column):
	Create a generic from xref-file-location-column, to use in the
	common rendering code (bug#36967).
	(xref--insert-xrefs): Update accordingly.

	* test/lisp/progmodes/xref-tests.el
	(xref-matches-in-directory-finds-two-matches-on-the-same-line)
	(xref-matches-in-directory-finds-an-empty-line-regexp-match):
	Ditto.

2020-12-21  Juri Linkov  <juri@linkov.net>

	De-duplicate lines in Xref buffers

	* lisp/progmodes/xref.el (xref--insert-xrefs):
	Render matches coming from the same line together (bug#36967).
	(xref--item-at-point): Account for the above.

2020-12-21  Philipp Stephani  <phst@google.com>

	Unbreak build after commit 1a0a11f7d2d1dbecb9f754b1e129d50e489058e6.

	The commit only changed a comment in 'struct buffer', so the portable
	dumper doesn't need to be adapted.

	* src/pdumper.c (dump_buffer): Update hash for 'struct buffer'.

2020-12-20  Alan Third  <alan@idiocy.org>

	Fix image cache lookup

	* src/image.c (lookup_image): ignore_colors should be false as we want
	to search for images with matching colors.

2020-12-20  Alan Third  <alan@idiocy.org>

	Remove unnecessary string conversion

	* src/nsfns.m (ns_set_represented_filename): NSString can load List
	strings directly now.

2020-12-20  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-12-20  Andrea Corallo  <akrl@sdf.org>

	Have native compiler always preserve multibyte strings (bug#45342)

	* lisp/emacs-lisp/comp.el (comp-final): Escape multibyte string
	when offloading compilation to child process.
	* test/src/comp-test-funcs.el (comp-test-45342-f): New function
	* test/src/comp-tests.el (bug-45342): New test

2020-12-20  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (goto-line-read-args): Use number-at-point (bug#45199)

	* lisp/subr.el (goto-char--read-natnum-interactive): Add the value of
	point to the end of default values, and move function slightly higher.

2020-12-20  Andrea Corallo  <akrl@sdf.org>

	Fix missing 'gcc_jit_type_get_const' macro definition (bug#45303).

	* src/comp.c (gcc_jit_type_get_pointer): Define macro.

2020-12-20  Michael Albinus  <michael.albinus@gmx.de>

	Improve make-process in Tramp

	* doc/misc/tramp.texi (Remote processes): Remove INSIDE_EMACS
	restriction.
	(Frequently Asked Questions, External packages): Add indices.

	* etc/NEWS: 'start-process-shell-command' and
	'start-file-process-shell-command' do not support the old calling
	conventions any longer.

	* lisp/subr.el (start-process-shell-command)
	(start-file-process-shell-command): Remove old calling conventions.

	* lisp/net/tramp-compat.el (remote-file-error): Remove, it isn't
	necessary.

	* lisp/net/tramp.el (tramp-handle-make-process): Remove special shell
	handling.  Support environment variables.

	* test/lisp/net/tramp-tests.el
	(tramp--test--deftest-direct-async-process): Skip for mock method.
	(tramp--test-async-shell-command): Suppress `shell-command-sentinel'.
	(tramp-test32-shell-command, tramp-test33-environment-variables):
	Adapt tests.
	(tramp-test32-shell-command-direct-async)
	(tramp-test33-environment-variables-direct-async): New tests.

2020-12-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Inhibit buffer hooks in temporary buffers

	Give get-buffer-create an optional argument to inhibit buffer hooks
	in internal or temporary buffers for efficiency (bug#34765).

	* etc/NEWS: Announce new parameter of get-buffer-create and
	generate-new-buffer, and that with-temp-buffer and with-temp-file
	now inhibit buffer hooks.

	* doc/lispref/buffers.texi (Buffer Names): Fix typo.
	(Creating Buffers): Document new parameter of get-buffer-create and
	generate-new-buffer.
	(Buffer List, Killing Buffers): Document when buffer hooks are
	inhibited.
	(Current Buffer):
	* doc/lispref/files.texi (Writing to Files): Document that
	with-temp-buffer and with-temp-file inhibit buffer hooks.
	* doc/lispref/internals.texi (Buffer Internals): Document
	inhibit_buffer_hooks flag.  Remove stale comment.
	* doc/misc/gnus-faq.texi (FAQ 5-8):
	* lisp/simple.el (shell-command-on-region): Fix indentation.

	* lisp/files.el (kill-buffer-hook): Document when hook is inhibited.
	(create-file-buffer):
	* lisp/gnus/gnus-uu.el (gnus-uu-unshar-article):
	* lisp/international/mule.el (load-with-code-conversion):
	* lisp/mh-e/mh-xface.el (mh-x-image-url-fetch-image):
	* lisp/net/imap.el (imap-open):
	* lisp/net/mailcap.el (mailcap-maybe-eval):
	* lisp/progmodes/flymake-proc.el
	(flymake-proc--read-file-to-temp-buffer)
	(flymake-proc--copy-buffer-to-temp-buffer): Simplify.

	* lisp/subr.el (generate-new-buffer): Forward new optional argument
	to inhibit buffer hooks to get-buffer-create.
	(with-temp-file, with-temp-buffer, with-output-to-string):
	* lisp/json.el (json-encode-string): Inhibit buffer hooks in buffer
	used.

	* src/buffer.c (run_buffer_list_update_hook): New helper function.
	(Fget_buffer_create): Use it.  Add optional argument to set
	inhibit_buffer_hooks flag instead of comparing the buffer name to
	Vcode_conversion_workbuf_name.  All callers changed.
	(Fmake_indirect_buffer, Frename_buffer, Fbury_buffer_internal)
	(record_buffer): Use run_buffer_list_update_hook.
	(Fkill_buffer): Document when buffer hooks are inhibited.  Use
	run_buffer_list_update_hook.
	(init_buffer_once): Inhibit buffer hooks in Vprin1_to_string_buffer.
	(Vkill_buffer_query_functions, Vbuffer_list_update_hook): Document
	when hooks are inhibited.
	* src/buffer.h (struct buffer): Update inhibit_buffer_hooks
	commentary.
	* src/coding.h (Vcode_conversion_workbuf_name):
	* src/coding.c (Vcode_conversion_workbuf_name): Make static again
	since it is no longer needed in src/buffer.c.
	(code_conversion_restore, code_conversion_save, syms_of_coding):
	Prefer boolean over integer constants.
	* src/fileio.c (Finsert_file_contents): Inhibit buffer hooks in
	" *code-converting-work*" buffer.
	* src/window.c (Fselect_window): Fix grammar.  Mention
	window-selection-change-functions alongside buffer-list-update-hook.

	* test/src/buffer-tests.el: Fix requires.
	(buffer-tests-inhibit-buffer-hooks): New test.

2020-12-20  Mattias Engdegård  <mattiase@acm.org>

	image-cache-size improvements

	Implement for non-Cairo X11 and NS.  Count masks as well, and
	XImage objects on X11.

	* src/image.c (image_size_in_bytes): New.
	(image_frame_cache_size): Use image_size_in_bytes.
	* src/nsterm.h:
	* src/nsimage.m (ns_image_size_in_bytes, [EmacsImage sizeInBytes]):
	New function and method.
	* src/w32gui.h:
	* src/w32term.c (w32_image_size): Update signature.

2020-12-20  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix default value of gnus-registry-register-all: should be t

	* lisp/gnus/gnus-registry.el (gnus-registry-register-all): This was
	meant to default to t; only an oversight during code review left it as
	nil.

2020-12-19  Dmitry Gutov  <dgutov@yandex.ru>  (tiny change)

	Jamie Beardslee <beardsleejamie@gmail.com>

	* lisp/progmodes/project.el (project-execute-extended-command):
	New command.
	(project-prefix-map): Binding for it.

2020-12-19  Andrea Corallo  <akrl@sdf.org>

	Add 'internal_condition_case_5' (bug#45303).

	* src/lisp.h (internal_condition_case_4)
	(internal_condition_case_5): Declare.
	* src/eval.c (internal_condition_case_5): New function.
	* src/comp.c (eln_load_path_final_clean_up): Use
	'internal_condition_case_5'.

2020-12-19  Juri Linkov  <juri@linkov.net>

	* lisp/image-mode.el: Use one timer and lock for slow remote calls (bug#45256)

	* lisp/image-mode.el (image-auto-resize-timer): New variable.
	(image--window-state-change): Cancel previous timer and
	remember new timer in image-auto-resize-timer.
	(image--window-state-change): New variable.
	(image-fit-to-window): When image-fit-to-window-lock is nil,
	call image-toggle-display-image ignoring 'remote-file-error'.

2020-12-19  Juri Linkov  <juri@linkov.net>

	No need to set isearch-input-method-function in isearch-transient-input-method

2020-12-19  Andrea Corallo  <akrl@sdf.org>

	Add 'gcc_jit_type_get_const' to Windows dynamic load machinery (bug#45303).

	* src/comp.c: Add 'gcc_jit_type_get_const' to windows dynamic
	load machinery.

2020-12-19  Stefan Kangas  <stefan@marxist.se>

	Convert apropos-internal from C to Lisp (Bug#44529)

	This runs insignificantly faster in C, and is already fast enough on
	reasonably modern hardware.  We might as well lift it to Lisp.
	This benchmark can be used to verify:

	  (benchmark-run 10 (apropos-command "test"))
	  => (0.12032415399999999 2 0.014772391999999995) ; C
	  => (0.13513192100000002 2 0.017216643000000004) ; Lisp

	* lisp/subr.el (apropos-internal): New defun, converted from C.
	* src/keymap.c (Fapropos_internal): Remove defun.
	(apropos_accum): Remove function.
	(apropos_predicate, apropos_accumulate): Remove variables.
	(syms_of_keymap): Remove defsubr for Fapropos_internal, and
	definitions of the above variables.
	* test/src/keymap-tests.el (keymap-apropos-internal)
	(keymap-apropos-internal/predicate): Move tests from here...
	* test/lisp/subr-tests.el (apropos-apropos-internal)
	(apropos-apropos-internal/predicate): ...to here.

2020-12-19  Eli Zaretskii  <eliz@gnu.org>

	* lisp/face-remap.el (face-remap-set-base): Doc fix.  (Bug#45264)

2020-12-19  Vasilij Schneidermann  <mail@vasilij.de>

	Correct argument order in comment

	* etc/ETAGS.EBNF (position): Correct comment.

2020-12-19  Stefan Kangas  <stefan@marxist.se>

	Shorten some over-wide docstrings in functions and macros

	* lisp/allout-widgets.el (allout-widgets-tally-string):
	* lisp/array.el (array-mode):
	* lisp/calc/calc-units.el (calc-spn):
	* lisp/cedet/ede/generic.el (ede-generic-new-autoloader):
	* lisp/cedet/semantic/analyze.el (semantic-analyze-find-tag-sequence-default)
	(semantic-analyze-find-tag-sequence):
	* lisp/cedet/semantic/bovine/c.el (semantic-c-evaluate-symbol-for-hideif):
	* lisp/cedet/semantic/bovine/make.el (semantic-lex-make-command):
	* lisp/cedet/semantic/db-typecache.el (semanticdb-typecache-include-tags):
	* lisp/cedet/semantic/doc.el (semantic-documentation-for-tag):
	* lisp/cedet/semantic/tag-ls.el (semantic--tag-attribute-similar-p):
	* lisp/emacs-lisp/advice.el (ad-map-arglists):
	* lisp/emacs-lisp/bytecomp.el (byte-constant2)
	(byte-save-restriction, byte-catch-OBSOLETE, byte-unwind-protect):
	* lisp/emacs-lisp/cl-generic.el (cl-generic-combine-methods):
	* lisp/emacs-lisp/seq.el (seq-partition, seq-set-equal-p)
	(seq-filter):
	* lisp/faces.el (face-attribute-specified-or, face-equal):
	* lisp/info.el (Info-prev-reference-or-link)
	(Info-next-reference-or-link):
	* lisp/isearch.el (with-isearch-suspended):
	* lisp/kmacro.el (kmacro-step-edit-macro, kmacro-set-counter):
	* lisp/org/org-agenda.el (org-agenda-filter-by-category):
	* lisp/ses.el (ses-cell-symbol):
	* lisp/w32-fns.el (w32-shell-dos-semantics): Shorten doc strings to
	not exceed 80-column limits.  (Bug#44858)

2020-12-19  Stefan Kangas  <stefan@marxist.se>

	Shorten over-wide docstrings in variables

	* lisp/cedet/semantic/util-modes.el (semantic-highlight-func-popup-menu):
	* lisp/emacs-lisp/elint.el (elint-top-form-logged):
	* lisp/erc/erc-dcc.el (erc-dcc-list):
	* lisp/expand.el (expand-pos):
	* lisp/font-lock.el (cpp-font-lock-keywords-source-depth):
	* lisp/gnus/gnus-sum.el (gnus-sort-gathered-threads-function):
	* lisp/gnus/message.el (message-cite-style-thunderbird):
	* lisp/gnus/nnmh.el (nnmh-be-safe):
	* lisp/gnus/nntp.el (nntp-open-telnet-envuser):
	* lisp/international/mule-cmds.el (current-transient-input-method):
	* lisp/net/tramp.el (tramp-file-name-structure):
	* lisp/org/ob-R.el (org-babel-R-write-object-command):
	* lisp/org/org-attach.el (org-attach-after-change-hook):
	* lisp/org/org.el (org-stamp-time-of-day-regexp):
	* lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions):
	* lisp/progmodes/ruby-mode.el (ruby-block-mid-re):
	* lisp/progmodes/verilog-mode.el (verilog-cache-enabled):
	* lisp/term.el (term-scroll-end):
	* lisp/textmodes/table.el (table-command-remap-alist)
	(table-inhibit-auto-fill-paragraph, table-command-remap-alist):
	* lisp/vc/ediff-diff.el (ediff-ignore-similar-regions):
	* lisp/vc/ediff-wind.el (ediff-mouse-pixel-threshold):
	* lisp/vc/smerge-mode.el (smerge-refine-ignore-whitespace):
	* lisp/vc/vc.el (vc-log-short-style):
	* lisp/view.el (view-exit-action): Shorten doc strings to not exceed
	80-column limits.  (Bug#44858)

2020-12-19  Stefan Kangas  <stefan@marxist.se>

	Shorten over-wide docstrings in defcustoms

	* lisp/calc/calc.el (calc-embedded-announce-formula-alist)
	(calc-embedded-open-formula, calc-embedded-close-formula)
	(calc-matrix-mode):
	* lisp/cedet/semantic/imenu.el (semantic-imenu-sort-bucket-function):
	* lisp/emacs-lisp/find-func.el (find-feature-regexp):
	* lisp/emulation/cua-base.el (cua-paste-pop-rotate-temporarily):
	* lisp/emulation/viper-init.el (viper-fast-keyseq-timeout)
	(viper-related-files-and-buffers-ring):
	* lisp/emulation/viper-keym.el (viper-want-ctl-h-help):
	* lisp/gnus/gnus-art.el (gnus-article-banner-alist):
	* lisp/gnus/gnus-group.el (gnus-keep-same-level):
	* lisp/gnus/gnus-score.el (gnus-adaptive-word-length-limit):
	* lisp/gnus/gnus-sum.el (gnus-inhibit-user-auto-expire):
	* lisp/gnus/gnus-uu.el (gnus-uu-ignore-files-by-type)
	(gnus-uu-do-not-unpack-archives)
	(gnus-uu-unmark-articles-not-decoded)
	(gnus-uu-correct-stripped-uucode, gnus-uu-save-in-digest)
	(gnus-uu-post-include-before-composing):
	* lisp/gnus/gnus.el (gnus-use-long-file-name)
	(gnus-install-group-spam-parameters):
	* lisp/gnus/message.el (message-cite-style):
	* lisp/gnus/nnmail.el
	(nnmail-split-fancy-with-parent-ignore-groups)
	(nnmail-cache-ignore-groups):
	* lisp/ido.el (ido-rewrite-file-prompt-functions):
	* lisp/mail/feedmail.el (feedmail-fiddle-plex-user-list)
	(feedmail-spray-address-fiddle-plex-list):
	* lisp/mh-e/mh-e.el (mh-annotate-msg-hook):
	* lisp/net/imap.el (imap-process-connection-type):
	* lisp/net/rcirc.el (rcirc-omit-threshold):
	* lisp/net/tramp-sh.el (tramp-copy-size-limit):
	* lisp/nxml/nxml-mode.el (nxml-default-buffer-file-coding-system):
	* lisp/obsolete/landmark.el (landmark-max-stall-time):
	* lisp/obsolete/tls.el (tls-checktrust):
	* lisp/org/org-indent.el
	(org-indent-mode-turns-off-org-adapt-indentation)
	(org-indent-mode-turns-on-hiding-stars):
	* lisp/org/org-protocol.el (org-protocol-project-alist):
	* lisp/progmodes/cc-vars.el (c-doc-comment-style):
	* lisp/progmodes/cperl-mode.el (cperl-indent-subs-specially):
	* lisp/progmodes/flymake-proc.el (flymake-proc-allowed-file-name-masks):
	* lisp/progmodes/hideif.el (hide-ifdef-expand-reinclusion-protection):
	* lisp/simple.el (minibuffer-history-case-insensitive-variables):
	* lisp/tab-bar.el (tab-bar-close-last-tab-choice):
	* lisp/textmodes/reftex-vars.el
	(reftex-special-environment-functions):
	* lisp/vc/ediff-init.el (ediff-startup-hook, ediff-cleanup-hook)
	(ediff-metachars):
	* lisp/vc/ediff-merg.el (ediff-show-clashes-only):
	* lisp/vc/ediff-mult.el (ediff-default-filtering-regexp): Shorten doc
	strings to not exceed 80-column limits.  (Bug#44858)

2020-12-19  Mattias Engdegård  <mattiase@acm.org>

	Correct units and spacing in memory-report

	* lisp/emacs-lisp/memory-report.el (memory-report--format):
	Use IEC unit prefixes and a space before.

2020-12-19  Basil L. Contovounesios  <contovob@tcd.ie>

	Set indent-tabs-mode for c-mode in .dir-locals.el

	* .dir-locals.el (c-mode): Enforce existing indent-tabs-mode
	policy.  (Bug#34765)

2020-12-19  Eli Zaretskii  <eliz@gnu.org>

	Fix over-wide doc strings

	* lisp/vc/ediff-init.el (ediff-before-flag-bol)
	(ediff-after-flag-eol, ediff-before-flag-mol):
	* lisp/org/org-ctags.el (org-ctags-open-link-functions):
	* lisp/mail/feedmail.el (feedmail-sendmail-f-doesnt-sell-me-out):
	* lisp/language/ethio-util.el (ethio-use-three-dot-question)
	(ethio-quote-vowel-always, ethio-W-sixth-always):
	* lisp/gnus/nnvirtual.el (nnvirtual-mapping-table)
	(nnvirtual-mapping-offsets, nnvirtual-mapping-reads)
	(nnvirtual-mapping-marks, nnvirtual-info-installed):
	* lisp/gnus/gnus.el (charset):
	* lisp/gnus/deuglify.el (gnus-outlook-deuglify-unwrap-stop-chars)
	(gnus-outlook-deuglify-no-wrap-chars)
	(gnus-outlook-deuglify-attrib-cut-regexp): Fix doc strings to not
	exceed 80-column limits.  (Bug#44858)

2020-12-19  Andrea Corallo  <akrl@sdf.org>

	Clean-up 'internal_condition_case_4' orphan declaration (bug#45303).

	* src/lisp.h (internal_condition_case_4): Declaration remove.

2020-12-19  Andrea Corallo  <akrl@sdf.org>

	Move diagnostic pragmas out of namespace-scope (bug#45303).

	Pragmas in GCC don't work reliably within function:
	<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92696>

	* src/comp.c (emit_static_object)
	(Fcomp_native_driver_options_effective_p)
	(Fcomp_libgccjit_version): Move pragmas out of name-scope.

2020-12-19  Andrea Corallo  <akrl@sdf.org>

	Fix Windows libgccjit library name (bug#45303).

	* lisp/term/w32-win.el (dynamic-library-alist): Fix Windows
	libgccjit library name.
	* src/emacs.c (syms_of_emacs): Likewise.

2020-12-19  Roland Winkler  <winkler@gnu.org>

	bibtex-mode: Permit user-defined schemes for sorting entries.

	* lisp/textmodes/bibtex.el (bibtex-maintain-sorted-entries):
	New allowed value (INDEX-FUN PREDICATE).
	(bibtex-entry-index, bibtex-lessp): Use it.
	(bibtex-init-sort): Rename from bibtex-init-sort-entry-class-alist.

2020-12-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package-quickstart-refresh): Fix last change

	Actually allow byte-compiling the file.
	Reported by Basil L. Contovounesios <contovob@tcd.ie>.

2020-12-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	48b9c47805 Minor fixes in authors.el and in tarball-making instructions
	d7a4ceaa1e ; Add a new item to TODO
	64fe805b19 Improve documentation of 'query-replace'
	7cacf5da47 Update to Org 9.4.3

	# Conflicts:
	#	admin/authors.el

2020-12-18  João Távora  <joaotavora@gmail.com>

	Document that flymake-diag-region saves match data

	The typical use of this function (which is parsing compiler diagnostic
	messages), lends itself too easily to one the problems in bug#29193.
	Make it a friendlier API.

	* doc/misc/flymake.texi (Flymake utility functions): Document that
	flymake-diag-region saves match data.

	* lisp/progmodes/flymake.el (flymake-diag-region): Document that
	this saves match data.

2020-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el: Byte compile the quickstart file

	Earlier tests had found problems when byte-compiling the file,
	but later investigations indicated the problem was not
	directly related.  The performance difference is appreciable.

	(package-quickstart-refresh): Byte compile the file.
	(package-activate-all): Load byte-compiled version if available.
	(package--quickstart-maybe-refresh): Delete the byte-compiled file as well.

2020-12-18  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes in authors.el and in tarball-making instructions

	* admin/authors.el (authors): Make the error message more helpful.
	(authors-ignored-files, authors-renamed-files-alist): Update.

2020-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/which-func.el (which-func-update): Bind `non-essential`

2020-12-18  Mattias Engdegård  <mattiase@acm.org>

	Follow good regexp practice

	These were found by relint 1.19.

	* lisp/help-fns.el (help-fns--first-release): Use string-end instead
	of line-end when matching a file name.
	* lisp/org/ob-core.el (org-babel--string-to-number): Put hyphen last
	in alternative.
	* lisp/org/org-agenda.el (org-agenda-filter): Escape '+' correctly.

2020-12-18  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-handle-make-process): Handle shell commands.

2020-12-18  João Távora  <joaotavora@gmail.com>

	Save match data in flymake-diag-region (bug#29193)

	* lisp/progmodes/flymake.el (flymake-diag-region): Move
	save-match-data up.

2020-12-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous frame-focus server.el change

	* lisp/server.el (server-execute): Always give Emacs focus,
	whether we open a new frame or not.

2020-12-18  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix regexp in IMAP search-string preparation

	* lisp/gnus/gnus-search.el (gnus-search-run-search): This was failing
	to catch all of X-GM-RAW.

2020-12-18  Dmitry Gutov  <dgutov@yandex.ru>

	flymake-diag-region: Fix the recent test breakage

	* lisp/progmodes/flymake.el (flymake-diag-region):
	Make sure to save the match data (bug#29193).

2020-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/org/org-refile.el (org-copy): Fix missing obsoletion version

2020-12-17  Andrea Corallo  <akrl@sdf.org>

	Makefile.in (w32locallisppath): Add PATH_REL_LOADSEARCH (bug#45303).

	* nt/epaths.nt (PATH_REL_LOADSEARCH): Define macro (bug#45303).

2020-12-17  Michael Albinus  <michael.albinus@gmx.de>

	Some minor Tramp changes

	* doc/lispref/os.texi (Timers): Speak about `remote-file-error'.

	* doc/misc/tramp.texi (Frequently Asked Questions): Speak about
	`remote-file-error'.
	(External packages): New subsection "Timers".

	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Adapt error
	function.  Handle coding.

	* lisp/net/tramp.el (tramp-handle-make-process): Adapt error function.

2020-12-17  Stefan Kangas  <stefan@marxist.se>

	Remove incorrect comment from erc-goodies.el

	* lisp/erc/erc-goodies.el (erc-move-to-prompt-setup): Remove incorrect
	comment; the XEmacs compat code has been removed.

2020-12-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix my two most common causes of all windows/frames redisplay

	* src/buffer.c (Fkill_all_local_variables): Only redisplay the buffer.
	* src/window.c (set_window_scroll_bars): Only redisplay the window.

2020-12-17  Zajcev Evgeny  <zevlg@yandex.ru>

	Make "Invalid modifier in string" ordinary invalid-read-syntax error

	* src/lread.c (read1): Raise "Invalid modifier in string" error as
	  `invalid-read-syntax'.  This fixes raise of unhandled error in
	  `elisp--local-variables'

2020-12-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix fallback use of write-file in ido-mode

	* lisp/ido.el (ido-file-internal): Make `write-file' respect the
	directory we've navigated to (bug#28513).

2020-12-17  Philipp Stephani  <phst@google.com>

	Ensure that byte compilation works for relative files (Bug#45287).

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don’t fail if
	target filename doesn’t contain a directory name.

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests--target-file-no-directory): New unit test.

2020-12-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Default the init file to init.el, not init

	* lisp/startup.el (startup--load-user-init-file): Make the default
	init file be "init.el", not "init" (bug#45197).

2020-12-16  Pankaj Jangid  <pankaj@codeisgreat.org>

	Fix resetting of gnus-pick-line-number

	* lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Move setting
	gnus-pick-line-number from here (bug#45269)...
	(gnus-summary-prepare): To here.  This ensures that the number is
	reset when regenerating the buffer, for instance when limiting it.

2020-12-16  Juri Linkov  <juri@linkov.net>

	Don't show minibuffer keybindings for suggestions in read-extended-command

	* lisp/simple.el (read-extended-command): Use 'affixation-function'
	instead of 'annotation-function'.  (Bug#45035)
	(read-extended-command--affixation): New function created from
	'read-extended-command--annotation'.

2020-12-16  Juri Linkov  <juri@linkov.net>

	Give affixation-function higher priority over annotation-function (bug#45234)

	* doc/lispref/minibuf.texi (Completion Variables)
	(Programmed Completion): Describe precedence rules
	of affixation-function and annotation-function.

	* lisp/minibuffer.el (completion-metadata)
	(completion-extra-properties): Describe precedence rules
	of affixation-function and annotation-function.
	(minibuffer-completion-help): First try to apply
	affixation-function, if there is no such function,
	try annotation-function.

2020-12-16  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'query-replace'

	* doc/emacs/search.texi (Query Replace): Add 'E' to the list of
	characters one can type at 'query-replace' prompt.  (Bug#45273)

2020-12-16  Bastien Guerry  <bzg@gnu.org>

	Update to Org 9.4.3

	Fix #45259

2020-12-16  Harald Jörg  <haj@posteo.de>

	CPerl-mode: don't treat <<>> as starting a here-doc

	* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Detect
	the "<<>>" operator (Bug#42455).

	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-test-bug-45255): Verify that <<>> does not start a
	HERE-doc.

2020-12-16  E. Choroba  <choroba@matfyz.cz>

	Update short docs in cperl-mode

	* lisp/progmodes/cperl-mode.el (cperl-short-docs):
	Update with some missing entries.  (Bug#45254)

2020-12-16  Dmitry Gutov  <dgutov@yandex.ru>

	(flymake-diag-region): Fall back to (end-of-thing 'symbol)

	* lisp/progmodes/flymake.el (flymake-diag-region):
	Fall back to (end-of-thing 'symbol) (bug#29193).

2020-12-15  Eli Zaretskii  <eliz@gnu.org>

	Fix C-n/C-p when a line starts with an image

	* src/xdisp.c (move_it_to): Handle the case where the second call
	to move_it_in_display_line_to under MOVE_TO_Y takes us farther
	from TO_CHARPOS than the first call.  This fixes values returned
	by pos-visible-in-window-p and posn-at-point when the screen line
	starts with invisible text followed by an image.  (Bug#9092)

2020-12-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	668f0a7f84 Fix point location when completing in gdb-mi.el
	2dbc95063b Update to Org 9.4.2
	f22856a5c5 Update to Org 9.4.1

	# Conflicts:
	#	doc/misc/org.texi
	#	lisp/org/ob-core.el
	#	lisp/org/ob-ruby.el
	#	lisp/org/ob-screen.el
	#	lisp/org/ol-gnus.el
	#	lisp/org/ol.el
	#	lisp/org/org.el

2020-12-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	62a6934af9 Fix crash when using XRender and restoring image from X (b...
	de032d41c6 Bind k to image-kill-buffer in doc-view-mode-map.

2020-12-15  Eli Zaretskii  <eliz@gnu.org>

	Fix setting breakpoints in "M-x gdb" when a source file is missing

	* lisp/progmodes/gdb-mi.el (gdb-get-location): Fix control flow
	logic when "fullname" is not found.  Unquote and unescape the full
	file name by calling gdb-mi--c-string-from-string.  FLAG is a
	string, not a character.  (Bug#15051)

2020-12-15  Alan Mackenzie  <acm@muc.de>

	CC Mode: Optimize for scrolling large buffers containing few braces

	This fixes bug #25706.  It particularly pertains to .h files which contain
	only macro definitions.  Many of these files are to be found, for example, in
	the driver sections of the Linux kernel.

	* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1, c-on-identifier)
	(c-syntactic-skip-backward, c-find-decl-prefix-search, c-find-decl-spots)
	(c-forward-name, c-back-over-list-of-member-inits)
	(c-back-over-member-initializers, c-looking-at-inexpr-block)
	(c-guess-basic-syntax): Give search limits to, or amend existing ones to
	c-backward-syntactic-ws, c-forward-syntactic-ws, c-backward-token-2,
	c-beginning-of-statement-1.
	(c-determine-limit-no-macro): New function.
	(c-determine-limit-get-base): Remove unlimited invocation of
	c-backward-syntactic-ws.
	(c-determine-limit): Exclude movement between two different macros.  Use new
	function c-determine-limit-no-macro.
	(c-back-over-list-of-member-inits): New parameter `limit'.

	* lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
	(c-font-lock-declarations, c-font-lock-c++-using): Give search limits to, or
	amend existing ones to c-backward-syntactic-ws, c-beginning-of-decl-1.

	* lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens, c-before-changer)
	(c-fl-decl-end): Give search limits to, or amend existing ones to
	c-backward-syntactic-ws, c-forward-syntactic-ws, skip-chars-backward,
	skip-chars-forward.

2020-12-15  Michael Albinus  <michael.albinus@gmx.de>

	Revert last change in tramp-maybe-open-connection)

	* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Revert last change,
	it causes trouble.

2020-12-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix electric pairs in rst-mode

	* lisp/textmodes/rst.el (rst-mode-syntax-table): Mark pairs in the
	syntax table (bug#23413).
	(rst-mode): Instead of setting electric-pair-pairs.

2020-12-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Bind current-minibuffer-command to this-command

	* src/callint.c (Fcall_interactively): Bind
	current-minibuffer-command to this-command, as documented (bug#45177).

2020-12-14  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/errors.texi (Standard Errors): Fix xref.

	Though I am not sure "report a bug" is helpful.

2020-12-14  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/indent.texi (Indent Convenience): Fix use of @xref.

2020-12-14  Glenn Morris  <rgm@gnu.org>

	Tiny fix for lispref/variables.texi

	* doc/lispref/variables.texi (Converting to Lexical Binding):
	@strong{Note...} produces a spurious cross-reference in Info;
	reword to avoid that.

2020-12-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/gv.el (error): Allow it as a place

2020-12-14  Alan Mackenzie  <acm@muc.de>

	Optimize c-font-lock-<>-arglists, particularly for buffers with few <..> pairs

	* lisp/progmodes/cc-fonts.el (c-font-lock-<>-arglists): In place of a regexp
	search for a complicated and slow regexp, search simply for "<" outside of
	literals together with add hoc testing of other requirements for a <...>
	match.

	* lisp/progmodes/cc-langs.el (c-nonsymbol-key): New c-lang-defvar from the
	c-lang-const.

2020-12-14  Alan Third  <alan@idiocy.org>

	Fix error with fn key in NS port (bug#44533)

	* src/nsterm.m ([EmacsView keyDown:]): Move the correction for fn key
	handling to before the modifiers are calculated.

	(cherry picked from commit 7970610d48701a949ce443c94c71eac47d044197)

2020-12-14  Alan Mackenzie  <acm@muc.de>

	Optimize c-parse-state for large buffers with few (if any) braces.

	* lisp/progmodes/cc-engine.el (c-get-fallback-scan-pos): Search a maximum of
	50,000 characters back for the two BODs.  Return nil if we don't find them.
	(c-parse-state-get-strategy): For strategy `forward', always use the position
	`good-pos' for `start-point', even when there's a change of current macro.
	Deal with a possible return value of nil from c-get-fallback-scan-pos (as
	above).
	(c-invalidate-state-cache-1): For `c-state-cache-good-pos', instead of
	sometimes using the minimum scan pos (leading to extensive scanning of the
	entire buffer) use a point close to `here'.

2020-12-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some admin/emake comments

2020-12-14  Gregory Heytings  <ghe@sdf.org>

	Make the emake error messages red

	* admin/emake: Colorize error messages.

2020-12-14  Michael Albinus  <michael.albinus@gmx.de>

	Add 'remote-file-error' for Tramp

	* doc/lispref/errors.texi (Standard Errors): Add 'remote-file-error'.

	* etc/NEWS: Mention 'remote-file-error'.

	* lisp/net/ange-ftp.el (ftp-error): Add error condition
	`remote-file-error'.

	* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections): Do not set
	`tramp-locked'.

	* lisp/net/tramp-compat.el (remote-file-error): Define if it
	doesn't exist.

	* lisp/net/tramp-sh.el (tramp-timeout-session): Check for "locked"
	property.
	(tramp-maybe-open-connection): Simplify.

	* lisp/net/tramp.el (tramp-locked, tramp-locker): Remove them.
	(tramp-file-name-handler): Do not set them.
	(with-tramp-locked-connection): New defmacro.
	(tramp-accept-process-output, tramp-send-string): Use it.

	* src/fileio.c (Qremote_file_error): New error symbol.

	* test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests):
	Adapt test.  Remove :unstable tag.

2020-12-14  Eli Zaretskii  <eliz@gnu.org>

	Improve accuracy of scrolling commands

	* src/xdisp.c (move_it_vertically_backward): Don't rely on
	line_bottom_y for accurate calculation of the next screen line's Y
	coordinate: it doesn't work when the current screen line was not
	yet traversed.  Instead, record the previous Y coordinate and
	reseat there if overshoot is detected.
	* src/window.c (window_scroll_pixel_based): Calculate the new
	window-start point more accurately when screen lines have uneven
	height.  (Bug#8355)

2020-12-14  Stefan Kangas  <stefan@marxist.se>

	Make XEmacs entry in the FAQ more contemporary

	* doc/misc/efaq.texi (Difference between Emacs and XEmacs): Make
	XEmacs entry in the FAQ more contemporary.  Remove part about re-using
	XEmacs code; this is not likely to be relevant these days and in any
	case is not a frequently asked question.  (Bug#45235)

2020-12-14  Eli Zaretskii  <eliz@gnu.org>

	Fix point location when completing in gdb-mi.el

	* lisp/progmodes/gdb-mi.el (def-gdb-auto-update-handler): Don't
	force window-start position, so that redisplay doesn't move point
	when popping completion window below the GUD one.  (Bug#45052)

2020-12-14  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix logic of gnus-search-imap-handle-date

	* lisp/gnus/gnus-search.el (gnus-search-imap-handle-date): Just
	rewrite this whole ridiculous function.

2020-12-14  Stefan Kangas  <stefan@marxist.se>

	* lisp/play/5x5.el: Fix typo.  Remove redundant :group args.

2020-12-14  Tim Ruffing  <crypto@timruffing.de>  (tiny change)

	* etc/emacs.service:

	* etc/emacs.service (ExecStart): Make Emacs exit from systemd work
	better (bug#45181).

	The problem here is the exit code 15, which emacs will return *only* if
	it has received SIGTERM. I believe what's happening here is that
	emacsclient will call kill-emacs but not wait until the emacs server
	has properly shut down. However, it's supposed to wait for the shutdown
	as an "ExecStop" command according to "man systemd.service". So since
	the process is still alive when emacsclient comes back, systemd will
	still issue SIGTERM, making emacs return 15 (maybe after calling kill-
	emacs again?!).

2020-12-14  Robert Thorpe  <rt@robertthorpeconsulting.com>  (tiny change)

	Mention how to handle user names with @ in rmail

	* doc/emacs/rmail.texi (Remote Mailboxes): Mention how to work
	around the problem with user names like foo@example.com (bug#16946).

2020-12-14  Daniel Martín  <mardani29@yahoo.es>

	Make goto-char offer the number at point as default

	* lisp/subr.el (read-natnum-interactive): New function to read natural
	numbers for interactive functions.
	* src/editfns.c (Fgoto_char): Call read-natnum-interactive from the
	interactive definition of goto-char to offer the number at point as
	default.  Also expand the docstring to document this new interactive
	behavior.
	* doc/emacs/basic.texi (Moving Point): Expand the Emacs manual to
	document this new behavior.
	* etc/NEWS: And announce it (bug#45199).

2020-12-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Tool bar documentation clarification: Mention forcing updates

	* doc/lispref/keymaps.texi (Tool Bar): Document that flipping the
	status of a tool bar item doesn't necessarily update the visuals
	(bug#42957).

2020-12-14  Tomas Nordin  <tomasn@posteo.net>  (tiny change)

	Fix narrow-to-defun in python-mode

	* lisp/progmodes/python.el (python-nav--beginning-of-defun): Make
	narrow-to-defun work better in classes (bug#40563).

2020-12-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new recursively bound `current-minibuffer-command' variable

	* doc/lispref/commands.texi (Command Loop Info): Document it
	(bug#45177).

	* src/callint.c (Fcall_interactively): Bind it.

	* src/keyboard.c (syms_of_keyboard): Define
	current-minibuffer-command.

2020-12-14  Ulrich Ölmann  <u.oelmann@pengutronix.de>  (tiny change)

	Add a DirectoryMode to the Emacs Server example

	* doc/emacs/misc.texi (Emacs Server): Update example

	* doc/emacs/misc.texi (Emacs Server): The socket containing directory
	is per default created with permissions 0755 by the socket-unit.
	However this is considered unsafe since commit [1], so enhance unit
	example with systemd configuration directive `DirectoryMode=' to
	create it with safe permissions, see
	https://www.freedesktop.org/software/systemd/man/systemd.socket.html#DirectoryMode=

	[1] 2003-04-12 "(server-socket-name): Use new safe location for socket."

2020-12-14  Stefan Kangas  <stefan@marxist.se>

	Update value of frame-title-format in FAQ

	* doc/misc/efaq.texi (Displaying the current file name in the
	titlebar): Fix default value of frame-title-format.

2020-12-14  Stefan Kangas  <stefan@marxist.se>

	Don't recommend setnu and wb-line-number

	* doc/misc/efaq.texi (Displaying the current line or column): Remove
	reference to third-party alternatives to display-line-numbers-mode.

2020-12-14  Stefan Kangas  <stefan@marxist.se>

	Remove more references to old versions from FAQ

	* doc/misc/efaq.texi (Learning how to do something)
	(Installing Emacs, Emacs for GNUstep, Emacs for macOS): Remove more
	references to Emacs 22 and older from FAQ.

2020-12-14  Stefan Kangas  <stefan@marxist.se>

	Make XEmacs compat variable warning-level-aliases obsolete

	* lisp/emacs-lisp/warnings.el (warning-level-aliases): Make obsolete.
	(display-warning): Warn when using one of the warning levels defined
	in above obsolete variable.  (Bug#44849)
	* lisp/url/url-proxy.el (url-find-proxy-for-url): Replace obsolete
	warning type 'critical with :error.

2020-12-14  Stefan Kangas  <stefan@marxist.se>

	Prefer setq to set+quote

	* lisp/cedet/semantic/senator.el (senator-lazy-highlight-update):
	* lisp/emulation/edt.el (edt-find, edt-restore-key)
	(edt-remember):
	* lisp/eshell/em-ls.el (eshell-ls--insert-directory):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
	* lisp/progmodes/hideif.el (hide-ifdef-mode):
	* test/lisp/url/url-future-tests.el (url-future-tests): Prefer setq to
	set+quote.

2020-12-14  Stefan Kangas  <stefan@marxist.se>

	* lisp/bookmark.el: Doc fix.

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Merge branch 'feature/integration-of-dictionary-el'

	b6227446d9 Importing dictionary module
	658ec3ccee Renamed connection.el
	e2ebffdd62 Renamed link.el
	723906c444 Removed some compatibility parts in dictionary
	5dc17d73b0 Add :version tag to defcustom statement
	49c250b388 Don't check coding-system-list for existence
	99a7e918c8 Don't check for existence of defface
	1773b9b687 Dictionary now uses button
	329b6a0210 Adding details page for dictionary
	837505075c Fix dictionary tooltip mode
	2f1e4fbc42 Support nil value for dictionary-server
	91ff1c8f7c Move placement of dictionary-tooltip-mouse-event
	28fe134971 Remove text property from empty line
	7ca331a4f9 Add history of search words to read-string
	d5a4da25b0 * lisp/net/dictionary.el: Remove remnants of package
	cc5f280378 * lisp/net/dictionary.el: Add lexical-binding:t
	09952ce434 Removed useless check for popup-menu
	81ebe86d8d Show error message when asking to match for nothing
	0044a2e888 * lisp/net/dictionary-connection.el: Add lexical-binding:t
	f58443780c * lisp/net/dictionary-connection.el: Remove obsolete Version
	54a3964e29 Update GPL version
	a557a103cc * lisp/net/dictionary-connection.el: Prefer defsubst
	ffa7d6671d * lisp/net/dictionary.el: Prefer defsubst over defmacro
	4deb8618e4 * lisp/net/dictionary.el (dictionary-mode): Use setq-local
	d30618cbc1 * lisp/net/dictionary.el (dictionary-tooltip-mode): Use ...
	a25a12ddaf Use when where else case returns nil
	89e9c1686e * lisp/net/dictionary.el (dictionary-display-more-info): ...
	d466231c3e A number of docstring fixes
	b18217eb87 A number of docstring fixes
	ca0de4d1e0 * etc/NEWS: Add entry for dictionary.el
	62d14e10f9 * lisp/net/dictionary.el (dictionary-pre-buffer): Unify casing

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	* lisp/net/dictionary.el (dictionary-pre-buffer): Unify casing

	Let all the buttons begins with an upper-case character and the rest of
	the text is lower-case.

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	* etc/NEWS: Add entry for dictionary.el

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	A number of docstring fixes

	* lisp/net/dictionary-connection.el (dictionary-connection-p,
	  dictionary-connection-read-point, dictionary-connection-process,
	  dictionary-connection-buffer, dictionary-connection-set-read-point,
	  dictionary-connection-set-process, dictionary-connection-set-buffer,
	  dictionary-connection-create-data, dictionary-connection-open,
	  dictionary-connection-status, dictionary-connection-close,
	  dictionary-connection-send, dictionary-connection-send-crlf,
	  dictionary-connection-read, dictionary-connection-read-crlf,
	  dictionary-connection-read-to-point): Fix docstring

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	A number of docstring fixes

	* lisp/net/dictionary.el (dictionary-set-server-var, dictionary-mode,
	  dictionary, dictionary-new-buffer, dictionary-reply-code,
	  dictionary-reply, dictionary-reply-list, dictionary-open-server,
	  dictionary-check-connection, dictionary-mode-p, dictionary-close,
	  dictionary-read-reply, dictionary-split-string,
	  dictionary-read-reply-and-split, dictionary-read-answer,
	  dictionary-check-reply, dictionary-coding-system,
	  dictionary-decode-charset, dictionary-encode-charset,
	  dictionary-check-initial-reply, dictionary-store-state,
	  dictionary-restore-state, dictionary-new-search,
	  dictionary-new-search-internal, dictionary-do-search,
	  dictionary-pre-buffer, dictionary-post-buffer,
	  dictionary-display-search-result, dictionary-display-word-entry,
	  dictionary-display-word-definition, dictionary-mark-reference,
	  dictionary-select-dictionary, dictionary-display-dictionarys,
	  dictionary-display-dictionary-line, dictionary-set-dictionary,
	  dictionary-special-dictionary, dictionary-display-more-info,
	  dictionary-select-strategy, dictionary-do-select-strategy,
	  dictionary-display-strategies, dictionary-display-strategy-line,
	  dictionary-set-strategy, dictionary-new-matching,
	  dictionary-do-matching, dictionary-display-only-match-result,
	  dictionary-display-match-result, dictionary-display-match-result,
	  dictionary-display-match-lines, dictionary-search,
	  dictionary-previous, dictionary-help, dictionary-match-words,
	  dictionary-mouse-popup-matching-words,
	  dictionary-popup-matching-words, dictionary-tooltip-mode,
	  dictionary-tooltip-mouse-event): Fix docstring

	The following kind of changes were made:

	- finish first line with a full stop (.)
	- mention parameter in upper-case whenever possible (considering the
	  length constraints)

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	* lisp/net/dictionary.el (dictionary-display-more-info): Spelling fix

	Fix the spelling in the error message for non-existing dictionary.

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Use when where else case returns nil

	* lisp/net/dictionary-connection.el (dictionary-connection-status,
	dictionary-connection-close): Instead of returning nil in the else case
	of the if just use when.

	Was suggested by Stefan Kangas.

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	* lisp/net/dictionary.el (dictionary-tooltip-mode): Use setq-local

	* lisp/net/dictionary.el (dictionary-mode): Use setq-local

	* lisp/net/dictionary.el: Prefer defsubst over defmacro

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	* lisp/net/dictionary-connection.el: Prefer defsubst

	Use defsubst instead of defmacro here. It was suggested by Stefan
	Kangas to replace the defmacro here and, looking at the lispref,
	defsubst seems to be a suitable replacement providing the same
	benefit of inlining functionality as the defmacro.

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Update GPL version

	* lisp/net/dictionary.el: Use GPL version 3 or later
	* lisp/net/dictionary-connection.el: Use GPL version 3 or later

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	* lisp/net/dictionary-connection.el: Remove obsolete Version

	* lisp/net/dictionary-connection.el: Add lexical-binding:t

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Show error message when asking to match for nothing

	* lisp/net/dictionary.el (dictionary-popup-matching-words): Show error
	if neither the parameter nor the word at point are defined

	This avoids an error later on when the nil value is used as string
	within dictionary-encode-charset.

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Removed useless check for popup-menu

	* lisp/net/dictionary.el (dictionary-popup-matching-words): No need to
	check for popup-menu, the code is part of Emacs now and the function
	should always be there

2020-12-14  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	* lisp/net/dictionary.el: Add lexical-binding:t

	Fixing all the issues found by this. A number of unused variables were
	reported here.

2020-12-14  Gabriel do Nascimento Ribeiro  <gabriel.nascimento@nubank.com.br>

	New option tab-bar-history-buttons-show

	    * lisp/tab-bar.el (tab-bar-history-buttons-show): If true,
	    show back and forward buttons when tab-bar-history-mode
	    is enabled.  (Bug#45227)

	    Copyright-paperwork-exempt: yes

2020-12-14  Juri Linkov  <juri@linkov.net>

	Allow creating a new tab for tab-switcher from the minibuffer (bug#45072)

	* lisp/tab-bar.el (tab-switcher): Simplify by let-binding
	tab-bar-new-tab-choice to t before calling tab-bar-new-tab
	that handles the case when it's called in the active minibuffer.

2020-12-14  Juri Linkov  <juri@linkov.net>

	Don't show matches with no input for nil icomplete-show-matches-on-no-input

	* lisp/icomplete.el (icomplete-show-matches-on-no-input): Fix docstring.
	(icomplete--initial-input): New internal variable.
	(icomplete-minibuffer-setup): Set buffer-local
	icomplete--initial-input to icomplete--field-string.
	(icomplete-ret, icomplete-force-complete-and-exit)
	(icomplete--sorted-completions, icomplete-exhibit):
	Compare icomplete--initial-input with icomplete--field-string
	to detect no input.  (Bug#19031)

	etc/NEWS: Remove duplicate entry.

2020-12-14  João Távora  <joaotavora@gmail.com>

	Inhibit quit in ElDoc timer functions (bug#45117)

	The point of un-inhibiting it was to make ElDoc backends interruptible
	with any input (as in while-no-input), since that should in principle
	invalidate the need of the current ElDoc processing.  But that
	strategy is dangerous for backends that perform complex
	synchronization with external processes.  Better let each backend
	decide for itself it needs this eager interruptive behavior, like is
	presumably the case with the Octave backend.

	This reverts a part of

	    commit 12e922156c86a26fa4bb2cb9e7d2b3fd639e4707
	    Author: Stefan Monnier <monnier@iro.umontreal.ca>
	    Date:   Tue Dec 4 18:15:44 2018 -0500

	* lisp/emacs-lisp/eldoc.el (eldoc-print-current-symbol-info):

	* lisp/progmodes/octave.el (octave-eldoc-function-signatures): Use
	while-no-input.

2020-12-13  Bastien Guerry  <bzg@gnu.org>

	Update to Org 9.4.2

	Mostly fixing compiler warnings.

2020-12-13  Dmitry Gutov  <dgutov@yandex.ru>
	    Philip K.  <philipk@posteo.net>

	Remove the duplication from project-switch-commands's config

	Based on an older patch by Philip K (https://debbugs.gnu.org/41890#127).

	* lisp/progmodes/project.el: (project-switch-commands): Change to
	'defcustom', alter the value format, add :type.
	(project-switch-use-entire-map): New option.
	(project--keymap-prompt, project-switch-project):
	Update accordingly, while keeping compatibility with user-defined
	values in the previous format (for some transition period).

2020-12-13  Philipp Stephani  <phst@google.com>

	Byte compilation: handle case where the output file is a mountpoint.

	See Bug#44631.  While testing for a readonly output directory has
	slightly different semantics, in practice they should cover cases
	where Emacs is sandboxed and can only write to the destination file,
	not its directory.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Handle the case
	where the output directory is not writable.

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests--not-writable-directory)
	(bytecomp-tests--dest-mountpoint): New unit tests.

2020-12-13  Mauro Aranda  <maurooaranda@gmail.com>

	Stop dropping the tag when creating the custom-variable widget

	* lisp/cus-edit.el (custom-variable-value-create): Obey the specified
	tag format when creating the variable tag, but stop dropping the tag
	format for the variable's type widget, since the tag can be used to
	give useful information to the user about the variable.  (Bug#35133)

2020-12-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make dired-toggle-read-only query on read-only directories

	* lisp/dired.el (dired-toggle-read-only): Query instead of
	erroring out immediately (bug#29412).

2020-12-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify Extended Menu Items a bit more

	* doc/lispref/keymaps.texi (Extended Menu Items): Expand a bit
	more on how submenus are formed (bug#26428).

2020-12-13  Bastien Guerry  <bzg@gnu.org>

	Update to Org 9.4.1

2020-12-13  Andrea Corallo  <akrl@sdf.org>

	Fix `memory-report' for '--without-x' builds

	* lisp/emacs-lisp/memory-report.el
	(memory-report--image-cache): Don't call `image-cache-size' if
	unbound.

2020-12-13  Dmitry Gutov  <dgutov@yandex.ru>

	Bump project.el version

	* lisp/progmodes/project.el: Bump the version.

2020-12-13  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	vc-create-tag: use vc-revision-history variable

	* lisp/vc/vc.el (vc-create-tag): Use 'vc-revision-history' variable.

2020-12-13  Dmitry Gutov  <dgutov@yandex.ru>

	Fix test failure

	* test/lisp/vc/vc-tests.el (vc-test--working-revision):
	Accept working revision -1, expected for older Hg (bug#36534).

2020-12-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bytecomp.el: Allow a nil destination file

	(byte-compile--default-dest-file): New function, extracted from
	byte-compile-dest-file.
	(byte-compile-dest-file): Use it.
	(byte-compile-dest-file-function): Give it a non-nil default value.
	(byte-recompile-file, byte-compile-file): Handle a nil return value
	from `byte-compile-dest-file`.

	* lisp/progmodes/elisp-mode.el (elisp-flymake--batch-compile-for-flymake):
	Tell the compiler not to write the result, instead of writing it to
	a dummy temp file.

2020-12-13  Andrea Corallo  <akrl@sdf.org>

	Allow for adding constraints targeting blocks with multiple predecessors

	This commit remove the limitation we had not being able to add
	constraints derived from conditional branches to basic blocks with
	multiple predecessors.  When this condition is verified we add a new
	dedicated basic block to hold the constraints.

	* lisp/emacs-lisp/comp.el (comp-block, comp-edge): Better slot
	type specifiers.
	(comp-block-cstr): New struct specializing `comp-block'.
	(make-comp-edge): New function.
	(comp-func): Better test function + doc for `blocks' slot.
	(comp-limple-lock-keywords): Update possible basic block names.
	(comp-emit-assume): Receive directly the block instead of its name.
	(comp-add-new-block-beetween): New function.
	(comp-cond-cstr-target-block): Logic update and use
	`comp-add-new-block-beetween'.
	(comp-cond-cstr-func): Make use of the latter.
	(comp-compute-edges): Make use of `make-comp-edge'.

2020-12-13  Andrea Corallo  <akrl@sdf.org>

	Rename comp-cond-rw -> comp-cond-cstr

	* lisp/emacs-lisp/comp.el (comp-passes)
	(comp-cond-cstr-target-slot, comp-cond-cstr-func)
	(comp-cond-cstr): Rename pass from cond-rw to cond-cstr.

2020-12-13  Andrea Corallo  <akrl@sdf.org>

	Memoize `comp-cstr-intersection'

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-ctxt): Add new slot
	`intersection-mem'.
	(comp-cstr-intersection-homogeneous): Fix non local exit target.
	(comp-cstr-intersection-no-mem): Rename from
	`comp-cstr-intersection'.
	(comp-cstr-intersection): New function.

2020-12-13  Andrea Corallo  <akrl@sdf.org>

	Add initial negated non-negegated intersection support

	* lisp/emacs-lisp/comp-cstr.el (comp-range-intersection): Cosmetic.
	(comp-cstr-intersection-homogeneous): Rename from
	`comp-cstr-intersection'.
	(comp-cstr-intersection): New function.

2020-12-13  Alan Third  <alan@idiocy.org>

	Fix assertion on SVG load failure

	* src/image.c (svg_load_image): Move setting DPI to after rsvg_handle
	error checking.

2020-12-12  Stefan Kangas  <stefan@marxist.se>

	Remove references to Emacs before version 22 from FAQ

	* doc/misc/efaq.texi (Escape sequences in shell output): Remove
	reference to versions before Emacs 21.
	(Basic editing, Latest version of Emacs)
	(Turning on abbrevs by default, Going to a line by number)
	(Security risks with Emacs): Remove references to versions before
	Emacs 22.

2020-12-12  Philipp Stephani  <phst@google.com>

	Document and enforce some properties for strings created by modules.

	When creating multibyte or unibyte strings, we should guarantee the
	following invariants:

	- When creating empty strings, a NULL data pointer should be allowed.
	  This often arises in practice if the string length isn't known in
	  advance, and we don't want to unnecessarily trigger undefined
	  behavior.  Since functions like memcpy might not accept NULL
	  pointers, use the canonical empty string objects in this case.

	- Nonzero strings should be guaranteed to be unique and mutable.
	  These are the same guarantees expected from Lisp functions such as
	  'make-string' or 'unibyte-string'.  On the other hand, empty strings
	  might not be unique.

	* src/emacs-module.c (module_make_string)
	(module_make_unibyte_string): Correctly handle empty strings.

	* test/src/emacs-module-resources/mod-test.c (Fmod_test_make_string):
	New test function.
	(emacs_module_init): Expose it.

	* test/src/emacs-module-tests.el (mod-test-make-string/empty)
	(mod-test-make-string/nonempty): New unit tests.

	* doc/lispref/internals.texi (Module Values): Document properties and
	corner cases for strings.

2020-12-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix BSD .include etc syntax in Makefiles

	* lisp/progmodes/make-mode.el (makefile-bsdmake-statements): Fix
	the BSD conditional syntax (bug#24000).
	(makefile-make-font-lock-keywords): Allow calling without keywords.
	(makefile-bsdmake-font-lock-keywords): Add the conditional syntax.

	     Makefile inclusion, conditional structures and for loops reminiscent of
	     the C programming language are provided in make.  All such structures are
	     identified by a line beginning with a single dot (`.') character.
	     Whitespace characters may follow this dot, e.g.,

	           .include <file>
	     and
	           .   include <file>

	     are identical constructs

2020-12-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Bind `C-c C-d' to rmail-epa-decrypt in rmail

	* doc/emacs/rmail.texi (Rmail Display): Mention the key
	binding (bug#25411).

	* lisp/mail/rmail.el (rmail-mode-map): Bind C-c C-d to
	rmail-epa-decrypt.
	(rmail-mode): Mention it.
	(rmail-epa-decrypt): Don't mark a mail as decrypted unless we're
	replacing it.

	* lisp/mail/rmailsum.el (rmail-summary-mode-map): Bind C-c C-d.
	(rmail-summary-epa-decrypt): New command.

2020-12-12  Eric Abrahamsen  <eric@ericabrahamsen.net>

	New option gnus-registry-register-all

	* lisp/gnus/gnus-registry.el (gnus-registry-register-all): If nil,
	the registry won't automatically create new entries for all seen
	messages. Defaults to t to preserve previous behavior.
	(gnus-registry-handle-action): Don't automatically create entries; if
	one doesn't exist, don't handle anything.
	(gnus-registry-register-message-ids): Only register if this option is
	t.
	(gnus-registry-get-or-make-entry): Add optional no-create argument.
	(gnus-registry-get-id-key): This "get" operation should only create an
	entry if this option is t.
	* doc/misc/gnus.texi: Documentation and news.

2020-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package-buffer-info): Improve error message

	(package-strip-rcs-id): Return canonicalized version string.

2020-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fns.c (hash_string): Tweak the code further

	Merge the two main branches; remove the `max` test and thus reduce
	the "most steps" to 8 as written

2020-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/log-edit.el: Keep separator line thin even with line-numbers

	(log-edit-font-lock-keywords): Disable line-number display on
	the thin separator line.
	(log-edit-mode): Adjust `font-lock-extra-managed-props` accordingly.
	(log-edit-changelog-entries): Don't use a nil buffer-local
	`change-log-default-name`.

2020-12-12  Eli Zaretskii  <eliz@gnu.org>

	Followup to recent changes in keyboard.c

	* src/keyboard.c (prev_kbd_event): Now defined only if HAVE_X11.

	* lisp/subr.el (while-no-input-ignore-events): Remove
	'buffer-switch': no longer used or defined.  (Bug#5803)

2020-12-12  Andrea Corallo  <akrl@sdf.org>

	Normalize cstrs for cache hint effectiveness and test stability

	* lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset)
	(comp-union-valsets, comp-intersection-valsets)
	(comp-normalize-typeset): New functions.
	(comp-union-typesets, comp-intersect-typesets)
	(comp-cstr-union-homogeneous-no-range, comp-cstr-union-1-no-mem):
	Update to return normalized results.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Normalize expected type specifiers.

2020-12-12  Andrea Corallo  <akrl@sdf.org>

	Add `comp-split-pos-neg' function

	* lisp/emacs-lisp/comp-cstr.el (comp-split-pos-neg): New function.
	(comp-cstr-union-1-no-mem): Update to call `comp-split-pos-neg'.

2020-12-12  Andrea Corallo  <akrl@sdf.org>

	Enumerate type specifier tests to ease debugging

	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Enumerate tests.

	Acked-by: Andrea Corallo <akrl@sdf.org>

2020-12-12  Andrea Corallo  <akrl@sdf.org>

	Code rework add `comp-cstrs-homogeneous'

	* lisp/emacs-lisp/comp-cstr.el (comp-cstrs-homogeneous): New
	function.
	(comp-cstr-union-1-no-mem): Make use of.

2020-12-12  Andrea Corallo  <akrl@sdf.org>

	* test/src/comp-tests.el (comp-tests-bootstrap): Temp fix bootstrap test.

2020-12-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some unused process.c variables

	* src/process.c (wait_reading_process_output): Remove some
	variables that are unused after the previous patch.

2020-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	New variable `redisplay_adhoc_scroll_in_resize_mini_windows`

	* src/xdisp.c (syms_of_xdisp): Define it.
	(resize_mini_window): Obey it.

2020-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/keyboard.c: Fix bug#5803.

	A long time ago, `read_key_sequence` used to read the keymaps at the
	start, so if something happened between this start and the moment
	the user actually hits a key, `read_key_sequence` could end up using
	the wrong keymaps.  To work around this problem, the code used
	`record_asynch_buffer_change` to try and trigger `read_key_sequence`
	to re-read the keymaps in some known cases.

	Several years ago, `read_key_sequence` was changed so as to read the keymaps
	only once the user hits a key, making this machinery now redundant
	(and also harmful apparently in bug#5803 because it introduces
	"spurious" events).

	So we here remove `record_asynch_buffer_change` and the
	`BUFFER_SWITCH_EVENT` and `Qbuffer_switch` pseudo-events it generated.

	* src/termhooks.h (enum event_kind): Delete `BUFFER_SWITCH_EVENT`.
	* src/keyboard.c: (record_asynch_buffer_change): Delete function.
	(syms_of_keyboard): Delete `Qbuffer_switch`.
	(force_auto_save_soon, readable_events)
	(kbd_buffer_store_buffered_event, kbd_buffer_get_event)
	(make_lispy_event):
	* src/xterm.c (handle_one_xevent):
	* src/w32term.c (w32_read_socket):
	* src/process.c (wait_reading_process_output)
	(read_and_dispose_of_process_output, exec_sentinel): Simplify accordingly.

2020-12-12  Alan Mackenzie  <acm@muc.de>

	CC Mode: Handle several K&R parameters per declaration

	This fixes bug #45160.

	* lisp/progmodes/cc-engine.el (c-in-knr-argdecl): Reformulate the latter part
	of this function using c-do-declarators.

2020-12-12  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-12-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Alter the "Redundant pcase pattern" warning message

	* lisp/emacs-lisp/pcase.el (pcase--expand): Make the "Redundant
	pcase pattern" warning less vague (bug#31350).

2020-12-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Make elint load `require'd packages

	* lisp/emacs-lisp/elint.el (elint-require-form): New function to
	load files that are `require'd (bug#27006).
	(elint-special-forms): Add function.

2020-12-12  Zajcev Evgeny  <zevlg@yandex.ru>

	Explicitly specify svg base_uri using `:base-uri' image property

	* src/image.c (svg_load): Check `:base-uri' image property to
	explicitly set base_uri for images embedded into SVG
	(enum svg_keyword_index):
	(svg_format): Add :base-uri.
	* lisp/svg.el (svg-embed-base-uri-image): New function to embed images
	located relative to images `:base-uri'

2020-12-12  Alan Third  <alan@idiocy.org>

	Revert "Explicitly specify svg base_uri using `:base-uri' image property"

	This reverts commit a8e2143a5c03785742464406306fda7fce6caf04.

	I applied the incorrect version of the patch.

2020-12-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Offer to save tutorial position on Emacs exit

	* lisp/tutorial.el (tutorial--buffer): New variable (bug#27998).
	(tutorial--save-on-kill): Use it.
	(help-with-tutorial): Set it and add new function to
	kill-emacs-query-functions.

2020-12-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Update Info-toc-build parsing

	* lisp/info.el (Info-toc-build): Update to understand EMDASH
	instead of a hyphen in the detailed node listing (bug#28074).

2020-12-12  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in python.el

	* lisp/progmodes/python.el: Require Emacs 24.2 instead of 24.1.
	(python-indent-guess-indent-offset)
	(python-shell-font-lock-with-font-lock-buffer)
	(python-shell-font-lock-turn-on)
	(python-shell-font-lock-turn-off, python-shell-font-lock-toggle)
	(python-shell-comint-watch-for-first-prompt-output-filter)
	(inferior-python-mode, python-shell-completion-native-turn-off)
	(python-shell-completion-native-turn-on)
	(python-pdbtrack-comint-output-filter-function, python-mode):
	Prefer setq-local.

2020-12-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Preserve point in dired buffers in dired-*-find-file* commands

	* lisp/dired.el (dired--find-file): New function (bug#28949).
	(dired-find-file): Use it.
	(dired-mouse-find-file): Ditto.
	(dired-find-file-other-window): Ditto.

2020-12-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Make dired-toggle-read-only check whether the directory is writable

	* lisp/dired.el (dired-toggle-read-only): Check that the directory
	is writable (bug#29412).

2020-12-12  Eli Zaretskii  <eliz@gnu.org>

	Unbreak the MS-Windows build broken by recent changes

	* src/image.c (rsvg_handle_set_dpi_x_y) [WINDOWSNT]: DEF_DLL_FN it.
	(init_svg_functions): LOAD_DLL_FN rsvg_handle_set_dpi_x_y.
	<rsvg_handle_set_dpi_x_y>: Define as a macro

2020-12-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the documentation of marker handling when reverting

	* doc/lispref/backups.texi (Reverting): Mention markers from
	non-file sources (bug#30028).

	* lisp/files.el (revert-buffer): Mention what happens with markers
	(bug#30028).

	* src/fileio.c (Finsert_file_contents): Say a bit more about what
	markers are restored (bug#30028).

2020-12-12  Eli Zaretskii  <eliz@gnu.org>

	Improve support for 'memory-report' on MS-Windows

	* src/w32term.c (w32_image_size): New function.
	* src/image.c (image_frame_cache_size) [HAVE_NTGUI]: Support
	reporting the size of frame image cache.
	(image_frame_cache_size, Fimage_cache_size): The total size is
	now of the type 'size_t', not 'int'.

2020-12-12  Pankaj Jangid  <pankaj@codeisgreat.org>

	Allow customizing the Gnus summary thread indicators

	* doc/misc/gnus.texi (Summary Buffer Lines): Document them.

	* lisp/gnus/gnus-sum.el (gnus-summary-prepare-threads): Use them.

	* lisp/gnus/gnus-sum.el (gnus-sum-opening-bracket)
	(gnus-sum-closing-bracket, gnus-sum-opening-bracket-adopted)
	(gnus-sum-closing-bracket-adopted): New variables.

2020-12-12  Alan Third  <alan@idiocy.org>

	Improve some NS drawing code

	* src/nsterm.m (ns_update_end): There's no need to schedule a redraw
	if nothing has been changed.
	(ns_set_vertical_scroll_bar):
	(ns_set_horizontal_scroll_bar): Fix the logic for clearing under the
	scrollbars.
	(ns_clear_under_internal_border): No need to clip, the default
	clipping rectangle will be fine.

2020-12-12  Alan Third  <alan@idiocy.org>

	Use real DPI when rendering SVGs (bug#45124)

	* src/image.c (svg_css_length_to_pixels): Pass in a DPI value instead
	of using a hard coded value.
	(svg_load_image): Set the DPI on the rsvg_handle, and pass it to
	svg_css_length_to_pixels.

2020-12-12  Zajcev Evgeny  <zevlg@yandex.ru>

	Explicitly specify svg base_uri using `:base-uri' image property

	* src/image.c (svg_load): Check `:base-uri' image property to
	  explicitly set base_uri for images embedded into SVG

2020-12-12  Alan Third  <alan@idiocy.org>

	Fix crash when using XRender and restoring image from X (bug#44930)

	* src/dispextern.h (struct image): Add original dimension elements.
	* src/image.c (image_set_transform): Store the original dimensions.
	(image_get_x_image): If we're using transforms use the original
	dimensions with XGetImage.

2020-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/thunk.el (thunk-let*): Don't modify `bindings`

2020-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/play/dunnet.el: Make it so loading the file is harmless

	Move comments into docstrings while at it.

	(dun-batch): New function.

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix copyright line

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	button-buttonize doc string clarification

	* lisp/button.el (button-buttonize): Clarify what happens when
	DATA isn't present.

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix image-cache-size crash

	* src/image.c (image_frame_cache_size): Ensure that img->pixmap is
	in use before trying to access it.

2020-12-11  Stefan Kangas  <stefan@marxist.se>

	* src/fns.c (Fbuffer_hash): Doc fix.  (Bug#45178)

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Also sort the totals section by size

	* lisp/emacs-lisp/memory-report.el (memory-report): Sort the
	totals by size, too.

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak memory-report--format

	* lisp/emacs-lisp/memory-report.el (memory-report--format): Make
	everything line up, even when there's "1023.4kB".

2020-12-11  F. Jason Park  <jp@neverwas.me>  (tiny change)

	Append incremental message segments in socks-filter

	* lisp/net/socks.el (socks-filter): Preserve the order data arrive
	instead of semi-reversing it (bug#45162).

2020-12-11  Pankaj Jangid  <pankaj@codeisgreat.org>

	docstring: If FRAME is nil, it defaults to selected frame.

	* src/frame.c (Fset_frame_size): Clarify what a nil FRAME
	parameter means (bug#45170).

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify fortran-beginning-of-subprogram doc string after change

	* lisp/progmodes/fortran.el (fortran-beginning-of-subprogram):
	Clarify doc string (bug#33208).

2020-12-11  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/python.el: Bump version.

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation of image.c on non-Cairo systems

	* src/image.c (image_frame_cache_size): pixmap->width etc is only
	defined on Cairo.  Return 0 for now on other systems.

2020-12-11  Roland Winkler  <winkler@gnu.org>

	bibtex-autokey-get-year: Follow iso8601

	* lisp/textmodes/bibtex.el (bibtex-autokey-get-year): Follow
	iso8601 (bug#36252).

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix object-interval tests

	* test/src/fns-tests.el (object-intervals): Fix tests.

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix parsing error in exif

	* lisp/image/exif.el (exif--parse-exif-chunk): The offset is a
	four-byte number.  Reported by Alan Light <lightalan@gmail.com>.

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new command `memory-report'

	* doc/lispref/internals.texi (Garbage Collection): Document it.
	* lisp/emacs-lisp/memory-report.el: New package.

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new function `object-intervals'

	* doc/lispref/text.texi (Examining Properties): Document it.
	* src/fns.c (Fobject_intervals): New defun.
	(collect_interval): New function.

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new function 'image-cache-size'

	* src/image.c (Fimage_cache_size): New defun.
	(image_frame_cache_size): New function.

2020-12-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new function `button-buttonize'

	* doc/lispref/display.texi (Manipulating Buttons): Document it.

	* lisp/button.el (button-buttonize): Implement it.

2020-12-11  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/battery.el (battery--upower-devices): Protect the D-Bus call.

	(Bug#45163)

2020-12-11  Tassilo Horn  <tsdh@gnu.org>

	Bind k to image-kill-buffer in doc-view-mode-map.

	* lisp/doc-view.el (doc-view-mode-map): Bind k to image-kill-buffer.
	The binding k -> doc-view-kill-proc-and-buffer has been removed in
	2015 and the function been made an obsolete function alias to
	image-kill-buffer (bug#45157).

2020-12-11  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix quoting in gnus-buffer-configuration

	* lisp/gnus/gnus-win.el (gnus-buffer-configuration): Include
	shell-command-buffer-name value rather than symbol in pipe
	configuration.  (Bug#39138, bug#45154)

2020-12-11  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Be more graceful about handling Gnus search errors

	One search may be applied to several servers: don't let one server's
	error derail the whole process.

	* lisp/gnus/gnus-search.el (gnus-search-config-error): Define new
	error.
	(gnus-search-run-search, gnus-search-server-to-engine): Raise this
	specific error as appropriate.
	(gnus-search-run-query): Catch this error and effectively demote it.

2020-12-10  Stefan Kangas  <stefan@marxist.se>

	Remove some ancient Emacs compat code from cperl-mode

	This variable has this value by default since Emacs 19.34.

	* lisp/progmodes/cperl-mode.el (cperl-mode): Remove some compat code.

2020-12-10  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in cperl-mode.el

	* lisp/progmodes/cperl-mode.el (cperl-mode, cperl-info-buffer)
	(cperl-setup-tmp-buf, cperl-emulate-lazy-lock): Prefer setq-local.

2020-12-10  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in bibtex-style.el

	* lisp/textmodes/bibtex-style.el (bibtex-style-mode): Prefer
	setq-local.

2020-12-10  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults in pos_visible_p

	* src/xdisp.c (pos_visible_p): Don't try accessing the glyphs
	produced by iterator whose glyph_row was set to NULL; instead,
	record the X coordinate before the display string when moving past
	it, and use the recorded coordinate if needed.  (Bug#45156)

2020-12-10  Mattias Engdegård  <mattiase@acm.org>

	Fupcase no longer maps ?ß to itself (bug#11309)

	* test/src/casefiddle-tests.el (casefiddle-tests-char-casing):
	(upcase ?ß) now returns ?ẞ (U+7838), partly for technical reasons but
	the previous behavior was arbitrary and arguably less useful.
	Correct upcasing of ß is normally SS, which is what Fupcase returns if
	given a string, or (for special purposes) ẞ.

2020-12-10  Juri Linkov  <juri@linkov.net>

	Allow creating a new tab from the minibuffer (bug#45072)

	* lisp/tab-bar.el (tab-bar-new-tab-to): Select the original window
	when selected window is the minibuffer.

2020-12-10  Dmitry Gutov  <dgutov@yandex.ru>  (tiny change)

	Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>

	* lisp/vc/vc-hg.el (vc-hg-working-revision):
	Use 'hg log -T' instead of 'hg parent' (bug#36534).

2020-12-09  Stefan Kangas  <stefan@marxist.se>

	Fix thinko in my previous commit

	* lisp/pcomplete.el (pcomplete-comint-setup): Fix thinko in my
	previous commit.  This was not a quoted symbol but a variable, and
	therefore cannot use setq-local.

2020-12-09  Dmitry Gutov  <dgutov@yandex.ru>

	* lisp/progmodes/xref.el: Bump the version.

2020-12-09  Dmitry Gutov  <dgutov@yandex.ru>

	Allow specifying the project to switch to programmatically

	* lisp/progmodes/project.el (project-switch-project):
	Allow specifying the project to switch to programmatically
	(bug#45134).

2020-12-09  Dmitry Gutov  <dgutov@yandex.ru>

	Add missing defcustom keywords to new variables

	* lisp/progmodes/xref.el (xref-search-program-alist)
	(xref-search-program): Add :version and :package-version.

2020-12-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify `scroll-preserve-screen-position' doc string

	* src/window.c (syms_of_window): Clarify the doc string (bug#7910).

2020-12-09  Juri Linkov  <juri@linkov.net>

	Remove isearch-input-method-local-p and always set buffer-local input-method

	* lisp/isearch.el (isearch-input-method-local-p): Remove defvar.
	(isearch-mode): Don't set isearch-input-method-local-p.
	Set buffer-local input-method-function to nil.
	(isearch-done): When isearch-input-method-function is still non-nil,
	set the buffer-local value of input-method-function.  (Bug#45005)

	* lisp/international/isearch-x.el (isearch-toggle-specified-input-method)
	(isearch-toggle-input-method, isearch-transient-input-method):
	Don't set isearch-input-method-local-p to t.  Set buffer-local
	input-method-function to nil.

	* lisp/language/korea-util.el (isearch-toggle-korean-input-method)
	(isearch-hangul-switch-symbol-ksc, isearch-hangul-switch-hanja):
	Don't set isearch-input-method-local-p to t.  Set buffer-local
	input-method-function to nil.

2020-12-09  Juri Linkov  <juri@linkov.net>

	Support highlighting of ripgrep output (bug#44983)

	* etc/grep.txt: Add ripgrep samples.

	* lisp/progmodes/grep.el (grep-match-regexp): Highlight ripgrep matches too.
	(grep-regexp-alist): Remove $ to highlight ripgrep binary file matches.

2020-12-09  Mattias Engdegård  <mattiase@acm.org>

	Stricter gradle-kotlin message pattern

	* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
	Rule 'gradle-kotlin': don't be more forgiving than necessary; we know
	exactly what the output looks like (see
	https://github.com/JetBrains/kotlin/commit/\
	ffe8ae3840d7b9bdc82170c8181031f05ced68bd) and there is no reason to
	risk mismatches or expensive backtracking (bug#18109).  Recognize
	'info' level messages.  Convert to rx.

2020-12-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Include the keymap in the gud-mode doc string

	* lisp/progmodes/gud.el (gud-mode): Add the gud keymap to the end
	of the doc string for easier access (bug#31406).

2020-12-09  Lars Ingebrigtsen  <larsi@gnus.org>

	`pdb' doc string clarification

	* lisp/progmodes/gud.el (pdb): Mention that this command is for
	debugging Python scripts.

2020-12-09  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	c0b3e38d7c Update publicsuffix.txt from upstream
	3fe6cea6e0 * lisp/vc/vc.el: Update args of backend API calls in the h...

2020-12-09  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	32090a3de4 Improve documentation of streams in batch mode
	34feded008 Support ks_c_5601-1987 encoding
	da00a6f317 Fix Xaw widget text disappearing when built with cairo (bu...
	6916e7954a Improve documentation of 'ps-print-color-p'
	6663b2f211 ; * lisp/simple.el (move-beginning-of-line): Doc fix.
	a4dd03ebe9 ; * src/charset.c (Fmap_charset_chars): Doc fix.
	d86cc3ffcb ; * src/chartab.c, src/lisp.h: Fix typos in comments.

2020-12-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix mark-defun in fortran-mode

	* lisp/progmodes/fortran.el (fortran-beginning-of-subprogram):
	Make mark-defun work (bug#33208).

2020-12-09  Eli Zaretskii  <eliz@gnu.org>

	Improve predictability of 'scroll-preserve-screen-position'

	* src/window.c (window_scroll_pixel_based): Compute the new
	window-start more precisely when 'scroll-preserve-screen-position'
	is non-nil.  (Bug#8355)

2020-12-09  Eli Zaretskii  <eliz@gnu.org>

	Update docs of 'defvar' and 'defface'

	* doc/lispref/display.texi (Defining Faces):
	* doc/lispref/variables.texi (Defining Variables): Update the
	descriptions of 'defvar' and 'defface' per recent changes in
	'eval-last-sexp'.  (Bug#45125)

2020-12-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix info mode fontification of built-in (*note Built-ins::)

	* lisp/info.el (Info-fontify-node): Don't interpret things like
	"built-in" as being the word "in" (bug#34661).

2020-12-09  Serge Tupchii  <serge.tupchii@protonmail.com>  (tiny change)

	Fix crash (segfault) in etags on generating tags for Erlang files

	* lib-src/etags.c: Set allocated and lastlen to zero, after
	freeing last ptr in Erlang_functions to prevent dereferencing NULL
	pointer (bug#45122).


	(cherry picked from commit 2d8f0364fcd1d5dad2b82dd3a9af870b03854547)

2020-12-09  Mattias Engdegård  <mattiase@acm.org>

	Recognize ß properly as a lower-case letter (bug#11309)

	ß was incorrectly treated as a caseless character and thus not matched
	by the regexp [[:lower:]] (or, in case-folding mode, [[:upper:]]).
	The reason is that the upcase table maps it to itself, which can be
	remedied by mapping it to ẞ (U+7838) instead.  Doing so does not
	affect upcasing since the special-uppercase property maps it to SS.

	* lisp/international/characters.el (tbl): Map ß to ẞ in the upcase
	table.
	* test/src/regex-emacs-tests.el (regexp-eszett): Uncomment previously
	failing tests.  Add checks to make sure that case transformations
	remain valid.

2020-12-09  Lars Ingebrigtsen  <larsi@gnus.org>

	cl-pushnew manual clarification

	* doc/misc/cl.texi (Modify Macros): Don't claim that cl-pushnew
	uses eql.
	(Lists as Sets): Mention that eql is the default comparison function.

2020-12-09  Lars Ingebrigtsen  <larsi@gnus.org>

	cl-defmethod doc string clarification

	* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Clarify the doc
	string, and give an example (bug#42322).

2020-12-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the default-boundp doc string

	* src/data.c (Fdefault_boundp): Doc string clarification (bug#44141).

2020-12-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make ediff offer to create files it's inferring

	* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Offer to create
	the inferred file name (if it doesn't exist) (bug#8009).  This allows
	applying a patch that creates a file.

2020-12-09  Michael Albinus  <michael.albinus@gmx.de>

	Improve tests for gio file notifications

	* .gitlab-ci.yml (test-filenotify-gio): Call "make -k".

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
	Set connection property "gio-file-monitor".

	* lisp/net/tramp-sh.el (tramp-get-remote-gio-file-monitor): New defun.
	(tramp-sh-handle-file-notify-add-watch): Use it.

	* test/lisp/filenotify-tests.el (file-notify--test-read-event): Simplify.
	(file-notify--test-monitor): Handle also remote "gio monitor".
	(file-notify-test03-events, file-notify-test04-autorevert)
	(file-notify-test05-file-validity, file-notify-test08-backup)
	(file-notify-test09-watched-file-in-watched-dir):
	Handle GKqueueFileMonitor.

2020-12-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Filter revoked keys when saving files

	* lisp/epa-file.el (epa-file-write-region): Use it to select a
	non-revoked key (bug#22359).

	* lisp/epg.el (epg--filter-revoked-keys): New function.

2020-12-09  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in most files

	* lisp/apropos.el (apropos-print):
	* lisp/buff-menu.el (Buffer-menu-mode):
	* lisp/calc/calc.el (calc-trail-buffer):
	* lisp/chistory.el (command-history-mode):
	* lisp/dabbrev.el:
	* lisp/dframe.el (dframe-frame-mode):
	* lisp/doc-view.el (doc-view-presentation-mode):
	* lisp/ebuff-menu.el (electric-buffer-menu-mode)
	(electric-buffer-update-highlight):
	* lisp/edmacro.el (edit-kbd-macro):
	* lisp/face-remap.el (buffer-face-set, buffer-face-toggle):
	* lisp/files.el:
	(find-file-noselect-1, hack-local-variables-confirm)
	(set-visited-file-name, revert-buffer--default):
	* lisp/filesets.el (filesets-spawn-external-viewer):
	* lisp/find-dired.el (find-dired):
	* lisp/find-lisp.el (find-lisp-find-dired-internal):
	* lisp/finder.el (finder-mode):
	* lisp/font-core.el (font-lock-default-function):
	* lisp/format.el (format-annotate-function):
	* lisp/help-fns.el (describe-variable):
	* lisp/help-mode.el (help-mode):
	* lisp/icomplete.el (icomplete-minibuffer-setup)
	(icomplete--in-region-setup):
	* lisp/ido.el (ido-completion-help, ido-tidy):
	* lisp/international/robin.el (robin-activate):
	* lisp/leim/quail/hangul.el (hangul-input-method-activate):
	* lisp/leim/quail/uni-input.el (ucs-input-activate):
	* lisp/man.el (Man-mode):
	* lisp/master.el (master-set-slave):
	* lisp/minibuffer.el (minibuffer-completion-help)
	(read-file-name-default):
	* lisp/outline.el (outline-minor-mode):
	* lisp/pcomplete.el (pcomplete-comint-setup):
	* lisp/proced.el (proced-mode):
	* lisp/recentf.el (recentf-edit-list, recentf-open-files-items):
	* lisp/replace.el (occur-1):
	* lisp/reveal.el (reveal-mode):
	* lisp/ruler-mode.el (ruler--save-header-line-format):
	* lisp/scroll-lock.el (scroll-lock-mode):
	* lisp/startup.el (normal-top-level, normal-splash-screen):
	* lisp/strokes.el (strokes-list-strokes):
	* lisp/thumbs.el (thumbs-insert-image, thumbs-show-thumbs-list):
	* lisp/tree-widget.el (tree-widget-set-theme):
	* lisp/window.el (read-buffer-to-switch):
	* lisp/xwidget.el (xwidget-webkit-begin-edit-textarea): Prefer
	setq-local.

2020-12-09  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in dired extensions

	* lisp/dired-aux.el (dired-diff, dired-compare-directories)
	(dired-do-create-files, dired-isearch-filenames):
	* lisp/dired-x.el (dired-virtual, dired-vm):
	* lisp/wdired.el (wdired-change-to-wdired-mode)
	(wdired-change-to-dired-mode, wdired-preprocess-perms):

2020-12-09  Stefan Kangas  <stefan@marxist.se>

	Update publicsuffix.txt from upstream

	* etc/publicsuffix.txt: Update from
	https://publicsuffix.org/list/public_suffix_list.dat
	dated 2020-11-30 21:57:25 UTC.

2020-12-09  Mattias Engdegård  <mattiase@acm.org>

	Fix [:upper:] and [:lower:] for Unicode characters (bug#11309)

	* src/regex-emacs.c (execute_charset): Add canon_table argument to
	allow expression of a correct predicate for [:upper:] and [:lower:].
	(mutually_exclusive_p, re_match_2_internal): Pass extra argument.
	* test/src/regex-emacs-tests.el (regexp-case-fold, regexp-eszett):
	New tests.  Parts of regexp-eszett still fail and are commented out.

2020-12-09  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in some remaining progmodes

	* lisp/progmodes/dcl-mode.el (dcl-mode):
	* lisp/progmodes/hideif.el (hide-ifdef-mode)
	(hide-ifdef-toggle-shadowing):
	* lisp/progmodes/ps-mode.el (ps-mode, ps-run-mode):
	* lisp/progmodes/xscheme.el (xscheme-start)
	(local-set-scheme-interaction-buffer, scheme-interaction-mode):
	Prefer setq-local.

2020-12-09  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in gdb-mi.el

	* lisp/progmodes/gdb-mi.el (gdb--check-interpreter, gdb)
	(gdb-init-buffer, gdb-get-buffer-create, gdb-threads-mode)
	(gdb-memory-mode, gdb-disassembly-mode, gdb-frames-mode): Prefer setq-local.

2020-12-09  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in etags.el

	* lisp/progmodes/etags.el (initialize-new-tags-table)
	(etags-recognize-tags-table, tags-recognize-empty-tags-table):
	Prefer setq-local.

2020-12-09  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in cfengine.el

	* lisp/progmodes/cfengine.el (cfengine-common-settings)
	(cfengine3-mode, cfengine2-mode): Prefer setq-local.

2020-12-09  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in sql.el

	* lisp/progmodes/sql.el (sql--oracle-show-reserved-words)
	(sql-product-font-lock, sql-list-all, sql-mode)
	(sql-interactive-mode, sql-product-interactive): Prefer
	setq-local.

2020-12-09  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in font-lock.el

	* lisp/font-lock.el:
	(font-lock-add-keywords, font-lock-turn-on-thing-lock)
	(font-lock-fontify-syntactic-keywords-region)
	(font-lock-set-defaults): Prefer setq-local.

2020-12-09  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/sql.el: Remove redundant URL.

2020-12-09  Basil L. Contovounesios  <contovob@tcd.ie>

	Make abbrev-tests.el more deterministic

	* test/lisp/abbrev-tests.el (abbrev--table-symbols-test): Don't rely
	on order of symbols in obarray.

2020-12-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make uncache_image slightly more efficient

	* src/image.c (uncache_image): Extremely minor speed-up: Only
	compute the hash once.

2020-12-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fns.c: Remove left over include

2020-12-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore Emacs 27 image cache semantics

	* src/image.c (equal_lists): Remove.
	(search_image_cache): Use Fequal instead of equal_lists.
	Benchmarking shows no measurable time difference, and this
	restores the cache semantics from Emacs 27 (where file names
	didn't have to be EQ for the cache to be used).

2020-12-09  João Távora  <joaotavora@gmail.com>

	Remove interactive spec from internal eldoc--format-doc-buffer

	Per bug#43609.

	* lisp/emacs-lisp/eldoc.el (eldoc--format-doc-buffer): Remove
	useless interactive spec.

2020-12-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fns.c (hash_string): Speed up on large strings

2020-12-08  Lars Ingebrigtsen  <larsi@gnus.org>

	term.el comment update

	* lisp/term.el: Fix wrong command name in the comments (bug#7041).

2020-12-08  Serge Tupchii  <serge.tupchii@protonmail.com>  (tiny change)

	Fix crash (segfault) in etags on generating tags for Erlang files

	* lib-src/etags.c: Set allocated and lastlen to zero, after
	freeing last ptr in Erlang_functions to prevent dereferencing NULL
	pointer (bug#45122).

2020-12-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make rcirc nick renaming heed nickname max lengths

	* lisp/net/rcirc.el (rcirc-server-parameters): New variable (bug#6795).
	(rcirc-connect): Set it.
	(rcirc-handler-433): Use the length from the server.
	(rcirc-handler-005): Collect server data.
	(rcirc-server-parameter-value): New utility function.
	(rcirc--make-new-nick): New function.

2020-12-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make hexl scrolling commands work more like the normal ones

	* lisp/hexl.el (hexl-scroll-down):
	(hexl-scroll-up): Heed `next-screen-context-lines' (bug#7031).

2020-12-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix scrolling in hexl-mode when ruler-mode is on

	* lisp/hexl.el (hexl-scroll-down):
	(hexl-scroll-up): Take ruler-mode into account when computing the
	number of lines (bug#7031).  These commands would previously jump
	one line too many by default, skipping one line.

2020-12-08  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'backtrace-on-error-noninteractive'

	* src/eval.c (syms_of_eval) <backtrace-on-error-noninteractive>:
	Format the doc string according to conventions.

	* etc/NEWS: Improve formatting and wording of the entry describing
	'backtrace-on-error-noninteractive.

2020-12-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the history traversal functions in coming more regular

	* lisp/comint.el (comint-previous-matching-input): Allow restoring
	the input on wraps (bug#7885).
	(comint-previous-matching-input-from-input): Restore input on wraps.

2020-12-08  Boruch Baum  <boruch_baum@gmx.com>

	Make table-fixed-width-mode work again

	* lisp/textmodes/table.el (table--update-cell): Make
	table-fixed-width-mode work (bug#18183).

2020-12-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Use the proper face for the Gnus mode line id

	* lisp/gnus/gnus-sum.el (gnus-set-mode-line):
	* lisp/gnus/gnus-group.el (gnus-group-set-mode-line): Use the
	mode-line-buffer-id face on the buffer id.

2020-12-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Simplify gnus-mode-line-buffer-identification

	* lisp/gnus/gnus.el (gnus-mode-line-image-cache): Remove.
	(gnus-mode-line-buffer-identification): Use the find-image cache.

2020-12-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Cache toolbar icon data paths

	* lisp/image.el (find-image): Add an optional CACHE parameter.
	(find-image--cache): New variable.

	* lisp/tool-bar.el (tool-bar--image-expression): Use cached data
	to avoid looking up the image files on each refresh.

2020-12-08  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in grep.el

	* lisp/progmodes/grep.el (grep-process-setup, grep-mode): Prefer
	setq-local.

2020-12-08  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in meta-mode.el

	* lisp/progmodes/meta-mode.el (meta-common-mode, metafont-mode)
	(metapost-mode): Prefer setq-local.

2020-12-08  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in compile.el

	* lisp/progmodes/compile.el (compile-command, compilation-start)
	(compilation-mode, compilation-setup, compilation-filter)
	(compilation-forget-errors): Prefer setq-local.

2020-12-08  Stefan Kangas  <stefan@marxist.se>

	* admin/nt/dist-build/build-dep-zips.py: Remove unused import.

2020-12-08  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in tests

	* test/lisp/allout-tests.el (allout-test-resumption-prior-value-resumed)
	(allout-test-resumption-multiple-holds)
	(allout-test-resumption-unbinding):
	* test/lisp/emacs-lisp/faceup-resources/faceup-test-mode.el
	(faceup-test-mode):
	* test/lisp/epg-tests.el (with-epg-tests):
	* test/src/data-tests.el (binding-test-buffer-A): Prefer setq-local.

2020-12-08  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in term.el

	* lisp/term.el (term-mode, term-exec, term-emulate-terminal)
	(term-process-pager): Prefer setq-local.

2020-12-08  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in shell.el

	* lisp/shell.el (shell-completion-vars, shell-mode): Prefer
	setq-local.

2020-12-08  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in speedbar.el

	* lisp/speedbar.el (speedbar-frame-mode, speedbar-mode)
	(speedbar-add-localized-speedbar-support): Prefer setq-local.

2020-12-08  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in newcomment.el

	* lisp/newcomment.el (comment-inline-offset)
	(comment-normalize-vars): Prefer setq-local.

2020-12-08  Stefan Kangas  <stefan@marxist.se>

	* lisp/locate.el (locate, locate-mode): Prefer setq-local.

	* lisp/array.el (array-mode): Prefer setq-local.

2020-12-08  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in simple.el

	* lisp/simple.el (read-extended-command, goto-history-element)
	(minibuffer-history-isearch-setup, read-shell-command)
	(visual-line-mode, completion-setup-function, read-only-mode)
	(visible-mode): Prefer setq-local.

2020-12-07  Philipp Stephani  <phst@google.com>

	Fix bug in how ERT invokes its debugger.

	The debugger needs to receive a list of the error symbol and data;
	cf. the documentation of the `debugger' variable.  This bug manifested
	itself in ERT forms such as (should (integerp (ert-fail "Boo"))),
	which resulted in an incorrect condition object.  Note that forms such
	as (should (ert-fail "Boo")) weren't affected because they wouldn't
	use the `ert--should-signal-hook'.

	* lisp/emacs-lisp/ert.el (ert--should-signal-hook): Call debugger
	with the right arguments.

	* test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should):
	Add unit test.

2020-12-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid problems when calling desktop-read twice

	* lisp/desktop.el (desktop-read): Don't reload the desktop file if
	it's already been loaded, because the later query may lead to
	desktop-dirname being set to nil (bug#9765).

2020-12-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Make previous Fkill_emacs change safer

	* src/emacs.c (Fkill_emacs): Don't run `kill-emacs-hook' if it's nil.

2020-12-07  Daniel Martín  <mardani29@yahoo.es>

	Add commands xref-next-group and xref-prev-group

	* lisp/progmodes/xref.el (xref-next-group): New command that navigates
	to the first item of the next xref group (typically a file).
	(xref-prev-group): New command that navigates
	to the first item of the next xref group (typically a file).
	(xref--xref-buffer-mode-map): Bound the new commands to 'N' and 'P',
	respectively.
	* doc/emacs/maintaining.texi (Xref Commands): Document the new
	commands in the Emacs manual.
	* etc/NEWS: Announce them (bug#45089).

2020-12-07  Alyssa Ross  <hi@alyssa.is>  (tiny change)

	Only use the comint environment in comint-derived modes

	* lisp/progmodes/compile.el (compilation-start): Only use the
	comint environment in comint-derived modes (bug#45095).

2020-12-07  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in calendar/*.el

	* lisp/calendar/calendar.el (calendar-mode):
	* lisp/calendar/diary-lib.el (diary-list-entries, diary-mode):
	(diary-fancy-display-mode): Prefer setq-local.

2020-12-07  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in gnus/*.el

	* lisp/gnus/gnus-agent.el (gnus-agent-mode)
	(gnus-agent-get-undownloaded-list, gnus-agent-open-history):
	* lisp/gnus/gnus-art.el (gnus-article-setup-highlight-words)
	(gnus-article-mode, gnus-article-setup-buffer, defsubst)
	(gnus-article-describe-bindings, gnus-article-edit-mode):
	* lisp/gnus/gnus-cus.el (gnus-custom-mode, gnus-group-customize)
	(gnus-score-customize, gnus-agent-customize-category):
	* lisp/gnus/gnus-group.el (gnus-group-make-tool-bar):
	* lisp/gnus/gnus-msg.el (gnus-setup-message)
	(gnus-summary-news-other-window, gnus-configure-posting-styles):
	* lisp/gnus/gnus-salt.el (gnus-pick-mode, gnus-binary-mode):
	* lisp/gnus/gnus-score.el (gnus-score-edit-current-scores)
	(gnus-score-edit-file):
	* lisp/gnus/gnus-srvr.el (gnus-server-mode):
	* lisp/gnus/gnus-start.el (gnus-no-server-1)
	(gnus-dribble-read-file, gnus-save-newsrc-file)
	(gnus-gnus-to-newsrc-format):
	* lisp/gnus/gnus-sum.el (gnus-summary-make-tool-bar)
	(gnus-summary-mode, gnus-summary-setup-buffer)
	(gnus-select-newsgroup, gnus-summary-edit-article)
	(gnus-summary-setup-default-charset):
	* lisp/gnus/gnus-topic.el (gnus-topic-mode):
	* lisp/gnus/gnus-undo.el (gnus-undo-mode):
	* lisp/gnus/gnus.el (gnus-simplify-mode-line):
	* lisp/gnus/message.el (message-cite-reply-position)
	(message-cite-style, message-mode, message-setup-fill-variables):
	* lisp/gnus/mm-view.el (mm-display-inline-fontify):
	* lisp/gnus/mml.el (mml-mode):
	* lisp/gnus/nndiary.el (nndiary-open-nov):
	* lisp/gnus/nnfolder.el (nnfolder-save-buffer)
	(nnfolder-open-nov):
	* lisp/gnus/nnheader.el (nnheader-init-server-buffer):
	* lisp/gnus/nnimap.el (nnimap-make-process-buffer):
	* lisp/gnus/nnml.el (nnml-get-nov-buffer): Prefer setq-local.

2020-12-07  Andrea Corallo  <akrl@sdf.org>

	Spawn a sub-process for running GCC also in batch mode (bug#45056)

	* lisp/emacs-lisp/comp.el (comp-async-compilation): New variable.
	(comp-final): Always run the C side of the compilation as a
	sub-process unless during bootstrap or async compilation.
	(comp-run-async-workers): Set `comp-async-compilation'.

2020-12-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Insert skeletons at the correct point

	* lisp/skeleton.el (skeleton-read): Don't insert the skeleton at
	an arbitrary point if the user moves around (bug#17752).

2020-12-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow shutting down Emacs even if there are errors in kill-emacs-hook

	* lisp/subr.el (run-hook-query-error-with-timeout): New function
	(bug#28542).

	* src/emacs.c (Fkill_emacs): Use it to allow exiting Emacs even if
	there are errors in kill-emacs-hook.
	(syms_of_emacs): Define the symbol.

2020-12-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure that new emacsclient frames has focus

	* lisp/server.el (server-execute): Focus the frame here...
	(server-switch-buffer): Instead of here (bug#15469).  This ensures
	that the frame has focus if Emacs is querying the user about
	something when opening a file (for instance "Revert from file?").

2020-12-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow inhibiting the instructions on how to close emacsclient frames

	* doc/emacs/misc.texi (Invoking emacsclient): Document it.
	* lisp/server.el (server-client-instructions): New variable.
	(server-execute): Use it.

2020-12-07  Illia Ostapyshyn  <ilya.ostapyshyn@gmail.com>  (tiny change)

	Allow using newer versions of Gnuplot from calc again

	* lisp/calc/calc-graph.el (calc-graph-plot): Don't use the "time"
	abbreviation for "timestamp" (bug#39232) -- it's no longer valid
	after
	https://github.com/gnuplot/gnuplot/commit/b979b5371bc1c18bf8f5bd756e7c1fb54dafd8cc

2020-12-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix file name quoting problems in tex-mode

	* lisp/textmodes/tex-mode.el (tex--quote-spec): New function
	(bug#14286).
	(tex-format-cmd): Use it.
	(tex-compile): Don't quote the file names, because we're using
	`file-exists-p' and friends on the results later, and that fails
	on systems where everything is quoted, and on file names that need
	quoting.

2020-12-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify icomplete-show-matches-on-no-input doc string

	* lisp/icomplete.el (icomplete-show-matches-on-no-input): Clarify
	doc string (bug#19031), suggested by Andrii Kolomoiets.

2020-12-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Clarify icomplete-show-matches-on-no-input doc string"

	This reverts commit f352c57972d24464a42ea3e65dc8ac07d8e0517c.

	The new explanation of what icomplete does is wrong.

2020-12-07  Mattias Engdegård  <mattiase@acm.org>

	Calc: simplify integer log2 and power of 2

	We have bignums and fast primitives now; no caches are needed.

	* lisp/calc/calc-bin.el (math-power-of-2-cache)
	(math-big-power-of-2-cache): Remove.
	(math-power-of-2, math-integer-log2): Simplify.
	(calcFunc-ash): Don't call math-power-of-2 with negative argument.

2020-12-07  Mattias Engdegård  <mattiase@acm.org>

	* doc/misc/calc.texi (Predefined Units): Prune outdated kg text.

2020-12-07  Philipp Stephani  <phst@google.com>

	Unbreak a few unit tests that rely on lack of backtraces

	* test/lisp/emacs-lisp/gv-tests.el (gv-dont-define-expander-in-file)
	(gv-dont-define-expander-other-file):
	* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-default-config):
	Suppress backtraces in batch mode to unbreak unit tests.

2020-12-07  Philipp Stephani  <phst@google.com>

	Add new variable to selectively suppress backtraces in batch mode.

	* src/eval.c (syms_of_eval): Define new variable
	'backtrace-on-error-noninteractive' to selectively enable backtrace
	printing in batch mode.
	(signal_or_quit): Use it.

	* etc/NEWS: Document new variable.

	* test/src/eval-tests.el (eval-tests/backtrace-in-batch-mode/inhibit):
	New unit test.

2020-12-07  Stefan Kangas  <stefan@marxist.se>

	* lisp/ielm.el (inferior-emacs-lisp-mode): Prefer setq-local.

	* lisp/ibuffer.el (ibuffer, ibuffer-mode): Prefer setq-local.

2020-12-07  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in whitespace.el

	* lisp/whitespace.el (whitespace-turn-on, whitespace-color-on): Prefer
	setq-local.

2020-12-07  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in tar-mode.el

	* lisp/tar-mode.el (tar-summarize-buffer, tar-mode, tar-extract):
	Prefer setq-local.

2020-12-07  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in tcl.el

	* lisp/progmodes/tcl.el (tcl-mode, inferior-tcl-mode, inferior-tcl):
	(tcl-auto-fill-mode, tcl-guess-application): Prefer setq-local.

2020-12-07  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-read-passwd): Use connection-local `auth-sources'.

	* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
	* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
	Move setting of connection-local variables up.

2020-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/lisp-mode.el: Give paren syntax to [...] in lisp-data-mode

	(lisp-data-mode-syntax-table): Rename from lisp--mode-syntax-table.
	Adjust all users.  Set [...] to have paren syntax.
	(lisp-data-mode): Don't set `lisp-syntax` arg any more

	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-syntax-table):
	Don't bother setting [...] to have paren syntax any more.

	* lisp/progmodes/inf-lisp.el (inferior-lisp-mode): Don't use
	`lisp-syntax` arg of lisp-mode-variables any more.

2020-12-06  Mattias Engdegård  <mattiase@acm.org>

	Remove Calc bignum remnants

	* lisp/calc/calc-macs.el (Math-natnum-lessp):
	* lisp/calc/calc-ext.el (math-norm-bignum, math-compare-bignum):
	* lisp/calc/calc-math.el (math-zerop-bignum)
	(math-scale-bignum-digit-size): Remove.

	* lisp/calc/calc-bin.el (math-integer-log2, calcFunc-rot, math-clip):
	* lisp/calc/calc-comb.el (math-prime-test, calcFunc-prfac)
	(calcFunc-totient, calcFunc-moebius):
	* lisp/calc/calc-ext.el (math-gcd):
	* lisp/calc/calc-funcs.el (calcFunc-betaB):
	* lisp/calc/calc-math.el (math-nth-root-int-iter, calcFunc-ilog):
	Replace Math-natnum-lessp with <.

2020-12-06  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-git.el: Update args of backend API calls in the header comments

	https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00283.html

2020-12-06  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc.el: Update args of backend API calls in the header comments

	https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00283.html

2020-12-06  Juri Linkov  <juri@linkov.net>

	Handle calling read-char-from-minibuffer and y-or-n-p from pre-command-hook

	* lisp/subr.el (read-char-from-minibuffer-insert-char)
	(read-char-from-minibuffer-insert-other, y-or-n-p-insert-y)
	(y-or-n-p-insert-n, y-or-n-p-insert-other):
	Check for 'minibufferp' before executing the body.
	(read-char-from-minibuffer, y-or-n-p): Let-bind this-command
	before calling read-from-minibuffer.  (Bug#45029)

2020-12-06  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-12-06  Andrea Corallo  <akrl@sdf.org>

	Unify common fallback exit point in `comp-cstr-union-1-no-mem'.

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Define
	a local function `give-up' as a common fall-back exit point.

2020-12-06  Andrea Corallo  <akrl@sdf.org>

	Couple of `comp-cstr-union-1-no-mem' improvements for mixed neg pos union

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem):
	Generalize disjoint pos types vs neg values conditions.
	(comp-cstr-union-1-no-mem): Do not propagate ranges when we are
	already returning integer as generic type.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add corresponding tests.

2020-12-06  Philipp Stephani  <phst@google.com>

	Print a backtrace on unhandled errors in batch mode (Bug#44942).

	* src/eval.c (signal_or_quit): Print a backtrace in batch mode if no
	error handler was found.

	* test/src/eval-tests.el (eval-tests/backtrace-in-batch-mode)
	(eval-tests/backtrace-in-batch-mode/demoted-errors): New unit tests.

	* etc/NEWS: Document change.

2020-12-06  Eli Zaretskii  <eliz@gnu.org>

	Improve error message text of "C-x C-SPC"

	* lisp/simple.el (pop-global-mark): Mention the buffer name in the
	error message.  Suggested by T.V Raman <raman@google.com>.

2020-12-06  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of streams in batch mode

	* doc/lispref/os.texi (Batch Mode):
	* doc/lispref/streams.texi (Input Streams, Output Streams): Better
	documentation of I/O streams in batch mode, with more
	cross-references.

2020-12-06  Michael Albinus  <michael.albinus@gmx.de>

	Make Tramp scripts more unique and robust

	* lisp/net/tramp-sh.el (tramp-uudecode, tramp-perl-file-truename)
	(tramp-perl-file-name-all-completions)
	(tramp-perl-file-attributes)
	(tramp-perl-directory-files-and-attributes)
	(tramp-perl-encode-with-module, tramp-perl-decode-with-module)
	(tramp-perl-encode, tramp-perl-decode, tramp-perl-pack)
	(tramp-perl-unpack, tramp-hexdump-encode, tramp-awk-encode)
	(tramp-hexdump-awk-encode, tramp-od-encode, tramp-od-awk-encode)
	(tramp-awk-decode): Use format specifiers supported by
	`tramp-expand-script'.  Adapt docstring.
	(tramp-vc-registered-read-file-names): Adapt docstring.
	(tramp-sh-handle-file-local-copy): Let-bind local `default-directory'.
	(tramp-expand-script): New defun.
	(tramp-maybe-send-script, tramp-find-inline-encoding): Use it.
	(tramp-local-coding-commands): Simplify.

2020-12-06  Mattias Engdegård  <mattiase@acm.org>

	Unicode integrals in Calc

	* lisp/calc/calccomp.el (math-compose-integ): Use Unicode integral
	signs when available instead of a crude ASCII approximation, with a
	shorter stem to save space.

2020-12-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Avoid modifying nnimap user option in spam.el

	* lisp/gnus/nnimap.el (nnimap--split-download-body): New variable.
	(nnimap-fetch-inbox): Use it in conjunction with
	nnimap-split-download-body.
	* lisp/gnus/spam.el: Don't load nnimap.el at compile time for a
	dynamic variable.
	(spam-setup-widening): Rather than unconditionally set user option
	nnimap-split-download-body, set nnimap--split-download-body to a
	unique non-nil value only if the variable was nil (bug#44981).
	(spam-teardown-widening): New function that undoes this if
	nnimap--split-download-body still holds the unique value.
	(spam-unload-hook): Call spam-teardown-widening to revert any change
	to the value of nnimap--split-download-body.

2020-12-06  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in several progmodes

	* lisp/progmodes/executable.el (executable-interpret):
	* lisp/progmodes/f90.el (f90-mode):
	* lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics):
	* lisp/progmodes/fortran.el (fortran-mode):
	* lisp/progmodes/gud.el (gud-gdb, sdb, dbx, xdb, perldb, pdb)
	(jdb, gud-mode, gud-common-init, gdb-script-mode)
	(gud-tooltip-activate-mouse-motions):
	* lisp/progmodes/hideshow.el (hs-minor-mode):
	* lisp/progmodes/icon.el (icon-mode):
	* lisp/progmodes/ld-script.el (ld-script-mode):
	* lisp/progmodes/mixal-mode.el (mixal-mode):
	* lisp/progmodes/modula2.el (m2-mode):
	* lisp/progmodes/simula.el (simula-mode):
	* lisp/progmodes/subword.el (subword-setup-buffer):
	* lisp/progmodes/which-func.el (which-function):  Prefer setq-local.

2020-12-06  Eli Zaretskii  <eliz@gnu.org>

	Support ks_c_5601-1987 encoding

	* lisp/language/korean.el (ks_c_5601-1987): Define as an alias for
	'korean-iso-8bit.  (It is sometimes used in email messages.)

2020-12-06  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in emulation/*.el

	* lisp/emulation/edt.el (edt-select-mode):
	* lisp/emulation/viper-cmd.el (viper-refresh-mode-line):
	(viper-minibuffer-setup-sentinel):
	* lisp/emulation/viper.el (viper-comint-mode-hook): Prefer setq-local.

2020-12-06  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in url/*.el

	* lisp/url/url-cookie.el (url-cookie-write-file):
	* lisp/url/url-http.el (url-http-parse-headers):
	* lisp/url/url-util.el (url-extract-mime-headers): Prefer setq-local.

2020-12-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix Xaw widget text disappearing when built with cairo (bug#43418)

	* lwlib/lwlib-utils.c (crxft_font_open_name): Use FcFontMatch to
	get a pattern to pass to cairo_ft_font_face_create_for_pattern.

2020-12-05  Andrea Corallo  <akrl@sdf.org>

	Memoize `comp-cstr-union-1'

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr): Do not synthesize the
	copier.
	(comp-cstr-ctxt): Add `union-1-mem-no-range' `union-1-mem-range'
	slots.
	(comp-cstr-copy): New function.
	(comp-cstr-union-1-no-mem): Rename from `comp-cstr-union-1'.
	(comp-cstr-union-1): New function.

2020-12-05  Andrea Corallo  <akrl@sdf.org>

	More improvements to `comp-cstr-union-1' for mixed positive/negative cases

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1): Better handle
	mixed positive/negated cases.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add a number of tests.

2020-12-05  Andrea Corallo  <akrl@sdf.org>

	Fix `comp-cstr-to-type-spec'

	* lisp/emacs-lisp/comp-cstr.el (comp-star-or-num-p): New predicate.
	(comp-type-spec-to-cstr): Make use of.
	(comp-cstr-to-type-spec): Output correctly type specifiers
	as (not (or integer ...

2020-12-05  Andrea Corallo  <akrl@sdf.org>

	Fix union of homogeneously negated input constraints

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1): Fix logic.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add a couple of tests.

2020-12-05  Andrea Corallo  <akrl@sdf.org>

	Add `with-comp-cstr-accessors' macro.

	* lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): New macro.
	(comp-cstr-union-1): Make use of `with-comp-cstr-accessors'.

2020-12-05  Andrea Corallo  <akrl@sdf.org>

	Initial support for union of negated constraints

	* lisp/emacs-lisp/comp-cstr.el (comp-range-negation): New
	function.
	(comp-cstr-union-homogeneous-no-range): Rename from
	`comp-cstr-union-no-range'.
	(comp-cstr-union-homogeneous): Rename from `comp-cstr-union'.
	(comp-cstr-union-1): New function.
	(comp-cstr-union-no-range, comp-cstr-union): Rewrite in function
	of `comp-cstr-union-1'.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add a bunch of tests.

2020-12-05  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-no-range): Cosmetic.

2020-12-05  Andrea Corallo  <akrl@sdf.org>

	Initial constraint negation support

	* lisp/emacs-lisp/comp-cstr.el (comp-cstr): Add `neg' slot.
	(comp-range-negation, comp-cstr-negation)
	(comp-cstr-negation-make): New functions.
	(comp-type-spec-to-cstr): Enable `not` in type specifiers.
	(comp-cstr-to-type-spec): Update logic to handle negation.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add a test.

2020-12-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/perl-mode.el: Fix handling of s'foo'bar'

	(perl-syntax-propertize-function): Don't put a syntax-property
	on regexp-op delimiters if they're already handled correctly
	by the normal syntax tables.
	(perl-syntax-propertize-special-constructs): Mark the middle
	quote of s'foo'bar' as punctuation.

	* test/manual/indent/perl.perl: Add new test cases.

2020-12-05  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in play/*.el

	* lisp/play/decipher.el (decipher-mode):
	* lisp/play/doctor.el (make-doctor-variables):
	* lisp/play/dunnet.el (dun-mode):
	* lisp/play/gomoku.el (gomoku-mode): Prefer setq-local.

2020-12-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix last change to shell-command

	* lisp/simple.el: Specify comint-term-environment arglist in
	function declaration.
	(shell-command): Load shell.el before calling
	comint-term-environment; otherwise it is undefined.  Allow
	async-shell-command-width to take precedence over the COLUMNS value
	returned by comint-term-environment.  (Bug#45034)

2020-12-05  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'ps-print-color-p'

	* doc/emacs/misc.texi (PostScript Variables): Improve and clarify
	the description of 'ps-print-color-p'.  (Bug#44962)

2020-12-05  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in mail/*.el

	* lisp/mail/emacsbug.el (report-emacs-bug):
	* lisp/mail/rfc822.el (rfc822-addresses):
	* lisp/mail/rmail.el (rmail-perm-variables, rmail-show-message-1):
	* lisp/mail/rmailedit.el (rmail-edit-mode):
	(rmail-edit-current-message, rmail-cease-edit):
	* lisp/mail/rmailsum.el (rmail-new-summary-1, rmail-summary-mode):
	(rmail-summary-update-highlight):
	* lisp/mail/sendmail.el (mail-mode): Prefer setq-local.

2020-12-05  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in vc/*.el

	* lisp/vc/add-log.el (find-change-log, change-log-mode):
	* lisp/vc/cvs-status.el (cvs-status-mode):
	* lisp/vc/diff-mode.el (diff-restrict-view, diff-find-file-name):
	(diff-mode, diff-setup-whitespace, diff-apply-hunk):
	* lisp/vc/diff.el (diff-no-select):
	* lisp/vc/ediff-util.el (ediff-setup):
	* lisp/vc/log-edit.el (log-edit, log-edit-mode):
	* lisp/vc/log-view.el (log-view-mode):
	* lisp/vc/pcvs.el (cvs-temp-buffer, cvs-make-cvs-buffer):
	(cvs-update-filter, cvs-mode, cvs-mode-commit)
	(cvs-mode-edit-log, cvs-vc-command-advice):
	* lisp/vc/smerge-mode.el (smerge-match-conflict):
	(smerge-ediff, smerge-mode):
	* lisp/vc/vc-annotate.el (vc-annotate-mode):
	(vc-annotate, vc-annotate-display):
	* lisp/vc/vc-bzr.el (vc-bzr-log-view-mode):
	* lisp/vc/vc-dir.el (vc-dir-mode):
	* lisp/vc/vc-dispatcher.el (vc-setup-buffer):
	(vc-compilation-mode, vc-start-logentry):
	* lisp/vc/vc-git.el (vc-git-log-view-mode):
	* lisp/vc/vc-hg.el (vc-hg-log-view-mode):
	* lisp/vc/vc-hooks.el (vc-refresh-state):
	* lisp/vc/vc-mtn.el (vc-mtn-log-view-mode):
	* lisp/vc/vc-svn.el (vc-svn-log-view-mode):
	* lisp/vc/vc.el (vc-register, vc-diff-internal):
	(vc-find-revision-save, vc-find-revision-no-save):
	(vc-log-internal-common, vc-region-history): Prefer setq-local.

2020-12-05  Dmitry Gutov  <dgutov@yandex.ru>

	Always show the summary

	* lisp/progmodes/xref.el (xref--show-defs-minibuffer):
	Always show the summary (at least for now).

2020-12-05  Dmitry Gutov  <dgutov@yandex.ru>

	Fontify the group and the line number

	* lisp/progmodes/xref.el (xref--show-defs-minibuffer):
	Fontify the group and the line number.

2020-12-05  Dmitry Gutov  <dgutov@yandex.ru>

	Hide the common parent directory, if any

	* lisp/progmodes/xref.el (xref--show-defs-minibuffer):
	Hide the common parent directory, if any.

2020-12-05  William Xu  <william.xwl@gmail.com>

	xref--show-defs-minibuffer: new "show definitions" UI

	* lisp/progmodes/xref.el (xref--show-defs-minibuffer):
	New function to use as xref-show-definitions-function
	(https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00824.html).

2020-12-04  Andrea Corallo  <akrl@sdf.org>

	Do not compile `comp-cstr.el` in vanilla builds

	* lisp/Makefile.in (compile-targets): Filter out 'comp-cstr.elc'
	in vanilla builds.

2020-12-04  Andrea Corallo  <akrl@sdf.org>

	Vanilla build warning clean-up

	* lisp/emacs-lisp/disass.el (native-comp-unit-file)
	(subr-native-comp-unit): Declare function.
	* lisp/progmodes/elisp-mode.el (native-compile): Likewise.
	* lisp/emacs-lisp/package.el (comp-el-to-eln-filename): Likewise.
	* lisp/startup.el (normal-top-level): Silence warning.
	* src/data.c (syms_of_data): 'Ssubr_native_lambda_list' is always
	defined.
	* src/pdumper.c (dump_cold_native_subr): Move under ifdefs.
	(dump_drain_cold_data): Add ifdefs.

2020-12-04  Andrea Corallo  <akrl@sdf.org>

	Fix `load-history' causing a number of spurious compiler warnings

	* src/comp.c (Fcomp__register_subr): Fix missing entry into
	`load-history' indicating that the loaded function was already an
	autoload.

2020-12-04  Spencer Baugh  <sbaugh@catern.com>

	* src/alloc.c (Fgarbage_collect_maybe): New function

2020-12-04  Dmitry Gutov  <dgutov@yandex.ru>

	Improve docstrings

	* lisp/progmodes/xref.el (xref-search-program-alist)
	(xref-search-program): Improve docstrings.

2020-12-04  Roland Winkler  <winkler@gnu.org>

	* lisp/textmodes/bibtex.el: Use user-error.

2020-12-04  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in emacs-lisp/*.el

	* lisp/emacs-lisp/chart.el (chart-mode):
	* lisp/emacs-lisp/copyright.el (copyright-update):
	* lisp/emacs-lisp/eieio-custom.el (eieio-customize-object):
	* lisp/emacs-lisp/elint.el (elint-update-env, elint-init-form):
	* lisp/emacs-lisp/ert.el (ert--results-update-ewoc-hf):
	(ert--setup-results-buffer):
	* lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables):
	* lisp/emacs-lisp/pp.el (pp-display-expression):
	* lisp/emacs-lisp/re-builder.el (reb-mode, reb-restart-font-lock):
	* lisp/emacs-lisp/shadow.el (load-path-shadows-mode):
	* lisp/emacs-lisp/smie.el (smie-setup):
	* lisp/emacs-lisp/syntax.el (syntax-propertize):
	* lisp/emacs-lisp/trace.el (trace-make-advice): Prefer setq-local.

2020-12-04  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in net/*.el

	* lisp/net/ange-ftp.el (ange-ftp-process-handle-line):
	(internal-ange-ftp-mode):
	* lisp/net/imap.el (imap-fetch-safe):
	* lisp/net/net-utils.el (net-utils-mode):
	(nslookup-mode, network-connection-mode-setup):
	* lisp/net/newst-plainview.el (newsticker-mode):
	(newsticker-buffer-update):
	* lisp/net/newst-treeview.el (newsticker--treeview-item-show):
	(newsticker-treeview-mode):
	* lisp/net/rlogin.el (rlogin):
	* lisp/net/secrets.el (secrets-mode):
	* lisp/net/sieve-mode.el (sieve-mode):
	* lisp/net/sieve.el (sieve-setup-buffer, sieve-open-server):
	* lisp/net/snmp-mode.el (snmp-common-mode, snmp-mode, snmpv2-mode):
	* lisp/net/telnet.el (telnet-mode):
	* lisp/net/tramp.el (tramp-get-debug-buffer): Prefer setq-local.

2020-12-04  Mattias Engdegård  <mattiase@acm.org>

	Speed up match-substitute-replacement

	* lisp/subr.el (match-substitute-replacement): Use match-data--translate.
	* src/search.c (Fmatch_data__translate): Remove string restriction.
	* test/lisp/subr-tests.el (subr-match-substitute-replacement): New test.

2020-12-04  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in cedet

	* lisp/cedet/data-debug.el (data-debug-mode):
	* lisp/cedet/ede/custom.el (ede-customize-project):
	* lisp/cedet/ede/project-am.el (project-am-load-makefile):
	* lisp/cedet/mode-local.el (mode-local--activate-bindings):
	* lisp/cedet/semantic.el (semantic--set-buffer-cache):
	* lisp/cedet/semantic/analyze/debug.el
	(semantic-analyzer-debug-add-buttons):
	* lisp/cedet/semantic/grammar.el (semantic-grammar-mode):
	* lisp/cedet/semantic/senator.el (senator-search-set-tag-class-filter):
	(senator-isearch-mode-hook):
	* lisp/cedet/semantic/symref/list.el
	(semantic-symref-produce-list-on-results)
	(semantic-symref-results-mode):
	* lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
	* lisp/cedet/semantic/wisent/python.el (wisent-python-default-setup):
	* lisp/cedet/srecode/srt-mode.el (srecode-template-mode):
	Prefer setq-local.

2020-12-04  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in most of textmodes/*.el

	* lisp/textmodes/artist.el (artist-mode-init):
	* lisp/textmodes/bibtex.el (bibtex-mode):
	* lisp/textmodes/dns-mode.el (dns-mode):
	* lisp/textmodes/enriched.el (enriched-mode):
	* lisp/textmodes/ispell.el (ispell-buffer-local-parsing):
	* lisp/textmodes/nroff-mode.el (nroff-mode):
	* lisp/textmodes/picture.el (picture-mode):
	* lisp/textmodes/refill.el (refill-mode):
	* lisp/textmodes/two-column.el (2C-split): Prefer setq-local.

2020-12-04  Eli Zaretskii  <eliz@gnu.org>

	Don't abort when terminated by SIGINT in -batch

	* src/xdisp.c (clear_message_stack): New function.
	* src/emacs.c (terminate_due_to_signal): Call clear_message_stack
	when we are being shut down by SIGINT under -batch.
	* src/lisp.h (clear_message_stack): Add prototype.

2020-12-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make custom-data saving atomic

	* lisp/cus-edit.el (custom-save-all): Do the custom saves as an
	atomic change group, to avoid writing invalid data if something
	goes wrong (or the user hits `C-g') in the middle (bug#18633).

2020-12-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow viper-save-setting to save numerical settings

	* lisp/emulation/viper-util.el (viper-save-setting): Allow saving
	numerical settings (bug#18928).

2020-12-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify icomplete-show-matches-on-no-input doc string

	* lisp/icomplete.el (icomplete-show-matches-on-no-input): Clarify
	the meaning of the variable (bug#19031).

2020-12-04  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in erc

	* lisp/erc/erc-goodies.el (erc-imenu-setup):
	* lisp/erc/erc-list.el (erc-list-install-322-handler, erc-cmd-LIST):
	* lisp/erc/erc-pcomplete.el (pcomplete-erc-setup):
	* lisp/erc/erc.el (erc-mode, erc-update-mode-line-buffer):
	Prefer setq-local.

2020-12-04  Alyssa Ross  <hi@alyssa.is>  (tiny change)

	Make shell-command use comint settings

	* lisp/simple.el (shell-command): Use the term environment from
	comint, so that comint settings are used for commands like
	`async-shell-command', too (bug#45034).

2020-12-04  Stefan Kangas  <stefan@marxist.se>

	* lisp/eshell/esh-mode.el (eshell-mode): Remove XEmacs compat code.

2020-12-04  Stefan Kangas  <stefan@marxist.se>

	Prefer setq-local in eshell

	* lisp/eshell/em-cmpl.el (eshell-cmpl-initialize):
	* lisp/eshell/em-dirs.el (eshell-dirs-initialize):
	* lisp/eshell/em-glob.el (eshell-glob-initialize, eshell-glob-regexp):
	* lisp/eshell/em-hist.el (eshell-hist-initialize):
	* lisp/eshell/em-prompt.el (eshell-prompt-initialize):
	* lisp/eshell/em-rebind.el (eshell-rebind-initialize)
	(eshell-setup-input-keymap):
	* lisp/eshell/em-script.el (eshell-script-initialize):
	* lisp/eshell/em-smart.el (eshell-smart-initialize):
	* lisp/eshell/em-term.el (eshell-term-initialize, eshell-exec-visual):
	* lisp/eshell/em-tramp.el (eshell-tramp-initialize):
	* lisp/eshell/em-unix.el (eshell-unix-initialize, eshell/diff):
	* lisp/eshell/esh-arg.el (eshell-arg-initialize):
	* lisp/eshell/esh-cmd.el (eshell-cmd-initialize):
	* lisp/eshell/esh-io.el (eshell-get-target):
	* lisp/eshell/esh-mode.el (eshell-mode):
	* lisp/eshell/esh-var.el (eshell-var-initialize): Prefer setq-local.

2020-12-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Preload iso-trans.el

	* lisp/loadup.el ("international/iso-transl"): Load by default so
	that we get `Alt-' bindings (bug#21310).

	* lisp/international/iso-transl.el: Remove autoloads and some
	comments.

2020-12-04  Dmitry Gutov  <dgutov@yandex.ru>

	Support using ripgrep in project-find-regexp and friends

	Performance results vary here.  Some projects and search terms
	don't see much of a change, but for some (including Emacs sources
	checkout and case-insensitive search) the switch to ripgrep shows
	~2-3x speed improvement.  Another piece of anecdata here:
	https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00802.html

	* lisp/progmodes/xref.el (xref-search-program-alist)
	(xref-search-program): New user options.
	(xref-matches-in-files): Use them.

2020-12-04  Andrea Corallo  <akrl@sdf.org>

	Reduce (half) the number of loads emitted for calling into C code

	As after each function call GCC clobbers the pointer to the function
	relocation table.  This commit modify the code generation to create a
	local copy of it for each function.  This reduces the average number
	of loads for each function call into C from two to one.

	* src/comp.c (comp_t): Add 'func_relocs_ptr_type' and
	'func_relocs_local' fields.
	(emit_call): Use the local func_relocs pointer when possible.
	(emit_ctxt_code): Fill 'comp.func_relocs_ptr_type'.
	(compile_function): Declare 'func_relocs_ptr_local'.
	(compile_function): Assign 'func_relocs_ptr_local' from the global
	value in each function prologue.

2020-12-03  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Restore nnimap-split-download-body as a customization option

	* lisp/gnus/nnimap.el (nnimap-split-download-body): And add an
	obsolete alias for `nnimap-split-download-body-default'.
	(nnimap-fetch-inbox): Check the value of the option, not the variable.
	* doc/misc/gnus.texi (Client-Side IMAP Splitting): Move the primary
	documentation of this option to this section.

2020-12-03  Basil L. Contovounesios  <contovob@tcd.ie>

	Define explicit-shell-file-name only in shell.el

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2020-04/msg00880.html

	* doc/emacs/cmdargs.texi (General Variables): Mention
	shell-file-name in relation to SHELL.
	* doc/emacs/misc.texi (Interactive Shell): Move index entry for
	SHELL environment variable from here, where it is not mentioned...
	(Single Shell): ...to here, where it is discussed along with
	shell-file-name.
	* lisp/dired.el (dired-insert-directory): Use shell-file-name
	instead of explicit-shell-file-name when a shell is implicitly
	requested.
	* lisp/obsolete/terminal.el (explicit-shell-file-name):
	* lisp/term.el (explicit-shell-file-name): Remove duplicate
	defcustoms and load lisp/shell.el instead.  (Bug#40679)
	* lisp/shell.el (explicit-shell-file-name): Clarify docstring.
	(shell): Simplify.

2020-12-03  Stefan Kangas  <stefan@marxist.se>

	Add tests for several byte-compiler warnings

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp/warn-autoload-not-on-top-level\.el)
	(bytecomp/warn-callargs\.el)
	(bytecomp/warn-defcustom-nogroup\.el)
	(bytecomp/warn-defcustom-notype\.el)
	(bytecomp/warn-defvar-lacks-prefix\.el)
	(bytecomp/warn-format\.el)
	(bytecomp/warn-lambda-malformed-interactive-spec\.el)
	(bytecomp/warn-make-variable-buffer-local\.el)
	(bytecomp/warn-redefine-defun-as-macro\.el)
	(bytecomp/warn-redefine-defun\.el)
	(bytecomp/warn-redefine-macro-as-defun\.el)
	(bytecomp/warn-save-excursion\.el)
	(bytecomp/warn-variable-let-bind-constant\.el)
	(bytecomp/warn-variable-let-bind-nonvariable\.el)
	(bytecomp/warn-variable-set-constant\.el)
	(bytecomp/warn-variable-set-nonvariable\.el): New tests.
	* test/lisp/emacs-lisp/bytecomp-resources/warn-autoload-not-on-top-level.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-callargs.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-defcustom-nogroup.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-defcustom-notype.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-defvar-lacks-prefix.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-format.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-lambda-malformed-interactive-spec.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-make-variable-buffer-local.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-defun-as-macro.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-defun.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-macro-as-defun.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-save-excursion.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-variable-let-bind-constant.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-variable-let-bind-nonvariable.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-constant.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-nonvariable.el:
	* test/lisp/emacs-lisp/bytecomp-tests.el: New files.

2020-12-03  Basil L. Contovounesios  <contovob@tcd.ie>

	Avoid spamming view-mode-enter help message

	By default, entering view-mode echoes a usage message.  This is
	particularly helpful with non-nil view-read-only, to notify the user
	that view-mode has been enabled.  It is less useful and more spammy,
	however, if view-mode is (possibly inadvertently) entered from some
	non-interactive code running in the background, such as when a major
	mode is enabled in a temporary buffer for text formatting
	purposes (bug#44629).

	* lisp/jsonrpc.el (jsonrpc-events-buffer, initialize-instance): Use
	buffer-read-only in place of read-only-mode for non-interactive use.
	* lisp/view.el (view-mode-enter): Inhibit help message if either
	view-inhibit-help-message is non-nil, or view-mode-enter was called
	from an interactive command.  Suggested by João Távora
	<joaotavora@gmail.com>.

2020-12-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix auto-revert-test07-auto-revert-several-buffers

	* test/lisp/autorevert-tests.el
	(auto-revert-test07-auto-revert-several-buffers): Adapt times values.

2020-12-03  Spencer Baugh  <sbaugh@catern.com>

	Improve performance of auto-revert-notify-add-watch

	* lisp/autorevert.el (auto-revert-notify-add-watch):
	Do not search for buffers registered with the same file name, this
	is not necessary.  (Bug#44638)

2020-12-03  Stefan Kangas  <stefan@marxist.se>

	Remove redundant requires of 'help'

	* lisp/emacs-lisp/advice.el (ad-read-advised-function):
	* lisp/emacs-lisp/ert.el:
	* lisp/facemenu.el: Don't require 'help'; it is preloaded since
	version 18.59.

2020-12-03  Stefan Kangas  <stefan@marxist.se>

	Remove redundant requires of 'button'

	* lisp/apropos.el:
	* lisp/emacs-lisp/cl-print.el:
	* lisp/emacs-lisp/debug.el:
	* lisp/emacs-lisp/ert.el:
	* lisp/emacs-lisp/shadow.el:
	* lisp/facemenu.el:
	* lisp/help-mode.el:
	* lisp/man.el:
	* lisp/progmodes/etags.el:
	* lisp/textmodes/bibtex.el:
	* lisp/woman.el: Don't require 'button'; it is preloaded since version
	23.1.

2020-12-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix "grep foo bar" in eshell

	* lisp/eshell/em-unix.el (eshell-grep): Use the -H switch so that
	we always get the file name, so that `M-x next-error' and friends
	work (bug#22330).

2020-12-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't make grep arguments invisible in eshell

	* lisp/eshell/em-unix.el (eshell-grep): There doesn't seem to be
	any reason why parts of the command should be invisible, so don't
	do that.

2020-12-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Recompute error positions in python-shell-send-region

	* lisp/progmodes/python.el (python-shell-send-region): Recompute
	line positions when evaluating (bug#22934).

2020-12-03  Stefan Kangas  <stefankangas@gmail.com>

	Remove redundant requires of 'custom'

	* lisp/emacs-lisp/eieio-custom.el:
	* lisp/htmlfontify.el:
	* lisp/mwheel.el:
	* lisp/net/eudc-vars.el:
	* lisp/net/ldap.el:
	* lisp/net/tramp-ftp.el:
	* lisp/net/tramp-gvfs.el:
	* lisp/progmodes/cwarn.el:
	* lisp/progmodes/sql.el:
	* lisp/savehist.el:
	* lisp/textmodes/reftex.el:
	* lisp/wid-browse.el: Don't require 'custom'; it is preloaded since
	version 20.1.

2020-12-03  Stefan Kangas  <stefankangas@gmail.com>

	Remove redundant requires of 'font-core'

	* lisp/ibuffer.el:
	* test/lisp/erc/erc-track-tests.el: Don't require 'font-core'; it is
	preloaded since version 22.1.

2020-12-03  Stefan Kangas  <stefankangas@gmail.com>

	Remove redundant requires of 'font-lock'

	* lisp/cedet/data-debug.el:
	* lisp/hi-lock.el:
	* lisp/htmlfontify.el:
	* lisp/org/org.el:
	* lisp/progmodes/cperl-mode.el:
	* lisp/progmodes/cwarn.el: Don't require 'font-lock'; it is preloaded
	since version 22.1.

2020-12-02  Roland Winkler  <winkler@gnu.org>

	bibtex-autokey-get-year: Allow both a year or date field.

	* lisp/textmodes/bibtex.el (bibtex-text-in-field): Allow arg field
	to be a list of fields.
	(bibtex-autokey-get-year): Look for year and date field.  Allow
	the extended date format used by biblatex.

2020-12-02  Roland Winkler  <winkler@gnu.org>

	bibtex-mode: do not fail when local variables are disabled

	* lisp/textmodes/bibtex.el (bibtex-mode): Check if
	enable-local-variables is non-nil (bug#37957).

2020-12-02  Roland Winkler  <winkler@gnu.org>

	Allow bibtex-contline-indentation as file-local variable.

	* lisp/textmodes/bibtex.el (bibtex-contline-indentation)
	(bibtex-comment-start, bibtex-entry-offset, bibtex-text-indentation):
	Add :safe attribute.
	(bibtex-mode): Allow these variables as file-local variables
	(bug#44618 and bug#44647).

2020-12-02  Stefan Kangas  <stefan@marxist.se>

	Remove redundant requires of faces

	* lisp/htmlfontify.el:
	* lisp/term/ns-win.el:
	* lisp/term/w32-win.el:
	* lisp/term/x-win.el:
	* test/lisp/faces-tests.el: Don't require 'faces'; it is preloaded
	since version 19.34.

2020-12-02  Stefan Kangas  <stefan@marxist.se>

	Remove redundant requires of env

	* lisp/eshell/esh-var.el:
	* lisp/man.el: Don't require 'env'; it is preloaded since version
	20.1.

2020-12-02  Roland Winkler  <winkler@gnu.org>

	Allow bibtex-unify-case-function as file-local variable

	* lisp/textmodes/bibtex.el (bibtex-unify-case-function):
	Renamed from bibtex-unify-case-convert.  Add :safe attribute.
	* etc/NEWS: Update accordingly.

2020-12-02  Michael Albinus  <michael.albinus@gmx.de>

	Add test to autorevert-tests.el

	* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert):
	Handle `auto-revert--messages' being nil.
	(auto-revert-test07-auto-revert-several-buffers): New test.

2020-12-02  Stefan Kangas  <stefan@marxist.se>

	Improve sectioning in bytecomp-tests.el

	* test/lisp/emacs-lisp/bytecomp-tests.el: Add section comments.
	(test-eager-load-macro-expansion)
	(test-eager-load-macro-expansion-eval-and-compile): Move definitions.

2020-12-02  Stefan Kangas  <stefan@marxist.se>

	* lisp/play/dunnet.el: Remove Emacs 18 compat code.

2020-12-02  Stefan Kangas  <stefan@marxist.se>

	Make variable cperl-version obsolete

	* lisp/progmodes/cperl-mode.el (cperl-menu): Remove CPerl version
	menu entry.
	(cperl-version): Make obsolete.

2020-12-02  Stefan Kangas  <stefan@marxist.se>

	Remove some Emacs 19 compat code from cperl-mode

	* lisp/progmodes/cperl-mode.el
	(cperl-put-do-not-fontify): Remove Emacs 19 compat code.
	(cperl-do-not-fontify): Make obsolete.

2020-12-02  Stefan Kangas  <stefan@marxist.se>

	Remove some references to fast-lock and lazy-lock

	* lisp/htmlfontify.el (hfy-copy-and-fontify-file):
	* lisp/progmodes/antlr-mode.el: Remove some references to obsolete
	libraries fast-lock and lazy-lock.

2020-12-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix alignment of declaractions of arrays

	* lisp/align.el (align-rules-list): Align variable declarations
	like char *foo[], too (bug#23370).

2020-12-02  Michael Albinus  <michael.albinus@gmx.de>

	* INSTALL: Add the installation command of development packages for FreeBSD.

	Recipe contributed by Joseph Mingrone <jrm@ftfl.ca>.

2020-12-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Add tests for xsd-regexp

2020-12-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix xsdre-range-list-to-char-alternative problem with {P}

	* lisp/nxml/xsd-regexp.el (xsdre-range-list-to-char-alternative):
	Make (string-match (xsdre-translate "\\p{P}") "a-b") work
	(bug#24093) -- the "forbidden" characters don't have to be the
	first elements in a range.

2020-12-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the message-fetch-field doc string

	* lisp/gnus/message.el (message-fetch-field): Improve the doc
	string (bug#44991).

2020-12-02  Stefan Kangas  <stefan@marxist.se>

	Remove specific byte-compiler warnings for cl.el

	* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types)
	(byte-compile-warnings, byte-compile-cl-file-p)
	(byte-compile-eval, byte-compile-eval-before-compile)
	(byte-compile-arglist-warn, byte-compile-find-cl-functions)
	(byte-compile-cl-warn, displaying-byte-compile-warnings)
	(byte-compile-file-form-require, byte-compile-form): Remove all
	specific cl.el warnings, as that library is now obsolete.  The
	regular obsoletion warnings are sufficiently discouraging.
	* lisp/emacs-lisp/advice.el (ad-compile-function): Don't try to
	silence the now removed warning.
	* doc/lispref/tips.texi (Coding Conventions):
	* doc/misc/cl.texi (Organization): Make recommendation to not use
	cl.el and cl-compat.el stronger.
	* lisp/obsolete/cl.el: Make alias help say that they are obsolete.
	* lisp/obsolete/cl-compat.el (build-klist, safe-idiv)
	(pair-with-newsyms): Silence byte-compiler.

2020-12-02  Dmitry Gutov  <dgutov@yandex.ru>

	Improve .gitignore and project-vc-ignores handling

	* lisp/progmodes/project.el (project-ignores):
	Convert .gitignore entries more faithfully.
	(project--vc-list-files): Convert "our" ignore entries to
	"proper" globs, which is what Git pathspec requires.

2020-12-02  Dmitry Gutov  <dgutov@yandex.ru>

	Use project--value-in-dir

	* lisp/progmodes/project.el (project-files):
	Use 'project--value-in-dir'.  To have any changes in
	'project-vc-ignores' take effect immediately.

2020-12-01  Juri Linkov  <juri@linkov.net>

	Fix documentation of window-in-direction arg MINIBUF (bug#44932)

	* doc/lispref/windows.texi (Windows and Frames): Rename MINI arg
	of window-in-direction to MINIBUF.  Explain the non-nil non-t value.

2020-12-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	749e4b7e0b Reset xref-show-xrefs-function temporarily
	3e6525d69f Don't show in 'view-lossage' responses to xterm feature qu...
	9fbff9c35c ; * src/buffer.c: Fix comment describing 'buffer_defaults'.

2020-12-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	9939c435c1 Return the correct suffix in eww-make-unique-file-name
	17fa17be3d Save bookmarks by using `write-file' (bug#12507)
	2cdf1fd261 Fix filing messages when 'rmail-output-reset-deleted-flag'...
	a72db8ab8b Make file copying in tramp-gvfs more robust
	f31cacd1ff Revert "Fix incorrect handling of module runtime and envir...
	cdc632fbe6 Fix incorrect handling of module runtime and environment p...
	c9160bda78 CC Mode: Fix error in cache handling.  This fixes bug #43481

2020-12-01  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/arc-mode.el (archive-get-descr): Use default mode if needed.

2020-12-01  Michael Albinus  <michael.albinus@gmx.de>

	Allow Tramp to mirror traces to a file

	* doc/misc/tramp.texi (Traces and Profiles): Add `tramp-debug-to-file'.

	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
	(tramp-adb-get-device):
	* lisp/net/tramp-cmds.el (tramp-rename-files):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-monitor-process-filter)
	(tramp-gvfs-handler-volumeadded-volumeremoved)
	(tramp-get-media-devices):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch)
	(tramp-sh-gio-monitor-process-filter)
	(tramp-sh-gvfs-monitor-dir-process-filter)
	(tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
	(tramp-find-inline-encoding):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl):
	Use `tramp-compat-string-replace'.

	* lisp/net/tramp-compat.el (tramp-compat-string-replace): New defalias.

	* lisp/net/tramp.el (tramp-debug-to-file): New defcustom.
	(tramp-get-debug-buffer): Simplify.
	(tramp-get-debug-file-name): New defun.
	(tramp-debug-message): Write debug file if indicated.

2020-12-01  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Add user option 'tramp-debug-to-file'.

2020-12-01  Stefan Kangas  <stefan@marxist.se>

	Fix byte-compiler warning for failed uses of lexical vars

	* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Fix byte-compiler
	warning for failed uses of lexical vars.  (Bug#44980)
	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp--define-warning-file-test): Don't prefix tests with
	'warn'.
	(bytecomp/error-lexical-var-with-add-hook\.el)
	(bytecomp/error-lexical-var-with-remove-hook\.el)
	(bytecomp/error-lexical-var-with-run-hook-with-args-until-failure\.el)
	(bytecomp/error-lexical-var-with-run-hook-with-args-until-success\.el)
	(bytecomp/error-lexical-var-with-run-hook-with-args\.el)
	(bytecomp/error-lexical-var-with-symbol-value\.el): New tests.
	* test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-symbol-value.el:
	* test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args.el:
	* test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args-until-success.el:
	* test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args-until-failure.el:
	* test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-remove-hook.el:
	* test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-add-hook.el:
	New files.

2020-12-01  Zajcev Evgeny  <zevlg@yandex.ru>

	Fix use of 'switch-to-buffer-preserve-window-point'

	* lisp/window.el (switch-to-buffer): Respect buffer local value
	of 'switch-to-buffer-preserve-window-point' variable.

2020-12-01  Stefan Kangas  <stefan@marxist.se>

	Add tests for some byte-compiler warnings

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-warn/warn-interactive-only\.el)
	(bytecomp-warn/warn-obsolete-defun\.el)
	(bytecomp-warn/warn-obsolete-hook\.el)
	(bytecomp-warn/warn-obsolete-variable-same-file\.el)
	(bytecomp-warn/warn-obsolete-variable\.el): New tests.
	* test/lisp/emacs-lisp/bytecomp-resources/warn-interactive-only.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-defun.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-hook.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-same-file.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable.el:
	New files.

2020-12-01  Dmitry Gutov  <dgutov@yandex.ru>

	Reset xref-show-xrefs-function temporarily

	* lisp/dired-aux.el (dired-do-find-regexp-and-replace):
	Make sure xref-show-xrefs-function has the necessary value (bug#44905).

2020-12-01  Andrea Corallo  <akrl@sdf.org>

	Fix `comp-mvar-symbol-p' and `comp-mvar-cons-p' (bug#44968)

	* lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): As all slots into
	a `comp-cstr' are in or fix this logic.
	(comp-mvar-cons-p): Likewise.
	* test/src/comp-tests.el (bug-44968): New testcase.
	* test/src/comp-test-funcs.el (comp-test-44968-f): New test
	function.

2020-11-30  Stefan Kangas  <stefan@marxist.se>

	Decrease code duplication in byte-compiler free-vars warning

	* lisp/emacs-lisp/bytecomp.el
	(byte-compile-free-vars-warn): New defun extracted from...
	(byte-compile-variable-ref, byte-compile-variable-set): ...here.

2020-11-30  Stefan Kangas  <stefan@marxist.se>

	Test byte-compiler free variable warning

	* test/lisp/emacs-lisp/bytecomp-tests.el (ert-x): Require.
	(bytecomp--define-warning-file-test): New macro.
	(bytecomp-warn/warn-free-setq\.el)
	(bytecomp-warn/warn-free-variable-reference\.el): New tests.
	* test/lisp/emacs-lisp/bytecomp-resources/warn-free-setq.el:
	* test/lisp/emacs-lisp/bytecomp-resources/warn-free-variable-reference.el:
	New files.

2020-11-30  Stefan Kangas  <stefan@marxist.se>

	* lisp/so-long.el: Doc fix to reduce use of passive voice.

2020-11-30  Eli Zaretskii  <eliz@gnu.org>

	Don't show in 'view-lossage' responses to xterm feature queries

	* lisp/term/xterm.el (xterm--read-event-for-query): Prevent
	recording the characters read as the xterm response to a query,
	so as not to show them in 'view-lossage'.  (Bug#44908)

2020-11-30  Michael Albinus  <michael.albinus@gmx.de>

	Some adaptions to tramp-tests.el

	* test/lisp/net/tramp-tests.el (tramp-test-vec): Check for remote
	`tramp-test-temporary-file-directory'.
	(tramp-test11-copy-file, tramp-test12-rename-file):
	Do not skip for tramp-gvfs.el.
	(tramp--test-sh-p): Use `tramp-test-vec'.

2020-11-30  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp versions

	* doc/misc/tramp.texi (Obtaining @value{tramp}):
	(Remote shell setup, Remote processes, Archive file names):
	* lisp/net/trampver.el (customize-package-emacs-version-alist):
	Adapt Tramp versions.

2020-11-30  Dmitry Gutov  <dgutov@yandex.ru>

	Improve docstrings

	* lisp/progmodes/project.el (project-find-file)
	(project-or-external-find-file): More accurate docstrings (bug#44588).

2020-11-29  Philipp Stephani  <phst@google.com>

	Fix double-free bug when finalizing module runtimes.

	* src/emacs-module.c (finalize_runtime_unwind): Don't finalize initial
	environment twice.

	* test/src/emacs-module-resources/mod-test.c (emacs_module_init):
	Allocate lots of values during module initialization to trigger the
	bug.

2020-11-29  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (read-from-kill-ring): Call current-kill to prefill kill-ring

2020-11-29  Juri Linkov  <juri@linkov.net>

	Fix MINIBUF 'nomini' arg for windmove/window-in-direction (bug#44932)

	* lisp/windmove.el (windmove-display-in-direction)
	(windmove-delete-in-direction, windmove-swap-states-in-direction):
	Add 'nomini' as MINIBUF arg of window-in-direction.

	* lisp/window.el (window-in-direction): Rename arg MINI to MINIBUF.
	Update docstring from walk-window-tree.
	Send MINIBUF arg to walk-window-tree unchanged.

2020-11-29  Alan Third  <alan@idiocy.org>

	Allow doprint to handle multibyte chars in format (bug#44349)

	* src/doprnt.c (doprnt): Handle the case where fmtchar is the start of
	a multibyte character.

2020-11-29  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-11-29  Protesilaos Stavrou  <info@protesilaos.com>

	Make log-view-commit-body less intrusive

	* lisp/vc/log-view.el (log-view-commit-body): Inherit from
	font-lock-comment-face.  This makes expanded commit messages in
	log-view look the same as they did prior to commit 1f0b929430 (consult
	bug#44424) (bug#44937).

2020-11-29  Akira Kyle  <akira@akirakyle.com>

	Return the correct suffix in eww-make-unique-file-name

	* lisp/net/eww.el (eww-make-unique-file-name): Return the correct
	suffix (bug#44936).

2020-11-29  Lars Ingebrigtsen  <larsi@gnus.org>

	frame-position doc string clarificaton

	* src/frame.c (Fframe_position): Mention that the values are
	system-dependent (bug#32977).

2020-11-29  Lars Ingebrigtsen  <larsi@gnus.org>

	garbage-collect doc string clarification

	* src/alloc.c (Fgarbage_collect): Mention that calling this
	function is not guaranteed to collect all the garbage (bug#34404).

2020-11-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak eww-use-browse-url doc string

	* lisp/net/eww.el (eww-use-browse-url): Tweak doc string wording.

2020-11-29  Karl Fogel  <kfogel@red-bean.com>

	Save bookmarks by using `write-file' (bug#12507)

	Go back to using `write-file' to save bookmarks, instead of using
	`write-region'.  This means numbered backups of the bookmark file may
	get made again, depending on the value of `bookmark-version-control'.

	Thanks especially to Drew Adams and Eli Zaretskii for their
	persistence in tracking down information relevant to this change.

2020-11-28  Eli Zaretskii  <eliz@gnu.org>

	Fix filing messages when 'rmail-output-reset-deleted-flag' is non-nil

	* lisp/mail/rmailout.el (rmail-output): Fix off-by-one error in
	deciding when to advance to the next message under non-nil
	'rmail-output-reset-deleted-flag'.  (Bug#44839)

2020-11-28  Lele Gaifax  <lele@metapensiero.it>

	Update TUTORIAL.it

	* etc/tutorials/TUTORIAL.it: Follow changes made to TUTORIAL in the
	last year

2020-11-28  Michael Albinus  <michael.albinus@gmx.de>

	Make file copying in tramp-gvfs more robust

	* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
	(tramp-test12-rename-file): Do not skip for tramp-gvfs.el.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
	Add sanity checks.

2020-11-28  Mattias Engdegård  <mattiase@acm.org>

	* etc/tutorials/TUTORIAL.sv: General copy-editing.

2020-11-28  Eli Zaretskii  <eliz@gnu.org>

	Revert "Fix incorrect handling of module runtime and environment pointers."

	This reverts commit cdc632fbe6e149318147a98cccf1b7af191f2ce8.
	Those changes are too significant and non-trivial to be
	suitable for a release branch at this time.

2020-11-27  Andrea Corallo  <akrl@sdf.org>

	Add intersection support into comp-cstr.el

2020-11-27  Andrea Corallo  <akrl@sdf.org>

	Synthesize as const primitive function pointers and its container struct.

	* src/comp.c (declare_imported_func): Make const function pointer
	to primitive functions.
	(emit_ctxt_code): Make struct 'comp.func_relocs' const.

2020-11-27  Philipp Stephani  <phst@google.com>

	Fix incorrect handling of module runtime and environment pointers.

	We used to store module runtime and environment pointers in the static
	lists Vmodule_runtimes and Vmodule_environments.  However, this is
	incorrect because these objects have to be kept per-thread.  With this
	naive approach, interleaving module function calls in separate threads
	leads to environments being removed in the wrong order, which in turn
	can cause local module values to be incorrectly garbage-collected.

	Instead, turn Vmodule_runtimes and Vmodule_environments into
	hashtables keyed by the thread objects.  The fix is relatively
	localized and should therefore be safe enough for the release branch.

	Module assertions now have to walk the pointer list for the current
	thread, which is more correct since they now only find environments
	for the current thread.

	Also add a unit test that exemplifies the problem.  It interleaves two
	module calls in two threads so that the first call ends while the
	second one is still active.  Without this change, this test triggers
	an assertion failure.

	* src/emacs-module.c (Fmodule_load, initialize_environment)
	(finalize_environment, finalize_runtime_unwind): Store runtime and
	environment pointers in per-thread lists.
	(syms_of_module): Initialize runtimes and environments hashtables.
	(module_assert_runtime, module_assert_env, value_to_lisp): Consider
	only objects for the current thread.
	(module_gc_hash_table_size, module_hash_push, module_hash_pop): New
	generic hashtable helper functions.
	(module_objects, module_push_pointer, module_pop_pointer): New helper
	functions to main thread-specific lists of runtime and environment
	pointers.
	(mark_modules): Mark all environments in all threads.

	* test/data/emacs-module/mod-test.c (Fmod_test_funcall): New test
	function.
	(emacs_module_init): Bind it.

	* test/src/emacs-module-tests.el (emacs-module-tests--variable): New
	helper type to guard access to state in a thread-safe way.
	(emacs-module-tests--wait-for-variable)
	(emacs-module-tests--change-variable): New helper functions.
	(emacs-module-tests/interleaved-threads): New unit test.

2020-11-27  Mattias Engdegård  <mattiase@acm.org>

	Use correct glyph in title when resizing NS frames

	* src/nsterm.m ([EmacsView windowWillResize:toSize:]): Use ×, not x.

2020-11-27  Philipp Stephani  <phst@google.com>

	Fix incorrect handling of module runtime and environment pointers.

	We used to store module runtime and environment pointers in the static
	lists Vmodule_runtimes and Vmodule_environments.  However, this is
	incorrect because these objects have to be kept per-thread.  With this
	naive approach, interleaving module function calls in separate threads
	leads to environments being removed in the wrong order, which in turn
	can cause local module values to be incorrectly garbage-collected.
	The fix isn't completely trivial: specbinding the lists wouldn't work
	either, because then the garbage collector wouldn't find the
	environments in other threads than the current ones, again leading to
	objects being garbage-collected incorrectly.  While introducing custom
	pseudovector types would fix this, it's simpler to put the runtime and
	environment pointers into the specbinding list as new specbinding
	kinds.  This works since we need to unwind them anyway, and we only
	ever treat the lists as a stack.  The thread switching machinery
	ensures that the specbinding lists are thread-local, and that all
	elements of the specbinding lists in all threads are marked during
	garbage collection.

	Module assertions now have to walk the specbinding list for the
	current thread, which is more correct since they now only find
	environments for the current thread.  As a result, we can now remove
	the faulty Vmodule_runtimes and Vmodule_environments variables
	entirely.

	Also add a unit test that exemplifies the problem.  It interleaves two
	module calls in two threads so that the first call ends while the
	second one is still active.  Without this change, this test triggers
	an assertion failure.

	* src/lisp.h (enum specbind_tag): Add new tags for module runtimes and
	environments.

	* src/eval.c (record_unwind_protect_module): New function to record a
	module object in the specpdl list.
	(do_one_unbind): Unwind module objects.
	(backtrace_eval_unrewind, default_toplevel_binding, lexbound_p)
	(Fbacktrace__locals): Deal with new specbinding types.
	(mark_specpdl): Mark module environments as needed.

	* src/alloc.c (garbage_collect): Remove call to 'mark-modules'.
	Garbage collection of module values is now handled as part of marking
	the specpdl of each thread.

	* src/emacs-module.c (Fmodule_load, funcall_module): Use specpdl to
	record module runtimes and environments.
	(module_assert_runtime, module_assert_env, value_to_lisp): Walk
	through specpdl list instead of list variables.
	(mark_module_environment): Rename from 'mark_modules'.  Don't attempt
	to walk though current thread's environments only, since that would
	miss other threads.
	(initialize_environment, finalize_environment): Don't change
	Vmodule_environments variable; environments are now in the specpdl
	list.
	(finalize_environment_unwind, finalize_runtime_unwind): Make 'extern'
	since do_one_unbind now calls them.
	(finalize_runtime_unwind): Don't change Vmodule_runtimes variable;
	runtimes are now in the specpdl list.
	(syms_of_module): Remove Vmodule_runtimes and Vmodule_environments.

	* test/data/emacs-module/mod-test.c (Fmod_test_funcall): New test
	function.
	(emacs_module_init): Bind it.

	* test/src/emacs-module-tests.el (emacs-module-tests--variable): New
	helper type to guard access to state in a thread-safe way.
	(emacs-module-tests--wait-for-variable)
	(emacs-module-tests--change-variable): New helper functions.
	(emacs-module-tests/interleaved-threads): New unit test.

2020-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (activate-change-group): Refine fix for bug#33341

2020-11-27  Mattias Engdegård  <mattiase@acm.org>

	Make the 'cucumber' compilation pattern work without 'omake'

	When 'omake' is included in compilation-error-regexp-alist, which it
	still is by default, then all other rules are modified to match with
	an extra leading 6 spaces as well. The 'cucumber' pattern relied on
	this in order to work as intended.

	* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
	Extend the 'cucumber' pattern so that it works even when 'omake'
	is not included.  Move it below the 'gnu' rule so that it doesn't
	match anything else.

2020-11-27  Mattias Engdegård  <mattiase@acm.org>

	Update TUTORIAL.de and TUTORIAL.fr

	* etc/tutorials/TUTORIAL.de:
	* etc/tutorials/TUTORIAL.fr: Follow recent changes in TUTORIAL.

2020-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (activate-change-group): Fix bug#33341

2020-11-27  Stefan Kangas  <stefankangas@gmail.com>

	Update TUTORIAL.es

	* etc/tutorials/TUTORIAL.es: A followup to recent changes in
	TUTORIAL.

2020-11-27  Stefan Kangas  <stefankangas@gmail.com>

	Update TUTORIAL.sv

	* etc/tutorials/TUTORIAL.sv: A followup to recent changes in
	TUTORIAL.  Minor tweaks for grammar and style.

2020-11-27  Juri Linkov  <juri@linkov.net>

	Add completion-tab-width to align prefix chars with names in read-char-by-name

	* lisp/international/mule-cmds.el (mule--ucs-names-affixation):
	Replace mule--ucs-names-annotation to display chars in prefixes
	that implements two FIXME items.
	(read-char-by-name): Let-bind completion-tab-width to 4.
	Use affixation-function instead of annotation-function.

	* lisp/minibuffer.el (completion-tab-width): New variable.
	(completion--insert-strings): Align colwidth to tab positions
	when completion-tab-width is non-nil.

	* lisp/simple.el (completion-setup-function): Set tab-width to
	completion-tab-width when completion-tab-width is non-nil.

	https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg01263.html

2020-11-27  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (read-from-kill-ring): Use frame-text-cols, not frame-width.

2020-11-27  Eli Zaretskii  <eliz@gnu.org>

	Update TUTORIAL.he

	* etc/tutorials/TUTORIAL.he: A followup to recent changes in
	TUTORIAL.

2020-11-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous server exit directory deletion

	* lisp/server.el (server-start): Only delete the server directory
	if it's in /tmp (bug#44644).

2020-11-26  Andrea Corallo  <akrl@sdf.org>

	Move some tests from comp-tests.el to comp-cstr-tests.el

	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Add tests covering what was in:
	`range-simple-union', `union-types', `destructure-type-spec'.
	* test/src/comp-tests.el (range-simple-intersection, union-types)
	(destructure-type-spec): Remove tests.

2020-11-26  Andrea Corallo  <akrl@sdf.org>

	Add comp-cstr.el and comp-cstr-tests.el

	As the constraint logic of the compiler is not trivial and largely
	independent from the rest of the code move it into comp-cstr.el to
	ease separation and maintainability.

	This commit improve the conversion type
	specifier -> constraint for generality.

	Lastly this should help with bootstrap time as comp.el compilation
	unit is slimmed down.

	* lisp/emacs-lisp/comp-cstr.el: New file.
	(comp--typeof-types, comp--all-builtin-types): Move from comp.el.
	(comp-cstr, comp-cstr-f): Same + rename.
	(comp-cstr-ctxt): New struct.
	(comp-supertypes, comp-common-supertype-2)
	(comp-common-supertype, comp-subtype-p, comp-union-typesets)
	(comp-range-1+, comp-range-1-, comp-range-<, comp-range-union)
	(comp-range-intersection): Move from comp.el.
	(comp-cstr-union-no-range, comp-cstr-union): Move from comp.el and
	rename.
	(comp-cstr-union-make): New function.
	(comp-type-spec-to-cstr, comp-cstr-to-type-spec): Move from
	comp.el, rename it and rework it.

	* lisp/emacs-lisp/comp.el (comp-known-func-cstr-h): Rework.
	(comp-ctxt): Remove two fields and include `comp-cstr-ctxt'.
	(comp-mvar, comp-fwprop-call): Update for `comp-cstr' being
	renamed.
	(comp-fwprop-insn): Use `comp-cstr-union-no-range' or
	`comp-cstr-union'.
	(comp-ret-type-spec): Use `comp-cstr-union' and rework.

	* test/lisp/emacs-lisp/comp-cstr-tests.el: New file.
	(comp-cstr-test-ts, comp-cstr-typespec-test): New functions.
	(comp-cstr-typespec-tests-alist): New defconst to generate tests
	on.
	(comp-cstr-generate-tests): New macro.

	* test/src/comp-tests.el (comp-tests-type-spec-tests): Update.
	(ret-type-spec): Initialize constraint context.

2020-11-26  Dario Gjorgjevski  <dario.gjorgjevski@gmail.com>

	Fix modification check when custom-form is `lisp'

	* lisp/cus-edit.el (custom-variable-modified-p): Quote the value when
	custom form is 'lisp (or 'mismatch) prior to comparing in order to
	accommodate `custom-variable-value-create' (bug#44852).

2020-11-26  Mattias Engdegård  <mattiase@acm.org>

	Remove keyboard anachronisms from tutorial

	* etc/tutorials/TUTORIAL: Don't keep referring to EDIT as if it were a
	common name for the Meta key; since a few decades back it's labeled
	Alt (or Option or ⌥ but those keys usually also have 'alt' engraved on
	them).  Similarly, CTL is practically extinct and not worth
	mentioning.

2020-11-26  Mattias Engdegård  <mattiase@acm.org>

	Fix replace-regexp-in-string substring match data translation

	For certain patterns, re-matching the same regexp on the matched
	substring does not produce correctly translated match data
	(bug#15107 and bug#44861).

	Using a new builtin function also improves performance since the
	number of calls to string-match is halved.

	Reported by Kevin Ryde and Shigeru Fukaya.

	* lisp/subr.el (replace-regexp-in-string): Translate the match data
	using match-data--translate instead of trusting a call to string-match
	on the matched string to do the job.
	* test/lisp/subr-tests.el (subr-replace-regexp-in-string):
	Add test cases.
	* src/search.c (Fmatch_data__translate): New internal function.
	(syms_of_search): Register it as a subroutine.

2020-11-26  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix error in cache handling.  This fixes bug #43481

	* lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Handle correctly END
	being before HERE by using parse-partial-sexp to get the end of the literal
	containing HERE.

2020-11-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Keep point in the *eldoc* buffer in eldoc-display-in-echo-area

	* lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area): Use
	'save-excursion' to keep point position in *eldoc* buffer.
	Suggested by Andrii Kolomoiets <andreyk.mad@gmail.com>.

2020-11-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow following symlinks when recompiling directories

	* doc/lispref/compile.texi (Compilation Functions): Document it.
	* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Allow
	following symlinks (bug#10292).

2020-11-26  Stefan Kangas  <stefan@marxist.se>

	* lisp/files.el (auto-mode-alist): Add entry for "archive-contents".

2020-11-26  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Add "replied" -> "answered" for gnus-search imap searches

	* lisp/gnus/gnus-search.el (gnus-search-imap-handle-flag): This allows
	"mark:A" to be translated into "ANSWERED" and "-mark:A" to be
	translated into "UNANSWERED".

2020-11-26  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Assume default imap TEXT search even when not using parsed queries

	This behavior both better matches the previous nnir behavior, reducing
	confusion for new users, and matches behavior when using parsed
	queries.

	* lisp/gnus/gnus-search.el (gnus-search-imap-search-keys): Make sure
	this variable contains all known IMAP search keys.
	(gnus-search-run-search): If the search query doesn't start with a
	known search key, prepend "TEXT " to the query.

2020-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Use null-device where appropriate

	* lisp/filesets.el (filesets-select-command):
	* lisp/shell.el (shell-mode):
	* lisp/term.el (term-exec-1):
	* lisp/wdired.el (wdired-do-symlink-changes):
	* lisp/cedet/ede/pmake.el (ede-proj-makefile-create):
	* lisp/eshell/esh-io.el (eshell-set-output-handle):
	* lisp/gnus/gnus-fun.el (gnus-grab-cam-x-face):
	* lisp/gnus/mml2015.el (mml2015-epg-key-image):
	* lisp/gnus/smime.el (smime-noverify-region):
	* lisp/org/ob-picolisp.el (org-babel-execute:picolisp):
	* lisp/org/ob-screen.el (org-babel-prep-session:screen)
	(org-babel-prep-session:screen):
	* lisp/play/fortune.el (fortune-quiet-strfile-options):
	* lisp/progmodes/cperl-mode.el (cperl-pod2man-build-command):
	* lisp/progmodes/sh-script.el (sh-tmp-file):
	* lisp/vc/diff-mode.el (diff-add-log-current-defuns)
	(diff--font-lock-prettify):
	* lisp/vc/ediff-mult.el (ediff-patch-file-form-meta):
	* lisp/vc/ediff-ptch.el (ediff-map-patch-buffer)
	(ediff-fixup-patch-map, ediff-dispatch-file-patching-job):
	* lisp/vc/vc.el (vc-diff-internal): Use null-device or 	(null-device),
	respectively.  (Bug#3736)

2020-11-25  Juri Linkov  <juri@linkov.net>

	* lisp/minibuffer.el (completions-format): Add new value 'one-column'.

	* lisp/minibuffer.el (completion--insert-strings): Support 'one-column'.

	* lisp/simple.el (read-from-kill-ring): Truncate strings at frame-width.

2020-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	(defvar): Detect defining a variable currently lexically bound

	* src/eval.c (lexbound_p): New function.
	(Finternal__define_uninitialized_variable): Use it.

2020-11-25  Mattias Engdegård  <mattiase@acm.org>

	Add tests for replace-regexp-in-string

	* test/lisp/subr-tests.el (subr-replace-regexp-in-string): New.

2020-11-25  Mattias Engdegård  <mattiase@acm.org>

	* doc/lispref/searching.texi (Rx Constructs): Group numbering fix

2020-11-25  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process):

	Use `tramp--test-windows-nt-p'.

2020-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Merge from origin/emacs-27

	6442cdc0e4 Revert extra focus redirection in do_switch_frame (Bug#24803)
	fc4379f1ae Minor cleanup of tramp-tests.el on MS Windows
	dea3d6aa18 Fix handling of defcustom :local tag

2020-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Merge from origin/emacs-27

	f425a774c2 Fix display artifacts when 'display' properties cover newl...

2020-11-25  Martin Rudalics  <rudalics@gmx.at>

	Revert extra focus redirection in do_switch_frame (Bug#24803)

	* src/frame.c (do_switch_frame): Do not also redirect frame
	focus when FRAME has its minibuffer window on the selected
	frame which was intended to fix Bug#24500.  It may cause
	Bug#24803 and lead to a nasty state where no active cursor is
	shown on any frame, see
	https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg01137.html.

2020-11-25  Juri Linkov  <juri@linkov.net>

	Add 'completions-detailed' to add prefix/suffix with 'affixation-function'

	* doc/lispref/minibuf.texi (Completion Variables)
	(Programmed Completion): Add affixation-function.

	* lisp/help-fns.el (help--symbol-completion-table-affixation): New function.
	(help--symbol-completion-table): Set affixation-function when
	completions-detailed is non-nil.

	* lisp/minibuffer.el (completion-metadata): Add affixation-function
	to docstring.
	(completions-annotations): Inherit from shadow with italic.
	(completions-detailed): New defcustom.
	(completion--insert-strings): Count string-width on all strings in
	completion list.  Insert prefix and suffix.
	(completion-extra-properties): Add affixation-function to docstring.
	(minibuffer-completion-help): Call affixation-function.
	(minibuffer-default-prompt-format): Move down closer to its use.

	https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00613.html

2020-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Minor cleanup of tramp-tests.el on MS Windows

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process):
	Do not test remote pty on MS Windows.

2020-11-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Move code in face-remap.el to avoid a compilation warning

	* lisp/face-remap.el (text-scale--refresh): Move code to avoid
	compilation warning.

	In text-scale--refresh:
	face-remap.el:241:14: Warning: reference to free variable ‘text-scale-mode’

2020-11-25  Stefan Kangas  <stefan@marxist.se>

	Make text-scale-mode optionally adjust the header line

	* lisp/face-remap.el
	(text-scale-remap-header-line-face): New buffer local variable.
	(text-scale-mode): Adjust header line if above variable is non-nil.
	(face-remap--clear-remappings, face-remap--remap-face): New defuns.
	* lisp/face-remap.el: Arrange to watch text-scale-mode-remapping.
	(text-scale--refresh): New function.

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Use
	text-scale-remap-header-line.  (Bug#41852)

2020-11-24  Juri Linkov  <juri@linkov.net>

	Yank items selected from kill-ring using completion and minibuffer history

	* doc/emacs/killing.texi (Earlier Kills): Document standalone M-y.

	* doc/emacs/search.texi (Isearch Yank): Explain standalone M-y.

	* doc/lispref/text.texi (Yank Commands): Soften the wording of
	yank after another yank.

	* lisp/delsel.el: Put 'yank' property on yank-pop and yank-from-kill-ring.

	* lisp/isearch.el (isearch-yank-pop): Use with-isearch-suspended
	and read-from-kill-ring to read a string from the kill-ring and
	append it to the search string.

	* lisp/simple.el (yank-pop): Call yank-from-kill-ring and
	read-from-kill-ring when last-command is not 'yank' instead of
	signaling an error.  Remove "*" from interactive spec.  Update docstring.
	(read-from-kill-ring): New function.
	(yank-from-kill-ring): New command.

	https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00801.html

2020-11-24  Stefan Kangas  <stefan@marxist.se>

	* build-aux/update-subdirs: Use lexical-binding in subdirs.el.

2020-11-24  Philipp Stephani  <phst@google.com>

	Add a (broken) unit test to exemplify Bug#11218.

	* test/lisp/emacs-lisp/ert-tests.el
	(ert-test-with-demoted-errors): New (broken) unit test.

2020-11-24  Stefan Kangas  <stefan@marxist.se>

	Remove XEmacs compat code from idlw-help.el

	* lisp/progmodes/idlw-help.el (idlwave-do-context-help)
	(idlwave-help-show-help-frame): Remove XEmacs compat code.

2020-11-24  Stefan Kangas  <stefan@marxist.se>

	Make XEmacs compat aliases easy-menu-{add,remove} obsolete

	* lisp/emacs-lisp/easymenu.el (easy-menu-remove, easy-menu-add):
	Make XEmacs compat aliases obsolete.
	* lisp/allout.el (allout-setup-menubar):
	* lisp/cus-edit.el (Custom-mode):
	* lisp/gnus/gnus-art.el (gnus-article-edit-mode):
	* lisp/gnus/message.el (message-mode):
	* lisp/net/sieve.el (sieve-manage-mode):
	* lisp/org/org-agenda.el (org-agenda-mode):
	* lisp/org/org-table.el (org-table-edit-formulas, orgtbl-mode):
	* lisp/org/org.el:
	* lisp/progmodes/cperl-mode.el (cperl-mode):
	* lisp/progmodes/hideshow.el (hs-minor-mode):
	* lisp/progmodes/idlw-help.el (idlwave-help-mode):
	* lisp/progmodes/idlw-shell.el (idlwave-shell-mode):
	* lisp/progmodes/idlwave.el (idlwave-mode):
	* lisp/progmodes/meta-mode.el (meta-common-mode):
	* lisp/progmodes/octave.el (octave-mode):
	* lisp/progmodes/prolog.el (prolog-menu):
	* lisp/progmodes/tcl.el (tcl-mode):
	* lisp/speedbar.el (speedbar-reconfigure-keymaps):
	* lisp/term.el (term-mode, term-char-mode, term-process-pager):
	* lisp/textmodes/dns-mode.el (dns-mode):
	* lisp/wid-browse.el (widget-browse-mode): Don't call above
	obsolete aliases.
	* lisp/cedet/semantic/grammar.el (semantic-grammar-setup-menu-xemacs):
	* lisp/mh-e/mh-folder.el (mh-folder-mode):
	* lisp/mh-e/mh-identity.el (mh-identity-add-menu):
	* lisp/mh-e/mh-letter.el (mh-letter-mode):
	* lisp/mh-e/mh-search.el (mh-search-mode):
	* lisp/mh-e/mh-show.el (mh-show-mode):
	* lisp/obsolete/otodo-mode.el (todo-mode):
	* lisp/progmodes/antlr-mode.el (antlr-mode):
	* lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode)
	(java-mode, idl-mode, pike-mode):
	* lisp/progmodes/sql.el (sql-mode, sql-interactive-mode):
	* lisp/progmodes/vhdl-mode.el (vhdl-update-mode-menu)
	(vhdl-add-source-files-menu, vhdl-mode):
	* lisp/textmodes/reftex-index.el (reftex-index-mode)
	(reftex-index-phrases-mode):
	* lisp/textmodes/reftex-toc.el (reftex-toc-mode):
	* lisp/textmodes/reftex.el (reftex-mode): Only call above obsolete
	aliases in XEmacs.

	* lisp/progmodes/prolog.el (prolog-inferior-menu):
	* lisp/erc/erc-menu.el (erc-menu-add, erc-menu-remove): Don't call
	above obsolete aliases.  Make obsolete.
	* lisp/erc/erc-menu.el (menu, erc-menu-add, erc-menu-remove):
	* lisp/progmodes/prolog.el (prolog-inferior-mode): Adjust callers.
	* lisp/speedbar.el (speedbar-previous-menu): Make obsolete.
	(Bug#44731)

2020-11-24  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix handling of defcustom :local tag

	For discussion, see the following emacs-devel thread:
	https://lists.gnu.org/r/emacs-devel/2020-11/msg00734.html

	* lisp/custom.el (custom-declare-variable): Delay call to
	make-variable-buffer-local until after user option has been
	initialized with a value.  Otherwise the user option may be
	initialized to nil.
	* test/lisp/custom-tests.el (custom--test-local-option)
	(custom--test-permanent-option): New :local user options.
	(custom-test-local-option): New test for defcustom :local keyword.

2020-11-24  Eli Zaretskii  <eliz@gnu.org>

	Fix display artifacts when 'display' properties cover newlines

	* src/xdisp.c (pos_visible_p): Set glyph_row of scratch iterators
	to NULL, to avoid producing glyphs while we figure out the layout.
	(Bug#44826)

2020-11-24  Mauro Aranda  <maurooaranda@gmail.com>

	Fix menu binding for files in fileset

	* lisp/filesets.el (filesets-remake-shortcut): We want the callback of
	the menu item, not a list that contains the callback.  (Bug#44764)

2020-11-24  Mauro Aranda  <maurooaranda@gmail.com>

	Fix matching of inline choices for the choice widget

	A choice widget should be able to match either no inline values or
	inline values, upon request.  (Bug#44579)

	* lisp/wid-edit.el (choice): New property, :inline-bubbles-p.  A
	predicate that returns non-nil if the choice widget can act as an
	inline widget.  Document it.
	(widget-choice-inline-bubbles-p): New function, for the
	:inline-bubbles-p property of the choice widget.
	(widget-inline-p): New function.  Use the :inline-bubbles-p property
	of the widget, if any.
	(widget-match-inline): Use the above to see if the widget can act like
	an inline widget.  Document it.
	(widget-choice-value-create): Account for the case of a choice widget
	that has inline members.
	(widget-checklist-add-item, widget-editable-list-value-create)
	(widget-group-value-create): Use widget-inline-p rather than just
	checking for a non-nil :inline property, allowing these functions to
	pass the complete information to widgets like the choice widget to
	create their values.

	* test/lisp/wid-edit-tests.el (widget-test-choice-match-no-inline)
	(widget-test-choice-match-all-inline)
	widget-test-choice-match-some-inline): New tests, to check that choice
	widgets can match its choices, inline or not.
	(widget-test-inline-p): New test, for the new function
	widget-inline-p.
	(widget-test-repeat-can-handle-choice)
	(widget-test-repeat-can-handle-inlinable-choice)
	(widget-test-list-can-handle-choice)
	(widget-test-list-can-handle-inlinable-choice)
	(widget-test-option-can-handle-choice)
	(widget-test-option-can-handle-inlinable-choice): New tests.  This
	grouping widgets need to be able to create a choice widget regardless
	if it has inline choices or not.

2020-11-24  Drew Adams  <drew.adams@oracle.com>

	Fix finding filelist for :tree fileset (Bug#976)

	* lisp/filesets.el (filesets-files-under): New function, used to get
	all files for a :tree fileset.
	(filesets-get-filelist): Use it.  Look for the directory and the
	pattern in the right place inside entry.

2020-11-24  Mattias Engdegård  <mattiase@acm.org>

	Autoload the 'rx' pcase macroexpander (bug#44807)

	* lisp/emacs-lisp/rx.el (rx--pcase-macroexpander]): Autoload.

2020-11-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow controlling whether SPC in Gnus goes to the next article

	* doc/misc/gnus.texi (Summary Maneuvering): Document it.
	* lisp/gnus/gnus-sum.el (gnus-paging-select-next): New variable.
	(gnus-summary-prev-page, gnus-summary-next-page): Use it.

2020-11-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the `C' command work on marked files

	* lisp/arc-mode.el (archive-copy-file): Make the `C' command work
	on marked files (bug#44753).

2020-11-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a user option to control how links are followed in eww

	* doc/misc/eww.texi (Advanced): Document it (bug#44783).

	* lisp/net/eww.el (eww-use-browse-url): New variable.
	(eww-follow-link): Use it.

2020-11-24  Itai Seggev  <is+apple@cs.hmc.edu>  (tiny change)

	Codesign the executable on recene MacOS systems

	* src/Makefile.in (temacs$(EXEEXT)): Codesign the executable on
	recent (ARM) MacOS systems (bug#43878).  Without this, building
	Emacs fails.

2020-11-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Delete the emacs-server directory upon Emacs exit

	* lisp/server.el (server-start): Delete the server directory upon
	Emacs exit (bug#44644).  This fixes the problem of /tmp/emacs0
	directories being left behind when running an Emacs server as root.

2020-11-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the face of unknown backend indicators in flymake

	* lisp/progmodes/flymake.el (flymake--mode-line-format): Don't put
	a face on the "?" unknown backend indicator, because that
	looks odd in inactive windows (bug#44689).

2020-11-24  Paul W. Rankin  <pwr@skeletons.cc>

	Handle outline overlays better when cycling in outline.el

	* lisp/outline.el (outline--cycle-state): Only consider outline
	overlays that are on outline headings; when subtree end is
	point-max, return overlay-end +1 because final subtree overlay
	only reaches point-max -1 (bug#41198).
	(outline-cycle-buffer): Check that buffer has top-level headings
	before calling outline-hide-sublevels 1 thus preventing
	disconcerting buffer state of content reduced to single "..."

2020-11-23  Andrea Corallo  <akrl@sdf.org>

	Add SELECTOR parameter to `native-compile-async' (bug#44813)

	* lisp/emacs-lisp/comp.el (native-compile-async-skip-p): New function
	ripping out logic from `native--compile-async' and accounting for
	SELECTOR.
	(native--compile-async): Add SELECTOR parameter, make use of
	`native-compile-async-skip-p' and move it with other private
	functions.
	(native-compile-async): Add SELECTOR parameter.

2020-11-23  Andrea Corallo  <akrl@sdf.org>

	Rename two native compiler customize

	* lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list):
	Rename from `comp-deferred-compilation-black-list'.
	* lisp/emacs-lisp/comp.el (native--compile-async): Update to use
	`comp-deferred-compilation-deny-list'.
	(comp-bootstrap-deny-list): Rename.
	(batch-native-compile): Update to use `comp-bootstrap-deny-list'.

2020-11-23  Michael Albinus  <michael.albinus@gmx.de>

	Adapt files-x-tests.el according to recent Tramp changes

	* test/lisp/files-x-tests.el (tramp-connection-local-default-profile):
	Don't declare.
	(tramp-connection-local-default-shell-variables)
	(tramp-connection-local-default-system-variables): Declare.
	(files-x-test-with-connection-local-variables): Use them.

2020-11-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	3ceee39819 Fix Bug#44481

2020-11-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	86cbc9d216 Make ignoring modifiers on IME input optional
	32b97bb9e0 Ignore modifiers when processing WM_IME_CHAR messages
	f641ef1a07 Improve documentation of 'font-spec'

	# Conflicts:
	#	etc/NEWS

2020-11-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	e66502fec1 ; * doc/misc/eshell.texi (Input/Output): Fix typo.

2020-11-23  Alan Mackenzie  <acm@muc.de>

	minibuffer code: restore original frame after using minibuffer-only frame, etc

	* src/minibuf.c (read_minibuf): In the record_unwind_protect for the second
	restore_window_configuration (separate minibuffer frame case) arrange for the
	future switching back to the original frame by Fset_window_configuration.

2020-11-23  Mattias Engdegård  <mattiase@acm.org>

	Fix 'See @xref{...}' (bug#44811)

	Reported by 황병희.

	* doc/lispref/edebug.texi (Printing in Edebug):
	* doc/misc/ebrowse.texi (Marking Classes):
	* doc/misc/gnus.texi (Ma Gnus):
	* doc/misc/tramp.texi (Remote shell setup):
	Don't stutter (@xref expands to 'See ...').

2020-11-23  Stefan Kangas  <stefan@marxist.se>

	Remove Emacs 19 and 20 compat code from table.el

	* lisp/textmodes/table.el:
	(table-recognize-cell, table--make-cell-map)
	(*table--present-cell-popup-menu, table--update-cell)
	(table--update-cell-widened, table--update-cell-heightened)
	(table--cell-insert-char, table--warn-incompatibility): Remove
	Emacs 19 and 20 compat code.
	* lisp/textmodes/table.el (table-disable-menu)
	(table--set-timer, table--get-last-command): Declare obsolete.

2020-11-23  Stefan Kangas  <stefankangas@gmail.com>

	Sync latest SKK-JISYO.L

	* leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.

	(cherry picked from commit 6a5f9700846551a7f3795e257356dbab865116f4)

2020-11-23  Stefan Kangas  <stefan@marxist.se>

	Update publicsuffix.txt from upstream

	* etc/publicsuffix.txt: Update from
	https://publicsuffix.org/list/public_suffix_list.dat
	dated 2020-10-09 08:23:34 UTC.

	(cherry picked from commit 5b13afab0a903ead8363482529019d4fb80ec4b4)

2020-11-23  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in most runtime leim lisp files

	* lisp/leim/quail/arabic.el:
	* lisp/leim/quail/croatian.el:
	* lisp/leim/quail/cyril-jis.el:
	* lisp/leim/quail/cyrillic.el:
	* lisp/leim/quail/czech.el:
	* lisp/leim/quail/ethiopic.el:
	* lisp/leim/quail/georgian.el:
	* lisp/leim/quail/greek.el:
	* lisp/leim/quail/hanja-jis.el:
	* lisp/leim/quail/hanja.el:
	* lisp/leim/quail/hanja3.el:
	* lisp/leim/quail/hebrew.el:
	* lisp/leim/quail/ipa-praat.el:
	* lisp/leim/quail/latin-alt.el:
	* lisp/leim/quail/latin-post.el:
	* lisp/leim/quail/latin-pre.el:
	* lisp/leim/quail/persian.el:
	* lisp/leim/quail/programmer-dvorak.el:
	* lisp/leim/quail/py-punct.el:
	* lisp/leim/quail/pypunct-b5.el:
	* lisp/leim/quail/rfc1345.el:
	* lisp/leim/quail/sami.el:
	* lisp/leim/quail/sgml-input.el:
	* lisp/leim/quail/slovak.el:
	* lisp/leim/quail/symbol-ksc.el:
	* lisp/leim/quail/tamil-dvorak.el:
	* lisp/leim/quail/vntelex.el:
	* lisp/leim/quail/vnvni.el:
	* lisp/leim/quail/welsh.el: Use lexical-binding.

2020-11-23  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Small fixes to gnus-search output parsing of indexed engines

	* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): When
	filtering for desired groups, accept any of [.\/] as potential segment
	delimiters. Later on, filesystem path separators will be interpreted
	as dots (".") when constructing group names. Also, make sure we use
	`expand-file-name' on the prefix, and just use `string-remove-prefix'
	to get rid of it.

2020-11-22  Philipp Stephani  <phst@google.com>

	Unbreak compilation with CHECK_STRUCTS.

	Commit 3963aea4f4a22da0c1fb8ca8ca80b59c58373811 modified the ‘buffer’
	structure, but didn’t adapt the hash.

	* src/pdumper.c (dump_buffer): Update buffer hash.

2020-11-22  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-11-22  Michael Albinus  <michael.albinus@gmx.de>

	Replace /dev/null by remote null-device in Tramp.

	* lisp/net/tramp-adb.el (tramp-adb-get-ls-command)
	(tramp-adb-handle-set-file-times, tramp-adb-handle-process-file):
	Use `tramp-get-remote-null-device'.

	* lisp/net/tramp-compat.el (tramp-tramp-file-p): Declare.
	(tramp-compat-null-device): New defalias.

	* lisp/net/tramp-sh.el (tramp-methods) <telnet, nc>:
	(tramp-perl-encode-with-module, tramp-perl-decode-with-module)
	(tramp-perl-encode, tramp-perl-decode, tramp-awk-decode):
	Use "%n" marker.
	(tramp-do-directory-files-and-attributes-with-stat)
	(tramp-sh-handle-file-name-all-completions)
	(tramp-do-copy-or-rename-file-out-of-band)
	(tramp-sh-handle-insert-directory, tramp-sh-handle-process-file)
	(tramp-set-remote-path, tramp-open-connection-setup-interactive-shell)
	(tramp-find-inline-encoding, tramp-send-command-and-check)
	(tramp-get-remote-path, tramp-get-ls-command, tramp-get-ls-command-with)
	(tramp-get-remote-awk, tramp-get-remote-hexdump, tramp-get-remote-od)
	(tramp-get-env-with-u-option): Use `tramp-get-remote-null-device'.
	(tramp-remote-coding-commands, tramp-call-local-coding-command):
	Adapt docstring.

	* lisp/net/tramp-smb.el (tramp-smb-conf): Use `null-device'.
	(tramp-smb-handle-file-acl): Use `tramp-get-remote-null-device'.

	* lisp/net/tramp.el (tramp-methods): Adapt docstring.
	(tramp-get-remote-null-device): New defun.
	(tramp-interrupt-process): Use it.

2020-11-22  Stefan Kangas  <stefan@marxist.se>

	Test for byte-compiler warning "variable lacks prefix"

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp--with-warning-test): New macro.
	(bytecomp-warn-wrong-args, bytecomp-warn-wrong-args-subr):
	Use above new macro.
	(bytecomp-warn-variable-lacks-prefix): New test.

2020-11-22  Stefan Kangas  <stefan@marxist.se>

	Test interactive-only spec of with-suppressed-warnings

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-test--with-suppressed-warnings): Test suppressing warning
	with interactive-only.

2020-11-22  Stefan Kangas  <stefan@marxist.se>

	Say which command shadows a key binding

	* src/keymap.c (describe_vector): Say which command shadows this
	binding.  (Bug#9293)
	* test/src/keymap-tests.el
	(help--describe-vector/bug-9293-one-shadowed-in-range): Adapt
	test.

2020-11-22  Stefan Kangas  <stefan@marxist.se>

	Don't shadow bindings by the same command

	* src/keymap.c (describe_vector): Do not say binding is shadowed if
	the other key binding points to the same command.  (Bug#9293)
	* test/src/keymap-tests.el
	(help--describe-vector/bug-9293-same-command-does-not-shadow): New
	test.

2020-11-22  Stefan Kangas  <stefan@marxist.se>

	Don't show key ranges if shadowed by different commands

	* src/keymap.c (describe_vector): Make sure found consecutive keys
	are either not shadowed or, if they are, that they are shadowed by
	the same command.  (Bug#9293)
	* test/src/keymap-tests.el
	(help--describe-vector/bug-9293-one-shadowed-in-range): New test.

2020-11-21  Juri Linkov  <juri@linkov.net>

	Handle help-form in y-or-n-p and use this in find-file-noselect (bug#5423)

	* doc/lispref/help.texi (Help Functions): Mention help-form for
	read-char-from-minibuffer and y-or-n-p.

	* doc/lispref/minibuf.texi (Yes-or-No Queries): Mention help-form
	for y-or-n-p.
	(Multiple Queries): Mention help-form for read-char-from-minibuffer.

	* lisp/files.el (find-file-noselect): Let-bind multi-line help text
	to help-form for y-or-n-p.

	* lisp/subr.el (read-char-choice): Mention help-form in docstring.
	(read-char-from-minibuffer): Mention help-form in docstring.
	(y-or-n-p-map): Remove handling of 'help'.
	(y-or-n-p): Mention help-form in docstring.
	When help-form is non-nil: add help-char to 'prompt', and bind
	help-char to help-form-show in composed-keymap.

2020-11-21  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#44481

	* lisp/net/tramp.el (tramp-system-name): New defconst.
	(tramp-default-host, tramp-restricted-shell-hosts-alist)
	(tramp-local-host-regexp):
	* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.  (Bug#44481)

2020-11-21  Michael Albinus  <michael.albinus@gmx.de>

	Handle connection-local null-device and path-separator variables

	* doc/lispref/os.texi (System Environment): Add `path-separator'
	function and `null-device' variable and function.

	* etc/NEWS: Mention 'null-device' and 'path-separator'.  Fix typos.

	* lisp/files-x.el (path-separator, null-device): New defuns.  (Bug#3736)

	* lisp/net/tramp-adb.el
	(tramp-adb-connection-local-default-shell-variables): Rename from
	`tramp-adb-connection-local-default-profile'.

	* lisp/net/tramp-integration.el
	(tramp-connection-local-default-system-variables): New defvar.
	Add it to connection-local profiles.
	(tramp-connection-local-default-shell-variables): Rename from
	`tramp-connection-local-default-profile'.

	* lisp/progmodes/grep.el (grep-hello-file): New defun.
	(grep-compute-defaults): Use `null-device' function for remote
	case. Handle remote `hello-file'.  Use `process-file-shell-command'.
	(grep,grep-expand-keywords, lgrep): Use `null-device' function for
	remote case.

2020-11-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor Edebug manual keystroke clarifications

	* doc/lispref/edebug.texi (Edebug Misc): Also mention the `a'
	binding to abort (bug#44697).  Also fix `d' function reference, and
	add `P' reference.

	(cherry picked from commit b613f25f97abf756101eaa2af90689a19c0b3350)

2020-11-21  Jared Finder  <jared@finder.org>

	Migrate usage of GPM_CLICK_EVENT to MOUSE_CLICK_EVENT.

	* src/termhooks.h (enum event_kind):
	* src/term.c (term_mouse_click, handle_one_term_event):
	* src/keyboard.c (discard_mouse_events, make_lispy_event): Migrate
	usage of GPM_CLICK_EVENT to MOUSE_CLICK_EVENT.

2020-11-21  Eli Zaretskii  <eliz@gnu.org>

	Make ignoring modifiers on IME input optional

	By default, ignore modifier keys on IME input, but add
	a variable to get back old behavior.
	* src/w32fns.c (syms_of_w32fns): New variable
	w32-ignore-modifiers-on-IME-input.
	(w32_wnd_proc): Use it to ignore modifier keys when IME input is
	used.  (Bug#44641)

	* etc/NEWS: Announce the change and the new variable.

2020-11-21  Masahiro Nakamura  <tsuucat@icloud.com>

	Ignore modifiers when processing WM_IME_CHAR messages

	* src/w32fns.c (w32_wnd_proc): Ignore modifiers when processing
	WM_IME_CHAR messages.

2020-11-21  Stefan Kangas  <stefan@marxist.se>

	Make load argument of native-compile-async internal

	* lisp/emacs-lisp/comp.el (native--compile-async): New defun extracted
	from native-compile-async.
	(native-compile-async): Remove load argument and use above new defun.
	* src/comp.c (maybe_defer_native_compilation): Use above new
	defun.  (Bug#44676)

2020-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package-strip-rcs-id): Don't ignore errors

	Ignoring errors here just postpones the error and replaces a clear
	"invalid version syntax" with a confusing "package lacks a version".

2020-11-20  Mauro Aranda  <maurooaranda@gmail.com>

	Use cl-letf instead of unwind-protect in a test

	* test/lisp/cus-edit-tests.el (cus-edit-tests-customize-saved/show-obsolete):
	Good use case for cl-letf, so use it.
	Suggested by Stefan Monnier <monnier@iro.umontreal.ca> in:
	https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00914.html

2020-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/manual/indent/tcl.tcl: Add string interpolation case

2020-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	Don't optimize away `eval` when its lexical context is different

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-eval):
	Obey lexical-binding.

2020-11-20  Mauro Aranda  <maurooaranda@gmail.com>

	Take care of a FIXME in cus-edit-tests.el

	* test/lisp/cus-edit-tests.el (cus-edit-tests-customize-saved/show-obsolete):
	Add a fake saved-value property, to be able check that the obsolete
	option is present in the Customize buffer.  Expect the test to pass
	now.

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	* lisp/emacs-lisp/comp.el (native-compile-async): Doc fix.

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	Support native compilation of packages on install

	* lisp/emacs-lisp/package.el (package-unpack)
	(package--native-compile): Native compile packages on install, if the
	feature is available.  (Bug#44676)
	(package-native-compile): New defcustom.

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	compile-async: Don't error out on deferred compilation after load

	* lisp/emacs-lisp/comp.el (native-compile-async): Update
	comp-files-queue when deferred compilation is requested.  (Bug#44676)

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	Don't quote lambda in idlwave.el

	* lisp/progmodes/idlwave.el (idlwave-keyword-abbrev): Don't quote
	lambda.

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	Remove remaining XEmacs compat code from erc-log.el

	* lisp/erc/erc-log.el (erc-save-buffer-in-logs): Remove XEmacs
	compat code.

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	Don't set XEmacs only properties start-open and end-open

	* lisp/epa.el (epa-sign-region, epa-encrypt-region):
	* lisp/erc/erc.el (erc-display-prompt):
	* lisp/gnus/message.el (message-forward-make-body-mime):
	* lisp/net/eudc-bob.el (eudc-bob-display-jpeg)
	(eudc-bob-display-audio, eudc-bob-display-generic-binary):
	* lisp/url/url-http.el
	(url-http-chunked-encoding-after-change-function): Don't set XEmacs
	only properties start-open and end-open.

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	Remove XEmacs compat code from idlw-shell.el

	* lisp/progmodes/idlw-shell.el:
	(idlwave-shell-use-toolbar): Doc fix.
	(idlwave-default-mouse-track-event-is-with-button): Declare obsolete.
	(idlwave-shell-update-bp-overlays): Remove XEmacs compat code.

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	Remove some XEmacs compat code from ediff-wind.el

	* lisp/vc/ediff-wind.el (ediff-window)
	(ediff-compute-toolbar-width): Remove some XEmacs compat code.

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	Remove Emacs 20 compat code from org.el

	* lisp/org/org.el (org-org-menu, org-create-customize-menu):
	Remove Emacs 20 compat code.

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	Remove Emacs 20 compat code from idlwave.el

	* lisp/progmodes/idlwave.el (idlwave-indent-line)
	(idlwave-toggle-comment-region, idlwave-reset-sintern)
	(idlwave-unit-name, idlwave-mode-menu-def)
	(idlwave-create-customize-menu): Remove Emacs 20 compat code.

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	Properly mark obsolete semantic functions as such

	* lisp/cedet/semantic/ia.el (semantic-ia-get-completions)
	(semantic-ia-get-completions-deprecated): Make obsolete.

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	Mark compat alias in cus-face.el obsolete

	* lisp/cus-face.el (custom-facep): Mark compat alias obsolete.
	* lisp/cus-dep.el (custom-make-dependencies):
	* lisp/cus-edit.el (customize-changed-options)
	(custom-unsaved-options, customize-saved, customize-apropos)
	(custom-save-faces): Adjust callers.

2020-11-20  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation on MS-Windows with librsvg > 2.46.0

	* src/image.c (rsvg_handle_get_dimensions, init_svg_functions):
	Make 'rsvg_handle_get_dimensions' available and defined for all
	versions of librsvg.  (Bug#44655)

2020-11-20  Stefan Kangas  <stefan@marxist.se>

	Hide obsolete options in most customize commands

	* lisp/cus-edit.el (custom--filter-obsolete-variables): New defun.
	* lisp/cus-edit.el (customize-changed-options)
	(customize-apropos, custom-group-value-create): Hide obsolete user
	options.  (Bug#44598)
	* test/lisp/cus-edit-tests.el: New file.

2020-11-20  João Tãvora  <joaotavora@gmail.com>

	Revert unintended part of last change to jsonrpc-request

	While playing around with the timing in this function, I left
	this change that could freeze the function on some platforms.

	* lisp/jsonrpc.el (jsonrpc-request): Use accept-process-output.
	(Version): Bump to 1.0.14

2020-11-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Move semantic/tag obsolete variables to avoid a warning

	* lisp/cedet/semantic/tag.el (semantic-token-version): Move to
	avoid a compilation warning.

2020-11-20  João Távora  <joaotavora@gmail.com>

	Fix default timeout handling in jsonrpc-request

	* lisp/jsonrpc.el (jsonrpc-request): Use default timeout if not passed.
	(Version): Bump to 1.0.13

2020-11-20  Andrea Corallo  <akrl@sdf.org>

	Add 'EMACSNATIVELOADPATH' env variable support (bug#44726)

	* lisp/startup.el (normal-top-level): Read 'EMACSNATIVELOADPATH'
	and add entries too `comp-eln-load-path'.
	* lisp/mail/emacsbug.el (report-emacs-bug): Dump
	also 'EMACSNATIVELOADPATH'.

2020-11-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid a compilation warning about an ambiguous else

	* src/data.c (set_internal): Avoid compilation warning.

	data.c:1443:9: error: suggest explicit braces to avoid ambiguous ‘else’
	 1443 |      if (idx > 0 && bindflag == SET_INTERNAL_SET
	      |         ^

2020-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/data.c (set_internal): Fix bug#44733

	Set the default value when `set` encounters a PER_BUFFER variable
	which has been let-bound globally, to match the behavior seen with
	`make-variable-buffer-local`.

	* test/src/data-tests.el (binding-test--let-buffer-local):
	Add corresponding test.
	(data-tests--set-default-per-buffer): Add tentative test for the
	performance problem encountered in bug#41029.

2020-11-19  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	* lisp/net/dictionary.el: Remove remnants of package

	Version and package dependencies are not useful when included into
	Emacs.

2020-11-19  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'font-spec'

	* doc/lispref/display.texi (Low-Level Font):
	* src/font.c (Ffont_spec): Document 'font-spec' keys that are
	supported, but were undocumented.

2020-11-19  Stefan Kangas  <stefan@marxist.se>

	Remove some XEmacs compat code from filesets.el

	* lisp/filesets.el (filesets-init): Remove some XEmacs compat code.
	(filesets-error): Declare obsolete.
	(filesets-directory-files, filesets-get-selection)
	(filesets-spawn-external-viewer, filesets-get-filelist)
	(filesets-open, filesets-close, filesets-get-menu-epilog)
	(filesets-ingroup-collect-files, filesets-build-ingroup-submenu)
	(filesets-update-pre010505): Adjust callers.

2020-11-19  Stefan Kangas  <stefan@marxist.se>

	Remove some compat code from ffap.el

	* lisp/ffap.el (ffap-mouse-event, ffap-event-buffer): Make obsolete.
	(ffap-menu-ask, ffap-at-mouse): Adjust callers.

2020-11-19  Stefan Kangas  <stefan@marxist.se>

	Declare some compat aliases obsolete

	* lisp/cedet/semantic/tag.el (semantic-token-version)
	(semantic-token-incompatible-version):
	* lisp/emulation/edt.el (edt-bind-standard-key): Make compat
	aliases obsolete.

2020-11-19  Stefan Kangas  <stefan@marxist.se>

	Remove some compat code from url.el

	* lisp/url/url.el (url-warn): Make into obsolete alias for
	display-warning.
	* lisp/url/url-auth.el (url-register-auth-scheme):
	* lisp/url/url-news.el (url-news-open-host):
	* lisp/url/url-proxy.el (url-find-proxy-for-url): Adjust callers.

2020-11-19  Stefan Kangas  <stefan@marxist.se>

	Remove some compat code for old versions and XEmacs

	* lisp/ibuf-ext.el (ibuffer-old-saved-filters-warning)
	(ibuffer-maybe-save-stuff): Assume customize-save-variable is
	bound; it is autoloaded.
	* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
	* lisp/password-cache.el (password-cache-remove):
	* lisp/cedet/semantic/bovine/el.el (semantic-dependency-tag-file):
	Remove Emacs 21 compat code.
	* lisp/cedet/semantic/sort.el (semantic-string-lessp-ci):
	Remove Emacs 20 compat code.
	* test/lisp/cedet/semantic-utest.el (semantic-utest-temp-directory):
	* lisp/mail/supercite.el (sc-ask): Remove XEmacs compat code.
	* lisp/progmodes/idlw-shell.el (idlwave-shell-mode):
	* lisp/progmodes/idlwave.el (idlwave-mode): Remove commented out
	compat code.

2020-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/buffer.h (struct buffer): Remove unused field `minor_modes`

	* src/buffer.c (bset_minor_modes): Remove function.
	(reset_buffer_local_variables, init_buffer_once): Don't set `minor_modes`.

2020-11-19  Michael Albinus  <michael.albinus@gmx.de>

	Use decoding implementation from `insert-directory' in Tramp

	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
	Use decoding implementation from `insert-directory', it is more robust.

2020-11-19  Mattias Engdegård  <mattiase@acm.org>

	More string-search optimizations

	All-ASCII strings cannot have substrings with non-ASCII characters in
	them; use this fact to avoid searching entirely.

	* src/fns.c (Fstring_search): For multibyte non-ASCII needle and
	unibyte haystack, don't check if the haystack is all-ASCII; it's a
	waste of time. For multibyte non-ASCII needle and multibyte
	all-ASCII haystack, fail immediately.
	* test/src/fns-tests.el (string-search): Add more test cases.

2020-11-19  Alan Mackenzie  <acm@muc.de>

	* etc/NEWS: Restore entries accidentally removed by previous commit.

2020-11-19  Alan Mackenzie  <acm@muc.de>

	In attempted recursive minibuffer use, display error message in correct frame

	This was problematic when minibuffer-follows-selected-frame was non-nil.
	Introduce a new parameter DONT-SET-FRAME to set-window-configuration.

	* doc/lispref/windows.texi (Window Configurations): Describe the new &optional
	parameter to set-window-configuration.

	* etc/NEWS (Lisp Changes): Note the new parameter to set-window-configuration.

	* src/keyboard.c (read_char_help_form_unwind): Add a new Qnil argument to the
	call of Fset_window_configuration.

	* src/minibuf.c (read_minibuf): Cons up a Qt with the window configuration in
	the argument to record_unwind_protect for the window configuration (twice).

	* src/window.c (Fset_window_configuration): Add the new &optional parameter
	and document it in the doc string.  At the final do_switch_frame operation,
	restore the original frame when DONT-SET-FRAME is non-nil.
	(restore_window_configuration): Handle the new parameter when the supplied
	argument is a cons.

2020-11-19  Matthias Meulien  <orontee@gmail.com>

	Add history of search words to read-string

	Remove text property from empty line

2020-11-19  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Move placement of dictionary-tooltip-mouse-event

	* lisp/net/dictionary.el (dictionary-tooltip-mouse-event): Place
	variable before dictionary-display-tooltip to avoid warning about use of
	free variable when compiling dictionary-display-tooltip

2020-11-19  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Support nil value for dictionary-server

	* lisp/net/dictionary.el (dictionary-server): Support choice to select
	the dictionary server to use.
	* lisp/net/dictionary.el (dictionary-check-connection): Support nil
	value for dictionary-server.

	This nil value is the new default value of that variable. When
	opening a new connection and dictionary-server is nil the code
	behaves the following way:

	- it will first try to connect to a dictd server running on localhost
	- if that fails, it queries the user if the alternative
	  server (dict.org) should be consulted
	- if the user agrees, the connection is made to dict.org

	This allows the default value of dictionary-server not to connect
	a remote server by default. The user is always able to select a
	different server by customizing the variable dictionary-search.

2020-11-19  Stefan Kangas  <stefan@marxist.se>

	Remove outdated comment about Emacs 20 from viper.el

	* lisp/emulation/viper-util.el (viper-chars-in-region): Remove
	outdated comment.

2020-11-19  Stefan Kangas  <stefan@marxist.se>

	Add new variable cperl-tags-file-name

	* lisp/progmodes/cperl-mode.el (cperl-tags-file-name): New variable.
	(cperl-write-tags): Use above new variable instead of hardcoding
	filename "TAGS".  (Bug#8802)

2020-11-19  Stefan Kangas  <stefan@marxist.se>

	Declare XEmacs compat function in inversion.el obsolete

	* lisp/cedet/inversion.el (inversion-require-emacs): Declare obsolete.

2020-11-19  Stefan Kangas  <stefan@marxist.se>

	Assume font-lock is provided; it's preloaded since 22.1

	* lisp/cedet/semantic/format.el (semantic--format-colorize-text):
	* lisp/eshell/em-ls.el (eshell-ls--insert-directory):
	* lisp/net/dig.el (dig-mode):
	* lisp/progmodes/cperl-mode.el (cperl-pod-here-fontify):
	* lisp/progmodes/idlw-help.el (idlwave-help-fontify):
	* lisp/progmodes/idlwave.el (idlwave-completion-fontify-classes):
	Don't check for feature 'font-lock; it has been preloaded since 22.1.
	* lisp/cedet/semantic/format.el (font-lock):
	* lisp/epa.el (font-lock):
	* lisp/erc/erc.el (font-lock):
	* lisp/generic-x.el (font-lock):
	* lisp/net/sieve-mode.el (font-lock):
	* lisp/progmodes/prolog.el (font-lock):
	* lisp/textmodes/rst.el (font-lock): Remove unnecessary require.

2020-11-19  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/cperl-mode.el: Doc fix.

2020-11-19  Stefan Kangas  <stefan@marxist.se>

	Remove unnecessary load from idlwave

	* lisp/progmodes/idlw-shell.el:
	* lisp/progmodes/idlwave.el: Remove unnecessary load; easy-menu-define
	is autoloaded.

2020-11-19  Stefan Kangas  <stefan@marxist.se>

	Make compat alias add-submenu obsolete

	* lisp/emacs-lisp/easymenu.el (add-submenu): Make compat alias
	obsolete.
	* lisp/filesets.el (filesets-build-menu-now): Don't use above
	obsolete alias.
	(filesets-menu-path, filesets-menu-before)
	(filesets-menu-in-menu): Doc fix.

2020-11-19  Alan Third  <alan@idiocy.org>

	Fix SVG display again (bug#44655)

	* src/image.c (svg_load_image): Fall back to
	rsvg_handle_get_dimensions if we can't calculate the size of the
	image.

2020-11-18  Protesilaos Stavrou  <info@protesilaos.com>

	Clarify that 'diff-error' is part of Emacs 28.1

	* lisp/vc/diff-mode.el (diff-error): Add :version tag (bug#44727).

2020-11-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Further doc fixes for dotimes about RESULT

	* lisp/subr.el (dotimes): Be even more explicit about RESULT
	(bug#16206).

	(cherry picked from commit 5b0d8d0f288fd505ca90bd30df709a5e7ab540d6)

2020-11-18  Andrea Corallo  <akrl@sdf.org>

	Fix eln file hashing for symlink paths (bug#44701)

	* src/comp.c (Fcomp_el_to_eln_filename): Call `file-truename'
	in place of `expand-file-name' when available.

2020-11-18  Jonas Bernoulli  <jonas@bernoul.li>

	Revert "[WIP] Add and improve section headings"

	This reverts commit 007a5a677573ab628426a0605eb38f8e68fe1953.

2020-11-18  Jonas Bernoulli  <jonas@bernoul.li>

	Revert "[TODO] Remove noisy anti-noise feature"

	This reverts commit c36b4eed2d76f0e804d27d35dd6281f858639f94.

2020-11-18  Jonas Bernoulli  <jonas@bernoul.li>

	[TODO] Remove noisy anti-noise feature

	[WIP] Add and improve section headings

2020-11-18  Mattias Engdegård  <mattiase@acm.org>

	Turn gdb-wait-for-pending into a plain function

	This avoids unnecessary body duplication in expansion and macro
	recursion (causing macro-expansions at runtime), making it clearer
	what is going on.

	* lisp/progmodes/gdb-mi.el (gdb-wait-for-pending): Make it a function,
	remove lambda quoting,  η-reduce and simplify.
	(gdb-thread-exited, gdb-thread-selected): Adapt callers.

2020-11-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Don't make bibtex-unify-case-convert buffer-local

	The :local tag does not currently work as intended (it results in a
	default value of bibtex-unify-case-convert of nil rather than
	identity), and no other bibtex.el user option is automatically
	buffer-local, so revert this recent change.

	For discussion, see the following emacs-devel thread:
	https://lists.gnu.org/r/emacs-devel/2020-11/msg00734.html

	* lisp/textmodes/bibtex.el (bibtex-unify-case-convert): Don't make
	automatically buffer-local for consistency with other user options,
	and because the :local tag doesn't have the intended results.

2020-11-18  Michael Albinus  <michael.albinus@gmx.de>

	Preserve `dired-filename' text properties in Tramp

	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
	Restore `dired-filename' text property, which has been destroyed
	by `decode-coding-region'.  (Bug#44682)

2020-11-17  Stefan Kangas  <stefan@marxist.se>

	Remove redundant 'function's around lambdas

	* lisp/allout.el (allout-latex-verb-quote):
	* lisp/edmacro.el (edmacro-format-keys):
	* lisp/ffap.el (ffap-all-subdirs-loop)
	(ffap-kpathsea-expand-path, ffap-menu-rescan):
	* lisp/files.el (save-buffers-kill-emacs):
	* lisp/find-lisp.el (find-lisp-find-dired-internal)
	(find-lisp-insert-directory):
	* lisp/gnus/gnus-agent.el (gnus-agent-expire-unagentized-dirs):
	* lisp/gnus/nnmairix.el (nnmairix-create-message-line-for-search)
	(nnmairix-widget-get-values)
	(nnmairix-widget-make-query-from-widgets)
	(nnmairix-widget-build-editable-fields):
	* lisp/international/mule-cmds.el (sort-coding-systems):
	* lisp/international/mule-diag.el (list-character-sets-1):
	* lisp/international/quail.el (quail-insert-decode-map):
	* lisp/mail/reporter.el (reporter-dump-state):
	* lisp/mail/supercite.el (sc-attribs-filter-namelist):
	* lisp/pcmpl-gnu.el (pcmpl-gnu-zipped-files)
	(pcmpl-gnu-bzipped-files):
	* lisp/progmodes/cperl-mode.el (cperl-find-tags)
	(cperl-write-tags, cperl-tags-hier-init, cperl-tags-treeify)
	(cperl-menu-to-keymap, cperl-pod-spell):
	* lisp/progmodes/gdb-mi.el (gdb-parent-mode):
	* lisp/progmodes/make-mode.el (makefile-browser-fill):
	* lisp/simple.el (transpose-lines):
	* lisp/term.el:
	* lisp/term/w32-win.el (w32-find-non-USB-fonts):
	* lisp/textmodes/table.el (table--generate-source-scan-lines): Remove
	redundant 'function's around lambdas.

2020-11-17  Stefan Kangas  <stefan@marxist.se>

	Remove redundant 'function's around lambdas in mh/*.el

	* lisp/mh-e/mh-alias.el (mh-alias-tstamp, mh-alias-filenames)
	(mh-alias-address-to-alias):
	* lisp/mh-e/mh-comp.el (mh-edit-again, mh-redistribute):
	* lisp/mh-e/mh-identity.el (mh-identity-make-menu):
	* lisp/mh-e/mh-utils.el (mh-help): Remove redundant 'function's around
	lambdas.

2020-11-17  Alan Mackenzie  <acm@muc.de>

	Enhance syntax-tests.el to test nestable comments (Lisp style)

	Also add some tests for braces and parse-partial-sexp amongst Lisp style
	comments.

	* test/src/syntax-tests.el (\;-in, \;-out): Add syntax for { and }.
	(top-level): Add new tests for Lisp style comments.
	(\#|-in, \#|-out): New functions.
	(top-level): Add new tests for nested Lisp style comments, and mixtures of
	nested comments with "ordinary" comments.

	* test/src/syntax-resources/syntax-comments.txt (top-level): Add new test
	fragments for #|...|#, etc.

2020-11-17  Stefan Kangas  <stefan@marxist.se>

	Don't quote lambdas with 'function' in calc/*.el

	* lisp/calc/calc-aent.el (calc-do-quick-calc)
	(calc-do-calc-eval, math-build-parse-table):
	* lisp/calc/calc-alg.el (math-polynomial-base):
	* lisp/calc/calc-alg.el (math-is-poly-rec):
	* lisp/calc/calc-arith.el (calcFunc-scf):
	* lisp/calc/calc-arith.el (math-ceiling, math-round):
	* lisp/calc/calc-arith.el (math-trunc-fancy, math-floor-fancy):
	* lisp/calc/calc-ext.el (calc-init-extensions, calc-reset)
	(calc-refresh-top, calc-z-prefix-help, calc-binary-op-fancy)
	(calc-unary-op-fancy):
	* lisp/calc/calc-forms.el (math-make-mod):
	* lisp/calc/calc-frac.el (calcFunc-frac):
	* lisp/calc/calc-funcs.el (calcFunc-euler):
	* lisp/calc/calc-help.el (calc-full-help):
	* lisp/calc/calc-lang.el (c, pascal, fortran, tex, latex, eqn)
	(yacas, maxima, giac, math, maple):
	* lisp/calc/calc-macs.el (calc-wrapper, calc-slow-wrapper):
	* lisp/calc/calc-map.el (calc-get-operator, calcFunc-mapeqr)
	(calcFunc-reducea, calcFunc-rreducea, calcFunc-reduced)
	(calcFunc-rreduced, calcFunc-outer):
	* lisp/calc/calc-misc.el (another-calc, calc-do-handle-whys):
	* lisp/calc/calc-mode.el (calc-save-modes):
	* lisp/calc/calc-mtx.el (math-col-matrix, math-mul-mat-vec):
	* lisp/calc/calc-poly.el (math-sort-terms, math-poly-div-list)
	(math-mul-list, math-sort-poly-base-list)
	(math-partial-fractions):
	* lisp/calc/calc-prog.el (calc-user-define-formula):
	* lisp/calc/calc-rewr.el (math-rewrite, math-compile-patterns)
	(math-compile-rewrites, math-parse-schedule)
	(math-rwcomp-pattern):
	* lisp/calc/calc-store.el (calc-var-name-map, calc-let)
	(calc-permanent-variable, calc-insert-variables):
	* lisp/calc/calc-stuff.el (calc-flush-caches, calcFunc-pclean)
	(calcFunc-pfrac):
	* lisp/calc/calc-units.el (math-build-units-table)
	(math-decompose-units):
	* lisp/calc/calc-vec.el (calcFunc-mrow, math-mat-col)
	(calcFunc-mcol, math-mat-less-col, math-mimic-ident):
	* lisp/calc/calc-yank.el (calc-edit):
	* lisp/calc/calc.el
	(calc-mode-var-list-restore-default-values)
	(calc-mode-var-list-restore-saved-values, calc-mode, calc-quit):
	* lisp/calc/calccomp.el (math-compose-expr)
	(math-compose-matrix, math-vector-to-string): Don't quote lambdas with
	'function'.

2020-11-17  Stefan Kangas  <stefan@marxist.se>

	Add command to filter package menu by name or description

	* lisp/emacs-lisp/package.el (package-menu-filter-by-description):
	(package-menu-filter-by-name-or-description): New commands to filter
	the package menu.  (Bug#44699)
	(package-menu-mode-map): Bind the above new commands.
	(package-menu-mode-menu): Add new commands to the menu.
	* doc/emacs/package.texi (Package Menu): Document new commands.

2020-11-17  Stefan Kangas  <stefan@marxist.se>

	Don't quote lambdas with function macro in generic-x.el

	* lisp/generic-x.el (apache-conf-generic-mode, ini-generic-mode)
	(reg-generic-mode, mailagent-rules-generic-mode)
	(vrml-generic-mode, java-properties-generic-mode)
	(alias-generic-mode, ansible-inventory-generic-mode)
	(inetd-conf-generic-mode, etc-services-generic-mode)
	(etc-passwd-generic-mode, etc-fstab-generic-mode)
	(spice-generic-mode, astap-generic-mode): Don't quote lambdas with
	function macro.

2020-11-17  Stefan Kangas  <stefan@marxist.se>

	Test that substitute-command-keys preserves text properties

	* test/lisp/help-tests.el
	(help-substitute-command-keys/preserves-text-properties): New test.
	(Bug#17052)

2020-11-17  Harald Jörg  <haj@posteo.de>

	perl-mode and cperl-mode: Recognize regex after "return"

	* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Add
	"return" to the keywords which start a regex.

	* lisp/progmodes/perl-mode.el (defconst): Add "return" to
	'perl--syntax-exp-intro-keywords' (Bug#26850).

	* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-28650):
	New test (bug#26850).

2020-11-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor Edebug manual keystroke clarifications

	* doc/lispref/edebug.texi (Edebug Misc): Also mention the `a'
	binding to abort (bug#44697).  Also fix `d' function reference, and
	add `P' reference.

2020-11-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the handwrite.el PS valid again

	* lisp/play/handwrite.el (handwrite): Make the PS valid
	(bug#44648).  Suggested by Omar Antolín <omar.antolin@gmail.com>.

2020-11-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix gnus-mime-display-alternative button natigation

	* lisp/gnus/gnus-art.el (gnus-mime-display-alternative): Mark the
	buttons correctly so that TAB can find them (bug#44690).

2020-11-16  Ruthra Kumar  <ruthrab@gmail.com>

	Use 'eshell-find-alias-function' instead of fboundp

	* lisp/eshell/esh-cmd.el (eshell-invoke-directly): Fix problem
	with (require 'em-tramp) making password prompting from "sudo
	bash" no longer work (bug#43772).

2020-11-16  Francesco Potortì  <pot@gnu.org>

	Add new user option bibtex-unify-case-convert

	* lisp/textmodes/bibtex.el (bibtex-unify-case-convert): New
	variable (bug#44614).
	(bibtex-format-entry): Use it (bug#44614).

2020-11-16  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in time-stamp.el

	* lisp/time-stamp.el: Use lexical-binding.  Remove redundant :group
	args.

2020-11-16  Stefan Kangas  <stefan@marxist.se>

	Don't quote lambdas in net/*.el

	* lisp/net/eudc-export.el (eudc-create-bbdb-record):
	* lisp/net/eudc.el (eudc-print-attribute-value)
	(eudc-display-records, eudc-process-form)
	(eudc-filter-duplicate-attributes, eudc-filter-partial-records)
	(eudc-add-field-to-records, eudc-query-with-words)
	(eudc-query-form, eudc-menu):
	* lisp/net/eudcb-bbdb.el (eudc-bbdb-extract-phones)
	(eudc-bbdb-query-internal):
	* lisp/net/mairix.el (mairix-widget-make-query-from-widgets)
	(mairix-widget-build-editable-fields, mairix-widget-get-values):
	Don't quote lambdas.

2020-11-16  Stefan Kangas  <stefan@marxist.se>

	Don't quote lambdas in emacs-lisp/*.el

	* lisp/emacs-lisp/cl-seq.el (cl--parsing-keywords, cl-sort):
	* lisp/emacs-lisp/cl-macs.el (cl-typecase):
	* lisp/emacs-lisp/cl-extra.el (cl-some, cl-every)
	(cl--map-keymap-recursively):
	* lisp/emacs-lisp/advice.el (ad-insert-argument-access-forms):
	* lisp/emacs-lisp/edebug.el (edebug-sort-alist)
	(edebug-set-windows):
	* lisp/emacs-lisp/pp.el (pp-display-expression):
	* lisp/emacs-lisp/regi.el (regi-interpret): Don't quote lambdas.

2020-11-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	75723ec212 (origin/emacs-27) ; * lisp/emacs-lisp/benchmark.el (benchm...
	53e2a612ad ; * lib-src/make-fingerprint.c: Update commentary.
	286c632772 Reformat argument commentary in etags.c
	4ec740866a Make the invocation of combine-change-calls in comment-reg...
	66bcec8838 * lisp/progmodes/cc-langs.el (c-<>-notable-chars-re): Fix ...
	03eeab469e ; Update the expected result files in test/manual/etags.
	d875a22bc6 Update the various INSTALL files

	# Conflicts:
	#	INSTALL

2020-11-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	19da602991 Fix input method translation near read-only text
	5aabf2cc7f Fix display of truncated R2L lines on TTY frames
	daff3bda10 Avoid crashes when a reversed glyph row starts with a comp...
	b697bb91a1 ; * .gitignore: src/fingerprint.c not generated since 2019...

2020-11-16  Stefan Kangas  <stefan@marxist.se>

	Don't quote lambdas in calc/calcalg{2,3}.el

	* lisp/calc/calcalg2.el (calcFunc-inv\', calcFunc-sqrt\')
	(calcFunc-deg\', calcFunc-rad\', calcFunc-ln\')
	(calcFunc-log10\', calcFunc-lnp1\', calcFunc-log\')
	(calcFunc-log\'2, calcFunc-exp\', calcFunc-expm1\')
	(calcFunc-sin\', calcFunc-cos\', calcFunc-tan\', calcFunc-sec\')
	(calcFunc-csc\', calcFunc-cot\', calcFunc-arcsin\')
	(calcFunc-arccos\', calcFunc-arctan\', calcFunc-sinh\')
	(calcFunc-cosh\', calcFunc-tanh\', calcFunc-sech\')
	(calcFunc-csch\', calcFunc-coth\', calcFunc-arcsinh\')
	(calcFunc-arccosh\', calcFunc-arctanh\', calcFunc-bern\'2)
	(calcFunc-euler\'2, calcFunc-gammag\'2, calcFunc-gammaG\'2)
	(calcFunc-gammaP\'2, calcFunc-gammaQ\'2, calcFunc-betaB\')
	(calcFunc-betaI\', calcFunc-erf\', calcFunc-erfc\')
	(calcFunc-besJ\'2, calcFunc-besY\'2, calcFunc-sum)
	(calcFunc-prod, calcFunc-integ, calcFunc-if, calcFunc-subscr)
	(math-do-integral, calcFunc-integ, math-decompose-poly)
	(math-solve-system-rec, math-solve-system-subst, math-solve-for)
	(calcFunc-inv, calcFunc-sqrt, calcFunc-conj, calcFunc-abs)
	(calcFunc-deg, calcFunc-rad, calcFunc-ln, calcFunc-log10)
	(calcFunc-lnp1, calcFunc-exp, calcFunc-expm1, calcFunc-sin)
	(calcFunc-cos, calcFunc-tan, calcFunc-arcsin, calcFunc-arccos)
	(calcFunc-arctan, calcFunc-sinh, calcFunc-cosh, calcFunc-tanh)
	(calcFunc-arcsinh, calcFunc-arccosh, calcFunc-arctanh):
	* lisp/calc/calcalg3.el (calc-get-fit-variables)
	(calcFunc-polint, calcFunc-ratint, math-all-vars-but): Don't quote
	lambdas.

2020-11-16  Stefan Kangas  <stefan@marxist.se>

	Various doc fixes for comp.el and comp.c

	* lisp/emacs-lisp/comp.el: Remove redundant :group args.
	(comp-async-cu-done-hook, comp-async-all-done-hook)
	(comp-async-env-modifier-form, comp-dry-run)
	(comp-ensure-native-compiler, comp-func-ret-typeset)
	(comp-func-ret-range, comp-limple-lock-keywords)
	(comp-make-curr-block):
	* src/comp.c (Fcomp_el_to_eln_filename, Fcomp__init_ctxt)
	(Fcomp_native_driver_options_effective_p)
	(Fcomp__compile_ctxt_to_file, Fcomp_libgccjit_version)
	(Fcomp__register_lambda, Fcomp__register_subr)
	(Fcomp__late_register_subr, Fnative_elisp_load, syms_of_comp): Doc fixes.

2020-11-16  Andrea Corallo  <akrl@sdf.org>

	Fix nativecomp cond-rw pass

	* lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): Improve it.
	(comp-cond-rw-func): Fix logic for multiple predecessor on target
	block.
	* test/src/comp-tests.el (comp-test-cond-rw-1): New test.
	* test/src/comp-test-funcs.el (comp-test-cond-rw-1-1-f)
	(comp-test-cond-rw-1-2-f): New functions.

2020-11-16  Stefan Kangas  <stefan@marxist.se>

	Don't quote lambdas in eshell/*.el

	* lisp/eshell/em-basic.el (eshell-echo):
	* lisp/eshell/em-cmpl.el (eshell-command-completion-function)
	(eshell-default-completion-function, eshell-cmpl-initialize)
	(eshell-complete-parse-arguments, eshell-complete-commands-list):
	* lisp/eshell/em-dirs.el (eshell-complete-user-reference):
	* lisp/eshell/em-hist.el (eshell-hist-unload-hook)
	(eshell-hist-initialize):
	* lisp/eshell/em-ls.el (eshell-ls-sort-entries):
	* lisp/eshell/em-pred.el (eshell-modifier-alist)
	(eshell-display-predicate-help, eshell-display-modifier-help)
	(eshell-pred-substitute, eshell-split-members):
	* lisp/eshell/em-prompt.el (eshell-prompt-function):
	* lisp/eshell/em-smart.el (eshell-smart-unload-hook)
	(eshell-smart-initialize, eshell-refresh-windows):
	* lisp/eshell/em-unix.el (eshell-shuffle-files):
	* lisp/eshell/esh-arg.el (eshell-parse-argument-hook):
	* lisp/eshell/esh-cmd.el (eshell-cmd-initialize)
	(eshell-parse-command):
	* lisp/eshell/esh-mode.el (eshell-preinput-scroll-to-bottom)
	(eshell-postoutput-scroll-to-bottom):
	* lisp/eshell/esh-module.el (eshell-modules-list):
	* lisp/eshell/esh-proc.el (eshell-read-process-name)
	(eshell-round-robin-kill):
	* lisp/eshell/esh-var.el (eshell-envvar-names)
	(eshell-variables-list): Don't quote lambdas.

2020-11-15  Juri Linkov  <juri@linkov.net>

	New user options 'copy-region-blink-delay' and 'delete-pair-blink-delay'

	* lisp/emacs-lisp/lisp.el (delete-pair-blink-delay): New defcustom.
	(delete-pair): Use it.  (Bug#4136)

	* lisp/simple.el (copy-region-blink-delay): New defcustom.
	(indicate-copied-region): Use it.  (Bug#42865)
	Thanks to Sean Whitton <spwhitton@spwhitton.name>.
	(indicate-copied-region): Use 'query-replace-descr' not to show
	newlines literally.  Use "Copied text" instead of misleading
	"Saved text" (bug#42865).

2020-11-15  Andrea Corallo  <akrl@sdf.org>

	Improve `comp-fwprop-call'

	* lisp/emacs-lisp/comp.el (comp-function-call-maybe-fold):
	Document return value.
	(comp-fwprop-call): Simplify and improve.

2020-11-15  Andrea Corallo  <akrl@sdf.org>

	Add more type specifiers

	* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add more
	pure functions.

2020-11-15  Eli Zaretskii  <eliz@gnu.org>

	Reformat argument commentary in etags.c

	* lib-src/etags.c (pfnote, consider_token, C_entries): Resurrect
	original format of comments to function arguments.

2020-11-15  Mattias Engdegård  <mattiase@acm.org>

	Reformat comment for 'gnu' compilation rule

	* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
	The comments above the regexp for the 'gnu' rule contained
	references to the previous string regexp, which has been difficult
	to follow ever since the translation to rx.  Move the comments
	to their proper places, and add some guiding notes.

2020-11-15  Alan Mackenzie  <acm@muc.de>

	Make the invocation of combine-change-calls in comment-region valid

	This fixes bug #44581.  The problem was that whitespace outside of the (BEG
	END) region was being deleted, and this made the invocation of
	combine-change-calls with (BEG END) invalid.

	* lisp/newcomment.el (comment-region-default): Amend the second argument to
	combine-change-calls.

2020-11-15  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-langs.el (c-<>-notable-chars-re): Fix wrong '-' in regexp

2020-11-15  Stefan Kangas  <stefan@marxist.se>

	Make initial frame match frame-title-format

	* src/xterm.c (x_term_init):
	* src/w32term.c (w32_initialize_display_info): Sync initial frame
	title with new value of Vframe_title_format.
	Problem reported by Angelo Graziosi <angelo.g0@libero.it>.

2020-11-15  Stefan Kangas  <stefan@marxist.se>

	Run menu-item :filter function before showing binding

	* lisp/help.el (describe-map): Fix running `menu-item' :filter
	functions.  This fixes a mistake in the previous conversion of this
	defun from the old C function describe_map.  See the discussion in
	Bug#39149.
	* test/src/keymap-tests.el
	(keymap---get-keyelt/runs-menu-item-filter)
	(describe-buffer-bindings/menu-item-filter-show-binding)
	(describe-buffer-bindings/menu-item-filter-hide-binding):
	New tests.
	(keymap-tests--test-menu-item-filter): New defun.

2020-11-14  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Handle negation of search keys in gnus-search minibuffer completion

	* lisp/gnus/gnus-search.el (gnus-search-get-active): Keys might start
	with a leading "-": check for that and ignore it.

2020-11-14  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into dev

2020-11-14  Andrea Corallo  <akrl@sdf.org>

	Add `comp-constraint-to-type-spec' and better handle boolean type spec

	* lisp/emacs-lisp/comp.el (comp-constraint-to-type-spec): New
	function splitting out code from comp-ret-type-spec + better
	handle boolean type specifier.
	(comp-ret-type-spec): Rework to leverage
	`comp-constraint-to-type-spec'.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a
	testcase.

2020-11-14  Andrea Corallo  <akrl@sdf.org>

	Handle correctly quoting in *Native-compile-Log* buffer

	* lisp/emacs-lisp/comp.el (comp-log): Add `quoted' parameter and
	pass it to `comp-log-to-buffer'.
	(comp-log-to-buffer): Add `quoted' parameter and leverage `prin1'
	or `princ' accordingly.

2020-11-14  Andrea Corallo  <akrl@sdf.org>

	Split logic into comp-fwprop-call and improve it

	* lisp/emacs-lisp/comp.el (comp-func-ret-valset)
	(comp-fwprop-call): New functions.
	(comp-fwprop-insn): Remove code duplicaiton and call
	`comp-fwprop-call'.

2020-11-14  Andrea Corallo  <akrl@sdf.org>

	Fix debug symbol emission

	* src/comp.c (Fcomp__compile_ctxt_to_file): Now that we do not
	rely anymore on global variables move logic in from
	'Fcomp__init_ctxt' so comp.debug is already set correctly.

2020-11-14  Andrea Corallo  <akrl@sdf.org>

	Add a number of type specifiers for pure function

	* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add 60
	pure function type specifiers.

2020-11-14  Andrea Corallo  <akrl@sdf.org>

	Characterize functions in terms of type specifiers

	* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): New const
	in place of `comp-known-ret-types' and `comp-known-ret-ranges'.
	(comp-constraint): New struct to separate the constraint side of
	an mvar.
	(comp-constraint-f): Analogous for functions.
	(comp-mvar): Rework and include `comp-constraint'.
	(comp-type-spec-to-constraint): New function.
	(comp-known-constraints-h): New const.
	(comp-func-ret-typeset, comp-func-ret-range): Rework.
	(comp-fwprop-insn): Fix.
	* test/src/comp-tests.el (destructure-type-spec): New testcase.

2020-11-14  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/xref.el (xref-goto-xref): Prefix arg quits the *xref* buffer.

	(bug#44611)

2020-11-14  Juri Linkov  <juri@linkov.net>

	* lisp/org/ob-ruby.el (org-babel-ruby-initiate-session): Use :ruby header arg.

	Allow specification of ruby command using the :ruby header arg.
	https://lists.gnu.org/archive/html/emacs-orgmode/2020-11/msg00166.html

2020-11-14  Daniel Lenski  <dlenski@gmail.com>  (tiny change)

	Fix `speedbar-directory-buttons' when using Tramp

	* lisp/speedbar.el (speedbar-directory-buttons): Make speedbar
	work with directories accessed via Tramp (bug#44622).

2020-11-14  Stefan Kangas  <stefan@marxist.se>

	Don't quote lambdas in several places

	* lisp/align.el (align-highlight-rule):
	* lisp/bookmark.el (bookmark-maybe-sort-alist):
	* lisp/emacs-lisp/advice.el (ad-read-advice-name)
	(ad-retrieve-args-form, ad-make-hook-form, defadvice)
	(ad-with-originals):
	* lisp/foldout.el (foldout-inhibit-key-bindings):
	* lisp/gnus/gnus-bookmark.el (gnus-bookmark-maybe-sort-alist):
	* lisp/mail/rfc822.el (rfc822-addresses-1):
	* lisp/net/eudcb-ldap.el (eudc-ldap-cleanup-record-simple):
	* lisp/net/net-utils.el (network-connection-to-service):
	* lisp/net/socks.el (socks-build-auth-list):
	* lisp/org/ox-odt.el (org-odt--image-size):
	* lisp/pcomplete.el (pcomplete-command-completion-function)
	(pcomplete-default-completion-function, pcomplete-opt):
	* lisp/progmodes/cperl-mode.el (cperl-highlight-charclass)
	(cperl-tags-hier-init, cperl-tags-treeify)
	(cperl-next-interpolated-REx, cperl-time-fontification):
	* lisp/shadowfile.el (shadow-copy-files, shadow-shadows-of-1)
	(shadow-save-buffers-kill-emacs):
	* lisp/strokes.el (strokes-renormalize-to-grid):
	* lisp/tempo.el (tempo-insert, tempo-forward-mark)
	(tempo-backward-mark):
	* lisp/textmodes/artist.el (artist-submit-bug-report):
	* lisp/textmodes/ispell.el (ispell-complete-word):
	* lisp/url/url-auth.el (url-get-authentication):
	* lisp/url/url-cache.el (url-cache-create-filename-human-readable):
	* lisp/vcursor.el (vcursor-find-window):
	* test/lisp/textmodes/reftex-tests.el
	(reftex-parse-bibtex-entry-test): Don't quote lambdas.

2020-11-14  Akira Kyle  <akira@akirakyle.com>  (tiny change)

	Work around glib messing with signal handlers more than it should

	* src/process.c (init_process_emacs): force glib's g_unix_signal
	handler into lib_child_handler where it should belong.

2020-11-14  Pablo Barbáchano  <pablob@amazon.com>

	Add an option to preserve ANSI sequences

	* lisp/ansi-color.el: Add an option to preserve the ANSI sequences.
	* test/lisp/ansi-color-tests.el: Add tests (bug#44589).

2020-11-14  Lars Ingebrigtsen  <larsi@gnus.org>

	project-or-external-find-file doc string fix

	* lisp/progmodes/project.el (project-or-external-find-file): Doc
	string fix -- it's not "recognizing" file names (bug#44588).

2020-11-14  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in fortune.el and add tests

	* lisp/play/fortune.el: Use lexical-binding.  Remove redundant
	:group args.
	(fortune-in-buffer): Quote function symbol as such.
	* test/lisp/play/fortune-resources/fortunes:
	* test/lisp/play/fortune-tests.el: New files.
	* .gitignore: Ignore generated file fortunes.dat.

2020-11-14  Eli Zaretskii  <eliz@gnu.org>

	Update the various INSTALL files

	* nt/INSTALL.W64:
	* nt/INSTALL:
	* INSTALL: Update the installation information, in particular the
	fact that HarfBuzz is now preferred as the shaping library.

2020-11-14  Eli Zaretskii  <eliz@gnu.org>

	Fix input method translation near read-only text

	* lisp/international/quail.el (quail-input-method): Don't disable
	input method when the character after point has the read-only
	property.  Suggested by Evgeny Zajcev <lg.zevlg@gmail.com>
	(Bug#44466)

	* doc/emacs/mule.texi (Input Methods): Document that input methods
	are inhibited in read-only text.

2020-11-14  Eli Zaretskii  <eliz@gnu.org>

	Make Calc windows dedicated by default

	* lisp/calc/calc.el (calc-make-windows-dedicated): New defcustom.
	(calc, calc-trail-display): Set Calc windows dedicated if
	calc-make-windows-dedicated is non-nil.  Patch by Boruch Baum
	<boruch_baum@gmx.com>.  (Bug#44108)

	* etc/NEWS (Calc): Announce the new behavior.

2020-11-14  Eli Zaretskii  <eliz@gnu.org>

	Make 'prefer-utf-8' heed inhibit-*-detection variables

	* lisp/international/mule-conf.el (prefer-utf-8): Inhibit
	detection of null bytes and ISO escape sequences if the respective
	inhibit-*-detection variables say so.  (Bug#44486)

2020-11-14  Jared Finder  <jared@finder.org>

	* lisp/faces.el (mode-line-highlight): Use :box only when supported.

2020-11-14  Philipp Stephani  <phst@google.com>

	Capitalize portable dump messages.

	We capitalize all other messages during the dump, so capitalize the
	"dump mode" and "dumping fingerprint" ones as well for consistency.

	* src/pdumper.c (Fdump_emacs_portable): Capitalize fingerprint message
	prefix.

	* lisp/loadup.el: Capitalize "dump mode" message.

2020-11-14  Jared Finder  <jared@finder.org>

	Face-changing text properties and help-echo now work with xterm-mouse.

	* src/dispnew.c (update_mouse_position): New function for mouse
	movement logic in 'handle_one_term_event' that can be shared across
	different mouse backends.
	(display--update-for-mouse-movement): New lisp function, call it.
	* lisp/xt-mouse.el (xterm-mouse--handle-mouse-movement): New function
	that calls 'display--update-for-mouse-movement'.
	(xterm-mouse-translate-1): Call it.
	* src/term.c (handle_one_term_event): Inline logic from
	'term_mouse_movement' and call 'update_mouse_position'.
	(term_mouse_movement): Delete.

2020-11-14  Eli Zaretskii  <eliz@gnu.org>

	Fix display of truncated R2L lines on TTY frames

	* src/xdisp.c (extend_face_to_end_of_line): Use a while-loop, not
	a do-while loop, to avoid appending an extra glyph at the end of a
	line that is one character shorter than the window-width.  This is
	needed to fix display of reversed glyph rows that are almost as
	wide as the window, because append_space_for_newline already added
	one space glyph.

2020-11-14  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes when a reversed glyph row starts with a composition

	* src/dispnew.c (build_frame_matrix_from_leaf_window): Add an
	assertion to prevent us from overwriting non-char glyphs with the
	vertical border glyph.
	* src/xdisp.c (extend_face_to_end_of_line): Account for one glyph
	possibly inserted by append_space_for_newline.  (Bug#44506)
	Remove a kludgey correction for an off-by-one error in column
	counting, which is no longer needed.

2020-11-14  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Save instantiated gnus-search engines in an alist

	So we aren't re-instantiating (and potentially configuring) them with
	every search.

	* lisp/gnus/gnus-search.el (gnus-search-engine-instance-alist): New
	variable holding server->engine mapping.
	(gnus-search-server-to-engine): See if we've already instantiated this
	server. If so, return it. If not, instantiate it and save in the above
	variable.
	(gnus-search-shutdown): Shutdown function clearing the above alist.

2020-11-14  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Make sure Gnus search groups search topics recursively

	* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
	gnus-group-read-ephemeral-search-group): If a search is initiated from
	a topic line, make sure we get all the groups under that topic (and
	under sub-topics).

2020-11-13  Mattias Engdegård  <mattiase@acm.org>

	Simplify quick-check composition regexps

	* lisp/international/ucs-normalize.el
	(quick-check-composition-list-to-regexp): Don't add an explicit
	pattern for U+1161..U+1175 and U+11a8..U+11c2 since these are already
	part of `combining-chars'.

2020-11-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	a3d316bbb7 (origin/emacs-27) Update information about refcards
	f43e9ad524 Avoid crashes in the daemon due to user interaction

2020-11-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	ac1a2b2160 Add more doc-view requirements
	109eb1e7e2 Fix undefined behavior when fetching glyphs from the displ...

	# Conflicts:
	#	lisp/doc-view.el

2020-11-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	75384bd155 Update the doc-view header line
	13ab70c80e Avoid breaking Arabic shaping in 'window-text-pixel-size'
	e693d97e50 doc-view.el comment clarification
	968e85a2ce Update erc documentation about C-c C-b

2020-11-13  Alan Third  <alan@idiocy.org>

	Fix error with fn key in NS port (bug#44533)

	* src/nsterm.m ([EmacsView keyDown:]): Move the correction for fn key
	handling to before the modifiers are calculated.

2020-11-13  Michael Albinus  <michael.albinus@gmx.de>

	Some minor Tramp fixes, resulting from test campaign

	* lisp/net/tramp.el (tramp-handle-write-region):
	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use `current-time'
	if needed.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping):
	(tramp-gvfs-do-copy-or-rename-file): Remove "gvfs-rename", it is
	not trustworthy.

	* test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p): Check also for
	symlinked files in trash.
	(tramp-test20-file-modes): Revert last change, it was a thinko.

2020-11-13  Eli Zaretskii  <eliz@gnu.org>

	Update information about refcards

	* admin/release-process (refcards):
	* admin/make-tarball.txt (refcards): Update information about
	generating refcards and required TeX/LaTeX packages.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Add copy insn testcase

	* test/src/comp-tests.el (copy-insn): New testcase.
	* test/src/comp-test-funcs.el (comp-test-copy-insn-f): New
	function.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-mvar-value-vld-p): Fix logic.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Memoize `comp-common-supertype'

	* lisp/emacs-lisp/comp.el (comp-ctxt): Add `common-supertype-mem'
	slot.
	(comp-common-supertype): Memoize.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Add few more type specifier tests

	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add three
	tests and uncomment one.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Rework `comp-ret-type-spec' in terms of `comp-phi'

	* lisp/emacs-lisp/comp.el (comp-ret-type-spec): Use `comp-func'
	not to duplicate logic plus add null type specifier support and
	some comments.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Move phi function code into dedicated function and improve it

	* lisp/emacs-lisp/comp.el (comp-phi): New function moving logic
	from `comp-fwprop-insn'.

2020-11-12  Stefan Kangas  <stefan@marxist.se>

	Don't quote lambdas in several places

	* lisp/allout-widgets.el (allout-widgets-adjusting-message)
	(allout-widgets-exposure-change-processor)
	(allout-widgets-count-buttons-in-region):
	* lisp/ansi-color.el (ansi-color-make-color-map):
	* lisp/case-table.el (describe-buffer-case-table):
	* lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
	* lisp/gnus/gnus-agent.el (gnus-agent-regenerate-group):
	* lisp/gnus/nnir.el (nnir-run-swish++, nnir-run-swish-e)
	(nnir-run-hyrex, nnir-run-namazu):
	* lisp/hippie-exp.el (make-hippie-expand-function)
	(try-complete-lisp-symbol, try-complete-lisp-symbol-partially)
	(try-expand-all-abbrevs):
	* lisp/international/mule-cmds.el (sort-coding-systems)
	(select-safe-coding-system, select-message-coding-system)
	(read-language-name, encoded-string-description):
	* lisp/international/quail.el (quail-keyseq-translate)
	(quail-get-translations, quail-build-decode-map)
	(quail-insert-decode-map):
	* lisp/jka-compr.el (jka-compr-uninstall):
	* lisp/locate.el (locate-in-alternate-database):
	* lisp/mail/mailabbrev.el (mail-resolve-all-aliases-1)
	(mail-abbrev-make-syntax-table):
	* lisp/mh-e/mh-seq.el (mh-read-folder-sequences):
	* lisp/net/eudcb-ldap.el (eudc-ldap-simple-query-internal):
	* lisp/progmodes/make-mode.el (makefile-query-targets)
	(makefile-prompt-for-gmake-funargs):
	* lisp/shadowfile.el (shadow-cancel, shadow-shadows-of):
	* lisp/sort.el (sort-pages, sort-fields, sort-regexp-fields):
	* lisp/subr.el (listify-key-sequence):
	* lisp/term/wyse50.el (terminal-init-wyse50):
	* lisp/textmodes/ispell.el (ispell-help)
	(ispell-begin-tex-skip-regexp):
	* lisp/textmodes/page-ext.el (pages-sort-region):
	* lisp/textmodes/refer.el (refer-find-entry-in-file):
	* lisp/url/url-expand.el (url-expand-file-name): Don't quote lambdas.

2020-11-12  Juri Linkov  <juri@linkov.net>

	Add help-char to the cache key in read-char-from-minibuffer as well

	It's highly unlikely that help-char will be changed from its default value 8,
	but formally there is a dependence on help-char.

2020-11-12  Robert Pluim  <rpluim@gmail.com>

	Emit required version when Harfbuzz is not found but Cairo is

	* configure.ac: Define harfbuzz_required_ver with required
	harfbuzz version, and put it in the warning message emitted when
	Cairo is found but not HarfBuzz.

2020-11-12  Mattias Engdegård  <mattiase@acm.org>

	vhdl-mode: remove minor obstacle to static checking

	* lisp/progmodes/vhdl-mode.el (vhdl-directive-keywords-regexp):
	Remove unnecessary global variable.
	(vhdl-words-init): Remove assignment.
	(vhdl-font-lock-init): Inline expression.  Use regexp-opt.

2020-11-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove mention of `edebug-on-signal' from a doc string

	* lisp/emacs-lisp/edebug.el (edebug-mode): Don't mention
	non-existent user option (bug#44577).

2020-11-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify project-find-file doc string

	* lisp/progmodes/project.el (project-find-file): Don't say
	anything about recognizing file names, as that may lead the user
	to think that it'll check whether the string at point is an
	existing file (bug#44588).

2020-11-12  Juri Linkov  <juri@linkov.net>

	Add help-form to the cache key in read-char-from-minibuffer

2020-11-12  Stefan Kangas  <stefan@marxist.se>

	* test/lisp/help-fns-tests.el: Silence byte-compiler.

	* test/lisp/hfy-cmap-resources/rgb.txt: Add comment line.

2020-11-12  Stefan Kangas  <stefan@marxist.se>

	Remove redundant installation instructions

	* lisp/net/newsticker.el:
	* lisp/net/sieve-mode.el:
	* lisp/play/bubbles.el:
	* lisp/play/handwrite.el:
	* lisp/progmodes/python.el:
	* lisp/progmodes/ruby-mode.el:
	* lisp/whitespace.el: Remove redundant installation instructions.
	These packages are distributed with Emacs and/or GNU ELPA.
	* lisp/calendar/timeclock.el:
	* lisp/ehelp.el:
	* lisp/emacs-lisp/checkdoc.el:
	* lisp/filesets.el:
	* lisp/mail/reporter.el:
	* lisp/net/rfc2104.el:
	* lisp/net/webjump.el:
	* lisp/pixel-scroll.el: Remove redundant recommendation to call
	require before using autoloaded functions.
	* lisp/tar-mode.el: Remove reference to package uncompress, removed in
	Emacs 23.

2020-11-12  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/ruby-mode.el (auto-mode-alist): Add Brewfile.

2020-11-12  Stefan Kangas  <stefan@marxist.se>

	Fix mistake in describe-buffer-bindings

	* src/keymap.c (Fdescribe_buffer_bindings): Fix a call in
	describe-buffer-bindings.  This fixes a mistake in my previous commit
	to prefer the Lisp version of describe-map-tree (8a1441310aa1), where
	0 was accidentally converted to Qt in two places.

2020-11-12  Juri Linkov  <juri@linkov.net>

	Use cache with help-char in read-char-from-minibuffer unless help-form is nil

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Nativecomp testsuite rework for derived return type specifiers

	As we have derived return type specifiers as some test for them.  Also
	rewrite some propagation related test using return type specifiers too
	as it's way more convenient.

	* test/src/comp-tests.el (fw-prop-1): Nit rename.
	(comp-tests-check-ret-type-spec): New function.
	(comp-tests-type-spec-tests): New variable.
	(comp-tests-cond-rw-0-var) Remove variable.
	(cond-rw-0, cond-rw-1, cond-rw-2, cond-rw-3, cond-rw-4, cond-rw-5)
	Remove tests as now covered by `comp-tests-check-ret-type-spec'.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Add nativecomp derived return type specifier computation support

	* lisp/emacs-lisp/comp.el (comp-post-pass-hooks): Nit.
	(comp-func): Add `ret-type-specifier' slot.
	(comp-ret-type-spec): New function.
	(comp-final): Call `comp-ret-type-spec'.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Uninline some functions to optimize bootstrap time

	* lisp/emacs-lisp/comp.el (comp-mvar-value-vld-p)
	(comp-mvar-value, comp-mvar-fixnum-p, comp-set-op-p)
	(comp-assign-op-p, comp-call-op-p, comp-type-hint-p)
	(comp-func-ret-typeset, comp-function-pure-p)
	(comp-alloc-class-to-container, comp-lex-byte-func-p)
	(comp-lap-eob-p, comp-lap-fall-through-p, comp-emit)
	(comp-emit-set-call, comp-mvar-propagate)
	(comp-function-foldable-p, comp-function-call-maybe-fold)
	(comp-trampoline-filename): Uninline functions.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Add to elisp-mode `emacs-lisp-native-compile-and-load'

	* lisp/progmodes/elisp-mode.el
	(emacs-lisp--before-compile-buffer): New function.
	(emacs-lisp-byte-compile-and-load): Use the previous.
	(emacs-lisp-native-compile-and-load): New function.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Fix limple-mode for new type and range limple semantic

	* lisp/emacs-lisp/comp.el (comp-limple-branches, comp-limple-ops):
	New variables.
	(comp-limple-lock-keywords): Update value.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Add a nativecomp testcase

	Having this while re-debugging the bootstrap would have saved few hours
	of debug so let's add it.

	* test/src/comp-tests.el (and-3): Add test.
	* test/src/comp-test-funcs.el (comp-test-and-3-var): New var.
	(comp-test-and-3-f): New function.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Add initial nativecomp typeset and range propagation support

	This commit add an initial support for a better type propagation and
	integer range propagation.

	Each mvar can be now characterized by a set of types, a set of values
	and an integral range.

	* lisp/emacs-lisp/comp.el (comp-known-ret-types): Store into
	typeset and remove fixnum.
	(comp-known-ret-ranges, comp-type-predicates): New variables.
	(comp-ctxt): Remove supertype-memoize slot and add
	union-typesets-mem.
	(comp-mvar): Remove const-vld, constant, type slots. Add typeset,
	valset, range slots.
	(comp-mvar-value-vld-p, comp-mvar-value, comp-mvar-fixnum-p)
	(comp-mvar-symbol-p, comp-mvar-cons-p)
	(comp-mvar-type-hint-match-p, comp-func-ret-typeset)
	(comp-func-ret-range): New functions.
	(make-comp-mvar, make-comp-ssa-mvar): Update logic.
	(comp--typeof-types): New variable.
	(comp-supertypes, comp-common-supertype): Logic update.
	(comp-subtype-p, comp-union-typesets, comp-range-1+)
	(comp-range-1-, comp-range-<, comp-range-union)
	(comp-range-intersection): New functions.
	(comp-fwprop-prologue, comp-mvar-propagate)
	(comp-function-foldable-p, comp-function-call-maybe-fold)
	(comp-fwprop-insn, comp-call-optim-func, comp-finalize-relocs):
	Logic update.

	* src/comp.c (emit_mvar_rval, emit_call_with_type_hint)
	(emit_call2_with_type_hint): Logic update.

	* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Undo the add
	of fixnum and bignum as unnecessary.

	* test/src/comp-tests.el
	(comp-tests-mentioned-p-1, comp-tests-cond-rw-checker-val)
	(comp-tests-cond-rw-checker-type, cond-rw-1, cond-rw-2)
	(cond-rw-3, cond-rw-4, cond-rw-5): Update for new type interface.
	(range-simple-union, range-simple-intersection): New integer range
	tests.
	(union-types): New union type test.

2020-11-12  Andrea Corallo  <akrl@sdf.org>

	Rename two nativecomp functions

	* lisp/emacs-lisp/comp.el (comp-function-foldable-p): Rename from
	comp-function-optimizable-p.
	(comp-function-call-maybe-fold): Same from
	comp-function-call-maybe-fold.

2020-11-11  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes in the daemon due to user interaction

	* src/minibuf.c (read_minibuf): Avoid crashes in the daemon if the
	init file invokes some kind of minibuffer interaction, by not
	updating the selected frame if it's the initial frame.
	(Bug#44583)

2020-11-11  Juri Linkov  <juri@linkov.net>

	In dired-query use read-char-from-minibuffer with bound help-char (bug#42708)

	* lisp/dired-aux.el (dired-query): Replace read-char-choice call
	with read-char-from-minibuffer.

	* lisp/subr.el (read-char-choice): Restore the previous version
	that uses read-key.
	(read-char-from-minibuffer): Bind help-char to help-form-show
	when help-form is non-nil.

2020-11-11  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Remove unused "internal" gnus-search variables

	* lisp/gnus/gnus-search.el (gnus-search-memo-query,
	gnus-search-memo-server): No longer needed.

2020-11-11  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix defgeneric name of gnus-search-index(ed)-extract

	* lisp/gnus/gnus-search.el (gnus-search-indexed-extract): Had the
	wrong name on the generic.

2020-11-11  Michael Albinus  <michael.albinus@gmx.de>

	Some minor changes to Tramp, do not merge with master

	* lisp/net/tramp.el (tramp-handle-directory-files)
	(tramp-handle-directory-files-and-attributes):
	* lisp/net/tramp-adb.el
	(tramp-adb-handle-directory-files-and-attributes):
	* lisp/net/tramp-rclone.el (tramp-rclone-handle-directory-files):
	* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
	* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Add _COUNT.
	Make the functions forward compatible.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled):
	Increase `max-specpdl-size' temporarily.

	* test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun.
	(tramp-test05-expand-file-name-relative): Use it.

2020-11-11  Dario Gjorgjevski  <dario.gjorgjevski@gmail.com>

	Fix python-font-lock-keywords-maximum-decoration performance regression

	* lisp/progmodes/python.el
	(python-font-lock-keywords-maximum-decoration): `symbol-name'
	should not be quantified by a `+' as it is redundant and performs
	very badly (bug#44572).

2020-11-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove mention of global-cedet-m3-minor-mode

	* lisp/cedet/semantic.el (semantic-submode-list):
	(semantic-default-submodes): Remove mention of
	global-cedet-m3-minor-mode, which no longer exists, apparently
	(bug#44565).

2020-11-11  Dario Gjorgjevski  <dario.gjorgjevski@gmail.com>

	Fix font lock of assignments with type hints in Python

	* lisp/progmodes/python.el
	(python-font-lock-keywords-maximum-decoration): Fix regular
	expressions for font lock of assignments with type hints (bug#44568).

	The font lock of assignments with type hints in Python is rather bad.
	Consider the following example:

	    from typing import Mapping, Tuple, Sequence
	    var1: int = 5
	    var2: Mapping[int, int] = {10: 1024}
	    var3: Mapping[Tuple[int, int], int] = {(2, 5): 32}
	    var4: Sequence[Sequence[int]] = [[1], [1, 2], [1, 2, 3]]
	    var5: Sequence[Mapping[str, Sequence[str]]] = [
	        {
	            'red': ['scarlet', 'vermilion', 'ruby'],
	            'green': ['emerald green', 'aqua']
	        },
	        {
	            'sword': ['cutlass', 'rapier']
	        }
	    ]

	As things stand right now, only ‘var1’ would be highlighted.  To make
	things worse, the ‘Mapping’ type hint of ‘var2’ would also be
	highlighted, which is entirely incorrect.

	This commit makes all of ‘var1’ through ‘var5’ be highlighted
	correctly.

2020-11-11  Harald Jörg  <haj@posteo.de>

	Cleanup of the test file for cperl-mode

	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl--run-test-cases): New macro, factored out from various
	indentation / rewriting tests.  Contains documentation of the
	format used by the cperl-mode-resources files.
	(cperl-test-bug-19709): Replace 'next-line' by 'forward-line'.
	(cperl-test-indent-exp),
	(cperl-test-indent-styles),
	(cperl-test-bug-30393): Use the new macro.
	(cperl-test-bug-19709): Make fit for Emacs 26.
	(cperl-test-indent-styles): Skip for Perl mode (bug#44561).

2020-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/server.el: Refactor frame creation functions

	(server--create-frame): New function, extracted from
	`server-create-dumb-terminal-frame`.
	(server-create-window-system-frame, server-create-tty-frame):
	(server-create-dumb-terminal-frame): Use it.

2020-11-11  Eliza Velasquez  <exv@google.com>

	* lisp/server.el: Fix frame creation on dumb terminals (bug#25547)

	(server-create-dumb-terminal-frame): New function.
	(server-process-filter): Use it.
	(server-delete-client): Don't delete tty terminal when it's not
	exclusive to this client.

2020-11-10  Juri Linkov  <juri@linkov.net>

	Don't set file name variable in org-element-parse-secondary-string (bug#44524)

	* lisp/org/org-element.el (org-element-parse-secondary-string):
	Don't set buffer-local variables buffer-file-name and buffer-file-truename
	in temporary buffer.

2020-11-10  Juri Linkov  <juri@linkov.net>

	* lisp/leim/quail/compose.el ("iso-transl"): New input method.

	* doc/emacs/basic.texi (Inserting Text):
	Mention transient input method "iso-transl".

	* lisp/leim/quail/latin-ltx.el: Use same Keywords as in other quail files.

2020-11-10  Eli Zaretskii  <eliz@gnu.org>

	New debugging command 'malloc-info'

	* src/alloc.c (Fmalloc_info) [GNU_LINUX]: New command.
	(syms_of_alloc): Defsubr it.  (Bug#43389)

2020-11-10  Dmitry Gutov  <dgutov@yandex.ru>

	Clear the vc-state cache when returning nil

	* lisp/vc/vc-hg.el (vc-hg-registered):
	Clear the vc-state cache when returning nil.

2020-11-10  Tom Fitzhenry  <tomfitzhenry@google.com>

	Remove extra process call from vc-hg-registered

	Prefer vc-state to benefit from its caching (bug#44534)

	This same technique is used in vc-git.el,
	per commit 2018-06-28 "Remove extra process call from vc-git-find-file-hook"
	93c41ce6aa64b14fc9bd7bdd0d909915a79191cd.

	* lisp/vc/vc-hg.el (vc-hg-registered): Use vc-state rather than vc-hg-state.

2020-11-10  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent change in image.c for MS-Windows

	* src/image.c: Fix DEF_DLL_FN of
	rsvg_handle_get_intrinsic_dimensions.  Reported by Andy Moreton
	<andrewjmoreton@gmail.com>.

2020-11-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more doc-view requirements

	* lisp/doc-view.el: Add more requirements.

2020-11-10  Steven Allen  <steven@stebalien.com>

	Only use nbutlast when we actually want to modify the original list

	* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
	Don't modify the byte array.
	* lisp/net/tramp-integration.el (tramp-eshell-directory-change):
	Don't modify the underlying exec-path.

2020-11-10  Andrew G Cohen  <cohen@andy.bu.edu>

	Remove ephemeral group on error or null result

	* lisp/gnus/nnselect.el (nnselect-request-group): If an ephemeral
	group is empty, there is nothing to see, so remove the group.
	(nnselect-run): Catch and return an empty artlist on error.

2020-11-09  Alan Mackenzie  <acm@muc.de>

	CC Mode: fix many compiler warnings which would appear with lexical binding

	* lisp/progmodes/cc-align.el (three places) prefix langelem with a _.

	* lisp/progmodes/cc-cmds.el:
	* lisp/progmodes/cc-engine.el: Remove superfluous local variables.

	* lisp/progmodes/cc-defs.el (c-will-be-unescaped): Remove unused parameter
	end.
	* lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Remove unused
	parameter containing-sexp.
	(c-looking-at-special-brace-list); Remove unused parameter lim.
	(c-add-class-syntax): Remove unused parameter paren-state.

2020-11-09  Philipp Stephani  <phst@google.com>

	Fix undefined behavior when fetching glyphs from the display vector.

	You can trigger this rather obscure bug by enabling selective display
	if the second glyph in its display vector has an invalid face.  For
	example, evaluate

	(set-display-table-slot standard-display-table
	                        'selective-display [?A (?B . invalid)])

	and then enable selective display.

	* src/xdisp.c (next_element_from_display_vector): Check whether next
	glyph code is valid before accessing it.

2020-11-09  Stefan Kangas  <stefan@marxist.se>

	Add test for substitute-command-keys with command remap

	* test/lisp/help-tests.el (help-tests-remap-map): New variable.
	(help-tests-substitute-command-keys/remap): New test.
	(help-tests-substitute-command-keys/keymaps)
	(help-tests-substitute-command-keys/undefined-map): Fix indentation.

2020-11-09  Brian Leung  <leungbk@mailfence.com>  (tiny change)

	shortdoc: prefer seq-contains-p over seq-contains

	* lisp/emacs-lisp/shortdoc.el (sequence): use seq-contains-p instead
	of seq-contains, which is obsolete as of 27.1.  (Bug#44536)

2020-11-09  Stefan Kangas  <stefan@marxist.se>

	Simplify getting value of text-quoting-style (Bug#44471)

	* src/doc.c (text_quoting_style): Remove function by merging it...
	(Ftext_quoting_style): ...here.  Rename from Fget_quoting_style.
	(syms_of_doc): Update defsubr for Ftext_quoting_style.
	* src/lisp.h (enum text_quoting_style): Remove enum.
	* src/doprnt.c (doprnt):
	* src/editfns.c (styled_format):
	* lisp/help.el (substitute-command-keys): Update callers to use
	text-quoting-style.

2020-11-09  Philipp Stephani  <phst@google.com>

	* lisp/disp-table.el (make-glyph-code): Remove obsolete comment.

2020-11-09  Mattias Engdegård  <mattiase@acm.org>

	Better warning suppression in rx-tests

	* test/lisp/emacs-lisp/rx-tests.el (rx-compat): Use with-no-warnings
	instead of with-suppressed-warnings which complains when running
	the test interactively.

2020-11-09  Mattias Engdegård  <mattiase@acm.org>

	Fix pcase rx form snag with '?' and '??' (bug#44532)

	This is a regression from Emacs 26.
	Reported by Phillip Stephani.

	* lisp/emacs-lisp/rx.el (rx--pcase-transform): Process ? and ?? correctly.
	* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test case.

2020-11-09  Alan Third  <alan@idiocy.org>

	Fix css length calculations

	* src/image.c (svg_css_length_to_pixels): Put in missing breaks where
	necessary.

2020-11-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the SHOW parameter work again in `run-python'

	* lisp/progmodes/python.el (run-python): Make the SHOW parameter
	work again after the fix for 31398 (bug#44421).

2020-11-09  Protesilaos Stavrou  <info@protesilaos.com>

	Use a separate face for expanded log-view bodies

	* lisp/vc/log-view.el (log-view-commit-body): Define new face.
	(log-view-toggle-entry-display): Implement 'log-view-commit-body'
	face (bug#44424).

2020-11-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify Lisp warning about elements following other expressions

	* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Clarify warning in
	help text (bug#44482).

2020-11-09  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation of image.c on MS-Windows

	This is a followup to last change in image.c.
	* src/image.c (rsvg_handle_get_intrinsic_dimensions): Define to
	call fn_rsvg_handle_get_intrinsic_dimensions.
	(svg_css_length_to_pixels): Compile only for librsvg >= 2.46.0, as
	RsvgLength type was not defined before.

2020-11-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Update the doc-view header line

2020-11-09  Eli Zaretskii  <eliz@gnu.org>

	Avoid breaking Arabic shaping in 'window-text-pixel-size'

	* src/xdisp.c (CHAR_COMPOSED_P): If the bidi_p flag is not set,
	pass -1 to composition_reseat_it, so that the shaping engine will
	figure out the directionality of the text.  This is important,
	e.g., when using move_it_* functions in some context that is not
	redisplay, such as 'window-text-pixel-size'.  (Bug#44521)

2020-11-09  Alan Third  <alan@idiocy.org>

	Fix crash in ns_mouse_position (bug#44313)

	* src/nsterm.m (ns_destroy_window): Close the window before freeing
	the frame resources so we don't end up accessing the frame struct
	after it's been freed.

2020-11-09  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	NS: Make s-<left/right> to move to beginning/end of line

	* lisp/term/ns-win.el: Bind 's-<left>' to 'move-beginning-of-line';
	bind 's-<right>' to 'move-end-of-line'.
	* etc/NEWS: Mention new bindings.

2020-11-09  Alan Third  <alan@idiocy.org>

	Calculate SVG image sizes more accurately (bug#44206)

	* src/image.c (svg_css_length_to_pixels): New function.
	(svg_load_image): Try more methods to work out the image size.

2020-11-09  Lars Ingebrigtsen  <larsi@gnus.org>

	doc-view.el comment clarification

	* lisp/doc-view.el: Make the commentary mention that it's not
	limited to a narrow range of file formats (bug#44504).

2020-11-09  Daniel Martín  <mardani29@yahoo.es>

	Update erc documentation about C-c C-b

	* doc/misc/erc.texi (Keystroke Summary): C-c C-b runs
	erc-switch-to-buffer, which is implemented in terms of
	read-buffer (bug#44498).

2020-11-09  Harald Jörg  <haj@posteo.de>

	cperl-mode: Indentation of ')' follows customization

	* lisp/progmodes/cperl-mode.el (cperl-style-alist): Add
	cperl-close-paren-offset to the settings for PBP style.

	* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug19709):
	New test to verify correct indentation of closing parentheses (Bug#19709).

	* test/lisp/progmodes/cperl-mode-resources/cperl-bug-19709.pl:
	New test case with code from the bug report.

	* test/lisp/progmodes/cperl-mode-resources/cperl-indent-styles.pl:
	Add a new test clause for cperl-close-paren-offset.

2020-11-09  Akira Kyle  <akira@akirakyle.com>  (tiny change)

	Fix xwidget's webkitgtk widget overriding of Emacs SIGCHLD handler

	* src/xwidget.c (make-xwidget): Save and restore Emacs SIGCHLD signal
	handler since glib doesn't (but should) do this.

2020-11-09  Stefan Kangas  <stefan@marxist.se>

	Remove test for return value of set-keymap-parent

	* test/src/keymap-tests.el
	(keymap-keymap-set-parent/returns-parent): Remove test for the return
	value of set-keymap-parent.  It is not clear that returning the value
	is a very good idea.
	Problem pointed out by Stefan Monnier <monnier@iro.umontreal.ca>.

2020-11-09  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Add more protections to gnus-search query parsing

	* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
	gnus-group-read-ephemeral-search-group): If the query is coming in via
	the old 'nnir-query-spec key, we know not to parse it.
	* lisp/gnus/gnus-search.el (gnus-search-make-query-string): Check if
	the query was sent in as '(query "query"), and not '(query . "query).
	(gnus-search-imap-search-keys): Add x-gm-raw to imap search keys.
	(gnus-search-prepare-query): If we know this query should be raw,
	don't even try parsing it, as it probably won't work.

2020-11-08  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix phi function.

2020-11-08  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/project.el: Don't truncate the saved project list.

	* lisp/progmodes/project.el (project--write-project-list):
	Let-bind print-length and print-level to nil to not truncate the
	saved project list with unreadable ellipsis.

2020-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Another backwards-compatibility fix for gnus-search

	* lisp/gnus/gnus-search.el (gnus-search-server-to-engine): Because of
	the way we've set up the obsolete variable alias for
	`nnir-method-default-engines', we may end up with its value in
	`gnus-search-default-engines'. Make the check for "old style" values
	general, so we catch them no matter where they came from.

2020-11-08  Alan Mackenzie  <acm@muc.de>

	Don't set the selected window to the miniwindow on a frame change.

	Intended to fix bug #44502.

	* src/minibuf.c (move_minibuffer_onto_frame): Remove the lines of code which
	set the selected window to the minibuffer.

2020-11-08  Dmitry Gutov  <dgutov@yandex.ru>

	Doc fix

	* lisp/vc/vc.el (vc-deduce-fileset): Doc fix (bug#44420).

2020-11-08  Dmitry Gutov  <dgutov@yandex.ru>

	Mention which exact file is already registered

	* lisp/vc/vc.el (vc-register):
	Mention which exact file is already registered (bug#44420).

2020-11-07  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-common-supertype-2): Fix null intersection

2020-11-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	f5d7fb3a2d (origin/emacs-27) Fix 'uudecode-decode-region-internal' in...
	d4242177da Fix 'send-string-to-terminal' writing very long strings
	9da0f4026c * lisp/subr.el (read-char-from-minibuffer): Doc fix.  (Bug...
	9899f74e4e Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
	a6fcba783e Fix documentation of 'windmove-swap-states-default-keybind...
	f4acd7a924 Split windows evenly when 'min-margins' parameter was set ...

2020-11-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	53933cdf5c ; * lisp/international/mule.el (define-coding-system): Doc...
	e90ffcf759 * src/w32fns.c (Fw32_register_hot_key): Doc fix.  (Bug#44456)
	89740e9cb5 Prevent redisplay from moving point behind user's back
	5932df7435 Document that the :match function for a widget takes an ex...
	1b7ab9d0ac Don't render XML declaration of an HTML document (bug#44348)

	# Conflicts:
	#	lisp/international/mule.el

2020-11-07  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Various fixes and backward compatibility for gnus-search

	* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
	gnus-group-read-ephemeral-search-group): Check for and accept the old
	nnir-* spec keys.
	* lisp/gnus/gnus-search.el (shared-initialize): Use
	generate-new-buffer instead of doing it ourselves.
	(gnus-search-server-to-engine): Raise an informative error explicitly
	if we can't find a search engine, rather than letting it fall through
	to something less helpful.
	(gnus-search-make-spec): Add `gnus-search--complete-key-data' to
	`completion-at-point-functions' locally, not globally.

2020-11-07  Andrea Corallo  <akrl@sdf.org>

	Allow for manually bumping new native compiler ABI versions

	* src/comp.c (ABI_VERSION): Define macro.
	(hash_native_abi): Include ABI_VERSION in the hashing.
	(syms_of_comp): Tweak docstring.

2020-11-07  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/lisp-mode.el: Avoid false-positive "hidden arg" in strings

	(lisp--match-hidden-arg): Don't misfire in strings and comments.

	Reported by: Andrii Kolomoiets <andreyk.mad@gmail.com>

2020-11-07  Mauro Aranda  <maurooaranda@gmail.com>

	Add test for recent change in enable-theme

	* test/lisp/custom-tests.el (custom-test-enable-theme-keeps-settings):
	Enabling a theme should not change the theme settings, so test for
	that.  See
	https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00232.html

2020-11-07  Andrea Corallo  <akrl@sdf.org>

	Fix non native compiled build

	* lisp/emacs-lisp/advice.el (ad-add-advice): Do not try to
	install trampolines in vanilla builds.

2020-11-07  Andrea Corallo  <akrl@sdf.org>

	Allow for native compilation qualities to be specified per input file

	* lisp/emacs-lisp/bytecomp.el (byte-native-qualities): Define
	variable.
	(byte-compile-from-buffer): Spill compilation qualities.
	* lisp/emacs-lisp/comp.el (comp-speed, comp-debug): Make
	them file local variables.
	(comp-ctxt): Add `speed' and `debug' slots.
	(comp-spill-speed, comp-spill-lap-function): Make use of these.
	(comp-spill-lap-function): Spill qualities from
	`byte-native-qualities'.
	(comp-limplify-top-level): Do not use `comp-speed' but ctxt value
	unstead.
	(comp-final): Do not propagate qualities as they are already
	in the `comp-ctxt'.
	(comp--native-compile): Close on `byte-native-qualities'.
	* src/comp.c (comp_t): Add 'speed' and 'debug' fields.
	(emit_comment, emit_mvar_rval, emit_static_object)
	(emit_ctxt_code, Fcomp__init_ctxt): Use these instead of the
	global variables.
	(Fcomp__compile_ctxt_to_file): Set comp.speed and comp.debug and
	use them.

2020-11-07  Eli Zaretskii  <eliz@gnu.org>

	Don't leave lock files after 'replace-buffer-contents'

	* src/editfns.c (Freplace_buffer_contents): Unlock the buffer's
	file if no changes have been made.  (Bug#44303)

2020-11-07  Andrea Corallo  <akrl@sdf.org>

	Handle type hierarchy in native compiler forward propagation

	* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add fixnum
	and bignum.
	* lisp/emacs-lisp/comp.el (comp-ctxt): Add `supertype-memoize'
	slot.
	(comp-supertypes, comp-common-supertype-2)
	(comp-common-supertype): New functions.
	(comp-fwprop-insn): Make use of `comp-common-supertype' to
	identify the common supertype to be propagated.

2020-11-07  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)

	Fix 'uudecode-decode-region-internal' in multibyte buffers

	* lisp/mail/uudecode.el (uudecode-decode-region-internal): Fix
	inserting the decoded string into a multibyte buffer.  Optimize by
	working with characters, not strings.  (Bug#44411)

2020-11-07  Eli Zaretskii  <eliz@gnu.org>

	Fix 'send-string-to-terminal' writing very long strings

	* src/dispnew.c (Fsend_string_to_terminal): Prevent partial writes
	by blocking SIGIO while 'fwrite' runs.  (Bug#44320)

2020-11-07  Eli Zaretskii  <eliz@gnu.org>

	* lisp/subr.el (read-char-from-minibuffer): Doc fix.  (Bug#44451)

2020-11-07  Earl Hyatt  <ej32u@protonmail.com>

	Fix documentation of 'windmove-swap-states-default-keybindings'

	* doc/emacs/windows.texi (Window Convenience): Fix description of
	'windmove-swap-states-default-keybindings' and related index
	entry.  (Bug#44441)

2020-11-07  Eli Zaretskii  <eliz@gnu.org>

	Fix scrolling problems with misc-fixed fonts under Cairo

	* src/ftcrfont.c (ftcrfont_glyph_extents): Avoid rounding up the
	glyph ascent to a higher value than needed due to floating-point
	roundoff errors.  (Bug#44284)

2020-11-07  Martin Rudalics  <rudalics@gmx.at>

	Split windows evenly when 'min-margins' parameter was set (Bug#44483)

	* lisp/window.el (split-window): Make new window inherit any
	'min-margins' parameter from WINDOW so that horizontal splits
	reliably produce windows of same width (Bug#44483).

2020-11-07  Stefan Kangas  <stefan@marxist.se>

	Delete outdated comment about C rewrite in apropos.el

	Maybe it made sense to rewrite apropos.el in C for speed in 1991, but
	today the speed increase would not outweigh the maintenance burden.

	* lisp/apropos.el: Delete outdated comment.

2020-11-07  Stefan Kangas  <stefan@marxist.se>

	Add some more tests for keymap.c

	* test/src/keymap-tests.el (keymap-make-keymap)
	(keymap-make-sparse-keymap, keymap-keymapp)
	(keymap-keymap-parent, keymap-keymap-set-parent/returns-parent)
	(keymap-copy-keymap/is-equal, keymap-copy-keymap/is-not-eq)
	(keymap-lookup-key, keymap-apropos-internal)
	(keymap-apropos-internal/predicate): New tests.
	(keymap-tests--make-keymap-test): New defun.

2020-11-06  Mattias Engdegård  <mattiase@acm.org>

	Rectify skip-set argument

	* lisp/gnus/gnus-search.el (gnus-search-query-end-of-input):
	Remove brackets that don't belong.  Found by relint.

2020-11-06  Mattias Engdegård  <mattiase@acm.org>

	Fix javac message parsing column number off-by-one

	* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
	'javac': Column numbers are 1-based by default; remove subtraction and
	η-reduce.  Translate regexp to rx (mechanised).
	* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
	Adapt 'javac' test cases to the change.

2020-11-06  Glenn Morris  <rgm@gnu.org>

	Fix --enable-check-lisp-object-type build

	* src/print.c (syms_of_print) <print-integers-as-characters>:
	Fix type.

2020-11-06  Mattias Engdegård  <mattiase@acm.org>

	Update gdb-mi-tests

	* test/lisp/progmodes/gdb-mi-tests.el (gdb-mi-parse-value):
	Make test pass after the change in gdb-mi-decode-strings default value.

2020-11-06  Mattias Engdegård  <mattiase@acm.org>

	* lisp/gnus/gnus-search.el (gnus-search-contact-tables): Fix type.

	A more precise type is desirable but at it is now correct ('list' is not).

2020-11-06  Mattias Engdegård  <mattiase@acm.org>

	Change the default value of gdb-mi-decode-strings to t (bug#44173)

	This is likely to be a more commonly wanted default value today.

	* lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): Change default.
	* doc/emacs/building.texi (Source Buffers): Update manual.
	* etc/NEWS: Announce.

2020-11-06  Mattias Engdegård  <mattiase@acm.org>

	Reduce integer-output-format to print-integers-as-characters

	The variable now only controls whether characters are printed, not
	the radix.  Control chars are printed in human-readable syntax
	only when special escapes such as ?\n are available.  Spaces,
	formatting and combining chars are excluded (bug#44155).
	Done in collaboration with Juri Linkov.

	* src/character.c (graphic_base_p):
	* src/print.c (named_escape): New functions.
	(print_object): Change semantics as described above.
	(syms_of_print): Rename integer-output-format.  Update doc string.
	* doc/lispref/streams.texi (Output Variables):
	* etc/NEWS:
	* test/src/print-tests.el (print-integers-as-characters):
	Rename and update according to new semantics.  The test now passes.

2020-11-06  Mauro Aranda  <maurooaranda@gmail.com>

	Go back to not using custom-push-theme when enabling a theme

	* lisp/custom.el (enable-theme): Relying on custom-push-theme to
	handle theme settings and prior user settings was a mistake.  The
	theme settings haven't changed between loading the theme and enabling
	it, so we don't need all of what custom-push-theme does.  However, we
	still need to save a user setting outside of Customize, in order to be
	able to get back to it, so do that in enable-theme itself.

2020-11-06  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of a recent change

	* doc/emacs/mule.texi (Select Input Method): Add an @anchor.
	* doc/emacs/search.texi (Special Isearch): Add cross-reference and
	improve wording.

2020-11-06  Juri Linkov  <juri@linkov.net>

	Support transient input methods in Isearch mode (bug#44266)

	* doc/emacs/mule.texi (Select Input Method): Rename
	transient-input-method to activate-transient-input-method.

	* doc/emacs/search.texi (Special Isearch):
	Document isearch-transient-input-method.

	* lisp/international/isearch-x.el (isearch-transient-input-method):
	New function.
	(isearch-process-search-multibyte-characters):
	Call 'deactivate-transient-input-method' after 'read-string'.

	* lisp/international/mule-cmds.el (mule-menu-keymap): Remove
	duplicate menu item 'describe-input-method'.  Add new menu item
	'activate-transient-input-method'.
	(default-transient-input-method): Rename from transient-input-method.
	(current-transient-input-method)
	(previous-transient-input-method): New buffer-local variables.
	(deactivate-input-method): Don't add
	current-transient-input-method to input-method-history.
	(toggle-input-method): Call deactivate-transient-input-method
	when current-transient-input-method is non-nil.
	(activate-transient-input-method): Rename from transient-input-method.
	(deactivate-transient-input-method): New function with body from
	renamed function transient-input-method.

	* lisp/isearch.el (isearch-menu-bar-map): Add new menu item
	'isearch-transient-input-method'.
	(isearch-mode-map): Bind 'C-x \' to isearch-transient-input-method.
	(isearch-forward): Add isearch-transient-input-method to docstring.
	(isearch-message-prefix): Use shorter string for narrowed buffer.

2020-11-06  Stefan Kangas  <stefan@marxist.se>

	Add more tests for where-is-internal

	* test/src/keymap-tests.el (keymap-where-is-internal)
	(keymap-where-is-internal/firstonly-t)
	(keymap-where-is-internal/menu-item)
	(keymap-where-is-internal/advertised-binding)
	(keymap-where-is-internal/advertised-binding-respect-remap)
	(keymap-where-is-internal/remap)
	(keymap-where-is-internal/shadowed): New tests.
	(keymap-where-is-internal/preferred-modifier-is-a-string):
	Rename from keymap-where-is-internal-test.

2020-11-06  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fixes and improvements to gnus-search

	* lisp/gnus/gnus-search.el (gnus-search-default-engines): Change type
	from a list of two-element lists, to alist. This matches nnir's old
	option type, and should make transition easier.
	(nnir-imap-default-search-key): Note that variable is obsolete.
	(gnus-search-transform-expression): Interpret the "attachment" key as
	"body" in imap searches. Allow specifying larger/smaller message size
	values in KB or MB units.
	(gnus-search-server-to-engine): Fix error in this function, and
	clarify somewhat.

2020-11-05  Katsumi Yamaoka  <yamaoka@jpl.org>

	* doc/misc/gnus.texi (Selection Groups): Delete excessive paren

2020-11-05  Mauro Aranda  <maurooaranda@gmail.com>

	Enable/disable buttons, tool bar and menu items in Custom buffer (Bug#14398)

	* lisp/cus-edit.el (custom-reset-extended-menu): Keymap menu for the
	Revert... menu button.
	(custom-reset-menu): Keep for backward compatibility, but default to
	nil, so we prefer the keymap menu instead.
	(custom-reset): Pass the new keymap menu to widget-choose.

	(custom-commands): Add an element to each list item, to manage its
	enable/disable state.  Add docstring.
	(custom-command-buttons): New variable, to hold the buttons that act
	on all options in a Custom buffer.
	(custom-buffer-create-internal): When creating the command buttons,
	add the optional :notify function to enable/disable them.  Add the
	buttons to the new variable custom-command-buttons.
	(customize-menu-create): Notify the command buttons after creating the
	Custom buffer, so they are correctly enabled/disabled.
	(custom-redraw-magic, custom-notify): Notify the command buttons and
	update the tool bar when changing a widget to the modified state.

2020-11-05  Andrea Corallo  <akrl@sdf.org>

	A native compiler forward propagation fix

	* lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix `comp-mvar'
	`const-vld' slot left unset while propagating in phis.

2020-11-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix coding system in eww-display-pdf

	* lisp/net/eww.el (eww-display-pdf): Make *eww pdf* buffer unibyte
	before populating it to avoid conversions.  The binding for
	coding-system-for-write is then no longer necessary, and can be
	delegated to the viewer invoked by mailcap-view-mime.  Suggested by
	Stefan Monnier <monnier@iro.umontreal.ca>.  (Bug#44338)

2020-11-05  Philipp Stephani  <phst@google.com>

	* src/minibuf.c (move_minibuffer_onto_frame): Fix comparison

2020-11-05  Alan Mackenzie  <acm@muc.de>

	Allow minibuffer to stay in its original frame.  Tidy up this area.

	* doc/emacs/mini.texi (Basic Minibuffer): Add an entry for
	minibuffer-follows-selected-frame.

	* doc/lispref/minibuf.texi (Minibuffer Misc): Describe the new parameter to
	minibufferp, LIVE.

	* etc/NEWS: Add an entry describing the new minibuffer strategy.

	* lisp/cus-start.el (minibuffer-prompt-properties--setter): Add an entry for
	minibuffer-follows-selected-frame.

	* lisp/minibuffer.el (minibuffer-message): Check for the current buffer being
	an _active_ minibuffer rather than merely a minibuffer.

	* src/frame.c (do_switch_frame): Call move_minibuffer_onto_frame.

	* src/lisp.h (Top level): Add prototypes for move_minibuffer_onto_frame and
	is_minibuffer.

	* src/minibuf.c (minibuf_follows_frame): New function which ignores local and
	let-bound values of minibuffer-follows-selected-frame.
	(choose_minibuf_frame): Reformulate this function to reuse a minibuffer window
	where possible, and to ensure no other frame has its minibuffer current, but
	only when `minibuffer-follows-selected-frame'.
	(move_minibuffer_onto_frame): New function.
	(live_minibuffer_p): New function.
	(Fminibufferp): Add a new &optional parameter LIVE.  Reformulate, possibly
	calling live_minibuffer_p.
	(read_minibuf): move the incrementation of minibuf_level to before the call of
	choose_minibuf_frame.  Empty the miniwindows of frames without an active
	minibuffer, rather than of all but the current frame.
	(is_minibuffer): New function.
	(read_minibuf_unwind): Note the miniwindow being restored and resize all other
	miniwindows to zero size.
	(minibuffer-follows-selected-frame): New configuration variable.

	* src/window.c (candidate_window_p): In some scenarios, check the miniwindow
	holds an active minibuffer.

	* src/xdisp.c (get_window_cursor_type): Suppress the cursor for non-active
	miniwindows, regardless of minibuf_level.

2020-11-05  Eli Zaretskii  <eliz@gnu.org>

	* src/w32fns.c (Fw32_register_hot_key): Doc fix.  (Bug#44456)

2020-11-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve eww support for externally viewed PDFs

	The *eww pdf* buffer is only needed when viewing PDFs within Emacs,
	e.g., with doc-view-mode.  External PDF viewers are called with a
	temporary file, so the buffer is not needed in that case.  What's
	more, mailcap-view-mime erased the buffer and left it in
	fundamental-mode until now, so the user was left staring at a
	useless, empty buffer.  To make things even worse, external viewers
	were invoked synchronously until now, so the user could not browse
	the PDF file and use Emacs simultaneously.

	* lisp/net/mailcap.el (mailcap--async-shell): New function.
	(mailcap-view-mime): Use it to invoke external viewers
	asynchronously.  Mention erasure of current buffer in that case in
	docstring.  Add a period between the temporary file name and its
	extension.

	* lisp/net/eww.el (eww-display-pdf): Simplify using
	insert-buffer-substring.  Fix coding-system-for-write for a stream
	of raw bytes.  Pop to *eww pdf* buffer only if it is used for
	displaying a document; otherwise kill it.  (bug#44338)

2020-11-05  Michael Albinus  <michael.albinus@gmx.de>

	Still fixes for Tramp directory-files-*

	* lisp/net/tramp.el (tramp-handle-directory-files):
	* lisp/net/tramp-adb.el
	(tramp-adb-handle-directory-files-and-attributes): Fix COUNT.

	* lisp/net/tramp-crypt.el (tramp-crypt-handle-directory-files):
	Implement COUNT.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
	* lisp/net/tramp-integration.el (tramp-eshell-directory-change):
	Use `nbutlast'.

	* lisp/net/tramp-rclone.el (tramp-rclone-handle-delete-directory)
	(tramp-rclone-handle-delete-file): Reorder cache flushing.
	(tramp-rclone-handle-directory-files):
	Use `tramp-compat-directory-files'.

	* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
	Fix NOSORT and COUNT.

	* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Fix NOSORT.

	* test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun.
	(tramp-test05-expand-file-name-relative): Use it.
	(tramp-test16-directory-files)
	(tramp-test19-directory-files-and-attributes): Strengthen test.
	(tramp-test20-file-modes): Simplify check.

2020-11-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Let pdf-view-mode take precedence over doc-view-mode

	* lisp/net/mailcap.el (mailcap-mime-data): Note the order, and let
	pdf-view-mode take precedence, since it's an optional package
	(bug#44338).

2020-11-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Sync biblatex entries and fields with v3.15

	* lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist): Fix
	abbreviation of PhD.
	(bibtex-biblatex-entry-alist, bibtex-biblatex-field-alist): Sync
	standard entry and field types with those described in the biblatex
	v3.15 manual of 2020-08-19 (bug#44322).

2020-11-04  Stephen Berman  <stephen.berman@gmx.net>

	Improve display of tabulated list header line labels (bug#44068)

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
	Ensure sort indicator appears after the label of any selected
	sortable column that is wide enough and enable label truncation
	when narrowing a column.

	* lisp/emacs-lisp/timer-list.el (timer-list-mode): Improve column
	alignment.
	(timer-list--function-predicate): Correct typo in doc string.

2020-11-04  Eli Zaretskii  <eliz@gnu.org>

	Prevent redisplay from moving point behind user's back

	* src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
	Bind inhibit-quit to a non-nil value around calls to
	fast_looking_at, to prevent breaking out of redisplay_window,
	which temporarily moves point in buffers shown in non-selected
	windows.  (Bug#44448)

2020-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/term.c (handle_one_term_event): Simplify.

	Remove the `hold_quit` argument which was never used.
	Streamline the control flow.
	Thanks to Jared Finder <jared@finder.org> for pointing it out.

	* src/keyboard.c (tty_read_avail_input): Simplify accordingly.

2020-11-04  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Avoid use of eieio-oset-default

	* lisp/gnus/gnus-search.el: Replace with an :initform tag on the slot
	definition. `symbol-value' is necessary, otherwise the defclass macro
	will treat the option as a quoted symbol.

2020-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/lisp-mode.el: Fix missing highlight of "hidden" string arg

	* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
	(lisp-cl-font-lock-keywords-2): Highlight "hidden arg" even if it
	already has another face.

2020-11-04  Manuel Uberti  <manuel.uberti@inventati.org>  (tiny change)

	* lisp/progmodes/project.el (project--files-in-directory): Fix formatting

2020-11-04  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in mule-charsets.el

	* admin/charsets/mule-charsets.el: Use lexical-binding.
	(mule-charsets-header): Rename from 'header' to silence byte-compiler.

2020-11-04  Reuben Thomas  <rrt@sc3d.org>

	Remove unused variable in ispell.el (thanks, Stefan Kangas)

	* lisp/textmodes/ispell.el (ispell-check-version): Remove unused
	variable `speller'.

2020-11-04  Stefan Kangas  <stefan@marxist.se>

	Fix warnings in url-irc.el

	* lisp/url/url-irc.el (zenirc-server-alist, zenirc-buffer-name):
	Declare to fix warnings.
	(url-irc-rcirc): Silence warning by adding missing password argument
	to rcirc-connect.

2020-11-04  Stefan Kangas  <stefan@marxist.se>

	* lisp/obsolete/nnir.el: Add "Obsolete-since" header.

	* lisp/cedet/srecode.el: Use lexical-binding.

2020-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix misuses of `make-local-variable` on hooks

	* lisp/vc/smerge-mode.el (smerge-ediff):
	* lisp/progmodes/python.el (python-pdbtrack-setup-tracking):
	* lisp/net/tramp-smb.el (tramp-smb-call-winexe):
	* lisp/net/secrets.el (secrets-mode):
	* lisp/mail/rmail.el (rmail-variables):
	* lisp/ielm.el (inferior-emacs-lisp-mode):
	* lisp/erc/erc-log.el (erc-log-setup-logging): Use `add-hook`.

	* lisp/eshell/em-unix.el (eshell/diff):
	* lisp/eshell/em-hist.el (eshell-hist-initialize): Don't
	`make-local-variable` on hooks.

2020-11-04  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Remove gmane search engine

	Remove the gnus-search-gmane class and all associated methods.  If
	search functionality is ever resurrected, then revert this commit.

	* lisp/gnus/gnus-search.el: Delete code, and remove from default value
	of `gnus-search-default-engines'.

2020-11-04  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Move nnir.el to lisp/obsolete

	* lisp/obsolete/nnir.el: This is no longer used, but users might still
	be requiring it.

2020-11-04  Eric Abrahamsen  <eric@ericabrahamsen.net>

	New gnus-search library

	This library provides a fundamental reworking of the search
	functionality previously found in nnir.el.  It uses class-based search
	engines to interface with external searching facilities, and a parsed
	search query syntax that can search multiple engines.

	* lisp/gnus/gnus-search.el: New library containing search
	functionality for Gnus.
	* doc/misc/gnus.texi: Document.
	* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
	gnus-group-read-ephemeral-search-group): Remove references to nnir,
	change meaning of prefix argument, change values of nnselect-function
	and nnselect-args.
	* lisp/gnus/nnselect.el: Replace references to nnir
	(nnselect-request-article): Use gnus-search functions, and search
	criteria.
	(nnselect-request-thread, nnselect-search-thread): Use gnus-search
	thread search.
	(gnus-summary-make-search-group): Switch to use gnus-search function
	and arguments.
	* test/lisp/gnus/gnus-search-tests.el: Tests for new
	functionality.

2020-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/tcl.el: Use lexical-binding

	Remove redundant `:group` args.

2020-11-03  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* lisp/mwheel.el (mwheel-scroll): Don't use passive tense in doc
	string.

2020-11-03  Juri Linkov  <juri@linkov.net>

	Horizontal mouse wheel scrolling amount (bug#43568)

	* lisp/mwheel.el (mouse-wheel-scroll-amount-horizontal): New defcustom.
	(mwheel-scroll): Use it.

	* doc/emacs/frames.texi (Mouse Commands): Update doc about horizontal
	scrolling step.

2020-11-03  Michael Albinus  <michael.albinus@gmx.de>

	Some Tramp fixes for directory-files-* and delete-*

	* lisp/files.el (delete-directory): Simplify check for trash.

	* lisp/net/ange-ftp.el (ange-ftp-delete-file): Implement TRASH.

	* lisp/net/tramp-compat.el (tramp-compat-directory-files)
	(tramp-compat-directory-files-and-attributes)
	(tramp-compat-directory-empty-p): New defaliases.

	* lisp/net/tramp.el (tramp-handle-directory-files-and-attributes)
	(tramp-skeleton-delete-directory):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory): Use them.

	* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
	Implement COUNT.

	* test/lisp/net/tramp-tests.el (tramp-test14-delete-directory):
	Do not run trash test for ange-ftp.
	(tramp-test16-directory-files)
	(tramp-test19-directory-files-and-attributes): Check COUNT argument.

2020-11-03  Reuben Thomas  <rrt@sc3d.org>

	Factor out some common code in ispell.el

	* lisp/textmodes/ispell.el (ispell-with-safe-default-directory): Add
	  macro.
	  (ispell-call-process, ispell-call-process-region): Use it.

2020-11-03  Reuben Thomas  <rrt@sc3d.org>

	Simplify ispell-check-version’s use of -vv flag

	* lisp/textmodes/ispell.el (ispell-check-version): All supported spell
	checker programs accept -vv, including aspell for many years, so use
	it.

2020-11-03  Harald Jörg  <haj@posteo.de>

	cperl-mode: Fix indentation for Emacs 26

	* lisp/progmodes/cperl-mode.el (cperl-mode): Add a fix
	which is only required for Emacs versions older than 27.

	* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug30393):
	Add a test to verify correct indentation (bug#30393).

2020-11-03  Mauro Aranda  <maurooaranda@gmail.com>

	Fix customizing user options of type face

	* lisp/cus-edit.el (face): Move the %f escape after the tag, because
	otherwise customizing a face user option doesn't work:
	custom-variable-value-create thinks that everything up until the first
	":" is part of the tag, and the item widget doesn't know how to handle
	the %f escape.

2020-11-03  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in some url-*.el files

	* lisp/url/url-dired.el:
	* lisp/url/url-ftp.el:
	* lisp/url/url-irc.el: Use lexical-binding.

2020-11-03  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in solitaire.el

	* lisp/play/solitaire.el: Use lexical-binding.  Remove redundant
	:group args.

2020-11-03  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in some of emulation/edt*.el

	* lisp/emulation/edt-vt100.el:
	* lisp/emulation/edt-pc.el:
	* lisp/emulation/edt-lk201.el: Use lexical-binding.

2020-11-03  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in pcmpl-rpm.el

	* lisp/pcmpl-rpm.el: Use lexical-binding.  Remove redundant :group
	args.
	(pcmpl-rpm-packages): Quote function symbol as such.

2020-11-03  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in pcmpl-cvs.el

	* lisp/pcmpl-cvs.el: Use lexical-binding.
	(executable): Remove unnecessary require.
	(pcmpl-cvs-binary): Remove redundant :group arg.
	(pcmpl-cvs-tags): Quote function symbol as such.

2020-11-03  Stefan Kangas  <stefan@marxist.se>

	Fix exiting the finder-commentary buffer

	* lisp/finder.el (finder-exit): Fix exiting the finder-commentary
	buffer.  (Bug#44384)
	(finder-buffer): New defconst.
	(finder-list-keywords): Use above new defconst.

2020-11-03  Harald Jörg  <haj@posteo.de>

	cperl-mode: Skip a test for older Emacsen (preparing for ELPA)

	* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127):
	Skip this test for older Emacsen.  The bug has been fixed
	in Emacs, but outside of CPerl mode, and therefore will not
	be available for older versions via ELPA.

2020-11-03  Stefan Kangas  <stefan@marxist.se>

	Improve ert-resource-directory docstring

	* lisp/emacs-lisp/ert-x.el (ert-resource-directory): Improve
	docstring.

2020-11-02  Reuben Thomas  <rrt@sc3d.org>

	Fix previous patch to ispell.el

	* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod):
	with-current-buffer and with-output-to-string need to be the other
	way around.

2020-11-02  Reuben Thomas  <rrt@sc3d.org>

	Fix previous code change to `ispell--call-enchant-lsmod'

	* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Restore the
	use of with-current-buffer, to avoid enchant-lsmod’s output being
	dumped into the current buffer.

2020-11-02  Eli Zaretskii  <eliz@gnu.org>

	Explain last change

	* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Explain
	the workaround with discarding stderr.  (Bug#44318)

2020-11-02  Reuben Thomas  <rrt@sc3d.org>

	Make ispell.el ignore warnings from enchant-lsmod (closes #44318)

	* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Don’t capture
	  stderr. Also remove unnecessary with-current-buffer wrapper.

2020-11-02  Mattias Engdegård  <mattiase@acm.org>

	Add missing argument to directory_files_internal calls

	* src/kqueue.c (kqueue_compare_dir_list, Fkqueue_add_watch):
	Pass the new seventh argument.

2020-11-02  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent change in dired.c

	* src/dired.c (directory_files_internal): Fix type of integer
	variables to avoid overflow in 32-bit builds --with-wide-int.

2020-11-02  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of a recent commit

	* lisp/international/mule-cmds.el (transient-input-method): Doc
	fix.  Add :version tag.
	(transient-input-method): Doc fix.

	* etc/NEWS:
	* doc/emacs/mule.texi (Select Input Method): Fix wording of the
	last change.

2020-11-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	4e6104ea0b ; * src/xdisp.c (display_string): Fix a typo in a comment.
	7162228815 Improve indexing of check-declare
	d218b28ab5 ; * lisp/autoinsert.el (auto-insert-alist): Fix texinfo URL.

2020-11-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	1fc9de4b81 Improve reproducibility of generated -pkg.el files
	da6234e2df Make sure pixel sizes are zero when setting window size fo...
	2d15296db1 Fix failure of 'emacs --daemon' on Cygwin
	8abce5b0c6 CC Mode: Only recognize foo (*bar) as a function pointer w...
	85d1d8d768 Fix NEWS entry for fix of Bug#44080
	2443b15a91 * src/buffer.c (syms_of_buffer) <fill-column>: Improve doc...

	# Conflicts:
	#	etc/NEWS

2020-11-02  Michael Albinus  <michael.albinus@gmx.de>

	Fix some glitches in recent directory-files-* changes

	* doc/lispref/files.texi (Contents of Directories):
	Fix description of directory-files, directory-empty-p and
	directory-files-and-attributes.

	* etc/NEWS: Fix entry for directory-files-and-attributes.  Fix typos.

	* lisp/dired.el (directory-empty-p): Move function from here ...

	* lisp/files.el (directory-empty-p): ... to here.

	* lisp/net/ange-ftp.el (ange-ftp-directory-files): Call `nreverse' later.

	* lisp/net/tramp.el (tramp-handle-directory-files):
	* lisp/net/tramp-adb.el
	(tramp-adb-handle-directory-files-and-attributes): Do not call
	`nreverse'.

	* src/dired.c (Fdirectory_files)
	(Fdirectory_files_and_attributes): Fix docstrings.

	* test/src/dired-tests.el: Removed.  Tests moved to
	test/lisp/dired-tests.el.

	* test/lisp/dired-tests.el (dired-test-bug27899): Tag it :unstable.
	(dired-test-directory-files)
	(dired-test-directory-files-and-attributes): New tests.

2020-11-02  João Távora  <joaotavora@gmail.com>

	Fix Elisp's elisp--documentation-one-liner (bug#43609)

	To be backward compatible, this function must return nil when there is
	a symbol at point but no documentation for it.  Before this fixed it
	returned the string "<symbol-name>: nil".

	* lisp/progmodes/elisp-mode.el (elisp--documentation-one-liner):
	Check callback actually produced non-nil doc.

2020-11-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix mouse-1 on [Show] buttons in the *Help* buffer

	* lisp/descr-text.el (describe-text-sexp): Add a `follow-link' so
	that the [Show] buttons work correctly with mouse-1 (bug#44340).

2020-11-02  Yasuhiro KIMURA  <yasu@utahime.org>  (tiny change)

	Recover the contents of the schemas.xml file

	* etc/schema/schemas.xml: Recover the file, which was apparently
	(mostly) removed by mistake by commit 165f738382 (bug#42851).

2020-11-02  Mauro Aranda  <maurooaranda@gmail.com>

	Document that the :match function for a widget takes an external value

	* doc/misc/widget.texi (Basic Types): Document what an external value
	is.  Document that a :match function expects the value to be in the
	external format.  (Bug#8717)

2020-11-02  Stephen Berman  <Stephen.Berman@gmx.net>

	Don't render XML declaration of an HTML document (bug#44348)

	* lisp/net/eww.el (eww--preprocess-html): Prevent converting the
	left angle bracket in the sequence "<?" to an HTML entity.

2020-11-02  Arthur Miller  <arthur.miller@live.com>

	Add directory-empty-p and new argument COUNT for directory-files-*

	* doc/lispref/files.texi (Contents of Directories): Mention COUNT
	argument of directory-files.  Add directory-empty-p.

	* etc/NEWS: Mention directory-empty-p and directory-files changes.

	* lisp/dired.el (directory-empty-p): New defun.

	* lisp/net/ange-ftp.el (ange-ftp-directory-files)
	(ange-ftp-directory-files-and-attributes):
	* lisp/net/tramp.el (tramp-handle-directory-files)
	(tramp-handle-directory-files-and-attributes):
	* lisp/net/tramp-adb.el
	(tramp-adb-handle-directory-files-and-attributes):
	* lisp/net/tramp-rclone.el (tramp-rclone-handle-directory-files):
	* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
	* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Add new COUNT
	argument.

	* src/dired.c (directory_files_internal): Implement new
	RETURN_COUNT argument.
	(Fdirectory_files, Fdirectory_files_and_attributes): Add new COUNT
	argument.

	* src/lisp.h (directory_files_internal): Add RETURN_COUNT to declaration.

	* src/sysdep.c (list_system_processes): Add Qnil to
	directory_files_internal call.

	* test/src/dired-tests.el (directory-files-and-attributes-tests):
	New file.

2020-11-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Partially revert previous define-minor-mode change

	* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring):
	Only document the values we want to support, not the ones we
	actually support.
	(define-minor-mode): Partially revert to previous behavior.

2020-11-01  Stefan Kangas  <stefan@marxist.se>

	Fix mistake in Lisp conversion of describe-map-tree

	* lisp/help.el (describe-map-tree): Fix mistake in conversion to Lisp
	from the C function describe_map_tree; make the condition match the
	now removed C code.  (Bug#44360)

2020-11-01  Juri Linkov  <juri@linkov.net>

	Transient input methods bound to 'C-x \' (bug#44266)

	* lisp/international/mule-cmds.el (ctl-x-map): Bind 'C-x \' to
	'transient-input-method'.
	(input-method-function): New defcustom.
	(transient-input-method): New command.

	* doc/emacs/mule.texi (Select Input Method): Document transient-input-method.

2020-11-01  Juri Linkov  <juri@linkov.net>

	* lisp/leim/quail/compose.el: New input method (bug#44267).

2020-11-01  Juri Linkov  <juri@linkov.net>

	Show nobreak-space face for more blank characters in describe-char.

	* lisp/descr-text.el (describe-char): Handle more non-ASCII whitespace
	characters added in f018cffca0098ad1b82c51730a6d6cf146e3c488 (bug#44236)

2020-11-01  Stefan Kangas  <stefan@marxist.se>

	Improve indexing of check-declare

	* doc/lispref/functions.texi (Declaring Functions): Improve indexing.

2020-11-01  Stefan Kangas  <stefan@marxist.se>

	Don't auto-insert "@c file ends here" in .texi files

	* lisp/autoinsert.el (auto-insert-alist): Don't insert "@c file ends
	here" at the end of new .texi files.

2020-11-01  Stefan Kangas  <stefan@marxist.se>

	Don't bind standard-output in substitute-command-keys

	This fixes a regression with regards to the old C version of
	substitute-command-keys.

	* lisp/help.el (substitute-command-keys): Don't bind standard-output.
	See Bug#39149.
	* test/lisp/help-tests.el
	(help-tests--was-in-buffer): New variable.
	(help-substitute-command-keys/menu-filter-in-correct-buffer): New
	test.

2020-11-01  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Doc typo.

2020-11-01  Mattias Engdegård  <mattiase@acm.org>

	Add missing side-effect-free and error-free properties

	Any function that is pure is also side-effect-free and some are also
	error-free.  Right now these have to be declared separately.

	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add
	bool-vector-count-consecutive, bool-vector-count-population,
	bool-vector-subsetp, copysign, isnan, lax-plist-get, ldexp, memql,
	regexp-opt and string-to-syntax.
	(side-effect-and-error-free-fns): Add type-of.
	* lisp/subr.el (kbd, string-replace): Declare side-effect-free.

2020-11-01  Mattias Engdegård  <mattiase@acm.org>

	* lisp/emacs-lisp/byte-opt.el (pure-fns): Fix typos.

2020-11-01  Stefan Kangas  <stefan@marxist.se>

	Insert describe-map-tree header into original buffer

	* lisp/help.el (describe-map-tree): Insert header into the original
	buffer, not in standard-output.
	* test/src/keymap-tests.el
	(describe-buffer-bindings/header-in-current-buffer)
	(describe-buffer-bindings/returns-nil): New tests.
	Ref: https://debbugs.gnu.org/39149#31

2020-11-01  Andrea Corallo  <akrl@sdf.org>

	Fix 'comp-call-optim pass' for anonymous lambdas

	* lisp/emacs-lisp/comp.el (comp-call-optim-func): Remove anonymous
	lambdas gate.
	(comp-call-optim-form-call): Add the correct missing condition.

2020-11-01  Andrea Corallo  <akrl@sdf.org>

	* test/src/comp-tests.el (compile-forms): Fix missing lexical binding.

2020-11-01  Andrea Corallo  <akrl@sdf.org>

	Add some 'cond-rw' pass related tests

	* test/src/comp-tests.el (comp-tests-cond-rw-checked-function):
	Declare var.
	(comp-tests-cond-rw-checker-val): New function.
	(comp-tests-cond-rw-checker-type): Declare var.
	(comp-tests-cond-rw-checker-type): New function.
	(comp-tests-cond-rw-0-var): Declare var.
	(comp-tests-cond-rw-0, comp-tests-cond-rw-1, comp-tests-cond-rw-2)
	(comp-tests-cond-rw-3, comp-tests-cond-rw-4)
	(comp-tests-cond-rw-5): New testcases.

2020-11-01  Andrea Corallo  <akrl@sdf.org>

	Add new cond-rw pass to have forward propagation track cond branches

	Add a new pass to rewrite conditional branches.  This is introducing
	and placing a new LIMPLE operator 'assume' in use by fwprop to
	propagate conditional branch test information on target basic blocks.

	* lisp/emacs-lisp/comp.el (comp-passes): Add `comp-cond-rw'.
	(comp-limple-assignments): Add `assume' operator.
	(comp-emit-assume, comp-cond-rw-target-slot, comp-cond-rw-func)
	(comp-cond-rw): Add new functions.
	(comp-fwprop-insn): Update to pattern match `assume' insns.
	* src/comp.c (emit_limple_insn): Add for `assume'.
	(syms_of_comp): Define 'Qassume' symbol.

2020-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Make minor mode ARG work as documented

	* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring):
	Clarify when minor modes are switched on/off when called from lisp
	(bug#44341).
	(define-minor-mode): Make calls from Lisp switch the mode on/off
	as documented.

2020-11-01  Andrea Corallo  <akrl@sdf.org>

	Rework some native compiler test infrastructure

	* test/src/comp-tests.el (comp-tests-map-checker): New function
	returning a list holding checker results.
	(comp-tests-tco-checker, comp-tests-fw-prop-checker-1)
	(comp-tests-pure-checker-1, comp-tests-pure-checker-2): Make use
	of `comp-tests-map-checker'.

2020-11-01  Mauro Aranda  <maurooaranda@gmail.com>

	Fix saving a face setting with Customize

	* lisp/cus-edit.el (custom-face-save): Make sure we back up into the
	:shown-value property what the user has edited so far, if we are going
	to recreate the custom-face widget.  (Bug#44331)

2020-11-01  Yasuhiro KIMURA  <yasu@utahime.org>  (tiny change)

	Recover the contents of the schemas.xml file

	* etc/schema/schemas.xml: Recover the file, which was apparently
	(mostly) removed by mistake by commit 165f738382 (bug#42851).

2020-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string clarification for cl-some

	* lisp/emacs-lisp/cl-extra.el (cl-some): Clarify the return value
	(bug#44330).

2020-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	custom-theme-set-variables more resilient against removed libraries

	* lisp/custom.el (custom-theme-set-variables): Don't bug out on
	  settings that require a library that has been removed (bug#38843).

2020-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention non-ASCII C-c LETTER bindings in the lispref manual

	* doc/lispref/tips.texi (Key Binding Conventions): Mention
	non-ASCII C-c LETTER (bug#15917).

2020-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the C-c LETTER keybinding convention

	* doc/emacs/custom.texi (Keymaps): Reintroduce the text about C-c
	LETTER (bug#15917), and clarify.

2020-11-01  Michael Albinus  <michael.albinus@gmx.de>

	Trash remote files to local trash  (Bug#44216)

	* doc/misc/tramp.texi (Frequently Asked Questions): Add trashing.

	* lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory)
	(tramp-adb-handle-delete-file):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
	(tramp-gvfs-handle-delete-file):
	* lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory)
	(tramp-sh-handle-delete-file):
	* lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory)
	(tramp-smb-handle-delete-file):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-delete-directory)
	(tramp-sudoedit-handle-delete-file): Implement local trash.  (Bug#44216)

	* lisp/net/tramp-crypt.el (tramp-crypt-handle-delete-directory)
	(tramp-crypt-handle-delete-file): Do not trash.

	* lisp/net/tramp.el (tramp-skeleton-delete-directory): New defmacro.

	* test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p)
	(tramp-test14-delete-directory): Add trashing.

2020-11-01  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Add trashing of remote files.  Fix typos.

2020-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix error message in feedmail

	* lisp/mail/feedmail.el (feedmail-buffer-to-smtpmail): Remove
	superfluous %s in insert string

2020-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix a segfault in the new svg code

	* src/image.c (svg_load_image): Don't pass in a NULL for the
	logical rect, because that will sometimes segfault.

2020-10-31  Juri Linkov  <juri@linkov.net>

	New variable integer-output-format to print integers as characters (bug#44155)

	* doc/lispref/streams.texi (Output Variables): Add integer-output-format.

	* src/print.c (print_object): In case of Lisp_Int, print integers
	as characters when Vinteger_output_format is Qt, and in hex format
	when Vinteger_output_format is 16.
	(Vinteger_output_format): New variable.

	* test/src/print-tests.el (print-integer-output-format): New test.

2020-10-31  Mauro Aranda  <maurooaranda@gmail.com>

	Give the scroll-bar face a non-trivial spec

	* lisp/faces.el (scroll-bar): Give it a non-trivial spec, so when
	resetting it to its face-defface-spec, we effectively reset it.
	(Bug#13476)

2020-10-31  Juri Linkov  <juri@linkov.net>

	Improve goto-line in regard to narrowed buffers (bug#44294)

	* lisp/simple.el (goto-line): Rewrite to first find the position
	of the line where to go, then later don't widen the buffer
	when the found position is still inside narrowed part of buffer.

	* lisp/isearch.el (isearch-message-prefix): Warn about narrowed	buffer
	in case of no more matches found.

2020-10-31  Juri Linkov  <juri@linkov.net>

	Reimplement commit 46b3db5579e57b9daf16667914205adc99d3f104 (bug#44294)

	* lisp/progmodes/etags.el (etags-goto-tag-location): Revert change from
	commit 46b3db5579e57b9daf16667914205adc99d3f104.
	(xref-location-marker): Use the same change as was made in elisp-mode.el in
	commit 46b3db5579e57b9daf16667914205adc99d3f104 to widen before going
	to the found position.

2020-10-31  Stefan Kangas  <stefan@marxist.se>

	* test/README: Document TEST_BACKTRACE_LINE_LENGTH.

2020-10-31  Amin Bandali  <bandali@gnu.org>

	Replace irc.freenode.net with chat.freenode.net

	chat.freenode.net has been the preferred address for connecting to the
	freenode IRC network for years now.  Replace the occurrences of
	irc.freenode.net with chat.freenode.net.

2020-10-31  Mattias Engdegård  <mattiase@acm.org>

	Fix eshell glob modifiers

	Modified globbing such as *.txt(W) for all world-writable files ending
	in .txt apparently never worked correctly.

	* lisp/eshell/em-pred.el (eshell-predicate-alist): Use correct
	elisp syntax for octal constants.
	(eshell-pred-file-mode): Return a boolean, not a number.

2020-10-31  Andreas Schwab  <schwab@linux-m68k.org>

	wdired: fix error handling of set-file-modes

	* lisp/wdired.el (wdired-perms-to-number): Return decimal number.
	(wdired-do-perm-changes): Handle error from set-file-modes.
	(wdired-finish-edit): Remove `rename' from error message.
	(Bug#44343)

2020-10-31  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-10-31  Eli Zaretskii  <eliz@gnu.org>

	* etc/HELLO: Enlarge tab-width to account for "tofu".

2020-10-31  Mattias Engdegård  <mattiase@acm.org>

	'assoc' is not side-effect-free; constprop its pure subset

	Since a supplied test function can do anything, assoc is not
	side-effect-free (bug#44018).  However, with only two arguments it is
	pure and should be optimized accordingly.

	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Remove 'assoc'.
	(byte-optimize-assoc): Constant-propagate through 2-arg assoc calls.
	* test/lisp/emacs-lisp/bytecomp-tests.el
	(byte-opt-testsuite-arith-data): Add test cases.

2020-10-31  Eli Zaretskii  <eliz@gnu.org>

	Improve support for displaying Javanese script

	* lisp/international/fontset.el (setup-default-fontset)
	(script-representative-chars): Add Javanese entries.

	* etc/HELLO: Fix the Javanese text.  See
	https://omniglot.com/language/phrases/javanese.php for the
	source.

2020-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/xdisp.c (syms_of_xdisp) <"scroll-minibuffer-conservatively">: New var

	Fix bug#44070, which causes the minibuffer display to jump upon minor edit

	(redisplay_window): Obey it.
	* lisp/simple.el (end-of-buffer): Obey it.

	* test/src/xdisp-tests.el (xdisp-tests--in-minibuffer): New macro,
	extracted from `xdisp-tests--minibuffer-resizing`.
	(xdisp-tests--minibuffer-resizing): Use it.
	(xdisp-tests--minibuffer-scroll): New test.

2020-10-31  Mattias Engdegård  <mattiase@acm.org>

	Trim and explain set of safe forms for 'unsafep' (bug#44018)

	* lisp/emacs-lisp/unsafep.el:
	Add comment explaining the policy for which forms can be considered
	'safe' in the sense of unsafep.  Remove ones that didn't make the cut:

	 play-sound-file (large attack surface)
	 catch, throw (alter program flow, inject data)
	 replace-regexp-in-string (execute arbitrary code)
	 error, signal (deceptive messages)

	* test/lisp/emacs-lisp/unsafep-tests.el (unsafep-tests--unsafe):
	Add test cases.
	* etc/NEWS: Announce the change.

2020-10-31  Mattias Engdegård  <mattiase@acm.org>

	Parse GDB/MI results directly instead of going via JSON (bug#44173)

	Translating GDB/MI into JSON is an unnecessary and fragile detour
	that made it hard to deal with octal escapes in strings correctly.
	Parse GDB/MI directly instead.

	* lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): Adjust doc string.
	(gdb-mi-decode, gud-gdbmi-marker-filter): Remove gdb-mi-decode.
	(gdb-jsonify-buffer): Remove.
	(gdb-mi--parse-tuple-or-list, gdb-mi--parse-c-string)
	(gdb-mi--parse-value, gdb-mi--parse-result-or-value)
	(gdb-mi--parse-results, gdb-mi--fix-key, gdb-mi--extend-fullname)
	(gdb-mi--c-string-from-string): New functions.
	(gdb-json-read-buffer, gdb-json-string, gdb-json-partial-output):
	Rename to gdb-mi--read-buffer, gdb-mi--from-string and
	gdb-mi--partial-output respectively.  Remove useless FIX-LIST
	argument.  FIX-KEY is now a symbol, not a string. All callers updated.
	(gdb-tooltip-print, gdbmi-bnf-log-stream-output, gdb-internals)
	(gdb-console, gdb-done-or-error, gdb-get-source-file-list)
	(gdb-get-prompt, gdb-get-source-file):
	Use gdb-mi--c-string-from-string instead of 'read'.
	* test/lisp/progmodes/gdb-mi-tests.el: New file.

2020-10-31  Eli Zaretskii  <eliz@gnu.org>

	* etc/HELLO: Add Egyptian Hieroglyphs.

2020-10-31  Eli Zaretskii  <eliz@gnu.org>

	Support prettified display of fractional numbers

	* lisp/composite.el (composition-function-table): Define an entry
	for U+2044 FRACTION SLASH, for prettier display of fractional
	numbers.

2020-10-31  Michael Albinus  <michael.albinus@gmx.de>

	Check also for "DragonFly" remote systems in Tramp

	* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
	Check also for "DragonFly".

2020-10-31  Eli Zaretskii  <eliz@gnu.org>

	Speed up ls-lisp

	This speeds up Dired by 25% in large directories.
	* lisp/ls-lisp.el (ls-lisp--time-locale): New defvar.
	(ls-lisp-format-time): calculate the locale for formatting times
	only once and cache the value in 'ls-lisp--time-locale'.
	(Bug#44273)

2020-10-31  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/commands.texi (Key Sequence Input): Fix indexing.

2020-10-31  Jared Finder  <jared@finder.org>

	Updating docs with all special window prefix keys.

	* doc/lispref/commands.texi (Key Sequence Input): Add documentation for
	missing special window areas.  Explicitly call out window or frame.

2020-10-31  Jared Finder  <jared@finder.org>

	Fix unit tests broken by changes to xt-mouse.el

	* test/lisp/xt-mouse-tests.el (xt-mouse-tracking-basic)
	(xt-mouse-tracking-utf-8): Update expected escape sequence.

2020-10-31  Eli Zaretskii  <eliz@gnu.org>

	Revert "Temporarily mark two failing tests"

	This reverts commit a8426f46726d94cdf21c0e6b3c85c0afe0064784.
	A proper fix for the test is about to be installed shortly.

2020-10-31  Thien-Thi Nguyen  <ttn@gnu.org>

	Make hideshow.el work with Mhtml mode

	Suggested by Ian Williams <norbekian9@gmail.com>.

	* lisp/textmodes/mhtml-mode.el: Require ‘pcase’ when compiling.
	(mhtml-forward): New func.
	* lisp/progmodes/hideshow.el (hs-special-modes-alist):
	Add entry for ‘mhtml-mode’.

2020-10-31  Glenn Morris  <rgm@gnu.org>

	Improve reproducibility of generated -pkg.el files

	* lisp/emacs-lisp/package.el (package-generate-description-file):
	Don't include the full name of the source file in the header,
	since that varies non-reproducibly according to the build directory.
	https://bugs.debian.org/972861
	Note that elpa.gnu.org's admin/archive-contents.el does this by hand
	and already only includes the nondirectory part.

2020-10-30  João Távora  <joaotavora@gmail.com>

	Shoosh byte-compilation warning in lisp/emacs-lisp/eldoc.el

	Per bug#43609, elisp-eldoc-documentation-function is again in master,
	but since it's now officially obsoleted, this backward compatibility
	shim in eldoc--eval-expression-setup shouldn't unnecessarily trigger
	warnings in master's code.

	* lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): Shoosh
	by-compilation warning.

2020-10-30  João Távora  <joaotavora@gmail.com>

	Don't make ElDoc doc buffer visible in buffer list by default

	(Bug#44334)

	* lisp/emacs-lisp/eldoc.el (eldoc-doc-buffer): No longer take
	INTERACTIVE arg.  Show buffer if invisible.
	(eldoc--format-doc-buffer): Don't change buffer visibility.
	(eldoc-display-in-buffer): Show buffer if invisible if by calling
	eldoc-doc-buffer.

2020-10-30  João Távora  <joaotavora@gmail.com>

	Bring back elisp-eldoc-documentation-function, marked obsolete

	(Bug#43609)

	It's not useful for ElDoc's eldoc-mode mechanism in Elisp, and nothing
	in Emacs uses it, but it wasn't strictly marked internal, so it's best
	to bring it back.

	* lisp/progmodes/elisp-mode.el (elisp--documentation-one-liner):
	New helper.
	(elisp-eldoc-documentation-function): New function, with
	obsoletion warning.

2020-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (blink-matching-open): Fix bug#37127

	Don't call `syntax-propertize` from within narrowing

	* lisp/progmodes/cperl-mode.el (cperl-forward-re): Revert last patch,
	since it is now redundant.

	* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127):
	Remove unused var; fix test so it really catches the previous bug;
	tweak the code to use mode-agnostic commands so it also works in `perl-mode`.

2020-10-30  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#44289

	* lisp/files.el (directory-listing-before-filename-regexp):
	Support DD-MMM-YYYY format.  (Bug#44289)

2020-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak previous python-mode region fix

	* lisp/progmodes/python.el (python-shell-buffer-substring): Tweak
	the previous fix for bug#39398 to behave somewhat more like it
	used to.

2020-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Adjust python tests after fix for bug#39398"

	This reverts commit c6fb23873a594b6a4fc57fa107869a2e82159d07.

	The code is tweaked to be more backwards-compatible.

2020-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix copying symbolic links in eshell

	* lisp/eshell/em-unix.el (eshell-shuffle-files): Don't bug out
	when copying symbolic links (bug#38577).

2020-10-30  Dima Kogan  <dima@secretsauce.net>

	Add a new command to regenerate a hunk in diff-mode

	* lisp/vc/diff-mode.el (diff-refresh-hunk): New function (bug#44312).
	(diff-mode-map): Bind C-c C-l.

2020-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix fontifying of ::= in Makefiles

	* lisp/progmodes/make-mode.el (makefile-match-dependency): Don't
	fontify the POSIX immediate assignment operator ::= as a
	dependency (bug#44319).

2020-10-30  Harald Jörg  <haj@posteo.de>

	Suppress a misleading message when closing a paren in a regex

	* lisp/progmodes/cperl-mode.el (cperl-forward-re): Suppress an
	error message about "End of string/RE not found" when we are
	at the end of a narrowed buffer where the end of a RE is
	temporarily unavailable (Bug#37127).

	* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127):
	Add a test to verify that the message is suppressed when
	inappropriate, but appears when the RE *is* incomplete.

2020-10-30  Stefan Kangas  <stefan@marxist.se>

	Clarify point position after text-property-search

	* lisp/emacs-lisp/text-property-search.el
	(text-property-search-forward, text-property-search-backward): Doc fix
	to clarify placement of point after search.
	* test/lisp/emacs-lisp/text-property-search-tests.el
	(text-property-search--pos-test): New defun.
	(text-property-search-forward-point-at-beginning)
	(text-property-search-backward-point-at-end): New test.

2020-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the gdb-mi error message

	* lisp/progmodes/gdb-mi.el (gdb--check-interpreter): Make the
	error message less misleading (bug#40279).

2020-10-30  Neil Roberts  <bpeeluk@yahoo.co.uk>

	Use nobreak-space on all non-ASCII whitespace characters

	* doc/emacs/display.texi (Text Display): Document it.

	* src/xdisp.c (get_next_display_element): Use blankp to test whether
	to use the nobreak_space face (bug#44236).

2020-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make list-timers do sub-second times

	* lisp/emacs-lisp/timer-list.el (list-timers): Do sub-second times
	(bug#39956).

2020-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	`format-time' can now do sub-second times

	* doc/lispref/os.texi (Time Parsing): Document it.

	* lisp/calendar/time-date.el (format-seconds): Allow formatting
	sub-second times.

2020-10-30  Stefan Kangas  <stefan@marxist.se>

	Add shortdoc navigation commands

	* lisp/emacs-lisp/shortdoc.el (text-property-search): Require.
	(shortdoc-mode): New major mode.
	(shortdoc-mode-map): New variable.
	(shortdoc--goto-section): New macro.
	(shortdoc-next, shortdoc-previous, shortdoc-next-section)
	(shortdoc-previous-section): New commands.
	(shortdoc-display-group): Use new shortdoc-models.  Propertize
	section header.
	(shortdoc--display-function): Propertize function header.

2020-10-30  Hugh Daschbach  <hdasch@fastmail.com>

	* test/lisp/net/dbus-tests.el (dbus-test09-get-managed-objects): Expand test.

2020-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/binhex.el (binhex-char-int): Add missing release

2020-10-30  Basil L. Contovounesios  <contovob@tcd.ie>

	Remove Debbugs 'thanks' from submit-emacs-patch

	* lisp/mail/emacsbug.el (submit-emacs-patch): Remove unneeded
	'thanks' following Debbugs pseudo-header, which leaves other
	pseudo-headers entered by the user unprocessed (bug#44322).

2020-10-30  Basil L. Contovounesios  <contovob@tcd.ie>

	Modify only local send hook in submit-emacs-patch

	* lisp/mail/emacsbug.el (submit-emacs-patch): Don't modify global
	message-send-hook.

2020-10-29  Noah Friedman  <friedman@splode.com>

	Make sure pixel sizes are zero when setting window size for ptys.

	* sysdep.c (set_window_size): Initialize data to zero to avoid
	passing any garbage from the stack to ioctl.

2020-10-29  Harald Jörg  <haj@posteo.de>

	cperl-mode: Make timeout test more robust

	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-mode-test-bug-10483): Increase the timeout to 2 seconds
	and mark the test as expensive.  Also, suppress it for Emacs
	versions below 28, where the test times out though the function
	works in manual tests.  (Bug#44317)

2020-10-29  Basil L. Contovounesios  <contovob@tcd.ie>

	Simplify some bibtex.el variable definitions

	* lisp/textmodes/bibtex.el (bibtex-include-OPTkey)
	(bibtex-user-optional-fields, bibtex-BibTeX-entry-alist)
	(bibtex-biblatex-entry-alist, bibtex-generate-url-list): Use :risky
	tag instead of risky-local-variable property.

	(bibtex-entry-format, bibtex-maintain-sorted-entries)
	(bibtex-sort-entry-class, bibtex-dialect)
	(bibtex-autokey-name-case-convert-function): Use :safe tag instead
	of safe-local-variable property.

	(bibtex-autokey-name-case-convert-function): Let custom function
	default to 'identity', not 'ignore'.

	(bibtex-strings, bibtex-reference-keys): Define with defvar-local
	instead of defvar+make-variable-buffer-local.

2020-10-29  Stefan Kangas  <stefan@marxist.se>

	* lisp/reposition.el: Use lexical-binding.

2020-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/tcl.el: Better match Tcl string formation rules (bug#39277)

	(tcl--word-delimiters): New const.
	(tcl--syntax-of-quote): New function.
	(tcl-syntax-propertize-function): Use them.
	(tcl-mode): Enable `syntax-propertize-multiline`.

	* test/manual/indent/tcl.tcl: New file.

2020-10-29  Michael Albinus  <michael.albinus@gmx.de>

	Handle several children of PATH in dbus-managed-objects-handler

	* lisp/net/dbus.el (dbus-managed-objects-handler): Handle several
	children of PATH.  (Bug#44298)

	* src/dbusbind.c (xd_signature, xd_append_arg): Check object path.

	* test/lisp/net/dbus-tests.el (dbus-test09-get-managed-objects):
	Tag it :expensive-test.  Remove superfluous check.

2020-10-29  Stefan Kangas  <stefan@marxist.se>

	Fix CUA Mode menu entry to be less confusing

	Note that the old text was incorrect; shift-selection is controlled by
	the variable shift-select-mode.

	* lisp/menu-bar.el (menu-bar-options-menu): Make CUA Mode menu entry
	less confusing when cua-enable-cua-keys is nil.  (Bug#43322)

2020-10-29  Ken Brown  <kbrown@cornell.edu>

	Fix failure of 'emacs --daemon' on Cygwin

	* src/emacs.c (DAEMON_MUST_EXEC): Define unconditionally on
	Cygwin, not just if HAVE_NTGUI is defined.  This fixes the failure
	of 'emacs --daemon' to start on the non-w32 Cygwin builds.
	(Bug#44285)

2020-10-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak previous article-treat-ansi-sequences fix

	* lisp/gnus/gnus-art.el (article-treat-ansi-sequences): Redo the
	previous fix to avoid a compilation warning (bug#44299).

2020-10-29  Hugh Daschbach  <hdasch@fastmail.com>

	* test/lisp/net/dbus-tests.el (dbus-test09-get-managed-objects): New test.

2020-10-29  Andreas Schwab  <schwab@linux-m68k.org>

	Don't spill ansi-color across parts in articles

	* lisp/gnus/gnus-art.el (article-treat-ansi-sequences): Reset
	ansi-color-context-region.  (Bug#44299)

2020-10-29  Juri Linkov  <juri@linkov.net>

	* lisp/bindings.el (narrow-map): Bind C-x n g to goto-line-relative (bug#9917)

2020-10-29  Juri Linkov  <juri@linkov.net>

	Widen buffer before going to point found by xref-find-definitions (bug#44294)

	* lisp/progmodes/elisp-mode.el (xref-location-marker): Widen before going
	to the found position.

	* lisp/progmodes/etags.el (etags-goto-tag-location): Rerun after removing
	narrowing.

	* lisp/simple.el (goto-line-read-args): Use buffer-narrowed-p.

2020-10-28  Stefan Kangas  <stefan@marxist.se>

	Run substitute-command-keys on shortdoc section headings

	* lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Run
	substitute-command-keys on section headings before displaying.

2020-10-28  Stefan Kangas  <stefan@marxist.se>

	Extend the regexp shortdoc group

	* lisp/emacs-lisp/shortdoc.el (regexp): New section "Match Data"; add
	save-match-data.  New section "The `rx' Structured Regexp Notation".

2020-10-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Document all parameters on `indent-relative'

	* doc/lispref/text.texi (Relative Indent): Mention the FIRST-ONLY
	parameter (bug#39330).

2020-10-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Disable mml-sec-tests on MacOS

	* test/lisp/gnus/mml-sec-tests.el (test-conf): Disable tests on
	MacOS (bug#44259).

2020-10-28  Alan Mackenzie  <acm@muc.de>

	CC Mode: Only recognize foo (*bar) as a function pointer when followed by (

	* lisp/progmodes/cc-engine.el (c-forward-over-decl-or-cast-1): (after CASE 2)
	test variables got-suffix-after-parens and at-decl-end before invoking
	c-fdoc-shift-type-backward.

2020-10-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Display times in a more human-readable way in list-timers

	* lisp/emacs-lisp/timer-list.el (list-timers): Format the
	intervals in a more human-readable way (bug#39956).

2020-10-28  Stefan Kangas  <stefan@marxist.se>

	* lisp/net/hmac-def.el: Use lexical-binding.

2020-10-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust python tests after fix for bug#39398

2020-10-28  Stefan Kangas  <stefan@marxist.se>

	* lisp/net/eudc-vars.el: Use lexical-binding.

2020-10-28  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in netrc.el and add tests

	* lisp/net/netrc.el: Use lexical-binding.
	(netrc-file): Remove redundant :group arg.
	* test/lisp/net/netrc-resources/authinfo:
	* test/lisp/net/netrc-resources/services:
	* test/lisp/net/netrc-tests.el: New files.

2020-10-28  Stefan Kangas  <stefan@marxist.se>

	Warn against using the MD4 hash function

	* lisp/md4.el (md4): Warn against using it, since its security is
	non-existent and it has been declared obsolete.  It should probably
	only be used by our NTLM support.  Point users to secure-hash instead.

2020-10-28  Dmitry Gutov  <dgutov@yandex.ru>

	css--complete-property-value: Limit the backward search

	* lisp/textmodes/css-mode.el (css--complete-property-value):
	Don't search back when ppss-innermost-start is nil (bug#44214).

2020-10-28  Stefan Kangas  <stefan@marxist.se>

	Remove Emacs 20 compat code from ede/files.el

	* lisp/cedet/ede/files.el (ede--put-inode-dir-hash)
	(ede--get-inode-dir-hash, ede-project-directory-remove-hash)
	(ede--directory-project-from-hash)
	(ede--directory-project-add-description-to-hash): Remove Emacs 20
	compat code.

2020-10-28  Stefan Kangas  <stefan@marxist.se>

	Remove some compat code from feedmail.el

	* lisp/mail/feedmail.el (feedmail-message-action-help-blat)
	(feedmail-run-the-queue, feedmail-queue-send-edit-prompt-inner)
	(feedmail-send-it-immediately): Remove compat code for XEmacs,
	Emacs 19 and 20.

2020-10-27  Stefan Kangas  <stefan@marxist.se>

	Remove some Emacs 20 compat code from speedbar.el

	* lisp/speedbar.el (speedbar-easymenu-definition-trailer): Remove
	Emacs 20 compat code.

2020-10-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak how `C-c C-r' computes the region in python-mode

	* lisp/progmodes/python.el (python-shell-buffer-substring): Don't
	extend the region to the start of the line (bug#39398), but allow
	sending the actual region as marked.

2020-10-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Make gnus-output-to-rmail appending work better

	* lisp/gnus/gnus-util.el (gnus-output-to-rmail): Ensure we have a
	blank line before the next line when using mbox format (bug#39580).

2020-10-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix intermittent rmail-summary-delete-forward problem

	* lisp/mail/rmailsum.el (rmail-summary-delete-forward):
	`rmail-delete-message' may apparently clear
	`rmail-current-message' sometimes, so save the message number
	before deleting (bug#39612).

2020-10-27  Mattias Engdegård  <mattiase@acm.org>

	gdb-mi: use lexical lambdas

	* lisp/progmodes/gdb-mi.el (gdb-tooltip-print-1, gud-watch)
	(gdb-var-list-children, gdb-edit-value)
	(gdb-bind-function-to-buffer, gdb-place-breakpoints)
	(gdb-preempt-existing-or-display-buffer):
	Expose lambdas to the compiler as lexical closures instead of building
	them the old-fashioned way.  Remove #' before lambda.

2020-10-27  Mattias Engdegård  <mattiase@acm.org>

	Remove unused function in gdb-mi.el

	* lisp/progmodes/gdb-mi.el (gdb-var-evaluate-expression-handler):
	Remove.  (It was left behind in an old code reorganization.)

2020-10-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Fontify strings in {} better in tcl-mode"

	This reverts commit 7f32224dc324b0ee0f1b512c8d8b19aeb80141c1.

	The changes led to things like

	    proc foo5 () {
	        return 6
	    }

	being fontified as a string, which is wrong.

2020-10-27  Mauro Aranda  <maurooaranda@gmail.com>

	Small fix to the new link for inherited faces in Customize

	* lisp/cus-edit.el (cus--face-link): Link to the current value of the
	widget, rather than to the widget's value upon creation (bug#44154).

2020-10-27  Clemens Radermacher  <clemens.radermacher@posteo.de>

	Fix NEWS entry for fix of Bug#44080

2020-10-27  Eli Zaretskii  <eliz@gnu.org>

	* src/buffer.c (syms_of_buffer) <fill-column>: Improve doc string.

2020-10-27  Mattias Engdegård  <mattiase@acm.org>

	gdb-mi: Don't use bindat for field access

	Replace uses of bindat-get-field with a simpler accessor,
	since nothing here uses the bindat machinery in any way.

	* lisp/progmodes/gdb-mi.el (gdb-mi--field): New.
	(gdb-get-many-fields): Remove.
	(gdb-var-create-handler, gdb-var-list-children-handler)
	(gdb-var-update-handler, gdb-current-buffer-frame)
	(gdb-update-gud-running, gdb-thread-exited, gdb-thread-selected)
	(gdb-running, gdb-stopped, gdb-breakpoints-list-handler-custom)
	(gdb-place-breakpoints, gdb-thread-list-handler-custom)
	(def-gdb-thread-buffer-simple-command, gdb-select-thread)
	(def-gdb-thread-buffer-gud-command, gdb-read-memory-custom)
	(gdb-invalidate-disassembly, gdb-disassembly-handler-custom)
	(gdb-disassembly-place-breakpoints, gdb-toggle-breakpoint)
	(gdb-delete-breakpoint, gdb-goto-breakpoint, gdb-frame-location)
	(gdb-stack-list-frames-custom, gdb-select-frame)
	(gdb-edit-locals-value, gdb-locals-handler-custom)
	(gdb-registers-handler-custom, gdb-changed-registers-handler)
	(gdb-register-names-handler, gdb-frame-handler):
	Use gdb-mi--field.

2020-10-27  Glenn Morris  <rgm@gnu.org>

	Temporarily mark two failing tests

	* test/lisp/xt-mouse-tests.el (xt-mouse-tracking-basic)
	(xt-mouse-tracking-utf-8): Currently failing.

2020-10-27  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	e0de9f3295 (origin/emacs-27) Don't skip empty lines when fitting mini...
	a4ec03fa9b ; * etc/tutorials/TUTORIAL.de: Fix grammar (Bug#44246)
	20c02e628c Improve documentation of display-fill-column-indicator
	e2005f1f2a * INSTALL: Mention efaq.texi for installation of intlfonts.
	71661b2872 Use WebKit sandboxing

	# Conflicts:
	#	etc/NEWS

2020-10-27  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	c847d5998f Merge branch 'emacs-27' of git.sv.gnu.org:/srv/git/emacs i...

2020-10-27  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	8b87ea6844 Recommend lexical-binding in Coding Conventions
	e29cace60a Avoid rare crashes while producing line numbers

2020-10-27  Simen Heggestøyl  <simenheg@gmail.com>

	Complete property values in multi-line CSS declarations

	* lisp/textmodes/css-mode.el (css--complete-property-value): Complete
	property values even when preceded by a newline (bug#44214).

2020-10-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix history problem in `M-x shell' when started twice

	* lisp/comint.el (comint-input-ring-file-name): Avoid having this
	variable being killed on mode restart while the other ring
	variables aren't (bug#39667).  This would mean that `M-x
	shell'/`C-d'/`M-x shell' didn't save commands entered after the
	second `M-x shell'.

2020-10-27  Mattias Engdegård  <mattiase@acm.org>

	ERT: escape control characters in pretty-printed error output

	* lisp/emacs-lisp/ert.el (ert--pp-with-indentation-and-newline):
	Escape control characters which would otherwise be blasted directly to
	the terminal (when running noninteractively) with unpleasant results.

2020-10-27  Mattias Engdegård  <mattiase@acm.org>

	Fix sunrise and sunset calculation (bug#44237)

	* lisp/calendar/solar.el (solar-moment): Use initial values for binary
	search that won't end the loop prematurely and yield incorrect
	answers.
	* test/lisp/calendar/solar-tests.el: New file.

2020-10-27  Mattias Engdegård  <mattiase@acm.org>

	Don't rely on bignums in ntlm.el

	Since ntlm.el is distributed as a separate package in GNU ELPA and
	should be able to run on older Emacs versions without bignums,
	we cannot make use of them here.  See discussion at
	https://lists.gnu.org/archive/html/emacs-devel/2020-10/msg01665.html.
	Instead, we add a small poor man's bignum implementation.

	* lisp/net/ntlm.el (ntlm--bignat-of-int, ntlm--bignat-add)
	(ntlm--bignat-shift-left, ntlm--bignat-mul-byte, ntlm--bignat-mul)
	(ntlm--bignat-of-string, ntlm--bignat-of-digits)
	(ntlm--bignat-to-int64): New.
	(ntlm--time-to-timestamp): Use the ntlm--bignat- functions instead
	of Lisp integers.
	* test/lisp/net/ntlm-tests.el: New file.

2020-10-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Make edit-abbrevs parsing less brittle

	* lisp/abbrev.el (define-abbrevs): Make the parsing less brittle
	-- allow more blank lines (bug#42611).

2020-10-27  Stefan Kangas  <stefan@marxist.se>

	* lisp/net/sieve-mode.el: Use lexical-binding.

2020-10-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a link to inherited faces in Customize

	* lisp/cus-edit.el (cus--face-link): New function (bug#44154).
	(face): Use the function to format the link.

2020-10-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't do compilation-transform-file-match-alist if there's no file name

	* lisp/progmodes/compile.el (compilation-error-properties): There
	may not be a file name (bug#40111).  In that case, don't do the
	`compilation-transform-file-match-alist' thing.

2020-10-27  Clemens Radermacher  <clemens.radermacher@posteo.de>

	Don't skip empty lines when fitting mini frame to buffer (Bug#44080)

	* lisp/window.el (fit-mini-frame-to-buffer,
	window--resize-mini-frame, fit-frame-to-buffer,
	fit-frame-to-buffer-1): By default, fit a mini frame without skipping its
	buffer's leading or trailing empty lines.
	* src/frame.c (resize-mini-frames): Update doc-string.
	* lisp/cus-start.el (resize-mini-frames): Update for customize.
	* doc/lispref/minibuf.texi (resize-mini-frames): Update description.

2020-10-27  Paul Pogonyshev  <pogonyshev@gmail.com>

	Don't leak result of nested byte-compilation to outer level

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Bind
	`byte-compiler-error-flag' instead of setting it (bug#41065).
	This fixes a problem of "leaking" the flag when compiling
	something that then compiles something that errors out (i.e., an
	"inner" compile).

2020-10-27  mvar  <mvar.40k@gmail.com>  (tiny change)

	Fontify strings in {} better in tcl-mode

	* lisp/progmodes/tcl.el (tcl-syntax-propertize-function):
	Propertize {} forms after commands as strings (bug#39277).
	(tcl-set-font-lock-keywords): Fontify as strings.  This allows
	things like puts {"foo} to be fontified correctly.

2020-10-27  Lars Ingebrigtsen  <larsi@gnus.org>

	`g' in *Help* doesn't require confirmation

	* lisp/help-mode.el (help-mode-revert-buffer): Don't require
	confirmation before reverting (bug#44202).  This mimics how most
	other non-file reverting functions work.

2020-10-27  Nicolas Graner  <nicolas@graner.name>

	Define backtab in text fields in eww

	* lisp/net/eww.el (eww-text-map):
	(eww-textarea-map): Define backtab, as in the main mode map
	(bug#44247).

2020-10-27  Stefan Kangas  <stefan@marxist.se>

	* lisp/mail/mail-prsvr.el: Use lexical-binding.

	* lisp/mail/mail-parse.el: Use lexical-binding.

2020-10-27  Stefan Kangas  <stefan@marxist.se>

	Allow pcomplete/gzip to complete on files in subdirectories

	* lisp/pcmpl-gnu.el (pcmpl-gnu-zipped-files): Allow "gzip" to complete
	on files in subdirectories.  (Bug#30271)

2020-10-27  Boruch Baum  <boruch_baum@gmx.com>

	Add some missing docstrings in cua-rect.el

	* lisp/emulation/cua-rect.el (cua--rectangle)
	(cua--last-rectangle, cua--restored-rectangle)
	(cua--rectangle-overlays, cua--rectangle-operation)
	(cua--tabify-start, cua--tabify-start, cua--insert-rectangle):
	Add docstrings, in several cases by converting existing
	comments.  (Bug#30085)
	(cua--last-killed-rectangle): Update comment.

2020-10-27  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in tool-bar.el

	* lisp/tool-bar.el: Use lexical-binding.
	(tool-bar-add-item, tool-bar-add-item-from-menu): Quote function
	symbols as such.

2020-10-27  Stefan Kangas  <stefan@marxist.se>

	Don't use obsolete variable write-contents-hooks

	* lisp/mh-e/mh-show.el (mh-display-msg):
	* lisp/textmodes/rst.el: Don't use obsolete variable
	write-contents-hooks.
	Problem reported by Stefan Monnier <monnier@iro.umontreal.ca>.

2020-10-27  Stefan Kangas  <stefan@marxist.se>

	Remove XEmacs compat code from hashcash.el

	* lisp/mail/hashcash.el (hashcash-point-at-bol)
	(hashcash-point-at-eol): Make obsolete.
	(hashcash-token-substring): Don't use the above now obsolete aliases.

2020-10-26  Stephen Berman  <stephen.berman@gmx.net>

	Fix an unbound variable in html skeletons

	* lisp/skeleton.el (skeleton-internal-list): Fix an unbound
	variable in html skeletons (bug#44157).

2020-10-26  Dmitry Gutov  <dgutov@yandex.ru>

	vc-git-root: Remove unnecessary caching

	* lisp/vc/vc-git.el (vc-git-root): Simplify (bug#42966).

2020-10-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Make vc-responsible-backend choose the most specific backend

	* lisp/vc/vc.el (vc-responsible-backend): Search through all the
	VC backends instead of the first one, and choose the one that's
	most specific (bug#42966).

2020-10-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix time-test error on machines with mail

	* test/lisp/time-tests.el (time-tests-display-time-update): There
	may be mail on the machine (bug#44241).

2020-10-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the -modes variable autoloaded

	* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
	Make the -modes variable be autoloaded.

2020-10-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak where global-display-fill-column-indicator-modes is on

	* lisp/display-fill-column-indicator.el
	(global-display-fill-column-indicator-mode): Don't switch on in
	special-mode buffers (bug#44232).

2020-10-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Implement a :predicate parameter for globalized minor modes

	* doc/lispref/modes.texi (Defining Minor Modes): Describe the new
	:predicate keyword (bug#44232).

	* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
	Allow a new :predicate keyword.
	(easy-mmode--globalized-predicate-p): New function.

2020-10-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Make delete-selection-helper more resilient

	* lisp/delsel.el (delete-selection-helper): Don't bug out on `C-g'
	(bug#40357).

2020-10-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak how shortdocs are displayed

	* lisp/emacs-lisp/shortdoc.el (shortdoc-example): Removed.
	(shortdoc-section): Remove colors.
	(shortdoc-separator): New face.
	(shortdoc-display-group, shortdoc--display-function): Don't use
	background colors, because that makes things harder to read.
	Separate with a horizontal line instead.

2020-10-26  Andrea Corallo  <akrl@sdf.org>

	Make native compiler tolerant to redefined primitives (bug#44221).

	* lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Rework based
	on the fact that the subr can now be redefined.
	* test/src/comp-tests.el (primitive-redefine-compile-44221):
	New testcase.

2020-10-26  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults due to using fonts that were closed

	* src/composite.c (composition_gstring_cache_clear_font): New
	function.
	* src/composite.h (composition_gstring_cache_clear_font): Add
	prototype.
	* src/font.c (font_clear_cache): When we are about to close a
	font, remove from the gstring cache any lgstring that uses this
	font.  (Bug#42943)

2020-10-26  Mattias Engdegård  <mattiase@acm.org>

	Revert "Don't consider play-sound-file to be a 'safe' function (bug#44018)"

	This reverts commit cdb3c9d662c772ce25ea4d803eccd2c9e6a6ae99.

2020-10-26  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of display-fill-column-indicator

	* lisp/display-fill-column-indicator.el
	(display-fill-column-indicator-mode): Mention the globalized
	version in the doc string.

	* doc/emacs/display.texi (Displaying Boundaries): Improve and
	clarify the documentation of display-fill-column-indicator.
	Suggest using the minor mode as the primary means for turning the
	feature on.

	* src/xdisp.c (syms_of_xdisp) <display-fill-column-indicator>
	<display-fill-column-indicator-character>: Doc fix.  (Bug#44226)

2020-10-26  Mattias Engdegård  <mattiase@acm.org>

	Don't consider play-sound-file to be a 'safe' function (bug#44018)

	While there are currently no known security holes in play-sound-file,
	the attack surface is considerable and historically audio file
	processing has had more than its share of security problems; the
	benefit to risk ratio is low.

	* lisp/emacs-lisp/unsafep.el: Don't mark play-sound-file as safe.

2020-10-25  Andrea Corallo  <akrl@sdf.org>

	Fix defsubst effectiveness (bug#44209)

	* lisp/emacs-lisp/byte-run.el (defsubst): Fix macro definition.
	* test/src/comp-tests.el (comp-test-defsubst): New testcase.
	* test/src/comp-test-funcs.el (comp-test-defsubst-f): New
	function.

2020-10-25  Andrea Corallo  <akrl@sdf.org>

	Fix a function for native compilation in cc-bytecomp.el

	* lisp/progmodes/cc-bytecomp.el
	(cc-bytecomp-compiling-or-loading): Update for native compilation.

2020-10-25  Stefan Kangas  <stefan@marxist.se>

	Add section "Replacing Match" to the regexp shortdoc group

	* lisp/emacs-lisp/shortdoc.el (regexp): New section "Replacing Match".

2020-10-25  Stefan Kangas  <stefan@marxist.se>

	Remove some Emacs 19 compat code and references

	* lisp/progmodes/sql.el:
	* lisp/mh-e/mh-show.el (mh-display-msg): Remove Emacs 19 compat code.
	* lisp/emacs-lisp/edebug.el (edebug-mark-marker): Make into
	obsolete alias for mark-marker.
	(edebug--display-1, edebug-bounce-point)
	(edebug-outside-excursion): Adjust callers.
	* lisp/net/snmp-mode.el:
	* lisp/forms.el: Remove references to Emacs 19.
	(forms-use-text-properties): Doc fix.

2020-10-25  Eli Zaretskii  <eliz@gnu.org>

	Improve support for shaping Egyptian Hieroglyphs

	* src/composite.c (composition_gstring_lookup_cache): Renamed from
	gstring_lookup_cache and made external.  All callers changed.
	* src/composite.h (composition_gstring_lookup_cache): Add
	prototype.
	* src/font.c (Ffont_shape_gstring): Call
	composition_gstring_lookup_cache and return the cached composition
	if it is already in the cache.

	* lisp/language/misc-lang.el (egyptian-shape-grouping): New
	function.
	(composition-function-table): Use egyptian-shape-grouping in
	setting up compositions for Egyptian Hieroglyphs.  Fix the
	composition setup for horizontal and vertical joiners.

2020-10-25  Andrea Corallo  <akrl@sdf.org>

	Fix ELC+ELN vs ELC prefix while building non AoT native compiled files

	* lisp/Makefile.in (am__v_ELC_0): Set it correctly when
	NATIVE_DISABLED is 1.

2020-10-25  Mattias Engdegård  <mattiase@acm.org>

	Better file name in dynvars-check example

	* doc/lispref/variables.texi (Converting to Lexical Binding):
	Don't suggest an aggregate file name that matches the glob used when
	generating it.

2020-10-25  Andrea Corallo  <akrl@sdf.org>

	Report warnings and errors from native asynchronous compilation (bug#44168)

	* lisp/emacs-lisp/comp.el (comp-last-scanned-async-output): New
	buffer local variable.
	(comp-accept-and-process-async-output): New function.
	(comp-run-async-workers): Use
	`comp-accept-and-process-async-output'.

2020-10-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix syntax error in message-add-openpgp-header

	* lisp/gnus/message.el (message-add-openpgp-header): Remove
	redundant (and syntactically wrong) check.

2020-10-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem when replacing the final char in checkdoc

	* lisp/emacs-lisp/checkdoc.el (checkdoc-autofix-ask-replace):
	Ensure that the end-of-doc-string marker is really at the end,
	even if we replace the final " char in the string (bug#44201).

2020-10-25  Michael Albinus  <michael.albinus@gmx.de>

	* INSTALL: Mention efaq.texi for installation of intlfonts.

2020-10-25  Andrea Corallo  <akrl@sdf.org>

	Fix `comp-dry-run' effectiveness

	* lisp/emacs-lisp/comp.el (comp-compile-ctxt-to-file): Remove
	`comp-dry-run' guard.
	(comp-final): And move it here so is effective for interactive
	sessions and non.

2020-10-25  Philipp Stephani  <phst@google.com>

	Revert commit 1f44a776729adf9c6468a76f8310616fde62eeaa for XRef.

	XRef supports Emacs versions back to Emacs 26.3, so it can’t use newer
	functions such as ‘ert-resource-directory’.

	* test/lisp/progmodes/xref-tests.el (xref-tests-data-dir): Don’t use
	‘ert-resource-directory’

2020-10-25  Philipp Stephani  <phst@google.com>

	Revert commit 1f44a776729adf9c6468a76f8310616fde62eeaa for Flymake.

	Flymake supports all Emacs versions back to 26.1, so it can’t use
	‘ert-resource-file’.

	* test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
	Recreate.
	(flymake-tests--call-with-fixture): Stop using ‘ert-resource-file’.

2020-10-25  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
	    Qiantan Hong  <qhong@mit.edu>

	Use WebKit sandboxing

	* src/xwidget.c (Fmake_xwidget): Enable sandboxing if WebKit 2.26
	or later.  Do this early, as required for sandboxing (Bug#43071).

2020-10-25  Stefan Kangas  <stefan@marxist.se>

	Add shortdoc group for alist

	* lisp/emacs-lisp/shortdoc.el (alist): New shortdoc group.

2020-10-25  Stefan Kangas  <stefan@marxist.se>

	Add shortdoc group for hash-table

	* lisp/emacs-lisp/shortdoc.el (hash-table): New shortdoc group.

2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	Minor doprnt cleanup: remove memchr call

	* src/doprnt.c (doprnt): Remove unnecessary call to memchr.

2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	Rename doprnt_nul to doprnt_non_null_end

	* src/doprnt.c (doprnt_non_null_end): Rename from doprnt_nul,
	as the old name was misleading (left over from a previous proposal).
	Caller changed.

2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	Improve doprnt performance

	This patch implements some of my suggestions in Bug#8545,
	with further changes suggested by Eli Zaretskii (Bug#43439).
	* src/doprnt.c: Improve comments.
	(SIZE_BOUND_EXTRA): Now at top level, for parse_format_integer.
	(parse_format_integer): New static function, containing some of
	the old doprnt.  Fix a bug that caused doprnt to infloop on
	formats like "%10s" that Emacs does not use.  We could simplify
	doprnt further if we dropped support for these never-used formats.
	(doprnt_nul): New function.
	(doprnt): Use it.  Change doprnt API to exit when either it finds NUL
	or reaches the character specified by FORMAT_END.  In the typical case
	where FORMAT_END is null, take just one pass over FORMAT, not two.
	Assume C99 to make code clearer.  Do not use malloc or alloca to
	allocate a copy of the format FMTCPY; instead, use a small fixed-size
	array FMTSTAR, and use '*' in that array to represent width and
	precision, passing them as separate int arguments.  Use eassume to
	pacify GCC in switch statements.

2020-10-24  Mauro Aranda  <maurooaranda@gmail.com>

	Warn about a bad default value in restricted-sexp widget

	* lisp/wid-edit.el (restricted-sexp widget): New :value-to-external
	function.  If value is not in the internal format, then we might be
	dealing with a bad default value for the widget, so display a warning
	about that (bug#25152).

2020-10-24  João Távora  <joaotavora@gmail.com>

	Rework semantics of eldoc-echo-are-use-multiline-p

	Per bug#43543.  Now uses logical lines, not visual lines.

	* lisp/emacs-lisp/eldoc.el (eldoc-echo-area-use-multiline-p): Rework
	semantics.
	(eldoc--echo-area-substring): New helper.
	(eldoc--echo-area-prefer-doc-buffer-p): New helper.
	(eldoc-display-in-echo-area): Rework using new helpers.

2020-10-24  João Távora  <joaotavora@gmail.com>

	Rename ElDoc user option controlling display of truncation notice

	The new name makes it consistent with other variables controlling the
	display of ElDoc documentation in the echo area.

	Per bug#43543.

	* etc/NEWS (Eldoc): Rename eldoc-display-truncation-message to
	eldoc-echo-area-display-truncation-message.

	* lisp/emacs-lisp/eldoc.el
	(eldoc-echo-area-display-truncation-message): Rename from
	eldoc-display-truncation-message.
	(eldoc-display-in-echo-area): Use new variable name.

2020-10-24  João Távora  <joaotavora@gmail.com>

	Rework eldoc-echo-area-prefer-doc-buffer (bug#42532)

	* lisp/emacs-lisp/eldoc.el:
	(eldoc-echo-area-prefer-doc-buffer): Rename from
	eldoc-echo-area-prefer-doc-buffer
	(eldoc-display-in-echo-area): Rework to honor
	eldoc-echo-area-prefer-doc-buffer.

2020-10-24  João Távora  <joaotavora@gmail.com>

	Introduce eldoc-display-functions

	See bug#43609.

	* lisp/emacs-lisp/eldoc.el (eldoc--request-state): Add comment.
	(eldoc--last-request-state): No longer buffer-local.
	(eldoc--request-docs-p): Delete.
	(eldoc-display-functions): New user variable.
	(eldoc--doc-buffer-docs): New variable.
	(eldoc-display-message-p): Rework.
	(eldoc--format-doc-buffer): Rework from eldoc--handle-docs.
	(eldoc-display-in-echo-area, eldoc-display-in-buffer): New
	user-visible function.
	(eldoc--invoke-strategy): Take INTERACTIVE arg.
	Invoke eldoc-display-in-buffer
	(eldoc-print-current-symbol-info): Simplify.
	(Version): Bump to 1.11.0

	* etc/NEWS: Mention eldoc-display-functions.

2020-10-24  Stefan Kangas  <stefan@marxist.se>

	Re-introduce variable for world clock timer

	* lisp/time.el (world-clock--timer): New variable.
	(world-clock): Save timer to above variable when it is started.
	(world-clock-cancel-timer): Delete timer saved in variable instead of
	searching for the function name.

2020-10-24  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in several language support libraries

	* lisp/language/burmese.el:
	* lisp/language/cham.el:
	* lisp/language/czech.el:
	* lisp/language/georgian.el:
	* lisp/language/greek.el:
	* lisp/language/khmer.el:
	* lisp/language/romanian.el:
	* lisp/language/sinhala.el:
	* lisp/language/slovak.el:
	* lisp/language/tai-viet.el:
	* lisp/language/vietnamese.el: Use lexical-binding.

2020-10-24  Michael Albinus  <michael.albinus@gmx.de>

	Accept nil COMMAND in tramp-sh-handle-make-process (Bug#44151)

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Accept nil
	COMMAND.  (Bug#44151)

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process):
	Extend test.

2020-10-24  Stefan Kangas  <stefan@marxist.se>

	Revert "Use lexical-binding in bindat.el"

	This reverts commit a497b8e4a41e3223089654da4b36d0fdd51ce555.

	This conversion to lexical-binding broke the eval specification,
	documented in the ELisp manual.  We will probably want to add tests
	for that before we can confidently convert this to lexical-binding.
	Problem reported by Mattias Engdegård <mattiase@acm.org>.

2020-10-24  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in most term libraries

	* lisp/term/AT386.el:
	* lisp/term/internal.el:
	* lisp/term/iris-ansi.el:
	* lisp/term/lk201.el:
	* lisp/term/news.el:
	* lisp/term/rxvt.el:
	* lisp/term/sun.el:
	* lisp/term/tvi970.el:
	* lisp/term/wyse50.el: Use lexical-binding.

2020-10-24  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in copyright.el and add tests

	* lisp/emacs-lisp/copyright.el: Use lexical-binding.  Remove
	redundant :group args.
	* test/lisp/emacs-lisp/copyright-tests.el: New file.

2020-10-24  Stefan Kangas  <stefan@marxist.se>

	* test/manual/image-transforms-tests.el: Use lexical-binding.

2020-10-24  Stefan Kangas  <stefan@marxist.se>

	Move faces.el test data to follow our conventions

	* test/lisp/faces-tests.el (ert-x): Require.
	(faces--test-data-dir): Remove variable.
	(faces--test-extend-with-themes): Use ert-resource-directory.
	* test/lisp/faces-resources/*: Moved from test/data/themes/*.

2020-10-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix tramp-sh-handle-make-process; don't merge with master

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Accept nil
	COMMAND.  (Bug#44151)

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process):
	Extend test.

2020-10-24  Jared Finder  <jared@finder.org>

	Fix a bug where the wrong menu would be triggered by mouse

	For layouts such as the following, clicking the "l" in Tools with the
	right window focused would trigger the File menu, not the Tools menu.
	This is because the event would have window coordinate (1 . 0).
	Similarly, clicking the "p" in Help would trigger the Edit menu.

	Example Emacs frame:
	+--------------------------------------------------------+
	|File Edit Options Buffers Tools Help                    |
	|;; This buffer is for text$|;; This buffer is for text $|
	|;; To create a file, visit$|;; To create a file, visit $|
	|                           |                            |
	|                           |                            |
	|-UUU:----F1  *scratch*     |-UUU:----F1  *scratch*      |
	|                                                        |
	+--------------------------------------------------------+
	* lisp/menu-bar.el (menu-bar-open-mouse): Reject clicks not on
	the menu bar.
	*lisp/xt-mouse.el (xterm-mouse-event): Pass the current frame to
	'posn-at-x-y', to make the effect consistent with other mouse-handling
	features.

2020-10-24  Jared Finder  <jared@finder.org>

	Enable TTY menus with xterm-mouse-mode

	* lisp/tmm.el: No need to bind 'tmm-menubar-mouse' to mouse clicks
	on the menu bar.
	* lisp/menu-bar.el (global-map): Bind 'menu-bar-open-mouse' to
	mouse click on menu bar.  This is needed in xt-mouse.

	* etc/NEWS: Announce TTY menu support in xterm-mouse-mode.

2020-10-24  Jared Finder  <jared@finder.org>

	Make TTY menus work with xterm-mouse-mode

	* src/term.c (mouse_get_xy): Call 'mouse_position' passing it the
	value of 'tty-menu-calls-mouse-position-function' as the
	argument.
	(syms_of_term) <tty-menu-calls-mouse-position-function>: New
	DEFVAR_BOOL.
	* src/frame.c (mouse_position): New function, with most of the
	code from Fmouse_position, but call 'mouse-position-function' only
	if called with non-zero argument.
	(Fmouse_position): Call 'mouse_position' to do the job.

	* lisp/xt-mouse.el (xterm-mouse-translate-1): Respect
	'track-mouse'.
	(xterm-mouse-mode): Set 'tty-menu-calls-mouse-position-function'
	when setting 'mouse-position-function'.
	(xterm-mouse-tracking-enable-sequence): Use SET_ANY_EVENT_MOUSE
	(0x1003) so that mouse movement can be reported even if no buttons
	are pressed.  Doc fix.
	* lisp/menu-bar.el (menu-bar-define-mouse-key): New function.
	(tty-menu-navigation-map): Call it.

	* doc/lispref/frames.texi (Mouse Position): Document
	'tty-menu-calls-mouse-position-function'.

	* etc/NEWS: Announce 'tty-menu-calls-mouse-position-function'.

2020-10-24  Jared Finder  <jared@finder.org>

	Adding mouse controls to menu-bar.el.

	* lisp/isearch.el (tmm-menubar-keymap): Remove declare-function.
	* lisp/menu-bar.el (menu-bar-open-mouse, menu-bar-keymap)
	(menu-bar-current-active-maps, menu-bar-item-at-x): New functions.
	*lisp.tmm.el (tmm-menubar-keymap, tmm-get-keybind): Functions
	deleted.
	(tmm-menubar): Call 'menu-bar-item-at-x'.

2020-10-24  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in image.c for MS-Windows

	* src/image.c [LIBRSVG_CHECK_VERSION (2, 46, 0)]: Define
	prototype for rsvg_handle_get_geometry_for_layer.
	(init_svg_functions) [LIBRSVG_CHECK_VERSION (2, 46, 0)]: Load
	rsvg_handle_get_geometry_for_layer from the DLL, instead of
	rsvg_handle_get_dimensions.
	(rsvg_handle_get_geometry_for_layer) [LIBRSVG_CHECK_VERSION (2, 46, 0)]:
	Define macro.  (Bug#44065)

2020-10-24  Stefan Kangas  <stefan@marxist.se>

	Fix a broken unsafep test

	* test/lisp/emacs-lisp/unsafep-tests.el
	(test-unsafep/message): Fix test case.

	(unsafep-tests--safe): Rename from testcover-unsafep-safe.
	(unsafep-tests--unsafe): Rename from testcover-unsafep-unsafe.
	(test-unsafep/safe, test-unsafep/unsafe): Doc fix.  Adjust usage
	of above renamed variables.

2020-10-24  Stefan Kangas  <stefan@marxist.se>

	Move epg.el test data to follow our conventions

	* test/lisp/epg-tests.el (ert-x): Require.
	(epg-tests-data-directory): Remove variable.
	(with-epg-tests): Use ert-resource-file.
	* test/lisp/epg-resources/*: Moved from test/data/epg/.

2020-10-24  Stefan Kangas  <stefan@marxist.se>

	Move shr.el test data to follow our conventions

	* test/lisp/net/shr-tests.el (ert, ert-x): Require.
	(shr-tests--datadir): Remove variable.
	(shr-test, rendering): Use ert-resource-directory.
	* test/lisp/net/shr-resources/*: Move from test/data/shr/.

2020-10-24  Stefan Kangas  <stefan@marxist.se>

	Move mml-sec.el test data to follow our conventions

	* test/lisp/gnus/mml-sec-tests.el (ert-x): Require.
	(mml-secure-test-fixture, mml-sec-test--kill-gpg-agent):
	Use ert-resource-directory.
	* test/lisp/gnus/mml-sec-resources/*: Moved from test/data/mml-sec/.
	* .gitignore: Update location of moved file "random_seed".

2020-10-23  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-10-23  Stefan Kangas  <stefan@marxist.se>

	Move more test data to follow our conventions

	* test/data/minibuffer-test-cttq$tion: Move from here...
	* test/lisp/minibuffer-resources/data/minibuffer-test-cttq$tion:
	...to here.
	* test/lisp/minibuffer-resources/lisp/cedet/semantic-utest-c.test:
	* test/lisp/minibuffer-resources/lisp/cedet/semantic-utest.test:
	New files.
	* test/lisp/minibuffer-tests.el (ert, ert-x): Require.
	(completion-table-test-quoting): Use ert-resource-directory.

	* test/data/net/cert.pem:
	* test/data/net/key.pem: Move from here...
	* test/lisp/net/network-stream-resources/cert.pem:
	* test/lisp/net/network-stream-resources/key.pem: ...to here.
	* test/lisp/net/network-stream-tests.el (ert, ert-x): Require.
	(network-stream-tests--datadir): Remove variable.
	(make-tls-server): Use ert-resource-file.

	* test/data/vc/diff-mode/hello_emacs.c:
	* test/data/vc/diff-mode/hello_emacs_1.c:
	* test/data/vc/diff-mode/hello_world.c:
	* test/data/vc/diff-mode/hello_world_1.c: Move from here...
	* test/lisp/vc/diff-mode-resources/hello_emacs.c:
	* test/lisp/vc/diff-mode-resources/hello_emacs_1.c:
	* test/lisp/vc/diff-mode-resources/hello_world.c:
	* test/lisp/vc/diff-mode-resources/hello_world_1.c: ...to here.
	* test/lisp/vc/diff-mode-tests.el (ert, ert-x): Require.
	(diff-mode-tests--datadir): Remove variable.
	(diff-mode-test-font-lock-syntax-one-line)
	(diff-mode-test-font-lock): Use ert-resource-directory.

	* test/data/xdg/l10n.desktop:
	* test/data/xdg/malformed.desktop:
	* test/data/xdg/mimeapps.list:
	* test/data/xdg/mimeinfo.cache:
	* test/data/xdg/test.desktop: Move from here...
	* test/lisp/xdg-resources/l10n.desktop:
	* test/lisp/xdg-resources/malformed.desktop:
	* test/lisp/xdg-resources/mimeapps.list:
	* test/lisp/xdg-resources/mimeinfo.cache:
	* test/lisp/xdg-resources/test.desktop: ...to here.
	* test/lisp/xdg-tests.el (ert-x): Require.
	(xdg-tests-data-dir): Remove variable.
	(xdg-desktop-parsing, xdg-mime-associations): Use ert-resource-file.

2020-10-23  Michael Albinus  <michael.albinus@gmx.de>

	Fix error in tramp-sh-handle-make-process

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Don't use heredoc
	script when the argument contains a string.

2020-10-23  Stefan Kangas  <stefan@marxist.se>

	Move some test data to follow our conventions

	* test/data/emacs-module/mod-test.c: Move from here...
	* test/src/emacs-module-resources/mod-test.c: ...to here.
	* test/src/emacs-module-tests.el (ert-x): Require.
	(mod-test-file, module/describe-function-1):
	* test/Makefile.in (test_module_dir): Adjust for move.

	* test/data/files-bug18141.el.gz: Move from here...
	* test/lisp/files-resources/files-bug18141.el.gz: ... to here.
	* test/lisp/files-tests.el (ert-x): Require.
	(files-test-bug-18141-file): Use ert-resource-file.

	* test/data/mailcap/mime.types: Move from here...
	* test/lisp/net/mailcap-resources/mime.types: ...to here.
	* test/lisp/net/mailcap-tests.el (ert-x): Require.
	(mailcap-tests-path): Use ert-resource-file.

	* test/data/somelib.el:
	* test/data/somelib2.el: Move from here...
	* test/src/lread-resources/somelib.el:
	* test/src/lread-resources/somelib2.el: ...to here.
	* test/src/lread-tests.el (ert, ert-x): Require.
	(lread-test-bug26837): Use ert-resource-directory.

	* test/data/syntax-comments.txt: Move from here....
	* test/src/syntax-resources/syntax-comments.txt: ...to here.
	* test/src/syntax-tests.el (ert-x): Require.
	(syntax-comments, syntax-br-comments, syntax-pps-comments):
	Use ert-resource-file.

	* test/data/xref/file1.txt:
	* test/data/xref/file2.txt: Move from here...
	* test/lisp/progmodes/xref-resources/file1.txt:
	* test/lisp/progmodes/xref-resources/file2.txt: ...to here.
	* test/lisp/progmodes/xref-tests.el (ert, ert-x): Require.
	(xref-tests-data-dir): Use ert-resource-directory.

2020-10-23  Eli Zaretskii  <eliz@gnu.org>

	Set up composition-function-table for Egyptian

	* lisp/language/misc-lang.el (composition-function-table): Set up
	for Egyptian Hieroglyphs.

2020-10-23  Eli Zaretskii  <eliz@gnu.org>

	Remove most of charset markup from etc/HELLO

	For the reasons, see the discussion that started in
	https://lists.gnu.org/archive/html/emacs-devel/2018-12/msg00407.html
	and its conclusion in
	https://lists.gnu.org/archive/html/emacs-devel/2019-01/msg00144.html.
	The only markup left is in the preamble, just to show the example
	of this facility.

2020-10-23  Olivier Certner  <ocert.dev@free.fr>  (tiny change)

	ERC: Fix ERC's IBuffer format "crash" on killed server buffer

	* lisp/erc/erc-ibuffer.el (erc-server-name): Fix a crash when
	displaying (or updating) an IBuffer buffer using ERC's first IBuffer
	format.  This happens when one ERC buffer has its associated server
	buffer killed, e.g., voluntarily or automatically after server
	disconnection when `erc-kill-server-buffer-on-quit' is set to t.  The
	culprit is the "Server" column, which returns nil in this case.
	Display "(closed)" instead (bug#44156).

2020-10-23  Ruthra Kumar  <ruthrab@gmail.com>

	Add support for squashfs files in archive mode

	* lisp/arc-mode.el (archive-squashfs-extract): New variable
	(bug#43827).
	(archive-find-type): Identify squashfs.
	(archive-squashfs-summarize, archive-squashfs-extract-by-stdout):
	New functions to parse/extract squashfs.

	* lisp/files.el (auto-mode-alist): Add squashfs.

2020-10-23  Ulf Jasper  <ulf.jasper@web.de>

	Move icalendar test data to test/lisp/calendar/icalendar-resources

	* test/lisp/calendar/icalendar-tests.el (ert-x): Required for
	'ert-resource-file'.
	(icalendar-tests--data-dir): Removed.
	(icalendar-tests--get-file-contents): Use 'ert-resource-file' for
	finding test data files.
	* test/data/icalendar/*: Moved to test/lisp/calendar/icalendar-resources/.
	* test/lisp/calendar/icalendar-resources/*: Moved from test/data/icalendar.

2020-10-23  Stefan Kangas  <stefan@marxist.se>

	Clean up temporary files after package tests

	* test/lisp/emacs-lisp/package-tests.el (with-package-test): Remove
	temporary files after test.  (Bug#43359)

2020-10-23  Mattias Engdegård  <mattiase@acm.org>

	Use lexical binding in ffap.el

	* lisp/ffap.el (ffap-search-backward-file-end): Remove binding for
	variable shadowing an optional (and never used) argument.
	(ffap--gopher-var-on-line): Remove unused variable.

2020-10-23  Stefan Kangas  <stefan@marxist.se>

	* lisp/emacs-lisp/pcase.el: Add "extensions" to keyword header.

	Merge branch 'scratch/substitute-command-keys'

2020-10-22  Juri Linkov  <juri@linkov.net>

	* etc/HELLO: Use JavaScript for Javanese script (bug#43887)

2020-10-22  Alan Third  <alan@idiocy.org>

	Fix SVG image dimension calculations (bug#44065)

	* src/image.c (svg_load_image): Calculate the image size by using the
	viewBox size and applying it to the image.
	* etc/PROBLEMS: Describe the problem with librsvg 2.45 and below.

2020-10-22  Alan Third  <alan@idiocy.org>

	Fix crash when no face is defined (bug#44058, bug#43973)

	* src/nsterm.m (ns_clear_under_internal_border): If face is null,
	don't try drawing anything.

2020-10-22  Stefan Kangas  <stefan@marxist.se>

	Remove incorrect use of decode-coding-string

	* test/lisp/emacs-lisp/bindat-tests.el
	(bindat-test-pack/multibyte-string-fails)
	(bindat-test-unpack/multibyte-string-fails): Don't use
	decode-coding-string.
	Problem pointed out by Stefan Monnier <monnier@iro.umontreal.ca>.

2020-10-22  Stefan Kangas  <stefan@marxist.se>

	Recommend lexical-binding in Coding Conventions

	* doc/lispref/tips.texi (Coding Conventions, Library Headers):
	Recommend using lexical-binding.

2020-10-22  Andreas Schwab  <schwab@linux-m68k.org>

	eww: don't add keymap to <a> without href

	* lisp/net/eww.el (eww-tag-a): Only add keymap if the href
	attribute is present.  (Bug#44147)

2020-10-22  Stefan Kangas  <stefan@marxist.se>

	Add missed file needed by time-tests.el

	* test/lisp/time-resources/non-empty: New file.  This file is needed
	by time-tests.el but was missed when it was committed.

2020-10-22  Mattias Engdegård  <mattiase@acm.org>

	Remove useless uses of bindat-get-field

	* lisp/progmodes/gdb-mi.el (gdb-var-list-children-handler)
	(gdb-edit-register-value): bindat-get-field with a single argument is
	identity; remove.

2020-10-22  Stefan Kangas  <stefan@marxist.se>

	Add tests for perl-mode.el

	* test/lisp/progmodes/perl-mode-tests.el: New file.

2020-10-22  Ulf Jasper  <ulf.jasper@web.de>

	Move test data for icalendar tests to separate files.

	* test/lisp/calendar/icalendar-tests.el
	(icalendar-tests--data-dir, icalendar-tests--get-file-contents):
	New.
	(icalendar-tests--test-import, icalendar-tests--do-test-import):
	Read input and expected results from files.
	(icalendar-import-non-recurring, icalendar-import-rrule)
	(icalendar-import-duration, icalendar-import-bug-6766)
	(icalendar-import-bug-24199, icalendar-import-bug-33277)
	(icalendar-import-multiple-vcalendars, icalendar-import-with-uid)
	(icalendar-import-with-timezone, icalendar-real-world): Move test
	data (input and expected result) to separate files.

	* test/calendar/icalendar/*
	New files containing test data for icalendar tests.

2020-10-22  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in time-date.el and expand tests

	* lisp/calendar/time-date.el: Use lexical-binding.
	* test/lisp/calendar/time-date-tests.el
	(test-obsolete-with-decoded-time-value)
	(test-obsolete-encode-time-value, test-format-seconds)
	(test-days-to-time, test-seconds-to-string): New tests.
	(test-days-in-month, test-time-since, test-time-decoded-period):
	Expand test with a few more values.

2020-10-22  Mauro Aranda  <maurooaranda@gmail.com>

	Make State button interaction less confusing

	* lisp/cus-edit.el (custom-variable-current-value): New function.
	(custom-variable-backup-value): Use it.
	(custom-variable-set, custom-variable-mark-to-reset-standard): Check
	that old value is different than the new one.  If it is, make a
	backup.  This way, we avoid offering the Set to Backup Value
	unnecessarily.
	(custom-variable-reset-saved): Reset the variable-comment property for
	the variable, to help custom-variable-state be more correct.  Also
	check if we should backup old value.
	(custom-variable-state): If a variable was set to the standard value,
	say its state is standard rather than set, which is more correct.
	Getting the right variable state is important for menu options to be
	enabled/disabled, and for displaying the right message to the user
	(bug#12864).

2020-10-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Use HTTP instead of Tramp for the ffap rfc path (and also fix it)

	* lisp/ffap.el (ffap-rfc-path): Use an URL instead of an FTP tramp
	file, since that's more widely supported (bug#41663).

2020-10-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Comment JSX lines using JSX syntax

	* lisp/progmodes/js.el (js-jsx--comment-region): New function
	(bug#41696).
	(js-jsx-mode): Use it.

2020-10-22  Stefan Kangas  <stefan@marxist.se>

	Test for error with multibyte strings in bindat.el

	* test/lisp/emacs-lisp/bindat-tests.el
	(bindat-test-pack/multibyte-string-fails)
	(bindat-test-unpack/multibyte-string-fails): New tests.

2020-10-22  Mauro Aranda  <maurooaranda@gmail.com>

	Pretty print restricted sexp values too

	* lisp/wid-edit.el (restricted-sexp widget): Use
	widget-sexp-value-to-internal to pretty print the widget's value, when
	it is a valid one (bug#7524).

2020-10-22  Stefan Kangas  <stefan@marxist.se>

	Remove reference HP-UX 8.0 and 9.x bug from FAQ

	* doc/misc/efaq.texi (Meta key does not work in xterm): Remove section
	about a bug on HP-UX 8.0 and 9.x.  Support for these platforms were
	removed in 23.1.

2020-10-22  Stefan Kangas  <stefan@marxist.se>

	Remove two references to Emacs 21 from the FAQ

	* doc/misc/efaq.texi (Turning on syntax highlighting): Remove some
	references to Emacs 21 and older.

2020-10-22  Mauro Aranda  <maurooaranda@gmail.com>

	Allow moving members of editable-list widget, via delete+insert

	* etc/NEWS (Widget): Announce the feature (bug#6419).
	* lisp/wid-edit.el (widget-editable-list-delete-at): Save into a new
	widget property, :last-deleted, the WIDGET to be deleted.  Add
	docstring.
	(widget-editable-list-insert-before): If there is a recently deleted
	child for the editable list, insert that one, instead of a new default
	widget.  Add docstring.
	(insert-button widget): Make :help-echo a function to avoid the
	help-echo string become too long.
	(delete-button widget): Tweak the :help-echo string, to document this
	behavior.

	* test/lisp/wid-edit-tests.el (widget-test-moving-editable-list-item):
	Test the feature.

2020-10-22  Pip Cet  <pipcet@gmail.com>

	Handle Cairo errors in ftcrfont_open

	* src/ftcrfont.c (ftcrfont_open): Handle Cairo errors (bug#41627).

2020-10-22  Mattias Engdegård  <mattiase@acm.org>

	Use lexical binding in fortran.el

	* lisp/progmodes/fortran.el: Use lexical binding.
	(fortran-make-syntax-propertize-function): Hoist use of lexical
	variable to outside the 'eval' call.

2020-10-22  Mattias Engdegård  <mattiase@acm.org>

	* lisp/progmodes/cpp.el: Use lexical binding.

2020-10-22  Werner Lemberg  <wl@gnu.org>

	Update TUTORIAL.de

	This also includes the minor fix for bug #44123.

2020-10-21  Štěpán Němec  <stepnem@gmail.com>

	unload-feature: Correct doc string to match info manual and reality

	'unload-feature' doesn't try to "undo any additions the library has
	made" to hooks, it tries to remove functions defined by the library
	from hooks, no matter how they got there.

	* lisp/loadhist.el (unload-feature): Correct the doc string.
	* doc/lispref/loading.texi (Unloading): Clarify, fix typo.

2020-10-21  Štěpán Němec  <stepnem@gmail.com>

	unload-feature: Handle local hooks (bug#5293)

	Buffer-local hooks were introduced in

	1994-09-30T20:47:13+00:00!rms@gnu.org
	0e4d378b32 (add-hook): Initialize default value and local value.

	but 'unload-feature' has not been updated to handle them.

	* lisp/loadhist.el (unload-feature): Handle local hooks (bug#5293).

2020-10-21  Štěpán Němec  <stepnem@gmail.com>

	unload-feature: Improve logic (don't repeat computation)

	* lisp/loadhist.el (unload-feature): Don't do the same computation twice.

2020-10-21  Mattias Engdegård  <mattiase@acm.org>

	Convert artist.el to lexical binding

	* lisp/textmodes/artist.el (artist-system, (artist-flood-fill):
	Remove binding of the obsolete variables binary-process-input,
	binary-process-output and input-queue.
	(artist-down-mouse-1): Fix mistyped 'echo-keystrokes'; bind it to 0.
	(artist-fill-rect, artist-fill-square, artist-pen-set-arrow-points)
	(artist-spray-clear-circle, artist-spray-set-radius)
	(artist-draw-ellipse-with-0-height, artist-fill-ellipse)
	(artist-ff-is-topmost-line, artist-ff-is-bottommost-line)
	(artist-set-arrow-points-for-2points, artist-key-undraw-continously)
	(artist-key-undraw-poly, artist-key-undraw-1point)
	(artist-key-undraw-2points, artist-key-do-continously-1point)
	(artist-key-set-point-1point, artist-shift-has-changed)
	(artist-mouse-draw-continously, artist-mouse-draw-1point)
	(artist-submit-bug-report): Suppress warnings about unused parameters
	which are there for function signature commonality.  Remove unused
	variables.

2020-10-21  Eli Zaretskii  <eliz@gnu.org>

	Avoid rare crashes while producing line numbers

	* src/xdisp.c (maybe_produce_line_number): Prevent freeing of
	realized faces for as long as we are using lnum_face_id and
	current_lnum_face_id for producing glyphs.  (Bug#44111)

2020-10-21  Stefan Kangas  <stefan@marxist.se>

	Tweak two time.el tests

	* test/lisp/time-tests.el (time-tests-display-time-update--load)
	(time-tests-display-time-update): Tweak tests.

2020-10-21  Stefan Kangas  <stefan@marxist.se>

	* lisp/time.el: Use lexical-binding.

2020-10-21  Stefan Kangas  <stefan@marxist.se>

	Add tests for time.el

	* lisp/time.el (display-time-update--load)
	(display-time-update--mail): Extract from...
	(display-time-update): ...here.
	* test/lisp/time-tests.el: New file.

2020-10-21  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in bindat.el

	* lisp/emacs-lisp/bindat.el: Use lexical-binding.
	(bindat-raw, bindat-idx, bindat-unpack, bindat-pack): Adjust for
	lexical-binding.
	(bindat--unpack-group, bindat--length-group): Fix byte-compiler
	warning about unused variables last and vlen.
	(bindat--unpack-group, bindat--length-group, bindat--pack-group)
	(bindat-format-vector): Quote function symbols as such.

2020-10-21  Stefan Kangas  <stefan@marxist.se>

	Remove some compat code from uudecode.el and binhex.el

	* lisp/mail/uudecode.el (uudecode-char-int): Make obsolete.
	(uudecode-decode-region-internal): Adjust callers.
	* lisp/mail/binhex.el (binhex-char-int): Make obsolete.
	(binhex-string-big-endian, binhex-string-little-endian)
	(binhex-header): Adjust callers.

2020-10-21  Stefan Kangas  <stefan@marxist.se>

	Declare old compat aliases in tcl.el obsolete

	* lisp/progmodes/tcl.el (tcl-uncomment-region)
	(tcl-indent-for-comment, add-log-tcl-defun, indent-tcl-exp)
	(calculate-tcl-indent, tcl-beginning-of-defun, tcl-end-of-defun)
	(tcl-mark-defun, tcl-mark): Make obsolete.

2020-10-21  Stefan Kangas  <stefan@marxist.se>

	Add some top level domains

	* lisp/mail/mail-extr.el (mail-extr-all-top-level-domains): Add
	some geographic domains.

2020-10-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Add emoji to etc/HELLO"

	This reverts commit a1fcdeec25be87e8f97ac5c14e6fbf6a4d1eb2d4.

	There was already an emoji in there.

2020-10-21  Stefan Kangas  <stefan@marxist.se>

	* test/lisp/vc/vc-bzr-tests.el: Use lexical-binding.

2020-10-21  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in files-x-tests.el

	* test/lisp/files-x-tests.el: Use lexical-binding.
	(remote-null-device): Declare.

2020-10-21  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in iso-ascii.el

	* lisp/international/iso-ascii.el: Use lexical-binding.  Remove
	redundant :group args.

2020-10-21  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in hfy-cmap.el and add tests

	* lisp/hfy-cmap.el: Use lexical-binding.
	(hfy-cmap--parse-buffer): Extract from...
	(htmlfontify-load-rgb-file): ...here.

	* test/lisp/hfy-cmap-resources/rgb.txt:
	* test/lisp/hfy-cmap-tests.el: New files.

2020-10-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add emoji to etc/HELLO

2020-10-21  Michael Albinus  <michael.albinus@gmx.de>

	* etc/HELLO: Keep Javanese System.out.println("");

2020-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/outline.el: Use lexical-binding

	Remove redundant `group` arguments.
	(outline-level): Move before first use.
	(outline-mode): Use `setq-local`.
	(outline-isearch-open-invisible-function): Give it a non-nil default.

2020-10-20  Andrea Corallo  <akrl@sdf.org>

	Sanitize eln filename when native compiling single functions

	* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Fix
	temporary eln name generation.

	* test/src/comp-tests.el (free-fun-silly-name): New testcase.

2020-10-20  Andrea Corallo  <akrl@sdf.org>

	Have `native-compile' do not expose `with-late-load' parameter

	This is really for internal use only by deferred compilation.

	* lisp/emacs-lisp/comp.el (comp-trampoline-compile)
	(comp-run-async-workers): Make use of `comp--native-compile'.
	(comp--native-compile): New function.
	(native-compile, batch-native-compile): Make use of
	`comp--native-compile'.

2020-10-20  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in m4-mode.el

	* lisp/progmodes/m4-mode.el: Use lexical-binding.  Remove redundant
	:group args.
	* lisp/progmodes/m4-mode.el (m4-m4-buffer, m4-m4-region): Quote
	function symbols as such.

2020-10-20  Stefan Kangas  <stefan@marxist.se>

	Make more load-hooks obsolete (Bug#21563)

	* lisp/progmodes/dcl-mode.el (dcl-mode):
	* lisp/progmodes/idlw-complete-structtag.el: Recommend
	with-eval-after-load instead of load-hooks.
	* lisp/calc/calc-ext.el (calc-ext-load-hook):
	* lisp/emacs-lisp/bytecomp.el (bytecomp-load-hook):
	* lisp/emacs-lisp/cl-extra.el (cl-extra-load-hook):
	* lisp/emacs-lisp/cl-macs.el (cl-macs-load-hook):
	* lisp/emacs-lisp/cl-seq.el (cl-seq-load-hook):
	* lisp/gnus/message.el (message-load-hook):
	* lisp/gnus/nnheader.el (nnheader-load-hook):
	* lisp/gnus/nnmail.el (nnmail-load-hook):
	* lisp/progmodes/dcl-mode.el (dcl-mode-load-hook):
	* lisp/textmodes/tex-mode.el (tex-mode-load-hook):
	* lisp/whitespace.el (whitespace-load-hook): Obsolete for
	with-eval-after-load.  Note that these variables are never declared,
	but the byte-compiler will still warn about them if used.

2020-10-20  Stefan Kangas  <stefan@marxist.se>

	byte-compile-file: Make optional LOAD argument obsolete

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Declare optional
	LOAD argument obsolete.  Adjust callers.  (Bug#38072)
	(byte-recompile-file): Declare optional LOAD argument obsolete.
	* doc/lispref/compile.texi (Compilation Functions): Update
	documentation to reflect above obsoletion.
	* etc/NEWS: Announce above obsoletion.

2020-10-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Simplify regexp in last change to woman.el

	* lisp/woman.el (woman-decode-region): Use simpler character
	alternative instead of alternation.

2020-10-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Simplify syntax of shortdoc face specs

	* lisp/emacs-lisp/shortdoc.el: Remove unused dependency.
	(shortdoc-section, shortdoc-example): Use newer (DISPLAY . PLIST)
	face spec syntax.

2020-10-20  Stefan Kangas  <stefan@marxist.se>

	Tweak test data for signed package installation

	* test/lisp/emacs-lisp/package-resources/signed/signed-bad-1.0.el:
	* test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el:
	Use lexical-binding.
	* test/lisp/emacs-lisp/package-resources/signed/update-signatures.sh:
	New file.
	* test/lisp/emacs-lisp/package-resources/key.pub:
	* test/lisp/emacs-lisp/package-resources/key.sec: Add new key.
	* test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el.sig:
	* test/lisp/emacs-lisp/package-resources/signed/archive-contents.sig:
	Update signatures using new key.

2020-10-20  Mattias Engdegård  <mattiase@acm.org>

	* lisp/textmodes/picture.el: Use lexical binding.

2020-10-20  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in malformed Unicode escapes

	* src/lread.c (read_escape): Produce better diagnostic for
	malformed \u Unicode escapes, while avoiding assertion violation
	when READCHAR returns -1 because the input is exhausted.
	(Bug#44084)

2020-10-20  Stefan Kangas  <stefan@marxist.se>

	* lisp/language/utf-8-lang.el: Use lexical-binding.

2020-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the documentation for define-obsolete-variable-alias

	* doc/lispref/variables.texi (Variable Aliases): Actually describe
	the macro parameters (bug#44088).

	* lisp/emacs-lisp/byte-run.el (define-obsolete-variable-alias):
	Ditto (bug#44088).

2020-10-20  Masahiro Nakamura  <tsuucat@icloud.com>

	Fix some mpc.el updating quirks

	* lisp/mpc.el (mpc-songs-jump-to): Update the status buffer.

	* lisp/mpc.el (mpc-stop): M-x mpc-stop clears playlist queue. So
	updating *MPC-Songs* buffer is useful.

	* lisp/mpc.el (mpc-cmd-delete): I noticed M-x mpc-playlist-delete
	always messages “Deleted 1 songs” even if playlist queue has more
	than one songs.  This is because mpc-cmd-delete’s sort modifies
	songs-poss by side effect.  Using copy-sequence fixes this (bug#44093).
	* lisp/mpc.el (mpc-cmd-move): Ditto.

2020-10-20  Jim Blandy  <jimb@red-bean.com>

	Man highlighting: Don't occasionally bold entire sections.

	* lisp/ansi-color.el (ansi-color-apply-on-region): Always save a
	restart position in ansi-color-context-region if the region ends with
	highlighting active.

2020-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Preserve all `eval' elements from both .dir-locals files

	* lisp/files.el (dir-locals-read-from-dir): Preserve all `eval'
	elements from both .dir-locals files (bug#44066).

2020-10-20  Stefan Kangas  <stefan@marxist.se>

	* lisp/image-file.el: Use lexical-binding.

2020-10-20  Stefan Kangas  <stefan@marxist.se>

	Make a bookmark test more robust

	* test/lisp/bookmark-tests.el (bookmark-tests-insert-annotation):
	Make test more robust by not being timing dependent.

2020-10-19  Stefan Kangas  <stefan@marxist.se>

	Add command package-menu-filter-upgradable

	* lisp/emacs-lisp/package.el (package-menu-filter-upgradable):
	New command.  (Bug#41436)
	(package-menu-mode-map): Bind the new command.
	* doc/emacs/package.texi (Package Menu): Document the new command.

2020-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/python.el: Bump version to release the f-string support

2020-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/rfc2231.el (rfc2231-decode-encoded-string): Fix match data error

	Get (match-string 3 string) earlier, in case `mm-charset-to-coding-system`
	clobbers the match data.
	Also, check that `string-match` succeeded before using its match data.

2020-10-19  Protesilaos Stavrou  <info@protesilaos.com>

	Fix documentation of the Modus Themes (Bug#43944)

	* doc/misc/modus-themes.texi (Installation): Remove reference to MELPA.
	(Top)
	(Install from the archives, GNU Guix)
	(Load at a given time or at sunset/sunrise)
	(Configure options prior to loading, Command prompts)
	(Headings' font, Will NOT be supported): Fix spelling, wording,
	markup.
	(Acknowledgements): Spell contributor's surname correctly.

2020-10-19  Stefan Kangas  <stefan@marxist.se>

	Make auto-revert-mode tests run faster

	* test/lisp/autorevert-tests.el (auto-revert--timeout): Make into
	defun and shorten timeout by a factor 10.
	(auto-revert--wait-for-revert): Cut timeouts in half.
	(with-auto-revert-test): New macro to set timeout to 0.1.
	(auto-revert-tests--write-file): New defun.
	(auto-revert-test00-auto-revert-mode)
	(auto-revert-test01-auto-revert-several-files)
	(auto-revert-test02-auto-revert-deleted-file)
	(auto-revert-test03-auto-revert-tail-mode)
	(auto-revert-test04-auto-revert-mode-dired)
	(auto-revert-test05-global-notify)
	(auto-revert-test06-write-file): Adapt test to run faster.  Remove
	:expensive-test marks.

	This was discussed in:
	https://lists.gnu.org/r/emacs-devel/2020-10/msg01233.html

2020-10-19  Michael Albinus  <michael.albinus@gmx.de>

	Further clarification of directory-files* doc

	* doc/lispref/files.texi (Contents of Directories):
	Precise description of MATCH-REGEXP of directory-files.  Add
	directory-files-no-dot-files-regexp.

	* lisp/files.el (directory-files-no-dot-files-regexp): Revert last fix.

	* src/dired.c (Fdirectory_files)
	(Fdirectory_files_and_attributes): Fix wording in docstring.

2020-10-19  Mattias Engdegård  <mattiase@acm.org>

	Keep track of matching rules in compilation-mode

	When matching messages in compilation-mode, keep track of the rule
	employed for each match.  This facilitates debugging and allows us to
	verify that each test case really exercises the rule that we expect it
	to.

	Naturally this uncovered several test cases that didn't check what the
	author thought they did; the rules affixed to
	compile-tests--test-regexps-data are those actually used, so that the
	tests still pass.

	* lisp/progmodes/compile.el (compilation--message): Add 'rule' slot.
	(compilation-directory-properties, compilation-error-properties)
	(compilation-internal-error-properties, compilation-parse-errors)
	(compilation--compat-parse-errors): Set the rule slot.
	* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
	(compile-tests--grep-regexp-testcases)
	(compile-tests--grep-regexp-tricky-testcases): Add rules to test cases.
	(compile--test-error-line): Check that the rule matches what we expect.
	(compile-test-grep-regexps): Adapt to test case format.
	Remove now superfluous ert-info.

2020-10-19  Mattias Engdegård  <mattiase@acm.org>

	Hoist some loop-invariant variable bindings in compile.el

	* lisp/progmodes/compile.el (compilation-parse-errors):
	Hoist the binding of case-fold-search and a memq call out of
	the loop, eliminating a minor but unnecessary quadratic term.

2020-10-19  Stefan Kangas  <stefan@marxist.se>

	* lisp/info.el: Remove redundant :group args.

2020-10-19  Stefan Kangas  <stefan@marxist.se>

	Improve Info-streamline-headings defaults

	* lisp/info.el (Info-streamline-headings): Improve defaults.  These
	produce somewhat more consistent results on my system, and seems
	slightly more in line with current GNU practices.  For example, gcc
	uses the "Software development" heading instead of "Programming".

2020-10-19  dickmao  <none>

	`ffap-gopher-at-point' interminable without newlines

	* lisp/ffap.el (ffap-gopher-at-point): Stop when we get to the end
	of the buffer.
	* test/lisp/ffap-tests.el (ffap-test-no-newlines): Ensure
	termination for corner case (bug#44048).

2020-10-19  Robert Pluim  <rpluim@gmail.com>

	Explain difference between Unicode and Emacs scripts

	* doc/lispref/nonascii.texi (Character Properties): Document that
	Emacs' scripts and Unicode's scripts do not necessarily
	correspond.

2020-10-19  Harald Jörg  <haj@posteo.de>

	cperl-mode: Delete a misleading comment, add tests for verification

	* lisp/progmodes/cperl-mode.el: Delete a comment which explains a
	bug which has been fixed a long time ago (bug#44073).
	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-mode-fontify-punct-vars): Add regression tests to verify
	that fontification of punctuation variables doesn't start strings.

2020-10-19  Yuan Fu  <casouri@gmail.com>

	Handle "Before first headings" error in outline-cycle

	* lisp/outline.el (outline-before-first-heading): New error.
	(outline-back-to-heading): Signal the new error.
	(outline-cycle): Ignore the error.
	(outline-cycle-buffer): Simply pass 1 to 'outline-hide-sublevels'
	(bug#41130).

2020-10-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Ffunction doc string clarification

	* src/eval.c (Ffunction): Mention that `function' isn't quite like
	`quote' in non-bytecompile circumstances, too (bug#41864).

2020-10-19  Michael Albinus  <michael.albinus@gmx.de>

	* src/dired.c (Fdirectory_files, Fdirectory_files_and_attributes):

	Adapt docstring.

2020-10-19  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/files.el (directory-files-no-dot-files-regexp): Adapt docstring.

2020-10-18  Juri Linkov  <juri@linkov.net>

	Add new choice 'keep' to next-error-message-highlight (bug#32676)

	* lisp/simple.el (next-error-message-highlight): Add new choice 'keep'.
	(next-error-message-highlight): Don't delete overlay when option is 'keep'.

2020-10-18  Juri Linkov  <juri@linkov.net>

	* etc/HELLO: Add Belarusian and use Javanese script for Javanese (bug#43887)

2020-10-18  Stefan Kangas  <stefan@marxist.se>

	Add "Old-" prefix to "Version" header in more cases

	These version numbers are historical accidents and not relevant today.
	Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html

2020-10-18  Stefan Kangas  <stefan@marxist.se>

	Prefer Lisp version of describer in help--describe-vector

	* src/keymap.c (Fhelp__describe_vector):
	* lisp/help.el (describe-map): Use Lisp versions of describe_command
	and describe_translation.
	* src/keymap.c (describe_command, describe_translation): Remove.
	(describe_vector_basic): New function.

2020-10-18  Stefan Kangas  <stefan@marxist.se>

	Remove C version of substitute-command-keys

	* src/doc.c (Fsubstitute_command_keys_old): Remove.
	(syms_of_doc): Remove defsubr for Fsubstitute_command_keys_old.
	* src/keymap.c (describe_map, describe_map_tree)
	(describe_map_compare, describe_map_elt): Remove.
	* src/keymap.h: Remove 'describe_map_tree'.
	* test/lisp/help-tests.el (with-substitute-command-keys-test)
	(help-tests-substitute-command-keys/compare)
	(help-tests-substitute-command-keys/compare-all):
	Don't test the C version of 'substitute-command-keys' removed
	above.

2020-10-18  Stefan Kangas  <stefan@marxist.se>

	Prefer Lisp version of describe-map-tree

	This is a prerequisite to remove the old C functions, and gives a
	measured 3 ms slowdown on my machine, from 0.27s to 0.30s per call to
	describe-buffer-bindings (average over 50 calls).

	* src/keymap.c (Fdescribe_buffer_bindings): Call Lisp function
	describe-map-tree instead of C function describe_map_tree.

2020-10-18  Stefan Kangas  <stefan@marxist.se>

	Improve substitute-command-keys performance

	The previous conversion of describe_vector from C to Lisp for the
	keymap and char table case lead to an unacceptable performance hit.
	Moving back to the C version, as we do here, makes this function
	around 50 times faster.

	The Lisp version of `substitute-command-keys' was benchmarked using
	the form `(documentation 'dired-mode)', which now takes less than 8 ms
	on my machine.  This is around 16 times slower than the previous C
	version.

	Thanks to Stefan Monnier for helpful pointers on benchmarking.

	* src/keymap.c (Fhelp__describe_vector): New defun to expose
	describe_vector to Lisp for keymaps and char tables.
	(syms_of_keymap): New defsubr for Fhelp__describe_vector.
	* lisp/help.el (describe-map): Use above defun instead of Lisp
	version.
	(help--describe-vector): Remove defun; keep it commented out for now.

2020-10-18  Stefan Kangas  <stefankangas@gmail.com>

	Translate describe_vector to Lisp

	* lisp/help.el (help--describe-vector): New Lisp implementation of
	describe_vector.
	* src/keymap.c (Fdescribe_vector_internal): Remove defun.
	(syms_of_keymap): Remove defsubr for Fdescribe_vector_internal.

2020-10-18  Stefan Kangas  <stefankangas@gmail.com>

	Translate describe_map to Lisp

	Third step in converting substitute-command-keys to Lisp.

	* lisp/help.el (describe-map): New Lisp version of describe_map.
	(help--describe-map-compare, help--describe-translation)
	(help--describe-command, help--shadow-lookup): New helper
	functions for describe-map.
	(help--keymaps-seen, help--previous-description-column): New
	variables.
	* src/keymap.c
	(Fkeymap__get_keyelt): New defun to expose get_keyelt to Lisp.
	(Fdescribe_map_tree_old, Fdescribe_map): Remove defuns.
	(Fdescribe_vector_internal): New defun to expose describe_vector to
	Lisp in a way usable by describe-map.
	(syms_of_keymap): New defsubrs for Fkeymap__get_keyelt and
	Fdescribe_vector_internal.  Remove defsubrs for Fdescribe_map_tree_old
	and Fdescribe_map.  Remove 'help--keymaps-seen'.

	* test/lisp/help-tests.el
	(help-tests-substitute-command-keys/shadow): Extend test.
	(help-tests-substitute-command-keys/test-mode)
	(help-tests-substitute-command-keys/compare-all)
	(help-tests-describe-map-tree/no-menu-t)
	(help-tests-describe-map-tree/no-menu-nil)
	(help-tests-describe-map-tree/mention-shadow-t)
	(help-tests-describe-map-tree/mention-shadow-nil)
	(help-tests-describe-map-tree/partial-t)
	(help-tests-describe-map-tree/partial-nil): New tests.

2020-10-18  Stefan Kangas  <stefan@marxist.se>

	Translate describe_map_tree to Lisp

	This is the second step in converting substitute-command-keys to Lisp.

	* lisp/help.el (describe-map-tree): New Lisp version of
	describe_map_tree.
	(substitute-command-keys): Update to use above function.
	* src/keymap.c (Fdescribe_map): New defun to expose describe_map to
	Lisp.
	* src/keymap.c (syms_of_keymap): New variable 'help--keymaps-seen'; a
	temporary kludge planned for removal.  New defsubr for Fdescribe_map.

2020-10-18  Stefan Kangas  <stefankangas@gmail.com>

	Add new Lisp implementation of substitute-command-keys

	This is only the first step towards a full Lisp implementation, and
	does not remove the old C code.  On the contrary, it is partly based
	on using the old C code, which is to be replaced in steps.  This also
	makes it easy to test that it produces the same output as the old.

	* src/doc.c (Fsubstitute_command_keys_old): Rename from
	Fsubstitute_command_keys.
	(Fget_quoting_style): New defun to expose text_quoting_style to Lisp.
	(syms_of_doc): Expose above symbols.
	* lisp/help.el (substitute-command-keys): New Lisp version of
	substitute-command-keys.  (Bug#8951)

	* src/keymap.c
	(Fdescribe_map_tree): New defun to expose describe_map_tree to Lisp.
	(syms_of_keymap): New defsubr for Fdescribe_map_tree.

	* src/keyboard.c (help_echo_substitute_command_keys):
	* src/doc.c (Fdocumentation, Fdocumentation_property):
	* src/print.c (print_error_message):
	* src/syntax.c (Finternal_describe_syntax_value): Fix calls to use new
	Lisp implementation of substitute-command-keys.

	* test/src/doc-tests.el: Remove file.
	* test/lisp/help-tests.el: Add tests for substitute-command-keys
	copied from above file.

2020-10-18  Mattias Engdegård  <mattiase@acm.org>

	Strengthen js-mode indentation tests

	Test not only that the indentation engine is idempotent but that it
	will indent a file to the expected shape from scratch.

	* test/lisp/progmodes/js-tests.el (js-tests--remove-indentation): New.
	(js-deftest-indent): Extend test.

2020-10-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix a misleading comment in Freplace_match

	* src/search.c (Freplace_match): Fix a misleading comment
	(bug#42424).

2020-10-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Document the new smiley value

	* doc/misc/gnus.texi (Smileys): Document the emoji smiley value.

2020-10-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up smiley emoji application to make it reversible

	* lisp/gnus/smiley.el (smiley-region): Use text properties for the
	emojis instead of rewriting the message.

2020-10-18  Adam Sjøgren  <asjo@koldfront.dk>

	Add support for emojis i smiley.el

	* lisp/gnus/smiley.el (smiley-style): Add emoji
	tag.
	(smiley-emoji-regexp-alist): New defcustom.
	(smiley-update-cache, smiley-region): Support emoji (non-image)
	replacement (bug#43889).

2020-10-18  Stefan Kangas  <stefan@marxist.se>

	Make nxml-newline-and-indent argument optional

	* lisp/nxml/nxml-mode.el (nxml-newline-and-indent): Make argument
	optional to conform to 'comment-line-break-function'.  (Bug#40193)

2020-10-18  Stefan Kangas  <stefan@marxist.se>

	Minor improvements to emacsclient man page

	* doc/man/emacsclient.1: Make flag descriptions into full sentences to
	be more consistent.

2020-10-18  Stefan Kangas  <stefan@marxist.se>

	Convert manual js indent tests to unit tests

	* test/lisp/progmodes/js-tests.el (ert-x): Require.
	(js-deftest-indent): New macro.  Use it to define tests for indenting
	the below files.

	* test/manual/indent/js-chain.js:
	* test/manual/indent/js-indent-align-list-continuation-nil.js:
	* test/manual/indent/js-indent-init-dynamic.js:
	* test/manual/indent/js-indent-init-t.js:
	* test/manual/indent/js.js:
	* test/manual/indent/jsx-align-gt-with-lt.jsx:
	* test/manual/indent/jsx-comment-string.jsx:
	* test/manual/indent/jsx-indent-level.jsx:
	* test/manual/indent/jsx-quote.jsx:
	* test/manual/indent/jsx-self-closing.jsx:
	* test/manual/indent/jsx-unclosed-1.jsx:
	* test/manual/indent/jsx-unclosed-2.jsx:
	* test/manual/indent/jsx.jsx: Move from here...
	* test/lisp/progmodes/js-resources/js-chain.js:
	* test/lisp/progmodes/js-resources/js-indent-align-list-continuation-nil.js:
	* test/lisp/progmodes/js-resources/js-indent-init-dynamic.js:
	* test/lisp/progmodes/js-resources/js-indent-init-t.js:
	* test/lisp/progmodes/js-resources/js.js:
	* test/lisp/progmodes/js-resources/jsx-align-gt-with-lt.jsx:
	* test/lisp/progmodes/js-resources/jsx-comment-string.jsx:
	* test/lisp/progmodes/js-resources/jsx-indent-level.jsx:
	* test/lisp/progmodes/js-resources/jsx-quote.jsx:
	* test/lisp/progmodes/js-resources/jsx-self-closing.jsx:
	* test/lisp/progmodes/js-resources/jsx-unclosed-1.jsx:
	* test/lisp/progmodes/js-resources/jsx-unclosed-2.jsx:
	* test/lisp/progmodes/js-resources/jsx.jsx: ...to here.

2020-10-18  Stefan Kangas  <stefan@marxist.se>

	* lisp/progmodes/ld-script.el: Use lexical-binding.

	* lisp/progmodes/mixal-mode.el: Fix typos.

2020-10-18  Jose A Ortega Ruiz  <jao@gnu.org>

	Set jao@gnu.org as maintainer of mixal-mode.el

	* lisp/progmodes/mixal-mode.el: Set jao@gnu.org as maintainer of
	mixal-mode.el.  (Bug#44037)

2020-10-18  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in mixal-mode.el

	* lisp/progmodes/mixal-mode.el: Use lexical-binding.  (Bug#44037)

2020-10-17  Juri Linkov  <juri@linkov.net>

	Extend next-error-message face to the edge of the window (bug#32676)

	* lisp/simple.el (next-error-message): Add ':extend t' to this face.
	(next-error-message-highlight): Put overlay over the newline as well.

2020-10-17  J. Scott Berg  <jsberg-bnl@outlook.com>  (tiny change)

	Fix bad dimensions of initial frame on VcXsrv

	* src/xterm.c (handle_one_xevent) [USE_GTK]: Don't obey
	ConfigureNotify events if the frame is not visible.  (Bug#44002)

2020-10-17  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	18c0e20bea (origin/emacs-27) Improve documentation of 'Info-hide-note...

2020-10-17  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	65078e0a76 * lisp/info.el (Info-hide-note-references): Doc fix.  (Bug...
	30305b543d Make lisp/progmodes/js.el dependent on CC Mode in the Make...
	c37b2a9b42 Yet another fix for 'set-minibuffer-message'
	72dd911981 Fix posn-at-x-y in builds --without-x
	ace25f2066 Clarify the seq-reduce documentation
	7d598e281d Make tramp-completion-reread-directory-timeout obsolete (B...
	2c31ce18ea Fix 'message' when there's active minibuffer on another frame

	# Conflicts:
	#	doc/misc/tramp.texi
	#	etc/NEWS

2020-10-17  Mattias Engdegård  <mattiase@acm.org>

	* etc/NEWS: Mention new lexical binding conversion aid.

2020-10-17  Protesilaos Stavrou  <info@protesilaos.com>

	Update Modus themes' NEWS entry

	* etc/NEWS: Reword entry about new 'modus-operandi' and
	'modus-vivendi' themes.  Include reference to their manual.

2020-10-17  Jose A. Ortega Ruiz  <jao@gnu.org>

	mixal-mode: add missed instructions

	Synchronizes with latest released GNU MDK 1.2.11

	* lisp/progmodes/mixal-mode.el (mixal-operation-codes-alist):
	Add missed instructions: SLB,SRB,JAE,JAO,JXE,JXO.

2020-10-17  Stefan Kangas  <stefan@marxist.se>

	Base bookmark-bmenu-mode on tabulated-list-mode (Bug#39293)

	Rewriting bookmark-bmenu-mode to be based on 'tabulated-list-mode'
	allows us to greatly simplify the code in several cases.  In addition,
	we get some features for free, such as sorting by column.

	The only functional step backwards is that we no longer support the
	optional "inline" header line, a bookmark.el-specific feature to have
	a header without using 'header-line-format'.  This feature is believed
	to be not very useful or widely used.

	* lisp/bookmark.el (tabulated-list): Require.
	(bookmark-bmenu-mode): Inherit from 'tabulated-list-mode' instead of
	'special-mode' and make the necessary changes to support that.
	(bookmark-bmenu-mode-map): Inherit from 'tabulated-list-mode-map'
	instead of 'special-mode-map'.  Remove now duplicate key bindings.
	(bookmark-bmenu--revert): New function to show the bookmark list using
	'tabulated-list-mode'.
	(bookmark-bmenu-list): Simplify by using above new function.
	(bookmark-bmenu-bookmark): Adapt to 'tabulated-list-mode'.
	(bookmark-bmenu--name-predicate)
	(bookmark-bmenu--file-predicate): New functions used by
	'tabulated-list-mode' to sort.

	(bookmark-bmenu-set-header): Redefine as obsolete function alias for
	'tabulated-list-init-header'.
	(bookmark-bmenu-toggle-filenames, bookmark-bmenu-show-filenames)
	(bookmark-bmenu-hide-filenames, bookmark-bmenu-mark)
	(bookmark-bmenu-mark-all, bookmark-bmenu-unmark-all)
	(bookmark-bmenu-delete-all, bookmark-bmenu-unmark)
	(bookmark-bmenu-delete, bookmark-bmenu-delete-backwards): Simplify now
	that we can depend on 'tabulated-list-mode' to do more work.

	(bookmark-bmenu-use-header-line)
	(bookmark-bmenu-inline-header-height): Declare variables relating to
	the now unsupported "inline" header obsolete.
	(bookmark-bmenu-ensure-position)
	(bookmark-bmenu-execute-deletions): Remove code to handle "inline" header.

	* test/lisp/bookmark-tests.el
	(bookmark-test-bmenu-edit-annotation/show-annotation)
	(bookmark-test-bmenu-unmark, bookmark-test-bmenu-mark): Update tests
	for minor changes when using 'tabulated-list-mode'.

2020-10-17  Mattias Engdegård  <mattiase@acm.org>

	Add aid for finding missing dynamic variable declarations

	Find lexical use of variables that are dynamically declared in other
	files by recording 'defvar' declarations in files that can be read
	in by the compiler in a second compilation.  This is particularly
	useful when converting code to use lexical-binding.

	The facility is controlled by setting environment variables:

	 EMACS_GENERATE_DYNVARS -- set to non-empty to generate a .dynvars file
	                           corresponding to each .elc.
	 EMACS_DYNVARS_FILE     -- set to the name of a .dynvars file to use
	                           as defvar information during compilation,
	                           enabling the new warnings.

	* lisp/emacs-lisp/bytecomp.el (byte-compile--known-dynamic-vars)
	(byte-compile--seen-defvars): New variables.
	(byte-compile-warning-types): Add lexical-dynamic warning.
	(byte-compile--load-dynvars, byte-compile--warn-lexical-dynamic):
	New functions.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-file, byte-compile--declare-var)
	(byte-compile-lambda, byte-compile-bind): Add dynamic variable loads,
	dumps and checks.
	* doc/lispref/variables.texi (Converting to Lexical Binding): Document.

2020-10-17  Stefan Kangas  <stefan@marxist.se>

	* test/lisp/mail/rfc822-tests.el: New file.

	* lisp/url/url-vars.el: Use lexical-binding.

2020-10-17  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'Info-hide-note-references' in info.texi

	* doc/misc/info.texi (Help-Xref): Improve the wording.
	(Emacs Info Variables): Update the documentation of
	'Info-hide-note-references'.  (Bug#44043)

2020-10-17  Pierre Neidhardt  <mail@ambrevar.xyz>

	New shell-mode command to narrow to the command under point

	* lisp/shell.el (shell--prompt-end-position)
	(shell--prompt-begin-position): Helper functions.

	* lisp/shell.el (shell-narrow-to-prompt): New command and
	keystroke (bug#41784).

2020-10-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make woman ignore the new groff kerning operators

	* lisp/woman.el (woman-decode-region): Ignore the new groff
	kerning operators (bug#42219).

2020-10-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix `browse-url-of-dired'

	* lisp/net/browse-url.el (browse-url-emacs): Make the
	`browse-url-of-dired' command work again after the browse-emacs
	changes (bug#42429).

2020-10-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid infloop in which-function-mode when a vc file has changed

	* lisp/vc/diff-mode.el (diff-find-source-location): Avoid warnings
	when called from which-function-mode and the file has changed
	(bug#42818).

2020-10-17  Stefan Kangas  <stefan@marxist.se>

	* admin/release-process: Add note to update files from upstream.

	(cherry picked from commit 86dd9d12aa5a273da2efd4ce8c6e35ae343f1494)

2020-10-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix narrow-to-defun in f90-mode

	* lisp/progmodes/f90.el (f90-beginning-of-subprogram): Make
	narrow-to-defun work better (bug#44042).

2020-10-17  Eli Zaretskii  <eliz@gnu.org>

	* lisp/info.el (Info-hide-note-references): Doc fix.  (Bug#44043)

2020-10-17  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-10-17  Stefan Kangas  <stefan@marxist.se>

	* admin/release-process: Add note to update files from upstream.

2020-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/variables.texi (Converting to Lexical Binding): New section

	Extract it from `Using Lexical Binding` and extend it a bit.

2020-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/python.el: Teach f-strings to `font-lock`

	(python--f-string-p, python--font-lock-f-strings): New functions.
	(python-font-lock-keywords-maximum-decoration): Use them.

2020-10-16  Alan Mackenzie  <acm@muc.de>

	Make lisp/progmodes/js.el dependent on CC Mode in the Makefile.

	This will prevent version mismatches between compile time and runtime
	versions.  This fixes bug #43037.

	* lisp/Makefile.in: Make js.el dependent on cc-{defs,engine,mode}.elc.

2020-10-16  Lars Ingebrigtsen  <larsi@gnus.org>

	indent-rigidly doc string clarification

	* lisp/indent.el (indent-rigidly): Note that the command
	deactivates the mark (bug#42842).

2020-10-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Make erc expand the final abbrev

	* lisp/erc/erc.el (erc-send-current-line): Expand abbrevs at the
	end of lines (bug#42854).

2020-10-16  Michael Albinus  <michael.albinus@gmx.de>

	Make last change in tramp-archive-tests.el backward compatible

	* test/lisp/net/tramp-archive-tests.el (ert-resource-directory-format)
	(ert-resource-directory-trim-left-regexp)
	(ert-resource-directory-trim-right-regexp, ert-resource-directory)
	(ert-resource-file): Define if they don't exist.

2020-10-16  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of Modus Themes

	* doc/misc/modus-themes.texi (Install from the archives)
	(No mixed fonts): Remove references to MELPA.
	(How do the themes look like)
	(Enable and load, Load automatically)
	(Configure options prior to loading, Customization Options)
	(No mixed fonts, Command prompts, Mode line, Completion UIs)
	(Fringes, Line highlighting, Matching parentheses, Diffs)
	(Org mode blocks, Heading styles, Tweak colors (DIY))
	(Org user faces (DIY), Supported packages)
	(Will NOT be supported, Note for ERC escaped color sequences)
	(Note on shr colors, Note for Helm grep)
	(Note on vc-annotate-background-mode, Sources of the themes): Fix
	spelling, wording, and markup.

2020-10-16  Eli Zaretskii  <eliz@gnu.org>

	Revert "* doc/emacs/ack.texi (Acknowledgments): Remove now deleted files."

	This reverts commit 731a26bb50aabeb2c0512f0e45b3cda76029a590.

	We don't support rewriting history!
	People who contributed to Emacs development should have their
	contributions remain acknowledged forever, even if the files
	to which they contributed are deleted at some point.

2020-10-16  Eli Zaretskii  <eliz@gnu.org>

	Fix file-name problems in several tests

	* test/lisp/saveplace-tests.el
	(saveplace-test-forget-unreadable-files):  Use file-truename, to
	avoid false negatives when file names are not 'equal' as strings,
	but point to the same file.
	* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env)
	(edebug-tests-run-macro):
	* test/lisp/emacs-lisp/testcover-tests.el
	(testcover-tests-markup-region, testcover-tests-run-test-case):
	Bind find-file-suppress-same-file-warnings to  a non-nil value, to
	avoid warnings about "same-file-names", at least on MS-Windows,
	due to 8+3 aliases.

2020-10-16  Stefan Kangas  <stefan@marxist.se>

	Remove some Emacs 19 compat code

	* lisp/type-break.el (type-break-time-stamp): Remove Emacs 19
	compat code.

2020-10-16  Stefan Kangas  <stefan@marxist.se>

	Remove some references to Emacs 18 and 19

	* doc/misc/forms.texi (Modifying Forms Contents, Error Messages):
	* lisp/arc-mode.el:
	* lisp/emacs-lisp/edebug.el (edebug-temp-display-freq-count):
	* lisp/type-break.el: Remove some references to Emacs 18 and 19.

2020-10-16  Stefan Kangas  <stefan@marxist.se>

	* doc/emacs/ack.texi (Acknowledgments): Remove now deleted files.

	This is in line with an ack.texi comment that says to "Remove things
	that are no longer distributed."  Most files in this list were removed
	many years ago.

2020-10-16  Stefan Kangas  <stefan@marxist.se>

	Fix building modus-themes Info manual

	* doc/misc/Makefile.in (INFO_COMMON): Add modus-themes.
	* doc/misc/modus-themes.texi: Adapt to fit Emacs conventions.

2020-10-16  Protesilaos Stavrou  <info@protesilaos.com>

	Update modus-operandi, modus-vivendi to 0.13.0

	* etc/themes/modus-operandi-theme.el: Update to version 0.13.0.

	* etc/themes/modus-vivendi-theme.el: Update to version 0.13.0.

	* doc/misc/modus-themes.texi: Include new texinfo documentation for
	modus-operandi and modus-vivendi themes.  (Bug#43944)

2020-10-16  Mattias Engdegård  <mattiase@acm.org>

	* lisp/emacs-lisp/backquote.el: Use lexical binding.

2020-10-16  Stefan Kangas  <stefan@marxist.se>

	Use new resource directory macros in tests (Bug#43792)

	* test/lisp/bookmark-tests.el (bookmark-tests-data-dir):
	* test/lisp/calendar/todo-mode-tests.el (todo-test-data-dir):
	* test/lisp/net/dbus-tests.el (dbus--tests-dir):
	* test/lisp/emacs-lisp/edebug-tests.el
	(edebug-tests-sample-code-file):
	* test/lisp/emacs-lisp/package-tests.el
	(package-test-fake-contents-file):
	* test/lisp/emacs-lisp/shadow-tests.el (shadow-tests-data-directory):
	* test/lisp/emacs-lisp/testcover-tests.el
	(testcover-tests-file-dir, testcover-tests-test-cases):
	* test/lisp/mail/uudecode-tests.el (uudecode-tests-data-dir):
	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test-resource-directory):
	* test/lisp/pcmpl-linux-tests.el (pcmpl-linux-tests-data-dir):
	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-mode-tests-data-directory):
	* test/lisp/progmodes/flymake-tests.el
	(flymake-tests-data-directory):
	* test/lisp/progmodes/ruby-mode-tests.el (ruby-mode-tests-data-dir):
	* test/lisp/saveplace-tests.el (saveplace-tests-dir):
	* test/lisp/textmodes/css-mode-tests.el (css-mode-tests-data-dir):
	Remove.

	* test/lisp/bookmark-tests.el (bookmark-tests-bookmark-file)
	(bookmark-tests-example-file, bookmark-tests-bookmark-file-list):
	* test/lisp/calendar/todo-mode-tests.el (todo-test-file-1)
	(todo-test-archive-1, with-todo-test, todo-test--add-file):
	* test/lisp/custom-tests.el (custom--test-theme-variables):
	* test/lisp/net/dbus-tests.el (dbus--test-introspect):
	* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-setup-code-file):
	* test/lisp/emacs-lisp/package-tests.el (package-test-data-dir)
	(package-test-desc-from-buffer, package-test-install-single)
	(package-test-macro-compilation)
	(package-test-install-prioritized)
	(package-test-install-multifile, package-test-update-archives)
	(package-test-update-archives-async)
	(package-test-update-archives/ignore-nil-entry)
	(package-test-signed, package-x-test-upload-buffer)
	(package-x-test-upload-new-version):
	* test/lisp/emacs-lisp/shadow-tests.el (shadow-case-insensitive):
	* test/lisp/emacs-lisp/testcover-tests.el
	(testcover-tests-build-test-cases):
	* test/lisp/mail/uudecode-tests.el (uudecode-tests-encoded-str)
	(uudecode-tests-decoded-str):
	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test-file-archive)
	(tramp-archive-test-directory):
	* test/lisp/pcmpl-linux-tests.el (pcmpl-linux-test-fs-types)
	(pcmpl-linux-test-mounted-directories):
	* test/lisp/progmodes/cperl-mode-tests.el (cperl-mode-test-bug-10483)
	(cperl-mode-test-indent-styles):
	* test/lisp/progmodes/flymake-tests.el
	(flymake-tests--call-with-fixture):
	* test/lisp/progmodes/ruby-mode-tests.el
	(ruby--indent/converted-from-manual-test):
	* test/lisp/saveplace-tests.el
	(saveplace-test-save-place-to-alist/dir)
	(saveplace-test-load-alist-from-file):
	* test/lisp/textmodes/css-mode-tests.el (css-mode-test-indent): Adjust
	to use new resource directory macros.

2020-10-16  Stefan Kangas  <stefan@marxist.se>

	Add ert macros to get resource file names (Bug#43792)

	* lisp/emacs-lisp/ert-x.el (subr-x): Require.
	(ert-resource-dir, ert-resource-file): New macros to get the file name
	of the resource directory belonging to a test.
	(ert-resource-dir-format, ert-resource-dir-trim-left-regexp)
	(ert-resource-dir-trim-right-regexp): New variables.

2020-10-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous gnus-icalendar sanitization

	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
	Fix previous change -- respect nil values passed in.

2020-10-16  Stephen Berman  <stephen.berman@gmx.net>

	Adjust some tests so that they work in symlinked environs

	* test/lisp/help-fns-tests.el (help-fns-test-lisp-macro)
	(help-fns-test-lisp-defsubst):
	* test/lisp/emacs-lisp/cl-generic-tests.el
	(cl-generic-tests--method-files--finds-methods): Adjust test so
	that they work in a symlinked environment (bug#43004).
	(cl-generic-tests--method-files--finds-methods): Use file-truename
	so that this works in a symlinked environment (bug#43004).

2020-10-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Sanitize ical data in gnus-icalendar-event-from-ical

	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
	Sanitize the data before passing it on to the constructor.  This
	avoids backtraces on icals with extra, unknown slots (bug#43057).

2020-10-16  Basil L. Contovounesios  <contovob@tcd.ie>

	Substitute command keys in button help-echo values

	* lisp/button.el (button--help-echo): Pass resulting string through
	substitute-command-keys for consistency with show-help-function.
	* test/lisp/button-tests.el (button-tests--map): New test keymap.
	(button--help-echo-string, button--help-echo-form)
	(button--help-echo-function): Use it to test command key
	substitution in help-echo strings (bug#43070).

2020-10-16  Eli Zaretskii  <eliz@gnu.org>

	Yet another fix for 'set-minibuffer-message'

	* lisp/minibuffer.el (set-minibuffer-message): Handle the case of
	separate minibuffer-only frame.  Suggested by Gregory Heytings
	<ghe@sdf.org>.

2020-10-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Make package-install-from-buffer maybe refresh the quickstart file

	* lisp/emacs-lisp/package.el (package-install-from-buffer):
	Refresh the quickstart file (bug#43237).  This makes this command
	more consistent with package-install.

2020-10-16  Eli Zaretskii  <eliz@gnu.org>

	Fix posn-at-x-y in builds --without-x

	* src/keyboard.c (make_lispy_position): Don't exclude the
	window_or_frame = frame case from TTY-only builds.  Reported by
	Jared Finder <jared@finder.org>.

	* doc/lispref/commands.texi (Click Events): Document the format of
	POSITION in click events on the frame's internal border.

2020-10-16  Lars Ingebrigtsen  <larsi@gnus.org>

	diff-update-on-the-fly doc string clarification

	* lisp/vc/diff-mode.el (diff-update-on-the-fly): Mention what the
	nil value does (bug#43297).

2020-10-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore vc-revision-other-window buffer-changing behavior

	* lisp/vc/vc.el (vc-revision-other-window): This function used to
	change the current buffer, but this was changed in the previous
	patch for indirect buffer support.  Ensure that it still does
	this, because this is what the callers expect (bug#44026).

2020-10-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string clarification for keep-lines

	* lisp/replace.el (keep-lines): Note that REND isn't optional if
	RSTART is given (bug#44021).

2020-10-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new variable to control Gnus Agent caching

	* doc/misc/gnus.texi (Agent Variables): Document it.

	* lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Ditto.

	* lisp/gnus/gnus-async.el (gnus-async-article-callback): Use it.

	* lisp/gnus/gnus.el (gnus-agent-eagerly-store-articles): New variable.

	Includes work from Madhu <enometh@meer.net>.

2020-10-16  Richard M Stallman  <rms@gnu.org>

	Add way to prevent asking "increase specpdl size?"

	* net/shr.el (shr-offer-extend-specpdl): New option, default t.
	(shr-descend): If shr-offer-extend-specpdl is nil, don't even ask
	whether to extend the specpdl, just signal error.

2020-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/warnings.el (display-warning): Don't be so negative

2020-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't display the warning buttons in bytecomp buffers

	* lisp/emacs-lisp/warnings.el (display-warning): Don't do the
	buttons in bytecomp buffers.

2020-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make hi-lock-face-buffer more resilient

	* lisp/hi-lock.el (hi-lock-face-buffer): If given a face name a
	string, convert it to a symbol first, as later usage of this
	expects a symbol and not a string (bug#43339).

2020-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some references to the microdocs in the comments in cperl-mode

	* lisp/progmodes/cperl-mode.el: Tell the people reading the
	comments how to read the docs explicitly (bug#1621).

2020-10-15  David Engster  <deng@randomsample.de>

	Search harder for file name matches in *compilation* buffers

	* lisp/progmodes/compile.el (compilation-find-file): Use it (bug#14411).
	(compilation-search-all-directories): New variable.

2020-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `C-x C-e' work more like `C-M-x' on defvar etc

	* doc/emacs/building.texi (Lisp Eval): Document it.

	* lisp/emacs-lisp/pp.el (pp-eval-last-sexp): Ditto.

	* lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Work more
	like `eval-defun': Re-evaluate defvar/defcustom/defface forms.

2020-10-15  Stefan Kangas  <stefankangas@gmail.com>

	* doc/misc/efaq.texi: Remove reference to FTP.

2020-10-15  Stefan Kangas  <stefankangas@gmail.com>

	Remove some references to "in Emacs 21 or later"

	* doc/misc/efaq.texi (Colors on a TTY, Disabling backups)
	(Errors with init files, Backspace invokes help)
	(Backspace invokes help): Remove some references to "in Emacs 21 or
	later".  Now everyone can be assumed to use at least that version.

2020-10-15  Stefan Kangas  <stefankangas@gmail.com>

	Move emacsclient.1 file history further down

	* doc/man/emacsclient.1: Move file history further down; it doesn't
	need to be prominently displayed in the introductory paragraph.

2020-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix undefined function in project-compile

	* lisp/progmodes/project.el (project-compile): Require compile.el
	before using functions from the file (bug#44009).

2020-10-15  Andrea Corallo  <akrl@sdf.org>

	Do not check eln timestamp as superseded by source hashing (bug#43532)

	* src/lread.c (maybe_swap_for_eln): Remove eln file timestamp
	check given is now unnecessary.
	(openp): Update for new 'maybe_swap_for_eln' signature.

2020-10-15  Mattias Engdegård  <mattiase@acm.org>

	Remove dynamic declaration of 'save-match-data-internal'

	* lisp/subr.el: Remove defvar which has no relevance today; it can
	very well be a lexical variable.

2020-10-15  Jeff Walsh  <fejfighter@gmail.com>

	Fix segfault in xwidget when there is no title

	* src/xwidget.c (Fxwidget_webkit_title): Pass empty string when no
	title is returned (bug#43989).

2020-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the seq-reduce documentation

	* doc/lispref/sequences.texi (Sequence Functions): Ditto.

	* lisp/emacs-lisp/seq.el (seq-reduce): Clarify the order of the
	arguments (bug#43995).

2020-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with next-error-message-highlight in *Occur*

	* lisp/simple.el (next-error-message-highlight): This function is
	called directly, so clean up the code a bit (bug#32676).
	(next-error-found): Pass in the error buffer.

2020-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix NEWS item for C-h R

2020-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make Gnus more liberal when interpreting Face headers again

	* lisp/gnus/gnus-fun.el (gnus-convert-face-to-png): Do it.

	* lisp/gnus/gnus-util.el (gnus-base64-repad): Allow not checking
	anything, but just repadding.

2020-10-15  Richard M Stallman  <rms@gnu.org>

	Clarify wording

	Clarify doc string of line-to-top-of-window.

2020-10-15  Richard M Stallman  <rms@gnu.org>

	Handle retrying of MIME failure messages

	* lisp/mail/rmail.el (rmail-retry-failure): Handle retrying of
	MIME failure messages.

2020-10-15  Richard M Stallman  <rms@gnu.org>

	Handle encrypting mime parts

	* lisp/epa-mail.el (epa-mail-encrypt): Insert any encoded mime
	parts that are queued up to insert before sending the message.

2020-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calc: Fix a few issues introduced by lexical scoping

	Fix a few places I missed, where we incorrectly used lexical scoping on a var
	that needed dynamic scoping.
	These were detected thanks to a bit of footwork by Mattias Engdegård!

	* lisp/calc/calc-ext.el (math-read-big-lines): Declare as dynbound.
	(math-read-big-bigp): Bind it inside a `let`.
	* lisp/calc/calc-graph.el (math-arglist): Declare as dynbound.
	* lisp/calc/calc-map.el (math-arglist): Declare as dynbound.
	* lisp/calc/calc-misc.el (math-trunc-prec): Declare as dynbound.
	(math-trunc): Bind it inside a `let`.
	(math-floor-prec): Declare as dynbound.
	(math-floor): Bind it inside a `let`.
	* lisp/calc/calc-nlfit.el (calc-curve-varnames, calc-curve-coefnames):
	Declare as dynbound.
	* lisp/calc/calc-sel.el (math-comp-sel-tag): Declare as dynbound.
	* lisp/calc/calcsel2.el (calc-sel-reselect): Declare as dynbound.

2020-10-14  Andreas Schwab  <schwab@linux-m68k.org>

	Fix layout of custom-face-edit widget

	* lisp/cus-edit.el (custom-face-edit): Add :format to group
	widget.  (Bug#43977)

2020-10-14  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-10-14  Andrea Corallo  <akrl@sdf.org>

	Use form native compilation in `comp-trampoline-compile'

	* lisp/emacs-lisp/comp.el (comp-trampoline-sym): Remove function.
	(comp-trampoline-filename): As we are introducing an ABI change in
	the eln trampoline format change the trampoline filename to
	disambiguate.
	(comp-trampoline-search): Rename from `comp-search-trampoline'
	and return directly the trampoline.
	(comp-trampoline-compile): Rework to use native form compilation
	in place of un-evaluating a function and return directly the
	trampoline.
	(comp-subr-trampoline-install): Update for
	`comp-trampoline-search' and `comp-trampoline-compile' new
	interfaces.
	* src/comp.c (Fcomp__install_trampoline): Store the trampoline
	itself as value in `comp-installed-trampolines-h'.
	(syms_of_comp): Doc update `comp-installed-trampolines-h'.

2020-10-14  Andrea Corallo  <akrl@sdf.org>

	Add a test to verify form native compilation.

	* test/src/comp-tests.el (comp-deftest): Fix typo.
	(compile-forms): New test.

2020-10-14  Andrea Corallo  <akrl@sdf.org>

	Rework `native-compile' interface so it can return compiled functions

	* lisp/emacs-lisp/comp.el (native-compile): Return the compiled
	function when the input is a symbol or a form.
	* test/src/comp-tests.el (free-fun, tco, fw-prop): Update tests
	for new `native-compile' interface.

2020-10-14  Andrea Corallo  <akrl@sdf.org>

	Have `native-elisp-load' return the last registered function

	* lisp/emacs-lisp/comp.el (comp-emit-for-top-level): Synthesize
	'top_level_run' so it returns the last value returned by
	`comp--register-subr'.
	* src/comp.c (load_comp_unit): Return what 'top_level_run'
	returns.
	(Fnative_elisp_load): Return what 'load_comp_unit' returns.
	* src/comp.h (load_comp_unit): Update signature.

2020-10-14  Andrea Corallo  <akrl@sdf.org>

	Allow for lambda forms as native compilation input

	* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Add new
	specialized method for compiling a lambda form.

2020-10-14  Andrea Corallo  <akrl@sdf.org>

	Move context output computation in `comp-spill-lap-function'

	* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Move
	output filename computation here.
	(native-compile): From here.

2020-10-14  Juri Linkov  <juri@linkov.net>

	Highlight regexp sub-expressions in query-replace

	* lisp/replace.el (query-replace-highlight-submatches): New defcustom.
	(replace-submatches-overlays): New variable.
	(replace-highlight): Use query-replace-highlight-submatches.
	(replace-dehighlight): Use query-replace-highlight-submatches.

	* doc/emacs/search.texi (Query Replace):
	Add documentation for query-replace-highlight-submatches.

	Suggested by Drew Adams <drew.adams@oracle.com> in bug#43702.

2020-10-14  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/grep.el: More fixes for 'lgrep' (bug#23590)

	* lisp/progmodes/grep.el (grep-expand-template): Add new arg 'more-opts'.
	(grep-use-directories-skip): New variable.
	(lgrep): Set 'grep-use-directories-skip' to the result of 'grep-probe'.
	Use "--directories=skip" when 'grep-use-directories-skip' is t.

2020-10-14  Ernesto Alfonso  <erjoalgo@gmail.com>

	Add option to highlight the 'next-error' error message

	* lisp/simple.el (next-error-message-highlight):
	(next-error-message): New faces (bug#32676).
	(next-error--message-highlight-overlay): New internal variable.
	(next-error-message-highlight): New function.
	(next-error-found): Call the function.

2020-10-14  Alex Branham  <alex.branham@gmail.com>

	Add a new variable tab-first-completion

	* doc/emacs/indent.texi (Indent Convenience): Mention it.

	* doc/lispref/text.texi (Mode-Specific Indent): Document it.

	* lisp/indent.el (tab-first-completion): New variable (bug#34787).
	(indent-for-tab-command): Use it.

2020-10-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename dired-filename-at-point to avoid confusion

	* lisp/dired-x.el (dired-x-guess-filename-at-point): Rename (bug#43961).
	(dired-filename-at-point): Made into an obsolete alias, since the name
	can be confused with the unrelated dired-file-name-at-point function.

2020-10-14  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)

	Mark the return value from strerror as a constant

	* src/emacs.c (main): Mark the return from strerror as a constant,
	since it shouldn't be changed (bug#43982).

	* lib-src/movemail.c (pfatal_and_delete): Ditto.

2020-10-14  Masahiro Nakamura  <tsuucat@icloud.com>

	Improve package install/delete button action

	* lisp/emacs-lisp/package.el (package-install-button-action)
	(package-delete-button-action): Run describe-package instead of
	revert-buffer in order to use newer package-desc (bug#43983).

2020-10-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix name of the module .h files in the comments

	* src/emacs-module.c: Fix the name of the .h file in the comments.

2020-10-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Move the new module unibyte function to the correct module-env.h file

	* src/module-env-28.h: Moved here from the -25.h file.

2020-10-13  Mattias Engdegård  <mattiase@acm.org>

	* etc/NEWS (Calc): Note new precedence of '/' in TeX input mode.

2020-10-13  Paul Eggert  <eggert@cs.ucla.edu>

	nnimap MODSEQ cleanup

	* lisp/gnus/nnimap.el (nnimap-parse-flags):
	Remove old hack that deletes MODSEQ entries in the buffer, as
	Emacs now has bignums and so won't misparse MODSEQs (Bug#38938).

2020-10-13  Paul Eggert  <eggert@cs.ucla.edu>

	eql doc improvements

	* doc/lispref/numbers.texi (Comparison of Numbers):
	Copy some useful text from eql help string.
	* src/fns.c (Feql): In doc string, say that eql also compares
	integers by value.

2020-10-13  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of Outline cycling commands

	* lisp/outline.el (outline-mode-map): Fix wording of a comment.

	* doc/emacs/text.texi (Outline Visibility): Fix wording and markup
	of a recently added paragraph.  Improve indexing.

	* etc/NEWS: Fix whitespace of a recently added entry.

2020-10-13  Eli Zaretskii  <eliz@gnu.org>

	* etc/NEWS: Mention 'make_unibyte_string'; reformat modules entries.

2020-10-13  Mattias Engdegård  <mattiase@acm.org>

	Calc: allow infinite binary word size (bug#43764)

	Setting the word size ("b w") to 0 removes the word size clipping for
	all bit operations (effectively as if a word size of -∞ had been set).
	Rotation is disallowed; logical and arithmetic shifts behave
	identically.

	After a suggestion by Vincent Belaïche.

	* lisp/calc/calc-bin.el (calc-word-size, math-binary-arg)
	(math-binary-modulo-args, calcFunc-lsh, calcFunc-ash, calcFunc-rot)
	(math-clip, math-format-twos-complement): Allow a word size of 0,
	meaning -∞.
	* test/lisp/calc/calc-tests.el
	(calc-tests--not, calc-tests--and, calc-tests--or, calc-tests--xor)
	(calc-tests--diff): New functions.
	(calc-tests--clip, calc-tests--rot, calc-shift-binary): Extend to
	cover word size 0.
	(calc-bit-ops): New test.
	* doc/misc/calc.texi (Binary Functions): Update manual.
	* etc/NEWS: Announce the change.

2020-10-13  Mattias Engdegård  <mattiase@acm.org>

	Calc: revert to old precedence of '/' in (La)TeX input mode

	Make the '/' precedence higher than that of '+' and '-' again,
	partially reverting fda9b316f84 (bug#43902).

	* lisp/calc/calc-lang.el (tex): Change precedence of '/'.
	* test/lisp/calc/calc-tests.el (calc-latex-input): New test.

2020-10-13  Mattias Engdegård  <mattiase@acm.org>

	Calc: make tests less chatty

	* test/lisp/calc/calc-tests.el (calc-extract-units, calc-convert-units)
	(calc-matrix-determinant, calc-choose): Remove "Working..." messages.
	(calc-tests--check-choose, calc-tests--explain-choose): Eliminate.

2020-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow creating unibyte strings from Emacs modules

	* doc/lispref/internals.texi (Module Values): Document
	make_unibyte_string (bug#34873).

	* src/emacs-module.c (module_make_unibyte_string): New function.
	(initialize_environment): Export it.

	* src/module-env-25.h: Define it.

	* test/data/emacs-module/mod-test.c (Fmod_test_return_unibyte):
	Test it.

	* test/src/emacs-module-tests.el (module/unibyte): Test it.

2020-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Partially revert previous patch to emacs.service

	* etc/emacs.service (ExecStop): Partially revert previous patch
	for bug#37847, since: "This appears to break packages that rely on
	`invocation-name' to be executable."

2020-10-13  Yuan Fu  <casouri@gmail.com>

	Add cycling commands to outline

	* lisp/outline.el (outline--cycle-state, outline-has-subheading-p)
	(outline-cycle, outline-cycle-buffer): New functions.
	(outline-mode-map): Add key bindings for the two new commands.
	(outline--cycle-buffer-state): New variable.
	* doc/emacs/text.texi (Outline Visibility): Add 'outline-cycle' and
	'outline-cycle-buffer'.
	* etc/NEWS (Outline): Record the change (bug#41130).

2020-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make read-char-choice less modal

	* lisp/subr.el (read-char-choice): Use `read-char-from-minibuffer'
	here (bug#42708) so that we're not as modal (and users can copy
	the help buffer, if they should so want).

2020-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make diary fontify headers correctly (if the date has been customized)

	* lisp/calendar/diary-lib.el (diary-fancy-display): Insert the
	heading with the correct face, so that it doesn't have to be
	re-matched later (which is generally impossible) (bug#13072).
	(diary-fancy-date-pattern, diary-fancy-date-matcher): Make obsolete.
	(diary-fancy-font-lock-keywords): Don't use.
	(diary-fancy-font-lock-fontify-region-function): Don't use.

2020-10-13  Mauro Aranda  <maurooaranda@gmail.com>

	Don't bind sort-fold-case when saving the custom-file

	* lisp/cus-edit.el (custom-save-variables, custom-save-faces): These
	functions sort a list, not buffer text, so they don't need
	to use sort-fold-case at all.  Remove the let-binding for
	sort-fold-case (bug#43919).

2020-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Have header-line-highlight inherit from mode-line-highlight

	* lisp/faces.el (header-line-highlight): Inherit from
	mode-line-highlight instead of highlight (bug#43926).  This is
	consistent with header-line inheriting from mode-line.

2020-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	message-insert-signature doc fix

	* lisp/gnus/message.el (message-insert-signature): Clarify what
	FORCE means.

2020-10-13  Boruch Baum  <boruch_baum@gmx.com>

	Add a keybinding to the help menu to display manuals

	* lisp/help.el (help-for-help-internal): Add a keybinding to
	prompt for and display a manual (bug#43956).

2020-10-12  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-search): Set isearch-match-data in the right place.

2020-10-12  Brian Leung  <leungbk@mailfence.com>

	Fix some compilation warnings in non nativecomp build (bug#43892)

	* lisp/emacs-lisp/advice.el (comp-subr-trampoline-install):
	Declare function.
	* lisp/emacs-lisp/find-func.el (comp-eln-to-el-h): Declare
	variable.
	* lisp/emacs-lisp/nadvice.el (comp-subr-trampoline-install):
	Declare function.
	* lisp/files.el (comp-eln-to-el-h): Declare variable.
	* lisp/help.el (subr-native-lambda-list): Declare function.

2020-10-12  Andrea Corallo  <akrl@sdf.org>

	Revert "Fix some compilation warnings in non nativecomp build (bug#43892)"

	This reverts commit 6606ec8e313bf48a1ac7b63c52bfeb64c4257107.

2020-10-12  Andrea Corallo  <akrl@sdf.org>

	Fix some compilation warnings in non nativecomp build (bug#43892)

	* lisp/emacs-lisp/advice.el (comp-subr-trampoline-install):
	Declare function.
	* lisp/emacs-lisp/find-func.el (comp-eln-to-el-h): Declare
	variable.
	* lisp/emacs-lisp/nadvice.el (comp-subr-trampoline-install):
	Declare function.
	* lisp/files.el (comp-eln-to-el-h): Declare variable.
	* lisp/help.el (subr-native-lambda-list): Declare function.

2020-10-12  Stefan Kangas  <stefan@marxist.se>

	Fix man page title lines and timestamps

	* doc/man/ebrowse.1:
	* doc/man/emacs.1.in:
	* doc/man/emacsclient.1:
	* doc/man/etags.1: Update date to match last significant change.  Set
	file local variable time-stamp-pattern.  Fix title line to match the
	recommendations in "man man-pages".
	Ref: https://lists.gnu.org/r/emacs-devel/2020-09/msg01002.html

2020-10-12  Michael Albinus  <michael.albinus@gmx.de>

	Make tramp-completion-reread-directory-timeout obsolete (Bug#43932)

	* doc/misc/tramp.texi (File name completion, Frequently Asked Questions):
	Remove `tramp-completion-reread-directory-timeout'.  (Bug#43932)

	* etc/NEWS: Mention tramp-completion-reread-directory-timeout as obsolete.

	* lisp/net/tramp.el (tramp-completion-reread-directory-timeout):
	Make it obsolete.

2020-10-12  Hugh Daschbach  <hdasch@fastmail.com>

	Add interface arg to D-Bus PropertiesChanged signal.

	* lisp/net/dbus.el (dbus-register-property, dbus-property-handler):
	Fix signal generation.  (Bug#43936)

	* test/lisp/net/dbus-tests.el (dbus-test06-register-property-emits-signal):
	Fix test.

2020-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/proced.el: Fix behavior with variable-pitch `header-line` face

	Also, use lexical-scoping.  Remove redundant `:group` args.
	(proced-process-alist, proced-header-line): Use `defvar-local`
	(proced-header-line): Put :align-to on spaces to improve result with
	variable-pitch header-line face.
	(proced-filter, proced-format): Use a closure instead of `(lambda ...).

2020-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a reference to the shortdoc command in the Emacs manual

	* doc/emacs/help.texi (Name Help): Mention shortdoc.

2020-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a shortdoc menu entry

	* lisp/menu-bar.el (menu-bar-describe-menu): Add a shortdoc menu
	entry.

2020-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix error in file shortdoc group

	* lisp/emacs-lisp/shortdoc.el (number): Add some more numeric
	stuff (and clean up some arglists).

2020-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/hexl.el: Fix behavior with variable-pitch `header-line` face

	(hexl-ascii-region): Don't inherit from the `header-line`.
	(hexl-font-lock-keywords): Fix text alignment.
	(hexl-mode): Set `font-lock-extra-managed-props` accordingly.

2020-10-11  Alan Third  <alan@idiocy.org>

	Fix GNUstep build

	Fix mistakes made when removing Cocoa code from nsfont.m.

	* src/nsfont.m (nsfont_draw): Remove spurious #ifdef.
	(ns_uni_to_glyphs): The #if/#endif was removed from this code, but the
	code itself not removed.  Remove it now.

2020-10-11  Stefan Kangas  <stefan@marxist.se>

	* lisp/tooltip.el: Remove redundant :group args.

	* lisp/tooltip.el: Use lexical-binding.

2020-10-11  Gregory Heytings  <ghe@sdf.org>  (tiny change)

	Fix 'message' when there's active minibuffer on another frame

	* lisp/minibuffer.el (set-minibuffer-message): Don't reuse the
	active minibuffer for displaying messages unless the active
	minibuffer is on the same frame as the selected window.

2020-10-11  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of shortdoc features

	* lisp/help-fns.el (help-fns-describe-function-functions): Doc
	fix.
	* lisp/emacs-lisp/shortdoc.el (define-short-documentation-group)
	(shortdoc-display-group, shortdoc-add-function): Doc fixes.

	* doc/lispref/help.texi (Documentation Groups): Improve the
	recently-added documentation and the indexing.

2020-10-11  Stefan Kangas  <stefan@marxist.se>

	* lisp/url/url-domsuf.el: Use lexical-binding.

2020-10-11  Stefan Kangas  <stefan@marxist.se>

	Convert url-domsuf.el tests to ert

	* lisp/url/url-domsuf.el: Move commented out tests from here...
	* test/lisp/url/url-domsuf-tests.el: ...to this new file.

2020-10-11  Stefan Kangas  <stefan@marxist.se>

	Update publicsuffix.txt from upstream

	* etc/publicsuffix.txt: Update from
	https://publicsuffix.org/list/public_suffix_list.dat
	dated 2020-10-09 08:23:34 UTC.

2020-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more numeric shortdocs

	* lisp/emacs-lisp/shortdoc.el (shortdoc-section)
	(shortdoc-example): Lighten up colors on light backgrounds.

2020-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak shortdoc colors on light backgrounds

	* lisp/emacs-lisp/shortdoc.el (shortdoc-section)
	(shortdoc-example): Lighten up colors on light backgrounds.

2020-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Autoload shortdoc command and adjust NEWS

	* lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Autoload.

2020-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Use Unicode arrows in shortdoc results

	* lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Use
	Unicode arrows if possible.

2020-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't boldify the flyspell language indicator in the mode line

	* lisp/textmodes/flyspell.el (flyspell-mode): Don't boldify the
	language part -- it draws too much attention in the minor mode list.

2020-10-11  Stephen Berman  <stephen.berman@gmx.net>

	Allow killing files with C-k in wdired if -F is used

	* lisp/wdired.el (wdired-change-to-wdired-mode): Add hook to
	restore properties.
	(wdired-change-to-wdired-mode): Adjust check for symlinks.
	(wdired-preprocess-files): Fix parsing when using the -F flag.
	(wdired-get-filename): Fix parsing of symlinks when using the -F flag.
	(wdired--restore-properties): Renamed, and restore more properties
	(bug#18475).

2020-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Add support for displaying short documentation for function groups

	* doc/lispref/help.texi (Documentation Groups): Document it.

	* lisp/help-fns.el (help-fns--mention-shortdoc-groups): Output
	references to the shortdocs.

	* lisp/emacs-lisp/shortdoc.el: New file.

2020-10-11  Juri Linkov  <juri@linkov.net>

	Make C-w worth in isearch when at the last match in the buffer

	* lisp/isearch.el (isearch-yank-internal): Make C-w work when at
	the last match in the buffer (bug#22118).

2020-10-11  Noam Postavsky  <npostavs@users.sourceforge.net>

	Clarify how to set single-function hooks

	* doc/lispref/modes.texi (Hooks): Clarify the difference between
	normal hooks and single-function "hooks" (bug#25581).

2020-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix link in previous display.texi change

	* doc/lispref/display.texi (Fontsets): Link to the correct node in
	the Elisp manual, not in the Emacs manual.

2020-10-11  Robert Weiner  <rsw@gnu.org>

	Make posn-set-point work on frame events

	* lisp/subr.el (event-start): Mention the frame part of the events.
	(posn-window): Ditto.
	(posn-set-point): Make this work if the event is a frame event
	(bug#28621).

2020-10-11  Robert Pluim  <rpluim@gmail.com>

	Fix the documentation of char-displayable-p

	* doc/lispref/display.texi (Fontsets): Make the documentation of
	char-displayable-p less incorrect (bug#35230).

2020-10-10  Rasmus  <rasmus@gmx.us>

	gnus-icalendar.el: Fix bug in gnus-icalendar-identities

	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--find-attendee):
	(gnus-icalendar-identities) `gnus-ignored-from-addresses' and
	`message-alternative-emails' may be functions. This is not
	supported by `gnus-icalendar-event--find-attendee' (bug#43908).

2020-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calc/: Use lexical scoping in all the files

	Includes the following pervasive changes:
	- Move some defvars earlier in the file so they cover earlier let-bindings
	- Change dynamically scoped `calc-FOO` or `math-FOO` function arguments
	  to just FOO and then let-bind the `calc-FOO` or `math-FOO` variable
	  explicitly in the body of the function.  In some cases, the
	  beginning of the function was changed to refer to FOO so as to delay
	  the binding to a nearby `let` when I could ensure that it did
	  not make a difference.
	- Add an underscore in front of unused vars or comment them out altogether.
	- Replace unused `err` arg to `condition-case` with nil.

	Plus the additional itemized changes below.

	* lisp/calc/calc-map.el (calcFunc-reducer):
	* lisp/calc/calc-arith.el (math-setup-declarations):
	* lisp/calc/calc-help.el (calc-full-help, calc-help-index-entries)
	(calc-full-help): Use `ignore-errors`.

	* lisp/calc/calc-embed.el (calc-embedded-modes-change):
	Declare `the-language` and `the-display-just` as dynamically scoped.

	* lisp/calc/calc-forms.el (math-setup-year-holidays): Use `dolist`.

	* lisp/calc/calc-graph.el (calc-graph-set-styles): Use `symbol-value`
	rather than `eval.`
	(calc-graph-delete-temps, calc-graph-set-styles): Use ignore-errors.

	* lisp/calc/calc-macs.el (calc-with-trail-buffer): Add artificial use
	of `save-buf` to silence compiler warnings in all the cases where
	`body` doesn't make use of it.

	* lisp/calc/calc-math.el (math-largest-emacs-expt)
	(math-smallest-emacs-expt, math-use-emacs-fn): Use ignore-errors.

	* lisp/calc/calc-mode.el (calc-total-algebraic-mode): Remove "P" from
	interactive spec since it's not used anyway.

	* lisp/calc/calc-rewr.el (calc-match): Simplify.

	* lisp/calc/calc.el (calc-buffer): Give it a global nil value,
	so it's automatically declared dynbound in any file that requires `calc`.
	(calcDigit-nondigit): Adjust accordingly.

	* lisp/calc/calcalg2.el (calcFunc-table): Declare `var-dummy` as dynbound.
	(math-scan-for-limits): Comment out dead code.

	* lisp/calc/calcalg3.el (math-general-fit): Declare `var-YVAL` and
	`var-YVALX` as dynbound.

2020-10-10  Andrea Corallo  <akrl@sdf.org>

	* lisp/help.el (help-function-arglist): Fix non nativecomp builds (bug#43914)

2020-10-10  Andrea Corallo  <akrl@sdf.org>

	As edges are indexed store them in an hash table

	* lisp/emacs-lisp/comp.el (comp-edge): Update doc for 'number'
	slot.
	(comp-func): Rename 'edges' slot into 'edges-h'.
	(comp-log-edges): Update logic for edges in an hash table.
	(comp-clean-ssa, comp-compute-edges): Likewise.

2020-10-10  Andrea Corallo  <akrl@sdf.org>

	Add into phi l-value args basic block names

	* lisp/emacs-lisp/comp.el (comp-ssa-rename-insn): Clean-up a
	leftover space.
	(comp-finalize-phis): Cons the blasic block name providing the
	mvar together with the mvar itself while forming the phi.
	(comp-fwprop-insn): Destructure correctly the phi.

2020-10-10  Andrea Corallo  <akrl@sdf.org>

	Provide feature nativecomp and make use of it

	* lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Use
	`featurep' to identify if the native compiler is available.
	* lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise.
	* lisp/emacs-lisp/package.el (package--delete-directory): Likewise.
	* lisp/loadup.el: Likewise.
	* src/comp.c (syms_of_comp): Provide feature nativecomp.

2020-10-10  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-func): Fix doc for blocks slot.

2020-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc tweak

	Try and clarify the meaning of `init-value`.

2020-10-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	c00606171f (origin/emacs-27) A better fix for bug#43886
	3196fd44c3 Avoid crashes when a theme is loaded with one frame suspended
	0407b15500 Removed an incorrectly placed extra word in the semantic docs
	040dcbe53e Fix current-line hscrolling when overlays change
	c56eeba2ce Extend tests for shell-command-dont-erase-buffer

2020-10-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	b6704d58e8 ; * src/xdisp.c (Fwindow_text_pixel_size): Doc fix.

2020-10-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	acc9b46153 Fix merging of region face for non-ASCII characters
	c2a13969e4 Make drag and drop on NS open all URLs (bug#43470)

2020-10-10  Andrea Corallo  <akrl@sdf.org>

	Fix LIMPLE latch block name coloring in "*Native-compile-Log*"

	* lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Fix
	latch block name coloring.

2020-10-10  Brian Leung  <leungbk@mailfence.com>

	Various typo fixes in native compiler related files

	* lisp/emacs-lisp/comp.el (native-compiler-error-dyn-func)
	(comp-func, comp-func-l)
	(comp-func-d, comp-ensure-native-compiler, comp-type-hint-p)
	(comp-func-unique-in-cu-p, comp-alloc-class-to-container)
	(comp-limple-mode, comp-loop-insn-in-block)
	(comp-lex-byte-func-p, comp-c-func-name, comp-decrypt-arg-list)
	(comp-spill-lap-function, comp-intern-func-in-ctxt)
	(comp-spill-lap-function, comp-spill-lap, comp-emit-handler)
	(comp-prepare-args-for-top-level): Various typo fixes.
	* src/comp.c (Fcomp_el_to_eln_filename): Fix typo in error
	message.

2020-10-10  Mattias Engdegård  <mattiase@acm.org>

	Improve coverage of Calc bit shift test

	* test/lisp/calc/calc-tests.el (calc-tests--rsh, calc-tests--rash)
	(calc-shift-binary): Test with negative word sizes.

2020-10-10  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-10-10  Andrea Corallo  <akrl@sdf.org>

	Fix failure when compiling a trampoline with no eln-cache dir (bug#43875)

	* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Try to create
	the eln-cache dir if this is not existing, if fails to do that
	move on to the next one.

2020-10-10  Andrew Whatson  <whatson@gmail.com>

	* Fix typo name plus make error homogeneous in `comp-trampoline-compile'

	* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix typo
	renaming `comp-tampoline-compile' -> `comp-trampoline-compile'.
	Change error to be consistent.
	(comp-subr-trampoline-install): Use `comp-trampoline-compile'.

2020-10-10  Eli Zaretskii  <eliz@gnu.org>

	A better fix for bug#43886

	* src/xfaces.c (load_color2, Fcolor_distance): Revert last change.
	* src/term.c (clear_tty_hooks): Don't clear defined_color_hook.

2020-10-10  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Fix dictionary tooltip mode

	* lisp/net/dictionary.el (dictionary-tooltip-mode): Add mouse movement
	binding and use tooltip-functions instead of tooltip-hook

	There were some changes in Emacs since testing it the last time. I had
	to add keybinding for mouse movement and enable track-mouse to get the
	mode working again.

2020-10-09  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes when a theme is loaded with one frame suspended

	* src/xfaces.c (load_color2, Fcolor_distance): Don't try to call
	the frame's defined_color_hook if the frame is suspended.
	(Bug#43886)

2020-10-09  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Adding details page for dictionary

	* lisp/net/dictionary.el (dictionary-display-dictionary-line):
	Allow getting more details on a dictionary by clicking the
	"(Details)" link.

	I had the functionality to query the dictionary information but no
	mechanism to invoke it.  So just add a button after the short
	description of the dictionary to get more information.

2020-10-09  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Dictionary now uses button

	* lisp/net/dictionary-link.el: Removed now obsolete file
	* lisp/net/dictionary.el: Use insert-button and make-button
	* lisp/net/dictionary.el (dictionary-mode-map): Now defined using defvar

	I had to add a conversion function as parameter for the button 'action
	as I need to be able to pass nil data to my function. This is not
	possible with the regular button 'action function and the 'button-data
	value.

	The functionality of searching a link in all dictionaries has been
	removed for now. It might appear again once I have an idea how to
	implement it.

2020-10-09  Eli Zaretskii  <eliz@gnu.org>

	Add Euro Sign to Latin language input methods

	* lisp/leim/quail/latin-post.el ("danish-postfix")
	("finnish-postfix", "french-postfix", "german-postfix")
	("icelandic-postfix", "italian-postfix", "norwegian-postfix")
	("scandinavian-postfix", "spanish-postfix", "swedish-postfix"):
	Add "E=" for the Euro Sign.  (Bug#43866)

2020-10-09  Mattias Engdegård  <mattiase@acm.org>

	Calc: fix arithmetic right shift sign bit detection

	Arithmetic right shift didn't compute the bit to shift in correctly.
	For example, #x600000000 right-shifted 8 steps (with 32 bit word size)
	resulted in #xff000000 rather than 0. (Bug#43764)

	* lisp/calc/calc-bin.el (calcFunc-ash): Fix condition.
	* test/lisp/calc/calc-tests.el (calc-tests--clip, calc-tests--lsh)
	(calc-tests--rsh, calc-tests--ash, calc-tests--rash, calc-tests--rot):
	New.
	(calc-shift-binary): New test.

2020-10-09  Nick Gasson  <nick@nickg.me.uk>  (tiny change)

	Match OpenBSD doas password prompt in comint

	* lisp/comint.el (comint-password-prompt-regexp): match OpenBSD doas
	password prompt. OpenBSD 5.8 replaced sudo with doas in the base
	install.

	* test/lisp/comint-tests.el (comint-testsuite-password-strings): test
	that the doas password prompt is matched (bug#43846).

2020-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	message-signature doc fix

	* lisp/gnus/message.el (message-signature): Mention
	message-signature-insert-empty-line (bug#43853).

2020-10-09  Pankaj Jangid  <pankaj.jangid@gmail.com>  (tiny change)

	Removed an incorrectly placed extra word in the semantic docs

	* doc/misc/semantic.texi (Parser code): Copy edit (bug#43861).

2020-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify define-minor-mode hooks

	* doc/lispref/modes.texi (Defining Minor Modes): Note that the
	code (and the hook) is run both when the mode is enabled and
	disabled (bug#43868).

2020-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Don't eagerly store articles in the Agent by default"

	This reverts commit def34a20766ea5179afd5e5ed090a2b86fcccb5e.

	This made storing articles in the Agent very slow.

2020-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Only skip directories in lgrep, not the other grep commands

	* lisp/progmodes/grep.el (lgrep): Do the directory ignores here
	(bug#23590).
	(grep-compute-defaults): ... instead of here, because this would
	affect all grep commands, not just lgrep.

2020-10-08  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Don't check for existence of defface

	* lisp/net/dictionary.el: defface has been available in Emacs for quite
	some time now. No need to check it before using it.

2020-10-08  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Don't check coding-system-list for existence

	* lisp/net/dictionary.el (dictionary-coding-systems-for-dictionaries):
	Don't check for coding-system-list before using it. It check no longer
	be necessary.

2020-10-08  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Add :version tag to defcustom statement

	* lisp/net/dictionary.el: Add :version tag to all defcustom statements

	Suggested-By: Robert Pluim <rpluim@gmail.com>

2020-10-08  Alan Mackenzie  <acm@muc.de>

	CC Mode: Move the handling of keyword auto into type handling for C++.

	This should allow auto, const, static, ... to be in any order.

	* lisp/progmodes/cc-engine.el (c-forward-type): New return value 'no-id for
	when auto precludes the parsing of a type identifier.  Adapt processing for
	this.
	(c-forward-decl-or-cast-1): Use the new facility from c-forward-type.

	* lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): Insert the value
	of c-no-type-kwds into the value.
	(c-no-type-kwds, c-no-type-key): New lang consts/vars, basically "auto".
	(c-typeless-decl-kwds, c-modifier-kwds): Remove "auto" from the C++ value.

2020-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/ftcrfont.c (ftcrfont_open): Initialize the `max_width` field

	On a 32bit build, Emacs can otherwise crash with a !FIXNUM_OVERFLOW_P
	assertion in `Ffont_info` by simply doing `emacs -Q` and then `C-s`.

	* src/font.c: Try and detect uninitialized `max_width` fields.
	(font_make_object): Set max_width to a silly value.
	(Ffont_info): Check the value is not silly any more.

2020-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/doc-view.el: Fix "can't resize root window" error

	(doc-view-fit-window-to-page): Change approach to detect when the
	frame needs to be resized.

2020-10-08  Eli Zaretskii  <eliz@gnu.org>

	Fix current-line hscrolling when overlays change

	* src/xdisp.c (redisplay_internal): Disable "optimization 1" when
	auto-hscrolling current line and we're redisplaying the selected
	window.  (Bug#43835)

2020-10-08  Michael Albinus  <michael.albinus@gmx.de>

	Extend tests for shell-command-dont-erase-buffer

	* test/lisp/simple-tests.el
	(simple-tests-shell-command-dont-erase-buffer): Extend test.

	* test/lisp/net/tramp-tests.el
	(tramp-test32-shell-command-dont-erase-buffer): Adapt test.  Tag
	it :unstable.

2020-10-08  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Removed some compatibility parts in dictionary

	* lisp/net/dictionary.el: Use cl-lib, remove defface and defgroup
	checks, remove xemacs-related code.
	* lisp/net/dictionary-link.el: Remove xemacs-related code.

2020-10-08  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Renamed link.el

	* lisp/net/link.el: Renamed to connection-link.el, also prefixing
	all functions with "dictionary-" prefix
	* lisp/net/dictionary.el: Adapt to renamed functions

2020-10-08  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Renamed connection.el

	* lisp/net/connection.el: Renamed to dictionary-connection.el, also
	prefixing all functions with "dictionary-" prefix
	* lisp/net/dictionary.el: Adapt to renamed functions

2020-10-08  Torsten Hilbrich  <torsten.hilbrich@gmx.net>

	Importing dictionary module

	* lisp/net: Adding files connection.el, link.el, dictionary.el,
	imported from https://github.com/myrkr/dictionary-el.git

2020-10-08  Dmitry Gutov  <dgutov@yandex.ru>

	Mention two more functions in the commentary

	* lisp/progmodes/project.el:
	Mention two more functions in the commentary (bug#43595).

2020-10-07  Andrea Corallo  <akrl@sdf.org>

	Fix failure when eln-cache is removed (introduced by 4a1bb46260)

	* src/comp.c (make_directory_wrapper, make_directory_wrapper_1):
	New functions.
	(Fcomp_el_to_eln_filename): If base_dir is not
	specified and we are searching across `comp-load-path' try to
	create a directory if does not exists.

2020-10-07  Andrea Corallo  <akrl@sdf.org>

	Fix some nits in comp.el

	* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Use
	`cl-defmethod' where correct in place of `cl-defgeneric'.
	(comp-tampoline-compile): Add missing #.

2020-10-07  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'isearch-group-N' faces

	* etc/NEWS:
	* doc/emacs/search.texi (Search Customizations): Improve and
	clarify the wording of the 'isearch-group-N' faces description.

	* lisp/isearch.el (search-highlight-submatches): Doc fix.

2020-10-07  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in frame.el.

	* lisp/frame.el (frame-set-background-mode): Fix last change: yet
	another place where FRAME was not taken into account, using the
	selected frame instead.  (Bug#43837)

2020-10-07  Hong Xu  <hong@hong.me>

	Clarify what ``chrooted environment means'' for TRAMP

	* doc/misc/tramp.texi (Frequently Asked Questions): Clarify what
	``chrooted environment means'' for TRAMP (bug#43839).

2020-10-07  Eli Zaretskii  <eliz@gnu.org>

	Fix face recalculation when frame's background mode changes

	* lisp/frame.el (frame-set-background-mode): Use the FRAME
	argument instead of the selected frame, when calling
	'face-spec-match-p'.  (Bug#43837)

2020-10-07  Andrea Corallo  <akrl@sdf.org>

	Do use echo area for async compilation started/finished messages

	* lisp/emacs-lisp/comp.el (comp-run-async-workers)
	(native-compile-async): Do not write into the echo area.

2020-10-07  Andrea Corallo  <akrl@sdf.org>

	Better libgccjit related error messaging during configure

	* configure.ac: Distinguish the case when libgccjit is missing,
	its headers are missing, or libgccjit is broken.  Message the user
	based on that.

2020-10-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove mention of the obsolete cust-print.el from the manual

	* doc/lispref/edebug.texi (Printing in Edebug): Remove mention of
	the obsolete cust-print.el (bug#37956) and adjust the text a bit.

2020-10-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Update documentation on this-command-keys to reflect new behavior

	* doc/lispref/commands.texi (Command Loop Info):
	`this-command-keys' does not include the C-u any more, so remove
	that from the description and the example
	(bug#22107).

	* src/keyboard.c (Fthis_single_command_keys): Don't say that
	`this-command-keys' returns the C-u prefix (bug#22111).

2020-10-07  Alex Gramiak  <agrambot@gmail.com>

	Default the grep commands to skip directories

	* lisp/progmodes/grep.el (grep-compute-defaults): Skip directories
	(bug#23590).

2020-10-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Make artist-mode work when display-line-numbers-mode is on

	* lisp/textmodes/artist.el (artist--adjust-x): New function.
	(artist-mouse-draw-continously, artist-mouse-draw-poly)
	(artist-mouse-draw-1point, artist-mouse-draw-2points): Use it to
	take `display-line-numbers-mode' widths into account.

2020-10-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove reference to outdated Gnus variable from the manual

	* doc/misc/gnus.texi (Startup Variables): Remove reference to
	gnus-use-backend-marks, which was removed in 2011 (bug#43833).

2020-10-07  Lars Ingebrigtsen  <larsi@gnus.org>

	alist-get doc string further clarification

	* lisp/subr.el (alist-get): Mention generalized variables again
	for easier cross-referencing (bug#43836).

2020-10-07  Hong Xu  <hong@hong.me>

	Clarify what ``chrooted environment means'' for TRAMP

	* doc/misc/tramp.texi (Frequently Asked Questions): Clarify what
	``chrooted environment means'' for TRAMP (bug#43839).

2020-10-07  Mauro Aranda  <maurooaranda@gmail.com>

	Make the State button in Custom use extended menus

	* lisp/cus-edit.el (custom-actioned-widget): New variable.
	Dynamically hold the widget for which to show the menu.
	(custom-variable-extended-menu, custom-face-extended-menu)
	(custom-group-extended-menu): Keymap menus for the State menu.  Use
	custom-actioned-widget for the :enable and :selected forms.  Make
	related items radio buttons.  (Bug#4787)
	(custom-variable-menu, custom-face-menu, custom-group-menu): Keep for
	backward compatibility, but default to nil, so we prefer the keymap
	menus instead.
	(custom-variable-action, custom-face-action, custom-group-action):
	Pass the keymap menu to widget-choose when the simplified menus
	are nil.

2020-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/progmodes/ruby-mode-tests.el: Fix obsolete warnings

2020-10-06  Juri Linkov  <juri@linkov.net>

	Add match-data to isearch state and repeat faces to highlight group matches

	* lisp/isearch.el (isearch-match-data): New variable.
	(isearch-mode): Set isearch-match-data to nil.
	(isearch-update): Call isearch-highlight with isearch-match-data.
	(isearch--state): Add isearch-match-data.
	(isearch--set-state): Restore isearch-match-data.
	(with-isearch-suspended): Preserve isearch-match-data.
	(isearch-search): Set isearch-match-data to integers.
	(isearch-group-1): Rename from isearch-group-odd and adjust colors.
	(isearch-group-2): Rename from isearch-group-even and adjust colors.
	(isearch-highlight): Add optional arg 'match-data'.
	Rewrite search-highlight-submatches part to recycle faces.

	* doc/emacs/search.texi (Search Customizations): Amend the
	documentation for isearch-group faces.

	(bug#6227, bug#43702)

2020-10-06  Alan Third  <alan@idiocy.org>

	Fix crash when creating new NS frame (bug#43812)

	* src/nsterm.m (ns_clear_under_internal_border): Check the frame is
	live.

2020-10-06  Juri Linkov  <juri@linkov.net>

	Add check for bound and true 'ido-everywhere' in multi-occur--prompt

	* lisp/replace.el (multi-occur--prompt): Check if 'ido-everywhere' is
	bound and true (bug#41633).

2020-10-06  Juri Linkov  <juri@linkov.net>

	Fix args of truncate-string-to-width in ibuffer-compile-make-substring-form

	* lisp/ibuffer.el (ibuffer-compile-make-substring-form): Fix args of
	truncate-string-to-width call (bug#41250)

2020-10-06  Andrea Corallo  <akrl@sdf.org>

	Native compiling do not target a directory with no write permission

	* src/comp.c (Fcomp_el_to_eln_filename): Check for write
	permission while choosing the output directory in
	`comp-eln-load-path'.

2020-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/mule.el (define-coding-system): Revert accidental change

	This was accidentally included in a9f147af716aa026ec7778202901c4cb4bd5487d
	"Use the full name of the null byte/character, not its abbreviation".

2020-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/mule-util.el: Revert bug#41250 workaround

	(truncate-string-ellipsis): Use the '…' character itself since it
	should work now and is more readable.

2020-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/ja-dic-cnv.el: Attempt to fix bug#41250

	(skkdic-convert): Only bind `coding-system-for-read` where needed.

2020-10-06  Mattias Engdegård  <mattiase@acm.org>

	Suppress obsoletion warning in test of obsolete rx function

	* test/lisp/emacs-lisp/rx-tests.el (rx-compat): Add byte-compilation
	warning suppression.

2020-10-06  Mattias Engdegård  <mattiase@acm.org>

	Fix last change

	* lisp/international/mule-util.el (truncate-string-ellipsis):
	Use Unicode hex escapes instead of named escapes here, because \N{...}
	is not available during bootstrapping.  (Bug#41250)

2020-10-06  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* lisp/international/mule-util.el (truncate-string-ellipsis): Add
	a FIXME comment that explains the last change.  (Bug#41250)

2020-10-06  Juri Linkov  <juri@linkov.net>

	Don't use the character '…' literally in mule-util.el (bug#41250)

	* lisp/international/mule-util.el (truncate-string-ellipsis):
	Replace the character '…' with its Unicode name.

2020-10-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix animate test that somehow changed recently

2020-10-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix mule-util-tests after recent truncation changes

	* test/lisp/international/mule-util-tests.el: Fix truncation checks.

2020-10-06  Daniel Martín  <mardani29@yahoo.es>

	Add missing full stop in MS-DOS processes documentation

	* doc/emacs/msdos-xtra.texi (MS-DOS Processes): Minor copy edig
	(bug#43820).

2020-10-06  Harald Jörg  <haj@posteo.de>

	cperl-mode: Fix a test to ensure cperl-mode is active

	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-mode-test-indent-exp): Make sure that cperl-mode is active
	for testing 'cperl-indent-exp', also skip this test under
	perl-mode.

	* test/lisp/progmodes/cperl-mode-resources/cperl-indent-exp.pl:
	Eliminate dependency on unrelated customizable variables (bug#10483).

2020-10-05  Andrea Corallo  <akrl@sdf.org>

	Fix a test in test/lisp/subr-tests.el

	* test/lisp/subr-tests.el (subr-tests-bug22027): Redefine
	`read-string' with a lambda with the same number of arguments.

2020-10-05  Andrea Corallo  <akrl@sdf.org>

	Add a test for primitive redefinition

	* test/src/comp-tests.el (primitive-redefine): New test.
	* test/src/comp-test-funcs.el (comp-test-primitive-redefine-f):
	New function.

2020-10-05  Andrea Corallo  <akrl@sdf.org>

	Make primitive redefinition effective through trampoline synthesis

	* lisp/loadup.el (dump-mode): Set `comp-enable-subr-trampolines'
	when finished bootstrap.
	* src/data.c (Ffset): Call `comp-enable-subr-trampolines' when
	redefining a subr.
	* src/comp.c (syms_of_comp): Define `comp-subr-trampoline-install'
	symbol.
	(syms_of_comp): Define `comp-enable-subr-trampolines' variable.

2020-10-05  Andrea Corallo  <akrl@sdf.org>

	Rename comp-subr-safe-advice -> comp-subr-trampoline-install

2020-10-05  Andrea Corallo  <akrl@sdf.org>

	Revert "Use `advice-flet' in place of `cl-letf' to avoid primitive...

	This reverts commit 825e85b393a3d78ba43176ecc5bc1a9595d0fbea.

2020-10-05  Andrea Corallo  <akrl@sdf.org>

	Revert "Add `advice-flet' macro"

	This reverts commit d07d7ab1a0e321ced62ebe5dd9db27eb7e93430e.

2020-10-05  Andreas Schwab  <schwab@linux-m68k.org>

	Use the full name of the null byte/character, not its abbreviation

	* lisp/subr.el (inhibit-nul-byte-detection): Make it an obsolete alias.
	* src/coding.c (setup_coding_system): Use original name.
	(detect_coding): Rename nul_byte_found => null_byte_found.
	(detect_coding_system): Use original name.
	Rename nul_byte_found => null_byte_found.
	(Fdefine_coding_system_internal): Use original name.
	(syms_of_coding): Rename inhibit-nul-byte-detection to
	inhibit-null-byte-detection.
	* src/w16select.c (get_clipboard_data): Rename nul_char to null_char.
	* src/json.c (check_string_without_embedded_nulls): Rename from
	check_string_without_embedded_nuls.
	(Fjson_parse_string): Adjust accordingly.
	* src/coding.h (enum define_coding_undecided_arg_index)
	(enum coding_attr_index): Rename ...nul_byte... to ...null_byte....
	* lisp/info.el (info-insert-file-contents, Info-insert-dir):
	* lisp/international/mule.el (define-coding-system):
	* lisp/vc/vc-git.el (vc-git--call):
	* doc/lispref/nonascii.texi (Lisp and Coding Systems): Use original name.

2020-10-05  Michael Albinus  <michael.albinus@gmx.de>

	* src/dbusbind.c (xd_signature): Better type check for array elements.

	* test/lisp/net/dbus-tests.el (dbus-test01-compound-types): Extend test.

2020-10-05  Eli Zaretskii  <eliz@gnu.org>

	Fix merging of region face for non-ASCII characters

	* src/xdisp.c (extend_face_to_end_of_line): Restore the correct
	original face used by the iterator on this line, not the ASCII
	face.  (Bug#43363)

2020-10-05  Jared Finder  <jared@finder.org>

	Sort items in tmm properly, and allow clicking the final item

	* lisp/tmm.el (tmm-menubar-keymap): Sort the final items properly.
	(tmm-menubar): Allow clicking the final menu item (bug#43756).

2020-10-05  Juri Linkov  <juri@linkov.net>

	Use … in Gnus mode lines (when shortening them)

	* lisp/gnus/gnus-sum.el (gnus-set-mode-line): Defer ellipsis
	creation to `truncate-string-to-width' (bug#41250).  This uses …
	by default.

2020-10-05  Andrea Corallo  <akrl@sdf.org>

	* configure.ac (lispdirrel): Fix value for MacOS build.

2020-10-05  Nathan Moreau  <nathan.moreau@m4x.org>

	Improve support for using vc commands in indirect buffers

	* lisp/vc/vc.el (vc-deduce-fileset-1): New defun.
	(vc-deduce-fileset): Adapt.
	(vc-maybe-buffer-sync): New defun.
	(vc-diff): Adapt.
	(vc-ediff): Adapt.
	(vc-root-diff): Adapt.
	(vc-revision-other-window): Adapt (bug#40967).

2020-10-05  Eli Zaretskii  <eliz@gnu.org>

	Fix the documentation parts of a recent commit

	* lisp/international/mule-util.el (truncate-string-ellipsis): Doc
	fix.

	* doc/lispref/display.texi (Size of Displayed Text): Improve
	wording and accuracy of the documentation of
	'truncate-string-to-width'.  Document the function
	'truncate-string-ellipsis'.

	* etc/NEWS: Improve the wording of the entry for
	'truncate-string-to-width'.

2020-10-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/xdisp.c (syms_of_xdisp): New var `redisplay_skip_initial_frame`.

	This makes it possible to run most of the redisplay code (tho not the
	actual drawing since there's nowhere to draw) even when there's no
	real frame at hand, as is the case in batch mode.
	This makes `xdisp-tests--minibuffer-resizing` work even in batch.

	(redisplay_internal): Obey it.
	(init_xdisp): Set `echo_area_window` even in noninteractive mode.
	* src/dispnew.c (update_frame): Skip the initial frame.
	* src/frame.c (make_frame): Use 80x25 as the default initial size.

	* test/src/xdisp-tests.el (xdisp-tests--minibuffer-resizing):
	Use the new var and fix use of `executing-kbd-macro`.

2020-10-04  Andrea Corallo  <akrl@sdf.org>

	* configure.ac : Fix typo for MacOS nativecomp introduced by afb765ab3c

2020-10-04  Juri Linkov  <juri@linkov.net>

	Use '…' for ellipsis in truncate-string-to-width by default (bug#41250)

	* lisp/international/mule-util.el (truncate-string-ellipsis):
	Change the default value to nil.
	(truncate-string-ellipsis): New function.
	(truncate-string-to-width): Use the value returned from the
	function 'truncate-string-ellipsis'.

	* lisp/tab-bar.el (tab-bar-tab-name-truncated):
	* lisp/tab-line.el (tab-line-tab-name-ellipsis):
	Take advantage of the improvement of the ellipsis default value
	in truncate-string-to-width and truncate-string-ellipsis.

	* doc/lispref/display.texi (Size of Displayed Text):
	Improve description of truncate-string-ellipsis.

2020-10-04  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-10-04  Andrea Corallo  <akrl@sdf.org>

	Make filename hashing compatible with self contained builds (bug#43532)

	* Makefile.in (lispdirrel): Add replace template.
	(epaths-force): Form correctly 'PATH_REL_LOADSEARCH' into epath.h
	* configure.ac (lispdirrel): Define variable (relative path of the
	lisp files from the installation directory).
	* src/comp.c (Fcomp_el_to_eln_filename): Update algorithm not to
	rely on 'PATH_DUMPLOADSEARCH' but on 'PATH_REL_LOADSEARCH'.
	* src/epaths.in (PATH_REL_LOADSEARCH): Add macro template.

2020-10-04  Andrea Corallo  <akrl@sdf.org>

	* configure.ac: Better HAVE_NATIVE_COMP description

2020-10-04  Andrea Corallo  <akrl@sdf.org>

	Fix function description message for native compiled lisp functions

	* lisp/help-fns.el (help-fns-function-description-header): Fix
	message.

2020-10-04  Andrea Corallo  <akrl@sdf.org>

	Fix two tests in help-fns-tests.el for native code

	* test/lisp/help-fns-tests.el (help-fns-test-lisp-defun)
	(help-fns-test-lisp-defsubst): Fix description string
	for native compiled functions.

2020-10-04  Michael Albinus  <michael.albinus@gmx.de>

	Make dbus-unregister-object work for monitors

	* doc/misc/dbus.texi (Monitoring Messages): Rename from
	"Monitoring Events".
	(Register Objects, Monitoring Messages):
	Mention returned object.

	* lisp/net/dbus.el (dbus-unregister-object): Adapt docstring.
	(dbus-unregister-object): Delete monitor if needed.
	(dbus-register-monitor): Return proper object.

	* src/dbusbind.c (dbus-registered-objects-table): Adapt docstring.

	* test/lisp/net/dbus-tests.el (dbus--test-signal-handler):
	Adapt docstring.
	(dbus-test08-register-monitor): New test.

2020-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make update-file-autoloads respect generated-autoload-file

	* lisp/emacs-lisp/autoload.el (update-file-autoloads): Make
	update-file-autoloads respect `generated-autoload-file', as
	documented.

2020-10-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults in lookup_image when faces were freed

	* src/image.c (lookup_image): Make sure the frame's face cache
	exists and has at least the basic faces.  If FACE_ID is not a
	basic face, and is no longer cached, fall back on the 'default'
	face.  (Bug#43700)

2020-10-03  Mauro Aranda  <maurooaranda@gmail.com>

	Support extended menus in widget-choose

	* doc/misc/widget.texi (Utilities): Document widget-choose.

	* etc/NEWS: Document the feature (bug#4787).
	* lisp/wid-edit.el (widget--simplify-menu): New function, to convert
	extended menus into simplified menus when using the menu to prompt
	through the minibuffer.
	(widget-choose): Accept a keymap menu.  When not using x-popup-menu,
	simplify the menu with widget--simplify-menu.  Document the changes in
	the docstring.

2020-10-03  Alan Third  <alan@idiocy.org>
	    Daniel Martín  <mardani29@yahoo.es>

	Make drag and drop on NS open all URLs (bug#43470)

	* lisp/term/ns-win.el (ns-drag-n-drop): Merge generic and copy
	actions.

2020-10-02  Alan Mackenzie  <acm@muc.de>

	Enhance syntax-tests.el to test comments in parse-partial-sexp

	This now tests the interface between parse-partial-sexp and the low level
	comment function in syntax.c

	* test/src/syntax-tests.el (syntax-comments-midpoint): New function.
	(syntax-pps-comments): New macro.
	(top level): Two new syntax-br-comments tests and five new syntax-pps-comments
	tests.

	* test/data/syntax-comments.txt (top level): Amend some test fragments and add
	some more.

2020-10-02  Mattias Engdegård  <mattiase@acm.org>

	Calc: fix formatting and parsing Unix time (bug#43759)

	The number of days from epoch to Jan 1, 1970 that was used in parsing
	and formatting Unix time was incorrect.  The previous fix
	(in e368697ce36) was incomplete.

	Reported by Vincent Belaïche.

	* lisp/calc/calc-forms.el (math-unix-epoch): New constant.
	(math-format-date-part, math-parse-standard-date, calcFunc-unixtime):
	Use math-unix-epoch instead of a constant that is sometimes wrong.
	* test/lisp/calc/calc-tests.el (calc-unix-date): New test.

2020-10-02  Andrea Corallo  <akrl@sdf.org>

	Use `advice-flet' in place of `cl-letf' to avoid primitive redefinition

	* test/lisp/time-stamp-tests.el (with-time-stamp-system-name): Use
	`advice-flet' to advice primitive avoiding redefinition.

	* test/lisp/tempo-tests.el (tempo-p-element-test)
	(tempo-P-element-test, tempo-r-element-test)
	(tempo-s-element-test, tempo-r>-element-test): Likewise.

	* test/lisp/subr-tests.el (subr-tests-bug22027): Likewise.

	* test/lisp/shadowfile-tests.el (shadow-test00-clusters)
	(shadow-test01-sites, shadow-test06-literal-groups)
	(shadow-test07-regexp-groups): Likewise.

	* test/lisp/replace-tests.el (replace-tests-with-undo): Likewise.

	* test/lisp/play/dissociate-tests.el
	(dissociate-tests-dissociated-press): Likewise.

	* test/lisp/net/tramp-tests.el (tramp-test10-write-region)
	(tramp-test21-file-links): Likewise.

	* test/lisp/kmacro-tests.el (kmacro-tests-call-macro-hint-and-repeat)
	(kmacro-tests-repeat-on-last-key)
	(kmacro-tests-repeat-view-and-run)
	(kmacro-tests-bind-to-key-with-key-sequence-in-use): Likewise.

	* test/lisp/files-tests.el (files-tests-read-file-in-~): Likewise.

	* test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice):
	Likewise.

	* test/lisp/bookmark-tests.el (bookmark-test-bmenu-locate):
	Likewise.

	* test/lisp/abbrev-tests.el
	(inverse-add-abbrev-skips-trailing-nonword)
	(inverse-add-abbrev-skips-trailing-nonword/positive-arg)
	(inverse-add-abbrev-skips-trailing-nonword/negative-arg): Likewise.

2020-10-02  Andrea Corallo  <akrl@sdf.org>

	Add `advice-flet' macro

	The testsuite does large use of primitive redefinition, to avoid that
	we define `advice-flet' to use instead as an easy `cl-letf'
	replacement.

	* lisp/emacs-lisp/nadvice.el (advice-flet): New macro.

2020-10-02  Alan Mackenzie  <acm@muc.de>

	Enhance syntax-tests.el to test comments in scan-lists

	This now tests the interface between scan_lists and the comment functions.

	* test/src/syntax-tests.el (syntax-br-comments): New macro.
	({-in, ;-in, /*-in): Set parse-sexp-ignore-comments to t.
	(top level): Add 15 tests for comments inside brace lists.

	* test/data/syntax-comments.txt (top level): Amend some test fragments.

2020-10-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	78eacf31e8 ; Fix many typos in symbols in docs and comments
	d5d12707d6 * doc/misc/flymake.texi (Using Flymake): Fix a typo.  (Bug...

	# Conflicts:
	#	lisp/allout.el
	#	lisp/progmodes/ebrowse.el

2020-10-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	41dcbeccf3 Make aliases introduced in previous patch obsolete
	4997032c05 Restore some public debugging functions removed in Emacs 27

2020-10-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	2af6b3147d Clarification in Tramp manual
	8fbaca7d41 Check Emacs version used for Tramp compilation
	90e5549f02 Don't signal an error when saving files on WdebDAV volumes
	6f73cc3579 ; * lisp/net/eww.el (eww-search-words): Doc fix.
	ce0842a165 * lisp/hi-lock.el (hi-lock-find-patterns): Autoload it.  (...

2020-10-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix electric-buffer-list buffer selection

	* lisp/ebuff-menu.el (electric-buffer-list): Ensure that point is
	restored, which isn't always the case if
	global-display-line-numbers-mode (bug#43755).  This enables
	selecting buffers again.

2020-10-02  Andrea Corallo  <akrl@sdf.org>

	When advising search in `comp-eln-load-path' the first writable dir

	* lisp/emacs-lisp/comp.el (comp-tampoline-compile): Do not crash
	if we can't write in the first entry in `comp-eln-load-path' but
	search for another one.

2020-10-02  Andrea Corallo  <akrl@sdf.org>

	Fix 'incoherent dumped eln file' error when DUMP-METHOD=pbootstrap

	* src/Makefile.in ($(bootstrap_pdmp)): Add missing --bin-dest
	--eln-dest flags.

2020-10-02  Andrea Corallo  <akrl@sdf.org>

	* src/pdumper.c (dump_do_dump_relocation): Better error for incoherent eln.

2020-10-02  Eli Zaretskii  <eliz@gnu.org>

	* doc/misc/flymake.texi (Using Flymake): Fix a typo.  (Bug#43758)

2020-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	CC Mode: Convert the handling of c-special-indent-hook to standard usage

	* lisp/progmodes/cc-styles.el (c-set-style): Use kill-local-variable rather
	than copying the hook's global value to the local binding.
	(c-make-styles-buffer-local): Remove redundant make-variable-buffer-local.

2020-10-02  Robert Pluim  <rpluim@gmail.com>

	Don't error if no GPG signing key configured

	* lisp/gnus/mml-sec.el (mml-secure-epg-sign): Partially revert
	"Make mml-secure-epg-sign bug out if we can't find an identity".
	It causes signing to fail for people who have not set up
	mml-secure-{smime,openpgp}-sign-with-sender, which is a regression
	from Emacs-26 (Bug#40118).  In such a situation gpg will use its
	default key.

	Do not merge to master. On master Emacs will query the user.

2020-10-02  Mattias Engdegård  <mattiase@acm.org>

	Calc: fix business days calculation (bug43677)

	The calculation of business days was broken in 2012 (probably
	310e60d9454fe2 or thereabouts) when the date representation changed
	epoch so that Jan 1, 1 AD became day number 1 instead of 0.  Repair
	this, along with an unrelated bug that prevented arbitrary holiday
	weekdays from working.

	Reported by Aaron Zeng.

	* lisp/calc/calc-forms.el (math-to-business-day)
	(math-from-business-day): Correct calculation of weekdays using Calc's
	current (Rata Die) chronology.  Modify loop condition to cope with odd
	sets of holiday weekdays.
	* test/lisp/calc/calc-tests.el (calc-business-days): New test.

2020-10-02  Andrea Corallo  <akrl@sdf.org>

	Clean-up testsuite for vanilla builds

	Tag all native compiler tests and skip them in vanilla builds

	* test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE)
	(SELECTOR_ALL): Define selectors for vanilla or nativecomp builds.
	* test/src/comp-tests.el: Do not native compile test files on
	vanilla.
	(comp-deftest): New macro to define tests tagging as :nativecomp.

2020-10-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix electric-buffer-list buffer selection

	* lisp/ebuff-menu.el (electric-buffer-list): Ensure that point is
	restored, which isn't always the case if
	global-display-line-numbers-mode (bug#43755).  This enables
	selecting buffers again.

2020-10-02  Dmitry Gutov  <dgutov@yandex.ru>

	Make xref work better on variables in shell-script-mode

	* lisp/progmodes/sh-script.el (sh-mode-syntax-table): Classify "/"
	as punctuation so that `M-.' on $foo/bar works on the $foo part
	(bug#25585).

2020-10-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `C-c C-e' in Python buffers work

	* lisp/progmodes/python.el (python-shell-send-statement): Don't
	send a cookie, because that leads to the naked expression not
	being evaled (bug#43450).
	(python-shell-send-region): Allow not sending a cookie.
	(python-shell-buffer-substring): Ditto.

2020-10-02  Per Starbäck  <per@starback.se>

	python-shell-send-defun doesn't find the (whole) definition

	* lisp/progmodes/python.el (python-shell-send-defun): Fix C-M-x
	for definitions like @property\ndef bar(): (bug#37828).

2020-10-02  Robert Pluim  <rpluim@gmail.com>

	Make setting verify-hostname-error not make connections fail

	* lisp/net/gnutls.el (gnutls-boot-parameters): If
	verify-hostname-error was set, this would make verify-error a
	non-proper list (bug#38602).

2020-10-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Stop using a dynamically bound 'generated-autoload-file' variable

	* doc/lispref/loading.texi (Autoload): Document change of name
	(bug#39823).

	* lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Pass
	the file name in.
	(autoload-generated-file): Ditto.
	(autoload-file-load-name): Ditto.
	(generate-file-autoloads): Ditto.
	(autoload--setup-output): Ditto.
	(autoload-generate-file-autoloads): Ditto, and alter doc string to
	reflect when `generated-autoload-file' is heeded.
	(update-file-autoloads): Pass outfile in to functions.
	(autoload-find-destination): Ditto.
	(update-directory-autoloads): Make into an obsolete shim around
	`make-directory-autoloads'.
	(make-directory-autoloads): Renamed from
	`update-directory-autoloads' with new semantics.
	(batch-update-autoloads): Adjust caller.

	* lisp/emacs-lisp/package.el (package-generate-autoloads): Adjust
	caller.

2020-10-02  Shohei YOSHIDA  <syohex@gmail.com>

	Fix --with-json message

	* configure.ac (WIDE_EMACS_INT): Fix --with-json help message
	(bug#43754).

2020-10-02  Trevor Murphy  <trevormurphy@google.com>

	Fix check for derived modes in display-buffer-reuse-mode-window

	* lisp/window.el (display-buffer-reuse-mode-window): Make the
	check for derived modes actually work (bug#38677).

2020-10-01  Tino Calancha  <tino.calancha@gmail.com>

	Fix wdired-do-perm-changes when over Tramp

	* lisp/wdired.el (wdired-do-perm-changes) Use set-file-modes
	instead of external program (bug#39284).  This fixes the problem
	of passing the wrong argument to the external chmod.

2020-10-01  Tino Calancha  <tino.calancha@gmail.com>

	Fix bug in wdired-get-filename

	* lisp/wdired.el (wdired-get-filename): Acknowledge the first
	argument (bug#39280).
	* test/lisp/wdired-tests.el (wdired-test-bug39280): Add test.

2020-10-01  Alan Mackenzie  <acm@muc.de>

	Enhance syntax-tests.el to test some comment character handling.

	* test/src/syntax-tests.el: Add a new section testing some aspects
	of comment handling in syntax.c.  This needs further enhancement.
	It uses ....

	* test/data/syntax-comments.txt: A new test file.

2020-10-01  Juri Linkov  <juri@linkov.net>

	Use new faces isearch-group-odd and isearch-group-even (bug#43702)

	* lisp/isearch.el (isearch-group-odd, isearch-group-even): New faces
	instead of isearch-group-1 .. isearch-group-9.
	(isearch-highlight): Use new faces.

2020-10-01  Allen Li  <darkfeline@felesatra.moe>

	Make recentf daily cleanup repeat

	* lisp/recentf.el (recentf-auto-cleanup): Fix wording.
	* lisp/recentf.el (recentf-auto-cleanup): Make timer repeat,
	update docstring.
	* etc/NEWS: Update news (bug#39638).

2020-10-01  Michael R. Mauger  <michael@mauger.com>

	* lisp/progmodes/sql.el (sql-add-product): Re-correct argument
	spec.  Previous change was due to my mistake; I have
	resolved back to the prior behavior (Bug#39960).
	* test/lisp/progmodes/sql-tests.el (sql-test-add-product): Added
	test to insure I don't make the same mistake again.

2020-10-01  Boruch Baum  <boruch_baum@gmx.com>

	command-execute doc string clarification

	* lisp/simple.el (command-execute): Doc string clarification
	(bug#43749).

2020-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Make aliases introduced in previous patch obsolete

	* lisp/emacs-lisp/debug.el (debugger-toggle-locals):
	(debug-help-follow): Make reinstated aliases obsolete.

2020-10-01  Gemini Lasswell  <gazally@runbox.com>

	Restore some public debugging functions removed in Emacs 27

	* lisp/emacs-lisp/backtrace.el (backtrace--to-string): New function.
	(backtrace-to-string): Use it.  Fix whitespace (bug#40728).
	* lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function.
	Mark it as obsolete.
	(debugger-toggle-locals, debug-help-follow): New aliases.

2020-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix loading WSDL data again

	* lisp/net/soap-client.el (soap-make-wsdl): Change the WSDL
	namespace back again.

2020-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix restoring data in visual-line-mode

	* lisp/simple.el (visual-line-mode): Only save values once, even
	if the mode is switched on twice (bug#43730).  This makes both
	previously set local values for variables like truncate-lines, as
	well as default values for truncate-lines restorable.

	* lisp/emulation/cua-base.el (cua-mode): Ditto.

2020-10-01  Andrea Corallo  <akrl@sdf.org>

	* test/src/comp-tests.el (comp-tests-bootstrap): Tag it as expensive.

2020-10-01  Stefan Kangas  <stefan@marxist.se>

	Silence byte-compiler in two tests

	* test/lisp/obsolete/cl-tests.el (require):
	* test/lisp/simple-tests.el (simple-test-count-words-bug-41761):
	Silence byte-compiler.

2020-10-01  Stefan Kangas  <stefan@marxist.se>

	Remove some obsolete URLs

	* lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
	Remove some obsolete URLs.

2020-10-01  Stefan Kangas  <stefan@marxist.se>

	Don't quote lambdas in several places

	* admin/find-gc.el (find-gc-unsafe):
	* lisp/align.el (align-rules-list):
	* lisp/comint.el (comint-arguments):
	* lisp/double.el (isearch-mode-map):
	* lisp/ehelp.el (electric-help-command-loop):
	* lisp/emacs-lisp/cl-macs.el (cl-defstruct):
	* lisp/emulation/cua-rect.el (cua--copy-rectangle-as-kill)
	(cua-copy-rectangle-as-text):
	* lisp/eshell/esh-var.el (eshell-parse-variable-ref):
	* lisp/hexl.el (hexl-insert-multibyte-char):
	* lisp/international/titdic-cnv.el (tsang-quick-converter)
	(ziranma-converter):
	* lisp/language/tibet-util.el (tibetan-decompose-precomposition-alist):
	* lisp/mail/mailalias.el (mail-get-names):
	* lisp/mh-e/mh-e.el (mh-auto-fields-list, mh-identity-default):
	* lisp/mouse.el (mouse-buffer-menu-map, mouse-buffer-menu-alist):
	* lisp/play/gametree.el (gametree-make-heading-function):
	* lisp/shell.el (shell--command-completion-data):
	* lisp/talk.el (talk-update-buffers):
	* lisp/tempo.el (tempo-insert-template, tempo-is-user-element)
	(tempo-build-collection):
	* lisp/term.el (term-input-filter, term-pager-help):
	* lisp/textmodes/table.el (table-delete-column):
	* lisp/url/url-cache.el (url-cache-create-filename-human-readable):
	* lisp/textmodes/tex-mode.el (latex-imenu-create-index): Don't quote
	lambdas.

2020-10-01  Stefan Kangas  <stefan@marxist.se>

	Don't recommend quoting lambdas

	* doc/misc/calc.texi (Symbolic Lisp Functions):
	* doc/misc/cl.texi (Obsolete Lexical Binding):
	* lisp/master.el:
	* lisp/progmodes/sql.el (sql-interactive-mode):
	* lisp/textmodes/flyspell.el (flyspell-mode):
	* lisp/textmodes/ispell.el (ispell-message):
	* lisp/textmodes/table.el: Doc fixes; don't recommend quoting
	lambdas.

2020-10-01  Michael Albinus  <michael.albinus@gmx.de>

	Clarification in Tramp manual

	* doc/misc/tramp.texi: Harmonize "Git" spelling.
	(Frequently Asked Questions): Describe Emacs version mismatch.

2020-10-01  Michael Albinus  <michael.albinus@gmx.de>

	Check Emacs version used for Tramp compilation

	* lisp/net/tramp-compat.el (tramp-compat-emacs-compiled-version):
	New defconst.  Raise a warning, when it is not equal to the Emacs
	version.

2020-10-01  Michael Albinus  <michael.albinus@gmx.de>

	Use Fkeywordp in dbusbind.c, again

	* src/dbusbind.c (XD_KEYWORDP): New macro.
	(XD_DBUS_TYPE_P, Fdbus__init_bus, xd_read_queued_messages): Use it.

2020-10-01  Michael Albinus  <michael.albinus@gmx.de>

	Revert last change in dbusbind.c

	* src/dbusbind.c (XD_DBUS_TYPE_P, Fdbus__init_bus)
	(xd_read_queued_messages): Revert last change.  (Bug#43724)

2020-10-01  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-c-func-name): Add autoload cookie.

2020-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove mml-sec-test that assumes the first signature

	This is no longer supported; the user is asked for what signature to
	use.

2020-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Make mml-sec-tests not hang waiting for input

	* lisp/gnus/mml-sec.el (mml-secure-epg-sign): Only query if we're
	running interactively.  This makes a test not hang.

2020-10-01  Pip Cet  <pipcet@gmail.com>

	Don't optimize away star patterns in minibuffer file name completion

	* lisp/minibuffer.el (completion-pcm--optimize-pattern): Keep
	'star in the pattern (bug#41705).

2020-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the end-of-query prompt in multi-occur and multi-isearch when fido

	* lisp/misearch.el (multi-isearch-read-buffers): Ditto.

	* lisp/replace.el (multi-occur--prompt): New function (bug#41633).
	(multi-occur): Use it.

2020-10-01  Alex Bochannek  <alex@bochannek.com>

	Make gnus-base64-repad a bit stricter again

	* lisp/gnus/gnus-util.el (gnus-base64-repad): Make the code a bit
	stricter again.

2020-10-01  Robert Pluim  <rpluim@gmail.com>

	Query for the signer when sending signed mail (with unknown signer)

	* lisp/gnus/mml-sec.el (mml-secure-sender-sign-query): New
	function (bug#40118).
	(mml-secure-epg-sign): Use it to determine the signer (bug#40118).

	* lisp/gnus/mml-sec.el
	(mml-secure-allow-signing-with-unknown-recipient): Remove.

2020-10-01  martin rudalics  <rudalics@gmx.at>

	Fix segfault in some cases when restoring a selected window

	* src/xdisp.c (restore_selected_window): Fix the more grave
	problems caused by a function deleting the previously selected
	frame or window (bug#39977).

2020-10-01  Boruch Baum  <boruch_baum@gmx.com>

	Split auto-revert-buffers into several functions

	* lisp/autorevert.el (auto-revert--buffer-candidates)
	(auto-revert-buffer): Refactor out...
	(auto-revert-buffers): ... from here.

2020-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous window excursion patch in epa--select-keys

	* lisp/epa.el (epa--select-keys): Use save-window-excursion
	instead of open-coding the macro.

2020-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/term.el: Make C-/ undo in a nested Emacs subprocess

	(term-send-C-_): New function.
	(term-raw-map): Use it for `C-/`, as is done in xterm and friends.

2020-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/emacs/basic.texi (Basic Undo): Explain the C-/ situation in xterm

	AFAICT, in ttys you can send a `C-_` to Emacs either by pressing
	`C-/` (e.g. xterm, uxterm, rxvt, xfce4-terminal, gnome-terminal)
	or by pressing `C--` (e.g. rxvt, Linux console).

2020-10-01  Richard M Stallman  <rms@gnu.org>

	When recipient has no public key, make offer to skip it optional.

	* lisp/epa-mail.el (epa-mail-offer-skip): New option.
	(epa-mail-encrypt): If epa-mail-offer-skip is nil,
	don't offer to skip a keyless recipient, just cause error.

2020-10-01  Richard M Stallman  <rms@gnu.org>

	Clarify previous undo keys change

	Clarify which terminals allow C-/ and which make C-_ easy to type.

2020-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Further doc fixes for dotimes about RESULT

	* lisp/subr.el (dotimes): Be even more explicit about RESULT
	(bug#16206).

2020-09-30  Eli Zaretskii  <eliz@gnu.org>

	Minor documentation copyedits

	* etc/NEWS:
	* doc/emacs/dired.texi (Dired Enter): Fix wording, punctuation,
	and typos in doc of 'dired-switches-in-mode-line'.

2020-09-30  Vladimir Nikishkin  <lockywolf@gmail.com>  (tiny change)

	Fix problem with parsing . as a symbol in bovine

	* lisp/cedet/semantic/bovine/scm.el (semantic-lex-scheme-symbol):
	Symbols do not have to start with a word-constituent character
	(bug#40034).  In particular, symbols like : and . are valid.

2020-09-30  Drew Adams  <drew.adams@oracle.com>

	Allow controlling the Dired switches shown in the mode line

	* doc/emacs/dired.texi (Dired Enter): Document it (bug#41250).

	* lisp/dired.el (dired-switches-in-mode-line): New variable (bug#41250).
	(dired-sort-set-mode-line): Use it.

2020-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem of having the wrong window selected after saving foo.gpg

	* lisp/epa.el (epa--select-keys): Restore the window configuration
	after selecting the key to use (bug#43703).  This also ensures
	that the buffer we were editing ends up as the current buffer
	after saving it, instead of selecting a different window.

2020-09-30  Andrea Corallo  <akrl@sdf.org>

	Improve some docstring in src/comp.c

	* src/comp.c (Fcomp_el_to_eln_filename)
	(Fcomp__compile_ctxt_to_file): Improve docstring.
	(Fcomp__compile_ctxt_to_file): Rename 'file_name' -> 'filename'.
	(Fnative_comp_available_p): Improve docstring.

2020-09-30  Eli Zaretskii  <eliz@gnu.org>

	Fix 'move-to-column' when invisible text follows a TAB

	* src/indent.c (scan_for_column): Accept 2 more arguments, and
	report through them the position corresponding to PREVCOL.  All
	callers changed.
	(Fmove_to_column): Use the prev_col's position to test for a TAB
	instead of assuming that the TAB is just before point (which is
	false when there's invisible text around).  (Bug#43587)

	* test/src/indent-tests.el: New file.

2020-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the "Forgot to expand macro" message

	* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Make the
	define-after-use warning for macros clearer (bug#43678).

2020-09-30  Andrea Corallo  <akrl@sdf.org>

	* .gitlab-ci.yml: Uncomment some testing to align with master.

2020-09-30  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes of recent changes

	* lisp/emacs-lisp/generic.el (define-generic-mode): Fix typos.

	* etc/NEWS: Adjust an entry due to recent changes.

2020-09-30  Michael Albinus  <michael.albinus@gmx.de>

	Stricter checks for D-Bus compound types.

	* src/dbusbind.c (XD_DBUS_TYPE_P, Fdbus__init_bus)
	(xd_read_queued_messages): Use Fkeywordp instead of SYMBOLP.
	(xd_signature): Stricter checks for compound types.

	* test/lisp/net/dbus-tests.el (dbus-test01-compound-types): Extend test.

2020-09-30  Michael Albinus  <michael.albinus@gmx.de>

	Minor code cleanup in dbus-tests.el

	* test/lisp/net/dbus-tests.el (dbus--tests-dir): Make it a defconst.
	(dbus--test-method-reentry-handler): Mark args as unused.
	(dbus-test04-method-reentry): Tag it :expensive-test.  Fix typo.
	(dbus-test06-property-types): Remove duplicate test.
	(dbus--test-introspect): Use `insert-file-contents-literally'.
	(dbus--test-validate-property): Mark expected-annotations as unused.
	(dbus--test-validate-m-or-s): Remove superfluous le-clause.

2020-09-30  Hugh Daschbach  <hdasch@fastmail.com>

	Add D-Bus method-call reentrant test

	* test/lisp/net/dbus-tests.el (dbus--tests-method-reentry-handler):
	New defun.
	(dbus-test04-method-reentry): New test.  (Bug#43251)

2020-09-30  Hugh Daschbach  <hdasch@fastmail.com>

	* test/lisp/net/dbus-tests.el: Add timeout tests.

	(dbus-test04-call-method-timeout, dbus-test07-introspection-timeout):
	New tests.

2020-09-30  Hugh Daschbach  <hdasch@fastmail.com>

	Add D-Bus introspection tests

	* lisp/net/dbus.el (dbus-annotation-deprecated): New defconst.

	* test/lisp/net/dbus-tests.el  (dbus--tests-dir): New defvar.
	(dbus--test-introspect, dbus--test-validate-interface)
	(dbus--test-validate-annotations, dbus--test-validate-property)
	(dbus--test-validate-m-or-s, dbus--test-validate-signal)
	(dbus--test-validate-method): New defuns.
	(dbus-test07-introspection): New test.

	* test/lisp/net/dbus-resources/org.gnu.Emacs.TestDBus.xml:
	New test data.

2020-09-30  Hugh Daschbach  <hdasch@fastmail.com>

	* test/lisp/net/dbus-tests.el: Add property tests.  (Bug#43252)

	(dbus--test-run-property-test, dbus--test-property): New defuns.
	(dbus-test06-property-types): New test for property registration,
	set, get.

2020-09-30  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into clean-up

2020-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	Don't have C-x = bug out in a "C" locale with non-ASCII chars

	* lisp/simple.el (what-cursor-position): Ensure that we always
	have a coding system here, even if the locale is "C" (bug#40702).

2020-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix whitespace regexp in gnus-base64-repad

	* lisp/gnus/gnus-util.el (gnus-base64-repad): Fix the whitespace
	regexp.

2020-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix gnus-base64-repad test failures

2020-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (hash-table): Define the type's typep test

2020-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix isearch-group-* colors on low-color displays

	* lisp/isearch.el (isearch-group-1): On low-color displays, just
	use the normal isearch color (bug#43702).
	(isearch-group-2 etc): Ditto.

2020-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	define-generic-mode doc string fix

	* lisp/emacs-lisp/generic.el (define-generic-mode): Say what a
	generic mode is (bug#43713).

2020-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Give better error feedback on wrong password in .gpg files

	* lisp/epa-file.el (epa-file--find-file-not-found-function): Do a
	user-error when there's a wrong password (bug#43704).
	(epa--wrong-password-p): New function.
	(epa-file-insert-file-contents): Use it, and stash the error away
	for later signaling.

	* lisp/emacs-lisp/subr-x.el (if-let): Autoload.

2020-09-30  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	soap-client: Bump version to 3.2.0

	* lisp/net/soap-client.el: Bump version to 3.2.0.

2020-09-30  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	soap-client: Remove FIXME comment

	* lisp/net/soap-client.el (soap-encode-attributes): Remove
	cl-defmethod FIXME comment; continue supporting Emacs 24.1.

2020-09-30  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
	    Paul Eggert  <eggert@cs.ucla.edu>

	soap-client: Update soap-decode-date-time

	* lisp/net/soap-client.el (soap-decode-date-time): Add support for
	Emacs versions that support fractional seconds.  Make DATATYPE
	optional.  Remove FIXME comment.

2020-09-29  Michael Albinus  <michael.albinus@gmx.de>

	More strict D-Bus type checking

	* lisp/net/dbus.el (dbus-register-monitor): Register proper key.
	(dbus-monitor-handler): Adapt docstring.  Use grave text-quoting-style.

	* src/dbusbind.c (xd_signature, xd_append_arg): More strict tests.
	(syms_of_dbusbind): Adapt docstring.

	* test/lisp/net/dbus-tests.el (dbus-test01-basic-types): Extend test.

2020-09-29  Eli Zaretskii  <eliz@gnu.org>

	Don't signal an error when saving files on WdebDAV volumes

	* src/w32.c (acl_get_file): If get_file_security raises the
	ERROR_ACCESS_DENIED error, treat that like unsupported ACLs.

2020-09-29  Andrea Corallo  <akrl@sdf.org>

	Some clean-up in comp.el

	* lisp/emacs-lisp/comp.el (comp-emit-cond-jump, comp-emit-switch)
	(comp-limplify-block, comp-compute-edges)
	(comp-ssa-rename, comp-fwprop*, comp-effective-async-max-jobs)
	(comp-run-async-workers): Respect max 80 columns.
	(batch-byte-native-compile-for-bootstrap): Improve doc + remove
	some now unnecessary error handling.

2020-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix emacsclient -c foo.txt behavior with many frames

	* lisp/server.el (server-execute): Pass in whether we opened a new
	frame or not (bug#43645).
	(server-switch-buffer): Use this to switch to the requested buffer
	in the new frame if we have "emacsclient -c foo.txt", and retain
	the old behavior if it's "emacsclient foo.txt".

2020-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Make M-x compile skip the header when looking for errors etc

	* lisp/progmodes/compile.el (compilation--ensure-parse): Skip the
	header when parsing (bug#43651).
	(compilation-start): Mark the end.

2020-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix space parsing in gnus-base64-repad

	* lisp/gnus/gnus-util.el (gnus-base64-repad): Get the separator
	regexp right -- there will often be spaces around the newlines.

2020-09-29  Mattias Engdegård  <mattiase@acm.org>

	* lisp/gnus/smime.el (smime-openssl-program): Allow nil value.

2020-09-29  Mattias Engdegård  <mattiase@acm.org>

	Fix custom-tests with non-GNU grep

	* admin/cus-test.el (cus-test-get-lisp-files): Add path argument required
	by standard grep (BSD, for instance).

2020-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/eval.c (Fapply): Simplify last change

2020-09-28  Andrea Corallo  <akrl@sdf.org>

	Rename in docstrings "non nil" into "non-nil"

	* lisp/emacs-lisp/comp.el: Rename non nil -> non-nil in doc.

	* src/comp.c: Likewise.

2020-09-28  Andrea Corallo  <akrl@sdf.org>

	* src/lisp.h: Remove a newline diff left over master.

2020-09-29  Andrea Corallo  <akrl@sdf.org>

	Clean-up some now unnecessary diff against master

	* lisp/emacs-lisp/autoload.el (update-directory-autoloads):
	.eln files have been moved so remove the '.eln' match.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded):
	Likewise.

	* lisp/emacs-lisp/find-func.el (find-library-suffixes): Clean-up
	as '.eln' is no more in `load-suffixes'.

	* lisp/help-fns.el (find-lisp-object-file-name): Clean-up as
	`symbol-file' will return the '.elc' file.

	* src/lread.c (Fget_load_suffixes): Remove logic as '.eln' is not
	anymore in load-suffixes.
	(openp): Two spaces.

2020-09-28  Michael Albinus  <michael.albinus@gmx.de>

	Improve D-Bus monitor

	* lisp/net/dbus.el (dbus-monitor-method-call)
	(dbus-monitor-method-return, dbus-monitor-error)
	(dbus-monitor-signal): New defconsts.
	(dbus-monitor-goto-serial): New defun.
	(dbus-monitor-handler): Use them.  Add timestamp.  Make also links
	between D-Bus messages with the same serial.

2020-09-28  Earl  <ej32u@protonmail.com>

	Suggest region contents in highlight-regexp when region active

	* lisp/hi-lock.el (hi-lock-face-buffer): Use the region in the
	prompt if the region is active in transient-mark-mode (bug#43641).

2020-09-28  Harald Jörg  <haj@posteo.de>

	cperl-mode: Add compatibility for Emacs 26.1

	* lisp/progmodes/cperl-mode.el (cperl--time-convert): New
	compatibility helper for time-convert (available in Emacs
	27.1)
	(cperl--format-prompt): New compatibility helper for
	format-prompt (available in Emacs 28)
	(cperl-info-on-command): use cperl--format-prompt
	(cperl-perldoc): use cperl--format-prompt
	(cperl-time-fontification): use cperl--time-convert (bug#43652)

2020-09-28  Alex Bochannek  <alex@bochannek.com>

	Repad the Face header in Gnus

	* lisp/gnus/gnus-fun.el (gnus-convert-face-to-png): Use it.

	* lisp/gnus/gnus-util.el (gnus-base64-repad): New function (bug#43441).

2020-09-28  Jan Tatarik  <jan.tatarik@gmail.com>

	Fix Gnus parsing of weekly recurring icalendar events

	* lisp/gnus/gnus-icalendar.el
	(gnus-icalendar-event:recurring-interval): Fix parsing of weekly
	recurring events (bug#43669).

	Example: in the absence of explicit INTERVAL value in the calendar
	event, a weekly event with occurrences scheduled for Mondays and
	Wednesdays should receive the default recurring interval of "1" and the
	org mode timestamp repeater should be "+1w".

	Due to a bug in the current code we receive "WEEKLY" and "+WEEKLYw"
	instead. The patch fixes the issue.

2020-09-28  Eli Zaretskii  <eliz@gnu.org>

	* lisp/hi-lock.el (hi-lock-find-patterns): Autoload it.  (Bug#43670)

2020-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix pcomplete completion of things like `xargs` and `sudo` (bug#16197)

	* lisp/pcmpl-unix.el (pcomplete/xargs): Don't `pcomplete-this` around
	`pcomplete-command-completion-function`.
	(pcomplete/sudo): Make it an alias for `pcomplete/xargs`.

	* lisp/shell.el (shell-command-completion-function): Return the
	names from `exec-path` when the command name has no `/`.

2020-09-27  Michael Albinus  <michael.albinus@gmx.de>

	Document D-Bus monitoring

	* doc/misc/dbus.texi: Replace "symbol" by "keyword" where appropriate.
	(Alternative Buses): Adapt dbus-init-bus description.
	(Errors and Events): Adapt dbus-event structure.  New defuns
	dbus-event-destination-name, dbus-event-handler and dbus-event-arguments.
	(Monitoring Events): New node.

	* lisp/net/dbus.el: Replace "symbol" by "keyword" where appropriate.
	(cl-lib): Require.
	(dbus-register-monitor): Adapt the argument list.
	(dbus-monitor-handler): Extend.
	(dbus-init-bus): Adapt docstring.

	* test/lisp/net/dbus-tests.el (dbus-test01-compound-types):
	Skip if needed.  Extend test.

2020-09-27  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	0b78785a9b (origin/emacs-27) Minor copyedits in the Emacs user manual
	0dfc6fdc1f Followup to a recent change in menu-bar.el
	767713682c Enable "Continue Tags Search" menu item only when it can b...
	4bb7532163 Fix soap-client URL

2020-09-27  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	f31c6792ab Fix support for Zip64 zip files
	ba635a19fb * lisp/hi-lock.el (hi-lock-auto-select-face): Doc fix.  (B...
	cc8fef2bdd Avoid infinite recursion with 'relative' line numbers display
	395f10cb98 ; Fix more trivial typos
	bf4accb65e ; Fix some trivial typos

	# Conflicts:
	#	etc/NEWS
	#	lisp/arc-mode.el

2020-09-27  Pip Cet  <pipcet@gmail.com>

	Fix more single-byte accesses caused by bytepos/charpos confusion

	* src/cmds.c (internal_self_insert): Use FETCH_BYTE, not
	FETCH_CHAR, for a decremented byte position (bug#41520).

	* src/xdisp.c (Fwindow_text_pixel_size, trailing_whitespace_p): Ditto.

2020-09-27  Pip Cet  <pipcet@gmail.com>

	Handle single-argument `apply' consistently (bug#40968)

	* src/eval.c (Fapply): Handle (apply nil) without crashing.
	Document single-argument form.
	* lisp/emacs-lisp/byte-opt.el (byte-optimize-apply): Don't attempt
	to optimize single-argument apply.
	* doc/lispref/functions.texi (Calling Functions): Document
	single-argument apply.  Provide example (bug#40968).

2020-09-27  Pip Cet  <pipcet@gmail.com>

	Avoid 1s sleep-for before sending the startfile to a comint process

	* lisp/comint.el (comint-exec): Simplify startup file code.
	(Bug#41640).

2020-09-27  Simon Lang  <Simon.lang@outlook.com>

	Add a new grep-match-regexp variable

	* doc/emacs/building.texi (Grep Searching): Document it.

	* lisp/progmodes/grep.el (grep-match-regexp): New variable (bug#41766).
	(grep-filter): Use it.

2020-09-27  Mattias Engdegård  <mattiase@acm.org>

	Minor string-search optimizations (bug#43598)

	* src/fns.c (Fstring_search): Perform cheap all-ASCII checks before more
	expensive ones.  Use a faster loop when searching for non-ASCII
	non-raw bytes.
	* test/src/fns-tests.el (string-search): Add more test cases.

2020-09-27  Mattias Engdegård  <mattiase@acm.org>

	Improve accuracy in string-replace description (bug#43598)

	* doc/lispref/searching.texi (Search and Replace): More careful
	description; string-replace does not necessarily return a copy.

2020-09-27  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in the Emacs user manual

	* doc/emacs/emacs.texi (Top): Remove "real-time" from the Emacs
	description; add "advanced", to be consistent with what we say in
	the Introduction section.  (Bug#43633)

2020-09-27  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of the 'abbrev-suggest' feature

	* lisp/abbrev.el (abbrev-suggest, abbrev-suggest-hint-threshold)
	(abbrev-suggest-show-report): Improve wording of the doc strings.

	* doc/emacs/abbrevs.texi (Abbrevs Suggestions): Fix the typo in
	the node name.  Improve wording.
	* doc/emacs/emacs.texi (Top): Add the new node in the @detailmenu
	section.

	* etc/NEWS: Improve wording of the NEWS entry for
	'abbrev-suggest'.

2020-09-27  Eli Zaretskii  <eliz@gnu.org>

	Improve display of raw bytes in the echo-area

	* src/print.c (print_object): When printing a unibyte string,
	convert non-ASCII bytes to their character code, before sending
	them to 'printchar'.  (Bug#43632)

2020-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix searching for multibyte needles in unibyte haystacks

	* src/fns.c (Fstring_search): Make this work better when searching
	unibyte haystacks for multibyte needles (bug#43598).

2020-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Make dired-replace-in-string obsolete

	* lisp/dired.el (dired-insert-directory):
	* lisp/dired-aux.el (dired-rename-subdir, dired-rename-subdir-2)
	(dired-insert-subdir): Adjust callers.

	* lisp/dired.el (dired-replace-in-string): Make obsolete.

2020-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Add tiny optimization for string-search

	* src/fns.c (Fstring_search): Add tiny optimization for needles
	that are longer than the haystack (bug#43598).

2020-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename replace-in-string to string-replace

	* doc/lispref/searching.texi (Search and Replace): Update.
	* lisp/bindings.el (mode-line-position): Update callers.

	* lisp/subr.el (string-replace): Rename from replace-in-string
	since that clashes with XEmacs' replace-in-string which is
	equivalent to the Emacs replace-regexp-in-string (bug#43598).

2020-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix gnus-faq example

	* doc/misc/gnus-faq.texi (FAQ 6-2): replace-in-string was the XEmacs
	name for the function.

2020-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Slight replace-in-string optimization

	* lisp/subr.el (replace-in-string): Optimize to return the
	original string if nothing was replaced (bug#43598).

2020-09-26  Mathias Dahl  <mathias.dahl@gmail.com>

	Abbrev suggestions helps users remember to use defined abbrevs

	    * lisp/abbrev.el (abbrev-suggest): New defcustom.
	    (abbrev-suggest-hint-threshold): New defcustom.
	    (abbrev--suggest-get-active-tables-including-parents): New defun.
	    (abbrev--suggest-get-active-abbrev-expansions): New defun.
	    (abbrev--suggest-count-words): New defun.
	    (abbrev--suggest-get-previous-words): New defun.
	    (abbrev--suggest-above-threshold): New defun.
	    (abbrev--suggest-saved-recommendations): New defvar.
	    (abbrev--suggest-inform-user): New defun.
	    (abbrev--suggest-shortest-abbrev): New defun.
	    (abbrev--suggest-maybe-suggest): New defun.
	    (abbrev--suggest-get-totals): New defun.
	    (abbrev-suggest-show-report): New defun.
	    (expand-abbrev): If the previous word was not an abbrev, maybe
	    suggest an abbrev to the user.
	    * doc/emacs/abbrevs.texi (Abbrev suggestions): New section.
	    * etc/NEWS: Announce abbrev suggestions.

2020-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the patch tagging in submit-emacs-patch

	* lisp/mail/emacsbug.el (submit-emacs-patch): Put the tags in the
	debbugs pseudo-headers because X-Debbugs-Tags is not a thing that
	exists.

2020-09-26  Eli Zaretskii  <eliz@gnu.org>

	Followup to a recent change in menu-bar.el

	* lisp/fileloop.el (fileloop--operate-function): Mention in a
	comment that menu-bar.el relies on the default value.

2020-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	message-add-action doc string fix

	* lisp/gnus/message.el (message-add-action): Document types.

2020-09-26  Mauro Aranda  <maurooaranda@gmail.com>

	Display some character widget values in a more user-friendly way

	* lisp/wid-edit.el (widget-character--escape-sequences-alist): New
	variable.
	(widget-character--change-character-display): New function.  Use the new
	variable.
	(widget-character-notify): New function, to keep track of the changes
	in the character widget, and display characters like tab,
	newline and spaces better.
	(character widget): Use widget-character-notify as the notify
	function.  Use widget-character--change-character-display for the
	internal representation of value (bug#15925).

2020-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Make macroexpand of `push' slightly less confusing

	* lisp/subr.el (push): Use a symbol with a different name to make
	macroexpand look slightly less confusing (bug#43601).

2020-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix defcustom types of some variables defined in C

	* lisp/cus-start.el (standard): Fix the defcustom type of a number
	of variables defined in C (bug#43611).

2020-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix mouse highlighting in Customize buffers

	* lisp/wid-edit.el (widget-button-click): Remove a
	newly-introduced check that made mouse highlights no longer work
	(bug#43612).  It's unclear what the check was trying to fix.

2020-09-26  Harald Jörg  <haj@posteo.de>

	cperl-mode: Delete conditional code where conditions evaluate to nil

	* lisp/progmodes/cperl-mode.el (cperl-force-face): This
	macro's single effect is now inlined, and the macro is gone.
	(cperl-problems): The reference to choose-color.el, which
	is no longer available for download, is deleted.
	(no function): A list of unnecessary empty variable
	definitions is gone.  They were needed for Emacs v19 and
	below.
	(cperl-init-faces-weak): This function does no longer do
	anything and is therefore deleted.
	(cperl-init-faces): Some bodies of conditional code is deleted
	because as of today the conditions evaluate to constants.  The
	face cperl-nonoverridable-face is no longer available as
	variable and needs to be doubly-quoted in one place (bug#43622).

2020-09-26  Andrea Corallo  <akrl@sdf.org>

	Always set 'Vexec_path' before 'Vinvocation_directory' (bug#43137)

	Do this as depending on the OS if argv0 is not populated 'Vexec_path'
	is used to infer 'Vinvocation_directory'.

	* src/pdumper.c (pdumper_load): Invoke 'init_vars_for_load' instead
	of 'set_invocation_vars'.

	* src/lisp.h: Extern 'init_vars_for_load' instead of
	'set_invocation_vars' .

	* src/emacs.c (set_invocation_vars): Make it static and remove
	double invocation guard.
	(init_vars_for_load): Wrap 'init_callproc_1' and 'set_invocation_vars'
	calls + add double invocation guard.
	(init_cmdargs): Move out 'set_invocation_vars' invocation.
	(main): Call 'init_vars_for_load' instead of 'init_callproc_1'.

2020-09-26  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/cl-macs.el (cl--optimize): Add a FIXME.

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-09-26  Stefan Kangas  <stefankangas@gmail.com>

	Silence some byte-compiler warnings

	* test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
	* test/lisp/custom-tests.el (cus-test-opts):
	* test/lisp/help-fns-tests.el (foo-test-map)
	(help-fns-test--describe-keymap-foo):
	* test/src/fns-tests.el (w32-collate-ignore-punctuation)
	(fns-tests-func-arity): Silence byte-compiler warnings.

2020-09-26  Stefan Kangas  <stefankangas@gmail.com>

	Repurpose libxml test for obsolete argument

	* test/src/xml-tests.el (libxml-tests): Move half this test for the
	recently obsoleted fourth argument to libxml-parse-xml-region...
	* test/lisp/xml-tests.el (xml-tests--remove-comments): ...to a new
	test here for xml-remove-comments.

	* test/src/xml-tests.el (libxml-tests--data-comments-discarded):
	Move test data from here...
	* test/lisp/xml-tests.el (xml-tests--data-with-comments): ...to here.

2020-09-26  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Add new D-Bus monitor functionality.  Fix typos.

2020-09-26  Michael Albinus  <michael.albinus@gmx.de>

	Add D-Bus monitor

	* lisp/net/dbus.el (dbus-interface-monitoring): New defconst.
	(dbus-call-method, dbus-call-method-asynchronously)
	(dbus-send-signal, dbus-method-return-internal)
	(dbus-method-error-internal, dbus-check-arguments): Accept also
	:system-private and :session-private.
	(dbus-check-event, dbus-event-path-name)
	(dbus-event-interface-name)
	(dbus-event-member-name, dbus-property-handler)
	(dbus-handle-bus-disconnect): Adapt according to new structure.
	(dbus-handle-event): Handle also monitor events.
	(dbus-event-destination-name, dbus-event-handler)
	(dbus-event-arguments, dbus-register-monitor, dbus-monitor-handler):
	New defuns.

	* src/dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS, xd_remove_watch)
	(Fdbus__init_bus): Accept also :system-private and :session-private.
	(xd_read_message_1): Add destination and error_name to
	dbus-event.  Handle monitor events.
	(syms_of_dbusbind): Declare QCsystem_private, QCsession_private
	and QCmonitor.
	(dbus-registered-objects-table): Fix docstring.

2020-09-26  Eli Zaretskii  <eliz@gnu.org>

	Enable "Continue Tags Search" menu item only when it can be used

	* lisp/menu-bar.el (menu-bar-search-menu) <tags-continue>: Enable
	only when there was a previous tags search.  (Bug#43569)
	(menu-bar-replace-menu) <tags-repl-continue>: Enable only when
	there was a previous tags-replace.

2020-09-26  Stefan Kangas  <stefankangas@gmail.com>

	Fix byte-compiler warning in CEDET

	* lisp/cedet/semantic/lex.el (semantic-lex-catch-errors): Fix
	byte-compiler warning by removing obsolete variable.

2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix soap-client URL

	* lisp/net/soap-client.el (soap-create-envelope):
	Fix URL that I broke in 2019-09-23T06:53:30Z!eggert@cs.ucla.edu.
	Problem reported by Thomas Fitzsimmons.

2020-09-26  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	soap-client.el: Prevent some invalid encoding warnings

	* lisp/net/soap-client.el (soap-encode-xs-complex-type): Do not
	warn about missing non-nillable slot if type itself is optional.

2020-09-25  Glenn Morris  <rgm@gnu.org>

	Fix out-of-tree make check

	* test/lisp/custom-tests.el (custom-test-admin-cus-test): New const.
	(check-for-wrong-custom-types): Use it.

2020-09-25  Alan Third  <alan@idiocy.org>

	Tidy up NS color handling

	* src/nsimage.m (COLORSPACE_NAME): New macro to find the current
	colorspace.
	([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]):
	([EmacsImage initForXPMWithDepth:width:height:]): Use the current
	colorspace.
	* src/nsterm.h (NSAppKitVersionNumber10_7):
	(NSAppKitVersionNumber10_10): Define for macOS version checks.
	* src/nsterm.m ([NSColor colorForEmacsRed:green:blue:alpha:]): Tidy up
	the version checking.
	([NSColor colorUsingDefaultColorSpace]): Tidy the version checking and
	use [NSColor colorUsingColorSpace:] with GNUstep.

2020-09-25  Alan Third  <alan@idiocy.org>

	Remove obsolete macOS support for NS font backend

	The ns font backend is has been disabled on macOS for a long time and
	doesn't work correctly even if re-enabled.

	* src/nsfont.m:
	(ns_char_width):
	(ns_ascii_average_width):
	(ns_get_covering_families):
	(nsfont_open):
	(nsfont_close):
	(nsfont_draw):
	(ns_uni_to_glyphs):
	(ns_glyph_metrics):
	(EmacsGlyphStorage): Remove all Cocoa only code.
	* src/nsterm.h (EmacsGlyphStorage): Remove.
	(struct nsfont_info): Make GNUstep only.
	* src/nsterm.m (ns_compute_glyph_string_overhangs): Remove GNUstep
	only code from Cocoa builds.

2020-09-25  Alan Third  <alan@idiocy.org>

	Implement internal border colors on NS (bug#41071)

	* src/nsterm.m (ns_clear_under_internal_border): New function.
	(ns_after_update_window_line): Use the correct background color.
	(ns_redisplay_interface): Add ns_clear_under_internal_border.

2020-09-25  Mattias Engdegård  <mattiase@acm.org>

	string-search robustness and documentation improvement (bug#43598)

	* src/fns.c (Fstring_search): Check START-POS argument range.
	Simplify logic.  Improve doc string.
	* test/src/fns-tests.el (string-search): Add test cases.
	* doc/lispref/strings.texi (Text Comparison): Elaborate.
	* lisp/emacs-lisp/byte-opt.el (pure-fns): Mark string-search as pure.

2020-09-25  Eli Zaretskii  <eliz@gnu.org>

	Fix support for Zip64 zip files

	* lisp/arc-mode.el (archive-zip-summarize): Fix detection of Zip64
	central directory.  Support 64-bit file size field used by Zip64.
	(Bug#43597)

2020-09-25  Noam Postavsky  <npostavs@gmail.com>

	* CONTRIBUTE: Don't recommend action stamps

	* CONTRIBUTE: Remove mention of the "action stamp" thing (bug#20609).

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Partially revert previous prolog.el cleanup

	* lisp/progmodes/prolog.el (prolog-font-lock-keywords): Partially
	revert previous patch -- we want the prolog-warning-face symbol,
	not its value.

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix defcustom type in sql.el for sql-postgres-login-params

	* lisp/progmodes/sql.el (sql-login-params): Fix defcustom type to
	match sql-postgres-login-params value.

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix a defcustom type in gdb-mi.el

	* lisp/progmodes/gdb-mi.el (gdb-display-source-buffer-action): Fix
	defcustom type to match the value.

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix defcustom type in whitespace.el

	* lisp/whitespace.el (whitespace-space-after-tab-regexp)
	(whitespace-indentation-regexp): The first string here isn't a
	regexp, it's a string (that's expanded with format to be a regexp).

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the defcustom type fix in python.el

	* lisp/progmodes/python.el (python-pdbtrack-exit-command): Fix
	defcustom type (bug#30990).

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix some defcustom types

	* lisp/whitespace.el (whitespace-style):
	* lisp/gnus/message.el (message-screenshot-command):
	* lisp/progmodes/compile.el (compilation-transform-file-match-alist):
	* lisp/progmodes/gdb-mi.el (gdb-default-window-configuration-file):
	* lisp/progmodes/python.el (python-pdbtrack-exit-command): Fix the
	defcustom types.
	* lisp/progmodes/sql.el (sql-password-wallet): Fix the value.

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Add an expensive test for defcustom types

	* admin/cus-test.el (cus-test-opts): Return the tests.

	* test/lisp/custom-tests.el (check-for-wrong-custom-types): Test
	custom types (bug#30990).

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark string-search as being side effect free

	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add
	string-search.

2020-09-25  Noam Postavsky  <npostavs@users.sourceforge.net>

	Make the Man completion code work better if man -k fails

	* lisp/man.el (Man-completion-table): Check the return code for
	"man -k" and assume it failed if there's a non-zero exit code
	(bug#16722).

2020-09-25  Tino Calancha  <tino.calancha@gmail.com>

	Use the char history in zap-up-to-char

	* lisp/misc.el (zap-up-to-char): Use read-char-from-minibuffer
	(bug#39154).

2020-09-25  Mattias Engdegård  <mattiase@acm.org>

	Fix replace-in-string infloop with empty pattern string (bug#43598)

	* lisp/subr.el (replace-in-string): Raise an error if FROMSTRING is
	empty.
	* test/lisp/subr-tests.el (replace-in-string): Add test case.

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak updating the process mark in set-process-buffer

	* src/process.c (Fset_process_buffer): Only update the process
	mark if we actually change the buffer.

2020-09-25  Eli Zaretskii  <eliz@gnu.org>

	* lisp/hi-lock.el (hi-lock-auto-select-face): Doc fix.  (Bug#43600)

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove more compat code from prolog.el

	* lisp/progmodes/prolog.el (prolog-font-lock-keywords): Remove
	compat test for a face that's always defined.

2020-09-25  Eli Zaretskii  <eliz@gnu.org>

	Avoid infinite recursion with 'relative' line numbers display

	* src/xdisp.c (display_count_lines_visually): Bind
	'display-line-numbers' to 'relative' around 'start_display' as
	well, since that can invoke 'move_it_to' internally, thus
	causing infinite recursion.  (Bug#43589)

2020-09-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/ruby-mode.el (ruby-use-smie): Declare obsolete

	(ruby-mode-map, ruby-mode-menu): Don't use ruby-for/backward-sexp any more.
	(ruby-mode-variables): Always setup SMIE navigation.
	Still obey `ruby-use-smie` for indentation.
	(ruby-forward-sexp, ruby-backward-sexp): Mark as obsolete.

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some XEmacs compat code from prolog.el

	* lisp/progmodes/prolog.el (prolog-replace-in-string): Remove XEmacs
	compat code and make obsolete.
	(prolog-guess-fill-prefix): Adjust callers.
	(prolog-uncomment-region): Make obsolete.
	(prolog-mode-syntax-table): syntax-propertize-rules is always defined.
	(prolog-syntax-propertize-function): Ditto.
	(prolog-face-name-p): Make into obsolete alias.
	(prolog-font-lock-keywords): Adjust callers.

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up replace-in-string slightly

	* lisp/subr.el (replace-in-string): Clean up previous fix slightly.

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous replace-in-string rewrite

	* lisp/subr.el (replace-in-string): Fix logic errors in previous
	patch.

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix replace-in-string multibyteness problems with string-search

	* lisp/subr.el (replace-in-string): Simplify by using the new
	string-search function (bug#43598).

2020-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new function 'string-search'

	* doc/lispref/strings.texi (Text Comparison): Document it.
	* src/fns.c (Fstring_search): New function.

2020-09-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/help-fns.el (help-fns--first-release): Use etc/NEWS as well

2020-09-24  Glenn Morris  <rgm@gnu.org>

	Update a failing lisp test

	* test/lisp/emacs-lisp/lisp-tests.el (up-list-no-cross-string):
	Update for recent "Don't signal scan-error" change.

2020-09-24  Juri Linkov  <juri@linkov.net>

	Horizontal scrolling for mouse wheel with Shift modifier (bug#43568)

	* lisp/mwheel.el (mouse-wheel-scroll-amount): Change 'shift' default value
	from 5 to 'hscroll'.  Add new option "Scroll horizontally" for 'hscroll'.
	(mwheel-scroll): Handle value 'hscroll' and call mwheel-scroll-left-function
	or mwheel-scroll-right-function.

	* doc/emacs/frames.texi (Mouse Commands): Update for horizontal scrolling
	with Shift modifier.

2020-09-24  Theodor Thornhill  <theo@thornhill.no>

	Set mwheel default scroll value to 1 (bug#43380)

	* lisp/mwheel.el (mouse-wheel-scroll-amount): Change default value 5 to 1
	and shift default value from 1 to 5.
	Default value is changed as discussed in etc/TODO.

2020-09-24  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (goto-line-read-args): More relevant default line number.

2020-09-24  Glenn Morris  <rgm@gnu.org>

	Add skip condition for some dbus tests

	* test/lisp/net/dbus-tests.el (dbus-test01-type-conversion)
	(dbus-test01-basic-types): Add skip for hydra.nixos.org failures.

2020-09-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make set-process-buffer also update the process mark

	* src/process.c (Fset_process_buffer): Update the process mark
	(bug#43573).

2020-09-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Refactor process mark setting

	* src/process.c (update_process_mark): Make into its own function.
	(Fmake_process, Fmake_pipe_process, Fmake_serial_process)
	(connect_network_socket): Use it.

2020-09-24  dickmao  <none>

	Add sanity check for Gnus groups that belong to no topic

	* lisp/gnus/gnus-topic.el (gnus-topic-change-level): Do not change
	gnus-topic-alist when group is outside "topology" (bug#43582).

2020-09-24  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in resize_mini_window

	* src/xdisp.c (resize_mini_window): Prevent recentering the
	mini-window once its start position is computed.  (Bug#43572)

2020-09-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix recent simple.el compilation warning

	* lisp/simple.el (goto-line-relative): Suppress byte compilation
	warning about goto-line.

2020-09-24  Michael Albinus  <michael.albinus@gmx.de>

	Minor Tramp cleanup

	* doc/misc/tramp.texi: Some stylistic changes.
	(Frequently Asked Questions): Mention ProxyCommand and ProxyJump.

	* lisp/net/tramp-sh.el (tramp-use-ssh-controlmaster-options):
	Fix docstring.

2020-09-24  Andrea Corallo  <akrl@sdf.org>

	Rename comp--subr-safe-advice -> comp-subr-safe-advice

	* lisp/emacs-lisp/comp.el (comp-subr-safe-advice): Rename
	comp--subr-safe-advice -> comp-subr-safe-advice.
	* lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise.
	* lisp/emacs-lisp/advice.el (ad-add-advice): Likewise.

2020-09-24  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-body-eff): Improve style.

2020-09-24  Andrea Corallo  <akrl@sdf.org>

	Do not install a subr trampoline twice

	* src/comp.c (syms_of_comp): Define and initialize
	'Vcomp_installed_trampolines_h'.
	(Fcomp__install_trampoline): Fill 'Vcomp_installed_trampolines_h'
	* lisp/emacs-lisp/comp.el (comp--subr-safe-advice): Make use of
	`comp-installed-trampolines-h' to guard against installing a
	trampoline twice.

2020-09-24  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-never-optimize-functions): Clean-up.

2020-09-24  Andrea Corallo  <akrl@sdf.org>

	Add a test for primitive advising effectiveness

	* test/src/comp-test-funcs.el (comp-test-primitive-advice-f): New
	function.
	* test/src/comp-tests.el (comp-test-primitive-advice): New test.

2020-09-24  Andrea Corallo  <akrl@sdf.org>

	Call `comp--subr-safe-advice' from the advice machinery

	* lisp/emacs-lisp/nadvice.el (advice--add-function): Call
	`comp--subr-safe-advice' when necessary.

	* lisp/emacs-lisp/advice.el (ad-add-advice): Likewhise.

2020-09-24  Andrea Corallo  <akrl@sdf.org>

	Add `comp--subr-safe-advice' entry point

	Add a Lisp side entry-point to be called to make primitive adivicing
	effective.

	* lisp/emacs-lisp/comp.el (comp-trampoline-sym)
	(comp-trampoline-filename): New substs.
	(comp-make-lambda-list-from-subr, comp-search-trampoline)
	(comp-tampoline-compile): New functions

2020-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Write Gnus active files with quotes around group names

	* lisp/gnus/gnus-util.el (gnus-write-active-file): In case of group
	names with spaces in them (see Bug#42823). Names are later read with
	`read', so this should be quite robust.

2020-09-23  Juri Linkov  <juri@linkov.net>

	New command goto-line-relative (bug#5042, bug#9917)

	* lisp/simple.el (goto-line-read-args): New function with code from goto-line.
	(goto-line): New arg RELATIVE.  Also use 'widen-automatically' to
	leave all lines accessible in the narrowed buffer.
	(goto-line-relative): New command.

	* lisp/info.el (Info-mode-map): Remap 'goto-line' to 'goto-line-relative'.

	* doc/emacs/basic.texi (Moving Point):
	* doc/emacs/display.texi (Optional Mode Line): Mention goto-line-relative.

2020-09-23  Andrea Corallo  <akrl@sdf.org>

	Add `comp--install-trampoline' machinery

	* src/comp.c (Fcomp__install_trampoline): New function to
	install a subr trampoline into the function relocation table.
	Once this is done any call from native compiled Lisp to the
	related primitive will go through the `funcall' trampoline
	making advising effective.

2020-09-23  Andrea Corallo  <akrl@sdf.org>

	Make CHECK_SUBR public

	* src/data.c (CHECK_SUBR): Move from here to...
	* src/lisp.h (CHECK_SUBR): ...to here.

2020-09-23  Stefan Kangas  <stefan@marxist.se>

	Remove TODO to convert files to unit tests

	* test/lisp/textmodes/css-mode-tests.el:
	* test/lisp/progmodes/ruby-mode-tests.el: Remove TODO to convert test
	files into unit tests.  The files are still useful for debugging.
	Ref: https://lists.gnu.org/r/emacs-devel/2020-09/msg01906.html

2020-09-23  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-final): Log when interactively invoked.

	* lisp/emacs-lisp/comp.el (native-compile): Add OUTPUT parameter.

2020-09-23  Stefan Kangas  <stefan@marxist.se>

	Convert some completion.el tests to ERT

	* test/lisp/completion-tests.el: New file.
	* lisp/completion.el: Move commented out tests to completion-tests.el.

2020-09-23  Stefan Kangas  <stefan@marxist.se>

	Convert allout unit tests to ERT

	* test/lisp/allout-tests.el: New file.
	* lisp/allout.el (allout-run-unit-tests-on-load)
	(allout-run-unit-tests): Remove.
	(allout-tests-obliterate-variable)
	(allout-tests-globally-unbound, allout-tests-globally-true)
	(allout-tests-locally-true, allout-test-resumptions): Move to
	allout-tests.el

	* test/lisp/allout-widgets-tests.el: New file.
	* lisp/allout-widgets.el (allout-widgets-run-unit-tests-on-load)
	(allout-widgets-run-unit-tests): Remove.
	(allout-test-range-overlaps): Move to allout-widgets-tests.el.

2020-09-23  Stefan Kangas  <stefan@marxist.se>

	* lisp/repeat.el: Remove obsolete comment.

2020-09-23  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/dbus-tests.el (dbus-test01-basic-types): Adapt test.

2020-09-23  Mattias Engdegård  <mattiase@acm.org>

	Don't signal scan-error when moving by sexp interactively

	* lisp/emacs-lisp/lisp.el (forward-sexp, backward-sexp, forward-list)
	(backward-list, down-list, up-list, mark-sexp, kill-sexp)
	(backward-kill-sexp): Remove unsightly scan-error when running
	interactively and no further movement by sexp can be made (bug#43489).

2020-09-23  Mauro Aranda  <maurooaranda@gmail.com>

	Allow the newline character in the character widget (Bug#15925)

	* lisp/wid-edit.el (widget-specify-field): Extend check for adding the
	boundary overlay.  Plus, a minor comment indentation fix.
	(character widget): Tweak the valid-regexp to allow the newline
	character.

	* test/lisp/wid-edit-tests.el (widget-test-character-widget-value)
	(widget-test-editable-field-widget-value): New tests (bug#15925).

2020-09-23  Andrew G Cohen  <cohen@andy.bu.edu>

	Improve mark handling in gnus nnselect

	* lisp/gnus/nnselect.el (numbers-by-group,
	nnselect-request-update-info, nnselect-push-info): Handle all three
	mark types ('tuple, 'range, 'list) and general speedups.

2020-09-23  Alan Mackenzie  <acm@muc.de>

	Handle escaped comment enders correctly in syntax.c, fixing bug #43558

	This fixes forward-comment, scan-lists, and parse-partial-sexp.

	* src/syntax.c (forw_comment): Detect and skip an escaped comment ender
	(e.g. \*/ in C) when comment-end-can-be-escaped is non-nil.

2020-09-23  Andrew G Cohen  <cohen@andy.bu.edu>

	Run gnus-parse-headers-hook when retrieving nnselect headers

	* lisp/gnus/nnselect.el (nnselect-retrieve-headers): Run the
	gnus-parse-headers-hook when retrieving headers in nnselect, just like
	in a real group.

2020-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	test/src/xdisp-tests.el: New file

2020-09-23  Andrew G Cohen  <cohen@andy.bu.edu>

	Use gnus-extra-headers in nnselect header parsing

	* lisp/gnus/nnselect.el (nnselect-retrieve-headers): Bind
	nnmail-extra-headers to gnus-extra-headers before parsing retrieved
	headers.

2020-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure that the game directory exists before trying to write to it

	* lisp/play/gamegrid.el (gamegrid-add-score-insecure): Make the
	directory if it doesn't exist (bug#37836).

2020-09-22  martin rudalics  <rudalics@gmx.at>

	Make delete-pair only delete pairs that are part of insert-pair-alist

	* lisp/emacs-lisp/lisp.el (delete-pair): Only delete pairs that
	are part of `insert-pair-alist' (bug#4136).

2020-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix off-by-one error in eldoc--handle-docs

	* lisp/emacs-lisp/eldoc.el (eldoc--handle-docs): We have one extra
	line to use if we don't show the truncation message (bug#43543).

2020-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Speed up shr-insert slightly

	* lisp/net/shr.el (shr-insert): Speed up regularizing spaces --
	the vast majority of the spaces are already OK, so transforming
	" " to " " just takes time.

2020-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix filling problem in shr due to zero-width id tagging

	* lisp/net/shr.el (shr-descend): Fix problem with filling lines
	that have a zero-width ID tag at the start.

2020-09-22  Eli Zaretskii  <eliz@gnu.org>

	Fix cursor display in mini-window under icomplete-mode

	* src/xdisp.c (resize_mini_window): When we show only part of the
	mini-window's contents, make sure the window-start position is at
	the beginning of a screen line.  (Bug#43519)

2020-09-22  Andrea Corallo  <akrl@sdf.org>

	Fix MacOS Emacs.app installation (bug#43532)

	* src/comp.c (Fcomp_el_to_eln_filename): Adapt the filename
	hashing algorithm to allow for producing a MacOS self-contained
	Emacs.app.

2020-09-22  David Reitter  <david.reitter@gmail.com>

	Fix font-panel on NS (bug#43480)

	* lisp/term/ns-win.el (ns-respond-to-change-font): Set the font using
	customize.

2020-09-22  Stefan Kangas  <stefankangas@gmail.com>

	Remove broken compat code from EDE

	* lisp/cedet/ede/detect.el: Remove broken Emacs 24.1 compat code.
	This would never have worked, since the fallback library is missing.

2020-09-22  Stefan Kangas  <stefan@marxist.se>

	Fix shellcheck warning

	* build-aux/update-subdirs: Fix issue indicated by the shellcheck
	linter (warning SC2046).

2020-09-22  Stefan Kangas  <stefan@marxist.se>

	Support shellcheck in compilation-mode

	* lisp/progmodes/compile.el
	(compilation-error-regexp-alist-alist): Add shellcheck regexp.
	* test/lisp/progmodes/compile-tests.el
	(compile-tests--test-regexps-data):
	(compile-test-error-regexps): Add test for shellcheck.
	* etc/compilation.txt: Add shellcheck example.
	* etc/NEWS: Announce the change.

	foo

2020-09-22  Stefan Kangas  <stefan@marxist.se>

	Remove Emacs 23 compat code from cedet

	* lisp/cedet/ede/proj-elisp.el (project-compile-target):
	* lisp/cedet/semantic/bovine/grammar.el (bovine-grammar-expand-form):
	* lisp/cedet/semantic/ede-grammar.el (project-compile-target):
	Remove Emacs 23 compat code.

2020-09-22  Stefan Kangas  <stefan@marxist.se>

	Remove some Emacs 20 compat code

	* lisp/apropos.el (apropos-local-value):
	* lisp/progmodes/antlr-mode.el (antlr-mode-menu):
	* lisp/progmodes/idlwave.el (idlwave-attach-classes):
	* lisp/textmodes/artist.el (artist-replace-chars): Remove Emacs 20
	compat code.

2020-09-22  Stefan Kangas  <stefan@marxist.se>

	Remove some unnecessary compat code

	* test/lisp/emacs-lisp/ert-x-tests.el (ert-test-describe-test):
	* test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01):
	Remove unnecessary compat code; these tests should never need to run
	on older versions of Emacs.

2020-09-22  Stefan Kangas  <stefan@marxist.se>

	Fix thinko in dired-change-marks

	* lisp/dired.el (dired-change-marks): Fix my previous broken attempt
	to declare advertised-calling-convention.

2020-09-21  Andrea Corallo  <akrl@sdf.org>

	Make use of use of `subr-primitive-p' in `find-function-library'

	* lisp/emacs-lisp/find-func.el (find-function-library): Use
	`subr-primitive-p'.

2020-09-21  Andrea Corallo  <akrl@sdf.org>

	Sandbox synchronous libgccjit invocation on interactive sessions

	Avoid unnecessary memory fragmentation/leakeage

	* lisp/emacs-lisp/comp.el (comp-final1): New function.
	(comp-final): Invoke `comp-final1' in a child process if in an
	interactive session or directly otherwise.

2020-09-21  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-09-21  Stefan Kangas  <stefankangas@gmail.com>

	Move several completions from eshell to pcomplete (Bug#10585)

	* lisp/eshell/em-unix.el (eshell-complete-hostname)
	(pcomplete/ftp, pcomplete/ncftp, pcomplete/ping)
	(pcomplete/rlogin, pcomplete/telnet, pcomplete/rsh):
	Move from here...
	* lisp/pcmpl-unix.el (pcmpl-unix-complete-hostname)
	(pcomplete/ftp, pcomplete/ncftp, pcomplete/ping)
	(pcomplete/rlogin, pcomplete/telnet, pcomplete/rsh):
	...to here.  Make old names into aliases.

	* lisp/eshell/esh-util.el (eshell-hosts-file)
	(eshell-host-names, eshell-host-timestamp)
	(eshell-read-hosts-file, eshell-read-hosts)
	(eshell-read-host-names): Move from here...
	* lisp/pcomplete.el (pcomplete-hosts-file)
	(pcomplete--host-name-cache)
	(pcomplete--host-name-cache-timestamp)
	(pcomplete-read-hosts-file, pcomplete-read-hosts)
	(pcomplete-read-host-names): ...to here.  Make old names into
	aliases.

	* lisp/eshell/em-unix.el (eshell-complete-host-reference): Update
	caller.

2020-09-21  Stefan Kangas  <stefankangas@gmail.com>

	Move pcomplete/bcc32 from eshell to pcmpl-x (Bug#10585)

	* lisp/eshell/em-xtra.el (pcomplete/bcc32, pcomplete/bcc): Move
	from here...
	* lisp/pcmpl-x.el (pcomplete/bcc32, pcomplete/bcc): ...to here.

2020-09-21  Stefan Kangas  <stefan@marxist.se>

	Convert a manual test for nxml-mode to unit test

	* test/manual/indent/nxml.xml: Delete file.
	* test/lisp/nxml/nxml-mode-tests.el
	(nxml-mode-test-comment-bug-17264): New test based on deleted file.

2020-09-21  Stefan Kangas  <stefan@marxist.se>

	Convert manual indent test for ruby-mode into unit test

	* test/manual/indent/ruby.rb: Move from here...
	* test/lisp/progmodes/ruby-mode-resources/ruby.rb: ...to here.

	* test/lisp/progmodes/ruby-mode-tests.el
	(ruby-mode-tests-data-dir): New variable.
	(ruby--indent/converted-from-manual-test): New test.

2020-09-21  Stefan Kangas  <stefan@marxist.se>

	Convert manual indent test for scheme-mode into unit test

	* test/manual/indent/scheme.scm: Delete file.
	* test/lisp/progmodes/scheme-tests.el: New file with unit test for
	scheme-mode based on deleted file.

2020-09-21  Stefan Kangas  <stefan@marxist.se>

	Convert manual indent test for ps-mode into unit test

	* test/manual/indent/ps-mode.ps: Delete file.
	* test/lisp/progmodes/ps-mode-tests.el (ps-mode-test-indent):
	New unit test based on deleted file.

2020-09-21  Sam Steingold  <sds@gnu.org>

	(json-encode-string): Strip properties to fix bug#43549

2020-09-21  Lin Sun  <lin.sun@zoom.us>

	Fix problem with ede-mode bugging out on non-existent files

	* lisp/cedet/ede/emacs.el: Check whether the directory exists in
	ede-emacs-find-in-directories before using it (bug#43547).

2020-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix recent change to window-max-chars-per-line

	* lisp/window.el (window-max-chars-per-line):
	line-number-display-width can return a floating point number, but
	we want an integer (bug#43548).

2020-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string fix for gnus-summary-hide-thread

	* lisp/gnus/gnus-sum.el (gnus-summary-hide-thread): Remove text
	from doc string apparently copy-pasted from the function above.

2020-09-21  dickmao  <none>

	Remove a misleading message in gnus-summary-hide-thread

	* lisp/gnus/gnus-sum.el (gnus-summary-hide-thread):
	Jump past invisible thread instead of begging off with an out-of-band
	diagnostic (bug#43538).

2020-09-21  Stefan Kangas  <stefan@marxist.se>

	Convert manual indent test for opascal-mode into unit test

	* test/manual/indent/opascal.pas: Delete file.
	* test/lisp/progmodes/opascal-tests.el: New file with unit test for
	oposcal-mode based on deleted file.

2020-09-21  Stefan Kangas  <stefan@marxist.se>

	Convert manual indent test for lisp-mode into unit test

	* test/manual/indent/lisp.lisp: Delete file.
	* test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-indent-defun):
	New unit test based on deleted file.

2020-09-21  Stefan Kangas  <stefan@marxist.se>

	Convert manual indent test for elisp-mode into unit test

	* test/manual/indent/elisp.el: Delete file.
	* test/lisp/progmodes/elisp-mode-tests.el (elisp-indent-basic):
	New unit test based on deleted file.

2020-09-21  Stephen Berman  <stephen.berman@gmx.net>

	Fix check in `newline' for blank lines

	* lisp/simple.el (newline): Clarify doc string and fix check for
	blank lines (bug#13810).

2020-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix line width in M-x term on -nw with line numbers

	* lisp/window.el (window-max-chars-per-line): Make the line width
	more correct in the presence of display-line-numbers-mode (bug#34513).

2020-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more isearch submatch faces

	* doc/emacs/search.texi (Search Customizations): Adjust
	documentation.
	* lisp/isearch.el (search-highlight-submatches): Be a boolean.
	(isearch-group-{6-9}): New faces.
	(isearch-highlight): Use the variable as a boolean.

2020-09-21  Juri Linkov  <juri@linkov.net>

	Tweak how Man selects the previous window on failure

	* lisp/man.el (Man-bgproc-sentinel): Ensure that we select the
	correct previous window (bug#38164).

2020-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow disabling the verbose eldoc truncation message

	* doc/emacs/programs.texi (Lisp Doc): Document it.

	* lisp/emacs-lisp/eldoc.el (eldoc-display-truncation-message): New
	variable (bug#43543).
	(eldoc--handle-docs): Use it.

2020-09-21  Nicolas Graner  <nicolas.graner@universite-paris-saclay.fr>  (tiny change)

	Fix default value in checkboxes in eww

	* lisp/net/eww.el (eww-submit): Checked checkboxes need a default
	value (bug#43542).

2020-09-21  Michael Albinus  <michael.albinus@gmx.de>

	Add D-Bus tests

	* doc/misc/dbus.texi (Type Conversion): Precise basic type values.

	* lisp/net/dbus.el (dbus-register-property): Send signal directly.

	* src/dbusbind.c (xd_signature): Accept non-nil objects for
	DBUS_TYPE_BOOLEAN.

	* test/lisp/net/dbus-tests.el (dbus-test01-basic-types)
	(dbus-test01-compound-types): New tests.

2020-09-21  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	02a31c9632 (origin/emacs-27) Minor improvement in the ELisp manual's ...
	f750def778 Mention in PROBLEMS the problems with fonts and Uniscribe
	082d8a21b1 Minor copyedits in 'line-height' documentation
	5b23393bcc ; * src/frame.c (syms_of_frame) <make-pointer-invisible>: ...

2020-09-21  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	df04f3e755 Fix a rare segfault in syntax.c
	fd1fe1e1ec Add doc to syntax-propertize-function saying it must do a ...
	fcd599bbea Minor copyedits of doc of 'with-silent-modifications'
	759399cdb1 Improve documentation of 'max-mini-window-height'
	3223302aa2 Use modern constant names for the NS pasteboard
	985703d380 Fix doc string of 'toggle-menu-bar-mode-from-frame'
	184a4977c7 Make vc-bzr tests work with brz 3.1 (bug#43314)

	# Conflicts:
	#	lisp/emacs-lisp/syntax.el
	#	src/syntax.c

2020-09-21  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	694acda5f2 Fix compilation on TERMINFO platforms with GCC 10
	f3373901e5 Fix the font-lock-debug-fontify NEWS entry

	# Conflicts:
	#	etc/NEWS

2020-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix infloop when folding difficult headers in Message

	* lisp/mail/rfc2047.el (rfc2047-fold-field): Return the end point.
	* lisp/gnus/message.el (message--fold-long-headers): Use that to
	reliably achieve progress.

2020-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow not selecting messages in Gnus before resending

	* lisp/gnus/gnus-msg.el (gnus-summary-resend-message): Allow not
	selecting messages.  This is faster when resending huge spam messages.

2020-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make xterm-mouse-event check whether the click event is valid

	* lisp/xt-mouse.el (xterm-mouse-event): Defensively check against
	a situation that shouldn't happen (but does) (bug#17378).

2020-09-20  Alan Mackenzie  <acm@muc.de>

	C++ Mode: Modernize the fontification of "using"

	Since "using" is now used in three distinct ways in C++, write a special
	function to handle these rather than attempting to adapt the old regular
	expressions.

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Amend to allow the
	argument TYPES to be a face.  This face is given to the declarator being
	processed.
	(c-font-lock-single-decl): Make an argument to c-font-lock-declarators nil or
	t, not merely nil or non-nil.
	(c-complex-decl-matchers): Include c-font-lock-c++-using in the C++ value of
	this variable.
	(c-font-lock-c++-using): New function.

	* lisp/progmodes/cc-langs.el (c-using-kwds, c-using-key): New lang
	consts/vars.
	(c-modifier-kwds): Remove "using" from the C++ value.

2020-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore the previous minimum-width specs in the line/column mode lines

	* lisp/bindings.el (mode-line-position-line-format)
	(mode-line-position-column-format)
	(mode-line-position-column-line-format, mode-line-position):
	Restore the previous min-width specs (bug#28648).

2020-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make (let ((:key 'foo)) :key) signal an error in lexical elisp, too

	* src/lread.c (intern_sym): Mark keywords as special (bug#38872).

2020-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in dbus.texi

	* doc/misc/dbus.texi (Type Conversion): Remove spurious { character.

2020-09-20  Michael Albinus  <michael.albinus@gmx.de>

	Make D-Bus properties type safe

	* doc/misc/dbus.texi (Properties and Annotations):
	Precise dbus-get-property and dbus-set-property.
	(Type Conversion): Explain :byte and :boolean type conversion.
	(Errors and Events): dbus-ignore-errors returns nil when there is
	a D-Bus error.  Remove dbus-show-dbus-errors.

	* etc/NEWS: Some D-Bus relevant changes.

	* lisp/net/dbus.el (dbus-show-dbus-errors): Remove.
	(dbus-ignore-errors): Replay implementation without that variable.
	(dbus-check-arguments): New defun.
	(dbus-list-activatable-names, dbus-list-names)
	(dbus-list-queued-owners, dbus-get-name-owner, dbus-introspect)
	(dbus-get-all-properties, dbus-get-all-managed-objects): Don't debug.
	(dbus-get-property, dbus-set-property): Propagate errors.
	(dbus-register-property): Check for valid VALUE.
	(dbus-property-handler): Simplify.

	* src/dbusbind.c (Fdbus_message_internal): Adapt docstring.
	Handle DBUS_MESSAGE_TYPE_INVALID.

	* test/lisp/net/dbus-tests.el (dbus-show-dbus-errors): Don't declare.
	(dbus-test06-register-property)
	(dbus-test06-register-property-emits-signal): Adapt tests.

2020-09-20  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement in the ELisp manual's Introduction

	* doc/lispref/intro.texi (Printing Notation): Clarify what
	"execute code" means in this context.  (Bug#43463)

2020-09-20  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of a recently-added feature

	* lisp/isearch.el (search-highlight-submatches): Improve the doc
	string.

	* doc/emacs/search.texi (Search Customizations): Improve the
	documentation of 'search-highlight-submatches'.

	* etc/NEWS: Minor change of the entry for
	'search-highlight-submatches'.

2020-09-20  Juri Linkov  <juri@jurta.org>

	Highlight regexp sub-expressions

	* doc/emacs/search.texi (Search Customizations): Document it.

	* lisp/isearch.el (search-highlight-submatches): New variable.
	(isearch-group-1, isearch-group-2, isearch-group-3)
	(isearch-group-4, isearch-group-5): New faces.
	(isearch-highlight): Use them.
	(isearch-dehighlight): Ditto (bug#6227).

2020-09-20  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Tweak dired warning about "wildcard" characters

	* lisp/dired-aux.el (dired-isolated-string-re): Use explicitly
	numbered groups.
	(dired--star-or-qmark-p): Add START parameter.  Make sure to
	return the first isolated match.
	(dired--need-confirm-positions, dired--mark-positions)
	(dired--highlight-no-subst-chars, dired--no-subst-explain)
	(dired--no-subst-ask, dired--no-subst-confirm): New functions.
	(dired-do-shell-command): Use them (bug#28969, bug#35564).

	* test/lisp/dired-aux-tests.el (dired-test-bug27496): Adapt to
	new prompt.
	(dired-test--check-highlighting): New test helper.
	(dired-test-highlight-metachar): New tests.

2020-09-20  Eli Zaretskii  <eliz@gnu.org>

	Mention in PROBLEMS the problems with fonts and Uniscribe

	* etc/PROBLEMS: Mention font-related problems with Uniscribe on
	MS-Windows.  (Bug#39340)

2020-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix bug out when indenting inserted images in shr

	* lisp/net/shr.el (shr-fill-line): We may not have a
	shr-indentation text property here.  In that case, default to the
	dynamically bound value.

2020-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove code checked in to lread.c by mistake

	* src/lread.c (intern_sym): Remove code under development
	inadvertently checked in.

2020-09-20  dickmao  <dick.r.chiang@gmail.com>

	Terminate `comint-password-function' tests

	* test/lisp/comint-tests.el (comint-test-no-password-function)
	(comint-test-password-function-with-value)
	(comint-test-password-function-with-nil): refactor
	(comint-tests/test-password-function): actually test
	`comint-send-invisible' and inhibit inadvertent interactive query
	(bug#38825).

2020-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak a hash table print test

2020-09-20  Pip Cet  <pipcet@gmail.com>

	Fix printing of hash tables with removed elements

	* src/print.c (print_vectorlike): Keep track of the actual number
	of elements printed rather than attempting to use hash bucket
	indices (bug#38892).

2020-09-20  Dmitry Gutov  <dgutov@yandex.ru>

	Don't have vc-git-stash-list bug out on the .git directory

	* lisp/vc/vc-git.el (vc-git-stash-list): Don't bug out when
	running on the .git directory itself (bug#39285).

2020-09-20  Earl  <ej32u@protonmail.com>

	Add new tab command `C-x t C-r'

	* doc/emacs/misc.texi (FFAP): Document new commands (bug#43503).

	* lisp/ffap.el (ffap-read-only-other-tab): New command.

	* lisp/tab-bar.el (find-file-read-only-other-tab): New command and
	keystroke.

2020-09-20  Noam Postavsky  <npostavs@gmail.com>

	Fix slow python-mode inserts when there's a lot of strings

	* lisp/progmodes/python.el (python-info-docstring-p): Doing more
	than two repetitions here doesn't improve indentation (bug#39598).

2020-09-20  Mauro Aranda  <maurooaranda@gmail.com>

	New command: revert-buffer-with-fine-grain

	* doc/emacs/files.texi (Reverting): Document the new command and the
	new variable.

	* etc/NEWS: Mention the new command and the new variable.

	* lisp/files.el (revert-buffer-with-fine-grain): New command.  Revert
	a buffer trying to be non-destructive, by using replace-buffer-contents.
	(revert-buffer-insert-file-contents-delicately): New function, alternative
	to revert-buffer-insert-file-contents-function--default-function.
	(revert-buffer-with-fine-grain-max-seconds): New variable.  Passed as
	argument MAX-SECS of replace-buffer-contents.

	* test/lisp/files-tests.el (files-tests-lao files-tests-tzu): Helper
	variables, taken from diffutils manual, to test reverting a buffer.
	(files-tests-revert-buffer)
	(files-tests-revert-buffer-with-fine-grain): New tests (bug#18).

2020-09-20  Nick Roberts  <nickrob@snap.net.nz>

	Make a gud error message more informative

	* lisp/progmodes/gud.el (gud-jdb-marker-filter): Make the error
	message more informative (bug#1282).

2020-09-20  Peder O. Klingenberg  <peder@klingenberg.no>

	Extend process-lines to allow exit status handling

	* lisp/subr.el (process-lines-handling-status): Extension of the
	old process-lines, with more flexible handling of the exit status.
	(process-lines): Old API implemented using the new function.
	(process-lines-ignore-status): Another use of the new function -
	return the output lines regardless of the exit status (bug#1321).

2020-09-19  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in 'line-height' documentation

	* doc/lispref/display.texi (Line Height): Describe the possible
	values of the 'line-height' property in a more consistent format.

2020-09-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new variable 'gnus-global-groups'

	* doc/misc/gnus.texi (HTML): Document it.

	* lisp/gnus/gnus-art.el (gnus-global-groups): New variable.
	(gnus-block-private-groups): Use it.

2020-09-19  bug-gnu-emacs@gnu.org  <bug-gnu-emacs@gnu.org>

	Honor make-pointer-invisible on macOS

	* src/nsterm.m ([EmacsView keyDown:]): Call
	[NSCursor setHiddenUntilMouseMoves:] with the correct argument, depending on
	variable make-pointer-invisible.

2020-09-19  Gregor Zattler  <telegraph@gmx.net>

	* doc/misc/eww.texi: Document the `w' key's double function

	* doc/misc/eww.texi (Basics): Describe what the `w' command does
	in eww (bug#43517).

2020-09-19  Gregor Zattler  <telegraph@gmx.net>

	* doc/misc/eww.texi: Document the `w' key's double function

	* doc/misc/eww.texi (Basics): Describe what the `w' command does
	in eww (bug#43517).

2020-09-19  Daniel Martín  <mardani29@yahoo.es>

	Put files in mhtml-mode when they have <!DOCTYPE, case-insensitive

	* lisp/files.el (magic-fallback-mode-alist): Match "DOCTYPE" in a
	case-insensitive way before putting files in mhtml-mode. See
	https://html.spec.whatwg.org/multipage/syntax.html#the-doctype for the
	standard reference.
	* test/lisp/files-tests.el (files-test-magic-mode-alist-doctype): Add
	a test (bug#43511).

2020-09-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with spurious extra paragraphs in shr

	* lisp/net/shr.el (shr-ensure-paragraph): Don't regard <div
	id=foo></div> (empty placeholders) as occupying any space (bug#43510).

2020-09-19  Eli Zaretskii  <eliz@gnu.org>

	Fix a rare segfault in syntax.c

	* src/syntax.c (Fforward_comment): Prevent the loop for COUNT < 0
	from going outside the valid range of character/byte positions.
	(Bug#43499)

	* doc/lispref/syntax.texi (Syntax Class Table): Mention the
	"comment-fence" and "string-fence" as alternative names of 2
	syntax classes.

2020-09-19  Alan Mackenzie  <acm@muc.de>

	Add doc to syntax-propertize-function saying it must do a 100% job

	and cannot be combined with other ways of applying syntax-table text
	properties.

	* lisp/emacs-lisp/syntax.el (syntax-propertize-function): Amend doc string.

	* doc/lispref/syntax.texi (Syntax Properties): Amend the description of the
	variable.

2020-09-19  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/menu-bar.el (menu-bar-showhide-fringe-menu): Adjust caller.
	(menu-bar-search-options-menu): Ditto.
	(menu-bar-options-menu): Ditto.
	(menu-bar-options-menu): Ditto.

	* lisp/progmodes/gdb-mi.el (menu): Ditto.

	* lisp/emacs-lisp/find-func.el (find-function-regexp): Add
	menu-bar-make-toggle-command.

	* lisp/menu-bar.el (menu-bar-make-toggle): Compatibility wrapper.

2020-09-19  Drew Adams  <drew.adams@oracle.com>

	* lisp/menu-bar.el (menu-bar-make-toggle-command): Add doc string
	and allow setting all keywords (bug#17954).

2020-09-19  Lennart Borgman  <lennart.borgman@gmail.com>

	Allow reveal mode to not automatically re-hide revealed text

	* lisp/reveal.el (reveal-hide-revealed): New command (bug#7101).
	(reveal-auto-hide): New defcustom.
	(reveal-post-command): Use it.

2020-09-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow customizing hooks defined via define-minor-mode

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Allow using
	Customize on the hooks (bug#10773).

2020-09-19  Alex Bochannek  <alex@bochannek.com>

	Fix gnus-summary-catchup-from-here edge case

	* lisp/gnus/gnus-sum.el (gnus-summary-catchup-from-here): Make the
	command work in the final line in the buffer, too (bug#43496).

2020-09-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Document Gnus body matching quirks

	* doc/misc/gnus.texi (Summary Score Commands): Document body
	match quirks (bug#43502).

2020-09-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Display the language in the Flyspell mode line

	* lisp/textmodes/flyspell.el (flyspell-mode): Display the language
	in the mode line (bug#14957).

2020-09-19  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits of doc of 'with-silent-modifications'

	* doc/lispref/text.texi (Changing Properties):
	* doc/lispref/buffers.texi (Buffer Modification): Improve
	documentation and indexing of 'with-silent-modifications'.

2020-09-18  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'max-mini-window-height'

	* src/xdisp.c (syms_of_xdisp):
	* doc/lispref/minibuf.texi (Minibuffer Windows): More accurate
	wording in the documentation of 'max-mini-window-height', to
	clarify the meaning of an integer value.

2020-09-18  Daniel Martín  <mardani29@yahoo.es>

	Use modern constant names for the NS pasteboard

	Use the same pasteboard constant names defined in
	ns_drag_types. (Bug#43470).

	* src/nsterm.m: Rename NSURLPboardType to NSPasteboardTypeURL,
	NSStringPboardType to NSPasteboardTypeString, and
	NSTabularTextPboardType to NSPasteboardTypeTabularText

2020-09-18  Stefan Kangas  <stefan@marxist.se>

	Fix typo in project-kill-buffers

	* lisp/progmodes/project.el (project-kill-buffers): Fix typo.
	Reported by Manuel Uberti <manuel.uberti@inventati.org>

2020-09-18  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	Save and restore point in ewoc-invalidate

	* lisp/emacs-lisp/ewoc.el (ewoc--refresh-node): Save and restore point line
	and column offset.
	(eowc-map) (ewoc--invalidate) (ewoc-set-hf): Don't use save-excursion
	* lisp/vc/vc-dir.el (vc-dir-update): Don't save/restore point on calling
	'ewoc-invalidate'.

2020-09-18  Adam Sjøgren  <asjo@koldfront.dk>

	Make emacs-uptime insert at point with prefix arg

	* lisp/time.el (emacs-uptime): Insert at point when called with prefix
	argument.  (Bug#20112)

2020-09-18  Stefan Kangas  <stefan@marxist.se>

	Doc fix in directory-free-space-program

	* lisp/files.el (directory-free-space-program): Doc fix; there is no
	need to repeat that its obsolete here since it will be shown by
	customize, describe-variable, etc. automatically.

2020-09-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the defcustom type of eww-retrieve-command

	* lisp/net/eww.el (eww-retrieve-command): The type is a list of
	strings.

2020-09-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Use a widget for the face link in Customize buffers

	* doc/lispref/customize.texi (Common Keywords): Document it.

	* lisp/cus-edit.el (custom-face-value-create): Use a widget
	instead of a button so that TAB works (bug#20664).

	* lisp/wid-edit.el (face-link): New widget.
	(widget-face-link-action): New action.

2020-09-18  Michael Albinus  <michael.albinus@gmx.de>

	Fix error in D-Bus test

	* test/lisp/net/dbus-tests.el (dbus-test04-register-method):
	Do not check for error message text.
	(dbus--test-signal-handler): Fix docstring.
	(dbus--test-timeout-handler): New defun.
	(dbus-test05-register-signal)
	(dbus-test06-register-property-emits-signal): Use it.

2020-09-18  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/progmodes/cperl-mode.el (cperl-set-style): Fix docstring.

2020-09-18  Dmitry Gutov  <dgutov@yandex.ru>

	Fix typo, reported by Manuel Uberti

	* lisp/progmodes/project.el (project-kill-buffer-conditions):
	Fix typo.

2020-09-18  Eli Zaretskii  <eliz@gnu.org>

	Minor cleanup of last change

	* src/termchar.h (struct tty_display_info):
	* src/term.c (turn_on_face, tty_capable_p): Reformat new code.

2020-09-18  Mike Hamrick  <mikeh@muppetlabs.com>

	TTY Support for ECMA-48 strike-through graphic rendition

	* src/term.c: Support strike-through in capable terminals.
	(no_color_bit): Replace unused NC_INVIS with
	NC_STRIKE_THROUGH.
	(turn_on_face): Output via TS_enter_strike_through_mode
	if available.
	(turn_off_face): Handle strike-through case.
	(tty_capable_p, init_tty): Support strike-through.
	* src/termchar.h (struct tty_display_info): Add field for
	strike-through.
	* src/xfaces.c (tty_supports_face_attributes_p, realize_tty_face):
	Handle strike-through case.
	* src/dispextern.h: Add TTY_CAP_STRIKE_THROUGH definition.
	(struct face): Add field tty_strike_through_p.

2020-09-18  James N. V. Cash  <james.cash@occasionallycogent.com>  (tiny change)

	* lisp/tab-bar.el (tab-bar-new-tab-to): Fix tabs not reappearing (bug#42052)

2020-09-18  Eli Zaretskii  <eliz@gnu.org>

	Update TUTORIAL.he

	* etc/tutorials/TUTORIAL.he: Adapt to latest changes in the
	English TUTORIAL.

2020-09-18  Richard Stallman  <rms@gnu.org>

	Document easy ways of typing undo key on TTY frames

	* doc/emacs/basic.texi (Basic Undo): Document the easiest way to
	type the undo key.

	* etc/tutorials/TUTORIAL: Describe typing C-_ without the Shift
	key.

2020-09-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make delete-pair only delete pairs that are part of insert-pair-alist"

	This reverts commit 82de8ecc080d91dd05f2432d2d07feb2955aeec4.

	This patch breaks doing `M-x delete-pair' on "foo" in text-mode.

2020-09-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove mention of C-u M-. from the refcards

	The "find next tags" command no longer exists, as the machinery has
	been replaced by xref.

2020-09-17  Mauro Aranda  <maurooaranda@gmail.com>

	Fix recent change in wid-edit

	* lisp/wid-edit.el (widget-button--check-and-call-button): Record the
	ending position of event, because we might need it when
	the :mouse-down-action function returns non-nil (bug#20664).

2020-09-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string typo fix for mode-line-position-column-format

	* lisp/bindings.el (mode-line-position-column-format): Fix typo in
	doc string.

2020-09-17  Oleh Krehel  <ohwoeowho@gmail.com>

	Make face names clickable in Customize buffers

	* lisp/cus-edit.el (custom-face-value-create): Make the face name
	a clickable button (bug#20664).

2020-09-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Refactor a very long wid-edit function and add additional checking

	* lisp/wid-edit.el (widget-button--check-and-call-button): Factor
	out a too-long condition/call...
	(widget-button-click): From here.

2020-09-17  Juri Linkov  <juri@linkov.net>

	Allow binding keys in `query-replace-map'

	* lisp/replace.el (perform-replace): Allow binding keys in
	`query-replace-map' (bug#20687).

2020-09-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous autoload-find-generated-file change

	* lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Use
	the correct name for find-file-hook.

2020-09-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make package install not bug out on weird stuff in find-file-hooks

	* lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
	Users may have read-only-mode in find-file-hooks (bug#43460) so
	just disable all the hooks here.

2020-09-17  Harald Jörg  <haj@posteo.de>

	cperl-mode: Add new value "PBP" for 'cperl-set-style'

	* lisp/progmodes/cperl-mode.el (cperl-style-alist)
	(cperl-set-style): Add indentation style recommended by Damian Conway's
	book "Perl Best Practices".

	* test/lisp/progmodes/cperl-mode-tests.el
	(cperl-mode-test-indent-styles): Add a test to verify indentation
	and unraveling of conditionals (bug#43457).

2020-09-17  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of a recent change

	* src/keyboard.c (update_recent_keys): Fix commentary.
	(Flossage_size): Fix doc string.

	* etc/NEWS: Move and fix wording of the recently added entry.

2020-09-17  Masahiro Nakamura  <tsuucat@icloud.com>

	etc/refcards/refcard.tex: Fix some grouping regexps

	* etc/refcards/refcard.tex (section{Regular Expressions}): Fix the
	shy/numbered grouping examples (bug#43429).

2020-09-17  Michael Albinus  <michael.albinus@gmx.de>

	Work on D-Bus properties etc

	* lisp/net/dbus.el (seq, subr-x): Require.
	(dbus-error-disconnected, dbus-error-service-unknown): New defconst.
	(dbus-set-property, dbus-register-property): Use `keywordp'.  Fix
	proper value sending a signal.

	* test/lisp/net/dbus-tests.el (dbus-test04-register-method):
	Extend test.
	(dbus--test-signal-received): New defvar.
	(dbus--test-signal-handler): New defun.
	(dbus-test05-register-signal)
	(dbus-test06-register-property-emits-signal): New tests.
	(dbus-test06-register-property)
	(dbus-test06-register-property-several-paths): Rename tests.

2020-09-17  Alex Bochannek  <alex@bochannek.com>

	Allow user-defined scoring in Gnus

	* lisp/gnus/gnus-score.el (gnus-score-func): New function (bug#43413).
	* doc/misc/gnus.texi (Score File Format): Document it.

2020-09-17  martin rudalics  <rudalics@gmx.at>

	Make delete-pair only delete pairs that are part of insert-pair-alist

	* lisp/emacs-lisp/lisp.el (delete-pair): Only delete pairs that
	are part of `insert-pair-alist' (bug#4136).

2020-09-17  Tino Calancha  <ccalancha@suse.com>

	Give Lisp control on the lossage size

	Add a command 'lossage-size' to set the maximum
	number or recorded keystrokes (Bug#38796).

	* src/keyboard.c (lossage_limit):
	Static variable with the current lossage size limit.
	(MIN_NUM_RECENT_KEYS): Renamed from NUM_RECENT_KEYS.
	Set it as 100 and use it as the minimum value for lossage_limit.
	Keep the same default for the vector size as before (300).
	(lossage-size): New command.
	(update_recent_keys): Helper function.
	(command_loop_1)
	(record_char)
	(recent-keys)
	(syms_of_keyboard): Use lossage_limit as the vector size.

	* lisp/help.el (view-lossage): Mention the new command in the docstring.
	* etc/NEWS (Changes in Emacs 28.1): Announce this change.
	* doc/emacs/help.texi (Misc Help): Update manual.
	* test/src/keyboard-tests.el (keyboard-lossage-size): Add test.

2020-09-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous change for column/line spec mechanism in the mode line

	* lisp/bindings.el (column-number-indicator-zero-based): Make
	obsolete (bug#28648).
	(mode-line-position-column-line-format): New variable.
	(mode-line-position--column-line-properties): New const.
	(mode-line-position): Use it.

2020-09-17  Andreas Schwab  <schwab@linux-m68k.org>

	Remove pointless use of intern

	* lisp/mwheel.el (mouse-wheel-left-event)
	(mouse-wheel-right-event): Replace use of intern with quoted
	symbol.
	* lisp/profiler.el (profiler-calltree-build-unified): Likewise.
	* lisp/vc/ediff-util.el (ediff-debug-info): Likewise.

2020-09-16  Eli Zaretskii  <eliz@gnu.org>

	Fix doc string of 'toggle-menu-bar-mode-from-frame'

	* lisp/menu-bar.el (toggle-menu-bar-mode-from-frame): Improve the
	wording of the doc string.  (Bug#43383)

2020-09-16  Michael Albinus  <michael.albinus@gmx.de>

	D-Bus: keep type information in D-Bus events

	* doc/misc/dbus.texi (Errors and Events):
	* etc/NEWS: D-Bus events keep the type information of their arguments.

	* lisp/net/dbus.el (dbus-check-event): Fix docstring.
	(dbus-delete-types, dbus-flatten-types): New defuns.
	(dbus-handle-event, dbus-register-property, dbus-property-handler):
	Handle type information.
	(dbus-set-property): Fix thinko.

	* src/dbusbind.c (XD_BASIC_DBUS_TYPE): Simplify.
	(xd_dbus_type_to_symbol): New function.
	(xd_retrieve_arg): Return type information for the arguments.
	(xd_read_message_1):  Return type information for the error name.
	(dbus-registered-objects-table): Fix docstring.

2020-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with previous dired.el change

	* lisp/dired.el (dired-get-filename): dired-current-directory
	can't be called before the dired buffer has been set up.
	(add-hook 'dired-mode-hook 'dired-sort-toggle) calls
	dired-get-filename in a way that exposes this problem, so avoid
	it.

2020-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak previous report-emacs-bug-hook change

	* lisp/mail/emacsbug.el (report-emacs-bug-hook): Add to the hook
	locally so sending stuff from Message afterwards won't trigger the
	same question.

2020-09-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make sgml-validate not bug out from buffers not visiting a file

	* lisp/textmodes/sgml-mode.el (sgml-validate): Don't bug out when
	running from a buffer that's not visiting a file (bug#22906).

2020-09-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Use a square root character in calc displays

	* lisp/calc/calccomp.el (math-compose-sqrt): Use a square root
	character, if possible (bug#22919).  Suggested by Zephyr Pellerin
	<zephyr.pellerin@gmail.com>.

2020-09-15  Eli Zaretskii  <eliz@gnu.org>

	Avoid aborts in display_mode_element

	* src/xdisp.c (display_mode_element): Use parse_str_as_multibyte,
	not multibyte_chars_in_text, to determine whether mode-line spec
	shall be displayed as a multibyte or unibyte string.  We cannot
	use multibyte_chars_in_text here because it aborts when it finds
	raw bytes in the spec string.  (Bug#43409)

2020-09-15  Robert Pluim  <rpluim@gmail.com>

	Stop querying for fonts as soon as a match is found

	Scanning through fonts can be very slow, especially with the 'x' font
	backend, and the result is almost always not used.  Stop looking for a
	font as soon as one is found rather than scanning all the backends.

	* src/font.c (font_list_entities): Stop scanning through the font
	backends as soon as we find a match unless
	'query-all-font-backends is set (Bug#43177).
	(syms_of_font): New variable 'query-all-font-backends', default
	false.

2020-09-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous replace-in-string commit

	* lisp/subr.el (replace-in-string): Fix thinko in implementation.

2020-09-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow controlling the look of the line/column indicators

	* doc/lispref/modes.texi (Mode Line Variables): Document them.

	* lisp/bindings.el (mode-line-position-line-format): New variable
	(bug#28648).
	(mode-line-position-column-format): Ditto.
	(mode-line-position): Use them.

	* lisp/simple.el (column-number-mode): Mention them.
	(line-number-mode): Ditto.

2020-09-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new, simple `replace-in-string' function

	* lisp/subr.el (replace-in-string): New, side-effect-free function.

	* doc/lispref/searching.texi (Search and Replace): Document it.

2020-09-15  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/window.el: Add provide statement

	* lisp/window.el (window): Put a `provide' form to help with the
	popular `use-package' external package (bug#37053).

2020-09-15  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows compilation of Gnulib with old versions of MinGW

	* nt/inc/ms-w32.h (_WIN32_WINNT_WIN2K, _WIN32_WINNT_WINXP)
	(_WIN32_WINNT_WS03, _WIN32_WINNT_VISTA, _WIN32_WINNT_WIN7,
	_WIN32_WINNT_WIN8, _WIN32_WINNT_WINBLUE, _WIN32_WINNT_WIN10)
	[__MINGW32__]: Define if any of these is not defined.  Reported by
	martin rudalics <rudalics@gmx.at>.

2020-09-15  Jimmy Aguilar Mena  <spacibba@aol.com>

	Merge branch 'feature/uniquify-as-function' into master

	Document use of uniquify-buffer-name-style as a function.

2020-09-15  Jimmy Aguilar Mena  <spacibba@aol.com>

	Enable uniquify-buffer-name-style to be a function.

	* lisp/uniquify.el (uniquify-buffer-name-style) : Add "Other" custom
	option
	(uniquify-get-proposed-name) : Add condition for when
	uniquify-buffer-name-style is a function.

2020-09-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix mailclient-send-it after recent browse-url rewrite

	* lisp/mail/mailclient.el (mailclient-send-it): Make this function
	work again after the browse-url machinery was changed to use
	browse-url-default-handlers instead.

2020-09-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix regression in non-querying about mail addresses in "emacs -Q"

	* lisp/mail/emacsbug.el (report-emacs-bug-hook): Don't query about
	the mail address if using an external mailer (bug#43386).

2020-09-15  Daniel Martín  <mardani29@yahoo.es>

	Check that the buffer in diff-buffer-with-file is visiting a file

	* lisp/vc/diff.el (diff-buffer-with-file): Signal a specific error
	when the buffer passed to diff-buffer-with-file is not visiting a
	file (bug#43401).

2020-09-15  Andrea Corallo  <akrl@sdf.org>

	Better error handling after calling 'gcc_jit_context_compile_to_file'

	Typically errors are caught in 'compile_function' but in case
	libgccjit throw an error only afterwards while compiling the whole
	compilation unit we have to report it correctly.

	* src/comp.c (Fcomp__compile_ctxt_to_file): Catch libgccjit
	errors after calling 'gcc_jit_context_compile_to_file'.

2020-09-14  Andrea Corallo  <akrl@sdf.org>

	* test/src/comp-tests.el (comp-tests-bootstrap): Print compilation time.

2020-09-14  Andrea Corallo  <akrl@sdf.org>

	Fix free function compilation load process.

	* lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Do not crash
	if the eln filename is not canonical (tmp file or manual load).

2020-09-14  Andrea Corallo  <akrl@sdf.org>

	Add gv-setters for compiler hints

	* lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Add
	gv-setters so type hinted expressions can be used as places.
	Read we can now have like: '(cl-incf (cl-the fixnum x))'.

2020-09-14  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-sp): Better style gv-setter declaration.

2020-09-14  Andrea Corallo  <akrl@sdf.org>

	Remove type check emission from type hints low level primitives

	These have to be emitted by higher level primitives as `cl-the'.

	* lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Do
	not emit type checks.

2020-09-14  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/cl-macs.el: Define fixnum and bignum.

	Define fixnum so `cl-typep' recognize it and the type check emitted by
	`cl-the' is effective.

2020-09-14  Andrea Corallo  <akrl@sdf.org>

	Add 'cl-optimize' as function declaration

	* lisp/emacs-lisp/cl-macs.el: Register cl-optimize into
	`defun-declarations-alist' and `macro-declarations-alist'.
	(cl--optimize): New function to serve 'cl-optimize' declaration.

2020-09-14  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/cl-macs.el (cl-the): Emit compiler hints when native.

2020-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/emacs-lisp/find-func-tests.el: New file (for bug#43393)

	* lisp/emacs-lisp/ert-x.el (ert-simulate-keys): New macro.

	* test/lisp/international/mule-tests.el
	(mule-cmds--test-universal-coding-system-argument): Use it and enable
	the test also in batch mode.

2020-09-14  Kevin Ryde  <user42@zip.com.au>

	Tweak the `C-x v =' command when done from a diff buffer

	* lisp/vc/vc.el (vc-diff): Offer to save the relevant buffer(s)
	when doing `C-x v =' from a diff buffer (bug#5773).

2020-09-14  Pip Cet  <pipcet@gmail.com>

	Don't retry reading after receiving EINVAL

	* src/process.c (wait_reading_process_output): Don't retry reading
	from an fd after an unknown error (bug#6074).

2020-09-14  Stephen Berman  <stephen.berman@gmx.net>

	Fix problem of marking files with hidden subdirs

	* lisp/dired.el (dired-unhide-subdir):
	(dired-subdir-hidden-p):
	(dired-subdir-min): Moved from subr-x.
	(dired-get-filename): Get the correct filename when directories
	are hidden (bug#8484).

2020-09-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow preserving (some) text properties from completion tables

	* doc/lispref/minibuf.texi (Text from Minibuffer): Document it.

	* lisp/minibuffer.el (completion--replace): Preserve text
	properties on completed items (bug#43218).

2020-09-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow hitting RET on info node names with multiple whitespace chars

	* lisp/info.el (info--node-canonicalize-whitespace): New function
	(bug#10784).
	(Info-extract-menu-node-name): Use it.
	(Info-find-node): Use it.

2020-09-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Fix completion in `read-library-name'"

	This reverts commit ed44217d3245ddc8f2cf75c9499d5bb37848cfd7.

	This commit broke the use case of `M-x load-library RET o/or TAB' to
	expand to org/org.

2020-09-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Further fixups in minibuffer-default--in-prompt-regexps

	* lisp/minibuf-eldef.el (minibuffer-default--in-prompt-regexps):
	Really allow shortening the default prompt format to [foo] (if
	requested) (bug#12443).

2020-09-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Support build of Emacs on ARM Macos machines

	* configure.ac: Add support for aarch64-* on Macos (i.e., 64-bit
	ARM) (bug#43369).

2020-09-14  Mattias Engdegård  <mattiase@acm.org>

	Calc: fix binomial coefficients for negative arguments (bug#16999)

	For some values outside integers 0≤k≤n, (n choose k) gave wrong
	results, entered infinite recursion or used unreasonably amounts of
	stack space.  This change fixes that and extends the function to all
	integer arguments using the definitions from M. J. Kronenburg
	(https://arxiv.org/abs/1105.3689).

	* lisp/calc/calc-comb.el (calcFunc-choose):
	Fix sign error to prevent infinite recursion and extend function to
	handle all integer arguments.
	(math-choose-iter, math-choose-float-iter): Rewrite in iterative form;
	no TCO in elisp yet.
	* test/lisp/calc/calc-tests.el (calc-tests--fac, calc-tests--choose)
	(calc-tests--check-choose, calc-tests--explain-choose)
	(calc-tests--calc-to-number): New helper functions.
	(calc-choose): New test.

2020-09-14  Mattias Engdegård  <mattiase@acm.org>

	* lisp/simple.el (undo-redo): Rephrase error message.

2020-09-14  Glenn Morris  <rgm@gnu.org>

	Fix builds without modules

	* src/data.c (Finteractive_form):
	* src/eval.c (Fcommandp): Fix builds without modules.

2020-09-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up report-emacs-bug action on invalid From headers

	* lisp/mail/emacsbug.el (report-emacs-bug-hook): Move point to the
	From header if the user has to edit the From header.

2020-09-14  akater  <nuclearspace@gmail.com>  (tiny change)

	Fix compilation-mode-map doc string

	* lisp/progmodes/compile.el (compilation-mode-map): Remove mention of
	compilation-minor-mode-map (bug#43382).

	As the comment in the body says:

	;; Don't inherit from compilation-minor-mode-map,
	;; because that introduces a menu bar item we don't want.
	;; That confuses C-down-mouse-3.

	and the map actually inherits from special-mode-map.

2020-09-13  Philipp Stephani  <phst@google.com>

	Add facility to make module functions interactive (Bug#23486).

	* src/module-env-28.h: Add field for 'make_interactive' function.

	* src/emacs-module.c (Lisp_Module_Function): Add new field holding the
	interactive form.
	(allocate_module_function): Adapt to structure layout change.
	(module_make_interactive, module_function_interactive_form): New
	functions.
	(initialize_environment): Use them.

	* src/eval.c (Fcommandp):
	* src/data.c (Finteractive_form): Also handle interactive module
	functions.

	* test/data/emacs-module/mod-test.c (Fmod_test_identity): New test
	function.
	(emacs_module_init): Create two interactive module test functions.

	* test/src/emacs-module-tests.el (module/interactive/return-t)
	(module/interactive/return-t-int, module/interactive/identity):
	New unit tests.

	* doc/lispref/internals.texi (Module Functions): Document new
	function.  Rework paragraph about wrapping module functions, as the
	example no longer applies.

	* etc/NEWS: Document new facility.

2020-09-13  Reuben Thomas  <rrt@sc3d.org>

	Escape ampersand in table.el LaTeX output

	* lisp/textmodes/table.el (table--generate-source-scan-lines): Add
	  ampersand '&' to the list of characters to escape in LaTeX output.

2020-09-13  Andrea Corallo  <akrl@sdf.org>

	Fix defsbust declare effectiveness introduced by 80d7f710 (Bug#43280).

	* lisp/emacs-lisp/byte-run.el (defsubst): Do not add a speed
	declaration as this breaks a pre existing ones if present but
	rather calls directly `byte-run--set-speed'.

2020-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Further fixups of the variable-pitch eww header line change

	* lisp/net/eww.el (eww-update-header-line-format): Protect against
	:url not being set.

2020-09-13  Stefan Kangas  <stefan@marxist.se>

	Improve wording of cua-mode menu entry

	* lisp/menu-bar.el (menu-bar-options-menu): Improve wording of the
	cua-mode menu entry.  (Bug#43323)

2020-09-13  Stefan Kangas  <stefan@marxist.se>

	Improve frame-title-format and icon-title-format

	* src/xdisp.c (syms_of_xdisp): Replace 'invocation-name' with the text
	"%b - GNU Emacs" and replace "@" with " at ".  (Bug#41147)
	* etc/NEWS: Announce the above change.

2020-09-13  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-09-13  Eli Zaretskii  <eliz@gnu.org>

	Fix punctuation in EWW manual

	* doc/misc/eww.texi (Advanced): Fix punctuation of a recent
	change.

2020-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make diff--refine-hunk bug out less on broken patches

	* lisp/vc/diff-mode.el (diff--refine-hunk): Don't bug out on
	broken patches where we can't find the middle.

2020-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the eww header work again even if the title is nil

	* lisp/net/eww.el (eww-update-header-line-format): Don't bug out
	if the title isn't set at all.

2020-09-13  Dario Gjorgjevski  <dario.gjorgjevski@gmail.com>

	Make ERC desktop notifications lenient to invalid XML characters

	* lisp/xml.el (xml-invalid-characters-re): New constant.

	* lisp/erc/erc-desktop-notifications.el
	(erc-notifications-notify): Strip IRC control codes and invalid
	XML characters before notifying (bug#43328).

2020-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't eagerly store articles in the Agent by default

	* lisp/gnus/gnus-agent.el (gnus-agent-store-article): Made
	obsolete.

	* lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Don't
	call it.

	* lisp/gnus/gnus-async.el (gnus-async-article-callback): Ditto
	(bug#43356).

	This partially reverts f3b146e943cd733fb716c75048f24b73826e5f30, which
	in was response to what appears to be an erroneous feature-request -
	bug#8502.

	Instead this should be done instead:

	“If I read an article while plugged, do they get entered into the
	Agent?”

	     *No*. If you want this behavior, add
	     ‘gnus-agent-fetch-selected-article’ to
	     ‘gnus-select-article-hook’.

2020-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Kill gpg-agents started by mml-sec-tests (bug#43358)

2020-09-13  Brian Leung  <leungbk@mailfence.com>  (tiny change)

	Update .gitignore with ccls files

	* .gitignore: Ignore files used by ccls, a language server for C
	(bug#43365).

2020-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string clarification in file-directory-p

	* src/fileio.c (Ffile_directory_p): Mention that "" is a special
	case (bug#43375).

2020-09-13  Kiso Katsuyuki  <katsuyuki2388@gmail.com>  (tiny change)

	Clarify when tab-line-switch-cycling is used

	* lisp/tab-line.el (tab-line-switch-cycling): Clarify when the
	variable is used.

2020-09-13  Stefan Kangas  <stefan@marxist.se>

	* lisp/time.el (display-time-world): Make obsolete.

2020-09-13  Stefan Kangas  <stefan@marxist.se>

	Make M-x show what aliases point to (Bug#43300)

	* lisp/simple.el (read-extended-command--annotation): Show an
	annotation for aliases saying what it points to.

2020-09-13  Stefan Kangas  <stefan@marxist.se>

	Make M-x show obsolete commands (Bug#43300)

	* lisp/simple.el (read-extended-command): Don't hide obsolete
	commands.
	(read-extended-command--annotation): Show an annotation for obsolete
	commands that says what their new name is.

2020-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Use format-prompt in read-file-name calls that have a default"

	This reverts commit de4f347901adffd07bc9bff028dc073fb3c6df33.

	read-file-name already displays a long path when given a default
	(like INITIAL in many other prompting functions), so using
	format-prompt here is superfluous.

2020-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `ascii' a coding system alias for `us-ascii'

	* lisp/international/mule-conf.el (ascii): Define `ascii' as a
	coding system alias to `us-ascii' (bug#43351).

2020-09-13  Michael Albinus  <michael.albinus@gmx.de>

	Fix a conversion failure in tramp-archive-tests (Bug#43353)

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test-file-archive-hexlified): New defun.
	(tramp-archive-test02-file-name-dissect): Use it.  (Bug#43353)

2020-09-13  Glenn Morris  <rgm@gnu.org>

	Don't force LC_ALL=C upon make check (bug#43353)

	* test/Makefile.in (TEST_LOCALE): Remove.
	(emacs): Don't force LC_ALL=C, since it causes problems with
	non-ascii directories.  This mirrors a 7-year old lisp/Makefile change.

2020-09-13  Glenn Morris  <rgm@gnu.org>

	Mark some diff tests as failing in nonascii directories

	* test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock)
	(diff-mode-test-font-lock-syntax-one-line):
	Expect failure in non-ascii directories.

2020-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up eww error buffer

	* lisp/net/eww.el (eww-retrieve): Clean up error buffer after exiting.

2020-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up example code from previous eww.texi commit

	* doc/misc/eww.texi (Advanced): Simplify example command (and
	"--virtual-time-budget=3000" makes Chromium unstable).

2020-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a way to use an external command to download HTML in eww

	* doc/misc/eww.texi (Advanced): Document it.

	* lisp/net/eww.el (eww-retrieve): New function.
	(eww-reload): Use it.
	(eww): Ditto.
	(eww-retrieve-command): New variable.

2020-09-12  Glenn Morris  <rgm@gnu.org>

	Adapt some tests for Emacs's excitingly variable quoting format

	* test/lisp/subr-tests.el (subr-test-version-parsing):
	* test/lisp/emacs-lisp/gv-tests.el (gv-dont-define-expander-other-file):
	* test/src/callint-tests.el (call-interactively/incomplete-multibyte-sequence):
	* test/src/emacs-module-tests.el (module/describe-function-1):
	Don't fail if curly quotes are in use, as they can be if LC_ALL != C.

2020-09-12  Michael Albinus  <michael.albinus@gmx.de>

	Cleanup in dbus.el, dbus-tests.el

	* lisp/net/dbus.el (dbus-error-no-reply): New defconst.
	(dbus-call-method): Use it.
	(dbus-call-method-asynchronously, dbus-register-signal): Fix docstring.
	(dbus-unregister-object): Obey :serial entries in
	`dbus-registered-objects-table'.

	* test/lisp/net/dbus-tests.el (dbus-test04-register-method)
	(dbus-test05-register-property): Extend tests.

2020-09-12  Glenn Morris  <rgm@gnu.org>

	Make vc-bzr tests work with brz 3.1 (bug#43314)

	* test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
	(vc-bzr-test-bug9781, vc-bzr-test-faulty-bzr-autoloads):
	Make them work with brz 3.1.

2020-09-12  Alan Mackenzie  <acm@muc.de>

	C++ Mode: handle __attribute__,etc. inside constructor argument lists

	This corrects both the fontification and indentation of these things, fixing
	bug #42270.

	* lisp/progmodes/cc-engine.el (c-do-declarators): Skip over "hangon keys" and
	noise macros whilst scanning a putative C++ function.
	(c-forward-decl-or-cast-1): When checking for typeless functions, skip over
	"hangon keys" and noise macros.

	* lisp/progmodes/cc-mode.el (c-fl-decl-end): Deal with certain invalid
	"nested declarators" by scanning over them with a recursive call of
	c-fl-decl-end.

	* lisp/progmodes/cc-vars.el (c-noise-macro-names)
	(c-noise-macro-with-parens-names): State in the doc strings that if either of
	these is a regexp, it must have a submatch 1 which matches the noise macro
	exactly.

2020-09-12  Glenn Morris  <rgm@gnu.org>

	Small Texinfo markup fixes

	* doc/misc/dbus.texi (Register Objects):
	* doc/misc/gnus.texi (Searching): Texinfo markup fixes.

2020-09-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in cl-font-lock

	* lisp/progmodes/cl-font-lock.el (cl-font-lock-built-in-mode): Put
	in the tools group to avoid a compilation warning.

2020-09-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in obsolete/complete.el

	* lisp/obsolete/complete.el (completion-base-size): Avoid
	compilation warning.

2020-09-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in cl-lib.el

	* lisp/emacs-lisp/cl-lib.el (cl-old-struct-compat-mode): Put the
	minor mode in the tools group (to avoid a compilation warning).

2020-09-12  Lars Ingebrigtsen  <larsi@gnus.org>

	dired-omit-mode may not be defined in dired-jump

	* lisp/dired.el (dired-jump): dired-omit-mode is in dired-x, so it
	may not be defined in dired.

2020-09-12  Alex Bochannek  <alex@bochannek.com>

	Support scoring on article age interactively in Gnus

	* lisp/gnus/gnus-score.el (gnus-summary-score-entry): Support
	scoring on article age in interactive scoring (bug#43270).

2020-09-12  Glenn Morris  <rgm@gnu.org>

	Default Emacs to UTF-8 instead of Latin-1

	* doc/emacs/mule.texi (File Name Coding): Document it.

	* lisp/international/mule-cmds.el (reset-language-environment):
	Default to utf-8 instead of latin-1.

	* lisp/mail/sendmail.el (default-sendmail-coding-system): Ditto.

	* lisp/mh-e/mh-comp.el (mh-send-letter): Ditto.

2020-09-12  Martin Rudalics  <rudalics@gmx.at>

	Fix toggle-frame-fullscreen on w32 builds

	* src/w32term.c (w32_read_socket): Set 'fullscreen' to 'maximized'
	if Windows sends SIZE_MAXIMIZED and either the top or the left of
	the frame is outside the screen.  (Bug#25542)

2020-09-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Further diff-no-select doc string clarification

	* lisp/vc/diff.el (diff-no-select): Doc string clarification.

2020-09-12  Eli Zaretskii  <eliz@gnu.org>

	Avoid unneeded recentering when header-line is used

	* src/xdisp.c (try_window): Account for header-line height only in
	the scroll-margin at the window's top, but not at its bottom.
	(Bug#42653)

2020-09-12  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation on TERMINFO platforms with GCC 10

	* src/terminfo.c [TERMINFO]: Don't redefine UP, BC, and CP, as
	that could cause linking errors due to multiple definitions.
	(Bug#43195)

2020-09-12  Stefan Kangas  <stefan@marxist.se>

	Move dired-jump from dired-x to dired (Bug#21981)

	* lisp/dired-x.el (dired-bind-jump): Change into defvar and make
	obsolete.
	(dired-extra-startup): Doc fix.
	(dired-jump, dired-jump-other-window): Move from here...
	* lisp/dired.el (dired-jump, dired-jump-other-window): ...to here.

	* lisp/bindings.el (ctl-x-map, ctl-x-4-map): Bind 'C-j' to
	'dired-jump' and 'dired-jump-other-window'.

	* doc/misc/dired-x.texi (Features, Installation)
	(Miscellaneous Commands): Remove documentation of 'dired-jump'.
	* doc/emacs/dired.texi (Dired Enter): Document 'dired-jump' and
	dired-jump-other-window.
	* etc/NEWS: Announce the above changes.

	* test/lisp/dired-tests.el (dired-autoload): Adjust test.

2020-09-11  Stefan Kangas  <stefan@marxist.se>

	Add some eshell completion patterns

	* lisp/eshell/em-cmpl.el (eshell-command-completions-alist):
	Add 'gunzip', 'bunzip2' and 'unxz'.

2020-09-11  Stefan Kangas  <stefankangas@gmail.com>

	Remove cedet items obsolete since 23.2

	* lisp/cedet/semantic.el (semantic-toplevel-bovine-table)
	(semantic-toplevel-bovine-cache)
	(semantic-before-toplevel-bovination-hook)
	(semantic-after-toplevel-bovinate-hook, semantic-init-hooks)
	(semantic-init-mode-hooks, semantic-init-db-hooks)
	(semantic-bovination-working-type, semantic-bovinate-toplevel)
	(semantic-bovinate-region-until-error)
	(semantic-bovinate-from-nonterminal-full):
	* lisp/cedet/semantic/db-mode.el (semanticdb-mode-hooks):
	* lisp/cedet/semantic/decorate/mode.el
	(semantic-decorate-pending-decoration-hooks):
	* lisp/cedet/semantic/edit.el
	(semantic-edits-incremental-reparse-failed-hooks):
	* lisp/cedet/semantic/fw.el (define-mode-overload-implementation):
	* lisp/cedet/semantic/idle.el
	(semantic-before-idle-scheduler-reparse-hooks)
	(semantic-after-idle-scheduler-reparse-hooks):
	(semantic-eldoc-current-symbol-info)
	* lisp/cedet/semantic/imenu.el (semantic-imenu-expand-type-parts)
	(semantic-imenu-bucketize-type-parts)
	(semantic-imenu-expandable-token):
	* lisp/cedet/semantic/java.el
	(semantic-java-prototype-nonterminal):
	* lisp/cedet/semantic/lex.el (semantic-flex-token-start)
	(semantic-flex-token-end, semantic-flex-token-text)
	(semantic-flex-make-keyword-table, semantic-flex-keyword-p)
	(semantic-flex-keyword-put, semantic-flex-keyword-get)
	(semantic-flex-map-keywords, semantic-flex-keywords)
	(semantic-flex-buffer, semantic-flex-list, semantic-flex):
	* lisp/cedet/semantic/tag-file.el (semantic-find-nonterminal)
	(semantic-find-dependency):
	* lisp/cedet/semantic/tag-ls.el (semantic-nonterminal-full-name)
	(semantic-nonterminal-protection, semantic-nonterminal-abstract)
	(semantic-nonterminal-leaf):
	* lisp/cedet/semantic/tag.el (semantic-token-type-parent)
	(semantic-tag-make-assoc-list, semantic-expand-nonterminal):
	* lisp/cedet/semantic/util.el (semantic-file-token-stream)
	(semantic-something-to-stream):
	* lisp/cedet/semantic/wisent.el (wisent-lex-make-token-table):
	Delete many items obsolete since Emacs 23.2.
	* lisp/cedet/semantic.el (semantic--set-buffer-cache)
	(semantic-fetch-tags): Don't run removed hooks
	'semantic-after-toplevel-bovinate-hook' and
	'semantic-before-toplevel-bovination-hook'.
	* lisp/cedet/semantic/bovine/el.el: Remove reference to obsolete
	variable 'define-mode-overload-implementation'.
	* lisp/cedet/semantic/doc.el (semantic-doc-snarf-comment-for-tag):
	Don't bind removed variable 'semantic-ignore-comments'.
	* lisp/cedet/semantic/fw.el (semantic-overload-symbol-from-function)
	(semantic-alias-obsolete, semantic-varalias-obsolete): Declare
	obsolete in favor of standard Emacs 'define-obsolete-*-alias'.
	* lisp/cedet/semantic/grammar.el (semantic-grammar-ASSOC): Don't
	use obsolete names.
	* lisp/cedet/semantic/tag-ls.el (semantic-tag-full-package)
	(semantic-tag-full-name): Doc fixes.
	* lisp/cedet/semantic/util.el (semantic-describe-buffer): Don't bind
	removed variable 'semantic-after-toplevel-bovinate-hook'.
	* lisp/cedet/semantic/lex.el (semantic-flex-tokens)
	(semantic-flex-unterminated-syntax-end-function)
	(semantic-flex-extensions, semantic-flex-syntax-modifications)
	(semantic-ignore-comments, semantic-flex-enable-newlines)
	(semantic-flex-enable-whitespace, semantic-flex-enable-bol)
	(semantic-number-expression, semantic-flex-depth): Make unused
	variables obsolete.

2020-09-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Guard against faulty flow-filled emails

	* lisp/mail/flow-fill.el (fill-flowed): Don't bug out if there's a
	space at the end of the buffer.  This is probably not allowed in
	the flow-fill specification, but has been observed in the wild.

2020-09-11  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix minor bugs in the string handling functions

	These sometimes gave rise to the tail of a buffer being "stringed out".

	* lisp/progmodes/cc-defs.el (c-will-be-unescaped): New macro.

	* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
	(c-after-change-mark-abnormal-strings): Fix bugs in the handling of string
	fence syntax-table text properties.

2020-09-11  Eli Zaretskii  <eliz@gnu.org>

	Improve help-echo of Undo and Redo menu items

	* lisp/menu-bar.el (undo-redo, undo): Improve the wording of
	help-echo strings.

2020-09-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak previous mailcap patch (for external viewers)

	* lisp/net/mailcap.el (mailcap-view-mime): Delete contents of the
	buffer in the external case, too.

2020-09-11  Michael Albinus  <michael.albinus@gmx.de>

	D-Bus: Implement other compound types of properties

	* doc/misc/dbus.texi (Errors and Events):
	* etc/NEWS: Mention dbus-show-dbus-errors.

	* lisp/net/dbus.el (dbus-compound-types): New defconst.
	(dbus): New defgroup.
	(dbus-show-dbus-errors): New defcustom.
	(dbus-ignore-errors): Use it.
	(dbus-set-property): Simplify.
	(dbus-property-handler): Implement other compound types of properties.

	* test/lisp/net/dbus-tests.el (dbus--test-register-service)
	(dbus-test05-register-property): Extend tests.

2020-09-11  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (emit_static_object): Make use of ARRAYELTS.

2020-09-11  Andrea Corallo  <akrl@sdf.org>

	Make use of new 'gcc_jit_global_set_initializer' entry point

	Use this brand new entry point to avoid the current workaround and its
	load-time memcpys.

	* src/comp.c (gcc_jit_global_set_initializer): Add to the dynamic
	load machinery.
	(static_obj_t): Remove const qualifier from the data field.
	(emit_static_object): Make use of 'gcc_jit_global_set_initializer'
	when available.
	(load_static_obj): Use the blob for loading if that was emitted.

2020-09-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up eldef shortening of the minibuffer

	* lisp/minibuf-eldef.el (minibuffer-default--in-prompt-regexps):
	Don't include the ": " bit in the portion to be replaced
	(bug#12443).

2020-09-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve diff-no-select doc string

	* lisp/vc/diff.el (diff-no-select): Improve the doc string somewhat.

2020-09-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix viewing PDFs from eww with external viewers

	* lisp/net/mailcap.el (mailcap-view-mime): Most MIME viewers can't
	take input on stdin (and in any case, "-" is not how many of them
	designate stdin) (bug#43318).  So rewrite to put the data on a
	file and feed the file name to the viewer.

2020-09-11  Mattias Engdegård  <mattiase@acm.org>

	Calc: regularize test names

	* test/lisp/calc/calc-tests.el (calc-remove-units, calc-extract-units)
	(calc-convert-units, calc-bug-23889, calc-trig, calc-format-radix)
	(calc-calendar, calc-solve-linear-system):
	Use a uniform naming convention (calc- prefix) to simplify test running.

2020-09-11  Mattias Engdegård  <mattiase@acm.org>

	Simplify big integer constants in Calc

	* lisp/calc/calc-comb.el (math-small-factorial-table):
	* lisp/calc/calc-funcs.el (math-bernoulli-b-cache):
	* lisp/calc/calc.el (math-2-word-size, math-half-2-word-size):
	No need for math-read-number-simple.

2020-09-11  Mattias Engdegård  <mattiase@acm.org>

	Fix calc tests when running noninteractively

	This error was introduced in 8e1376a39125c3ffc0484077b502444d853eca79.

	* lisp/calc/calc.el (calc--header-line): Prevent size from being negative.

2020-09-11  Andrea Corallo  <akrl@sdf.org>

	Update gitlab CI yml file

	* .gitlab-ci.yml (test-native-bootstrap-speed0)
	(test-native-bootstrap-speed1, test-native-bootstrap-speed2):
	Update for new make invocation.

2020-09-11  Andrea Corallo  <akrl@sdf.org>

	By default when building native compile only what's part of the dump image

	To Ahead of Time compile the whole Emacs distro define NATIVE_FULL_AOT
	when invoking make ex: 'make NATIVE_FULL_AOT=1'.

	* lisp/Makefile.in (NATIVE_SKIP_NONDUMP): New variable.
	(compile-main): Use it + rename NATIVE_DISABLE -> NATIVE_DISABLED.
	* lisp/emacs-lisp/comp.el
	(batch-byte-native-compile-for-bootstrap): Rename NATIVE_DISABLE
	-> NATIVE_DISABLED.

2020-09-11  Eli Zaretskii  <eliz@gnu.org>

	* lisp/simple.el (undo-redo): Doc fix.

2020-09-11  Andrew G Cohen  <cohen@andy.bu.edu>

	Allow an info structure as argument for gnus-group-get-parameter

	* lisp/gnus/gnus.el (gnus-group-get-parameter): Allow the group
	argument to be either a group name or a group info structure. This is
	then parallel to gnus-group-set-parameter.

2020-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/loadup.el ("button"): Move to after loaddefs.el

2020-09-11  Andrew G Cohen  <cohen@andy.bu.edu>

	Clean up group-finding in Gnus nnir search

	This is part of removing code from nnir.el that isn't related to
	searching backends and therefore belongs somewhere else.

	* lisp/gnus/gnus-group.el (gnus-group-make-search-group)
	(gnus-group-read-ephemeral-search-group): Put the logic for
	determining the groups to search here, rather than in nnir. Improve
	documentation.
	* lisp/gnus/gnus-int.el (gnus-server-get-active): Renamed from
	'nnir-get-active.
	* lisp/gnus/nnir.el (nnir-run-imap, nnir-run-find-grep): Use it.
	(nnir-get-active): Remove.
	(nnir-make-specs): Make obsolete.
	* lisp/gnus/nnselect.el (nnselect-group-server):  Make obsolete in
	favor of 'gnus-group-server.

2020-09-11  Andrew G Cohen  <cohen@andy.bu.edu>

	Allow editing articles in Gnus nnselect groups

	* lisp/gnus/nnselect.el (nnselect-request-replace-article): New function.

2020-09-11  Elad Lahav  <elahav@qnx.com>  (tiny change)

	Fix QNX build

	* configure.ac: The __NO_EXT_QNX flag is no longer needed, and is
	masking the declaration of memset_s() (bug#43234).

2020-09-10  Boruch Baum  <boruch_baum@gmx.com>

	Use a header line in calc mode instead of a regular in-buffer line

	* lisp/calc/calc.el (calc-trail-here): Use a header line.
	(calc--header-line): New function.
	(calc-trail-mode): Use a header line.

2020-09-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak how `M-RET' in Message mode fills paragraphs

	* lisp/gnus/message.el (message-newline-and-reformat): Pick up any
	longer white-space prefix before starting to fill (bug#43299).
	This fixes the problem of hitting M-RET on a line that's just ">".

2020-09-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix for diff-no-select

	* lisp/vc/diff.el (diff-no-select): Document the BUF argument
	(bug#43307).

2020-09-10  Caio Henrique  <caiohcs0@gmail.com>  (tiny change)

	Add a "Redo" entry to the menu

	* lisp/menu-bar.el (menu-bar-edit-menu): Add "Redo" under "Undo"
	in the Edit menu (bug#43315).

2020-09-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the font-lock-debug-fontify NEWS entry

	* etc/NEWS: Fix the name of `font-lock-debug-fontify' (bug#43319).

2020-09-10  Stefan Kangas  <stefan@marxist.se>

	* lisp/textmodes/artist.el: Remove obsolete comments.

2020-09-10  Stefan Kangas  <stefan@marxist.se>

	Convert indent test for css-mode into automatic test

	* test/lisp/textmodes/css-mode-tests.el (css-mode-test-indent): New
	test.
	(css-mode-tests-data-dir): New variable.
	* test/manual/indent/css-mode.css: Move from here...
	* test/lisp/textmodes/css-mode-resources/test-indent.css: ...to here.

2020-09-10  Stefan Kangas  <stefan@marxist.se>

	Mark some tests as expensive

	* test/lisp/autorevert-tests.el
	(auto-revert-test00-auto-revert-mode)
	(auto-revert-test03-auto-revert-tail-mode)
	(auto-revert-test04-auto-revert-mode-dired):
	* test/lisp/cedet/semantic-utest-c.el
	(semantic-test-c-preprocessor-simulation):
	* test/lisp/cedet/srecode-utest-getset.el
	(srecode-utest-getset-output):
	* test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
	* test/lisp/emacs-lisp/package-tests.el
	(package-test-update-archives-async):
	* test/lisp/filenotify-tests.el (file-notify-test03-events)
	(file-notify-test04-autorevert)
	(file-notify-test05-file-validity, file-notify-test08-backup):
	* test/lisp/net/gnutls-tests.el (test-gnutls-005-aead-ciphers):
	* test/lisp/shadowfile-tests.el (shadow-test00-clusters)
	(shadow-test09-shadow-copy-files):

2020-09-10  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in mml-sec-tests.el

	* test/lisp/gnus/mml-sec-tests.el: Use lexical-binding.
	(mml-secure-test-mail-fixture)
	(mml-secure-test-en-decrypt-with-passphrase): Fix warnings.

2020-09-10  Stefan Kangas  <stefan@marxist.se>

	* test/lisp/org/org-tests.el: Use lexical-binding.

2020-09-10  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in url-future-tests.el

	* test/lisp/url/url-future-tests.el: Use lexical-binding.
	(url-future-tests--saver): New variable.
	(url-future-tests): Use new variable.

2020-09-10  Stefan Kangas  <stefan@marxist.se>

	Use lexical-binding in semantic-utest-c.el

	* test/lisp/cedet/semantic-utest-c.el: Use lexical-binding.
	(semantic-test-gcc-output-parser): Fix warning.

2020-09-10  Michael Albinus  <michael.albinus@gmx.de>

	Implement D-Bus properties with compound type.

	* lisp/net/dbus.el (dbus-set-property): Fix thinko.
	(dbus-register-property, dbus-property-handler): Support compound
	properties.

	* src/dbusbind.c (dbus-registered-objects-table): Fix docstring.

	* test/lisp/net/dbus-tests.el (dbus--test-interface): Make it
	different to `dbus--test-service'.
	(dbus-test05-register-property)
	(dbus-test05-register-property-several-paths): Adapt tests.

2020-09-10  Nick Savage  <nick@nicksavage.ca>  (tiny change)

	Open describe-function NEWS links in view-mode

	* lisp/help-mode.el (help-news): Open describe-function NEWS links in
	view-mode (Bug#39912)

2020-09-10  Alex Bochannek  <alex@bochannek.com>  (tiny change)

	Fix up < and > "date" scoring rules in Gnus

	* lisp/gnus/gnus-score.el (gnus-score-date): The previous < and >
	"date" scoring rules (added in the previous patch) had reversed
	logic (bug#43270).

2020-09-10  Mauro Aranda  <maurooaranda@gmail.com>

	Fix :match function for the file widget

	* lisp/wid-edit.el (file widget): Return nil if value is not a
	string (bug#25678).

2020-09-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert back to using ESC as viper-ESC-key again

	* lisp/emulation/viper-keym.el (viper-ESC-key): Revert back to
	using ESC instead of `escape' (bug#18182).  This allows using
	`C-[' again on terminals for ESC.  The key should be mapped back
	to `escape' by `function-key-map'.

2020-09-10  Andrew G Cohen  <cohen@andy.bu.edu>

	Fix new summary-line after editing an article in Gnus

	* lisp/gnus/gnus-sum.el (gnus-summary-edit-article-done): Strip ^M
	from the ends of lines after saving an edited article. Otherwise the
	new header isn't always parsed properly, resulting in an incorrect
	subject line in the summary buffer.

2020-09-10  Andrea Corallo  <akrl@sdf.org>

	Guard against trying to rename files into eln sys directory

	* src/comp.c (file_in_eln_sys_dir): New function.
	(Fnative_elisp_load): Make use of.

2020-09-10  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-09-10  Andrea Corallo  <akrl@sdf.org>

	Fix rename file error when reloading the same file from an sys eln dir.

	* src/comp.c (Fnative_elisp_load): Don't rename files we don't
	have the permission for.

2020-09-10  Andrea Corallo  <akrl@sdf.org>

	Revert "* src/comp.c (Fcomp__compile_ctxt_to_file): Don't cleanup caches at bootstrap."

	This reverts commit 15acd27d1c0de8b56bab61daa0a8fcd4fef0fdc4.

2020-09-10  Amin Bandali  <bandali@gnu.org>

	Set `generated-autoload-file' in erc-status-sidebar.el

	* lisp/erc/erc-status-sidebar.el: Set `generated-autoload-file' to
	ERC's dedicated "erc-loaddefs.el", since we don't need this file's
	autoloaded functions to be available before ERC itself is loaded.

2020-09-09  Kiso Katsuyuki  <katsuyuki2388@gmail.com>  (tiny change)

	Introduce a new variable tab-line-switch-cycling

	If it is set t, enable cycling tab switch.  Default is nil.

2020-09-09  Kiso Katsuyuki  <katsuyuki2388@gmail.com>  (tiny change)

	Suppress errors of tab-line-switch functions

	Target errors occurs when tab-line-switch-to-prev-tab or
	tab-line-switch-to-next-tab is invoked in a buffer which is not in
	tabs

2020-09-09  João Távora  <joaotavora@gmail.com>

	Fix up fix for bug#19032

	* lisp/icomplete.el (icomplete-ret): Call
	minibuffer-icomplete-and-exit, not minibuffer-exit.

2020-09-09  Stefan Kangas  <stefan@marxist.se>

	Minor clean ups and doc fixes in find-dired

	* lisp/find-dired.el (find-ls-option, find-dired): Doc fixes.
	(find-dired, kill-find): Minor clean ups.

2020-09-09  Stefan Kangas  <stefankangas@gmail.com>

	Make flyspell-prog-text-faces into defcustom

	* lisp/textmodes/flyspell.el (flyspell-prog-text-faces):
	Make into defcustom.  (Bug#32136)

2020-09-09  Naoya Yamashita  <conao3@gmail.com>

	Add gv-define-expander for plist-get

	It is necessary to make plist-get as a generalized variable, and this
	definition allows user to use setf and other useful functions on
	plist-get.

	* lisp/emacs-lisp/gv.el: Add gv-define-expander for plist-get

	* test/lisp/emacs-lisp/gv-tests.el: Add new tests for plist-get

2020-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/dnd.el: Use lexical-binding.  Remove redundant :group

	(dnd--unescape-uri): Mark it internal, but don't mark it inlinable.

	* lisp/cus-edit.el (dnd): Move the group to dnd.el.

2020-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	(define-minor-mode): Don't compute a default :group (bug#41145)

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Rely on the
	`defcustom`s own defaulting for the :group.

	* lisp/display-fill-column-indicator.el
	(global-display-fill-column-indicator-mode): Remove now redundant :group.

	* lisp/cus-dep.el (custom--get-def): New function.
	(custom-make-dependencies): Use it.

2020-09-09  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp doc

	* doc/misc/tramp.texi (Remote shell setup):
	Mention password-word-equivalents.

	* lisp/net/tramp.el (tramp-password-prompt-regexp): Fix docstring.

2020-09-09  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	366a97c980 (origin/emacs-27) Avoid crashes when trying to load bad GI...
	7938713105 C++ Mode: handle comma separated brace initializers.
	2b95300cf8 * lisp/display-fill-column-indicator.el: Fix bug#41145

2020-09-09  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	9b35b0c99c ; * lisp/man.el (Man-mode): Fix formatting.
	abca75d2e9 ; Fix typos; change "Emacs-Lisp" to "Emacs Lisp"

2020-09-09  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	302f71e55d Fix help message with help-window-select
	0fb3fc92b3 Remove obsolete "Wide Characters" section of Gnus manual

2020-09-09  Michael Albinus  <michael.albinus@gmx.de>

	Fix thinko in dbus.el

	* doc/misc/dbus.texi (Register Objects): Rename from "Receiving
	Method Calls".  Add reference to D-Bus API Design document.

	* lisp/net/dbus.el (dbus-managed-objects-handler): Fix thinko.

	* test/lisp/net/dbus-tests.el (dbus-test05-register-property)
	(dbus-test05-register-property-several-paths): Extend tests.

2020-09-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Add the (hopefully) correct debbugs header for patches

	* lisp/mail/emacsbug.el (submit-emacs-patch): Mark the submission
	as a patch.

2020-09-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Implement a new `submit-emacs-patch' command

	* doc/emacs/trouble.texi (Checklist): Mention the new command.

	* doc/lispref/intro.texi (Caveats): Ditto.

	* lisp/mail/emacsbug.el (emacs-bug--system-description): Factor
	out into own function.
	(report-emacs-bug): ... from here.
	(submit-emacs-patch): New command.

2020-09-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the button navigation commands available via a minor mode

	* lisp/button.el (button-mode): New minor mode.

	* doc/lispref/display.texi (Button Buffer Commands): Mention it.

2020-09-09  Andrew G Cohen  <cohen@andy.bu.edu>

	Make Gnus cache work with nnselect

	* lisp/gnus/gnus-cache.el (gnus-cache-possibly-enter-article)
	(gnus-cache-possibly-remove-articles)
	(gnus-cache-possibly-remove-article): Use originating article info for
	nnselect groups.

2020-09-09  Andrew G Cohen  <cohen@andy.bu.edu>

	Add Gnus function to make a persistent group from a search result

	* lisp/gnus/gnus-sum.el (gnus-summary-make-group-from-search): New
	command (bound to C-c C-p in summary buffers).
	* doc/misc/gnus.texi (What is nnir?): Document it. Correct previous
	errors.
	* etc/NEWS (Gnus): Mention it.

2020-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow DEFAULT in format-prompt to be a list

	* doc/lispref/minibuf.texi (Text from Minibuffer): Document it.

	* lisp/minibuffer.el (format-prompt): Allow DEFAULT to be a list
	(and use the first element).  This is how many of the prompting
	functions interpret their default parameters.

2020-09-08  Win Treese  <treese@acm.org>

	Fix crash from clicking on menu bar (bug#34762, bug#26982)

	* src/nsmenu.m (ns_update_menubar): Remove extraneous use of
	autorelease pool.

2020-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Use format-prompt in calls to read-from-minibuffer with default value"

	This reverts commit 1921d2176bb9127d2483a1c8a470abfc3f4eec33.

	The DEFAULT-VALUE here isn't really a default value (since READ is nil), so
	don't say there's a default.

2020-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string update for tramp-password-prompt-regexp

	* lisp/net/tramp.el (tramp-password-prompt-regexp): Mention
	password-word-equivalents in the doc string.

2020-09-08  Daniel Martín  <mardani29@yahoo.es>

	Use mouse-wheel-up-event in mwheel-tests.el

	Enabling mouse-wheel-mode binds two different mouse events, depending
	on the operating system. The correct way to check for those events is
	by checking mouse-wheel-up-event, as explained in the ELisp manual.

	* test/lisp/mwheel-tests.el (mwheel-test-enable/disable): Check
	mouse-wheel-up-event instead of mouse-4 to make the test work
	irrespective of the platform it's running.

2020-09-08  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes when trying to load bad GIF files

	* src/image.c (gif_load): Handle the case when GifErrorString
	returns NULL.  (Bug#43281)

2020-09-08  Glenn Morris  <rgm@gnu.org>

	Skip failing cperl test on hydra

	* test/lisp/progmodes/cperl-mode-tests.el (cperl-mode-test-bug-10483):
	Skip on hydra.nixos.org.

2020-09-08  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Add D-Bus changes.

2020-09-08  Michael Albinus  <michael.albinus@gmx.de>

	Implement typed D-Bus properties (Bug#43252)

	* doc/misc/dbus.texi (Properties and Annotations)
	(Receiving Method Call): Document optional type symbol in
	`dbus-set-property' and `dbus-register-property'.

	* lisp/net/dbus.el (dbus-error-unknown-interface)
	(dbus-error-unknown-method, dbus-error-unknown-object)
	(dbus-error-unknown-property): New defconsts.
	(dbus-peer-handler): Improve error handling.
	(dbus-introspect-get-signature): Handle also properties.
	(dbus-set-property, dbus-register-property): Allow optional TYPE
	symbol for VALUE.  (Bug#43252)
	(dbus-property-handler): Implement property types.  Improve error
	handling.

	* src/dbusbind.c (dbus-message-internal, dbus-registered-objects-table):
	Fix docstring.

	* test/lisp/net/dbus-tests.el (dbus-test05-register-property):
	Extend test.
	(dbus-test05-register-property-several-paths): New test.

2020-09-08  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (Fcomp__compile_ctxt_to_file): Don't cleanup caches at bootstrap.

2020-09-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Explain in the tab-always-indent doc how to make TAB insert a TAB"

	This reverts commit 4b2371631167e509668b6268334e324fdd2f0327.

	overriding-terminal-local-map should apparently not be used for minor stuff like this.

2020-09-08  Alex Bochannek  <alex@bochannek.com>

	Introduce a new Gnus scoring method (for article age)

	* doc/misc/gnus.texi (Score File Format): Document it.

	* lisp/gnus/gnus-score.el (gnus-score-check-syntax): Add support
	for the new date methods < and > (bug#43270).
	(gnus-score-date): Allow scoring on dates by age.

2020-09-08  João Távora  <joaotavora@gmail.com>

	Change icomplete-show-matches-on-no-input behavior for Icomplete only

	(Bug#19032), bug#43120

	Previous fixes to bug#19032 introduced bugs in Fido mode.  This fix
	relies on a new command bound to RET.

	* etc/NEWS (Miscellaneous): Mention icomplete-show-matches-on-no-input.

	* lisp/icomplete.el (icomplete-show-matches-on-no-input): Add comment.
	(icomplete-minibuffer-map): Rebind minibuffer-complete-and-exit to
	icomplete-ret.
	(icomplete-ret): New command.

2020-09-08  João Távora  <joaotavora@gmail.com>

	Revert two commits for bug#19032

	This reverts:

	- commit 585fe00557489e49188b6a301f001ef01ff15dcb, which is titled
	  "Fix up previous icomplete-show-matches-on-no-input change"

	- commit 1b8d369c381b5a63e40529d0d95dfa75d94b8e09, which is titled
	  "Change icomplete-show-matches-on-no-input behavior".

	A simpler, less intrusive fix follows shortly after this commit.

2020-09-08  Amin Bandali  <bandali@gnu.org>

	* etc/NEWS: Mention the new erc-status-sidebar.el

	* lisp/erc/erc-status-sidebar.el: Fix header and make small tweaks

2020-09-08  Andrew Barbarello  <andrew.barbarello@outlook.com>

	* lisp/erc/erc-status-sidebar.el: New file

	Taken from commit 87210a3ccc16a86e6b5992744b68daabed3b2d11
	of https://github.com/drewbarbs/erc-status-sidebar.

2020-09-08  Andrea Corallo  <akrl@sdf.org>

	Name temp eln files as .eln.tmp so we can't clean-up them mistakenly.

	* src/comp.c (Fcomp__compile_ctxt_to_file): Postfix temporary eln
	files as .eln.tmp.

2020-09-07  Andrea Corallo  <akrl@sdf.org>

	Do not crash compilation if user eln-cache wasn't already created.

	* lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Guard
	against calling `directory-files' on non existent directories.

2020-09-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Use format-prompt in read-file-name calls that have a default

	* lisp/xwidget.el (xwidget-webkit-save-as-file):
	* lisp/vc/vc.el (vc-backend-for-registration, vc-delete-file)
	(vc-rename-file):
	* lisp/vc/ediff-ptch.el (ediff-prompt-for-patch-file):
	* lisp/vc/diff-mode.el (diff-tell-file-name):
	* lisp/progmodes/etags.el (visit-tags-table)
	(visit-tags-table-buffer):
	* lisp/misearch.el (multi-isearch-read-files):
	* lisp/mail/rmailmm.el (rmail-mime-save):
	* lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
	* lisp/gnus/gnus-bookmark.el (gnus-bookmark-load):
	* lisp/files.el (write-file, basic-save-buffer):
	* lisp/dired.el (dired-read-dir-and-switches):
	* lisp/bookmark.el (bookmark-save, bookmark-load):
	* lisp/abbrev.el (write-abbrev-file, abbrev-edit-save-to-file):
	Use format-prompt in read-file-name calls that have a default.

2020-09-07  Reuben Thomas  <rrt@sc3d.org>

	Fix Enchant dictionary finding routine

	* lisp/textmodes/ispell.el (ispell-find-enchant-dictionaries): Don’t
	  pass `buffer-string' to enchant-lsmod. Remove zero-length substrings
	  from the split output of `enchant-lsmod`, as the output ends with a
	  separator. Pass the current language to
	  `ispell--get-extra-word-characters', so we get the result for the
	  current language, not the default language. (Patch from Jorge P. de
	  Morais Neto.)

2020-09-07  Juri Linkov  <juri@linkov.net>

	* lisp/char-fold.el (char-fold-to-regexp): Handle lax-whitespace (bug#38539)

2020-09-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix test failure in custom--test-theme-variables

	* test/lisp/custom-tests.el (custom--test-theme-variables): "make
	check" in the main directory didn't work because the path was
	wrong.  Use EMACS_TEST_DIRECTORY to find the test directory
	instead.

2020-09-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Require ert in the cperl tests, since it's reloading itself

2020-09-07  Viktor Slavkovikj  <zhtvk@gmx.com>  (tiny change)

	Use auth-source for passwords in rmail

	* lisp/mail/rmail.el (rmail-get-remote-password): Use auth-source for
	passwords (bug#24274).
	(rmail-parse-url): Pass in user/host.

2020-09-07  Daniel Martín  <mardani29@yahoo.es>  (tiny change)

	Add support for horizontal scrolling in tab-line

	* lisp/tab-line.el ([tab-line wheel-left]): Bind left and right tab
	line scrolling to the 'wheel-left' and 'wheel-right' mouse events.
	([tab-line S-wheel-right]): Analogous change for the functions that
	switch tabs.
	* etc/NEWS: Announce the new feature (bug#43224).

2020-09-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Show the status of signed + encrypted S/MIME messages in Gnus

	* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Use the
	data to tell the caller (i.e., Gnus) something about the
	validation of signed + encrypted S/MIME messages.

	* lisp/gnus/mm-view.el (mm-view-pkcs7-verify): Pass along details
	about whether we could validate the signature or not (bug#42637).

2020-09-07  João Távora  <joaotavora@gmail.com>

	Better explain behavior of icomplete--sorted-completions

	* lisp/icomplete.el (icomplete--sorted-completions): Overhaul comment

2020-09-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove debugging code inadvertently checked in

	* lisp/gnus/gnus-fun.el (gnus-face-from-file): Remove debugging
	code inadvertently checked in.

2020-09-07  Andrew G Cohen  <cohen@andy.bu.edu>

	Add aliases for recent Gnus nnselect changes

	* lisp/org/ol-gnus.el (org-gnus-store-link): Change 'nnir to
	'nnselect.
	* lisp/gnus/gnus-group.el: Define obsolete function alias for
	'gnus-group-make-nnir-group to
	'gnus-group-read-ephemeral-search-group.
	* lisp/gnus/gnus-sum.el: Define obsolete variable alias for
	'gnus-refer-thread-use-nnir to 'gnus-refer-thread-use-search.
	* lisp/gnus/nnselect.el: Define obsolete variable alias for
	'nnir-retrieve-headers-override-function to
	'nnselect-retrieve-headers-override-function.
	* lisp/gnus/nnir.el: Restore definition of 'nnir-summary-line-format
	and mark obsolete.

2020-09-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Use variable-pitch fonts in the eww headers

	* lisp/net/eww.el (eww--limit-string-pixelwise)
	(eww--pixel-column): New functions.
	(eww-update-header-line-format): Use variable pitch fonts in the
	header line.

2020-09-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add edebug form to subr--with-wrapper-hook-no-warnings

	* lisp/subr.el (subr--with-wrapper-hook-no-warnings): Add a debug
	form to allow edebugging some stuff.

2020-09-07  Reuben Thomas  <rrt@sc3d.org>

	Add enchant-2 to list of default spelling checker programs

	* lisp/textmodes/ispell.el (ispell-program-name): Check `enchant-2',
	as it is likely to be a suitable version.

2020-09-07  Philip K  <philipk@posteo.net>

	Allow CSS completion with multiple rules on one line

	* lisp/textmodes/css-mode.el (css--complete-property-value): Check
	for semi-colon when completing property values (bug#43242).

2020-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Use format-prompt in some read-string calls

	* lisp/progmodes/prolog.el (prolog-help-on-predicate):
	* lisp/cmuscheme.el (scheme-trace-procedure):
	* lisp/calendar/todo-mode.el (todo-convert-legacy-files): Use
	format-prompt in some read-string calls (that have default values).

	* lisp/printing.el (pr-interactive-regexp): No need to use "" as
	the default value, because that's the default default value.
	(pr-interactive-n-up): Use read-number instead of read-string and
	then parsing the string.

2020-09-06  dickmao  <none>

	Make list-processes--refresh work for pipe processes, too

	* lisp/simple.el (list-processes--refresh): Don't bug out in the
	presence of a `pipe' process (bug#43202).

2020-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Use format-prompt in calls to read-from-minibuffer with default value

	* lisp/tab-bar.el (tab-bar-rename-tab)
	(tab-bar-rename-tab-by-name):
	* lisp/simple.el (next-matching-history-element): Use
	format-prompt in calls to read-from-minibuffer with at default
	value.

2020-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Use format-prompt in read-string calls (that have default values)

	* lisp/vc/vc-annotate.el (vc-annotate):
	* lisp/vc/log-edit.el (log-edit-comment-search-backward)
	(log-edit-comment-search-forward):
	* lisp/textmodes/rst.el (rst-insert-list-new-item):
	* lisp/server.el (server-force-delete):
	* lisp/mpc.el (mpc):
	* lisp/frame.el (set-frame-name):
	* lisp/emulation/cua-rect.el (cua-sequence-rectangle):
	* lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
	* lisp/calendar/todo-mode.el (todo-read-time): Use `format-prompt'
	in `read-string' calls that have defaults.

2020-09-06  Stefan Kangas  <stefankangas@gmail.com>

	Add autoload cookie to eshell-bookmark-jump

	* lisp/eshell/esh-mode.el (eshell-bookmark-jump): Add autoload
	cookie, so we can jump to bookmarks before having used eshell.
	Problem noted by Stefan Monnier.

2020-09-06  Michael Albinus  <michael.albinus@gmx.de>

	More work on D-Bus error messages

	* lisp/net/dbus.el (dbus-get-property): Adapt docstring.
	(dbus-set-property): Handle case of `:write' access type.
	(dbus-get-other-registered-properties): Rename from
	`dbus-get-other-registered-property'.
	(dbus-property-handler): Fix thinkos.

	* src/dbusbind.c (xd_read_message_1): Add error_name to event args
	in case of DBUS_MESSAGE_TYPE_ERROR.

	* test/lisp/net/dbus-tests.el (dbus--test-enabled-session-bus)
	(dbus--test-enabled-system-bus): Make them defconst.
	(dbus--test-service, dbus--test-path, dbus--test-interface):
	New defconst.  Replace all occurrences of `dbus-service-emacs' by
	`dbus--test-service'.
	(dbus--test-method-handler): New defun.
	(dbus-test04-register-method, dbus-test05-register-property): New tests.

2020-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Use format-prompt in calls to completing-read with a default value

	* lisp/textmodes/rst.el (rst-insert-list-new-item):
	* lisp/tab-bar.el (tab-bar-switch-to-tab):
	* lisp/profiler.el (profiler-start):
	* lisp/frame.el (set-frame-font):
	* lisp/erc/erc.el (erc-join-channel):
	* lisp/emacs-lock.el (emacs-lock--set-mode):
	* lisp/emacs-lisp/elp.el (elp-set-master):
	* lisp/emacs-lisp/checkdoc.el ()
	(checkdoc-this-string-valid-engine):
	* lisp/calendar/todo-mode.el (todo-find-filtered-items-file):
	* lisp/calendar/calendar.el (calendar-set-date-style): Use
	`format-prompt' in calls to completing-read that has a default
	value, but didn't mention that in the prompt.

2020-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Use a popup menu for <select>s in eww

	* lisp/net/eww.el (eww-change-select): Use a popup menu for the
	select (bug#43218).
	(eww--form-items): New utility function.
	(eww-select-map): Allow using a mouse to click on select buttons.

2020-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Disable display-warning buttons when doing batch compiles

	* lisp/emacs-lisp/warnings.el (display-warning): Don't output the
	buttons when we're not interactive (bug#43244).

2020-09-06  Andrea Corallo  <akrl@sdf.org>

	* src/data.c (subr-native-lambda-list): Defined it unconditionally (bug#43255)

	* src/comp.c (Fcomp__compile_ctxt_to_file): Rename a variable.

2020-09-06  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (Fnative_elisp_load): Make recompilation always effective.

	When loading a file if in this session there was ever a file loaded
	with that name rename it before loading it to make sure we always get
	a new handle from the standard library.

2020-09-06  Andrea Corallo  <akrl@sdf.org>

	Rework eln deletion strategy for new eln-cache folder structure

	When recompiling remove the corresponding stale elns found in the
	`comp-eln-load-path'.

	When removing a package remove the corresponding elns too.

	On Windows both of these are performed only when possible, when it's
	not the file is renamed as .eln.old and a last attempt to remove this
	is performed closing the Emacs session.  When a file being deleted was
	loaded by multiple Emacs sessions the last one being closed should
	delete it.

	* lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): New function.
	(comp-delete-or-replace-file): Rename from
	`comp--replace-output-file' and update so it can be used for
	replacing or deleting shared libs safely.

	* lisp/emacs-lisp/package.el (package--delete-directory): When
	native compiled just call `comp-clean-up-stale-eln' for each
	eln file we want to clean-up.

	* src/alloc.c (cleanup_vector): Call directly the dynlib_close.

	* src/comp.c (syms_of_comp): Update for comp_u->cfile removal.
	Make 'all_loaded_comp_units_h' key-value weak as now the key will
	be the filename.
	(load_comp_unit): Register the compilation unit only when the load
	is fully completed.
	(register_native_comp_unit): Make the key of
	all_loaded_comp_units_h the load filename.
	(eln_load_path_final_clean_up): New function.
	(dispose_comp_unit)
	(finish_delayed_disposal_of_comp_units)
	(dispose_all_remaining_comp_units)
	(clean_package_user_dir_of_old_comp_units): Remove.
	(Fcomp__compile_ctxt_to_file): Update for
	`comp--replace-output-file' -> `comp-delete-or-replace-file'
	rename.

	* src/comp.h (dispose_comp_unit)
	(finish_delayed_disposal_of_comp_units)
	(dispose_all_remaining_comp_units)
	(clean_package_user_dir_of_old_comp_units): Remove.
	(eln_load_path_final_clean_up): Add.
	(struct Lisp_Native_Comp_Unit): Remove cfile field.

	* src/emacs.c (Fkill_emacs): Call 'eln_load_path_final_clean_up'.

	* src/pdumper.c (dump_do_dump_relocation): Do not set comp_u->cfile.

2020-09-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix formatting of recent Gnus nnselect changes

	* doc/misc/gnus.texi (Finding the Parent, Selection Groups)
	(Searching, Basic Usage): Heed sentence-end-double-space.  Fix
	formatting of prose and examples.
	* etc/NEWS: Fix typo.
	* lisp/gnus/gnus-srvr.el: Remove disabled autoload.
	* lisp/gnus/gnus-cloud.el (gnus-cloud-available-chunks):
	* lisp/gnus/gnus-group.el (gnus-group-read-ephemeral-search-group):
	* lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search)
	(gnus-summary-refer-thread):
	* lisp/gnus/gnus.el (gnus-kill-ephemeral-group):
	* lisp/gnus/nnheader.el (nnheader-head-make-header)
	(nnheader-parse-head):
	* lisp/gnus/nnir.el:
	(nnir-hyrex-remove-prefix, nnir-run-notmuch):
	* lisp/gnus/nnselect.el: Fix formatting/indentation of commentary,
	docstring, and/or code.

2020-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Use `format-prompt' when prompting with default values

	* lisp/woman.el (woman-file-name):
	* lisp/wid-edit.el (widget-file-prompt-value)
	(widget-coding-system-prompt-value):
	* lisp/w32-fns.el (w32-set-system-coding-system):
	* lisp/vc/vc.el (vc-print-root-log):
	* lisp/vc/vc-annotate.el (vc-annotate):
	* lisp/vc/emerge.el (emerge-read-file-name):
	* lisp/vc/ediff.el (ediff-directories)
	(ediff-directory-revisions, ediff-directories3)
	(ediff-merge-directories, )
	(ediff-merge-directories-with-ancestor)
	(ediff-merge-directory-revisions)
	(ediff-merge-directory-revisions-with-ancestor)
	(ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
	(ediff-revision):
	* lisp/vc/ediff-util.el (ediff-toggle-regexp-match):
	* lisp/vc/ediff-mult.el (ediff-filegroup-action):
	* lisp/vc/add-log.el (prompt-for-change-log-name):
	* lisp/textmodes/table.el (table-insert-row-column)
	(table-span-cell, table-split-cell-horizontally)
	(table-split-cell, table-justify, table-generate-source)
	(table-insert-sequence, table-capture)
	(table--read-from-minibuffer, table--query-justification):
	* lisp/textmodes/sgml-mode.el (sgml-tag, sgml-tag-help):
	* lisp/textmodes/reftex-ref.el (reftex-goto-label):
	* lisp/textmodes/refer.el (refer-get-bib-files):
	* lisp/textmodes/css-mode.el (css-lookup-symbol):
	* lisp/term.el (serial-read-name, serial-read-speed):
	* lisp/speedbar.el (speedbar-change-initial-expansion-list):
	* lisp/simple.el (previous-matching-history-element)
	(set-variable):
	* lisp/ses.el (ses-read-cell, ses-set-column-width):
	* lisp/replace.el (query-replace-read-from)
	(occur-read-primary-args):
	* lisp/rect.el (string-rectangle, string-insert-rectangle):
	* lisp/progmodes/tcl.el (tcl-help-on-word):
	* lisp/progmodes/sh-script.el (sh-set-shell):
	* lisp/progmodes/python.el (python-eldoc-at-point):
	* lisp/progmodes/octave.el (octave-completing-read)
	(octave-update-function-file-comment, octave-insert-defun):
	* lisp/progmodes/inf-lisp.el (lisp-symprompt):
	* lisp/progmodes/cperl-mode.el (cperl-info-on-command)
	(cperl-perldoc):
	* lisp/progmodes/compile.el (compilation-find-file):
	* lisp/net/rcirc.el (rcirc-prompt-for-encryption):
	* lisp/net/eww.el (eww):
	* lisp/net/browse-url.el (browse-url-with-browser-kind):
	* lisp/man.el (man):
	* lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
	* lisp/mail/mailalias.el (build-mail-aliases):
	* lisp/mail/mailabbrev.el (merge-mail-abbrevs)
	(rebuild-mail-abbrevs):
	* lisp/locate.el (locate-prompt-for-search-string):
	* lisp/isearch.el (isearch-occur):
	* lisp/international/ogonek.el (ogonek-read-encoding)
	(ogonek-read-prefix):
	* lisp/international/mule.el (read-buffer-file-coding-system)
	(set-terminal-coding-system, set-keyboard-coding-system)
	(set-next-selection-coding-system, recode-region):
	* lisp/international/mule-cmds.el ()
	(universal-coding-system-argument, search-unencodable-char)
	(select-safe-coding-system-interactively):
	* lisp/info.el (Info-search, Info-search-backward, Info-menu):
	* lisp/info-look.el (info-lookup-interactive-arguments):
	* lisp/imenu.el (imenu--completion-buffer):
	* lisp/ibuf-ext.el (mode, used-mode, ibuffer-mark-by-mode):
	* lisp/hi-lock.el (hi-lock-unface-buffer)
	(hi-lock-read-face-name):
	* lisp/help.el (view-emacs-news, where-is):
	* lisp/help-fns.el (describe-variable, describe-symbol)
	(describe-keymap):
	* lisp/gnus/mm-decode.el (mm-save-part):
	* lisp/gnus/gnus-sum.el (gnus-summary-browse-url):
	* lisp/gnus/gnus-group.el (gnus-group--read-bug-ids)
	(gnus-group-set-current-level):
	* lisp/frame.el (make-frame-on-monitor)
	(close-display-connection, select-frame-by-name):
	* lisp/format.el (format-encode-buffer, format-encode-region):
	* lisp/files.el (recode-file-name):
	* lisp/files-x.el (read-file-local-variable)
	(read-file-local-variable-value, )
	(read-file-local-variable-mode):
	* lisp/ffap.el (ffap-menu-ask):
	* lisp/faces.el (face-read-string):
	* lisp/facemenu.el (facemenu-set-charset):
	* lisp/erc/erc-dcc.el (erc-dcc-do-GET-command):
	* lisp/emulation/edt-mapper.el (edt-mapper):
	* lisp/emacs-lisp/trace.el (trace--read-args)
	(trace-function-foreground, trace-function-background):
	* lisp/emacs-lisp/smie.el (smie-config-set-indent):
	* lisp/emacs-lisp/re-builder.el (reb-change-syntax):
	* lisp/emacs-lisp/package.el (describe-package):
	* lisp/emacs-lisp/find-func.el (read-library-name)
	(find-function-read):
	* lisp/emacs-lisp/ert.el (ert-read-test-name)
	(ert-run-tests-interactively):
	* lisp/emacs-lisp/disass.el (disassemble):
	* lisp/emacs-lisp/debug.el (debug-on-entry)
	(debug-on-variable-change):
	* lisp/emacs-lisp/advice.el (ad-read-advised-function)
	(ad-read-advice-class, ad-read-advice-name, ad-read-regexp):
	* lisp/dired-x.el (dired--mark-suffix-interactive-spec):
	* lisp/dired-aux.el (dired-diff):
	* lisp/cus-edit.el (custom-variable-prompt, customize-mode)
	(customize-changed-options):
	* lisp/completion.el (interactive-completion-string-reader):
	* lisp/calendar/timeclock.el (timeclock-ask-for-project):
	* lisp/calc/calcalg3.el (calc-get-fit-variables):
	* lisp/calc/calc-store.el (calc-edit-variable):
	* lisp/calc/calc-bin.el (calc-word-size):
	* lisp/bookmark.el (bookmark-set-internal):
	* lisp/abbrev.el (read-abbrev-file): Use `format-prompt' for
	prompting (bug#12443).

2020-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make C-h S in Customize buffers work more reliably

	* lisp/cus-edit.el (custom-unlispify-menu-entry): Put a property
	on the returned string so that we can determine what the symbol
	was after the fact.

	* lisp/info-look.el (info-lookup-guess-default*): Allow lambda
	forms as rules.
	(:mode): Use the stored symbol.
	(info-lookup-guess-custom-symbol): No longer used; mark as
	obsolete (bug#41905).

2020-09-06  João Távora  <joaotavora@gmail.com>

	Don't resort Icomplete candidates when default already on top

	(Bug#43222)

	Icomplete mode re-sorts candidates, bubbling the default to top if
	it's found somewhere down the list.  This is done according to two
	criteria: exact match and prefix match.  Before this fix, it didn't
	take into account the possibility that the exact match for the default
	would already be on top, and would incorrectly bubble a prefixing
	completion down the list to the top.  This commit fixes that.

	* lisp/icomplete.el (icomplete--sorted-completions):
	Rework. Recomment.

2020-09-06  Andrea Corallo  <akrl@sdf.org>

	Makefile.in (ELN_DESTDIR): Add ${version}/ to it.

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	EUDC: Reword macOS Contacts back end overview

	* doc/misc/eudc.texi (macOS Contacts): Shorten section.

2020-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	EUDC: Fix a minor formatting issue

	* lisp/net/eudcb-macos-contacts.el
	(eudc-macos-contacts-query-internal): Move result to its own line
	to eliminate a lisp-mode warning.

2020-09-06  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-09-05 verify: avoid __builtin_assume
	2020-08-30 strerrorname_np: New module
	2020-08-26 include_next, stdint, time_rz: Change configure message
	* lib/gnulib.mk.in: Regenerate.
	* lib/string.in.h, lib/verify.h, m4/include_next.m4, m4/stdint.m4:
	* m4/string_h.m4, m4/time_rz.m4: Copy from Gnulib.

2020-09-06  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/svg.el: Bump package version to 1.1.

2020-09-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix eww-change-select defaults in a different way

	* lisp/net/eww.el (eww-change-select): Fix bug#43218 in a more
	safe way than the previous version.

2020-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous icomplete-show-matches-on-no-input change

	* lisp/icomplete.el (icomplete-completions): Ensure that the
	default value is cleared (bug#43120).

2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>

	Reinstall recent GC-related changes

	The report that they broke macOS was a false alarm, as the
	previous commit was also broken (Bug#43152#62).
	* src/alloc.c (live_string_holding, live_cons_holding)
	(live_symbol_holding):
	Count only pointers that point to a struct component,
	or are a tagged pointer to the start of the struct.
	Exception: for non-bool-vector pseudovectors,
	count any pointer past the header, since it’s too much
	of a pain to write code for every pseudovector.
	(live_float_holding, live_vector_pointer):
	New functions, which are similar about counting pointers.
	(live_float_p, live_large_vector_holding)
	(live_small_vector_pointer, mark_maybe_pointer): Use them.
	(mark_maybe_object, mark_maybe_objects): Remove,
	and remove all callers; mark_maybe_pointer now suffices.
	(mark_objects): New function.
	* src/alloc.c (mark_vectorlike, mark_face_cache):
	* src/eval.c (mark_specpdl):
	* src/fringe.c (mark_fringe_data):
	* src/keyboard.c (mark_kboards):
	Simplify by using mark_objects.
	* src/lisp.h (SAFE_ALLOCA_LISP_EXTRA):
	Clear any Lisp_Object arrays large enough to not fit into the stack,
	so that GC need not worry about whether they contain objects.

2020-09-05  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-test30-make-process

	* test/lisp/net/tramp-tests.el (tramp-list-tramp-buffers)
	(tramp-time-diff): Don't declare.
	(tramp-test30-make-process): Adapt test.

2020-09-05  Michael Albinus  <michael.albinus@gmx.de>

	Minor improvements in Tramp error reporting

	* lisp/net/tramp-cmds.el (tramp-bug):
	Handle `tramp-suppress-trace' property.
	(tramp-reporter-dump-variable): Improve variable dump.

	* lisp/net/tramp.el (tramp--startup-hook, tramp-password-save-function):
	Add `tramp-suppress-trace' property.

2020-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Display name with spaces, but keep symbol name underneath"

	This reverts commit e0c77bb62c1c950a82ea0517646d989dc5c1fe27.

	We can't use a string with a display string here, anyway, because
	it's used in other contexts.

2020-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "info-lookup-symbol: Fix the suggested default value in Custom buffers"

	This reverts commit ccae4ea6990580e7489e7c9f958b4a094b32b8b8.

	We can't use a string with a display string here, anyway, because
	it's used in other contexts.

2020-09-05  Mauro Aranda  <maurooaranda@gmail.com>

	info-lookup-symbol: Fix the suggested default value in Custom buffers

	* lisp/info-look.el (info-lookup-maybe-add-help 'Custom-mode): Don't
	pass info-lookup-guess-custom-symbol as the :parse-rule, since we
	don't need it anymore.  (Bug#41905)
	(info-lookup-guess-custom-symbol): Now unused, mark as obsolete.
	(info-lookup-interactive-arguments): Get rid of text properties before
	passing the default value to completing-read.

2020-09-05  Lucas Werkmeister  <mail@lucaswerkmeister.de>

	Mark sgml-basic-offset as safe for integers

	* lisp/textmodes/sgml-mode.el (sgml-basic-offset):
	Add :safe.  (Bug#43215)

2020-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Explain in the tab-always-indent doc how to make TAB insert a TAB

	* lisp/indent.el (tab-always-indent): Mention how to make TAB
	insert a TAB character always (bug#37183).

2020-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix default value in selects in eww

	* lisp/net/eww.el (eww-change-select): Make hitting RET with an
	empty string use a default (bug#43218).

2020-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix <optgroup> in selects in eww

	* lisp/net/eww.el (eww-tag-select): Use all the options.  This
	fixes the problem with <optgroup> elements that wrap them (bug#43217).

2020-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak how cperl-mode fontifies hashes and arrays

	* lisp/progmodes/cperl-mode.el (cperl-init-faces): Fontify hashes
	and arrays (%foo and @foo) before the keywords, since the keyword
	regexps are "wider" and the hash/array regexp just match those two
	things (bug#22867).

2020-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Protect compilation-auto-jump against code killing the buffer

	* lisp/progmodes/compile.el (compilation-auto-jump): Something may
	have killed the buffer before the timer fired (bug#24585).

2020-09-05  Mauro Aranda  <maurooaranda@gmail.com>

	Improve call to widget-create-child-and-convert in cus-edit

	* lisp/cus-edit.el (custom-variable-value-create): Pass tag as the
	:tag property value (bug#41905).

2020-09-05  ej-32u  <ej32u@protonmail.com>  (tiny change)

	Display name with spaces, but keep symbol name underneath

	* lisp/cus-edit.el (custom-unlispify-menu-entry): Display the
	pretty name, but keep the real symbol name as the value (bug#41905).

2020-09-05  Mauro Aranda  <maurooaranda@gmail.com>

	Preserve user customizations after disabling a theme

	* lisp/custom.el (enable-theme): Since we are enabling the theme, bind
	custom--inhibit-theme-enable to nil.  Then rely on custom-push-theme
	to do the right thing with the theme settings and prior user settings,
	instead of manipulating the property here.  This way, when disabling a
	theme, we restore user preferences, even when the values were changed
	outside of customize.
	(disable-theme): Call custom-push-theme instead of handling theme
	settings directly.
	(custom-push-theme): Avoid another instance of Bug#28904: we don't
	need the changed theme when the value recorded for it is going to be
	the same as the recorded for the user theme.

	* test/lisp/custom-tests.el (custom--test-theme-variables): Get rid of
	a portion of the test that will always fail, because the user theme
	has priority over every other theme.  Expect the test to pass now that
	we preserve user customizations after disabling a theme (bug#34027).

2020-09-05  Andrew G Cohen  <cohen@andy.bu.edu>

	Introduce nnselect backend for gnus

	This new backend allows gnus to handle arbitrary sets of messages
	spanning multiple groups, even when these groups are from different
	backends and different servers. All gnus glue is removed from
	nnir (leaving only the backend search functions) and gnus
	search-related processing is done through nnselect. In appropriate
	places 'nnir' has been replaced by 'nnselect' or 'search'.

	* etc/NEWS: Document the change.
	* doc/misc/gnus.texi: New  documentation for nnselect and update
	searching and thread-referral  sections.
	* lisp/gnus/nnselect.el: New file.
	* lisp/gnus/nnir.el: Remove all gnus glue, leaving only searching
	capability. Improve documentation strings.
	* lisp/gnus/gnus-group.el (gnus-group-read-ephemeral-search-group,
	gnus-group-make-search-group): New functions.
	* lisp/gnus/gnus-msg.el (gnus-setup-message, gnus-group-news,
	gnus-summary-news-other-window): Update to work for nnselect. Fix
	gnus-newsgroup-name wrangling.
	*lisp/gnus/gnus-registry.el
	(gnus-registry-action,gnus-registry-ignore-group-p): Make work from nnselect.
	* lisp/gnus/nnheader.el (nnheader-parse-head, nnheader-parse-nov):
	Rework and consolidate header parsing.
	* lisp/gnus/gnus-agent.el (gnus-agent-regenerate-group):
	* lisp/gnus/gnus-cache.el (gnus-possibly-enter-article):
	* lisp/gnus/gnus-cloud.el (gnus-cloud-available-chunks):
	* lisp/gnus/gnus-msg.el (gnus-inews-yank-articles):
	* lisp/gnus/gnus-sum.el (gnus-get-newsgroup-headers):
	* lisp/gnus/nndiary.el (nndiary-parse-head):
	* lisp/gnus/nnfolder.el (nnfolder-parse-head):
	* lisp/gnus/nnmaildir.el (nnmaildir--update-nov):
	* lisp/gnus/nnml.el (nnml-parse-head):
	* lisp/gnus/nnspool.el (nnspool-insert-nov-head):
	Use new header parsing.
	* lisp/gnus/gnus-start.el (gnus-read-active-for-groups): Rescan on
	activation by default.
	* lisp/gnus/gnus-sum.el (gnus-summary-line-format-alist): New specs
	for virtual groups.
	(gnus-article-sort-by-rsv, gnus-thread-sort-by-rsv):  New functions to
	allow sorting by search RSV.

2020-09-04  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	Don't move point in vc-dir on vc-register/vc-checkin (bug#43188)

	* lisp/vc/vc-dir.el (vc-dir-update):
	  Save and restore point on 'ewoc-invalidate'.
	* lisp/vc/vc-dispatcher.el (vc-finish-logentry):
	  Don't call 'vc-dir-move-to-goal-column'.
	* lisp/vc/vc.el (vc-register): Don't call 'vc-dir-move-to-goal-column'.

2020-09-04  Alan Mackenzie  <acm@muc.de>

	C++ Mode: handle comma separated brace initializers.

	This includes both indentation and fontification.

	* lisp/progmodes/cc-engine.el (c-do-declarators): Handle brace initializers
	without = correctly.
	(c-looking-at-or-maybe-in-bracelist): Use c-do-declarators with a simple
	inline function to check that after-type-id-pos points to the start of a
	declarator.

	* lisp/progmodes/cc-langs.el (c-recognize-bare-brace-inits): New lang
	const/variable.

2020-09-04  Andrea Corallo  <akrl@sdf.org>

	Rename and move eln system directory

	Rename eln sys directory into 'native-lisp' and move it from
	"$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}/" to
	"$(DESTDIR)${libdir}/emacs/".

	Add to the directory name used to disambiguate the eln compatibility
	the Emacs version to have it more user friendly.

	* Makefile.in (clean, install-eln): Rename eln-cache into
	native-lisp.
	(ELN_DESTDIR): Move from
	'$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}/' to
	'$(DESTDIR)${libdir}/emacs/'.

	* lisp/loadup.el: Update for comp-native-path-postfix ->
	comp-native-version-dir rename.

	* src/comp.c (syms_of_comp): Rename eln-cache -> native-lisp.
	(syms_of_comp, Fcomp_el_to_eln_filename): Rename
	comp-native-path-postfix -> comp-native-version-dir.
	(hash_native_abi): Rework and add emacs-version to
	comp-native-version-dir.

2020-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous manual mis-merge of dired-aux

	* lisp/dired-aux.el (dired-rename-file): Fix manual mis-merge of
	previous patch.

2020-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous LAMDA->LAMBDA patch

	* lisp/international/mule-cmds.el (ucs-names): Ensure we're only
	matching LAMDA as a word.  Noted by Stefan Monnier.

2020-09-04  Mauro Aranda  <maurooaranda@gmail.com>

	Do not remove unbound variables or faces when modifying a custom-theme

	* lisp/cus-theme.el (custom-theme-write-variables
	custom-theme-write-faces): Remove check for a bound symbol or for a
	face name, so saving a theme does not remove not yet defined variables
	or faces (bug#24727).

2020-09-04  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Add changes for D-Bus; fix typos.

2020-09-04  Michael Albinus  <michael.albinus@gmx.de>

	Extend dbus.el by error messages, and :write access type

	* doc/misc/dbus.texi (Receiving Method Calls): Describe how to
	produce D-Bus error messages.
	(Receiving Method Calls): Support :write access type.

	* lisp/net/dbus.el (dbus-error-dbus, dbus-error-failed)
	(dbus-error-access-denied, dbus-error-invalid-args)
	(dbus-error-property-read-only): New defconsts.
	(dbus-method-error-internal): Add arg ERROR-NAME.
	(dbus-register-method): Adapt docstring.
	(dbus-handle-event): Handle error messages returned from the handler.
	(dbus-get-this-registered-property)
	(dbus-get-other-registered-property): New defuns.
	(dbus-register-property): Support :write access type.
	(dbus-property-handler): Submit proper D-Bus error messages.
	Handle several paths at the same interface.

	* src/dbusbind.c (Fdbus_message_internal): Improve handling of
	DBUS_MESSAGE_TYPE_ERROR.

2020-09-04  Mauro Aranda  <maurooaranda@gmail.com>

	Document :type-error property for customization types

	* doc/lispref/customize.texi (Type Keywords): Document :type-error, so
	Lisp programs can display a more correct message when the value of a
	user option doesn't match its type (bug#23975).

2020-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/display-fill-column-indicator.el: Fix bug#41145

	(global-display-fill-column-indicator-mode): Specify the implicit
	defustom's group explicitly.

	* lisp/cus-dep.el (custom-make-dependencies): Also look at
	define(-globalized)-minor-mode since it can also define custom vars.

2020-09-04  Michael Albinus  <michael.albinus@gmx.de>

	Backport recent change in tramp-tests.el from master, don't merge

	* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
	No need to expect different results in Emacs 28 and later.

2020-09-04  Noam Postavsky  <npostavs@gmail.com>

	Allow "lambda" spelling for ucs-insert

	* lisp/international/mule-cmds.el (ucs-names): Add a "LAMBDA"
	completion variant for every "LAMDA" name (bug#30513).

2020-09-04  Robert Pluim  <rpluim@gmail.com>

	Show log suppression buttons in display-warning buffer

	* etc/NEWS: Describe 'display-warning' button change (bug#30757).
	* lisp/emacs-lisp/warnings.el (warning-suppress-warning):
	Define button.
	(warning-suppress-action): New function.
	(warning-suppress-log-warning): Define button.
	(warning-suppress-log-action): New function.
	(display-warning): Show buttons to allow permanent
	modification of warning-suppress-types and
	warning-suppress-log-types per warning.

2020-09-04  Tino Calancha  <tino.calancha@gmail.com>

	wdired-do-renames: Speed up for long Emacs sessions

	`dired-rename-file' calls unconditionally `dired-rename-subdir'.
	The second function performs a loop on all the Emacs
	buffers; this step is only needed if FILE is a directory (bug#32899).

	In a long lived Emacs session, this can make a difference
	when renaming a bunch of files with `wdired'.
	For instance, in my 40 days old Emacs session, with ~ 700 buffers,
	this patch increases the speed to rename 2000 files a factor ~ 15.

	* lisp/dired-aux.el (dired-rename-file): Call `dired-rename-subdir'
	if FILE is a directory.  Add docstring.
	(dired-rename-subdir, dired-remove-entry)
	(dired-remove-file): Add docstring.

	(dired-remove-entry): Move definition into `dired.el'.

	* lisp/wdired.el (wdired-do-renames): Use a progress-reporter.

	* lisp/dired.el (dired-delete-entry):
	Use `dired-remove-entry'.  Add docstring.

	(dired-buffers-for-dir, dired-fun-in-all-buffers):
	Change comment into docstring.
	(dired-fun-in-all-buffers): Prefer `when' and `push' here.

2020-09-04  Harald Jörg  <haj@posteo.de>

	Fix infloop when indenting in cperl-mode

	* lisp/progmodes/cperl-mode.el (cperl-indent-exp): Fix (Bug#10483)
	Perl expressions (e.g. function calls) ending in ")" without
	statement terminator on the same line no longer loop endlessly.

2020-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous buffer name fixup in save-some-buffers

	* lisp/files.el (save-some-buffers): Get the file name for the
	correct buffer in the buffer name check (bug#43192).

2020-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't display the Gnus splash on gnus-read-ephemeral-emacs-bug-group

	* lisp/gnus/gnus.el: Don't display the Gnus splash at load time
	(bug#43123).

2020-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/mspools.el: Use lexical-scoping.  Autoload `mspools-show`.

	(mspools-mode-map): Remove bindings made redundant by `special-mode-map`.
	(mspools-show): Autoload.  Use `erase-buffer`.
	(mspools-visit-spool): Use `inhibit-read-only`; simplify a bit.
	(mspools-get-spool-files): Avoid `setq`.  Use `pcase-dolist`.
	(mspools-revert-buffer): Make (unused) args optional.
	(mspools-help, mspools-show-again, mspools-quit): Declare obsolete.

2020-09-04  João Távora  <joaotavora@gmail.com>

	Fix ElDoc's eldoc-documentation-enthusiast strategy

	As soon as we get a response from any of the user functions/sources in
	eldoc-documentation-functions, we must make sure to call the
	display-doc local function, just like in the other strategies.

	That is even if that response produced nil, meaning that there's no
	doc coming from that source.  Failure to do so when none of the
	sources produced non-nil would keep stale documentation displaying.

	First reported in https://github.com/joaotavora/eglot/issues/503

	* lisp/emacs-lisp/eldoc.el (eldoc--invoke-strategy): Fix
	:enthusiast strategy.
	(Version): Bump to 1.10.0

2020-09-03  Harald Jörg  <haj@posteo.de>

	Fix freeze in cperl-mode when editing a regexp

	* lisp/progmodes/cperl-mode.el (cperl-forward-group-in-re): Make
	sure that an error is reported back to the caller (Bug#16368).

	* test/lisp/progmodes/cperl-mode-tests.el (cperl-mode-test-bug-16368):
	Tests for balanced (no error) and unbalanced (caught exception)
	cases of `cperl-forward-group-in-re'.

2020-09-03  Alan Third  <alan@idiocy.org>

	* configure.ac (GNU_OBJC_CFLAGS): Check ObjC defaults to C99. (bug#43167)

	* src/image.c (svg_load_image): Use xmalloc and xfree. (bug#43135)

2020-09-03  Paul Eggert  <eggert@cs.ucla.edu>

	Revert recent GC-related changes (Bug#43152)

	* src/alloc.c (live_string_holding, live_cons_holding)
	(live_symbol_holding, live_large_vector_holding)
	(live_small_vector_holding):
	Go back to old approach of treating every would-be pointer to any
	byte in the object (though not to just past the object end) as
	addressing the object.
	(live_float_p): Require that the would-be float point
	to the start of the Lisp_Float, and not anywhere else.
	(live_vector_pointer, live_float_holding, mark_objects):
	Remove.  All uses removed.
	(mark_maybe_object, mark_maybe_objects):
	Bring back these functions.
	* src/lisp.h (SAFE_ALLOCA_LISP_EXTRA): Do not clear the
	new slots, as they're now checked via mark_maybe_objects,
	not via mark_objects.

2020-09-03  Eli Zaretskii  <eliz@gnu.org>

	Fix 'expand-file-name' for remote files

	This reverts most of commit 14fb657ba82da346d36f05f88da26f1c5498b798
	and its followup fixes, and instead fixes the original bugs in a
	different manner that doesn't affect any unrelated use cases.  As
	part of this, the code which caused 'expand-file-name' to enforce
	a trailing slash on expanded directories is removed, as this kind
	of semantic processing is outside of 'expand-file-name's scope.
	* src/fileio.c (Fexpand_file_name): If expanding default_directory
	yields a remote file name, call its handlers.  (Bug#26911)
	(Bug#34834)

	* doc/lispref/files.texi (File Name Expansion): Remove the
	requirement that expanding a directory name yields a directory
	name, i.e. that the expansion must end in a slash.

	* etc/NEWS: Remove the announcement of the changed behavior of
	'expand-file-name' wrt trailing slashes.

	* test/src/fileio-tests.el (fileio-tests--HOME-trailing-slash)
	(fileio-tests--expand-file-name-trailing-slash): Remove tests.
	* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name): No
	need to expect different results in Emacs 28 and later.

2020-09-03  Stefan Kangas  <stefankangas@gmail.com>

	Fix my previous change to cancel world-clock timer

	* lisp/time.el (subr-x): Require when compiling.
	(world-clock): Set 'kill-buffer-hook' buffer locally only.
	(world-clock-update): Break out timer cancellation from here...
	(world-clock-cancel-timer): ...to here, and don't rely on variable to
	find the timer to cancel.
	(world-clock-timer): Delete now superfluous variable.

2020-09-03  Eli Zaretskii  <eliz@gnu.org>

	Fix vertical cursor motion when 'visual-line-mode' is in effect

	* src/xdisp.c (move_it_in_display_line_to): Fix a logic error made
	as part of introducing the 'word-wrap-by-category' feature; that
	error brought back bug#8155.

2020-09-03  João Távora  <joaotavora@gmail.com>

	Unbreak project.el, the GNU Elpa package, for Emacs 26.3

	(Bug#43164)

	* lisp/progmodes/project.el: Bump to 0.5.2
	(bound-and-true-p): Check that tab-prefix-map is bound before binding.

2020-09-03  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/eshell/esh-mode.el: Remove redundant :group args.

2020-09-03  Stefan Kangas  <stefankangas@gmail.com>

	Support bookmarking Eshell buffers

	* lisp/eshell/esh-mode.el (eshell-bookmark-name)
	(eshell-bookmark-make-record, eshell-bookmark-jump): New defuns.
	(eshell-mode): Set up bookmark handler.

2020-09-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug in dbus.el; do not merge with master

	* lisp/net/dbus.el (dbus-register-property)
	(dbus-property-handler): Handle properties of the same interface
	at different object paths properly.  (Bug#43146)

2020-09-03  Stefan Kangas  <stefankangas@gmail.com>

	Cancel timer when world-clock buffer is killed

	* lisp/time.el (world-clock-timer): New variable.
	(world-clock-cancel-timer): New defun.
	(world-clock): Add 'world-clock-cancel-timer' to 'kill-buffer-hook'.

2020-09-02  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in mwheel.el

2020-09-02  Stefan Kangas  <stefankangas@gmail.com>

	Simplify mwheel-mode by using alist instead of two variables

	* lisp/mwheel.el (mouse-wheel--remove-bindings): Update call
	signature to take no arguments.  Doc fix.
	(mouse-wheel--add-binding): Break out from...
	(mouse-wheel-mode): ...here.  Simplify by using above functions.
	(mouse-wheel--installed-bindings-alist): New variable.
	(mwheel-installed-bindings): Make obsolete.
	(mwheel-installed-text-scale-bindings): Make obsolete.
	* test/lisp/mwheel-tests.el (mwheel-test-enable/disable):
	New test.

2020-09-02  Stefan Kangas  <stefankangas@gmail.com>

	Fix binding mouse wheel with modifiers in buffer area

	* test/lisp/mwheel-tests.el (mwheel-test--create-scroll-keys): Fix
	binding mouse wheel with modifiers in buffer area, while ignoring them
	for fringes, margins, etc.  My previous change mistakenly ignored all
	modifiers in `mouse-wheel-scroll-amount'.
	* lisp/mwheel.el (mouse-wheel--create-scroll-keys): Fix test to
	reflect the above.

2020-09-02  Ulf Jasper  <ulf.jasper@web.de>

	Apply icalendar.el patch by Thomas Plass <thunk2@arcor.de>.  Fix bug#34315.

	* lisp/calendar/icalendar.el (icalendar--convert-tz-offset): No DST
	  when RDATE is present.
	* lisp/calendar/icalendar.el (icalendar--parse-vtimezone): Use
	  `icalendar--get-most-recent-observance'.
	* (icalendar--get-most-recent-observance): New.
	* (icalendar--decode-isodatetime): Add parameters source-zone, result-zone.
	* (icalendar--decode-isoduration): Fix decoding days.
	* test/lisp/calendar/icalendar-tests.el (icalendar--decode-isoduration):
	  Add testcases.

2020-09-02  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug in dbus.el

	* lisp/net/dbus.el (dbus-register-property)
	(dbus-property-handler): Handle properties of the same interface
	at different object paths properly.  (Bug#43146)

2020-09-02  Ulf Jasper  <ulf.jasper@web.de>

	Add unit tests for icalendar.el

	* test/lisp/calendar/icalendar-tests.el (icalendar--parse-vtimezone,
	  icalendar--decode-isodatetime): Add testcases.
	* test/lisp/calendar/icalendar-tests.el (icalendar--convert-tz-offset,
	  icalendar--decode-isoduration): New.

2020-09-02  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Handle different IMAP server responses to COPY and MOVE

	* lisp/gnus/nnimap.el (nnimap-request-move-article): Need to examine
	different parts of the result.

2020-09-02  Stefan Kangas  <stefankangas@gmail.com>

	Fix OBOE in flyspell-check-previous-highlighted-word

	* lisp/textmodes/flyspell.el
	(flyspell-check-previous-highlighted-word): Fix off-by-one error when
	word is at (point-min).  (Bug#39898)

	Suggested by OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>.

2020-09-02  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in pcmpl-unix.el

	* lisp/pcmpl-unix.el: Use lexical-binding.
	(pcmpl-ssh-known-hosts, pcmpl-ssh-config-hosts, pcmpl-ssh-hosts):
	Adjust for lexical-binding.

2020-09-02  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in pcmpl-linux.el and add tests

	* lisp/pcmpl-linux.el: Use lexical-binding.
	(pcmpl-linux-fs-modules-path-format)
	(pcmpl-linux-mtab-file): New constants.
	(pcmpl-linux-fs-types, pcmpl-linux-mounted-directories): Use above
	new constants.
	* test/lisp/pcmpl-linux-resources/fs/ext4/.keep:
	* test/lisp/pcmpl-linux-resources/mtab:
	* test/lisp/pcmpl-linux-tests.el: New files.

2020-09-01  Andrea Corallo  <akrl@sdf.org>

	Fix `load-filename' for installed instance (bug#43089)

	* src/lread.c (parent_directory): Remove function as now
	unnecessary.
	(compute_found_effective): New function.
	(Fload): Make use of 'compute_found_effective' and fix
	`load-filename' computation.

2020-09-01  Robert Pluim  <rpluim@gmail.com>

	Strip carriage returns from received password prompts (comint)

	* lisp/comint.el (comint-password-prompt-regexp): Strip carriage
	returns from the received prompt before matching.  (Bug#43003)

2020-09-01  Mauro Aranda  <maurooaranda@gmail.com>

	Improve documentation for custom :options

	* doc/lispref/customize.texi (Variable Definitions):
	Mention that re-evaluating a defcustom form doesn't reset custom
	options (bug#30101).

2020-09-01  Robert Pluim  <rpluim@gmail.com>

	Document 'smtp-auth' in auth-source info

	* doc/misc/auth.texi (Help for users): Mention 'smtp-auth' key,
	add cross-reference to smtpmail.info.
	* doc/misc/smtpmail.texi (Authentication): Fix markup.

2020-09-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention C-c C-w in the signature section of the Message manual

	* doc/misc/message.texi (Insertion Variables): Mention the C-c C-w
	command (bug#43136).  Text suggested by Dan Jacobson.

2020-09-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove spurious @ character in smtpmail.texi

	* doc/misc/smtpmail.texi (Authentication): Remove a presumably
	spurious @ character.

2020-09-01  Stefan Kangas  <stefankangas@gmail.com>

	Fix help message with help-window-select

	* lisp/help.el (help-print-return-message):
	(help-window-display-message): Recommend 'scroll-up-command' instead
	of 'scroll-up' when 'help-window-select' is non-nil.  (Bug#43122)

2020-09-01  Andrea Corallo  <akrl@sdf.org>

	Rework native compiled lisp/d lambda list accessor

	* lisp/help.el (help-function-arglist): Logic update for new
	'Fsubr_native_lambda_list'.
	* src/data.c (Fsubr_native_dyn_p): Remove.
	(Fsubr_native_lambda_list): Return t when the input is not a
	compiled lisp/d subr.
	(syms_of_data): Update for 'Fsubr_native_dyn_p' removal.

2020-08-31  Andrea Corallo  <akrl@sdf.org>

	* src/lread.c (Fload): Fix for manual eln load.

2020-08-31  Andrea Corallo  <akrl@sdf.org>

	Fix describe function arglist for native compiled lisp/d (bug#42572)

	* lisp/help.el (help-function-arglist): Handle the case of native
	compiled lisp/d.

	* src/data.c (syms_of_data): Register new subrs.
	(Fsubr_native_dyn_p, Fsubr_native_lambda_list): New primitives.

	* test/src/comp-tests.el (comp-tests-dynamic-help-arglist): New test.

2020-08-31  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in pong.el

	* lisp/play/pong.el: Use lexical-binding.
	Remove redundant :group args.

2020-08-31  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Remove obsolete "Wide Characters" section of Gnus manual

	* doc/misc/gnus.texi: This hasn't been valid since 2016.

2020-08-31  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	f20169399d (origin/emacs-27) Fix typo in Introduction to Emacs Lisp
	7605060d51 Update Elisp Manual reference to which-function-mode
	29708cbde7 Some precisions to bug handling
	dddc971f0e CC Mode: Fix processing for when c-multiline-string-start-...
	4a73fb9668 Fix description of %-constructs in 'mode-line-format'

2020-08-31  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	da4840af12 Adapt reminder-for-release-blocking-bugs

2020-08-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Make quoted-printable-encode-region work in multibyte buffers

	* lisp/mail/qp.el (quoted-printable-encode-region): If we're in a
	multibyte buffer (that has been encoded with some coding system),
	then get-byte will get the correct byte value.

2020-08-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new function dom-print

	* doc/lispref/text.texi (Document Object Model): Document it.

	* lisp/dom.el (dom-print): New function.

2020-08-31  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/dired-x.el (dired-omit-mode): Add autoload cookie.

2020-08-31  Michael Albinus  <michael.albinus@gmx.de>

	* .gitlab-ci.yml (test-all): Add lib/*.{h,c}.

2020-08-31  Stefan Kangas  <stefankangas@gmail.com>

	Fix minibuffer default of ephemeral debbugs group

	* lisp/gnus/gnus-group.el (gnus-group--read-bug-ids): Don't read
	number in "bug-123" as a negative bug ID; they are always positive.

2020-08-31  Stefan Kangas  <stefankangas@gmail.com>

	Fix typo in Introduction to Emacs Lisp

	* doc/lispintro/emacs-lisp-intro.texi (type-of-animal in detail):
	Remove extraneous parenthesis.

2020-08-31  Alan Third  <alan@idiocy.org>

	* .gitlab-ci.yml (test-all): Change .m to .c for standard C files.

2020-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	* src/alloc.c (live_symbol_holding): Pacify gcc -Wlogical-op.

	* src/lisp.h (lisp_h_XPL, XPL): Remove; unused.

2020-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Use mark_objects elsewhere too

	* src/alloc.c (mark_vectorlike, mark_face_cache):
	* src/eval.c (mark_specpdl):
	* src/fringe.c (mark_fringe_data):
	* src/keyboard.c (mark_kboards):
	Use mark_objects instead of doing it by hand.

2020-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Remove mark_maybe_object

	* src/alloc.c (mark_maybe_object, mark_maybe_objects): Remove.
	(mark_objects): New function.
	* src/eval.c (mark_specpdl): Use mark_objects instead of
	mark_maybe_objects, since the array now has only valid Lisp objects.
	* src/lisp.h (SAFE_ALLOCA_LISP_EXTRA): When allocating a large
	array, clear it so that it contains only valid Lisp objects.  This
	is simpler and safer, and does not hurt performance significantly
	on my usual benchmark as the code is executed so rarely.

2020-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid some false matches in mark_maybe_pointer

	This lets Emacs avoid marking some garbage as if it were in use.
	On one test platform (RHEL 7.8, Intel Xeon Silver 4116) it
	sped up ‘cd lisp; make compile-always’ by a bit over 1%.
	* src/alloc.c (live_string_holding, live_cons_holding)
	(live_symbol_holding, live_large_vector_holding)
	(live_small_vector_holding):
	Count only pointers that point to a struct component,
	or are a tagged pointer to the start of the struct.
	Exception: for non-bool-vector pseudovectors,
	count any pointer past the header, since it’s too much
	of a pain to write code for every pseudovector.
	(live_vector_pointer): New function.

2020-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Omit no-longer-needed stack mark_maybe_object

	* src/alloc.c (mark_memory): Do not bother using mark_maybe_object
	on the stack, since mark_maybe_pointer now marks everything that
	mark_maybe_object would.

2020-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Fix GC bug with Lisp floats and --with-wide-int

	On --with-wide-int platforms where Lisp_Object can be
	put into non-adjacent registers, mark_maybe_pointer failed
	to mark a float whose only reference was as a tagged pointer.
	* src/alloc.c (live_float_holding): New function,
	a generalization of the old live_float_p.
	(live_float_p): Use it.
	(mark_maybe_pointer): Use live_float_holding, not live_float_p.

2020-08-31  Stefan Kangas  <stefankangas@gmail.com>

	Update Elisp Manual reference to which-function-mode

	* doc/lispref/modes.texi (Mode Line Top, Mode Line Variables)
	Don't refer to obsolete alias for 'which-function-mode'.
	(Bug#13716)

2020-08-30  Stefan Kangas  <stefankangas@gmail.com>

	Bind 'n' and 'p' in compilation-mode-map

	* lisp/progmodes/compile.el (compilation-mode-map): Bind
	'(next|previous)-error-no-select' to 'n' and 'p'.  (Bug#41844)

2020-08-30  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in life.el and add tests

	* lisp/play/life.el: Use lexical-binding.
	(life--tick): Extract from...
	(life): ...here.
	(life--max-width, life--max-height): New variables.
	(life-mode, life-setup): Use above variables.

	* test/lisp/play/life-tests.el: New file.

2020-08-30  Stefan Kangas  <stefankangas@gmail.com>

	Various life.el improvements

	* lisp/play/life.el (life): New defgroup.
	(life-step-time): New defcustom (lower default from 1 to 0.5).
	(life): Use above new variable.  Make prefix arguments set step time
	in tenths of a second instead of whole seconds.
	(life-expand-plane-if-needed): Rename argument to step-time.

	(life-setup): Fix running `M-x life' with existing buffer.

	(life-patterns): Add three more classic patterns.

2020-08-30  Stefan Kangas  <stefankangas@gmail.com>

	Remove some XEmacs compat code from gamegrid.el

	* lisp/play/gamegrid.el (gamegrid-setup-face): Remove XEmacs
	compat code.

2020-08-30  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/play/tetris.el: Use lexical-binding.

2020-08-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak background colors in shr when there's indentation

	* lisp/net/shr.el (shr-fill-line): Get the background color right
	for the indentation, too.

2020-08-30  Mauro Aranda  <maurooaranda@gmail.com>

	Respect :must-match for file types in customization buffers

	* lisp/wid-edit.el (file widget): Add a :match and a :validate
	function to the 'file widget, to be able to check if the widget
	value is an existent file, when required (bug#25678).

2020-08-30  João Távora  <joaotavora@gmail.com>

	Place flymake-eldoc-function at the end of eldoc-documentation-functions

	Having it placed in the beginning of that hook meant it was mostly
	impossible to track the args to a function call while writing it from
	scratch, since most compilers issue a diagnostic about incorrect
	number of arguments.

	See bug#43103.

	* lisp/progmodes/flymake.el (flymake-mode): Lower priority of
	flymake-eldoc-function.

2020-08-30  Michael Albinus  <michael.albinus@gmx.de>

	Some precisions to bug handling

	* admin/admin.el (reminder-for-release-blocking-bugs): Add date to subject.

	* admin/notes/bug-triage:
	* admin/notes/bugtracker: Minor precisions.

2020-08-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make format-prompt interpret a nil default value as "no default"

	* doc/lispref/minibuf.texi (Text from Minibuffer): Document it.

	* lisp/help-fns.el (describe-function): Adjust the caller.

	* lisp/minibuffer.el (format-prompt): Interpret a nil default
	value as "no default".

2020-08-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in snake.el

	* lisp/play/snake.el (snake-reset-game): Avoid warning about
	unused variable.

2020-08-30  Michael Albinus  <michael.albinus@gmx.de>

	* .gitlab-ci.yml (test-all): Run only when needed.

2020-08-30  Andrea Corallo  <akrl@sdf.org>

	Store raw documentation during native compilation (bug#42974)

	* lisp/emacs-lisp/comp.el (comp-spill-lap-function)
	(comp-intern-func-in-ctxt): Use raw documentation.

2020-08-30  Stefan Kangas  <stefankangas@gmail.com>

	Convert manual rmailmm tests to ert

	* test/manual/rmailmm.el: Move from here...
	* test/lisp/mail/rmailmm-tests.el: ...to here, and convert to ert.

2020-08-29  Stefan Kangas  <stefankangas@gmail.com>

	Convert unsafep tests to ert

	* lisp/emacs-lisp/tcover-unsafep.el: Move from here...
	* test/lisp/emacs-lisp/unsafep-tests.el: ...to here, and convert to
	use ert instead of tcover.

2020-08-29  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/play/snake.el: Use lexical-binding.

2020-08-29  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in more tests

	* test/lib-src/emacsclient-tests.el:
	* test/lisp/emacs-lisp/hierarchy-tests.el:
	* test/lisp/eshell/eshell-tests.el:
	* test/lisp/gnus/gnus-util-tests.el:
	* test/lisp/progmodes/js-tests.el:
	* test/lisp/textmodes/bibtex-tests.el:
	* test/src/editfns-tests.el:
	* test/src/fns-tests.el: Use lexical-binding.

	* test/lisp/emacs-lisp/hierarchy-tests.el
	(hierarchy-leafs-includes-lonely-roots):
	* test/src/editfns-tests.el (transpose-test-get-byte-positions):
	* test/src/fns-tests.el (fns-tests-func-arity):
	Adjust for lexical-binding.

2020-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	Mark failing fileio test on MS-Windows

	* test/src/fileio-tests.el (fileio-tests--HOME-trailing-slash):
	Expect failure on MS-Windows.

2020-08-29  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix processing for when c-multiline-string-start-char is a character

	* lisp/progmodes/cc-mode.el (c-pps-to-string-delim)
	(c-multiline-string-check-final-quote): Replace c-clear-char-property by
	c-clear-syn-tab.
	(c-multiline-string-check-final-quote): Replace c-put-char-property by
	c-put-syn-tab.

2020-08-29  Alan Third  <alan@idiocy.org>

	Run GNUstep build test more often

	* .gitlab-ci.yml (test-gnustep): Include more files that may affect
	the GNUstep build.

2020-08-29  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/mail/mspools.el: Remove redundant :group args.

2020-08-29  Andrea Corallo  <akrl@sdf.org>

	* test/src/comp-tests.el (comp-tests-doc): Update test.

	* lisp/startup.el (command-line): Clean-up logic for new .eln disposition.

2020-08-29  Andrea Corallo  <akrl@sdf.org>

	Have .elc files in `load-history' when loading native code (bug#43089)

	* src/lread.c (Fload): Add the corresponding .elc file to
	`load-history' when loading native code.

	* lisp/subr.el (eval-after-load): Use `load-file-name' instead of
	`load-true-file-name'.

2020-08-29  João Távora  <joaotavora@gmail.com>

	Prevent ElDoc blinking when eldoc-documentation-enthusiast is used

	This eldoc-documentation-strategy function didn't always obey protocol
	since it returned nil sometimes, which the eldoc engine took it as a
	hint for the "old" protocol to clear the echo area.

	* lisp/emacs-lisp/eldoc.el (eldoc-documentation-enthusiast):
	Return t.
	(Version): Bump to 1.9.0

2020-08-29  Andrea Corallo  <akrl@sdf.org>

	Back using `load-file-name' when reading '#$' (bug#42961)

	* src/lread.c (read1, read_list): Use again load-file-name when
	reading '#$'.
	(syms_of_lread): Update `load-file-name' doc.

2020-08-29  Ulrich Müller  <ulm@gentoo.org>

	Delete duplicate definition for koi8-u coding system

	* lisp/language/cyrillic.el (koi8-u): Delete duplicate definition.

2020-08-29  Mattias Engdegård  <mattiase@acm.org>

	* test/lisp/emacs-lisp/rx-tests.el: Improve test coverage.

2020-08-29  Andrea Corallo  <akrl@sdf.org>

	* src/lread.c (Fload): Bind load-file-name to the .elc filename.

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-08-29  Eli Zaretskii  <eliz@gnu.org>

	Fix description of %-constructs in 'mode-line-format'

	* doc/lispref/modes.texi (%-Constructs): Document %@ and remove
	%M, which is no longer supported.   (Bug#43092)

2020-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	Revert recent expand-file-name changes if DOS_NT

	* src/fileio.c (Fexpand_file_name): Restore pre-August-26
	behavior, if DOS_NT.  This should fix the recently-introduced
	expand-file-name bugs on DOS_NT (Bug#26911).

2020-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	* src/fileio.c (Fexpand_file_name): Omit unnecessary assignment.

2020-08-29  Andrew G Cohen  <cohen@andy.bu.edu>

	Allow direct choice of smtp authentication method

	* lisp/mail/smtpmail.el (smtpmail-try-auth-methods): Let the
	authorization credentials have an entry with key :smtp-auth containing
	a preferred authentication mechanism.

2020-08-28  Alan Third  <alan@idiocy.org>

	Fix Objective-C C99 build problem

	* configure.ac (NS_IMPL_GNUSTEP): GCC appears to need to be told to
	use C99 when compiling Objective-C.

2020-08-28  Alan Third  <alan@idiocy.org>

	Add GNUstep build to Gitlab CI/CD

	* .gitlab-ci.yml (test-gnustep): New test target.

2020-08-28  Daniel Martín  <mardani29@yahoo.es>

	Add support for parsing column numbers in Visual Studio messages

	* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
	Extend regular expression to match optional column numbers.
	*
	test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
	Add a test.
	* test/lisp/progmodes/compile-tests.el (compile-test-error-regexps):
	Update the total number of compilation errors in a test.
	* etc/compilation.txt: Update compilation.txt with the newly supported
	message format.
	* etc/NEWS: Advertise the feature.

2020-08-28  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#43052

	* test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
	Make user name unique.  (Bug#43052)

2020-08-28  Stefan Kangas  <stefankangas@gmail.com>

	Add commands to run shell commands in project root

	* lisp/progmodes/project.el (project-async-shell-command)
	(project-shell-command): New commands to run 'async-shell-command'
	and 'shell-command' in project's root directory.
	(project-prefix-map): Bind commands to '!' and '&'.
	* doc/emacs/maintaining.texi (Project File Commands): Document the
	new commands.
	* etc/NEWS: Announce the new commands.

2020-08-28  Stefan Kangas  <stefankangas@gmail.com>

	Make XEmacs compat aliases obsolete in warnings.el

	* lisp/emacs-lisp/warnings.el (display-warning-minimum-level)
	(log-warning-minimum-level): Make XEmacs compat aliases into obsolete
	aliases for 'warning-minimum-level' and 'warning-minimum-log-level'.

2020-08-28  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in warnings.el and add tests

	* lisp/emacs-lisp/warnings.el: Use lexical-binding.
	Remove redundant :group args.

	* test/lisp/emacs-lisp/warnings-tests.el: New file.

2020-08-28  Eric Abrahamsen  <eric@ericabrahamsen.net>

	New eieio-persistent-make-instance generic function

	This allows override of the read process for eieio-persistent objects,
	providing the possibility of matching read/write customization for
	eieio-persistent subclasses.

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-make-instance): New
	generic function for constructing instances from object data written
	to disk. Previously known as eieio-persistent-convert-list-to-object.

2020-08-28  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Remove redundant slot validation in eieio-persistent-read

	Actual object creation (in `make-instance') will later run all slot
	values through cl-typep, which does a better job of validation. This
	validation is redundant, and slows the read process down.

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-fix-value): Rename
	from `eieio-persistent-validate/fix-slot-value', as we no longer
	validate, and we don't care about the slot definition.
	(eieio-persistent-slot-type-is-class-p): Delete function.
	(eieio-persistent-convert-list-to-object): Still call
	`eieio--full-class-object', to trigger an autoload if necessary, but
	discard the return value.

2020-08-28  Harald Jörg  <haj@posteo.de>

	Fix indent-region for identifiers with underscores in cperl-mode

	 * lisp/progmodes/cperl-mode.el (cperl-fix-line-spacing): Fix Bug#18985.
	 Hash keys or function names starting with a Perl keyword followed
	 by an underscore (as in "for_me" are no longer split into two words
	 by M-x indent-region.

2020-08-28  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/mwheel.el: Improve package description.

2020-08-28  Mattias Engdegård  <mattiase@acm.org>

	* test/src/fileio-tests.el: Preserve HOME when a test fails

2020-08-28  Eli Zaretskii  <eliz@gnu.org>

	Fix most of fileio-tests on MS-Windows

	* test/src/fileio-tests.el (fileio-tests--HOME-trailing-slash)
	(fileio-tests--expand-file-name-trailing-slash): Account for drive
	letters in MS-Windows/MS-DOS file names.  (Bug#26911)

2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	Fix recently-introduced expand-file-name bug

	The bug was that (expand-file-name "~") returned something
	like "/home/eggert/" instead of "/home/eggert".
	Problem	reported by Mattias Engdegård (Bug#26911#27).
	* src/fileio.c (Fexpand_file_name): When concatenating NEWDIR to
	NM, instead of stripping trailing slashes from NEWDIR (which can
	turn non-symlinks into symlinks), strip leading slashes from NM.
	This also simplifies the code by removing no-longer-needed DOS_NT
	special-casing.  Also, remove an unnecessary ‘target[length] = 0;’
	as that byte will be overwritten by the next memcpy anyway.
	* test/src/fileio-tests.el (fileio-tests--HOME-trailing-slash):
	New test.

2020-08-27  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Set Gnus server 'closed status in gnus-close-server

	* lisp/gnus/gnus-int.el (gnus-close-server): Set 'closed status here.
	* lisp/gnus/gnus-group.el (gnus-group-suspend): Not here.

2020-08-27  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Switch Gnus D-Bus signal from :session to :system

	* lisp/gnus/gnus-dbus.el (gnus-dbus-register-sleep-signal): Apparently
	this needs to be :system -- perhaps because PrepareForSleep is a
	system-level event?

2020-08-27  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-tests

	* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name)
	(tramp-test05-expand-file-name-relative): Adapt tests.

2020-08-27  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-tests.el, don't merge with master

	* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name)
	(tramp-test05-expand-file-name-relative): Adapt tests.
	(tramp--test-emacs28-p): New defun.

2020-08-27  Mauro Aranda  <maurooaranda@gmail.com>

	Keep the user theme in sync when marking a variable as set

	* lisp/custom.el (customize-mark-as-set): Keep the user theme in sync
	even if the new value of the variable is the saved-value or the
	standard-value.  If we don't do this, custom themes might end up
	stepping over the user preferences in a session (bug#28904).

2020-08-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Make minibuf-eldef respect minibuffer-default-prompt-format

	* lisp/minibuf-eldef.el (minibuffer-default--in-prompt-regexps):
	Take minibuffer-default-prompt-format into account.

2020-08-27  Stefan Kangas  <stefankangas@gmail.com>

	Substitute command keys in display-local-help

	* lisp/help-at-pt.el (display-local-help): Pass 'help-echo' property
	through 'substitute-command-keys' before displaying to be consistent
	with tooltips.  (Bug#37628)

	This was discussed in:
	https://lists.gnu.org/archive/html/emacs-devel/2019-10/msg00090.html

2020-08-27  Stephen Berman  <stephen.berman@gmx.net>

	Prevent spurious tabs by RET in todo-edit-mode (bug#43068)

	* lisp/calendar/todo-mode.el (todo-key-bindings-t)
	(todo-edit-mode-map): Remove remapping of `newline' to
	`newline-and-indent'.
	(todo-modes-set-1): Remove local setting of `indent-line-function'.
	(todo-edit-mode): Locally set `indent-line-function' to `todo-indent'.

	* test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
	Prevent interactive test failure.  (Until the addition of testcat4
	to todo-test-1.todo, the test passed by chance, since testcat3 is
	empty and has no archived items.)
	(todo-test-edit-item-date-month): Refer to bug number.
	(todo-test-multiline-item-indentation-1)
	(todo-test-multiline-item-indentation-2)
	(todo-test-multiline-item-indentation-3): New tests.

	* test/lisp/calendar/todo-mode-resources/todo-test-1.todo: Remove
	spurious tabs from testcat1.

2020-08-27  Stefan Kangas  <stefankangas@gmail.com>

	Minor clean up in flyspell.el

	* lisp/textmodes/flyspell.el (flyspell-buffers): Declare obsolete.
	(flyspell--prev-meta-tab-binding): Doc fix.

2020-08-27  Tino Calancha  <tino.calancha@gmail.com>

	dired: Show broken/circular links with different face

	* lisp/dired.el (dired-broken-symlink): New face.
	(dired-font-lock-keywords):
	Use it for broken/circular links (Bug#39145).

	* etc/NEWS (Changes in Specialized Modes and Packages in Emacs 28.1):
	Announce this change.

2020-08-27  Michael Albinus  <michael.albinus@gmx.de>

	Adapt reminder-for-release-blocking-bugs

	* admin/admin.el (reminder-for-release-blocking-bugs):
	Require `debbugs-gnu' also in `interactive' form.

	* admin/release-process: Rename RELEASE-CRITICAL to RELEASE-BLOCKING.
	Adapt Emacs version.  Describe `reminder-for-release-blocking-bugs'.

2020-08-27  Stefan Kangas  <stefankangas@gmail.com>

	Only show flyspell welcome message interactively

	* lisp/textmodes/flyspell.el (flyspell-mode): Only show welcome
	message when called interactively.  (Bug#43065)

2020-08-27  Stefan Kangas  <stefankangas@gmail.com>

	Add ASTEC-X issue to PROBLEMS

	* etc/PROBLEMS: Mention problem with multiple monitors on proprietary
	X Server ASTEC-X.  (Bug#36779)

2020-08-27  Stefan Kangas  <stefankangas@gmail.com>

	Fix flyspell welcome message

	* lisp/textmodes/flyspell.el (flyspell-mode, flyspell-mode-on):
	Fix showing welcome message when `flyspell-issue-welcome-flag' and
	`flyspell-issue-message-flag' are both non-nil.  (Bug#43065)

2020-08-27  Andrew G Cohen  <cohen@andy.bu.edu>

	Allow a function for the :secret in a plstore

	* lisp/auth-source.el (auth-source-plstore-search): If the :secret
	value is a function, call it on plist to obtain the real password.

2020-08-27  Stefan Kangas  <stefankangas@gmail.com>

	Refer to correct mouse button in flyspell message

	* lisp/textmodes/flyspell.el (make-flyspell-overlay)
	(flyspell-mode-on): Refer to mouse-3 in help messages when the
	variable 'flyspell-use-mouse-3-for-menu' is non-nil.  (Bug#11680)

2020-08-27  Stefan Kangas  <stefankangas@gmail.com>

	Signal error on Hunspell installation problem

	* lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
	Signal user-error when Hunspell warns that it "Can't open affix or
	dictionary files", and propagate this message.  (Bug#25825)

2020-08-27  Protesilaos Stavrou  <info@protesilaos.com>

	Add themes modus-operandi and modus-vivendi

	* etc/themes/modus-operandi-theme.el:
	* etc/themes/modus-vivendi-theme.el: New themes.  (Bug#43019)

2020-08-27  Stefan Kangas  <stefankangas@gmail.com>

	Sort Info index completions alphabetically

	* lisp/info.el (Info-complete-menu-item): Sort the list of completions
	alphabetically using 'nreverse'.  This makes no difference for Emacs
	but helps third-party completion frameworks such as Ivy.  (Bug#38614)

	Suggested by Howard Melman <hmelman@gmail.com>.

2020-08-26  Dmitry Gutov  <dgutov@yandex.ru>

	Unbreak dired-do-find-regexp in Emacs 26

	* lisp/progmodes/xref.el (xref--show-xrefs):
	Support the old convention (bug#42967).

2020-08-26  Dmitry Gutov  <dgutov@yandex.ru>

	Unbreak xref-goto-xref in Emacs 26

	* lisp/progmodes/xref.el (xref-goto-xref):
	Call next-error-found only if it's defined (bug#42981).

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix expand-file-name symlink-to-dir bug

	Problem reported by Yegor Timoshenko (Bug#26911),
	and I ran into it myself recently in normal-top-level.
	* doc/lispref/files.texi (File Name Expansion), etc/NEWS: Mention this.
	* src/fileio.c (Fexpand_file_name): Expand "/a/b/." to "/a/b/" not
	"/a/b", to avoid misinterpreting a symlink "/a/b".  Similarly,
	expand "/a/b/c/.." to "/a/b/" not "/a/b".
	* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
	Adjust to match new behavior.
	(tramp-test05-expand-file-name-relative): This test now succeeds,
	at least on Fedora 31.
	* test/src/fileio-tests.el:
	(fileio-tests--expand-file-name-trailing-slash)	New test.

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix PWD startup checking with symlinks

	* lisp/startup.el (normal-top-level): Do not put "." after "/";
	it’s not needed and with current file-name-as-directory it does
	the wrong thing if PWD is a symlink.

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/files.el (insert-directory): Simplify (if ... X X) to X.

2020-08-26  Andrea Corallo  <akrl@sdf.org>

	Merge branch 'add_driver_option' into HEAD

2020-08-26  Andrea Corallo  <akrl@sdf.org>

	Init gcc_jit_context_add_driver_option as optional

	* src/comp.c (init_gccjit_functions): Use LOAD_DLL_FN_OPT to init
	'gcc_jit_context_add_driver_option' as this is optional.

2020-08-26  Andrea Corallo  <akrl@sdf.org>

	Rename comp-native-driver-options-available-p

	* src/comp.c (Fcomp_native_driver_options_effective_p)
	Rename plus better doc.
	(add_driver_options, syms_of_comp): Rename
	`comp-native-driver-options-available-p' into
	comp-native-driver-options-effective-p.

2020-08-26  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (add_driver_options): Fix missing condition + clean-up pragma

2020-08-26  Andreas Fuchs  <asf@boinkor.net>

	* Add 'comp-native-driver-options-available-p'

	* src/comp.c (comp-native-driver-options-available-p): New
	  function that returns t if driver options can be used.

2020-08-26  Andrea Corallo  <akrl@sdf.org>

	Improve 'add_driver_options'

	* src/comp.c (add_driver_options): Use
	load_gccjit_if_necessary and FOR_EACH_TAIL + GNU style.

2020-08-26  Andreas Fuchs  <asf@boinkor.net>

	Fix windows NT handling for [...]_add_driver_options

	* src/comp.c (add_driver_options): Instead of conditionalizing on
	the wrong preprocessor flag, now use the right one:
	'LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option'.  Also perform
	the driver-option-adding step on win NT, but only if the function
	is non-NULL.  Make the function declaration for add_driver_options
	non-old-style.

2020-08-26  Andreas Fuchs  <asf@boinkor.net>

	Set native driver options in async compiles, also

	Ensure the variable is set to the value that was customized in the
	parent process in child compilation processes, also.

2020-08-26  Stefan Kangas  <stefankangas@gmail.com>

	Sync latest SKK-JISYO.L

	* leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.

2020-08-26  leo  <gnu_lists@halloleo.hailmail.net>  (tiny change)

	Allow disabling double buffering at build time

	* configure.ac: Allow disabling double buffering (bug#32032).

2020-08-26  Robert Pluim  <rpluim@gmail.com>

	Allow directories to be called .el in -add-subdirs-to-load-path

	* lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
	Allow the directories to be called "<foo>.el" (bug#32266).

2020-08-26  Glenn Morris  <rgm@gnu.org>

	Fix doc-view problem with file names with spaces in them

	* lisp/doc-view.el (doc-view-get-bounding-box): Don't bug out on
	file names with spaces in them (bug#33344).

2020-08-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Use format-prompt a couple of places

	* lisp/ps-print.el (ps-print-preprint):
	* lisp/help-fns.el (describe-function): Use `format-prompt'
	(bug#12443).

2020-08-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Implement a way to customize "default" values

	* doc/lispref/minibuf.texi (Text from Minibuffer): Document them.

	* lisp/minibuffer.el (format-prompt): New function (bug#12443).
	(minibuffer-default-prompt-format): New variable.

2020-08-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the epa key display slightly more informative

	* lisp/epa.el (epa--button-key-text): Say what the validity
	characters output by GPG mean (bug#34726).

2020-08-26  Štěpán Němec  <stepnem@gmail.com>

	Document ispell comment/string checking commands in the user manual

	* doc/emacs/fixit.texi (Spelling): Mention
	'ispell-comments-and-strings' and 'ispell-comment-or-string-at-point'.
	(bug#6411)

2020-08-26  Štěpán Němec  <stepnem@gmail.com>

	ispell: Commands to check comments or strings at point or in region

	* lisp/textmodes/ispell.el (ispell-comments-and-strings): Accept START
	and END arguments, defaulting to active region in interactive calls.
	(ispell-comment-or-string-at-point): New command. (bug#6411)

2020-08-26  Noam Postavsky  <npostavs@gmail.com>

	Don't recommend redefining auto-save filename functions

	* doc/lispref/backups.texi (Auto-Saving): Document
	auto-save-file-name-transforms.
	* lisp/files.el (make-auto-save-file-name)
	(auto-save-file-name-p): Remove suggestion to redefine for
	customization (bug#34911).

2020-08-26  Phil Sainty  <psainty@orcon.net.nz>

	term.el: Use correct exit status in suggested dir-tracking functions

	* lisp/term.el: Make some of the examples better (bug#43055).

2020-08-26  Brian Leung  <leungbk@mailfence.com>  (tiny change)

	eshell: Remove unnecessary check in em-hist

	* lisp/eshell/em-hist.el
	(eshell-previous-matching-input-string-position): Both before and
	within the while loop, n is always smaller than n (bug#43056).

2020-08-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove side-effect-free markup for assoc-default

	* lisp/subr.el (assoc-default): assoc-default isn't
	side-effect-free, because it takes a :test parameter that can do
	anything (bug#37943).

2020-08-26  Mattias Engdegård  <mattiase@acm.org>

	Fix lexical misunderstandings in gnus-icalendar-tests.el (bug#39782)

	* test/lisp/gnus/gnus-icalendar-tests.el:
	(icalendar-tests--get-ical-event): Remove unused function accidentally
	copy-pasted from icalendar-tests.el.
	(gnus-icalendar-parse, gnus-icalendary-byday):
	Remove unintended initial newlines.
	Duplicate comma-escaping backslashes so that they have intended
	effects, conforming to RFC 5545.
	Remove ineffective comma-escaping backslashes where not intended.

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	regex-emacs: copy less when reallocating

	* src/regex-emacs.c (GROW_FAIL_STACK): Copy just the
	occupied stack slots, as the rest are garbage.

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	regex-emacs: fix leak on memory allocation failure

	* src/regex-emacs.c (ENSURE_FAIL_STACK): If the failure
	stack cannot be grown, free locally-allocated storage
	before returning.

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	regex-emacs: subscript-check register numbers

	* src/regex-emacs.c (PUSH_FAILURE_REG, POP_FAILURE_REG_OR_COUNT)
	(re_match_2_internal): Add some easserts for subscript checking.

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	regex-emacs: omit regstart tests and regend set

	* src/regex-emacs.c (PUSH_FAILURE_REG, POP_FAILURE_REG_OR_COUNT)
	(re_match_2_internal): Add some assertions that regstart
	is set whenever regend is.
	(re_match_2_internal): Omit two unnecessary REG_UNSET (regstart ...)s
	and one unnecessary assignment to regend.

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	regex-emacs omit allocation of 3 slots

	* src/regex-emacs.c (re_match_2_internal): Avoid
	unnecessary allocation of REGEND[0], BEST_REGSTART[0],
	BEST_REGEND[0].

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	regex-emacs omit POS runtime check

	* src/regex-emacs.c (re_match_2_internal): Replace unnecessary
	runtime check of POS with some eassumes.

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix gpg2-related test failures on RHEL 7.8

	* test/lisp/gnus/mml-sec-tests.el (test-conf)
	(mml-secure-en-decrypt-passphrase-no-cache-openpgp-todo)
	(mml-secure-run-tests-with-gpg2):
	Use epg-find-configuration instead of the obsolescent
	epg-configuration.  This fixes test failures on RHEL 7.8,
	where ‘gpg’ and ‘gpg2’ are both 2.0.22.

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	mml-secure-en-decrypt-sign-1-2-double is unstable

	* test/lisp/gnus/mml-sec-tests.el:
	(mml-secure-en-decrypt-sign-1-2-double): Mark this as unstable.

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-08-25 verify: Avoid warnings when assume(0) is used
	* lib/verify.h: Copy from Gnulib.

2020-08-26  Stefan Kangas  <stefankangas@gmail.com>

	Add package prefix to jsonrpc defconst

	* lisp/jsonrpc.el (jsonrpc-default-request-timeout): Rename from
	'jrpc-default-request-timeout'.
	(jrpc-default-request-timeout): Make into obsolete variable alias
	for 'jsonrpc-default-request-timeout'.  (Bug#40054)

2020-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	Omit "V" at the start of DEFVAR_BOOL vars

	Problem noted by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2020-08/msg00846.html
	* src/font.c (xft_ignore_color_fonts):
	* src/syntax.c (comment_end_can_be_escaped):
	* src/xdisp.c (word_wrap_by_category, display_fill_column_indicator):
	Rename these DEFVAR_BOOL variables to avoid the initial "V"
	that wrongly suggests that they are Lisp_Object variables.
	All uses changed.

2020-08-25  Daniel Colascione  <dancol@dancol.org>

	Add undefine keyword to make-mode

	* lisp/progmodes/make-mode.el (makefile-gmake-statements): Add
	"undefine" to the list of gmake keywords

2020-08-25  Stefan Kangas  <stefankangas@gmail.com>

	Add "Delete" submenu to Dired "Operate" menu

	* lisp/dired.el (dired-mode-map): Add "Delete" submenu to "Operate"
	menu with an entry for 'dired-do-flagged-delete'.  (Bug#41524)

2020-08-25  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Add basic D-Bus integration to Gnus

	* lisp/gnus/gnus-dbus.el: New library, registering a signal that
	closes all Gnus servers when the system is going to sleep.
	* lisp/gnus/gnus-start.el: Check new option
	`gnus-dbus-close-on-sleep', and register the appropriate D-Bus signal
	if it is non-nil.
	* lisp/gnus/gnus.el: New gnus-dbus customization group.
	* doc/misc/gnus.texi: Document.

2020-08-25  Štěpán Němec  <stepnem@gmail.com>

	Preserve setf semantics in 'substring', 'cons', 'logand' expanders

	* doc/lispref/variables.texi (Adding Generalized Variables): Fix example.
	* lisp/emacs-lisp/cl-lib.el (substring)
	* lisp/emacs-lisp/gv.el (cons, logand): Return the value being
	assigned, as specified for 'setf'.  (bug#35546)

2020-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the file/buffer comparison from previous save-some-buffers change

	* lisp/files.el (save-some-buffers): Relax the "similarity" regexp
	from the previous regexp: Don't show both file and buffer names if
	the file is /tmp/foo and the buffer name is foo<zot>.

2020-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with folded Gcc headers in Gnus

	* lisp/gnus/gnus-msg.el (gnus-inews-do-gcc): Tokenize the gcc
	header properly (there may be newlines and tabs in the separators)
	(bug#43036).

2020-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Possibly mention both file and buffer names in save-some-buffers

	* lisp/files.el (save-some-buffers): If the file and buffer names
	are dissimilar, mention both their names (bug#8399).

2020-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't bug out in gnus-icalendar when there no recurring event

	* lisp/gnus/gnus-icalendar.el
	(gnus-icalendar-event:recurring-days): Fix previous patch
	(bug#43038) -- don't bug out when there's no recurring event.

2020-08-25  Michael Albinus  <michael.albinus@gmx.de>

	* admin/admin.el (reminder-for-release-blocking-bugs): New command.

2020-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	remove-overlays doc clarification

	* lisp/subr.el (remove-overlays): Doc fix (bug#13648).

2020-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix for copy-directory

	* lisp/files.el (copy-directory): PARENTS is no longer the last
	argument.

2020-08-25  Michael Albinus  <michael.albinus@gmx.de>

	Merge from origin/emacs-27

	44104a607a Fix error in GMP test
	e26e63444d Add Feature testing for Windows binaries
	4e2caef384 ; * src/character.c (str_as_multibyte): Fix the commentary.
	d3a4ce8420 Revert "; * etc/NEWS: Remove temporary note on documentati...
	16f00e36dc * admin/admin.el (set-version): Trap yet another NEWS error.
	121be3e118 ; * etc/NEWS: Remove temporary note on documentation.  (Bu...
	5fcb97dabd Fix cond jump table compilation (bug#42919)

2020-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Extend background colors in shr

	* lisp/net/shr.el (shr-colorize-region): Extend backgrounds to the
	end (bug#43031).  This avoid ragged edges to the right when, for
	instance, the <body> has a bgcolor.
	(shr-face-background): Ditto.

2020-08-25  Stephen Berman  <stephen.berman@gmx.net>

	Tweak how "u" works in Info buffers when scroll-conservatively is set

	* lisp/info.el (Info-up): If scroll-conservatively is non-zero and
	less than 101, display as much of the superior node above the
	target line as possible (Bug#13690).

2020-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Make shadowing warning in describe_map less confusing

	* src/keymap.c (describe_map): A binding may be shadowed by
	something else than a mode (bug#14086) (just a `define-key'
	works), so don't say that it's a mode that shadows it.

2020-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert previous hideshow commit

	Hideshow has defaults that are overridden if we look for derived modes
	in hs-special-modes-alist.  For instance, in lisp-interaction-mode
	we'll choose a lookup based on parent modes, and that overrides the
	default (bug#43032).

	This reverts a415179b56f022f50138f55d231070e3d1b00697.

2020-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	* lib/diffseq.h, m4/inttypes.m4: Copy from Gnulib.
	* m4/gnulib-comp.m4: Regenerate.

2020-08-24  Phillip Lord  <phillip.lord@russet.org.uk>

	Fix error in GMP test

	* etc/w32-feature.el: Update to use system-configuration-features for
	  GMP test.

2020-08-24  Phillip Lord  <phillip.lord@russet.org.uk>

	Add Feature testing for Windows binaries

	* etc/w32-feature.el: New file

2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	replace-buffer-contents cleanups

	* src/editfns.c (NOTE_DELETE, NOTE_INSERT): Avoid unnecessary parens.
	(Freplace_buffer_contents): Check args before returning results.
	Avoid integer overflow when computing too_expensive, and work even
	if MAX-COSTS is bignum.  Call alloca and/or malloc just once, not
	three times.
	(set_bit, bit_is_set): Simplify micro-optimization by using eassume.

2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	Fix replace-region-contents performance bug

	* src/editfns.c (rbc_quitcounter): Remove; the quitcounter
	is now part of the context.
	(EXTRA_CONTEXT_FIELDS): Remove unused member early_abort_tests.
	Add jmp, quitcounter.
	(Freplace_buffer_contents): Use setjmp/longjmp to recover from
	a compareseq that runs too long.  Omit unnecessary rarely_quit
	call.
	(buffer_chars_equal): Occasionally check for early abort and
	longjmp out if so (Bug#43016).

2020-08-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify sorting order by file-backup-file-names

	* doc/lispref/backups.texi (Backup Names): Ditto.

	* lisp/files.el (file-backup-file-names): Clarify sorting order.

2020-08-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Rewrite the epa key interface to use buttons instead of widgets

	* lisp/epa.el (epa-font-lock-keywords): Removed.
	(epa-key-list-mode-map): Bind tab/backtab to button navigation.
	(epa-key): Remove widget.
	(epa--button-key-text): Return the propertized text instead of
	return a widget text.
	(epa-key-list-mode): Don't use font locking; everything is output
	as it should be.
	(epa--insert-keys): Rewrite to just output the data instead of
	widgetising.
	(epa--select-keys): Insert buttons instead of widgets.

2020-08-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix error when loading a new, non-existent foo.gpg file

	* lisp/epa-file.el (epa-file-insert-file-contents): Propagate the
	correct error upwards (bug introduced by fixing bug#3829, and
	messing up where the `when' form ended).
	Reported by "Herbert J. Skuhra" <herbert@gojira.at>.

2020-08-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Document file-backup-file-names

	* doc/lispref/backups.texi (Backup Names): Document
	file-backup-file-names.

2020-08-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Extend the default value in dired-diff to all the backup files

	* lisp/dired-aux.el (dired-diff): When diffing files with backup
	files, put all the backup files into the defaults so that they can
	be reached with `M-n' from `read-file-name' (bug#24089).

2020-08-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new function 'file-backup-file-names'

	* lisp/files.el (file-backup-file-names): New function (bug#24089).
	(file-newest-backup): Use it.

2020-08-24  Noam Postavsky  <npostavs@users.sourceforge.net>

	Fix inferior octave single-quote font lock

	* lisp/progmodes/octave.el (octave-mode-syntax-table): Fix
	fontification of single quotes in inferior octave mode (bug#25517).

	It looks like the problem is that octave-mode-syntax-table sets single
	quotes as punctuation even though GNU Octave's manual says single quotes
	are string syntax [1].

	[1]:
	https://www.gnu.org/software/octave/doc/interpreter/String-Objects.html

2020-08-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Have gnutls_symmetric cache the results from Fgnutls_ciphers

	* src/gnutls.c (gnutls_symmetric): Cache the results from
	Fgnutls_ciphers, since that function isn't very fast (bug#42998).
	(syms_of_gnutls): Initialize cache variable.

2020-08-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Explain what C-h t means in the preface

	* doc/emacs/emacs.texi (Top): Explain what C-h t means (since this
	section is for people who haven't even used the tutorial) (bug#42982).

2020-08-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Change how #:uninterned symbols are font-locked in Lisp mode

	* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Font-lock
	#:uninterned symbols as a single entity instead of #: and
	uninterned separately (bug#43001).

2020-08-24  Michael Albinus  <michael.albinus@gmx.de>

	Add sanity check in tramp-sh-get-signal-strings

	* lisp/net/tramp-sh.el (tramp-sh-get-signal-strings): Add sanity check.

	* test/lisp/net/tramp-tests.el (tramp-test28-process-file):
	Remove instrumentation.
	(tramp--test--deftest-direct-async-process): Adapt docstring.
	(tramp--test-windows-nt-p, tramp--test-windows-nt-and-batch-p):
	Rename from `tramp--test-windows-nt', `tramp--test-windows-nt-and-batch'.

2020-08-24  Stefan Kangas  <stefankangas@gmail.com>

	Avoid some uses of obsolete function interactive-p

	* doc/lispref/help.texi (Accessing Documentation):
	* lisp/cedet/data-debug.el:
	* lisp/emacs-lisp/edebug.el (edebug-wrap-def-body):
	* lisp/simple.el (append-next-kill):
	* test/manual/cedet/cedet-utests.el (cedet-utest, pulse-test):
	* test/manual/cedet/semantic-tests.el (semantic-lex-spp-write-utest)
	(semantic-symref-test-count-hits-in-tag): Use 'called-interactively-p'
	instead of obsolete function 'interactive-p'.

2020-08-24  Stefan Kangas  <stefankangas@gmail.com>

	Remove many items obsolete since Emacs 23.2 and 23.3

	* lisp/allout.el (allout-init):
	* lisp/emacs-lisp/shadow.el (shadows-compare-text-p):
	* lisp/ffap.el (ffap-version):
	* lisp/filecache.el (file-cache-choose-completion):
	* lisp/help.el (print-help-return-message):
	* lisp/image-mode.el (image-mode-maybe):
	* lisp/imenu.el (imenu-example--name-and-position):
	* lisp/international/mule-cmds.el (princ-list):
	* lisp/mail/rmail.el (rmail-highlight-face):
	* lisp/minibuffer.el (read-file-name-predicate):
	* lisp/mouse.el (mouse-choose-completion):
	* lisp/progmodes/cc-cmds.el (c-forward-into-nomenclature):
	* lisp/progmodes/xscheme.el
	(advertised-xscheme-send-previous-expression):
	* lisp/simple.el (completion-base-size)
	(choose-completion-delete-max-match, exchange-dot-and-mark):
	* lisp/subr.el (eval-next-after-load):
	* lisp/term.el (term-dynamic-simple-complete):
	Remove items, obsolete since Emacs 23.2 and 23.3.
	* doc/misc/cc-mode.texi (Movement Commands): Doc fix.
	* doc/lispref/help.texi (Accessing Documentation):
	* lisp/emacs-lisp/edebug.el (edebug-wrap-def-body):
	* lisp/comint.el (comint-dynamic-list-completions):
	* lisp/progmodes/idlwave.el (idlwave-make-modified-completion-map-xemacs)
	(idlwave-make-modified-completion-map-emacs)
	(idlwave-choose-completion):
	* lisp/progmodes/vhdl-mode.el:
	* lisp/term.el (term-dynamic-list-completions):
	Remove references to 'mouse-choose-completion'.
	* lisp/image-mode.el (image-mode-to-text):
	Remove reference to 'image-mode-maybe'.
	* lisp/mail/rmail.el (rmail-highlight-headers):
	Use 'rmail-highlight' face instead of 'rmail-highlight-face'.
	* lisp/progmodes/antlr-mode.el (antlr-mode-map, antlr-mode-menu):
	Remove reference to 'c-forward-into-nomenclature'.
	* lisp/simple.el (choose-completion, choose-completion-string)
	(completion-list-mode, completion-setup-function): Don't use
	'completion-base-size'.

	This was discussed in
	https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00400.html

2020-08-24  Asher Gordon  <AsDaGo@posteo.net>  (tiny change)

	Quote other suspicious characters in mml-insert-tag.

	* lisp/gnus/mml.el (mml-insert-tag): Ensure that the characters
	"[]<>=" are quoted correctly (bug#43009).

2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify by using Gnulib sigdescr_np module

	Inspired by a straightforward patch by Bruno Haible.
	* admin/merge-gnulib (GNULIB_MODULES): Add sigdescr_np.
	* configure.ac: Do not check for sys_siglist or __sys_siglist.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/sigdescr_np.c, m4/sigdescr_np.m4: New files, copied from Gnulib.
	* src/sysdep.c (sys_siglist, sys_siglist_entries): Remove.
	(init_signals): Do not initialize sys_siglist.
	(safe_strsignal): Use sigdescr_np instead of sys_siglist.

2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-08-23 intprops: be consistent about +X vs X+0
	2020-08-23 intprops: fix INT_MULTIPLY_WRAPV bit-field bug
	2020-08-23 verify: Make assume work on bit field expressions
	2020-08-23 libc-config: Improve comments
	2020-08-22 verify: Do use __builtin_assume on clang
	2020-08-22 sig2str: Add more signals
	2020-08-21 sigdescr_np: New module
	* lib/cdefs.h, lib/intprops.h, lib/sig2str.c, lib/string.in.h:
	* lib/verify.h, m4/string_h.m4: Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2020-08-23  Eli Zaretskii  <eliz@gnu.org>

	Fix more compilation warnings in xdisp.c

	* src/xdisp.c (display_mode_element, decode_mode_spec_coding):
	Avoid compilation warnings.

2020-08-23  Eli Zaretskii  <eliz@gnu.org>

	Fix a compilation warning in xdisp.c

	* src/xdisp.c (gui_consider_frame_title): Fix compilation warning.
	Reported by Lars Ingebrigtsen <larsi@gnus.org>.

2020-08-23  Eli Zaretskii  <eliz@gnu.org>

	Improve handling of coding-system mnemonic indicators

	This fixes assertion violations when the mnemonic is
	given as a string, and allows non-ASCII characters be
	used as mode-line mnemonic of a coding-system.
	* src/xdisp.c (decode_mode_spec_coding): Handle multibyte
	characters as coding-system's mnemonic.
	(display_mode_element): If decode_mode_spec returns a multibyte
	string, display it as multibyte.
	* src/coding.c (Fdefine_coding_system_internal)
	(Fcoding_system_put): If :mnemonic is a string, use its first
	character.  This avoids assertion violations if someone uses a
	string as the mnemonic of a coding-system.

2020-08-23  Mattias Engdegård  <mattiase@acm.org>

	Always make a multibyte string for the frame title (bug#42904)

	* src/xdisp.c (gui_consider_frame_title): Multibyte-encode any raw
	bytes in the title, and then pass a multibyte string to the back-end
	for use as a frame title.  This cuts down a little on the rubbish
	shown when raw bytes sneak in by mistake (as part of the buffer name,
	for instance).

2020-08-23  Eli Zaretskii  <eliz@gnu.org>

	Fix image display on w32 as followup to recent changes

	The new code calls 'malloc' and 'free', so we can no longer
	* src/image.c (struct image_type): Rename 'load' to 'load_img' and
	'free' to 'free_img'.  All callers changed.
	(free_image) [WINDOWSNT]: Don't #undef 'free'.

2020-08-23  Alan Third  <alan@idiocy.org>

	Silence compiler warning (bug#40845)

	* src/image.c (lookup_image): Don't allow face to be NULL.

2020-08-23  Alan Third  <alan@idiocy.org>

	Set basic SVG attributes (bug#40845)

	* test/manual/image-transforms-tests.el: Replace hard-coded colors
	with defaults.
	* src/dispextern.h (struct image):
	* src/image.c (search_image_cache):
	(xbm_load_image):
	(xbm_load):
	(pbm_load): Rename from frame to face where relevant.
	(svg_load_image): Parse the image to find out the size, then wrap it
	in another SVG to set a new size and colors, etc.
	(lookup_image): Use the face colors instead of the frame colors.
	(search_image_cache): Add ability to ignore the face colors.
	(uncache_image): Uncache all copies of the image that share the spec,
	even if the face colors don't match.
	* etc/NEWS: Describe the changes.

2020-08-23  Michael Albinus  <michael.albinus@gmx.de>

	Rework direct async processes in Tramp

	* doc/misc/tramp.texi (Remote processes): Precise restrictions for direct
	async processes.

	* lisp/net/tramp.el (tramp-methods): Adapt docstring.
	(tramp-direct-async-process-p): Make it more precise.
	(tramp-handle-make-process): Rewrite, based on `make-process'.

	* test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
	Add `tramp-direct-async-args` for mock method.
	(tramp-test29-start-file-process, tramp-test30-make-process):
	Use weaker regexp checking "foo".
	(tramp-test30-make-process): Do not check stderr for direct async processes.
	(tramp--test--deftest-direct-async-process): New defmacro.
	(tramp-test29-start-file-process-direct-async)
	(tramp-test30-make-process-direct-async): New tests.

2020-08-23  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (native-compile): Fix free function compilation.

2020-08-23  Andrea Corallo  <akrl@sdf.org>

	A cc-mode fix to be compiled correctly once installed

	* lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): If cc-mode
	is not compiled during the initial build (read
	NATIVE_FAST_BOOT) it will be when already in el.gz form.

2020-08-23  Andrea Corallo  <akrl@sdf.org>

	Rework eln hash filename strategy

	Generate eln filename hashing also the source file content in the form:

	/absolute/path/filename.el + content ->
	eln-cache/filename-path_hash-content_hash.eln

	* src/lread.c (maybe_swap_for_eln): Always call
	Fcomp_el_to_eln_filename on an existing source file.

	* src/comp.c (md5.h, sysstdio.h, zlib.h): New include.
	(comp_hash_string): Use md5 instead of sha512.
	(MD5_BLOCKSIZE): New macro.
	(accumulate_and_process_md5, final_process_md5, md5_gz_stream)
	(comp_hash_source_file): New functions.
	(Fcomp_el_to_eln_filename): Rework for hashing using also source
	file content.

	* src/lread.c (maybe_swap_for_eln): Rename el_name -> src_name as
	this can be also a have .el.gz extension.

2020-08-23  Andrea Corallo  <akrl@sdf.org>

	Import lib/af_alg.h from gnulib

	* lib/af_alg.h: New file.

2020-08-23  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-08-23  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes for last change

	* lisp/international/kinsoku.el (kinsoku): Provide 'kinsoku'.
	* lisp/cus-start.el (standard): Use 'require' instead of 'load.

	* etc/NEWS:
	* doc/emacs/display.texi (Visual Line Mode): Improve wording and
	markup of last change.

2020-08-23  Yuan Fu  <casouri@gmail.com>

	Improve word wrapping for CJK characters

	Note about the change around line 9257 and 23372:

	Before, the test for whitespace checks for can_wrap_before and
	can_wrap_after simutaniously.  Now we separate these two checks, and
	the logic needs to change a little bit.  However, when we don't enable
	the new wrapping feature, 'can_wrap_after' is equivalent to
	'IT_DISPLAYING_WHITESPACE' and 'can_wrap_before' is equivalent to
	'!IT_DISPLAYING_WHITESPACE'.  And the new logic is equivalent with the
	old one in that case.

	Old logic:

	    if (whitespace) /* Which means can wrap after && can't wrap
	                       before.  */
	      may_wrap = true;

	    else if (may_wrap) /* aka (!whitespace && may_wrap)
	      (set wrap point)  * aka (can't wrap after && can wrap before
	      may_wrap = false  *      && may_wrap)
	                        */

	New logic:

	    if (can_wrap_after)
	      next_may_wrap = true
	    else
	      next_may_wrap = false;

	    if (may_wrap && can_wrap_before)
	      (set wrap point)

	    /* Update may_wrap.  */
	    may_wrap = next_may_wrap;

	* src/xdisp.c (it_char_has_category, char_can_wrap_before)
	(char_can_wrap_after): New functions.
	(move_it_in_display_line_to, display_line): Replace calls to
	'IT_DISPLAYING_WHITESPACE' with either 'char_can_wrap_before' or
	'char_can_wrap_after'.
	(word-wrap-by-category): New variable.

	* lisp/cus-start.el (minibuffer-prompt-properties--setter): Add
	'word-wrap-by-category' as a customizable variable.

	* doc/emacs/display.texi (Visual Line Mode): Add a paragraph about the
	new 'word-wrap-by-category' feature.
	* etc/NEWS: Announce the change.

2020-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Bind the time zone so that the tests work everywhere

	Use lexical-binding and remove compat code

2020-08-22  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of a recent change in Dired

	* etc/NEWS:
	* doc/emacs/dired.texi (Dired Enter): Fix the text describing
	'dired-maybe-use-globstar'.

	* lisp/dired.el (dired-maybe-use-globstar): Add :version.

2020-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify inline-letevals in the manual

	* doc/lispref/functions.texi (Inline Functions): Try to clarify
	what inline-letevals really does, and how it differs from `let'
	(bug#31052).

2020-08-22  Tino Calancha  <tino.calancha@gmail.com>

	Handle globstar in dired

	Allow user to enable globstar when the shell support
	it and disable it by default (e.g. bash).
	* lisp/dired.el (dired-maybe-use-globstar): New user option.
	(dired-enable-globstar-in-shell): New variable.
	(dired-insert-directory): if `dired-maybe-use-globstar' is
	non-nil and the shell supports globstar, then enable it.

	* doc/emacs/dired.texi: Document feature.

2020-08-22  Alan Third  <alan@idiocy.org>

	Fix NS build failure

	* src/thread.c: xgselect isn't used with NS, even when HAVE_GLIB is
	defined.

2020-08-22  Alan Third  <alan@idiocy.org>

	Extend NSString further and use the new methods

	* src/nsfns.m (ns_set_icon_name):
	(ns_set_name):
	(ns_set_represented_filename):
	(ns_implicitly_set_icon_type):
	(ns_set_icon_type):
	(ns_appkit_version_str):
	(Fx_create_frame):
	(Fns_read_file_name):
	(Fns_get_resource):
	(Fns_set_resource):
	(Fns_list_colors):
	(Fns_perform_service):
	(ns_do_applescript): Use the new NSString methods.
	([NSString stringWithLispString:]): Fix the surrogate algorithm.
	([NSString lispString]): New method.
	* src/nsterm.h (NSString): Add new method.
	* src/nsterm.m ([EmacsApp openFile:]):
	([EmacsApp requestService:userData:error:]):
	([EmacsApp fulfillService:withArg:]):
	([EmacsView changeFont:]):
	([EmacsView setMarkedText:selectedRange:]):
	([EmacsView initFrameFromEmacs:]):
	([EmacsView performDragOperation:]):
	([EmacsView performDragOperation:]):
	([EmacsView performDragOperation:]):
	([EmacsWindow accessibilityAttributeValue:]): Use the new NSString
	methods.

2020-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string (and defcustom type) fix for grep-find-command

	* lisp/progmodes/grep.el (grep-find-command): Add the cons type to
	the defcustom, and document it (bug#36113).  (It has always been a
	valid value for the variable.)

2020-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	nndoc minor clean-up

	* lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Erase the
	buffer before changing multibyteness.

2020-08-22  Jan Tatarik  <jan.tatarik@gmail.com>

	gnus-icalendar does not understand multiple repeating days

	* lisp/gnus/gnus-icalendar.el
	(gnus-icalendar-event:recurring-days): New function (bug#39782).
	(gnus-icalendar-event:org-timestamp): New function.
	(gnus-icalendar--find-day): Use them.
	(gnus-icalendar-event--org-timestamp): Ditto.

2020-08-22  Dmitry Gutov  <dgutov@yandex.ru>

	Make ruby-parse-partial more stable

	* lisp/progmodes/ruby-mode.el (ruby-parse-partial):
	Don't call ruby-deep-indent-paren-p (bug#42841).

2020-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Restrict the range of image formats to be converted

	* lisp/image/image-converter.el (image-converter--filter-formats):
	New function.
	(image-converter): Mention this in the doc string.

2020-08-22  Stefan Kangas  <stefankangas@gmail.com>

	Bind mwheel-scroll on more parts of frame's display

	* lisp/mwheel.el (mouse-wheel-mode): Bind unmodified 'mwheel-scroll'
	on scroll bars, fringes, margins, header and mode line.  (Bug#5557)
	(mouse-wheel--create-scroll-keys): New helper function for
	'mouse-wheel-mode'.
	* test/lisp/mwheel-tests.el: New file.

2020-08-21  Stephen Berman  <stephen.berman@gmx.net>

	Fix several todo-mode.el editing bugs (bug#42976)

	* lisp/calendar/todo-mode.el (todo-insert-item--basic): Ensure the
	target todo file is in todo-mode.
	(todo-edit-item--text): When editing a done item comment, prevent
	clobbering match data on finishing the edit.
	(todo-edit-item--header): Ensure that decrementing the month of
	the date header works for intervals greater than a year, and when
	incrementing or decrementing the month crosses one or more years,
	adjust the year as needed.
	(todo-read-category): If we're outside of todo-mode and there is a
	current todo file, use it; otherwise, use the default todo file.

	* test/lisp/calendar/todo-mode-tests.el
	(todo-test-edit-item-date-month): New test.

	* test/lisp/calendar/todo-mode-resources/todo-test-1.todo: Modify
	to accommodate new test.

2020-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-08-20 sigabbrev_np: New module
	2020-08-20 stdalign: Fix 32-bit test failures clang versions < 8
	2020-08-17 careadlinkat: speedup for GCC 10 with GCC_LINT
	2020-08-17 Assume autoconf >= 2.64
	* build-aux/config.guess, build-aux/config.sub, lib/careadlinkat.c:
	* lib/stdalign.in.h, lib/string.in.h, m4/std-gnu11.m4, m4/string_h.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2020-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor mode doc string clarification

	* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring):
	Clarify that the minor mode hook is called both when enabling and
	disabling the mode (bug#34073).

2020-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fread_variable doc string clarification

	* src/minibuf.c (Fread_variable): Doc string clarification (bug#38886).

2020-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	help-at-pt-display-when-idle doc string clarification

	* lisp/help-at-pt.el (help-at-pt-display-when-idle): Clarify when
	kbd-help is useful (bug#39295).

2020-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `exec-path' in some process related doc strings

	* src/callproc.c (Fcall_process_region):
	(Fcall_process):
	* src/process.c (Fmake_process): Mention `exec-path' in the doc
	strings (bug#42704).

2020-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Highlight error messages from diff in diff-mode

	* lisp/vc/diff-mode.el (diff-error): New face (bug#2739).
	(diff-font-lock-keywords): Use it to highlight lines like "diff: "
	which are error messages from diff (for instance, when a file
	doesn't exist).

2020-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with 8bit content-transfer-encoding in nndoc mbox files

	* lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): If we're
	reading an mbox file, it may contain messages that use
	content-transfer-encoding 8bit, which means that we have to treat
	the file as a sequence of byte (bug#42951).  This avoids
	double-decoding -- once by Emacs when inserting the mbox into the
	buffer, and once by Gnus when displaying the articles.

2020-08-21  Noam Postavsky  <npostavs@gmail.com>

	Clarify docs about line movement

	* doc/lispref/positions.texi (Text Lines, Screen Lines): Add index
	entries.
	* lisp/simple.el (move-beginning-of-line): Remove incorrect mention of
	images, and reference beginning-of-visual-line.
	* src/editfns.c (Fline_beginning_position): Reference
	`vertical-motion' (bug#35899).

2020-08-21  Pip Cet  <pipcet@gmail.com>

	Fix lock failures in xg_select

	* src/xgselect.c (release_select_lock, acquire_select_lock):
	Introduce.
	(xg_select): Use `acquire_select_lock', `release_select_lock'.
	* src/thread.c (release_select_lock): Introduce for non-GLib builds.
	(really_call_select): Call `release_select_lock'.  Simplify by
	ensuring acquisition of the lock always succeeds (bug#36609).

2020-08-21  Pip Cet  <pipcet@gmail.com>

	Fix return value for CCL opcode lookup-integer

	* src/ccl.c (ccl_driver): Fix LookupIntConstTbl return value.
	* test/lisp/international/ccl-tests.el (ccl-hash-table): Add test.
	* lisp/international/ccl.el (ccl-embed-data): Don't pass non-numbers
	to `ccl-fixnum' (bug#36740).

2020-08-21  Tobias Zawada  <i_inbox@tn-home.de>

	Make hs-special-modes-alist also work for modes derived from those modes

	* lisp/progmodes/hideshow.el (hs-grok-mode-type): Also set up
	hideshow variables based on hs-special-modes-alist in derived
	modes (bug#39354).

2020-08-21  Kevin Ryde  <user42_kevin@yahoo.com.au>

	Have ispell add new LocalWords lines after any such existing lines

	* lisp/textmodes/ispell.el (ispell-add-per-file-word-list): Add
	new LocalWords line just after existing such lines.  Good to keep
	words together or if deliberately placed somewhere special
	(bug#20486).

2020-08-21  Christophe Troestler  <Christophe.Troestler@umons.ac.be>  (tiny change)

	Fix displaying inline ical attachments with no charset

	* lisp/gnus/gnus-icalendar.el
	(gnus-icalendar-with-decoded-handle): Check whether there is a
	charset before using it (bug#40290).

2020-08-21  Gregory Heytings  <ghe@sdf.org>  (tiny change)

	Tweak completion of Makefile targets

	* lisp/pcmpl-gnu.el (pcmpl-gnu-make-targets): Require that target
	names not be preceded by a TAG character (bug#42411).

2020-08-21  Stefan Kangas  <stefankangas@gmail.com>

	Remove some compat code from cperl-mode

	* lisp/progmodes/cperl-mode.el (cperl-use-syntax-table-text-property)
	(cperl-syntaxify-by-font-lock, cperl-mode-map, cperl-mode)
	(cperl-windowed-init, cperl-init-faces, cperl-write-tags): Remove
	some XEmacs and <21 compat code.

2020-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Make image cache lookups work again after previous patch

	* src/image.c (search_image_cache): Fix reversed logic in previous
	patch.

2020-08-21  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (previous-line-or-history-element): Handle logical lines.

	When 'line-move-visual' is nil, use 'end-of-line' to move point to the end
	of the first logical line (bug#42862)

	Thanks to Michael Welsh Duggan <mwd@md5i.com>.

2020-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix off-by-one error in decoded-time-add (with months)

	* lisp/calendar/time-date.el (decoded-time-add): Fix month
	addition, which was off-by-one.

2020-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with non-ASCII characters in ediff error messages

	* lisp/vc/ediff-diff.el (ediff-prepare-error-list): Decode the
	data from diff before displaying (bug#5050).  This fixes a problem
	with displaying raw bytes in the error messages in non-ASCII locales.

2020-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make image-mode give better feedback when the buffer is empty

	* lisp/image-mode.el (image-mode): Give a less confusing message
	if we don't have any image data (bug#16062).  Also leave the
	buffer in fundamental mode.

2020-08-20  Mattias Engdegård  <mattiase@acm.org>

	Fix NS crash on invalid frame title string (bug#42904)

	Instead of blindly assuming that all Emacs strings are valid UTF-8,
	which they are not, use a more careful conversion going via UTF-16
	which is what NSString uses internally.  Unpaired surrogates will
	still go through to the NSString objects, but the NS libs handle them
	gracefully.

	* src/nsterm.h (EmacsString): New category.
	* src/nsfns.m (all_nonzero_ascii): New helper function.
	([NSString stringWithLispString:]): New method.
	(ns_set_name_internal): Use new conversion method.

2020-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in vc-cvs from previous change

	* lisp/vc/vc-cvs.el (log-edit-extract-headers): Fix compilation
	warning.

2020-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix message.el compilation warning

	* lisp/gnus/message.el (smtpmail-stream-type): Fix compilation
	warning from last change.

2020-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow specifying the TLS port in X-Message-SMTP-Method

	* lisp/gnus/message.el (message-multi-smtp-send-mail): If the user
	has specified the TLS SMTP port, then force a TLS connection
	(bug#38066).

2020-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't message the hunk status when just going to it

	* lisp/vc/diff-mode.el (diff-goto-source): Don't output a status
	about the hunk just when jumping to it (bug#38370).  This would
	output "Hunk already applied" when browsing diffs.

2020-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new way to encode unprintable characters in Message: url-encode

	* lisp/gnus/message.el (message-fix-before-sending): Add a new
	conversion method for invalid characters -- URL-encoding (bug#38955).

2020-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with unprintable characters in Message headers

	* lisp/gnus/message.el (message-fix-before-sending): Remove
	unprintable characters from the entire buffer, not just the body
	(bug#38955).

2020-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix interactive spec of message-beginning-of-line

	* lisp/gnus/message.el (message-beginning-of-line): Fix problem
	with C-S-a getting translated to C-a in message-mode (bug#39545).

2020-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the "Summary: " but from cvs checkins

	* lisp/vc/vc-cvs.el (vc-cvs-checkin): Remove the "Summary:" bit
	from the comment (bug#40506).

2020-08-20  Lars Ingebrigtsen  <larsi@gnus.org>

	message-sendmail-f-is-evil doc string fix

	* lisp/gnus/message.el (message-sendmail-f-is-evil): Make doc
	string less confusing by removing a joke (bug#41096).

2020-08-20  Noah Swainland  <noah@distinctly.pink>

	Add global-goto-address-mode

	* doc/emacs/misc.texi (Goto Address mode): Document it.

	* lisp/net/goto-addr.el (global-goto-address-mode)
	(goto-addr-mode--turn-on): New functions (bug#42937).

2020-08-20  Andrea Corallo  <akrl@sdf.org>

	Revert "Fix native code uneffective loads after recompilation" (bug#42944)

	This reverts commit 8a931a97b8dd19a38d6f719f810280a07ba76438.

	This introduced bug#42944.

2020-08-20  Stefan Kangas  <stefankangas@gmail.com>

	Revert "; * etc/NEWS: Remove temporary note on documentation.  (Bug#42917)"

	This reverts commit 121be3e1181e609734fc4cc9d2d54cf7eec18ab2.

2020-08-19  Glenn Morris  <rgm@gnu.org>

	* admin/admin.el (set-version): Trap yet another NEWS error.

2020-08-19  Stefan Kangas  <stefankangas@gmail.com>

	Fix minor issues after recent world-clock rename

	* lisp/time.el (world-clock-mode): Set 'revert-buffer-function'
	buffer-locally rather than globally.
	(display-time-world): Unobsolete alias for 'world-clock'.  Some users
	might be used to the old name.

2020-08-19  Andreas Fuchs  <asf@boinkor.net>

	Pass driver options to libgccjit where supported

	Add a customizable variable for driver options (such as linker flags)
	to pass to libgccjit (Bug #42761).

	* lisp/emacs-lisp/comp.el (comp-native-driver-options): New
	customization variable.
	* src/comp.c: Use comp-native-driver-options to set libgccjit's driver
	options, if supported on the library's ABI version.

2020-08-19  Andrea Corallo  <akrl@sdf.org>

	Fix native code uneffective loads after recompilation

	'dlopen' can return the same handle if two shared with the same
	filename are loaded in two different times (even if the first was
	deleted!).  To prevent this scenario the last modification time of the
	source file is included in the hashing algorithm.

	* src/comp.c (Fcomp_el_to_eln_filename): Update hashing algo to
	include the source last modification date.
	* src/lread.c (maybe_swap_for_eln): Do not check for eln newer
	then elc as this is now unnecessary.

2020-08-19  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-08-19  Noah Friedman  <friedman@splode.com>

	Make shell-resync-dirs handle whitespace in directory names

	* lisp/shell.el (shell-resync-dirs): Correctly handle
	whitespace in directory names (bug#23324).

2020-08-19  Juri Linkov  <juri@jurta.org>

	Allow searching interactively over completions in `M-x'

	* lisp/simple.el (read-extended-command): Allow doing interactive
	searches over the completions (bug#12490).  This restores the
	behavior from Emacs 23 that was lost in Emacs 24.

2020-08-19  Grégoire Jadi  <gregoire.jadi@univ-nantes.fr>

	Ensure `bibtex-set-dialect' is executed in bibtex buffers

	* lisp/textmodes/bibtex.el (bibtex-mode): Call `bibtex-set-dialect'.
	* test/automated/bibtex-tests.el: Add regression tests (bug#21764).

2020-08-19  Robert Weiner  <rswgnu@gmail.com>

	Make etags-list-tags work with Exuberant ctags

	* lisp/progmodes/etags.el (etags-list-tags): Make the function
	work with Exuberant ctags (bug#23400).

2020-08-19  Mattias Engdegård  <mattiase@acm.org>

	Fix cond jump table compilation (bug#42919)

	This bug affected compilation of

	 (cond ((member '(some list) variable) ...) ...)

	While equal is symmetric, member is not; in the latter case the
	arguments must be a variable and a constant list, in that order.

	Reported by Ikumi Keita.

	* lisp/emacs-lisp/bytecomp.el (byte-compile--cond-switch-prefix):
	Don't treat equality and member predicates in the same way; only
	the former are symmetric in their arguments.
	* test/lisp/emacs-lisp/bytecomp-tests.el
	(byte-opt-testsuite-arith-data): Add test cases.

2020-08-19  Anders Lindgren  <andlind@gmail.com>

	Fix #'(lambda ...) font locking

	* lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
	Fontize #'(lambda ...) better (bug#23465).

2020-08-19  Doug Gilmore  <dougjgilmore@gmail.com>

	Fix a segfault in daemon mode Emacs when detaching an X session

	* src/xterm.c (x_uncatch_errors): Add a sanity check for
	x_error_message (bug#23939).

2020-08-19  Mattias Engdegård  <mattiase@acm.org>

	Distinguish errors in bytecomp-tests

	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-check-1)
	(test-byte-opt-arithmetic, bytecomp-lexbind-check-1)
	(bytecomp-lexbind-explain-1):
	When comparing interpreted with compiled results, don't consider all
	errors to be equal; take the error type into account.  (The error
	arguments may differ, but there may be good reasons for that.)

2020-08-19  Mattias Engdegård  <mattiase@acm.org>

	Make bytecomp-tests re-runnable

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(test-byte-comp-macro-expand-lexical-override): Remove functions
	before testing so that the test can be run twice without failing.

2020-08-19  Tino Calancha  <tino.calancha@gmail.com>

	Make thingatpt recognize files names with @ in them

	* lisp/thingatpt.el (thing-at-point-file-name-chars): Add @
	(Bug#24606).

2020-08-19  Tom Tromey  <tom@tromey.com>

	Add a variable to control VC completion over branch names

	* lisp/vc/vc-git.el (vc-git-revision-complete-only-branches): New
	variable (bug#25710).
	(vc-git-revision-table): Use it.

2020-08-19  Michael Albinus  <michael.albinus@gmx.de>

	Better check for multi-hops when calling direct async processes

	* lisp/net/tramp-sh.el (tramp-multi-hop-p, tramp-compute-multi-hops):
	Move them from here ...

	* lisp/net/tramp.el (tramp-multi-hop-p, tramp-compute-multi-hops): ... here.
	(tramp-direct-async-process-p): Use `tramp-compute-multi-hops'.

2020-08-19  Carlos Pita  <carlosjosepita@gmail.com>

	Don't override python font locking in comint

	* lisp/comint.el (comint-highlight-input): New variable (bug#32344).
	(comint-send-input): Use it.

	* lisp/progmodes/python.el (inferior-python-mode): Set it.

2020-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Signal an end-of-file error upon errors when reading from stdin

	* src/minibuf.c (read_minibuf_noninteractive): Signal an
	`end-of-file' error when reading from stdin instead of a general
	error (bug#34123).  This makes it easier to write code that
	recovers from this situation.

	Suggested by Noam Postavsky <npostavs@gmail.com>.

2020-08-19  Noam Postavsky  <npostavs@users.sourceforge.net>

	Let ido-everywhere turn on ido-mode

	* lisp/ido.el (ido-everywhere): Turn on ido-mode, if it's not already
	on.  Otherwise, having ido-everywhere enabled messes all file and
	buffer reading interactive commands (bug#34292).

2020-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the [ command in speedbar mode

	* lisp/speedbar.el (speedbar-expand-line-descendants): Expand only
	the current line -- not all subsequent lines in the speedbar
	buffer (bug#35014).

2020-08-19  Sebastian Urban  <mrsebastianurban@gmail.com>

	Fix a page-break in the middle of a keystroke in basic.texi

	* doc/emacs/basic.texi (Inserting Text): Avoid having the C-x 8 ]
	keystroke broken over two pages in the PDF version (bug#35885).

2020-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from viper-cmd.el

2020-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from ispell.el

	* lisp/textmodes/ispell.el (ispell): transient-mark-mode and
	mark-active are always bound, so remove the check.

2020-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from erc

	* lisp/erc/erc.el (erc-mode): next-line-add-newlines is always
	defined, so remove the check.

2020-08-18  Alan Third  <alan@idiocy.org>

	Get rid of build-time checks around NS tabbar code (bug#33118)

	* src/nsterm.m ([EmacsView initFrameFromEmacs:]): Get rid of version
	checks.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from viper-*.el

	* lisp/emulation/viper-util.el (viper-check-minibuffer-overlay):
	* lisp/emulation/viper-cmd.el (viper-minibuffer-standard-hook)
	(viper-minibuffer-real-start, viper-submit-report): No need to
	check whether minibuffer-prompt-end is defined.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from descr-text.el

	* lisp/descr-text.el (describe-text-properties-1): button.el is
	pre-loaded, so remove check for it.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from viper-cmd.el

	* lisp/emulation/viper-cmd.el (viper-next-line-at-bol): No need to
	check for button-at.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from ps-print.el

	* lisp/ps-print.el: Don't make a face-list alias.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from forms.el

	* lisp/forms.el (forms-mode): make-face always exists.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from smiley.el

	* lisp/gnus/smiley.el (smiley-style): face-attribute is always defined.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from chart.el

	* lisp/emacs-lisp/chart.el (chart-face-list):
	set-face-background-pixmap is always defined.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from htmlfontify.el

	* lisp/htmlfontify.el (hfy-color-vals): color-values is always
	defined.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from ps files

	* lisp/ps-def.el (ps-color-device): Ditto.

	* lisp/ps-print.el (ps-color-scale): Make into an obsolete alias.
	(ps-begin-job): Adjust caller.

	* lisp/progmodes/ebnf2ps.el (ebnf-generate-eps, ebnf-generate): Ditto.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from woman.el

	* lisp/woman.el (woman-fontify): Don't check for functions always
	defined.

2020-08-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Replace last uses of idlwave-get-buffer-visiting

	* lisp/progmodes/idlw-help.el (idlwave-help-with-source):
	* lisp/progmodes/idlw-shell.el (idlwave-shell-set-bp-in-module)
	(idlwave-shell-delete-temp-files, idlwave-shell-save-and-action):
	Replace last occurrences of deprecated idlwave-get-buffer-visiting
	with now-equivalent find-buffer-visiting.

2020-08-18  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/vt-control.el: Use lexical-binding.

2020-08-18  Philip K  <philipk@posteo.net>

	Fix Libravatar federation handling

	* lisp/image/gravatar.el (gravatar--service-libravatar): Implement
	correct algorithm (bug#40354).

2020-08-18  Philip K  <philipk@posteo.net>

	Fix Libravatar federation handling

	* lisp/image/gravatar.el (gravatar--service-libravatar): Implement
	correct algorithm (bug#40354).

2020-08-18  Robert Pluim  <rpluim@gmail.com>

	Fix truncated command names in process-attributes under Macos

	* src/sysdep.c (system_process_attributes): Fix truncation of
	command names in process-attributes under Macos (bug#36287).

2020-08-18  Stefan Kangas  <stefankangas@gmail.com>

	Rearrange and clean up code in time.el (Bug#40863)

	* lisp/time.el (world-clock, zoneinfo-style-world-list)
	(legacy-style-world-list, world-clock-list)
	(time--display-world-list, world-clock-time-format)
	(world-clock-timer-enable, world-clock-timer-second): Move definitions
	closer to 'world-clock' code.  Remove redundant :group args.

	(display-time-mail-file, display-time-mail-directory)
	(display-time-mail-function)
	(display-time-default-load-average)
	(display-time-load-average-threshold, display-time-day-and-date)
	(display-time-interval, display-time-24hr-format)
	(display-time-hook, display-time-mail-face)
	(display-time-use-mail-icon, display-time-mail-string)
	(display-time-format, display-time-string-forms): Remove redundant
	:group args.

2020-08-18  Stefan Kangas  <stefankangas@gmail.com>

	Rename 'display-time-world' to 'world-clock' (Bug#40863)

	* lisp/time.el (world-clock-list, world-clock-time-format)
	(world-clock-buffer-name, world-clock-timer-enable)
	(world-clock-timer-second, world-clock-label, world-clock-mode)
	(world-clock-display, world-clock, world-clock-update): Rename
	from 'display-time-world-*' and update all uses.

	(world-clock): New defgroup.
	(zoneinfo-style-world-list, legacy-style-world-list): Use :group
	'world-clock'.

	(display-time-world-list, display-time-world-time-format)
	(display-time-world-buffer-name)
	(display-time-world-timer-enable)
	(display-time-world-timer-second): Make into obsolete variable
	aliases for the new names.

	* lisp/time.el (display-time-world-mode)
	(display-time-world-display, display-time-world)
	(display-time-world-timer): Make into obsolete function aliases
	for the new names.

	* etc/NEWS: Announce the above changes.

2020-08-18  Stefan Kangas  <stefankangas@gmail.com>

	Improve display-time-world UI (Bug#40863)

	* lisp/time.el (display-time-world-mode): Set 'revert-buffer-function'
	to 'display-time-world-timer'.

	(display-time-world-label): New face.
	(display-time-world-display): Use the new face.  Move point to new
	buffer on creation and resize.

2020-08-18  Stefan Kangas  <stefankangas@gmail.com>

	Remove the "Recent message" section from the bug reports

	* lisp/mail/emacsbug.el (report-emacs-bug): Don't include "Recent
	messages" since it has privacy implications.  Problem reported by
	Lars Ingebrigtsen in:
	https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg01099.html
	(bug#39185).

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	srecode-utest-project test should now work on Hydra, hopefully

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix a big in the srecore test setup

	* test/lisp/cedet/srecode-utest-template.el
	(srecode-utest-project): Set the current directory in the project
	so that we'll find it later (bug#42533).  The in-project directory
	is /tmp, which is not actually what it is on many machines that
	have the temporary directory somewhere else.

2020-08-18  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/savehist.el: Doc fix.

2020-08-18  Pip Cet  <pipcet@gmail.com>

	Fix minor bugs in image.c

	* test/lisp/image-tests.el (image-test-circular-specs): New file.
	* src/image.c (parse_image_spec): Return failure for circular lists.
	(valid_image_p): Don't look at odd-numbered list elements expecting to
	find a property name.
	(image_spec_value): Handle circular lists.
	(equal_lists): Introduce.
	(search_image_cache): Use `equal_lists' (bug#36403).

2020-08-18  Philip K  <philipk@posteo.net>

	Fix issues with OpenPGP header

	* doc/misc/message.texi (OpenPGP Header): Mention correct hook
	* lisp/gnus/message.el (message-openpgp-header): Improve customize type
	(message-add-openpgp-header): Insert header into correct buffer
	(bug#42913).

2020-08-18  Kalle Olavi Niemitalo  <kon@iki.fi>  (tiny change)

	Fix buffer overflow in x-send-client-message

	* src/xselect.c (x_fill_property_data): Add parameter NELEMENTS_MAX.
	* src/xterm.h (x_fill_property_data): Update prototype.
	* src/xselect.c (Fx_send_client_event): Update call.  This fixes
	  a buffer overflow in event.xclient.data.
	* src/xfns.c (Fx_change_window_property): Update call (bug#23482).

2020-08-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	362ca83a3b (origin/emacs-27) Let Emacs start even if curdir is inacce...
	dd989c0ea0 * etc/NEWS: Mention GnuPG 2.0 through 2.1.5 issue (Bug#428...
	4542b750cc Fix bug with ~/Emacs file not being read at init
	9b403d624e ; Fix last change
	6bff65a626 ; * doc/lispref/sequences.texi (Sequence Functions): Typo ...
	3c4edfd85e Prevent from frozen frame after `C-z' in Lucid builds
	98e8241992 Document the 'flex' completion style
	19fa8b7ca3 Note that Emacs needs systemd support if systemd is used t...

	# Conflicts:
	#	etc/NEWS

2020-08-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	cf0ee6f49b ; spelling fixes
	16f4f26632 Fix startup working dir bug on NeXTSTEP

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Implement a cache for all types of gravatars

	* lisp/image/gravatar.el (gravatar-automatic-caching): Made obsolete.
	(gravatar-cache-ttl): Ditto.
	(gravatar--cache): New variable to cache gravatars in-memory.
	(gravatar-retrieve): Maintain the cache.
	(gravatar--prune-cache): Remove old entries.
	(gravatar-retrieved): Remove use of the old-style cache (bug#40355).

2020-08-18  Clément Pit-Claudel  <clement.pitclaudel@live.com>

	Fix ert ability to peek inside structures when comparing unequal values

	* lisp/emacs-lisp/ert.el (ert--explain-equal-rec): Treat records
	as arrays (bug#40562).  Also add support for cl-structs.

2020-08-18  Stefan Kangas  <stefankangas@gmail.com>

	Remove reference to Emacs Lisp List from FAQ

	* doc/misc/efaq.texi (Packages that do not come with Emacs): Remove
	reference to Emacs Lisp List.  (Bug#41681)

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Add NEWS entry for the count-lines change

2020-08-18  Jen-Chieh Shen  <jcs090218@gmail.com>

	Add optional ALL-FRAMES arfument to count-windows

	* lisp/window.el (count-windows): Allow counting the windows on
	all frames (bug#42872).

2020-08-18  Stefan Kangas  <stefankangas@gmail.com>

	Rename new option to flyspell-use-mouse-3-for-menu

	* lisp/textmodes/flyspell.el (flyspell-use-mouse-3-for-menu): Rename
	from 'flyspell-correct-on-mouse-3'.  The previous name did not make it
	clear that it's about opening a menu.  (Bug#11680)
	(flyspell--set-use-mouse-3-for-menu): Rename from
	'flyspell--set-correct-on-mouse-3'.  Bind menu to 'down-mouse-3'
	instead of 'mouse-3' to be more in line with user expectations.
	(flyspell-mode): Use the above new names.
	* doc/emacs/fixit.texi (Spelling):
	* etc/NEWS: Update documentation to use the new name.

	Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Trim titles in eww so that the host from the URL is visible

	* lisp/net/eww.el (eww-update-header-line-format): Trim the line
	of the title so that the host bit of the URL is visible (bug#42898).

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from esh-io.el

	* lisp/eshell/esh-io.el (eshell-set-output-handle): Remove check
	for null-device, which is always bound.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from ediff

	* lisp/vc/ediff-init.el (ediff-convert-standard-filename): Make
	obsolete.
	* lisp/vc/ediff-util.el (ediff-setup): Adjust callers.
	(ediff-make-temp-file): Ditto.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from ede/make.el and semantic/dep.el

	* lisp/cedet/ede/make.el (ede--find-executable): Make obsolete.
	(ede-make-command): Adjust caller.

	* lisp/cedet/semantic/dep.el
	(semantic--dependency-find-file-on-path): Make obsolete.
	(semantic-dependency-find-file-on-path): Adjust callers.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from python.el

	* lisp/progmodes/python.el: Remove some compat function definitions.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from binhex.el and uudecode.el

	* lisp/mail/binhex.el (binhex-temporary-file-directory): Make obsolete.
	(binhex-decode-region-external): Adjust usage.

	* lisp/mail/uudecode.el (uudecode-temporary-file-directory): Make
	obsolete.
	(uudecode-decode-region-external): Adjust usage.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from ispell.el

	* lisp/textmodes/ispell.el (ispell-check-version): Remove check
	for temporary-file-directory, which is always defined.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from uudecode.el

	* lisp/mail/uudecode.el (uudecode-decode-region-external): Remove
	check for make-temp-file, which is always defined.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from ediff-util.el

	* lisp/vc/ediff-util.el (ediff-minibuffer-with-setup-hook): Make
	into an obsolete macro.
	(ediff-read-file-name): Adjust caller.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from idlwave.el

	idlwave.el: (idlwave-comment-line-start-skip, idlwave-mode-map)
	(idlwave-mode, idlwave-get-buffer-visiting)
	(idlwave-find-file-noselect, idlwave-complete-in-buffer)
	(idlwave-attach-classes, idlwave-popup-select)
	(idlwave-split-menu-emacs, idlwave-display-completion-list)
	(idlwave-default-choose-completion)
	(idlwave-display-completion-list-emacs)
	(idlwave-display-completion-list-1)
	(idlwave-make-modified-completion-map-emacs)
	(idlwave-class-file-or-buffer, idlwave-rinfo-mouse-map)
	(idlwave-display-calling-sequence)
	(idlwave-insert-source-location)
	(idlwave-list-load-path-shadows, idlwave-edit-in-idlde): Remove
	XEmacs compat code.

2020-08-18  Andrew Whatson  <whatson@gmail.com>

	* Fix async compilation `comp-eln-load-path' effectiveness (bug#42909)

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward
	`comp-eln-load-path' to async workers.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from window.el

	* lisp/window.el (window-fixed-size-p): Remove check for
	window-size-fixed, which is always defined.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from idlwave.el

	* lisp/progmodes/idlwave.el (idlwave-one-key-select): Remove check
	from fit-window-to-buffer, which always exists.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove come compat code from rmailedit.el

	* lisp/mail/rmailedit.el (rmail-edit-mode): Remove check for
	mode-line-modified, which is always defined.

2020-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from erc-track.el

	* lisp/erc/erc-track.el (erc-track-remove-from-mode-line)
	(erc-track-add-to-mode-line): Remove check for mode-line-modes,
	which is always bound.

2020-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix glitch uncovered by gcc -fsanitize=undefined

	* src/ccl.c (ccl_driver): Defend against signed integer
	overflow (Bug#42660).  Perhaps some of this is unnecessary,
	but it is safe and ccl.c is low-priority these days.

2020-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Let Emacs start even if curdir is inaccessible

	* lisp/startup.el (normal-top-level): Also delete PWD if
	file-attributes fails for either $PWD or default-directory,
	instead of failing out of the top level.
	This fixes a regression from Emacs 26 (Bug#42903).

2020-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-08-17 verify: avoid __built_assume on Clang
	2020-08-17 libc-config: avoid Clang’s __diagnose_if__
	* lib/cdefs.h, lib/verify.h: Copy from Gnulib.

2020-08-17  Eli Zaretskii  <eliz@gnu.org>

	Don't use -Wsuggest-attribute=malloc by default

	* configure.ac: Move -Wsuggest-attribute=malloc to the set used
	only under --enable-gcc-warnings.

2020-08-17  Eli Zaretskii  <eliz@gnu.org>

	Fix assertion violation in pdumper.c

	* src/pdumper.c (pdumper_find_object_type_impl): When checking
	last_mark_bits, require the offset to be less than
	discardable_start, not cold_start.  This fixes a typo introduced in
	2020-08-14T21:33:21Z!eggert@cs.ucla.edu (Bug#42832).

2020-08-17  Andrea Corallo  <akrl@sdf.org>

	Improve eln filename hashing

	Make eln filename hashing logic insensitive to the installation
	process.

	* src/comp.c (epaths.h): New include to have PATH_DUMPLOADSEARCH,
	PATH_LOADSEARCH definitions.
	(loadsearch_re_list): New static var.
	(Fcomp_el_to_eln_filename): Update logic to have the eln hashing
	insensitive to the installation process.
	(syms_of_comp): GC protect 'loadsearch_re_list'.

2020-08-17  Andrea Corallo  <akrl@sdf.org>

	* test/src/comp-tests.el (comp-tests-bootstrap): Fix test for new eln setup.

2020-08-17  Andrea Corallo  <akrl@sdf.org>

	Introduce `load-no-native'

	Given load loads automatically a .eln in place of a .elc we need a way
	to force the .elc load in the case we really want it.

	* src/lread.c (syms_of_lread): Define `load-no-native'.
	(maybe_swap_for_eln): Make use of.

2020-08-17  Andrea Corallo  <akrl@sdf.org>

	Remove a false permission related error while native compiling

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Do not crash if
	native compiling we have no permission to create the .elc
	file.  We are not creating it.

2020-08-17  Andrea Corallo  <akrl@sdf.org>

	Allow for native compiling .el.gz files

	This is needed for installed instances compiled with NATIVE_FAST_BOOT

	* src/comp.c (maybe_defer_native_compilation): Search for .el.gz
	too as a source if the .el is not found.
	(Fcomp_el_to_eln_filename): Remove the .gz in case to
	generate the hash.

	* lisp/emacs-lisp/comp.el (comp-valid-source-re): New defconst.
	(comp-run-async-workers, native-compile-async): Make use of
	`comp-valid-source-re'.

2020-08-17  Andrea Corallo  <akrl@sdf.org>

	Make install target functional for new eln-cache directory arrangement

	* src/comp.h (fixup_eln_load_path): New extern.

	* src/comp.c (fixup_eln_load_path): New function.

	* src/pdumper.c (dump_do_dump_relocation): Update to make use of
	'fixup_eln_load_path'.

	* lisp/loadup.el: Update to store in the compilation unit the
	correct eln-cache installed path. Rename --lisp-dest -> --eln-dest
	and.

	* Makefile.in: Pass the eln destination directory to
	src/Makefile. Rename LISP_DESTDIR -> ELN_DESTDIR.
	(ELN_DESTDIR): Define.
	(install-eln): New target.
	(install): Add install-eln as prerequisite.

	* src/Makefile.in: Rename --lisp-dest -> --eln-dest and
	LISP_DESTDIR -> ELN_DESTDIR.

2020-08-17  Andrea Corallo  <akrl@sdf.org>

	Deferred compilation must always compile despite source file timestamp

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Always compile
	if load is set.

2020-08-17  Andrea Corallo  <akrl@sdf.org>

	Do not fail if more then one level of directories has to be created

	* lisp/emacs-lisp/comp.el (native-compile-async): Call
	make-directory if necessary.

2020-08-17  Andrea Corallo  <akrl@sdf.org>

	Prevent recursive load

	Prevent autoload to kicks in while running `native-compile-async'.
	Autoload cannot be used safely by functions serving deferred
	compilation as a circular load can be triggered if the dependency is
	not native compiled already.

	* lisp/emacs-lisp/comp.el (warnings): Add require.

2020-08-17  Andrea Corallo  <akrl@sdf.org>

	Some Makefile updates and clean-up

	* Makefile.in (clean): Remove 'eln-cache' folder.

	* lisp/Makefile.in (.SUFFIXES): Remove .eln.
	(native-compile-clean): Target remove.
	(compile-always, bootstrap-clean): Remove 'native-compile-clean'
	prerequisite.

	* src/Makefile.in (%.eln): Remove rule.

2020-08-17  Andrea Corallo  <akrl@sdf.org>

	Make comp-deferred-compilation a simple global and set it on by default

	* src/comp.c (comp_deferred_compilation): Doc update and set it to
	true by default.

	* lisp/emacs-lisp/comp.el (comp-deferred-compilation): Remove
	customize.

2020-08-17  Andrea Corallo  <akrl@sdf.org>

	Move eln files into dedicated cache directories

	When loading a elc file search for a corresponding eln one into
	`comp-eln-load-path' directories and load it if available.
	`comp-eln-load-path' contains by default two directory (user and
	system one).

	* src/pdumper.c (dump_do_dump_relocation): While resurrecting from
	load set eln cache sys dir in `Vcomp_eln_load_path'.

	* src/lread.c (maybe_swap_for_eln): New function.
	(Fload): Clean-up some now unnecessary code going
	back to the master one.
	(Fload): Make use of Vcomp_eln_to_el_h for the reverse file
	look-up.
	(openp_add_middle_dir_to_suffixes)
	(openp_max_middledir_and_suffix_len, openp_fill_filename_buffer):
	Remove functions.
	(openp): As for Fload revert code modifications.
	(openp): When a .elc file is being loaded check if a corresponding
	eln can be loaded in place.

	* src/comp.c (ELN_FILENAME_HASH_LEN): New macro.
	(comp_hash_string): New function.
	(hash_native_abi): Make use of 'comp_hash_string'.
	(hash_native_abi): Change `comp-native-path-postfix' format.
	(Fcomp_el_to_eln_filename): New function.
	(Fcomp__compile_ctxt_to_file): Have file_name as a input.
	(Vcomp_eln_to_el_h, Vcomp_eln_load_path): New global variables.

	* lisp/startup.el (normal-top-level): Add user eln cache directory
	in `comp-eln-load-path'.

	* lisp/help-fns.el (find-lisp-object-file-name): Reverse look-up
	files using `comp-eln-to-el-h'.

	* lisp/files.el (locate-file): Likewise.

	* lisp/emacs-lisp/find-func.el (find-library-name): Likewise.

	* lisp/emacs-lisp/comp.el (comp-output-directory)
	(comp-output-base-filename, comp-output-filename): Remove function.
	(comp-compile-ctxt-to-file): Create parent directories if
	necessary.
	(comp-run-async-workers, native-compile, native-compile-async):
	Make use `comp-el-to-eln-filename'.

2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS: Mention GnuPG 2.0 through 2.1.5 issue (Bug#42845).

2020-08-17  Stefan Kangas  <stefankangas@gmail.com>

	Remove some obsolete items from PROBLEMS

	* etc/PROBLEMS: Remove some obsolete items.

2020-08-17  Stefan Kangas  <stefankangas@gmail.com>

	Remove more XEmacs compat code from viper

	* lisp/emulation/viper-util.el (viper-sit-for-short)
	(viper-last-command-char): Make obsolete.
	(viper-fast-keysequence-p):
	* lisp/emulation/viper-cmd.el (viper-escape-to-emacs)
	(viper-digit-argument, viper-command-argument, viper-undo)
	(viper-exit-minibuffer):
	* lisp/emulation/viper-mous.el (viper-multiclick-p):
	Adjust callers.

2020-08-17  Robert Pluim  <rpluim@gmail.com>

	Fix bug with ~/Emacs file not being read at init

	* src/xrdb.c (get_user_app): Put "/" between homedir
	and %L or %N (Bug#42827).

2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify format_time_string

	* src/timefns.c (emacs_nmemftime, format_time_string):
	Simplify on the basis of recent nstrftime changes.
	Propagate nstrftime errno.

2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-08-16 time_rz: remove unused functions
	2020-08-16 time_rz: fix issues with mktime_z failures
	2020-08-16 nstrftime: Guide inlining also on clang
	2020-08-16 intprops: Avoid bogus warning on clang
	2020-08-16 libc-config: Enable __REDIRECT macro also on clang
	2020-08-16 regex: Use initializer shorthand syntax also with clang
	2020-08-16 regex: Use space optimization also with clang
	2020-08-16 Use _Static_assert and static_assert when present on clang
	2020-08-16 Use 'throw ()' for optimization in C++ mode also on clang
	2020-08-16 stdio: Don't break attribute 'scanf' on clang
	2020-08-16 Fix "warning: 'format' attribute ...: rpl_printf"
	2020-08-16 Fix "warning: attribute declaration must precede definition"
	2020-08-16 Fix undesired warnings
	2020-08-16 Don't use Autoconf quadrigraphsxo
	2020-08-16 Fix quoting of AC_LANG_PROGRAM arguments
	2020-08-16 Assume autoconf >= 2.64
	2020-08-15 nstrftime: be more predictable about errno
	2020-08-15 canonicalize: Fix autoconf test on MSVC/clang
	2020-08-15 Support compiling without -loldnames on native Windows
	2020-08-14 mktime, mktime-internal: Remove obsolete code
	2020-08-14 Assume tzset exists
	* lib/c++defs.h, lib/canonicalize-lgpl.c, lib/cdefs.h, lib/dup2.c:
	* lib/fcntl.in.h, lib/getopt-cdefs.in.h, lib/intprops.h, lib/md5.h:
	* lib/mktime.c, lib/nstrftime.c, lib/open.c, lib/regcomp.c:
	* lib/regex_internal.h, lib/stdio.in.h, lib/stdlib.in.h:
	* lib/strftime.h, lib/string.in.h, lib/sys_select.in.h:
	* lib/sys_stat.in.h, lib/sys_time.in.h, lib/time.in.h, lib/time_rz.c:
	* lib/unistd.in.h, lib/verify.h, m4/00gnulib.m4:
	* m4/absolute-header.m4, m4/alloca.m4, m4/canonicalize.m4, m4/dup2.m4:
	* m4/fchmodat.m4, m4/fcntl.m4, m4/fdopendir.m4, m4/fpending.m4:
	* m4/futimens.m4, m4/getdtablesize.m4, m4/getloadavg.m4:
	* m4/gnulib-common.m4, m4/include_next.m4, m4/largefile.m4:
	* m4/manywarnings.m4, m4/mktime.m4, m4/nstrftime.m4, m4/open-slash.m4:
	* m4/pselect.m4, m4/pthread_sigmask.m4, m4/time_h.m4, m4/utimens.m4:
	* m4/utimensat.m4, m4/utimes.m4, m4/warnings.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2020-08-16  Jonas Bernoulli  <jonas@bernoul.li>

	Allow overriding read--expression-try-read bindings

	* lisp/simple.el (read--expression): No longer bind
	read--expression-try-read here.
	* lisp/simple.el (read-expression-map): Bind
	read--expression-try-read here (bug#42893).

	This new specialized command was recently added in [1: 4a6dd13fa4].
	It reestablishes the bindings every time `read--expression' is
	invoked, which is wrong because it makes it impossible for users
	to remove these bindings.

	1: 4a6dd13fa42c87175ac72e1980f31cac56582db3
	Change 'M-:' to not error out on incomplete expressions.

2020-08-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Implement list-system-processes on OpenBSD

	* src/sysdep.c: Implement list-system-processes on OpenBSD:
	(bug#13881).  Based on a patch by Jérémie Courrèges-Anglas.

2020-08-16  João Távora  <joaotavora@gmail.com>

	Don't let docless variables hide function signature

	In Elisp mode, ElDoc will try the variable's docstring first, then the
	function signature.  If the former doesn't have one, don't hide the
	latter.

	* lisp/progmodes/elisp-mode.el (elisp-eldoc-var-docstring): If no
	symbol docstring, don't declare any.

2020-08-16  Stefan Kangas  <stefankangas@gmail.com>

	Add new option flyspell-correct-on-mouse-3

	* lisp/textmodes/flyspell.el
	(flyspell-correct-on-mouse-3): New option to bind
	'flyspell-correct-word' to 'mouse-3'.
	(flyspell--set-correct-on-mouse-3): New function to update option.
	(flyspell-mode): Update 'flyspell-mouse-map' if above option is
	set.
	* doc/emacs/fixit.texi (Spelling): Mention the new option.
	* etc/NEWS: Announce the new option.

2020-08-16  Stefan Kangas  <stefankangas@gmail.com>

	Remove redundant :group args from flyspell.el

	* lisp/textmodes/flyspell.el: Remove redundant :group args.

2020-08-16  Stefan Kangas  <stefankangas@gmail.com>

	Mark XEmacs compat alias as obsolete

	* lisp/subr.el (user-original-login-name): Mark as obsolete.  This
	XEmacs compat alias was obsoleted even by XEmacs, so there is no point
	in keeping it around.

2020-08-16  Steven Allen  <steven@stebalien.com>

	Set the current buffer in esh-mode before running filter functions

	* lisp/eshell/esh-mode.el: (eshell-output-filter): Match
	current-buffer behavior of comint-output-filter (bug#42870).

	This change (a) sets the current buffer to the process-buffer when
	invoking preoutput filter functions and (b) only invokes them when the
	process-buffer is live. Otherwise, the preoutput filter functions be
	invoked in whatever buffer happens to be focused, breaking hooks that
	read buffer-local variables.

2020-08-16  Mattias Engdegård  <mattiase@acm.org>

	Stop using calc for ntlm time computation

	* lisp/net/ntlm.el: Don't require calc.
	(ntlm-compute-timestamp): Use plain arithmetic instead of calc.
	(ntlm--time-to-timestamp): New helper function.

2020-08-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/eudc-bob.el (eudc-bob-pipe-object-to-external-program): Simplify

	Use `with-temp-buffer`.

2020-08-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/eudc-bob.el: Use lexical-binding; Misc simplifications

	(eudc-bob-generic-keymap, eudc-bob-image-keymap)
	(eudc-bob-sound-keymap, eudc-bob-url-keymap, eudc-bob-mail-keymap):
	Move initialization into declaration.  Use RET rather than `return`.
	(eudc-jump-to-event): Delete; use `mouse-set-point` instead.
	(eudc-bob-save-object): Rewrite using `write-region`.
	(eudc-bob-popup-menu): Use `popup-menu`.

2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix recently-introduced Fdelete bug

	Problem reported by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2020-08/msg00444.html
	* src/fns.c (Fdelete): Fix correctness bug via a simpler (though more
	memory-intensive) approach.  It’s probably not worth optimizing
	the memory usage yere.
	* test/src/fns-tests.el (test-vector-delete): Add test for the bug.

2020-08-15  Andrea Corallo  <akrl@sdf.org>

	Remove a warning for conventional build

	* src/lread.c (parent_directory): Add ATTRIBUTE_UNUSED.

2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Minimize ‘equal’ calls in (delete x vector)

	* src/fns.c (Fdelete): When deleting from a vector, call Fequal
	only once per vector element.  This is faster when Fequal is slow,
	and avoids the need to preinitialize the vector result.  Finish
	when the result is exhausted, not when the input is exhausted;
	the two are equivalent but the former may be faster.
	* test/src/fns-tests.el (test-vector-delete): New test.

2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fdelete speed tweak for strings

	* src/fns.c (Fdelete): Hoist FIXNUMP out of a loop,
	and turn it into CHARACTERP.

2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer Fvector to make_uninit_vector

	Fvector is less error-prone than make_uninit_vector, as it
	avoids the possibility of a GC crash due to an uninitialized
	vector.  So prefer Fvector to make_uninit_vector when this is
	easy (and when there's no significant performance difference).
	Inspired by a suggestion by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2020-08/msg00313.html
	* src/ccl.c (Fregister_ccl_program):
	* src/ccl.c (Fregister_ccl_program):
	* src/charset.c (Fdefine_charset_internal):
	* src/font.c (Fquery_font, Ffont_info, syms_of_font):
	* src/fontset.c (font_def_new, Fset_fontset_font):
	* src/ftfont.c (ftfont_shape_by_flt):
	* src/hbfont.c (hbfont_shape):
	* src/macfont.m (macfont_shape):
	* src/search.c (Fnewline_cache_check):
	* src/xfaces.c (Fx_family_fonts):
	* src/xfns.c (Fx_window_property_attributes):
	Prefer Fvector to make_uninit_vector when either is easy.
	* src/fontset.c (font_def_new): Now a function with one less
	arg instead of a do-while macro, and renamed from FONT_DEF_NEW.
	All uses changed.

2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix GC bugs related to uninitialized vectors

	Avoid problems if GC occurs while initializing a vector.
	Problem with Fdelete reported by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2020-08/msg00313.html
	I looked for similar problems elsewhere and found quite a few.
	* src/coding.c (make_subsidiaries):
	* src/composite.c (syms_of_composite):
	* src/font.c (build_style_table, Ffont_get_glyphs):
	* src/nsselect.m (clean_local_selection_data):
	* src/nsxwidget.m (js_to_lisp):
	* src/syntax.c (init_syntax_once):
	* src/window.c (Fcurrent_window_configuration):
	* src/xselect.c (selection_data_to_lisp_data)
	(clean_local_selection_data):
	Use make_nil_vector instead of make_uninit_vector.
	* src/fns.c (Fdelete):
	* src/xwidget.c (webkit_js_to_lisp):
	Use allocate_nil_vector instead of allocate_vector.
	* src/search.c (Fnewline_cache_check):
	Use make_vector instead of make_uninit_vector.

2020-08-15  Roland Kaufmann  <rlndkfmn+emacs@gmail.com>  (tiny change)

	Allow build configuration on Apple ARM devices (bug#41994)

	* configure.ac: Add arm as a port target for Darwin.

2020-08-15  Tino Calancha  <tino.calancha@gmail.com>

	Prevent from frozen frame after `C-z' in Lucid builds

	Some WMs (e.g. mutter in Gnome Shell) don't unmap iconized windows,
	thus we won't get a MapNotify when deconifying them.
	Check if we are deconifying a window elsewhere (Bug#42655).

	- src/xterm.c (handle_one_xevent):
	Check for window deconify when receiving a FocusIn signal.

2020-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new variable term-set-terminal-size (not setting LINES/COLUMNS)

	* lisp/term.el (term-set-terminal-size): New variable (bug#37564).
	(term-exec-1): Use it.  Based on a patch from Matthew Leach
	<matthew@mattleach.net>.

2020-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make Gnus stop clobbering the M-s search prefix key binding

	* doc/emacs/misc.texi (Gnus Summary Buffer): Ditto.

	* doc/misc/gnus.texi (Searching for Articles): Document moved M-s
	(bug#39706).

	* lisp/gnus/gnus-sum.el (gnus-summary-mode-map): Move
	gnus-summary-search-article-forward to M-s M-s, and add M-s M-r
	for gnus-summary-search-article-backward.

2020-08-15  Steven Allen  <steven@stebalien.com>

	Fix thinko in setting url-portspec

	* lisp/url/url-expand.el (url-default-expander): Set
	`url-portspec' (bug#42869).

2020-08-15  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>

	Tweak how ido handles killing virtual buffers

	* lisp/ido.el (ido-buffer-internal): Handle killing of virtual buffers
	as a special case.
	(ido-visit-buffer): Document the special case (bug#38294).

2020-08-15  Eli Zaretskii  <eliz@gnu.org>

	Don't wrap lines at NBSP when nobreak-char-display is t

	* src/xdisp.c (get_next_display_element): When
	nobreak-char-display is t, display NBSP and non-ASCII hyphens as
	themselves, not as their ASCII counterparts, just with the
	nobreak-space/nobreak-hyphen face.  (Bug#42811)

2020-08-15  Jari Aalto  <jari.aalto@cante.net>

	Add support for ffap guessing at file names containing spaces

	* lisp/ffap.el (ffap-file-name-with-spaces): New variable (bug#8439).
	(ffap-search-backward-file-end, ffap-search-forward-file-end)
	(ffap-dir-separator-near-point): New functions.
	(ffap-string-at-point): Use the variable and the new functions to
	guess at files containing strings.

2020-08-15  Eli Zaretskii  <eliz@gnu.org>

	Document the 'flex' completion style

	* doc/emacs/mini.texi (Completion Styles): Document the 'flex'
	completion style.  (Bug#42763)

2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify Apple clang 11 __builtin_assume

	Problem reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2020-08/msg00300.html
	* src/lisp.h (bool_vector_bitref, bool_vector_set):
	Use eassert instead of eassume for bool_vector_size checks.

2020-08-15  Amin Bandali  <bandali@gnu.org>

	Add `message' to erc-match.el highlight types

	* lisp/erc/erc-match.el (erc-current-nick-highlight-type,
	erc-pal-highlight-type, erc-fool-highlight-type,
	erc-keyword-highlight-type, erc-dangerous-host-highlight-type): Add
	`message' type for highlighting the entire message but not the
	sender's nick.
	(erc-match-message): Check for the new `message' highlight type and
	propertize the message (not including the nick) accordingly.
	* etc/NEWS: Announce the addition of the `message' highlight type.

2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
	    Pip Cet  <pipcet@gmail.com>

	Fix bus error on Debian bullseye

	Problem reported by Lars Ingebrigtsen, and problem diagnosis
	and most of this patch by Pip Cet (Bug#42832).
	* src/pdumper.c (dump_bitsets_init): Rename from dump_bitset_init.
	All callers changed.  Initialize two bitsets with a single malloc
	call.
	(struct pdumper_loaded_dump_private): New member last_mark_bits.
	(pdumper_find_object_type_impl): Return PDUMPER_NO_OBJECT if
	the last_mark_bits’ bit is clear.
	(pdumper_set_marked_impl): Assert that the last_mark_bits’
	bit is set.
	(pdumper_clear_marks_impl): Save mark_bits into
	last_mark_bits before clearing mark_bits.

2020-08-14  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from mwheel.el

	* lisp/mwheel.el (mwheel-event-button, mwheel-event-window):
	Remove XEmacs compat code.

2020-08-14  Noam Postavsky  <npostavs@gmail.com>

	Make configure say so if we have "--with-json" but no jansson support

	* configure.ac (OPTION_DEFAULT_IFAVAILABLE): New macro.  Use it to
	define the --with-json option.  Add with_json and HAVE_JSON to the
	'MISSING' checks (bug#39953).

2020-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Mop up project-kill-buffers-ignores renaming

	* doc/emacs/maintaining.texi (Project Buffer Commands): Update
	project-kill-buffers-ignores that was renamed recently
	(bug#41868) (in 2ab66c9f9be923350f123fdea05b5b3ce8283d8a).

2020-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Note that Emacs needs systemd support if systemd is used to stop/start

	* etc/NEWS: Note that Emacs needs to be built with systemd support
	systemd is used to stop/start Emacs (bug#42242).  Change suggested by
	Bhavin Gandhi <bhavin7392@gmail.com>

2020-08-14  Yuan Fu  <casouri@gmail.com>

	Add two new commands for centering doc-view images

	* lisp/doc-view.el (doc-view-mode-map): Add binding for centering
	commands.
	(doc-view-center-page-horizontally, doc-view-center-page-vertically):
	New functions (bug#42272).

2020-08-14  Gregory Heytings  <ghe@sdf.org>  (tiny change)

	Fix visual fringe glitch in diff-mode

	* lisp/vc/diff-mode.el (diff--font-lock-prettify): Fix problems
	with visual gaps in the fringes when changing font size (bug#42300).

2020-08-14  Stefan Kangas  <stefankangas@gmail.com>

	Comment to postpone deletion of c-subword-mode

	* lisp/progmodes/subword.el (c-subword-mode): Clarify that this
	obsolete function alias should not be removed just yet.  There is a
	copy of this definition in cc-cmds.el, obsolete since 24.3, and it is
	better to delete both at the same time.

2020-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/perl-mode.el (perl--syntax-exp-intro-regexp): Bug#42168

	* test/lisp/progmodes/cperl-mode-tests.el: Adjust for `perl-mode`.
	(cperl-test-ppss): Rename from `cperl-test-face` and change return value.
	(cperl-mode-test-bug-42168): Test the `syntax-ppss` state rather than
	the font-lock faces, so it works for both `perl-mode` and `cperl-mode`.

2020-08-14  Mauro Aranda  <maurooaranda@gmail.com>

	Make sure we only act on edited widgets in Custom-save

	* lisp/cus-edit.el (Custom-save): Only act on edited widgets in the
	buffer.  If we attempt to redraw all widgets, we confuse
	custom-variable-modified-p, or we end up drawing State buttons for
	all options, including the hidden ones (bug#42801).

2020-08-14  Jonas Bernoulli  <jonas@bernoul.li>

	Parse the whole buffer at once in compile.el

	* lisp/progmodes/compile.el (compilation-next-single-property-change):
	Parse whole buffer at once (bug#42806).

	Also remove the comment that mentioned that it is an option to do it
	in one go as we now actually start doing.  As the existence of that
	comment suggested, there is not really a reason to process the buffer
	in small chunks.  On the contrary, processing the output in arbitrary
	units can result in certain constructs not being recognized because
	they begin in one arbitrary chunk, while ending in another.

2020-08-14  Dmitry Gutov  <dgutov@yandex.ru>

	Unbreak project-find-regexp in Emacs 26.3 (bug#42765)

	* lisp/progmodes/project.el: Depend on xref.  Bump the version.

	* lisp/progmodes/xref.el: Remove 'project' from the list of
	dependencies.  Depending on Emacs 26.3 already ensures that some
	version is available.  Bump the version.
	(xref--process-file-region): Move from project.el with a rename.
	Update the sole caller.
	(xref-backend-references): Make compatible with old project.el.
	Update the docstring.

2020-08-14  Ferdinand Pieper  <git@pie.tf>

	Fix flow filling for flowing multiple flowed lines

	* lisp/mail/flow-fill.el (fill-flowed): Loop until all flowed lines
	are collected.
	* test/lisp/mail/flow-fill-tests.el
	(fill-flow-tests-fill-flowed-decode): Also test for multiple
	flowed lines (bug#42855).

2020-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/searching.texi (Regexp Special): Tweak wording

2020-08-14  Yuan Fu  <casouri@gmail.com>

	Allow doc-view.el to rescale without imagemagick support

	* lisp/doc-view.el (doc-view-mode-p, doc-view-enlarge)
	(doc-view-scale-reset, doc-view-insert-image): Remove checks for
	imagemagick (bug#42272) -- Emacs can rescale images without imagemagick.

2020-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Change icomplete-show-matches-on-no-input behavior

	* lisp/icomplete.el (icomplete-show-matches-on-no-input): Doc fix.
	(icomplete-completions): Set completion-content-when-empty.

	* lisp/minibuffer.el (completion-content-when-empty): New variable.
	(completion--complete-and-exit): Use it (bug#19032).

	Based on a patch by Matthew Leach <matthew@mattleach.net>.

2020-08-14  Stefan Kangas  <stefankangas@gmail.com>

	Remove Emacs 22 compat code from semantic

	* lisp/cedet/semantic/bovine/c.el (semantic-c-end-of-macro):
	Make into obsolete function alias for 'c-end-of-macro'.
	(semantic-lex-cpp-define, semantic-lex-c-macrobits):
	* lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-paren-or-list):
	Adjust callers.

2020-08-14  Stefan Kangas  <stefankangas@gmail.com>

	Make Emacs 20 compat code in derived.el obsolete

	* lisp/emacs-lisp/derived.el (derived-mode-setup-function-name):
	Declare obsolete.  This was for compatibility with Emacs 20 or older.

2020-08-14  Stefan Kangas  <stefankangas@gmail.com>

	Remove many items obsolete since Emacs 23.1

	Emacs 23.1 was five major releases and over a decade ago.
	This list can be reviewed before to the next release, but for now
	hopefully this motivates any needed external updates.
	Ref: https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg02198.html

	* lisp/abbrev.el (pre-abbrev-expand-hook):
	* lisp/bookmark.el (bookmark-read-annotation-text-func)
	(bookmark-jump-noselect):
	* lisp/buff-menu.el (buffer-menu-mode-hook):
	* lisp/cus-edit.el (custom-mode-hook, custom-mode):
	* lisp/dirtrack.el (dirtrack-debug-toggle, dirtrack-debug):
	* lisp/emacs-lisp/crm.el (crm-minibuffer-complete)
	(crm-minibuffer-completion-help)
	(crm-minibuffer-complete-and-exit):
	* lisp/emacs-lisp/easymenu.el
	(easy-menu-precalculate-equivalent-keybindings):
	* lisp/emacs-lisp/lisp-mode.el (lisp-mode-auto-fill):
	* lisp/epa.el (epa-display-verify-result):
	* lisp/epg.el (epg-passphrase-callback-function):
	* lisp/eshell/eshell.el (eshell-report-bug):
	* lisp/ffap.el (ffap-bug, ffap-submit-bug):
	* lisp/files.el (locate-file-completion):
	* lisp/hi-lock.el (hi-lock-face-history, hi-lock-regexp-history):
	* lisp/hilit-chg.el (highlight-changes-initial-state)
	(highlight-changes-active-string)
	(highlight-changes-passive-string, global-highlight-changes):
	* lisp/international/mule-cmds.el (nonascii-insert-offset)
	(nonascii-translation-table):
	* lisp/international/mule-diag.el (non-iso-charset-alist):
	* lisp/international/mule-util.el (detect-coding-with-priority):
	* lisp/international/mule.el (charset-id, charset-bytes)
	(charset-list, char-valid-p, generic-char-p)
	(char-coding-system-table, make-coding-system)
	(set-coding-priority)
	* lisp/mail/rmail.el (rmail-message-filter):
	* lisp/minibuffer.el (complete-in-turn, dynamic-completion-table)
	(completion-common-substring)
	(minibuffer-local-must-match-filename-map):
	* lisp/mouse.el (mouse-major-mode-menu, mouse-popup-menubar)
	(mouse-popup-menubar-stuff):
	* lisp/net/newst-treeview.el (newsticker-groups-filename):
	* lisp/obsolete/tpu-edt.el (tpu-have-ispell, GOLD-map):
	* lisp/password-cache.el (password-read-and-add):
	* lisp/shell.el (shell-dirtrack-toggle):
	* lisp/subr.el (forward-point, redisplay-end-trigger-functions)
	(process-filter-multibyte-p, set-process-filter-multibyte):
	* lisp/t-mouse.el (t-mouse-mode):
	* lisp/term/w32-win.el (w32-focus-frame, w32-select-font):
	* lisp/textmodes/ispell.el (ispell-aspell-supports-utf8):
	* lisp/textmodes/remember.el (remember-buffer):
	* lisp/tooltip.el (tooltip-hook):
	* lisp/url/url-util.el (url-generate-unique-filename):
	* lisp/url/url-vars.el (url-temporary-directory):
	* lisp/vc/vc-hooks.el (vc-workfile-version)
	(vc-default-working-revision):
	* lisp/vc/vc-mtn.el (vc-mtn-command):
	* lisp/vc/vc.el (vc-revert-buffer):
	* lisp/vcursor.el (vcursor-toggle-vcursor-map):
	Remove items, obsolete since Emacs 23.1.
	* lisp/abbrev.el (expand-abbrev):
	* lisp/epg.el (epg-context): Change
	'epg-passphrase-callback-function' call to 'epa-' alternative.
	* lisp/eshell/em-rebind.el (eshell-cannot-leave-input-list): Don't
	refer to removed function 'forward-point'.
	* test/manual/etags/c-src/abbrev.c (Fexpand_abbrev):
	(syms_of_abbrev): Don't run removed hook 'pre-abbrev-expand-hook'.
	* lisp/international/mule.el (transform-make-coding-system-args):
	Declare obsolete.
	* lisp/progmodes/idlwave.el:
	Update reference to removed function 'char-valid-p'.
	* lisp/gnus/mml2015.el (epg-encrypt-string):
	* lisp/gnus/mml1991.el (epg-make-context):
	* lisp/gnus/mml-smime.el (autoload):
	Remove autoload of removed 'epg-passphrase-callback-function'.
	* lisp/minibuffer.el (completion-extra-properties):
	Remove support for `completion-common-substring'.
	* lisp/obsolete/tpu-edt.el (tpu-toggle-overwrite-mode)
	Remove support for removed `spell' package.
	* src/coding.c (syms_of_coding):
	* doc/misc/efaq.texi:
	* doc/emacs/frames.texi (Menu Mouse Clicks):
	* doc/misc/url.texi (Customization): Doc fixes.

2020-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Preserve the face foreground in Info-fontify-node"

	This reverts commit 1bed252ae9109493133a0cc3e9aad9e9a5ddde37.

	Juri Linkov says:

	This patch breaks Info fontification, please revert it.
	Here is what I said in the message sent later with another patch at
	https://debbugs.gnu.org/14645#14

	  Using the text property `face' instead of `font-lock-face'
	  might break something, so a better patch below removes
	  the text properties `face info-index-match' from the Info buffer

2020-08-14  Stefan Kangas  <stefankangas@gmail.com>

	Add test for Bug#41761

	* test/lisp/simple-tests.el (simple-test-count-words-bug-41761):
	New test.

2020-08-14  Daniel Koning  <dk@danielkoning.com>  (tiny change)

	Don't stop at field boundaries when counting words (Bug#41761)

	* lisp/simple.el (count-words): Ensure that `forward-word-strictly'
	moves point from one field to the next during the word-counting loop.

2020-08-14  Harald Jörg  <haj@posteo.de>

	cperl-mode: Highlight '{$a++ / $b}' correctly

	* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres):
	Recognize {$a++ / $b} correctly as division.  (Bug#42168)
	* test/lisp/progmodes/cperl-mode-tests.el: New file with test
	verifying the fix.

2020-08-14  Andrea Corallo  <akrl@sdf.org>

	Fix excessive echo area usage

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Use
	`with-temp-file' to fill temp-file.

2020-08-14  Andrea Corallo  <akrl@sdf.org>

	* src/pdumper.c (dump_do_dump_relocation): Improve error messages.

2020-08-14  Stefan Kangas  <stefankangas@gmail.com>

	Make erc-compat.el obsolete

	* lisp/erc/erc-compat.el: Move from here...
	* lisp/obsolete/erc-compat.el: ...to here.
	* lisp/erc/erc-backend.el:
	* lisp/erc/erc-pcomplete.el:
	* lisp/erc/erc-stamp.el:
	* lisp/erc/erc-track.el:
	* lisp/erc/erc.el: Don't require 'erc-compat'.

	* lisp/erc/erc-backend.el (erc-decode-string-from-target):
	* lisp/erc/erc-dcc.el (pcomplete/erc-mode/DCC):
	* lisp/erc/erc-fill.el (erc-fill-mode):
	* lisp/erc/erc-goodies.el (erc-controls-interpret):
	* lisp/erc/erc-log.el (erc-log-setup-logging):
	* lisp/erc/erc-notify.el (erc-notify-QUIT):
	* lisp/erc/erc.el (erc-startup-file-list, define-erc-module)
	(erc-canonicalize-server-name, erc-cmd-SV, erc-banlist-update)
	(erc-group-list, erc-seconds-to-string): Adjust callers.
	* lisp/erc/erc.el: Require cl-lib and format-spec.

	* etc/NEWS: Add entry announcing erc-compat.el being marked as
	obsolete.

2020-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-08-13 sys_random: Work around an uClibc bug
	* lib/sys_random.in.h, m4/getrandom.m4, m4/sys_random_h.m4:
	Copy from Gnulib.

2020-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	Fix startup working dir bug on NeXTSTEP

	* src/emacs.c (main) [NS_IMPL_COCOA]: Update emacs_wd
	after a NS GUI chdirs successfully (Bug#42836).

2020-08-13  Stefan Kangas  <stefankangas@gmail.com>

	Add tests for cl-{incf,decf}

	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-incf)
	(cl-lib-test-decf): New tests.

2020-08-13  Alan Third  <alan@idiocy.org>

	Fix slow down when moving between monitors (bug#42834)

	* src/nsterm.m ([EmacsView windowDidChangeBackingProperties:]):
	Recreate the buffer every time.

2020-08-13  Tobias Zawada  <i_inbox@tn-home.de>  (tiny change)

	Handle nil load-path element in read-library-name

	* lisp/emacs-lisp/find-func.el (read-library-name): Fix handling of
	nil 'load-path' element.  (Bug#41998)

2020-08-13  Glenn Morris  <rgm@gnu.org>

	Update a paragraphs test

	* test/lisp/textmodes/paragraphs-tests.el
	(paragraphs-tests-mark-paragraph): Update for recent change.

2020-08-13  Glenn Morris  <rgm@gnu.org>

	Update a compile test

	* test/lisp/progmodes/compile-tests.el (compile-test-error-regexps):
	Update info/warning count for recent compile.el change.

2020-08-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	69568674b3 (origin/emacs-27) Improve documentation of function argume...
	1c0bc1ccd8 Improve documentation of special events

2020-08-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	63f614d76c Fix comint-redirect-results-list regexp usage (Bug#42662)

2020-08-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	86d8d76aa3 (tag: emacs-27.1-rc2, tag: emacs-27.1) ; lisp/ldefs-boot.e...
	a6634197da * etc/HISTORY: Update the Emacs 27.1 release date.
	a68b3f761a ; Update ChangeLog.3
	7cc85e7b51 ; Update etc/AUTHORS
	1ca4da054b ; * etc/NEWS: fix some quoting
	5578febcd4 ; * lisp/so-long.el: Documentation
	fa20e443c8 lisp/so-long.el: Improve support for major mode hooks

	# Conflicts:
	#	etc/AUTHORS
	#	etc/NEWS

2020-08-13  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of function argument lists

	* doc/lispref/functions.texi (Lambda Components)
	(Defining Functions): Add a cross-reference to "Argument List".
	(Argument List): Improve the section name.  (Bug#42750)

2020-08-13  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of special events

	* doc/lispref/commands.texi (Misc Events): Explain how to bind
	special events to commands.

2020-08-13  Eli Zaretskii  <eliz@gnu.org>

	Fix face merging at EOL when inherited face specifies :extend

	* src/xfaces.c (merge_face_ref): Handle correctly faces that
	inherit from another, and in addition specify :extend.
	(Bug#42552)

	(cherry picked from commit 39c90f8dfabe158ad7ac9243aa9b9dedb9409e19)

2020-08-13  Eli Zaretskii  <eliz@gnu.org>

	Fix face extension past EOL in overlay strings

	* src/xdisp.c (face_at_pos): Pass ATTR_FILTER to
	face_for_overlay_string.
	* src/xfaces.c (face_for_overlay_string): Accept an additional
	argument ATTR_INDEX and pass it to merge_face_ref for merging the
	face at POS.  This ensures a face from buffer text will not be
	merged unless it specifies the :extend attribute.  (Bug#42552)
	* src/dispextern.h (face_for_overlay_string): Adjust prototype.

	(cherry picked from commit 35564bea4d73bc266743216599d01d644aed6fd8)

2020-08-13  Juri Linkov  <juri@jurta.org>

	Preserve the face foreground in Info-fontify-node

	* lisp/info.el (Info-fontify-node): Preserve the face foreground.
	Previously `Info-index' added the `info-index-match' face to the
	strings of the found index entries.  Later
	`Info-virtual-index-find-node' inserts strings to the Info buffer.
	And finally `Info-fontify-node' puts the `font-lock-face' property
	with `info-xref' on links.  The `face info-index-match' takes
	precedence over `font-lock-face info-xref' (bug#14645).

2020-08-13  Ryan Crum  <ryan@ryancrum.org>

	Add a new variable to not recenter term on all input

	* lisp/term.el (term-scroll-snap-to-bottom): New variable (bug#15744).
	* lisp/term.el (term-emulate-terminal): Use it.

2020-08-13  Andrea Corallo  <akrl@sdf.org>

	* src/pdumper.c (dump_cold_native_subr): Clean-up *IMPLICIT_CONVERSION macros.

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-08-13  Dima Kogan  <dima@secretsauce.net>

	gcc-include compilation lines are now INFO, instead of WARNING

	* lisp/progmodes/compile.el
	(compilation-error-regexp-alist-alist): Prior to this patch the
	line that contains "from a.h:1:0," was seen as INFO and the line
	that contains "from a.c:1:" was seen as a WARNING.  This patch
	makes them both INFO (bug#17826).

2020-08-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure that server-socket-dir doesn't have "//" in the path

	* lisp/server.el (server-socket-dir): Use expand-file-name to
	avoid "//" in the path name (if either XDG_RUNTIME_DIR or TMPDIR
	ends in a slash) (bug#18658).

2020-08-13  H. Dieter Wilhelm  <dieter@duenenhof-wilhelm.de>

	Handle negative prefix arguments to mark-paragraph correctly

	* lisp/textmodes/paragraphs.el (mark-paragraph): Handle negative
	arguments correctly (bug#18847).  This makes `M- M-h M-h' do the
	correct thing with expanding the region (like other marking
	commands) backwards.  Also fix problem at the end of the buffer,
	where the numbers of paragraphs left in the buffer is less than
	ARG, then paragraphs would also be marked *before* the current
	paragraph.  Also clarify the doc string.

2020-08-13  Jonas Bernoulli  <jonas@bernoul.li>

	Update section heading conventions for libraries

	* doc/lispref/tips.texi (Comment Tips): Update information on section
	  headings to reflect common usage.

	Previously the tips stated that if the code is split up into multiple
	sections, then that should be done by splitting up the ";;; Code:"
	section into multiple sub-sections.

	However about half the libraries in Emacs instead use multiple
	top-level sections.  We update the tips (aka conventions) to allow
	this common usage, but because it is awkward if there is a section
	named "Code", which contains only some of the code instead of all of
	it, we now recommend that that section should be empty in this case.

	We cannot just give up on the "Code:" section/heading because that is
	an old convention that is followed be nearly every library and because
	it is likely that there are some utilities out there that depend on
	its presence.

	This was discussed in
	https://lists.gnu.org/archive/html/emacs-devel/2020-07/msg00444.html
	https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00001.html

2020-08-13  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/font-lock.el: No longer use headings as end of section markers.

	Each section ends right before the following section begins and IMO
	that means that it is unnecessary to mark the end of sections.

	For users of `outline-minor-mode' the old end-of-section markers were
	a distraction.  They made it much harder to parse the overview outline
	state because each section heading was followed by a end-of-section
	marker that was formatted as a section heading.  Because of this I
	wanted to remove the end-of-section markers.

	But as Eli pointed out these sections are long and not everyone uses
	`outline-minor-mode'.

	So instead of removing them, I am turning the end-of-section markers
	into regular comments (beginning with just two semicolons) instead of
	section headings (beginning with tree semicolons).  That way users of
	`outline-minor-mode' won't be distracted by them and others can still
	benefit from the markers as before.

2020-08-13  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/font-lock.el: Split the Commentary into subsections.

	The "Commentary" was already split into multiple sections, but
	these sections where on the same level as "Commentary" itself,
	which is less convenient for users of `outline-minor-mode'.

2020-08-13  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/net/imap.el: Use proper outline headings

	This library already used section headings but it used just two
	instead of three semicolons, making them indistinguishable from
	plain comments.  One heading is new.

2020-08-13  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/obsolete/longlines.el: Use proper outline headings.

	This library already used section headings but it used just two
	instead of three semicolons, making them indistinguishable from
	plain comments.  One heading is new.

2020-08-13  Jonas Bernoulli  <jonas@bernoul.li>

	* test/src/emacs-module-tests.el: Use proper outline headings.

	This library already used section headings but it used just two
	instead of three semicolons, making them indistinguishable from
	plain comments.

2020-08-13  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/mail/smtpmail.el: Use outline headings.

2020-08-13  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/progmodes/compile.el: Remove unnecessary comments.

	These comments are unnecessary because the doc-strings that follow
	already cover the same ground, while being more concise.  These
	comments were also prefixed with too many semicolons, causing them
	to be treated as outline headings.

2020-08-13  Jonas Bernoulli  <jonas@bernoul.li>

	Merge two conditions and fix indentation

	The motivation behind this change is that the indentation of some
	lines was outright wrong.  If we address that issue, then we might
	as well also address the issue that some code is needlessly nested
	an additional level.  That we can fix by merging the conditions.

	By doing these two changes in on commit we have to change the fewest
	lines.  Even though we are moving to using just spaces for indentation
	of the modified lines, other lines in the same function are left alone
	and continue to us tabs+spaces for indentation.  That is not "wrong",
	but just the style we are slowly migrating away from when touching
	lines for other reasons.

	Discussed in bug#42397.

	* lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Merge two
	conditions and fix indentation.

2020-08-13  Jonas Bernoulli  <jonas@bernoul.li>

	Split EasyPG libraries into outline sections

	* lisp/epa-dired.el:
	lisp/epa-file.el:
	lisp/epa-hook.el:
	lisp/epa-mail.el:
	lisp/epa.el:
	lisp/epg-config.el:
	lisp/epg.el: Split into outline sections.
	* lisp/epg.el (epg-error): Move definition.

2020-08-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't output emacsclient warning if both -a and --quiet

	* lib-src/emacsclient.c (set_local_socket): Don't output the
	warning if both -a and --quiet are specified (bug#16117).
	Inspired by a patch from Scott Turner <srt19170@gmail.com>.

2020-08-13  Emilio Lopes  <eclig@gmx.net>

	Notify the user if we errors when querying for registered git files

	* lisp/vc/vc-git.el (vc-git-registered): Notify the user when
	something fails here (bug#18481).

2020-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	mml-secure-en-decrypt-sign-2 is unstable

	* test/lisp/gnus/mml-sec-tests.el (mml-secure-en-decrypt-sign-2):
	Mark as unstable (Bug#42720).

2020-08-13  Stefan Kangas  <stefankangas@gmail.com>

	Remove Emacs 22 compat code from dns.el

	* lisp/net/dns.el (dns-servers-up-to-date-p, dns-set-servers):
	Remove check for function that is always there.

2020-08-13  Stefan Kangas  <stefankangas@gmail.com>

	Declare semantic XEmacs compat code obsolete

	* lisp/cedet/semantic/grammar.el
	(semantic-grammar-setup-menu-xemacs): Declare obsolete.

2020-08-13  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from allout-widgets.el

	* lisp/allout-widgets.el
	(allout-widgets-item-image-properties-xemacs)
	(allout-item-widget, allout-fetch-icon-image)
	(allout-widgets-copy-list): Remove XEmacs compat code.

2020-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/mailcap.el (mailcap-mime-data): Remove long-forgotten `ee`

	It referred apparently to the "Electric Eyes" image viewer:
	https://archive.org/details/tucows_31588_Electric_Eyes

2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	Stop using Gnulib inttypes module

	It wasn’t needed for MinGW after all, no other platform
	seems to need it, and it slows down ‘configure’.
	* admin/merge-gnulib (GNULIB_MODULES): Remove inttypes.
	* m4/gnulib-comp.m4: Regenerate.

2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-08-12 stdint: port intptr_t to more-recent MinGW
	2020-08-11 Use __restrict also on clang
	2020-08-11 Use flexible array syntax also on clang
	2020-08-11 fcntl: On native Windows, use _setmode, not setmode
	* lib/binary-io.h, lib/cdefs.h, lib/fcntl.c, lib/regex.h:
	* lib/stdint.in.h: Copy from Gnulib.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from mm-util.el

	* lisp/gnus/mm-util.el (mm-charset-to-coding-system): Remove the
	non-mule case, because it's always false.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Simplify the computation of mm-mime-mule-charset-alist

	* lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): For
	compatibility with XEmacs, mm-mime-mule-charset-alist was first
	set to a list of hard-coded entries, and then overwritten on Emacs
	from `coding-system-list'.  Remove the hard-coded values and
	simplify the code.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from eudc-bob.el

	* lisp/net/eudc-bob.el (eudc-bob-save-object)
	(eudc-bob-pipe-object-to-external-program): Remove checks for
	functions that are always defined in Emacs.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from url-handlers.el

	* lisp/url/url-handlers.el (url-insert-buffer-contents): Remove
	check for function that's always defined in Emacs.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from gnus.el

	* lisp/gnus/gnus.el: Remove a check for a function that is always
	defined.

2020-08-12  Amin Bandali  <bandali@gnu.org>

	Add support for italic text in ERC

	* lisp/erc/erc-goodies.el (erc-italic-face): New face for italic text.
	(erc-controls-interpret), (erc-controls-highlight): Add `italicp'.
	(erc-controls-remove-regexp),
	(erc-controls-highlight-regexp): Handle C-] for italic.
	(erc-controls-propertize): Add `italicp' argument and use it to
	conditionally propertize text with the new `erc-italic-face'.
	* etc/NEWS: Announce italic text support.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from viper-cmd.el

	* lisp/emulation/viper-cmd.el (viper-register-to-point):
	frame-configuration-p is always available in Emacs now.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from viper*.el

	* lisp/emulation/viper.el (viper-go-away, viper-set-hooks)
	(viper-non-hook-settings, viper-mode):
	* lisp/emulation/viper-cmd.el (viper-normalize-minor-mode-map-alist)
	(viper-harness-minor-mode): Remove a bunch of checks to do (or
	not do) things based on whether add-to-ordered-list is fbound and
	emulation-mode-map-alists is bound, because in Emacs now, these
	are always true.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark some unused defaliases in semantic/fw.el obsolete

	* lisp/cedet/semantic/fw.el (semantic-run-mode-hooks)
	(semantic-subst-char-in-string): Make two unused defaliases obsolete.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from epa.el

	* lisp/epa.el (epa--derived-mode-p, epa-import-keys): Make
	defalias obsolete, and adjust a comment.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from bubbles.el

	* lisp/play/bubbles.el (bubbles--remove-overlays): Make into an
	obsolete alias.
	(bubbles--initialize, bubbles--show-images): Adjust callers.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix a check for whether Emacs can play sounds in eudc-bob

	* lisp/net/eudc-bob.el (eudc-bob-sound-menu)
	(eudc-bob-play-sound-at-point): Check for play-sound-internal
	instead of play-sound, because the latter is always defined.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from allout.el

	* lisp/allout.el (allout-numbered-bullet)
	(allout-file-xref-bullet): string-or-null-p is always defined.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from allout*.el

	* lisp/allout-widgets.el (allout-widgets-mode-inhibit): Ditto.

	* lisp/allout.el (allout-use-hanging-indents)
	(allout-show-bodies, allout-old-style-prefixes)
	(allout-stylish-prefixes): `booleanp' is always defined.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from prolog.el

	* lisp/progmodes/prolog.el (match-string): Remove alias to
	function that always exists.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from idlwave.el

	* lisp/progmodes/idlwave.el: Remove some checks for functions that
	always exist.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from ediff-init.el

	* lisp/vc/ediff-init.el (subst-char-in-string, format-message):
	Remove aliases to functions that always exist.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Check make-process to determine if we support multi-processing

	* lisp/eshell/esh-proc.el (eshell-gather-process-output):
	* lisp/comint.el (make-comint-in-buffer): Check that make-process
	exists instead of start-file-process (which always exists).

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Remove compat code from esh-proc.el"

	This reverts commit 97c4d941daffba1635bd738fae9c4ff36e5ad0cf.

	We still have Emacs builds on systems with no multi-tasking.

2020-08-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Remove compat code from comint.el"

	This reverts commit 4d00db5538dc0ef47cf1cdf425b895d04145fe9e.

	We still have Emacs builds on systems with no multi-taskin.

2020-08-12  Tino Calancha  <tino.calancha@gmail.com>

	Do not truncate /foo//bar to /bar/ in parse-colon-path

	* lisp/files.el (parse-colon-path): Use substitute-env-vars and
	expand-file-name instead of substitute-in-file-name (Bug#21454).

2020-08-12  Stefan Kangas  <stefankangas@gmail.com>

	Remove Emacs 23 compat code from checkdoc.el

	* lisp/emacs-lisp/checkdoc.el (checkdoc-run-hooks): Redefine as
	obsolete function alias for 'run-hook-with-args-until-success'.
	(checkdoc-this-string-valid-engine)
	(checkdoc-file-comments-engine): Adjust callers.

2020-08-12  Stefan Kangas  <stefankangas@gmail.com>

	Minor cleanup in ps-def.el

	* lisp/ps-def.el (ps-frame-parameter): Make alias obsolete.
	* lisp/ps-print.el (ps-begin-job): Adjust caller.

2020-08-12  Phil Sainty  <psainty@orcon.net.nz>

	Fix comint-redirect-results-list regexp usage (Bug#42662)

	* lisp/comint.el (comint-redirect-results-list-from-process):
	Don't treat the literal string argument COMMAND as a regexp.

2020-08-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix monospace font calculations on macOS

	* src/macfont.m (macfont_monospace_width_multiplier): New function
	to compute the width for monospace fonts (bug#24582).
	(macfont_glyph_extents): Fix monospace glyph computation.
	(macfont_shape): Ditto.

2020-08-12  Mingde Matthew Zeng  <matthewzmd@gmail.com>

	Fix erc-reuse-buffers behavior

	* lisp/erc/erc.el (erc-generate-new-buffer-name): Fixes behavior 1,
	also determines if the '#channel/server' buffer already exists
	and will reuse that buffer when joining on the same
	server. Additionally when creating a new buffer with
	'#channel/serverB', the existing buffer '#channel' on 'severA' will be
	renamed to '#channel/serverA' for the sake of consistency (bug#40121).

	* lisp/erc/erc-join.el (erc-autojoin-channels): The logic is
	simplified ensuring that when autojoining channels specified in
	erc-autojoin-channels-alist, if there exists an erc buffer with the
	same channel name but a different server, it will create a new buffer
	to join the channel. The current logic is very weak that will skip
	joining same channel on different servers altogether.

	By the definition of erc-reuse-buffers, if non-nil it should create a
	new buffer when joining channels with same names on different
	servers. The current behavior of erc-reuse-buffers is:
	1. when non-nil, it will always reuse the same channel buffer,
	resulting in server A's channel gets reconnected to the channel with
	the same name of server B.
	2. when nil, the buffer-name of the joined channel is
	'#channel/server'. However if one tries to '/join #channel' from the
	server buffer, it creates a new empty buffer with buffer-name
	'#channel', instead of opening the already-joined channel buffer.

2020-08-12  Michael Albinus  <michael.albinus@gmx.de>

	Implement Tramp direct async processes fallback for multi-hops

	* doc/misc/tramp.texi (Remote processes): Precise restrictions for direct
	async processes.

	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
	Use `tramp-direct-async-process-p'.

	* lisp/net/tramp.el (tramp-direct-async-process-p): New defun.
	(tramp-handle-make-process): Adapt handling of :stderr.  Simplify.

2020-08-12  Sungbin Jo  <pcr910303@icloud.com>
	    Jaesup Kwak  <veshboo@gmail.com>

	Add utility functions and new xwidget commands


	* lisp/xwidget.el (xwidget-webkit-callback): Add case for
	'response-callback' event.
	(xwidget-webkit-download-dir): New variable.
	(xwidget-webkit-save-as-file): New function.
	* src/nsxwidget.m (XwWebView::decidePolicyForNavigationResponse):
	Store download event.
	* src/xwidget.c src/xwidget.h (store_xwidget_download_callback_event):
	New function.

2020-08-12  Sungbin Jo  <pcr910303@icloud.com>
	    Jaesup Kwak  <veshboo@gmail.com>

	Add utility functions and new xwidget commands


	* etc/NEWS: Announce new functions and options.
	* lisp/xwidget.el (xwidget): New defgroup.
	(xwidget-webkit-mode-map): Add new keybindings.
	(xwidget-webkit-scroll-up, xwidget-webkit-scroll-down)
	(xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
	Add optional argument to specify specific amounts to scroll down.
	(xwidget-webkit-scroll-up-line, xwidget-webkit-scroll-down-line): New
	functions.
	(xwidget-webkit-scroll-bottom): Fix function to scroll to the bottom
	of the document.
	(xwidget-webkit-callback): Use new function to update buffer title
	even when Javascript is disabled.
	(xwidget-webkit-bookmark-jump-new-session): New variable.
	(xwidget-webkit-bookmark-make-record): Modify to use xwidget-webkit to
	open bookmark that is created in xwidget-webkit.
	(xwidget-webkit-insert-string): Fix Javascript snippet to not throw
	Javascript exceptions.
	(xwidget-webkit-inside-pixel-width)
	(xwidget-window-inside-pixel-height): New functions.
	(xwidget-webkit-adjust-size-to-window): Use new functions.
	(xwidget-webkit-new-session): Insert invisible URL instead of an empty
	string to achieve better default behavior.
	(xwidget-webkit-back, xwidget-webkit-forward, xwidget-webkit-reload)
	(xwidget-webkit-current-url): Use new functions to enable scrolling
	even when Javascript is disabled.
	(xwidget-webkit-copy-selection-as-kill): Remove unnecessary lambda.
	* src/nsxwidget.h src/nsxwidget.m (nsxwidget_webkit_uri)
	(nsxwidget_webkit_title, nsxwidget_webkit_goto_history): Add new
	functions.
	* src/xwidget.c (Fxwidget_webkit_uri, Fxwidget_webkit_title)
	(Fxwidget_webkit_goto_history): Add new functions.
	(syms_of_xwidget): Define new functions.

2020-08-12  Glenn Morris  <rgm@gnu.org>

	Tweak recent solar.el change

	* lisp/calendar/solar.el (sunrise-sunset, solar-equinoxes-solstices):
	Use +0000 for "numeric" UTC, not +0100.

2020-08-12  Glenn Morris  <rgm@gnu.org>

	Rename recent calendar user option

	* lisp/calendar/calendar.el (calendar-time-zone-style):
	Rename from calendar-use-numeric-time-zones.
	* lisp/calendar/cal-dst.el (calendar-standard-time-zone-name)
	(calendar-daylight-time-zone-name):
	* lisp/calendar/solar.el (sunrise-sunset, solar-equinoxes-solstices):
	Use new variable name.
	* doc/emacs/calendar.texi (Sunrise/Sunset): Update.

2020-08-12  Sungbin Jo  <pcr910303@icloud.com>
	    Jaesup Kwak  <veshboo@gmail.com>

	Add xwidget support for macOS


	* configure.ac: Allow '--with-xwidgets' for "${NS_IMPL_COCOA}".
	* etc/NEWS: Mention new feature.
	* etc/TODO: Remove done TODO to implement xwidget in NeXTstep port.
	* lisp/xwidget.el (xwidget-webkit-clone-and-split-below)
	(xwidget-webkit-clone-and-split-right): New procedures.
	(xwidget-webkit-callback): Remove call to
	'xwidget-webkit-adjust-size-to-window' as adjusting xwidget size is
	handled in 'x_draw_xwidget_glyph_string'.
	(xwidget-webkit-enable-plugins): New variable.
	* nextstep/templates/Info.plist.in: Add 'NSAppTransportSecurity'.
	* src/Makefile.in: Add nsxwidget.o for compilation.
	* src/emacs.c (main): Move conditional call to 'syms_of_xwidget'.
	* src/nsterm.m (ns_draw_glyph_string): Add case for 'XWIDGET_GLYPH'.
	(note_mouse_movement mouseMoved): Make it easy to resize window by
	dragging mode-line or vertical separator adjacent to large glyph.
	* src/nsxwidget.h src/nsxwidget.m: Newly added files, xwidget webkit
	backend for macOS Cocoa.
	* src/xwidget.c (Fmake_xwidget, xwidget_init_view)
	(x_draw_xwidget_glyph_string, xwidget_is_web_view)
	(Fxwidget_webkit_goto_uri, Fxwidget_webkit_zoom, Fxwidget_resize)
	(Fxwidget_size_request, Fdelete_xwidget_view, xwidget_end_redisplay)
	(kill_buffer_xwidgets): Add macOS Cocoa specific functions and code
	with 'NS_IMPL_COCOA' and guard GTK specific functions and code with
	'USE_GTK'.
	(x_draw_xwidget_glyph_string): Handle adjusting xwidget size.
	* src/xwidget.h (xwidget, xwidget_view): Add macOS Cocoa specific
	fields with 'NS_IMPL_COCOA' and guard GTK specific fields with
	USE_GTK.

2020-08-12  Stefan Kangas  <stefankangas@gmail.com>

	Remove comment on Burma / Myanmar (Bug#42788)

	* lisp/language/burmese.el: Remove comment on Burma / Myanmar.

2020-08-12  Stefan Kangas  <stefankangas@gmail.com>

	Avoid ambiguity about what st refers to

	* lisp/term/st.el: Add link to website.

2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t warn about integer conversion in pdumper.c

	Problem reported by Juanma Barranquero in:
	https://lists.gnu.org/r/emacs-devel/2020-08/msg00279.html
	and a similar glitch was reported by Eli Zaretskii (Bug#36597#67).
	* src/pdumper.c: Remove -Wconversion pragma.
	(ALLOW_IMPLICIT_CONVERSION, DISALLOW_IMPLICIT_CONVERSION):
	Remove.  All uses removed.  Although -Wconversion may have
	been helpful when writing pdumper.c it is now causing more
	trouble than it’s worth here (just as in the rest of Emacs).
	(dump_read_all): Avoid no-longer-necessary use of ‘size_t’
	rather than ‘int’.

2020-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from autoload.el

	* lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
	register-definition-prefixes is in subr.el, so it shouldn't be
	necessary to check whether it's defined.

2020-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from comint.el

	* lisp/comint.el (make-comint-in-buffer): `start-file-process' is
	always defined, so remove test.

2020-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from esh-proc.el

	* lisp/eshell/esh-proc.el (eshell-gather-process-output):
	`start-file-process' is always defined, so remove the code that
	deals with Emacs versions that doesn't have it.

2020-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from allout.el

	* lisp/allout.el: (allout-process-exposed): Make
	allout-region-active-p an obsolete alias, and adjust callers.

2020-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code in prolog.el

	* lisp/progmodes/prolog.el (use-region-p): Remove compat code.

2020-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Slight allout.el clean-up

	* lisp/allout.el (allout-end-of-line, allout-mark-active-p): Make
	allout-mark-active-p obsolete, and adjust callers.

2020-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor idlwave clean up

	* lisp/progmodes/idlw-shell.el (idlwave-shell-mouse-examine)
	(idlwave-shell-print): Adjust callers.

	* lisp/progmodes/idlwave.el (idlwave-region-active-p): Make into
	obsolete alias.

2020-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Slight gnus-util clean-up

	* lisp/gnus/gnus-util.el (gnus-message-with-timestamp-1):
	messages-buffer is always defined.

2020-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Slight cleanup in calc-yank

	* lisp/calc/calc-yank.el (calc-yank): Remove compat code.

2020-08-11  Philipp Stephani  <phst@google.com>

	Unbreak build with --enable-checking=all

	Commit 16a16645f524c62f7906036b0e383e4247b58de7 has only changed a
	comment in ‘struct Lisp_Hash_Table’, so the portable dumper doesn’t
	need to be adapted.

	* src/pdumper.c (dump_hash_table): Update hash code for ‘struct
	Lisp_Hash_Table’.

2020-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Use Gnulib inttypes module

	Needed for platforms like MinGW that don’t support C99 PRIdPTR.
	* admin/merge-gnulib (GNULIB_MODULES): Add inttypes.
	* m4/gnulib-comp.m4: Regenerate.

2020-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-08-11 Use expression statements also on clang
	2020-08-10 Use many __attribute__s with clang
	2020-08-09 Use attribute __aligned__ with clang
	2020-08-09 Use __alignof__ with clang
	2020-08-09 ignore-value: Simplify on clang
	2020-08-09 Use __typeof__ with clang
	2020-08-09 intprops: Fix typo in comment
	2020-08-09 Silence warnings from clang 10 with -Wimplicit-fallthrough
	2020-08-09 count-one-bits: Use __builtin_popcount{,l,ll} on clang
	2020-08-09 string: Fix build error in C++ mode with clang
	2020-08-09 Add ability to emit user-defined diagnostics with clang
	2020-08-07 alloca: No need to compile alloca.c with clang
	2020-08-06 Use __builtin_assume with clang
	* lib/alloca.in.h, lib/arg-nonnull.h, lib/c++defs.h, lib/cdefs.h:
	* lib/count-one-bits.h, lib/dirent.in.h, lib/ignore-value.h:
	* lib/intprops.h, lib/malloca.h, lib/regex_internal.h:
	* lib/stdalign.in.h, lib/stddef.in.h, lib/stdio.in.h:
	* lib/stdlib.in.h, lib/string.in.h, lib/verify.h, lib/warn-on-use.h:
	* m4/gnulib-common.m4, m4/stddef_h.m4, m4/stdint.m4:
	Copy from Gnulib.

2020-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer make_nil_vector to make-vector with nil

	* src/pdumper.c (hash_table_thaw): Pacify -Wconversion so
	we can use make_nil_vector again.
	* src/timefns.c (syms_of_timefns): Prefer make_nil_vector
	to make_vector with Qnil.

2020-08-11  Eli Zaretskii  <eliz@gnu.org>

	Fix MinGW build broken by recent pdumper changes.

	* src/pdumper.c (hash_table_thaw): Use Fmake_vector.  Suggested by
	Pip Cet <pipcet@gmail.com>.
	(dump_trace): Declare ATTRIBUTE_FORMAT_PRINTF, not
	ATTRIBUTE_FORMAT((__printf__), so that we pick the right attribute
	for MinGW.

2020-08-11  Bastian Beischer  <bastian.beischer@rwth-aachen.de>  (tiny change)

	Make mouse-2 respect select-enable-primary etc

	* lisp/calc/calc-yank.el (calc-yank-internal): Factor out into its
	own function (bug#23629).
	(calc-yank): Factored out from here.
	(calc-yank-mouse-primary): New command to

2020-08-11  Robert Weiner  <rsw@gnu.org>

	Allow count-lines to ignore invisible lines

	* doc/lispref/positions.texi (Text Lines): Document it (bug#23675).

	* lisp/simple.el (count-lines): Add an optional parameter to
	ignore invisible lines (bug#23675).

2020-08-11  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el: Make last change backward compatible.

2020-08-11  Eli Zaretskii  <eliz@gnu.org>

	Fix face merging at EOL when inherited face specifies :extend

	* src/xfaces.c (merge_face_ref): Handle correctly faces that
	inherit from another, and in addition specify :extend.
	(Bug#42552)

2020-08-11  Robert Weiner  <rsw@gnu.org>

	Add new commands for environment movement in .texi files

	* lisp/textmodes/texinfo.el (texinfo-mode-map): New keystrokes for
	environment movement commands (bug#23985).

2020-08-11  Puneeth Chaganti  <punchagan@muse-amuse.in>

	Allow specifying the callback in new xwidget sessions

	* lisp/xwidget.el (xwidget-webkit-new-session): Optional callback
	arg (bug#24019).
	(xwidget-event-handler): Respect the 'callback parameter.

2020-08-11  Noam Postavsky  <npostavs@gmail.com>

	Fix (end-of-defun N) for N >= 2

	* lisp/emacs-lisp/lisp.el (end-of-defun): Only skip to next line when
	after end of defun when ARG is 1 or less.
	* test/lisp/emacs-lisp/lisp-tests.el (end-of-defun-twice): New
	test (bug#24427).

2020-08-11  Tino Calancha  <tino.calancha@gmail.com>

	Change the Calc text input method to insert at point

	* lisp/calc/calc.el (calcDigit-delchar): New command to delete chars
	forward in the calc minibuffer.
	(calc-digit-map): Bind calcDigit-delchar to '\C-d'.
	(calcDigit-key): Do not go to (point-max) in calc minibuffer
	before insert a digit (Bug#24612).

2020-08-11  Alexander Gramiak  <agrambot@gmail.com>

	Only search for a variable when instructed

	* lisp/help-fns.el (find-lisp-object-file-name): Check for 'defvar
	argument before searching for an internal variable (Bug#24697).
	* test/lisp/help-fns-tests.el: New tests.

2020-08-11  Kaushal Modi  <kaushal.modi@gmail.com>

	Allow Dired to dereference symbolic links when copying

	* doc/emacs/dired.texi (Operating on Files): Mention the new
	defcustom (bug#25075).
	* lisp/dired-aux.el (dired-do-copy): Invert the value of
	`dired-copy-dereference' in lexical scope when prefix argument is
	'(4). Update function documentation for the new defcustom.

	* lisp/dired-aux.el (dired-copy-file): Use `dired-copy-dereference' as
	the `dereference' argument to `dired-copy-file-recursive'.

	* lisp/dired-aux.el (dired-copy-file-recursive): Add new optional
	argument `dereference'.

	* lisp/dired.el (dired-copy-dereference): New defcustom, defaults to
	nil.

2020-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark further mml-sec-tests as unstable

	* test/lisp/gnus/mml-sec-tests.el (mml-secure-en-decrypt-sign-3):
	(mml-secure-en-decrypt-sign-1-3-double): These tests are unstable
	on Ubuntu (bug#42803).

2020-08-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Further tweaks to the user manual about shell-command-buffer-name

	* doc/emacs/misc.texi (Single Shell): Reintroduce the actual
	buffer names in the user manual (bug#39138), but keep the
	references to the variables.  It's easier for people reading the
	user manual to deal with actual names.

2020-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	pdumper avoid listing hash table contents

	* src/pdumper.c (hash_table_contents): Create a vector directly,
	instead of creating a list and then converting that to a vector.

2020-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	pdumper speed tweaks for hash tables

	* src/pdumper.c (dump_queue_empty_p): Avoid unnecessary call
	to Fhash_table_count on a known hash table.
	(dump_hash_table_list): !NILP, not CONSP.
	(hash_table_freeze, hash_table_thaw): ASIZE, not Flength, on vectors.
	Initialize in same order as struct.
	(hash_table_thaw): make_nil_vector, not Fmake_vector with nil.

2020-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	In pdumper, simplify INT_MAX computation

	* src/pdumper.c (dump_read_all): Avoid unnecessary cast.
	Also, round down to page size, as sysdep.c does.
	Also, don’t assume INT_MAX <= UINT_MAX (!).

2020-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t needlessly convert to ‘unsigned’ in pdumper

	* src/pdumper.c (PRIdDUMP_OFF): New macro.
	(EMACS_INT_XDIGITS): New constant.
	(struct dump_context): Use dump_off for relocation counts.
	All uses changed.
	(dump_queue_enqueue, dump_queue_dequeue, Fdump_emacs_portable):
	Don’t assume counts fit in ‘unsigned’ or ‘unsigned long’.
	Use EMACS_INT_XDIGITS instead of assuming it’s 16.

2020-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	* src/pdumper.c (pdumper_load): XSETVECTOR -> make_lisp_ptr.

	* src/fns.c (hash_table_rehash): Help the compiler a bit.

2020-08-11  Pip Cet  <pipcet@gmail.com>

	Rehash hash tables eagerly after loading a dump

	This simplifies code, and helps performance in some cases (Bug#36597).
	* src/lisp.h (hash_rehash_needed_p): Remove.  All uses removed.
	(hash_rehash_if_needed): Remove.  All uses removed.
	(struct Lisp_Hash_Table): Remove comment about rehashing hash tables.
	* src/pdumper.c (thaw_hash_tables): New function.
	(hash_table_thaw): New function.
	(hash_table_freeze): New function.
	(dump_hash_table): Simplify.
	(dump_hash_table_list): New function.
	(hash_table_contents): New function.
	(Fdump_emacs_portable): Handle hash tables by eager rehashing.
	(pdumper_load): Restore hash tables.
	(init_pdumper_once): New function.

2020-08-11  Stefan Kangas  <stefankangas@gmail.com>

	Fix \epsilon and \varepsilon in TeX input method

	* lisp/leim/quail/latin-ltx.el: Add correct \epsilon and \varepsilon
	characters to TeX input method.  (Bug#26060)

2020-08-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix fontification of outdated TeX form

	* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-2): End the
	expression before the terminating $ in constructions like $\it
	identifiername$
	(bug#28277). This avoids italicizing the final $ character.

	This fixes the final $ of the final test case here:

	$foo$
	\textit{foo}
	{\it foo}
	$\mathit{identifiername}$
	$\textit{identifiername}$
	${\it identifiername}$
	$\it identifiername$

2020-08-10  Stefan Kangas  <stefankangas@gmail.com>

	Add new command apropos-function (Bug#41021)

	* lisp/apropos.el (apropos-function): New command.
	* etc/NEWS: Announce it.

2020-08-10  Charles A. Roelli  <charles@aurox.ch>

	Change 'M-:' to not error out on incomplete expressions

	* lisp/simple.el (read--expression-try-read): New function to read
	a Lisp expression from the minibuffer (bug#30697).  This will not
	(as before) signal an error on incomplete expressions, but allow
	users to continue editing it.
	(read--expression): Use it (and add a doc string).

2020-08-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with /- incorrectly starting a comment in SQL mode

	* lisp/progmodes/sql.el (sql-mode): Move all the syntax setup
	stuff here (bug#35646).  Add handling of -* and /- from Kristian
	Hole <kristian@hole.priv.no>.

2020-08-10  Stefan Kangas  <stefankangas@gmail.com>

	Add term/st.el (Bug#33182)

	This is a copy of term/konsole.el with konsole -> st.
	* lisp/term/st.el: New file.

2020-08-10  Matthew Bauer  <mjbauer95@gmail.com>

	Add zsh extended_history handling for comint.el input ring

	* lisp/comint.el (comint-input-ring-file-prefix): New variable
	(bug#36034).
	(comint-read-input-ring): Use it.

	* lisp/shell.el (shell-mode): Set it.

2020-08-10  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/vt100-led.el: Use lexical-binding.

2020-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Indent python multiline strings to start and previous levels"

	This reverts commit b78583cde7d8aaa1fa19c20975c03d689c78baef.

	The multi-line string indentation was incorrect after applying this patch.

2020-08-09  Matthew White  <mehw.is.me@inventati.org>

	Add ability to mark/unmark/delete all bookmarks

	Thanks to Karl Fogel for pre-commit review.

	* lisp/bookmark.el (bookmark-delete-all): New function to delete all
	  bookmarks.
	  (bookmark-bmenu-mark-all): New function to mark all bookmarks in the
	  bookmark list buffer.
	  (bookmark-bmenu-unmark-all): New function to unmark all bookmarks in
	  the bookmark list buffer.
	  (bookmark-bmenu-delete-all): New function to mark for deletion all
	  bookmarks in the bookmark list buffer.
	  (bookmark-map): Map "D" to `bookmark-delete-all'.
	  (bookmark-bmenu-mode-map): New mapping for "M" to
	  `bookmark-bmenu-mark-all'.
	  (bookmark-bmenu-mode-map): New mapping for "U" to
	  `bookmark-bmenu-unmark-all'.
	  (bookmark-bmenu-mode-map): New mapping for "D" to
	  `bookmark-bmenu-delete-all'.
	  (bookmark-bmenu-mark-all): New bookmark menu to
	  `bookmark-delete-all'.
	  (easy-menu-define): New bookmark menu to `bookmark-bmenu-mark-all'.
	  (easy-menu-define): New bookmark menu to
	  `bookmark-bmenu-unmark-all'.
	  (easy-menu-define): New bookmark menu to
	  `bookmark-bmenu-delete-all'.
	  (bookmark-bmenu-select): Update docstring to include a reference to
	  `bookmark-bmenu-mark-all'.
	  (bookmark-bmenu-mode): Update docstring. Add/Update description:
	  `bookmark-bmenu-mark-all', `bookmark-bmenu-delete-all',
	  `bookmark-bmenu-execute-deletions', and `bookmark-bmenu-unmark-all'.
	* test/lisp/bookmark-resources/test-list.bmk: New bookmark file to
	  test a list of bookmarks.
	* test/lisp/bookmark-tests.el (bookmark-tests-bookmark-file-list): New
	  reference to the bookmark file used for testing a list of bookmarks.
	  (bookmark-tests-bookmark-list-0, bookmark-tests-bookmark-list-1,
	  bookmark-tests-bookmark-list-2): New cached values for testing a
	  list of bookmark.
	  (bookmark-tests-cache-timestamp-list): New variable to set
	  `bookmark-bookmarks-timestamp'.
	  (with-bookmark-test-list): New macro environment to test a list of
	  bookmarks.
	  (with-bookmark-test-file-list): New macro environment to test a list
	  of bookmarks with example.txt.
	  (with-bookmark-bmenu-test-list): New macro environment to test
	  functions about a list of bookmarks from `bookmark-bmenu-list'.
	  (bookmark-tests-all-names-list, bookmark-tests-get-bookmark-list,
	  bookmark-tests-get-bookmark-record-list): New functions to test the
	  records of the list of bookmarks.
	  (bookmark-tests-make-record-list): New function to test the creation
	  of a record from example.txt with a list of bookmarks loaded.
	  (bookmark-tests-delete-all): New function to test
	  `bookmark-delete-all'.
	  (bookmark-test-bmenu-any-marks-list): New function to test
	  `bookmark-bmenu-any-marks' with a list of bookmarks.
	  (bookmark-test-bmenu-mark-all): New function to test
	  `bookmark-bmenu-mark-all'.
	  (bookmark-test-bmenu-unmark-all): New function to test
	  `bookmark-bmenu-unmark-all'.
	  (bookmark-test-bmenu-delete-all): New function to test
	  `bookmark-bmenu-delete-all'.

2020-08-09  Wolfgang Scherer  <wolfgang.scherer@gmx.de>

	Use one src status -a call for vc-src-dir-status-files

	lisp/vc/vc-src.el: (vc-src--parse-state) new function.
	(vc-src-state) use vc-src--parse-state.
	(vc-src-dir-status-files) use recursive calls to `src status -a' (bug#39502).

2020-08-09  Kristian Hole  <kristian@hole.priv.no>  (tiny change)

	Adds backslash as escape character to mysql syntax-alist

	* lisp/progmodes/sql.el (sql-product-alist): The \ character is an
	escape character in mysql (bug#37459).
	(sql-mode): Changes the example from the incorrect use of
	punctuation rule, to the escape character rule.

2020-08-09  Carlos Pita  <carlosjosepita@gmail.com>

	Indent python multiline strings to start and previous levels

	* lisp/progmodes/python.el (python-indent--calculate-indentation):
	Add an additional indentation point to match indentation of
	previous line in a multiline string.  Then Tab iterates between 0,
	the start indentation level and the previous line level
	(bug#37726).

2020-08-09  Philipp Stephani  <phst@google.com>

	* src/json.c (lisp_to_json): Simplify.

2020-08-09  Stefan Kangas  <stefankangas@gmail.com>

	Revert obsoletion of manual-entry

	Ref: https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00167.html

	* lisp/man.el (manual-entry): Revert obsoletion of this alias.

2020-08-09  Eli Zaretskii  <eliz@gnu.org>

	Fix recently added documentation bits

	* lisp/simple.el (async-shell-command-buffer)
	(async-shell-command, shell-command, shell-command-on-region):
	* lisp/dired-aux.el (dired-do-async-shell-command)
	(dired-do-shell-command):
	* doc/misc/tramp.texi (Remote processes):
	* doc/emacs/misc.texi (Single Shell):
	* etc/NEWS: Fix wording and punctuation of recently added
	documentation.

2020-08-09  Carlos Pita  <carlosjosepita@gmail.com>

	Improve client/daemon xdg/systemd experience

	* Makefile.in: Add emacsclient.desktop generation.
	* etc/emacsclient.desktop: Add file, use emacsd as StartupWMClass.
	* etc/emacs.service: Run with name emacsd (bug#37847).

2020-08-09  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/bytecomp.el: Guard against double native compilation.

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-08-09  Damien Cassou  <damien@cassou.me>

	Add the new library hierarchy.el

	* lisp/emacs-lisp/hierarchy.el: New file.

2020-08-09  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	vc-hg: use 'hg summary' to populate vc-dir headers

	* lisp/vc/vc-hg.el (vc-hg-dir-extra-headers): Use 'hg summary' command.
	(vc-hg-dir-extra-header): Remove unused function.
	* etc/NEWS: Mention changes to vc-hg.el (bug#38387).

2020-08-09  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	vc-hg-create-tag: Possibility to create a branch

	* lisp/vc/vc-hg.el (vc-hg-create-bookmark): New user option.
	(vc-hg-create-tag): Use it (bug#38425).

2020-08-09  Tino Calancha  <tino.calancha@gmail.com>

	Add constants for shell command output buffer names

	Buffers `*Shell Command Output*' and `*Async Shell Command*'
	have been around since a long time; used across several libraries,
	they are de facto output buffers for shell commands.

	* lisp/simple.el (shell-command-buffer-name)
	(shell-command-buffer-name-async): New variables.
	* lisp/dired-aux.el
	* lisp/gnus/gnus-sum.el
	* lisp/gnus/gnus-win.el
	* lisp/ibuf-ext.el
	* lisp/net/tramp.el: Use them.

	* etc/NEWS (Changes in Emacs 28.1): Announce this change.

	* doc/emacs/misc.texi (Single Shell)
	* doc/misc/tramp.texi (Remote processes):
	Update manual (bug#39138).

2020-08-09  Jorge P. de Morais Neto  <jorge+list@disroot.org>  (tiny change)

	TUTORIAL: "buffer" vs "file" consistency; capitalize Dired

	* etc/tutorials/TUTORIAL: For consistency with C-x s ("save some
	buffers") and for accuracy, describe C-x C-s as "Save buffer to
	file"), and then C-x s as "Save some buffers to their files"
	(bug#39359).  Also capitalize "Dired".

2020-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make solar commands in Calendar less beepy

	* lisp/calendar/solar.el (solar-setup): Remove a (beep) that's
	been in this code since 1992 (bug#42774).

2020-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a command line (and MIME handler) function to start eww

	* lisp/net/eww.el (eww-browse): New command (bug#42768) to be used
	from the command line.

	* doc/misc/eww.texi (Command Line): Document it.

2020-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string fix for message-mailto

	* lisp/gnus/message.el (message-mailto): Doc string fix.

2020-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Slight code clean-up in message-mailto

	* lisp/gnus/message.el (message-mailto): Clean up code slightly.

2020-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a variable to allow displaying numeric time zones

	* lisp/calendar/calendar.el (calendar-use-numeric-time-zones): New
	variable.

	* doc/emacs/calendar.texi (Sunrise/Sunset): Document it (bug#33149).

	* lisp/calendar/cal-dst.el (calendar-standard-time-zone-name): Use it.
	(calendar-daylight-time-zone-name): Ditto.

	* lisp/calendar/solar.el (sunrise-sunset): Adjust usage.
	(solar-equinoxes-solstices): Ditto.

2020-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove superfluous code from the previous '' sql string fix

	* lisp/progmodes/sql.el (sql-mode): Remove setting that's now
	superfluous from previous check-in.

2020-08-09  Juri Linkov  <juri@linkov.net>

	* lisp/custom.el (custom-add-choice): Fix previous commit.

2020-08-08  Glenn Morris  <rgm@gnu.org>

	* lisp/outline.el (outline-minor-mode-prefix): Fix compilation.

2020-08-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Document the OpenPGP header

	* doc/misc/message.texi (Using the OpenPGP Header): Document the
	OpenPGP header (bug#39964).

2020-08-08  Philip K  <philip.kaludercic@fau.de>

	Add support for the OpenPGP header to Emacs

	* lisp/gnus/message.el (message-openpgp-header): New variable
	(bug#39964).
	(messasge-add-openpgp-header): New function to use it.

2020-08-08  Florian v. Savigny  <f.savigny@mailbox.org>

	Handle '' in strings in SQL Mode

	* lisp/progmodes/sql.el
	(sql--syntax-propertize-escaped-apostrophe): Handle '' in strings
	(bug#40231).
	(sql-mode): Use it.

2020-08-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Modernize a code example in os.texi

	* doc/lispref/os.texi (Session Management): Use
	with-current-buffer in the example instead of save+switch (bug#40341).

2020-08-08  Bruno Félix Rezende Ribeiro  <oitofelix@gnu.org>  (tiny change)

	* doc/lispref/os.texi (Session Management): Make example homoiconic

	* doc/lispref/os.texi (Session Management): Don't insert Lisp as
	strings, but use format (bug#40341).

2020-08-08  Fabrice Niessen  <fniessen@pirilampo.org>

	Update Leuven-theme

	* etc/themes/leuven-theme.el (class): Update theme (bug#40759).

2020-08-08  Philip K  <philip@warpmail.net>

	Use write-region when saving recentf file

	* lisp/recentf.el (recentf-save-list): Don't generate backups for
	recentf files (bug#41060).

2020-08-08  Philip K  <philip@warpmail.net>

	outline-minor-mode-prefix is a key sequence, not a string

	* lisp/outline.el (outline-minor-mode-prefix): Fix the type (bug#41072).

2020-08-08  Philip K  <philip@warpmail.net>

	Make Customize changes to outline-minor-mode-prefix happen immediately

	* lisp/outline.el (outline-minor-mode-prefix): Update the key map
	after changing the value in Customize (bug#41073).

2020-08-08  Matthias Meulien  <orontee@gmail.com>

	lisp/bookmark.el: Customize choice to show bookmark list in a new tab

	* lisp/bookmark.el (bookmark-bmenu-get-buffer): Add as a choice
	for new-tab targets (bug#41225).

2020-08-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new utility function custom-add-choice

	* lisp/custom.el (custom-add-choice): New function (bug#41225).

2020-08-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous list-buffers patch to work when there's no buffer

	* lisp/buff-menu.el (Buffer-menu--dynamic-name-width): Use apply
	#'max instead of seq-max since the list may be empty.

2020-08-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark an mml-sec test as unstable

	* test/lisp/gnus/mml-sec-tests.el
	(mml-secure-en-decrypt-sign-1-1-single): Mark the test as unstable
	(bug#42720).  It sometimes fails on some systems (Fedora?) when
	run with "-j5", so there may be a race condition in the code somewhere.

2020-08-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak how whitespace-mode marks the end of the buffer

	* lisp/whitespace.el (whitespace-missing-newline-at-eof): Change
	the colors to not be as angry.
	(whitespace-color-on): Don't mark the end of the buffer if point
	is there.

2020-08-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the name column in 'list-buffers' have a dynamic width

	* lisp/buff-menu.el (Buffer-menu--dynamic-name-width): New
	function (bug#30692).
	(Buffer-menu-name-width): Default to using it.
	(list-buffers--refresh): Call it.

	* lisp/emacs-lisp/seq.el (seq-max): Add autoload cookie.

2020-08-08  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in saveplace.el and add tests

	* lisp/saveplace.el: Use lexical-binding.
	(save-place-to-alist): Doc fix.
	* test/lisp/saveplace-tests.el:
	* test/lisp/saveplace-resources/saveplace: New files.

2020-08-07  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/scroll-lock.el: Use lexical-binding.

2020-08-07  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in browse-url.el and add tests

	* lisp/net/browse-url.el: Turn on lexical-binding.
	(browse-url--mailto, browse-url--man, browse-url--browser): Use
	imperative form in docstrings.
	(browse-url-delete-temp-file): Turn comment into a proper docstring.

	* test/lisp/net/browse-url-tests.el: New file with tests for
	browse-url.el.

2020-08-07  Stefan Kangas  <stefankangas@gmail.com>

	Remove support for Mosaic from browse-url

	* lisp/net/browse-url.el (browse-url-mosaic-program)
	(browse-url-mosaic-arguments, browse-url-mosaic-pidfile)
	(browse-url-CCI-port, browse-url-CCI-host)
	(browse-url-default-browser, browse-url-mosaic, browse-url-cci):
	Remove support for the Mosaic browser, which saw its last release in
	1997, or 23 years ago.

	* etc/NEWS: Announce its removal.

2020-08-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix fontification of %d in strings in cperl-mode

	* lisp/progmodes/cperl-mode.el (cperl-init-faces): Don't fontify
	directives like %d in strings as hashes (bug#22867).

2020-08-07  Stefan Kangas  <stefankangas@gmail.com>

	Make more erc function aliases obsolete

	* lisp/erc/erc-compat.el (erc-propertize, erc-view-mode-enter)
	(erc-function-arglist, erc-delete-dups)
	(erc-replace-regexp-in-string): Make these aliases obsolete.

	* lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
	(erc-capab-identify-remove/set-identified-flag):
	* lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
	(erc-dcc-unquote-filename, pcomplete/erc-mode/DCC):
	* lisp/erc/erc-list.el (erc-list-menu-mode, erc-list-button)
	(erc-list-make-string):
	* lisp/erc/erc-log.el (erc-log-standardize-name):
	* lisp/erc/erc-match.el (erc-log-matches-make-buffer):
	* lisp/erc/erc-networks.el (erc-server-select):
	* lisp/erc/erc.el (erc-message-english-PART)
	(erc-update-mode-line-buffer, erc-format-my-nick)
	(erc-format-@nick, erc-get-user-mode-prefix, erc-display-prompt)
	(erc-part-reason-zippy, erc-quit-reason-zippy, erc-get-arglist)
	(erc-toggle-debug-irc-protocol, erc-log-irc-protocol)
	(erc-migrate-modules): Adjust callers.

2020-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>

	* lisp/files.el (auto-mode-alist): delete ada-mode; now in GNU ELPA only

2020-08-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some documentation for widget-describe and button-describe

	* doc/emacs/help.texi (Key Help): Document button-describe and
	widget-describe.

	* lisp/button.el (push-button): Mention button-describe.

	* lisp/cus-edit.el (Custom-newline): Mention widget-describe (bug#139).

2020-08-07  Mauro Aranda  <maurooaranda@gmail.com>

	Add new commands to describe buttons and widgets

	* lisp/help-fns.el (describe-widget-functions): New variable, used by
	describe-widget.
	(describe-widget): New command, to display information about a widget.
	* lisp/button.el (button-describe): New command, for describing a button.
	(button--describe): Helper function for button-describe.
	* lisp/wid-edit.el (widget-describe): New command, for describing a
	widget.
	(widget--resolve-parent-action): Helper function, to allow
	widget-describe to display more useful information (bug#139).

2020-08-07  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of 'missing-newline-at-eof'

	* doc/emacs/display.texi (Useless Whitespace):
	* etc/NEWS (missing-newline-at-eof): Improve wording and
	punctuation.

2020-08-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Buffer-menu-select doc string clarification

	* lisp/buff-menu.el (Buffer-menu-select): Document that it removed
	the marks (bug#6491).

2020-08-07  Peder O. Klingenberg  <peder@klingenberg.no>

	* lisp/play/snake.el (snake-null-map): Quit on `q'. (Bug#42731)

2020-08-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new command to copy a file from zip files

	* lisp/arc-mode.el (archive-copy-file): New command, keystroke and
	menu bar entry (bug#26192).
	(archive-extract): Refactored out code from here...
	(archive--extract-file): ... to here for use in archive-copy-file.

2020-08-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow ffap to do the right thing with 'https://gnu.org'

	* lisp/thingatpt.el (thing-at-point-bounds-of-url-at-point): Don't
	include trailing ' in the URL, because it's more likely to be a
	punctuation character (bug#29410).

2020-08-07  Mattias Engdegård  <mattiase@acm.org>

	Clean up and improve compilation of arithmetic (bug#42597)

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-associative-math)
	(byte-optimize-min-max): Transform 3-arg min/max call into two 2-arg
	calls, which is faster.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-associative): Rename to...
	(byte-compile-variadic-numeric): ...this function and simplify,
	fixing incorrect comments.  The 3-arg strength reduction is now
	always done in the optimisers and is no longer needed here.
	(byte-compile-min-max): New function.
	(byte-compile-minus): Simplify, remove incorrect comment, and use
	byte-compile-variadic-numeric.
	(byte-compile-quo): Simplify and fix comment.

2020-08-07  Mattias Engdegård  <mattiase@acm.org>

	Fix byte-compilation of (+ -0.0) (bug#42597)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-associative):
	Translate numerical identity expressions, such as (+ x) and (* x),
	into (* x 1) since the previous translation (+ x 0) gets it wrong
	for x = -0.0.
	* test/lisp/emacs-lisp/bytecomp-tests.el
	(byte-opt-testsuite-arith-data): Add test cases.

2020-08-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add missing "this is documented" marker to previous checkin

2020-08-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Make whitespace-mode highlight missing newlines at the end of buffers

	* lisp/whitespace.el (whitespace-missing-newline-at-eof): New face
	(bug#34952).
	(whitespace-report-region): Add a test for
	end-of-buffer-without-newline.
	(whitespace-color-on): Ditto.

	* doc/emacs/display.texi (Useless Whitespace): Document it.

2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc -Wunused-variable

	* src/frame.c (Fset_mouse_position, Fset_mouse_pixel_position)
	(Fset_frame_position): Always use xval, yval.  Simplify #if nesting.

2020-08-07  Juri Linkov  <juri@linkov.net>

	* lisp/hi-lock.el (hi-lock-set-pattern): Display warning on narrow (bug#42609)

2020-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/skeleton.el: Use lexical-binding

	(skeleton-proxy-new): Use `use-region`.

2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-08-06 libgmp: add <gmp/gmp.h> support
	2020-08-06 Consider that clang defines __OPTIMIZE__ like GCC does
	2020-08-06 Use __builtin_expect with clang everywhere
	2020-08-05 Use __builtin_clz{,l,ll} with clang, also on Windows
	2020-08-05 Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang
	2020-07-31 _GL_CMP: Improve documentation
	2020-07-30 alloca, largefile: sync with Autoconf master
	* lib/c++defs.h, lib/cdefs.h, lib/count-leading-zeros.h:
	* lib/count-trailing-zeros.h, m4/alloca.m4, m4/gnulib-common.m4:
	* m4/largefile.m4, m4/libgmp.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2020-08-06  Tassilo Horn  <tsdh@gnu.org>

	Show A C hint only if partial fetches are enabled.

	* lisp/gnus/gnus-art.el (gnus-insert-mime-button): Show A C hint for
	downloading the complete message only if partial fetches are enabled.

2020-08-06  Tassilo Horn  <tsdh@gnu.org>

	Show A C hint for loading complete message only in nnimap groups.

	* lisp/gnus/gnus-art.el (gnus-insert-mime-button): Show A C hint for
	loading complete message only in nnimap groups.

2020-08-06  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Fix the mailto: examples in the manual and in NEWS

	* doc/misc/message.texi (System Mailer Setup): Fix mailto: examples.

2020-08-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix broken desktop file

	Looks like I pasted in the data twice...

2020-08-06  Philip K  <philipk@posteo.net>

	Remove usages of assoc-delete-all in project.el

	assoc-delete-all is not available for users who have installed
	project.el via ELPA on older Emacs versions (bug#42668).

	* lisp/progmodes/project.el
	(project-remember-project, project--remove-from-project-list):
	Replace assoc-delete-all with equivalent alternatives.

2020-08-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweat how MML specifies the encoding of binary data

	* lisp/gnus/mml.el (mml-parse-1): Use `data-encoding' to be
	slightly less confusing than `content-transfer-encoding'.

	* doc/misc/emacs-mime.texi (MML Definition): Document it.

	* lisp/gnus/message.el (message-insert-screenshot): Adjust usage.

2020-08-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Change how Mail-Copies-To: never is handled in Message

	* lisp/gnus/message.el (message-get-reply-headers): Change how
	Mail-Copies-To: never is handled (bug#37591).  When that header is
	present, put all the remaining recipients in the To header,
	instead of picking an arbitrary recipient to have in the To
	header, and the rest in the Cc header.

2020-08-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new HTML skeleton for relative (file) URLs

	* lisp/textmodes/sgml-mode.el (html-href-anchor-file): New
	skeleton and keystroke (bug#37644).

2020-08-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make it possible to use Message as a mailto: desktop handler

	* doc/misc/message.texi (System Mailer Setup): Document the usage.

	* lisp/gnus/gnus-art.el (gnus-url-mailto): Move most of the code
	here to 'message-mailto-1' (bug#38314).

	* lisp/gnus/message.el (message-parse-mailto-url): Mark as obsolete.
	(message-parse-mailto-url): Rewritten slightly from the above.
	(message-mailto): New command.
	(message-mailto-1): New function.

2020-08-06  Nick Helm  <nick@tenpoint.co.nz>

	Signal an error in dired when moving to a directory that doesn't exist

	* lisp/dired-aux.el (dired-do-create-files): Give an error when
	apparently moving to a directory name, and that directory doesn't
	exist (bug#38707).

2020-08-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make 'n'/'p' in image mode buffers respect dired sorting

	The commands now also now work on archive and tar mode parent buffers.

	* doc/emacs/files.texi (Image Mode): Document it.

	* lisp/arc-mode.el (archive-goto-file): New function (bug#38647).
	(archive-next-file-displayer): Ditto.

	* lisp/image-mode.el (image-next-file): Reimplement to work on
	displayed dired buffers and the like.  This means that `n' and `p'
	now works on the displayed ordering in the dired buffer, so if
	you've reversed the sorting, `n' picks the right "next" file.
	(image-mode--directory-buffers): New function.
	(image-mode--next-file): Ditto.

	* lisp/tar-mode.el (tar-goto-file): New function.
	(tar-next-file-displayer): Ditto.

2020-08-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark two cconv tests as :unstable

	* test/lisp/emacs-lisp/cconv-tests.el
	(cconv-tests-cl-iter-defun-:documentation): Mark as unstable
	(bug#42723).
	(cconv-tests-iter-defun-:documentation): Ditto.

2020-08-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the autoloads scrape output slightly

	* lisp/emacs-lisp/autoload.el (batch-update-autoloads--summary):
	Output " ..." at the end of the non-concluding lines to signify
	that the output continues.

2020-08-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the loaddefs scraping compilation output look more regular

	* lisp/Makefile.in ($(lisp)/loaddefs.el): Don't output the
	directories here.

	* lisp/emacs-lisp/autoload.el (batch-update-autoloads--summary):
	New function.
	(batch-update-autoloads): Use it to output the directories we're
	scraping.

	This changes the compilation output from:

	Directories for loaddefs: . ./calc ./calendar ./cedet ./cedet/ede
	./cedet/semantic ./cedet/semantic/analyze ./cedet/semantic/bovine
	./cedet/semantic/decorate ./cedet/semantic/symref ./cedet/semantic/wisent
	./cedet/srecode ./emacs-lisp ./emulation ./erc ./eshell ./gnus ./image
	./international ./language ./leim ./leim/ja-dic ./leim/quail ./mail ./mh-e
	./net ./nxml ./org ./play ./progmodes ./textmodes ./url ./vc

	(but all on one long line)

	To:

	  SCRAPE   . ./calc ./calendar ./cedet ./cedet/ede ./cedet/semantic
	  SCRAPE   ./cedet/semantic/analyze ./cedet/semantic/bovine
	  SCRAPE   ./cedet/semantic/decorate ./cedet/semantic/symref
	  SCRAPE   ./cedet/semantic/wisent ./cedet/srecode ./emacs-lisp ./emulation
	  SCRAPE   ./erc ./eshell ./gnus ./image ./international ./language ./leim
	  SCRAPE   ./leim/ja-dic ./leim/quail ./mail ./mh-e ./net ./nxml ./org ./play
	  SCRAPE   ./progmodes ./textmodes ./url ./vc

	Compilation output with very long lines can be mistaken for errors
	when they scroll by fast in the compilation output.  Making it look
	more like normal informational output avoids this confusion.

2020-08-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make 'byte-compile-info*' functions more logical

	* lisp/emacs-lisp/byte-run.el (byte-compile-info): New function
	that's more flexible that replaces 'byte-compile-info-string' and
	'byte-compile-info-message'.
	(byte-compile-info-string): Make obsolete.
	(byte-compile-info-message): Ditto.

	* lisp/international/ja-dic-cnv.el (skkdic-convert-okuri-ari)
	(skkdic-convert-postfix, skkdic-convert-prefix)
	(skkdic-collect-okuri-nasi, skkdic-set-okuri-nasi):
	* lisp/finder.el (finder-compile-keywords):
	* lisp/cus-dep.el (custom-make-dependencies): Adjust callers to
	use the new function.

2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify Solaris port

	This should avoid some configuration confusion as exemplified
	by Jeffrey Walton’s recent bug report (Bug#42675).
	* configure.ac (opsys): Simplify Solaris configuration by
	not worrying about Solaris 9 and earlier, as they are no
	longer supported by the Solaris developers.  This should
	support Walton’s ‘./configure --build=x86_64-sun-solaris’.
	Instead of bothering with ‘opsys=sol2-6’ and ‘opsys=sol2-10’,
	just use ‘opsys=solaris’.  All uses changed.
	(emacs_check_sunpro_c): Remove unused var.
	* doc/misc/tramp.texi (Remote programs):
	* etc/MACHINES, etc/PROBLEMS:
	Modernize PATH for Oracle Developer Studio.
	* etc/PROBLEMS: Move Solaris-related problems to legacy area,
	except those that are still relevant.

2020-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Skip epg tests if gpg isn't installed

	Split sometimes-failing test into three tests to ease debugging

2020-08-05  Christophe Troestler  <Christophe.Troestler@umons.ac.be>  (tiny change)

	Enable replying to an ical event even when not an attendee

	* lisp/gnus/gnus-icalendar.el
	(gnus-icalendar-event--build-reply-event-body): Display a warning
	instead of barfing when user is missing from attendee list.

	When the user identity is not present in the attendee list, an error
	is triggered making replying to such an event impossible (the reply
	message not being even composed).  This replaces it with a warning.
	This is necessary because one may receive events that the organizer
	did not set up well and it is up to the user to decide whether or not
	to reply to them (bug#41723).

2020-08-05  Harald Jörg  <haj@posteo.de>

	cperl-mode.el: Correctly terminate HERE-docs

	* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): cperl-mode
	in the master branch wrongly uses the first occurrence of "HERE"
	to terminate the string, resulting in badly fontified / indented
	code which follows (bug#42251).

2020-08-05  Philip K  <philip@warpmail.net>

	Wrap skeleton logic in atomic-change-group

	* lisp/skeleton.el (define-skeleton): Use an atomic change group
	so that if the user `C-g's in the middle of it, we're not left
	with half a skeleton in the buffer (bug#42311).

2020-08-05  Harald Jörg  <haj@posteo.de>  (tiny change)

	cperl-mode: Fix bad parameter construction in cperl-etags

	* lisp/progmodes/cperl-mode.el (cperl-etags): This fails with
	(wrong-type-argument stringp cperl-sub-regexp). The error came
	with incorporating Jonathan Rockway's work (bug#42355).

2020-08-05  Harald Jörg  <haj@posteo.de>

	cperl-mode: Workaround for failure of cperl-write-tags

	* lisp/progmodes/cperl-mode.el (cperl-mode): Accommodate recent
	changes in etags (bug#42356).

2020-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix max-width/height for Message screenshots

	* lisp/gnus/message.el (message-insert-screenshot):
	:max-width/height apparently has to be integers.

2020-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	mouse-drag-copy-region doc string clarification

	* lisp/mouse.el (mouse-drag-copy-region): Clarify that the
	variable only applies to selections in Emacs (bug#41856).

2020-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention C-y in the manual for yanking the primary selection

	* doc/emacs/killing.texi (Primary Selection): Mention C-y here for
	yanking the primary selection (bug#41857).

2020-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the Message screenshot insertion

	* lisp/gnus/message.el (message-insert-screenshot): Force scaling
	to 1, since the screenshot image will already be suitable for
	displaying directly (it's the same resolution).

2020-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Implement a screenshot command for Message mode

	* doc/misc/message.texi (MIME): Document it.

	* lisp/gnus/message.el (message-screenshot-command): New variable.
	(message-mode-map): New keystroke and menu item.  Also add
	mml-attach-file to the menu.
	(message-insert-screenshot): New command.

	* lisp/gnus/mml.el (mml-parse-1): Allow having
	content-transfer-encoding already in the part, so that we can have
	inline base64-encoded binaries in the Message buffers.

2020-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Fontize $(...) slightly better in bash mode

	* lisp/progmodes/sh-script.el (sh-font-lock-keywords-var): Fontize
	$(...) slightly better (bug#42417).  Instead of just fontizing the
	first word in the expression, fontize until the closing
	parenthesis.  This doesn't work well if you have nested $(...)
	expressions.

2020-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention undo in the doc string of dired-do-kill-lines

	* lisp/dired-aux.el (dired-do-kill-lines): Mention that this can
	be undone (bug#42707).

2020-08-05  Kevin Brubeck Unhammer  <unhammer@fsfe.org>

	Further fix for erc-generate-new-buffer-name

	* lisp/erc/erc.el (erc-generate-new-buffer-name): Fix buffer name
	generation when there's two networks on the same
	server:port (bug#40121).

2020-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the erc /ignore command prompt for a timeout

	* lisp/erc/erc.el (erc--unignore-user): Separate into own function
	(bug#40137).
	(erc-cmd-IGNORE): Ask if the user wants a timeout.
	(erc--read-time-period): New function.

2020-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new function decoded-time-period

	* lisp/calendar/time-date.el (decoded-time-period): New function.

2020-08-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/x-dnd.el: Use lexical-scoping

2020-08-05  Juri Linkov  <juri@linkov.net>

	* lisp/generic-x.el (ansible-inventory-generic-mode): Fix filename (bug#42703)

2020-08-04  Alan Third  <alan@idiocy.org>

	Don't smooth images when scaling up (bug#38394)

	* src/image.c (image_set_transform [HAVE_XRENDER]): Use different filter
	when scaling up vs scaling down.
	* src/nsimage.m (ns_image_set_smoothing):
	([EmacsImage setSmoothing:]): New functions.
	* src/nsterm.h: Add definitions.
	* src/nsterm.m (ns_dumpglyphs_image): Disable smoothing if requested.

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	When decrypting non-decrypted files, make epa show the raw files

	* lisp/epa-file.el (epa-file-insert-file-contents): When trying to
	decrypt a non-decrypted file, just show the bytes from the file
	instead (bug#3829).

2020-08-04  Nicolas Petton  <nicolas@petton.fr>

	* etc/HISTORY: Update the Emacs 27.1 release date.

2020-08-04  Arik Mitschang  <arik.mitschang@gmail.com>  (tiny change)

	Add options for mode modern ciphers in smime-encrypt-cipher

	* lisp/gnus/smime.el (smime-encrypt-cipher): Add support for more
	modern ciphers (bug#8474).

2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	Drop support for -fcheck-pointer-bounds

	GCC has removed the -fcheck-pointer bounds option, and the Linux
	kernel has also removed support for Intel MPX, so there’s no point
	to keeping this debugging option within Emacs.
	* src/bytecode.c (BYTE_CODE_THREADED):
	* src/lisp.h (DEFINE_LISP_SYMBOL, XSYMBOL, make_lisp_symbol):
	Assume __CHKP__ is not defined.
	* src/ptr-bounds.h: Remove.  All uses of ptr_bounds_clip,
	ptr_bounds_copy, ptr_bounds_init, ptr_bounds_set removed.

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Ignore test/data/mml-sec/random_seed

	The file is generated when mml-sec-tests is run.

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove mistakenly checked-in random_seed file

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak mml-sec test that sometimes fails

	* test/lisp/gnus/mml-sec-tests.el
	(mml-first-secure-en-decrypt-sign-1): mml-secure-en-decrypt-sign-1
	fail sometimes, on some machines, unless it's the first test.  I'm
	guessing there's a race condition somewhere in the test, but put
	it first now to avoid build reports.

2020-08-04  Jens Lechtenbörger  <jens.lechtenboerger@fsfe.org>

	Add tests for mml-sec.el

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix two mml-sec minor bugs revealed by new test harness

	* lisp/gnus/mml-sec.el
	(mml-secure-allow-signing-with-unknown-recipient): New variable
	(bug#18393) (but this should probably be fixed in a different way).
	(mml-secure-epg-sign): Use it.
	(mml-secure-check-user-id): Protect against recipients that aren't
	email addresses, like "No recipient".

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Add test file lost when merged from Gnus in 2016

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark unused Gnus util function as obsolete

	* lisp/gnus/gnus-util.el (gnus-test-list): Mark utility function
	as obsolete -- there are no in-tree usage.

2020-08-04  Stefan Kangas  <stefankangas@gmail.com>

	Add new cconv-tests (Bug#28557)

	These tests are all written by Gemini Lasswell <gazally@runbox.com>.

	* test/lisp/emacs-lisp/cconv-tests.el
	(top-level): Add two commented out tests which the byte-compiler
	can't handle.
	(cconv-tests-lambda-:documentation)
	(cconv-tests-pcase-lambda-:documentation)
	(cconv-tests-defun-:documentation)
	(cconv-tests-cl-defun-:documentation)
	(cconv-tests-function-:documentation)
	(cconv-tests-cl-defgeneric-literal-:documentation)
	(cconv-tests-defsubst-:documentation)
	(cconv-tests-cl-defsubst-:documentation): New tests.
	(cconv-tests-cl-iter-defun-:documentation)
	(cconv-tests-iter-defun-:documentation)
	(cconv-tests-iter-lambda-:documentation)
	(cconv-tests-cl-function-:documentation)
	(cconv-tests-cl-defgeneric-:documentation): New failing tests.

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix viewing encrypted+signed messages from Outlook

	* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Fix
	problem with CRLF-encoded encrypted+signed parts (bug#42637).

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous network stream test

	* test/lisp/net/network-stream-tests.el
	(network-test--resolve-system-name): There's only one ipv6
	localhost address.

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make a network-stream test more robust

	* test/lisp/net/network-stream-tests.el
	(network-test--resolve-system-name): New function.
	(echo-server-with-dns): Skip test if (system-name) doesn't look
	like it's going to resolve (bug#42535).

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark the end of file names correctly on Macos in wdired

	* lisp/wdired.el (wdired--restore-dired-filename-prop): Fix
	problem with finding the end of the name on Macos.

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix debugging code checked in from wdired-tests

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix svn tests on Macos

	* test/lisp/vc/vc-tests.el (vc-test--svn-enabled): Macos machines
	may have a dummy svn program that helpfully just outputs "There's
	no svn program here", so also test for the svnadmin program
	(bug#42536).

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	dired-ls-F-marks-symlinks should be set under Macos

	* lisp/dired.el (dired-ls-F-marks-symlinks): Not that this should
	be set under Macos (bug#42537).

2020-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix wdired test for Macos

	* test/lisp/wdired-tests.el (wdired-test-bug34915): Macos adds "@"
	to the end of symlinks (bug#42537).

2020-08-04  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Add Tramp support of direct asynchronous process invocation.

2020-08-04  Michael Albinus  <michael.albinus@gmx.de>

	Add Tramp support of direct asynchronous process invocation

	* doc/misc/tramp.texi (Predefined connection information):
	Add "direct-async-process".
	(Remote processes): New subsection "Improving performance of
	asynchronous remote processes".

	* lisp/net/tramp-adb.el (tramp-methods) <adb>: Add `tramp-login-program'
	and `tramp-login-args'.
	(tramp-adb-handle-make-process): Use `tramp-handle-make-process'.
	(tramp-adb-maybe-open-connection): Add "set +o vi +o emacs" command.

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
	Use `tramp-handle-make-process'.
	(tramp-sh-file-name-handler-p, tramp-multi-hop-p): New defuns.
	(tramp-compute-multi-hops): Use `tramp-multi-hop-p'.

	* lisp/net/tramp.el (tramp-dissect-file-name, tramp-dissect-hop-name):
	Use `tramp-multi-hop-p'.
	(tramp-handle-insert-file-contents, tramp-local-host-p):
	Use `tramp-sh-file-name-handler-p'.
	(tramp-handle-make-process): New defun.

	* test/README: Add another example how to use SELECTOR.

	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-method-rules):
	Adapt test.
	(tramp--test-sh-p): Use `tramp-sh-file-name-handler-p'.

2020-08-04  Theodor Thornhill  <theo@thornhill.no>

	Add sass @use rule to css-mode

	* lisp/textmodes/css-mode.el (scss-at-ids): Add 'use' to scss-at-ids
	for autocompletion (bug#42700).

2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	Use void * for pointers in with_echo_area_buffer

	* src/xdisp.c (with_echo_area_buffer): Pass void * instead of
	ptrdiff_t, since the values are typically pointers and this ports
	better to (mostly-theoretical) hosts where ptrdiff_t is narrower
	than intptr_t.  All uses changed.

2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	Ignore another memory leak

	* src/pdumper.c (dump_mmap_contiguous_heap):
	Ignore the heap control block when checking for leaks.

2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify use of __lsan_ignore_object

	* configure.ac: Use AC_CHECK_FUNCS_ONCE for __lsan_ignore_object.
	* src/buffer.c, src/data.c, src/emacs-module.c, src/regex-emacs.c:
	* src/search.c: Use __lsan_ignore_object unconditionally, and don’t
	include sanitizer/lsan_interface.h.
	* src/lisp.h (__lsan_ignore_object): Provide a dummy in the
	typical case where leak sanitization is not available.

2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify pointer computation in mark_maybe_object

	* src/alloc.c (mark_maybe_object):
	Use simpler way to avoid -fsanitize=undefined false alarms,
	by converting the word tag to intptr_t first.
	Omit now-unnecessary runtime overflow check.
	(mark_memory): Work even if UINTPTR_MAX <= INT_MAX (!).

2020-08-03  Philipp Stephani  <phst@google.com>

	Avoid duplicate Edebug symbols when backtracking (Bug#42701)

	When Edebug backtracks, it nevertheless generates definitions for the
	non-matching branches, see Bug#41988 and Bug#42701.  This should be
	fixed eventually (probably by deferring the definition until a branch
	is known to match), but for now add a band-aid to avoid these
	duplicate symbols, at least for anonymous forms.

	* lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Regenerate
	anonymous names.

	* test/lisp/emacs-lisp/edebug-tests.el
	(edebug-tests-duplicate-symbol-backtrack): New regression test.

2020-08-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	8576297b2a (origin/emacs-27) ; lisp/so-long.el: Prevent potential err...
	986c12b20f ; * lisp/so-long.el: Byte-compilation bug fix
	19f8f36f11 ; * lisp/so-long.el (so-long-variable-overrides): Improve doc
	83bc4ad369 ; * so-long.el: Documentation and spelling
	72c5f71cd4 Avoid segfaults if XIM is set but not xim_styles
	f54ddb0198 (emacs-27) ; * test/lisp/emacs-lisp/generator-tests.el: St...

	# Conflicts:
	#	test/lisp/emacs-lisp/generator-tests.el

2020-08-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	e12d1fbc15 ; ChangeLog.3 and etc/AUTHORS fixes
	748f0d4bc6 * admin/authors.el (authors-aliases): Remove a faulty regexp.

	# Conflicts:
	#	etc/AUTHORS

2020-08-03  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in 'try_window'

	* src/xdisp.c (try_window): Don't modify the logic when EOB is in
	the viewport.  (Bug#42653)

2020-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `n'/`p' in image-mode also find externally converted images

	* lisp/image-file.el (image-file-name-regexp): Use it to make
	`n'/`p' in image mode work (bug#39994).

	* lisp/image/image-converter.el
	(image-converter-file-name-extensions): New variable to keep track
	of all suffixes.
	(image-convert-p): Update.
	(image-converter--find-converter): Set.

2020-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with viewing .webp files from .zip buffers

	* lisp/image-mode.el (image-toggle-display-image): Make it
	possible to view images (via external formatters, like webp) from
	zip files (and other archive modes) (bug#39994).

2020-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust error message in image-mode

	* lisp/image-mode.el (image-mode): Even when
	`image-user-external-converter' is on, we may get
	`unknown-image-type' (bug#39994).  Adjust the error message in
	that case.

2020-08-03  Derek Zhou  <derek@3qin.us>

	Fix problem where TLS connections would sometimes hang

	* src/process.c (wait_reading_process_output): Before the select,
	check every interesting gnutls stream for available data in the
	buffer.  If some of them hit, and either there is no wait_proc or
	the wait_proc is one of the gnutls streams with new data, set the
	select timeout to 0 after the select, and merge the gnutls buffer
	status into the select returns (bug#40665).  This fixes a problem
	where TLS connections would sometimes hang.

2020-08-02  Philipp Stephani  <phst@google.com>

	Improve Edebug symbols for inlined secondary methods (Bug#42671)

	* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Include qualifiers in
	Edebug symbol name.

	* test/lisp/emacs-lisp/cl-generic-tests.el
	(cl-defgeneric/edebug/method): Adapt unit test.

2020-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	If gnus-visual is nil, don't fontify patches and the like

	* doc/misc/emacs-mime.texi (Display Customization): Document it.

	* lisp/gnus/gnus-art.el (gnus-mime-display-single): Bind it.

	* lisp/gnus/mm-view.el (mm-inline-font-lock): New variable (bug#38421).
	(mm-display-inline-fontify): Use it.

2020-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Document that :width/:height in XBM images are peculiar

	* doc/lispref/display.texi (XBM Images): Note the peculiarities of
	:width/:height in XBM images (bug#39735).

2020-08-02  Philipp Stephani  <phst@google.com>

	Add a workaround for Bug#42672

	* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Work around Bug#42672
	by uniquifying inline method names.

	* test/lisp/emacs-lisp/cl-generic-tests.el
	(cl-defgeneric/edebug/method): New regression test.

2020-08-02  Andrea Corallo  <akrl@sdf.org>

	Fix defsubst missing inline Bug#42664

	* lisp/emacs-lisp/byte-run.el (defsubst): Do not native compile
	defsubsts to have them always effective.

2020-08-02  Philipp Stephani  <phst@google.com>

	Avoid duplicate Edebug symbols when using ‘cl-flet’ (Bug#41989)

	* lisp/emacs-lisp/edebug.el (edebug-match-:unique): Add a new
	‘:unique’ specifier to generate unique names.

	* lisp/emacs-lisp/cl-macs.el (cl-flet): Use it.  This requires
	inlining the ‘cl-defun’ specification.

	* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-cl-flet): New
	unit test.

	* doc/lispref/edebug.texi (Specification List): Document new ‘:unique’
	construct.

2020-08-02  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-08-02  Eli Zaretskii  <eliz@gnu.org>

	Re-enable scroll-margin when cursor-motion optimization is disabled

	* src/xdisp.c (try_window): Fix logic of disabling margins when
	cursor is close to BOB or EOB.  Account for header-line, if any,
	when computing the scroll margin in pixels.  (Bug#42653)

2020-08-02  Philipp Stephani  <phst@google.com>

	* src/alloc.c (mark_maybe_object): Avoid signed integer overflow

2020-08-02  Philipp Stephani  <phst@google.com>

	Don’t generate duplicate symbols for secondary CL methods (Bug#42671)

	* lisp/emacs-lisp/edebug.el
	(edebug-match-cl-generic-method-qualifier): Add matcher for
	‘cl-defmethod’ qualifier.

	* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use it.

	* test/lisp/emacs-lisp/edebug-tests.el
	(edebug-cl-defmethod-qualifier): New unit test.

2020-08-02  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in alloc.c.

	* src/alloc.c (mark_maybe_object) [WIDE_EMACS_INT]: Avoid compiler
	warning about 'overflow' being unused.

2020-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the "All" setting for large-newsgroup-initial in Gnus work

	* lisp/gnus/gnus-sum.el (gnus-articles-to-read): Use it.
	(gnus-summary-insert-old-articles): Ditto.

	* lisp/gnus/gnus.el (large-newsgroup-initial): Make the "All"
	setting work by using a special symbol, instead of nil which is
	indistinguishable from not being present (bug#38466).

2020-08-02  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp portability issues

	* lisp/net/tramp-sh.el (tramp-set-remote-path): Replace "echo -n" by
	"printf", it isn't portable.

	* test/lisp/net/tramp-tests.el (tramp-test33-environment-variables)
	(tramp-test33-environment-variables-and-port-numbers): Do not use
	"echo -n", it isn't portable.
	(tramp--test-utf8): Filter out not displayable characters.

2020-08-02  Philipp Stephani  <phst@google.com>

	* src/alloc.c (mark_memory): Avoid signed integer overflow

2020-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Signal an error in the user clicks "cancel" when signing in epg

	* lisp/epg.el (epg-sign-string): If the user clicks "cancel" on
	the pinentry, then we don't have an error from gpg(sm), but
	instead nothing (bug#39058).  Signal an error in that case.

2020-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix erc bug when there's two channels with the same name

	* lisp/erc/erc.el (erc-generate-new-buffer-name): Fix logic when
	there's two channels with the same name from two different servers
	(bug#40121).

2020-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Try to fix mailcap parsing again to respect Emacs defaults

	* lisp/net/mailcap.el (mailcap--computed-mime-data): New variable.
	(mailcap-parse-mailcaps): Don't delete Emacs-distributed fallback
	values (bug#40247).
	(mailcap-add-mailcap-entry): Extend to allow working on different
	variables.
	(mailcap-add): Store data in mailcap-user-mime-data, since it
	should be heeded first.

2020-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Make some erc function aliases obsolete

	* lisp/erc/erc-networks.el (erc-current-network):
	* lisp/erc/erc-join.el (erc-autojoin-channels-delayed):
	* lisp/erc/erc-backend.el (erc-server-setup-periodical-ping)
	(erc-server-send-ping, erc-server-send-queue):
	* lisp/erc/erc-autoaway.el (erc-autoaway-reestablish-idletimer)
	(autoaway): Adjust callers.

	* lisp/erc/erc-compat.el (erc-with-selected-window)
	(erc-cancel-timer, erc-make-obsolete)
	(erc-make-obsolete-variable): Make these aliases obsolete.

2020-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix race condition in erc-server-send-queue vs quitting erc

	* lisp/erc/erc-backend.el (erc-server-send-queue): Check that the
	buffer is live before using it (bug#40418).  This fixes a rare
	problem when the queue is non-empty when `erc-quit-server' is run.

2020-08-01  Philipp Stephani  <phst@google.com>

	* src/alloc.c (mark_maybe_object): Make overflow check conditional.

2020-08-01  Philipp Stephani  <phst@google.com>

	Improve offset calculation in wide int builds

	* src/alloc.c (mark_maybe_object): Make sure that OFFSET isn’t widened
	during subtraction.

2020-08-01  Philipp Stephani  <phst@google.com>

	* src/alloc.c (resize_string_data): Adjust string bytes (Bug#42540)

2020-08-01  Alan Third  <alan@idiocy.org>

	Recreate macOS color list if it is corrupt

	* src/nsterm.m (ns_term_init): Generate the color list if there are
	less colors in the existing file than in rgb.txt.

2020-08-01  Michael Albinus  <michael.albinus@gmx.de>

	Implement alternative for Tramp's signal return string

	* lisp/net/tramp-adb.el (process-file-return-signal-string): Declare.
	(tramp-adb-get-signal-strings): New defun.
	(tramp-adb-handle-process-file): Use it.

	* lisp/net/tramp-sh.el (process-file-return-signal-string): Declare.
	(tramp-sh-get-signal-strings): New defun.
	(tramp-sh-handle-process-file): Use it.

	* lisp/net/tramp.el (tramp-get-signal-strings): Remove function.

	* test/lisp/net/tramp-tests.el (tramp-test28-process-file):
	Accept alternative signal return string.

2020-08-01  Philipp Stephani  <phst@google.com>

	Use a more precise check for '__lsan_ignore_object'

	* configure.ac: Add check for __lsan_ignore_object.

	* src/buffer.c (enlarge_buffer_text):
	* src/data.c (make_blv):
	* src/emacs-module.c (Fmodule_load, initialize_environment):
	* src/regex-emacs.c (regex_compile):
	* src/search.c (newline_cache_on_off): Use new configuration macro.

2020-08-01  Philipp Stephani  <phst@google.com>

	Suppress sanitizer errors about pointer arithmetic in a few places

	We perform weird pointer arithmetic due to the layout of Lisp_Objects
	holding symbols.  ASan/UBSan warns about that (Bug#42530).  Suppress
	the warnings by performing the arithmetic on integer types and casting
	back to pointers.

	* src/alloc.c (mark_maybe_object, mark_memory): Temporarily cast
	pointer to 'intptr_t'.

2020-08-01  Philipp Stephani  <phst@google.com>

	Suppress leak sanitizer in a few more places

	* src/regex-emacs.c (regex_compile):
	src/search.c (newline_cache_on_off): Suppress leak sanitizer.

2020-08-01  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* src/emacs-module.c (initialize_environment): Call
	__lsan_ignore_object only if HAVE_SANITIZER_LSAN_INTERFACE_H is
	undefined.  This fixes compilation on systems that don't have
	__lsan_* functions.

2020-08-01  Philipp Stephani  <phst@google.com>

	Suppress leak detector in some cases

	We intentionally leak some objects.  Prevent the ASan leak detector
	from raising false alarms in these cases.

	* configure.ac: Search for lsan_interface.h header.

	* src/data.c (make_blv): Allow leaking of buffer-local values.

	* src/buffer.c (enlarge_buffer_text): Allow leaking of buffer text.

	* src/emacs-module.c (Fmodule_load, initialize_environment): Allow
	intentional leak of runtime and environment objects if module
	assertions are enabled.

2020-08-01  Philipp Stephani  <phst@google.com>

	* test/data/emacs-module/mod-test.c (Fmod_test_string_a_to_b): Fix leak

2020-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/byte-opt.el: Minor simplifications

	(byte-optimize-form-code-walker): Use `byte-optimize-form` after
	inlining, so optimizations are also applied to the top level call.
	Simplify the code for `pure` functions using `byte-optimize-constant-args`.
	(byte-optimize-all-constp): Remove, not used any more.
	(byte-optimize-1+, byte-optimize-1-): Remove, they are redundant
	with the `pure` annotation.

2020-07-31  Stefan Kangas  <stefankangas@gmail.com>

	Declare some ancient compat aliases obsolete (Bug#41328)

	* lisp/comint.el (comint-read-noecho):
	* lisp/emacs-lisp/edebug.el (edebug-all-defuns):
	* lisp/man.el (manual-entry):
	* lisp/vc/log-edit.el (vc-log-mode-map, vc-log-entry-mode): Declare
	ancient backwards-compatibility aliases and functions obsolete.  The
	oldest in this list was added in 1992, and the most recent in 2004.

	* lisp/net/telnet.el (telnet-initial-filter): Don't use
	`comint-read-noecho'.

2020-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor dns.el clean up

	* lisp/net/dns.el (dns-query-asynchronous, dns-query): Adjust some
	parameter names to not end with "p", as these are not predicates.

2020-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Make gravatar-build-url respect dynamically bound variables again

	* lisp/image/gravatar.el (gravatar-build-url): Compute
	query-string first, so that dynamically bound values of
	`gravatar-rating' (etc.) are respected, instead of computing it
	when the callback happens.

2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-07-30 work around some Oracle Studio attribute bugs
	2020-07-29 fsusage, regex, stat-size: remove Cray support
	2020-07-26 inttypes: remove support for AIX 4
	2020-07-26 gettimeofday: remove workaround for Mac OS X 10.0
	2020-07-26 don't require gl_LOCALTIME_BUFFER_DEFAULTS
	2020-07-26 alloca: remove Cray-2 and Cray Y-MP support
	2020-07-26 libgmp: remove dependency on havelib
	2020-07-26 libgmp: remove HAVE_GMP, LIB_GMP
	2020-07-25 multiarch: prepare for x86_64+arm64 universal in macOS 11
	2020-07-25 sigprocmask: small autoconf macro improvement
	2020-07-25 small autoconf macro improvements
	2020-07-24 timespec: remove dependence on ‘verify’
	2020-07-24 optimize a few more three-valued comparisons
	2020-07-24 fix _GL_CMP parenthesization typo
	2020-07-23 optimize three-valued comparison between integers
	2020-07-24 doc: update for Mac OS X 10.13
	2020-07-23 fchmodat, lchmod: use /proc on Cygwin
	2020-07-21 inttypes: fix PRI*PTR and SCN*PTR on 64-bit native Windows
	2020-07-12 libgmp: avoid warning when --without-libgmp is used
	2020-07-12 libgmp: link to the correct shared library
	* lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
	* build-aux/config.guess, build-aux/config.sub:
	* build-aux/install-sh, doc/misc/texinfo.tex, lib/c-strcasecmp.c:
	* lib/c-strncasecmp.c, lib/fchmodat.c, lib/fsusage.c:
	* lib/gettimeofday.c, lib/inttypes.in.h, lib/lchmod.c:
	* lib/mini-gmp-gnulib.c, lib/nstrftime.c, lib/regex.h, lib/timespec.h:
	* m4/alloca.m4, m4/getgroups.m4, m4/gettimeofday.m4:
	* m4/gnulib-common.m4, m4/inttypes.m4, m4/libgmp.m4, m4/mktime.m4:
	* m4/multiarch.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* src/Makefile.in, test/Makefile.in (LIBGMP):
	Rename from LIB_GMP for compatibility with Gnulib.
	All uses changed.

2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>

	Port to Oracle Studio 12.6 (sparc)

	* src/alloc.c (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]:
	Move from here ...
	* src/lisp.h: ... to here, since flush_stack_call_func uses it.
	* src/pdumper.c (dump_off_from_lisp): Avoid ‘return n;;’ to pacify
	Oracle Studio.

2020-07-30  Eli Zaretskii  <eliz@gnu.org>

	Fix face extension past EOL in overlay strings

	* src/xdisp.c (face_at_pos): Pass ATTR_FILTER to
	face_for_overlay_string.
	* src/xfaces.c (face_for_overlay_string): Accept an additional
	argument ATTR_INDEX and pass it to merge_face_ref for merging the
	face at POS.  This ensures a face from buffer text will not be
	merged unless it specifies the :extend attribute.  (Bug#42552)
	* src/dispextern.h (face_for_overlay_string): Adjust prototype.

2020-07-30  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp bug#42538

	* lisp/net/tramp-sh.el (tramp-set-remote-path): Send the command
	in several chunks if it is too large.  (Bug#42538)

2020-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make libravatar lookups asynchronous

	* lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Fix check for
	repeated gravatars, which is now easier to trigger now that things
	are more asynchronous.

	* lisp/image/gravatar.el (gravatar--service-libravatar): Fetch the
	data asynchronously (bug#40676).
	(gravatar-service-alist): Adjust all providers so they are
	asynchronous.
	(gravatar-build-url): Adjust caller to be asynchronous.
	(gravatar-retrieve): Ditto.
	(gravatar-retrieve-synchronously): Ditto.

2020-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Add the new function dns-query-asynchronous

	* lisp/net/dns.el (dns-query-asynchronous): New function.
	(dns--lookup, dns--filter): New internal functions.
	(dns-query): Reimplement on top of dns-query-asynchronous.

2020-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use lexical binding in dns.el

	* lisp/net/dns.el: Use lexical-binding.
	(dns-write-bytes, dns-read): Adjust for lexical-binding.

2020-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Small dns.el code cleanup

	* lisp/net/dns.el (dns-query): Clean up code slightly by removing
	a macro and moving the code into the function itself.

2020-07-30  Glenn Morris  <rgm@gnu.org>

	* admin/gitmerge.el (gitmerge-resolve): Discard AUTHORS conflicts.

2020-07-29  Glenn Morris  <rgm@gnu.org>

	Update a gravatar test

	* test/lisp/image/gravatar-tests.el (gravatar-build-url):
	Update for recent change in default gravatar-service.

2020-07-29  Mattias Engdegård  <mattiase@acm.org>

	Preserve match data in 'kbd'

	* lisp/subr.el (kbd): Preserve match data since this function is
	declared pure (see discussion in bug#42147).

2020-07-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	d024fc141b (origin/emacs-27) * doc/lispref/symbols.texi (Definitions)...
	d78e0f3cd5 ; lisp/ldefs-boot.el: Update.
	27877e7bcf (tag: emacs-27.1-rc1) * etc/HISTORY: Add Emacs 27.1 release...

2020-07-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	1fc742b63e ; Update ChangeLog.3
	4c7f6217da * etc/AUTHORS: Update.
	24391f517a Update authors.el
	56f958807c * etc/NEWS: Remove temporary markup.
	73a2f51043 Add another test for global module references

	# Conflicts:
	#	etc/AUTHORS
	#	etc/NEWS

2020-07-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	4b3085a7fe Fix last change
	efdd4632c9 Fix Arabic shaping when column-number-mode is in effect
	d5acc50941 Fix description of kmacro-* commands in the user manual

2020-07-29  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Fix typos.

2020-07-29  Michael Albinus  <michael.albinus@gmx.de>

	Tramp doc edit

	* doc/misc/tramp.texi: Use it.

	* doc/misc/trampver.texi: Declare @trampurl.

2020-07-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't default to librgravatar, since there are security implications

	* lisp/image/gravatar.el (gravatar-service): Change the default
	from libravatar, since that has privacy concerns (bug#40676).

2020-07-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Use a new method to determine when to auto-stop image animations

	* lisp/image.el (image-animate-timeout): Make the animation
	auto-stop use a decaying average to determine when to stop
	(bug#40685).  The default stop condition will probably require
	some tweaking -- the current default may be too aggressive.

2020-07-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Make eww use the XDG download directory

	* lisp/net/eww.el (erc--download-directory): New function (bug#41030).
	(eww-download-directory): Use it.
	(eww-download): Use it.
	(eww-download-callback): Adjust parameters.

2020-07-29  Philip K  <philip@warpmail.net>

	Make the erc-header-line default to header-line

	* lisp/erc/erc.el (erc-header-line): Inherit from header-line (the
	old values were very similar in light mode, but very different
	in dark mode) (bug#41095).

2020-07-29  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-git.el (vc-git-log-view-mode): Font-lock AuthorDate (bug#40248)

	Highlight "AuthorDate" in log-view-font-lock-keywords
	when [format] pretty = fuller.

2020-07-29  Philip K  <philip@warpmail.net>

	Replace project-kill-buffers-ignores with project-kill-buffer-conditions

	* lisp/progmodes/project.el (project-kill-buffer-conditions):
	Replace the project-kill-buffers-ignores user option.
	(project--kill-buffer-check): New function.
	(project--buffers-to-kill): New function.
	(project-kill-buffers): Use them.  Add the NO-CONFIRM argument.

2020-07-28  Nicolas Petton  <nicolas@petton.fr>

	Revert "* etc/NEWS.27: Remove temporary markup."

	This reverts commit c270104e503cf0435a5ae40c5d0e430f4ef4bfb0.

2020-07-28  Nicolas Petton  <nicolas@petton.fr>

	* etc/NEWS.27: Remove temporary markup.

	* etc/AUTHORS: Update.

2020-07-28  Nicolas Petton  <nicolas@petton.fr>

	Update authors.el

	* admin/authors.el (authors-aliases): Add author aliases.
	(authors-ignored-files):
	(authors-valid-file-names):
	(authors-renamed-files-alist): Update file lists.

2020-07-28  Mattias Engdegård  <mattiase@acm.org>

	Simplify and streamline optimizer clauses

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
	Remove clause for 'with-output-to-temp-buffer', since it is a
	macro and will have been expanded before reaching this point.
	Move clauses for 'lambda' and 'closure' to avoid splitting
	a cond jump table.

2020-07-28  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix uses of deprecated SELinux security_context_t

	SELinux has used 'char *' in place of its typedef
	'security_context_t' since 2014 (v2.3) because the latter was
	inconvenient to use when paired with the 'const' qualifier.  The
	typedef has been kept around for compatibility with legacy callers,
	but it is deprecated in SELinux v3.1.  See the following URL for the
	relevant announcement:
	https://lore.kernel.org/selinux/20200710162034.GC1768200@localhost.localdomain/

	* src/fileio.c (Fcopy_file, Ffile_selinux_context)
	(Fset_file_selinux_context) [HAVE_LIBSELINUX]: Replace deprecated
	'security_context_t' typedef with the equivalent 'char *'.

2020-07-28  Michael Albinus  <michael.albinus@gmx.de>

	Apply simpler fix for Tramp bug#39399

	* lisp/net/tramp-sh.el (tramp-open-shell): Remove "~/.editrc" editing.
	(tramp-open-connection-setup-interactive-shell): Move up "set +o
	vi +o emacs" command.   (Bug#39399)

2020-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix thinko in previous nnmail.el patch

	* lisp/gnus/nnmail.el (nnmail-check-duplication): Fix thinko in
	previous patch -- group-art is a list of pairs, not a pair.

2020-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with new-mail-mark in Gnus with non-unique names

	* lisp/gnus/gnus-group.el (gnus-group-new-mail): Call with Gnus
	group name.
	(gnus-group-catchup): Ditto.

	* lisp/gnus/gnus-sum.el (gnus-summary-exit): Ditto.

	* lisp/gnus/nnimap.el (nnimap-update-info): Store Gnus group name.

	* lisp/gnus/nnmail.el (nnmail-check-duplication): Store unique
	Gnus names in the history instead of backend-specific (possibly
	duplicated) group names (bug#41842).

2020-07-28  Eric Abrahamsen  <eric@ericabrahamsen.net>

	* doc/misc/gnus.texi: Add introductory section to Gnus manual

	"Don't Panic: Your first 20 minutes with Gnus."

2020-07-27  João Távora  <joaotavora@gmail.com>

	Make newer ElDoc versions are compatible with Emacs < 28

	(Bug#42563)

	For some time, Eldoc has some Elisp-specific code that shouldn't
	live there, but in elisp-mode.el.  This can be fixed in Emacs master,
	but since ElDoc is distributed in GNU Elpa and is meant to work with
	Emacs 26 and 27, this means that that elisp-specific code must still
	be distributed with eldoc.el and kept up to date.

	* lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): Ensure
	implementation is compatible with Emacs < 28.
	(Version): Bump to 1.8

2020-07-27  João Távora  <joaotavora@gmail.com>

	Bring back ElDoc's eldoc-display-message-p, but obsolete it

	Like others, this is an implementation detail that third parties could
	be relying on.  Better not remove it outright just now, since its
	implementation is very simple anyway.

	* lisp/emacs-lisp/eldoc.el (Version): Bump to 1.7.0
	(eldoc-display-message-p): Bring back, but obsolete.

2020-07-27  Dmitry Gutov  <dgutov@yandex.ru>

	Fix argument reference

	* lisp/progmodes/project.el
	(project-display-buffer-other-frame): Fix argument reference.

2020-07-27  Dmitry Gutov  <dgutov@yandex.ru>

	Move project--value-in-dir to a different section

	* lisp/progmodes/project.el (project--value-in-dir):
	Move closer to its uses.

2020-07-27  Dmitry Gutov  <dgutov@yandex.ru>

	Bind switch-to-buffer-obey-display-actions to t

	* lisp/progmodes/project.el (project--other-place-command):
	Bind switch-to-buffer-obey-display-actions to t, so that
	project-other-window-command and friends can affect
	project-switch-to-buffer.

2020-07-27  Sean Whitton  <spwhitton@spwhitton.name>

	Add project other place commands

	* lisp/progmodes/project.el (project-other-window-map,
	project-other-frame-map, project--other-place-command,
	project-other-window-command, project-other-frame-command,
	project-other-tab-command): Add these functions and maps.
	* lisp/progmodes/project.el: Bind project-other-window-command to C-x
	4 p, project-other-frame-command to C-x 5 p and
	project-other-tab-command to C-x t p (bug#42210).

2020-07-27  Sean Whitton  <spwhitton@spwhitton.name>

	Add project-display-buffer and project-display-buffer-other-frame

	* lisp/progmodes/project.el (project-display-buffer,
	project-display-buffer-other-frame): Add commands.

2020-07-27  Sean Whitton  <spwhitton@spwhitton.name>

	Factor out project--read-project-buffer from project-switch-buffer

	* lisp/progmodes/project.el (project--read-project-buffer): New
	function extracted from project-switch-buffer.
	* lisp/progmodes/project.el (project-switch-buffer): Instead of
	unconditionally reading a project buffer from the user, add
	buffer-or-name argument, and populate it using
	project--read-project-buffer when called interactively.  Update
	docstring.

2020-07-26  Philipp Stephani  <phst@google.com>

	Small refactoring to simplify the interface of internal function.

	* src/emacs-module.c (allocate_emacs_value): Remove STORAGE parameter.
	(lisp_to_value): Adapt caller.

2020-07-26  João Távora  <joaotavora@gmail.com>

	Correct order or eldoc-documentation-functions in Elisp mode

	(Bug#42531)

	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Reverse order of
	eldoc-documentation-functions.

2020-07-26  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savahnna/master' into HEAD

2020-07-26  Andrea Corallo  <akrl@sdf.org>

	Add NATIVE_COMP to `system-configuration-features'

	* configure.ac (emacs_config_features): Add NATIVE_COMP

2020-07-26  Andrea Corallo  <akrl@sdf.org>

	Add `comp-ensure-native-compiler' guarding entry points

	* lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): New function.
	(native-compile, batch-native-compile)
	(batch-byte-native-compile-for-bootstrap, native-compile-async):
	Make use of `comp-ensure-native-compiler'.

2020-07-25  Philipp Stephani  <phst@google.com>

	Make checking for liveness of global values more precise.

	We can't just use a hash lookup because a global and a local reference
	might refer to the same Lisp object.

	* src/emacs-module.c (module_free_global_ref): More precise check for
	global liveness.

	* test/data/emacs-module/mod-test.c (Fmod_test_globref_invalid_free):
	New test module function.
	(emacs_module_init): Export it.

	* test/src/emacs-module-tests.el
	(module--test-assertions--globref-invalid-free): New unit test.

2020-07-25  Philipp Stephani  <phst@google.com>

	Fix subtle bug when checking liveness of module values.

	We can't simply look up the Lisp object in the global reference table
	because an invalid local and a valid global reference might refer to
	the same object.  Instead, we have to test the address of the global
	reference against the stored references.

	* src/emacs-module.c (module_global_reference_p): New helper function.
	(value_to_lisp): Use it.

	* test/data/emacs-module/mod-test.c
	(Fmod_test_invalid_store_copy): New test module function.
	(emacs_module_init): Export it.

	* test/src/emacs-module-tests.el
	(module--test-assertions--load-non-live-object-with-global-copy):
	New unit test.

2020-07-25  Mattias Engdegård  <mattiase@acm.org>

	Optimize 3-arg +, - and *

	Turn (+ a b c) into (+ (+ a b) c), and do the same for - and *.
	The 2-arg operations have their own bytecode which results in a 1.5×
	speed-up.  Furthermore, the transform enables other optimizations; for
	example, (+ a 1 b) -> (+ (1+ a) b).

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-plus, byte-optimize-minus)
	(byte-optimize-multiply): Transform (OP a b c) into (OP (OP a b) c).

2020-07-25  Eli Zaretskii  <eliz@gnu.org>

	Update and improve documentation of project.el commands

	* doc/emacs/custom.texi (Prefix Keymaps): Document
	'project-prefix-map'.
	* doc/emacs/maintaining.texi (Project File Commands)
	(Switching Projects): Describe key bindings for the commands
	described in the sections.  Document 'project-list-file'.
	(Project Buffer Commands): New section.
	* doc/emacs/emacs.texi (Top): Add Project sections to the detailed
	menu.

	* etc/NEWS: Add entries for project.el, and mark documented entries as
	appropriate.

2020-07-25  Eli Zaretskii  <eliz@gnu.org>

	Fix display of man pages after killing the 'man' process

	* lisp/man.el (Man-bgproc-filter, Man-bgproc-sentinel): Use
	'buffer-live-p' instead of just testing the buffer's name.
	(Bug#42160)

2020-07-25  Dmitry Gutov  <dgutov@yandex.ru>

	project-remember-project: New public function

	* lisp/progmodes/project.el (project-remember-project):
	Rename from project--add-to-project-list-front (bug#42332).
	And autoload it.

2020-07-24  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-git.el (vc-git-log-view-mode): Fix commit regexp (bug#40248)

	The regexp 'log-view-message-re' should match e.g. "commit 123456789",
	not "CommitDate".

2020-07-23  Tassilo Horn  <tsdh@gnu.org>

	Don't call undefined function elisp-eldoc-documentation-function (bug#42493)

	* lisp/ielm.el (inferior-emacs-lisp-mode): Add
	`elisp-eldoc-var-docstring' and `elisp-eldoc-funcall' as
	`eldoc-documentation-functions' instead of the undefined
	elisp-eldoc-documentation-function (bug#42493).

2020-07-23  Tassilo Horn  <tsdh@gnu.org>

	bug-reference auto-setup for IRC, implementation for ERC

	* lisp/progmodes/bug-reference.el (bug-reference-setup-from-irc-alist):
	Change SERVER-REGEXP to NETWORK-REGEXP in docstring.
	* lisp/progmodes/bug-reference.el (bug-reference--maybe-setup-from-irc):
	Change semantics from requiring a match of channel OR server to
	requiring a match of both (if both are configured).
	* lisp/progmodes/bug-reference.el (bug-reference-try-setup-from-erc):
	New defun doing the auto-setup for ERC.
	(bug-reference--run-auto-setup): Run bug-reference-try-setup-from-erc.
	* etc/NEWS: Extend entry describing bug-reference auto-setup.

2020-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix viewing of encrypted S/MIME messages

	* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Don't
	add a content-type header if there already is one (bug#41659).

2020-07-23  Philipp Stephani  <phst@google.com>

	Fix memory leak for global module objects (Bug#42482).

	Instead of storing the global values in a global 'emacs_value_storage'
	object, store them as hash values alongside the reference counts.
	That way the garbage collector takes care of cleaning them up.

	* src/emacs-module.c (global_storage): Remove.
	(struct module_global_reference): New pseudovector type.
	(XMODULE_GLOBAL_REFERENCE): New helper function.
	(module_make_global_ref, module_free_global_ref): Use
	'module_global_reference' struct for global reference values.
	(value_to_lisp, module_handle_nonlocal_exit): Adapt to deletion of
	'global_storage'.

2020-07-23  João Távora  <joaotavora@gmail.com>

	Don't needlessly request docs from ElDoc functions

	(Bug#42421)

	Do this conservatively for now: if the ElDoc helper buffer (as
	returned by eldoc--doc-buffer) is visible and showing documentation
	for the very same "situation" (as computed by the new
	eldoc--request-state helper), don't request that documentation from
	sources again.

	Before this change, not only was that request inefficient but if the
	user invoked scroll-other-window to see more of the helper buffer,
	that would eventually cause it to be reformatted and unexpectedly
	recentered.

	Later on, when a customizable list of documentation "sinks" is offered
	to the user, say, something like eldoc-display-functions, this process
	must be consolidated.  In those circumstances, as soon as one of those
	sinks signals that it doesn't have up-to-date documentation for the
	state computed by eldoc--request-state, documentation will have to be
	requested anew from eldoc-documentation-functions via
	eldoc--invoke-strategy.

	* lisp/emacs-lisp/eldoc.el (eldoc--request-docs-p): Rework from
	eglot-display-message-p.
	(eldoc--last-request-state): New variable.
	(eldoc--request-state): New helper.
	(eldoc--handle-docs): Memorize state of request in doc buffer.
	(eldoc-print-current-symbol-info): Pass a token to
	eldoc--request-docs-p.
	(Version): Bump to 1.6.0

2020-07-22  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	4db3235fd8 Run custom-magic-reset in the customize buffer
	3c9c3f04de ; spelling fix

2020-07-22  Mattias Engdegård  <mattiase@acm.org>

	Calc: fix interval entry snag (bug#42438)

	* lisp/calc/calc.el (calcDigit-key): Don't signal a 'Bad format' error
	when entering '..' after pushing an incomplete interval.

	Reported by Allen Li.

2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>

	Rectify allout-widgets region undecoration so item at start is not missed.

	* lisp/allout-widgets.el (allout-widgets-undecorate-region):
	Reorganize the loop so an item at the start is not skipped.

2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>

	Resolve missing button-region keymap bindings.

	* lisp/allout-widgets.el (allout-item-icon-keymap,
	allout-item-body-keymap, allout-cue-span-keymap, allout-widgets-mode):
	Inherit from both (current-local-map) and (current-global-map). This
	provides for missing global bindings when inheriting from
	just (current-local-map), eg Esc-<.

2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>

	Provide missing let definition to prevent background void-variable error.

	* lisp/allout-widgets.el (allout-widgets-exposure-change-processor)
	Let-declare handled-conceal, for reference through `(symbol-value)'
	within the let body. (Because the error happens in an
	after-change-functions hook, so it is caught and reported as a message
	by allout-widgets-hook-error-handler.)

2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>

	Don't let item decoration be disrupted by too-shallow items.

	* lisp/allout-widgets.el (allout-decorate-item-and-context): Check for
	parent-position having value before using it.

	Also, shift local emacs vars topic deeper so it doesn't constitute
	an instance of that particular aberrant case.

2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>

	Fix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)

	* lisp/allout-widgets.el (allout-decorate-item-cue): Properly decorate
	item cue span.
	(allout-setup-text-properties): use allout-graphics-modification-handler
	as allout-cue-span-category modification hook.

2020-07-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	cd93debc60 (origin/emacs-27) Merge branch 'emacs-27' of git.savannah....
	2c0c613ec5 Document prefix arg effects for 'epa-mail-{sign,encrypt}'
	551123e0b2 * etc/NEWS: Correct description of :client-certificate change
	05c4329cf5 Revert "Fix filename completion in shell mode buffers"
	de68572742 Improve documentation of 'bookmark-bmenu-mode'
	fd85e70be7 Update systems using GnuTLS certificate files
	0d4ba1c2b2 Improve documentation of 'kill-emacs'
	b3bbd4fd00 Improve documentation of 'display-raw-bytes-as-hex'
	f50d79af6b Correct descriptions of init file
	e325d2638c Fix interrupt-process on MS-Windows
	d24e56a5e4 Revert "* doc/misc/flymake.texi (An annotated example back...

	# Conflicts:
	#	etc/NEWS

2020-07-20  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem with Tramp progress reporter

	* lisp/net/tramp.el (with-tramp-progress-reporter): Do not span a
	new progress reporter if there's already another one.

2020-07-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make xwidget-webkit-browse-url slightly more DWIM

	* lisp/xwidget.el (xwidget-webkit-browse-url): Prepend "https" to
	URLs that don't have a protocol (bug#31369).

2020-07-20  Mattias Engdegård  <mattiase@acm.org>

	Suppress relint false positive in gnus-start.el

	* lisp/gnus/gnus-start.el (gnus-active-to-gnus-format):
	Add suppressive comment.  Prepending "^to\\.\\|" is redundant when
	'gnus-ignored-newsgroups' already matches that pattern, but adding
	logic here is not worth the trouble.

2020-07-20  Dmitry Gutov  <dgutov@yandex.ru>

	project.el: Add more docs and two new key bindings

	* lisp/progmodes/project.el:
	Add a longer description of the package and how to use it.
	(project-prefix-map): Add entries for
	'project-or-external-find-file' and
	'project-or-external-find-regexp'.

2020-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Only kill url-retrieve-synchronously connections when we have a timeout

	* lisp/url/url.el (url-retrieve-synchronously): Only kill the
	connections when we have a timeout (bug#34607).

2020-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Make timeouts work more reliably in url-retrieve-synchronously

	* lisp/url/url.el (url-retrieve-synchronously): Ensure that the
	processes have been killed on timeouts before returning the buffer
	(bug#34607).

2020-07-19  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-07-19  Daniele Nicolodi  <daniele@grinta.net>  (tiny change)

	url-http: Fix handling of redirect locations

	* lisp/url/url-http.el (url-http-parse-headers): Parse redirect
	URIs more like other web browsers (bug#42382).

	RFC 7231 the Location header is defined to carry a URI-reference.
	According to RFC 3986 it should be percent-encoded and thus should not
	contain spaces. However, there are HTTP server implementation (notably
	nginx) that do not do that. This makes Emacs url-http.el behave like
	most other HTTP client implementations. Also remove the stripping of
	angle bracket quotes as they are not valid according to the RFCs.

2020-07-19  Satoshi Nakagawa  <ghnacker@gmail.com>  (tiny change)

	Support Proxy-Authorization in HTTPS CONNECT proxies

	* lisp/url/url-http.el (url-https-proxy-connect): Support CONNECT
	with Proxy-Authorization header (bug#42422).

2020-07-19  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-adb.el (tramp-adb-prompt): Further simplification.

	Suggested by Mattias Engdegård <mattiase@acm.org>.

2020-07-19  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Complete over the MIME types in gnus-summary-save-parts

	* lisp/gnus/gnus-sum.el (gnus-summary-save-parts): Allow
	completing over the parts in the first article in the list of the
	process-marked articles (bug#39543).

2020-07-19  Štěpán Němec  <stepnem@gmail.com>

	gnus-button-alist: Prefer URL links to Elisp library links

	* lisp/gnus/gnus-art.el (gnus-button-alist): Move the URL clauses
	higher up the list before library link setup to prevent URLs ending in
	".el" from failing to be recognized (and invalid library links being
	created instead) (bug#39781).

2020-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Do window configuration change before killing Gnus buffers on exit

	* lisp/gnus/gnus-sum.el (gnus-summary-exit): Do window
	configuration changes before killing off the summary buffer, so
	that the window conf machinery can return to a group-only
	configuration (bug#40069).

2020-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow adjusting the `W Q' Gnus summary command interactively

	* doc/misc/gnus.texi (Article Washing): Document it.

	* lisp/gnus/gnus-art.el (article-fill-long-lines): Take a numeric
	prefix as the fill width (bug#38698).

2020-07-19  Alan Mackenzie  <acm@muc.de>

	Remove redundant code from c-font-lock-fontify-region

	* lisp/progmodes/cc-mode.el (c-font-lock-fontify-region): Remove variables
	string-fence-beg and lim, and the code used to calculate them.

2020-07-19  Philipp Stephani  <phst@google.com>

	Add missing 'require'.

	* lisp/progmodes/project.el: Require seq.el explicitly as
	'seq-every-p' isn't autoloaded in Emacs 26.3.

2020-07-19  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Simplify dummy root subject before comparing it to the current article

	* lisp/gnus/gnus-sum.el (gnus-summary-prepare-threads): Simplify both
	the dummy root and the following article before comparing them,
	otherwise both the former and the latter might display the thread's
	subject even when gnus-summary-line-format contains "%s" (bug#40520).

2020-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix C-c C-f in the Gnus article buffer

	* lisp/gnus/gnus-art.el (gnus-article-mode-map): Make the C-c C-f
	command work in the article buffer, too (bug#40548).

2020-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the Emacs bug tracker in the bug reporting doc strings

	* lisp/gnus/gnus-msg.el (gnus-bug): Mention the Emacs bug tracker.

	* lisp/mail/emacsbug.el (report-emacs-bug): Link directly to the
	Emacs portion of the bug reports (bug#41109).

2020-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix for article-fill-long-lines

	* lisp/gnus/gnus-art.el (article-fill-long-lines): Mention that it
	also respects `fill-column' (bug#41534).

2020-07-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow open-network-stream to use different TLS capability commands

	* doc/lispref/processes.texi (Network): Document non-string
	capability command.
	* lisp/gnus/nntp.el (nntp-open-connection): Use HELP for Typhoon
	and CAPABILITIES for everything else (bug#41960).

	* lisp/net/network-stream.el (open-network-stream): Document
	function variety of :capability-command.
	(network-stream-open-starttls): Use it.
	(network-stream-open-tls): Ditto.
	(network-stream-open-shell): Ditto.
	(network-stream--capability-command): New helper function.

2020-07-19  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Narrow to headers in gnus-registry before getting data

	* lisp/gnus/gnus-registry.el (gnus-registry-spool-action): Narrow
	to the headers before getting data from them (bug#42029).

2020-07-19  João Távora  <joaotavora@gmail.com>

	Fix ElDoc bugs around eldoc-echo-area-use-multiline-p.

	If the value is 'truncate-sym-name-if-fit and the single docstring
	doesn't fit in the echo area even when the symbol name is elided, that
	step shouldn't be attempted.  Also if the value is nil, really ensure
	that only the first line is shown.

	* lisp/emacs-lisp/eldoc.el (eldoc--handle-docs): Rework
	'truncate-sym-name-if-fit case of eldoc-echo-area-use-multiline-p.

2020-07-19  Juri Linkov  <juri@linkov.net>

	* lisp/window.el (display-buffer-override-next-command): Add ECHO arg.

	* lisp/frame.el (other-frame-prefix):
	* lisp/tab-bar.el (other-tab-prefix):
	* lisp/windmove.el (windmove-display-in-direction):
	* lisp/window.el (other-window-prefix, same-window-prefix):
	Use new ECHO arg of display-buffer-override-next-command.

	https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00819.html

2020-07-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't have shr kill random buffers on network failures

	* lisp/url/url-queue.el (url-queue-callback-function): Don't kill
	off random buffers on HTTP failures (bug#40976).

2020-07-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Make eww-open-file work with Tramp file names

	* lisp/net/eww.el (eww-open-file): Allow opening non-local Tramp
	files (bug#40425).
	(eww): Adjust calling convention to allow passing in data directly
	via a buffer.

2020-07-18  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of a recent change in shr.el

	* lisp/net/shr.el (shr-max-width, shr-width): Fix typo and wording
	of the doc strings.

	* etc/NEWS: Fix the wording of the 'shr-max-width's entry, and
	move it to the SHR section.

2020-07-17  Tassilo Horn  <tsdh@gnu.org>

	bug-reference auto-setup for IRC, implementation for rcirc

	* lisp/progmodes/bug-reference.el (bug-reference-setup-from-irc-alist):
	New defvar for configuring bug regexp and URL based on IRC channel and
	server names.
	(bug-reference--maybe-setup-from-irc): New defun doing the setup given
	channel and server.
	(bug-reference-try-setup-from-rcirc): New defun calling the above for
	rcirc buffers.
	(bug-reference--run-auto-setup): Enable the auto-setup for rcirc.
	* etc/NEWS: Extend entry describing bug-reference auto-setup.

2020-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix NOT-CURRENT behavior in text-property-search-backward

	* lisp/emacs-lisp/text-property-search.el
	(text-property-search-backward): Fix inconsistent behavior of
	S-TAB in eww (and other callers that use the NOT-CURRENT
	behavior) when there are adjacent elements
	(bug#39239).

2020-07-17  Xu Chunyang  <xuchunyang56@gmail.com>

	Fix <textarea> default texts in eww

	* lisp/net/eww.el (eww-tag-textarea): <textarea> default text
	comes from the contents, not a value attribute (bug#39867).

2020-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't message complete GIF data upon errors

	* src/image.c (gif_load): When unable to parse a GIF specified
	via a data attribute, don't message the complete binary, because
	that's not useful (bug#40850).

2020-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Add support for a shr-max-width variable

	* doc/misc/eww.texi (Advanced): Document it.

	* lisp/net/shr.el (shr-max-width): Add new variable (bug#40909).
	(shr-insert-document): Use it.

2020-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify shr width computation

	* lisp/net/shr.el (shr-insert-document): Clarify width
	computation: shr-width was checked again in the `else' part where
	we already knew it was nil.

2020-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make old aliases to gnus-child* commands work before Gnus is loaded

	* lisp/gnus/gnus.el (gnus-slave-no-server, gnus-slave): Mark as
	obsolete in a way that still lets them be used as interactive
	commands before Gnus is loaded.
	* lisp/gnus/gnus-agent.el (gnus-slave-unplugged): Ditto (bug#42401).

2020-07-17  Stefan Kangas  <stefankangas@gmail.com>

	Show eww bookmarks buffer only if it's not empty

	* lisp/net/eww.el (eww-list-bookmarks): Don't show buffer if there
	are no bookmarks.  (Bug#41385)
	(eww-bookmark-prepare): Move signaling an error if there are no
	bookmarks from here...
	(eww-read-bookmarks): ...to here.  Add new argument `error-out' to
	control this.
	(eww-next-bookmark, eww-previous-bookmark): Call
	`eww-read-bookmarks'.

2020-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problems with not rendering shr tables with rowspan

	* lisp/net/shr.el (shr-max-columns): When rowspans were in effect,
	columns would go missing from subsequent lines (bug#42194).

2020-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust naming convention for dependent Gnus sessions

	* doc/misc/gnus.texi (Child Gnusae): Rename node from "Slave
	Gnusae" and adjust wording.  Also remove at least one joke.

	* lisp/gnus/gnus-start.el (gnus-no-server-1, gnus-1)
	(gnus-setup-news, gnus-save-newsrc-file): Adjust parameter names.
	(gnus-child-mode): Rename and add alias.
	(gnus-child-save-newsrc): Rename.
	(gnus-parent-read-child-newsrc): Ditto.

	* lisp/gnus/gnus-group.el (gnus-group-mode)
	(gnus-group-get-new-news): Ditto.

	* lisp/gnus/gnus-agent.el (gnus-child-unplugged): Rename function
	from gnus-slave-unplugged (and add the latter as an obsolete alias).

	* lisp/gnus/gnus.el (gnus-other-frame-function): Adjust function
	names in the defcustom to new naming scheme.
	(gnus-other-frame-resume-function): Ditto.
	(gnus): Adjust parameter names.

2020-07-16  Tassilo Horn  <tsdh@gnu.org>

	Add tramp and orgmode to bug-reference-setup-from-mail-alist.

	Also add a TODO that I should implement something similar for
	IRC (rcirc/ERC).

	* lisp/progmodes/bug-reference.el (bug-reference-setup-from-mail-alist):
	Auto-setup also with groups matching orgmode and tramp.

2020-07-16  Juri Linkov  <juri@linkov.net>

	Use describe-char-padded-string for composed character names in "C-u C-x ="

	* lisp/descr-text.el (describe-char): Use describe-char-padded-string
	for displaying Unicode names of composed characters on GUI frames.
	(Bug#42256)

2020-07-15  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savahnna/master' into HEAD

2020-07-15  Andrea Corallo  <akrl@sdf.org>

	Add a testcase for bug#42360

	* test/src/comp-tests.el (comp-test-42360): New testcase.

	* test/src/comp-test-funcs.el (comp-test-42360-f): New function.

2020-07-15  Andrea Corallo  <akrl@sdf.org>

	Fix bug#42360

	* src/comp.c (compile_function): Allocate function frame as array
	if non local exits are present to retain correct Elisp semantic.
	(emit_limple_call_ref): Directly use the frame array for ref calls
	to have GCC spills into it before calling.

2020-07-15  Tassilo Horn  <tsdh@gnu.org>

	;Fix eldoc regression bug#42365

2020-07-15  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/epa.el (epa-show-key): New command.

	Users can move in `epa-key-list-mode' buffers using either
	`next-line'/`previous-line' or `widget-forward'/`widget-backward'.
	When using the first set of commands, then the cursor stays in the
	current column and that normally is the first column.  The key
	widgets do not begin until the third character of their respective
	lines.

	All `epa' commands work regardless of whether the cursor is on the
	widget or before them.  The `epa-show-key' command did not exist until
	now because the `widget-button-press' already performs its task.  But
	because the widgets don't span complete lines we actually need this
	command too.

2020-07-15  Jonas Bernoulli  <jonas@bernoul.li>

	epa-key-list-mode-map: Use widget-keymap as parent keymap

	Normally when one keymap is to be treated as the parent of another,
	then that relationship is setup once at the time when the child is
	being defined, i.e. at birth.  For some reason, this was not done
	here; instead `widget-keymap' is set as `epa-key-list-mode-map'
	parent every time the former is setup to be used as the local map.

	This appears to be a mistake.  A few other keymaps use `widget-keymap'
	as their parent and in those cases the relationship is established
	just once. `epa-key-list-mode-map' is the only exception and because
	there is absolutely no indication that that is justified, we remove
	this inconsistency.

	* lisp/epa.el (epa-key-list-mode-map): Set the parent of this keymap
	while defining it.
	* lisp/epa.el (epa--list-keys): Do not set the parent of the local
	keymap here.

2020-07-15  Jonas Bernoulli  <jonas@bernoul.li>

	Cosmetic changes to epa libraries

	These changes make the code more readable.

	* lisp/epa-dired.el (epa-dired-do-decrypt, epa-dired-do-verify)
	(epa-dired-do-sign, epa-dired-do-encrypt): Use dolist instead
	of while.
	* lisp/epa-file.el (epa-file-passphrase-callback-function):
	Set just one variable per setq call.

2020-07-15  Jonas Bernoulli  <jonas@bernoul.li>

	Drop unnecessary backward compatibility aliases

	We can assume that `encode-coding-string' and `decode-coding-string'
	are available; they were added in 1997.

	* lisp/epa-file.el (epa-file--encode-coding-string)
	(epa-file--decode-coding-string): Remove aliases for
	encode-coding-string and decode-coding-string.
	* lisp/epa-file.el (epa-file-write-region): Use encode-coding-string
	instead of removed epa-file--encode-coding-string.

2020-07-15  Jonas Bernoulli  <jonas@bernoul.li>

	Improve and add doc-strings

	* lisp/epa-file.el (epa-file-select-keys):
	lisp/epa-hook.el (epa-file-name-regexp):
	lisp/epa.el (epa-exit-buffer): Improve doc-string.
	* lisp/epa-hook.el (epa-file-name-regexp-update): Add doc-string.

2020-07-15  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation.

2020-07-15  Jonas Bernoulli  <jonas@bernoul.li>

	Add all epa faces to epa-faces Custom group

	`epa-validity-face-alist' isn't actually a face but belongs
	in that group anyway.

	* lisp/epa.el (epa-field-name, epa-field-body)
	(epa-validity-face-alist): Add to epa-faces Custom group.

2020-07-15  Jonas Bernoulli  <jonas@bernoul.li>

	* lisp/epa.el (epa-faces): Move definition.

	Previously option `epa-mail-aliases' was the only option that was
	defined right after the group `epa-faces' and right before all the
	faces.  Now it is defined with all the other options and thus before
	the definition of the `epa-faces' group, which it does not belong to.

2020-07-15  Andrea Corallo  <akrl@sdf.org>

	Add a simple major mode for coloring LIMPLE in the log buffer

	* lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): New const.
	(comp-limple-mode): New major mode.
	(comp-log-to-buffer): Enable `comp-limple-mode' in the log buffer.

2020-07-15  Juri Linkov  <juri@linkov.net>

	Improve display of composed character names in "C-u C-x =" on GUI frames

	* lisp/descr-text.el (describe-char): On GUI frames, display the
	Unicode names of really composed characters only (Bug#42256)

2020-07-14  Basil L. Contovounesios  <contovob@tcd.ie>

	Consistently stylize eldoc as ElDoc in more prose

	This fixes new occurrences of "Eldoc" since emacs-27.

	* doc/lispref/modes.texi (Major Mode Conventions):
	* etc/NEWS:
	* lisp/descr-text.el (describe-char-eldoc):
	* lisp/emacs-lisp/eldoc.el (eldoc-echo-area-use-multiline-p)
	(eldoc-prefer-doc-buffer, eldoc--documentation-strategy-defcustom):
	Consistently capitalize eldoc as ElDoc rather than Eldoc in
	documentation and commentary.

2020-07-14  Juri Linkov  <juri@linkov.net>

	Improve documentation of "C-u C-x ="

	* doc/emacs/mule.texi (International Chars): Update the
	composition information displayed by "C-u C-x =".  (Bug#42256)

2020-07-13  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savahnna/master' into HEAD

2020-07-13  Andrea Corallo  <akrl@sdf.org>

	Rename `comp-propagate' into  `fw-prop'

	* lisp/emacs-lisp/comp.el (comp-passes): Rename `comp-propagate'
	-> `comp-fwprop'.
	(comp-fwprop-prologue): Rename from `comp-propagate-prologue'.
	(comp-fwprop-insn): Rename from `comp-fwprop-insn'.
	(comp-propagate*): Rename from `comp-propagate*' and update.
	(comp-fwprop): Rename from `comp-propagate' and update.

2020-07-13  Andrea Corallo  <akrl@sdf.org>

	Clean-up now unnecessary backward propagation in comp.el

	* lisp/emacs-lisp/comp.el (comp-passes): Invoke 'comp-propagate'
	instead of 'comp-propagate-alloc'.
	(comp-mvar): Remove unnecessary `array-idx' slot.
	(comp-propagate-prologue): Remove.
	(comp-propagate-prologue): Remove `backward' parameter and
	backward propagation logic.
	(comp-propagate1): Remove and move logic into `comp-propagate'.
	(comp-propagate-alloc): Remove pass.

2020-07-13  Andrea Corallo  <akrl@sdf.org>

	Rework frame allocation strategy

	All frame slots are now simple automatic variables given the array
	allocation and fill is done in 'emit_limple_call_ref'.

	* src/comp.c (comp_t): Remove 'f_frame' 'arrays' slots, add
	'frame'.
	(emit_mvar_lval): Simplify to make use of 'comp.frame'.
	(compile_function): Clean-up and add comp.frame initialization.

2020-07-13  Andrea Corallo  <akrl@sdf.org>

	Rework the backend to allocate argument arrays for call by references

	* src/comp.c (comp_t): Add 'zero' field.
	(emit_limple_call_ref): Allocate an array to host the parameters
	and generate the code moving values into.
	(Fcomp__init_ctxt): Initialize comp.zero.

2020-07-13  Juri Linkov  <juri@linkov.net>

	Display "C-u C-x =" composed character names on GUI frames as well

	* lisp/descr-text.el (describe-char): On GUI frames, display the
	Unicode names of the composed characters like they are displayed
	on TTY frames.  (Bug#42256)

2020-07-12  Eli Zaretskii  <eliz@gnu.org>

	;* lisp/progmodes/project.el (project-current): Doc fix.

2020-07-12  James N. V. Cash  <james.nvc@gmail.com>  (tiny change)

	Fix a typo in eldoc.el

	* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): Fix a
	typo.  (Bug#42310)

2020-07-12  Eli Zaretskii  <eliz@gnu.org>

	Fix last doc changes in project.el

	* lisp/progmodes/project.el (project-find-functions)
	(project-current): Add back information which was recently
	removed.

2020-07-12  João Távora  <joaotavora@gmail.com>

	Sort out ElDoc backward compatibility of eldoc-documentation-function

	As explained previously, we can't simply make
	eldoc-documentation-function an variable alias for
	eldoc-documentation-strategy, because ElDoc is pre-loaded in Emacs <
	28, where it holds at least one buffer-local binding.  So if eldoc.el
	is loaded in those versions, we do the variable alias binding in
	reverse.  We do this using a macro
	eldoc--documentation-strategy-defcustom to at load time in which
	direction to make the variable alias.

	* lisp/emacs-lisp/eldoc.el
	(eldoc--documentation-strategy-defcustom): Helper macro.
	(eldoc-documentation-strategy, eldoc-documentation-function): Use it.
	(Version): Bump to 1.5.0

2020-07-12  Michael Albinus  <michael.albinus@gmx.de>

	More Tramp code cleanup

	* lisp/net/tramp.el (tramp-process-actions):
	* lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info)
	(tramp-adb-handle-set-file-times)
	(tramp-adb-maybe-open-connection):
	* lisp/net/tramp-cmds.el (tramp-rename-files, tramp-rename-these-files)
	(tramp-reporter-dump-variable):
	* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-stat)
	(tramp-sh-handle-file-selinux-context)
	(tramp-do-directory-files-and-attributes-with-stat)
	(tramp-sh-handle-file-name-all-completions)
	(tramp-sh-handle-write-region)
	(tramp-sh-handle-file-notify-add-watch)
	(tramp-sh-gvfs-monitor-dir-process-filter)
	(tramp-sh-inotifywait-process-filter)
	(tramp-sh-handle-file-system-info, tramp-find-executable)
	(tramp-open-shell, tramp-find-shell):
	* lisp/net/tramp-smb.el (tramp-smb-do-file-attributes-with-stat)
	(tramp-smb-handle-file-system-info):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-selinux-context)
	(tramp-sudoedit-handle-file-system-info): Remove superfluous
	`eval-when-compile', `concat' creates the string during byte
	compilation.  Reported by Mattias Engdegård <mattiase@acm.org>.

	* lisp/net/tramp-adb.el (tramp-adb-prompt): Simplify.
	(tramp-adb-send-command):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-string-to-byte-array):
	Use `string-match-p'.

	* lisp/net/tramp-sh.el (tramp-sunos-unames): New defconst.
	(tramp-find-executable, tramp-find-shell, tramp-get-remote-stat): Use it.

2020-07-12  Dmitry Gutov  <dgutov@yandex.ru>

	project-kill-buffers: Update the docstring too

	* lisp/progmodes/project.el (project-kill-buffers):
	Copy a sentence over from project-switch-to-buffer.

2020-07-12  Dmitry Gutov  <dgutov@yandex.ru>

	More docstring updates in project.el

	* lisp/progmodes/project.el (project-find-functions)
	(project-current, project-switch-to-buffer):
	More docstring updates.

2020-07-11  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	c04b92104c Add commentary in gtkutil.c
	6290850dac Consistently stylize eldoc as ElDoc in prose
	136e931189 Improve documentation of "C-u C-x ="
	1f52771fd3 Mention floating rounding issues
	c892ae65b4 Repair global-auto-revert-ignore-modes (bug#42271)
	3a446a02fb ; * src/xdisp.c (decode_mode_spec): Fix commentary.
	79f381b4a6 One more improvement of left/right-fringe display spec docs
	1279bdb072 Another clarification of left/right-fringe display spec

	# Conflicts:
	#	doc/emacs/programs.texi

2020-07-11  Mattias Engdegård  <mattiase@acm.org>

	Correct 'concat' manual entry (bug#42296)

	* doc/lispref/strings.texi (Creating Strings): 'concat' does not
	necessarily return a newly allocated string.  This has been the case
	at least since 1997 (Emacs 20.3).

2020-07-11  Michael Albinus  <michael.albinus@gmx.de>

	Fix multibyte chars of file names in tramp-adb.el

	* lisp/net/tramp-adb.el (tramp-adb-execute-adb-command): Revert return
	value meaning.  Insert the result into the connection buffer.
	(tramp-adb-handle-file-local-copy)
	(tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
	(tramp-adb-get-device): Adapt calls.
	(tramp-adb-send-command): Use "adb shell ..." in case the command
	contains multibyte chars.

	* test/lisp/net/tramp-tests.el (tramp--test-utf8): Extend test.

2020-07-11  Eli Zaretskii  <eliz@gnu.org>

	Another minor improvement of project.el doc strings

	* lisp/progmodes/project.el (project-find-functions)
	(project-current, project-switch-to-buffer): Doc fix.
	(project-current): Rename the argument DIR to DIRECTORY.

2020-07-11  Andrea Corallo  <akrl@sdf.org>

	* doc/misc/flymake.texi (An annotated example backend): Typo fix.

2020-07-11  Dmitry Gutov  <dgutov@yandex.ru>

	project-switch-to-buffer: Reword the docstring

	* lisp/progmodes/project.el (project-switch-to-buffer):
	Reword the docstring, copying the style from project-kill-buffers.

2020-07-10  João Távora  <joaotavora@gmail.com>

	Fix placement of Eldoc docs during eval-expression (bug#42309)

	* lisp/emacs-lisp/eldoc.el (eldoc--handle-docs): Rework.

2020-07-10  João Távora  <joaotavora@gmail.com>

	Revert "Fix Eldoc problem when loading on Emacs 26.3"

	This reverts commit 9ade7ea7b77ec40c16deb4dff139ce7127a703e2.

	* lisp/emacs-lisp/eldoc.el (Version): Bump to 1.4.0

2020-07-10  Michael Albinus  <michael.albinus@gmx.de>

	Tramp code cleanup

	* lisp/net/tramp.el (tramp-shell-prompt-pattern)
	(tramp-wrong-passwd-regexp, tramp-method-regexp-alist)
	(tramp-domain-regexp, tramp-host-regexp, tramp-ipv6-regexp)
	(tramp-port-regexp, tramp-debug-outline-regexp)
	(tramp-drop-volume-letter, tramp-parse-shostkeys)
	(tramp-handle-file-name-case-insensitive-p):
	* lisp/net/tramp-adb.el (tramp-adb-send-command-and-check):
	* lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-monitor-process-filter):
	* lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp)
	(tramp-device-escape-sequence-regexp):
	* lisp/net/tramp-smb.el (tramp-smb-do-file-attributes-with-stat)
	(tramp-smb-handle-set-file-acl, tramp-smb-read-file-entry):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-selinux-context):
	Use character classes in regexp.

	* lisp/net/tramp-adb.el (tramp-adb-ls-date-year-regexp)
	(tramp-adb-ls-date-time-regexp): New defconst.
	(tramp-adb-ls-date-regexp, tramp-adb-ls-toolbox-regexp)
	(tramp-adb-sh-fix-ls-output): Use them.
	(tramp-adb-handle-set-file-times, tramp-adb-maybe-open-connection):
	Apply `eval-when-compile' on constant concat data.
	(tramp-do-parse-file-attributes-with-ls):
	Suppress `signal-hook-function'.
	(tramp-adb--gnu-switches-to-ash): Remove unused function.
	(tramp-adb-handle-set-file-modes): Qhote argument.
	(tramp-adb-maybe-open-connection): Set file property rather than flush.

	* lisp/net/tramp-cmds.el (tramp-rename-these-files):
	Apply `eval-when-compile' on constant concat data.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
	(tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Embed them in
	`eval-and-compile'.
	(tramp-gvfs-get-directory-attributes): Apply `eval-when-compile'
	on constant concat data.

2020-07-10  João Távora  <joaotavora@gmail.com>

	Fix byte compilation warning in Eldoc

	* lisp/emacs-lisp/eldoc.el (eldoc-documentation-function): Pass nil as
	second argument.

2020-07-10  João Távora  <joaotavora@gmail.com>

	Fix Eldoc problem when loading on Emacs 26.3

	When defining the obsolete variable alias for old
	eldoc-documentation-function (which now points to the newer
	eldoc-documentation-strategy), one gets the error "don't know how to
	make a localized vareiable an alias".  I'm not sure, but I suspect
	this is because Eldoc is preloaded in Emacs 26.3 and the
	eldoc-documentation-function variable is already set locally by some
	Elisp buffer.

	Uninterning the symbol shortly before defining the alias seems to fix
	it.

	* lisp/emacs-lisp/eldoc.el (eldoc-documentation-function):
	Unintern on load.
	(Version): Bump to 1.3.0

2020-07-10  Paul Eggert  <eggert@cs.ucla.edu>

	Fix out-of-source ‘make check’ emacs-module-tests

	Problem reported by Koki Fukuda in:
	https://lists.gnu.org/r/emacs-devel/2020-07/msg00169.html
	* test/Makefile.in (MODULE_CFLAGS):
	Include from the same directories included from in ../src.
	* test/src/emacs-module-tests.el (module/describe-function-1):
	Strip path to source directory.

2020-07-10  Paul Eggert  <eggert@cs.ucla.edu>

	Use Gnulib libgmp module

	Instead of doing GMP by hand, use the Gnulib libgmp module.
	* .gitignore: Add lib/gmp.h.
	* admin/merge-gnulib (GNULIB_MODULES): Add libgmp.
	* configure.ac (GMP_LIB, GMP_OBJ): Remove.  Gnulib uses the name
	LIB_GMP, so all uses changed.  All uses of GMP_OBJ removed.
	(HAVE_GMP): Set this from Gnulib’s variables.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/mini-gmp-gnulib.c, lib/mini-gmp.c, lib/mini-gmp.h, m4/libgmp.m4:
	New files, copied from Gnulib.
	* src/bignum.h, test/data/emacs-module/mod-test.c:
	Include gmp.h unconditionally.
	* src/mini-gmp-emacs.c, src/mini-gmp.c, src/mini-gmp.h:
	Remove.  This moves these files from src to lib, and
	updates them to the current GMP version.
	* test/Makefile.in (GMP_H): New macro.
	($(test_module)): Use it to decide whether to compile
	mini-gmp-gnulib.c too.

2020-07-10  Paul Eggert  <eggert@cs.ucla.edu>

	Speed up GCC 10.1 compilation in default Git builds

	* configure.ac (nw): GCC 10.1 introduced warnings enabled by -fanalyzer
	that slow down compilation considerably.  Generate these warnings only
	if --enable-gcc-warnings is explicitly given.  Also, do not bother to
	eliminate warnings that Gnulib’s revised manywarnings module no longer
	generates.

2020-07-10  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-07-07 dup2: remove support for some very old platforms
	2020-07-07 memchr: remove support for some very old platforms
	2020-07-04 getumask: new module
	2020-07-03 getrandom: fix compilation error on native Windows
	2020-07-03 lchmod: simplify after 2020-02-22 change
	2020-07-01 manywarnings: improve port to GCC 10.1
	2020-06-28 getrandom: fix compilation errors on older versions of mingw
	2020-06-29 alloca-opt: fix warning on mingw
	* lib/alloca.in.h, lib/dup2.c, lib/getrandom.c, lib/string.in.h:
	* lib/sys_stat.in.h, lib/unistd.in.h, m4/dup2.m4, m4/getrandom.m4:
	* m4/lchmod.m4, m4/manywarnings.m4, m4/string_h.m4, m4/sys_stat_h.m4:
	* m4/unistd_h.m4: Copy from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2020-07-09  Alexander Adolf  <alexander.adolf@condition-alpha.com>

	EUDC: Add macOS Contacts backend

	* lisp/net/eudcb-macos-contacts.el: New file.
	* doc/misc/eudc.texi (macOS Contacts): New section.
	(macOS Contacts Configuration): Likewise.
	* etc/NEWS: Mention new macOS Contacts backend.

2020-07-09  Eli Zaretskii  <eliz@gnu.org>

	Improve display of compositions by "C-u C-x ="

	* lisp/descr-text.el (describe-char): On TTY frames, display the
	Unicode names of the composed characters as well.  (Bug#42256)

2020-07-09  João Távora  <joaotavora@gmail.com>

	Unbreak M-x eldoc

	The command should always invoke Eldoc when called interactively,
	instead of going through the usual checks, which are performed to
	avoid interference with other commands.

	* lisp/emacs-lisp/eldoc.el (eldoc-print-current-symbol-info): Rework.
	(Version): Bump to 1.2.0

2020-07-09  João Távora  <joaotavora@gmail.com>

	Prevent infloop in Eldoc message truncation algorithm

	The truncation algorithm still has a long way to go for very narrow
	frame sizes.  It should become a generic mechanism that would allows
	one to truncate a string so that fits in N possibly truncated screen
	lines of a full-width window.

	* lisp/emacs-lisp/eldoc.el (eldoc-handle-docs): Tweak

2020-07-09  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into wip2

2020-07-09  Andrea Corallo  <akrl@sdf.org>

	Disable ipa-pure in comp-tests-tco

	* test/src/comp-tests.el (comp-tests-tco): Disable ipa-pure to
	check effectively for tail recursion elimination.

2020-07-09  Andrea Corallo  <akrl@sdf.org>

	Add `comp-disabled-passes'

	* lisp/emacs-lisp/comp.el (comp-disabled-passes): New special
	variable.
	(native-compile): Make use of `comp-disabled-passes'.

2020-07-09  Andrea Corallo  <akrl@sdf.org>

	;* test/src/comp-test-funcs-dyn.el: Fix comment header.

2020-07-09  Andrea Corallo  <akrl@sdf.org>

	Add some tests for pure function optimization

	* test/src/comp-tests.el (comp-tests-fw-prop): Fix docstring.
	(comp-tests-pure-checker-1, comp-tests-pure-checker-2): New
	functions.
	(comp-tests-pure): New test testing for pure function
	optimization.

2020-07-09  Andrea Corallo  <akrl@sdf.org>

	Optimize pure functions defined by the compilation environment

	* lisp/emacs-lisp/comp.el (comp-apply-in-env): New macro.
	(comp-function-call-maybe-remove): Update to make use of
	`comp-apply-in-env'.

2020-07-09  Andrea Corallo  <akrl@sdf.org>

	Introduce a new pass ipa-pure

	Add a simple pass to infer pure functions not explicitly declared as
	such.  Use this information only during compilation (speed 3) to
	optimize out function calls when possible.

2020-07-09  Andrea Corallo  <akrl@sdf.org>

	Add `comp-call-op-p'

	* lisp/emacs-lisp/comp.el (comp-call-op-p): New predicate.
	(comp-limple-insn-call-p): Make use of.

2020-07-09  Andrea Corallo  <akrl@sdf.org>

	* test/src/comp-test-funcs.el (comp-tests-aref-aset-f) : Fix UB.

2020-07-09  Andrea Corallo  <akrl@sdf.org>

	Define `comp-symbol-func-to-fun'

	* lisp/emacs-lisp/comp.el (comp-symbol-func-to-fun): New function.
	(comp-func-in-unit): Make use of the `comp-symbol-func-to-fun'.

2020-07-09  Andrea Corallo  <akrl@sdf.org>

	Add a test targeting forward propagation

	* test/src/comp-tests.el (comp-tests-fw-prop-checker-1): New
	function.
	(comp-tests-fw-prop): New test.

2020-07-09  João Távora  <joaotavora@gmail.com>

	Bump Flymake version

	* lisp/progmodes/flymake.el (Version): Bump to 1.0.9.

2020-07-09  Glenn Morris  <rgm@gnu.org>

	Update tests for recent changes

	* test/lisp/descr-text-tests.el (descr-text-test-desc):
	Update for recent change to describe-char-eldoc.
	* test/lisp/progmodes/elisp-mode-tests.el
	(elisp--highlight-function-argument-indexed)
	(elisp--highlight-function-argument-keyed-1)
	(elisp--highlight-function-argument-keyed-2):
	Update for recent change to elisp--highlight-function-argument.

2020-07-09  Glenn Morris  <rgm@gnu.org>

	* lisp/progmodes/cc-engine.el (c-at-expression-start-p): Fix message.

2020-07-08  João Távora  <joaotavora@gmail.com>

	Shoosh warnings about obsolete eldoc-documentation-function

	* lisp/progmodes/cfengine.el (cfengine3-mode): Remove mention to
	obsolete eldoc-documentation-function.

	* lisp/progmodes/python.el (python-mode): Use with-no-warnings.

2020-07-08  Andrea Corallo  <akrl@sdf.org>

	Rework some test logic for generality

	* test/src/comp-tests.el (comp-tests-make-insn-checker): New
	function splitting logic from `comp-tests-tco-checker' to have it
	more general.
	(comp-tests-tco-checker): Make use of
	`comp-tests-make-insn-checker'.

2020-07-08  Andrea Corallo  <akrl@sdf.org>

	Clean-up some const folding logic and add `comp-function-pure-p'

	* lisp/emacs-lisp/comp.el (comp-function-pure-p): New predicate.
	(comp-function-call-maybe-remove): Update to use the
	`comp-function-pure-p'.

2020-07-08  Mattias Engdegård  <mattiase@acm.org>

	Special-case symbol and fixnum keys in member, assoc and rassoc

	* src/fns.c (Fmember, Fassoc, Frassoc): Delegate to the cheaper Fmemq,
	Fassq and Frassq for arguments of the appropriate types.
	(eq_comparable_value): New function.

2020-07-08  João Távora  <joaotavora@gmail.com>

	Improve Eldoc docstrings

	* lisp/emacs-lisp/eldoc.el (eldoc-documentation-strategy): Improve
	docstring.
	(eldoc--make-callback): Improve docstring.
	(eldoc--invoke-strategy): New helper function.
	(eldoc-print-current-symbol-info): Call eldoc--invoke-strategy.
	(eldoc-documentation-functions): Improve docstring.

2020-07-08  João Távora  <joaotavora@gmail.com>

	Change version scheme of two Eldoc obsolete specs

	* lisp/emacs-lisp/eldoc.el (eldoc-documentation-function)
	(eldoc-message): Obsolete spec uses eldoc-1.1.0.

2020-07-08  João Távora  <joaotavora@gmail.com>

	Adjust describe-char-eldoc to new eldoc-documentation-functions protocol

	* lisp/descr-text.el (describe-char-eldoc): Adjust to new
	eldoc-documentation-functions protocol.

2020-07-08  João Távora  <joaotavora@gmail.com>

	Adjust Eldoc documentation after Eli's review

	* etc/NEWS (Eldoc): Adjust paragraphs.

	* lisp/emacs-lisp/eldoc.el (eldoc-prefer-doc-buffer): Adjust
	docstring.
	(eldoc--enthusiasm-curbing-timer, eldoc-documentation-strategy)
	(eldoc-documentation-functions): Adjust docstring.
	(eldoc--handle-docs): Adjust comments.
	(eldoc--documentation-compose-1): New helper.
	(eldoc-documentation-compose)
	(eldoc-documentation-compose-eagerly): Use it.
	(eldoc-print-current-symbol-info): Adjust comments.

2020-07-08  João Távora  <joaotavora@gmail.com>

	Make more parts of Emacs use new Eldoc capabilities

	Elisp-mode was doing a lot of work that can now be delegated to Eldoc.
	Flymake uses the new Eldoc functionality, too, installing a global
	documentation function that may report on diagnostics under point.

	CEDET's grammar.el was left as the only user of an Eldoc-internal
	function.  That function was moved to grammar.el.  That file is still,
	somewhat reprehensibly, using an internal function of elisp-mode.el,
	but this was left unchanged.

	In other situations, eldoc-documentation-functions is used or
	recommended.

	The only other places where the obsolete eldoc-documentation-function
	is still used is in libraries which are presumably meant to remain
	compatible with previous Emacs versions.

	* lisp/progmodes/elisp-mode.el (elisp-eldoc-funcall)
	(elisp-eldoc-var-docstring): New functions.
	(emacs-lisp-mode): Put two elements in
	eldoc-documentation-functions.

	* lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): Setup
	new Elisp eldoc-documentation-functions.

	* lisp/progmodes/flymake.el (flymake-mode): Use
	flymake-eldoc-function.
	(flymake-eldoc-function): New function.
	(Package-Requires): Require eldoc 1.1.0

	* lisp/descr-text.el (describe-char-eldoc): Recommend
	eldoc-documentation-functions.

	* lisp/progmodes/cfengine.el (cfengine3-documentation-function):
	Recommend eldoc-documentation-functions

	* lisp/progmodes/octave.el (inferior-octave-mode): Use
	eldoc-documentation-functions.

	* lisp/cedet/semantic/grammar.el (semantic--docstring-format-sym-doc):
	New function.
	(semantic-grammar-eldoc-get-macro-docstring): Adjust.

2020-07-08  João Távora  <joaotavora@gmail.com>

	* lisp/emacs-lisp/eldoc.el (Version): Bump to 1.1.0

2020-07-08  João Távora  <joaotavora@gmail.com>

	New M-x eldoc for on-demand and interactive documentation requests

	The function eldoc is just an alias for
	eldoc-print-current-symbol-info, which is made interactive.

	* lisp/emacs-lisp/eldoc.el (eldoc-print-current-symbol-info): Now an
	interactive function.
	(eldoc): Alias to eldoc-print-current-symbol-info.

2020-07-08  João Távora  <joaotavora@gmail.com>

	Better handle asynchronous Eldoc sources

	This is a backward compatible redesign of significant parts of the
	eldoc.el library.

	Previously, Eldoc clients (major/minor modes setting its documentation
	gathering variables) needed to directly call eldoc-message, an
	internal function, to display the docstring to the user.  When more
	asynchronous sources are involved, this is hard to do or even breaks
	down.

	Now, an Eldoc backend may return any non-nil, non-string value and
	call a callback afterwards.  This restores power to Eldoc over how
	(and crucially also when) to display the docstrings to the user.

	Among other things, this fixes so called "doc blinking", or the very
	short-lived display of a lower priority Eldoc message.  This would
	happen if a particular producer of documentation finishes shortly
	before a higher priority one, like in the LSP engine Eglot as reported
	by Andrii Kolomoiets <andreyk.mad@gmail.com> and Dmitry Gutov
	<dgutov@yandex.ru>.

	Gathering docstrings is now delegated to the variable
	eldoc-documentation-strategy, which is the new name for the
	now-obsolete eldoc-documentation-function, and still accepts the
	so-called "old protocol".  Examples of the new strategies enabled are
	codified in functions such as eldoc-documentation-enthusiast,
	eldoc-documentation-compose-eagerly, along with the existing
	eldoc-documentation-compose and eldoc-documentation-default.

	The work of displaying and formatting docstrings is shifted almost
	fully to Eldoc itself and is delegated to the internal function
	eldoc--handle-docs.  Among other improvements, it handles most of
	eldoc-echo-area-use-multiline-p and outputs documentation to a
	temporary *eldoc* buffer.

	The manual and NEWS are updated to mention the new Eldoc features.

	* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions):
	Overhaul docstring.
	(eldoc-documentation-compose, eldoc-documentation-default): Handle
	non-nil, non-string values of elements of
	eldoc-documentation-functions.  Use eldoc--handle-multiline.
	(eldoc-print-current-symbol-info): Honor non-nil, non-string
	values returned by eldoc-documentation-callback.
	(eldoc--make-callback): Now also a function.
	(eldoc-documentation-default, eldoc-documentation-compose): Tweak docstring.
	(eldoc-documentation-enthusiast, eldoc-documentation-compose-eagerly):
	New functions.
	(eldoc-echo-area-use-multiline-p): Add new semantics.
	(eldoc--handle-docs): Handle some of eldoc-echo-area-use-multiline-p.
	(eldoc-doc-buffer): New command.
	(eldoc-prefer-doc-buffer): New defcustom.
	(eldoc--enthusiasm-curbing-timer): New variable.
	(eldoc-documentation-strategy): Rename from eldoc-documentation-function.
	(eldoc--supported-p): Use eldoc-documentation-strategy
	(eldoc-highlight-function-argument)
	(eldoc-argument-case, global-eldoc-mode)
	(turn-on-eldoc-mode): Mention eldoc-documentation-strategy.
	(eldoc-message-function): Mention eldoc--message.
	(eldoc-message): Made obsolete.
	(eldoc--message): New helper.

	* lisp/hexl.el (hexl-print-current-point-info): Adjust to new
	eldoc-documentation-functions protocol.

	* lisp/progmodes/cfengine.el (cfengine3-documentation-function):
	Adjust to new eldoc-documentation-functions protocol.

	* lisp/progmodes/elisp-mode.el
	(elisp-eldoc-documentation-function): Adjust to new
	eldoc-documentation-functions protocol.

	* lisp/progmodes/octave.el (octave-eldoc-function): Adjust to new
	eldoc-documentation-functions protocol.

	* lisp/progmodes/python.el (python-eldoc-function): Adjust to new
	eldoc-documentation-functions protocol.

	(eldoc-print-current-symbol-info): Rework with cl-labels.

	* doc/emacs/programs.texi (Lisp Doc): Mention
	eldoc-documentation-strategy.

	* doc/lispref/modes.texi (Major Mode Conventions): Mention
	eldoc-documentation-functions.

	* etc/NEWS: Mention eldoc-documentation-strategy.

2020-07-07  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-07-07  Mattias Engdegård  <mattiase@acm.org>

	Optimize assoc and rassoc with symbol key to assq and rassq

	This is the same transformation made for member to memq.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-assoc): New function.
	(assoc, rassoc): Set the byte-optimizer property.

2020-07-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	71fc003860 (origin/emacs-27) Avoid infloop in 'format-mode-line'
	247dcb4b1b Clarify the documentation of 'left/right-fringe' display spec
	d453cee177 Minor improvement in ELisp manual
	3c778c443c * doc/misc/tramp.texi (Customizing Methods): Fix typo.

2020-07-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	59e768d64a Fix undefined behavior in json.c (Bug#42113)
	cce00bef03 Fix ACTION argument of 'display-buffer' call in gud.el
	0121db2702 * src/keyboard.c (Fclear_this_command_keys): Doc fix.
	b9abf5ceb2 Improve do string of 'man'
	b87fc938a0 ; * src/xdisp.c (pos_visible_p): Yet another minor fix for...

2020-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add `keyword`

2020-07-06  Mattias Engdegård  <mattiase@acm.org>

	Simplify byte-code optimization of pure functions

	Most pure functions need no explicit optimization; we can do away with
	almost all uses of byte-optimize-predicate (now renamed to
	byte-optimize-constant-args, since it is not just for predicates).
	Also remove some superfluous arity warnings.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-identity, byte-optimize-memq)
	(byte-optimize-nth, byte-optimize-nthcdr):
	Remove arity warnings and simplify.
	* lisp/emacs-lisp/byte-opt.el (<, >, <=, >=, not, null, consp, listp)
	(symbolp, stringp, string<, string-lessp, proper-list-p, logand)
	(logior, logxor, lognot, car, cdr, car-safe, cdr-safe):
	Remove superfluous byte-optimizer property.
	(byte-optimize-predicate): Rename to byte-optimize-constant-args.
	All uses changed.

2020-07-06  Mattias Engdegård  <mattiase@acm.org>

	Mark more functions pure (bug#42147)

	Extend the list of 'pure' functions to many predicates and numerical
	functions that we are reasonably confident will give portable results.
	Also include various list and array accessors, because our use of purity
	in the byte compiler isn't affected by the mutability of arguments.

	* lisp/emacs-lisp/byte-opt.el: Update example in comment.
	(pure-fns): Add many functions.
	(byte-optimize-form-code-walker) Don't signal errors during evaluation
	of calls to pure functions with constant arguments at compile time,
	since such calls are not necessarily reachable.

2020-07-05  Dmitry Gutov  <dgutov@yandex.ru>

	* lisp/progmodes/project.el: Bump the version.

2020-07-05  Dmitry Gutov  <dgutov@yandex.ru>

	project-switch-to-buffer: Don't filter based on default-directory

	* lisp/progmodes/project.el (project-switch-to-buffer):
	Don't filter based on default-directory
	(https://lists.gnu.org/archive/html/emacs-devel/2020-07/msg00075.html).
	(project-switch-to-buffer): Ditto.

2020-07-05  Wilson Snyder  <wsnyder@wsnyder.org>

	Verilog-Mode collected updates.

	* lisp/progmodes/verilog-mode.el (verilog-auto-inst): Support regexp of
	what AUTOINST I/O to include, issue #1682.  Reported by Mrainy.
	(verilog-font-lock-keywords-1): Fix highlighting module names with no
	following (, issue #1679.  Reported by Vinam Arora.
	(verilog-font-lock-keywords) Adds syntax highlighting for identifiers in
	declaration statements, #1678.
	(verilog-calculate-indent, verilog-inject-arg)
	(verilog-keywords, verilog-showscopes): Support AMS
	connectmodule/endconnectmodule, #1665. Reported by Dan McMahill.

2020-07-05  Mattias Engdegård  <mattiase@acm.org>

	Don't confuse errors with nil in bytecomp-tests.el

	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-check-1)
	(bytecomp-explain-1, test-byte-opt-arithmetic, bytecomp-lexbind-check-1)
	(bytecomp-lexbind-explain-1):
	If an expression raises an error when evaluated, don't treat it as if
	it had succeeded with the value nil; use 'bytecomp-check-error' as the
	result instead.

2020-07-05  Mattias Engdegård  <mattiase@acm.org>

	Relax portable number check in byte compiler (bug#42147)

	With bignums, the set of representable integers is no longer
	platform-dependent, and since we use nothing but IEEE754 64-bit
	floats, all numbers are now portable.  Take advantage of this fact
	to simplify constant-folding in the byte compiler, allowing it to
	be applied more widely.

	* lisp/emacs-lisp/byte-opt.el (byte-opt--portable-max)
	(byte-opt--portable-min, byte-opt--portable-numberp): Remove.
	(byte-opt--arith-reduce, byte-optimize-minus, byte-optimize-1+)
	(byte-optimize-1-): Simplify: any number will do, and if N is a
	number, then so are -N, N+1 and N-1.

2020-07-04  Alan Mackenzie  <acm@muc.de>

	Remove long obsolete c-looking-at-bos.  Make c-at-expression-start-p obsolete

	* lisp/progmodes/cc-engine.el (c-looking-at-bos): Remove.
	(c-at-expression-start-p): Make obsolete, with no alternative function.

2020-07-04  Andrea Corallo  <akrl@sdf.org>

	Relax constant folding rules

	* lisp/emacs-lisp/comp.el (comp-function-optimizable-p): No need to
	check for operands or result to be fixnums.

2020-07-04  Alan Mackenzie  <acm@muc.de>

	Fix filling in js-mode and mhtml-mode (js-mode parts), fixing bug #41897

	* lisp/progmodes/js.el (js-mode): Use "\\(?:" in the value of
	comment-start-skip rather than "\\(", fixing the second half of bug #41952.
	Call c-foreign-init-lit-pos-cache and install c-foreign-truncate-lit-pos-cache
	on before-change-functions, to connect up correctly with CC Mode's filling
	mechanism.

	* lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add prefixes
	"adaptive-fill-", "fill-", "normal-auto-fill-function" and "paragraph-" to
	pull in variables crucial to filling.
	(mhtml-syntax-propertize): Read the current submode from the piece of text
	being propertized rather than one character before it, and do so before
	erasing the submode text-property.
	(mhtml-mode): Set the js-mode value of auto-fill-function to js-do-auto-fill.
	Correctly initialize and use CC Mode's filling facilities, as above.

2020-07-04  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix wrong value of comment-start-skip, fixing half of bug #41952

	Also add functions to enable correct use of CC Mode's filling functionality
	from major modes which don't initialize CC Mode fully.  These modes are
	currently js-mode and mhtml-mode.

	* lisp/progmodes/cc-langs.el (comment-start-skip): Replace "\\(" by "\\(?:" so
	that (match-end 1) isn't falsely taken to be the start of the comment.

	* lisp/progmodes/cc-engine.el (c-foreign-truncate-lit-pos-cache)
	(c-foreign-init-lit-pos-cache): New functions.

2020-07-04  Daniel Koning  <dk@danielkoning.com>  (tiny change)

	Use 'emacs-lisp-mode-syntax-table' for reading Lisp expressions

	* lisp/simple.el (read--expression): Set syntax table to
	'emacs-lisp-mode-syntax-table' when reading a Lisp expression
	from the minibuffer.  (Bug#41781)

2020-07-02  Andrea Corallo  <akrl@sdf.org>

	Fix missing tail recursion elimination

	* lisp/emacs-lisp/comp.el (comp-tco-func): Fix tail recursion
	elimination given now functions in LIMPLE are expressed with
	the C name.

2020-07-02  Andrea Corallo  <akrl@sdf.org>

	Add a test to verify tail recursion elimination

	* test/src/comp-tests.el (comp-tests-tco): Compile a recursive
	functions at speed 3 and verify the tail recursion elimination.
	(comp-tests-tco-checker, comp-tests-mentioned-p)
	(comp-tests-mentioned-p-1): New support functions.

2020-07-02  Andrea Corallo  <akrl@sdf.org>

	Rework `comp-c-func-name' arguments

	* lisp/emacs-lisp/comp.el (comp-c-func-name): Add FIRST argument
	to ignore the compiler context and return the first name.

	* lisp/emacs-lisp/disass.el (disassemble-internal): Update the
	`comp-c-func-name' call.

2020-07-02  Andrea Corallo  <akrl@sdf.org>

	Add to possibility to write per pass specific tests

	* lisp/emacs-lisp/comp.el (comp-post-pass-hooks): New special
	variable.
	(native-compile): Run what is registered in
	`comp-post-pass-hooks'.

2020-07-02  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savahnna/master' into HEAD

2020-07-02  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-mode.el (c-or-c++-mode--regexp): Change WS to [ \t] in it

2020-07-02  Phillip Lord  <phillip.lord@russet.org.uk>

	Remove Emacs-27 reference

	* admin/nt/dist-build/README-windows-binaries:

2020-07-02  Juri Linkov  <juri@linkov.net>

	Revert feature added in bfd96e995d using project directories in vc (bug#41821)

2020-07-01  YASUOKA Masahiko  <yasuoka@yasuoka.net>  (tiny change)

	Support pty's on OpenBSD

	* configure.ac (PTY_TTY_NAME_SPRINTF): OpenBSD has posix_openpt
	nowadays.  (Bug#42059)

2020-06-30  Juri Linkov  <juri@linkov.net>

	Bind 'C-x 4 1' to 'same-window-prefix' and document new commands (bug#41691)

	* lisp/window.el (ctl-x-4-map): Bind 'C-x 4 1' to 'same-window-prefix'.

	* doc/emacs/windows.texi (Pop Up Window): Add 'C-x 4 4' and 'C-x 4 1'.
	* doc/emacs/frames.texi (Creating Frames): Add 'C-x 5 5'.
	(Tab Bars): Add 'C-x t t'.

2020-06-30  Andrea Corallo  <akrl@sdf.org>

	Add a test for lambda list containing uninterned symbols

	* test/src/comp-resources/comp-test-funcs-dyn.el
	(comp-tests-cl-uninterned-arg-parse-f): New function.

	* test/src/comp-tests.el (comp-tests-cl-uninterned-arg-parse-f):
	New test.

2020-06-30  Andrea Corallo  <akrl@sdf.org>

	Fix lambda-list relocation class

	Lambda-lists must stay in the same relocation class of the object
	referenced by code to respect uninterned symbols.

	* lisp/emacs-lisp/comp.el (comp-prepare-args-for-top-level): Break
	the original function in a generic specializing for
	dynamic/lexical functions.  When allocating the lambda-list for
	dynamic functions do that in the default relocation class.
	(comp-emit-for-top-level): Make use of the new
	`comp-prepare-args-for-top-level'.
	(comp-emit-lambda-for-top-level): Likewise.

2020-06-30  James N. V. Cash  <james.nvc@gmail.com>  (tiny change)

	Subject: Frame-local tab-bar for numeric value of tab-bar-show (bug#42052)

	* lisp/tab-bar.el (tab-bar-new-tab-to): Set frame parameter
	tab-bar-lines to 1 when tab-bar-show is the same as number of tabs.
	(tab-bar-close-tab, tab-bar-close-other-tabs): Set frame parameter
	tab-bar-lines to 0 when tab-bar-show is the same as number of tabs.

2020-06-29  Alan Mackenzie  <acm@muc.de>

	CC Mode: optimize for repeated simple operations.

	Do this by recognizing that unterminated strings in a buffer are typically
	going to be few and close together.  Also optimize code for C++ attributes.

	* lisp/progmodes/cc-defs.el (c-previous-single-property-change): New macro.
	(c-put-syn-tab, c-clear-syn-tab): Turned from macros into functions, and moved
	to cc-mode.el.
	(c-clear-syn-tab-properties): Amended to use c-min/max-syn-tab-mkr.
	(c-with-extended-string-fences): Removed.

	* lisp/progmodes/cc-engine.el (c-enclosing-c++-attribute): Rewritten for
	speed.
	(c-slow-enclosing-c++-attribute): Removed.
	(c-semi-pp-to-literal): Remove a superfluous call to
	c-with-extended-string-fences.

	* lisp/progmodes/cc-mode.el (c-min-syn-tab-mkr, c-max-syn-tab-mkr): two new
	marker variables which bound the region occupied by positions with
	c-fl-syn-tab text properties.
	(c-basic-common-init): Initialize these two variables.
	(c-fl-syn-tab-region): Removed.
	(c-put-syn-tab, c-clear-syn-tab): Functions moved from cc-defs.el.
	(c-clear-string-fences): Amended to use the new scheme.
	(c-restore-string-fences): Now takes no arguments; amended to use the new
	scheme.
	(c-font-lock-fontify-region): Amended to use the new scheme.

2020-06-29  Paul Eggert  <eggert@cs.ucla.edu>

	* test/src/fns-tests.el (test-secure-hash): Test getrandom format.

2020-06-29  Andrea Corallo  <akrl@sdf.org>

	Revert "* src/comp.c (Fcomp__register_subr): Remove code duplication using Fdefalias."

	This reverts commit 6c7f615ae59b636efe5012f761a25acfd956480d.

2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib.

	This incorporates:
	2020-06-28 getrandom: do not depend on ‘open’ on mingw
	2020-06-28 getrandom: fix compilation errors on older versions of mingw
	* build-aux/config.sub, lib/getrandom.c, m4/getrandom.m4:
	Copy from Gnulib
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2020-06-28  Andrea Corallo  <akrl@sdf.org>

	Do not skip native compilation for leim subfolder during bootstrap

	* lisp/emacs-lisp/comp.el (comp-bootstrap-black-list): Remove
	"^leim/".

2020-06-28  Andrea Corallo  <akrl@sdf.org>

	Enable deferred compilation for dynamic scoped code

	* src/comp.c (maybe_defer_native_compilation): Trigger for dynamic
	code and add a comment.

2020-06-28  Eli Zaretskii  <eliz@gnu.org>

	MS-Windows fixes as followup to import of Gnulib 'getrandom'

	* nt/mingw-cfg.site (gl_cv_lib_assume_bcrypt): Set to "no" to
	disable linking against bcrypt.dll.  (Bug#42095)

	* src/gnutls.c (gnutls_rnd) [WINDOWSNT]: Don't define a function
	pointer, and don't load it from GnuTLS DLL.
	(w32_gnutls_rnd) [WINDOWSNT]: Delete unused function.
	* src/fns.c (gnutls_rnd) [WINDOWSNT]: Don't redirect to
	w32_gnutls_rnd.

2020-06-28  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into uninterned

	* src/comp.c (Fcomp__register_subr): Remove code duplication using Fdefalias.

2020-06-28  Andrea Corallo  <akrl@sdf.org>

	Add a test to verify CL macro expansion in dynamic scope

	* test/src/comp-tests.el (comp-tests-cl-macro-exp): New test.

	* test/src/comp-resources/comp-test-funcs-dyn.el: Require
	`cl-lib'.
	(comp-tests-cl-macro-exp-f): New function.

2020-06-28  Andrea Corallo  <akrl@sdf.org>

	Setup correctly the printer while dumping objs in native CU (bug#42088)

	* src/comp.c (emit_static_object): Bind a bunch of special
	variables to setup `prin1-to-string' as
	`byte-compile-output-file-form' does.  This to preserve
	uninterned symbols.

2020-06-28  Timo Myyrä  <timo.myyra@bittivirhe.fi>

	Add thread-naming support for OpenBSD

	OpenBSD has pthread_set_name_np; FreeBSD appears to have both
	this call and pthread_setname_np (the latter call is used in preference).

	* configure.ac: Detect pthread_set_name_np.
	* src/systhread.c:
	Include <pthread_np.h> and call pthread_set_name_np if available.

2020-06-27  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

	src/comp.c (Fcomp__register_subr): Handle advice activation (bug#42038).

2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	Use getrandom syscall for nonces

	* admin/merge-gnulib (GNULIB_MODULES): Add getrandom.
	* doc/lispref/text.texi (Format of GnuTLS Cryptography Inputs):
	Don’t say that iv-auto uses GNUTLS_RND_NONCE.  Also, don’t say
	that it returns the IV’s actual value, as it never has done that.
	* src/fns.c, src/sysdep.c: Include sys/random.h, for getrandom.
	* src/fns.c (Fsecure_hash_algorithms): Use getrandom so that this
	function does not depend on HAVE_GNUTLS3.
	* src/sysdep.c: Do not include <gnutls/crypto.h>.
	(random_seed) [HAVE_LRAND48]: Can be long int now.
	(init_random) [!WINDOWSNT]: Use getrandom syscall instead
	of opening /dev/urandom, as this works even on GNU/Linux
	hosts that lack /dev/urandom.  Don’t bother with gnutls_rnd
	as it’s not needed now that we have getrandom.

2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-06-27 getloadavg: don’t depend on fopen-gnu
	2020-06-25 c-dtoastr, c-ldtoastr: new modules
	2020-06-01 getloadavg: fix double-increment bug
	2020-06-01 tempname: use getrandom, not getentropy
	2020-05-31 tempname: merge from glibc and coreutils
	2020-05-31 getentropy: work around a macOS and Solaris problem
	2020-05-31 fnmatch: merge from glibc
	2020-05-30 unistd: remove conflicting declaration of getrandom
	2020-05-30 don't assume that UNICODE is not defined
	2020-05-29 fix compilation error on native Windows
	2020-05-28 avoid dynamic loading of Windows API functions when possible
	2020-05-28 at-internal: make more robust in multithreaded applications
	2020-05-28 getloadavg: make more robust in multithreaded applications
	2020-05-27 getloadavg: make more robust in multithreaded applications
	2020-05-26 count-one-bits: fix MSVC specific code
	2020-05-25 getentropy, getrandom: new modules
	2020-05-24 open, openat: really support O_CLOEXEC
	2020-05-23 verify: document ‘assume’ better
	2020-05-21 regex: configure better with "clang -fsanitize=leak"
	2020-05-21 memmem: configure better with "clang -fsanitize=undefined"
	2020-05-19 ftoastr: fix ifndef typo
	* build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
	* lib/count-one-bits.h, lib/ftoastr.c, lib/ftoastr.h:
	* lib/getloadavg.c, lib/gettimeofday.c, lib/libc-config.h:
	* lib/open.c, lib/openat-proc.c, lib/tempname.c, lib/tempname.h:
	* lib/unistd.in.h, lib/verify.h, m4/memmem.m4, m4/regex.m4:
	* m4/unistd_h.m4:
	Update from Gnulib.
	* lib/getrandom.c, lib/sys_random.in.h:
	* m4/getrandom.m4, m4/sys_random_h.m4:
	New files, copied from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2020-06-26  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	5280e118c0 (origin/emacs-27) ; * src/xdisp.c (pos_visible_p): Fix las...
	bb1a9481c9 Fix posn-at-point at beginning of a display string
	0c4b033670 Improve documentation of Info node movement commands
	632b0119e1 Add Jansson dependency to Windows Build
	dbfcdab837 Unbreak 'reverse-region'
	c37de84845 Fix typos and markup in fill column indicator docs
	f61bff3ee9 ; * CONTRIBUTE: Clarify the preferences for patch formatting.
	368e140660 Avoid crashes in 'defconst'
	11e3413cff Fix text about Lisp archives in the Emacs FQ
	4c81724675 Don't use 'cl' functions in ELisp manual's examples

2020-06-26  Eli Zaretskii  <eliz@gnu.org>

	Fix byte-compilation warning in project.el

	* lisp/emacs-lisp/seq.el (seq-every-p): Autoload it.  This fixes
	byte-compilation warning in project.el.

2020-06-26  Dmitry Gutov  <dgutov@yandex.ru>

	vc-known-roots: Actually update

	* lisp/vc/vc-hooks.el (vc-known-roots):
	Actually update for the change in 733921edfe (bug#41821).

2020-06-26  Dmitry Gutov  <dgutov@yandex.ru>

	project--read-project-list: Add structure verification

	* lisp/progmodes/project.el (project--list): Update docstring.
	(project--read-project-list): Add structure verification.

2020-06-26  Dmitry Gutov  <dgutov@yandex.ru>

	project-known-roots: Rename and improve

	* lisp/progmodes/project.el (project-known-project-roots):
	Rename from 'project-known-roots'.  Update the docstring.  Make
	sure the returned value is a list of strings.  Update the caller
	(bug#41821).

2020-06-26  Dmitry Gutov  <dgutov@yandex.ru>

	Rename project-kill-buffers-{skip-conditions,ignores}

	* lisp/progmodes/project.el (project-kill-buffers-ignores):
	Rename from project-kill-buffers-skip-conditions (bug#41868).
	Update both references.
	Add a :package-version attribute.

2020-06-25  Tassilo Horn  <tsdh@gnu.org>

	Add NEWS entry for bug-reference auto-setup.

	* etc/NEWS: Add entry for bug-reference auto-setup.

2020-06-25  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* lisp/menu-bar.el (menu-bar-describe-menu): Improve the wording
	and the help-echo of the new list-recent-keystrokes Help menu
	item.  (Bug#41933)

	* etc/NEWS: Call out the new menu item.

2020-06-25  Tino Calancha  <tino.calancha@gmail.com>

	Add help menu entry for view-lossage

	* lisp/menu-bar.el (menu-bar-describe-menu):
	Add an entry for view-lossage (Bug#41933).

2020-06-25  Alan Mackenzie  <acm@muc.de>

	CC Mode.  Fix an off by one error.  Fixes bug #41809

	* lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Change > to >= (twice).

2020-06-25  Juri Linkov  <juri@linkov.net>

	Push action to list of functions in display-buffer-override-next-command

	* lisp/window.el (display-buffer-override-next-command):
	Push action to 'car' of 'display-buffer-overriding-action'
	and in exitfun remove action from 'car'.
	https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00803.html

2020-06-24  Alan Mackenzie  <acm@muc.de>

	Make switch work in AWK Mode.  Fixes bug #41923

	lisp/progmodes/cc-langs.el (c-block-stmt-2-kwds): Insert "switch" into the AWK
	Mode entry.
	(c-case-kwds): Remove the special entry for AWK Mode.

2020-06-24  Juri Linkov  <juri@linkov.net>

	M-n in read-directory-name of vc commands gets project dirs (bug#41821)

	* lisp/progmodes/project.el (project-known-roots): New autoloaded function.

	* lisp/vc/vc-hooks.el (vc-known-roots): New function.

	* lisp/vc/vc.el (vc-root-diff, vc-print-root-log):
	* lisp/vc/vc-dir.el (vc-dir): Use 'vc-known-roots' for default
	values for read-directory-name.

2020-06-24  Juri Linkov  <juri@linkov.net>

	More not-state-changing vc commands can be used from non-file buffers

	* lisp/vc/vc.el (vc-deduce-fileset): Instead of checking for
	log-view-mode, check for '(not buffer-file-name)' before trying to
	get the backend for default-directory.  Remove the branch that
	checks for '(not buffer-file-name)' and signals the error because
	vc-responsible-backend used in previous condition already signals
	its error.  (Bug#41974)

2020-06-23  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem in tramp-smb.el

	* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
	Use `directory-file-name'.

	* test/lisp/net/tramp-tests.el (trace): Require it.
	(tramp--test-instrument-test-case): Print also function traces.
	(tramp--test-smb-p): New defun.
	(tramp-test03-file-name-method-rules)
	(tramp-test05-expand-file-name-relative)
	(tramp-test21-file-links, tramp--test-windows-nt-or-smb-p)
	(tramp--test-check-files): Use it.

2020-06-23  David Edmondson  <dme@dme.org>

	Fix gnus-cloud-download-all-data return value

	* lisp/gnus/gnus-cloud.el (gnus-cloud-download-data): Return the
	result of calling `gnus-cloud-update-all' when UPDATE is t, as per the
	documented behavior. (Bug#40280)

2020-06-23  Andrea Corallo  <akrl@sdf.org>

	* lisp/gnus/gnus.el (gnus): Fix a check to handle native compilation.

2020-06-22  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements as followup to recent RGB string-parsing change

	* src/xfaces.c (Finternal_color_values_from_color_spec): Rename to...
	(Fcolor_values_from_color_spec): ...this.  Callers changed.
	Rename the argument to SPEC and improve the doc string.
	(parse_color_spec, parse_float_color_comp, parse_hex_color_comp):
	Improve commentary.
	(parse_color_spec): Rename the argument S to SPEC.

	* etc/NEWS: Mention 'color-values-from-color-spec'.

2020-06-22  Dmitry Gutov  <dgutov@yandex.ru>

	project-switch-to-buffer: Improve Ido compatibility

	* lisp/progmodes/project.el (project-switch-to-buffer):
	Check that the entry contains a non-nil CDR.

2020-06-22  Dmitry Gutov  <dgutov@yandex.ru>

	project-switch-to-buffer: Do not require matching input

	* lisp/progmodes/project.el (project-switch-to-buffer):
	Do not require matching input, to allow creating buffers as well
	(bug#41879).

2020-06-22  Mattias Engdegård  <mattiase@acm.org>

	Accept lexical lambda in auto-insert-alist

	This bug was exposed by a previous removal of quoting around lambda
	expressions in autoinsert-tests.el (1ecd350f38ee), which caused some
	of those tests to fail.

	* lisp/autoinsert.el (auto-insert): Cope with lexical closures.

2020-06-22  Mattias Engdegård  <mattiase@acm.org>

	Fix spurious error in beginning-of-defun in pascal-mode (bug#41740)

	* lisp/progmodes/pascal.el (pascal-beg-of-defun):
	Ignore errors in forward-sexp.
	* test/lisp/progmodes/pascal-tests.el (pascal-beg-of-defun): New test.

2020-06-22  Mattias Engdegård  <mattiase@acm.org>

	Preserve point in pascal-mode completion (bug#41740)

	Failure to do so caused errors in several cases.
	Reported by Shinichi Sakata.

	* lisp/progmodes/pascal.el (pascal-type-completion)
	(pascal-completion): Wrap code that may move point in save-excursion.
	* test/lisp/progmodes/pascal-tests.el: New file.

2020-06-22  Juri Linkov  <juri@linkov.net>

	Fix display-buffer-override-next-command to call action only once (bug#39722)

	* lisp/vc/vc-dir.el (vc-dir-bookmark-jump): Don't use save-window-excursion.

	* lisp/window.el (display-buffer-override-next-command): Reset
	display-buffer-overriding-action after the first buffer display action.

	* lisp/tab-bar.el (switch-to-buffer-other-tab): Don't reuse frame tabs.
	(other-tab-prefix): Don't reuse frame tabs.

2020-06-22  Juri Linkov  <juri@linkov.net>

	New commands other-window-prefix (C-x 4 4) and other-frame-prefix (C-x 5 5)

	* lisp/window.el (other-window-prefix, same-window-prefix): New commands.
	(ctl-x-4-map): Bind 'C-x 4 4' to 'other-window-prefix'.  (Bug#41691)

	* lisp/frame.el (other-frame-prefix): New command.
	(ctl-x-5-map): Bind 'C-x 5 5' to 'other-frame-prefix'.

2020-06-22  Theodor Thornhill  <theo@thornhill.no>

	Forward declare eshell-buffer-name in project-eshell

	* lisp/progmodes/project.el: Forward declare 'eshell-buffer-name' so
	that 'project-eshell' can use dynamically scoping with it.

2020-06-22  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savahnna/master' into dev

2020-06-22  Andrea Corallo  <akrl@sdf.org>

	Two `load-history' eln related fixes.

	* src/lread.c (Fload): Fix `load-history' filling for elns non in
	root lisp-dir.

	* lisp/startup.el (command-line): Fix `load-history' fixup
	algorithm for eln files.

2020-06-22  Andrea Corallo  <akrl@sdf.org>

	;* src/comp.c (define_maybe_gc_or_quit): Fix a comment.

	* src/comp.c (Fcomp__compile_ctxt_to_file): Confine gcc optim level in [0, 3].

2020-06-22  Andrea Corallo  <akrl@sdf.org>

	Handle correctly pure declaration specifier.

	* lisp/emacs-lisp/comp.el (comp-func): New slot 'pure'.
	(comp-spill-decl-spec): New function.
	(comp-spill-speed): Rework to use the later.
	(comp-spill-lap-function, comp-intern-func-in-ctxt): Spill pure
	decl value.
	(comp-function-optimizable-p): Check in the compiler env too if
	pure.

2020-06-22  Andrea Corallo  <akrl@sdf.org>

	Add a func-arity test for dynamic functions

	* test/src/comp-tests.el (comp-tests-dynamic-arity): New test.

2020-06-22  Andrea Corallo  <akrl@sdf.org>

	Do not native compile two functions to allow cc-mode hack

	* lisp/progmodes/cc-langs.el (c-populate-syntax-table): Declare
	with speed -1.

	* lisp/progmodes/cc-bytecomp.el
	(cc-bytecomp-compiling-or-loading): Declare with speed -1.

2020-06-22  Andrea Corallo  <akrl@sdf.org>

	Add a test for speed -1

	* test/src/comp-tests.el (comp-test-speed--1): New test

	* test/src/comp-test-funcs.el (comp-test-speed--1-f): New
	function.

2020-06-22  Andrea Corallo  <akrl@sdf.org>

	Allow per function speed declaration

	* src/comp.c (COMP_SPEED): Rename.
	(comp_t): Add 'func_speed' field.
	(emit_mvar_lval, compile_function): Update for per function speed.
	(Fcomp__compile_ctxt_to_file): COMP_SPEED renamed.

	* lisp/emacs-lisp/comp.el (comp-speed): Doc update.
	(comp-func): New 'speed' slot.
	(comp-spill-speed): New function.
	(comp-spill-lap-function, comp-intern-func-in-ctxt): Fill 'speed'
	slot.
	(comp-spill-lap-function): Gate -1 speed functions for native
	compilation and emit bytecode instead.
	(comp-spill-lap): Close over `byte-to-native-plist-environment'.
	(comp-latch-make-fill): Update for per function speed.
	(comp-limplify-top-level): Fill speed.
	(comp-propagate1, comp-call-optim-form-call, comp-call-optim)
	(comp-dead-code, comp-tco, comp-remove-type-hints): Update for per
	function speed.

2020-06-22  Andrea Corallo  <akrl@sdf.org>

	Execute top level forms in the right lex/dyn scope.

	* lisp/emacs-lisp/bytecomp.el (byte-to-native-top-level): Add
	'lexical' slot.
	(byte-compile-output-file-form): Update for new slot.
	(byte-compile-file-form-defmumble): Capture scope.

	* lisp/emacs-lisp/comp.el (comp-emit-for-top-level): Specify
	execution scope.

2020-06-22  Andrea Corallo  <andcor03@e112547.nice.arm.com>

	Add some testing for dynamic scope

	* test/src/comp-test-funcs-dyn.el: New file.

	* test/src/comp-tests.el (comp-tests-dynamic-ffuncall): Add
	new tests.

2020-06-21  Mattias Engdegård  <mattiase@acm.org>

	Consolidate #RGB string parsers

	Use a single parser of color strings in the #RGB, rgb:R/G/B and
	rgbi:R/G/B formats, replacing four existing ones.  Previously,
	error-checking was spotty, handling of the rgbi: format not always
	present, and normalization of the result was sometimes incorrect.

	* src/dispextern.h: New prototype.
	* src/xfaces.c (parse_hex_color_comp, parse_float_color_comp)
	(parse_color_spec, Finternal-color_values_from_color_spec): New functions.
	* test/src/xfaces-tests.el (xfaces-internal-color-values-from-color-spec):
	New test.
	* lisp/term/tty-colors.el (tty-color-standard-values):
	Use internal-color-values-from-color-spec, replacing old parser.
	* src/nsterm.m (ns_get_color):
	* src/w32fns.c (x_to_w32_color):
	* src/xterm.c (x_parse_color): Use parse_color_spec, replacing old
	parsers.
	(HEX_COLOR_NAME_LENGTH): Remove #define.

2020-06-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Revert last change in benchmark.el

	For discussion, see the following thread:
	https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00791.html

	* lisp/emacs-lisp/benchmark.el (benchmark-run-compiled): Revert to
	giving byte-compile a form rather than a closure.

2020-06-21  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings of 'project-shell' and 'project-eshell'

	* lisp/progmodes/project.el (project-shell, project-eshell): Doc
	fixes.

2020-06-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Replace some uses of cl-mapcan with mapcan

	* lisp/progmodes/project.el (project-files, project-files):
	* lisp/progmodes/xref.el (xref-backend-references)
	(xref--convert-hits):
	* test/lisp/emacs-lisp/package-tests.el
	(package-test-strip-version): Replace cl-mapcan with equivalent
	calls to mapcan.

2020-06-21  Michael Albinus  <michael.albinus@gmx.de>

	Fix remaining problems with tramp-crypt.el

	* lisp/net/tramp-compat.el (tramp-compat-make-temp-file):
	Simplify implementation.

	* lisp/net/tramp-crypt.el (tramp-crypt-handle-delete-file)
	(tramp-crypt-handle-file-attributes, tramp-crypt-handle-file-system-info)
	(tramp-crypt-handle-make-directory): Let-bind `tramp-crypt-enabled' to nil.

	* lisp/net/tramp.el (tramp-file-name-for-operation): Fix for operations
	with two arguments.
	(tramp-handle-load): Suppress `signal-hook-function' when NOERROR
	is non-nil.

	* test/lisp/net/tramp-tests.el (tramp-test41-utf8)
	(tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
	(tramp-test41-utf8-with-ls): Skip if needed.

2020-06-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Evaluate some unnecessarily quoted lambdas

	* lisp/cedet/semantic/complete.el
	(semantic-displayer-tooltip-max-tags):
	* lisp/emacs-lisp/benchmark.el (benchmark-run-compiled):
	* lisp/emacs-lisp/package.el (package--default-summary)
	(package-menu-filter-by-version):
	* lisp/eshell/em-pred.el (eshell-pred-file-time):
	* lisp/progmodes/verilog-mode.el (verilog-auto-lineup)
	(verilog-auto-reset-widths, verilog-auto-arg-format)
	(verilog-auto-inst-vector, verilog-auto-inst-template-numbers):
	* lisp/textmodes/bibtex.el (bibtex-dialect):
	* test/lisp/autoinsert-tests.el
	(autoinsert-tests-define-auto-insert-before)
	(autoinsert-tests-define-auto-insert-after): Remove some unnecessary
	quoting around anonymous functions.

2020-06-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Silence some warnings in tests

	* test/lisp/emacs-lisp/package-tests.el
	(package-test-suffix-matches): Evaluate lambda.
	(package-test-list-filter-marked):
	* test/lisp/vc/vc-tests.el
	(vc-test--run-maybe-unsupported-function):
	* test/src/undo-tests.el (undo-test-skip-invalidated-markers):
	Silence "unused local variable" warnings.
	* test/lisp/imenu-tests.el (imenu-simple-scan-deftest): Fix
	docstring.  Don't shadow global major-mode.

2020-06-21  Theodor Thornhill  <theo@thornhill.no>

	Pop to an existing Eshell buffer by default

	* lisp/progmodes/project.el (project-shell): Improve docstring to
	include information about an implementation detail.

	* lisp/progmodes/project.el (project-eshell): Modeled after
	'project-shell', change default behavior such that we don't create too
	many eshell buffers by default.  Use universal argument to create
	subsequent buffers.

2020-06-20  Philipp Stephani  <phst@google.com>

	Fix a byte-compile warning.

	* lisp/gnus/gnus-cloud.el (gnus-cloud-download-data): Don't use
	'mapcar' or effect.

2020-06-20  Eli Zaretskii  <eliz@gnu.org>

	Fix last change for bug#41619

	* lisp/progmodes/python.el (python-shell-virtualenv-root): Fix
	last change.  (Bug#41619)

2020-06-20  Eli Zaretskii  <eliz@gnu.org>

	Documentation followup to the last change

	* doc/emacs/cmdargs.texi (General Variables):
	* etc/NEWS: Document the COLORTERM environment variable.
	(Bug#41846)

2020-06-20  Jan Beich  <jbeich@FreeBSD.org>  (tiny change)

	Add fallback for 24-bit terminal color via COLORTERM=truecolor

	* src/term.c (init_tty): When COLORTERM=truecolor is defined,
	override setaf/setab/colors terminfo capabilities with 24-bit
	color support.

	* doc/misc/efaq.texi (Colors on a TTY): Mention the possibility to
	enable 24-bit color via the COLORTERM environment variable.

	(Bug#41846)

2020-06-20  Eli Zaretskii  <eliz@gnu.org>

	Revert "Don't mention non-GNU package archives."

	This reverts commit 5daa7a5fd4aced33a2ae016bde5bb37d1d95edf6.
	A proper fix will be committed to the emacs-27 branch, and
	will be later merged to master.

2020-06-20  Andrew Burgess  <andrew.burgess@embecosm.com>  (tiny change)

	Fix bug with deactivation of mark in 'cua-cancel'

	* lisp/emulation/cua-base.el (cua-cancel): Use 'deactivate-mark'
	instead of setting 'mark-active' directly.

2020-06-20  Theodor Thornhill  <theo@thornhill.no>

	project-shell: Pop to an existing shell buffer by default

	* lisp/progmodes/project.el (project-shell):
	Pop to an existing shell buffer by default.
	If there's none, or if universal argument is used, open a subsequent
	shell buffer and jump to it.  Prefix shell buffer name with the base
	name of project root directory. (Bug#41858)

2020-06-19  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in doc strings of project.el

	* lisp/progmodes/project.el (project-switch-to-buffer): More accurate
	doc string.

2020-06-19  Michael Albinus  <michael.albinus@gmx.de>

	Fix various problems in Tramp

	* lisp/net/tramp-compat.el (tramp-temp-name-prefix): Declare.
	(tramp-compat-make-temp-name):
	* lisp/net/tramp.el (tramp-make-tramp-temp-name): New defuns.

	* lisp/net/tramp.el (tramp-make-tramp-temp-file):
	* lisp/net/tramp-sh.el (tramp-find-inline-encoding)
	(tramp-maybe-open-connection, tramp-get-remote-touch)
	(tramp-get-remote-chmod-h):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory): Use them.

	* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-stat):
	Simplify shell command.  Suppress errors (interpret as nil).
	(tramp-sh-handle-make-process): Do not visit with
	`insert-file-contents'.  Delete tmp file only if exists.
	(tramp-send-command-and-read): Suppress `signal-hook-function'
	when reading expression.

2020-06-19  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings of project.el

	* lisp/progmodes/project.el (project-dired, project-shell)
	(project-eshell, project-switch-to-buffer, project-kill-buffers)
	(project-list-file, project--read-project-list)
	(project--ensure-read-project-list, project--write-project-list)
	(project--add-to-project-list-front)
	(project--remove-from-project-list, project-prompt-project-dir)
	(project-switch-commands, project-switch-project): Fix wording and
	formatting of doc strings.

2020-06-19  Michael Albinus  <michael.albinus@gmx.de>

	Fix newly introduced errors in Tramp

	* lisp/net/tramp-gvfs.el (tramp-gvfs-unload-hook):
	Remove `tramp-gvfs-dbus-event-error' from `dbus-event-error-functions'.

	* lisp/net/tramp.el (tramp-autoload-file-name-handler): Revert patch.

2020-06-19  Andrea Corallo  <akrl@sdf.org>

	Add native compiler dynamic scope support

	Add an initial implementation to support dynamic scope.  Arg
	parsing/binding it's done using the existing code in use for
	bytecode (no ad-hoc code is synthesized for that).

	* src/lisp.h (struct Lisp_Subr): Add lambda_list field.
	(SUBR_NATIVE_COMPILED_DYNP): New inliner.

	* src/alloc.c (mark_object): Update for Add lambda_list field.

	* src/eval.c (eval_sub, Ffuncall, funcall_lambda): Handle native
	compiled dynamic scope

	* src/comp.c (declare_lex_function): Rename from declare_function
	and rework.
	(declare_function): New function.
	(make_subr): Handle daynamic scope

	* src/pdumper.c (dump_subr): Update for lambda_list field.

	* lisp/emacs-lisp/comp.el (comp-func): Remove args slot.
	(comp-func-l, comp-func-d): New classes deriving from `comp-func'.
	(comp-spill-lap-function): Rework.
	(comp-prepare-args-for-top-level): New function.
	(comp-emit-for-top-level, comp-emit-lambda-for-top-level): Make
	use of `comp-prepare-args-for-top-level'.
	(comp-limplify-top-level): Use `comp-func-l'.
	(comp-limplify-function): Emit arg prologue only for dynamic
	scoped functions.
	(comp-call-optim-form-call): Use `comp-func-l'.
	(comp-call-optim, comp-tco): Do not optimize dynamic scoped code.

2020-06-19  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	project-switch-to-buffer: Use the "other buffer" as default

	* lisp/progmodes/project.el
	(project-switch-to-buffer): Pass the "other buffer" as DEF to
	read-buffer if it belongs to the current project (bug#41879).

2020-06-18  Paul Eggert  <eggert@cs.ucla.edu>
	    Tino Calancha  <tino.calancha@gmail.com>

	Check AREF and aref_addr subscripts

	* src/lisp.h (gc_asize): Move before first use.
	(AREF, aref_addr): Check subscripts.

2020-06-18  Mattias Engdegård  <mattiase@acm.org>

	Define the dark luminance limit as a named constant

	To make the meaning of the color-dark-p cutoff luminance clear,
	define it as a named constant.  (We no longer use the somewhat
	obscure 0.6^2.2 definition since it doesn't really make sense
	to define the limit in gamma-compressed space.)

	* lisp/faces.el (color-luminance-dark-limit): New constant.
	(color-dark-p): Use color-luminance-dark-limit.

2020-06-18  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Fix inconsistencies.  Add `tramp-crypt-add-directory'.

2020-06-18  Michael Albinus  <michael.albinus@gmx.de>

	Some Tramp cleanups, mainly in tramp-crypt.el

	* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
	Add `add-name-to-file', `make-directory-internal',
	`make-nearby-temp-file', `temporary-file-directory' and
	`unhandled-file-name-directory'.
	(tramp-crypt-file-name-for-operation):
	Use `tramp-compat-temporary-file-directory'.
	(tramp-crypt-do-encrypt-or-decrypt-file-name)
	(tramp-crypt-do-encrypt-or-decrypt-file): Fix syntax error in
	`tramp-error'.

	* lisp/net/tramp.el (tramp-autoload-file-name-handler):
	* lisp/net/tramp-rclone.el (tramp-rclone-mounted-p)
	(tramp-rclone-flush-directory-cache):
	Use `tramp-compat-temporary-file-directory'.

2020-06-18  Dmitry Gutov  <dgutov@yandex.ru>

	Add binding for project-kill-buffers

	* lisp/progmodes/project.el (project-prefix-map):
	Add binding for project-kill-buffers (bug#41868).

2020-06-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Propertize all shr fragment IDs as shr-target-id

	* lisp/net/shr.el (shr-target-id): Add docstring.
	(shr-descend, shr-tag-a): Display dummy anchor characters as the
	empty string.  Give all relevant 'id' or 'name' fragment identifier
	attributes the shr-target-id text property.  This ensures that
	cached content, such as tables, retains the property across
	renders.  (Bug#40532)

	* lisp/net/eww.el: (eww-display-html): Adapt shr-target-id property
	search accordingly.

2020-06-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve battery.el UPower support

	For discussion, see the following threads:
	https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00843.html
	https://lists.gnu.org/archive/html/emacs-devel/2020-02/msg00042.html
	https://lists.gnu.org/archive/html/emacs-devel/2020-02/msg00282.html

	* etc/NEWS: Announce that battery-upower is enabled by default.

	* lisp/battery.el (battery-upower-device): Accept both battery and
	line power device names, or a list thereof (bug#39491).
	(battery-upower-line-power-device): Remove user option; superseded
	by battery-upower-device.
	(battery-upower-subscribe): New user option.
	(battery-status-function): Check whether a UPower service is
	provided without activating it.
	(display-battery-mode): Subscribe to UPower signals when using
	battery-upower.
	(battery-upower): Merge data from multiple power sources.  Calculate
	terse battery status %b based on average battery load percentage
	rather than coarse and often missing BatteryLevel (bug#39491).  Add
	support for average temperature %d.

	(battery-upower-dbus-service)
	(battery-upower-dbus-interface)
	(battery-upower-dbus-path)
	(battery-upower-dbus-device-interface)
	(battery-upower-dbus-device-path)
	(battery-upower-device-all-properties): Rename to...
	(battery-upower-service)
	(battery-upower-interface)
	(battery-upower-path)
	(battery-upower-device-interface)
	(battery-upower-device-path)
	(battery--upower-device-properties): ...these, respectively.

	(battery-upower-device-list): Rename to...
	(battery--upower-devices) ...this.  Return a flat list of device
	names determined by battery-upower-device.
	(battery-upower-types, battery-upower-states)
	(battery-upower-device-property, battery-upower-device-autodetect):
	Remove.
	(battery--upower-signals): New variable.
	(battery--upower-signal-handler, battery--upower-props-changed)
	(battery--upower-unsubscribe, battery--upower-subsribe)
	(battery--upower-state): New functions.

	* test/lisp/battery-tests.el (battery-upower-state)
	(battery-upower-state-unknown): New tests.

2020-06-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Various battery.el improvements (bug#41808)

	* lisp/battery.el: Mention BSD support in Commentary.  Don't load
	preloaded lisp/emacs-lisp/timer.el.
	(battery--files): New function.
	(battery--find-linux-sysfs-batteries): Use it and make fewer
	syscalls.
	(battery-status-function): Perform GNU/Linux checks in increasing
	order of obsolescence: sysfs, ACPI, and then APM.  Simplify Darwin
	check.  Add :version tag now that battery-upower is the default.
	(battery-echo-area-format, battery-mode-line-format): Mention %s.
	(battery-load-low, battery-load-critical): New faces.
	(battery-update): Display battery-mode-line-format even if
	percentage is N/A.  Apply faces battery-load-low or
	battery-load-critical according to the percentage, but append them
	so they don't override user customizations.  Update all mode lines
	since we are in global-mode-string.
	(battery-linux-proc-apm-regexp): Mark as obsolete, replacing with...
	(battery--linux-proc-apm): ...this new rx definition.
	(battery-linux-proc-apm): Use it.  Fix indentation.  Simplify.
	(battery--acpi-rate, battery--acpi-capacity): New rx definitions.
	(battery-linux-proc-acpi): Use them.  Fix pathological whitespace
	regexps.  Simplify.
	(battery-linux-sysfs): Fix docstring and indentation.  Reduce number
	of file searches.  Simplify.
	(battery-bsd-apm): Fix docstring.  Simplify.
	(battery-pmset): Fix docstring.  Simplify ID regexp.

	* lisp/emacs-lisp/rx.el (rx-define): Indent as a defun.

	* test/lisp/battery-tests.el (battery-linux-proc-apm-regexp): Test
	new battery--linux-proc-apm rx definition.
	(battery-acpi-rate-regexp, battery-acpi-capacity-regexp): New tests.

2020-06-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix and extend format-spec (bug#41758)

	* lisp/format-spec.el: Use lexical-binding.  Remove dependence on
	subr-x.el.
	(format-spec-make): Clarify docstring.
	(format-spec--parse-modifiers): Rename to...
	(format-spec--parse-flags): ...this and simplify.  In particular,
	don't bother parsing :space-pad which is redundant and unused.
	(format-spec--pad): Remove, replacing with...
	(format-spec--do-flags): ...this new helper function which performs
	more of format-spec's supported text manipulation.
	(format-spec): Autoload.  Allow optional argument to take on special
	values 'ignore' and 'delete' for more control over what happens when
	a replacement for a format specification isn't provided.  Bring back
	proper support for a precision modifier similar to that of 'format'.

	* lisp/battery.el (battery-format): Rewrite in terms of format-spec.
	(battery-echo-area-format, battery-mode-line-format): Mention
	support of format-spec syntax in docstrings.

	* doc/lispref/strings.texi (Custom Format Strings):
	* etc/NEWS: Document and announce these changes.

	* lisp/dired-aux.el (dired-do-compress-to):
	* lisp/erc/erc-match.el (erc-log-matches):
	* lisp/erc/erc.el (erc-update-mode-line-buffer):
	* lisp/gnus/gnus-sieve.el (gnus-sieve-update):
	* lisp/gnus/gssapi.el (open-gssapi-stream):
	* lisp/gnus/mail-source.el (mail-source-fetch-file)
	(mail-source-fetch-directory, mail-source-fetch-pop)
	(mail-source-fetch-imap):
	* lisp/gnus/message.el (message-insert-formatted-citation-line):
	* lisp/image-dired.el:
	* lisp/net/eww.el:
	* lisp/net/imap.el (imap-kerberos4-open, imap-gssapi-open)
	(imap-shell-open):
	* lisp/net/network-stream.el (network-stream-open-shell):
	* lisp/obsolete/tls.el (open-tls-stream):
	* lisp/textmodes/tex-mode.el:
	Remove extraneous loads and autoloads of format-spec now that it is
	autoloaded and simplify its uses where possible.

	* test/lisp/battery-tests.el (battery-format): Test new format-spec
	support.
	* test/lisp/format-spec-tests.el (test-format-spec): Rename to...
	(format-spec) ...this, extending test cases.
	(test-format-unknown): Rename to...
	(format-spec-unknown): ...this, extending test cases.
	(test-format-modifiers): Rename to...
	(format-spec-flags): ...this.
	(format-spec-make, format-spec-parse-flags, format-spec-do-flags)
	(format-spec-do-flags-truncate, format-spec-do-flags-pad)
	(format-spec-do-flags-chop, format-spec-do-flags-case): New tests.

2020-06-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Various dbus.el cleanups (bug#41744)

	* etc/NEWS: Announce removal of aliases obsolete since Emacs 24.3.

	* lisp/net/dbus.el: Remove unneeded dependency on cl-lib.el.  Quote
	function symbols as such.
	(dbus-ignore-errors): Don't add macro name to font-lock keywords, as
	emacs-lisp-mode now dynamically fontifies new macro definitions.
	(dbus-event-error-hooks, dbus-call-method-non-blocking): Remove
	aliases obsolete since Emacs 24.3.
	(dbus-register-signal, dbus-escape-as-identifier): Simplify.  Use
	regexp \` and \' in place of ^ and $.
	(dbus--parse-xml-buffer): New function for libxml2 compatibility.
	(dbus-introspect-xml): Use it.

	(dbus-string-to-byte-array, dbus-byte-array-to-string)
	(dbus-unescape-from-identifier, dbus-list-known-names)
	(dbus-introspect-get-all-nodes, dbus-get-all-properties)
	(dbus-get-all-managed-objects): Simplify.

	(dbus--introspect-names, dbus--introspect-name): New convenience
	functions.
	(dbus-introspect-get-node-names)
	(dbus-introspect-get-interface-names)
	(dbus-introspect-get-interface, dbus-introspect-get-method-names)
	(dbus-introspect-get-method, dbus-introspect-get-signal-names)
	(dbus-introspect-get-signal, dbus-introspect-get-property-names)
	(dbus-introspect-get-property)
	(dbus-introspect-get-annotation-names)
	(dbus-introspect-get-annotation)
	(dbus-introspect-get-argument-names, dbus-introspect-get-argument):
	Use them to DRY.

	* test/lisp/net/dbus-tests.el (dbus-test-all): Quote function
	symbols as such.

2020-06-18  Tassilo Horn  <tsdh@gnu.org>

	;Fix error in commit dcdf6d7124

2020-06-18  Tassilo Horn  <tsdh@gnu.org>

	Make bug-reference auto-setup work in vc-dir or Magit like modes

	* lisp/progmodes/bug-reference.el (bug-reference-try-setup-from-vc):
	Use default-directory if not in a file-visiting buffer to determine
	VC URL.

2020-06-18  Tassilo Horn  <tsdh@gnu.org>

	Bind default-directory to given DIR.

	Otherwise, "git config branch.<branch>.remote" would return the global
	default "origin" instead of the actual, project-specific remote name.

	* lisp/vc/vc-git.el (vc-git-dir-extra-headers): Bind default-directory
	to given DIR.

2020-06-18  Philip K  <philip@warpmail.net>

	New command: project-kill-buffers

	* lisp/progmodes/project.el
	(project-kill-buffers-skip-conditions): New variable.
	(project--buffer-list): New function.
	(project-kill-buffers): New command (bug#41868).

2020-06-18  Theodor Thornhill  <theo@thornhill.no>

	New command: project-switch-to-buffer

	* lisp/progmodes/project.el (project-switch-to-buffer): New command.

2020-06-18  Theodor Thornhill  <theo@thornhill.no>

	Add global bindings for project commands

	* lisp/progmodes/project.el
	(project-prefix-map): New variable.
	Add the new keymap to ctl-x-map.

2020-06-18  Dmitry Gutov  <dgutov@yandex.ru>

	Fix setting project-vc-merge-submodules via .dir-locals.el

	* lisp/progmodes/project.el
	(project--vc-merge-submodules-p): New function.
	(project-try-vc, project--vc-list-files): Use it.

2020-06-18  Dmitry Gutov  <dgutov@yandex.ru>

	vc-git-dir-extra-headers: Fix recent breakage

	* lisp/vc/vc-git.el (vc-git-dir-extra-headers): Account for
	'remote' being set to "" when not found
	(https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00582.html).
	(vc-git-dir-extra-headers): Check the value of remote-url instead.

2020-06-17  Tassilo Horn  <tsdh@gnu.org>

	Auto-setup for bug-reference-mode

	Tries to guess suitable bug-reference-bug-regexp and
	bug-reference-url-format values based on version control URL (in file
	buffers) and mail information (in Gnus summary and article buffers).

	* lisp/progmodes/bug-reference.el
	(bug-reference--maybe-setup-from-vc): New defun.
	(bug-reference-setup-from-vc-alist): New defvar defining setup rules
	based on version control URL.
	(bug-reference-try-setup-from-vc): New defun using above defvar.
	(bug-reference--maybe-setup-from-mail): New defun.
	(bug-reference-setup-from-mail-alist): New defvar defining setup rules
	based on mail/newsgroups and header values.
	(bug-reference-try-setup-from-gnus): New defun using above defvar.
	(bug-reference--try-setup-gnus-article): New defun.
	(bug-reference--run-auto-setup): New defun.
	(bug-reference-mode): Call bug-reference--run-auto-setup as
	:after-hook.
	(bug-reference-prog-mode): Call bug-reference--run-auto-setup as
	:after-hook.

2020-06-17  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	229995ba2c (origin/emacs-27) Fix some Texinfo markup
	01e86b9fdf Fix recentf typo in Emacs manual
	cd4f75bb86 Rename default function to next-error-buffer-unnavigated-c...
	1dff0a8949 * lisp/image-mode.el (image-toggle-display-image): Fix fit...
	a71d1787f1 * doc/misc/tramp.texi (Predefined connection information):...
	079b0dc430 Delete, don't kill, dir fragments in icomplete-fido-ba...
	6cdecc2659 Revert markup change in with-coding-priority docs
	22f4fba8a9 * lisp/emulation/cua-rect.el (cua--rectangle-region-insert...
	6b9eac6759 * lisp/simple.el (shell-command-on-region): Fix docstring.
	43ad7dc1af Clean up D-Bus documentation (bug#41744)
	c43e5ed60d * lisp/image-mode.el (image-transform-original): New comma...
	6eb18a950d Move tab-bar and tab-line faces to faces.el (part of bug#4...

	# Conflicts:
	#	etc/NEWS
	#	lisp/simple.el

2020-06-17  Juri Linkov  <juri@linkov.net>

	* lisp/dired-aux.el (dired-vc-deduce-fileset): Add autoload cookie.

2020-06-17  Dmitry Gutov  <dgutov@yandex.ru>

	Bump the project.el package version

	* lisp/progmodes/project.el: Bump the package version.

2020-06-17  Dmitry Gutov  <dgutov@yandex.ru>

	Change the key for project-find-regexp

	* lisp/progmodes/project.el (project-switch-commands):
	Change the key for 'project-find-regexp' to 'g', which seems to be
	the consensus.

2020-06-17  Dmitry Gutov  <dgutov@yandex.ru>

	Make project file name completion adhere to customization

	* lisp/progmodes/project.el (project-find-file-in):
	Bind completion-ignore-case to the value of
	read-file-name-completion-ignore-case (bug#41902).

2020-06-16  David Edmondson  <dme@dme.org>

	gnus-cloud: Improve cloud sync

	After replaying a set of actions downloaded by gnus-cloud, persist the
	highest sequence number seen as the local `gnus-cloud-sequence'
	number, in order that a future download will not unnecessarily replay
	previously seen actions and any future uploads from this emacs
	instance use a higher sequence number than that downloaded.

	Remove the test on whether individual newsrc entries are older than
	the current time, as that is always going to be the case.

2020-06-15  Michael Albinus  <michael.albinus@gmx.de>

	Fix some Tramp problems seen during tests

	* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
	Add `access-file'.
	(tramp-crypt-file-name-for-operation): Rewrite.  Take second
	argument into account.
	(tramp-crypt-file-name-handler): Use it.
	(tramp-crypt-send-command): Set buffer multibyte (but utf8 files
	still don't work).
	(tramp-crypt-handle-access-file): New defun.
	(tramp-crypt-do-copy-or-rename-file): Short track if both files
	are on an encrypted remote dir.

	* lisp/net/tramp.el (file-notify-rm-watch): Declare.
	(tramp-inhibit-progress-reporter): New defvar.
	(tramp-message): Display message only if not suppressed by
	progress reporter.
	(with-tramp-progress-reporter): Suppress concurrent progress
	reporter messages.
	(tramp-file-notify-process-sentinel): Simplify.

2020-06-15  Tassilo Horn  <tsdh@gnu.org>

	Use vc-git-repository-url in vc-git-dir-extra-headers

	* lisp/vc/vc-git.el (vc-git-dir-extra-headers): Use
	vc-git-repository-url for getting the remote's URL.

2020-06-15  Tassilo Horn  <tsdh@gnu.org>

	Add optional remote-name argument to VC repository-url command

	* lisp/vc/vc.el: Document new remote-name argument of VC
	repository-url command.
	* lisp/vc/vc-git.el (vc-git-repository-url): Add and use new arg.
	* lisp/vc/vc-hg.el (vc-hg-repository-url): Add and use new arg.
	* lisp/vc/vc-bzr.el (vc-bzr-repository-url): Add new arg but ignore
	it.
	* lisp/vc/vc-svn.el (vc-svn-repository-url): Add new arg but ignore
	it.

2020-06-14  Tassilo Horn  <tsdh@gnu.org>

	Add new VC command `repository-url'

	* lisp/vc/vc.el: Document repository-url command.
	* lisp/vc/vc-bzr.el (vc-bzr-repository-url): New defun.
	* lisp/vc/vc-git.el (vc-git-repository-url): New defun.
	* lisp/vc/vc-hg.el (vc-hg-repository-url): New defun.
	* lisp/vc/vc-svn.el (vc-svn-repository-url): New defun.

2020-06-14  Philipp Stephani  <phst@google.com>

	Band-aid for edebugging generator bodies (Bug#40434).

	Edebug doesn't support them well.  Rather than trying to fix Edebug,
	disable instrumentation for now to prevent annoying bugs.

	* lisp/emacs-lisp/generator.el (iter-defun, iter-lambda, iter-make)
	(iter-do): Don't attempt to instrument bodies that are mangled by the
	CPS transformer.

	* test/lisp/emacs-lisp/generator-tests.el
	(generator-tests-edebug): New regression test.

2020-06-14  Philipp Stephani  <phst@google.com>

	Ensure that getters and setters can be edebugged at the same time.

	It's necessary to add a name suffix to setters defined with
	'gv-define-setter' so that Edebug can distinguish between the getter
	and the setter (Bug#41853).

	* lisp/emacs-lisp/gv.el (gv-define-setter): Add a name suffix to
	setter definitions.

	* test/lisp/emacs-lisp/gv-tests.el (gv-setter-edebug): New regression
	test.

2020-06-14  Michael Albinus  <michael.albinus@gmx.de>

	Rearrange detecting remote uid and gid in Tramp

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
	* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
	Add `tramp-get-remote-gid' and 'tramp-get-remote-uid'.

	* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
	Add `file-ownership-preserved-p'.
	(tramp-crypt-add-directory): Check, that NAME is not quoted.
	(tramp-crypt-handle-file-ownership-preserved-p): New defun.
	(tramp-crypt-handle-insert-directory): Fix docstring.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	Add `tramp-get-remote-gid' and 'tramp-get-remote-uid'.
	(tramp-gvfs-handle-file-readable-p): Call `tramp-get-remote-uid'.
	(tramp-gvfs-handle-get-remote-uid)
	(tramp-gvfs-handle-get-remote-gid): Rename from
	`tramp-gvfs-get-remote-{uid,gid}'.  Do not cache result.
	(tramp-gvfs-maybe-open-connection): No special handling for remote
	uid and gid.

	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
	Add `tramp-get-remote-gid' and 'tramp-get-remote-uid'.
	(tramp-sh-handle-get-remote-uid, tramp-sh-handle-get-remote-gid):
	Rename from `tramp-get-remote-{uid,gid}'.  Do not cache result.
	(tramp-sh-handle-file-ownership-preserved-p): Distinguish by GROUP
	when caching.

	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
	Add `tramp-get-remote-gid' and 'tramp-get-remote-uid'.
	(tramp-sudoedit-handle-get-remote-uid)
	(tramp-sudoedit-handle-get-remote-gid): Rename from
	`tramp-sudoedit-get-remote-{uid,gid}'.  Do not cache result.
	(tramp-sudoedit-handle-set-file-uid-gid)
	(tramp-sudoedit-handle-write-region): Call `tramp-get-remote-uid'
	and `tramp-get-remote-gid'.
	(tramp-sudoedit-maybe-open-connection): No special handling for
	remote uid and gid.

	* lisp/net/tramp.el (tramp-file-name-for-operation):
	Add `tramp-get-remote-gid' and 'tramp-get-remote-uid'.
	(tramp-handle-write-region, tramp-check-cached-permissions):
	Call `tramp-get-remote-uid' and `tramp-get-remote-gid'.
	(tramp-get-remote-uid, tramp-get-remote-gid): New defuns.
	(tramp-local-host-p): Simplify `tramp-get-remote-uid' call.

	* test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards)
	Skip if needed.

2020-06-14  Michael R. Mauger  <michael@mauger.com>

	* lisp/progmodes/sql.el (sql-add-product): Re-correct argument
	spec.  Previous change was due to my mistake; I have
	resolved back to the prior behavior (Bug#39960).
	* test/lisp/progmodes/sql-tests.el (sql-test-add-product): Added
	test to insure I don't make the same mistake again.

2020-06-13  Glenn Morris  <rgm@gnu.org>

	Tag a test as unstable

	* test/lisp/calendar/lunar-tests.el (lunar-test-phase-list):
	Mark as unstable.  Eg fails on hydra.nixos.org.

2020-06-13  Andrea Corallo  <akrl@sdf.org>

	Implement 'maybe_gc_or_quit' to allow correct GC in compiled Lisp.

	Implement the backend side of 'maybe_gc_or_quit' so that every time a
	call to it is emitted we render it accordingly.  This allow GC to
	kicks in during long loops in Lisp code.

	* src/comp.c (comp_t): Add 'maybe_gc_or_quit' field.
	(helper_link_table): Add 'maybe_gc', 'maybe_quit'.
	(emit_maybe_gc_or_quit): New function.
	(declare_runtime_imported_funcs): Import 'maybe_gc', 'maybe_quit'
	functions.
	(define_maybe_gc_or_quit): New function.
	(Fcomp__init_ctxt): Register emitter.
	(Fcomp__compile_ctxt_to_file): Call 'define_maybe_gc_or_quit'.
	(syms_of_comp): Define Qcomp_maybe_gc_or_quit.

2020-06-13  Andrea Corallo  <akrl@sdf.org>

	Introduce latches

	Define a new kind of basic block 'latch' to close over loops.  Its
	purpose is for now to emit calls to `comp-maybe-gc-or-quit' but in
	future will be useful for the loop optimizer to exploit unboxes.

	* lisp/emacs-lisp/comp.el (comp-block): New base class.
	(comp-block-lap): New class for LAP derived basic blocks.
	(comp-latch): New class.
	(comp-bb-maybe-add, comp-make-curr-block, comp-emit-handler)
	(comp-emit-switch, comp-emit-switch, comp-limplify-top-level)
	(comp-addr-to-bb-name, comp-limplify-block)
	(comp-limplify-function): Update logic for new bb objects
	arrangement.
	(comp-latch-make-fill): New function.
	(comp-emit-uncond-jump, comp-emit-cond-jump): Update to emit
	latches.
	(comp-new-block-sym): Add a postfix parameter.

2020-06-13  Andrea Corallo  <akrl@sdf.org>

	Fix const qualifier warnings

	* src/lisp.h (struct Lisp_Subr): Remove const qualifier from
	'native_c_name'.

	* src/alloc.c (cleanup_vector): Cast to discard const qualifier.

2020-06-13  Philip K  <philip@warpmail.net>

	Mark python-shell-virtualenv-root as safe for directories

	* lisp/progmodes/python.el (python-shell-virtualenv-root):
	Require a directory name.  (Bug#41619)

2020-06-13  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	Highlight typed variables in Python

	* lisp/progmodes/python.el
	(python-font-lock-keywords-maximum-decoration): Recognize
	typed variables like "foo: int = 1" as well.  (Bug#41684)

2020-06-13  Andrea Corallo  <akrl@sdf.org>

	* src/alloc.c (cleanup_vector): Fix --enable-check-lisp-object-type build.

2020-06-12  Michael Albinus  <michael.albinus@gmx.de>

	Further fixes while testing tramp-crypt

	* doc/misc/tramp.texi (External methods): Remove experimental note
	for rclone.
	(Keeping files encrypted): Mark file encryption as experimental.

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	Use `tramp-handle-file-truename'.
	(tramp-adb-handle-file-truename): Remove.

	* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
	Add `file-writable-p'.
	(tramp-crypt-send-command): Return t if no error.
	(tramp-crypt-do-encrypt-or-decrypt-file-name)
	(tramp-crypt-do-encrypt-or-decrypt-file): Raise an error if it fails.
	(tramp-crypt-do-copy-or-rename-file): Flush file properties also
	when copying a directory.
	(tramp-crypt-handle-file-writable-p): New defun.
	(tramp-crypt-handle-insert-directory): Check for library
	`text-property-search'.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-uid-gid):
	Rename from `tramp-gvfs-set-file-uid-gid'.

	* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
	Use `tramp-handle-file-truename' as fallback.

	* lisp/net/tramp.el (tramp-handle-file-truename):
	Let-bind `tramp-crypt-enabled' to nil.
	(tramp-handle-write-region): Set also file ownership.

	* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
	Skip if needed.

2020-06-12  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Derive gnus-edit-form-mode from lisp-data-mode, fix mode map

	* lisp/gnus/gnus-eform.el (gnus-edit-form-mode): Derive from
	lisp-data-mode, which can be handy for users who have turned on things
	like paredit for lisp-data-mode.
	(gnus-edit-form-mode-map): Put creation of the map inside the defvar.

2020-06-11  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savahnna/master' into HEAD

2020-06-11  Andrea Corallo  <akrl@sdf.org>

	Fix memory leak when native compiled function is collected

	* src/alloc.c (cleanup_vector): Handle native compiled
	functions.

2020-06-11  Andrea Corallo  <akrl@sdf.org>

	Fix recursive load for non cons hashed 'data_ephemeral_vec' content

	Removing `Vcomp_sym_subr_c_name_h' all c_name functions are GC
	markable only through 'data_ephemeral_vec'.  A recursive load must not
	override its content otherwise a previously activated load will have
	the original content collected before it's used.

	* src/comp.h (struct Lisp_Native_Comp_Unit): Add 'load_ongoing'
	field.

	* src/comp.c (unset_cu_load_ongoing): New function.
	(load_comp_unit): Update logic to detect and handle recursive
	loads.

2020-06-11  Andrea Corallo  <akrl@sdf.org>

	Remove `Vcomp_sym_subr_c_name_h'

	Given there's no more unique relation symbol-name -> c-name remove
	`Vcomp_sym_subr_c_name_h' and store the c_name directly in struct
	Lisp_Subr.  The old approach would have failed dumping two functions
	with the same symbol-name.

	* src/lisp.h (struct Lisp_Subr): Add 'native_c_name' field.

	* src/pdumper.c (dump_subr): Update hash + dump 'native_c_name'.
	(dump_cold_native_subr): dump 'native_c_name'.
	(dump_do_dump_relocation): Update logic for reviving using
	'native_c_name'.

	* src/comp.c (make_subr): Update for 'native_c_name' field.
	(Fcomp__register_lambda, Fcomp__register_subr): Clean-up code for
	'Vcomp_sym_subr_c_name_h' removal.
	(syms_of_comp): Remove 'Vcomp_sym_subr_c_name_h'.

2020-06-10  Mattias Engdegård  <mattiase@acm.org>

	Improved light/dark color predicate (bug#41544)

	Add a predicate, color-dark-p, for deciding whether a color is more
	readable with black or white as contrast.  It has experimentally been
	shown to be more accurate and robust than the various methods
	currently employed.

	The new predicate compares the relative luminance of the color to an
	empirically determined cut-off value, and it seems to get it right in
	almost all cases, with no value leading to outright bad results.

	* lisp/faces.el (readable-foreground-color): Use color-dark-p.
	(color-dark-p): New function.
	* lisp/facemenu.el (list-colors-print): Use readable-foreground-color,
	improving readability of list-colors-display.
	* lisp/textmodes/css-mode.el (css--contrasty-color): Remove.
	(css--fontify-region): Use readable-foreground-color.

2020-06-10  Michael Albinus  <michael.albinus@gmx.de>

	Further tramp-crypt implementation and documentation

	* doc/misc/tramp.texi (Top, Configuration): Insert section
	`Keeping files encrypted' in menu.
	(Keeping files encrypted): New node.

	* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
	Add `tramp-set-file-uid-gid'.
	(tramp-crypt-maybe-open-connection): Simplify.
	(tramp-crypt-do-encrypt-or-decrypt-file): Use `binary' coding system.
	(tramp-crypt-handle-set-file-uid-gid): New defun.

	* test/lisp/net/tramp-tests.el (tramp-test09-insert-file-contents):
	Adapt test.

2020-06-10  Philipp Stephani  <phst@google.com>

	Slightly improve commit 73be4d1ed5b190bd93e9bad6aebe43d0dea0d7d3.

	* lisp/emacs-lisp/cl-macs.el (cl-lambda-list, cl-lambda-list1)
	(cl-macro-list, cl-macro-list1): Use exactly the same specification as
	for &optional (sans the third optional list element).

2020-06-10  Philipp Stephani  <phst@google.com>

	Allow destructuring in &aux sections when using edebug (Bug#40431)

	* lisp/emacs-lisp/cl-macs.el (cl-lambda-list, cl-lambda-list1)
	(cl-macro-list, cl-macro-list1): Allow arbitrary 'cl-lambda'
	arguments in the &aux section.

	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-aux-edebug): New
	regression test.

2020-06-10  Andrea Corallo  <akrl@sdf.org>

	Remove unused 'helper_save_window_excursion'

	* src/comp.c (helper_unwind_protect): Remove definition and
	declaration.

2020-06-10  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	Copy suffixes passed to 'openp' to avoid GC crashes. Fixes bug#41755

	In openp_add_middle_dir_to_suffixes we build a heap-based list from
	the passed suffixes.  It is crucial that we don't create a heap-based
	cons that points to a stack-based list.

	* src/lread.c (openp_add_middle_dir_to_suffixes): Copy suffixes when
	building a list of middle-dirs and suffixes.

2020-06-09  Simen Heggestøyl  <simenheg@gmail.com>

	Save project list as lisp data

	Save the project list file as lisp data instead of line separated
	strings to make it more extendable in the future.

	* lisp/progmodes/project.el (project--read-project-list)
	(project--write-project-list, project--add-to-project-list-front)
	(project--remove-from-project-list): Adjust to `project--list' now
	being an alist.

2020-06-09  Alan Mackenzie  <acm@muc.de>

	Orthographical amendments to commit 145aab0672ae259736ee9230f8e0ff4effa5f4fd

	* etc/NEWS: Correct the spelling of CC Mode.

	* lisp/progmodes/cc-fonts.el (doxygen-font-lock-doc-comments): Replace curly
	  quotes in comments by ASCII ones.

2020-06-09  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	* Fix usage of cl-destructuring-bind in package--delete-directory.

	* lisp/emacs-lisp/package.el (package--delete-directory): Fix usage of
	cl-destructuring-bind.

2020-06-09  Michael Albinus  <michael.albinus@gmx.de>

	Continue implementation of tramp-crypt.el

	* lisp/net/tramp-crypt.el (tramp-crypt-do-encrypt-or-decrypt-file):
	Add leading "/" to infile.
	(tramp-crypt-add-directory): Fix docstring.  Expand NAME.
	(tramp-crypt-remove-directory)
	(tramp-crypt-handle-file-name-all-completions)
	(tramp-crypt-handle-set-file-times): New defuns.
	(tramp-crypt-handle-file-executable-p)
	(tramp-crypt-handle-file-readable-p)
	(tramp-crypt-handle-file-system-info)
	(tramp-crypt-handle-set-file-modes): Fix implementation.

	* test/lisp/net/tramp-tests.el: Adapt call convention
	for (tramp--test-crypt-p).

2020-06-09  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (shell-command-on-region): Handle nil replace on rectangles.

	When 'region-noncontiguous-p' is non-nil (rectangular region)
	but 'replace' is nil, pop up the shell output buffer (bug#41440).
	When 'replace' is non-nil, trim the trailing newline.

2020-06-08  Andrea Corallo  <akrl@sdf.org>

	* src/comp.h (struct Lisp_Native_Comp_Unit): Fix missing GCALIGNED_STRUCT.

2020-06-08  Andrea Corallo  <akrl@sdf.org>

	Rename lambda_gc_guard -> lambda_gc_guard_h

	* src/comp.h (struct Lisp_Native_Comp_Unit): Rename
	lambda_gc_guard -> lambda_gc_guard_h

	* src/pdumper.c (dump_do_dump_relocation): Likewise.

	* src/comp.c (check_comp_unit_relocs, Fcomp__register_lambda)
	(Fnative_elisp_load): Likewise.

2020-06-08  Andrea Corallo  <andcor03@e112547.nice.arm.com>

	* Fix load logic for the reloading CU case (bug#41754)

	* src/comp.c (load_comp_unit): When swapping the compilation unit
	abandoning the new one for the original do not forget to set its
	loaded_once field to true because is in use by
	`comp--register-lambda'.
	(Fcomp__register_lambda): Add sanity a check to spot
	early if we are trying to load the same lambda twice.

2020-06-08  Andrea Corallo  <andcor03@e112547.nice.arm.com>

	* Move final log after containers has been finalized

	* lisp/emacs-lisp/comp.el (comp-final): Remove function log.
	(comp-compile-ctxt-to-file): Add function log.

2020-06-08  Andrea Corallo  <andcor03@e112547.nice.arm.com>

	* src/pdumper.c (dump_do_dump_relocation): Fix 'lambda_gc_guard' fill value.

	Given 'lambda_gc_guard' is in use for sanity checking fill it with t
	as value.

2020-06-08  Mattias Engdegård  <mattiase@acm.org>

	More robust NS hex color string parsing

	Invalid arguments to color-values, such as "#abcdefg" or "#1234", or
	valid ones like "#111222333", should not yield nonsense values.

	* src/nsterm.m (ns_get_color):
	Only accept "#RGB" strings with 1-4 digits per components, equal number
	of digits each, and no trailing characters.  Parse 12-bit colors
	correctly.

2020-06-08  Michael Albinus  <michael.albinus@gmx.de>

	Add autoload problem in tramp-crypt.el.

	* lisp/net/tramp-crypt.el (tramp-crypt-encfs-config):
	Add ;;;###tramp-autoload cookie.
	(tramp-crypt-directories): Move it up.
	(tramp-crypt-file-name-p): Move it up.  Add ;;;###tramp-autoload
	cookie.  Make it a defsubst.

	* test/lisp/net/tramp-tests.el (tramp-crypt): Do not require.

2020-06-07  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into dev

2020-06-07  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in lunar.el and add tests

	* lisp/calendar/lunar.el: Use lexical-binding.
	(lunar-phases, diary-lunar-phases): Silence byte-compiler.
	* test/lisp/calendar/lunar-tests.el: New file.

2020-06-07  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add `make-byte-code'.

	`make-byte-code' wraps `vector' doing some sanity check on the input
	arguments.  `vector' is in side-effect-and-error-free-fns so add
	`make-byte-code' to side-effect-free-fns.

2020-06-07  Glenn Morris  <rgm@gnu.org>

	* test/lisp/net/tramp-tests.el: tramp-crypt-file-name-p not autoloaded.

2020-06-07  Andrea Corallo  <akrl@sdf.org>

	Rename comp-function-optimizable -> comp-function-optimizable-p

	* lisp/emacs-lisp/comp.el (comp-function-optimizable): Rename into
	'comp-function-optimizable-p'.
	(comp-function-call-maybe-remove): Use the new name.

2020-06-07  Andrea Corallo  <akrl@sdf.org>

	Fix comp-call-optim-form-call for null `callee'

	* lisp/emacs-lisp/comp.el (comp-call-optim-form-call): Guard
	against null `calle'.

2020-06-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	35661ef943 (origin/emacs-27) Fix typo in "(elisp) Type Keywords"
	1af0e95fec Gnus nnir-summary-line-format has no effect
	dd366b5d3b Improve documentation of 'window-text-pixel-size'
	fbd49f969e * src/xdisp.c (Fwindow_text_pixel_size): Doc fix.  (Bug#41...
	d8593fd19f Minor improvements to EDE and EIEIO manuals
	3916e63f9e Have Fido mode also imitate Ido mode in ignore-case options
	cc35b197c7 Update package-menu-quick-help
	bf09106256 Improve documentation of 'sort-subr'
	73749efa13 Update Ukrainian transliteration
	30a7ee505a Fix Arabic shaping when eww/shr fill the text to be rendered
	7d323f07c0 Silence some byte-compiler warnings in tests
	cf473e742f * test/lisp/battery-tests.el: New file.
	b07e3b1d97 Improve format-spec documentation (bug#41571)

	# Conflicts:
	#	test/lisp/emacs-lisp/package-tests.el

2020-06-07  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/js.el (js-mode): Remove second call to c-init-language-vars

	This spurious second call fouled up already set configuration variables.
	Fixes bug #41649.

2020-06-07  Andrea Corallo  <akrl@sdf.org>

	Improve propagate pass

	As function folding can generate 'setimm' insns handle them in the
	`comp-propagate-insn'.

	* lisp/emacs-lisp/comp.el (comp-propagate-insn): Handle 'setimm'
	insn.

2020-06-07  Michael Albinus  <michael.albinus@gmx.de>

	Add file encryption to Tramp

	* lisp/net/tramp-crypt.el: New file.

	* lisp/net/tramp.el (tramp-run-real-handler):
	Add `tramp-crypt-file-name-handler'.
	(tramp-register-file-name-handlers):
	Call `tramp-register-crypt-file-name-handler'.
	(tramp-handle-insert-file-contents, tramp-local-host-p): Check for
	`tramp-crypt-enabled'

	* test/lisp/net/tramp-tests.el (tramp--test-crypt-p): New defun.
	(tramp-test24-file-acl, tramp-test25-file-selinux)
	(tramp-test28-process-file, tramp-test29-start-file-process)
	(tramp-test30-make-process, tramp-test31-interrupt-process)
	(tramp-test32-shell-command)
	(tramp-test32-shell-command-dont-erase-buffer)
	(tramp-test33-environment-variables)
	(tramp-test33-environment-variables-and-port-numbers)
	(tramp-test34-explicit-shell-file-name, tramp-test35-exec-path)
	(tramp-test35-remote-path, tramp-test36-vc-registered)
	(tramp--test-check-files, tramp-test43-asynchronous-requests): Use it.

2020-06-07  Michael Albinus  <michael.albinus@gmx.de>

	Tramp code cleanup

	* lisp/net/tramp-cache.el (tramp-get-connection-property): Cleanup.

	* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections): Delete also
	connection processes.

	* lisp/net/tramp-sh.el (tramp-set-remote-path): Cache 4096 even if
	PIPE_BUF doesn't exist.

2020-06-07  Mattias Engdegård  <mattiase@acm.org>

	Use 65535 as color-values scale value in the NS backend

	* src/nsfns.m (Fxw_color_values): Scale with 65535 instead of 65280, for
	uniformity with other backends.
	* lisp/faces.el (color-values): Update doc string.
	* doc/lispref/frames.texi (Color Names): Update examples.

2020-06-07  Andrea Corallo  <akrl@sdf.org>

	Optimize optimizable variables

	* lisp/emacs-lisp/comp.el (comp-symbol-values-optimizable): New
	defconst.
	(comp-function-call-maybe-remove): New logic to remove
	unnecessary `symbol-value' calls.

2020-06-07  Juri Linkov  <juri@linkov.net>

	The key prefix 'C-x t t' displays next command buffer in a new tab (bug#41691)

	* lisp/tab-bar.el (other-tab-prefix): New command.
	(tab-prefix-map): Bind key 'C-x t t' to other-tab-prefix.

	* lisp/windmove.el (windmove-display-in-direction):
	Use display-buffer-override-next-command.

	* lisp/window.el (display-buffer-override-next-command):
	New function refactored from windmove-display-in-direction.

2020-06-06  Andrea Corallo  <akrl@sdf.org>

	Mitigate possible speed 3 miss-optimization

	Do not perform trampoline optimization at speed 3 on function if their
	name is not unique inside the compilation unit.  Note that the
	function can still be redefined in any other way therefore this is a
	mitigation.

	* lisp/emacs-lisp/comp.el (comp-func-unique-in-cu-p): New
	predicate.
	(comp-call-optim-form-call): Perform trampoline optimization
	for named functions only if they are unique within the current
	compilation unit.

2020-06-06  Andrea Corallo  <akrl@sdf.org>

	Allow for optimizing anonymous lambdas in call-optim

	* lisp/emacs-lisp/comp.el (comp-func-in-unit): New function.
	(comp-call-optim-form-call): Update logic for optimizing
	anonymous lambdas.

2020-06-06  Andrea Corallo  <akrl@sdf.org>

	Clean-up unnecessary lisp_X context definition

	* src/comp.c (Fcomp__init_ctxt, comp_t): Remove lisp_X
	definition as is used only locally.

2020-06-06  Andrea Corallo  <akrl@sdf.org>

	Change 'direct-call' 'direct-callref' LIMPLE ops sematinc

	Is cleaner to have the function c-name as first argument of
	'direct-call' 'direct-callref'.  This is preparatory to anonymous
	lambdas optimization.

	* lisp/emacs-lisp/comp.el (comp-propagate-insn): Use c-name when
	gathering the comp-func definition for direct calls.
	(comp-call-optim-form-call): Add put c-name as first argument of
	direct-call direct-callref when optimizing.

	* src/comp.c (emit_call): Update logic for having c-name as
	first arg of direct calls.
	(emit_call_ref): Rename 'subr_sym' into 'func'.

2020-06-06  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	Reduce the number of files probed when finding a lisp file.

	* src/lread.c (get-load-suffixes): Do not add any suffix to files that
	need to be loaded by the dynamic linker.
	(effective_load_path): Remove function.
	(load): Don't add any suffix if file ends in a suffix already.
	(effective_load_path): Remove function.
	(openp_add_middle_dir_to_suffixes): Add helper function to create
	pairs of middle directories and suffixes.
	(openp_max_middledir_and_suffix_len): Add helper function to count the
	number of bytes needed to store the middle directory and suffix.
	(openp_fill_filename_buffer): Add helper function to copy middle
	directory, basename and suffix to the filename buffer.

2020-06-06  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-06-06  Paul Eggert  <eggert@cs.ucla.edu>

	make-text-button no longer modifies its string arg

	* etc/NEWS: Mention this.
	* lisp/apropos.el (apropos-library-button):
	* lisp/ibuf-ext.el (ibuffer-old-saved-filters-warning):
	There’s no longer a need copy make-text-button’s string arg.
	* lisp/button.el (make-text-button): Return a copy of a string arg.
	Delay making the copy until after error-checking.

2020-06-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Un-deprecate oset and oset-default

	For discussion see the following threads:
	https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg00630.html
	https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg00674.html
	https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00099.html

	* lisp/emacs-lisp/eieio.el (oset, oset-default): Un-deprecate.
	* lisp/emacs-lisp/eieio-core.el (eieio-oref): Declare gv-setter here
	instead of in lisp/emacs-lisp/eieio.el.  Suggested by
	Stefan Monnier <monnier@iro.umontreal.ca>.
	(eieio-oref-default): Add gv-setter declaration.
	* etc/NEWS: Announce these changes.
	* doc/misc/eieio.texi (Accessing Slots): Document oref and
	oref-default as generalized variables.  Consistently document
	getters before setters.
	* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Use
	lexical-binding.
	(eieio-test-13-init-methods): Simplify.
	(eieio-test-33-instance-tracker): Declare IT-list as special.

2020-06-06  Andrea Corallo  <akrl@sdf.org>

	Some fixes for --without-nativecomp config

	* src/pdumper.c (dump_subr): Do not add RELOC_NATIVE_SUBR for
	VERY_LATE_RELOCS in --without-nativecomp.
	(dump_do_dump_relocation): Add a sanity check that no
	RELOC_NATIVE_SUBR exists in --without-nativecomp.

	* src/lread.c (Fload): As Fnative_elisp_load is not defined
	in --without-nativecomp so ifdef this block.

2020-06-06  Ellington Santos  <ellingtonsantos@gmail.com>  (tiny change)

	Improve battery status display via GNU/Linux sysfs

	* lisp/battery.el (battery-linux-sysfs): Support %b format.
	Improve the display of %p.  (Bug#41542)

2020-06-05  Pip Cet  <pipcet@gmail.com>

	Avoid zero-width glyphs and the resulting cursor artifacts

	* src/xdisp.c (fill_gstring_glyph_string): Handle unavailable glyphs.
	(append_composite_glyph): Mark unavailable glyphs.
	(gui_produce_glyphs): Make glyphs unavailable for zero-width
	compositions.  (Bug#41645)

2020-06-05  Paul Eggert  <eggert@cs.ucla.edu>

	Streamline live_*_holding

	(live_string_holding, live_cons_holding, live_symbol_holding)
	(live_float_p, live_vector_holding):
	Assert that m->type is correct, instead of testing this at
	runtime.  All callers changed.
	(live_large_vector_holding, live_small_vector_holding):
	Now two functions instead of the old live_vector_holding.
	All callers changed.
	(live_large_vector_p, live_small_vector_p):
	Now two functions instead of the old live_vector_p.
	All callers changed.
	(mark_maybe_object): Ignore Lisp_Type_Unused0 quickly too,
	since that cannot possibly be an object.
	(CHECK_LIVE, CHECK_ALLOCATED_AND_LIVE):
	New arg MEM_TYPE.  All callers changed.
	(CHECK_ALLOCATED_AND_LIVE_SYMBOL): Simplify by combining
	GC_CHECK_MARKED_OBJECTS code.

2020-06-05  Paul Eggert  <eggert@cs.ucla.edu>

	Make live_*_p more accurate

	* src/alloc.c (live_string_holding, live_cons_holding)
	(live_symbol_holding, live_vector_holding):
	Return a C pointer, not a Lisp_Object.  All callers changed.
	This helps the compiler a bit.
	(live_string_p, live_cons_p, live_symbol_p, live_vector_p):
	Require that P point directly at the object, rather than
	somewhere within the object.  This fixes some false positives
	with valid_lisp_object_p (used only in debugging).
	(mark_maybe_object): Rely on the new accuracy.

2020-06-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix some side-effecting uses of make-text-button

	For discussion, see the following thread:
	https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00117.html

	* lisp/apropos.el (apropos-library-button):
	* lisp/help-fns.el (help-fns--first-release): Return result of
	make-text-button instead of relying on its side effects.
	* lisp/ibuf-ext.el (ibuffer-old-saved-filters-warning): Avoid
	modifying an immutable string.

2020-06-05  Juri Linkov  <juri@linkov.net>

	* lisp/dired.el (dired-toggle-marks): Use region for non-nil dired-mark-region

	(dired-mark--region-use-p, dired-mark--region-beginning)
	(dired-mark--region-end): New internal functions.
	(dired-mark-if): Use new functions.  (Bug#39902)

2020-06-04  Simen Heggestøyl  <simenheg@gmail.com>

	Change default project list filename to "projects"

	* lisp/progmodes/project.el (project-list-file): Change the default
	filename to "projects".

2020-06-04  Simen Heggestøyl  <simenheg@gmail.com>

	Use characters for keys in project-switch-commands

	* lisp/progmodes/project.el (project-switch-commands): Use
	characters for keys instead of string for better future
	compatibility with 'read-multiple-choice'.
	(project-switch-project): Adjust to above change.

2020-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/font-lock.el (font-lock--syntax-table-affects-ppss): New var

	This tries to make `font-lock-syntax-table` work correctly even when
	it changes the parsing of strings and comments, as was the case in
	`font-latex.el`.

	We should probably deprecate the use of `font-lock-syntax-table` since
	the present fix is still not 100% and since it comes with performance
	problems in large files.

	(font-lock-set-defaults): Set it.
	(font-lock-fontify-syntactically-region): Don't use `syntax-ppss`
	when we think that `font-lock-syntax-table` would interfere.

2020-06-04  Andrea Corallo  <akrl@sdf.org>

	Fix build for --enable-check-lisp-object-type=yes (bug#41703)

	* src/comp.c (emit_coerce): Add missing declaration.

2020-06-04  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-06-04  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t default to Valgrind unless ENABLE_CHECKING

	* src/alloc.c (USE_VALGRIND): If not defined, don’t default it to
	1 unless ENABLE_CHECKING.  The Valgrind hooks bloat the garbage
	collector a bit in production, and there’s no need for them these
	days if one has a Valgrind suppressions file (which one needs anyway).
	(mark_maybe_pointer): Use ‘#if USE_VALGRIND’ instead of ‘#ifdef
	USE_VALGRIND’ for consistency with other uses of USE_VALGRIND.
	This is in case someone builds with ‘-DENABLE_CHECKING
	-DUSE_VALGRIND=0’ in CFLAGS.

2020-06-04  Paul Eggert  <eggert@cs.ucla.edu>

	Revert make-text-button string copy

	* lisp/button.el (make-text-button): Don’t make a copy of
	a button’s string label.  This reverts the change made in
	2020-05-17T05:23:28Z!eggert@cs.ucla.edu, which broke SLY.
	Problem reported by João Távora in:
	https://lists.gnu.org/r/emacs-devel/2020-06/msg00117.html
	However, we’ll need a better fix for this once string
	literals become contents, if SLY uses string constants
	for text button labels.

2020-06-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix make-text-button bug with string copy

	* lisp/button.el (make-text-button): Use the copy of BEG
	uniformly, instead of in just one place.  This fixes a typo
	introduced in 2020-05-17T05:23:28Z!eggert@cs.ucla.edu.
	Problem reported by João Távora in:
	https://lists.gnu.org/r/emacs-devel/2020-06/msg00117.html

2020-06-03  Andrea Corallo  <akrl@sdf.org>

	Introduce `comp-loop-insn-in-block'

	* lisp/emacs-lisp/comp.el (comp-loop-insn-in-block): New macro.
	(comp-call-optim-func, comp-dead-assignments-func)
	(comp-remove-type-hints-func): Use `comp-loop-insn-in-block'.

2020-06-03  João Távora  <joaotavora@gmail.com>

	Ensure Jsonrpc processes are created in correct buffer

	Report and original implementation by Steve Purcell
	<steve@sanityinc.com>.  See also See
	https://github.com/joaotavora/eglot/pull/493 for details

	* lisp/jsonrpc.el (initialize-instance): Make process in original
	buffer.
	(Version): Bump to 1.0.12

2020-06-03  Mattias Engdegård  <mattiase@acm.org>

	Make color-distance symmetric and more accurate

	* src/xfaces.c (color_distance): Don't throw away the low 8 bits of
	the colors, and make the function symmetric (bug41544)
	(Fcolor_distance): Add caution about this not being a true metric.
	* test/src/xfaces-tests.el: New file.

2020-06-03  Pip Cet  <pipcet@gmail.com>

	Handle mid-gstring face changes

	* src/xdisp.c (fill_gstring_glyph_string): Don't extend the glyph
	string past face changes.  (Bug#41454)

2020-06-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug in recent byte-code checking hoist

	Problem reported by Daniel Colascione (Bug#41680).
	* src/lread.c (read1): Check that AREF (tmp, COMPILED_BYTECODE)
	is a string before subjecting it to STRING_MULTIBYTE.
	Be more consistent about using AREF in the neighborhood,
	to help prevent this sort of problem from recurring.

2020-06-03  Pip Cet  <pipcet@gmail.com>

	Avoid losing composition state in handle_stop_backwards

	* src/xdisp.c (handle_stop_backwards): Save composition iterator state
	across our forward scan.  (Bug#41626)

2020-06-03  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	Fix DLL imports of gccjit version functions.

	* src/comp.c (init_gccjit_functions): Use LOAD_DLL_FN_OPT macro to
	load gcc_jit_version_major, gcc_jit_version_major and
	gcc_jit_version_patchlevel.
	* src/w32common.h (LOAD_DLL_FN_OPT): Add macro optionally load a
	function from a DLL.

2020-06-02  Dmitry Gutov  <dgutov@yandex.ru>

	Small cleanup

	* lisp/progmodes/project.el (project--add-to-project-list-front):
	Small simplification.
	(project--remove-from-project-list): Remove oudated comment.

2020-06-02  Dmitry Gutov  <dgutov@yandex.ru>

	project-list-file: New user option

	* lisp/progmodes/project.el (project): New custom group.
	(project-vc): Use it as parent.
	(project-vc-merge-submodules): Tag with Emacs version.
	(project-read-file-name-function): Assign to the 'project' group.
	(project-list-file): New user option (bug#41600).
	(project--write-project-list, project--read-project-list): Use it.

2020-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix Arabic composition rules

	* lisp/language/misc-lang.el (composition-function-table): Reorder
	Arabic composition rules in descending order of lookback.

	* src/composite.c (syms_of_composite): Document the order of rules
	in 'composition-function-table'.

2020-06-02  Simen Heggestøyl  <simenheg@gmail.com>

	Write project list to file only when changed

	* lisp/progmodes/project.el (project--add-to-project-list-front):
	Write the project list to file only when it has changed.

2020-06-02  Simen Heggestøyl  <simenheg@gmail.com>

	Remove 'project--ensure-file-exists'

	* lisp/progmodes/project.el (project--ensure-file-exists): Remove.
	(project--read-project-list): Set 'project--list' to nil when the
	project list file doesn't exist.

2020-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of CGJ in Hebrew text

	* lisp/language/hebrew.el (hebrew): Add CGJ U+034F to the
	combining characters supported in Hebrew compositions. (Bug#41645)

2020-06-02  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify and regularize some offset tests in alloc.c

	* src/alloc.c (live_string_holding, live_cons_holding)
	(live_symbol_holding, live_float_p): Simplify and regularize.

2020-06-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-27

	0260d2d2db Don't call 'mbrtowc' on WINDOWSNT

2020-06-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-27

	44c0e074f7 * doc/emacs/buffers.texi (Icomplete): Mention icomplete-mi...
	68b6dad1d8 Be more aggressive in marking objects during GC
	36f508f589 ; * src/xdisp.c (find_last_unchanged_at_beg_row): Fix a typo.
	cc340da1fe Fix bug #41618 "(byte-compile 'foo) errors when foo is a m...
	41232e6797 Avoid crashes due to bidi cache being reset during redisplay
	f72bb4ce36 * lisp/tab-bar.el (switch-to-buffer-other-tab): Normalize ...
	d3e0023aaa ; * etc/TODO: Fix formatting.  (Bug#41497)
	a8ad94cd2f Fix mingw.org's MinGW GCC 9 warning about 'execve'

	# Conflicts:
	#	lisp/tab-bar.el
	#	nt/inc/ms-w32.h
	#	src/alloc.c

2020-06-02  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/project.el (project-vc-dir, project-shell): New commands.

	(project-compile): Add args and interactive spec like in 'compile'.
	(project-switch-commands): Bind project-vc-dir to "v",
	project-shell to "s", and rebind project-find-regexp from "s" to "r".

	* doc/emacs/maintaining.texi (Project File Commands):
	Describe project-vc-dir and project-shell.

2020-06-01  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	* Throw an ICE when asked to emit a cast with sign extension.

	* src/comp.c (cast_kind_of_type): Enum that specifies the kind of type
	in the cast enum (unsigned, signed, pointer).
	(emit_coerce): Throw an ICE when asked to emit a cast with sign
	extension.
	(define_cast_from_to): Return NULL for casts involving sign extension.
	(define_cast_functions): Specify the kind of each type in the cast
	union.

2020-06-01  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	* Define casts using functions.

	This is to dump prettier C files.
	This does not affect compilation times in my tests.

	* src/comp.c: Define a 15x15 cast matrix. Use it in emit_coerce().

2020-06-01  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	* Remove unnecessary DLL load of gcc_jit_block_add_assignment_op.

	* src/comp.c (gcc_jit_block_add_assignment_op): Remove unnecessary
	func import.

2020-06-01  Alan Mackenzie  <acm@muc.de>

	Bug #41061 patch: Fix typos and amend code slightly

	* lisp/progmodes/cc-align.el (c-lineup-ternary-bodies)
	* doc/misc/cc-mode.texi (Operator Line-Up): Fix typos and amend code.

2020-06-01  Dmitry Gutov  <dgutov@yandex.ru>

	Change xref-find-apropos to pass PATTERN to backend verbatim

	* lisp/progmodes/xref.el (xref-backend-apropos): Rename this
	generic's second arg to PATTERN, to clarify that it should be
	handled entirely in the backend, with no pre-processing by the
	command.
	(xref-find-apropos): Update accordingly, but keep compatibility
	with backends in older Emacs versions.
	(xref-apropos-regexp): Extract from xref-find-apropos.

	* lisp/progmodes/etags.el (xref-backend-apropos): Use it here.

	* lisp/progmodes/elisp-mode.el (xref-backend-apropos): And here.

2020-05-31  Andrea Corallo  <akrl@sdf.org>

	Store libgccjit version into generated code

	* src/comp.c (emit_ctxt_code): Add libgccjit version into
	stored optimize qualities.
	(syms_of_comp): Define Qgccjit here.

	* src/w32fns.c (syms_of_w32fns): Move out Qgccjit definition.

2020-05-31  Andrea Corallo  <akrl@sdf.org>

	Optimize 'emit_static_object' for load-time

	* src/comp.c (emit_static_object): Use a chunk size of 200 bytes
	on bugged GCCs and a longer one (1024) in sane ones. Rename
	str in buff to disambiguate and prefer xmalloc to a VLA given
	the buffer is not that small.

2020-05-31  Andrea Corallo  <akrl@sdf.org>

	Add `comp-libgccjit-version' subr

	* src/comp.c (gcc_jit_version_major, gcc_jit_version_minor)
	(gcc_jit_version_patchlevel): Import.
	(Fcomp_libgccjit_version): New Lisp function.
	(syms_of_comp): Update for 'comp-libgccjit-version'.

2020-05-31  Philipp Stephani  <phst@google.com>

	Unbreak compilation with CHECK_STRUCTS defined.

	* src/pdumper.c (dump_float): Update hash value after commit
	9f7bfb6cb06f1480a0904184cabf187e03628e55.  The struct layout is still
	compatible.

2020-05-31  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-05-31  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	* Cut down compile-time emitting static data as string literals

	This change drastically reduce compile time.  Apparently GCC optimizer
	does not scale up well at all for long sequences of assignments into a
	single array.

	Nicolás Bértolo <nicolasbertolo@gmail.com>
	Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (gcc_jit_context_new_string_literal)
	(gcc_jit_block_add_assignment_op): New imports.
	(comp_t): New 'size_t_type' 'memcpy' fields.
	(emit_static_object): Define static objects using string literals
	and memcpy.
	(define_memcpy): New function.
	(Fcomp__init_ctxt): Define 'size_t_type' and 'memcpy'.

2020-05-31  Andrea Corallo  <akrl@sdf.org>

	Emit better debug comments in emit_static_object

	* src/comp.c (emit_static_object): Do not truncate debug
	comments at the first NULL character.

2020-05-31  Tom Tromey  <tom@tromey.com>

	Remove mhtml--extend-font-lock-region (Bug#41441)

	* lisp/textmodes/mhtml-mode.el (mhtml--extend-font-lock-region):
	Remove.
	(mhtml-mode): Don't set font-lock-extend-region-functions.

2020-05-31  Eli Zaretskii  <eliz@gnu.org>

	Protect bidi cache from inadvertent resets

	* src/xdisp.c (Fline_pixel_height, Fmove_point_visually): Save and
	restore the bidi cache, to avoid inadvertently resetting it by
	starting a new iteration through buffer text.  This could cause
	trouble if these functions are called during a redisplay cycle,
	especially while we were processing RTL text.

2020-05-31  Tino Calancha  <tino.calancha@gmail.com>

	occur: Add bindings for next-error-no-select

	Make the navigation in the occur buffer closer
	to the navigation in the compilation buffer.

	Add bindings to navigate the occur matches (Bug#39121).
	Honor `next-error-highlight' and `next-error-highlight-no-select'
	when navigating the occurrences.

	* lisp/replace.el (occur-highlight-regexp, occur-highlight-overlay):
	New variables.
	(occur-1): Set `occur-highlight-regexp' to the searched regexp.
	(occur-goto-locus-delete-o, occur--highlight-occurrence): New defuns.
	(occur-mode-display-occurrence, occur-mode-goto-occurrence):
	Use `occur--highlight-occurrence'.
	(occur-mode-map): Bind n to `next-error-no-select'
	and p to `previous-error-no-select'

	* etc/NEWS (Changes in Specialized Modes and Packages in Emacs 28.1):
	Announce this change.

	* test/lisp/replace-tests.el (replace-tests-with-highlighted-occurrence):
	Add helper macro.
	(occur-highlight-occurrence): Add test.

2020-05-31  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	Fix loading of libgccjit.dll while dumping in Windows.

	loadup.el calls `native-comp-available-p', that calls
	load_gccjit_if_necessary() in Windows. That function tries to load
	libgccjit using the mappings defined in `dynamic-library-alist'. That
	mapping is filled by term/w32-win.el, but that file may be loaded too
	late.

	* src/emacs.c (syms_of_emacs): Add libgccjit to the
	`dynamic-library-alist' used when starting to dump so
	`native-comp-available-p' always works in Windows.

2020-05-31  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	Do not call `gensym' too early when loading a dump file.

	This happened when subr.eln was not the first native compilation unit
	to be loaded. register_native_comp_unit() is called when loading a
	native compilation unit and that in turn used to call `gensym', which
	was not loaded yet. This led to a SIGSEGV.

	* src/comp.c (register_native_comp_unit): Replace the call to `gensym'
	with an ad-hoc counter.

2020-05-30  Dmitry Gutov  <dgutov@yandex.ru>

	Don't return transient projects with MAYBE-PROMPT=nil

	* lisp/progmodes/project.el (project-current): Only return
	transient projects when called with non-nil MAYBE-PROMPT.
	Also only update the known projects lists in this case.
	(https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg03375.html).

2020-05-30  immerrr  <immerrr@gmail.com>

	Minor fix in 'find-alternate-file'

	This fixes the use case when, for example, 'find-file-hooks'
	fails.
	* lisp/files.el (find-alternate-file): If buffer 'oname' exists,
	kill it before renaming the new one.  (Bug#41359)

2020-05-30  Eli Zaretskii  <eliz@gnu.org>

	Remove private prototype for 'execve' and its uses in MinGW build

	* src/sysdep.c (emacs_exec_file): Don't compile this function
	anymore on WINDOWSNT, since it is not used there.  This function
	was the only reason for having 'execve' prototype in ms-w32.h.

	* nt/inc/ms-w32.h (execve): Remove prototype and the MinGW64 vs
	ming.org mess that it causes.

2020-05-30  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-05-30  Andrea Corallo  <akrl@sdf.org>

	Avoid calling Ffile_exists_p too early

	Being quite early in startup initialization is better not to rely on
	Ffile_exists_p, this call Ffile_expand and not all the necessary
	initialization already happened.

	* src/pdumper.c (dump_do_dump_relocation): Use fopen instead of
	Ffile_exists_p.

2020-05-29  Eli Zaretskii  <eliz@gnu.org>

	Another fix of display of line-prefix with fringe bitmaps

	* src/xdisp.c (redisplay_internal): Don't use "optimization 1"
	if a glyph row from which to start display begins with a display
	property that draws into the fringes.  (Bug#41584)

2020-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el:
	* lisp/emacs-lisp/smie.el: Fix indent.

	Use the new "space after paren" convention to get the desired indentation

2020-05-29  Dmitry Gutov  <dgutov@yandex.ru>

	project-prompt-project-dir: Use more consistent prompts

	* lisp/progmodes/project.el (project-prompt-project-dir):
	Use more consistent prompts.

2020-05-29  Eli Zaretskii  <eliz@gnu.org>

	Fix display of line-prefix with fringe bitmaps

	* src/xdisp.c (try_window_id): Don't use this optimization if a
	glyph row from which to start display begins with a display
	property that draws into the fringes.  (Bug#41584)

2020-05-29  Eli Zaretskii  <eliz@gnu.org>

	Commit indian.el forgotten in previous change.

2020-05-29  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-smb.el (tramp-smb-errors): Add "NT_STATUS_INVALID_PARAMETER".

2020-05-29  akater  <nuclearspace@gmail.com>

	* lisp/emacs-lisp/lisp-mode.el: Add new indentation convention

	(calculate-lisp-indent): To distinguish code and data when indenting,
	introduce the convention that a space between an open paren and
	a symbol indicate that this should be indented as a simple data list.

2020-05-29  Arnold Noronha  <arnold@tdrhq.com>  (tiny change)

	Create a buffer-local binding to improve performance

	* lisp/ido.el (ido-make-buffer-list-1):
	Create a buffer-local binding to improve performance when a lot of
	buffers are open (bug#41029).

2020-05-29  Dmitry Gutov  <dgutov@yandex.ru>

	next-error-find-buffer-function: Back to #'ignore

	* lisp/simple.el (next-error-find-buffer-function):
	Change the default back, to simplify the default behavior
	(bug#40919).

2020-05-28  James Thomas  <jimjoe@gmx.net>

	Improve Malayalam language transliteration

	The existing ITRANS scheme did not support some characters and
	language quirks like 'chillu's.  The Inscript method had errors.
	* lisp/language/ind-util.el (indian-mlm-base-table): Add archaic
	chars, Mozhi combos; cleanup.
	(indian-mlm-mozhi-table): New scheme Mozhi.
	* lisp/leim/quail/indian.el (inscript-mlm-keytable): Correct
	errors.  Add Inscript chillus & zero-width chars, Mozhi scheme.
	* etc/NEWS: Mention the changes.

2020-05-28  Simen Heggestøyl  <simenheg@gmail.com>

	Merge branch 'feature/project-switching'

2020-05-28  Mattias Engdegård  <mattiase@acm.org>

	Document that {en,de}code-coding-string preserve match data

	* lisp/international/mule.el (define-coding-system):
	Require :pre-write-conversion and :post-read-conversion functions
	to leave the match data untouched.
	* src/coding.c (Fdecode_coding_string, Fencode_coding_string):
	Document functions as match-data-preserving.

	Suggested by Stefan Monnier (see bug#41445).

2020-05-28  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	bd7b681dc4 (origin/emacs-27) Tiny texinfo markup fixes
	d0dd0e0612 ; Fix more @var/@code mixups in Elisp manual
	313dc0439e ; Fix another format-spec typo in the Elisp manual
	9d7fd78421 Make next-error behavior a bit more flexible
	0691d25295 * etc/NEWS.25: Belatedly announce upcase-dwim and downcase...
	df91c94ca8 Fix access to single-byte characters in buffer text

2020-05-28  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	e7a3ed8a6d Fix tab-bar-tab-name-ellipsis initialization
	4737d0af75 Fix Elisp manual entry for format-spec
	0195809bb6 Fix rare assertion violations in 'etags'
	cddb0079ff ; * lisp/format-spec.el (format-spec): Fix typo.

2020-05-27  Noam Postavsky  <npostavs@gmail.com>

	Adjust NEWS for revert of eshell fix on emacs-27 (Bug#41370)

	* etc/NEWS.27: Move "Eshell no longer re-initializes its keymap every
	call" to...
	* etc/NEWS: ... here.

2020-05-27  Noam Postavsky  <npostavs@gmail.com>

	Fix customizing of ido-mode (Bug#41557)

	lisp/ido.el (ido-mode): When setting the user option to nil, pass 0 to
	the function, so that it will be disabled as intended.

2020-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	Fix crash with invalid bytecode vectors

	* src/lread.c (read_vector): If the vector is to short to be for
	bytecodes don’t do bytecode processing for it, as the processing
	might run past the end of the vector.

2020-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	--with-wide-int is a no-op on 64-bit hosts

	* configure.ac: Clarify wording for --with-wide-int help.
	* src/pdumper.c (dump_vectorlike_generic):
	Do the eassert even if --with-wide-int was specified unnecessarily.

2020-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	Omit unnecessary USE_LAB_TAG #if

	* src/lisp.h: Omit unnecessary #if; the condition is always false now.

2020-05-27  Simen Heggestøyl  <simenheg@gmail.com>

	Simplify the previous commit

	* lisp/progmodes/project.el (project--read-project-list): Simplify the
	previous commit by utilizing the optional OMIT-NULLS argument to
	'split-string'.

2020-05-27  Mattias Engdegård  <mattiase@acm.org>

	Don't clobber match data in utf-8-hfs conversion (bug#41445)

	Reported by Ture Pålsson.

	* lisp/international/ucs-normalize.el
	(ucs-normalize-hfs-nfd-post-read-conversion)
	(ucs-normalize-hfs-nfd-pre-write-conversion):
	Use save-match-data to avoid match data clobber in normalization.
	* test/lisp/international/ucs-normalize-tests.el
	(ucs-normalize-save-match-data): New test.

2020-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak GC performance if !USE_LSB_TAG

	Performance issue reported by Eli Zaretskii (Bug#41321#149).
	* src/alloc.c (GC_OBJECT_ALIGNMENT_MINIMUM): New constant.
	(maybe_lisp_pointer): Use it instead of GCALIGNMENT.

2020-05-26  Alan Mackenzie  <acm@muc.de>

	Introduce some Objective-C 2.0 keywords.  This fixes bug #5953

	* lisp/progmodes/cc-langs.el (c-other-decl-kwds): New keywords @property,
	@dynamic, @synthesize, @compatibility_alias.
	(c-protection-kwds): New keywords @package, @required, @optional.
	(c-block-stmt-1-kwds): New keyword @autoreleasepool.
	(c-constant-kwds): New keywords IBAction, IBOutlet.

2020-05-26  Simen Heggestøyl  <simenheg@gmail.com>

	Avoid adding the empty string to the project list

	* lisp/progmodes/project.el (project--read-project-list): Avoid adding
	the empty string to the project list.

2020-05-26  Simen Heggestøyl  <simenheg@gmail.com>

	Adapt project functions to the new 'project-root'

	* lisp/progmodes/project.el (project-dired, project-eshell)
	(project--read-project-list, project--write-project-list)
	(project--add-to-project-list-front)
	(project--remove-from-project-list): Adapt to the new 'project-root'.

2020-05-26  Dmitry Gutov  <dgutov@yandex.ru>

	Some copy edits

	* doc/emacs/maintaining.texi (Switching Projects)
	(Project File Commands): Copy edits.

	* etc/NEWS: Same.

2020-05-26  Dmitry Gutov  <dgutov@yandex.ru>

	Teach project-current to inhibit the prompt

	* lisp/progmodes/project.el:
	(project-current-inhibit-prompt): New variable.
	(project-current, project-switch-project): Use it.

2020-05-26  Simen Heggestøyl  <simenheg@gmail.com>

	Update the Emacs manual with recent project.el changes

	* doc/emacs/maintaining.texi (Projects): Add a menu.
	(Project File Commands): New subsection describing project file
	commands (moved here from 'Working with Projects').  Describe the new
	commands 'project-dired' and 'project-eshell'.
	(Switching Projects): New subsection.

	* etc/NEWS: Mention project.el changes.

2020-05-26  Simen Heggestøyl  <simenheg@gmail.com>

	Rename 'project-switch-menu' to 'project-switch-commands'

	* lisp/progmodes/project.el (project-switch-commands): Rename from
	'project-switch-menu'.
	(project--keymap-prompt, project-switch-project): Update after the
	renaming.

2020-05-26  Simen Heggestøyl  <simenheg@gmail.com>

	Simplify 'project--keymap-prompt' a bit

	* lisp/progmodes/project.el: Remove seq requirement.
	(project--keymap-prompt): Simplify with 'mapconcat'.

2020-05-26  Simen Heggestøyl  <simenheg@gmail.com>

	Turn project switch menu var into a public alist

	* lisp/progmodes/project.el: Require seq.
	(project--switch-alist): Remove in favor of the public
	'project-switch-menu'.
	(project-add-switch-command): Remove; not needed now that
	'project-switch-menu' is a public alist.
	(project-switch-menu): New variable mapping keys to project switching
	menu entries.
	(project--keymap-prompt, project-switch-project): Adjust to the new
	'project-switch-menu' format.

2020-05-26  Simen Heggestøyl  <simenheg@gmail.com>

	Change dispatch binding of 'project-find-regexp'

	* lisp/progmodes/project.el: Change default dispatch binding of
	'project-find-regexp' to 's'.

2020-05-26  Dmitry Gutov  <dgutov@yandex.ru>

	Integrate project-switch-project with project-find-regexp

	* lisp/progmodes/project.el:
	(project-find-regexp): Add to the list of 'switch' commands.
	(project-switch-project): Use call-interactively so that the
	former can read its arguments.

2020-05-26  Dmitry Gutov  <dgutov@yandex.ru>

	Move project-dired and project-eshell higher

	* lisp/progmodes/project.el:
	(project-dired, project-eshell): Move higher in the file,
	according to their universal utility.

2020-05-26  Dmitry Gutov  <dgutov@yandex.ru>

	Use an alist instead of a keymap

	* lisp/progmodes/project.el:
	(project--switch-alist): New variable to use instead of
	project-switch-keymap, which remove.  Update all references.

2020-05-26  Dmitry Gutov  <dgutov@yandex.ru>

	Improve project name completion

	* lisp/progmodes/project.el:
	(project-prompt-project-dir): Use REQUIRE-MATCH=t.  Make sure the
	'substring' completion style is used by default.

2020-05-26  Dmitry Gutov  <dgutov@yandex.ru>

	Simplify a little, and avoid duplicate commands

	* lisp/progmodes/project.el:
	(project--transient-p) Remove, not needed.
	(project-current): Move project-find based on the directory here.
	(project--remove-from-project-list): Only write if the list changed.
	(project-find-project): Rename to project-prompt-project-dir.
	Simply return the directory selected by the user.
	(project-switch-project-find-file): Remove.
	(project-switch-project-dired): Rename to project-dired and make
	it follow the convention of existing project tcommands.
	(project-switch-project-eshell): Ditto.
	(project-switch-project): Instead of passing the project instance
	to the command, just bind default-directory.

2020-05-26  Simen Heggestøyl  <simenheg@gmail.com>

	Add project switching functionality

	* lisp/progmodes/project.el: Require subr-x.
	(project--transient-p, project--ensure-file-exists)
	(project--read-project-list, project--ensure-read-project-list)
	(project--write-project-list)
	(project--add-to-project-list-front)
	(project--remove-from-project-list, project-find-project)
	(project-switch-project-find-file, project-switch-project-dired)
	(project-switch-project-eshell, project-add-switch-command)
	(project--keymap-prompt, project-switch-project): New functions.
	(project--list, project-switch-keymap): New variables.
	(project-current): Call 'project-find-project' when no project is
	current.

2020-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Port struct Lisp_FLoat to oddball platforms

	* src/lisp.h (struct Lisp_Float): Declare via
	GCALIGNED_UNION_MEMBER, not via GCALIGNED_STRUCT, since alloc.c
	creates these in arrays and GCALIGNED_STRUCT does not necessarily
	suffice to align struct Lisp_Float when it’s used in an array.
	This avoids undefined behavior on oddball machines where
	sizeof (struct Lisp_Float) is not a multiple of 8 and the compiler
	does not support __attribute__ ((aligned 8)).

2020-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Move union emacs_align_type to alloc.c

	* src/alloc.c (union emacs_align_type): Move to here ...
	* src/lisp.h: ... from here, and uncomment out some of the
	types that alloc.c can see but lisp.h cannot.

2020-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Further fix for aborts due to GC losing pseudovectors

	* src/alloc.c (MALLOC_ALIGNMENT_BOUND): Remove.
	(LISP_ALIGNMENT): Go back to yesterday’s version, except use
	union emacs_align_type instead of max_align_t.
	(MALLOC_IS_LISP_ALIGNED): Go back to yesterday’s version.
	(maybe_lisp_pointer): Check against GCALIGNMENT, not LISP_ALIGNMENT.
	* src/lisp.h (union emacs_align_type): Bring back.

2020-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Refix aborts due to GC losing pseudovectors

	This is simpler, and fixes a bug in the previous fix.
	* src/alloc.c (MALLOC_ALIGNMENT_BOUND): Simplify by
	using max_align_t, since the buggy implementations won’t
	break this simpler implementation.
	(LISP_ALIGNMENT): Simplify by just using GCALIGNMENT, since the
	fancier implementation wasn’t correct anyway, and fixing it
	isn’t worth the trouble on practical platforms.
	* src/lisp.h (union emacs_align_type): Remove.

2020-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix aborts due to GC losing pseudovectors

	Problem reported by Eli Zaretskii (Bug#41321).
	* src/alloc.c (MALLOC_ALIGNMENT_BOUND): New constant.
	(LISP_ALIGNMENT): Lower it to avoid crashes on MinGW and similarly
	buggy platforms where malloc returns pointers not aligned to
	alignof (max_align_t).  But keep it higher on platforms where this
	is known to work, as it helps GC performance.
	(MALLOC_IS_LISP_ALIGNED): Define in terms of the other two.
	* src/alloc.c (stacktop_sentry):
	* src/thread.c (run_thread):
	Don’t overalign or oversize stack sentries; they need to be
	aligned only for pointers and Lisp_Object, not for arbitrary
	pseudovector contents.
	* src/lisp.h (union emacs_align_type): New type, used for
	LISP_ALIGNMENT.

2020-05-26  Stefan Kangas  <stefankangas@gmail.com>

	Mark metamail.el as obsolete (Bug#41388)

	The metamail package was last released in 1994, and has been removed
	from most GNU/Linux distributions due to being buggy and unmaintained.

	* lisp/mail/metamail.el: Move from here...
	* lisp/obsolete/metamail.el: ...to here.
	* etc/NEWS: Mention its obsoletion.

2020-05-25  Andrea Corallo  <akrl@sdf.org>

	Add a compiler hint test

	Test that compiler hints are executed transparently.

	* test/src/comp-tests.el (comp-tests-type-hints): New test.

	* test/src/comp-test-funcs.el (comp-tests-hint-fixnum-f)
	(comp-tests-hint-cons-f): New functions.

2020-05-25  Andrea Corallo  <akrl@sdf.org>

	Split type hint pass from dead code removal pass into dedicated one.

	Given SSA prop overwrite mvar type slot we clean-up the compiler type
	hints as last.

	* lisp/emacs-lisp/comp.el (comp-passes): Add comp-remove-type-hints.
	(comp-remove-type-hints-func): Code move.
	(comp-dead-code): Do not call `comp-remove-type-hints-func'.
	(comp-remove-type-hints): Add as new pass.

2020-05-25  Dmitry Gutov  <dgutov@yandex.ru>

	Bump project.el version

	* lisp/progmodes/project.el: Bump the version

2020-05-25  Philipp Stephani  <phst@google.com>

	Allow inhibiting 'auto-save-visited-mode' on a per-buffer basis.

	At least for me, 'auto-save-visited-mode' is very slow and blocks user
	interaction for files visited over TRAMP.  Therefore, I'd like a
	mechanism to disable it for some buffers (namely, those visiting
	remote files).

	* (auto-save-visited-mode): Document that 'auto-save-visited-mode' can
	be set to nil buffer-locally.

	* etc/NEWS: Document new behavior.

2020-05-25  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-05-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't bug out in xml-escape-string if invalid characters aren't present

	* lisp/xml.el (xml-escape-string): Don't bug out if invalid
	characters aren't present.

2020-05-25  ej32u@protonmail.com  <ej32u@protonmail.com>

	Add command ffap-other-tab (Bug#41410)

	* lisp/ffap.el (ffap-other-tab): New command, opens files at point in
	another tab.
	(ffap-bindings): Bind it to find-file-other-tab's binding.

2020-05-25  Noam Postavsky  <npostavs@gmail.com>

	Make dedicated keymap and mode for eshell-command (Bug#41370)

	Otherwise, we end up permanently modifying eshell-mode-map when
	running eshell-command.
	* lisp/eshell/eshell.el (eshell-command-mode): New mode, with map to
	contain the bindings previously set by eshell-return-exits-minibuffer.
	(eshell-return-exits-minibuffer): Make into obsolete alias for
	eshell-command-mode.
	(eshell-command): Use eshell-command-mode instead of
	eshell-return-exits-minibuffer.

2020-05-25  Noam Postavsky  <npostavs@gmail.com>

	Fix segfault on closing frame with tooltip (Bug#41239)

	* src/gtkutil.c (xg_free_frame_widgets): Empty and unreference the
	tooltip widget before destroying its label.

2020-05-24  Andrea Corallo  <akrl@sdf.org>

	Fix GNU style

	* src/comp.h: Fix GNU style.

	* src/comp.c (Fcomp__compile_ctxt_to_file): Likewise.

	* lisp/emacs-lisp/comp.el (comp--replace-output-file): Likewise.

	* src/pdumper.c (dump_do_dump_relocation): Likewise.

2020-05-24  Andrea Corallo  <akrl@sdf.org>

	Fix non Windows builds

	* src/emacs.c (Fkill_emacs): Given
	'finish_delayed_disposal_of_comp_units',
	'dispose_all_remaining_comp_units' and
	'clean_package_user_dir_of_old_comp_units' are defined only with
	windows native-comp builds ifdef them.

	* src/comp.h (dispose_comp_unit): Fix missing parameter in
	declaration.

2020-05-25  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	Improve handling of native compilation units still in use in Windows

	When closing emacs will inspect all directories from which it loaded
	native compilation units. If it finds a ".eln.old" file it will try to
	delete it, if it fails that means that another Emacs instance is using it.

	When compiling a file we rename the file that was in the output path
	in case it has been loaded into another Emacs instance.

	When deleting a package we move any ".eln" or ".eln.old" files in the
	package folder that we can't delete to `package-user-dir`. Emacs will
	check that directory when closing and delete them.

	* lisp/emacs-lisp/comp.el (comp--replace-output-file): Function called
	from C code to finish the compilation process. It performs renaming of
	the old file if necessary.
	* lisp/emacs-lisp/package.el (package--delete-directory): Function to
	delete a package directory. It moves native compilation units that it
	can't delete to `package-user-dir'.
	* src/alloc.c (cleanup_vector): Call dispose_comp_unit().
	  (garbage_collect): Call finish_delayed_disposal_of_comp_units().
	* src/comp.c: Restore the signal mask using unwind-protect. Store
	loaded native compilation units in a hash table for disposal on
	close. Store filenames of native compilation units GC'd in a linked
	list to finish their disposal when the GC is over.
	(clean_comp_unit_directory): Delete all *.eln.old files in a
	directory.
	(clean_package_user_dir_of_old_comp_units): Delete all *.eln.old files
	in `package-user-dir'.
	(dispose_all_remaining_comp_units): Dispose of native compilation
	units that are still loaded.
	(dispose_comp_unit): Close handle and cleanup directory or arrange for
	later cleanup if DELAY is true.
	(finish_delayed_disposal_of_comp_units): Dispose of native compilation
	units that were GC'd.
	(register_native_comp_unit): Register native compilation unit for
	disposal when Emacs closes.
	* src/comp.h: Introduce cfile member in Lisp_Native_Comp_Unit.
	Add declarations of functions that: clean directories of unused native
	compilation units, handle disposal of native compilation units.
	* src/emacs.c (kill-emacs): Dispose all remaining compilation units
	right right before calling exit().
	* src/eval.c (internal_condition_case_3, internal_condition_case_4):
	Add functions.
	* src/lisp.h (internal_condition_case_3, internal_condition_case_4):
	Add functions.
	* src/pdumper.c (dump_do_dump_relocation): Set cfile to a copy of the
	Lisp string specifying the file path.

2020-05-24  Stefan Kangas  <stefankangas@gmail.com>

	Mark browse-url-conkeror as obsolete

	* lisp/net/browse-url.el:
	(browse-url--browser-defcustom-type)
	(browse-url-conkeror-new-window-is-buffer)
	(browse-url-conkeror-program, browse-url-conkeror-arguments)
	(browse-url-default-browser, browse-url-conkeror): Mark the
	conkeror browser as obsolete.

	* etc/NEWS: Mention this.

2020-05-24  Carl Lei  <me@xecycle.info>

	Add three C++20 coroutine keywords, co_await, co_yield, and co_return

	* lisp/progmodes/cc-langs.el (c-operators): Add co_await and co_yield to the
	C++ value of "Exception" keywords.
	(c-return-kwds): Create a C++ value containing co_return.
	(c-simple-stmt-kwds): Add co_return to the C++ value.

2020-05-24  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>

	Port etags FALLTHROUGH to C2X

	Problem reported by Ashish SHUKLA in:
	https://lists.gnu.org/r/emacs-devel/2020-05/msg03013.html
	* lib-src/etags.c (C_entries): Move label so that FALLTHROUGH
	precedes a case label, as draft C2X specifies.

2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>

	Restore check for Emacs 20.2 bytecodes

	* src/eval.c (Ffetch_bytecode): Check for multibyte bytecodes
	here too.  Problem reported by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2020-05/msg02876.html

2020-05-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	d6a0b66a0c (origin/emacs-27) * lisp/subr.el (save-match-data): Clarif...
	1a6d59eeba Improve the documentation of setting up fontsets
	c7737d40f2 ; * etc/TODO (Ligatures): Update the entry based on recent...
	fb2e34cd21 ; * etc/TODO (Ligatures): Update the entry based on recent...
	13b6dfd4f7 * doc/emacs/killing.texi (Rectangles): Improve indexing.
	a10254dd46 Fix accessing files on networked drives on MS-Windows

2020-05-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	8cc453d788 Second attempt at improving indexing in control.texi

2020-05-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	4b9fbdb5a7 ; Update TODO item about ligature support
	03d44acfdd * doc/lispref/control.texi (Processing of Errors): Improve...
	b48ab743a8 Minor fixups for mutability doc
	6ac2326e5b Don’t use “constant” for values you shouldn’t change

2020-05-23  Andrea Corallo  <akrl@sdf.org>

	* lisp/loadup.el: Use new 'native-comp-available-p'.

2020-05-23  Philipp Stephani  <phst@google.com>

	Reject invalid characters in XML strings (Bug#41094).

	* lisp/xml.el (xml-escape-string): Search for invalid characters.
	(xml-invalid-character): New error symbol.

	* test/lisp/xml-tests.el (xml-print-invalid-cdata): New unit test.

	* etc/NEWS: Document new behavior.

2020-05-23  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	Windows: Use NUMBER_OF_PROCESSORS environment variable.

	* lisp/emacs-lisp/comp.el (comp-effective-async-max-jobs): Use
	NUMBER_OF_PROCESSORS environment variable if system is Windows NT,
	"nproc" if it is in PATH or a default of 1.

2020-05-23  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	* Workaround the 32768 chars command line limit in Windows.

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Pass the
	compilation commands through a temporary file that is loaded by the
	child process. This is also done all other operating systems, even
	those that support long command lines. It should not be a problem
	since libgccjit uses temporary files too.

2020-05-23  Chris McMahan  <cmcmahan@gmail.com>

	Let user adjust the column widths of the package menu.

	* lisp/emacs-lisp/package.el (package-name-column-width)
	(package-version-column-width, package-status-column-width)
	(package-archive-column-width): New defcustoms.
	(package-menu-mode):
	Use the values of defcustoms instead of hardcoded
	values.  (Bug#41086)

2020-05-23  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c: Aesthetic, GNU style fixes.

2020-05-23  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	Load libgccjit dynamically in Windows.

	* configure.ac: don't add linker flags if compiling on
	Windows. Compile dynlib.c if modules or native compilation are
	enabled. Always compile comp.c
	* lisp/term/w32-win.el: Map 'gccjit to "libgccjit.dll" in
	`dynamic-library-alist`.
	* src/Makefile.in: Update comments. Update to handle changes in
	configure.ac.
	* src/comp.c: Add declarations of used libgccjit functions using
	DEF_DLL_FN. Add calls to load_gccjit_if_necessary() where necessary.
	Add `native-comp-available-p`
	* src/comp.h: Remove Fnative_elisp_load. Add syms_of_comp().
	* src/emacs.c (main): Always call syms_of_comp()
	* src/w32.c (globals_of_w32): Clear Vlibrary_cache when starting
	because the libraries loaded when dumping will not be loaded when
	starting.
	* src/w32fns.c: Add Qgccjit symbol.

2020-05-23  Stefan Kangas  <stefankangas@gmail.com>

	Delete another library obsolete since 23.2

	This was missed in a previous commit to remove obsolete libraries.
	Its deletion was already announced in NEWS.

	* lisp/obsolete/levents.el: Delete file.  This library has been
	obsolete since 23.2.

2020-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/doc-view.el (doc-view-presentation): Fix thinko

2020-05-23  Dmitry Gutov  <dgutov@yandex.ru>

	Implement 'mark-resolved' for the Git backend

	* lisp/vc/vc-git.el (vc-git-mark-resolved): New function.

2020-05-23  Dmitry Gutov  <dgutov@yandex.ru>

	project.el: A project has only one main root now

	Practice shows that the vast majority of projects only use one main
	root.  The users of this API very often make this assumption as well.
	The rest of the "roots" should be possible to express through
	project-external-roots.

	* lisp/progmodes/project.el: Update the commentary.
	Only 4 non-obsolete generics now.
	(project-root): Replacement for `project-roots'.
	All callers updated.  Implementations too.
	(project-roots): Declare obsolete.
	(project-external-roots): Simplify the docstring.
	(project-ignores): Update the docstring.
	(project-find-regexp): Omit the second arg to project-files.
	(project--dir-ignores): Simplify.
	(project-compile): Simplify, remove outdated comment.

	* lisp/cedet/ede.el: Add a FIXME.

2020-05-23  Dmitry Gutov  <dgutov@yandex.ru>

	Disable ido-everywhere when ido-mode is off

	* lisp/ido.el (ido-mode): Disable the effects of 'ido-everywhere'
	when ido-mode is turned off.

2020-05-22  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c: Fix 32bit wide-int.

	* src/comp.c (emit_XFIXNUM): Make right shift for MSB_TAG
	arithmetic too to preserve sign bit.

2020-05-22  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c: Fix i386 --enable-check-lisp-object-type

	* src/comp.c (load_comp_unit): Fix return type, on i386 influence
	parameter passing!

2020-05-22  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c: Some aesthetic code clean-up.

	* src/comp.c (comp_t): Remove 'lisp_X_s' field.
	(emit_coerce): Respect 80 columns limit.
	(emit_rvalue_from_emacs_uint): GNU style, unnecessary brackets.
	(emit_rvalue_from_emacs_int): Likewise.
	(emit_rvalue_from_lisp_word_tag): Likewise.
	(emit_rvalue_from_lisp_word): Likewise.
	(emit_lval_XLI): Remove unused function.
	(emit_lval_XLP): Remove commented out code.
	(define_add1_sub1): Respect 80 columns limit.
	(Fcomp__init_ctxt): Reflect 'lisp_X_s' field removal.

2020-05-22  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve shr/eww handling of mailto URLs

	* lisp/net/eww.el (eww): Use function-put in place of put, as
	recommended in "(elisp) Symbol Plists".
	(eww-follow-link):
	* lisp/net/shr.el (shr-browse-url): Rather than call browse-url-mail
	directly, call browse-url which respects the user options
	browse-url-handlers and browse-url-mailto-function.  (Bug#41133)
	(shr--current-link-region): Return nil if there is no link at point.
	(shr--blink-link): Adapt accordingly.
	(shr-fill-line, shr-indent, shr-table-body): Refactor to avoid some
	unnecessary allocations.
	* etc/NEWS: Announce that eww-follow-link and shr-browse-url support
	custom URL handlers.

2020-05-22  Basil L. Contovounesios  <contovob@tcd.ie>

	Various json.el improvements

	* etc/NEWS: Announce that json-read-number is now stricter.

	* lisp/json.el: Bump package version.
	(json-encoding-lisp-style-closings, json-pre-element-read-function)
	(json-post-element-read-function, json-advance, json-peek)
	(json--path): Clarify and improve style of doc strings.
	(json-join): Define as an obsolete alias of string-join.
	(json-alist-p, json-plist-p): Refactor for speed and declare as
	pure, side-effect-free, and error-free.
	(json--plist-reverse): Rename function...
	(json--plist-nreverse): ...to this, making it destructive for speed.
	All callers changed.
	(json--plist-to-alist): Remove, replacing single use with map-pairs.
	(json--with-indentation): Accept multiple forms as arguments, fix
	their indentation, and allow them to be instrumented for debugging.
	Add docstring.
	(json-pop, json-read-keyword, json-add-to-object)
	(json-encode-array): Simplify for speed.
	(json-skip-whitespace): Put newline before carriage return for
	likely frequency of occurrence, and so that the characters appear in
	increasing order.
	(json--check-position): Use 1+.
	(json-path-to-position): Open code apply-partially.
	(json-keywords): Turn into a defconst and mark as obsolete now that
	it is no longer used.
	(json--post-value, json--number, json--escape): New rx definitions.
	(json-encode-keyword): Declare as side-effect-free.
	(json-read-number): Reject leading zeros and plus signs, and make
	integer part mandatory in accordance with JSON standards and for
	consistency with native JSON parsing functions.  Eagerly signal
	json-number-format when garbage follows a valid number, e.g., when
	reading "1.1.1", instead of leaving that up to the caller.  Remove
	optional internal argument from advertised calling convention now
	that the function is no longer recursive.
	(json-encode-number): Define as an alias of number-to-string.
	(json-special-chars): Turn into a defconst.
	(json-read-escaped-char, json-new-object, json-read-file)
	(json-pretty-print): Simplify.
	(json-read-string): For consistency with other json.el error
	reporting, remove check for leading '"', and use the integer value
	rather than the printed representation of characters in error data.
	At EOB signal json-end-of-file instead of json-string-format.
	(json--long-string-threshold, json--string-buffer): New variables.
	(json-encode-string): Reimplement in terms of buffer manipulation
	for speed (bug#20154).
	(json-read-object): Escape ?\} properly.
	(json--encode-alist): New function extracted from json-encode-alist.
	(json-encode-hash-table, json-encode-alist, json-encode-plist): Use
	it to avoid destructively modifying the argument when
	json-encoding-object-sort-predicate is non-nil without incurring
	unnecessary copying (bug#40693).  Encode empty object as "{}" even
	when pretty-printing.  Simplify for speed.
	(json-read-array): Avoid recomputing list length on each iteration
	when json-pre-element-read-function is non-nil.  Make first element
	of json-array-format error data a string for consistency with
	json-object-format and to make the displayed error message clearer.
	(json-readtable-dispatch): Accept any kind of argument, not just
	symbols.  Generate the table in a simpler manner so the dispatch
	order is clearer.  Remove dispatch on ?+ and ?. now that
	json-read-number is stricter and for consistency with native JSON
	parsing functions.  Signal json-end-of-file if argument is nil.
	(json-read): Simplify accordingly.
	(json-encode): Avoid allocating a list on each invocation.

	* lisp/jsonrpc.el (jsonrpc--json-read, jsonrpc--json-encode): Check
	whether native JSON functions are fboundp only once, at load time.

	* lisp/progmodes/python.el (python--parse-json-array): New function.
	(python-shell-prompt-detect): Use it to parse JSON directly as a
	list rather than converting from a vector.

	* test/lisp/json-tests.el (json-tests--with-temp-buffer): Allow
	instrumenting for debugging.
	(test-json-join, test-json-plist-to-alist): Remove tests.

	(test-json-alist-p, test-json-plist-p, test-json-advance)
	(test-json-peek, test-json-pop, test-json-skip-whitespace)
	(test-json-read-keyword, test-json-encode-keyword)
	(test-json-encode-number, test-json-read-escaped-char)
	(test-json-read-string, test-json-encode-string)
	(test-json-encode-key, test-json-new-object)
	(test-json-encode-hash-table, test-json-encode-plist)
	(test-json-encode-list, test-json-read-array)
	(test-json-encode-array, test-json-read)
	(test-json-read-from-string, test-json-encode): Extend tests.

	(test-json-plist-reverse): Rename test...
	(test-json-plist-nreverse): ...to this and avoid modifying literal
	lists.
	(test-json-read-number): Rename test...
	(test-json-read-integer): ...to this, focusing on integers.
	(test-json-add-to-object): Rename test...
	(test-json-add-to-alist): ...to this, focusing on alists.
	(json-encode-simple-alist): Rename test...
	(test-json-encode-alist): ...to this, extending it.
	(test-json-encode-alist-with-sort-predicate): Rename test...
	(test-json-encode-alist-sort): ...to this, extending it.
	(test-json-encode-plist-with-sort-predicate): Rename test...
	(test-json-encode-plist-sort): ...to this, extending it.

	(test-json-read-keyword-invalid, test-json-read-fraction)
	(test-json-read-exponent, test-json-read-fraction-exponent)
	(test-json-read-number-invalid)
	(test-json-read-escaped-char-invalid, test-json-add-to-plist)
	(test-json-add-to-hash-table, test-json-read-object-empty)
	(test-json-read-object-invalid, test-json-read-object-function)
	(test-json-encode-hash-table-pretty)
	(test-json-encode-hash-table-lisp-style)
	(test-json-encode-hash-table-sort, test-json-encode-alist-pretty)
	(test-json-encode-alist-lisp-style, test-json-encode-plist-pretty)
	(test-json-encode-plist-lisp-style, test-json-read-array-function)
	(test-json-encode-array-pretty, test-json-encode-array-lisp-style)
	(test-json-read-invalid): New tests.

	(test-json-path-to-position-no-match): Use should-not.
	(test-json-read-object): Move error check to new test
	test-json-read-object-invalid.
	(test-json-pretty-print-object): Adapt test now that empty objects
	are pretty-printed as "{}".

2020-05-21  Ryan C. Thompson  <rct@thompsonclan.org>

	lisp/ido.el: Respect completion-auto-help setting

	This commit makes ido completion respect the user's setting for
	`completion-auto-help' by default.  It does this by defining a wrapper
	function `ido-completion-auto-help', which calls `ido-completion-help'
	only when `completion-auto-help' is non-nil.

	* lisp/ido.el (ido-completion-auto-help): New function.
	(ido-cannot-complete-command):
	Use it as the new default (bug#41340).

2020-05-21  Matthias Meulien  <orontee@gmail.com>

	Bookmark locations can refer to VC directory buffers (bug#39722)

	* etc/NEWS: Document feature.
	* lisp/vc/vc-dir.el (vc-dir-mode): Set local bookmark-make-record-function.
	(bookmark-make-record-default, bookmark-prop-get, bookmark-default-handler)
	(bookmark-get-bookmark-record): Declarations.
	(vc-dir-bookmark-make-record): Make record used to bookmark a `vc-dir' buffer.
	(vc-dir-bookmark-jump): Provides bookmark-jump behavior for a `vc-dir' buffer.

2020-05-20  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	Handle LISP_WORDS_ARE_POINTERS and CHECK_LISP_OBJECT_TYPE.

	* src/comp.c: Introduce the Lisp_X, Lisp_Word, and Lisp_Word_tag
	types. These types are used instead of long or long long. Use
	emacs_int_type and emacs_uint_types where appropriate.
	(emit_coerce): Add special logic that handles the case when
	Lisp_Object is a struct. This is necessary for handling the
	--enable-check-lisp-object-type configure option.

	* src/lisp.h: Since libgccjit does not support opaque unions, change
	Lisp_X to be struct. This is done to ensure that the same types are
	used in the same binary. It is probably unnecessary since only a
	pointer to it is used.

2020-05-20  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	* Remove a layer of indirection for access to pure storage.

	* src/comp.c: Taking the address of an array is the same as casting it
	to a pointer. Therefore, the C expression `(EMACS_INT **) &pure` is in
	fact adding a layer of indirection that is not necessary. The fix is
	to cast the `pure` array to a pointer and store that in a void pointer
	that is part of the compiled shared library.

2020-05-20  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (emit_setjmp): Aesthetic, respect 80 columns limit.

2020-05-20  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	* Handle setjmp() taking two arguments in Windows.

	* src/comp.c: Add `define_setjmp_deps()` and `emit_setjmp()` which
	abstract over this difference in behavior between operating systems.

	WARNING: Not all cases are handled by this patch. The Mingw-64
	setjmp.h header deals with many other combinations. I don't think it
	is a good idea to replicate the logic of that header inside
	emacs. (Maybe a few lines in the configure script could be added to
	handle this problem?)

2020-05-20  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix bug #39972, by fixing c-display-defun-name for nested defuns

	* lisp/progmodes/cc-mode.el (c-common-init): Build
	add-log-current-defun-function out of c-defun-name-and-limits instead of the
	former c-defun-name.

2020-05-20  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Prevent gnus-registry-handle-action from creating spurious entries

	Thanks to Bob Newell for finding this.

	* lisp/gnus/gnus-registry.el (gnus-registry-handle-action): If a
	message entry ends up with no groups in its 'group key, that means the
	entry should be deleted.

2020-05-20  Alan Mackenzie  <acm@muc.de>

	which-function-mode: put hook function on after-change-major-mode-hook

	, rather than find-file-hook.  This keeps which-function-mode active should
	the major mode be reinitialized.  Also accept a null result from
	add-log-current-defun as definitive, should that function have run.  This
	fixes bug #40714.

	* lisp/progmodes/which-func.el (which-func-ff-hook): Put on
	after-change-major-mode-hook.
	(which-function): Enhance the logic to accept a null result from
	add-log-current-defun.

2020-05-20  Nicolás Bértolo  <nicolasbertolo@gmail.com>

	Do not block SIGIO in platforms that don't have it.

	* src/comp.c (comp--compile-ctxt-to-file): Add a preprocessor check to
	avoid blocking SIGIO in platforms that don't have it.

2020-05-20  Michael Albinus  <michael.albinus@gmx.de>

	Fix minor Tramp oddities

	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
	Increase `max-specpdl-size' temporarily.

	* lisp/net/tramp-rclone.el (tramp-rclone-flush-directory-cache):
	Fix a problem with older Emacsen.

2020-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	Hoist some byte-code checking out of eval

	Check Lisp_Compiled objects better as they’re created,
	so that the byte-code interpreter needn’t do the checks
	each time it executes them.  This improved performance
	of ‘make compile-always’ by 1.5% on my platform.  Also,
	improve the quality of the (still-incomplete) checks, as
	this is more practical now that they’re done less often.
	* src/alloc.c (make_byte_code): Remove.  All uses removed.
	(Fmake_byte_code): Put a better (though still incomplete)
	check here instead.  Simplify by using Fvector instead
	of make_uninit_vector followed by memcpy, and by using
	XSETPVECTYPE instead of make_byte_code followed by XSETCOMPILED.
	* src/bytecode.c (Fbyte_code): Do sanity check and conditional
	translation to unibyte here instead of each time the function is
	executed.
	(exec_byte_code): Omit no-longer-necessary sanity and
	unibyte checking.  Use SCHARS instead of SBYTES where
	either will do, as SCHARS is faster.
	* src/eval.c (fetch_and_exec_byte_code): New function.
	(funcall_lambda): Use it.
	(funcall_lambda, lambda_arity, Ffetch_bytecode):
	Omit no-longer-necessary sanity checks.
	(Ffetch_bytecode): Add sanity check if actually fetching.
	* src/lisp.h (XSETCOMPILED): Remove.  All uses removed.
	* src/lread.c (read1): Check byte-code objects more thoroughly,
	albeit still incompletely, and do translation to unibyte here
	instead of each time the function is executed.
	(read1): Use XSETPVECYPE instead of make_byte_code.
	(read_vector): Omit no-longer-necessary sanity check.

2020-05-20  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Add test for bug#39680

	* test/lisp/electric-tests.el (electric-pair-undo-unrelated-state):
	New test.

2020-05-20  Philip K  <philip@warpmail.net>

	Add project-compile command

	* lisp/progmodes/project.el (project-compile):
	  New function.

2020-05-20  Dmitry Gutov  <dgutov@yandex.ru>

	project--vc-list-files: Don't list conflicted files thrice

	* lisp/progmodes/project.el (project--vc-list-files):
	Use delete-consecutive-dups.

2020-05-19  Tassilo Horn  <tsdh@gnu.org>

	Allow back-references in syntax-propertize-rules.

	* lisp/emacs-lisp/syntax.el (syntax-propertize--shift-groups-and-backrefs):
	Renamed from syntax-propertize--shift-groups, and also shift
	back-references.
	(syntax-propertize-rules): Adapt docstring and use renamed function.
	* test/lisp/emacs-lisp/syntax-tests.el: New test.
	(syntax-propertize--shift-groups-and-backrefs): New ERT test.

2020-05-19  Tassilo Horn  <tsdh@gnu.org>

	Indicate not downloaded parts in MIME buttons.

	Via nnimap-fetch-partial-articles one can tell Gnus to omit fetching
	certain parts by default.  Now the MIME buttons in the article buffer
	indicate how to fetch the complete message in order to act on those
	missing parts.

	* lisp/gnus/gnus-art.el (gnus-insert-mime-button): Indicate not
	downloaded parts in MIME buttons.

2020-05-19  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-num-cpus): Fix definition.

	Introduced by 2aec16ab75.

2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Reject attempts to clear pure strings

	* src/fns.c (Ffillarray, Fclear_string):
	Add CHECK_IMPURE here, to be consistent with Faset etc.
	(Ffillarray): Prefer memset when the fill is a single byte.

2020-05-19  Stefan Kangas  <stefankangas@gmail.com>

	Clarify wording in my last commit

	* lisp/mouse.el (mouse-drag-and-drop-region-show-tooltip): Clarify
	wording of integer option.  Suggested by Eli Zaretskii.

2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Improve password-cache-add example in comment

	* lisp/password-cache.el: Improve comment.  See Andreas Schwab in:
	https://lists.gnu.org/r/emacs-devel/2020-05/msg02422.html

2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Redo RCS Id for pdumper

	* lisp/version.el: Don’t put an RCS Id style string into the
	executable via purecopy, as this does not work with the pdumper.
	* src/emacs.c (RCS_Id): New constant, for 'ident'.

2020-05-18  Glenn Morris  <rgm@gnu.org>

	Add test for recent buffer-local-variables change

	* test/src/buffer-tests.el (buffer-tests-buffer-local-variables-undo):
	New.

2020-05-18  Andrea Corallo  <akrl@sdf.org>

	Pacify with the byte-compiler

	* lisp/emacs-lisp/comp.el (comp-num-cpus): New special variable.
	(comp-effective-async-max-jobs): Make use of `comp-num-cpus'.
	(comp-call-optim-form-call): Remove unnecessary parameter.
	(comp-call-optim-func): Reflect `comp-call-optim-form-call'
	parameter removal.

2020-05-18  Andrea Corallo  <akrl@sdf.org>

	Add new customize `comp-async-env-modifier-form' (Bug#40838)

	* lisp/emacs-lisp/comp.el (comp-async-env-modifier-form): New
	customize.
	(comp-run-async-workers): Make use of `comp-async-env-modifier-form'.

2020-05-18  Alan Mackenzie  <acm@muc.de>

	CC Mode: Allow "static" etc. to be placed after a declaration's type name

	Fixes bug #41284.

	* lisp/progmodes/cc-langs.el (c-type-decl-prefix-key): include additionally
	c-modifier-kwds in the set of keywords at the base of this lang-const.

2020-05-18  Andrea Corallo  <akrl@sdf.org>

	Make the Evil happy (Bug#41374)

	* lisp/emacs-lisp/comp.el (comp-never-optimize-functions):
	Blacklist all primitives advised by evil-mode from trampoline
	optimization.
	(comp-call-optim-form-call): Prevent trampoline optimization for
	recursive calls at speed 2 to respect elisp original semantic.

2020-05-18  Glenn Morris  <rgm@gnu.org>

	Restore buffer-undo-list to buffer-local-variables

	It has been missing since 2012-07-03 (Emacs 24.3)
	"Cleanup basic buffer management", when undo_list was moved to
	the end of struct buffer.  (Bug#33492)
	* src/buffer.c (buffer_local_variables_1): New function.
	(Fbuffer_local_variables): Explicitly add buffer-undo-list.

2020-05-18  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in webjump.el and add tests

	* lisp/net/webjump.el: Use lexical-binding.
	(webjump-read-url-choice): Remove redundant 'function' around lambda.

	* test/lisp/net/webjump-tests.el: New file with tests for webjump.el.

2020-05-18  Mattias Engdegård  <mattiase@acm.org>

	Fix calculator entry of numbers with negative exponents (bug#41347)

	* lisp/calculator.el (calculator-string-to-number):
	Remove obsolete string transformations preventing entry of 1e-3 etc.
	Keep one transformation to allow entry of "1.e3".
	Reported by Chris Zheng.

2020-05-18  Dmitry Gutov  <dgutov@yandex.ru>

	Update the package version

	* lisp/progmodes/project.el: Update the package version.
	(project-vc-merge-submodules): Update the docstring.
	(project-try-vc): Add a FIXME.

2020-05-18  Dmitry Gutov  <dgutov@yandex.ru>

	Add user option project-vc-merge-submodules

	* lisp/progmodes/project.el (project-vc): Update the docstring.
	(project-vc-merge-submodules): New user option.
	(project-try-vc): Use it.
	(project--submodule-p): Extract from project-try-vc.

2020-05-18  Dmitry Gutov  <dgutov@yandex.ru>

	vc-working-revision: Bind default-directory

	* lisp/vc/vc-hooks.el (vc-working-revision):
	Bind default-directory to be on the safe side.
	Suggested by Ilya Ostapyshyn
	(https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg02301.html).

2020-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t attempt to modify constant strings

	These attempts were found by ‘make compile-always’.
	* lisp/language/tibet-util.el (tibetan-obsolete-glyphs):
	* lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
	Don’t try to modify string constants.

2020-05-17  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-05-17  Andrea Corallo  <akrl@sdf.org>

	Fix Garbage Collector for missing callee-saved regs content (Bug#41357)

	* src/alloc.c (SET_STACK_TOP_ADDRESS): Do not call
	__builtin_unwind_init.
	(flush_stack_call_func1): Rename from 'flush_stack_call_func'.
	(flush_stack_call_func): New function to spill all registers
	before calling 'flush_stack_call_func1'.  This to make sure the
	top of the stack identified includes those registers.

2020-05-17  Richard Stallman  <rms@gnu.org>

	Don't mention non-GNU package archives.

2020-05-17  Stefan Kangas  <stefankangas@gmail.com>

	Fix minor issues with mouse-drag-and-drop-region-show-tooltip

	* lisp/mouse.el (mouse-drag-and-drop-region-show-tooltip): Fix
	defcustom type to allow all valid values.  Suggested by David
	Ponce.  (Bug#41351)
	(mouse-drag-and-drop-region): Fix bug where setting
	`drag-and-drop-region-show-tooltip' to 0 would still show a
	tooltip.

2020-05-17  Andrea Corallo  <akrl@sdf.org>

	Fix bug#41346 assertion triggered while loading dump

	* src/comp.c (load_comp_unit): While loading from dump lambda
	fixups are still to happen here.  Verify relocation coherency only
	after 'top_level_run' execution.

2020-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t attempt to modify constant strings

	* lisp/bookmark.el (bookmark-bmenu-set-header):
	Use copy-sequence instead of concat, for clarity.
	Also, the byte-compiler optimizes (concat "a" "b") into "ab".
	* lisp/button.el (make-text-button):
	* test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
	* test/lisp/password-cache-tests.el:
	(password-cache-tests-add-and-remove)
	(password-cache-tests-read-from-cache)
	(password-cache-tests-in-cache-p, password-cache-tests-read)
	(password-cache-tests-reset)
	(password-cache-tests-add/expires-key)
	(password-cache-tests-no-password-cache):
	Don’t attempt to modify constant strings.
	* lisp/progmodes/elisp-mode.el (elisp--xref-format)
	(elisp--xref-format-extra):
	Don’t attempt to modify constant strings via put-text-property.
	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-across-ref):
	Don’t attempt to modify constant vectors or strings.

2020-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t attempt to modify constant conses

	From a patch privately suggested by Mattias Engdegård on 2020-05-11
	in a followup to Bug#40671.
	* admin/charsets/cp51932.awk:
	* admin/charsets/eucjp-ms.awk:
	Generate code that does not modify constant conses.
	* doc/misc/emacs-mime.texi (Encoding Customization):
	* lisp/emacs-lisp/byte-opt.el (byte-compile-side-effect-free-ops):
	* lisp/frameset.el (frameset-persistent-filter-alist):
	* lisp/gnus/gnus-sum.el (gnus-article-mode-line-format-alist):
	Use append instead of nconc.
	* lisp/language/japanese.el (japanese-ucs-cp932-to-jis-map)
	(jisx0213-to-unicode):
	Use mapcar instead of mapc.
	* lisp/language/lao-util.el (lao-transcription-consonant-alist)
	(lao-transcription-vowel-alist):
	* lisp/language/tibetan.el (tibetan-subjoined-transcription-alist):
	Use copy-sequence.
	* test/src/fns-tests.el (fns-tests-nreverse):
	(fns-tests-sort, fns-tests-collate-sort)
	(fns-tests-string-version-lessp, fns-tests-mapcan):
	Use copy-sequence, vector, and list.

2020-05-16  John Wiegley  <johnw@newartisans.com>

	Add a note to eshell.texi that I, too, was a contributor

2020-05-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	b4937f64cd (origin/emacs-27) Improve documentation of manually install...
	efd4e973a4 Reflect the emacs-devel ELPA/MELPA dispute in FAQ
	28541674cd Consider face inheritance when checking region face backgr...
	e75f6be6cc Fix dired default file operation (bug#41261)
	406fb0746c Fix documentation related to 'command-switch-alist'.
	747e0a2523 Improve ediff readability in misterioso theme (Bug#41221)
	48830c73e7 Fix a crash in handle_display_spec
	a37290a6f9 In x_hide_tip reset tip_last_frame for GTK+ tooltips only ...
	3d81995692 Fix docstring of flymake-make-diagnostic (bug#40351)
	632aa9d57a Go back to “Bahá’í”
	e2406ff60f * lisp/dired.el (dired-toggle-marks): Doc fix.  (Bug#41097)

	# Conflicts:
	#	doc/emacs/building.texi

2020-05-16  Stefan Kangas  <stefankangas@gmail.com>

	Remove stale comments

	* lisp/printing.el (pr-create-interface):
	* lisp/progmodes/ebnf2ps.el (ebnf-eps-filename, ebnf-trim-right):
	Remove old comments about Emacs 21/22 compatibility.

2020-05-16  Stefan Kangas  <stefankangas@gmail.com>

	Remove some compat code from CEDET

	* lisp/cedet/data-debug.el (data-debug-overlay-properties)
	(data-debug-overlay-p, dd-propertize):
	Redefine as obsolete function aliases.
	(data-debug-insert-overlay-props, data-debug-insert-hash-table)
	(data-debug-insert-hash-table-button)
	(data-debug-insert-widget-properties, data-debug-insert-widget)
	(data-debug-insert-symbol-from-point)
	(data-debug-insert-symbol-button, data-debug-insert-string)
	(data-debug-insert-number, data-debug-thing-alist):
	Don't use obsolete names.

2020-05-16  Stefan Kangas  <stefankangas@gmail.com>

	Remove Emacs 22 compat code from abbrev.el

	* lisp/abbrev.el (write-abbrev-file): Remove Emacs 22
	compatibility code.

2020-05-16  Stefan Kangas  <stefankangas@gmail.com>

	Remove Emacs 22 compat code from ediff-vers.el

	* lisp/vc/ediff-vers.el (ediff-vc-revision-other-window)
	(ediff-vc-working-revision): Redefine Emacs 22 compatibility
	aliases as obsolete function aliases.
	(ediff-vc-internal, ediff-vc-merge-internal): Don't use the now
	obsolete aliases.

2020-05-16  Stefan Kangas  <stefankangas@gmail.com>

	Remove some XEmacs compat code from semantic

	* lisp/cedet/semantic/wisent/comp.el (wisent-ISVALID-TOKEN)
	(wisent-parse-nonterminals):
	* lisp/cedet/semantic/wisent/wisent.el
	(wisent-item-to-string): Remove XEmacs compatibility code.
	(wisent-char-p): Redefine as obsolete function alias for
	'characterp'.

2020-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/bibtex.el: Fix bug#41285 (paren typo)

2020-05-16  Michael Albinus  <michael.albinus@gmx.de>

	Introduce process-file-return-signal-string

	* doc/lispref/processes.texi (Synchronous Processes):
	Describe `process-file-return-signal-string'.

	* doc/misc/tramp.texi: Adapt Tramp and Emacs version numbers.
	(Remote processes): Describe `process-file-return-signal-string'
	and $INSIDE_EMACS.

	* etc/NEWS: Describe `process-file-return-signal-string'.  Fix typos.

	* lisp/simple.el (process-file-return-signal-string): New user option.

	* lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
	* lisp/net/tramp-sh.el (tramp-sh-handle-process-file): Use it.

	* lisp/net/tramp.el (tramp-get-signal-strings): New defun.

	* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.

2020-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/project.el (project-try-vc): Fix regexp typo.

2020-05-15  Dmitry Gutov  <dgutov@yandex.ru>

	Fix submodules, second try

	* lisp/progmodes/project.el (project-try-vc):
	Call the backend directly instead of binding default-directory.

2020-05-15  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix bug #40052, where a very large macro was too slow in scrolling

	* lisp/progmodes/cc-engine.el (c-end-of-macro): Fix faulty cache handling,
	where the upper bound of c-macro-cache was never being set.
	(c-forward-comment-minus-1): New macro which terminates unwanted indefinite
	backward searching with lots of escaped newlines in c-backward-single-comment.
	(c-backward-single-comment, c-backward-comments): Use the new macro above.

	* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
	(c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string):
	Optimize three regexps by using shy groups, thus preventing regexp stack
	overflow while handling the large C Macro.

2020-05-15  Dmitry Gutov  <dgutov@yandex.ru>

	Fix Git submodules detection breakage

	* lisp/progmodes/project.el (project-try-vc):
	Use the absolute name of .git both times.

2020-05-15  Andrea Corallo  <akrl@sdf.org>

	Do not refuse to compile if a dynamic lambda is encountered

	* lisp/emacs-lisp/comp.el (comp-lex-byte-func-p): New subst.
	(comp-intern-func-in-ctxt): Do not crash if we still encounter a
	non lexical scoped lambda.

2020-05-15  Andrea Corallo  <akrl@sdf.org>

	Allow for logging async compilation command line

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): When non zero
	verbose log async compilation command line invocation.

2020-05-15  Andrea Corallo  <akrl@sdf.org>

	Add check_comp_unit_relocs

	* src/comp.c (check_comp_unit_relocs): Add function to verify
	relocation coherency.
	(load_comp_unit): Call it.

2020-05-15  Andrea Corallo  <akrl@sdf.org>

	Sanity check on lambdas fixups

	* src/pdumper.c (dump_do_dump_relocation): While fixing up lambda
	relocation verify placeholder coherency.

	* src/comp.c (syms_of_comp): Define symbol 'lambda-fixup'.

	* lisp/emacs-lisp/comp.el (comp-finalize-container): Leave a
	lambda-fixup as placeholder in the relocation as a sanity check.

2020-05-15  Andrea Corallo  <akrl@sdf.org>

	Fix speed 2 bootstrap

	(comp-call-optim-func): Do nothing if the function name is
	unknown.

2020-05-15  Andrea Corallo  <akrl@sdf.org>

	Native compiler test update

	* test/src/comp-tests.el (comp-tests-lambda-return): Add a test
	verifying that the returned lambda is actually native compiled.

2020-05-15  Andrea Corallo  <akrl@sdf.org>

	Better Vcomp_sym_subr_c_name_h test function + doc

	* src/comp.c (syms_of_comp): 'Vcomp_sym_subr_c_name_h' need only
	'eq' as test + fix doc for 'comp-sym-subr-c-name-h'.

2020-05-15  Andrea Corallo  <akrl@sdf.org>

	Add anonymous lambdas reload mechanism

	* src/pdumper.c (dump_do_dump_relocation): Initialize
	'lambda_gc_guard' while resurrecting.
	(dump_do_dump_relocation): Revive lambdas and fixup them.

	* src/comp.h (struct Lisp_Native_Comp_Unit): Define new
	'lambda_gc_guard' 'lambda_c_name_idx_h' 'data_imp_relocs'
	'loaded_once' fields.

	* src/comp.c (load_comp_unit): Use compilation unit 'loaded_once'
	field.
	(make_subr, Fcomp__register_lambda): New functions.
	(Fcomp__register_subr): Make use of 'make_subr'.
	(Fnative_elisp_load): Indent.
	(Fnative_elisp_load): Initialize 'lambda_gc_guard'
	'lambda_c_name_idx_h' fields.
	(syms_of_comp): Add Scomp__register_lambda.

	* lisp/emacs-lisp/comp.el (comp-ctxt): Change
	'byte-func-to-func-h' hash key test.
	(comp-ctxt): Add 'lambda-fixups-h' slot.
	(comp-emit-lambda-for-top-level): New function.
	(comp-finalize-relocs): Never emit lambdas in pure space.
	(comp-finalize-relocs): Fixup relocation indexes.

2020-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/xref.el: Fix first line syntax

	(xref--find-ignores-arguments): Simplify.

2020-05-15  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in autoconf.el and add tests

	* lisp/progmodes/autoconf.el: Use lexical-binding.

	* test/lisp/progmodes/autoconf-tests.el: New file with tests for
	autoconf.el.

2020-05-15  Mattias Engdegård  <mattiase@acm.org>

	Calc: GCD(0,x)=GCD(x,0)=|x|, not x (bug#41279)

	Reported by David Ongaro.

	* lisp/calc/calc-comb.el (calcFunc-gcd): Fix GCD simplification.
	* test/lisp/calc/calc-tests.el (calc-gcd, calc-sum-gcd): New tests.

2020-05-15  Stefan Kangas  <stefankangas@gmail.com>

	Delete libraries obsolete since 23.1 and 23.2

	Emacs 23.2 was released 10 years ago.  old-whitespace.el has a
	replacement in whitespace.el and is no longer relevant.  The other
	libraries implement compatibility with Lucid Emacs, a modified version
	of Emacs last released in the 1990s.

	* lisp/obsolete/ledit.el:
	* lisp/obsolete/lmenu.el:
	* lisp/obsolete/lucid.el:
	* lisp/obsolete/old-whitespace.el: Delete files.  These libraries have
	been obsolete since Emacs 23.1 or 23.2.
	* etc/NEWS: Announce their deletion.

	* admin/authors.el (authors-ignored-files)
	(authors-fixed-entries, authors-valid-file-names):
	* lisp/emulation/viper.el (viper-mode):
	* lisp/ffap.el (ffap-menu-ask): Remove references to deleted files.

2020-05-15  Dmitry Gutov  <dgutov@yandex.ru>

	Improve detection of Git submodules

	* lisp/progmodes/project.el (project-try-vc):
	Improve detection of Git submodules
	(https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg02008.html).

2020-05-14  Andrea Corallo  <akrl@sdf.org>

	Render all immediates as comments at comp-debug > 2

	* src/comp.c (emit_mvar_rval): No reason to emit only fixnums.

2020-05-14  Andrea Corallo  <akrl@sdf.org>

	Dump log and intermediate GCC IRs only at comp-debug 3

	* src/comp.c (Fcomp__init_ctxt): Increase threshold for dumping
	really everything to 'comp-debug' 3.

2020-05-14  Andrea Corallo  <akrl@sdf.org>

	Prune now unnecessary byte-code objects

	* lisp/emacs-lisp/comp.el (comp-finalize-container): Prune
	byte-code that was lambdas.
	(comp-compile-ctxt-to-file): Remove fixme.

2020-05-14  Andrea Corallo  <akrl@sdf.org>

	Rework comp-spill-lap-function

	* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Move code
	from to comp-intern-func-in-ctxt.
	(comp-intern-func-in-ctxt): New function, this guard
	in case byte-to-native-lambda-byte-func is nil.

2020-05-14  Andrea Corallo  <akrl@sdf.org>

	Split emit_const_lisp_obj logic

	* src/comp.c (emit_lisp_obj_reloc_lval): New function.
	(emit_const_lisp_obj): Rename into 'emit_lisp_obj_rval' and strip
	logic for 'emit_lisp_obj_reloc_lval'.
	(emit_NILP, emit_CHECK_CONS, emit_mvar_rval, emit_set_internal)
	(define_CAR_CDR, define_bool_to_lisp_obj): Update for
	'emit_const_lisp_obj' being renamed.

2020-05-14  Andrea Corallo  <akrl@sdf.org>

	Rename emit_mvar_access -> emit_mvar_lval

	* src/comp.c (emit_mvar_access): Rename into 'emit_mvar_lval'.
	(emit_mvar_rval, emit_frame_assignment): Update for
	'emit_mvar_access' rename.

2020-05-14  Andrea Corallo  <akrl@sdf.org>

	Rename emit_mvar_val -> emit_mvar_rval

	* src/comp.c (emit_mvar_val): Rename into 'emit_mvar_rval'.
	(emit_set_internal, emit_simple_limple_call, emit_limple_insn)
	(emit_call_with_type_hint, emit_call2_with_type_hint)
	(emit_consp, emit_numperp, emit_integerp): Update for
	'emit_mvar_val' rename.

2020-05-14  Andrea Corallo  <akrl@sdf.org>

	Indentation fix

	* src/comp.c (Fcomp__init_ctxt, Fcomp__release_ctxt)
	(Fcomp__compile_ctxt_to_file, Fcomp__register_subr): Indentation
	fix.

2020-05-14  Andrea Corallo  <akrl@sdf.org>

	Update spill LAP machinery and compile anonymous lambdas

	* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Make use of
	byte-to-native-lambdas-h and update for 'byte-to-native-func-def'.
	(comp-spill-lap-function): Rework logic to retrieve LAP using
	'byte-to-native-lambdas-h'.
	(comp-emit-for-top-level): Update for 'byte-to-native-function'.

	* lisp/emacs-lisp/bytecomp.el: Add commentary on new spill LAP
	mechanism.
	(byte-to-native-lambda, byte-to-native-func-def): New structures.
	(byte-to-native-top-level): Indent.
	(byte-to-native-lambdas-h): Update doc.
	(byte-compile-lapcode): Add a 'byte-to-native-lambda' instance
	into byte-to-native-lambdas-h instead of just LAP.
	(byte-compile-file-form-defmumble): Store into
	'byte-to-native-func-def' only the byte compiled function, the LAP
	will be retrieved through 'byte-to-native-lambdas-h'.
	(byte-compile-lambda): Return the byte compiled function.

2020-05-14  Tino Calancha  <tino.calancha@gmail.com>

	Combine archive-int-to-mode and tar-grind-file-mode

	Add a new function, file-modes-number-to-symbolic.
	Make archive-int-to-mode and obsolete alias of it; use it
	to define tar-grind-file-mode (Bug#27952).

	* lisp/files.el (file-modes-number-to-symbolic): New defun.
	* lisp/arc-mode.el (archive-int-to-mode): Make it an obsolete alias.
	* lisp/tar-mode.el (tar-grind-file-mode):
	Use file-modes-number-to-symbolic.

	* test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
	* test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
	Update test.

	* test/lisp/files-tests.el (files-tests-file-modes-symbolic-to-number)
	(files-tests-file-modes-number-to-symbolic): New tests.

	* doc/lispref/files.texi (Changing Files): Document the new function.
	* etc/NEWS (Lisp Changes in Emacs 28.1): Announce it.

2020-05-14  Mattias Engdegård  <mattiase@acm.org>

	Fix customization of mouse-drag-and-drop-region (bug#41251)

	Reported by David Ponce.

	* lisp/mouse.el (mouse-drag-and-drop-region): Add missing unquote.

2020-05-14  Mattias Engdegård  <mattiase@acm.org>

	Calc: fix LU decomposition for non-numeric matrices (bug#41223)

	Computing determinant and inverse for on some matrices containing
	non-numeric elements failed or gave the wrong result.
	Reported by Mauro Aranda.

	* lisp/calc/calc-mtx.el (math-do-matrix-lud): Don't use zero as pivot.
	* test/lisp/calc/calc-tests.el (calc-matrix-determinant): New test.

2020-05-14  Andrea Corallo  <akrl@sdf.org>

	* test/src/comp-tests.el (comp-tests-bootstrap): Fix test.

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-05-13  Michael Albinus  <michael.albinus@gmx.de>

	Fix some oddities, uncovered by Tramp tests

	* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Prevent crash for
	older Emacsen.

	* lisp/net/tramp.el (tramp-process-running-p): Simplify.

	* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.
	(tramp-test33-environment-variables): Unset "INSIDE_EMACS" initially.

2020-05-13  João Távora  <joaotavora@gmail.com>

	Turn Eldoc, Xref and Project into GNU ELPA :core packages

	The new packages state they require Emacs 26.3 to function, but a
	small part of project.el breaks this "soft" rule: the two functions
	requiring fileloop.el are incompatible with Emacs 26.3.

	* lisp/jsonrpc.el: Tweak comment near Package-Requires.

	* lisp/emacs-lisp/eldoc.el: Add Version and Package-Requires.

	* lisp/progmodes/flymake.el: Add comment near Package-Requires.

	* lisp/progmodes/project.el: Add Version and Package-Requires.

	* lisp/progmodes/xref.el: Add Version and Package-Requires.

2020-05-13  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in t-mouse.el

	* lisp/t-mouse.el: Use lexical-binding.

2020-05-13  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in animate.el and add tests

	* lisp/play/animate.el: Use lexical-binding.
	* test/lisp/play/animate-tests.el: New file.

2020-05-13  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in dissociate.el and add tests

	* lisp/play/dissociate.el: Use lexical-binding.
	* test/lisp/play/dissociate-tests.el: New file.

2020-05-13  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in cal-julian.el and add tests

	* lisp/calendar/cal-julian.el: Use lexical-binding.
	* test/lisp/calendar/cal-julian-tests.el: New file.

2020-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	Use proper digraphs in Bahá’í month names

	* lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
	There doesn’t seem to be any disagreement in the sources I
	consulted that “Mas͟híyyat” and “S͟haraf” both need an “s͟h” digraph
	instead of plain “sh”.

2020-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/syntax.el: Fix bug#41195

	Allow use of `syntax-ppss-flush-cache` in `syntax-propertize-function`.

	(syntax-propertize--inhibit-flush): New var.
	(syntax-propertize): Bind it.
	(syntax-ppss-flush-cache): Test it.

2020-05-12  Michael Heerdegen  <michael_heerdegen@web.de>

	Revert "Inhibit modification hooks when saving eieio-persistent's"

	This reverts commit c59e878439833d89998e03134ee9060f9c449fd9.

2020-05-12  Stefan Kangas  <stefankangas@gmail.com>

	Support sorting timer-list-mode by column (Bug#40854)

	* lisp/emacs-lisp/timer-list.el (timer-list-mode)
	(timer-list--idle-predicate, timer-list--next-predicate)
	(timer-list--repeat-predicate)
	(timer-list--function-predicate): Add support for sorting by column.

2020-05-12  Stefan Kangas  <stefankangas@gmail.com>

	Base timer-list-mode on tabulated-list-mode (Bug#40854)

	* lisp/emacs-lisp/timer-list.el (list-timers)
	(timer-list-mode): Inherit from 'tabulated-list-mode' instead of
	'special-mode' and make the necessary changes to support that.

	* doc/lispref/os.texi (Timers): Update documentation.

2020-05-12  Glenn Morris  <rgm@gnu.org>

	Suppress test failure on hydra.nixos.org

	* test/lisp/net/tramp-tests.el (tramp-test28-process-file):
	Attempt to suppress hydra oddity.

2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC 10.1.0

	Pacify GCC 10.1.0 so that it does not issue false alarms
	when Emacs is configured with --enable-gcc-warnings.
	* src/dispnew.c (clear_glyph_row):
	* src/fns.c (hash_clear):
	* src/keyboard.c (append_tab_bar_item):
	* src/lisp.h (vcopy):
	* src/xfaces.c (get_lface_attributes_no_remap)
	(Finternal_copy_lisp_face, realize_default_face):
	* src/xmenu.c (set_frame_menubar):
	Work around -Warray-bounds false alarm in GCC 10.1.0.
	* src/intervals.c (copy_properties):
	Avoid -Wnull-dereference false alarm in GCC 10.1.0.
	* src/lisp.h (xvector_contents_addr, xvector_contents):
	New functions, useful for working around GCC bug 95072.

2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2020-05-11 careadlinkat: fix GCC 10 workaround
	2020-05-10 careadlinkat: limit GCC workaround
	2020-05-10 attribute: clarify list of attributes
	2020-05-10 string: fix compilation error in C++ mode
	2020-05-09 manywarnings: port to GCC 10.1
	2020-05-09 careadlinkat: pacify -Wreturn-local-addr
	2020-05-09 attribute: remove ATTRIBUTE_DEPRECATED
	2020-05-09 attribute: Add comments
	* lib/attribute.h, lib/careadlinkat.c, lib/string.in.h:
	* lib/warn-on-use.h, m4/manywarnings.m4: Copy from Gnulib.

2020-05-11  Alan Mackenzie  <acm@muc.de>

	Fix bug #40992 whilst still allowing breakpoint highlights in edebug

	Strategy: when an instrumented function gets re-evaluated, save the former
	value of its symbol's `edebug' property in the new property `ghost-edebug'.  If
	this function is still being edebugged, edebug will then access its info from
	this new property.

	Also fix the bug whereby compile-defun'ing an instrumented function prevents
	the function being re-instrumented by I (edebug-instrument-callee).

	* lisp/emacs-lisp/edebug.el (edebug-get-edebug-or-ghost): New function.
	(edebug-read-and-maybe-wrap-form1): save value of `edebug' property in
	'ghost-edebug'.
	(edebug-make-form-wrapper): Set value of `ghost-edebug' to nil.
	(edebug-make-form-wrapper, edebug-find-stop-point, edebug-next-break-point)
	(edebug-modify-breakpoint, edebug--overlay-breakpoints, edebug-set-breakpoint)
	(edebug-unset-breakpoints, edebug-toggle-disable-breakpoint)
	(edebug--backtrace-goto-source, edebug-display-freq-count)
	(edebug-set-conditional-breakpoint): Use edebug-get-edebug-or-ghost to access
	edebug information.
	(edebug-instrument-function): Also check a function is a cons before declaring
	it "already instrumented".

2020-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el (pcase--fgrep): Look inside vectors

2020-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/bibtex.el: Avoid `eval`

	In the top-level construction of the entry-type commands,
	use `defalias` instead of (eval `(defun ...)).

	(bibtex-insert-kill): Strength reduce `eval` => `symbol-value`.
	(bibtex-autokey-before-presentation-function): Avoid nil value.

2020-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (dolist, dotimes, combine-change-calls): Cosmetic tweaks

	(dolist, dotimes): Adjust comment since testing
	`lexical-binding` is supposed to be reliable.
	(combine-change-calls): Add debug and indent specs.

2020-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/syntax.el (syntax-propertize): Use run-hook-wrapped

	This way we avoid making assumptions about the content of
	syntax-propertize-extend-region-functions

2020-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/ielm.el: Handle corner case where */**/*** are not yet bound

	Remote redundant :group args.

	(ielm-eval-input): Use bound-and-true-p for */**/***

2020-05-11  Dmitry Gutov  <dgutov@yandex.ru>

	Map "mail/compose" icon to "mail-message-new" in GTK

	* lisp/term/x-win.el (x-gtk-stock-map): One more icon mapping.

2020-05-11  Dmitry Gutov  <dgutov@yandex.ru>

	Use the "modern" toolbars in Gnus again

	* lisp/gnus/gmm-utils.el (gmm-tool-bar-style):
	Undo the breakage from commit d88118db37dd
	(https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg02094.html).

2020-05-11  Dmitry Gutov  <dgutov@yandex.ru>

	Use better icons on GTK in message-mode and isearch

	* lisp/gnus/message.el (message-tool-bar-retro):
	Use non-Gnus-specific icon.

	* lisp/term/x-win.el (x-gtk-stock-map):
	Use more themed icons (bug#40990).

2020-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el: Don't bind unused vars in branches

	(pcase--fgrep): Change calling convention to take bindings rather than
	just variables.
	(pcase--funcall, pcase--eval): Adjust to this new calling convention.
	(pcase--expand): Use `pcase--fgrep` to bind only the vars that are used.

2020-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/eieio.el (eieio pcase macro): Fix last-minute typo

2020-05-10  Tassilo Horn  <tsdh@gnu.org>

	Prefer function-put over put for setting browse-url-browser-kind.

	* lisp/net/browse-url.el: Prefer `function-put' over `put' for setting
	`browse-url-browser-kind' symbol property.

2020-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/eieio.el (eieio pcase macro): Remove unused var `is`

2020-05-10  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in glasses.el and add tests

	* lisp/progmodes/glasses.el: Use lexical-binding.
	(glasses-separator, glasses-original-separator, glasses-face)
	(glasses-separate-parentheses-p)
	(glasses-separate-parentheses-exceptions)
	(glasses-separate-capital-groups, glasses-uncapitalize-p)
	(glasses-uncapitalize-regexp, glasses-convert-on-write-p): Remove
	redundant :group args.

	* test/lisp/progmodes/glasses-tests.el: New file with tests for
	glasses.el.

2020-05-10  Simen Heggestøyl  <simenheg@gmail.com>

	Allow underscores in CSS variable names

	* lisp/textmodes/css-mode.el (css-nmchar-re): Allow underscores in
	variable names (and in identifiers in general).

	* test/manual/indent/css-mode.css: Add some examples of variable names
	with underscores in them.

	* test/manual/indent/less-css-mode.less: Add some examples of variable
	names with underscores in them.

	* test/manual/indent/scss-mode.scss: Add some examples of variable
	names with underscores in them.

2020-05-10  Simen Heggestøyl  <simenheg@gmail.com>

	Add containment module to CSS property list

	* lisp/textmodes/css-mode.el (css-property-alist): Add new properties
	from CSS Containment Module Level 1.

2020-05-10  Simen Heggestøyl  <simenheg@gmail.com>

	Add writing modes module to CSS property list

	* lisp/textmodes/css-mode.el (css-property-alist): Add new properties
	from the CSS Writing Modes Level 3 module.

2020-05-10  Andrea Corallo  <akrl@sdf.org>

	Fix `comp-deferred-compilation-black-list' effectiveness

	* lisp/emacs-lisp/comp.el (native-compile-async): Fix logic for
	'comp-deferred-compilation-black-list' effectiveness.

2020-05-10  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (load_comp_unit): Style fix.

2020-05-09  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-05-09  Andrea Corallo  <akrl@sdf.org>

	Fix --enable-check-lisp-object-type GNU/Linux X86_64 build

	* src/comp.c (emit_mvar_val): Fix missing use of XLP macro.
	(load_comp_unit): Fix missing use of NILP macro.

2020-05-09  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in help-mode.el and add tests

	* lisp/help-mode.el: Use lexical-binding.
	(help-mode-map, help-mode-menu, help-mode-setup)
	(help-mode-finish): Make spelling of "Help mode" consistent throughout
	the doc strings (also making it consistent with the spelling of "Help
	mode" used in the Elisp manual).
	(help-do-xref): Re-indent to make the else-branch easier to see.

	* test/lisp/help-mode-tests.el: New file with tests for help-mode.el.

2020-05-09  Glenn Morris  <rgm@gnu.org>

	* src/xdisp.c (Fwindow_text_pixel_size): Fix previous merge.

2020-05-09  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	be0d1cac83 (origin/emacs-27) Small fix for type of 'display-fill-colu...
	c5e5839776 Fix customization of 'display-fill-column-indicator-charac...
	d5c184aa3e Refer to fill column indicator Info node in some places.
	e13300ae50 Merge branch 'emacs-27' of git.sv.gnu.org:/srv/git/emacs i...
	0bae57033f Fix GTK's Tool Bar menu radio buttons
	4c98aa7ea5 Minor clarifications in NEWS
	a1cbd05f38 Improve documentation of 'with-suppressed-warnings'.
	4a895c1b26 Fix a typo in a comment
	2caf3e997e Improve documentation of Hi Lock mode
	7081c1d66f Fix typos in the Emacs user manual
	0385771e2f Fix references to Speedbar in VHDL mode
	a76cafea0d Fix handling of FROM = t and TO = t by 'window-text-pixel-...

	# Conflicts:
	#	etc/NEWS
	#	src/xdisp.c

2020-05-09  Pieter van Oostrum  <pieter@vanoostrum.org>

	Add new filter command to Package Menu (Bug#39903)

	* lisp/emacs-lisp/package.el
	(package-menu-filter-marked): New filter command.
	* test/lisp/emacs-lisp/package-tests.el
	(package-test-list-filter-marked): New test.
	(package-menu-mode-menu):
	(package-menu-mode-map): Update menu to include new filter command.

	* doc/emacs/package.texi (Package Menu): Document the new command.
	* etc/NEWS: Announce the new command.

2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>

	Improve nonnull checking with GCC in emacs-module

	* src/emacs-module.h.in (EMACS_ATTRIBUTE_NONNULL):
	Also do the nonnull check with GCC.  (The old code did the
	check with Clang but not with GCC.)

2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-05-09 stdio: don't redefine _GL_ATTRIBUTE_FORMAT
	2020-05-09 dirent, stdlib, string: don't redefine _GL_ATTRIBUTE_PURE
	2020-05-08 limits-h: define LONG_BIT correctly on Haiku/x86_64
	2020-05-08 ignore-value tests: use module 'attribute'
	2020-05-06 attribute: minor style fixes
	* build-aux/config.sub, doc/misc/texinfo.tex, lib/attribute.h:
	* lib/dirent.in.h, lib/limits.in.h, lib/stdio.in.h, lib/stdlib.in.h:
	* lib/string.in.h, m4/gnulib-common.m4:
	Copy from Gnulib.

2020-05-09  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-05-09  Andrea Corallo  <akrl@sdf.org>

	Add 'comp-deferred-compilation-black-list' customize

	* lisp/emacs-lisp/comp.el (comp-deferred-compilation-black-list):
	New customize.
	(native-compile-async): Make use of
	'comp-deferred-compilation-black-list'.

2020-05-09  Michal Nazarewicz  <mina86@mina86.com>

	cc-mode: extend regexp used by ‘c-or-c++-mode’

	* lisp/progmodes/cc-mode.el (c-or-c++-mode--regexp): Expand the regexp to
	match some more C++-only constructs and recognize a few more standard
	C++ header files.  Also make sure identifiers start with non-digit.
	(c-or-c++-mode): Add ‘(interactive)’ declaration.

	* test/lisp/progmodes/cc-mode-tests.el (c-or-c++-mode): Add test case
	for the newly recognized constructs.

2020-05-09  Michal Nazarewicz  <mina86@mina86.com>

	cc-mode: add ‘c-lineup-ternary-bodies’  (bug#41061)

	Introduce ‘c-lineup-ternary-bodies’ function which, when used as
	a c lineup function, aligns question mark and colon of a ternary
	operator.  For example:

	    return arg % 2 == 0 ? arg / 2
	                        : (3 * arg + 1);

	* lisp/progmodes/cc-align.el (c-lineup-ternary-bodies): New function.
	* doc/misc/cc-mode.texi (Operator Line-Up Functions): Document the
	new function.
	* test/lisp/progmodes/cc-mode-tests.el (c-lineup-ternary-bodies): New
	test case.

2020-05-09  Clément Pit-Claudel  <clement.pitclaudel@live.com>

	Only treat display strings as buttons if they have 'button' property

	* lisp/button.el (push-button): Use 'posn-point' instead of
	'posn-string' if the string doesn't have the 'button'
	property (Bug#40859).

2020-05-09  Federico Tedin  <federicotedin@gmail.com>

	Prevent hanging in next-single-char-property-change

	* src/textprop.c (Fnext_single_char_property_change): Clarify in
	the doc string the behavior when LIMIT is past the end of OBJECT.
	Stop the search when position gets to end of buffer, for when LIMIT
	is beyond that.  (Bug#40000)

2020-05-08  Tassilo Horn  <tsdh@gnu.org>

	Fix reading kind argument in browse-url-with-browser-kind.

	* lisp/net/browse-url.el (browse-url-with-browser-kind): Convert KIND
	argument queried from the user to a symbol.

2020-05-08  Tassilo Horn  <tsdh@gnu.org>

	Allow predicates for matching in browse-url-handlers.

	* lisp/net/browse-url.el (browse-url-handlers): Allow predicates for
	matching in browse-url-handlers.  Adapt docs and customize type.
	(browse-url-select-handler): Support predicates in addition to
	regexes.
	(browse-url--non-html-file-url-p): New defun.
	(browse-url-default-handlers): Use above predicate entry instead of
	two entries.

2020-05-08  Zhu Zihao  <all_but_last@163.com>

	Make pcase pattern 'eieio' respect slot access related functions.

	* lisp/emacs-lisp/eieio.el: Make pcase pattern respect slot-missing and
	slot-unbound

2020-05-07  Tassilo Horn  <tsdh@gnu.org>

	Allow browsing an URL explicitly with an internal or external browser.

	* lisp/net/browse-url.el (browse-url-with-browser-kind): New command.

2020-05-07  Tassilo Horn  <tsdh@gnu.org>

	Categorize browse-url functions into internal and external ones.

	* lisp/net/browse-url.el: Write package documentation explaining
	browse-url-browser-kind symbol property.  Categorize existing
	browse-url functions into internal and external ones.
	(browse-url--browser-kind, browse-url--browser-kind-mailto)
	(browse-url--browser-kind-man, browse-url--browser-kind-browser): New
	functions.
	(browse-url-select-handler): Add KIND argument to restrict selection.
	* lisp/dnd.el (dnd-handle-one-url): Only select browse-url handler of
	kind `internal'.
	* lisp/net/eww.el (eww): Add `browse-url-browser-kind' symbol property
	with value `internal'.

2020-05-07  Noam Postavsky  <npostavs@gmail.com>

	Don't increment array index in cl-loop twice (Bug#40727)

	* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause): Put the temp-idx
	increment in cl--loop-body, leaving just the side-effect free testing
	of the index for both cl--loop-body and cl--loop-conditions.
	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-and-arrays):
	Extend test to cover this case.

2020-05-07  Noam Postavsky  <npostavs@gmail.com>

	Revert "cl-loop: Calculate the array length just once"

	It fails when using 'and' (parallel bindings) for arrays (Bug#40727).
	* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause): Revert to
	recomputing array length.
	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-and-arrays): New
	test.

2020-05-07  Tassilo Horn  <tsdh@gnu.org>

	Fix browse-url (remove debugging leftover).

	* lisp/net/browse-url.el (browse-url): Fix "No suitable browser for
	URL" always popping up.

2020-05-07  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-05-07  Andrea Corallo  <akrl@sdf.org>

	Fix bug#41112

	* lisp/emacs-lisp/comp.el (comp-jump-table-optimizable): New
	function.
	(comp-emit-switch): Make use of 'comp-jump-table-optimizable'.

2020-05-07  Michael Albinus  <michael.albinus@gmx.de>

	Handle signals in Tramp's process-file

	* lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
	* lisp/net/tramp-sh.el (tramp-sh-handle-process-file): Handle signals.

	* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.

2020-05-07  Tassilo Horn  <tsdh@gnu.org>

	Refactor browse-url handler selection into separate function.

	* lisp/net/browse-url.el (browse-url-select-handler): New function.
	(browse-url): Use it.
	* lisp/dnd.el (dnd-handle-one-url): Use it.

2020-05-06  Tassilo Horn  <tsdh@gnu.org>

	Restore HTML rendering behavior of browse-url-of-buffer/file.

	* lisp/net/browse-url.el (browse-url-default-handlers): Add a browser
	handler for HTML page file:// URLs before the generic file:// handler.
	(browse-url--browser): New defun.

2020-05-06  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-05-06  Andrea Corallo  <akrl@sdf.org>

	Add native compilation unit black list

	* lisp/emacs-lisp/comp.el (comp-bootstrap-black-list): New customize.
	(batch-native-compile): Rework to make use of
	'comp-bootstrap-black-list'.
	(batch-byte-native-compile-for-bootstrap): Add assertion to make
	logic assumption explicit.

2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify buggy old GCC with a cast

	* src/bignum.h (bignum_integer): Pacify GCC 4.8.5.
	Problem reported by Andreas Schwab in:
	https://lists.gnu.org/r/emacs-devel/2020-05/msg00781.html

2020-05-06  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	76516465bf (origin/emacs-27) * doc/emacs/modes.texi (Major Modes): Fi...
	f8e6cd11b3 Fix docstring quoting

2020-05-06  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	7be160d800 Improve "Help Summary" section in user manual
	f6d6ccc984 Clarify message-sendmail-extra-arguments docstring
	95fde1a851 * src/editfns.c (Fformat): Small documentation fix.

2020-05-06  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	4b419083f9 Honor search-upper-case
	310112fdc7 Fix eww-follow-link on URLs with #target

	# Conflicts:
	#	lisp/fileloop.el

2020-05-06  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	f9fa726ced Improve doc strings of makunbound and fmakunbound

2020-05-06  Tassilo Horn  <tsdh@gnu.org>

	Consult browse-url-{default-,}handlers in drag&drop.

	* lisp/dnd.el (dnd-handle-one-url): Consult `browse-url-handlers' and
	`browse-url-default-handlers' for a matching handler.  Adapt
	docstring.
	* doc/lispref/frames.texi (Drag and Drop): Remove the docs for the
	deprecated alist choice of `browse-url-browser-function' and mention
	`browse-url-handlers' and `browse-url-default-handlers'.

2020-05-06  Michael Albinus  <michael.albinus@gmx.de>

	process-file in Tramp must return exit code (Bug#41099)

	* lisp/net/tramp-adb.el (tramp-adb-send-command-and-check): Add optional
	argument EXIT-STATUS.
	(tramp-adb-handle-process-file): Use it.

	* lisp/net/tramp-sh.el (tramp-send-command-and-check): Add optional
	argument EXIT-STATUS.
	(tramp-sh-handle-process-file): Use it.  (Bug#41099)

	* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.

2020-05-06  Tassilo Horn  <tsdh@gnu.org>

	Allow for custom URL handlers in browse-url.

	* lisp/net/browse-url.el (browse-url-handlers): New defcustom.
	(browse-url-default-handlers): New defvar.
	(browse-url): Use them.  Adapt docstring.  Issue a warning pointing to
	browse-url-handlers when browse-url-browser-function is an alist.
	(browse-url--mailto, browse-url--man): New functions.
	(browse-url--browser-defcustom-type): Add :doc that the alist usage is
	deprecated.
	(browse-url-browser-function): Remove documentation referring to the
	alist usage and mention browse-url-handlers.
	* doc/emacs/misc.texi: Document browse-url-handlers in Browse-URL
	node.
	* etc/NEWS: Mention browse-url-default-handlers and
	browse-url-handlers.

2020-05-06  Stefan Kangas  <stefankangas@gmail.com>

	Prefer 'strong' and 'em' to 'b' and 'i' in html-mode

	* lisp/textmodes/sgml-mode.el (html-face-tag-alist): Prefer inserting
	'strong' and 'em' tags to 'b' and 'i' in html-mode.  (Bug#41031)
	* lisp/textmodes/sgml-mode.el (html-mode): Update docstring to do the
	same.

2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t assume __has_attribute in emacs-module.c

	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2020-05/msg00724.html
	* src/emacs-module.c: Use HAS_ATTRIBUTE instead of assuming
	the compiler supports __has_attribute.

2020-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	Try and improve the *Help* layout for things like `diff-refine`.

	* lisp/help-fns.el (describe-variable-custom-version-info): Follow the
	usual format of other `help-fns-describe-variable-functions`.

2020-05-05  Andrea Corallo  <akrl@sdf.org>

	* configure.ac: Fix var usage + better messaging.

2020-05-05  Andrea Corallo  <akrl@sdf.org>

	* configure.ac: Better messaging when libgccjit fails smoke test

	* configure.ac: Fix libgccjit test LDFLAGS plus better messaging
	in case of its fail.

2020-05-05  Paul Eggert  <eggert@cs.ucla.edu>

	Fix typos in recent attribute.h simplification

	Problem reported by Andreas Schwab in:
	https://lists.gnu.org/r/emacs-devel/2020-05/msg00650.html
	* src/conf_post.h (HAS_ATTR_no_sanitize): Define to false in case
	cpp is picky, fixing a longstanding glitch here.
	(ATTRIBUTE_NO_SANITIZE_ADDRESS, ATTRIBUTE_NO_SANITIZE_UNDEFINED):
	Use HAS_ATTRIBUTE, not __has_attribute.

2020-05-04  Andrea Corallo  <akrl@sdf.org>

	* configure.ac: Add a better libgccjit test plus some morw err message

	* configure.ac (libgccjit_smoke_test, libgccjit_not_found)
	(libgccjit_broken): New functions.

2020-05-04  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-05-04  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp tests

	* test/lisp/net/tramp-tests.el (tramp-test33-environment-variables):
	Adapt test.

2020-05-04  Michael Albinus  <michael.albinus@gmx.de>

	Fix setting of INSIDE_EMACS in Tramp

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
	(tramp-sh-handle-process-file, tramp-open-shell): Set proper
	INSIDE_EMACS environment variable.

2020-05-04  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify by using attribute.h macros

	attribute.h is partly designed for C2X forward compatibility,
	since C2X will add some standard attributes.  Using its macros
	should help insulate Emacs from C2X teething problems.
	* src/conf_post.h: Include attribute.h.
	(HAS_ATTRIBUTE, HAS_FEATURE): Rename from __has_attribute and
	__has_feature, to avoid polluting the builtin namespace.
	All uses changed.
	(ATTRIBUTE_COLD, ATTRIBUTE_FORMAT, FALLTHROUGH, ATTRIBUTE_CONST)
	(ATTRIBUTE_PURE, ATTRIBUTE_UNUSED, ATTRIBUTE_MAY_ALIAS)
	(ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE)
	(ATTRIBUTE_RETURNS_NONNULL): Remove, as attribute.h does this now.
	(NO_INLINE, EXTERNALLY_VISIBLE, ARG_NONNULL, ATTRIBUTE_UNUSED):
	Simplify by defining in terms of attribute.h macros.
	* src/systhread.h (ATTRIBUTE_WARN_UNUSED_RESULT): Remove.
	All uses replaced by attribute.h’s NODISCARD.

2020-05-04  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-05-03 attribute: new module
	2020-04-13 explicit_bzero: improve code style
	2020-04-13 explicit_bzero: On native Windows, use SecureZeroMemory
	2020-04-13 explicit_bzero: use memset_s() when available
	2020-04-04 maint: remove a stray inter-word space
	* build-aux/config.guess, build-aux/config.sub:
	* build-aux/gitlog-to-changelog, build-aux/update-copyright:
	* doc/misc/texinfo.tex, lib/explicit_bzero.c, lib/ieee754.in.h:
	* lib/nstrftime.c, m4/explicit_bzero.m4, m4/gnulib-common.m4:
	Copy from Gnulib.
	* lib/attribute.h: New file, copied from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2020-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/eieio.el (oset, oset-default): Mark as obsolete

2020-05-03  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in check-declare.el and add tests

	* lisp/emacs-lisp/check-declare.el: Use lexical-binding.
	(check-declare-warn): Silence byte compiler warning about unused
	lexical argument.

	* test/lisp/emacs-lisp/check-declare-tests.el: New file with tests
	for check-declare.el.

2020-05-03  Mattias Engdegård  <mattiase@acm.org>

	Fix calculator division truncation (bug#40892)

	* lisp/calculator.el (calculator-string-to-number): Convert decimal
	numbers input to float, fixing a regression introduced in f248292ede.
	Reported by Aitor Soroa.

2020-05-03  Alan Third  <alan@idiocy.org>

	Fix initial frame resizing issue on NS (bug#40200)

	* src/nsterm.m ([EmacsView viewDidResize:]): Don't try to determine
	the old size when not drawing to the buffer.

2020-05-03  Michal Nazarewicz  <mina86@mina86.com>

	cc-mode: document Doxygen ‘c-doc-comment-style’  (bug#40877)

	* doc/misc/cc-mode.texi (Documentation Comments): mention Doxygen markup.

2020-05-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	0a3731feef Make memq etc. examples more like they were
	ed25282b82 Document effect of 'search-upper-case' on replacement comm...
	5a5d8a8ec0 * lisp/desktop.el (desktop-save): Doc fix.  (Bug#41007)

2020-05-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	1d477a0fec Recommend to avoid unnecessary abbreviations in doc
	aea1b4db72 Revert "Fix calculator division truncation (bug#40892)"

2020-05-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	1f17193e00 Expand file name for remote dirs as well
	7a12ab5ea2 Fix project.el commands in "transient" projects
	274ec97e3c Make sure alist-related functions say so in their doc

2020-05-03  Stefan Kangas  <stefankangas@gmail.com>

	Remove redundant :groups args missed in last commit

	* lisp/emacs-lisp/cl-indent.el (lisp-lambda-list-keyword-alignment)
	(lisp-lambda-list-keyword-parameter-indentation)
	(lisp-lambda-list-keyword-parameter-alignment)
	(lisp-indent-backquote-substitution-mode): Remove redundant :group args.

2020-05-03  Stefan Kangas  <stefankangas@gmail.com>

	Improve indentation of 'loop' forms

	* lisp/emacs-lisp/cl-indent.el (lisp-loop-keyword-indentation)
	(lisp-loop-forms-indentation, lisp-simple-loop-indentation): Use a
	more standard indentation of 'loop' forms.  (Bug#2160)

	(lisp-indent-maximum-backtracking, lisp-tag-indentation)
	(lisp-tag-body-indentation, lisp-backquote-indentation)
	(lisp-loop-keyword-indentation, lisp-loop-forms-indentation)
	(lisp-simple-loop-indentation): Remove redundant :group args.

2020-05-03  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in w32-vars.el

	* lisp/w32-vars.el: Use lexical-binding.
	(w32-use-w32-font-dialog, w32-allow-system-shell
	(w32-system-shells, w32-fixed-font-alist): Remove redundant :group
	args.

2020-05-03  Eli Zaretskii  <eliz@gnu.org>

	Improve accuracy of apropos commands that search doc strings

	It is conceptually wrong for apropos commands that search doc
	strings to look for matches of several words only on the same
	line, because division of doc strings between lines is
	ephemeral.
	* lisp/apropos.el (apropos-parse-pattern): Accept an optional
	argument MULTILINE-P, and if that is non-nil, produce regexps that
	match words in the list even if they are separated by line
	boundaries.
	(apropos-value, apropos-local-value, apropos-documentation): Use
	the new optional argument in apropos commands that search
	multiline text, such as doc strings.

	* src/search.c (Fposix_looking_at, Fposix_string_match)
	(Fposix_search_backward, Fposix_search_forward): Make sure Posix
	appears in the doc strings near REGEXP, for better matches.

2020-05-03  Andrea Corallo  <akrl@sdf.org>

	Add a warning for missing write privilege

	* lisp/emacs-lisp/comp.el (native-compile-async): Check for write
	privilege and raise a warning in case.

2020-05-03  Andrea Corallo  <akrl@sdf.org>

	Introduce `comp-output-directory'

	* lisp/emacs-lisp/comp.el (comp-output-directory): New function.
	(comp-output-base-filename): Use `comp-output-directory'.

2020-05-03  Mattias Engdegård  <mattiase@acm.org>

	Regexps cannot infloop; fix manual

	* doc/lispref/searching.texi (Regexp Special): Edit erroneous
	statements about infinite looping in regexps.

2020-05-03  Michael Albinus  <michael.albinus@gmx.de>

	Do not delete asynchronous Tramp processes due to session timeout

	* lisp/net/tramp-cmds.el (tramp-cleanup-connection): New optional
	argument KEEP-PROCESSES.

	* lisp/net/tramp-sh.el (tramp-timeout-session): Use it.  (Bug#41042)

2020-05-03  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp debug messages

	* lisp/net/tramp-cache.el (tramp-get-file-property)
	(tramp-get-connection-property): Improve debug messages.
	Suggested by Marc Herbert <marc.herbert@gmail.com>.

2020-05-02  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding for some term libraries

	This takes care of the most trivial cases, but there are more that
	could be easily converted.

	* lisp/term/bobcat.el:
	* lisp/term/cygwin.el:
	* lisp/term/konsole.el:
	* lisp/term/linux.el:
	* lisp/term/vt100.el:
	* lisp/term/vt200.el: Use lexical-binding.

2020-05-02  Stefan Kangas  <stefankangas@gmail.com>

	Improve Info-mode doc and menu

	* lisp/info.el (Info-mode-menu): Re-arrange to be more logical, move
	items into submenus, add 'Info-directory' and separators.
	(Info-mode): Add 'end-of-buffer' to doc string.  (Bug#39042)

2020-05-02  Michael Albinus  <michael.albinus@gmx.de>

	;; Revert recent change in tramp-cache.el

	* lisp/net/tramp-cache.el (tramp-dump-connection-properties):
	Remove compatibility code dumping the persistency file.  Use
	`emacs-lisp-mode' for backward compatibility.

2020-05-02  Eli Zaretskii  <eliz@gnu.org>

	Fix 'count-screen-lines' when lines are truncated

	* lisp/window.el (count-screen-lines): Fix the return value when
	lines are truncated in the window, and the end of the region is
	invisible due to this truncation.  (Bug#40849)

2020-05-02  João Távora  <joaotavora@gmail.com>

	Properly fix embarrassing missing paren typo in jsonrpc.el

	Paul Eggert had fixed it in practice, but the missing paren
	was meant to close a previous with-current-buffer.

	* lisp/jsonrpc.el (initialize-instance): Put parenthesis in right spot.
	(Version): Bump to 1.0.11

2020-05-01  Michael Heerdegen  <michael_heerdegen@web.de>

	Inhibit modification hooks when saving eieio-persistent's

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Bind
	inhibit-modification-hooks -> t.

2020-05-01  Michal Nazarewicz  <mina86@mina86.com>

	cc-mode: add support for Doxygen documentation style

	* lisp/progmodes/cc-fonts.el (doxygen-font-lock-doc-comments,
	  doxygen-font-lock-keywords): New constants defining Doxygen
	  comment style support.
	* lisp/progmodes/cc-vars.el (c-doc-comment-style): Updated docstring
	  to mention now-supported Doxygen mode.

2020-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/jsonrpc.el (initialize-instance): Fix closing-paren typo.

2020-05-01  João Távora  <joaotavora@gmail.com>

	Consolidate lisp/jsonrpc.el logging in single events buffer

	For inferior processes having useful stderr, it is no longer
	cumbersome to switch between different buffers to correlate error
	messages with transport-level JSONRPC messages.

	The existing stderr and stdout buffers can still be found hidden away
	from the normal buffer list.

	An original idea of Tobias Rittweiler <trittweiler@gmail.com>.

	* lisp/jsonrpc.el (initialize-instance jsonrpc-process-connection):
	Setup after-change functions stderr buffer.  Hide stderr and stdout
	buffers.
	(jsonrpc--log-event): Don't output extra newline.  Tweak log format.
	(Version): Bump to 1.0.10

2020-05-01  Alan Mackenzie  <acm@muc.de>

	Protect non-selected face spec components in custimize-face.  Fixes bug #40866

	* lisp/cus-edit.el (custom-face-save): If the current face widget is only
	displaying part of the face spec, temporarily set it to "display" the whole
	spec around the call to custom-face-mark-to-save.

2020-05-01  João Távora  <joaotavora@gmail.com>

	Add lisp-data-mode for editing non-code Lisp data

	(Bug#40573)

	The new mode can be used stand-alone or inherited from by modes
	intended to edit programs. The existing emacs-lisp-mode and lisp-mode
	are examples.

	Thanks to Juri Linkov and Basil L. Contovounesios for researching some
	data files in Emacs that can be automatically set to use the new mode.

	* lisp/files.el (auto-mode-alist): Add entry for ".dir-locals" and
	".dir-locals-2"

	* lisp/emacs-lisp/lisp-mode.el: (lisp-data-mode): New major mode.
	(lisp-mode): Inherit from lisp-data-mode.  Set special lisp-mode
	stuff here.

	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Inherit from
	lisp-data-mode.

	* lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
	Use lisp-data-mode.

	* lisp/saveplace.el (save-place-alist-to-file): Use
	lisp-data-mode.

	* lisp/net/eww.el (eww-write-bookmarks): Use lisp-data-mode.

	* lisp/net/nsm.el (nsm-write-settings): Use lisp-data-mode.

	* lisp/net/tramp-cache.el (tramp-dump-connection-properties): Use
	lisp-data-mode.

	* etc/NEWS: Mention lisp-data-mode.

	* doc/lispref/modes.texi (Example Major Modes): Update example.

2020-05-01  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in most remaining tests

	* test/lisp/comint-tests.el:
	* test/lisp/custom-resources/custom--test-theme.el:
	* test/lisp/dabbrev-tests.el:
	* test/lisp/emulation/viper-tests.el:
	* test/lisp/erc/erc-track-tests.el:
	* test/lisp/gnus/gnus-tests.el:
	* test/lisp/imenu-tests.el:
	* test/lisp/info-xref-tests.el:
	* test/lisp/jit-lock-tests.el:
	* test/lisp/json-tests.el:
	* test/lisp/man-tests.el:
	* test/lisp/replace-tests.el:
	* test/lisp/shadowfile-tests.el:
	* test/lisp/subr-tests.el:
	* test/lisp/thingatpt-tests.el:
	* test/lisp/xml-tests.el: Use lexical-binding.

	* test/lisp/man-tests.el (man-tests-filter-strings):
	* test/lisp/shadowfile-tests.el (shadow-test00-clusters)
	(shadow-test01-sites, shadow-test06-literal-groups)
	(shadow-test07-regexp-groups, shadow-test09-shadow-copy-files):
	Silence byte-compiler.

2020-04-30  Michael Heerdegen  <michael_heerdegen@web.de>

	Make `make-local-variable' declare the var locally dynamic

	The only effect of this change is to get rid of some unnecessary
	"assignment to free variable" warnings.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-make-local-variable): New
	function.

2020-04-30  Mattias Engdegård  <mattiase@acm.org>

	Fix calculator division truncation (bug#40892)

	* lisp/calculator.el (calculator-string-to-number): Convert decimal
	numbers input to float, fixing a regression introduced in f248292ede.
	Reported by Aitor Soroa.

2020-04-30  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in most remaining emacs-lisp tests

	* test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
	* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:
	* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
	* test/lisp/emacs-lisp/faceup-resources/faceup-test-mode.el:
	* test/lisp/emacs-lisp/faceup-resources/faceup-test-this-file-directory.el:
	* test/lisp/emacs-lisp/faceup-tests/faceup-test-basics.el:
	* test/lisp/emacs-lisp/faceup-tests/faceup-test-files.el:
	* test/lisp/emacs-lisp/package-resources/newer-versions/new-pkg-1.0.el:
	* test/lisp/emacs-lisp/package-resources/newer-versions/simple-single-1.4.el:
	* test/lisp/emacs-lisp/package-resources/simple-depend-1.0.el:
	* test/lisp/emacs-lisp/package-resources/simple-single-1.3.el:
	* test/lisp/emacs-lisp/package-resources/simple-two-depend-1.1.el:
	* test/lisp/emacs-lisp/package-tests.el:
	* test/lisp/emacs-lisp/shadow-resources/p1/foo.el:
	* test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: Use lexical-binding.

	* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
	(eitest-F, eitest-H, eitest-I, constructor, make-instance)
	(initialize-instance, CNM-M):
	* test/lisp/emacs-lisp/package-tests.el (with-package-test)
	(package-test-update-archives, package-test-signed): Silence byte-compiler.

2020-04-30  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in qp.el and add tests

	* test/lisp/mail/qp-tests.el: New file.
	* lisp/mail/qp.el: Use lexical-binding.

2020-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new function dom-remove-attribute

	* doc/lispref/text.texi (Document Object Model): Document it.

	* lisp/dom.el (dom-remove-attribute): Add new function.

2020-04-29  Andrea Corallo  <akrl@sdf.org>

	Fix async compilation non respecting `comp-always-compile' nil value.

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Fix missing
	`comp-output-filename' usage.

2020-04-29  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-04-29  Stephen Gildea  <stepheng+emacs@gildea.com>

	Test iso8601-parse-zone vs format-time-string %z

	* test/lisp/calendar/iso8601-tests.el
	(iso8601-format-time-string-zone-round-trip): New unit test that
	format-time-string %z and iso8601-parse-zone are inverses.
	(test-iso8601-format-time-string-zone-round-trip): New helper function.

2020-04-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	2f9bfaef21 (origin/emacs-27) ; Fix last change
	520fd3e728 * lisp/env.el (substitute-env-vars): Doc fix.  (Bug#40948)
	85544f8ef5 * lisp/isearch.el: Fix lazy-highlighting and lazy-counting...
	d83cc05a73 Fix error in ERC when 'erc-server-coding-system' is custom...
	16fed05ba8 Avoid crashes on TTY frames with over-long compositions
	0278741676 Fix typo in custom.texi
	9f5ae717fb * test/lisp/simple-tests.el (with-shell-command-dont-erase...
	1f76a16ed3 * lisp/image-mode.el (image-mode-map): Update menu items.
	f0e1bf56f0 Fix bugs in tab-bar and tab-line and mention remaining fea...
	f0b9f18457 Make shell-command tests fit for tcsh.
	68f4a740a1 Remove doc duplication
	ac31cd384c * etc/NEWS: Fix inconsistencies.

	# Conflicts:
	#	etc/NEWS

2020-04-29  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in most eshell tests

	* test/lisp/eshell/em-hist-tests.el:
	* test/lisp/eshell/em-ls-tests.el:
	* test/lisp/eshell/esh-opt-tests.el: Use lexical-binding.

2020-04-29  Stefan Kangas  <stefankangas@gmail.com>

	Add new tests to bindat-tests.el

	* test/lisp/emacs-lisp/bindat-tests.el (bindat-test-format-vector)
	(bindat-test-vector-to-dec, bindat-test-vector-to-hex)
	(bindat-test-ip-to-string): New tests.
	* lisp/emacs-lisp/bindat.el (bindat-vector-to-hex): Fix typo.

2020-04-29  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in float-sup.el and add tests

	* lisp/emacs-lisp/float-sup.el: Use lexical-binding.
	* test/lisp/emacs-lisp/float-sup-tests.el: New file.

2020-04-28  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in rfc2368.el and add tests

	* lisp/mail/rfc2368.el: Use lexical-binding.
	* test/lisp/mail/rfc2368-tests.el: New file.

2020-04-28  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in version.el and add tests

	* lisp/version.el: Use lexical-binding.
	* test/lisp/version-tests.el: New file.

2020-04-28  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in puny.el and add more tests

	* lisp/net/puny.el: Use lexical-binding.
	* test/lisp/net/puny-tests.el (puny-test-encode-domain)
	(puny-test-decode-domain, puny-highly-restrictive-domain-p): New
	tests.

2020-04-28  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in hmac-md5.el and add tests

	* lisp/net/hmac-md5.el: Use lexical-binding.
	* test/lisp/net/hmac-md5-tests.el: New file.

2020-04-28  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in many emacs-lisp tests

	* test/lisp/emacs-lisp/bytecomp-tests.el:
	* test/lisp/emacs-lisp/ert-x-tests.el:
	* test/lisp/emacs-lisp/nadvice-tests.el:
	* test/lisp/emacs-lisp/pcase-tests.el:
	* test/lisp/emacs-lisp/seq-tests.el:
	* test/lisp/emacs-lisp/subr-x-tests.el:
	* test/lisp/emacs-lisp/text-property-search-tests.el: Use
	lexical-binding.

	* test/lisp/emacs-lisp/seq-tests.el (test-seq-filter)
	(test-seq-remove, test-seq-count, test-seq-every-p): Silence
	byte-compiler.

2020-04-28  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in most semantic tests

	* test/lisp/cedet/semantic-utest-fmt.el:
	* test/lisp/cedet/semantic-utest-ia.el:
	* test/lisp/cedet/semantic-utest.el:
	* test/lisp/cedet/srecode-utest-getset.el:
	* test/lisp/cedet/srecode-utest-template.el: Use lexical-binding.

	* test/lisp/cedet/semantic-utest-fmt.el (semantic-fmt-utest):
	* test/lisp/cedet/semantic-utest.el (semantic-utest-generic)
	(semantic-utest-Python, semantic-utest-Javascript)
	(semantic-utest-Java, semantic-utest-Makefile)
	(semantic-utest-Scheme, semantic-utest-Html, semantic-utest-PHP)
	(semantic-utest-Csharp, semantic-utest-last-invalid):
	* test/lisp/cedet/semantic-utest-ia.el (semantic-ia-utest-buffer)
	(semantic-symref-test-count-hits-in-tag):
	* test/lisp/cedet/srecode-utest-getset.el
	(srecode-insert-getset-fully-automatic-flag): Silence
	byte-compiler.

2020-04-28  Stefan Kangas  <stefankangas@gmail.com>

	Don't skip test semantic-utest-Python

	* test/lisp/cedet/semantic-utest.el (semantic-utest-Python):
	Ensure test is not skipped.

2020-04-28  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in most progmodes tests

	* test/lisp/progmodes/etags-tests.el:
	* test/lisp/progmodes/f90-tests.el:
	* test/lisp/progmodes/ps-mode-tests.el:
	* test/lisp/progmodes/python-tests.el:
	* test/lisp/progmodes/ruby-mode-tests.el:
	* test/lisp/progmodes/subword-tests.el:
	* test/lisp/progmodes/tcl-tests.el:
	* test/lisp/progmodes/xref-tests.el: Use lexical-binding.

	* test/lisp/progmodes/python-tests.el (python-tests-visible-string)
	(python-tests-look-at-1, python-tests-look-at-2)
	(python-shell-calculate-process-environment-2): Silence byte-compiler.

2020-04-28  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in most vc tests

	* test/lisp/vc/add-log-tests.el:
	* test/lisp/vc/diff-mode-tests.el:
	* test/lisp/vc/ediff-ptch-tests.el:
	* test/lisp/vc/smerge-mode-tests.el:
	* test/lisp/vc/vc-hg-tests.el:
	* test/lisp/vc/vc-tests.el: Use lexical-binding.

	* test/lisp/vc/add-log-tests.el
	(add-log-current-defun-deftest): Silence byte-compiler.

2020-04-28  Paul Eggert  <eggert@cs.ucla.edu>

	Improve multibyte_length performance

	* src/character.h (multibyte_length):
	Merge tests so that there are fewer conditional branches.
	This improved CPU speed of ‘make compile-always’
	by about 1.5% on my platform.

2020-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/jit-lock.el: Don't use `make-variable-buffer-local` on hooks.

	(jit-lock-functions): Clarify that it's a hook.
	(jit-lock-unregister): Adjust accordingly.

2020-04-27  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in calendar tests

	* test/lisp/calendar/icalendar-tests.el:
	* test/lisp/calendar/parse-time-tests.el: Use lexical-binding.

	* test/lisp/calendar/icalendar-tests.el (icalendar--format-ical-event)
	(icalendar--decode-isodatetime, icalendar-tests--do-test-import)
	(icalendar-tests--decode-isodatetime): Silence byte-compiler.

2020-04-27  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify string-to-char

	* src/editfns.c (Fstring_to_char): Simplify.

	* src/editfns.c (Fstring_to_char): Simplify.

	This tweak improved the CPU time performance of
	‘make compile-always’ by about 1.8% on my platform.

2020-04-27  Paul Eggert  <eggert@cs.ucla.edu>

	Improve string_char_and_length speed

	This tweak improved the CPU time performance of
	‘make compile-always’ by about 1.7% on my platform.
	* src/character.c (string_char): Remove; no longer used.
	* src/character.h (string_char_and_length): Redo so that it
	needn’t call string_char.  This helps the caller, which can now
	become a leaf function.

2020-04-27  Glenn Morris  <rgm@gnu.org>

	* test/lisp/mail/rfc2045-tests.el: Make it work.

2020-04-26  Andrea Corallo  <akrl@sdf.org>

	Rework spill LAP mechanism in preparation of compiling lambdas.

	* lisp/emacs-lisp/comp.el (comp-spill-lap-function): No need anymore
	to have `byte-native-compiling' bound to free-func.
	(comp-spill-lap-function): Make use of `byte-to-native-lap-h' and
	clean-up.
	(comp-spill-lap-function): Likewise.

	* lisp/emacs-lisp/bytecomp.el (byte-to-native-function): Add lap slot.
	(byte-to-native-lap): Rename into byte-to-native-lap-h.
	(byte-compile-lapcode): Spill lap after having int assembled and
	store it into `byte-to-native-lap-h'.
	(byte-compile-not-top-level): Remove.
	(byte-compile-file-form-defmumble): Fill directly lap slot.
	(byte-compile-lambda): Remove `byte-compile-not-top-level'.
	(byte-compile-out-toplevel): Restore original code.
	(byte-compile-form): Remove `byte-compile-not-top-level'.
	(byte-compile-function-form): Likewise.
	(byte-compile-flush-pending): No need anymore to set
	`byte-compile-current-form' so restore original code.

2020-04-26  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding for themes

	* etc/themes/adwaita-theme.el:
	* etc/themes/deeper-blue-theme.el:
	* etc/themes/dichromacy-theme.el:
	* etc/themes/light-blue-theme.el:
	* etc/themes/manoj-dark-theme.el:
	* etc/themes/misterioso-theme.el:
	* etc/themes/tango-dark-theme.el:
	* etc/themes/tango-theme.el:
	* etc/themes/tsdh-dark-theme.el:
	* etc/themes/tsdh-light-theme.el:
	* etc/themes/wheatgrass-theme.el:
	* etc/themes/whiteboard-theme.el:
	* etc/themes/wombat-theme.el: Use lexical-binding.

2020-04-26  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in dos-vars.el

	* lisp/dos-vars.el: Use lexical-binding.
	(msdos-shells, dos-codepage-setup-hook): Remove redundant :group
	args.

2020-04-26  Michael Albinus  <michael.albinus@gmx.de>

	Fix tramp-test32-shell-command-dont-erase-buffer

	* test/lisp/net/tramp-tests.el
	(tramp-test32-shell-command-dont-erase-buffer): Adapt test.

2020-04-26  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-04-26  Andrea Corallo  <akrl@sdf.org>

	Convert before final function doc hash into a vector.

	* lisp/emacs-lisp/comp.el (comp-finalize-relocs): Convert doc hash
	table into vector before final.
	(comp-emit-for-top-level): Rename `comp-ctxt-doc-index-h' ->
	`comp-ctxt-function-docs'.
	(comp-ctxt): Likewise.

	* src/comp.c (native_function_doc): Update logic for documentation
	being a vector.
	(emit_ctxt_code): Update for 'comp-ctxt-doc-index-h' slot rename.

	* src/comp.h (struct Lisp_Native_Comp_Unit): Rename 'data_fdoc_h'
	into data_fdoc_v.

	* src/pdumper.c (dump_native_comp_unit): Likewise.

2020-04-26  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in spook.el

	* lisp/play/spook.el: Use lexical-binding.
	(spook-phrases-file, spook-phrase-default-count): Remove redundant
	:group args.

2020-04-26  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding for rfc2045.el and add tests

	* lisp/mail/rfc2045.el: Use-lexical-binding.
	* test/lisp/mail/rfc2045-tests.el: New file.

2020-04-26  Paul Eggert  <eggert@cs.ucla.edu>

	Inline a couple of functions that were macros

	This reclaims a bit of performance when compiling with gcc -Og.
	These functions were macros until I changed them in
	2020-04-17T14:57:25Z!eggert@cs.ucla.edu.
	* src/casefiddle.c (make_char_unibyte):
	* src/ccl.c (GET_TRANSLATION_TABLE): Now inline.

2020-04-26  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in dig.el and add tests

	* lisp/net/dig.el: Use lexical-binding.
	(dig-program, dig-dns-server, dig-font-lock-keywords): Remove
	redundant :group args.
	* test/lisp/net/dig-tests.el: New file.

2020-04-26  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in misc.el and add tests

	* lisp/misc.el: Use lexical-binding.
	* test/lisp/misc-tests.el: New file.

2020-04-25  Stefan Kangas  <stefankangas@gmail.com>

	Improve list-dynamic-libraries when alist empty

	* lisp/misc.el (list-dynamic-libraries--refresh): Improve list format
	and show message when 'dynamic-library-alist' is empty.

2020-04-25  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

	* src/data.c (syms_of_data): Fix #ifdef HAVE_NATIVE_COMP position.

	* src/comp.h (Fnative_elisp_load): Add fake inline for stock build.

	* src/pdumper.c (dump_subr): Clean-up now unnecessary kludge.

2020-04-25  Andrea Corallo  <akrl@sdf.org>

	Lazy load function documentation.

	* src/comp.c (native_function_doc): New function.
	(load_comp_unit): Do not load function doc during load.

	* src/comp.h: Extern 'native_function_doc'.

	* src/doc.c (Fdocumentation): Call 'native_function_doc' to
	retrieve function doc.

	* src/pdumper.c (dump_native_comp_unit): Zero 'data_fdoc_h' before
	dumping.

2020-04-25  Andrea Corallo  <akrl@sdf.org>

	* src/comp.h (load_comp_unit): Fix declaration style.

2020-04-25  Andrea Corallo  <akrl@sdf.org>

	Rename TEXT_OPTIM_QLY into TEXT_OPTIM_QLY_SYM.

	* src/comp.c (TEXT_OPTIM_QLY): Rename into TEXT_OPTIM_QLY_SYM.
	(emit_ctxt_code): Update TEXT_OPTIM_QLY naming.
	(load_comp_unit): Likewise.

2020-04-25  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (declare_function): fix missing NILP.

2020-04-25  Andrea Corallo  <akrl@sdf.org>

	Store function documentations in a hash table.

	* src/pdumper.c (dump_subr): Update Lisp_Subr hash.
	(dump_subr): Update for new compilation unit layout.
	(dump_vectorlike): Update pvec_type hash.

	* src/lisp.h (struct Lisp_Subr): Remove 'native_doc' index.
	(DEFUN): Update macro for new compilation unit
	layout.

	* src/doc.c (Fdocumentation): Update for new compilation unit
	layout.

	* src/comp.h (struct Lisp_Native_Comp_Unit):
	Add 'data_fdoc_h' field.

	* src/comp.c (TEXT_FDOC_SYM): New macro.
	(emit_ctxt_code): Emit function documentations.
	(load_comp_unit): Load function documentation.
	(Fcomp__register_subr): Rename parameter.
	(Fcomp__register_subr): Update for new compilation unit
	layout.

	* src/alloc.c (mark_object): Update for new compilation unit
	layout.
	(syms_of_alloc): Likewise.

	* lisp/emacs-lisp/comp.el (comp-ctxt): Add doc-index-h slot.
	(comp-emit-for-top-level): Emit doc index as 'comp--register-subr'
	doc parameter.

2020-04-25  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Use `clrhash'.

2020-04-25  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	45a64c97c7 (origin/emacs-27) Clarify semantics of trace-function CONT...
	821760fdc4 Don't let a code literal get modified in mml parsing (Bug#...
	74a92be16d * lisp/simple.el (kill-ring-save): Doc fix.  (Bug#40797)
	3d0e859692 Minor doc clarification regarding fringe bitmaps
	4d86c7f822 Fix documentation of fringe bitmaps
	a76af88dd8 Tweak mutability doc a bit more
	f7e488d206 Calc: fix autoload errors (bug#40800)
	369761b36d ; * src/xdisp.c: Improve the introductory commentary.
	a92ca1f177 Improve indexing of ELisp manual
	5a25d17760 * lisp/image-mode.el (image-transform-resize): Remove FIXM...
	37ebec3a95 Improve the default value of 'doc-view-ghostscript-program'.
	ba6104d1e8 Change doc-view-mode-map prefix key 's' to 'c'.
	400ff5cd19 Improve wording about constants
	d2836fe71b Improve the default value of 'doc-view-ghostscript-program'.
	fc55f65305 Minor improvements in documentation of the last change
	a64da75961 Add image-auto-resize defcustoms to image-mode.el
	692ad40539 Improve the documentation of tab-bar and tab-line

	# Conflicts:
	#	etc/NEWS

2020-04-25  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-04-25  Andrea Corallo  <akrl@sdf.org>

	Fix deferred-compilation for double compilation (bug#40838).

	* lisp/emacs-lisp/comp.el (native-compile-async): Prevent double
	compilation (bug#40838).

2020-04-25  Andrea Corallo  <akrl@sdf.org>

	Store ongoing compilations processes as hash table.

	* lisp/emacs-lisp/comp.el (comp-async-processes): Rename as
	`comp-async-compilations'.
	(comp-async-runnings): Make use as `comp-async-compilations'.
	(comp-run-async-workers): Likewise.

2020-04-25  Eli Zaretskii  <eliz@gnu.org>

	Fix GDI+ image loading by file name

	Without a call to image_find_image, we can get a file name that
	is relative to data-directory/images/, or a file name that
	starts with "~/", in which case w32_load_image would fail.
	* src/image.c (native_image_load): Call image_find_image_file to
	resolve and encode the image file name.
	* src/w32image.c (w32_load_image): No need to encode the file
	name, as it's already encoded by native_image_load.

2020-04-25  Igor Saprykin  <sheleztt@gmail.com>  (tiny change)

	Remove unused variable from ftfont.c

	* src/ftfont.c (ftfont_lookup_cache): Eliminate unnecessary variable.

2020-04-25  Eli Zaretskii  <eliz@gnu.org>

	Fix two fringe bitmaps

	* src/fringe.c (question_mark_bits, exclamation_mark_bits): Fix
	the numerical values.  (Bug#40805)

2020-04-25  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in po.el and add tests

	* lisp/textmodes/po.el: Use lexical-binding.

	* test/lisp/textmodes/po-tests.el: New file with tests for po.el.

2020-04-25  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in forms.el example files

	* etc/forms/forms-d2.el:
	* etc/forms/forms-pass.el: Use lexical-binding.

2020-04-24  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding for international tests

	* test/lisp/international/mule-util-tests.el:
	* test/lisp/international/ccl-tests.el: Use lexical-binding.

2020-04-24  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding for all net tests

	* test/lisp/net/dbus-tests.el:
	* test/lisp/net/gnutls-tests.el:
	* test/lisp/net/newsticker-tests.el:
	* test/lisp/net/puny-tests.el:
	* test/lisp/net/rfc2104-tests.el: Use lexical-binding.

2020-04-24  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding for textmodes tests

	* test/lisp/textmodes/mhtml-mode-tests.el:
	* test/lisp/textmodes/sgml-mode-tests.el: Use lexical-binding.

2020-04-24  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in most url tests

	* test/lisp/url/url-auth-tests.el:
	* test/lisp/url/url-expand-tests.el:
	* test/lisp/url/url-parse-tests.el:
	* test/lisp/url/url-tramp-tests.el:
	* test/lisp/url/url-util-tests.el: Use lexical-binding.

2020-04-24  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in most src tests

	* test/src/charset-tests.el:
	* test/src/chartab-tests.el:
	* test/src/cmds-tests.el:
	* test/src/coding-tests.el (top-level)
	(generate-ascii-file, generate-mostly-nonascii-file):
	* test/src/doc-tests.el:
	* test/src/floatfns-tests.el:
	* test/src/font-tests.el:
	* test/src/keymap-tests.el:
	* test/src/process-tests.el (top-level)
	(process-test-sentinel-wait-function-working-p)
	(process-test-stderr-buffer, process-test-stderr-filter):
	* test/src/textprop-tests.el:
	* test/src/thread-tests.el:
	* test/src/timefns-tests.el:
	* test/src/undo-tests.el:
	* test/src/xml-tests.el: Use lexical-binding.

2020-04-24  Alan Mackenzie  <acm@muc.de>

	Fix bug #40766, an error in edebug spec handling

	Also remove some debris.

	* lisp/emacs-lisp/edebug.el (edebug-spec): Move the entry for edebug-spec-list
	to before that for vector in the &or form.  This assures that in a dotted list
	of vectors, that list gets handled correctly by edebug-spec-list rather than
	wrongly by (vector ...).
	(def-edebug-spec &key): Remove, since it is ill formed and superfluous.

2020-04-24  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

	* lisp/subr.el (called-interactively-p): Fix for native code bug#40694.

	* lisp/subr.el (subr-primitive-p): New inline function.

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Fix non late load.

2020-04-24  Stefan Kangas  <stefankangas@gmail.com>

	* etc/edt-user.el: Use lexical-binding.

	* lisp/kermit.el: Use lexical-binding.

2020-04-24  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el

	(tramp-test32-shell-command-dont-erase-buffer): Tag it :unstable.

2020-04-23  Eli Zaretskii  <eliz@gnu.org>

	Fix display of composed text with :box face attribute

	* src/xdisp.c (get_next_display_element): For a composition on a
	display or overlay string, set the end_of_box_run_p flag if the
	string ends at the last character included in the composition.
	(fill_gstring_glyph_string): Fix the way the width of a gstring
	glyph string is calculated: use the values calculated in
	gui_produce_glyphs, since the latter adjusts the width due to the
	face's ':box' attribute.
	* src/xterm.c (x_draw_glyph_string_box):
	* src/w32term.c (w32_draw_glyph_string_box):
	* src/nsterm.m (ns_dumpglyphs_box_or_relief): Support automatic
	compositions, which have the right_box_line_p flag set on the last
	glyph produced from the composition.  (Bug#40687)

	* src/w32term.c (w32_compute_glyph_string_overhangs): Update to be
	consistent with xterm.c in its support of automatic composition
	glyph strings.
	* src/dispextern.h (enum glyph_type): More accurate commentary.
	* src/.gdbinit (pgx): Display slice.img members only for image
	glyphs.

2020-04-23  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): Add comp.eln

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-04-23  Paul Eggert  <eggert@cs.ucla.edu>

	text-char-description minor cleanup

	* src/keymap.c (push_text_char_description): Omit useless code.
	(Ftext_char_description): Minor code cleanup, inspired by
	seeing an incorrect comment about MAX_MULTIBYTE_LENGTH’s value.

2020-04-23  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak multibyte parsing loops

	* src/character.c (parse_str_as_multibyte, str_as_multibyte):
	Let the fast loop run a little longer, fixing what appears
	to be an off-by-1 performance nit.

2020-04-22  Michael Albinus  <michael.albinus@gmx.de>

	Support old SMB1 protocol in Tramp

	* doc/misc/tramp.texi (Frequently Asked Questions):
	Describe `tramp-smb-options'.

	* lisp/net/tramp-smb.el (tramp-smb-conf): Fix docstring.
	(tramp-smb-options): New defcustom.
	(tramp-smb-handle-copy-directory, tramp-smb-handle-file-acl)
	(tramp-smb-handle-set-file-acl, tramp-smb-maybe-open-connection):
	Use it.

2020-04-21  Michael Albinus  <michael.albinus@gmx.de>

	Fix recently introduced error in `tramp-sh-handle-vc-registered'

	* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Improve test for
	`vc-handled-backends'.  (Bug#40670)

2020-04-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix string-to-multibyte overlong sequence bug

	* src/character.h (MULTIBYTE_LENGTH, MULTIBYTE_LENGTH_NO_CHECK):
	Remove, replacing with ...
	(multibyte_length): ... this new function.  All callers changed.
	The new function rejects overlong multibyte forms.
	* test/src/buffer-tests.el (buffer-multibyte-overlong-sequences):
	New test.

2020-04-21  Juri Linkov  <juri@linkov.net>

	* lisp/hi-lock.el (hi-lock--regexps-at-point): Use proper-list-p, not consp.

2020-04-20  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Remove unnecessary lambda quoting

	* lisp/gnus/nntp.el (nntp-open-connection): Buffer has lexical-binding
	turned on.

2020-04-20  Eli Zaretskii  <eliz@gnu.org>

	Remove workaround from w32image.c

	* src/w32image.c (w32_load_image): Remove a workaround for a bug
	that is not needed anymore.  This error was happening because
	GDI+ functions were called as CDECL, not as STDCALL.

2020-04-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	05089a4d65 (origin/emacs-27) Tweak wording re constant variables
	a1040861f1 Tweak setcar-related wording
	751510f865 * lisp/image-mode.el: Add prefix key 's' and reduce depend...
	9261a219ec * doc/emacs/windows.texi (Window Convenience): Describe mor...
	e1d42da0d6 Fix mutability glitches reported by Drew Adams
	5805df74f5 Improve mutability doc
	dca35b31d0 Improve mutability documentation
	81e7d7f111 Document that quoting yields constants
	5734339f40 * doc/lispref/keymaps.texi (Extended Menu Items, Easy Menu...
	14a570afae Remove #' and function quoting from lambda forms in manual
	d5ec18c66b * src/regex-emacs.c (re_match_2_internal): Rework comment ...
	4df8a61117 Add new node "Image Mode" to Emacs Manual.
	d7d5ee6c57 ; Fix a typo in cmdargs.texi (bug#40701)
	5e9db48fbe * doc/lispref/display.texi (Customizing Bitmaps): Fix typo.
	eebfb72c90 Document constant vs mutable objects better
	6c187ed6b0 Improve documentation of 'sort-lines'
	52288f4b66 Mention 'spam-stat-process-directory-age' in the documenta...
	067b070598 ; Fix some typos and doc issues (bug#40695)

	# Conflicts:
	#	etc/NEWS

2020-04-20  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/cdl.el: Use lexical binding.

2020-04-20  Stefan Kangas  <stefankangas@gmail.com>

	Silence byte-compiler after my previous commit

	* lisp/autoarg.el (autoarg-kp-digits): Silence byte-compiler.

2020-04-19  Eli Zaretskii  <eliz@gnu.org>

	Rework how GDI+ functions are loaded dynamically in w32image.c

	* src/w32image.c: Define correct WINGDIPAPI typedefs for GDI+
	functions.  We cannot use DEF_DLL_FN, since that is for functions
	with C calling conventions, whereas GDI+ functions are __stdcall.
	(gdiplus_init): Load functions from DLL manually, not via
	LOAD_DLL_FN, as the latter is for __cdecl functions.
	(w32_frame_delay): Initialize delay with a negative value, as zero
	is a valid delay.

2020-04-19  Eli Zaretskii  <eliz@gnu.org>

	Don't use Gnulib's explicit_bzero on MS-Windows

	This is a preventive change, since Gnulib was recently changed
	its explicit_bzero to call SecureZeroMemory on MS-Windows,
	disregarding systems older than XP, which didn't have it.

	* src/w32.c (explicit_bzero): New function.

	* nt/mingw-cfg.site (ac_cv_func_explicit_bzero): Avoid using the
	Gnulib replacement for explicit_bzero.
	* nt/inc/ms-w32.h (explicit_bzero): Add prototype.

2020-04-19  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in elide-head.el and add tests

	* lisp/elide-head.el: Use lexical-binding.
	(elide-head-headers-to-hide): Remove redundant :group arg.
	(elide-head-overlay): Use `defvar-local'.
	(elide-head-show): Fix docstring.

	* test/lisp/elide-head-tests.el: New file with tests for
	elide-head.el.

2020-04-19  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/autoarg.el: Use lexical binding.

2020-04-18  Ahmed Khanzada  <lenzuru@gmail.com>

	Fix misnamed variable breaking GNUstep

	* src/nsterm.m (ns_set_offset): Use correct variable.

2020-04-18  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in apropos.el and add tests

	* lisp/apropos.el: Use lexical-binding and remove redundant
	:group args.
	(apropos-words-to-regexp, apropos): Tweak docstrings.
	(apropos-value-internal): Replace '(if x (progn y))' with
	'(when x y)'.
	(apropos-format-plist): Add docstring and replace '(if x (progn y))'
	with '(when x y)'.

	* test/lisp/apropos-tests.el: New file with tests for apropos.el.

2020-04-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	f3b62b6c62 (origin/emacs-27) Avoid crashes in regex-emacs.c due to GC
	175c61c18b Fix "C-u M-!" when 'shell-command-dont-erase-buffer' is no...
	6b297519b5 Fix cl-most-positive-float doc typo
	c36c5a3ded ; lisp/ldefs-boot.el: Update.
	3876a60569 Fix a typo in calculator.el
	9e832ba91b * lisp/erc/erc.el: Add URL to the new ERC page on the Emac...

	# Conflicts:
	#	etc/NEWS

2020-04-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	145a151d62 Correct Fido-mode's backspacing of directories with spaces
	660b9b8cfb Default completion-flex-nospace to nil
	fb5f616ae8 Improve an example in w32 FAQ

2020-04-18  Eli Zaretskii  <eliz@gnu.org>

	Safeguard the fix of bug#40632

	* src/xdisp.c (move_it_to): Restrict the recent fix to iteration
	through buffer text.

2020-04-18  Eli Zaretskii  <eliz@gnu.org>

	Don't abort when using GDI+ for images

	* src/w32image.c (decode_delay): Instead of aborting when the
	type of delay value is unrecognized, return an invalid negative
	value.

2020-04-18  Juan José García-Ripoll  <juanjose.garciaripoll@gmail.com>

	Fix loading multi-frame TIFF images via GDI+

	* src/w32image.c (w32_frame_delay): Don't try to compute frame
	delay if GdipGetPropertyItemSize fails for PropertyTagFrameDelay.
	(w32_load_image): Don't add 'delay' member to metadata if the
	delay could not be determined.

2020-04-18  Martin Rudalics  <rudalics@gmx.at>

	Fix handling of child frames in prepare_menu_bars (Bug#40639)

	* src/xdisp.c (prepare_menu_bars): Call gui_consider_frame_title
	for child frames too (Bug#40639).  Never try to update menu bar
	of a child frame.  Do not exclude child frames from updating tool
	or tab bars.

2020-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent character.h changes to --with-wide-int

	* src/fns.c (mapcar1):
	* src/keymap.c (Fkey_description):
	* src/syntax.c (scan_lists):
	Prefer ptrdiff_t to EMACS_INT where either will do; this fixes
	newly-introduced type errors on --with-wide-int platforms where
	ptrdiff_t is narrower than EMACS_INT.
	* src/keymap.c (Fkey_description): Rework for clarity; remove goto.
	* src/syntax.c (scan_words, Fforward_comment, scan_lists)):
	Fix unlikely integer overflow problems that can occur on
	--with-wide-int platforms, and that were caught by the recent
	character.h changes.

2020-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc -Og x86-64

	* src/editfns.c (Ftranslate_region_internal): Add UNINIT
	to pacify gcc -Og x86-64 (GCC 9.3.1 20200317 (Red Hat 9.3.1-1)).

2020-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer more inline functions in character.h

	* src/buffer.h (fetch_char_advance, fetch_char_advance_no_check)
	(buf_next_char_len, next_char_len, buf_prev_char_len)
	(prev_char_len, inc_both, dec_both): New inline functions,
	replacing the old character.h macros FETCH_CHAR_ADVANCE,
	FETCH_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS, INC_POS, BUF_DEC_POS,
	DEC_POS, INC_BOTH, DEC_BOTH respectively.  All callers changed.
	These new functions all assume buffer primitives and so need
	to be here rather than in character.h.
	* src/casefiddle.c (make_char_unibyte): New static function,
	replacing the old MAKE_CHAR_UNIBYTE macro.  All callers changed.
	(do_casify_unibyte_string): Use SINGLE_BYTE_CHAR_P instead
	of open-coding it.
	* src/ccl.c (GET_TRANSLATION_TABLE): New static function,
	replacing the old macro of the same name.
	* src/character.c (string_char): Omit 2nd arg.  3rd arg can no
	longer be NULL.  All callers changed.
	* src/character.h (SINGLE_BYTE_CHAR_P): Move up.
	(MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE, PREV_CHAR_BOUNDARY)
	(STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE)
	(FETCH_STRING_CHAR_ADVANCE)
	(FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
	(FETCH_STRING_CHAR_ADVANCE_NO_CHECK, FETCH_CHAR_ADVANCE)
	(FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, INC_BOTH)
	(DEC_BOTH, BUF_INC_POS, BUF_DEC_POS): Remove.
	(make_char_multibyte): New static function, replacing
	the old macro MAKE_CHAR_MULTIBYTE.  All callers changed.
	(CHAR_STRING_ADVANCE): Remove; all callers changed to use
	CHAR_STRING.
	(NEXT_CHAR_BOUNDARY): Remove; it was unused.
	(raw_prev_char_len): New inline function, replacing the
	old PREV_CHAR_BOUNDARY macro.  All callers changed.
	(string_char_and_length): New inline function, replacing the
	old STRING_CHAR_AND_LENGTH macro.  All callers changed.
	(STRING_CHAR): Rewrite in terms of string_char_and_length.
	(string_char_advance): New inline function, replacing the old
	STRING_CHAR_ADVANCE macro.  All callers changed.
	(fetch_string_char_advance): New inline function, replacing the
	old FETCH_STRING_CHAR_ADVANCE macro.  All callers changed.
	(fetch_string_char_as_multibyte_advance): New inline function,
	replacing the old FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE macro.
	All callers changed.
	(fetch_string_char_advance_no_check): New inline function,
	replacing the old FETCH_STRING_CHAR_ADVANCE_NO_CHECK macro.  All
	callers changed.
	* src/regex-emacs.c (HEAD_ADDR_VSTRING): Remove; no longer used.
	* src/syntax.c (scan_lists): Use dec_bytepos instead of
	open-coding it.
	* src/xdisp.c (string_char_and_length): Rename from
	string_char_and_length to avoid name conflict with new function in
	character.h.  All callers changed.

2020-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer inline functions in character.h

	In character.h, replace macros with inline functions or enums
	when this is easy.  This improves maintainability and
	on my platform (Fedora 31 x86-64, gcc -O2) improved CPU
	performance very slightly (0.3%) on ‘make compile-always’.
	* src/buffer.h (SANE_TAB_WIDTH, CHARACTER_WIDTH):
	Move here from character.h, and make them inline functions.
	Tune CHARACTER_WIDTH so that ASCII_CHAR_WIDTH is no longer needed.
	(sanitize_tab_width, sanitize_char_width):
	Move here from character.h.
	* src/character.h (MAX_CHAR, MAX_UNICODE_CHAR, MAX_1_BYTE_CHAR)
	(MAX_2_BYTE_CHAR, MAX_3_BYTE_CHAR, MAX_4_BYTE_CHAR)
	(MAX_5_BYTE_CHAR, MIN_MULTIBYTE_LEADING_CODE)
	(MAX_MULTIBYTE_LEADING_CODE, MAX_MULTIBYTE_LENGTH):
	Now enum constants instead of macros.
	* src/character.h (CHAR_BYTES): Redo to avoid conditional branches.
	(CHAR_BYTE8_P, BYTE8_TO_CHAR, UNIBYTE_TO_CHAR, CHAR_TO_BYTE8)
	(CHAR_TO_BYTE_SAFE, CHAR_BYTE8_HEAD_P, CHARACTERP)
	(CHECK_CHARACTER, CHECK_CHARACTER_CAR, CHECK_CHARACTER_CDR)
	(CHAR_PRINTABLE_P, CHAR_BYTES, CHAR_LEADING_CODE, BYTE8_STRING)
	(LEADING_CODE_P, TRAILING_CODE_P, CHAR_HEAD_P)
	(BYTES_BY_CHAR_HEAD):
	Now inline functions instead of macros.
	(ASCII_CHAR_WIDTH): Remove; no longer used.
	* src/conf_post.h (ATTRIBUTE_PURE): New macro.
	* src/lisp.h (char_table_ref): Use it, for better inlining.
	* src/fns.c (base64_decode_1): Add now-necessary casts.

2020-04-17  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix effect-free warning in ob-screen.el while loop

	The warning was introduced and detected by an optimizer addition
	proposed in the following thread:
	https://lists.gnu.org/archive/html/emacs-devel/2019-12/msg00711.html

	* lisp/org/ob-screen.el (org-babel-screen-test): Avoid 'value
	returned from (format "...") is unused' warning by doing something
	more useful than busy string manipulation while waiting for an
	asynchronous subprocess to make the temporary file readable.

2020-04-17  Justin Timmons  <justinmtimmons@gmail.com>

	Bind 'n' and 'p' to move between symbols in apropos

	* lisp/apropos.el (apropos-next-symbol)
	(apropos-previous-symbol): New commands.
	(apropos-mode-map): Bind above commands to 'n' and 'p'.  (Bug#20694)
	* etc/NEWS: Announce the new commands.

2020-04-17  Masahiro Nakamura  <tsuucat@icloud.com>

	Fix comparing command names in strokes.el (bug#40600)

	* lisp/strokes.el (strokes-alphabetic-lessp): Simply call string-lessp
	because the cdr of the argument may be a string.

2020-04-16  Alan Third  <alan@idiocy.org>

	Use native image API for NS

	* configure.ac (NATIVE_IMAGE_API): Move above NS definitions.
	(HAVE_NATIVE_IMAGE_API): Set for NS.
	(HAVE_PNG, HAVE_JPEG, HAVE_GIF, HAVE_TIFF): Enable on NS builds.
	* src/image.c (HAVE_NS): Fix a number of #if's so they no longer rely
	on HAVE_NS.
	(PIX_MASK_DRAW): Add for HAVE_NS so libpng support will compile.
	(image_can_use_native_api):
	(native_image_load): Add NS support.
	(png_load):
	(jpeg_load):
	(tiff_load):
	(gif_load): Remove NS specific definitions.
	* src/nsimage.m (ns_can_use_native_image_api): New function.
	* src/nsterm.h: (ns_can_use_native_image_api): New function.

2020-04-16  Alan Third  <alan@idiocy.org>

	Allow dynamic choice of drawing path on NS (bug#39883)

	* src/nsterm.h (NS_DRAW_TO_BUFFER): Let this be enabled on versions
	older than 10.14.
	* src/nsterm.m (ns_update_begin):
	(ns_update_end):
	(ns_focus):
	(ns_unfocus):
	([EmacsView viewDidResize:]):
	([EmacsView createDrawingBuffer]):
	([EmacsView windowDidChangeBackingProperties:]):
	([EmacsView copyRect:to:]):
	([EmacsView wantsUpdateLayer]): Dynamically switch between drawing to a
	buffer and drawing to the screen, depending on the version of AppKit
	in use.
	([EmacsView dealloc]): We can't release the context unless
	NS_DRAW_TO_BUFFER is defined.

2020-04-16  Alan Third  <alan@idiocy.org>

	Fix NS frame resizing issues (bug#40200, bug#28872)

	* src/nsmenu.m (update_frame_tool_bar): Remove reference to
	updateFrameSize.
	* src/nsterm.h: ([EmacsView updateFrameSize]):
	([EmacsView setRows:andColumns:]): Remove unused
	method definitions.
	(NS_PARENT_WINDOW_LEFT_POS):
	(NS_PARENT_WINDOW_TOP_POS): Move to nsterm.m.
	* src/nsterm.m (ns_parent_window_rect): New function.
	(NS_PARENT_WINDOW_LEFT_POS):
	(NS_PARENT_WINDOW_TOP_POS): Move to nsterm.m and simplify.
	(ns_set_offset): Fix strange behaviors when using negative values.
	(ns_set_window_size):
	(ns_set_undecorated):
	([EmacsView windowDidResize:]):
	([EmacsView windowDidExitFullScreen]):
	(ns_judge_scroll_bars): Remove references to updateFrameSize.
	([EmacsView dealloc]): Unset resize notification and release buffer.
	([EmacsView updateFrameSize:]): Remove function.
	([EmacsView windowWillResize:toSize:]): Move some code to
	viewDidResize.
	([EmacsView viewDidResize]): New function.
	([EmacsView initFrameFromEmacs:]): Set up resize notification and move
	buffer creation until after the prerequisite objects are created.
	([EmacsView toggleFullScreen:]): Set frame to the size of the
	contentview, not the whole window, and remove reference to
	updateFrameSize.
	([EmacsView setRows:andColumns:]): Remove unused method.
	([EmacsView windowDidMove:]): Tidy up.

2020-04-16  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-never-optimize-functions): Better doc fix

2020-04-16  Mattias Engdegård  <mattiase@acm.org>

	Improve regexp in org-table-finish-edit-field

	* lisp/org/org-table.el (org-table-finish-edit-field):
	Further improvement of regexp, as suggested by Paul Eggert.

2020-04-16  Michael Albinus  <michael.albinus@gmx.de>

	Ignore D-Bus errors in tramp-gvfs.el (Bug#40655)

	* lisp/net/tramp-gvfs.el (with-tramp-dbus-call-method): Ignore D-Bus
	errors.  (Bug#40655)

2020-04-16  Alan Mackenzie  <acm@muc.de>

	(forward-comment -n): escaped newline is sometimes NOT end of comment

	* src/syntax.c (Fforward_comment) When comment-end-can-be-escaped is non-nil,
	don't attempt back_comment when point is just after an escaped newline, etc.

2020-04-16  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

	* lisp/emacs-lisp/comp.el (comp-never-optimize-functions): Add yes-or-no-p

2020-04-16  Paul Eggert  <eggert@cs.ucla.edu>

	Fix type-checking bug in vertical-motion

	* src/indent.c (Fvertical_motion): Fix bug where the type of lcols
	was checked too late.

2020-04-16  Glenn Morris  <rgm@gnu.org>

	* src/indent.c (Fvertical_motion): Fix int/Lisp_Object mix up.

2020-04-16  Mattias Engdegård  <mattiase@acm.org>

	Use directory-files-no-dot-files-regexp wherever possible

	Suggested by Paul Eggert.

	* lisp/files.el (directory-files-no-dot-files-regexp):
	Clarify semantics and purpose.
	* lisp/dired.el (dired-re-no-dot):
	Define as obsolete alias of directory-files-no-dot-files-regexp.
	(dired-delete-file):
	* lisp/gnus/gnus-util.el (gnus-delete-directory):
	* lisp/net/ange-ftp.el (ange-ftp-delete-directory):
	* lisp/obsolete/vc-arch.el (vc-arch-trim-revlib):
	* lisp/org/ob-core.el (org-babel-remove-temporary-directory):
	* lisp/vc/vc-rcs.el (vc-rcs-unregister):
	Use directory-files-no-dot-files-regexp.

2020-04-16  Mattias Engdegård  <mattiase@acm.org>

	Quote semanticdb-ebrowse-default-file-name in regexp

	Noticed by Andreas Schwab.

	* lisp/cedet/semantic/db-ebrowse.el (semanticdb-load-ebrowse-caches):
	Quote file name in regexp.

2020-04-16  Mattias Engdegård  <mattiase@acm.org>

	Fix bugs, inefficiencies and bad style in regexps

	Found by relint.  See discussion at
	https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00265.html

	* lisp/org/org-table.el (org-table-finish-edit-field):
	* lisp/arc-mode.el (archive-rar-summarize):
	Avoid wrapped subsumption in repeated sequences.
	* lisp/erc/erc-dcc.el (erc-dcc-ctcp-query-send-regexp): Replace
	inefficient repeated empty-matching expression with a plain greedy
	form.
	(erc-dcc-handle-ctcp-send): Adjust group numbers.
	* lisp/net/puny.el (puny-encode-domain): Fix fast-path shortcut
	pattern so that it actually works as intended.
	* lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp):
	* lisp/vc/diff-mode.el (diff-imenu-generic-expression):
	Remove superfluous backslashes.
	* lisp/progmodes/scheme.el (scheme-imenu-generic-expression):
	Correct confused definition-matching pattern which would match more
	than intended.
	* lisp/textmodes/sgml-mode.el (sgml-tag-name-re): Avoid inefficient
	matching by using the fact that the first character cannot match the
	last char of sgml-name-re.

2020-04-16  Mattias Engdegård  <mattiase@acm.org>

	Regularize some file-matching regexps

	* admin/authors.el (authors-obsolete-files-regexps)
	(authors-renamed-files-regexps): Replace ^ and $ with \` and \'.

2020-04-16  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warning in indent.c

	* src/indent.c (Fvertical_motion): Avoid compilation warning.
	Reported by Juanma Barranquero <lekktu@gmail.com>.

2020-04-16  Eli Zaretskii  <eliz@gnu.org>

	File-handling cleanup in w32image.c

	* src/w32image.c (w32_load_image): Encode the image file name and
	convert it via 'map_w32_filename'.  No need to do anything special
	when 'w32_unicode_filenames' is zero, since file names are in
	UTF-8 internally, and this code will never run on Windows 9X.
	* src/w32.h (map_w32_filename): Add prototype; removed prototypes
	from all *.c files.

2020-04-15  Andrea Corallo  <akrl@sdf.org>

	* lisp/subr.el (eval-after-load): Make use of load-true-file-name bug#40638

2020-04-15  Eli Zaretskii  <eliz@gnu.org>

	Fix retrieval of frame delay when using GDI+

	* src/w32image.c (enum PropertyItem_type): New enumeration.
	(decode_delay): New function.
	(w32_frame_delay): Call 'decode_delay' to retrieve the frame delay
	from image data.

2020-04-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	a5f7c26907 (origin/emacs-27) * admin/authors.el: Add an author alias.
	d87a4d1f4e Limit RLIMIT_NOFILE to FD_SETSIZE on macOS
	e5ca8e5e73 Fix Elisp manual entry on 'set-window-configuration'
	485f24223f ; Update ChangeLog.3
	8f200254fb ; Update etc/AUTHORS
	c7adc851ad * admin/authors.el: Add missing author aliases.
	4acdd7fe58 Fix edge case errors in filename-matching regexps
	5f36e21fe5 Clarify the doc string of 'yank'
	13301d4266 New function erc-track-switch-buffer-other-window
	38f7538d8f New function erc-switch-to-buffer-other-window

	# Conflicts:
	#	etc/NEWS

2020-04-15  Eli Zaretskii  <eliz@gnu.org>

	Fix small glitches in documenting the native image API feature

	* etc/NEWS: Fix wording of the entry for native image API support.
	Reported by Juanma Barranquero <lekktu@gmail.com>.

	* configure.ac (native-image-api): Fix the "--help" description.

2020-04-15  Eli Zaretskii  <eliz@gnu.org>

	Avoid infloop in redisplay when wrap-prefix is too wide

	* src/xdisp.c (move_it_to): Avoid infloop due to wrap-prefix that
	is wide enough to leave no space to display even the first
	character of the continuation line.  (Bug#40632)

2020-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/htmlfontify.el: Use `font-lock-ensure` unconditionally

	Remove redundant `:group`s.

	(hfy-force-fontification): Make it an obsolete alias for `font-lock-ensure`.
	Update all callers.
	(hfy-init-kludge-hooks, hfy-init-kludge-hook): Remove vars, not used any more.
	(hfy-kludge-cperl-mode): Declare it obsolete.

2020-04-14  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warning in image.c

	* src/image.c (image_can_use_native_api): Avoid compiler warnings
	by making this function conditioned on HAVE_NATIVE_IMAGE_API.
	(initialize_image_type): Call image_can_use_native_api only if
	HAVE_NATIVE_IMAGE_API is non-zero.  Reported by Basil
	L. Contovounesios <contovob@tcd.ie>.

2020-04-14  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-04-14  Andrea Corallo  <akrl@sdf.org>

	Always set `load-true-file-name' where `load-file-name' is set too.

	Fix bug#40620.

	* lisp/cus-dep.el (custom-make-dependencies): Set
	load-true-file-name.

	* lisp/emacs-lisp/package.el (package-quickstart-refresh):
	Likewise.

	* lisp/international/mule.el (load-with-code-conversion):
	Likewise.

	* lisp/loadup.el (load-true-file-name): Likewise.

2020-04-14  Eli Zaretskii  <eliz@gnu.org>

	Make use of MS-Windows native image API be selectable at run time

	* configure.ac: Minor cleanup in how w32image.o is added to the
	build when native image APIs are requested.

	* src/w32gui.h (w32_load_image, w32_can_use_native_image_api)
	(w32_gdiplus_shutdown): Move prototypes from w32term.h here, since
	w32.c doesn't include w32term.h.
	* src/image.c (struct image_type): No need to pass TYPE to the
	'valid_p' method.  All callers changed.
	(initialize_image_type) [HAVE_NATIVE_IMAGE_API]: Call
	'image_can_use_native_api' before trying image-specific methods.
	(image_can_use_native_api): New function.
	(image_types): Remove the native_image_type parts.
	(syms_of_image): New symbol 'native-image'.
	(parse_image_spec): Accept native-image "type" for any image type.
	* src/w32term.c (syms_of_w32term): New variable
	'w32-use-native-image-API'.
	* src/w32image.c: (w32_can_use_native_image_api): New function.
	(gdiplus_init): Rename from w32_gdiplus_startup. Simplify code.
	Move the call to GdiplusStartup to a separate function.  Use
	ordinal number for SHCreateMemStream if cannot load it by name.
	(w32_load_image): Ignore Win32Error status from
	w32_select_active_frame.
	Move DEFSYMs from here...
	* src/image.c (syms_of_image) [HAVE_NATIVE_IMAGE_API]: ...to here.

	* etc/NEWS: Update the entry about native image API use.

2020-04-14  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (native-compile-async): Better error message.

2020-04-14  Juan José García-Ripoll  <juanjose.garciaripoll@gmail.com>

	Initial version of native image API support for MS-Windows

	* src/w32image.c: New file.
	* src/w32term.h: Add prototypes of 'w32_load_image',
	'w32_gdiplus_startup', 'w32_gdiplus_shutdown', and
	'w32_query_frame_background_color'.
	* src/w32term.c (w32_query_frame_background_color): No longer
	static.
	* src/w32.c (term_ntproc) [HAVE_GDIPLUS]: Call
	'w32_gdiplus_shutdown'.
	* src/image.c (struct image_type) <valid_p>: Accept an additional
	argument, the image type.  All implementations changed.
	(init_native_image_functions, native_image_p, native_image_load)
	[HAVE_NATIVE_IMAGE_API]: New methods for "native image type".
	(initialize_image_type) [HAVE_NATIVE_IMAGE_API]: Call
	'init_native_image_functions'.
	(image_types) [HAVE_NATIVE_IMAGE_API]: Add settings for native
	image API.
	(lookup_image_type) [HAVE_NATIVE_IMAGE_API]: Initialize native
	functions if needed.

	* lisp/term/w32-win.el (dynamic-library-alist): Add gdiplus and
	shlwapi.

	* etc/NEWS: Announce the new feature.

	* configure.ac (native-image-api): New option, OFF by default.
	(HAVE_NATIVE_IMAGE_API): If native-image-api is selected, add
	w32image.o to W32_OBJ.

2020-04-14  Juri Linkov  <juri@linkov.net>

	Fix hi-lock test and add new test for unhighlight (bug#40337)

	* lisp/hi-lock.el (hi-lock-unface-buffer): Use hi-lock--hashcons
	only on strings, not lists.

	* test/lisp/hi-lock-tests.el (hi-lock-bug26666): Revert previous change,
	use "a" instead of "b".
	(hi-lock-unhighlight): New test.

2020-04-14  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc.el (vc-deduce-fileset): Improve docstring (bug#34949).

2020-04-13  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-finalize-relocs): Better commentary.

2020-04-13  Andrea Corallo  <akrl@sdf.org>

	Fix native-compile-async for bug#40602.

	* lisp/emacs-lisp/comp.el (native-compile-async): Relax coherency condition.

2020-04-13  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-04-13  Andrea Corallo  <akrl@sdf.org>

	* src/lread.c (Fload): Clean-up unnecessary sanity check.

	'is_native_elisp' can't be non zero if NATIVE_COMP_FLAG is not set.

2020-04-13  Andrea Corallo  <akrl@sdf.org>

	Fix function find mechanism for installed instance.

	* src/lread.c (parent_directory): New function.
	(Fload): Make use of 'parent_directory' and fix load-history
	build-up with relative paths.

2020-04-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	f84aed5fd2 (origin/emacs-27) Clarify documentation on inhibit-modific...

2020-04-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	1dfc497fac Minor wording change in Introduction to Programming in Ema...
	ff09b4eeac Fix 'flymake-show-diagnostics-buffer' when line numbers ar...
	63e8d0ea87 Fix last changes describing mail commands
	01212a762f Do setup Flymake in file-less Elisp buffers
	36873ef2b2 Fix error message for ‘cl-struct-unknown-slot’ (bug#39995)
	3f9310b0fe Fix and improve documentation of mail-related features
	1482a75efa Fix build failure with Fx_gtk_debug
	cf57663f2a Mention jit-lock deferred as an alternative to fast-but-im...

	# Conflicts:
	#	etc/NEWS

2020-04-13  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/processes.texi (Network): Fix xref usage.

	* doc/emacs/msdos.texi (Windows Keyboard): Fix xref.

2020-04-13  Albert  <georgealbert@qq.com>

	Fix previous change in w32fns.c

	* src/w32fns.c (w32_msg_pump): Simplify by not calling
	ImmGetOpenStatus.
	(Fw32_get_ime_open_status): Fix a typo.

2020-04-13  Eli Zaretskii  <eliz@gnu.org>

	Document the new 'w32-get/set-ime-open-status' functions

	* doc/emacs/msdos.texi (Windows Keyboard): Document
	'w32-set-ime-open-status'.

	* etc/NEWS: Announce the new IME-related functions.

2020-04-13  Albert  <georgealbert@qq.com>

	Support toggling native Input Methods on MS-Windows

	* src/w32term.h (WM_EMACS_IME_STATUS): New message code.

	* src/w32fns.c (ImmGetOpenStatus_Proc, ImmSetOpenStatus_Proc): New
	typedefs.
	(w32_msg_pump): Handle the WM_EMACS_IME_STATUS message.
	(Fw32_get_ime_open_status, Fw32_set_ime_open_status): New functions
	(syms_of_w32fns): Defsubr them.
	(globals_of_w32fns): Load ImmGetOpenStatus and ImmSetOpenStatus
	from IMM2.DLL.

2020-04-13  Štěpán Němec  <stepnem@gmail.com>

	gnus-shorten-url: Improve and avoid args-out-of-range error

	'gnus-shorten-url' (used by 'gnus-summary-browse-url') ignored
	fragment identifiers and didn't check substring bounds, in some cases
	leading to runtime errors, e.g.:

	  (gnus-shorten-url "https://some.url.with/path/and#also_a_long_target" 40)
	  ;; => Lisp error: (args-out-of-range "/path/and" -18 nil)

	This commit makes it account for #fragments and fixes faulty string
	computation, reusing existing helper function.  (bug#39980)

	* lisp/vc/ediff-init.el (ediff-truncate-string-left): Rename to
	'string-truncate-left' and move...
	* lisp/emacs-lisp/subr-x.el (string-truncate-left):  ...here.
	All callers changed.
	* lisp/gnus/gnus-sum.el (gnus-shorten-url): Fix args-out-of-range
	error, don't drop #fragments, use 'string-truncate-left'.

2020-04-13  Andrea Corallo  <akrl@sdf.org>

	* src/lread.c (Fload): Add comment.

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-04-13  Andrea Corallo  <akrl@sdf.org>

	Revert "Fix org for eln new compilation folder layout"

	This reverts commit f77f6ca77054ca6122df2742345710b7493ad293.

2020-04-13  Andrea Corallo  <akrl@sdf.org>

	Introduce load-true-file-name

	* src/comp.c (maybe_defer_native_compilation): Use
	`load-true-file-name' instead of `load-file-name'.

	* src/lread.c (Fload, end_of_file_error, read1, read_list)
	(init_lread, syms_of_lread): Add new `load-true-file-name' and
	fake `load-file-name' value when loading .eln files.

2020-04-13  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* lisp/mail/rmail.el (rmail-simplified-subject): A prefix can have
	up to 4 characters, not 3.

2020-04-13  Eli Zaretskii  <eliz@gnu.org>

	Improve support of "Re:" in Rmail

	* lisp/mail/rmail.el (rmail-simplified-subject)
	(rmail-reply-regexp): Recognize U+FF1A FULLWIDTH COLON as a colon
	after "Re:"-type prefixes.
	(rmail-re-abbrevs): New defcustom with localized abbreviations of
	"Re:".
	(rmail-reply-regexp): Use 'rmail-re-abbrevs'.  Recognize U+FF1A
	in addition to the ASCII colon.

	* etc/NEWS: Call out the new defcustom 'rmail-re-abbrevs'.

2020-04-13  Juri Linkov  <juri@linkov.net>

	Fix hi-lock test and add new test for case-fold (bug#40337)

	* lisp/hi-lock.el (hi-lock--regexps-at-point): Handle font-lock faces.
	(hi-lock-unface-buffer): Simplify default value handling.
	(hi-lock-set-pattern): Add either lighter or regexp to
	hi-lock-interactive-lighters.
	(hi-lock-set-pattern): Put overlay prop hi-lock-overlay-regexp to
	either lighter or regexp.

	* test/lisp/hi-lock-tests.el (hi-lock-bug26666): Use "b" instead of "a".
	(hi-lock-case-fold): New test.

2020-04-12  Štěpán Němec  <stepnem@gmail.com>

	Fix bootstrap compiler warnings about `read-library-name'

	Introduced by

	2020-03-28T22:16:28+01:00!stepnem@gmail.com
	2c45091791 (load-library, locate-library: Use read-library-name)

	Thanks to Juanma Barranquero <lekktu@gmail.com> for reporting.

	* lisp/files.el:
	* lisp/subr.el: Declare 'read-library-name'.

2020-04-12  Philipp Stephani  <phst@google.com>

	Fix error in 'call-process-region' when START is nil (Bug#40576)

	* src/callproc.c (Fcall_process_region): Fix behavior when START is
	nil and DELETE is non-nil.

	* test/src/callproc-tests.el
	(call-process-region-entire-buffer-with-delete): New unit test.

2020-04-12  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-04-12  Andrea Corallo  <akrl@sdf.org>

	* src/pdumper.c (dump_do_dump_relocation): Optimize native dump load.

	Check just once if is a local build or Emacs got installed.

2020-04-12  Andrea Corallo  <akrl@sdf.org>

	Implement working make install for native build.

2020-04-12  Andrea Corallo  <akrl@sdf.org>

	Set invocation variables during dump load.

	Vinvocation_directory must be set during dump load process to support
	.eln load.

	* src/pdumper.h: (pdumper_load): Add argv0 and original_pwd
	parameters.

	* src/pdumper.c (pdumper_load): Add argv0 and original_pwd
	parameter plus call 'set_invocation_vars'.

	* src/lisp.h (set_invocation_vars): New function.

	* src/emacs.c (set_invocation_vars): New function.
	(init_cmdargs): Move logic into 'set_invocation_vars' and call it.
	(load_pdump): Add 'original_pwd' parameter and update calls to
	'pdumper_load'.
	(main): Set emacs_wd earlier and update call to 'pdumper_load'.

2020-04-12  Andrea Corallo  <akrl@sdf.org>

	Implement position independent dump.

	Set the filename for every compilation unit as relative to obtain a
	position independent dump.

	* lisp/loadup.el: Modify filename for every compilation unit as
	position independent.

	* src/pdumper.c (dump_do_dump_relocation): Update to be invocation
	directory relative.

2020-04-12  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (native-comp-unit-set-file): New function.

	* src/comp.c (native-comp-unit-file): Better parameter name.

2020-04-12  Philipp Stephani  <phst@google.com>

	Also use named functions for the ‘gv’ declare forms (Bug#40491)

	* lisp/emacs-lisp/gv.el (gv--expander-defun-declaration)
	(gv--setter-defun-declaration): New helper functions; use them.

2020-04-12  Philipp Stephani  <phst@google.com>

	Use named functions in {defun,macro}-declarations-alist (Bug#40491)

	* lisp/emacs-lisp/byte-run.el (byte-run--set-advertised-calling-convention)
	(byte-run--set-obsolete, byte-run--set-interactive-only)
	(byte-run--set-pure, byte-run--set-side-effect-free)
	(byte-run--set-compiler-macro, byte-run--set-doc-string)
	(byte-run--set-indent, byte-run--set-debug)
	(byte-run--set-no-font-lock-keyword): New helper functions.
	(defun-declarations-alist, macro-declarations-alist): Use them.

2020-04-12  Philipp Stephani  <phst@google.com>

	Fix a bootstrap issue with unescaped character literal detection.

	* src/lread.c (load_warn_unescaped_character_literals): Deal with the
	case that 'byte-run--unescaped-character-literals-warning' isn't yet
	defined.

2020-04-12  Paul Eggert  <eggert@cs.ucla.edu>

	Remove UNSIGNED_CMP

	I added this macro in 2011 to fix some signedness comparison bugs.
	However, it’s a weird macro and the bugs can be fixed in a
	more-straightforward way.  This helps performance slightly (0.5%) on my
	platform (Fedora 31 x86-64, GCC 9.3.1 with -O2).
	* src/casefiddle.c (do_casify_natnum): Use simple comparison
	instead of UNSIGNED_CMP.
	* src/character.h (CHAR_VALID_P, SINGLE_BYTE_CHAR_P, CHAR_STRING):
	* src/composite.h (COMPOSITION_ENCODE_RULE_VALID):
	* src/lisp.h (ASCII_CHAR_P):
	Now an inline function, and uses simple comparison instead of
	UNSIGNED_CMP.
	* src/dispextern.h (FACE_FROM_ID, FACE_FROM_ID_OR_NULL)
	(IMAGE_FROM_ID, IMAGE_OPT_FROM_ID): Move these to ...
	* src/frame.h (FACE_FROM_ID, FACE_FROM_ID_OR_NULL)
	(IMAGE_FROM_ID, IMAGE_OPT_FROM_ID): ... here, and make them
	inline functions that no longer use UNSIGNED_CMP.
	* src/keyboard.c (read_char): UNSIGNED_CMP is not needed here
	since XFIXNAT always returns a nonnegative value.
	* src/lisp.h (UNSIGNED_CMP): Remove; no longer used.

2020-04-12  Juri Linkov  <juri@linkov.net>

	* lisp/hi-lock.el (hi-lock-highlight-range): Bump default value (bug#40224)

	* lisp/hi-lock.el (hi-lock-highlight-range): Change default value
	from 200_000 to 2_000_000.

2020-04-12  Juri Linkov  <juri@linkov.net>

	Implement case-insensitivity in hi-lock (bug#40337)

	* lisp/hi-lock.el (hi-lock-interactive-lighters): New buffer-local variable.
	(hi-lock-mode): Set hi-lock-interactive-lighters to nil.
	(hi-lock-line-face-buffer): Use case-fold-search and search-upper-case.
	(hi-lock-face-buffer): Add new arg LIGHTER. Use case-fold-search,
	search-upper-case and search-spaces-regexp.
	(hi-lock-face-phrase-buffer): Don't call hi-lock-process-phrase.
	Use case-fold-search, search-upper-case and search-whitespace-regexp.
	(hi-lock-face-symbol-at-point): Use case-fold-search and search-upper-case.
	(hi-lock-unface-buffer): Use hi-lock-interactive-lighters to get
	a human-readable string for completion and x-popup-menu.
	(hi-lock-process-phrase): Remove function.
	(hi-lock-set-pattern): Add new args LIGHTER, CASE-FOLD, SPACES-REGEXP.
	Set font-lock pattern to a search function.  Add mapping from
	lighter or regexp to pattern to hi-lock-interactive-lighters.
	Let-bind case-fold-search and search-spaces-regexp in search functions.

	* lisp/isearch.el (isearch--highlight-regexp-or-lines): Replace ugly code
	with let-binding of case-fold-search, search-upper-case, search-spaces-regexp.
	(isearch-highlight-regexp, isearch-highlight-lines-matching-regexp):
	Use lambda.

2020-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/NEWS: Mention 'cl-font-lock-built-in-mode'

2020-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cl-font-lock.el: Fix header and make it a minor mode

	Change copyright to FSF and license to GPLv3+.
	Tweak Commentary (the code doesn't seem to provide the lambda
	prettification mentioned).

	(cl-font-lock-add-regexes): Remove macro.
	(cl-font-lock-built-in-keywords): New variable.
	(cl-font-lock-built-in-mode): New minor mode.

2020-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cl-font-lock.el: New file

	Taken from commit 1a54066611da213626ab69ea426ba3c63ece3438
	of https://github.com/cl-font-lock/cl-font-lock,
	but with names reverted to a `cl-font-lock-` prefix.

2020-04-11  Mattias Engdegård  <mattiase@acm.org>

	Allow ENCODE_FILE and DECODE_FILE to use no-copy conversion

	They already did return their argument under some circumstances;
	this change broadens it to further reduce allocation in common cases
	(bug#40407).

	* src/coding.c (convert_string_nocopy): New function.
	(decode_file_name, encode_file_name): Use convert_string_nocopy.
	* src/coding.h (ENCODE_FILE, DECODE_FILE): Note the nocopy semantics.

2020-04-11  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	fd27685c1e (origin/emacs-27) ; * doc/lispref/keymaps.texi (Extended M...
	6057d79a4e * doc/lispref/keymaps.texi (Extended Menu Items): Tweak :k...
	17a1bb5a03 Fix redisplay when scrolling under redisplay-dont-pause
	90321f595c Fix face extension in pulse.el
	36c42d2a30 * doc/misc/tramp.texi (Bug Reports): Avoid line breaks in ...
	d5750af151 Avoid assertion violation in intervals.c
	18d1bc0a09 Improve documentation of 'jit-lock-contextually'
	08486f4cae Speed up 'resize-mode' child frames a little
	f451ef9308 ; * etc/NEWS: Mention 'executing-macro' in removed vars.
	c49d379f17 Fix some problems with moving and resizing child frames

	# Conflicts:
	#	etc/NEWS

2020-04-11  Federico Tedin  <federicotedin@gmail.com>

	Reword documentation for eshell-variable-aliases-list

	* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Update
	documentation string to avoid passive tense.

2020-04-11  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-action-process-alive): Read pending output.

2020-04-09  Mattias Engdegård  <mattiase@acm.org>

	Set last-coding-system-used upon ASCII conversion bypass (bug#40407)

	Spotted by Kazuhiro Ito.

	* src/coding.c (code_convert_string):
	Set Vlast_coding_system if appropriate.
	* test/src/coding-tests.el (coding-nocopy-ascii): Add test.

2020-04-09  Eli Zaretskii  <eliz@gnu.org>

	Fix display of boxed header-line

	* src/xdisp.c (init_iterator): Set IT->face_box_p flag for a boxed
	mode/header/tab line.  (Bug#40521)

2020-04-09  Mattias Engdegård  <mattiase@acm.org>

	Fix ASCII-only conversion logic (bug#40407)

	To sidestep conversion altogether when EOL conversion applies, we must
	either be encoding a string without NL, or decoding without CR.

	* src/coding.c (string_ascii_p): Revert to a pure predicate.
	(code_convert_string): Fix logic.  Don't use uninitialized
	ascii_p (removed).  Use memchr to detect CR or LF in string when needed.
	* test/src/coding-tests.el (coding-nocopy-ascii):
	Update tests to include encodings with explicit EOL conversions.

2020-04-09  Mattias Engdegård  <mattiase@acm.org>

	chinese-hz is not ASCII compatible (bug#40407)

	* lisp/language/chinese.el: Disable :ascii-compatible-p for chinese-hz.
	* test/lisp/international/mule-tests.el (mule-hz): New test.

2020-04-09  Mattias Engdegård  <mattiase@acm.org>

	Don't crash with invalid argument in check-coding-systems-region

	* src/coding.c (Fcheck_coding_systems_region): Don't crash if
	the third arg contains something that isn't a coding system.
	* test/src/coding-tests.el (coding-check-coding-systems-region):
	New test.

2020-04-09  Mattias Engdegård  <mattiase@acm.org>

	Don't rely on copying in {EN,DE}CODE_FILE

	Callers of ENCODE_FILE and DECODE_FILE should not assume that these
	functions always return a new string (bug#40407).

	* src/w32fns.c (Fw32_shell_execute):
	* src/w32proc.c (Fw32_application_type):
	Sink taking the address of a Lisp string past GC points.
	Copy values returned from ENCODE_FILE before mutating them.

2020-04-09  Eli Zaretskii  <eliz@gnu.org>

	Fix decoding of ASCII strings with embedded CR characters

	* src/coding.c (string_ascii_p): Return a negative value if an
	all-ASCII string STR includes the CR character, otherwise a
	positive value.
	(code_convert_string): If the string is ASCII, but includes CR
	characters, use the fast path only if EOL doesn't need to be
	decoded.  (Bug#40519)

	* test/src/coding-tests.el (coding-nocopy-ascii): Add more tests
	for bug#40519.

2020-04-09  Eli Zaretskii  <eliz@gnu.org>

	Fix decoding ASCII strings with embedded CR characters

	* src/coding.c (string_ascii_p): Return a negative value if an
	all-ASCII string STR includes the CR character, otherwise a
	positive value.
	(code_convert_string): If the string is ASCII, but includes CR
	characters, use the fast path only if EOL doesn't need to be
	decoded.  (Bug#40519)

	* test/src/coding-tests.el (coding-nocopy-ascii): Add tests for
	bug#40519.

2020-04-08  Eli Zaretskii  <eliz@gnu.org>

	Support character composition for Hangul jamo

	* lisp/language/korean.el: Add composition rules for conjoining
	Hangul jamo.  (Bug#40502)

2020-04-08  Paul Eggert  <eggert@cs.ucla.edu>

	Revert my KEY_OPS_CFLAGS change to src/Makefile.in

	Now that -Og inlining has been improved this is no longer helpful.
	* src/Makefile.in (KEY_OPS_CFLAGS): Remove.  All uses removed.
	This improved CPU performance of ‘make compile-always’ by 5% on my
	platform, which was gcc -Og, GCC 9.3.1 20200317 (Red Hat 9.3.1-1),
	Fedora 31 x86-64 (AMD Phenom II X4 910e, circa 2010).

2020-04-08  Paul Eggert  <eggert@cs.ucla.edu>

	Improve inlining when compiling with -Og

	* src/conf_post.h (EXTERN_INLINE) [!EMACS_EXTERN_INLINE]:
	Make it static inline, not merely static.  This is a worthwhile
	performance improvement on my two platforms A and B (see below).
	On my platform A this change improves user+system CPU performance of
	‘make compile-always’ by 52% on an -Og build, and by 1.4% on the
	default -O2 build.  On my platform B this improves the same benchmark
	by 41% on an -Og build, and by -0.8% on the default -O2 build.
	That "-0.8%" is a small negative for this change, and I recall that
	it is why I didn't make this change earlier.  However, Platform B uses
	an older GCC so we needn't worry overmuch about this small negative.

	With this change the performance advantage of -O2 over -Og has dropped
	on platform A; formerly -O2 was 87% faster than -Og, and now it is
	only 25% faster.  On platform B the performance advantage of -O2 over
	-Og has dropped from being 62% faster to being 14% faster.

	Platform A is GCC 9.3.1 20200317 (Red Hat 9.3.1-1) on Fedora 31
	x86-64 (AMD Phenom II X4 910e, circa 2010).  Platform B is GCC (Ubuntu
	7.5.0-3ubuntu1~18.04) 7.5.0 on Ubuntu 18.04.4 (Intel Xeon E3-1225 V2,
	circa 2012).

	This patch was inspired by a suggestion by Andrea Corallo in:
	https://lists.gnu.org/r/emacs-devel/2020-04/msg00263.html

2020-04-07  Robert Pluim  <rpluim@gmail.com>

	Add :coding support to open-network-stream and open-gnutls-stream

	* doc/lispref/processes.texi (Network): Describe :coding keyword support.

	* doc/misc/emacs-gnutls.texi (Help For Developers): Describe :coding
	keyword support.

	* etc/NEWS: Announce change to open-network-stream and
	open-gnutls-stream.

	* lisp/net/gnutls.el (open-gnutls-stream): Add support for :coding, pass it
	down to open-network-stream.

	* lisp/net/network-stream.el (open-network-stream)
	(network-stream-open-plain, network-stream-open-starttls): Add
	support for :coding, pass it down to make-network-process.
	(network-stream-open-shell): Add support-for :coding, use
	set-process-coding-system to set it after process creation.

2020-04-07  Robert Pluim  <rpluim@gmail.com>

	Use length field when dns-query is using TCP

	* net/dns.el (dns-write): Correct spelling in docstring.
	(dns-read): Add optional tcp-p parameter, skip 2-byte length field
	if non-nil.
	(dns-query): Tell dns-read and dns-write if we're using TCP.

2020-04-06  Mattias Engdegård  <mattiase@acm.org>

	utf-7 and utf-7-imap are not ASCII-compatible (bug#40407)

	* lisp/international/mule-conf.el (utf-7, utf-7-imap):
	Add expedient to disable the :ascii-compatible-p property set
	automatically by define-coding-system.
	* test/lisp/international/mule-tests.el (mule-utf-7): New test.

2020-04-06  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc in xpm_scan

	* src/image.c (xpm_scan): Redo a loop for clarity.
	This also pacifies --enable-gcc-warnings (GCC 9.3.1 x86-64 with -Og).

2020-04-06  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

	* lisp/emacs-lisp/comp.el (comp-c-func-name): Fix for M-x disassemble

	* src/comp.c (emit_FIXNUMP): Don't emit a shift when unnecessary.

2020-04-06  Michael Albinus  <michael.albinus@gmx.de>

	Fix case that $PATH is longer than 4096 chars in Tramp

	* lisp/net/tramp-sh.el (tramp-set-remote-path): Use `tramp-send-command'
	directly.

	* test/lisp/net/tramp-tests.el (tramp-test-vec): New defconst.
	(tramp--test-enabled, tramp--test-message)
	(tramp--test-backtrace, tramp-test03-file-name-host-rules)
	(tramp-test18-file-attributes, tramp-test20-file-modes)
	(tramp-test26-file-name-completion)
	(tramp-test33-environment-variables, tramp-test35-remote-path)
	(tramp-test36-vc-registered, )
	(tramp-test43-asynchronous-requests): Use it.
	(tramp-test29-start-file-process, tramp-test30-make-process)
	(tramp-test33-environment-variables): Remove Hydra specific result.
	(tramp-test35-remote-path): Rewrite partially.

2020-04-06  Yuan Fu  <casouri@gmail.com>

	Unify and improve gdb-mi source buffer display logic

	Unify the behavior of source buffer display for gdb-mi.  Before this
	change, stepping and other gdb command handlers use 'gud-display-line',
	and 'gdb-goto-breakpoint' uses 'gdb-display-source-buffer'.  Now whenever
	gdb-mi code tries to open a source buffer, 'gdb-display-source-buffer'
	is used.  Also, simplify the logic in 'gdb-display-source-buffer' and
	add a feature to limit the maximum number of source windows.

	* doc/emacs/building.texi (GDB User Interface Layout): Explain source
	file display in GDB.
	* etc/NEWS (gdb-mi): Add news about source display.
	* lisp/progmodes/gdb-mi.el (gdb-source-window): Remove variable,
	change to 'gdb-source-window-list'.
	(gdb-source-window-list): New variable.
	(gdb-display-source-buffer-action,
	gdb-max-source-window-count): New options.
	(gdb-init-1, gdb-setup-windows, gdb-load-window-configuration,
	gdb-restore-windows): Use 'gdb-source-window' rather than
	'gdb-source-window-list'.
	(gdb-save-window-configuration): Use 'gdb-source-window' rather than
	'gdb-source-window-list'.  And consider any buffer that is not a
	command or function buffer as a source buffer.
	(gdb-display-source-buffer): Use new logic.
	(gdb-goto-breakpoint): Remove 'display-buffer' call
	and don't set 'gdb-source-buffer' anymore.
	* lisp/progmodes/gud.el (gud-display-line): If used by gdb-mi, use
	'gdb-display-source-buffer' rather than 'display-buffer'.  Don't set
	'gdb-source-buffer' anymore.

2020-04-06  Martin Rudalics  <rudalics@gmx.at>

	Fix problems when dragging frames with the mouse

	Re-implement 'mouse-drag-frame' via two new functions -
	'mouse-drag-frame-resize' and 'mouse-drag-frame-move'.  This is
	needed because with some toolkits the notifications for frame
	movement and resizing arrive asynchronously, breaking any
	calculations using intermediate frame sizes and positions.

	* lisp/mouse.el (mouse-drag-mode-line, mouse-drag-left-edge)
	(mouse-drag-top-left-corner, mouse-drag-top-edge)
	(mouse-drag-top-right-corner, mouse-drag-right-edge)
	(mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
	(mouse-drag-bottom-left-corner): Call 'mouse-drag-frame-resize'
	instead of 'mouse-drag-frame'.
	(mouse-drag-frame): Split into two new functions -
	'mouse-drag-frame-move' and 'mouse-drag-frame-resize'.
	(mouse-drag-frame-resize, mouse-drag-frame-move): New functions
	to implement functionality of the removed 'mouse-drag-frame'.

2020-04-05  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

	* src/comp.c (emit_XFIXNUM): Fix for LSB_TAG plus annotate a FIXME.

	* src/comp.c (emit_const_lisp_obj, emit_mvar_val): Fix.

	* src/comp.c (hash_native_abi): Fix assertion.

2020-04-05  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (emit_binary_op): New function.

	Wrap gcc_jit_context_new_binary_op within emit_binary_op to make sure
	input type are coherent and save a slew of code.

2020-04-05  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c: Emit cast only when necessary.

	Coerce only when the destination type is different from the current
	one.

2020-04-05  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c: Add MSB TAG and wide int support.

	* src/comp.c: Clean-up unnecessary field declaration.

	* lisp/emacs-lisp/comp.el (native-compile): Better documentation.

2020-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	* src/coding.c (code_convert_string): Fix type mismatches.

2020-04-05  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent change in bignum.c

	* src/bignum.c (check_int_nonnegative): Fix a recent change.
	Reported by Glenn Morris <rgm@gnu.org>.

2020-04-05  Michael Albinus  <michael.albinus@gmx.de>

	Fix thinko in tramp-cache.el

	* lisp/net/tramp-cache.el (tramp-set-connection-property)
	(tramp-flush-connection-property)
	(tramp-flush-connection-properties): Use `tramp-file-name-p'.

2020-04-05  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	6de20c7eab (origin/emacs-27) Fix syntax error in man page.
	f8607d3c03 Handle filling of indented ChangeLog function entries
	7e78f0d1b2 Fix void-variable n-reb in re-builder (Bug#40409)
	452d776a5d Fix small bug in copy_string_contents.
	fa823653ff Fix invocations of gpg from Gnus
	d4f51d0a2e Don't draw GTK's internal border and tab bar on top of eac...
	38731d504e ; * src/buffer.c (syms_of_buffer) <inhibit-read-only>: Doc...
	44ac9e48bb Tweak htmlfontify's generated output

2020-04-05  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	ac3da1dd96 Handle project--files-in-directory finding no files better
	650a664ccd Let imenu to work on the menu bar when its list is a singl...

2020-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Avoid known cl-defsubst breakage

2020-04-05  Mattias Engdegård  <mattiase@acm.org>

	Avoid expensive recoding for ASCII identity cases (bug#40407)

	Optimize for the common case of encoding or decoding an ASCII-only
	string using an ASCII-compatible coding, for file names in particular.

	* src/coding.c (string_ascii_p): New function.
	(code_convert_string): Return the input string for ASCII-only inputs
	and ASCII-compatible codings.
	* test/src/coding-tests.el (coding-nocopy-ascii): New test.

2020-04-05  Mattias Engdegård  <mattiase@acm.org>

	Suppress relint diagnostics in rx-tests.el

	* test/lisp/emacs-lisp/rx-tests.el (rx-char-any, rx-any):
	Suppress relint complaints; these regexps are intentionally bad.

2020-04-05  Mattias Engdegård  <mattiase@acm.org>

	Fix inverted NOCOPY encode/decode parameter (bug#40407)

	In {encode,decode}-coding-string, the NOCOPY parameter had the
	opposite effect to what was intended and documented.  This 18 year old
	bug (introduced in 4031e2bf0a) only affected calls with CODING-SYSTEM
	being nil.

	* src/coding.c (code_convert_string): Correct use of NOCOPY.
	* test/src/coding-tests.el (coding-nocopy-trivial): New test.

2020-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	Improve integer range checking

	* src/bignum.c (check_integer_range, check_uinteger_max)
	(check_int_nonnegative): New functions.
	* src/frame.c (check_frame_pixels): New function.
	(Fset_frame_height, Fset_frame_width, Fset_frame_size): Use it.
	* src/lisp.h (CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER):
	Remove these macros.  Unless otherwise specified, all callers
	replaced by calls to check_integer_range, check_uinteger_range,
	check_int_nonnegative.
	* src/frame.c (gui_set_right_divider_width)
	(gui_set_bottom_divider_width):
	* src/nsfns.m (ns_set_internal_border_width):
	* src/xfns.c (x_set_internal_border_width):
	Using check_int_nonnegative means these functions no longer
	incorrectly reject negative bignums; they treat them as 0,
	just like negative fixnums.

2020-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	* src/lisp.h: Update overly-optimistic comment.

2020-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/arc-mode.el: Rewrite displaying the summaries

	Completely rewrite the code that displays the summaries, so all
	backends share the same code.

	(archive--summarize-descs): New function.
	(archive-arc-summarize, archive-lzh-summarize, archive-zip-summarize)
	(archive-zoo-summarize, archive-rar-summarize, archive-7z-summarize)
	(archive-ar-summarize): Use it.
	(archive-hidden-columns): New custom.
	(archive-alternate-hidden-columns): New const.
	(archive-mode-map): Always enable `archive-alternate-display`.
	(archive-alternate-display): Set `archive-hidden-columns`.
	(archive-hideshow-column): New command.
	(archive--fit, archive--fit2, archive--enabled-p): New aux functions.

2020-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/arc-mode.el: Remove make-(local-variable|variable-buffer-local)

	(archive-file-list-start, archive-file-list-end)
	(archive-proper-file-start, archive-file-name-indent, archive-remote)
	(archive-member-coding-system, archive-alternate-display)
	(archive-file-name-coding-system, archive-files): Use `defvar-local`.
	(archive-extract): Use `setq-local`.
	(archive-get-descr): Use `user-error` when clicking on a directory.

2020-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid SAFE_ALLOCA in Fstring, Funibyte_string

	* src/character.c (Fstring, Funibyte_string):
	Redo to avoid the need for a temporary array allocation
	and then a copying from that array to the destination.

2020-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/arc-mode.el (archive--file-desc): Add fields from other structs

	Add fields `size`, `time` (used by all backends) as well as
	`pos`, `ratio`, `uid`, and `gid` (used only be some backends).

	(archive-arc--file-desc, archive-rar--file-desc, archive-ar--file-desc)
	(archive-lzh--file-desc, archive-zip--file-desc, archive-7z--file-desc):
	Remove defstructs.
	(archive-arc-summarize): Record size and time in the descrs.
	(archive-lzh-summarize): Record size, time, uid, and gid in the descrs.
	(archive-zip-summarize): Record size and time in the descrs.
	(archive-zoo-summarize): Record size and time in the descrs.
	(archive-rar-summarize): Adjust to use of `archive--file-desc`.
	(archive-7z-summarize): Adjust to new constructor.
	(archive-ar-summarize): Adjust to use of `archive--file-desc`.

	(archive-ar-write-file-member): Remove mode-to-int hack.
	(archive-get-descr): Directory entries aren't regular members.

2020-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	Revert unneeded part of gcc -Og change

	* configure.ac (DEFINE_KEY_OPS_AS_MACROS):
	Undo this recent change to configure.ac; it’s not needed.

2020-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	* lib-src/Makefile.in (LINK_CFLAGS): Remove; unused.

2020-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	Default gcc -Og to inlining key ops

	Problem reported by Martin Rudalics in:
	https://lists.gnu.org/r/emacs-devel/2020-04/msg00195.html
	* configure.ac (DEFINE_KEY_OPS_AS_MACROS): Define if -Og.
	* src/Makefile.in (KEY_OPS_CFLAGS): New macro.
	(EMACS_CFLAGS): Use it.
	* src/lisp.h (DEFINE_KEY_OPS_AS_MACROS): Let the gcc command line
	specify it.  Remove use of undocumented INLINING macro.

2020-04-04  Eli Zaretskii  <eliz@gnu.org>

	Support the "explore" command in gdb-mi.el

	* lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): Add
	support for "explore", "explore value", and "explore type".
	Allow more than one word after control commands.
	(gdb-gdb): Decrease gdb-control-level when we get the "(gdb)"
	prompt, which signals that "explore" exited.  (Bug#40250)

2020-04-04  Eli Zaretskii  <eliz@gnu.org>

	Fix face spec handling for 'default' "terminal class"

	* lisp/faces.el (face-spec-choose): Reverse order of 'defaults'
	and 'result' when generating attribute list, so that the spec for
	'default' "terminal class" is indeed overridden by the actual
	class's spec, per the documentation.  (Bug#40336)

2020-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/arc-mode.el: Remove unused struct fields

	(archive--file-desc): Remove `case-fiddled`.
	Change all subtypes's constructors as their callers accordingly.
	(archive--file-desc-case-fiddled): New function.
	(archive-int-to-mode): Accept a nil input.
	Make all callers take advantage of it.
	(archive-arc-rename-entry): Use `make-string`.
	(archive-zip--file-desc): Change `pos+len` field into `pos` field.
	(archive-zip-chmod-entry): Simplify accordingly.
	(archive-zip-summarize): Don't bother with `lheader` which was not used.
	(archive-zoo--file-desc): Delete struct; use archive--file-desc instead.
	(archive-7z--file-desc): Remove `user` and `group` fields.
	Adjust constructor and its caller.
	(archive-ar-summarize): Use `archive-int-to-mode`.

2020-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/arc-mode.el: Use cl-structs rather than vectors

	(archive--file-desc, archive--file-summary, archive-arc--file-desc)
	(archive-lzh--file-desc, archive-zip--file-desc)
	(archive-zoo--file-desc, archive-rar--file-desc)
	(archive-7z--file-desc, archive-ar--file-desc): New structs.

	(archive-get-descr, archive-mode, archive-summarize-files)
	(archive-maybe-copy, archive-extract, archive-*-write-file-member)
	(archive-expunge, archive-arc-summarize, archive-arc-rename-entry)
	(archive-lzh-summarize, archive-lzh-rename-entry, archive-lzh-ogm)
	(archive-zip-summarize, archive-zip-write-file-member)
	(archive-zip-chmod-entry, archive-zoo-summarize)
	(archive-rar-summarize, archive-7z-summarize, archive-ar-summarize)
	(archive-ar-write-file-member): Use struct constructors and accessors
	instead of `vector` and `aref`.

	(archive-calc-mode): Remove `error` arg which was always non-nil;
	adjust all callers.
	Rewrite using `string-to-number` and `file-modes-symbolic-to-number`.

2020-04-03  Alan Mackenzie  <acm@muc.de>

	C++ Mode: recognize brace blocks without the hitherto required = sign

	* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Add code
	to recognize a literal brace expression following an array declaration for
	C++.
	(c-looking-at-inexpr-block): Replace c-symbol-chars with c-symbol-char-key,
	fixing a coding error.

2020-04-03  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-04-03  Andrea Corallo  <akrl@sdf.org>

	src/comp.c: Fix i386

	In i386 ABI parameter passing of structs (and unions) is done as
	pointer + size.  Surprisingly this is done *always* even if the
	structure is known to be word size.

2020-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/arc-mode.el (archive-ar-write-file-member): New function

	(archive-ar--name): New function, extracted from `archive-ar-summarize`.
	(archive-ar-extract): Use it.
	(archive-ar-summarize): Use it.  Put the extname in the slot 0 of the
	desc vectors.

2020-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/arc-mode.el: Remove redundant `:group`s

	(archive-arc, archive-lzh, archive-zip, archive-zoo): Move them
	to their corresponding defcustom.
	(archive-7z): New group, that used to be missing.

2020-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/arc-mode.el: Use lexical-binding

	(arc-insert-unibyte): Simplify.
	(archive--mode-revert): Rename from `archive-mode-revert` and adjust
	for use as an :around advice.
	(archive-mode): Use setq-local.  Use `add-function` to hook into
	`revert-buffer-function`.
	(archive-summarize): Don't use `set` on a hook.

2020-04-03  Robert Pluim  <rpluim@gmail.com>

	Check for IPv6 servers in dns.el

	* lisp/net/dns.el (dns-set-servers): Set dns-servers to nil when we
	don't find any DNS servers with nslookup.  Add support for IPv6
	servers.  (Bug#40248).
	(dns-make-network-process): Check for datagram process support before
	creating a datagram process.
	(dns-query): Return nil if dns-servers is nil.

2020-04-03  Robert Pluim  <rpluim@gmail.com>

	Make make-{network,serial}-process handle :coding nil consistently

	The handling of :coding nil was different between
	make-{network,serial}-process and make-{pipe}process.  Now they all
	handle :coding nil as if :coding had not been specified.

	* src/process.c (Fmake_serial_process)
	(set_network_socket_coding_system): Use plist-get to check if
	:coding has been specified instead of plist-member, to ensure that
	":coding nil" does not override coding-system-for-{read,write}.

	* test/lisp/net/network-stream-tests.el
	(check-network-process-coding-system-bind)
	(check-network-process-coding-system-no-override)
	(check-network-process-coding-system-override): New tests.

	* etc/NEWS: Describe change in make-network-process and
	make-serial-process :coding behavior.

2020-04-03  Ernest N. Mamikonyan  <Ernest.Mamikonyan@sig.com>  (tiny change)

	Update texinfo.el following changes in 'tex-start-options-string'

	* lisp/textmodes/texinfo.el (texinfo-texi2dvi-options): New
	defcustom.
	(texinfo-tex-buffer): Take 'tex-start-options' from
	'texinfo-texi2dvi-options'.  (Bug#40001)

	* etc/NEWS: Mention the new option.

2020-04-03  Štěpán Němec  <stepnem@gmail.com>

	load-library, locate-library: Use read-library-name

	* lisp/emacs-lisp/find-func.el (read-library-name): Add autoload
	cookie.
	* lisp/files.el (load-library)
	* lisp/subr.el (locate-library): Use 'read-library-name' when called
	interactively. (bug#6652 bug#6679)

2020-04-03  Asher Gordon  <AsDaGo@posteo.net>

	Fix movement commands in gomoku

	* lisp/play/gomoku.el (gomoku-mode-map): Bind cursor motion keys
	to gomoku-specific commands.
	(gomoku-point-x, gomoku-move-right, gomoku-move-left): New
	commands.
	(gomoku--intangible, gomoku-move-ne, gomoku-move-se)
	(gomoku-move-nw, gomoku-move-sw): Call gomoku-move-left and
	gomoku-move-right instead of forward-char and backward-char.
	(Bug#40169)

	* etc/NEWS: Call out the changes.

2020-04-03  Eli Zaretskii  <eliz@gnu.org>

	Improve last change

	* lisp/calendar/time-date.el (date-days-in-month): Improve the
	error message text and make sure MONTH is a number.  (Bug#40217)

2020-04-03  Alex Branham  <alex.branham@gmail.com>

	Error out if 'date-days-in-month' is given an invalid month

	* lisp/calendar/time-date.el (date-days-in-month): Add test for
	month validity; signal an error if it isn't.  (Bug#40217)
	* test/lisp/calendar/time-date-tests.el (test-days-in-month): Add
	a test for the new error.

2020-04-03  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-04-03  Ashish SHUKLA  <ashish.is@lostca.se>

	configure.ac: switch to POSIX sh behavior

2020-04-03  Federico Tedin  <federicotedin@gmail.com>

	Copy INSIDE_EMACS env variable to subprocesses in Eshell (Bug#25496)

	* lisp/eshell/em-dirs.el (eshell-dirs-initialize): Add INSIDE_EMACS
	variable to buffer-local value of eshell-variable-aliases-alist.
	(eshell-inside-emacs): Add new constant used for INSIDE_EMACS.
	* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Update doc
	string; remove mention of eshell-user-aliases-list and explain that
	variables can optionally be copied to subprocesses' environments.
	* test/lisp/eshell/eshell-tests.el (eshell-test/inside-emacs-var): Add
	test for the INSIDE_EMACS variable.
	* etc/NEWS: Announce changes.

2020-04-03  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-dir.el: Commands to mark un/registered files (bug#34949)

	* lisp/vc/vc-dir.el (vc-dir-mark-state-files): New function.
	(vc-dir-mark-registered-files)
	(vc-dir-mark-unregistered-files): New commands.
	(vc-dir-mode-map): Bind vc-dir-mark-registered-files to '* r'.
	(vc-dir-menu-map): Add menu entries for
	vc-dir-mark-registered-files and vc-dir-mark-unregistered-files.

2020-04-02  Juri Linkov  <juri@linkov.net>

	* lisp/window.el (display-buffer): Extend doc with body-function (bug#39822)

2020-04-02  Alexandre Adolphe  <alexandre.adolphe@gmail.com>

	Allow negative line width for :box face attribute

	Separate values for box line width and height and allow both to be
	negative which makes the visual width and height of the boxed string
	unchanged (Bug#13011).

	* doc/lispref/display.texi (Face Attributes): Modify :box attribute
	description to reflect the new possibilities.
	* lisp/cus-face.el (custom-face-attributes): Set box attribute to get
	two integer to set vertical and horizontal width and modify pre-filter
	to accept dotted list of two int as valid box attribute.
	* src/dispextern.h (face): Use two int for box horizontal and vertical
	line width.

	* src/nsfont.m (nsfont_draw): Use new face attributes.
	* src/nsterm.m (ns_draw_box, ns_draw_relief): Support separated
	horizontal and vertical box line width.
	(ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
	(ns_dumpglyphs_image, ns_draw_glyph_string_foreground)
	(ns_draw_composite_glyph_string_foreground): Use new face attributes.

	* src/w32term.c (w32_draw_box_rect, w32_draw_relief_rect): Support
	separated horizontal and vertical box line width.
	(x_draw_glyph_string_background, x_draw_glyph_string_foreground)
	(x_draw_composite_glyph_string_foreground)
	(x_draw_glyphless_glyph_string_foreground, x_draw_glyph_string_box)
	(x_draw_image_foreground, x_draw_image_relief)
	(w32_draw_image_foreground_1, x_draw_image_glyph_string): Use new face
	attributes.

	* src/xfaces.c (Sinternal_set_lisp_face_attribute, realize_x_face):
	Accept box attribute as a list of two ints.

	* src/xdisp.c (estimate_mode_line_height, produce_image_glyph)
	(produce_xwidget_glyph, x_produce_glyphs): Use new face attributes.
	* src/xterm.c (x_draw_box_rect, x_draw_relief_rect): Support separated
	horizontal and vertical box line width.
	(x_draw_glyph_string_background, x_draw_glyph_string_foreground)
	(x_draw_composite_glyph_string_foreground)
	(x_draw_glyphless_glyph_string_foreground, x_draw_glyph_string_box)
	(x_draw_image_foreground, x_draw_image_relief, x_draw_image_foreground_1)
	(x_draw_image_glyph_string): Use new face attributes.

2020-04-01  Andreas Schwab  <schwab@linux-m68k.org>

	Fix compilation with CHECK_STRUCTS

	* src/pdumper.c (dump_buffer): Update hash of struct buffer.

2020-04-01  Michael Albinus  <michael.albinus@gmx.de>

	Avoid error messages loading trampver.el

	* lisp/net/trampver.el (tramp-repository-branch)
	(tramp-repository-version): Bind `debug-on-error' to nil.

2020-04-01  Filipp Gunbin  <fgunbin@fastmail.fm>

	javac support in compilation-parse-errors rules

	* etc/compilation.txt: Add doc and example.
	* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
	Add javac rule.
	(compilation-parse-errors): Fix file/line/col test, so that
	lambda/closure (which are valid values) don't match.
	* test/lisp/progmodes/compile-tests.el
	(compile-tests--test-regexps-data, compile-test-error-regexps): Add
	test.

2020-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	Remove `all_buffers` and the associated `next` field of buffers

	* src/alloc.c (enum mem_type): Remove MEM_TYPE_BUFFER.
	(allocate_buffer): Allocate like any other pseudovector.
	Don't register on `all_buffers` any more.
	(live_buffer_holding, live_buffer_p): Delete functions.
	(mark_maybe_object, valid_lisp_object_p): Don't pay attention to
	MEM_TYPE_BUFFER any more.
	(garbage_collect): Only compact the live buffers.
	(mark_buffer): Mark the undo_list of dead buffers here.
	(mark_object): Buffers are normal pseudovectors now.
	(sweep_buffers): Don't do the actual sweep here, just cleanup the
	markers and only for live buffers.

	* src/buffer.c (all_buffers): Remove variable.
	(Fkill_buffer): Don't check indirect dead buffers.
	Set the undo_list before we remove ourselves from the list of live buffers.
	(Fbuffer_swap_text, Fset_buffer_multibyte): Don't check indirect dead
	buffers.
	(init_buffer_once): Don't set `all_buffers`.
	(init_buffer): Don't map new memory for dead buffers.

	* src/buffer.h (struct buffer): Remove `next` field.
	(FOR_EACH_BUFFER): Remove macro.

	* src/pdumper.c (dump_buffer): Don't dump the `next` field.

2020-04-01  Noam Postavsky  <npostavs@gmail.com>

	Don't lose point during fileloop replace (Bug#38867)

	Suggested by Eric Michael Timmons <etimmons@mit.edu>.
	* lisp/fileloop.el (fileloop-initialize-replace): Save the
	match-beginning position in a variable instead of the buffer's point.
	The point may be changed by the time perform-replace is called, e.g.,
	due to switch-to-buffer-preserve-window-point.

2020-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/dired.el (dired-readin): Improve comment

2020-03-31  Glenn Morris  <rgm@gnu.org>

	Mark recently failing Tramp tests on hydra

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
	(tramp-test30-make-process, tramp-test33-environment-variables):
	Expect failure on hydra.nixos.org, since March 29 Tramp cache changes.

2020-03-31  Juri Linkov  <juri@linkov.net>

	* lisp/minibuffer.el (minibuffer-completion-help): Use mainbuf (bug#39822)

	* lisp/minibuffer.el (minibuffer-completion-help): Run
	display-completion-list in the original buffer mainbuf
	to allow completion-setup-function set completion-reference-buffer to it.

2020-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/dired.el (dired-readin): Don't bind inhibit-modification-hooks

	Fixes bug#40332

2020-03-30  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	c6e0981b96 (origin/emacs-27) * lisp/image/image-converter.el: Fix cus...
	461bd9cc20 Fix url-cookie.el for lexical binding
	f3ccfb1926 ; * src/decompress.c: Fix comment style.
	1af03e7e92 ; * src/xfaces.c (syms_of_xfaces): Fix wording and typo.
	93945fcd19 ; * test/lisp/calc/calc-tests.el: Fix mistake in last commit
	ee47e00f4e Don't suggest setting face-remapping-alist to a literal (B...
	c2b8ce4439 Calc: don't treat nil as an integer (bug#40155)
	e1f0e08922 * lisp/files.el (directory-files-recursively): Doc fix.  (...
	02b3820315 Document how to disable Tramp file archives

2020-03-30  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	8db6b432bb Calc: Declare dynamic variable bound in lexbind code (bug#...

2020-03-30  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violation at startup in pdumped Emacs

	* src/buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Remove the
	assertion that ensured all buffers in pdumped Emacs have non-NULL
	pointer to buffer text.  That was false when Emacs was pdumped
	with killed buffer(s) in the all_buffers linked list.  See
	https://lists.gnu.org/archive/html/emacs-devel/2020-03/msg00800.html
	for more details.

2020-03-30  Juri Linkov  <juri@linkov.net>

	Deprecate with-displayed-buffer-window, use body-function instead (bug#39822)

	* doc/lispref/display.texi (Temporary Displays):
	Remove defmac with-displayed-buffer-window.

	* doc/lispref/windows.texi (Buffer Display Action Alists):
	Add body-function.

	* lisp/window.el (with-displayed-buffer-window): Declare macro obsolete.
	(window--display-buffer): Call 'body-function' after displaying the buffer.

	* lisp/dired.el (dired-mark-pop-up):
	* lisp/files.el (save-buffers-kill-emacs):
	* lisp/minibuffer.el (minibuffer-completion-help):
	Replace with-displayed-buffer-window with with-current-buffer-window
	and add action alist entry 'body-function' with former macro body.

2020-03-30  Juri Linkov  <juri@linkov.net>

	Support state changing VC operations on directories in Dired (bug#34949)

	* lisp/dired-aux.el (dired-vc-next-action): New command.
	(dired-vc-deduce-fileset): Rename from vc-dired-deduce-fileset in vc.el.

	* lisp/dired.el (dired-mode-map): Remap vc-next-action to
	dired-vc-next-action.

	* lisp/vc/vc-dir.el (vc-dir-mark-files): New function.
	(vc-dir-refresh): Run hook vc-dir-refresh-hook.

	* lisp/vc/vc.el (vc-deduce-fileset): Rename arg 'observer' to
	'not-state-changing' and document it in docstring.
	(vc-dired-deduce-fileset): Rename to dired-vc-deduce-fileset in dired-aux.el.

	* lisp/cedet/ede.el (ede-turn-on-hook, ede-minor-mode):
	* lisp/desktop.el (desktop-minor-mode-table): Rename the long ago
	obsolete vc-dired-mode to vc-dir-mode.

2020-03-29  Eli Zaretskii  <eliz@gnu.org>

	Use hard links to Emacs executable in "make install" on MS-Windows

	* configure.ac (LN_S_FILEONLY): Set to "/bin/ln" for MinGW
	unconditionally.

2020-03-29  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

	Fix free function compilation

	* lisp/emacs-lisp/comp.el (comp-output-base-filename): Handle src
	being a symbol.

	Add comp-test-40187 checking function shadowing.

	* test/src/comp-tests.el (comp-tests-doc): Fix

	* test/src/comp-test-funcs.el (comp-test-big-interactive): New test

2020-03-29  Andrea Corallo  <akrl@sdf.org>

	Prevent collisions in C namespace and function shadowing

	This rework make functions being indexed by their unique C symbol name
	preventing multiple lisp function with the same name colliding.

2020-03-29  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (maybe_defer_native_compilation): Compile comp dependencies.

	Make maybe_defer_native_compilation able to compile comp dependencies
	breaking circularity.

2020-03-29  Andrea Corallo  <akrl@sdf.org>

	src/comp.c (Fcomp__init_ctxt): Aesthetic

2020-03-29  Andrea Corallo  <akrl@sdf.org>

	* .gitlab-ci.yml (test-native-bootstrap-speed*): Timeout to 8h

	Running in tests in parall takes longer.

2020-03-29  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp cache for asynchronous processes

	* lisp/net/tramp-adb.el (tramp-adb-handle-exec-path)
	(tramp-adb-get-device):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askquestion):
	* lisp/net/tramp-sh.el (tramp-remote-selinux-p, tramp-remote-acl-p)
	(tramp-open-connection-setup-interactive-shell)
	(tramp-maybe-open-connection, tramp-get-remote-path)
	(tramp-get-inline-compress, tramp-get-inline-coding):
	* lisp/net/tramp-smb.el (tramp-smb-get-cifs-capabilities)
	(tramp-smb-get-stat-capability):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-remote-acl-p)
	(tramp-sudoedit-remote-selinux-p): Cache property in main process.

	* lisp/net/tramp-cache.el (tramp-cache-undefined): New defconst.
	(tramp-get-hash-table, tramp-connection-property-p): Use it.
	(tramp-set-connection-property, tramp-flush-connection-property)
	(tramp-flush-connection-properties): Add sanity checks.
	(tramp-get-file-property, tramp-set-file-property)
	(tramp-get-connection-property, tramp-set-connection-property)
	(tramp-dump-connection-properties): Adapt docstring.

	* lisp/net/tramp-cmds.el (tramp-cleanup-connection): Delete all
	processes.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-unmount):
	Use `tramp-cleanup-connection'.

	* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered):
	Use `bound-and-true-p'.

	* lisp/net/tramp.el (tramp-get-process): New defun.

2020-03-29  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-dir.el (vc-dir-root): New command (bug#12492, bug#34949).

	* lisp/vc/vc-hooks.el (vc-menu-map): Change menu command from
	'vc-dir' to 'vc-dir-root'.

2020-03-29  Juri Linkov  <juri@linkov.net>

	Switch to literal mode with message when regexp is too big in char-fold search

	* lisp/char-fold.el (char-fold-to-regexp): Don't use regexp-quote
	when the length of regexp reaches 5000.  (Bug#40216)

	* lisp/isearch.el (isearch-search): On big regexp in char-fold mode
	gracefully fall back to literal mode, try to search again and display
	momentary-message about switching to literal mode.
	(isearch--momentary-message): Add optional arg SECONDS.

2020-03-28  Paul Eggert  <eggert@cs.ucla.edu>

	Stop using newly-deprecated dosname Gnulib module

	Code is supposed to use the filename module now.
	* admin/merge-gnulib (GNULIB_MODULES): Replace dosname with filename.
	* lib/dosname.h: Remove this forwarding stub.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib-src/emacsclient.c, src/fileio.c:
	Include filename.h instead of dosname.h.

2020-03-28  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-03-28 Use module 'filename' instead of module 'dosname'
	2020-03-28 dosname: Redirect to 'filename'
	* lib/at-func.c, lib/canonicalize-lgpl.c, lib/dosname.h:
	Copy from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/filename.h: New file, copied from Gnulib.

2020-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/jit-lock.el (jit-lock-mode): Pass `local` to add-hook

	The old code used local=nil knowing that add-hook would affect the
	local part only anyway.  Remove this hideous assumption.
	Remove redundant `:group` args while we're at it.

2020-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/ebrowse.el (ebrowse-tags-loop-call): Rename

	Used to be called `ebrowse-tags-loop-form` and passed to `eval`.
	Now it's passed to `apply` instead, which is better for karma.
	(ebrowse-tags-loop-continue, ebrowse-tags-search)
	(ebrowse-tags-query-replace, ebrowse-tags-search-member-use):
	Adjust accordingly.
	(ebrowse-electric-position-mode-map): Move init into declaration.
	(ebrowse-electric-position-mode): Derive from special.

2020-03-28  Mattias Engdegård  <mattiase@acm.org>

	Turn compilation-error-case-fold-search into a defvar

	See bug#40119, and the discussion at
	https://lists.gnu.org/archive/html/emacs-devel/2020-03/msg00653.html

	* lisp/progmodes/compile.el (compilation-error-case-fold-search):
	Turn into a defvar.
	* etc/NEWS: Update.

2020-03-28  Michael Albinus  <michael.albinus@gmx.de>

	Tramp cache fixes

	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Flush the
	cache after the file has been written.

2020-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Use ATTRIBUTE_CONST for some bignum functions

	* src/bignum.h (mpz_get_d_rounded):
	* src/lisp.h (bignum_to_double, bignum_to_intmax)
	(bignum_to_uintmax, bignum_bufsize):
	Declare as ATTRIBUTE_CONST.

2020-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Declare the type immediately

2020-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-registry.el: Use lexical-binding

	(gnus-registry-install-shortcuts): Use a closure (with dynamic :documentation)
	(gnus-registry-user-format-function-M): Use define-obsolete-function-alias.
	(gnus-registry-article-marks-to-names): η-reduce.

2020-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/tex-mode.el: Replace double-definition hack with an advice

	(tex-verbatim-environments): Add "Verbatim".
	(tex--guess-mode): Rename from tex-guess-mode and return the mode
	rather than calling it.
	(tex-mode): Replace second definition with an advice.

2020-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/ebrowse.el: Prefer hash-tables to obarrays

	Remove redundant :group args.
	Use `defvar-local` and `setq-local` where possible.

	(ebrowse-some): Use seq-some instead.
	(ebrowse-every): Use seq-every-p instead.
	(ebrowse-position): Use seq-position.
	(ebrowse--tree-table): Rename from `ebrowse--tree-obarray`.
	Change all users to use a hash-table rather than an obarray.
	(ebrowse-for-all-trees): Adjust to the table being a hash-table.
	(ebrowse-tree-table-as-alist): Rename from `ebrowse-tree-obarray-as-alist`.
	(ebrowse-build-tree-obarray): Rename from `ebrowse-build-tree-obarray`.
	(ebrowse-tree-mode): Remove redundant setting of `ebrowse--tree-obarray`.
	(ebrowse-set-tree-indentation, ebrowse-view-file-other-frame)
	(ebrowse-last-completion-table): Rename from
	ebrowse-last-completion-obarray.
	(ebrowse-position): Make it a proper struct.

2020-03-27  Eli Zaretskii  <eliz@gnu.org>

	Port the 'module/async-pipe' test to MS-Windows

	These changes let the code compile and produce a valid DLL, but the
	test hangs.  It looks like the hang is in Fdelete_process, when it
	closes one of the descriptors of the pipe process.
	In addition, this use of the pipe process cannot currently work
	on MS-Windows, since make-pipe-process doesn't set up the reader
	thread to read from the Emacs's side of the pipe, so the select
	emulation doesn't know there's stuff to read from that pipe.
	* test/data/emacs-module/mod-test.c [WINDOWSNT]: Include
	windows.h.
	(ALIGN_STACK) [!__x86_64__]: Define for 32-bit builds.
	(sleep_for_half_second): New function.
	(write_to_pipe): Declare return type differently for WINDOWSNT.
	Call sleep_for_half_second.
	(Fmod_test_async_pipe) [WINDOWSNT]: Use _beginthread as substitute
	for pthread_create.
	(invalid_finalizer): Replace non_ASCII character in a comment.

	* test/src/emacs-module-tests.el (module/async-pipe): Skip on
	MS-Windows, as the test fails and then hangs.

2020-03-27  Yuan Fu  <casouri@gmail.com>

	Add manual and NEWS entries for previous gdb-mi changes

	* etc/NEWS: Add entries for saving and restoring GDB window
	configurations.
	* doc/emacs/building.texi (GDB User Interface Layout): Add
	documentation for 'gdb-save-window-configuration',
	'gdb-load-window-configuration',
	'gdb-default-window-configuration-file',
	'gdb-window-configuration-directory',
	'gdb-restore-window-configuration-after-quit'.  Change 'many-windows
	layout' to 'default layout'.

2020-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Treat out-of-range positions consistently

	If a position argument to get-byte etc. is an out-of-range integer,
	treat it the same regardless of whether it is a fixnum or a bignum.
	* src/buffer.c (fix_position): New function.
	* src/buffer.c (validate_region):
	* src/character.c (Fget_byte):
	* src/coding.c (Ffind_coding_systems_region_internal)
	(Fcheck_coding_systems_region):
	* src/composite.c (Ffind_composition_internal):
	* src/editfns.c (Fposition_bytes, Fchar_after, Fchar_before)
	(Finsert_buffer_substring, Fcompare_buffer_substrings)
	(Fnarrow_to_region):
	* src/fns.c (Fsecure_hash_algorithms):
	* src/font.c (Finternal_char_font, Ffont_at):
	* src/fringe.c (Ffringe_bitmaps_at_pos):
	* src/search.c (search_command):
	* src/textprop.c (get_char_property_and_overlay):
	* src/window.c (Fpos_visible_in_window_p):
	* src/xdisp.c (Fwindow_text_pixel_size):
	Use it instead of CHECK_FIXNUM_COERCE_MARKER, so that
	the code is simpler and treats bignums consistently with fixnums.
	* src/buffer.h (CHECK_FIXNUM_COERCE_MARKER): Define here
	rather than in lisp.h, and reimplement in terms of fix_position
	so that it treats bignums consistently with fixnums.
	* src/lisp.h (CHECK_FIXNUM_COERCE_MARKER): Move to buffer.h.
	* src/textprop.c (validate_interval_range): Signal with original
	bounds rather than modified ones.

2020-03-27  Juri Linkov  <juri@linkov.net>

	Disable enable-local-variables for hunk-only in diff-syntax-fontify-props

	* lisp/vc/diff-mode.el (diff-syntax-fontify-props): Let-bind
	enable-local-variables to nil when hunk-only is non-nil (bug#39190)

2020-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Refactor and fix typo in CHECK_*_COERCE_MARKER

	* src/data.c (check_integer_coerce_marker)
	(check_number_coerce_marker): New functions.
	Also, fix a typo in the former, by having it use
	Qinteger_or_marker_p not Qnumber_or_marker_p.
	(arithcompare, floatop_arith_driver, bignum_arith_driver)
	(arith_driver, Fplus, Fminus, Ftimes, Fquo, Frem, Fmod)
	(minmax_driver, Flogand, Flogior, Flogxor, Fadd1, Fsub1):
	Use them in place of the similarly-named macros.
	* src/lisp.h (CHECK_NUMBER_COERCE_MARKER)
	(CHECK_INTEGER_COERCE_MARKER): Remove; no longer used.

2020-03-26  Philipp Stephani  <phst@google.com>

	Add a module function to open a file descriptor connected to a pipe.

	A common complaint about the module API is that modules can't
	communicate asynchronously with Emacs.  While it isn't possible to
	call arbitrary Emacs functions asynchronously, writing to a pipe
	should always be fine and is a pretty low-hanging fruit.

	This patch implements a function that adapts an existing pipe
	process.  That way, users can use familiar tools like process filters
	or 'accept-process-output'.

	* src/module-env-28.h: Add 'open_channel' module function.

	* src/emacs-module.c (module_open_channel): Provide definition for
	'open_channel'.
	(initialize_environment): Use it.

	* src/process.c (open_channel_for_module): New helper function.
	(syms_of_process): Define necessary symbol.

	* test/src/emacs-module-tests.el (module/async-pipe): New unit test.

	* test/data/emacs-module/mod-test.c (signal_system_error): New helper
	function.
	(signal_errno): Use it.
	(write_to_pipe): New function running in the background.
	(Fmod_test_async_pipe): New test module function.
	(emacs_module_init): Export it.

	* doc/lispref/internals.texi (Module Misc): Document new module
	function.

	* doc/lispref/processes.texi (Asynchronous Processes): New anchor
	for pipe processes.

	* etc/NEWS: Document 'open_channel' function.

2020-03-26  Paul Eggert  <eggert@cs.ucla.edu>

	Remove COERCE_MARKER

	* src/xdisp.c (COERCE_MARKER): Remove.  All uses replaced by
	Fmarker_position; this is simpler as the macro was invoked only on
	markers.

2020-03-26  Paul Eggert  <eggert@cs.ucla.edu>

	line-beginning-position args can be bignums

	* src/editfns.c (Fline_beginning_position, Fline_end_position):
	Do not restrict integer arguments to fixnums.

2020-03-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix integer overflow in internal_self_insert

	* src/cmds.c (internal_self_insert): Avoid undefined behavior
	on integer overflow by using saturated add.

2020-03-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix integer overflow in forward-point

	* lisp/subr.el (forward-point): Rewrite in Lisp and move here ...
	* src/cmds.c (Fforward_point): ... from here.  This fixes an
	integer overflow bug with (forward-point most-positive-fixnum).

2020-03-25  Mattias Engdegård  <mattiase@acm.org>

	Make compilation-mode regexp matching case-sensitive (bug#40119)

	The number of regexps is large, they are written independently of one
	another, and they frequently intersect.  Using case-sensitive matching
	improves separation and performance, and is probably what everyone
	have being assuming was used by compilation-mode all along.

	* lisp/progmodes/compile.el (compilation-error-case-fold-search): New.
	(compilation-parse-errors): Bind case-fold-search to
	compilation-error-case-fold-search during matching.
	* etc/NEWS: Announce.

2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2020-03-25 getopt-posix: port __GETOPT_PREFIX to macOS
	2020-03-22 acl-permissions: Improve autoconf macro
	* lib/getopt-pfx-core.h, m4/acl.m4: Copy from Gnulib.

2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify --enable-gcc-warnings for lock_file

	* src/filelock.c (lock_file): Pacify gcc -Wmaybe-uninitialized
	after recent change to this function.

2020-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/conf-mode.el (conf-mode): Fix last change

	`delay-mode-hooks` cannot be tested from within `define-derived-mode`
	because it's always non-nil in there, so arrange to test it before we
	enter the body.

2020-03-25  Eli Zaretskii  <eliz@gnu.org>

	Improve the UI of 'list-timers'

	* lisp/emacs-lisp/timer-list.el (list-timers): Display both "Next"
	and "Repeat" in units of seconds, for consistency.
	(timer-list-mode): Add help-echo to column headers.

2020-03-24  Juri Linkov  <juri@linkov.net>

	Rename dired-mark-region choices and ignore empty region.

	* lisp/dired.el (dired-mark-region): Rename choices
	'exclusive' to 'file', and 'inclusive' to 'line'.
	(dired-mark-if, dired-mark): Check for non-empty region explicitly
	instead of using use-region-p to ignore non-nil value of
	use-empty-active-region.  (Bug#39902)

2020-03-24  Robert Pluim  <rpluim@gmail.com>

	Fix gravatar tests

	* lisp/image/gravatar.el (gravatar--service-libravatar): Don't error
	when failing to parse email address, just return the default URL.

	* test/lisp/image/gravatar-tests.el (gravatar-build-url): Adjust
	for new default gravatar url.

2020-03-24  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (emit_mvar_access): Fix speed 1 compilation

	At speed 1 propagate does not run and all mvars are allocated in array
	0.

2020-03-24  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (native-compile-async): Fix excessive messaging

2020-03-24  Philip K  <philip@warpmail.net>

	Add support for multiple Gravatar services

	Now supports Libravatar and Unicornify, next to Gravatar (Bug#39965).

	* lisp/image/gravatar.el (gravatar-base-url): Remove constant.
	(gravatar-service-alist): List supported services.
	(gravatar-service): Add user option to specify service, defaults to
	Libravatar.
	(gravatar--service-libravatar): New function, libravatar image host
	resolver implementation.
	(gravatar-build-url): Use alist gravatar-service-alist instead of
	gravatar-base-url.
	* etc/NEWS: Mention new gravatar service option.

2020-03-24  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-03-24  Eli Zaretskii  <eliz@gnu.org>

	Fix sending signals and EOF to the inferior process in gdb-mi.el

	* lisp/progmodes/gdb-mi.el (gdb-io-interrupt, gdb-io-quit)
	(gdb-io-stop, gdb-io-eof): Send signal/EOF to the inferior
	process, not to GDB.  (Bug#40210)

2020-03-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't add repeated xlmns:xlink declarations in svg-create

	* lisp/svg.el (svg-create): Fix previous unconditional addition of
	the xmlns:xlink declaration -- callers may already add one, and
	having it twice is something most svg libraries doesn't like.

2020-03-23  Noam Postavsky  <npostavs@gmail.com>

	Make cl-concatenate an alias of seq-concatenate

	* lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use defalias instead
	of apply.  This is simpler and more efficient.

2020-03-23  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el : Fix typo introduced by f8b07ff4f3

	Merge remote-tracking branch 'savannah/master' into HEAD

	Guard against function redefinition during deferred load

2020-03-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	d66331aea4 (origin/emacs-27) Don't build the Gnulib 'utimens' module ...
	f2351a689b Add Harfbuzz dependency
	8944310d7c Don't signal during backtrace unrewind (Bug#40088)
	8709aaddd8 Fix a couple of problems in changelog generating functions
	9ab85f087f Fix cl-concatenate (Bug#40180)
	561e9fb91b Improve documentation of project.el commands
	b28a9a6cc3 Make svg images with links valid
	7515252cce * lisp/tab-line.el (tab-line-new-button-show): New defcustom.

	# Conflicts:
	#	etc/NEWS
	#	nt/gnulib-cfg.mk

2020-03-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	bed04c502c Use correct registry name for windows-1251 charset
	1aa1529301 ERC: Update maintainer address

2020-03-23  Noam Postavsky  <npostavs@gmail.com>

	Avoid extra "changed on disk" prompt in save-buffer (Bug#18336)

	* src/filelock.c (lock_file): Don't query the user if the current
	session already owns the lock.

2020-03-23  Juri Linkov  <juri@linkov.net>

	* lisp/dired.el (dired-mark-region): New defcustom (bug#39902)

	* lisp/dired.el (dired-mark-if): Use dired-mark-region.
	(dired-mark): Use dired-mark-region.  Fix docstring.
	(dired-mark-files-regexp, dired-mark-files-containing-regexp)
	(dired-mark-symlinks, dired-mark-directories)
	(dired-mark-executables, dired-flag-auto-save-files)
	(dired-flag-backup-files): Mention dired-mark-region in docstring.

	* lisp/dired-aux.el (dired-compare-directories):
	* lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
	Mention dired-mark-region in docstring.

2020-03-22  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-03-22  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (maybe_defer_native_compilation): Fix

	Prevent recursive compilation while deferring compilation.

2020-03-22  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (maybe_defer_native_compilation): Add some debug code

	* lisp/emacs-lisp/comp.el: Add missing require

2020-03-22  Andrea Corallo  <akrl@sdf.org>

	* .gitlab-ci.yml: CI test native bootstrap speed1 and speed2

	Do just a fast bootstrap for these two.

2020-03-22  Andrea Corallo  <akrl@sdf.org>

	Have a fast build option triggered by env var NATIVE_FAST_BOOT

2020-03-22  Stefan Kangas  <stefankangas@gmail.com>

	Revert "Signal user-error on duplicate package refresh" (Bug#39187)

	This reverts commit a6d87ea045d9df73f70765bedfb02522043efd9b.

2020-03-21  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#40156 in Tramp

	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Copy to temp file
	only if FILENAME exists.  (Bug#40156)

	* test/lisp/net/tramp-tests.el (tramp-test10-write-region): Extend test.

2020-03-21  Stefan Kangas  <stefankangas@gmail.com>

	Remove more XEmacs compat code from ediff*.el

	* lisp/vc/ediff-init.el (ediff-H-glyph):
	* lisp/vc/ediff-util.el (ediff-inferior-compare-regions)
	(ediff-setup-keymap):
	* lisp/vc/ediff-wind.el (ediff-control-frame-parameters)
	(ediff-prefer-iconified-control-frame)
	(ediff-setup-control-frame, ediff-xemacs-select-frame-hook): Remove
	XEmacs compat code and declare compatibility functions obsolete.

	* lisp/vc/ediff-init.el (ediff-temp-file-prefix): Redefine as
	obsolete variable alias for 'temporary-file-directory'.
	* lisp/vc/ediff-util.el (ediff-make-temp-file): Don't use obsolete
	variable name.

2020-03-21  Stefan Kangas  <stefankangas@gmail.com>

	Remove obsolete XEmacs comment

	* lisp/emacs-lisp/edebug.el (edebug--display-1): Remove comment
	regarding an XEmacs exclusive variable.

2020-03-21  Stefan Kangas  <stefankangas@gmail.com>

	Declare some <package>-version variables obsolete

	These are not used for anything these days and can therefore be
	removed.  Package developers should check the Emacs version instead.
	Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html

	* lisp/calendar/icalendar.el (icalendar-version):
	* lisp/dframe.el (dframe-version):
	* lisp/emacs-lisp/checkdoc.el (checkdoc-version):
	* lisp/emulation/edt.el (edt-version):
	* lisp/international/mule.el (mule-version)
	(mule-version-date):
	* lisp/linum.el (linum-version):
	* lisp/play/bubbles.el (bubbles-version):
	* lisp/speedbar.el (speedbar-version):
	* lisp/textmodes/remember.el (remember-version):
	* lisp/url/url-vars.el (url-version):
	* lisp/woman.el (woman-version): Declare obsolete.

	* lisp/emacs-lisp/checkdoc.el (checkdoc-start-section):
	* lisp/speedbar.el (speedbar-mode):
	* lisp/url/url-about.el (url-about-protocols):
	* lisp/url/url-http.el (url-http--user-agent-default-string):
	* lisp/url/url-news.el (url-news-fetch-message-id):
	* lisp/woman.el (woman-menu, woman-mode): Stop using variables
	declared obsolete above.

2020-03-21  Stefan Kangas  <stefankangas@gmail.com>

	Add "Old-" prefix to "Version" header in some cases

	These version numbers are historical accidents and not relevant today.
	Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html

	* lisp/calendar/icalendar.el:
	* lisp/emacs-lisp/checkdoc.el:
	* lisp/hippie-exp.el:
	* lisp/linum.el:
	* lisp/master.el:
	* lisp/progmodes/cwarn.el:
	* lisp/repeat.el:
	* lisp/ruler-mode.el:
	* lisp/textmodes/remember.el:
	* lisp/wdired.el:
	* lisp/woman.el: Change "Version" header to "Old-Version".

2020-03-20  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Remove the Date header from message-draft-headers

	* lisp/gnus/message.el (message-draft-headers): The Date header should
	reflect when the message is sent, not when it was saved or delayed.

2020-03-19  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el (comp-async-jobs-number): Fix customize type.

	Merge remote-tracking branch 'savannah/master' into HEAD

	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Load only if compilation succeed

2020-03-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't have exif bugging out on short strings

	* lisp/image/exif.el (exif--direct-ascii-value): New function
	(bug#40127).
	(exif--parse-directory): Use it to get the correct values for
	in-directory (i.e., shorter than 4 octets) strings.

2020-03-19  Eli Zaretskii  <eliz@gnu.org>

	Fix display of :box face when overlay strings are around

	* src/xdisp.c (reset_box_start_end_flags): New function.
	(handle_face_prop): Only set the start_of_box_run_p flag, don't
	reset it.
	(pop_it): Set the face_box_p flag, if the popped face requires
	that, when continuing iteration over buffer text.
	(get_next_display_element, next_element_from_display_vector): Only
	set the end_of_box_run_p flag, never reset it here.
	(set_iterator_to_next): Don't reset the start_of_box_run_p and
	end_of_box_run_p flags here.  They are now reset as side effect of
	PRODUCE_GLYPHS.
	(append_space_for_newline): Restore the end_of_box_run_p flag
	after PRODUCE_GLYPHS where we previously didn't reset it.
	* src/dispextern.h (PRODUCE_GLYPHS): Call
	reset_box_start_end_flags after producing glyphs.
	(Bug#40124)

2020-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Tiny simplification of frac_to_double

	* src/timefns.c (frac_to_double): Remove unnecessary runtime check,
	since the denominator is always positive.

2020-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Omit timestamp optimization invalid on 387 FPU

	* src/timefns.c (frac_to_double): Omit optimization that is
	invalid on machines with excess precision (e.g., gcc x86 with 387
	FPU), because it double-rounds.  Found via ‘gcc -m32’ on x86-64.

2020-03-18  Andrea Corallo  <akrl@sdf.org>

	* src/comp.c (native-elisp-load): Guard against missing file.

2020-03-19  Andrea Corallo  <akrl@sdf.org>

	Command late load when deferring compilation

	* lisp/emacs-lisp/comp.el: Extend `native-compile-async' for load and late-load

	Extend low level code for late load

	* lisp/emacs-lisp/comp.el: late-load support optional as `native-compile' parameter

	* lisp/emacs-lisp/comp.el: Have the compiler generates 'late_top_level_run'

2020-03-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	e92b8e535a (origin/emacs-27) Remove raw carriage return characters fr...
	5747a59a88 Recalculate default font when switching font backend
	a2dd8c4234 * lisp/tab-line.el: Fix tab-line-format and tab-line-forma...
	a7b8291b6c * etc/NEWS: Make the `--eval` example slightly more precise
	f8254aad14 * lisp/image/image-converter.el: Support more ImageMagick ...
	5beb269505 Support Unicode 13.0
	3a671ad7ed Fix regression in wisent-total-conflicts

	# Conflicts:
	#	etc/NEWS

2020-03-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	3a8a231810 * lisp/textmodes/fill.el (fill-nobreak-predicate): Fix doc...
	cbe643104d Improve Package Menu hiding docstrings
	8d28c98ae0 Fix display of Big5 characters when using Fontconfig

2020-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/smerge-mode.el (smerge-start-session): Don't re-enable

	Don't do anything if smerge-mode is already enabled.

2020-03-17  Mattias Engdegård  <mattiase@acm.org>

	Don't generate useless range table entries for ASCII chars

	In multibyte regexps, each ASCII char or range in a character
	alternative produces a nonsense range table entry in addition to the
	correct bits in the ASCII bitmap.  Those entries do not match anything
	but waste space and time.

	* src/regex-emacs.c (regex_compile): Don't generate reversed intervals.

2020-03-17  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-03-17  Andrea Corallo  <akrl@sdf.org>

	Trigger native compilation when loading bytecode

	Introduce a first mechanism to trigger compilation when lex elc files
	are loaded.  This is off by default and has to be better tested.

2020-03-16  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el: (native-compile-async) do not duplicate queue entries

2020-03-16  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el: Estimate async worker number using system CPU number

	This only when `comp-async-jobs-number' is 0 (default).

2020-03-16  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el: Make compilation logic to be dynamically controllable

	Introduce `comp-async-jobs-number' to control async job number, this
	can be now adjusted dynamically.

	Also make `native-compile-async' able to dynamically queue new
	compilations.

2020-03-15  Yuan Fu  <casouri@gmail.com>

	Add store/restore window configuration feature for gdb-mi

	Add a feature that allows a user to save a gdb window
	configuration (window layout) to a file with
	'gdb-save-window-configuration' and load it back with
	'gdb-load-window-configuration'.  Set a default window configuration
	by setting 'gdb-default-window-configuration-file'.
	Add an option to make gdb preserve the window configuration
	that the user had before starting gdb.  In window.el, add
	'with-window-non-dedicated'.

	* lisp/progmodes/gdb-mi.el (top/level): Require 'pcase' and 'cl-seq'.
	(gdb--window-configuration-before): New variable.
	(gdb-restore-window-configuration-after-quit): New option.
	(gdb-window-configuration-directory,
	gdb-default-window-configuration-file): New variables.
	(gdb): Save configuration on startup.
	(gud-menu-map): Add "Load Layout" and "Save Layout" to menu.  Add
	"Restore Layout After Quit" button to menu.  Rename "Restore Window
	Layout" to "Restore Default Layout", add some help echo, and move it
	from "GDB-MI" menu to "GDB-WINDOWs" menu.
	(gdb-toggle-restore-window-configuration): New function.
	(gdb-get-source-buffer): New function, extracted out of
	'gdb-restore-window'.
	(gdb-setup-windows): Add a condition branch that loads default window
	configuration when available.  Fix docstring.
	(gdb-buffer-p, gdb-function-buffer-p, gdb--buffer-type,
	gdb-save-window-configuration, gdb-load-window-configuration): New
	functions.
	(gdb-restore-windows): Edit docstring to mention
	'gdb-default-window-configuration-file'.
	(gdb-reset): Restore window configuration after quit.
	* lisp/window.el (with-window-non-dedicated): New macro.

2020-03-15  Eli Zaretskii  <eliz@gnu.org>

	Reverse the meaning of 2nd arg to 'live_buffer_holding'

	* src/alloc.c (live_buffer_holding): Rename ALL_BUFFERS ti
	IGNORE_KILLED, and reverse the condition for returning killed
	buffers.
	(live_buffer_p): Add commentary.
	(live_buffer_p, mark_maybe_object, mark_maybe_pointer): Reverse
	the 2nd argument to live_buffer_holding.  (Bug#39962)

2020-03-15  Pip Cet  <pipcet@gmail.com>

	Make sure we mark reachable killed buffers during GC

	* src/alloc.c (live_buffer_holding): Add ALL_BUFFERS argument for
	returning killed buffers.
	(mark_maybe_object, mark_maybe_pointer): Use the additional
	argument.  (Bug#39962)

2020-03-15  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-03-15  Andrea Corallo  <akrl@sdf.org>

	* .gitlab-ci.yml: Always run test-filenotify-gio

	test-filenotify-gio is run always to keep stock bootstrap tested.

2020-03-15  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/comp.el: Fix missing rx require

2020-03-15  Adam Porter  <adam@alphapapa.net>

	comp.el: Minor improvements

	Change: (comp-start-async-worker) Refactor slightly

	Change: (comp-start-async-worker) Inline (comp-to-file-p)

	Change: (comp-source-files) Rename from comp-src-pool

	Add: (comp-start-async-worker) Assertion

	Change: (comp-async-processes) Rename from comp-prc-pool

	Tidy: (native-compile)

	Rename variables, improve docstring, adjust log message, simplify
	filename code.

	Tidy: (batch-native-compile) Docstring

	Tidy: whitespace-cleanup

	Tidy: (comp-start-async-worker) Use () instead of nil

	Tidy: (comp-files-queue) Rename from comp-source-files

	Change: (native-compile-async) Improve paths support

	Tidy: Comment

	Save a line for one word.  :)

	Change: (comp-log) Rewrite without macro, follow tail

	Change: (native-compile-async) Use end-of-string in filename regexps

	Change: (native-compile-async) Use cl-loop instead of dotimes

	Add/Change: (comp-log-to-buffer) And use in comp-log

	Comment: Tidy comment

	Fix: (configure.ac) Option description

	Fix: (comp-log) Argument

	Fix: (comp-start-async-worker) Variable name

	Change: Undo whitespace changes

	Some of them included incorrect indentation because the
	macros' (declare (indent)) forms were not loaded.  The
	whitespace-cleanup should be run from Emacs 27+ with the file loaded.

2020-03-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/sql.el: Try and avoid `eval`; use define-derived-mode

	Remove redundant `:group` args.

	(sql-interactive-mode-map): `set-keymap-parent` is always fboundp.
	(sql-get-product-feature): Prefer `symbol-value` over `eval`.
	(sql--adjust-interactive-setup): New function, extracted from
	`sql-interactive-mode`.
	(sql-interactive-mode): Use it and `define-derived-mode`.
	(sql-connect, sql-connection-menu-filter): Prefer `cl-progv` over `eval`.

2020-03-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/conf-mode.el (conf-mode): Use define-derived-mode

	(conf--guess-mode): Extract from conf-mode.
	(defcustoms): Remove redundant `:group` args.
	(conf-mode, conf-mode-initialize, conf-javaprop-mode)
	(conf-space-mode, conf-space-keywords, conf-space-mode-internal)
	(conf-colon-mode): Use `setq-local`.

2020-03-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package-activate-1): Avoid duplicates

	in `Info-directory-list`.

2020-03-14  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-03-14  Andrea Corallo  <akrl@sdf.org>

	Fix make bootstrap for native compilation

	Add Makefile target native-compile-clean removing all eln output
	folders.

	This is also triggered by make bootstrap to perform a clean bootstrap.

	Also revert some modification of the build system against master not
	effective anymore with the new directory layout.

2020-03-14  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-defs.el (c-version): update to 5.34.2 for master branch

2020-03-14  Jeremy Compostella  <jeremy.compostella@gmail.com>

	Make previous mml-expand-html-into-multipart-related fix more general

	* lisp/gnus/mml.el (mml-expand-html-into-multipart-related): This is
	function is now called by a recursive
	engine (mml-expand-all-html-into-multipart-related).  The structure of
	the returned value should be identical between an untouched part and a
	expanded multipart (bug#39230).

2020-03-14  Eli Zaretskii  <eliz@gnu.org>

	Add charsets to 'w32-charset-info-alist'

	* lisp/w32-fns.el: Add a few more charsets to
	w32-charset-info-alist.

2020-03-14  Mattias Engdegård  <mattiase@acm.org>

	Avoid regexp stack overflow in GDB string matching (bug#22149)

	* lisp/progmodes/gdb-mi.el (gdb--string-regexp):
	Swap the or-clauses so that the rarely matching one comes first.
	This avoids a build-up of backtrack points on the regexp stack.

2020-03-13  Andrea Corallo  <akrl@sdf.org>

	Prefix native compilation folders with "eln-"

2020-03-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	a2b07f9f11 (origin/emacs-27) ; * etc/NEWS: Explain how to get back ol...
	b468b3d1ff Fix a recent documentation change
	1ab766fd58 Fix last change
	ecfe633993 * lisp/tab-bar.el: Last-minute changes.
	c1ce9fa7f2 * lisp/subr.el (cancel-change-group): Fix bug#39680
	ef5744a988 Improve docs for horizontal scrolling with mouse and touch...
	1bc3fa0bd0 * lisp/emacs-lisp/package.el (package-install): Fix typo i...
	4537976afd Port .gdbinit to clang with -gdwarf-4
	0883c800a0 Simplify rx example in manual
	a695189248 ; * etc/NEWS: Fix typo.

	# Conflicts:
	#	etc/NEWS

2020-03-13  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-accept-process-output): Propagate `quit' signal.

2020-03-13  Pieter van Oostrum  <pieter@vanoostrum.org>

	* lisp/emacs-lisp/package.el (package-menu--generate): Fix doc string.

	Add REMEMBER-POS to docstring (bug#39861).

2020-03-13  Andrea Corallo  <akrl@sdf.org>

	Do not produce .eln files when a byte compilation error happen

	Have the byte compiler signal an error when compilation fails to stop
	native compilation too.

2020-03-13  Noam Postavsky  <npostavs@gmail.com>

	Make cl-equalp a bit more efficient at comparing strings

	* lisp/emacs-lisp/cl-extra.el (cl-equalp): Use compare-strings with
	the IGNORE-CASE argument, rather than creating downcased copies of the
	strings to be compared.

2020-03-13  Noam Postavsky  <npostavs@gmail.com>

	rcirc: Match NickServ messages case-insensitively (Bug#39345)

	Reported by Jake Nelson <jake.nelson@gmail.com>.
	* lisp/net/rcirc.el (rcirc-check-auth-status): NickServ will response
	will show the nick in the same case used during registration, but
	it allows case-insensitive matches when logging in.  Therefore, we
	should accept response messages regardless of case.

2020-03-13  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	Fix NS child frame in native fullscreen (bug#36672)

	* lisp/frame.el (toggle-frame-fullscreen): Don't sleep on cocoa.
	Fullscreen animation waiting is moved to src/nsterm.m.
	* src/nsterm.h (EmacsView): Add in_fullscreen_transition,
	inFullScreenTransition, waitFullScreenTransition.
	(NSWindowCollectionBehaviorFullScreenAuxiliary): New define.
	* src/nsterm.m (ns_make_frame_visible): Wait for fullscreen animation.
	(ns_set_parent_frame): Set frame collection behavior; make child frames
	non-fullscreen; make non-child frames fullscreen if parent was fullscreen.
	([EmacsView initFrameFromEmacs]): Set in_fullscreen_transition; set frame
	collection behavior according to parent frame.
	([EmacsView windowDidMove]): Remove code by commenting with "fixme".
	([EmacsView windowWillEnterFullScreen], [EmacsView windowDidEnterFullScreen])
	([EmacsView windowWillExitFullScreen], [EmacsView windowDidExitFullScreen]):
	Set in_fullscreen_transition.
	([EmacsView inFullScreenTransition], [EmacsView waitFullScreenTransition]):
	New methods.
	([EmacsView updateCollectionBehavior]): Set collection behavior according to
	parent frame.
	([EmacsView toggleFullScreen]): Wait for fullscreen animation.

2020-03-12  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/eldoc.el: Remove redundant `:group` arguments

	* lisp/emacs-lisp/eldoc.el (eldoc--supported-p): Understand the "old" API

	* lisp/subr.el (cancel-change-group): Undo accidental change

2020-03-12  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-find-shell): Skip for asynchronous processes.

2020-03-11  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs exclusive face from themes

	* etc/themes/deeper-blue-theme.el (class):
	* etc/themes/leuven-theme.el (class):
	* etc/themes/manoj-dark-theme.el (manoj-dark):
	* etc/themes/whiteboard-theme.el (class): Don't set XEmacs exclusive
	face 'font-lock-doc-string-face'.

2020-03-11  Stefan Kangas  <stefankangas@gmail.com>

	Remove more XEmacs compat code from eshell

	* lisp/eshell/em-glob.el (eshell-extended-glob):
	* lisp/eshell/em-ls.el (eshell-do-ls):
	* lisp/eshell/em-unix.el (eshell/du, eshell-mvcpln-template):
	* lisp/eshell/esh-util.el (eshell-file-attributes): Remove more XEmacs
	compat code; no longer let-bind the unused variable ange-cache.

2020-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el: More care with `eval` and with `cl-typep`

	(cl-eval-when, cl--compile-time-too, cl-load-time-value):
	Obey lexical-binding.
	(cl-check-type): Prefer the predicate rather than the type in the
	error signal when it's easy to do (as is done outside of CL).
	(cl-deftype-satisfies): Add definitions for standard types.

2020-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Simplify result

	It used to return a pair (EXP . LAMBDA-CDR) but EXP was always nil, so
	just return the LAMBDA-CDR instead.

	(cl-defun, cl-iter-defun, cl-defmacro, cl-function, cl-macrolet):
	Adjust callers accordingly.

2020-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/window.el: Avoid `called-interactively-p`.

	(other-window, delete-other-windows, next-buffer, previous-buffer):
	Use an `interactive` arg instead.

2020-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/ido.el: Remove redundant `:group`s

2020-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (dlet): New macro

	* lisp/calendar/calendar.el (calendar-dlet*): Use it.

2020-03-10  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-03-10  Andrea Corallo  <akrl@sdf.org>

	* Improve load_comp_unit

	Fix uninitialized ephemeral data relocation for the case when a dumped
	compilation unit is manually reloaded.

	Guard also data_ephemeral_vec against compiler optimizations.

2020-03-10  Andrea Corallo  <akrl@sdf.org>

	* Fix store_function_docstring for native functions

	Do not Nil native_doc fields.  This will be naturally dumped by
	pdumper.  This was affecting dumped functions.

2020-03-10  Andrea Corallo  <akrl@sdf.org>

	Fix GC mark for native compiled functions

	native_intspec and native_doc fields has to be reached by the subr
	cause are not anymore in the CU.

2020-03-10  Andrea Corallo  <akrl@sdf.org>

	* Set relocation class as ephemeral in `comp-limplify-top-level'

2020-03-10  Juri Linkov  <juri@linkov.net>

	Improve new-frame logic of windmove-display-in-direction (bug#39875)

	* lisp/windmove.el (windmove-display-in-direction):
	For frame-based logic use code similar to display-buffer-pop-up-frame.

2020-03-10  Juri Linkov  <juri@linkov.net>

	In vc-print-branch-log use root instead of the default directory (bug#39704)

	* lisp/vc/vc.el (vc-print-branch-log): Use rootdir instead of
	default-directory for the second arg of vc-print-log-internal.

2020-03-09  Michael Albinus  <michael.albinus@gmx.de>

	Finish implementation of set-file-times FLAG arg in Tramp

	* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
	Implement FLAG.
	(tramp-adb-handle-copy-file): Adapt `set-file-times' call.

	* lisp/net/tramp-compat.el (tramp-compat-set-file-times): New defalias.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-modes)
	(tramp-gvfs-handle-set-file-times, tramp-gvfs-set-file-uid-gid):
	Simplify `tramp-gvfs-url-file-name' call.

	* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times): Implement FLAG.
	(tramp-do-copy-or-rename-file-via-buffer)
	(tramp-do-copy-or-rename-file-out-of-band): Add optional argument
	OK-IF-ALREADY-EXISTS.  Adapt callees.
	(tramp-do-copy-or-rename-file-via-buffer)
	(tramp-do-copy-or-rename-file-directly)
	(tramp-do-copy-or-rename-file-out-of-band): Adapt `set-file-times' call.

	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-copy-file): Adapt `set-file-times' call.

	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
	Adapt `set-file-times' call.
	(tramp-sudoedit-handle-set-file-times): Implement FLAG.

	* test/lisp/net/tramp-tests.el (tramp-test22-file-times): Extend test.

2020-03-09  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

	* Fix regexp introduced by f055f52321

2020-03-09  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-27

	cf223dc928 ; * src/timefns.c: Fix typo in previous change.
	20d3d3a950 * src/timefns.c: Add comments.

2020-03-08  Andrea Corallo  <akrl@sdf.org>

	Fix typo into pdumper integration

2020-03-08  Andrea Corallo  <akrl@sdf.org>

	New native-comp CI setup

	- Disable 'test-all' till is known to be broken in this branch.

	- Run 'test-native-bootstrap' always (not only when scheduled).

	- Set 'test-native-bootstrap' timeout to 3 hours.

2020-03-08  Andrea Corallo  <akrl@sdf.org>

	Fix two find function functions for native compilation

	`find-function-library' and `find-library-name' gets fixed for new eln
	compilation directory layout.

2020-03-08  Daniel Gröber  <dxld@darkboxed.org>

	* lisp/term/rxvt.el: Enable backeted paste and window title

	rxvt-unicode uses the same escape sequences as xterm so just reuse
	the xterm functions to enable them.  The `xterm-rxvt-function-map`
	keymap already has

	    (define-key map "\e[200~" [xterm-paste])

	so we're already handling the paste sequence and only need to enable it.
	Tested on rxvt-unicode version 9.22.

	(rxvt-set-window-title): New var.
	(terminal-init-rxvt): Use it; enable bracketed paste mode;
	run terminal-init-rxvt-hook.

2020-03-08  Alan Mackenzie  <acm@muc.de>

	CC Mode: allow specified directives (e.g. pragma) to be indented as statements

	* lisp/progmodes/cc-cmds.el (c-align-cpp-indent-to-body)
	(c-cpp-indent-to-body-flag, c-electric-pragma)
	(c-add-indent-to-body-to-abbrev-table, c-clear-stale-indent-to-body-abbrevs)
	(c-toggle-cpp-indent-to-body): New functions and variables.

	* lisp/progmodes/cc-langs.el (c-std-abbrev-keywords): New lang const/var.

	* lisp/progmodes/cc-mode.el (c-populate-abbrev-table): New function.
	(c-basic-common-init): call the c-populate-abbrev-table.
	(c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode):
	Remove the setting of MODE-abbrev-table.

	* lisp/progmodes/cc-vars.el (c-cpp-indent-to-body-directives): New defcustom.

	* doc/misc/cc-mode.texi (Custom Macros): Introduce and refer to ....
	(Indenting Directives): New page documenting the new mechanism.

2020-03-08  Eli Zaretskii  <eliz@gnu.org>

	Fix the MinGW build as followup to recent "nofollow" changes

	* src/w32.c (fdutimens): Call utimensat instead of utime.
	(set_file_times): Function deleted.
	(convert_from_timespec): Renamed from convert_from_time_t and
	modified to accept 'struct timespec' argument instead of 'time_t'.
	(utimensat): Renamed from utime and modified to accept 'struct
	timespec [2]' argument and an additional argument FLAG.  Emulate
	Posix 'utimensat'.  Call 'convert_from_timespec'.
	(w32_copy_file): Call 'utimensat' instead of 'set_file_times'.
	* src/fileio.c (Fcopy_file) [WINDOWSNT]: Make the error message be
	identical to that on Posix platforms.

	* nt/inc/sys/stat.h (utimensat): Provide prototype.
	* nt/mingw-cfg.site (ac_cv_func_futimens)
	(gl_cv_func_futimens_works, ac_cv_func_utimensat)
	(gl_cv_func_utimensat_works): Override Gnulib tests.
	* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_futimens)
	(OMIT_GNULIB_MODULE_utimensat): Disable these Gnulib modules.

2020-03-08  Andrea Corallo  <akrl@sdf.org>

	* test-native-bootstrap CI test configured for speed 0

	Run for now only speed 0 to limit memory usage and compilation time.

2020-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify run-at-time

	* lisp/emacs-lisp/timer.el (run-at-time):
	Remove unnecessary test (Bug#39944).

2020-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-27

	0a3682a566 * src/timefns.c: Add comments.
	b16ba4041d ; lisp/emacs-lisp/seq.el: Explain why we don't use cl-lib ...
	3cbf4cb796 Eliminate use of cl-concatenate in 'seq' package
	363d927086 Fix bug with JIT stealth timers
	818333c85a * doc/lispref/os.texi (time-subtract): Doc fix.

2020-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bytecomp.el: Drop warning for loading into Emacs<23

	Stash the major version of the compiling Emacs such that the loading
	Emacs can later detect when loading a file compiled by a too-new Emacs.

	(byte-compile-fix-header): Remove.
	(byte-compile-from-buffer): Don't call it any more.
	(byte-compile-insert-header): Stash the emacs-major-version in it.
	Don't leave space for `byte-compile-fix-header`.

2020-03-07  Glenn Morris  <rgm@gnu.org>

	Skip filenotify tests on hydra.nixos.org

	They frequently hang for hours.
	* test/lisp/filenotify-tests.el
	(file-notify--test-remote-enabled-checked): Default to off on hydra.

2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	Add ‘nofollow’ flag to set-file-times

	This is a companion to the recent set-file-modes patch.
	It adds support for a ‘nofollow’ flag to set-file-times (Bug#39773).
	Like the set-file-modes patch, it needs work in the w32 port.
	* admin/merge-gnulib (GNULIB_MODULES): Add futimens, utimensat.
	Remove utimens.
	* doc/lispref/files.texi (Changing Files):
	* etc/NEWS: Mention the change.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lisp/files.el (copy-directory):
	* lisp/gnus/gnus-cloud.el (gnus-cloud-replace-file):
	* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file):
	* lisp/tar-mode.el (tar-copy):
	* test/lisp/filenotify-tests.el (file-notify-test03-events):
	* test/lisp/files-tests.el:
	(files-tests-file-name-non-special-set-file-times):
	* test/lisp/net/tramp-tests.el (tramp-test22-file-times):
	When setting file times, avoid following symbolic links
	when the file is not supposed to be a symbolic link.
	* lib/futimens.c, lib/utimensat.c, m4/futimens.m4, m4/utimensat.m4:
	New files, copied from Gnulib.
	* lisp/gnus/gnus-cloud.el (gnus-cloud-replace-file):
	When creating a file that is not supposed to exist already,
	use the excl flag to check this.
	* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
	* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-times):
	Accept an optional FLAG arg that is currently ignored,
	and add a FIXME comment for it.
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-times):
	* src/fileio.c (Fset_file_times):
	Support an optional FLAG arg.
	* src/fileio.c (Fcopy_file): Use futimens instead of set_file_times,
	as it’s simpler and is a POSIX API.
	* src/sysdep.c (set_file_times): Move from here ...
	* src/w32.c (set_file_times): ... to here, and make it static,
	since it is now used only in w32.c.  Presumably w32.c should also
	add support for futimens and utimensat (the POSIX APIs, which
	Emacs now uses) and it can remove fdutimens (the Gnulib API,
	which Emacs no longer uses).

2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-03-07 open, openat: port to (O_RDWR | O_RDONLY) != 0
	* lib/open.c: Copy from Gnulib.

2020-03-07  Andrea Corallo  <akrl@sdf.org>

	Raise timeout for test-native-bootstrap CI test and build with -j2

2020-03-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	72f87f8873 (origin/emacs-27) NS port documentation updates
	5b19db98ad ; * etc/NEWS: correctly describe what fido-mode is
	fc47e3ad99 Let fido-mode users force a minibuffer-exit
	e734961d4c icomplete-fido-exit: New command for the M-j binding
	335a9bd215 minibuffer-force-complete-and-exit: Allow input with no ma...
	34132d4bf6 ; * etc/NEWS: Mark 2 entries as fully documented.
	d28b73841b ; * etc/NEWS: Fix the 'mml-secure-openpgp-sign-with-sender...
	d1d56a9fd9 ; * etc/NEWS: 'thunk-let' and 'thunk-let*' are fully docum...
	fc4f4efabf ; * etc/NEWS: No need to document vc-hg and mergebase chan...
	9e8456cf0f ; * etc/NEWS: No need to document changes in Octave mode.
	25b4d6fa28 ; * etc/NEWS: No need to document changes in map.el and se...
	fc4d0f86da ; * etc/NEWS: No need to document Ido news.
	d4ac478cb3 ; * etc/NEWS: No need to document news of doc-view.el.
	08c042bd26 Document that 'byte-compile-dynamic' is obsolete
	512b66abd7 ; * etc/NEWS: No need to document 'goto-address-uri-scheme...
	3103c01c3e ; * etc/NEWS: Formatting fixes.
	98306fdfb8 ; * etc/NEWS: No need to document deprecation of 'cl'.
	6281ed58be ; * etc/NEWS: No need to document the change in 'list-proc...
	e252341e11 ; * etc/NEWS: 'backup-by-copying-when-privileged-mismatch'...
	ec5a267ddc ; * etc/NEWS: Mark 'byte-count-to-string-function' as undo...
	89307ebccd ; * etc/NEWS: Mark 'completion-common-part' face entry as ...
	fdbe7cacfb Document the changes in 'read-answer'
	10c58356e4 Document changes in lexical-binding
	5cb312b5b9 Update ERC mailing list address
	cb1877321b Use regexp-opt to define bibtex-autokey-transcriptions.  (...
	3f9c340de0 Improve documentation of 'table-generate-source'
	33b31dc314 Attempt to avoid rare segfaults in show_mouse_face
	88c6db9196 Avoid crashes when a fontset has strange entries
	1814c7e158 Fix rx error with ? and ??
	40fb20061e * lisp/emacs-lisp/rx.el (rx--string-to-intervals): Fix err...
	08d7d28d35 Fix args in 'window-text-pixel-size' call in 'fit-window-t...
	cb1e30910e Have pulse.el preserve existing overlay priorities

	# Conflicts:
	#	etc/NEWS

2020-03-07  Andrea Corallo  <akrl@sdf.org>

	Add test-native-bootstrap as CI test

2020-03-06  Glenn Morris  <rgm@gnu.org>

	Remove ancient OS X process-connection-type handling

	* src/process.c (init_process_emacs) [DARWIN_OS]:
	Remove process-connection-type special-casing
	for OS X < 10.3 (ie pre-2003).
	Ref https://lists.gnu.org/r/emacs-devel/2005-01/msg00741.html

2020-03-06  Juri Linkov  <juri@linkov.net>

	Fix handling of empty input in describe-variable and describe-symbol

	* lisp/help-fns.el (describe-variable): Use 'user-error' like in
	'describe-function'.
	(describe-symbol): Use empty string for arg SYMBOL when input is empty
	and there is no default value.
	This allows to signal the error "You didn't specify a function or variable"
	instead of displaying help about the symbol 'nil' on empty input.
	OTOH, still allows to see help about 'nil' when the input is "nil".

2020-03-06  Juri Linkov  <juri@linkov.net>

	New command make-frame-on-current-monitor to use in windmove (bug#39875)

	* lisp/frame.el (make-frame-on-current-monitor): New command.

	* lisp/windmove.el (windmove-display-in-direction):
	Use make-frame-on-current-monitor for 'new-frame'.
	(windmove-display-new-frame): New command.
	(windmove-display-default-keybindings): Bind
	windmove-display-new-frame to 'f' key.

	* lisp/window.el (display-buffer-in-direction): Fix quotes in docstring.

2020-03-04  Andrea Corallo  <akrl@sdf.org>

	Fix build for stock configuration

	Vcomp_native_path_postfix is declared only in native configuration.

2020-03-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	a3c2d186eb (origin/emacs-27) CC Mode: Fix the handling of two adjacen...
	a1abf73c76 Fix combine-change-calls-1 for when buffer-undo-list is t
	db37dd2e84 Don't misinterpret doc string as initial value
	40b217c2bf Bump checkdoc-version to match library header
	60418a1ab2 Explain how to unset mode bindings (Bug#39802)
	7cafbbe964 Fix describe-variable on values with circular syntax (Bug#...
	592b1cfee9 Improve documentation of next-error-highlight-no-select (b...

2020-03-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	a4e4510ccd Fix handling MS-Windows keyboard input above the BMP
	a38bebb0c1 * etc/NEWS: More complete description of rx 'not' changes.
	d373647e8f ; * doc/emacs/mini.texi (Yes or No Prompts): Fix last change.
	1ca6d15656 * doc/emacs/mini.texi (Yes or No Prompts): 'y-or-n-p' now ...
	fe1a447d52 Don't attempt to cache glyph metrics for FONT_INVALID_CODE
	b42b894d1d Fix fit-frame-to-buffer for multi-monitor setup
	366fd4fd07 (emacs-27) ; * etc/NEWS: Fix typo.
	49d3cd90bd rx: Improve 'or' compositionality (bug#37659)
	6b48aedb6b * lisp/tab-line.el: Fix auto-hscrolling (bug#39649)
	c5f255d681 (tag: emacs-27.0.90) ; Update lisp/ldefs-boot.el
	60c84ad992 ; * etc/TODO: Fix last change.
	5af9e5baad ; Add an entry to TODO
	d424195905 Fix rx charset generation
	9908b5a614 Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
	6dc2ebe00e Fix overquoting in mule.el
	5cca73dd82 * src/timefns.c (time_arith): Omit incorrect comment.
	d767c357ca Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
	4dec693f70 * lisp/vc/vc-cvs.el (vc-cvs-ignore): Copy-edit doc string
	ff729e3f97 ; bug#39779: Fix some typos in documentation.
	696ee02c3a checkdoc: Don't mistake "cf." for sentence end

	# Conflicts:
	#	etc/NEWS

2020-03-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	5b7d226779 * etc/AUTHORS: Update.
	4aa758e53d ; ChangeLog.3 update
	9261b1ed49 * admin/authors.el (authors-ignored-files): Fix entries.
	86e4da6eaf ; ChangeLog.3 update
	009c6a1767 ; ChangeLog.3 fixes
	f9e53947c7 Fix documented slot name of eieio-instance-tracker class
	999d75c0c1 Range-check width passed to define-fringe-bitmap
	29e415d6b0 ; ChangeLog.3 fixes
	4653baa6a5 ; ChangeLog.3 update & fixes.
	a95ec6e060 * admin/authors.el: Add missing entries
	af519a6348 Define libgnutls-version properly
	9ec6eb1065 vc-dir-ignore: More accurately choose base directory
	e74fb4688b * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect)...
	3bce7ec382 CC Mode: Protect against consecutive calls to before-chang...

2020-03-04  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC 9.2.1 20190927 -O3

	Original problem report by N. Jackson in:
	https://lists.gnu.org/r/emacs-devel/2020-03/msg00047.html
	I found some other warnings when I used gcc, and fixed them
	with this patch.
	* lib-src/etags.c: Include verify.h.
	(xnmalloc, xnrealloc): Tell the compiler that NITEMS is
	nononnegative and ITEM_SIZE is positive.
	* src/conf_post.h (__has_attribute_returns_nonnull)
	(ATTRIBUTE_RETURNS_NONNULL): New macros.
	* src/editfns.c (Fuser_full_name): Don’t assume Fuser_login_name
	returns non-nil.
	* src/intervals.c (rotate_right, rotate_left, update_interval):
	* src/intervals.h (LENGTH, LEFT_TOTAL_LENGTH, RIGHT_TOTAL_LENGTH):
	Use TOTAL_LENGTH0 or equivalent on intervals that might be null.
	* src/intervals.h (TOTAL_LENGTH): Assume arg is nonnull.
	(TOTAL_LENGTH0): New macro, with the old TOTAL_LENGTH meaning.
	(make_interval, split_interval_right): Add ATTRIBUTE_RETURNS_NONNULL.
	* src/pdumper.c (dump_check_dump_off): Now returns void, since
	no caller uses the return value.  Redo assert to pacify GCC.
	(decode_emacs_reloc): Add a seemingly-random eassume to pacify GCC.
	Ugly, and I suspect due to a bug in GCC.

2020-03-04  Alan Third  <alan@idiocy.org>

	Fix more NS_DRAW_TO_BUFFER #ifdefs (bug#39883)

	* src/nsterm.m (ns_update_end): Make sure the frame is updated after
	drawing.
	(ns_focus):
	(ns_unfocus): Should be checking on NS_DRAW_TO_BUFFER rather than if
	it's Cocoa or GNUstep.

2020-03-04  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-03-04  Stefan Kangas  <stefankangas@gmail.com>

	Declare speedbar-incompatible-version obsolete

	This variable refers to a now ancient version of speedbar, and is no
	longer useful.

	* lisp/speedbar.el (speedbar-incompatible-version): Declare obsolete.

2020-03-04  Daniel Colascione  <dancol@dancol.org>

	Ignore spurious focus events

	* src/xterm.c (x_detect_focus_change): Ignore FocusIn and FocusOut
	events from grabs

2020-03-04  Stéphane Boucher  <Stephane.Boucher@acceo.com>  (tiny change)

	Update default-directory in occur buffer (bug#39608)

	* lisp/replace.el (occur-1): Update default-directory in occur buffer.

2020-03-04  Andrea Corallo  <akrl@sdf.org>

	* Do not crash if the output directory is created in the meanwhile

2020-03-03  Andrea Corallo  <akrl@sdf.org>

	Hash eln ABI once and add it to the output compilation path

	Fix org for eln new compilation folder layout

2020-03-03  Andrea Corallo  <akrl@sdf.org>

	Rework `find-lisp-object-file-name'

	Rework it for eln new compilation folder layout.

2020-03-03  Paul Eggert  <eggert@cs.ucla.edu>

	Time division speedups

	* src/timefns.c (frac_to_double) [FASTER_TIMEFNS]: Prefer intmax_t
	division or double division to mpz division if they also yield the
	correctly rounded result.

2020-03-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix rounding errors in time conversion

	* src/timefns.c (frac_to_double): Pass FLT_RADIX to mpz_sizeinbase
	instead of doing the radix calculation ourselves, not always
	correctly.  Fix off-by-one error in scale, which caused
	double-rounding.
	(decode_time_components): Use frac_to_double (via decode_ticks_hz)
	to fix double-rounding error that can occur even though
	intermediate results are long double.
	* test/src/timefns-tests.el (float-time-precision):
	Test the above fixes.

2020-03-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/NEWS: Add entry missed in previous commit

2020-03-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/elisp-mode.el (elisp-enable-lexical-binding): New command

	(emacs-lisp-mode): Indicate lex/dyn binding mode in the mode line.
	(elisp--dynlex-modeline-map): New var.

2020-03-03  Štěpán Němec  <stepnem@gmail.com>

	Use help-fns-short-filename in other describe- commands

	The commit

	2015-01-16T22:52:15-05:00!monnier@iro.umontreal.ca
	24b7f77581
	(Improve handling of doc-strings and describe-function for cl-generic)

	added 'help-fns-short-filename', which provides file name shortening
	smarter than a simple 'file-name-nondirectory' call, but besides the
	generic/eieio functions ('cl--generic-describe', 'cl--describe-class',
	'eieio-help-constructor'), it is currently only used by
	'describe-function' (via 'help-fns-function-description-header').

	Make the other help commands use it, too.

	(Other than the obvious consistency/maintenance argument, my immediate
	motivation for this change is the possibility to customize the file
	name abbreviation by advising the function.)

	* lisp/help.el (describe-mode): Move to help-fns.el.  The command was
	already depending on 'find-lisp-object-file-name' defined there.
	* lisp/help-fns.el (describe-variable) (describe-face) (describe-keymap)
	(describe-mode): Use 'help-fns-short-filename'.

2020-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak GMP usage for (HI LO US PS) timestamps

	* src/timefns.c (decode_time_components): Cut down on the number
	of calls to GMP functions when generating old-style (HI LO US PS)
	timestamps.

2020-03-02  Alan Third  <alan@idiocy.org>

	Fix macOS/GNUstep compilation warnings

	* src/nsfns.m (handlePanelKeys): Unused function.
	* src/nsterm.m (ns_set_appearance):
	([EmacsView initFrameFromEmacs:]): Use EmacsWindow type instead of
	NSWindow.
	(ns_clip_to_row): Unused function.
	(ns_dumpglyphs_stretch): Remove unused variable.
	(ns_term_init):
	([EmacsWindow setAppearance]): Only compile on macOS.
	(ns_mouse_position): Make sure f is initialized on GNUstep.
	* src/emacs.c (main): Move allocation of autorelease pool to before
	first use.

2020-03-02  Alan Third  <alan@idiocy.org>

	Fix #defines controlling when NS port draws to offscreen buffer

	* src/nsterm.h (NS_DRAW_TO_BUFFER): New definition.
	* src/nsterm.m (ns_update_begin):
	(ns_update_end):
	(ns_focus):
	([EmacsView updateFrameSize:]):
	([EmacsView initFrameFromEmacs:]):
	([EmacsView copyRect:to:]): Use new #define.

2020-03-02  Štěpán Němec  <stepnem@gmail.com>

	whitespace: Turn long lines regexp into a function (bug#36837)

	* lisp/whitespace.el (whitespace-color-on): Turn long lines regexp
	into a function to ensure it uses current 'whitespace-line-column'
	and 'fill-column' values.  (Bug#36837)
	(whitespace-lines-regexp): New function.

2020-03-01  Andrea Corallo  <akrl@sdf.org>

	* ; Clean-up out of date comment

2020-03-01  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/progmodes/cperl-mode.el: Clarify comment.

2020-03-01  Stefan Kangas  <stefankangas@gmail.com>

	Remove more XEmacs compat code from viper

	* lisp/emulation/viper-mous.el (viper-multiclick-timeout)
	(viper-current-click-count, viper-last-click-event-timestamp)
	(viper-mouse-click-insert-word)
	(viper-mouse-click-search-word): Remove XEmacs compat code.
	(viper-event-click-count): Redefine as obsolete function alias
	for 'event-click-count'.
	* lisp/emulation/viper-util.el (viper-check-version): Declare
	obsolete.

2020-03-01  Stefan Kangas  <stefankangas@gmail.com>

	Make 'load-dangerous-libraries' obsolete (Bug#37819)

	When 'load-dangerous-libraries' was t, Emacs allowed loading .elc
	files compiled by XEmacs.  This patch removes the support for that use
	case, and declares the variable obsolete.

	* lisp/subr.el (load-dangerous-libraries): Declare obsolete.
	* src/lread.c (Fload): Ignore its value, and thereby refuse to load
	files byte compiled by XEmacs.
	(syms_of_lread): Update doc string of 'bytecomp-version-regexp' to not
	refer to it.
	* doc/emacs/building.texi (Lisp Libraries): Remove its documentation.

2020-02-29  Noah Friedman  <friedman@splode.com>

	Fix XEmacs-specific clause in definition of pascal-outline-map.

	* lisp/progmodes/pascal.el (pascal-outline-map): Call set-keymap-name
	on map, not pascal-outline-map, as the latter is not yet defined.

2020-02-29  Philipp Stephani  <phst@google.com>

	Unbreak build with CHECK_STRUCTS

	* src/pdumper.c (dump_object): Fix hash for Lisp_Type after commit
	202c3319a28c029d6971dccea92f92425c5e8067.

2020-02-29  Andrea Corallo  <akrl@sdf.org>

	Introduce 'effective_load_path'

2020-02-29  Andrea Corallo  <akrl@sdf.org>

	* Keep comp-subr-list into pure space

	Sad pure space is not effective nowadays but anyway... should go there.

2020-02-28  Paul Eggert  <eggert@cs.ucla.edu>

	Port timestamp tests to odd timezones, (TICKS . HZ)

	* test/src/timefns-tests.el:
	(format-time-string-padding-minimal-deletes-unneeded-zeros)
	(format-time-string-padding-minimal-retains-needed-zeros)
	(format-time-string-padding-spaces)
	(format-time-string-padding-zeros-adds-on-insignificant-side):
	Don't assume local time can represent 2000-02-15 00:00:00,
	as there might be a DST jump over midnight.
	Work even when timestamps are of (TICKS . HZ) form.
	Simplify by avoiding need to call time-add.

2020-02-27  Mattias Engdegård  <mattiase@acm.org>

	Revert "Signal an error for the regexp "[:alnum:]""

	This reverts commit 8d5e8cddab732ac90e9ae930c63f7830f9dab24f.

2020-02-27  Mattias Engdegård  <mattiase@acm.org>

	Revert "Don't complain about the regexp "[:-:]""

	This reverts commit 3766bf728a43933083f4525970bcf9fdace3838d.

2020-02-27  Robert Pluim  <rpluim@gmail.com>

	* src/nsterm.m ([EmacsView toolbarClicked:]): Fix last change

2020-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/gtkutil.c, src/nsterm.m: Fix bug#39808

	Complete 3b4bd4be1d where I apparently failed to grep properly and
	missed two more places where the dummy events were generated.

	* src/nsterm.m ([EmacsView toolbarClicked:]):
	* src/gtkutil.c (xg_tool_bar_callback): Don't emit dummy "prefix" events.

2020-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/eldoc.el (eldoc-documentation-function): No nil value

	(eldoc--supported-p): Move after the vars it uses.  Simplify.
	(eldoc-print-current-symbol-info): Revert to previous code which
	assumed a non-nil value of eldoc-documentation-function.

2020-02-27  Paul Eggert  <eggert@cs.ucla.edu>

	nnmail-cache-close should not use nofollow

	nnmail-cache-close did not work when ~/.nnmail-cache was a symlink
	to some other directory.  Reported by Michael Albinus (Bug#39793).
	* lisp/gnus/nnbabyl.el (nnbabyl-create-mbox):
	* lisp/gnus/nndiary.el (nndiary-generate-nov-file):
	* lisp/gnus/nnfolder.el (nnfolder-possibly-change-group):
	* lisp/gnus/nnmbox.el (nnmbox-create-mbox):
	* lisp/gnus/nnml.el (nnml-generate-nov-file):
	Pass ‘excl’ to nnmail-write-region when creating a file, for safety.
	* lisp/gnus/nnmail.el (nnmail-write-region):
	Add optional MUSTBENEW arg, to stay consistent with write-region.
	Past ‘nofollow’ to set-file-modes only when MUSTBENEW is ‘excl’.

2020-02-26  Mattias Engdegård  <mattiase@acm.org>

	Don't complain about the regexp "[:-:]"

	Suggested by Clément Pit-Claudel.

	* src/regex-emacs.c (regex_compile):
	* test/src/regex-emacs-tests.el (regexp-invalid): Tolerate ranges.

2020-02-26  Mattias Engdegård  <mattiase@acm.org>

	Signal an error for the regexp "[:alnum:]"

	Omitting the extra brackets is a common mistake; see discussion at
	https://lists.gnu.org/archive/html/emacs-devel/2020-02/msg00215.html

	* src/regex-emacs.c (reg_errcode_t, re_error_msgid): Add REG_ECLASSBR.
	(regex_compile): Check for the mistake.
	* test/src/regex-emacs-tests.el (regexp-invalid): Test.
	* etc/NEWS: Announce.

2020-02-26  Michael Albinus  <michael.albinus@gmx.de>

	Finish Tramp's implementation of 'nofollow

	* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
	Do not use 'nofollow.
	(tramp-adb-handle-set-file-modes):
	* lisp/net/tramp-smb.el (tramp-smb-handle-set-file-modes):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-modes):
	* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes):
	Handle FLAG properly.
	(tramp-get-remote-chmod-h): Adapt implementation.

	* test/lisp/net/tramp-tests.el (tramp-get-remote-chmod-h): Declare.
	(tramp--test-ignore-make-symbolic-link-error): Revert last change.
	(tramp-test20-file-modes): Adapt test.

2020-02-26  Ryan Olson  <ryanolsonx@gmail.com>  (tiny change)

	Show friendly message after package install

	* lisp/emacs-lisp/package.el (package-install): Once we know the
	package has successfully been installed using the `package-install`
	command, instead of relying on the compile "Done" message, give a
	message that tells the user that the package has been
	installed.  (Bug#21857)

2020-02-26  Mark Oteiza  <mvoteiza@udel.edu>

	Expose ElDoc functions in a hook (Bug#28257)

	* lisp/emacs-lisp/eldoc.el: Update commentary.
	(eldoc--eval-expression-setup): Use new hook.
	(eldoc--supported-p): Accommodate new hook.
	(eldoc-documentation-functions): New hook.
	(eldoc-documentation-default, eldoc-documentation-compose): New
	functions.
	(eldoc-documentation-function): Use 'eldoc-documentation-default' as new
	default value.  Update documentation and custom attributes.
	(eldoc-print-current-symbol-info): Accommodate possible null value for
	'eldoc-documentation-function'.
	* etc/NEWS: Mention them.
	* doc/emacs/programs.texi (Emacs Lisp Documentation Lookup): Mention
	new hook and changes to 'eldoc-documentation-function'.
	* lisp/hexl.el (hexl-mode, hexl-revert-buffer-function):
	* lisp/ielm.el (inferior-emacs-lisp-mode):
	* lisp/progmodes/cfengine.el (cfengine3-mode):
	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
	* lisp/progmodes/octave.el (octave-mode):
	* lisp/progmodes/python.el (python-mode): Use new hook.

2020-02-25  Mattias Engdegård  <mattiase@acm.org>

	Generate 'substring' byte op (bug#39709)

	The 'substring' byte op was not emitted, apparently by mistake.  Fix.
	Suggested by Mark Oteiza <mvoteiza@udel.edu>.

	* lisp/emacs-lisp/bytecomp.el (byte-defop-compiler): Add '1-3' clause.
	(byte-compile-one-to-three-args): New.
	* lisp/emacs-lisp/byte-opt.el (byte-compile-side-effect-free-ops):
	Add 'byte-substring'.
	* test/lisp/emacs-lisp/bytecomp-tests.el
	(byte-opt-testsuite-arith-data): Test 'substring'.

2020-02-25  Michael Albinus  <michael.albinus@gmx.de>

	Finish implementation of {set-}file-modes FLAG arg in Tramp

	* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy): Do not use
	'nofollow for temporary files.  Use `tramp-compat-set-file-modes'.
	(tramp-adb-handle-write-region): Do not use 'nofollow for
	temporary files.
	(tramp-adb-handle-set-file-modes): Implement FLAG.

	* lisp/net/tramp-compat.el (tramp-compat-file-modes)
	(tramp-compat-set-file-modes): New defaliases.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-modes):
	Make explicit check (eq flag 'nofollow).

	* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes): Implement FLAG.
	(tramp-do-copy-or-rename-file-directly)
	(tramp-sh-handle-file-local-copy, tramp-sh-handle-write-region):
	Do not use 'nofollow for temporary files.
	(tramp-get-remote-chmod-h): New defun.

	* lisp/net/tramp-smb.el (tramp-smb-handle-set-file-modes):
	Implement FLAG.

	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-modes):
	Implement FLAG.
	(tramp-sudoedit-handle-write-region): Use `tramp-compat-set-file-modes'.

	* lisp/net/tramp.el (tramp-default-file-modes): Optional argument FLAG.
	(tramp-handle-file-modes): Use `file-truename' instead of
	`file-chase-links'.  The latter function does not work for remote
	file names.
	(tramp-handle-write-region): Call `tramp-default-file-modes' with
	'nofollow if needed.  Do not use 'nofollow for temporary files.

	* test/lisp/net/tramp-tests.el
	(tramp--test-ignore-make-symbolic-link-error): Check also for
	"Cannot chmod .* with nofollow flag" error.
	(tramp-test20-file-modes): Extend test.
	(tramp--test-emacs28-p): New defun.

2020-02-25  Mattias Engdegård  <mattiase@acm.org>

	Fix mistake in regexp cleanup

	This error was introduced in 770f76f050.

	* lisp/org/org.el (org-ts-regexp-inactive): Match up to the first ']'.

2020-02-25  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-02-24 getloadavg: don't use /usr/local when cross-compiling on AIX
	2020-02-24 fcntl: add witness of gnulib override
	* lib/fcntl.in.h, m4/getloadavg.m4: Copy from Gnulib.

2020-02-25  Juri Linkov  <juri@linkov.net>

	* lisp/textmodes/nroff-mode.el (nroff-mode-map): Remove key 'M-s' (bug#39706)

	* lisp/comint.el (comint-redirect-setup): Guard mode-line-process (bug#39705)

2020-02-24  Eli Zaretskii  <eliz@gnu.org>

	Adapt the MS-Windows build to 'nofollow' changes

	* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_fchmodat)
	(OMIT_GNULIB_MODULE_lchmod): Set to true to omit building these
	modules on MS-Windows.
	* nt/mingw-cfg.site (ac_cv_func_fchmodat)
	(gl_cv_func_fchmodat_works, ac_cv_func_lchmod): Disable tests on
	MS-Windows.

	* src/w32.c (chmod_worker, lchmod, fchmodat): New functions.
	(sys_chmod): Move most of the code to chmod_worker.
	* src/w32.h (fchmodat, lchmod): Add prototypes.

2020-02-24  Paul Eggert  <eggert@cs.ucla.edu>

	Add 'nofollow' flag to set-file-modes etc.

	This avoids some race conditions (Bug#39683).  E.g., if some other
	program changes a file to a symlink between the time Emacs creates
	the file and the time it changes the file’s permissions, using the
	new flag prevents Emacs from inadvertently changing the
	permissions of a victim in some completely unrelated directory.
	* admin/merge-gnulib (GNULIB_MODULES): Add fchmodat.
	* doc/lispref/files.texi (Testing Accessibility, Changing Files):
	* doc/lispref/os.texi (File Notifications):
	* etc/NEWS:
	Adjust documentation accordingly.
	* lib/fchmodat.c, lib/lchmod.c, m4/fchmodat.m4:
	* m4/lchmod.m4: New files, copied from Gnulib.
	* lib/gnulib.mk.in: Regenerate.
	* lisp/dired-aux.el (dired-do-chmod):
	* lisp/doc-view.el (doc-view-make-safe-dir):
	* lisp/emacs-lisp/autoload.el (autoload--save-buffer):
	* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
	* lisp/eshell/em-pred.el (eshell-pred-file-mode):
	* lisp/files.el (backup-buffer-copy, copy-directory):
	* lisp/gnus/mail-source.el (mail-source-movemail):
	* lisp/gnus/mm-decode.el (mm-display-external):
	* lisp/gnus/nnmail.el (nnmail-write-region):
	* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
	(tramp-adb-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-write-region):
	* lisp/net/tramp.el (tramp-handle-write-region)
	(tramp-make-tramp-temp-file):
	* lisp/server.el (server-ensure-safe-dir):
	* lisp/url/url-util.el (url-make-private-file):
	When getting or setting file modes, avoid following symbolic links
	when the file is not supposed to be a symbolic link.
	* lisp/doc-view.el (doc-view-make-safe-dir):
	Omit no-longer-needed separate symlink test.
	* lisp/gnus/gnus-util.el (gnus-set-file-modes):
	* lisp/net/tramp.el (tramp-handle-file-modes):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-modes):
	* src/fileio.c (symlink_nofollow_flag): New function.
	(Ffile_modes, Fset_file_modes):
	Support an optional FLAG arg.  All C callers changed.
	* lisp/net/ange-ftp.el (ange-ftp-set-file-modes):
	* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes):
	* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes):
	* lisp/net/tramp-smb.el (tramp-smb-handle-set-file-modes):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-modes):
	Accept an optional FLAG arg that is currently ignored,
	and add a FIXME comment for it.
	* m4/gnulib-comp.m4: Regenerate.

2020-02-24  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-02-23 use 'restrict'
	* lib/careadlinkat.h, lib/md5.h, lib/sha1.h, lib/sha256.h:
	* lib/sha512.h, lib/strftime.h, lib/string.in.h, m4/nstrftime.m4:
	Copy from Gnulib.
	* m4/gnulib-comp.m4: Regenerate.

2020-02-23  Wilson Snyder  <wsnyder@wsnyder.org>

	Add `verilog-auto-inst-template-required'.

	* lisp/progmodes/verilog-mode.el (verilog-auto-inst-template-required)
	(verilog-auto-inst): Add `verilog-auto-inst-template-required' to only
	insert AUTOINST ports inside an AUTO_TEMPLATE, msg3170. Reported by Ted
	Huang, Brian Magnuson.

2020-02-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	ba7004b2a7 (origin/emacs-27) Shorten some ppss struct field names
	693749c60f Java Mode: Fix fontification of variable decl inside `for'
	884b68ca2c CC Mode: Fontify foo in "const auto foo :" correctly

	# Conflicts:
	#	etc/NEWS

2020-02-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	dd5756436c Move more logic to vc-ignore from vc-default-ignore
	2aed279be1 Warn about the likes of "[:alnum:]" in regexps
	0273f261a7 Don't write absolute filenames and duplicate strings to CV...
	d7c22338d2 Fix cursor-sensor--detect when current buf != selected win...
	2e39fc83bb * doc/emacs/sending.texi (Mail Sending): Fix index entries.
	b410f902d5 Document 'message-send-mail-function' in the Emacs manual
	ac0546612d Fix reference to 'message-send-and-exit' in Emacs manual
	cd6a9b8f65 Skip shell prompt on current line in Eshell even if it's p...

2020-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-02-22 fchmodat, lchmod: simplify
	2020-02-22 lchmod: fix link error on Solaris 10
	2020-02-22 use 'restrict' in all POSIX function declarations
	2020-02-22 chmodat, chownat: new modules
	* lib/gnulib.mk.in: Regenerate.
	* lib/inttypes.in.h, lib/openat.h, lib/signal.in.h:
	* lib/stdio.in.h, lib/stdlib.in.h, lib/string.in.h:
	* lib/sys_stat.in.h, lib/time.in.h, lib/unistd.in.h, m4/inttypes.m4:
	* m4/signal_h.m4, m4/stdio_h.m4, m4/stdlib_h.m4, m4/string_h.m4:
	* m4/sys_socket_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
	* m4/unistd_h.m4: Copy from Gnulib.

2020-02-23  Juri Linkov  <juri@linkov.net>

	* lisp/font-lock.el (font-lock-ensure): Use font-lock-specified-p (bug#39597)

2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-02-21 largefile: remove _DARWIN_USE_64_BIT_INODE
	2020-02-21 Add ‘extern "C"’ to count-one-bits.h etc.
	* lib/count-leading-zeros.h, lib/count-one-bits.h:
	* lib/count-trailing-zeros.h, m4/largefile.m4: Copy from Gnulib.

2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>

	Restore runtime check for invalid tag

	* src/data.c (wrong_type_argument): Restore check that the
	object’s tag is valid, since invalid tags exist again.
	* src/lisp.h (Lisp_Type_Unused0): New constant.

2020-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/keyboard.c: Copy last tool-bar change to tab-bar.

	(make_lispy_event) <TAB_BAR_EVENT>: Make event with proper location info.

	* src/xdisp.c (handle_tab_bar_click, tty_handle_tab_bar_click): Don't
	emit dummy "prefix" event.

2020-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/keyboard.c (make_lispy_event): Generate proper tool-bar events.

	Generate events which carry the location info.

	* src/xdisp.c (handle_tool_bar_click): Don't emit dummy "prefix" events.

2020-02-21  Federico Tedin  <federicotedin@gmail.com>

	Allow tempo-define-template to reassign tags to new templates

	* lisp/tempo.el (tempo-define-template): Update documentation string
	to mention that existing tags can be reassigned new templates.
	(tempo-add-tag): Allow reassigning tags to new templates.
	Additionally, invalidate tag collections in all buffers if the global
	tags list is being modified.
	(tempo-invalidate-collection): Allow invalidating tag collections in
	all buffers at the same time.
	* test/lisp/tempo-tests.el (tempo-define-tag-globally-test): Add a
	test to check that new templates plus tags can be defined from any
	buffer and then immediately used in other buffers.
	(tempo-overwrite-tag-test): Add a test to check that tags can be
	reassigned templates.
	* etc/NEWS: Announce changes in tempo.el.

	(Bug#39555)

2020-02-20  Mattias Engdegård  <mattiase@acm.org>

	Less bad permutation generator in regexp-opt test

	* test/lisp/emacs-lisp/regexp-opt-tests.el
	(regexp-opt-test--permutation, regexp-opt-test--factorial): Remove.
	(regexp-opt-test--permutations): Rewrite.

2020-02-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	9f08524748 (origin/emacs-27) Fix broken regexps
	1d10885763 ; spelling and comment fix
	614203bc80 ; make change-history-commit
	28399e585e * Makefile.in (PREFERRED_BRANCH): Now emacs-27.
	62afbc513a Fix bug when visiting euc-jp-encoded directories
	a2c4eeeecd Clarify when fixnums are used.
	4e5ac4b0c6 Reorder discussion of integer basics
	f765aad28b Make OMake support slightly less expensive (bug#39595)
	39410cfc5a Speed up 'msft' and 'watcom' compilation error regexps
	96a269d045 Speed up 'maven' compilation error message regexp
	efc9d4fe3e Amend c-backward-sws better to handle multiline block comm...

2020-02-20  Mattias Engdegård  <mattiase@acm.org>

	Remove subsumed repetitions in regexps

	Make regexps smaller and faster by removing terms that are superfluous
	by virtue of standing next to another term that matches more.  See
	https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00949.html
	for details.

	* lisp/bs.el (bs--make-header-match-string):
	* lisp/gnus/deuglify.el (gnus-outlook-repair-attribution-block):
	* lisp/gnus/message.el (message-subject-trailing-was-ask-regexp)
	(message-subject-trailing-was-regexp):
	* lisp/informat.el (Info-validate):
	* lisp/net/browse-url.el (browse-url-button-regexp):
	* lisp/net/rcirc.el (rcirc-url-regexp):
	* lisp/org/ob-core.el (org-babel-remove-result):
	* lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
	* lisp/org/org-capture.el (org-capture-set-target-location):
	* lisp/org/org-table.el (org-table-expand-lhs-ranges):
	* lisp/org/org.el (org-maybe-keyword-time-regexp, org-ts-regexp)
	(org-ts-regexp-inactive, org-ts-regexp-both):
	* lisp/play/gametree.el (gametree-hack-file-layout):
	* lisp/progmodes/cc-mode.el (c-Java-defun-prompt-regexp):
	* lisp/progmodes/idlw-shell.el (idlwave-shell-halting-error):
	* lisp/progmodes/ruby-mode.el (ruby-mode-set-encoding):
	* lisp/progmodes/verilog-mode.el (verilog-error-font-lock-keywords)
	(verilog-verilint-off, verilog-case-indent-level)
	(verilog-within-translate-off, verilog-start-translate-off)
	(verilog-back-to-start-translate-off, verilog-end-translate-off)
	(verilog-expand-dirnames):
	* lisp/term.el (term-control-seq-regexp):
	* lisp/textmodes/reftex-vars.el (featurep):
	* lisp/url/url-gw.el (url-open-telnet):
	* lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp):
	* lisp/vc/pcvs-parse.el (cvs-parse-status):
	* test/src/regex-emacs-tests.el (regex-tests-PCRE):
	Remove subsumed repetitions.
	* lisp/progmodes/sh-script.el (sh-syntax-propertize-function):
	Simplify repetition of a repetition.

2020-02-20  Mattias Engdegård  <mattiase@acm.org>

	Add and remove backslashes in regexps

	These irregularities were found by relint; see
	https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00949.html .

	* doc/lispref/modes.texi (Example Major Modes):
	* etc/srecode/el.srt:
	* lisp/cedet/data-debug.el (data-debug-mode):
	* lisp/cedet/semantic/grammar.el (semantic-grammar-mode):
	* lisp/cedet/srecode/srt-mode.el (srecode-template-mode):
	* lisp/comint.el (comint--unquote&requote-argument):
	* lisp/emacs-lisp/lisp-mode.el (lisp-mode):
	* lisp/gnus/mm-uu.el (mm-uu-type-alist):
	* lisp/progmodes/cc-awk.el (c-awk-harmless-pattern-characters*):
	* lisp/progmodes/cfengine.el (cfengine-common-settings):
	* lisp/progmodes/cperl-mode.el (cperl-after-sub-regexp, cperl-init-faces):
	* lisp/shell.el (shell-chdrive-regexp, shell--unquote&requote-argument):
	* lisp/textmodes/tex-mode.el (tex-common-initialization):
	Remove duplicated backslashes in character alternatives.

	* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
	* lisp/progmodes/opascal.el (opascal--syntax-propertize):
	* lisp/progmodes/pascal.el (pascal--syntax-propertize):
	Remove backslashes escaping non-special characters.

	* lisp/progmodes/fortran.el (fortran-font-lock-keywords-3): Escape '*'.
	* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
	Escape '^'.

2020-02-20  Mattias Engdegård  <mattiase@acm.org>

	Remove Emacs 20 bug workaround in ebnf2ps (bug#39663)

	* lisp/progmodes/ebnf2ps.el (ebnf-range-regexp): Remove.  All calls
	replaced with a string equivalent to the returned value.

2020-02-20  Lars Ingebrigtsen  <larsi@gnus.org>

	shr comment typo fix

	* lisp/net/shr.el (shr-parse-base): Comment typo fix.

2020-02-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with degenerate <html base="."> specs in shr

	* lisp/url/url-expand.el (url-expand-file-name): Don't bug out on
	degenerate base/expander pairs (bug#39235).

2020-02-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix <button>...</button> submit button rendering in eww

	* lisp/net/eww.el (eww-form-submit): Use the contents of the
	<button>...</button> for the string if there is no value
	(bug#39326).

2020-02-20  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Introduce face for <code> elements in shr

	* lisp/net/shr.el (shr-tag-code): Don't use the `default' font,
	because it has properties that will override surrounding elements
	(like <a...>) (bug#39504).

2020-02-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some file-modes races

	* lisp/gnus/gnus-start.el (gnus-save-newsrc-file)
	(gnus-slave-save-newsrc):
	* lisp/gnus/gnus-uu.el (gnus-uu-initialize):
	* lisp/gnus/mm-archive.el (mm-dissect-archive):
	* lisp/gnus/mm-decode.el (mm-temp-files-delete)
	(mm-display-external):
	* lisp/image-dired.el (image-dired-create-thumb-1):
	Use with-file-modes rather than setting the file modes later.
	This fixes some race conditions where the file temporarily
	has the wrong permissions.

2020-02-19  Johan Bockgård  <bojohan@gnu.org>

	Fix search for ~/.Xdefaults-HOSTNAME (again)

	* src/xrdb.c (get_environ_db): Fix typo when handling
	~/.Xdefaults-HOSTNAME.

2020-02-19  Jeremy Compostella  <jeremy.compostella@gmail.com>

	Fix conversion of text/html->multipart/related

	* lisp/gnus/mml.el (mml-expand-all-html-into-multipart-related):
	New function (bug#39230).
	(mml-generate-mime): Use it to expand all HTML parts, no matter
	where in the MIME tree.

2020-02-19  Masahiro Nakamura  <tsuucat@icloud.com>

	Fix working text related issues on NS (Bug#38851)

	* src/keyboard.c (read_char): Prevent redsiplay right after
	ns-unput-working-text event.
	* src/nsterm.m ([EmacsView insertText:]): Partially revert commit
	ba04217.
	([EmacsView firstRectForCharacterRange:]): Fix candidate window
	position when cursor is on echoarea.
	([EmacsView mouseDown:])
	([EmacsView windowDidResignKey:]): Don't delete working text.

2020-02-19  Alan Third  <alan@idiocy.org>

	Fix horizontal bit shifting

	* src/nsterm.m ([EmacsView copyRect:to:]): Calculate the horizontal
	difference instead of just the vertical.
	([EmacsView updateLayer]): Fix NSTRACE message.

2020-02-19  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/misc/texinfo.tex: Update from Gnulib.

2020-02-19  Juri Linkov  <juri@linkov.net>

	Support state changing VC operations in dired-mode on files (bug#34949)

	* lisp/vc/vc.el (vc-deduce-fileset): Don't error out when observer is nil.
	(vc-dired-deduce-fileset): Add optional args 'state-model-only-files'
	and 'observer'.  Check that all files are in a consistent state
	when state-model-only-files is non-nil.  Error out on directories.

	* lisp/vc/vc-dispatcher.el (vc-dispatcher-browsing): Check dired-mode
	for derived-mode-p.

2020-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/wdired.el (wdired-next-line, wdired-previous-line): Preserve column

2020-02-17  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid unlikely load-average bug

	* src/fns.c (Fload_average): Do not crash or return nonsense
	if the load average exceeds most-positive-fixnum/100 (Bug#39577).

2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	Improve C-h C-h bug fix

	* src/lread.c (read1): Guard against two 'struct Lisp_Vector *'
	pointers differing only in their most significant bit.  Problem
	reported by Pip Cet (Bug#39529#22).

2020-02-16  Glenn Morris  <rgm@gnu.org>

	* src/lread.c (read1): Fix int/Lisp_Object mix up.

	Found by --enable-check-lisp-object-type.

2020-02-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	7ceb45f61f (origin/emacs-27) Reformulate c-end-of-macro, handling mul...
	888ffd960c Fix unexec failure on macOS 10.15.4
	b392c9f365 Fix 'reverse-region' when less than one line is in region
	7448834f73 Correct default regexp in 'package-menu-hide-package'
	faada7ca42 Remove obsolete menu entry "Redisplay buffer"
	78d76cd93c Remove redundant 'msft' compilation error rule (bug#39595)
	75a9eee8b8 ; * src/editfns.c (Fbuffer_size): Tiny clarification.
	4d8d25d641 * doc/lispref/variables.texi (special-variable-p): Clarify...
	9f6a4bbcc9 Remove the optional KEEP-ORDER argument to regexp-opt
	d1e8ce8bb6 Make after-change-functions called from call-process get t...

	# Conflicts:
	#	etc/NEWS

2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	Fix C-h C-h bug due to mutating a hash key

	Problem reported by Federico Tedin (Bug#39529).
	The problem was that dumping uses a hash table based on 'equal'
	when purecopying compiled objects, but then modifies the compiled
	objects while they are keys in the table.  This no-no was uncovered
	by the sxhash fixes in 2020-01-07T19:23:11Z!eggert@cs.ucla.edu.
	Eli Zaretski pinpointed the patch that triggered the bug.
	* src/lread.c (read1): When reading a compiled object, replace
	its docstring with a unique negative integer instead of with 0,
	so that purecopy doesn’t unify it with some other compiled object
	that happens to have the same Lisp code.

2020-02-15  Glenn Morris  <rgm@gnu.org>

	Remove another test for deleted lread feature

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests--old-style-backquotes): Remove.

2020-02-15  Mark Oteiza  <mvoteiza@udel.edu>

	Fix typos

	* src/lcms.c (lcms-xyz->jch, lcms-jch->xyz): Swap first line of docstrings.

2020-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/NEWS: Improve last change

2020-02-14  Eric Abrahamsen  <eric@ericabrahamsen.net>

	When searching a topic in Gnus, search all topic's groups

	Bug#39515

	* lisp/gnus/nnir.el (gnus-group-make-nnir-group): Bring the code in
	line with the documentation, which says that all topic groups will be
	searched, even if they're not visible.

2020-02-14  Glenn Morris  <rgm@gnu.org>

	Remove lread tests for a feature that was deleted

	* test/src/lread-tests.el (lread-tests--old-style-backquotes)
	(lread-tests--force-new-style-backquotes): Remove.

2020-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/lread.c: Remove old-style backquotes support

	(new_backquote_flag): Delete variable.
	(load_error_old_style_backquotes): Delete function.
	(force_new_style_backquotes): Delete variable.
	(read_internal_start): Don't obey it any more.

2020-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/nnmaildir.el: Fix O(n^2) problem when leaving a group

	Use lexical-binding.

	(nnmaildir-close-group): Use a hash-table rather than a list to keep
	track of the files we have seen.

	* lisp/gnus/nnheader.el (nnheader-parse-naked-head):
	Use make-full-mail-header.

2020-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (undo): Use undo--last-change-was-undo-p

2020-02-14  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp tests for MS Windows

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
	(tramp-test30-make-process): Improve for MS-Windows.

2020-02-14  Mark Oteiza  <mvoteiza@udel.edu>

	Add an appropriate error for reading bad JSON arrays

	* lisp/json.el (json-array-format): New error.
	(json-read-array): Use it.

2020-02-13  Alan Third  <alan@idiocy.org>

	Use CGImage instead of NSBitmapImageRep (bug#32932)

	* src/nsterm.m (ns_update_end):
	(ns_clear_frame): Remove forced draws.
	(ns_draw_fringe_bitmap):
	(ns_dumpglyphs_image): No longer need to invert images as the context
	is already flipped.
	([EmacsView updateFrameSize:]):
	([EmacsView initFrameFromEmacs:]): Use new function.
	([EmacsView createDrawingBuffer]): Replaces createDrawingBufferWithRect:.
	([EmacsView focusOnDrawingBuffer]): Set CGImage context.
	([EmacsView windowDidChangeBackingProperties:]): Use new function.
	([EmacsView copyRect:to:]): Copy using CGImages.
	([EmacsView wantsUpdateLayer]):
	([EmacsView updateLayer]): New Functions.
	([EmacsView drawRect:]): We no longer do anything special here for
	Cocoa.
	([EmacsView windowDidChangeBackingProperties:]): Fix indentation and
	add NSTRACE.

2020-02-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	0304f53076 (origin/emacs-27) doc/misc/org.texi: Fix @dircategory
	027da652a4 Fix display of minibuffer prompt in ido.el
	5a21aaff46 rx: Use longest match for all-string 'or' forms (bug#37659)
	2b12c2b6f2 Make sure not to mark directories
	ff4ed4a0ff ; Add a TODO
	3a5129a1c9 vc-hg-dir-status-files: Fix when DIR is not repository root

	# Conflicts:
	#	etc/NEWS

2020-02-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	ad5e350ab7 c-end-of-macro: Handle block comment lines with unescaped N...
	06c302d425 Fix set-fontset-font with ADD arg non-nil
	530067463b Correct "different than" to "different from" where appropr...
	56b8768b32 More accurate documentation of 'package-menu-hide-package'

2020-02-13  Michael Albinus  <michael.albinus@gmx.de>

	Simplify Tramp caching

	* lisp/net/tramp-cache.el (tramp-flush-file-upper-properties)
	(tramp-flush-directory-properties)
	(tramp-flush-connection-properties, tramp-list-connections)
	(tramp-parse-connection-properties):
	* lisp/net/tramp-gvfs.el (tramp-parse-goa-accounts)
	(tramp-parse-media-names): Simplify cache handling.

2020-02-13  Michael Albinus  <michael.albinus@gmx.de>

	Fix `tramp-interrupt-process'

	* lisp/net/tramp.el (tramp-interrupt-process): Improve command.

	* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
	(tramp-test26-file-name-completion): Simplify.
	(tramp-test31-interrupt-process): Remove :unstable tag.

2020-02-12  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp tests towards *BSD

	* test/lisp/net/tramp-tests.el (tramp-get-remote-gid): Declare.
	(tramp-test18-file-attributes): Check `file-ownership-preserved-p'
	only if possible.
	(tramp-test30-make-process): Modify test due to *BSD.

2020-02-11  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem with auth-source.el in Tramp

	* lisp/net/tramp.el (tramp-read-passwd):
	Use `tramp-compat-temporary-file-directory'.  (Bug#39389, Bug#39489)

2020-02-10  Michael Albinus  <michael.albinus@gmx.de>

	Fix window position in Tramp's shell-command

	* lisp/net/tramp.el (tramp-handle-shell-command): Fix `window-start'
	in output buffer.  (Bug#39171)

2020-02-10  Juri Linkov  <juri@linkov.net>

	Use quit-restore-window to close tab (bug#39446)

	* lisp/tab-bar.el (display-buffer-in-new-tab): New function with code
	from display-buffer-in-tab.
	(display-buffer-in-tab): Call display-buffer-in-new-tab.
	(switch-to-buffer-other-tab): Instead of 'display-buffer-same-window'
	use '(reusable-frames . t)'.

	* lisp/windmove.el (windmove-display-in-direction): Set arg 'type'
	to 'tab' for window--display-buffer when creating a new tab.

	* lisp/window.el (quit-restore-window): Call tab-bar-close-tab
	when quit-restore type is 'tab'.
	(display-buffer-record-window): Set window-parameter 'quit-restore'
	to 'tab' for type 'tab'.
	(window--display-buffer): Set window-prev-buffers to nil for tab too.

2020-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-02-08 lchmod: ensure declaration on HP-UX
	2020-02-08 fchmodat: fix endless recursion on Cygwin
	2020-02-08 Fix compilation errors in a testdir
	2020-02-07 fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
	2020-02-04 Port _Noreturn to older Clang
	2020-02-03 libc-config: port to Apple’s Clang variant
	* lib/_Noreturn.h, lib/c++defs.h, lib/libc-config.h, lib/sys_stat.in.h:
	* m4/gnulib-common.m4, m4/sys_stat_h.m4: Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2020-02-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (undo-redo): New command

	(undo--last-change-was-undo-p): New function.

	* test/lisp/simple-tests.el (simple-tests--exec): New function.
	(simple-tests--undo): New test.

2020-02-08  Eli Zaretskii  <eliz@gnu.org>

	Allow composition of pure-ASCII strings in the mode line

	* src/composite.c (Fcomposition_get_gstring): Allow unibyte
	strings if they are pure ASCII, by copying text into a
	multibyte string.

2020-02-08  Kyle Hubert  <khubert@gmail.com>  (tiny change)

	Improve prefix arg support in 'ediff-scroll-horizontally'

	* lisp/vc/ediff-util.el (ediff-scroll-horizontally): Use
	'current-prefix-arg' to pass the value of prefix argument to
	scrolling commands.  (Bug#39353)

2020-02-08  Yuan Fu  <casouri@gmail.com>

	Enhance memory address evaluation in gdb-mi

	Before, the memory buffer evaluated the expression as address and used
	the fixed result in each stop.  This change store the expression
	itself and reevaluates it in each stop to yield an address.
	We also add a warning (a red bold exclamation mark) on the header line
	when the content of the page doesn't represent the memory location
	user requested for.  That happens when some error occurs in
	evaluating the address, and we display the last successfully displayed
	memory page.
	* lisp/progmodes/gdb-mi.el (gdb-memory-address-expression)
	(gdb--memory-display-warning): New variables.
	(gdb-memory-address): Change default value to nil; add docstring.
	(def-gdb-trigger-and-handler, gdb-invalidate-memory)
	(gdb-memory-set-address): Replace 'gdb-memory-address' with
	'gdb-memory-address-expression'.
	(gdb-memory-header): Add code to display
	'gdb-memory-address-expression' on header line.  Move the mouse event
	from address to expression.  Add code to display the warning.
	(gdb-memory-header): Fix the error from
	'propertize' when 'gdb-memory-address-expression' or
	'gdb-memory-address' is nil.
	(gdb-read-memory-custom): Change 'error' to 'user-error'.  Add code to
	display the warning.  (Bug#39180)

2020-02-07  Michael Albinus  <michael.albinus@gmx.de>

	Some Tramp fixes

	* lisp/net/tramp.el (tramp-connectable-p):
	* lisp/net/tramp-cache.el (tramp-list-connections):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled):
	Bind `tramp-verbose' to 0.

	* lisp/net/tramp-sh.el (tramp-remote-path, tramp-find-executable):
	Fix docstring.
	(tramp-open-shell): Read prompt when moving "~/.editrc".

2020-02-07  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes of the last commit

	* src/xdisp.c (get_window_cursor_type): Fix indentation and
	line-filling.
	* doc/lispref/frames.texi (Cursor Parameters):
	* doc/emacs/display.texi (Cursor Display):
	* etc/NEWS: Fix wording and capitalization of the last change.

2020-02-07  Zajcev Evgeny  <zevlg@yandex.ru>

	Support for (box . SIZE) 'cursor-type'

	This allows control of the minimum size of a masked image under
	which the box cursor becomes hollow.
	* src/buffer.c (cursor-type): Add commentary about (box . SIZE)
	'cursor-type'.
	* src/xdisp.c (get_specified_cursor_type): Check for 'cursor-type'
	of the form (box . SIZE).
	(get_window_cursor_type): Check masked image size for
	(box . SIZE) 'cursor-type'.

	* doc/emacs/display.texi (Cursor Display):
	* doc/emacs/display.texi (Cursor Parameters): Add description
	of (box . SIZE) 'cursor-type'.

	* etc/NEWS: Mention the new (box . SIZE) 'cursor-type'.

2020-02-07  Richard Stallman  <rms@gnu.org>

	Merge

2020-02-07  Richard Stallman  <rms@gnu.org>

	Lispref: Explain avoiding lambdas on hooks.

	(lispref/modes.texi): Explain avoiding lambdas on hooks.

2020-02-06  Andrea Corallo  <akrl@sdf.org>

	Add system-configuration in the compilation output path

	Change parameter name into comp--compile-ctxt-to-file

2020-03-01  Andrea Corallo  <akrl@sdf.org>

	Reorganize passes

	- Make propagate responsible for keeping SSA up to date.

	- Run propagate-alloc as very last before final not to risk bothering
	  with mvar array allocation during previous transformations.

	- Fix SSA if TCO modify the CFG.

2020-03-01  Andrea Corallo  <akrl@sdf.org>

	Allow for multiple SSA runs

	Add function ssa-status as `comp-func' slot and have `comp-clean-ssa'
	to run when necessary.

2020-03-01  Andrea Corallo  <akrl@sdf.org>

	Remove relocation index form LIMPLE setimm

	Given that every object identify a relocation class simplify setimm too.

2020-03-01  Andrea Corallo  <akrl@sdf.org>

	Optimize relocation classes for object duplication

	Merge duplicated  objects during final. Precedence is:
	1 d-default
	2 d-impure
	3 d-ephemeral

	Now every object identify uniquely a relocation class.  Because of
	this there's no need to keep the reloc class into m-var.

2020-03-01  Andrea Corallo  <akrl@sdf.org>

	Rename comp-emit-set-const -> comp-emit-setimm

	* Reduce stack depth while marking native compiled subrs

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-02-26  Andrea Corallo  <akrl@sdf.org>

	* ; Add a TODO for a future optimization

2020-02-26  Andrea Corallo  <akrl@sdf.org>

	Store optimize qualities into .eln files

	For now just comp-speed and comp-debug are stored.

2020-02-26  Andrea Corallo  <akrl@sdf.org>

	Rename d-base allocation class into d-default

2020-02-26  Andrea Corallo  <akrl@sdf.org>

	Add ephemeral relocation data class

	Add a new class of relocated objects that is in use just during load
	process.  This in order to avoid having to maintain them in the heap
	and traverse them at every GC.

2020-02-26  Andrea Corallo  <akrl@sdf.org>

	Two grammar fixes into async hooks doc

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-02-23  Andrea Corallo  <akrl@sdf.org>

	Add two hooks for async native compilation

2020-02-23  Andrea Corallo  <akrl@sdf.org>

	Make build process robust against interruptions

	During boo-strap we produce both the .eln and the .elc together.
	Because the make target is the later this has to be produced as last
	to be resilient to build interruptions.

2020-02-23  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-02-22  Andrea Corallo  <akrl@sdf.org>

	Fix `comp-tests-free-fun'

	Address the case were comp-tests.el is byte-compiled.

2020-02-21  Andrea Corallo  <akrl@sdf.org>

	Test 'comp-eq' should not assume any string hashing policy

2020-02-21  Andrea Corallo  <akrl@sdf.org>

	Emit 'top_level_run' objects as impure

2020-02-21  Andrea Corallo  <akrl@sdf.org>

	Verify '--with-nativecomp' has also '--with-dumping=pdumper'

2020-02-21  Andrea Corallo  <akrl@sdf.org>

	Reorder m-var slots

2020-02-21  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-02-16  Andrea Corallo  <akrl@sdf.org>

	Update copyright years plus two style nits

	Add a simple pass for self TCO

	Introduce comp-dry-run

	Use `sxhash-eq' to generate mvar SSA ids

2020-02-15  Andrea Corallo  <akrl@sdf.org>

	Speed 2 goes default

	Backward propagate only once

2020-02-15  Andrea Corallo  <akrl@sdf.org>

	Rework frame layout

	Every function call by reference gets use one unique array of
	arguments.

2020-02-14  Andrea Corallo  <akrl@sdf.org>

	Clean-up old gc disable refuse in comp-tests-non-locals

2020-02-14  Andrea Corallo  <akrl@sdf.org>

	Better function naming for comp-function-call-maybe-remove

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-02-06  Andrea Corallo  <akrl@sdf.org>

	Clean-up unused variable into load_comp_unit

2020-02-06  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	09eed01afb Wrap some set-auto-mode calls with delay-mode-hooks (bug#3...
	4a0a114505 Support ido-vertical-mode better
	ef5fba9f40 Fix faces tab-bar and tab-line.
	831508422e Cater for 3-argument version of pthread_setname_np
	f27187f963 Clarify lexvar restrictions for add-to-ordered-list, add-t...
	32763dac46 Replace add-to-list to lexical variable with push (bug#39373)
	d07f177382 Clarify add-to-list documentation (bug#39373)
	d3d2ea927c MH-E: alter content in mh-display-msg, not mh-show-mode
	db7fa2546f Update documentation for mh-show-mode-hook
	d10be6bf28 Example goto-addr hook: MH-E already uses goto-address

	# Conflicts:
	#	etc/NEWS

2020-02-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/battery.el: Use lexical-binding.  Drop Redundant `:group`s.

2020-02-06  Zajcev Evgeny  <zevlg@yandex.ru>

	Make 'M-x battery RET' work out-of-box for UPower users.

	* lisp/battery.el (battery-upower-prop): Removed in favor for
	'battery-upower-device-property'.
	(battery-upower-device): Can be nil, meaning autodetect the battery
	device.
	(battery-upower-line-power-device): New.  line-power device.  Can be
	nil, meaning autodetect line-power device.
	(battery-status-function): Check UPower service is available to use
	'battery-upower' as status function.
	(battery-upower): Speedup.  Request D-Bus only once, fetching all
	the properties at once.  Provide string for "%b" format spec.
	(battery-upower-device-list, battery-upower-device-all-properties)
	(battery-upower-device-property): New functions to work with UPower
	devices.
	(battery-upower-dbus-service, battery-upower-dbus-interface)
	(battery-upower-dbus-path, battery-upower-dbus-device-interface)
	(battery-upower-dbus-device-path): New constants describing UPower
	D-Bus service.

2020-02-05  Juri Linkov  <juri@linkov.net>

	* lisp/wid-edit.el (widget-choose): Use read-char-from-minibuffer (bug#17272)

2020-02-05  Tino Calancha  <tino.calancha@gmail.com>

	Eval macro arg just once

	* lisp/emacs-lisp/cl-macs.el (cl--push-clause-loop-body):
	Use `macroexp-let2' (Bug#39428).

2020-02-05  Tassilo Horn  <tsdh@gnu.org>

	Add ':extend t' to mm-uu-extract face

	* lisp/gnus/mm-uu.el (mm-uu-extract): Add ':extend t' to mm-uu-extract
	face.

2020-02-05  Stefan Kangas  <stefankangas@gmail.com>

	Silence byte-compiler warning

	* lisp/emacs-lisp/bytecomp.el (byte-compile-insert-header): Silence
	byte-compiler warning about "Unused lexical variable".

2020-02-05  Stefan Kangas  <stefankangas@gmail.com>

	Don't use obsolete function in package-tests.el

	* test/lisp/emacs-lisp/package-tests.el
	(package-test-update-archives, package-test-signed): Use
	'revert-buffer' instead of obsolete 'package-menu-refresh'.

2020-02-05  Stefan Kangas  <stefankangas@gmail.com>

	Add new filter commands to Package Menu (Bug#38424)

	* lisp/emacs-lisp/package.el (package-menu-filter-by-version)
	(package-menu-filter-by-status, package-menu-filter-by-archive):
	New filter commands.
	(package-menu--filter-by): New helper function.
	(package-menu-filter-by-keyword, package-menu-filter-by-name): Use
	the above helper function.
	(package-menu-mode-menu):
	(package-menu-mode-map): Update menu to include new filter commands.
	* doc/emacs/package.texi (Package Menu): Document the new commands and
	re-arrange the sort order of commands to be closer to the one in
	describe-major-mode.
	* etc/NEWS: Announce the new commands.

	* lisp/emacs-lisp/package.el (package-menu--display): New function
	extracted from....
	(package-menu--generate): ...here.

	* test/lisp/emacs-lisp/package-tests.el (with-package-menu-test):
	New macro.
	(package-test-update-listing, package-test-list-filter-by-name)
	(package-test-list-filter-clear): Use above macro.
	(package-test-list-filter-by-archive)
	(package-test-list-filter-by-keyword)
	(package-test-list-filter-by-status)
	(package-test-list-filter-by-version-=)
	(package-test-list-filter-by-version-<)
	(package-test-list-filter-by-version->): New tests.
	(package-test-filter-by-version): New helper function.

2020-02-05  Michael Albinus  <michael.albinus@gmx.de>

	Minor fix in tramp-test32-shell-command

	* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
	Set `default-directory'.

2020-02-05  Michael Albinus  <michael.albinus@gmx.de>

	Handle problem with *BSD libedit in Tramp

	* lisp/net/tramp-sh.el (tramp-sh-extra-args): Add "-noediting" as
	bash arg.
	(tramp-open-shell):  Provide proper "~/.editrc" if needed.  (Bug#39399)

2020-02-05  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-system-info): Fix error.

2020-02-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-sum.el (gnus-read-move-group-name): Use user-error

2020-02-04  Adam Porter  <adam@alphapapa.net>

	* lisp/emacs-lisp/map.el: Add keyword-only pattern abbreviation

	* lisp/emacs-lisp/map.el: Update version to 2.1.
	((pcase-defmacro map)): Update docstring.
	(map--make-pcase-bindings): Match keyword pattern.

	* test/lisp/emacs-lisp/map-tests.el (test-map-plist-pcase): Add test.

2020-02-04  Andrea Corallo  <akrl@sdf.org>

	Merge remote-tracking branch 'savannah/master' into HEAD

2020-02-04  Andrea Corallo  <akrl@sdf.org>

	Add assertion in load_comp_unit

	While resurrecting from an image dump loading more than once the
	same compilation unit does not make any sense.

2020-02-04  Stefan Kangas  <stefankangas@gmail.com>

	Silence byte-compiler warning

	* lisp/dired.el (grep-read-files-function): Add defvar to silence
	byte-compiler warning.

2020-02-04  Stefan Kangas  <stefankangas@gmail.com>

	Provide default for describe-keymap prompt

	* lisp/help-fns.el (describe-keymap): Provide a reasonable
	default for prompt.  (Bug#30660)
	(help-fns-find-keymap-name)
	(help-fns--most-relevant-active-keymap): New functions.

	* test/lisp/help-fns-tests.el
	(help-fns-test-find-keymap-name): New test.

2020-02-04  Stefan Kangas  <stefankangas@gmail.com>
	    Drew Adams  <drew.adams@oracle.com>

	Add new help command describe-keymap

	* lisp/help-fns.el (describe-keymap): New command to show key bindings
	for a given keymap.  (Bug#30660)
	* doc/emacs/help.texi (Misc Help): Document the new command.
	* doc/lispref/keymaps.texi (Scanning Keymaps): Add a cross-reference
	to the above documentation.
	* etc/NEWS: Announce the new command.

	* test/lisp/help-fns-tests.el (help-fns-test-describe-keymap/symbol)
	(help-fns-test-describe-keymap/value)
	(help-fns-test-describe-keymap/not-keymap)
	(help-fns-test-describe-keymap/let-bound)
	(help-fns-test-describe-keymap/dynamically-bound-no-file): New tests.

2020-02-03  Andrea Corallo  <akrl@sdf.org>

	Rework load mechanism to make Vcomp_loaded_handles unnecessary

2020-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/sh-script.el: Remove old non-SMIE indentation code

	(sh-learn-basic-offset, sh-blink, sh-use-smie): Remove config vars.
	(sh-kw-alist, sh-learned-buffer-hook): Remove var.
	(sh-must-support-indent, sh-mark-init, sh-mark-line): Remove function.
	(sh-kw, sh-special-keywords): Remove constant.
	(sh-help-string-for-variable, sh-read-variable, sh-goto-matching-if)
	(sh-handle-prev-if, sh-handle-this-else, sh-handle-prev-else)
	(sh-handle-this-fi, sh-handle-prev-fi, sh-handle-this-then)
	(sh-handle-prev-then, sh-handle-prev-open, sh-handle-this-close)
	(sh-goto-matching-case, sh-handle-prev-case, sh-handle-this-esac)
	(sh-handle-prev-esac, sh-handle-after-case-label)
	(sh-handle-prev-case-alt-end, sh-safe-forward-sexp)
	(sh-goto-match-for-done, sh-handle-this-done, sh-handle-prev-done)
	(sh-handle-this-do, sh-handle-prev-do, sh-find-prev-switch)
	(sh-handle-this-rc-case, sh-handle-prev-rc-case, sh-check-rule)
	(sh-get-indent-info, sh-get-indent-var-for-line, sh-prev-line)
	(sh-prev-stmt, sh-get-word, sh-prev-thing, sh-this-is-a-continuation)
	(sh-get-kw, sh-find-prev-matching, sh-set-var-value)
	(sh-calculate-indent, sh-indent-line, sh-blink, sh-guess-basic-offset):
	Remove functions.
	(sh-show-indent, sh-set-indent, sh-learn-line-indent)
	(sh-learn-buffer-indent): Redefine as obsolete aliases.

2020-02-03  Andrea Corallo  <akrl@sdf.org>

	Always define subr-native-elisp-p also without native compiler

2020-02-03  Andrea Corallo  <akrl@sdf.com>

	Fix load_comp_unit for non zero speeds

	'dlopen' returns the same handle when trying to load two times
	the same shared.

	Touching 'd_reloc' etc leads to fails in case a frame with a reference
	to it in a register is active. (comp-speed >= 0)

2020-02-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	cdf8c31844 Extend workaround for Cygwin O_PATH bug

2020-02-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	5bf2ef3871 Add more blackboard bold characters to TeX input method
	c362a624d8 ; * lisp/progmodes/gdb-mi.el (gdb-handle-reply): Fix comme...
	2b1e18ae85 Protect against errors in gdb-mi.el handlers
	baceb8e84d Allow exiting the Python interpreter of a GDB session
	2e66013dcf Ensure minibuffer input is added to history in read_minibuf
	de41161534 Tab-bar related fixes.
	247f2cfa02 ; ChangeLog.3 fixes.
	e1a712bb3f * admin/authors.el: Add missing entries.

2020-02-01  Michael Albinus  <michael.albinus@gmx.de>

	Implement `shell-command-dont-erase-buffer' in Tramp.  (Bug#39067)

	* lisp/net/tramp.el (tramp-handle-shell-command):
	Handle `shell-command-dont-erase-buffer'.  (Bug#39067)

	* test/lisp/net/tramp-tests.el (shell-command-dont-erase-buffer):
	Declare.
	(tramp-test10-write-region, tramp-test21-file-links): Use function
	symbols.
	(tramp--test-async-shell-command): Don't assume that
	`async-shell-command' returns the process object.
	(tramp-test32-shell-command): Rework `async-shell-command-width' test.
	(tramp-test32-shell-command-dont-erase-buffer): New test.

2020-01-31  Michael Albinus  <michael.albinus@gmx.de>

	Remove compatibility hack in Tramp

	* lisp/net/tramp-compat.el (tramp-compat-process-running-p): Remove.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled):
	Use `tramp-process-running-p'.

	* lisp/net/tramp.el (with-tramp-progress-reporter): Simplify.
	(tramp-process-running-p): New defun.

2020-01-31  Juri Linkov  <juri@linkov.net>

	* etc/NEWS: Move M-x suggest-key-bindings to "Editing Changes" section.

	* doc/emacs/m-x.texi (M-x): Mention effect of suggest-key-bindings
	on the completion list of M-x (bug#39035).

2020-01-30  Sam Steingold  <sds@gnu.org>

	prune the overly cavalier "kill all gnus buffers exit"

	* lisp/gnus/mail-source.el (mail-source-call-script): Require gnus for
	 `gnus-get-buffer-create', following the pattern in the file.
	* lisp/gnus/message.el: Autoload `gnus-get-buffer-create'.
	* lisp/gnus/mm-archive.el: Likewise.
	* lisp/gnus/mml2015.el: Likewise (the file autoloads other gnus functions).
	* lisp/gnus/nnheader.el: Likewise.
	* lisp/gnus/mml1991.el (mml1991-mailcrypt-sign, mml1991-mailcrypt-encrypt):
	Revert the patch, use `get-buffer-create' instead of `gnus-get-buffer-create'.
	* lisp/gnus/smime.el (smime-new-details-buffer, smime):
	 smime-certificate-info): Likewise.
	* lisp/gnus/spam-stat.el (spam-stat-store-current-buffer): Likewise.

2020-01-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Give fuller support for obsolete ---12 dates in iso8601

	* lisp/calendar/iso8601.el
	(iso8601--outdated-reduced-precision-date-match): New constant.
	(iso8601--date-match): Use it.

2020-01-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make iso8601.el understand two obsolete forms

	* lisp/calendar/iso8601.el (iso8601-parse-date): Understand some
	obsolete formats to provide compatibility with the vCard RFC
	(bug#39347).

2020-01-30  Juri Linkov  <juri@linkov.net>

	Show key bindings on M-x completion (bug#39035)

	* lisp/simple.el (read-extended-command--annotation): New function.
	(read-extended-command): Use annotation-function to show key-bindings.

2020-01-29  Sam Steingold  <sds@gnu.org>

	fix bug#39344

	* lisp/gnus/gnus.el (gnus-add-buffer): Use 'cl-pushnew' instead of
	'push' to avoid duplicate entries.

2020-01-28  Eli Zaretskii  <eliz@gnu.org>

	Revert "Fix MS-Windows build broken by "Install C source code""

	This reverts commit 31efd1cea8d692a0b77101ec161a8cf290471ade,
	since the commit a02b179242a55aba20158aa245e5643a04d07576,
	which triggered the former commit, has been reverted.

2020-01-28  Alan Third  <alan@idiocy.org>

	Merge branch 'scratch/ns/draw-to-bitmap'

2020-01-28  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	1bcac29b2f (origin/emacs-27) dns-mode-soa-auto-increment-serial: safe...
	abf0f8666d * lisp/wdired.el: Clean out isearch-filter-predicate (bug#...
	c31c31e57f ; Spelling and URL fixes
	066aad7b9d Finish the documentation for c-noise-macro-{,with-parens-}...
	c8fcabf245 Correct regexp for flags in `format' doc string
	2e9a153b26 Moderate recommendation to escape '(' in doc strings
	d7cd4ab7d9 Objective C Mode: Make c-forward-type work with "unsigned ...
	1705e32ebc Fix help text about configure module support
	baca81e641 * doc/lispref/streams.texi (Output Functions): Improve ind...
	568a560fce Improve doc string of 'newline'
	7f50698505 Improve doc of eq on bignums etc.
	e5327a569c Do not refer to obsolete alias
	fd09196781 ; Clarify what time-stamp-active enables

	# Conflicts:
	#	etc/NEWS

2020-01-28  Sam Steingold  <sds@gnu.org>

	Make sure that all gnus buffers are killed on exit

	* lisp/gnus/gnus-agent.el (gnus-agent-synchronize-flags-server):
	Use `gnus-get-buffer-create' instead of `get-buffer-create'
	* lisp/gnus/gnus-bookmark.el (gnus-bookmark-write-file): Likewise.
	(gnus-bookmark-bmenu-list): Likewise.
	(gnus-bookmark-show-details): Likewise.
	* lisp/gnus/gnus-draft.el (gnus-draft-setup): Likewise.
	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-reply): Likewise.
	* lisp/gnus/gnus-int.el (gnus-backend-trace): Likewise.
	* lisp/gnus/gnus-srvr.el (gnus-enter-server-buffer): Likewise.
	* lisp/gnus/gnus-sum.el (gnus-summary-pipe-output): Likewise.
	* lisp/gnus/gnus-util.el (gnus-output-to-rmail): Likewise.
	(gnus-output-to-mail): Likewise.
	(gnus-multiple-choice): Likewise.
	* lisp/gnus/mail-source.el (mail-source-call-script): Likewise.
	* lisp/gnus/message.el (message-cancel-news): Likewise.
	(message-resend): Likewise.
	* lisp/gnus/mm-archive.el (mm-dissect-archive): Likewise.
	* lisp/gnus/mml1991.el (mml1991-mailcrypt-sign): Likewise.
	(mml1991-mailcrypt-encrypt): Likewise.
	* lisp/gnus/mml2015.el (mml2015-mailcrypt-verify): Likewise.
	(mml2015-mailcrypt-clear-verify): Likewise.
	* lisp/gnus/nnbabyl.el (nnbabyl-request-move-article): Likewise.
	* lisp/gnus/nndiary.el (nndiary-request-move-article): Likewise.
	(nndiary-find-group-number): Likewise.
	(nndiary-open-nov): Likewise.
	(nndiary-generate-nov-file): Likewise.
	* lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Likewise.
	* lisp/gnus/nndraft.el (nndraft-request-move-article): Likewise.
	(nndraft-auto-save-file-name): Likewise.
	* lisp/gnus/nneething.el (nneething-get-head): Likewise.
	* lisp/gnus/nnfolder.el (nnfolder-request-move-article): Likewise.
	(nnfolder-open-nov): Likewise.
	* lisp/gnus/nnheader.el (nnheader-init-server-buffer): Likewise.
	(nnheader-set-temp-buffer): Likewise.
	* lisp/gnus/nnimap.el (nnimap-log-buffer): Likewise.
	* lisp/gnus/nnir.el (nnir-run-swish++): Likewise.
	(nnir-run-swish-e): Likewise.
	(nnir-run-hyrex): Likewise.
	(nnir-run-namazu): Likewise.
	(nnir-run-notmuch): Likewise.
	(nnir-run-find-grep): Likewise.
	* lisp/gnus/nnmail.el (nnmail-split-incoming): Likewise.
	(nnmail-cache-open): Likewise.
	(nnmail-log-split): Likewise.
	* lisp/gnus/nnmaildir.el (nnmaildir--with-work-buffer): Likewise.
	(nnmaildir--with-nov-buffer): Likewise.
	(nnmaildir--with-move-buffer): Likewise.
	* lisp/gnus/nnmairix.el (nnmairix-call-mairix-binary): Likewise.
	(nnmairix-call-mairix-binary-raw): Likewise.
	(nnmairix-replace-group-and-numbers): Likewise.
	* lisp/gnus/nnmbox.el (nnmbox-request-move-article): Likewise.
	* lisp/gnus/nnmh.el (nnmh-request-move-article): Likewise.
	* lisp/gnus/nnml.el (nnml-request-move-article): Likewise.
	(nnml-find-group-number): Likewise.
	(nnml-get-nov-buffer): Likewise.
	(nnml-generate-nov-file): Likewise.
	* lisp/gnus/nnrss.el (nnrss-opml-export): Likewise.
	* lisp/gnus/nntp.el (nntp-record-command): Likewise.
	* lisp/gnus/nnvirtual.el (nnvirtual-retrieve-headers): Likewise.
	* lisp/gnus/smime.el (smime-new-details-buffer): Likewise.
	(smime-certificate-info): Likewise.
	(smime): Likewise.
	* lisp/gnus/spam-stat.el (spam-stat-store-current-buffer): Likewise.

2020-01-28  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-01-27 regex: port to non-GCC pre-IEC-60559
	2020-01-24 regex: port to Gawk on nonstandard platforms
	2020-01-21 regex: fix bug with >=16 subexpressions
	2020-01-21 regex: simplify definition of BITSET_WORD_BITS
	* lib/regex.c, lib/regex_internal.h: Copy from Gnulib.

2020-01-28  Paul Eggert  <eggert@cs.ucla.edu>

	Revert the --with-install-srcdir patch

	Also, update description of debuginfo and sources to match
	Debian and Red Hat more accurately, and move this sad tale
	from INSTALL to etc/PROBLEMS which is a better home for it.
	* Makefile.in (emacs_srcdir, install-c-src):
	* configure.ac (emacs_srcdir, --with-install-srcdir):
	* src/epaths.in (PATH_EMACS_SOURCE):
	* src/lread.c (emacs-source-directory):
	Remove.  All uses removed.
	* lisp/emacs-lisp/find-func.el (find-function-C-source):
	Do not worry about compressed C sources.
	* src/lread.c: Do not include <dosname.h>.

2020-01-27  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#39253

	* lisp/net/tramp.el (tramp-handle-shell-command): Set `default-directory'.

2020-01-27  Michael Albinus  <michael.albinus@gmx.de>

	Fix problems in Tramp's async-shell-command

	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
	* lisp/net/tramp-cache.el (top):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
	Use `insert-file-contents-literally'.

	* lisp/net/tramp.el (tramp-parse-file):
	Use `insert-file-contents-literally'.
	(tramp-handle-shell-command): Reorganize error-buffer handling.
	(tramp-handle-start-file-process): Use `consp' instead of `listp'.

	* test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
	Bind `delete-exited-processes'.
	(tramp--test-async-shell-command): Bind `delete-exited-processes'.
	Add additional `accept-process-output'.  Move cleanup of output
	buffer ...
	(tramp-test32-shell-command): ... here.  Test error buffer also
	for `async-shell-command'.

2020-01-27  Paul Pogonyshev  <pogonyshev@gmail.com>

	* lisp/emacs-lisp/debug.el (debug): Merge the non-interactive cases

	bug#38927

2020-01-26  Paul Eggert  <eggert@cs.ucla.edu>

	* src/mini-gmp.c: Fix comment typos.

2020-01-26  Paul Eggert  <eggert@cs.ucla.edu>

	Update mini-gmp

	* src/mini-gmp.c, src/mini-gmp.h: Copy from GMP 6.2.0.
	This incorporates:
	2019-12-05 remove some sizeof(mp_limb_t)
	2019-12-04 (mpn_invert_3by2): Remove special code for limb sizes
	2019-12-04 (mpn_invert_3by2): Limit size of an intermediate
	2019-11-20 (mpn_invert_3by2): Use xor instead of negation
	2019-11-19 (mpn_invert_3by2): Move an assert earlier
	2019-11-19 (mpn_invert_3by2): Add a new shortcut
	2019-11-17 Prepend "unsigned" to MINI_GMP_LIMB_TYPE
	2019-11-17 Enable testing with different limb sizes (types)
	2019-11-20 Use already defined constants
	2019-11-09 Avoid undefined behavior with small limb sizes

2020-01-26  Paul Eggert  <eggert@cs.ucla.edu>

	Improve doc for emacs-source-directory (Bug#36527).

2020-01-26  Paul Eggert  <eggert@cs.ucla.edu>

	Propagate NSLocale into Emacs better

	* src/emacs.c (main): Call ns_init_locale before using the
	environment variable that ns_init_locale sets up (Bug#39248).

2020-01-26  Stefan Kangas  <stefankangas@gmail.com>

	Add more tests for bookmark-bmenu-list

	* test/lisp/bookmark-tests.el (cl-lib): Require.
	(bookmark-test-bmenu-toggle-filenames)
	(bookmark-test-bmenu-toggle-filenames/show)
	(bookmark-test-bmenu-show-filenames)
	(bookmark-test-bmenu-hide-filenames)
	(bookmark-test-bmenu-bookmark, bookmark-test-bmenu-mark)
	(bookmark-test-bmenu-any-marks, bookmark-test-bmenu-unmark)
	(bookmark-test-bmenu-delete, bookmark-test-bmenu-locate): New
	tests.

	(bookmark-test-bmenu-edit-annotation/show-annotation): Rename from
	'bookmark-bmenu-edit-annotation/show-annotation'.
	(bookmark-test-bmenu-send-edited-annotation): Rename from
	'bookmark-bmenu-send-edited-annotation'.
	(bookmark-test-bmenu-send-edited-annotation/restore-focus): Rename
	from 'bookmark-bmenu-send-edited-annotation/restore-focus'.

2020-01-25  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#39279

	* lisp/net/tramp.el (tramp-completion-file-name-handler):
	Fix thinko.  (Bug#39279)

2020-01-25  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows build broken by "Install C source code"

	* nt/epaths.nt (PATH_EMACS_SOURCE): Add definition.

2020-01-25  Paul Eggert  <eggert@cs.ucla.edu>

	Install C source code for C-h f etc.

	Without this change, on typical GNU/Linux distributions
	like Debian, the first button of ‘C-h f car RET’ does not work
	because the source code for ‘car’ is not installed (Bug#37527).
	Fix this by installing the (compressed) C source code alongside
	the (compressed) Lisp source code that is already installed.
	This adds about 3 MB (about 2%) to the size of the installed files
	on my platform.
	* Makefile.in (emacs_srcdir): New macro.
	(epaths-force): Substitute PATH_EMACS_SOURCE.
	(install-c-src): New rule, that installs a copy of the C source
	code if emacs_srcdir says to.
	(install-arch-indep): Depend on it.
	* configure.ac (emacs_srcdir): New var.
	Add support for --disable-install-srcdir.
	* lisp/emacs-lisp/find-func.el (find-function-C-source-directory):
	Look in emacs-source-directory first.
	(find-function-C-source): Also look for gzipped source files.
	* lisp/startup.el (normal-top-level):
	Also recode emacs-source-directory.
	* src/epaths.in (PATH_EMACS_SOURCE): New macro.
	* src/lread.c: Include dosname.h, for IS_ABSOLUTE_FILE_NAME.
	(syms_of_lread): New var emacs-source-directory.

2020-01-24  Mattias Engdegård  <mattiase@acm.org>

	Remove (or double) redundant backslashes in string literals

	See discussion at
	https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00749.html .

	* lisp/obsolete/iswitchb.el (iswitchb-summaries-to-end):
	* test/src/regex-emacs-tests.el (regex-tests-BOOST-frob-escapes):
	* test/lisp/help-fns-tests.el (help-fns-test-lisp-macro)
	(help-fns-test-lisp-defun, help-fns-test-lisp-defsubst)
	(help-fns-test-alias-to-defun, help-fns-test-bug23887):
	Double backslashes for desired effect.
	* lisp/org/ol.el (org-link-escape):
	* lisp/net/nsm.el (nsm-protocol-check--rsa-kx)
	(nsm-protocol-check--anon-kx, nsm-protocol-check--sha1-sig):
	* lisp/obsolete/old-whitespace.el (whitespace-buffer):
	* lisp/obsolete/rcompile.el (remote-compile-run-before):
	* lisp/obsolete/vi.el (vi-end-of-blank-delimited-word):
	* lisp/obsolete/vip.el (vip-current-major-mode)
	(vip-paren-match, vip-switch-to-buffer)
	(vip-switch-to-buffer-other-window, vip-kill-buffer)
	(vip-get-ex-token, ex-edit):
	* lisp/org/org-element.el (org-element--cache-sync-requests):
	* lisp/org/org.el (org-sparse-tree):
	* lisp/textmodes/reftex.el (reftex-report-bug):
	* test/lisp/ibuffer-tests.el (ibuffer-save-filters):
	* test/lisp/international/ucs-normalize-tests.el
	(ucs-normalize-tests--insert-failing-lines):
	* test/lisp/simple-tests.el (undo-test-kill-c-a-then-undo):
	* test/lisp/textmodes/conf-mode-tests.el (conf-test-toml-mode):
	* test/src/regex-emacs-tests.el (regex-tests-compare):
	Remove redundant backslashes.

2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>

	Fix iso8601-parse so unknown DST is -1, not nil

	The convention in a decoded time’s dst flag is that t means DST,
	nil means standard time, and -1 means unknown.  This differs from
	the convention for other components of a decoded time, where nil
	means unknown.  Fix some places where iso8601-parse mistakenly
	treated nil as meaning that the dst flag was unknown.
	* doc/lispref/os.texi (Time Parsing):
	Adjust to match parse-time-string’s doc string.
	* lisp/calendar/iso8601.el (iso8601-parse):
	Set dst flag to nil if a numeric time zone or "Z" is given.
	(iso8601--decoded-time): Default dst flag to -1 if no dst
	flag or zone is given.
	* lisp/calendar/time-date.el (decoded-time-set-defaults):
	When we don’t have a time zone, set the dst flag consistently
	with DEFAULT-ZONE.
	* test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
	(test-iso8601-date-dates, test-iso8601-date-obsolete)
	(test-iso8601-date-weeks, test-iso8601-date-ordinals)
	(test-iso8601-time, test-iso8601-combined)
	(test-iso8601-duration, test-iso8601-intervals)
	(standard-test-dates, standard-test-time-of-day-local-time)
	(standard-test-time-of-day-fractions)
	(nonstandard-test-time-of-day-decimals)
	(standard-test-time-of-day-beginning-of-day)
	(standard-test-date-and-time-of-day, standard-test-interval):
	Adjust tests to match fixed behavior.

2020-01-24  Bastien  <bzg@gnu.org>

	Fix parse-time-string bug with ISO 8601 defaults

	* lisp/calendar/parse-time.el (parse-time-string):
	Do not use decoded-time-set-defaults; just let iso8601-parse
	do its thing.

2020-01-24  Stefan Kangas  <stefankangas@gmail.com>

	Add tests for version comparison predicates

	* test/lisp/subr-tests.el (subr-test-version-list-<)
	(subr-test-version-list-=, subr-test-version-list-<=): New tests.

2020-01-24  Alan Third  <address@hidden>

	Draw to offscreen buffer on macOS

	* src/nsfns.m (x_set_background_color): Clear the frame after changing
	the background color, not before.
	* src/nsterm.h (drawingBuffer): New variable.
	([EmacsView focusOnDrawingBuffer]):
	([EmacsView copyRect:to:]):
	([EmacsView createDrawingBufferWithRect:]): New methods.
	* src/nsterm.m (ns_update_begin):
	(ns_update_end):
	(ns_focus):
	(ns_unfocus): Handle drawing to offscreen buffer.
	(ns_clip_to_row): Use ns_row_rect.
	(ns_copy_bits): Remove unused function.
	(ns_scroll_run):
	(ns_shift_glyphs_for_insert): Use new scrolling method.
	(ns_draw_fringe_bitmap):
	(ns_dumpglyphs_image): When drawing to the offscreen buffer, flip
	images so they appear the right way up.
	(ns_dumpglyphs_stretch): Remove unnecessary code.
	(ns_draw_window_cursor): Don't disable screen updates.
	([EmacsView updateFrameSize:]): Update the size of the offscreen
	buffer.
	([EmacsView initFrameFromEmacs:]): Create offscreen buffer.
	([EmacsView windowDidChangeBackingProperties:]):
	([EmacsView createDrawingBufferWithRect:]):
	([EmacsView focusOnDrawingBuffer]):
	([EmacsView copyRect]): New methods.
	([EmacsView viewWillDraw]): Remove method as it no longer does
	anything useful.
	([EmacsView drawRect:]): Handle drawing from offscreen buffer.

2020-01-24  Alan Third  <alan@idiocy.org>

	Revert "Make all NS drawing be done from drawRect"

	This reverts commit 7946445962372c4255180af45cb7c857f1b0b5fa.

2020-01-24  Alan Third  <alan@idiocy.org>

	Revert "Ensure NS frame is redrawn correctly  after scroll"

	This reverts commit a6ab8db3a3dc5ec107ef023c6659620584309c97.

2020-01-24  Alan Third  <alan@idiocy.org>

	Revert "Fix some NS drawing issues (bug#32932)"

	This reverts commit 7e8eee60a9dbb0c59cf26f237b21efe7fd1043c9.

2020-01-24  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	0bed550e21 (origin/emacs-27) Remove EmacsOpenPanel and EmacsSavePanel...
	a0336029db * doc/emacs/files.texi (Auto Save Files): Improve indexing...
	57fb8b10c1 Fix inaccurate wording in the Emacs manual
	1c487747ab Update ERC module URLs
	7d1e9c943f Minor doc string clarification in use-hard-newlines

2020-01-24  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	92f080dda8 Tab-bar related finishing touches.
	224e8d1464 Make call_process call signal_after_change.  This fixes bu...
	d02f2a793e * lisp/simple.el: Minor fixes to commentary.
	196c42b8bf Fix a few typos
	4f2b967795 Fix doc strings for image-dired rotation commands

	# Conflicts:
	#	etc/NEWS

2020-01-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make links in shr use separate mouse highlight regions

	* lisp/net/shr.el (shr-urlify): Make adjacent links have separate
	mouse highlights (bug#39115).

2020-01-24  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-test32-shell-command

	* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
	Test error buffer for synchronous `shell-command' only.

2020-01-24  Michael Albinus  <michael.albinus@gmx.de>

	Minor code cleanup in Tramp

2020-01-24  Michael Albinus  <michael.albinus@gmx.de>

	Support (un)mount of Tramp media devices

	* lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): Add "gvfs-rename".
	(tramp-gvfs-do-copy-or-rename-file): Use it.
	(tramp-gvfs-activation-uri): Handle "media" method.
	(tramp-gvfs-url-host): New defun.
	(tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-connection-mounted-p)
	(tramp-gvfs-handler-volumeadded-volumeremoved)
	(tramp-get-media-devices): Use it.

2020-01-24  Robert Pluim  <rpluim@gmail.com>

	Expand Cairo and HarfBuzz descriptions

	* etc/NEWS:
	* configure.ac: Expand description of Cairo and Harfbuzz

2020-01-24  Robert Pluim  <rpluim@gmail.com>

	Warn about XFT and about Cairo without HarfBuzz

	* configure.ac: Warn about libXFT usage.  Warn about using Cairo
	without HarfBuzz.

	* etc/NEWS: Announce XFT and HarfBuzz warnings.

2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify locale setup

	Stop exporting Vprevious_system_time_locale and
	Vprevious_system_messages_locale to Elisp.  I did that export by
	mistake in 1999, and the Elisp variables have never been used.
	Simplifying this cruft should make it easier to fix Bug#39248.
	* etc/NEWS: Mention this.
	* src/emacs.c (main): Simplify locale initialization.
	(synchronize_locale): Simplify.
	(Vprevious_system_time_locale, Vprevious_system_messages_locale):
	Now static variables not visible to Lisp, and defined only if
	HAVE_SETLOCALE.
	(Vprevious_system_messages_locale): Define only if LC_MESSAGES.

2020-01-24  Glenn Morris  <rgm@gnu.org>

	Make so-long test pass following lisp-mnt change

	* lisp/so-long.el (so-long-commentary): Update for lisp-mnt change.

2020-01-23  Bruno Félix Rezende Ribeiro  <oitofelix@gnu.org>

	Globally sanitize single-file package long descriptions (Bug#37548)

	Consistent with multi-file package descriptions which don’t have
	commentary sections nor double semicolon prefixes.
	* lisp/emacs-lisp/lisp-mnt.el (lm-commentary): Remove commentary
	header, double semicolon prefixes of each line, trailing new-lines and
	trailing white-space from commentary.
	* lisp/emacs-lisp/package.el (package--get-description)
	(describe-package-1):
	* lisp/finder.el (finder-commentary):
	* lisp/info.el (Info-finder-find-node): Remove ad-hoc sanitation.

2020-01-23  Glenn Morris  <rgm@gnu.org>

	Unbreak byte compilation

	* lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
	Update for recent header changes.
	(byte-compile-insert-header): Add more padding.

2020-01-23  Stefan Kangas  <stefankangas@gmail.com>

	Remove irrelevant info from .elc headers

	* lisp/emacs-lisp/bytecomp.el (byte-compile-insert-header): Don't
	insert information on ancient Emacs in bytecode headers.  (Bug#39233)

2020-01-23  Stefan Kangas  <stefankangas@gmail.com>

	Prefer saying "Info manual" to "info page" in docs

	Pointed out by Eli Zaretskii in:
	https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39215#14
	* doc/emacs/Makefile.in:
	* doc/lispintro/Makefile.in:
	* doc/lispref/Makefile.in:
	* doc/misc/Makefile.in:
	* lisp/dired-x.el (top-level):
	* lisp/gnus/gnus-sum.el (gnus-summary-mode):
	* lisp/progmodes/cperl-mode.el (cperl-info-page): Doc fix; prefer
	saying "Info manual" over "info page".

2020-01-23  Michael Albinus  <michael.albinus@gmx.de>

	Implement "/media::" default host name in Tramp

	* doc/misc/tramp.texi (GVFS-based methods): Describe default
	/media:: file name.

	* lisp/net/tramp-cache.el (tramp-get-file-property)
	(tramp-set-file-property): Check, whether
	`tramp-cache-{g,s}et-count-*' objects are numbers.

	* lisp/net/tramp-gvfs.el (top): Don't set global default for
	"media" in `tramp-default-host-alist'.
	(tramp-gvfs-handler-volumeadded-volumeremoved): New defun.
	(top): Register "org.gtk.Private.RemoteVolumeMonitor.VolumeAdded"
	and "org.gtk.Private.RemoteVolumeMonitor.VolumeRemoved" signals.
	(tramp-get-media-devices): Set defaults for "media" in
	`tramp-default-host-alist'.

2020-01-23  Tino Calancha  <tino.calancha@gmail.com>

	Fix bug 39218

	* lisp/simple.el (shell-command):
	Ensure a shell command ending with `&' is run asynchronously.

2020-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	Fix crash when sending Gnus message (Bug#39207)

	* src/alloc.c (resize_string_data): The string must be multibyte.
	When not bothering to reallocate, do bother to change the byte count.
	* test/src/alloc-tests.el (aset-nbytes-change) New test.

2020-01-22  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	3b0938c042 (origin/emacs-27) Render Ido suggestions using an overlay
	d5d90dc412 * doc/misc/tramp.texi (Bug Reports): Encourage use of "ema...
	ac09e8e121 * lisp/vc/smerge-mode.el (smerge-match-conflict): Fix bug#...
	7e37e61f4b Correct statement about ftcr and recommend HarfBuzz
	4aec94da37 Avoid leaving artifacts when the system caret is used on w32
	5abd8d73b0 Improve display of temporary echo messages

2020-01-22  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	3ba0db41e3 Allow optional truncation of tab names in tab-bar and tab-...
	7dd065fc7b Small fixes in documentation.
	06166aa719 Improve explanation of available font backends under X
	2eb834ead4 Clear output data pointer on NS

2020-01-22  Michael Albinus  <michael.albinus@gmx.de>

	Add new Tramp method "media"

	* doc/misc/tramp.texi (Quick Start Guide, GVFS-based methods):
	Add media devices.

	* etc/NEWS: Mention new Tramp method "media".

	* lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "media" method.
	(tramp-goa-methods): Add tramp-autoload cookie.
	(tramp-media-methods): New defvar.
	(tramp-gvfs-service-volumemonitor): New defsubst.
	(top): Remove media methods if not supported.  Add defaults for
	`tramp-default-host-alist'.
	(tramp-goa-account): Rename from `tramp-goa-name'.  Adapt all callees.
	(tramp-gvfs-service-afc-volumemonitor)
	(tramp-gvfs-service-goa-volumemonitor)
	(tramp-gvfs-service-gphoto2-volumemonitor)
	(tramp-gvfs-service-mtp-volumemonitor)
	(tramp-gvfs-path-remotevolumemonitor)
	(tramp-gvfs-interface-remotevolumemonitor): New defconsts.
	(tramp-media-device): New defstruct.
	(tramp-gvfs-activation-uri): New defun.
	(tramp-gvfs-url-file-name): Use it.
	(tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
	Handle "media" method.
	(tramp-get-goa-account): Rename from `tramp-make-goa-name'.  Adapt
	all callees.
	(tramp-get-goa-accounts): Adapt docstring.  Cache with nil key.
	(tramp-parse-goa-accounts, tramp-get-media-device)
	(tramp-get-media-devices)
	(tramp-parse-media-names): New defuns.
	(top): Rework completion function registration.

	* lisp/net/tramp.el (tramp-dns-sd-service-regexp): New defconst.
	(tramp-set-completion-function): Use it.

2020-01-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Add \sqrt[4] as Latex input method, too

	* lisp/leim/quail/latin-ltx.el: Add \sqrt[4] as input method
	(bug#25594).

2020-01-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Add \sqrt and \sqrt[3] as Latex input methods

	* lisp/leim/quail/latin-ltx.el: Add \sqrt and \sqrt[3] as input
	methods (bug#25594).

2020-01-22  Nicholas Strauss  <nicholas.strauss@gmail.com>

	Support solar and lunar eclipses in Calendar

	* lisp/calendar/lunar.el (eclipse-check): New function to display
	solar and lunar eclipses (bug#20414).
	(lunar-phase): Use it.
	(calendar-lunar-phases): Ditto.

2020-01-22  Helmut Eller  <eller.helmut@gmail.com>

	Default lisp-mode to use Common Lisp indentation

	* lisp/emacs-lisp/lisp-mode.el (lisp-mode): Use
	common-lisp-indent-function instead of lisp-indent-function as
	Common Lisp is the most common non-Emacs Lisp today (bug#10097).

2020-01-22  Marco Wahl  <marcowahlsoft@gmail.com>

	Make find-file-at-point respect port numbers in Tramp file name

	* lisp/ffap.el (ffap-string-at-point-mode-alist): Respect port
	numbers in files names like /ssh:root@127.0.0.1#2222:/root/ (bug#20412).

2020-01-22  Michael Albinus  <michael.albinus@gmx.de>

	Minor cleanup in {autorevert,filenotify,shadowfile}-tests.el

	* test/lisp/autorevert-tests.el (tramp-message-show-message):
	* test/lisp/shadowfile-tests.el (tramp-message-show-message):
	* test/lisp/filenotify-tests.el (tramp-message-show-message)
	Do Not set.
	(file-notify-test04-autorevert): Inhibit messages.

2020-01-22  Damien Cassou  <damien@cassou.me>

	* test/lisp/auth-source-pass-tests.el: Test for multiple ports.

2020-01-21  Andrea Corallo  <akrl@sdf.org>

	Extend propagation to a wider set of (non pure) functions

2020-01-21  Robert Pluim  <rpluim@gmail.com>

	Recommend use of HarfBuzz

	* etc/NEWS: Add recommendation to use HarfBuzz.

2020-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/grep.el (grep-read-files-function): New var.

	Also remove redundant :groups while we're here.

	(grep-read-files): Use it instead of a major-mode symbol property.
	(grep-read-files--default): New function.

	* lisp/dired.el (dired-mode): Use `grep-read-files-function`.

2020-01-21  Robert Pluim  <rpluim@gmail.com>

	Add Cairo font backend info

	* etc/NEWS: Add info about which font backends are available under Cairo.

2020-01-20  Andrea Corallo  <akrl@sdf.org>

	Clean-up unnecessary member usage

	Do no force speed while running the testsuite

2020-01-20  Andrea Corallo  <akrl@sdf.org>

	Always force debug 0 for bootstrap test

	Debug symbols would make it fail otherwise.

2020-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/mule-cmds.el (mule-cmds--prefixed-command-pch): Fix typo

2020-01-20  Eli Zaretskii  <eliz@gnu.org>

	Unbreak the MS-Windows build

	* src/w32.c (openat): New function.
	* src/w32.h (openat): Add prototype.

2020-01-20  Robert Pluim  <rpluim@gmail.com>

	Document cairo-related fallout to font-backend settings

	* etc/NEWS: Document some of the possible adjustments required to
	font settings when using Cairo.

2020-01-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	154cd116be (origin/emacs-27) * admin/release-process: Adapt bug numbe...
	fd19282134 Fix shell-tests failures
	891f7de8ed * test/lisp/simple-tests.el: Full path to Emacs binary (bu...
	92f30d62c0 * lisp/tab-line.el (tab-line-auto-hscroll): Fix for long t...
	dde313151d * lisp/menu-bar.el (menu-bar-options-menu): Add desktop-sa...
	3543b9fad9 ; Fix a test (Bug#39067)
	83f9fe44fa ; * etc/NEWS: Fix typo.
	2eb0b7835d Fix shell-command-dont-erase-buffer feature
	c134978a76 Remove reference to Emacs 19 from FAQ
	fabf0065c5 Doc fixes in package.el

	# Conflicts:
	#	etc/NEWS

2020-01-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	f3d30b5303 Remove some doc references to old Emacs versions
	4217bc229b Fix infloop in shell.el
	74b151195d Fix erc-notifications-notify for non-PRIVMSGs, broken in l...
	db4436eaf9 Fix the notification action for PRIVMSG in erc-notificatio...
	36a4068105 ERC: New maintainer.
	2391d3f45d ; spelling fixes
	e898442be3 Honor tags-case-fold-search during xref identifier completion

	# Conflicts:
	#	etc/NEWS

2020-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-cmds.el: Don't use local vars as symbols

	(c--call-post-self-insert-hook-more-safely-1): Avoid `add-hook` and
	`run-hooks` on local vars.  Avoid O(n^2) while we're at it.

2020-01-20  Paul Eggert  <eggert@cs.ucla.edu>

	Work better if stat etc. are interrupted

	Quit or retry if fstat, lstat, stat or openat fail with EINTR.
	This should fix some bugs on platforms where accessing files via
	NFS can fail that way (Bug#9256).
	* src/dired.c (file_attributes):
	* src/fileio.c (file_directory_p) [O_PATH]:
	Use emacs_openat instead of openat.
	* src/dired.c (file_attributes): Use emacs_fstatat instead of fstatat.
	* src/fileio.c (barf_or_query_if_file_exists, Frename_file):
	* src/filelock.c (rename_lock_file):
	Use emacs_fstatat instead of lstat.
	* src/fileio.c (file_directory_p, Ffile_regular_p, Ffile_modes)
	(Ffile_newer_than_file_p, Fverify_visited_file_modtime)
	(Fset_visited_file_modtime, auto_save_1):
	* src/lread.c (Fload):
	* src/sysdep.c (get_current_dir_name_or_unreachable):
	Use emacs_fstatat instead of stat.
	* src/sysdep.c (emacs_fstatat, emacs_openat): New functions.
	(emacs_open): Redo in terms of emacs_open.

2020-01-20  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)

	Fix drag and drop from some Qt versions

	* lisp/x-dnd.el (x-dnd-handle-xdnd): Fix XdndDrop time stamp bug.
	Problem and tiny change reported by Urs Fleisch (Bug#20804).

2020-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/mule-cmds.el (universal-coding-system-argument): Rewrite

	Use the new `prefix-command-*` hooks and functions so it interacts
	better with other prefix commands (and with itself), and so the
	pre/post-command-hook and other command-loop operations are performed
	"normally".

	(mule-cmds--prefixed-command-next-coding-system)
	(mule-cmds--prefixed-command-last-coding-system): New vars.
	(mule-cmds--prefixed-command-pch, mule-cmds--prefixed-command-echo)
	(mule-cmds--prefixed-command-preserve): New functions.

2020-01-19  Stefan Kangas  <stefankangas@gmail.com>

	Improve error handling in dired-change-marks

	* lisp/dired.el (dired-change-marks): Signal user-error if mark
	character is invalid.  Catch more invalid characters.  (Bug#29842)

2020-01-19  Stefan Kangas  <stefankangas@gmail.com>

	Make arguments to dired-change-marks non-optional

	* lisp/dired.el (dired-change-marks): Make arguments
	non-optional.  (Bug#29842)

2020-01-19  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp 2.5.0-pre

	* doc/misc/tramp.texi:  Protect Tramp x.y and Emacs x.y by @w{}.
	(GVFS-based methods): Move "GNOME Online Accounts" index.
	(Customizing Methods, Android shell setup, File name completion)
	(Frequently Asked Questions): Fix typos.

	* doc/misc/trampver.texi: Change version to "2.5.0-pre".

	* lisp/net/trampver.el: Change version to "2.5.0-pre".
	(inhibit-message): Don't declare.

	* lisp/net/tramp.el: Bump version to 2.5.0-pre.  Require Emacs 25.1.
	(tramp-debug-message): Simplify.
	(tramp-message): Don't use `tramp-message-show-message'.
	(tramp-with-demoted-errors, with-parsed-tramp-file-name)
	(with-tramp-file-property, with-tramp-connection-property):
	Adapt `declare' form.
	(with-tramp-progress-reporter): Suppress progress reporter when
	noninteractive.
	(tramp-completion-mode, tramp-completion-mode-p): Remove.

	* lisp/net/tramp-compat.el (tramp-compat-process-running-p)
	(format-message): Remove compatibility code.
	(tramp-compat-directory-name-p)
	(tramp-compat-tramp-file-name-slots): Remove.

	* lisp/net/tramp.el (tramp-debug-message, tramp-message)
	(tramp-backtrace, tramp-error, tramp-error-with-buffer)
	(tramp-user-error, tramp-with-demoted-errors)
	(tramp-signal-hook-function):
	* lisp/net/tramp-compat.el (tramp-compat-funcall)
	* lisp/net/tramp-gvfs.el (tramp-dbus-function):
	Add `tramp-suppress-trace' property.

	* lisp/net/tramp.el (tramp-get-method-parameter)
	(tramp-dissect-file-name, tramp-error, tramp-error-with-buffer)
	(tramp-user-error, with-parsed-tramp-file-name)
	(with-tramp-progress-reporter, tramp-file-name-handler)
	(tramp-completion-file-name-handler, tramp-autoload-file-name-handler)
	(tramp-register-file-name-handlers, tramp-connectable-p)
	(tramp-handle-file-modes, tramp-handle-file-regular-p)
	(tramp-handle-file-truename, tramp-handle-insert-directory)
	(tramp-handle-load, tramp-set-file-uid-gid):
	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler)
	(tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
	(tramp-adb-handle-rename-file):
	* lisp/net/tramp-archive.el (with-parsed-tramp-archive-file-name):
	* lisp/net/tramp-cache.el (tramp-get-file-property, tramp-cache-print):
	* lisp/net/tramp-compat.el (tramp-compat-process-running-p)
	(tramp-compat-exec-path):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
	(tramp-gvfs-dbus-byte-array-to-string)
	(tramp-gvfs-do-copy-or-rename-file):
	* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler)
	(tramp-rclone-do-copy-or-rename-file):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
	(tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file)
	(tramp-sh-handle-insert-directory, tramp-sh-file-name-handler)
	(tramp-maybe-open-connection):
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler)
	(tramp-smb-handle-copy-file, tramp-smb-handle-copy-directory)
	(tramp-smb-handle-copy-file, tramp-smb-handle-insert-directory)
	(tramp-smb-handle-rename-file, tramp-smb-maybe-open-connection):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler)
	(tramp-sudoedit-do-copy-or-rename-file)
	(tramp-sudoedit-handle-file-truename):
	Use `if-let', `when-let', `directory-name-p', `inhibit-message',
	`non-essential and `cl-struct-slot-info'.  Don't use `seconds-to-time'.

	* test/lisp/net/tramp-archive-tests.el (tramp-message-show-message):
	Don't set.

	* test/lisp/net/tramp-tests.el (inhibit-message): Don't declare.
	(tramp-message-show-message): Don't set.
	(tramp-test06-directory-file-name): Use `non-essential'.
	(tramp-test10-write-region): Use `inhibit-message'.
	(tramp-test36-vc-registered): No special handling for old Emacsen.
	(tramp--test-emacs25-p): Remove.
	(tramp-test45-unload): Special case of `tramp-completion-mode'.

2020-01-19  Paul Eggert  <eggert@cs.ucla.edu>

	Remove Gnulib putenv code

	It’s not needed, since Emacs always uses the system putenv and all
	platforms have putenv.  This improves on the fix for Bug#19874.
	Suggested by Bruno Haible.
	* admin/merge-gnulib (GNULIB_MODULES): Remove putenv.
	* configure.ac: Remove workarounds for Gnulib putenv module.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/putenv.c, m4/putenv.m4: Remove.

2020-01-19  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2020-01-18 Rename ~~gnulib.m4 to zzgnulib.m4
	2020-01-18 Fix "m4_require: circular dependency of AC_LANG_COMPILER(C)"
	2020-01-18 Ensure Automake does not drop ~~gnulib.m4
	2020-01-18 Fix major regression from 2020-01-10
	* m4/00gnulib.m4, m4/gnulib-common.m4: Copy from Gnulib.
	* m4/gnulib-comp.m4: Regenerate.
	* m4/zzgnulib.m4: New file, from Gnulib.

2020-01-19  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>

	Add space before message in byte compiler warnings

	According to the GNU coding standards (info "(standards) Errors"):
	> If you want to mention the column number, use one of these formats:
	>      SOURCE-FILE-NAME:LINENO:COLUMN: MESSAGE
	>      SOURCE-FILE-NAME:LINENO.COLUMN: MESSAGE

	* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-prefix): Add space
	before message in byte compiler warnings to comply with the GNU coding
	standards.  (Bug#18969)

2020-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t assume sizeof (size_t) == 4 in allocators

	This removes some old 32-bit assumptions in Emacs allocator tuning,
	and improves performance of ‘make compile-always’ by about 7% on a
	couple of 64-bit GNU/Linux platforms I tried it on.  It should not
	affect performance on 32-bit platforms.
	* src/alloc.c (MALLOC_SIZE_NEAR): New macro.
	(MALLOC_ALIGNMENT): New constant.
	(INTERVAL_BLOCK_SIZE, SBLOCK_SIZE, STRING_BLOCK_SIZE): Use the new
	macro.  Make these enum constants since they need not be macros.

2020-01-18  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Ensure that gnus-summary-attach-article finds the right articles

	* lisp/gnus/gnus-msg.el (gnus-summary-attach-article): Before
	iterating over the articles to attach, first close any open
	article. Using `set-buffer' required `gnus-summary-select-article' to
	re-set the buffer every time, meaning we never got off the original
	article.

2020-01-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fns.c (sxhash_obj): Fix crash on sub-char-tables

	Also, look inside overlays, like `internal_equal`.

	(internal_equal): Cosmetic tweak.

2020-01-18  Alan Third  <alan@idiocy.org>

	Add ability to find ObjC method names

	* lisp/progmodes/cc-cmds.el (c-defun-name-1): Add Objective-C method
	name ability.

2020-01-18  Alan Third  <alan@idiocy.org>

	Don't error on non-toolkit NS scrollbars (bug#37042)

	* configure.ac (HAVE_NS): Don't error, but warn, on non-toolkit
	scrollbars.

2020-01-18  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs and old Emacs compat code from ebnf2ps.el

	* lisp/progmodes/ebnf2ps.el (ebnf-color-p)
	(ebnf-style-database): Remove XEmacs and old Emacs compat code.

2020-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	Make Faset nonrecursive

	* src/data.c (Faset): Refactor Faset so that it’s not recursive.
	This helps the compiler and makes the code a bit clearer.

2020-01-18  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Improve performance when a string's byte count changes

	* src/alloc.c (allocate_string_data): Now static.
	Remove code for when Faset calls this function when S
	already has data assigned, as that can no longer happen.
	(resize_string_data): New function, which avoids relocation in
	more cases than the old code did, by not bothering to relocate
	when the size changes falls within the alignment slop.
	* src/data.c (Faset): Use resize_string_data.
	Change a while to a do-while since it must iterate at least once.

2020-01-18  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from allout.el

	* lisp/allout.el (allout-overlay-preparations)
	(allout-overlay-interior-modification-handler)
	(allout-before-change-handler, allout-beginning-of-line)
	(allout-solicit-alternate-bullet, allout-annotate-hidden)
	(allout-hide-by-annotation, allout-yank-processing)
	(allout-flag-region, allout-toggle-subtree-encryption)
	(allout-mark-marker, allout-substring-no-properties)
	(allout-select-safe-coding-system)
	(allout-previous-single-char-property-change)
	(allout-next-single-char-property-change)
	(top-level): Remove XEmacs compat code.

2020-01-17  Alan Mackenzie  <acm@muc.de>

	Introduce element &error into edebug specification lists for macros

	This fixes bug #37540.

	* lisp/emacs-lisp/edebug.el (top level): New entry for &error in alist used to
	associate elements with their handling functions.
	(edebug-match-&error): New function.
	(nested-backquote-form): Use the new element &error to abort instrumentation
	on encountering a three deep nesting of backquotes (without intervening
	commas).

	* doc/lispref/edebug.texi (Specification List): Add an entry for &error.

	* etc/NEWS: Add an entry for &error.

2020-01-17  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	4df0c1c6c4 (origin/emacs-27) ; * src/lread.c (force_new_style_backquo...
	069741b2f7 ; * etc/NEWS: Mention latest changes in checkdoc.  (Bug#38...
	a785be29bf Fix wording and punctuation of a recent commit
	0d3d3be35c Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
	5da372e17e ; Minor edit in anti.texi

	# Conflicts:
	#	etc/NEWS

2020-01-17  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	5da372e17e ; Minor edit in anti.texi

2020-01-17  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	8d091f7fc2 ; Fix recent markup change
	b78426526c ; * lisp/obsolete/vc-arch.el: Add missing "Obsolete-since"...
	3fb37dc9a4 ; * lisp/ezimage.el: Fix typo.
	778923afe5 Document feature requests in the Emacs manual

2020-01-17  Glenn Morris  <rgm@gnu.org>

	* lisp/progmodes/vhdl-mode.el (speedbar-load-hook): Silence compiler.

2020-01-17  Glenn Morris  <rgm@gnu.org>

	Make more load-hooks obsolete

	* lisp/align.el (align-load-hook):
	* lisp/autorevert.el (auto-revert-load-hook):
	* lisp/bookmark.el (bookmark-load-hook):
	* lisp/cmuscheme.el (cmuscheme-load-hook):
	* lisp/dired.el (dired-load-hook):
	* lisp/expand.el (expand-load-hook):
	* lisp/ibuffer.el (ibuffer-load-hook):
	* lisp/msb.el (msb-after-load-hook):
	* lisp/recentf.el (recentf-load-hook):
	* lisp/speedbar.el (speedbar-load-hook):
	* lisp/strokes.el (strokes-load-hook):
	* lisp/calc/calc.el (calc-load-hook):
	* lisp/calendar/timeclock.el (timeclock-load-hook):
	* lisp/emulation/viper-init.el (viper-load-hook):
	* lisp/progmodes/cwarn.el (cwarn-load-hook):
	* lisp/progmodes/idlwave.el (idlwave-load-hook):
	* lisp/progmodes/inf-lisp.el (inferior-lisp-load-hook):
	* lisp/progmodes/meta-mode.el (meta-mode-load-hook):
	* lisp/textmodes/reftex-vars.el (reftex-load-hook):
	* lisp/textmodes/table.el (table-load-hook):
	* lisp/url/url-vars.el (url-load-hook):
	* lisp/vc/ediff-init.el (ediff-load-hook):
	Obsolete for with-eval-after-load.

2020-01-17  Stefan Kangas  <stefankangas@gmail.com>

	Make sb-image.el obsolete (Bug#37837)

	* lisp/sb-image.el: Move from here...
	* lisp/obsolete/sb-image.el: ...to here.

	* lisp/speedbar.el (ezimage): Require instead of 'sb-image'.
	(speedbar-use-images, speedbar-expand-image-button-alist)
	(speedbar-insert-image-button-maybe, speedbar-image-dump): Move
	here from 'sb-image.el'.

2020-01-17  Glenn Morris  <rgm@gnu.org>

	* doc/misc/ido.texi (Ignoring): Reword per Texinfo warning.

2020-01-17  Glenn Morris  <rgm@gnu.org>

	Replace doc references to load-hooks

	with-eval-after-load is a cleaner, standard feature that works
	for every file
	* doc/misc/calc.texi (Hooks):
	* doc/misc/dired-x.texi (Installation)
	(Optional Installation File At Point, Omitting Files in Dired)
	(Omitting Examples, Find File At Point):
	* doc/misc/ediff.texi (Hooks, Selective Browsing)
	(Highlighting Difference Regions):
	* doc/misc/efaq.texi (Disabling backups):
	* doc/misc/gnus.texi (Startup Variables):
	* doc/misc/idlwave.texi (Structure Tag Completion, Misc Options):
	* doc/misc/org.texi (Handling Links):
	* doc/misc/reftex.texi (Key Bindings, Keymaps and Hooks):
	* doc/misc/sem-user.texi (Speedbar):
	* doc/misc/speedbar.texi (Hooks, Minor Display Modes):
	* doc/misc/viper.texi (Rudimentary Changes):
	Replace load-hooks with with-eval-after-load

2020-01-17  Glenn Morris  <rgm@gnu.org>

	Replace add-hook load-hook with with-eval-after-load

	* lisp/info.el (Info-install-speedbar-variables):
	* lisp/cedet/ede.el (speedbar):
	* lisp/cedet/semantic/imenu.el (speedbar):
	* lisp/emacs-lisp/eieio-opt.el (eieio-class-speedbar-key-map):
	* lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-create):
	* lisp/erc/erc-speedbar.el (erc-install-speedbar-variables):
	* lisp/mail/rmail.el (rmail-install-speedbar-variables):
	* lisp/progmodes/gud.el (gud-install-speedbar-variables):
	Use with-eval-after-load.

2020-01-17  Glenn Morris  <rgm@gnu.org>

	* lisp/obsolete/cust-print.el (print-circle): Doc tweak.

2020-01-17  Glenn Morris  <rgm@gnu.org>

	edebug: remove ancient code for ancient XEmacs support libs

	* lisp/emacs-lisp/edebug.el (edebug--require-cl-read): Remove.
	(edebug-setup-hook, cl-read-load-hooks): Don't modify.
	(edebug-unload-function): Don't modify cl-read-load-hooks.

2020-01-17  Lin Sun  <lin.sun@zoom.us>

	Fix the error message from makefile-move-to-macro

	* lisp/cedet/ede/makefile-edit.el (makefile-macro-file-list):
	regexp-quote the param in makefile-move-to-macro (Bug#39094).

2020-01-17  Stefan Kangas  <stefankangas@gmail.com>

	Remove a FIXME from package.el

	* lisp/emacs-lisp/package.el (package-unpack): Remove FIXME about
	maybe deleting the package directory.  It was decided that this was
	undesirable.  (Bug#7756)

2020-01-17  Stefan Kangas  <stefankangas@gmail.com>

	Add index entry "syntax highlighting" to the elisp manual

	* doc/lispref/modes.texi (Font Lock Mode): Add an index entry for
	"syntax highlighting".  (Bug#24827)

2020-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	Fix hexl jumping to end of file

	Plus some other small fixes nearby.
	* lisp/hexl.el (hexl-end-of-line): Simplify to match next fix.
	(hexl-end-of-1k-page, hexl-end-of-512b-page): Use min instead
	of max.  Tiny change by Vladimir Nikishkin (Bug#39131).
	(hexl-insert-char): Use = instead of eq to compare integers.

2020-01-16  Damien Cassou  <damien@cassou.me>

	Add unattended spell-checking to checkdoc

	This commit makes checkdoc capable of spell-checking even when the
	user isn't using it interactively. When TAKE-NOTES is non-nil,
	checkdoc will run spell-checking (with ispell) and report spelling
	mistakes.

	Fixes: (bug#38583).

	* lisp/textmodes/ispell.el (ispell-word): Extract part of it to
	`ispell--run-on-word`.
	(ispell--run-on-word): New function, extracted from `ispell-word`.
	(ispell-error-checking-word): New function.
	(ispell-correct-p): New function.  Use `ispell--run-on-word` and
	`ispell-error-checking-word`.
	* lisp/emacs-lisp/checkdoc.el (checkdoc-current-buffer): Pass
	TAKE-NOTES to `checkdoc-start`.
	(checkdoc-continue): Pass TAKE-NOTES to `checkdoc-this-string-valid`.
	(checkdoc-this-string-valid): Add optional argument TAKE-NOTES and
	pass it to `checkdoc-this-string-valid-engine`.
	(checkdoc-this-string-valid-engine): Add optional argument TAKE-NOTES
	and pass it to `checkdoc-ispell-docstring-engine`.
	(checkdoc-ispell-init): Call `ispell-set-spellchecker-params` and
	`ispell-accept-buffer-local-defs`.  These calls are required to
	properly use ispell.  The problem went unnoticed until now because
	checkdoc was only using ispell through the high-level command
	`ispell-word` which takes care of all the initialization for the user.
	(checkdoc-ispell-docstring-engine): Add optional argument TAKE-NOTES
	to force reporting of spell-checking errors.  Throw error
	when (checkdoc-ispell-init) fails configuring ispell.  Replace a
	few (if cond nil body) with (unless cond body). Replace (let ((var
	nil))) with (let (var)). Replace (if (not (eq checkdoc-autofix-flag
	'never)) body) with just body because `checkdoc-autofix-flag` is
	checked at the beginning of the function.

2020-01-16  Stefan Kangas  <stefankangas@gmail.com>

	* admin/notes/font-backend: Remove outdated file. (Bug#34663)

	(cherry picked from commit 2be48605c0e31566401853a405dc7ea1892b3ef7)

2020-01-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	52080b5778 (origin/emacs-27) * lisp/minibuffer.el (read-file-name-def...
	e4cec1fd10 ; * etc/NEWS: Fix some file name quotations.
	13995f31a2 Make emacs prefer an existing ~/.emacs.d to an existing XD...
	91cac24952 ; etc/NEWS minor edits
	5505babc07 Describe --with-cairo non-support for bitmapped fonts.
	caf00066ee Mention GTK font chooser changes in NEWS
	23b87db628 ; Unmaintain fortran elisp
	3b0d1a50aa f90: handle F2008 module function
	55803cc189 Move shell-related menu items to "Shell Commands" submenu ...
	2be48605c0 * admin/notes/font-backend: Remove outdated file. (Bug#34663)
	f07a470124 Declare the ftx font backend driver obsolete
	6c08a430fb ; Fix wording of a comment.

	# Conflicts:
	#	admin/notes/font-backend
	#	etc/NEWS

2020-01-16  Stefan Kangas  <stefankangas@gmail.com>

	Remove references to obsolete libraries

	* doc/emacs/cmdargs.texi (General Variables):
	* doc/lispintro/emacs-lisp-intro.texi (Lisp History):
	* doc/lispref/processes.texi (Network):
	* doc/misc/gnus-coding.texi (Gnus Coding Style):
	* doc/misc/gnus.texi (Oort Gnus):
	* doc/misc/smtpmail.texi (Encryption): Remove references to obsolete
	libraries.  (Bug#37964)

2020-01-16  Simon Josefsson  <simon@josefsson.org>

	Add SASL SCRAM-SHA-256 support.

	* lisp/net/sasl.el (sasl-mechanisms): Add SCRAM-SHA-256.
	(sasl-mechanism-alist): Ditto.
	* lisp/net/sasl-scram-sha256.el: New file.
	* test/lisp/net/sasl-scram-rfc-tests.el (sasl-scram-sha-256-test):
	New function.

2020-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	dns-query now represents SOA integers as integers (Bug#38937)

	* lisp/net/dns.el (dns-read-int32): Declare obsolete.
	Assume bignums.
	(dns-read-type): Represent SOA integers as integers, not strings.

2020-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	Refactor parse-time-string

	* lisp/calendar/parse-time.el (parse-time--rfc-822ish):
	Remove, and fold its body into its only caller.

2020-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	parse-time-string now parses ISO 8601 format strings

	* lisp/calendar/parse-time.el (parse-time-string):
	Parse strings in ISO 8601 format too (Bug#39001).
	(parse-time--rfc-822ish): New internal function,
	containing most of the old parse-time-string implementation.
	(parse-iso8601-time-string): Simplify, now that
	parse-time-string groks ISO 8601.

2020-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* admin/unidata/unidata-gen.el: Use lexical-binding

	(unidata-prop): Use defstruct to define the 6 accessor functions.
	(unidata-gen-table-character, unidata-gen-table, unidata-gen-table-name)
	(unidata-check): Move common code out of `if`.
	(unidata-word-list-diff, unidata-split-decomposition):
	Move common code out of `if`; use `push`.

2020-01-15  Stefan Kangas  <stefankangas@gmail.com>

	Remove unused ftx font backend driver

	* src/ftxfont.c: Remove file.
	* admin/notes/font-backend:
	* configure.ac:
	* src/Makefile.in:
	* src/deps.mk (ftxfont.o):
	* src/font.c (syms_of_font):
	* src/font.h (top-level, font_property_index):
	* src/xfns.c (Fx_create_frame, x_create_tip_frame): Remove unused ftx
	font backend driver.  Thanks to Glenn Morris for pointing out that it
	can be removed.  (Bug#34663)

2020-01-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	0e936f18f8 (origin/emacs-27) Fix build failure with --with-cairo --wi...
	c34f7e884b Add new node "Package Statuses" to manual
	fdee034ac8 * lisp/isearch.el: Fix corner cases of isearch-lazy-count.
	7b14329d86 ; * lisp/simple.el (messages-buffer): Doc fix.  (Bug#39124)
	7ec66a59e3 Document spacing issues with Xft for some fonts
	08cd247fbd ; * etc/NEWS: Fix typo.
	d645628e3c Always use lexical-binding in lisp-interaction-mode (bug#3...
	c42198f78c ; *etc/NEWS: Fix typo.
	0ed9cfa7dc vc-dir: ensure we don't use a pager with git
	37e0d00c14 Improve ERC's matching of nicks and URLs (bug#38257)
	d47b157969 Handle tab-bar clicks on a GPM-capable console.
	e4791f3f8e ;* etc/TODO: Update.

	# Conflicts:
	#	etc/NEWS

2020-01-15  Andreas Schwab  <schwab@linux-m68k.org>

	Fix implicit declaration of getenv and atol

	* src/gtkutil.c: Include <stdlib.h>.

2020-01-14  Michael Albinus  <michael.albinus@gmx.de>

	Refactor Tramp async process code

	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
	Update stderr buffer when process has finished.  Do not call
	`auto-revert'.

	* test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
	Tag it :unstable.  Change `accept-process-output' arguments.
	(tramp--test-async-shell-command): New defun.
	(tramp--test-shell-command-to-string-asynchronously): Use it.
	(tramp-test32-shell-command): Refactor code.

2020-01-14  Robert Pluim  <rpluim@gmail.com>

	Default cairo to enabled

	* configure.ac (USE_CAIRO): Default cairo to enabled.

	* etc/NEWS: Announce the change to use cairo if found.

2020-01-14  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2020-01-10 fix major regression from 2020-01-04
	2020-01-05 tests: avoid GCC over-optimization
	2020-01-04 fix AC_CHECK_DECL so it deactivates clang's built-ins
	2020-01-03 getopt-posix: fix compilation failure in testdirs
	2020-01-03 doc: mention the 64-bit inode number problem
	2020-01-02 wchar: make the HP-UX workaround work on HP-UX 11.31
	* build-aux/config.guess, build-aux/config.sub, lib/inttypes.in.h:
	* lib/stdlib.in.h, lib/unistd.in.h, m4/00gnulib.m4, m4/largefile.m4:
	* m4/unistd_h.m4: Copy from Gnulib
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2020-01-14  Paul Eggert  <eggert@cs.ucla.edu>

	Port configure.ac to future Gnulib

	Rewrite an ancient Alpha ELF check to port to a future Gnulib
	version that may require AC_CHECK_DECL to be set up properly as
	per the ‘Expanded Before Required’ section of the Autoconf manual
	Autoconf doesn’t guarantee that AC_CHECK_DECL will work properly
	if called conditionally (e.g., inside a shell ‘case’ statement)
	and the condition is false.  Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2020-01/msg00088.html
	* configure.ac (LD_SWITCH_MACHINE): Migrate ELF check later,
	when AC_CHECK_DECL is properly set up.

2020-01-13  Philipp Stephani  <phst@google.com>

	* src/pdumper.c (dump_vectorlike): Unbreak build after 724af7671590c

2020-01-13  Philipp Stephani  <phst@google.com>

	Use decode_string_utf_8 in emacs-module.c.

	Now that decode_string_utf_8 is available, we can use it to signal
	errors on invalid input.

	* src/coding.c (syms_of_coding): Move Qutf_8_string_p from json.c
	since it’s now used outside json.c.

	* src/emacs-module.c (module_decode_utf_8): New helper function.
	(module_make_function, module_copy_string_contents): Use it.

2020-01-12  Andrea Corallo  <akrl@sdf.org>

	Split relocated data into two separate arrays

	Rework the functionality of the previous commit to be more efficient.

2020-01-11  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	f0ebd919c1 (origin/emacs-27) ; * doc/lispref/anti.texi (Antinews): Fi...
	6f059159ee Update Acknowledgments sections
	e1262d45f9 Update Antinews in ELisp manual
	fd8128f0c1 ; Move the description of define-inline to a different nod...
	524441d6b3 Improve wording in the ELisp manual
	8addfa91c8 Reset to the standard value when reverting session's custo...
	d6f9b09777 Fix saving multiple themes
	c556aabde8 Calc: fix interval entry (bug#39040)
	91cd3c1372 Fix horizontal line display in Custom buffers
	15c8e984ae ; * etc/NEWS: Fix a typo.
	ff8996a337 flymake: fix typo in variable binding (bug#38752)
	16eaaa07e6 ; Minor spelling fixes
	5efe795659 Update Antinews in the Emacs manual
	5841240295 Use NSNumber instead of BOOL (bug#39047)
	beec9f64a5 Add comment on fido-mode's file-sorting semantics
	eb3c6ad325 Consider non-string minibuffer-default in icomplete

	# Conflicts:
	#	etc/NEWS

2020-01-11  Andrea Corallo  <akrl@sdf.org>

	Move function reloc data into pure space during bootstrap

2020-01-09  Michael Albinus  <michael.albinus@gmx.de>

	Add hexdump/awk file encoding to Tramp.  (Bug#35639)

	* lisp/net/tramp-sh.el (tramp-hexdump-encode, tramp-hexdump-awk-encode)
	(tramp-od-encode, tramp-od-awk-encode): New defconst.
	(tramp-awk-encode, tramp-awk-decode): Adapt.
	(tramp-awk-coding-test): Remove.
	(tramp-remote-coding-commands): Add hexdump/awk encoding.  (Bug#35639)
	(tramp-find-inline-encoding): Adapt handling of awk, hexdump and od.
	(tramp-get-remote-busybox, tramp-get-remote-awk)
	(tramp-get-remote-hexdump, tramp-get-remote-od): New defuns.

2020-01-09  Michael Albinus  <michael.albinus@gmx.de>

	Remove obsolete thread-alive-p

	* etc/NEWS (thread-alive-p):
	* lisp/thread.el (thread-alive-p):
	* src/thread.c (thread-alive-p): Remove.

2020-01-08  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	1fe596d89f (origin/emacs-27) Fix another compilation problem in a bui...

2020-01-08  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	50dc615095 (origin/emacs-27) Fix build without threads

2020-01-08  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	6cd9ccb0a2 (origin/emacs-27) Fix compression of directories in Dired
	42329e6d3b ; * etc/NEWS: Review of the whole text.
	af5709f16b Further enhancement on `tramp-file-local-name'
	fb432446f5 Objective C Mode imenu: cease recognizing "functions" with...
	a18373a999 ; * etc/NEWS: Update the text about the XDG_CONFIG_HOME/em...
	73fd8a4b53 Fix BSD and macOS builds w.r.t. pthread_setname_np (bug#38...
	f54b24304d Scale top-left coordinates in display-monitor-attributes-list
	b46c75b16c xref-matches-in-files: Big Tramp speed-up
	883b3490d8 * lisp/net/tramp.el (tramp-file-local-name): Remove `save-...
	c01f55f126 Fix rendering bug due to unsynchronized cairo surface size...
	075f21c0e3 Avoid crash by access to cleared img->pixmap->data/img->ma...
	16c6dfb4f1 Avoid assertion violations in very small-height windows
	9063124b91 Use pthread_setname_np to set thread name

	# Conflicts:
	#	etc/NEWS
	#	lisp/net/tramp.el

2020-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix sxhash-equal on bytecodes, markers, etc.

	Problem reported by Pip Cet (Bug#38912#14).
	* doc/lispref/objects.texi (Equality Predicates):
	Document better when ‘equal’ looks inside objects.
	* doc/lispref/windows.texi (Window Configurations):
	Don’t say that ‘equal’ looks inside window configurations.
	* etc/NEWS: Mention the change.
	* src/fns.c (internal_equal):
	Do not look inside window configurations.
	(sxhash_obj): Hash markers, byte-code function objects,
	char-tables, and font objects consistently with Fequal.
	* src/window.c (compare_window_configurations):
	Now static.  Remove last argument.  Caller changed.
	* test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
	Use compare-window-configurations, not ‘equal’.
	* test/src/fns-tests.el (test-sxhash-equal): New test.

2020-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	Help the compiler inline sxhash

	* src/fns.c (sxhash_obj): Rename from sxhash and make
	it static, so that the compiler can inline it better.
	(sxhash): New function that does not take a depth arg.
	All callers changed.

2020-01-07  Alan Third  <alan@idiocy.org>

	Fix NS frame parameters (bug#39000)

	* src/frame.c (make_frame): Use new system default setting.
	* src/frame.h (enum ns_appearance_type): Add new system default
	setting.
	* src/nsfns.m (Fx_create_frame): Correctly handle Qunbound and support
	system default appearance.
	(syms_of_nsfns): Add Qlight.
	* src/nsterm.h: New method definition.
	* src/nsterm.m (ns_set_appearance): Correctly handle Qlight and use new
	setAppearance method.
	([EmacsView initFrameFromEmacs:]): Use new setAppearance method.
	([EmacsWindow setAppearance]): New method.
	* doc/lispref/frames.texi (Management Parameters): Document 'light'.

2020-01-07  Michael Albinus  <michael.albinus@gmx.de>

	Implement stderr in tramp-adb-handle-make-process

	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
	Implement `stderr'.

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
	Flush connection properties in time.

	* test/lisp/net/tramp-tests.el (tramp-test30-make-process)
	(tramp-test32-shell-command): Test asynchronous stderr for tramp-adb.

2020-01-05  Mattias Engdegård  <mattiase@acm.org>

	Mark 'catch' and 'condition-case' bytecodes as obsolete

	They have not been generated by the byte-compiler since Emacs 25.

	* lisp/emacs-lisp/bytecomp.el (byte-catch, byte-condition-case):
	* src/bytecode.c (BYTE_CODES, exec_byte_code):
	Mark as obsolete (since Emacs 25; they were still generated in 24.4).

2020-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	Go back to iso-2022-7bit for titdic-cnv.el again

	* admin/notes/unicode: Mention this.
	* lisp/international/titdic-cnv.el:
	Go back to iso-2022-7bit for this file, since utf-8-emacs unified
	characters that tsanq-quick-converter did not want unified.
	Problem reported by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2020-01/msg00156.html

2020-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-27

	448df8fec7 Improve doc-strings of 'quit-window' and 'quit-restore-win...
	7f01dfca56 Fix MH-E bug #470: Show buffer discards text properties
	f95a2b8301 Fix some broken conditional forms
	28727444f1 Fix a scoping error in tramp-sudoedit.el
	6cbdd048bd * lisp/autorevert.el (auto-revert-notify-handler): Fix bra...
	076dd1f69a Fix typo in 'window_box_height'

2020-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-27

	05c5bf4d38 * lisp/net/tramp.el: Fix typos.

2020-01-05  Philipp Stephani  <phst@google.com>

	Shorten pointer printing code using a small helper function.

	* src/print.c (print_pointer): New helper function.
	(print_vectorlike): Use it.

2020-01-05  Philipp Stephani  <phst@google.com>

	Also print function data when printing module functions.

	This is especially useful in cases where modules only use a single
	entry point and use the data to dispatch to the actual function.  Such
	a design is common for languages such as Go and C++.

	* src/emacs-module.c (module_function_data): New function.

	* src/print.c (print_vectorlike): Use it to print module function data
	if not NULL.
	(print_object): Adapt size of buffer.

	* test/data/emacs-module/mod-test.c (emacs_module_init): Pass some
	non-NULL data to ‘mod-test-sum’.
	(Fmod_test_sum): Check that correct data is passed through.

	* test/src/emacs-module-tests.el (mod-test-sum-test)
	(module-function-object): Adapt unit tests.

2020-01-05  Mattias Engdegård  <mattiase@acm.org>

	Remove generation of old bytecodes for catch/unwind

	* lisp/emacs-lisp/bytecomp.el (byte-compile--use-old-handlers)
	(byte-compile-condition-case, byte-compile-condition-case--old):
	Remove.
	(byte-compile-condition-case--new):
	Rename to byte-compile-condition-case.
	(byte-compile-catch, byte-compile-unwind-protect):
	* lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyze-form):
	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
	Simplify.

2020-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/emacs-lisp/bindat.el: Remove obsolete comment.

	* lisp/arc-mode.el (archive-zip-summarize): Remove unused local.

2020-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify x-dnd.el due to bignums

	* lisp/x-dnd.el (x-dnd-get-drop-x-y, x-dnd-version-from-flags)
	(x-dnd-more-than-3-from-flags, x-dnd-get-motif-value)
	(x-dnd-motif-value-to-list): Do not worry about pairs of
	16-bit numbers, as the C code no longer generates them;
	it generates bignums now, when needed on 32-bit platforms.

2020-01-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-start.el (gnus-group-change-level): Simplify

	* lisp/gnus/gnus-group.el (gnus-group-unsubscribe-group): Simplify.

2020-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug in recent allocate_string_data patch

	Reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2020-01/msg00098.html
	* src/alloc.c (allocate_string_data): If the string is small and
	there is not enough room in the current block, clear the string if
	CLEARIT.

2020-01-04  Philipp Stephani  <phst@google.com>

	Improve 'noexcept' support in C++17.

	In C++17, 'noexcept' is part of a function type and may be used in
	typedef declarations, see
	https://en.cppreference.com/w/cpp/language/noexcept_spec.

	* src/emacs-module.h.in: Mark function pointer type aliases as
	'noexcept' in C++17.

2020-01-04  Mattias Engdegård  <mattiase@acm.org>

	Generate fewer useless conditionals in cl-loop

	* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause):
	Don't generate a condition if both branches are the same, which
	is the common case.

2020-01-04  Philipp Stephani  <phst@google.com>

	Make module function finalizer test less brittle.

	* test/src/emacs-module-tests.el (module/function-finalizer): Create
	100 leaked functions to increase the probability that at least one
	gets garbage-collected.

2020-01-04  Philipp Stephani  <phst@google.com>

	emacs-module.h: Don't generate invalid C++11 code.

	* src/emacs-module.h.in: Remove 'noexcept' from function pointer type
	aliases.  It is illegal there in C++11, see
	https://en.cppreference.com/w/cpp/language/noexcept_spec.

2020-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	Let the OS clear new large strings of NUL

	On my platform, this sped up (make-string 4000000000 0) from 2.5
	to 0.015 seconds (not that people should want to do this much :-).
	* src/alloc.c (allocate_string_data): New arg CLEARIT.
	Callers changed.
	(Fmake_string): Prefer calloc to malloc+memset when allocating a
	large string of NUL bytes.
	(make_clear_string): New function.
	(make_uninit_string): Use it.
	(make_clear_multibyte_string): New function.
	(make_uninit_multibyte_string): Use it.

2020-01-03  Glenn Morris  <rgm@gnu.org>

	* src/alloc.c (cleanup_vector): Fix --without-modules builds.

2020-01-03  Philipp Stephani  <phst@google.com>

	Implement finalizers for module functions (Bug#30373)

	* src/module-env-28.h: Add new module environment functions to
	module environment for Emacs 28.

	* src/emacs-module.h.in: Document that 'emacs_finalizer' also works
	for function finalizers.

	* src/emacs-module.c (CHECK_MODULE_FUNCTION): New function.
	(struct Lisp_Module_Function): Add finalizer data member.
	(module_make_function): Initialize finalizer.
	(module_get_function_finalizer)
	(module_set_function_finalizer): New module environment functions.
	(module_finalize_function): New function.
	(initialize_environment): Initialize new environment functions.

	* src/alloc.c (cleanup_vector): Call potential module function
	finalizer during garbage collection.

	* test/data/emacs-module/mod-test.c (signal_error): New helper
	function.
	(memory_full): Use it.
	(finalizer): New example function finalizer.
	(Fmod_test_make_function_with_finalizer)
	(Fmod_test_function_finalizer_calls): New test module functions.
	(emacs_module_init): Define them.

	* test/src/emacs-module-tests.el (module/function-finalizer): New unit
	test.

	* doc/lispref/internals.texi (Module Functions): Document new
	functionality.
	(Module Misc): Move description of 'emacs_finalizer' type to 'Module
	Functions' node, and add a reference to it.

	* etc/NEWS: Mention new functionality.

2020-01-03  Andrea Corallo  <akrl@sdf.org>

	Simplify configure.ac removing unnecessary empty parameters

	Prevent false warning emission

2020-01-03  Eli Zaretskii  <eliz@gnu.org>

	Fix the MS-Windows build broken by "Let the OS clear large new objects"

	* src/w32heap.c (sys_calloc): New function, implements calloc
	in terms of our private implementations of malloc.

	* nt/inc/ms-w32.h (calloc): Redirect to sys_calloc.

2020-01-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	06364316e0 (origin/emacs-27) * lisp/net/tramp.el (tramp-file-local-na...
	d3884f50e0 Adapt commentary in Tramp persistency file
	2d82f5a44e Change Tramp version to 2.4.3.27.1
	09b65707cc ; * src/dispnew.c (adjust_glyph_matrix): Fix last change.
	37f9182b68 Fix redisplay when mode-line-format changes mode-line's he...
	1420906b81 * src/fileio.c (Fwrite_region): Improve the doc string.
	01dfcb7c87 Fix removal of frame decorations on Windows (Bug#38705)

2020-01-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	071483b6f5 Fix reverting customizations
	43203d5068 * lisp/loadup.el: Set max-specpdl-size to 1800 when loading...
	fab3674b36 Revert "Raise default max-specpdl-size value"
	42f66aa502 ; Fix NEWS.24
	bb9402e6e9 Raise default max-specpdl-size value

2020-01-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	138e9051c7 Update distribution documentation

2020-01-03  Mattias Engdegård  <mattiase@acm.org>

	* .gitlab-ci.yml (before_script): Install g++ for CEDET tests.

2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>

	Let the OS clear large new objects

	Prefer calloc to malloc+memset when allocating large zeroed objects.
	This avoids page thrashing when (make-vector 1000000000 nil)
	allocates a large nil vector, as Emacs need not touch the
	vector’s pages.  This wins on platforms like GNU/Linux where
	calloc can fiddle with page tables to create a block of memory
	that is lazily zeroed.
	* src/alloc.c (lisp_malloc, lmalloc, allocate_vectorlike):
	New arg CLEARIT to tell callee whether to use malloc or calloc.
	All callers changed.
	(allocate_clear_vector, allocate_nil_vector): New functions.
	* src/alloc.c (xzalloc, make_vector):
	* src/lisp.h (make_nil_vector):
	Prefer calloc to malloc + memset(...,0,...).

2020-01-02  Andrea Corallo  <akrl@sdf.org>

	Extend find-library-suffixes and find-library-name for eln support

	Fix bytecomp message when native compiling

	Do not block sw interrupts in batch mode (don't ignore C-c)

	Better compile-clean and bootstrap-clean target definition

2020-01-01  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation with GTK versions older than 3

	* src/xfns.c (x_get_net_workarea): Change a recently moved #ifndef
	so that GTK builds which need this function will compile it.
	Reported by John <jpff@codemist.co.uk>.

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	Revert "Pacify gcc -Wunused-function on Ubuntu 18.04.3"

	This reverts commit 186152ba400b58d2d278c52d2e3d896decae767e.

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	set nativecomp configure option off by default

	make standard emacs compilable again

	check for libgccjit lib to be reachable in configure.ac

	make build system configurable again

	compile each eln to a temporary one and rename it as last

	rework predicates to be homogeneous

	do not crash compilation trying to optimize wrong code

	fix aliased function names trampoline removal

	disable propagation when non locals are present

	rework build system for one pass

	fix nit

	add batch-byte-native-compile-for-bootstrap

	add customize comp-never-optimize-functions

	fix non local propagation handling

	move LATE_RELOCS just before VERY_LATE_RELOCS

	sign and check function link table

	some rework to please --enable-check-lisp-object-type

	rename IMPORTED_FUNC_LINK_TABLE -> FUNC_LINK_TABLE_SYM

	do not force function inlining

	set disassemble buffer in read only

	fix naming for predicate SUBR_NATIVE_COMPILEDP

	adjust max_specpdl_size to sustain bootstrap

	add native support to the build system

	always fill freloc before compiling too

	move late relocs after emacs relocations

	never load a compilation unit without filling the func link table

	add elns to the gitignore

	add batch-native-compile

	mitigate ifdef proliferation

	some style fixes

	add native elisp subr pdumper support

	add native compilation unit pdumper support

	add pdump relocation phases

	some more pdumper integration support

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	Revert "split out copy_file_fd"

	This reverts commit 41203ad6abceb6dca39b2dab0adbd8fa711e1f89.

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	Revert "use memory mapped file for loading elns"

	This reverts commit 5e07231151ef60a5066617ef6cec7c0077825b1c.

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	add initial native compiler pdumper support

	add disassemble support for native compiled functions

	add native-comp-unit-file primitive

	better printing for native compilation unit

	add subr-native-compilation-unit primitive

	fix invalid read in fill_freloc

	add support for native comp unit to type-of

	rationalize load functions

	clean-up unnecessary function prevent_gc

	remove load_handle_stack and use the implementation one

	better compilation unit definition

	some rename on compilation unit struct

	initial gc support

	use memory mapped file for loading elns

	split out copy_file_fd

	introduce SUBRP_NATIVE_COMPILEDP

	make dynlib_close active code

	initial compilation unit as object add

	add basic compilation unit into structure

	better scratch slot support

	fix some nits

	make use of ARRAYELTS macro where possible

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	malloc instead of static alloc into emit_ctxt_code

	make it good to be reentrant

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	fix comp--register-subr

	remove advice dependency

	clean-up old function relocation code

	reworking relocation mechanism to use one single table

	remove ifdef where unnecessary and add where they are

	stringify within macro ADD_IMPORTED

	use safe alloca in declare_imported_func

	style nit

	single function native compilation doc + interactive support + tests

	add native interactive support test

	add native documentation support test

	native compile interactive functions support

	add int-spec to comp-func

	spill also interactive functions

	renaming comp-decrypt-lambda-list -> comp-decrypt-arg-list

	add native compiled function docstring support

	let intern_c_string works creating with non-pure strings

	better naming variable

	documentation nit

	do not emit elc file while native compiling

	native-compile-async accept list as input

	insert compilation end message at the bottom of the buffer

	fix comp-propagate-insn type propagation

	remove unnecessary return when printing blocks

	gate propagate to comp-speed > 1

	update limple example

	fix wrong enum usage into declare_function

	fix comp-log-edges

	adjust print verbosity according to the doc

	revert unnecessary modifications

	make buffer names constant

	rename native-compile-log-buffer -> comp-log-buffer-name

	do not use thread for async compilation

	update limple comments

	better comp-byte-frame-size

	fix single function top level generation

	add comp-tests-free-fun

	review two slot names in comp-func

	better style into comp-tests-bootstrap

	fix single function compilation

	style fixes into comp.c

	homogeneous setf style

	better loop style into comp-compute-edges

	sanityze orthography in comp.el

	better ert usage into tests

	fix type hints error kind

	error handling rework

	define internal-native-compiler-error as error

	better error handling while loading eln files

	fix symbol_subr + better naming

	comment nit

	fix missing goto into load_comp_unit

	remove unsigned in favor of ptrdiff_t

	remove native-load-history

	fix comp-tests-bootstrap

	fix comp-propagate*

	better comp-function-call-remove

	improve dead assignment

	allow for pure function call removal optimization

	fix jump table emission when test fn is not eq

	some style nits

	add comp-tests-jump-table-2-f

	add comp-tests-signal

	require advice when compiling or loading

	make compilation too robust against advices

	better error signaling while loading

	Vnative_units_loaded -> Vnative_load_history

	remove old eln before creating a new one to prevent crashes

	message when finished compiling

	style nit into load_comp_unit

	add native-units-loaded

	always name the compilation unit responsible for the error

	do not force compiler settings within the testsuite

	fix configure.ac

	emit_limple_push_handler style fix

	rework comp-callref lambda list

	fix emit_limple_call_ref for 0 args case

	add comp-tests-trampoline-removal

	add comp-tests-bootstrap

	fix max depth compilation

	improve subr-native-elisp-p

	do not compile if there's nothing to

	make load mechanism robust against primitives advises

	better error handling into load_comp_unit

	temporary fix subr doc field to zero

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	better configure

	check for libgccjit.h file instead of the shared lib in configure

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	fix compilation when native compiler is not enabled

	do not compile automatically autoloads

	cleanup unnecessary symbol definition

	propagate load-path into async workers + better messaging

	set intspec to NULL when creating subrs

	make sure to invoke the right emacs when spawning the compiler job

	chasing GNU style

	better FUNCALL1 name

	XFIXNUM return EMACS_INT

	minimal error handling in load_comp_unit

	propagate compiler settings to the async workers

	add native-compile-async

	remove unused variable

	better doc

	compile tests with debug 1

	fix non local mechanism

	better comp-debug customize

	move speed definition into lisp code

	fix two nits

	fix again comp-copy-insn

	fix SIGIO hang after compilation

	fix comp-copy-insn for dotted pairs

	simplify non local exit handler mechanism

	sanity check during eln load

	add pure addr relocation mechanism

	add current thread missing reloc mechanism

	comment unused functions

	two doc nits

	rework log mechanism and trim down verbosity

	have propagate run the correct number of times

	fix ref propagation

	fix missing byte-save-restriction op

	fix ref ssa propagation

	add comp-tests-string-trim

	do not native compile interactive functions

	allow nested loadings

	fix top level macro generation

	add test for macro definition

	test provide

	fix function top_level_run generation

	rework top level environment modification mechanism

	rework comp-spill-lap-functions-file

	add doc slot into comp-func struct

	add top-level-forms slot into comp-ctxt (replace old specific defvar one)

	limplify top level at last

	rework bytecomp spill code

	some code massage

	native compile return the filename of the compilation unit

	fix limplification for functions with more than 8 args

	add a test for functions with more than 8 arguments

	rework limplify to prevent block duplication

	sanity check against block duplication.

	fix comp-emit-narg-prologue

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	Revert "simplify comp-limplify-block"

	This reverts commit 31861f63a4b57e69cdcd247e48567242a05bd58e.

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	fix invalid write into emit_limple_insn

	fix subr name within comp-limplify-lap-inst

	simplify comp-limplify-block

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	better comp-limplify-block

	do not non fall through blocks

2020-01-01  Andrea Corallo  <akrl@sdf.org>

	promote a couple of small functions tu subst

	emit TAG number as comment

	make more robust comp-emit-uncond-jump

	fix comp-limplify-block for wrong cl func usage

	fix compilation when modules are enabled

	make non local handler bb generation robust for all order of creation

	some clean-up

	rework emit_limple_insn arg parsing

	add fetch-handler operator

	add autoload

	fix limplification when TAG follow fall through eob

	fix ice logging message

	do not check label stack depth when this is not provided

	fix missing jump into comp-emit-narg-prologue

	fix comp-limplify-block when falling through a return

	log a page break when start compiling

	update emit-handler + rework comp-emit-cond-jump

	fix initial sp value

	remove comp-stack-adjust

	re enable switch support

	reworking comp-limplify-block

	mega loop refactor

	make stack depth computation robust in limplify

	fix initial stack depth

	add stack sanity check

	fix missing fall through handling

	fix label to addr computation

	reworking limplify

	doc fix

	remove unnecessary macros into limplify pass

	fix comp.el compilation warning

	remove nasty nested macro usage in limplify pass

	add comp-test-silly-frame2 to test funcs

	clean-up commented code

	fix frame size computation

	add comp-test-silly-frame to tests

	fix compilation of devar defconst with doc string

	alist-get instead of assoc cdr

	better immediate type propagation

	ignore anonymous forms (they are not functions)

	remove INLINE hints from comp.c

	fix missing direct parameter forwarding into emit_limple_call_ref

	remove unnecessary autostirng usage

	regulate verbosity with comp-verbose

	remove comp-debug

	remove defvar that is not anymore necessary

	don't crash when trying to format a very long string

	always expand file name when bytecompiling

	fix subr-native-elisp-p predicate name

	do not force inlining for func involving ipa-pro

	fix comp.el compilation

	add comp-native-compiling flag

	better description

	initial add for compiler hits

	rework comp-call-optim-form-call

	add type hint to setcar setcdr

	add type hint to car and cdr

	add some call optimizer doc

	use type propagation into add1 sub1 negate

	move gcc_jit_context_dump_reproducer_to_file

	fix missing direct call parsing in comp back-end

	fix push handler propagation

	optimize nil emission

	print object in comment when emitting with emit_const_lisp_obj

	clean ref slot for mvars optimized by comp-call-optim-form-call

	add dead code removal pass

	better note

	repropagate after call-optim

	floating frame in place

	fix nomenclature into declare_function

	clean-up pass mechanism

	rework basic block entry sp emission

	fix comp-new-block-sym

	better comp-func doc

	remove unused field into comp-func

	better doc for comp-func struct

	strengthening comp-compute-edges

	verify to never emit insns into a closed block

	better logging

	rework lap spilling

	better log output

	add missing arguments if missing in comp-call-optim-form-call

	better error signaling when compilation fails

	cleanup unnecessary code and allow inlining at speed 3

	add direct-call direct-callref support into the backend

	extend emit_call to perform direct calls

	split declaration and compilation

	add direct-call direct-callref into frontend

	better naming func_hash -> imported_func_h

	dead code removal

	guard comp-call-optim-form-call for byte compiled callee

	fix compilation for comp.el

	adding comp-call-optim pass

	add native_elisp field into Lisp_Subr

	remove comp-emit-funcall

	add comp-call-optim pass

	add pushhandler to clobber operators

	keep on fixing ssa

	rewriting ssa rename

	give back basic block a C like name

	fix callref parsing into C back-end

	fix comp-compute-edges handling all kind of branches

	add some notes

	fix switch emission due to missing const prop

	modify callref format to explicitate mvars

	adding propagation

	fix again ssa renaming

	add ssa param to comp-new-frame

	clean-up limplify

	fix ssa renaming

	remove incomplete propagation during limplification pass

	add phi finalizer

	add ssa renaming

	core reorder

	add comp-dominator-tree-walker

	place phis

	some code massage + doc into the SSA pass

	add dominator frontiers computation

	compute dominator tree

	ssa and edge number generation with generator

	add edge computation

	rename comp-ctxt-funcs comp-ctxt-exp-funcs

	rework comp-new-frame

	rework basic block creation

	fix missing cl- prefix in comp.el

	style nit

	add test for recursive calls

	fix broken selfcall optimization

	crank optimizations while running native compiler test suite

	pacify gcc and improve sanaity checks

	do not override existing basic blocks when branching backwards!

	add verbosity parameter

	rework log mechanism to work non interactively too

	add sanity check into compile_function

	some error handling in compile_function

	nit into comp-log

	fix pretty printing in native compilation buffer

	add assertion for missing op support

	fix missing specbind import

	add defconst support

	get right dependency during top level form evaluantion

	rename comp-slot-next -> comp-slot+1

	fix varset and add a test

	fix single function compilation

	uncomment back all tests

	fix lambda handling and add a test for that

	rename HAVE_LIBGCCJIT -> HAVE_NATIVE_COMP

	fix build system for native compiler option

	initial top level support (defvar working)

	test separate compile unit

	basic file compilation working

	split final pass + some code rework

	generalize code into comp.el for compile multiple functions

2020-01-01  Andrea Corallo  <andrea_corallo@yahoo.it>

	prepare for file compilation

	remove unused helper functions

	use nrevese where necessary

	some order into special vars

	emit fixnum constants as immediates

	fix relocs for all inliners

	update inline emitters

	fix last test broken by reload

	simplify condition in emit_ctxt_code

	need to temporary add a load path

	rename a function test to avoid name clashing

	disable part of comp-tests-ffuncall

	rework static object serialization

	let emit_literal_string_func emit a dbg friendly friendly

	add helper_unwind_protect as runtime imported

	long string literal workaround

	add set_internal as runtime imported

	typo fixes

	add record_unwind_current_buffer as imported

	fix relocation emission into comp.el

	add more runtime helpers

	fix func reloc order emission

	ignore inliners while relocating

	adding runtime relocs

	style fix in emit_limple_push_handler

	always release context even in case of failure

	better messaging when load native elisp

	emit relocs for callref too

	add authorship

	clean-up unnecessary includes

	add NATIVE_ELISP_SUFFIX def into congure.ac

2020-01-01  Andrea Corallo  <andrea_corallo@yahoo.it>

	Revert "Make block_atimers unblock_atimers extern"

	This reverts commit 4266794ceb30ba8c3465fb8568695f53b676247d.

2020-01-01  Andrea Corallo  <andrea_corallo@yahoo.it>

	Revert "Move native C code into shared library"

	This reverts commit 613f4156880bc6c3d56ebe0297e59f805d2a69ab.

2020-01-01  Andrea Corallo  <andrea_corallo@yahoo.it>

	Revert "Create bytecode.h"

	This reverts commit c91954e5bb6365b72ad5654e932bc374a66fb4af.

2020-01-01  Andrea Corallo  <andrea_corallo@yahoo.it>

	improve reloc mechanism

	reloc emission mechanism seems ok

	emit function relocation into structure

	some renaming

	seems to emit all relocs

	reloc fist simple func

	emit function relocation name from comp.el

	some clean-up into comp.el

	add and call comp-add-subr-to-relocs

	have subr name in limple

	make use of data relocations

	emit reloc index

	prevent garbage collection

	move away from modules

	basic reload almost working

	add funcs into comp-ctxt

	remove function list form the C compiler ctxt

	fixup data relocs at load time

	emit relocs as text into c code

	improve relocation collection

	rename a bunch o f functions as private

	declare comp-ctxt Vcomp_ctxt

	disable const vect per function

	no need to quote types into structs

	render data_relocs vector

	export native_compiled_emacs_lisp symbol and make it loadable.

	add comp-compile-ctxt-to-file

	some other renaming

	optimize self calls

	some renaming

	code clean-up

	inline setcar setcdr

	fix indent_to

	inline integerp

	inline numberp

	fix preceding-char

	remove duplicate code

	inline negate

	inline car cdr

	inline consp

	inline sub1

	inline add1

	some renaming

	some minors

	improve comp-tests-ffuncall

	C support for new prologue mechanism

	add comp-emit-narg-prologue

	fix &optional args

	rework args structures

	mark todos

	add save-restriction support

	add narrow-to-region + widen support

	add record_unwind_protect_excursion support

	implement log-buffer

	add a test about buffer manipulation

	fix bug for not blanking func_hash after context release

	dipatcher support for helper_unwind_protect record_unwind_current_buffer

	some fixes to unbind_n

	some renaming

	block hash use symbol as key

	save C pointers as mint_ptr type to avoid corruption

	improve routine dispatcher

	change emit_limple_call_ref arg convention

	add routine dispatcher

	fix hash table weakness

	add record_unwind_current_buffer helper_unwind_protect support

	pthread_sigmask instead of unblock_atimers

	clean-up unnecessary declarations

	rework tests

	fix gcc interruption

	fix max_args

	add tromeys tests

	insert page breaks

	add incoming &rest arg support

	add incoming &optional args support

	fix comp-limplify-listn

	add limple switch support

	better make-comp-mvar

	catch works

	pushconditioncase working

	separate basic blocks

	separate code

	rework arg parsing on the C side

	adding non locals

	bubble sort works again

	fix comp-emit-cond-jump

	fix goto

	stackset

	uncomment test

	ops

	uncommenting some test

	Add other ops

	adding ops

	improve comp-op-case again

	add a bunch of ops

	improve comp-op-case

	uncommenting some tests

	better generated code

	adding some ops

	rework comp.el

	fix goto

	add comp-emit-set-call-subr macro

	byte-varbind byte-unbind

	improve comp-c-func-name

	some code massage

	conditionals working

	rename comp-limple-frame comp-limplify

	block to hash

	adding conditionals

	basic funcall

	concat support

	comp-op-case in place plus other rework

	reworking comp.el

	symbol-value +1 test

	add discard aref aset

	let limple support calls with no assignment

	varset support 5 test passing

	some consistency rework one test +

	simplify limple instruction set

	call ref works

	improve function name translation

	fix list

	function name as annotation

	two test passing

	parameter passing works again

	rename entry block

	rework hashtable usage

	proper return in place

	simple call support

	fix function name

	update tests

	wipe out propagation info every new basic block

	introduce FUNCALL1 macro

	first functional function

	basic blocks into C

	block list in limple

	start compilation C side

	comment out unused functions

	add comp-c-func-name

	calling C

	purge C side

	working on

	move out comp-limplify-listn

	clean all crazy macrology in favor of some special var

	add SSA

	some code for const propagation

	add lists car and cdr

	working on

	first limple

	working on comp.el

	spill lap

	add comp.el

	fix jump table

	jump table support

	optimize outgoing native manyarg calls

	rework COMP_DEBUG strategy

	basic &rest working

	add emit_ptr_arithmetic

	extend cast capabilities

	add &rest description

	introduce parsearg

	introduce MAX_POP

	add comp-tests-ffuncall-lambda-f test

	fix native call to MANY func

	fix missing bubble sort test

	add primitive call test

	add emit_assign_to_stack_slot

	optimize primitive native call

	propagate constant types and optimize self calls

	introduce stack_el_t

	pass orig lisp f name into compile_f

	rework emit_cond_jump

	inline setcdr support

	fix setcar

	reworking blocks

	emit comments for inlined functions

	add setcar

	homogeneous emit names

	add define_CHECK_IMPURE

	make use of gcc_jit_context_get_int_type

	adding more types

	rework emit_call_n_ref

	add uintptr_type

	add define_check_type

	inline cdr

	split XCAR

	add car cdr tests

	full inline car

	fix XUNTAG

	add emit_EQ

	add emit_NILP

	add emit_rval_XCONS

	better emit_cast

	define cast union into dedicated function

	reindent define_thread_state_struct

	add XUNTAG

	add char * type support

	better options

	add cons definition

	CASE_CALL_NARGS -> CASE_CALL_N

	remove scratch call mechanism

	locals to array

	bblock -> block

	add format_string

	postfix struct with _s

	add discard macro

	set target stacks for safety

	fix struct thread_state definition

	fix awful pad hack in define_handler_struct

	add non locals tests

	jmp_buf as struct + offset workaround

	fix pushhandler

	dump all ops as comments

	pushhandler

	better emit_lisp_obj_from_ptr

	better logging into emit_scratch_callN

	imrpve macros

	rework debug dump

	name basic blocks

	adding Bpushconditioncase Bpushcatch

	more type definitions

	better macro usage

	use emacs_int

	some renaming convention

	Bcar_safe Bcdr_safe support

	Bstack_set2 support

	Binsert support

	BdiscardN support

	Bnumberp support

	fix consp

	Bintegerp support

	add emit_INTEGERP

	add emit_BIGNUMP

	emit_call funcs return now rval

	helper_PSEUDOVECTOR_TYPEP -> helper_PSEUDOVECTOR_TYPEP_XUNTAG

	fix intern_c_string_1

	better naming ocnvention

	add declare_PSEUDOVECTORP

	XLP XLI l and r values

	rename comp_lisp_obj_from_ptr

	reset compiler context for everi run

	make some order into debug facilities

	add comp_VECTORLIKEP

	adding other ops

	inline consp

	add comp_TAGGEDP

	add bubble sort into to tests

	fix prologue strategy

	improve comp_lisp_obj_as_ptr_from_ptr generated var naming

	add Bstack_set

	add setcar setcdr

	add arithmetic comparisons

	add Bnegate support

	code cleanup

	add Badd1 support

	allow + in lisp functions to be compiled

	add speed parameter

	add sub1

	generate reproducer if needed

	add comp_xfixnum + comp_make_fixnum

	fix uninitialized read

	adding sub1

	remame compiler functions

	move to lispobj as union

	add some new constant

	better errors

	add relative branch ops

	adding conditionals

	add bb computation

	generalize bblocks

	add stuffs

	naming change

	adding more stuffs

	better error msg

	adding stuffs

	precompute nil

	some more ops

	move return into the right place

	replace printfs with proper errors for non supported ops

	add some more ops

	add concat

	store ffuncall with all other functions

	add jit_emit_callN

	rationalize jit_emit_Ffuncall

	some more ops

2020-01-01  Andrea Corallo  <andrea_corallo@yahoo.it>

	introduce CASE_CALL_NARGS macro and add various ops

	symbol_function set fset fget Bsubstring

2020-01-01  Andrea Corallo  <andrea_corallo@yahoo.it>

	add symbol-value

	add aset

	add discard and dup

	Baref

	add Blength

	add void ptr

	generalize lisp call ret type

	add Bunbind

	rename type

	add funcall

	add varbind support

	Add native compiler comp.c

	Make block_atimers unblock_atimers extern

2020-01-01  Tom Tromey  <tom@tromey.com>

	Create bytecode.h

	* src/bytecode.h: New file.
	* src/bytecode.c: Move bytecode definitions to bytecode.h.

2020-01-01  Andrea Corallo  <andrea_corallo@yahoo.it>

	Add nativecomp option to configure

	Move native C code into shared library

2020-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Assume C99-style ‘long long’

	Now that Gnulib assumes ‘long long’, it is a good time to clean
	out old cruft porting to pre-C99 compilers that lack it.
	* src/data.c (ULL_WIDTH, ULL_MAX): Remove.
	All uses replaced by ULLONG_WIDTH, ULLONG_MAX.
	(bits_word_to_host_endian): Assume ‘unsigned long long’.
	By the way, the old code had a performance typo: it used
	HAVE_UNSIGNED_LONG_LONG where it should have used
	HAVE_UNSIGNED_LONG_LONG_INT.
	* src/sysdep.c (ULLONG_MAX): Remove, as lib/limits.h does this now.
	(time_from_jiffies) [GNU_LINUX]: Assume ‘long long’.

2020-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Remove files no longer needed from Gnulib

	* m4/count-leading-zeros.m4, m4/count-one-bits.m4:
	* m4/count-trailing-zeros.m4, m4/longlong.m4:
	Remove.

2020-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS: Update copyright year.

2020-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2019-12-23 mktime, nstrftime: tweak division performance
	2019-12-22 count-leading-zeros: assume 'long long'
	2019-12-22 count-one-bits: assume 'long long'
	2019-12-22 count-trailing-zeros: assume 'long long'
	2019-12-12 inttypes-incomplete: assume 'long long'
	2019-12-22 malloca: assume 'long long'
	2019-12-22 stdint: assume 'long long'
	2019-12-22 strtoll, strtoimax, strtoumax: assume 'long long'
	2019-12-22 prefer lib_SOURCES to unconditional AC_LIBOBJ
	2019-12-19 nstrftime: avoid a shadowing warning
	2019-12-18 improve port of AC_C_RESTRICT to Oracle C++
	2019-12-12 stdalign: port to xlclang 16.01
	2019-12-11 stddef, unistd: fix compilation error in C++ mode on MSVC
	2019-12-08 fix compilation errors in C++ mode on Haiku
	2019-12-08 fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64
	2019-12-08 fix compilation error in C++ mode on OpenBSD
	* build-aux/config.guess, doc/misc/texinfo.tex:
	* lib/count-leading-zeros.h, lib/count-one-bits.h:
	* lib/count-trailing-zeros.h, lib/inttypes.in.h, lib/malloca.h:
	* lib/mktime.c, lib/nstrftime.c, lib/signal.in.h, lib/stdalign.in.h:
	* lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/stdlib.in.h:
	* lib/strtoimax.c, lib/unistd.in.h, m4/gnulib-common.m4:
	* m4/inttypes.m4, m4/largefile.m4, m4/malloca.m4, m4/strtoimax.m4:
	* m4/strtoll.m4:
	Copy from Gnulib.  Also, change copyright notices in some other
	Gnulib-copied files to exactly match Gnulib, as Gnulib updated
	them in a trivially different way.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2020-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-27

	186152ba40 Pacify gcc -Wunused-function on Ubuntu 18.04.3
	4cd143aded Fix copyright years by hand
	365e01cc9f Update copyright year to 2020
	cd2c156163 ; * etc/NEWS: Make the description of XDG fallback more ac...

	# Conflicts:
	#	etc/NEWS
	#	etc/refcards/ru-refcard.tex

2019-12-31  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	9b6872b4e4 ; * test/lisp/calc/calc-tests.el: Fix warnings
	957cdca6f0 Make minibuffer-tests work in out-of-tree builds (bug#38816)
	2065316749 Make comint-tests more robust (bug#38813)

2019-12-31  Glenn Morris  <rgm@gnu.org>

	* admin/gitmerge.el (gitmerge-skip-regexp): Be more restrictive.

2019-12-30  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp 2.4.3

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.4.3".

	* lisp/net/tramp.el: Bump version.
	(tramp-handle-shell-command): The temp file for error-buffer is remote.

	* test/lisp/net/tramp-tests.el (tramp-test30-make-process):
	Simplify buffer generation.
	(tramp-test32-shell-command): Extend test.

	(cherry picked from commit d6922db49dea33ac2bca8b33d24763cc7b2e4cd7)

2019-12-30  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	59f71d20ea (origin/emacs-27) Fix tar-mode reading the oldgnu Tar format
	e3ec84fd7d Ensure mini-window is resized to show active minibuffer co...
	450633f85a Fix mini-window resizing under resize-mini-windows = t
	219d47893a (emacs-27) Fixes for makeinfo 4.13
	4bbfd2b42f ; fix previous NEWS entry
	81b697d106 Fix crash under -nw on macOS properly this time
	9ce4207969 Revert "Check for GUI frame in ns_color_index_to_rgba"
	732dcfc850 Ignore all color fonts when using XFT
	aa0c679f48 Avoid unbounded growth of cl-random-state components (bug#...

	# Conflicts:
	#	etc/NEWS
	#	src/nsterm.m

2019-12-30  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	70fe552c61 ; xref-references-in-directory: Autoload as well
	181f571651 Fix up requires
	43f66c3368 Extract xref-matches-in-files from project--find-regexp-in...
	65af18d86e Rename xref-collect-references and xref-collect-matches
	98788bf976 ; Improve the docstring some more
	c190e91a1e Improve docstrings
	012c12a05e Fix when expose draws partially visible first glyph (bug#3...
	d915b8c3f1 Don't require semantic/fw
	50a0126402 Do some renames for clarity
	74261ff301 Rearrange NEWS, add missing documentation
	6c9571379e Fix interactive spec in netrc-parse
	32222fb34c Fix documentation of define-obsolete-* functions

	# Conflicts:
	#	etc/NEWS

2019-12-30  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	8224ed7d40 (xref--find-buffer-visiting): Speed up by using get-file-b...

2019-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix recent gnus-start.el breakage

	* lisp/gnus/gnus-start.el (gnus-group-change-level): Fix previous
	patch that made info nil when adding new groups (thereby making
	gnus-newsrc-alist invalid).

	(cherry picked from commit 3434ac67b9ec6b1d19f1c5ebb7d23b0b62dadac9)

2019-12-27  Richard Stallman  <rms@gnu.org>

	Display a help text when listing EPA keys

	* lisp/epa.el (epa--list-keys, epa-list-keys): Display a help text
	that explains what the letters mean.

2019-12-27  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	3f2788d4ac (origin/emacs-27) project--vc-list-files: Recurse into sub...
	f0da3aa83e Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
	3b199614cc Minor improvements of buffer documentation
	e1e0a7a751 xref--collect-matches: Speed up on remote
	219b91eb2c ; project--find-regexp-in-files: Avoid prepending remote-i...

2019-12-27  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	8aad80d661 Fix installer build
	47a73e3e14 Update Windows build documentation
	cd55984153 Calc: add missing dynamic variable declarations
	e8aa6f19e9 * doc/emacs/buffers.texi (Kill Buffer): Improve indexing.
	ccd7cd2c51 Speed up dired-do-find-regexp
	7edb1f0773 ; Remove outdated declarations
	6ab40c1a51 ; Clarify the assumption
	be38e39fcc project--find-regexp-in-files: Support remote files
	21c3020fce Document some restrictions for module functions.
	e1ce9f3423 Don't recommend using 'module-load' for loading modules.
	03f962a486 Port x_get_monitor_attributes_fallback to !HAVE_GTK3
	0b32f59764 Fix compilation warning in gnus-start.el

2019-12-27  Mattias Engdegård  <mattiase@acm.org>

	Deduplicate non-fixnum numeric constants in byte-compilation

	* lisp/emacs-lisp/bytecomp.el (byte-compile-get-constant):
	Use eql for looking up constants instead of eq, allowing
	for bignum and flonum deduplication (bug#38708).

2019-12-27  Eli Zaretskii  <eliz@gnu.org>

	Fix error message about recursive use of minibuffer

	* src/minibuf.c (read_minibuf): Fix formatting of an error
	message.  Reported by martin rudalics <rudalics@gmx.at>.

2019-12-26  Phillip Lord  <phillip.lord@russet.org.uk>

	Update for Emacs-28

	* admin/nt/dist-build/build-dep-zips.py: Emacs major version number.

2019-12-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix bogus test in body of a while loop

	* lisp/gnus/nnheader.el (nnheader-find-nov-line): Fix return value
	from while loop.

2019-12-26  Mattias Engdegård  <mattiase@acm.org>

	* lisp/net/ldap.el (ldap-search-internal): Add missing setq.

2019-12-26  Mattias Engdegård  <mattiase@acm.org>

	Optimize 'while' bodies for effect

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
	Treat all expressions in the body of 'while' as for-effect,
	since their values are discarded.  This also finds some errors.

2019-12-26  Mattias Engdegård  <mattiase@acm.org>

	Use regexp type for regexps in defcustom declarations

	* lisp/calendar/diary-lib.el (diary-face-attrs):
	* lisp/cedet/semantic/db-ebrowse.el (semanticdb-ebrowse-file-match):
	* lisp/cedet/srecode/document.el
	(srecode-document-autocomment-common-nouns-abbrevs)
	(srecode-document-autocomment-function-alist)
	(srecode-document-autocomment-return-first-alist)
	(srecode-document-autocomment-return-last-alist)
	(srecode-document-autocomment-param-alist)
	(srecode-document-autocomment-param-type-alist):
	* lisp/desktop.el (desktop-clear-preserve-buffers):
	* lisp/elide-head.el (elide-head-headers-to-hide):
	* lisp/erc/erc-backend.el (erc-encoding-coding-alist):
	* lisp/erc/erc-ezbounce.el (erc-ezb-regexp):
	* lisp/files.el (auto-save-file-name-transforms):
	* lisp/gnus/deuglify.el (gnus-outlook-deuglify-attrib-cut-regexp)
	(gnus-outlook-deuglify-attrib-verb-regexp)
	(gnus-outlook-deuglify-attrib-end-regexp):
	* lisp/gnus/gnus-fun.el (gnus-x-face-omit-files, gnus-face-omit-files):
	* lisp/gnus/spam.el (spam-spamassassin-positive-spam-flag-header):
	* lisp/htmlfontify.el (hfy-src-doc-link-unstyle):
	* lisp/info-look.el (info-lookup-file-name-alist):
	* lisp/international/rfc1843.el (rfc1843-newsgroups-regexp):
	* lisp/mail/feedmail.el (feedmail-queue-slug-suspect-regexp):
	* lisp/mail/rmail-spam-filter.el (rsf-white-list, rsf-definitions-alist):
	* lisp/man.el (Man-name-local-regexp):
	* lisp/net/ange-ftp.el (ange-ftp-dumb-unix-host-regexp):
	* lisp/net/newst-backend.el (newsticker-auto-mark-filter-list):
	* lisp/net/rcirc.el (rcirc-authinfo, rcirc-coding-system-alist):
	* lisp/net/tramp-adb.el (tramp-adb-prompt):
	* lisp/org/org-agenda.el (org-agenda-hide-tags-regexp)
	(org-agenda-category-icon-alist):
	* lisp/org/org-protocol.el (org-protocol-data-separator):
	* lisp/org/org-table.el (org-table-number-regexp):
	* lisp/org/ox-latex.el (org-latex-known-warnings):
	* lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
	* lisp/progmodes/hideif.el (hide-ifdef-header-regexp):
	* lisp/progmodes/idlw-help.el (idlwave-help-doclib-name)
	(idlwave-help-doclib-keyword):
	* lisp/progmodes/idlwave.el (idlwave-no-change-comment):
	* lisp/progmodes/python.el (python-shell-prompt-input-regexps)
	(python-shell-prompt-output-regexps, python-shell-prompt-regexp)
	(python-shell-prompt-block-regexp, python-shell-prompt-output-regexp)
	(python-shell-prompt-pdb-regexp, python-shell-compilation-regexp-alist)
	(python-pdbtrack-stacktrace-info-regexp):
	* lisp/progmodes/sql.el (sql-send-terminator, sql-ansi-statement-starters):
	* lisp/speedbar.el (speedbar-directory-unshown-regexp)
	(speedbar-file-unshown-regexp):
	* lisp/textmodes/flyspell.el (flyspell-mark-duplications-exceptions)
	(flyspell-tex-command-regexp):
	* lisp/textmodes/paragraphs.el (sentence-end-base):
	* lisp/textmodes/tildify.el (tildify-pattern, tildify-space-pattern):
	* lisp/vc/ediff-init.el (ediff-metachars):
	* lisp/vc/vc-git.el (vc-git-root-log-format):
	* lisp/vc/vc-hg.el (vc-hg-root-log-format):
	* lisp/whitespace.el (whitespace-indentation-regexp)
	(whitespace-space-after-tab-regexp):
	* lisp/woman.el (woman-manpath-man-regexp)
	(woman-imenu-generic-expression):
	Use 'regexp' instead of 'string' as type for values that are regexps
	in defcustom declarations.

2019-12-26  Philipp Stephani  <phst@google.com>

	Simplify an example in the modules manual

	* doc/lispref/internals.texi (Module Misc): Simplify example for how
	to call 'intern'.  There's no need to pass the optional argument
	explicitly.

2019-12-26  Philipp Stephani  <phst@google.com>

	Promote function type aliases to the public module API.

	Previously module authors had to define type aliases for module
	functions and finalizers themselves.  This commit adds and documents
	aliases so that this is no longer necessary.

	* src/emacs-module.h.in: Add 'emacs_function' and 'emacs_finalizer'
	type aliases.

	* src/emacs-module.c: Remove old 'emacs_subr' and 'emacs_finalizer'
	type aliases.
	(struct Lisp_Module_Function, module_make_function): Switch from
	'emacs_subr' to 'emacs_function'.

	* doc/lispref/internals.texi (Module Functions): Document and use
	'emacs_function' type alias.
	(Module Values): Document 'emacs_finalizer' type alias.

	* etc/NEWS: Mention change.

2019-12-25  João Távora  <joaotavora@gmail.com>

	Don't always resort in recently introduced icomplete--sorted-completions

	Doing so breaks icomplete-forward-completions and
	icomplete-backward-completions.

	* lisp/icomplete.el (icomplete--sorted-completions): Don't always
	resort.

2019-12-25  João Távora  <joaotavora@gmail.com>

	Don't force completion recalculation in icomplete-fido-ret

	Besides the adverse effect of delaying completions, it tripped up the
	useful logic of icomplete-force-complete-and-exit in the case where a
	default was available, but no completions calculated yet.

	* lisp/icomplete.el (icomplete-fido-ret): Don't force calculation
	of completions.

2019-12-25  João Távora  <joaotavora@gmail.com>

	Correctly cache sorted completions in icomplete--sorted-completions

	* lisp/icomplete.el (icomplete--sorted-completions): Use
	completion--cache-all-sorted-completions.

2019-12-25  Philipp Stephani  <phst@google.com>

	* .gitignore: Ignore .dylib files (shared libraries on macOS)

2019-12-25  Philipp Stephani  <phst@google.com>

	Add some documentation for support of .dylib suffix on macOS

	* doc/lispref/loading.texi (Dynamic Modules):
	* etc/NEWS: Document that dynamic module files on macOS can now have
	the suffix .dylib.

2019-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't bind XEmacs-only variable in edebug

	* lisp/emacs-lisp/edebug.el (edebug-safe-prin1-to-string): Remove
	binding of XEmacs-only variable print-readably.

2019-12-25  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	91c16acbe2 (origin/emacs-27) Improve doc string of 'files--message'
	c3be58a8f5 (emacs-27) Improve vc--add-line, vc--remove-regexp
	9ea9ac9a61 Apply the 'xref-group' property properly

2019-12-25  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-27

	ca6a53d3bc Don't default to showing X-Faces externally in Gnus
	dbf4b5b2d0 Fix manual typo in Special Read Syntax
	a9fe6dfa90 Fix problem with emacs -nw / eww / svg
	0de63092c8 Clarify base64 requirements and say what {en,de}code_codin...
	6184aa003f ; * etc/NEWS: Fix boring oddities.
	51ea32dd12 * src/emacs-module.h.in: Add reference to manual.
	75d0cef20d Trivial docstring fixes
	ee12c421b6 imagemagick-types needs to initialize ImageMagick

	# Conflicts:
	#	etc/NEWS

2019-12-25  Philipp Stephani  <phst@google.com>

	Support .dylib suffix for modules on macOS (Bug#36226).

	On macOS, shared libraries typically have the suffix .dylib.  This
	commit switches the module suffix to .dylib on Darwin to account for
	that.  To also support the .so suffix, introduce the concept of a
	secondary module suffix.

	* configure.ac: Switch MODULES_SUFFIX to .dylib for Darwin, introduce
	MODULES_SECONDARY_SUFFIX.

	* src/lread.c (Fload, syms_of_lread): Also use
	MODULES_SECONDARY_SUFFIX if defined.

	* test/src/emacs-module-tests.el (module-darwin-secondary-suffix): New
	unit test.

2019-12-24  Federico Tedin  <federicotedin@gmail.com>

	Make goto-line keep a separate input history per buffer

	* lisp/simple.el (goto-line-history): New history variable.
	(goto-line): Use new (buffer-local) variable as input
	history (Bug#38282).
	* lisp/subr.el (read-number-history): New history variable.
	(read-number): Use the new variable as default input history.
	* doc/lispref/minibuf.texi (Minibuffer History): Document
	read-number-history and goto-line-history variables.
	* etc/NEWS: Announce changes.

2019-12-24  João Távora  <joaotavora@gmail.com>

	Move flex style's minibuffer-default-aware sorting to lisp/icomplete.el

	This moves the logic from the series of commits starting in the commit named:

	  Improve sorting of flex completion style with non-nil minibuffer-default

	to lisp/icomplete.el, so far the only confirmed beneficiary of that
	functionality.

	* lisp/icomplete.el (icomplete--sorted-completions): Consider
	minibuffer-default here.

	* lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.

2019-12-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/minibuf.c (read_minibuf): Use `user-error`

2019-12-24  Juanma Barranquero  <lekktu@gmail.com>

	Don't use `let*' with just one binding

	* lisp/registry.el (registry-reindex):
	* lisp/emacs-lisp/generator.el (cps--add-state):
	Use `let', not `let*'.

2019-12-24  Philipp Stephani  <phst@google.com>

	Prepare module header generation for Emacs 28.

	* configure.ac: Substitute environment function snippet for Emacs 28.

	* src/module-env-28.h: New file, with dummy contents for now.

	* src/emacs-module.h.in: Provide emacs_env_28 structure.

2019-12-24  Philipp Stephani  <phst@google.com>

	* src/emacs-module.h.in: Use @emacs_major_version@ for current env.

2019-12-24  João Távora  <joaotavora@gmail.com>

	Make fido-mode behave more like ido-mode when finding directories

	Notably C-x d (M-x dired) and C-x v d (M-x vc-dir) behaved quite
	differently, having regular files as the default instead of ido's
	usual "./".

	* lisp/icomplete.el (icomplete--sorted-completions): New helper.
	(icomplete-completions): Use it.

2019-12-24  João Távora  <joaotavora@gmail.com>

	Slightly simplify lisp/icomplete.el with new icomplete--category helper

	* lisp/icomplete.el (icomplete-fido-kill)
	(icomplete-fido-delete-char, icomplete-fido-ret)
	(icomplete-fido-backward-updir, icomplete-exhibit): Use
	icomplete--category.
	(icomplete--category): New helper.

2019-12-24  João Távora  <joaotavora@gmail.com>

	Another adjustment to flex completion style's sorting function

	* lisp/minibuffer.el (completion--flex-adjust-metadata): Adjust
	case when minibuffer-default is non-nil.

2019-12-23  Philipp Stephani  <phst@google.com>

	* src/pdumper.c (Fdump_emacs_portable): Reword error message.

2019-12-23  Philipp Stephani  <phst@google.com>

	Remove some undefined behavior related to left shifts.

	Found by UBSan.

	* src/nsfns.m (ns_set_foreground_color, ns_set_background_color):
	* src/nsimage.m (getPixelAtX:Y:):
	* src/nsterm.m (ns_color_index_to_rgba): Add explicit casts to avoid
	undefined behavior when left-shifting beyond the bounds of the int
	type.

	* src/macfont.m (METRICS_VALUE): Add explicit casts to avoid undefined
	behavior when left-shifting a negative value.

2019-12-23  Stephen Gildea  <stepheng+emacs@gildea.com>

	Further expand coverage of unit tests for time-stamp

	* test/lisp/time-stamp-tests.el (time-stamp-custom-format-tabs-expand,
	time-stamp-custom-end, time-stamp-helper-string-defaults): New tests.
	(time-stamp-custom-count): Test 0 case.
	(time-stamp-format-non-date-conversions): Test different system values.

	Development of these new tests was guided by the "testcover" library.

2019-12-23  Philipp Stephani  <phst@google.com>

	Don’t allow portable dumping in interactive mode (Bug#38453).

	* src/pdumper.c (Fdump_emacs_portable): Don’t allow dumping in
	interactive mode.

2019-12-23  Philipp Stephani  <phst@google.com>

	Make argument names in module interface more consistent.

	Previously, the names of arguments and other details were needlessly
	inconsistent between the documentation, the declarations, and the
	definitions, as well as between each other.  This commit makes them
	more consistent, in most cases by applying the names from the
	documentation everywhere.

	* src/module-env-27.h:
	* src/module-env-25.h:
	* src/emacs-module.h.in:
	* src/emacs-module.c (module_get_environment)
	(module_make_global_ref, module_free_global_ref)
	(module_non_local_exit_get, module_non_local_exit_signal)
	(module_make_function, module_funcall, module_type_of)
	(module_is_not_nil, module_extract_integer)
	(module_extract_float, module_copy_string_contents)
	(module_make_string, module_vec_set, module_vec_get)
	(module_vec_size, module_extract_time)
	(module_assert_runtime):
	* doc/lispref/internals.texi (Module Initialization)
	(Module Functions, Module Values): Make argument names and some other
	details consistent.  No functional changes.

2019-12-23  Eli Zaretskii  <eliz@gnu.org>

	Bump Emacs version to 28.0.50

	* README:
	* configure.ac:
	* nt/README.W32:
	* msdos/sed2v2.inp:
	* src/msdos.c (internal_terminal_init):
	* etc/refcards/ru-refcard.tex: Bump Emacs version to 28.0.50.

	* lisp/cus-edit.el (customize-changed-options-previous-release):
	Bump up the value to 26.3.

	* etc/NEWS.27: Renamed from NEWS.
	* etc/NEWS: New file for Emacs 28.

2021-03-25  Eli Zaretskii  <eliz@gnu.org>

	* Version 27.2 released.

2021-03-18 Basil L. Contovounesios <contovob@tcd.ie>

	Fix 'frame-inner-height' in non-GUI builds

	Include tab bar in frame's inner height in non-GUI builds that
	don't define 'tab-bar-height'.  This is consistent with the
	inclusion of the menu bar in the calculated height.  It is also
	consistent with TTY frames of GUI builds, for which
	'tab-bar-height' is always zero anyway (bug#47234).
	Fix suggested by Eli Zaretskii <eliz@gnu.org>.

	* lisp/frame.el (frame-inner-height): Don't assume
	'tab-bar-height' is defined in builds --without-x.

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	* etc/HISTORY: Update for Emacs 27.2.

	* README:
	* configure.ac:
	* nt/README.W32:
	* msdos/sed2v2.inp: Set version to 27.2

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Document that `buffer-string' retains text properties

	* doc/lispref/text.texi (Buffer Contents): Mention text properties
	in the `buffer-string' documentation.
	* src/editfns.c (Fbuffer_string): Mention text properties in the
	doc string (bug#47220).

	(cherry picked from commit 60af754170f22f5d25510af069ed0ebfec95f992)

2021-03-18  Fabrice Bauzac  <noon@mykolab.com>

	Remove duplicate @table item from ELisp manual

	* doc/lispref/objects.texi (Special Read Syntax): Remove duplicate
	item "#@N" from the table of Special Read Syntax.  (Bug#47200)

2021-03-18  Daniel Martín  <mardani29@yahoo.es>

	Fix reference to 'diff-font-lock-syntax' in diff-mode documentation

	* doc/emacs/files.texi (Diff Mode): Add the omitted name of the
	variable.  (Bug#47129)

2021-03-18  Alan Third  <alan@idiocy.org>

	Fix buffer overflow in xbm_scan (bug#47094)

	* src/image.c (xbm_scan): Ensure reading a string doesn't overflow the
	buffer.

	(cherry picked from commit ebc3b25409dd614c1814a0643960452683e37aa3)

2021-03-18  Matt Armstrong  <matt@rfc20.org>

	Fix typos and omissions for (elisp)Button Buffer Commands

	* doc/lispref/display.texi (Button Buffer Commands): Minor
	typo and omission fixes `backward-button' and
	`forward-button'.  (Bug#47051)

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Teach Rmail about NBSP in "Re:"

	* lisp/mail/rmail.el (rmail-simplified-subject)
	(rmail-reply-regexp): Allow NBSP in "RE:" prefixes.

2021-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	Revert "* lisp/mouse.el: Fix mouse-1-clock-follows-mouse = double"

	This reverts commit 02a5cfce471613f671722b35536d2a78f17b0429.
	That commit breaks because of a missing patch to `parse_modifiers_uncached`
	in `src/keyboard.c`.  IOW, too risky for `emacs-27`.

	Don't merge to `master`.

2021-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mouse.el: Fix mouse-1-clock-follows-mouse = double

	This functionality was broken by commit 3d5e31eceb9dc1fb62b2b2,
	the problem being that we end up considering as distinct the events
	`down-double-mouse-1` and `double-down-mouse-1`.

	Reported by Eyal Soha <eyalsoha@gmail.com>

	(mouse--click-1-maybe-follows-link): Make sure the last element of
	the list passed to `event-convert-list` is indeed a "basic" event.

2021-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/gv.el (edebug-after): Don't run the getter in the setter

	This fixes bug#46573 which was introduced by commit
	d79cf638f278e50c22feb53d6ba556f5ce9d7853.
	The new code is a middle ground, which makes sure the instrumentation
	point is used (so the coverage checker won't have ghost unreachable
	instrumentation points) yet without artificially running the getter
	when we only need to run the setter.

2021-03-18  Masahiro Nakamura  <tsuucat@icloud.com>

	* doc/misc/tramp.texi (Remote shell setup): Fix reference. (Do not merge)

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Fix initialization of 'while-no-input-ignore-events'

	* src/keyboard.c (syms_of_keyboard_for_pdumper): Don't reset
	'while-no-input-ignore-events' after loading the dump file.
	(Bug#46940)

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Update documentation of reading passwords

	* doc/emacs/mini.texi (Passwords): Update to match the modified
	implementation.  (Bug#46902)  Add indexing.

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Improve the 'dired-do-kill-lines' doc string

	* lisp/dired-aux.el (dired-do-kill-lines): Document the FMT
	parameter (bug#46867).

	(cherry picked from commit b9cb3b904008a80c69ab433f4851377967b100db)

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes in Mew due to corrupted tool-bar label

	* src/gtkutil.c (update_frame_tool_bar): Don't keep around a
	'char *' pointer to a Lisp string's contents when calling Lisp,
	because that could relocate string data; keep the Lisp string
	itself instead.  This avoids crashes in Mew.  (Bug#46791)

2021-03-18  Stefan Kangas  <stefan@marxist.se>

	* lisp/tooltip.el (tooltip): Doc fix for GTK.

2021-03-18  Stefan Kangas  <stefan@marxist.se>

	* lisp/help.el (help-for-help-internal): Doc fix; use imperative.

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	More accurate documentation of the "r" interactive spec

	* doc/lispref/commands.texi (Interactive Codes): Describe the
	effect of 'mark-even-if-inactive'.

2021-03-18  Stefan Kangas  <stefan@marxist.se>

	Mention the GNU Kind Communications Guidelines in the FAQ

	* doc/misc/efaq.texi (Guidelines for newsgroup postings): Mention
	the GNU Kind Communications Guidelines.

2021-03-18  Ryan Prior  <rprior@protonmail.com>  (tiny change)

	Allow newlines in password prompts again in comint

	* lisp/comint.el (comint-password-prompt-regexp): Match all
	whitespace (including newline) at the end of the passphrase, not
	just space and \t (bug#46609).
	(comint-watch-for-password-prompt): Remove trailing newlines from
	the prompt (bug#46609).

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Avoid point movement when visiting image files

	* lisp/image-mode.el (image-toggle-display-image): Preserve point
	around the call to exif-parse-buffer, to prevent it from moving
	into the image data.  (Bug#46552)

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violation in callproc.c

	* src/callproc.c (call_process): Avoid assertion violation when
	DESTINATION is a cons cell '(:file . "FOO")'.  (Bug#46426)

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify "changes" in CONTRIBUTE

	* CONTRIBUTE: Clarify that "changes" doesn't include removing code
	(bug#44834).

	(cherry picked from commit 33c9556c9db9b8c62dcd80dd3cc665e669ea66d4)

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify when activate-mark-hook is run

	* doc/lispref/markers.texi (The Mark):
	* lisp/simple.el (activate-mark-hook): Clarify when the hook is
	run (bug#23444).

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Fix language-environment and font selection on MS-Windows

	These changes improve setting the language-environment and font
	selection when MS-Windows returns useless "ZZZ" as the "language
	name", which then disrupts all the setup of the locale-dependent
	stuff, and in particular font selection.
	* lisp/w32-fns.el (w32-charset-info-alist): Add an element for
	"iso8859-5", in case LANG is set to something unusable, like
	"ZZZ".  This allows fonts capable of displaying Cyrillic
	characters to be used even when language preferences are screwed.

	* src/w32.c (init_environment): If GetLocaleInfo returns "ZZZ" as
	the "language name" for LOCALE_USER_DEFAULT, try again with locale
	ID based on what GetUserDefaultUILanguage returns.  (Bug#39286)

2021-03-18  Petteri Hintsanen  <petterih@iki.fi>

	Fix example in Sequence Functions node in the manual

	* doc/lispref/sequences.texi (Sequence Functions): Fix the result
	from the example.

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string of 'text-scale-adjust'

	* lisp/face-remap.el (text-scale-adjust): Clarify that "default
	face height" refers to the 'default' face.  (Bug#25168)

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the indent-rigidly doc string

	* lisp/indent.el (indent-rigidly): Clarify exiting the transient
	mode (bug#46296).

2021-03-18  Martin Rudalics  <rudalics@gmx.at>

	Fix two small tab bar issues

	* lisp/cus-start.el (frame-inhibit-implied-resize): Update version tag.
	* lisp/frame.el (frame-inner-height): Do not count in tab bar.

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in syntax.texi

	* doc/lispref/syntax.texi (Syntax Properties): Fix wording in last
	change.  (Bug#46274)

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Correct the lispref manual about flushing ppss info

	* doc/lispref/syntax.texi (Syntax Properties): Correct the
	information about flushing the state by copying the text from the
	doc string (bug#46274).

	(cherry picked from commit ff701ce2b261acce1dfcd1fe137268d87d5eab35)

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify how transient indentation modes are exited in the manual

	* doc/emacs/indent.texi (Indentation Commands): Clarify that the
	other keys don't just exit the transient mode, but are also
	handled as normally (bug#46296).

2021-03-18  Dmitry Gutov  <dgutov@yandex.ru>

	Fix the previous change

	* lisp/progmodes/project.el (project-find-regexp):
	Fix the previous change (project-root is not defined in this version).
	(project-or-external-find-regexp): Same.

2021-03-18  Dmitry Gutov  <dgutov@yandex.ru>

	Bind default-directory to the project root

	* lisp/progmodes/project.el (project-find-regexp):
	Bind default-directory to the project root, to save this value
	in the resulting buffer (esp. if the project selector was used,
	(https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg00140.html).
	(project-or-external-find-regexp): Same.

	(cherry picked from commit c07ebfcbe084e8219d8c2588f23f77ba4ef39087)

2021-03-18  Dmitry Gutov  <dgutov@yandex.ru>

	Make sure default-directory relates to the originating buffer

	* lisp/progmodes/xref.el (xref--show-xref-buffer):
	Pick up default-directory value from the caller
	(https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00551.html).
	(xref-show-definitions-buffer-at-bottom): Same.

	(cherry picked from commit 6e73e07a6f5cbdd1c5ae6e0f3fbd0f8f56813f1a)

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Initialize signal descriptions after pdumping

	* src/sysdep.c (init_signals) [!HAVE_DECL_SYS_SIGLIST]: Reinit
	sys_siglist also after pdumping.  (Bug#46284)

2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the "Sentinels" node in the lispref manual

	* doc/lispref/processes.texi (Sentinels): Mention "run" and that
	the strings can be anything (bug#30461).

	(cherry picked from commit 859a4cb6b22f75a3456e29d08fcfe9b8940fbe8b)

2021-03-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)

	Fix problem with non-ASCII characters in nnmaildir

	* lisp/gnus/nnmaildir.el (nnmaildir-request-article): Enable
	multipart 8bit-content-transfer-encoded files to be displayed
	correctly by reading as `raw-text' instead of having Emacs
	(incorrectly) decode the files (bug#44307).

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	* lisp/window.el (recenter-top-bottom): Clarify doc string.

2021-03-18  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	url-http.el: Special-case NTLM authentication

	* lisp/url/url-http.el (url-http-handle-authentication): Do not
	signal an error on NTLM authorization strings.  (Bug#43566)

2021-03-18  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-lazy-highlight): Fix defcustom type (bug#46208)

2021-03-18  Stefan Kangas  <stefan@marxist.se>

	Sync latest SKK-JISYO.L

	* leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.

2021-03-18  Alan Third  <alan@idiocy.org>

	Fix build failure on macOS 10.7 (bug#46036)

	* src/nsfns.m (ns_set_represented_filename): Define the NSNumber in a
	more compatible manner.

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of auto-resize-tool/tab-bars

	* src/xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>
	<auto-resize-tab-bars>: Doc fix.  (Bug#46178)

2021-03-18  Dmitry Gutov  <dgutov@yandex.ru>

	(xref-revert-buffer): Also 'erase-buffer' when handling a user-error

	* lisp/progmodes/xref.el (xref-revert-buffer):
	Also 'erase-buffer' when handling a user-error (bug#46042).

	(cherry picked from commit e86b30d6fd04070b86560774ec82392dbe24ca1e)

2021-03-18  Eli Zaretskii  <eliz@gnu.org>

	Update files for 27.1.91 pretest

	* ChangeLog.3:
	* etc/AUTHORS
	* lisp/ldefs-boot.el: Update.

2021-03-18  Eli Zaretskii  <eliz@gnu.org>
2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Bump Emacs version to 27.1.91

	* README:
	* configure.ac:
	* nt/README.W32:
	* msdos/sed2v2.inp: Bump Emacs version to 27.1.91.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'read-regexp' and friends

	* doc/emacs/glossary.texi (Glossary): Add "Tag" to the Glossary.
	* doc/emacs/maintaining.texi (Xref): Mention that identifiers are
	also known as "tags".

	* lisp/replace.el (read-regexp, read-regexp-suggestions): Improve
	wording of doc strings.  (Bug#46088)  (Bug#46089)

	(cherry picked from commit 49eb03d6c8a181fd46adbbcf1f0a976d0a9efa87)

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	read-regexp-suggestions doc string improvement

	* lisp/replace.el (read-regexp-suggestions): Add a link to the
	manual to explain what a tag is (bug#46089).

	(cherry picked from commit f9cc2d48246fe8370e9286866e6115ba8e2acf44)

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Try to improve the read-regexp doc string

	* lisp/replace.el (read-regexp): Attempt to clarify the semantics
	(bug#46088).

	(cherry picked from commit eded2a7ad7d456a417354a2797c18e9a578414d7)

2021-02-03  Dmitry Gutov  <dgutov@yandex.ru>

	Erase the buffer only after fetching the new contents

	* lisp/progmodes/xref.el (xref-revert-buffer):
	Erase the buffer only after fetching the new contents (bug#46042).

	(cherry picked from commit 5821dee0949b2913c07970d6e4b8bb8e8a35f036)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* doc/lispref/text.texi (Undo): Add a cross-reference to the
	description of 'undo-amalgamate-change-group'.
	(Atomic Changes): Expand and improve the description of
	'undo-amalgamate-change-group'.  (Bug#42303)

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention undo-amalgamate-change-group in the lispref manual

	* doc/lispref/text.texi (Atomic Changes): Mention
	undo-amalgamate-change-group (bug#42303).

	(cherry picked from commit ba25a82855a2c03c25fec83f3056c166b692e94f)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid sending systemd shutdown notifications if non-daemon

	* src/emacs.c (Fkill_emacs): Send the shutdown notification only
	in daemon mode.  (Bug#46022)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	* src/cmds.c (Fforward_line): Doc fix.  (Bug#46027)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of sendmail.el defcustom's

	* lisp/mail/sendmail.el (mail-archive-file-name)
	(mail-default-reply-to, mail-self-blind, mail-default-headers):
	Say in the doc string that 'message-default-mail-headers' shall be
	customized when using 'message-mode' for email composition.
	(Bug#46029)

2021-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	Don't let `maybe_quit` prevent resetting `consing_until_gc` (bug#43389)

	* src/alloc.c (garbage_collect): Postpone `unblock_input` a bit.
	* src/window.c (window_parameter): Avoid `maybe_quit`.

	cherry picked from commit 420661af07448857f0a17e15dc27bceeb6aff541

2021-02-03  Juri Linkov  <juri@linkov.net>

	Remove one of recently added warnings abound binding keys in Isearch maps

	* lisp/isearch.el (minibuffer-local-isearch-map): Remove comments
	which warn against wantonly rebinding unbound keys from
	irrelevant keymap.
	https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00259.html

2021-02-03  Martin Rudalics  <rudalics@gmx.at>

	Fix assertion failure in window_box_height (Bug#45737)

	* lisp/window.el (window-sizable): Don't try to grow a mini window
	when the root window's minimum height is already larger than its
	actual height (Bug#45737).

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix cl-concatenate inlining

	* lisp/emacs-lisp/seq.el (seq-concatenate): Auto-load it.  Do not
	merge to master.  (Bug#45610)

2021-02-03  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Fix infloop in 'pixel-scroll-mode'

	* lisp/pixel-scroll.el (pixel-scroll-up, pixel-scroll-down): Avoid
	inflooping when 'vertical-motion' doesn't move.  (Bug#45628)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix inhibiting the default.el loading in user init file

	* lisp/startup.el (startup--load-user-init-file): Test the value
	of 'inhibit-default-init', not just the LOAD-DEFAULTS argument,
	because loading the user's init file could have set the value of
	the former.
	(command-line): Call 'startup--load-user-init-file' with last arg
	t: there's no longer any need to test the value of
	'inhibit-default-init' here, as it will be tested by the called
	function.  (Bug#45708)

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with 8bit content-transfer-encoding in nndoc mbox files

	* lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): If we're
	reading an mbox file, it may contain messages that use
	content-transfer-encoding 8bit, which means that we have to treat
	the file as a sequence of byte (bug#42951).  This avoids
	double-decoding -- once by Emacs when inserting the mbox into the
	buffer, and once by Gnus when displaying the articles.

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Quick Start Guide): Fix thinko.

2021-02-03  Robert Pluim  <rpluim@gmail.com>

	Tell people how to remove fontconfig customizations

2021-02-03  Simen Heggestøyl  <simenheg@gmail.com>

	Remove extraneous closing paren

	* doc/lispref/modes.texi (SMIE Indentation Example): Remove extraneous
	closing paren.

2021-02-03  Mauro Aranda  <maurooaranda@gmail.com>

	Update two user option names in the Widget manual

	* doc/misc/widget.texi (Basic Types): The user options
	widget-glyph-directory and widget-glyph-enable were renamed long ago
	to widget-image-directory and widget-image-enable, but the manual
	kept calling them by their old names.  Update the names.

2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Mention -lcurses problem on AIX

	* etc/PROBLEMS: Describe problem with Emacs 27 and -lcurses.
	Do not merge to master.

2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Revert previous patch which was installed into wrong branch.

2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix broken build on AIX 7.2

	Without this fix, the build on AIX 7.2 with xlc fails in the ‘CCLD
	temacs’ step with the diagnostic ‘ld: 0711-317 ERROR: Undefined
	symbol: BC’.  This is because -lcurses does not define BC etc.
	* configure.ac: When building terminfo.o, define
	TERMINFO_DEFINES_BC if the library defines BC etc.
	* src/terminfo.c (UP, BC, PC): Define depending on
	TERMINFO_DEFINES_BC, not on TERMINFO.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* doc/lispref/strings.texi (Creating Strings): Improve wording of
	last change.  (Bug#45516)

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a reference between the Strings node and Search/Replace

	* doc/lispref/strings.texi (Creating Strings): Mention
	string-replace/replace-regexp-in-string (bug#45516).

	(cherry picked from commit b9359d4183a1a6923122d3aa12b922ab89693354)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Add warning comments abound binding keys in Isearch maps

	* lisp/isearch.el (isearch-mode-map)
	(minibuffer-local-isearch-map): Add comments which warn against
	wantonly rebinding unbound keys.

2021-02-03  Alan Third  <alan@idiocy.org>

	Fix crash in ns_mouse_position (bug#45541)

	* src/nsterm.m (ns_mouse_position): Explicitly initialize f to NULL.

2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix copyright years by hand

	These are dates that admin/update-copyright did not update.

2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Update copyright year to 2021

	Run "TZ=UTC0 admin/update-copyright $(git ls-files)".

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'network-lookup-address-info'

	* src/process.c (Fnetwork_lookup_address_info):
	* doc/lispref/processes.texi (Misc Network): Document the error
	message emitted by 'network-lookup-address-info' when it fails.

2021-02-03  Amin Bandali  <bandali@gnu.org>

	Display messages sent using ERC's /say

	* lisp/erc/erc.el (erc-cmd-SAY): Call `erc-display-msg' to display the
	user's message in the buffer, just like other [non-command] messages.

	https://lists.gnu.org/r/help-gnu-emacs/2020-12/msg00066.html

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix Rmail summary display when From: header is malformed

	* lisp/mail/rmailsum.el (rmail-header-summary): Remove newlines
	from the "From:" value, to avoid producing corrupted summary
	display.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Add more details to the "word processor" section

	* etc/TODO (Emacs as word processor): Add more details based on
	recent discussions.

2021-02-03  Philipp Stephani  <phst@google.com>

	* src/Makefile.in (DO_CODESIGN): Fix expected architecture name.

2021-02-03  Itai Seggev  <is+apple@cs.hmc.edu>  (tiny change)

	Codesign the executable on recene MacOS systems

	* src/Makefile.in (temacs$(EXEEXT)): Codesign the executable on
	recent (ARM) MacOS systems (bug#43878).  Without this, building
	Emacs fails.

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Support build of Emacs on ARM Macos machines

	* configure.ac: Add support for aarch64-* on Macos (i.e., 64-bit
	ARM) (bug#43369).

2021-02-03  Bastien Guerry  <bzg@gnu.org>

	Update to Org 9.4.4

2021-02-03  Stefan Kangas  <stefan@marxist.se>

	* lisp/so-long.el: Decrease use of passive voice.

	Suggested by Richard Stallman <rms@gnu.org>.

2021-02-03  Stefan Kangas  <stefan@marxist.se>

	* doc/misc/efaq.texi (New in Emacs 27): Add section.

	* doc/misc/efaq.texi (Latest version of Emacs): Bump version.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	* lisp/face-remap.el (face-remap-set-base): Doc fix.  (Bug#45264)

2021-02-03  Vasilij Schneidermann  <mail@vasilij.de>

	Correct argument order in comment

	* etc/ETAGS.EBNF (position): Correct comment.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Update files for the 27.1.90 pretest

	* README:
	* configure.ac:
	* nt/README.W32:
	* msdos/sed2v2.inp: Bump Emacs version to 27.1.90.
	* lisp/ldefs-boot.el: Update from loaddefs.el

2021-02-03  Eli Zaretskii  <eliz@fencepost.gnu.org>

	* README:
	* configure.ac:
	* nt/README.W32:
	* msdos/sed2v2.inp: Bump Emacs version to 27.1.90.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes in authors.el and in tarball-making instructions

	* admin/authors.el (authors): Make the error message more helpful.
	(authors-ignored-files, authors-renamed-files-alist): Update.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'query-replace'

	* doc/emacs/search.texi (Query Replace): Add 'E' to the list of
	characters one can type at 'query-replace' prompt.  (Bug#45273)

2021-02-03  Bastien Guerry  <bzg@gnu.org>

	Update to Org 9.4.3

	Fix #45259

2021-02-03  Alan Third  <alan@idiocy.org>

	Fix error with fn key in NS port (bug#44533)

	* src/nsterm.m ([EmacsView keyDown:]): Move the correction for fn key
	handling to before the modifiers are calculated.

	(cherry picked from commit 7970610d48701a949ce443c94c71eac47d044197)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix point location when completing in gdb-mi.el

	* lisp/progmodes/gdb-mi.el (def-gdb-auto-update-handler): Don't
	force window-start position, so that redisplay doesn't move point
	when popping completion window below the GUD one.  (Bug#45052)

2021-02-03  Bastien Guerry  <bzg@gnu.org>

	Update to Org 9.4.2

	Mostly fixing compiler warnings.

2021-02-03  Bastien Guerry  <bzg@gnu.org>

	Update to Org 9.4.1

2021-02-03  Alan Third  <alan@idiocy.org>

	Fix crash in ns_mouse_position (bug#44313)

	* src/nsterm.m (ns_destroy_window): Close the window before freeing
	the frame resources so we don't end up accessing the frame struct
	after it's been freed.

	(cherry picked from commit 18a7267c32a909bb26bd93d24543155aeb10e042)

2021-02-03  Alan Third  <alan@idiocy.org>

	Fix crash when using XRender and restoring image from X (bug#44930)

	* src/dispextern.h (struct image): Add original dimension elements.
	* src/image.c (image_set_transform): Store the original dimensions.
	(image_get_x_image): If we're using transforms use the original
	dimensions with XGetImage.

2021-02-03  Tassilo Horn  <tsdh@gnu.org>

	Bind k to image-kill-buffer in doc-view-mode-map.

	* lisp/doc-view.el (doc-view-mode-map): Bind k to image-kill-buffer.
	The binding k -> doc-view-kill-proc-and-buffer has been removed in
	2015 and the function been made an obsolete function alias to
	image-kill-buffer (bug#45157).

2021-02-03  Serge Tupchii  <serge.tupchii@protonmail.com>  (tiny change)

	Fix crash (segfault) in etags on generating tags for Erlang files

	* lib-src/etags.c: Set allocated and lastlen to zero, after
	freeing last ptr in Erlang_functions to prevent dereferencing NULL
	pointer (bug#45122).


	(cherry picked from commit 2d8f0364fcd1d5dad2b82dd3a9af870b03854547)

2021-02-03  Stefan Kangas  <stefan@marxist.se>

	Update publicsuffix.txt from upstream

	* etc/publicsuffix.txt: Update from
	https://publicsuffix.org/list/public_suffix_list.dat
	dated 2020-11-30 21:57:25 UTC.

2021-02-03  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc.el: Update args of backend API calls in the header comments

	https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00283.html

2021-02-03  Juri Linkov  <juri@linkov.net>

	Backport Handle read-char-from-minibuffer and y-or-n-p from pre-command-hook

	* lisp/subr.el (read-char-from-minibuffer-insert-char)
	(read-char-from-minibuffer-insert-other, y-or-n-p-insert-y)
	(y-or-n-p-insert-n, y-or-n-p-insert-other):
	Check for 'minibufferp' before executing the body.
	(read-char-from-minibuffer, y-or-n-p): Let-bind this-command
	before calling read-from-minibuffer.  (Bug#45029)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of streams in batch mode

	* doc/lispref/os.texi (Batch Mode):
	* doc/lispref/streams.texi (Input Streams, Output Streams): Better
	documentation of I/O streams in batch mode, with more
	cross-references.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Support ks_c_5601-1987 encoding

	* lisp/language/korean.el (ks_c_5601-1987): Define as an alias for
	'korean-iso-8bit.  (It is sometimes used in email messages.)

2021-02-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix Xaw widget text disappearing when built with cairo (bug#43418)

	* lwlib/lwlib-utils.c (crxft_font_open_name): Use FcFontMatch to
	get a pattern to pass to cairo_ft_font_face_create_for_pattern.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'ps-print-color-p'

	* doc/emacs/misc.texi (PostScript Variables): Improve and clarify
	the description of 'ps-print-color-p'.  (Bug#44962)

2021-02-03  Dmitry Gutov  <dgutov@yandex.ru>

	Reset xref-show-xrefs-function temporarily

	* lisp/dired-aux.el (dired-do-find-regexp-and-replace):
	Make sure xref-show-xrefs-function has the necessary value (bug#44905).

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Don't show in 'view-lossage' responses to xterm feature queries

	* lisp/term/xterm.el (xterm--read-event-for-query): Prevent
	recording the characters read as the xterm response to a query,
	so as not to show them in 'view-lossage'.  (Bug#44908)

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp versions.  Do not merge

	* doc/misc/tramp.texi (Obtaining @value{tramp})
	(Remote shell setup, Remote processes, Archive file names):
	* doc/misc/trampver.texi:
	* lisp/net/tramp.el:
	* lisp/net/trampver.el (tramp-version)
	(customize-package-emacs-version-alist): Adapt Tramp versions.

2021-02-03  Akira Kyle  <akira@akirakyle.com>

	Return the correct suffix in eww-make-unique-file-name

	* lisp/net/eww.el (eww-make-unique-file-name): Return the correct
	suffix (bug#44936).

2021-02-03  Karl Fogel  <kfogel@red-bean.com>

	Save bookmarks by using `write-file' (bug#12507)

	Go back to using `write-file' to save bookmarks, instead of using
	`write-region'.  This means numbered backups of the bookmark file may
	get made again, depending on the value of `bookmark-version-control'.

	Thanks especially to Drew Adams and Eli Zaretskii for their
	persistence in tracking down information relevant to this change.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix filing messages when 'rmail-output-reset-deleted-flag' is non-nil

	* lisp/mail/rmailout.el (rmail-output): Fix off-by-one error in
	deciding when to advance to the next message under non-nil
	'rmail-output-reset-deleted-flag'.  (Bug#44839)

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Make file copying in tramp-gvfs more robust

	* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
	(tramp-test12-rename-file): Do not skip for tramp-gvfs.el.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
	Add sanity checks.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Revert "Fix incorrect handling of module runtime and environment pointers."

	This reverts commit cdc632fbe6e149318147a98cccf1b7af191f2ce8.
	Those changes are too significant and non-trivial to be
	suitable for a release branch at this time.

2021-02-03  Philipp Stephani  <phst@google.com>

	Fix incorrect handling of module runtime and environment pointers.

	We used to store module runtime and environment pointers in the static
	lists Vmodule_runtimes and Vmodule_environments.  However, this is
	incorrect because these objects have to be kept per-thread.  With this
	naive approach, interleaving module function calls in separate threads
	leads to environments being removed in the wrong order, which in turn
	can cause local module values to be incorrectly garbage-collected.

	Instead, turn Vmodule_runtimes and Vmodule_environments into
	hashtables keyed by the thread objects.  The fix is relatively
	localized and should therefore be safe enough for the release branch.

	Module assertions now have to walk the pointer list for the current
	thread, which is more correct since they now only find environments
	for the current thread.

	Also add a unit test that exemplifies the problem.  It interleaves two
	module calls in two threads so that the first call ends while the
	second one is still active.  Without this change, this test triggers
	an assertion failure.

	* src/emacs-module.c (Fmodule_load, initialize_environment)
	(finalize_environment, finalize_runtime_unwind): Store runtime and
	environment pointers in per-thread lists.
	(syms_of_module): Initialize runtimes and environments hashtables.
	(module_assert_runtime, module_assert_env, value_to_lisp): Consider
	only objects for the current thread.
	(module_gc_hash_table_size, module_hash_push, module_hash_pop): New
	generic hashtable helper functions.
	(module_objects, module_push_pointer, module_pop_pointer): New helper
	functions to main thread-specific lists of runtime and environment
	pointers.
	(mark_modules): Mark all environments in all threads.

	* test/data/emacs-module/mod-test.c (Fmod_test_funcall): New test
	function.
	(emacs_module_init): Bind it.

	* test/src/emacs-module-tests.el (emacs-module-tests--variable): New
	helper type to guard access to state in a thread-safe way.
	(emacs-module-tests--wait-for-variable)
	(emacs-module-tests--change-variable): New helper functions.
	(emacs-module-tests/interleaved-threads): New unit test.

2021-02-03  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix error in cache handling.  This fixes bug #43481

	* lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Handle correctly END
	being before HERE by using parse-partial-sexp to get the end of the literal
	containing HERE.

2021-02-03  Martin Rudalics  <rudalics@gmx.at>

	Revert extra focus redirection in do_switch_frame (Bug#24803)

	* src/frame.c (do_switch_frame): Do not also redirect frame
	focus when FRAME has its minibuffer window on the selected
	frame which was intended to fix Bug#24500.  It may cause
	Bug#24803 and lead to a nasty state where no active cursor is
	shown on any frame, see
	https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg01137.html.

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Minor cleanup of tramp-tests.el on MS Windows

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process):
	Do not test remote pty on MS Windows.

2021-02-03  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix handling of defcustom :local tag

	For discussion, see the following emacs-devel thread:
	https://lists.gnu.org/r/emacs-devel/2020-11/msg00734.html

	* lisp/custom.el (custom-declare-variable): Delay call to
	make-variable-buffer-local until after user option has been
	initialized with a value.  Otherwise the user option may be
	initialized to nil.
	* test/lisp/custom-tests.el (custom--test-local-option)
	(custom--test-permanent-option): New :local user options.
	(custom-test-local-option): New test for defcustom :local keyword.

2021-02-03  Alan Mackenzie  <acm@muc.de>

	CC Mode.  Fix an off by one error.  Fixes bug #41809

	* lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Change > to >= (twice).

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix display artifacts when 'display' properties cover newlines

	* src/xdisp.c (pos_visible_p): Set glyph_row of scratch iterators
	to NULL, to avoid producing glyphs while we figure out the layout.
	(Bug#44826)

2021-02-03  Stefan Kangas  <stefankangas@gmail.com>

	Sync latest SKK-JISYO.L

	* leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.

	(cherry picked from commit 6a5f9700846551a7f3795e257356dbab865116f4)

2021-02-03  Stefan Kangas  <stefan@marxist.se>

	Update publicsuffix.txt from upstream

	* etc/publicsuffix.txt: Update from
	https://publicsuffix.org/list/public_suffix_list.dat
	dated 2020-10-09 08:23:34 UTC.

	(cherry picked from commit 5b13afab0a903ead8363482529019d4fb80ec4b4)

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#44481

	* lisp/net/tramp.el (tramp-system-name): New defconst.
	(tramp-default-host, tramp-restricted-shell-hosts-alist)
	(tramp-local-host-regexp):
	* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.  (Bug#44481)

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor Edebug manual keystroke clarifications

	* doc/lispref/edebug.texi (Edebug Misc): Also mention the `a'
	binding to abort (bug#44697).  Also fix `d' function reference, and
	add `P' reference.

	(cherry picked from commit b613f25f97abf756101eaa2af90689a19c0b3350)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Make ignoring modifiers on IME input optional

	By default, ignore modifier keys on IME input, but add
	a variable to get back old behavior.
	* src/w32fns.c (syms_of_w32fns): New variable
	w32-ignore-modifiers-on-IME-input.
	(w32_wnd_proc): Use it to ignore modifier keys when IME input is
	used.  (Bug#44641)

	* etc/NEWS: Announce the change and the new variable.

2021-02-03  Masahiro Nakamura  <tsuucat@icloud.com>

	Ignore modifiers when processing WM_IME_CHAR messages

	* src/w32fns.c (w32_wnd_proc): Ignore modifiers when processing
	WM_IME_CHAR messages.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'font-spec'

	* doc/lispref/display.texi (Low-Level Font):
	* src/font.c (Ffont_spec): Document 'font-spec' keys that are
	supported, but were undocumented.

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Further doc fixes for dotimes about RESULT

	* lisp/subr.el (dotimes): Be even more explicit about RESULT
	(bug#16206).

	(cherry picked from commit 5b0d8d0f288fd505ca90bd30df709a5e7ab540d6)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Reformat argument commentary in etags.c

	* lib-src/etags.c (pfnote, consider_token, C_entries): Resurrect
	original format of comments to function arguments.

2021-02-03  Alan Mackenzie  <acm@muc.de>

	Make the invocation of combine-change-calls in comment-region valid

	This fixes bug #44581.  The problem was that whitespace outside of the (BEG
	END) region was being deleted, and this made the invocation of
	combine-change-calls with (BEG END) invalid.

	* lisp/newcomment.el (comment-region-default): Amend the second argument to
	combine-change-calls.

2021-02-03  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-langs.el (c-<>-notable-chars-re): Fix wrong '-' in regexp

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Update the various INSTALL files

	* nt/INSTALL.W64:
	* nt/INSTALL:
	* INSTALL: Update the installation information, in particular the
	fact that HarfBuzz is now preferred as the shaping library.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Don't leave lock files after 'replace-buffer-contents'

	* src/editfns.c (Freplace_buffer_contents): Unlock the buffer's
	file if no changes have been made.  (Bug#44303)

	(cherry picked from commit a5867ddfbd721568005175bf6c725f7834b21ea4)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix input method translation near read-only text

	* lisp/international/quail.el (quail-input-method): Don't disable
	input method when the character after point has the read-only
	property.  Suggested by Evgeny Zajcev <lg.zevlg@gmail.com>
	(Bug#44466)

	* doc/emacs/mule.texi (Input Methods): Document that input methods
	are inhibited in read-only text.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix display of truncated R2L lines on TTY frames

	* src/xdisp.c (extend_face_to_end_of_line): Use a while-loop, not
	a do-while loop, to avoid appending an extra glyph at the end of a
	line that is one character shorter than the window-width.  This is
	needed to fix display of reversed glyph rows that are almost as
	wide as the window, because append_space_for_newline already added
	one space glyph.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes when a reversed glyph row starts with a composition

	* src/dispnew.c (build_frame_matrix_from_leaf_window): Add an
	assertion to prevent us from overwriting non-char glyphs with the
	vertical border glyph.
	* src/xdisp.c (extend_face_to_end_of_line): Account for one glyph
	possibly inserted by append_space_for_newline.  (Bug#44506)
	Remove a kludgey correction for an off-by-one error in column
	counting, which is no longer needed.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Update information about refcards

	* admin/release-process (refcards):
	* admin/make-tarball.txt (refcards): Update information about
	generating refcards and required TeX/LaTeX packages.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes in the daemon due to user interaction

	* src/minibuf.c (read_minibuf): Avoid crashes in the daemon if the
	init file invokes some kind of minibuffer interaction, by not
	updating the selected frame if it's the initial frame.
	(Bug#44583)

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Some minor changes to Tramp, do not merge with master

	* lisp/net/tramp.el (tramp-handle-directory-files)
	(tramp-handle-directory-files-and-attributes):
	* lisp/net/tramp-adb.el
	(tramp-adb-handle-directory-files-and-attributes):
	* lisp/net/tramp-rclone.el (tramp-rclone-handle-directory-files):
	* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
	* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Add _COUNT.
	Make the functions forward compatible.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled):
	Increase `max-specpdl-size' temporarily.

	* test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun.
	(tramp-test05-expand-file-name-relative): Use it.

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more doc-view requirements

	* lisp/doc-view.el: Add more requirements.

2021-02-03  Philipp Stephani  <phst@google.com>

	Fix undefined behavior when fetching glyphs from the display vector.

	You can trigger this rather obscure bug by enabling selective display
	if the second glyph in its display vector has an invalid face.  For
	example, evaluate

	(set-display-table-slot standard-display-table
	                        'selective-display [?A (?B . invalid)])

	and then enable selective display.

	* src/xdisp.c (next_element_from_display_vector): Check whether next
	glyph code is valid before accessing it.

2021-02-03  Mattias Engdegård  <mattiase@acm.org>

	Fix pcase rx form snag with '?' and '??' (bug#44532)

	This is a regression from Emacs 26.
	Reported by Phillip Stephani.

	* lisp/emacs-lisp/rx.el (rx--pcase-transform): Process ? and ?? correctly.
	* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test case.

	(cherry picked from commit 575b0681d926463960fc00d1e33decaa71d5c956)

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Update the doc-view header line

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid breaking Arabic shaping in 'window-text-pixel-size'

	* src/xdisp.c (CHAR_COMPOSED_P): If the bidi_p flag is not set,
	pass -1 to composition_reseat_it, so that the shaping engine will
	figure out the directionality of the text.  This is important,
	e.g., when using move_it_* functions in some context that is not
	redisplay, such as 'window-text-pixel-size'.  (Bug#44521)

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	doc-view.el comment clarification

	* lisp/doc-view.el: Make the commentary mention that it's not
	limited to a narrow range of file formats (bug#44504).

2021-02-03  Daniel Martín  <mardani29@yahoo.es>

	Update erc documentation about C-c C-b

	* doc/misc/erc.texi (Keystroke Summary): C-c C-b runs
	erc-switch-to-buffer, which is implemented in terms of
	read-buffer (bug#44498).

2021-02-03  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)

	Fix 'uudecode-decode-region-internal' in multibyte buffers

	* lisp/mail/uudecode.el (uudecode-decode-region-internal): Fix
	inserting the decoded string into a multibyte buffer.  Optimize by
	working with characters, not strings.  (Bug#44411)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix 'send-string-to-terminal' writing very long strings

	* src/dispnew.c (Fsend_string_to_terminal): Prevent partial writes
	by blocking SIGIO while 'fwrite' runs.  (Bug#44320)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	* lisp/subr.el (read-char-from-minibuffer): Doc fix.  (Bug#44451)

2021-02-03  Earl Hyatt  <ej32u@protonmail.com>

	Fix documentation of 'windmove-swap-states-default-keybindings'

	* doc/emacs/windows.texi (Window Convenience): Fix description of
	'windmove-swap-states-default-keybindings' and related index
	entry.  (Bug#44441)

2021-02-03  Martin Rudalics  <rudalics@gmx.at>

	Split windows evenly when 'min-margins' parameter was set (Bug#44483)

	* lisp/window.el (split-window): Make new window inherit any
	'min-margins' parameter from WINDOW so that horizontal splits
	reliably produce windows of same width (Bug#44483).

2021-02-03  Pip Cet  <pipcet@gmail.com>

	Handle Cairo errors in ftcrfont_open

	* src/ftcrfont.c (ftcrfont_open): Handle Cairo errors (bug#41627).

	(cherry picked from commit 954a4decfcc8e41084789516773b22d0adc11d91)

2021-02-03  Stefan Kangas  <stefan@marxist.se>

	Backport: Fix exiting the finder-commentary buffer

	Do not merge to master.

	* lisp/finder.el (finder-exit): Fix exiting the finder-commentary
	buffer.  (Bug#44384)
	(finder-buffer): New defconst.
	(finder-list-keywords): Use above new defconst.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	* src/w32fns.c (Fw32_register_hot_key): Doc fix.  (Bug#44456)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Prevent redisplay from moving point behind user's back

	* src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
	Bind inhibit-quit to a non-nil value around calls to
	fast_looking_at, to prevent breaking out of redisplay_window,
	which temporarily moves point in buffers shown in non-selected
	windows.  (Bug#44448)

2021-02-03  Mauro Aranda  <maurooaranda@gmail.com>

	Document that the :match function for a widget takes an external value

	* doc/misc/widget.texi (Basic Types): Document what an external value
	is.  Document that a :match function expects the value to be in the
	external format.  (Bug#8717)

2021-02-03  Stephen Berman  <Stephen.Berman@gmx.net>

	Don't render XML declaration of an HTML document (bug#44348)

	* lisp/net/eww.el (eww--preprocess-html): Prevent converting the
	left angle bracket in the sequence "<?" to an HTML entity.

2021-02-03  Yasuhiro KIMURA  <yasu@utahime.org>  (tiny change)

	Recover the contents of the schemas.xml file

	* etc/schema/schemas.xml: Recover the file, which was apparently
	(mostly) removed by mistake by commit 165f738382 (bug#42851).

2021-02-03  Stefan Kangas  <stefan@marxist.se>

	Improve indexing of check-declare

	* doc/lispref/functions.texi (Declaring Functions): Improve indexing.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/commands.texi (Key Sequence Input): Fix indexing.

	(cherry picked from commit 41c4f337c8f798d4700dcd13b73ad4ccdb3257eb)

2021-02-03  Jared Finder  <jared@finder.org>

	Updating docs with all special window prefix keys.

	* doc/lispref/commands.texi (Key Sequence Input): Add documentation for
	missing special window areas.  Explicitly call out window or frame.

	(cherry picked from commit a105db13e11fd15cc72804bf33672122d1c3f2e1)

2021-02-03  Glenn Morris  <rgm@gnu.org>

	Improve reproducibility of generated -pkg.el files

	* lisp/emacs-lisp/package.el (package-generate-description-file):
	Don't include the full name of the source file in the header,
	since that varies non-reproducibly according to the build directory.
	https://bugs.debian.org/972861
	Note that elpa.gnu.org's admin/archive-contents.el does this by hand
	and already only includes the nondirectory part.

2021-02-03  Noah Friedman  <friedman@splode.com>

	Make sure pixel sizes are zero when setting window size for ptys.

	* sysdep.c (set_window_size): Initialize data to zero to avoid
	passing any garbage from the stack to ioctl.

2021-02-03  Ken Brown  <kbrown@cornell.edu>

	Fix failure of 'emacs --daemon' on Cygwin

	* src/emacs.c (DAEMON_MUST_EXEC): Define unconditionally on
	Cygwin, not just if HAVE_NTGUI is defined.  This fixes the failure
	of 'emacs --daemon' to start on the non-w32 Cygwin builds.
	(Bug#44285)

2021-02-03  Alan Mackenzie  <acm@muc.de>

	CC Mode: Only recognize foo (*bar) as a function pointer when followed by (

	* lisp/progmodes/cc-engine.el (c-forward-over-decl-or-cast-1): (after CASE 2)
	test variables got-suffix-after-parens and at-decl-end before invoking
	c-fdoc-shift-type-backward.

2021-02-03  Clemens Radermacher  <clemens.radermacher@posteo.de>

	Fix NEWS entry for fix of Bug#44080

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	* src/buffer.c (syms_of_buffer) <fill-column>: Improve doc string.

2021-02-03  Clemens Radermacher  <clemens.radermacher@posteo.de>

	Don't skip empty lines when fitting mini frame to buffer (Bug#44080)

	* lisp/window.el (fit-mini-frame-to-buffer,
	window--resize-mini-frame, fit-frame-to-buffer,
	fit-frame-to-buffer-1): By default, fit a mini frame without skipping its
	buffer's leading or trailing empty lines.
	* src/frame.c (resize-mini-frames): Update doc-string.
	* lisp/cus-start.el (resize-mini-frames): Update for customize.
	* doc/lispref/minibuf.texi (resize-mini-frames): Update description.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of display-fill-column-indicator

	* lisp/display-fill-column-indicator.el
	(display-fill-column-indicator-mode): Mention the globalized
	version in the doc string.

	* doc/emacs/display.texi (Displaying Boundaries): Improve and
	clarify the documentation of display-fill-column-indicator.
	Suggest using the minor mode as the primary means for turning the
	feature on.

	* src/xdisp.c (syms_of_xdisp) <display-fill-column-indicator>
	<display-fill-column-indicator-character>: Doc fix.  (Bug#44226)

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	* INSTALL: Mention efaq.texi for installation of intlfonts.

2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
	    Qiantan Hong  <qhong@mit.edu>

	Use WebKit sandboxing

	* src/xwidget.c (Fmake_xwidget): Enable sandboxing if WebKit 2.26
	or later.  Do this early, as required for sandboxing (Bug#43071).

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix tramp-sh-handle-make-process; don't merge with master

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Accept nil
	COMMAND.  (Bug#44151)

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process):
	Extend test.

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix an error in tramp-sh-handle-make-process.  Don't merge with master

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Don't use heredoc
	script when the argument contains a string.

2021-02-03  Stefan Kangas  <stefan@marxist.se>

	Recommend lexical-binding in Coding Conventions

	* doc/lispref/tips.texi (Coding Conventions, Library Headers):
	Recommend using lexical-binding.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid rare crashes while producing line numbers

	* src/xdisp.c (maybe_produce_line_number): Prevent freeing of
	realized faces for as long as we are using lnum_face_id and
	current_lnum_face_id for producing glyphs.  (Bug#44111)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'Info-hide-note-references' in info.texi

	* doc/misc/info.texi (Help-Xref): Improve the wording.
	(Emacs Info Variables): Update the documentation of
	'Info-hide-note-references'.  (Bug#44043)

2021-02-03  Stefan Kangas  <stefan@marxist.se>

	* admin/release-process: Add note to update files from upstream.

	(cherry picked from commit 86dd9d12aa5a273da2efd4ce8c6e35ae343f1494)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	* lisp/info.el (Info-hide-note-references): Doc fix.  (Bug#44043)

2021-02-03  Alan Mackenzie  <acm@muc.de>

	Make lisp/progmodes/js.el dependent on CC Mode in the Makefile.

	This will prevent version mismatches between compile time and runtime
	versions.  This fixes bug #43037.

	* lisp/Makefile.in: Make js.el dependent on cc-{defs,engine,mode}.elc.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Yet another fix for 'set-minibuffer-message'

	* lisp/minibuffer.el (set-minibuffer-message): Handle the case of
	separate minibuffer-only frame.  Suggested by Gregory Heytings
	<ghe@sdf.org>.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix posn-at-x-y in builds --without-x

	* src/keyboard.c (make_lispy_position): Don't exclude the
	window_or_frame = frame case from TTY-only builds.  Reported by
	Jared Finder <jared@finder.org>.

	* doc/lispref/commands.texi (Click Events): Document the format of
	POSITION in click events on the frame's internal border.

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the seq-reduce documentation

	* doc/lispref/sequences.texi (Sequence Functions): Ditto.

	* lisp/emacs-lisp/seq.el (seq-reduce): Clarify the order of the
	arguments (bug#43995).

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Make tramp-completion-reread-directory-timeout obsolete (Bug#43932)

	* doc/misc/tramp.texi (File name completion, Frequently Asked Questions):
	Remove `tramp-completion-reread-directory-timeout'.  (Bug#43932)

	* etc/NEWS: Mention tramp-completion-reread-directory-timeout as obsolete.

	* lisp/net/tramp.el (tramp-completion-reread-directory-timeout):
	Make it obsolete.

2021-02-03  Gregory Heytings  <ghe@sdf.org>  (tiny change)

	Fix 'message' when there's active minibuffer on another frame

	* lisp/minibuffer.el (set-minibuffer-message): Don't reuse the
	active minibuffer for displaying messages unless the active
	minibuffer is on the same frame as the selected window.

2021-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc tweak

	Try and clarify the meaning of `init-value`.

	(cherry picked from commit 46c0f28c0e4e212687e90ec0ecb239d994105a19)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	A better fix for bug#43886

	* src/xfaces.c (load_color2, Fcolor_distance): Revert last change.
	* src/term.c (clear_tty_hooks): Don't clear defined_color_hook.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes when a theme is loaded with one frame suspended

	* src/xfaces.c (load_color2, Fcolor_distance): Don't try to call
	the frame's defined_color_hook if the frame is suspended.
	(Bug#43886)

2021-02-03  Pankaj Jangid  <pankaj.jangid@gmail.com>  (tiny change)

	Removed an incorrectly placed extra word in the semantic docs

	* doc/misc/semantic.texi (Parser code): Copy edit (bug#43861).

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix current-line hscrolling when overlays change

	* src/xdisp.c (redisplay_internal): Disable "optimization 1" when
	auto-hscrolling current line and we're redisplaying the selected
	window.  (Bug#43835)

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Extend tests for shell-command-dont-erase-buffer

	* test/lisp/simple-tests.el
	(simple-tests-shell-command-dont-erase-buffer): Extend test.

	* test/lisp/net/tramp-tests.el
	(tramp-test32-shell-command-dont-erase-buffer): Adapt test.  Tag
	it :unstable.

2021-02-03  Hong Xu  <hong@hong.me>

	Clarify what ``chrooted environment means'' for TRAMP

	* doc/misc/tramp.texi (Frequently Asked Questions): Clarify what
	``chrooted environment means'' for TRAMP (bug#43839).

2021-02-03  Daniel Martín  <mardani29@yahoo.es>

	Add missing full stop in MS-DOS processes documentation

	* doc/emacs/msdos-xtra.texi (MS-DOS Processes): Minor copy edig
	(bug#43820).

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix merging of region face for non-ASCII characters

	* src/xdisp.c (extend_face_to_end_of_line): Restore the correct
	original face used by the iterator on this line, not the ASCII
	face.  (Bug#43363)

2021-02-03  Alan Third  <alan@idiocy.org>
	    Daniel Martín  <mardani29@yahoo.es>

	Make drag and drop on NS open all URLs (bug#43470)

	* lisp/term/ns-win.el (ns-drag-n-drop): Merge generic and copy
	actions.

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix electric-buffer-list buffer selection

	* lisp/ebuff-menu.el (electric-buffer-list): Ensure that point is
	restored, which isn't always the case if
	global-display-line-numbers-mode (bug#43755).  This enables
	selecting buffers again.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	* doc/misc/flymake.texi (Using Flymake): Fix a typo.  (Bug#43758)

2021-02-03  Robert Pluim  <rpluim@gmail.com>

	Don't error if no GPG signing key configured

	* lisp/gnus/mml-sec.el (mml-secure-epg-sign): Partially revert
	"Make mml-secure-epg-sign bug out if we can't find an identity".
	It causes signing to fail for people who have not set up
	mml-secure-{smime,openpgp}-sign-with-sender, which is a regression
	from Emacs-26 (Bug#40118).  In such a situation gpg will use its
	default key.

	Do not merge to master. On master Emacs will query the user.

2021-02-03  Michael R. Mauger  <michael@mauger.com>

	* lisp/progmodes/sql.el (sql-add-product): Re-correct argument
	spec.  Previous change was due to my mistake; I have
	resolved back to the prior behavior (Bug#39960).
	* test/lisp/progmodes/sql-tests.el (sql-test-add-product): Added
	test to insure I don't make the same mistake again.

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Make aliases introduced in previous patch obsolete

	* lisp/emacs-lisp/debug.el (debugger-toggle-locals):
	(debug-help-follow): Make reinstated aliases obsolete.

2021-02-03  Gemini Lasswell  <gazally@runbox.com>

	Restore some public debugging functions removed in Emacs 27

	* lisp/emacs-lisp/backtrace.el (backtrace--to-string): New function.
	(backtrace-to-string): Use it.  Fix whitespace (bug#40728).
	* lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function.
	Mark it as obsolete.
	(debugger-toggle-locals, debug-help-follow): New aliases.

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Clarification in Tramp manual

	* doc/misc/tramp.texi: Harmonize "Git" spelling.
	(Frequently Asked Questions): Describe Emacs version mismatch.

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Check Emacs version used for Tramp compilation

	* lisp/net/tramp-compat.el (tramp-compat-emacs-compiled-version):
	New defconst.  Raise a warning, when it is not equal to the Emacs
	version.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Don't signal an error when saving files on WdebDAV volumes

	* src/w32.c (acl_get_file): If get_file_security raises the
	ERROR_ACCESS_DENIED error, treat that like unsupported ACLs.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	* lisp/hi-lock.el (hi-lock-find-patterns): Autoload it.  (Bug#43670)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in the Emacs user manual

	* doc/emacs/emacs.texi (Top): Remove "real-time" from the Emacs
	description; add "advanced", to be consistent with what we say in
	the Introduction section.  (Bug#43633)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Followup to a recent change in menu-bar.el

	* lisp/fileloop.el (fileloop--operate-function): Mention in a
	comment that menu-bar.el relies on the default value.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Enable "Continue Tags Search" menu item only when it can be used

	* lisp/menu-bar.el (menu-bar-search-menu) <tags-continue>: Enable
	only when there was a previous tags search.  (Bug#43569)
	(menu-bar-replace-menu) <tags-repl-continue>: Enable only when
	there was a previous tags-replace.

2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix soap-client URL

	* lisp/net/soap-client.el (soap-create-envelope):
	Fix URL that I broke in 2019-09-23T06:53:30Z!eggert@cs.ucla.edu.
	Problem reported by Thomas Fitzsimmons.

2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix out-of-source ‘make check’ emacs-module-tests

	Problem reported by Koki Fukuda in:
	https://lists.gnu.org/r/emacs-devel/2020-07/msg00169.html
	* test/Makefile.in (MODULE_CFLAGS):
	Include from the same directories included from in ../src.
	* test/src/emacs-module-tests.el (module/describe-function-1):
	Strip path to source directory.

	(cherry picked from commit c86f3fe0d023cdd25edbbce91c5b32654f2b734e)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix support for Zip64 zip files

	* lisp/arc-mode.el (archive-zip-summarize): Fix detection of Zip64
	central directory.  Support 64-bit file size field used by Zip64.
	(Bug#43597)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	* lisp/hi-lock.el (hi-lock-auto-select-face): Doc fix.  (Bug#43600)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid infinite recursion with 'relative' line numbers display

	* src/xdisp.c (display_count_lines_visually): Bind
	'display-line-numbers' to 'relative' around 'start_display' as
	well, since that can invoke 'move_it_to' internally, thus
	causing infinite recursion.  (Bug#43589)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement in the ELisp manual's Introduction

	* doc/lispref/intro.texi (Printing Notation): Clarify what
	"execute code" means in this context.  (Bug#43463)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Mention in PROBLEMS the problems with fonts and Uniscribe

	* etc/PROBLEMS: Mention font-related problems with Uniscribe on
	MS-Windows.  (Bug#39340)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in 'line-height' documentation

	* doc/lispref/display.texi (Line Height): Describe the possible
	values of the 'line-height' property in a more consistent format.

2021-02-03  Gregor Zattler  <telegraph@gmx.net>

	* doc/misc/eww.texi: Document the `w' key's double function

	* doc/misc/eww.texi (Basics): Describe what the `w' command does
	in eww (bug#43517).

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix a rare segfault in syntax.c

	* src/syntax.c (Fforward_comment): Prevent the loop for COUNT < 0
	from going outside the valid range of character/byte positions.
	(Bug#43499)

	* doc/lispref/syntax.texi (Syntax Class Table): Mention the
	"comment-fence" and "string-fence" as alternative names of 2
	syntax classes.

2021-02-03  Alan Mackenzie  <acm@muc.de>

	Add doc to syntax-propertize-function saying it must do a 100% job

	and cannot be combined with other ways of applying syntax-table text
	properties.

	* lisp/emacs-lisp/syntax.el (syntax-propertize-function): Amend doc string.

	* doc/lispref/syntax.texi (Syntax Properties): Amend the description of the
	variable.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits of doc of 'with-silent-modifications'

	* doc/lispref/text.texi (Changing Properties):
	* doc/lispref/buffers.texi (Buffer Modification): Improve
	documentation and indexing of 'with-silent-modifications'.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'max-mini-window-height'

	* src/xdisp.c (syms_of_xdisp):
	* doc/lispref/minibuf.texi (Minibuffer Windows): More accurate
	wording in the documentation of 'max-mini-window-height', to
	clarify the meaning of an integer value.

2021-02-03  Daniel Martín  <mardani29@yahoo.es>

	Use modern constant names for the NS pasteboard

	Use the same pasteboard constant names defined in
	ns_drag_types. (Bug#43470).

	* src/nsterm.m: Rename NSURLPboardType to NSPasteboardTypeURL,
	NSStringPboardType to NSPasteboardTypeString, and
	NSTabularTextPboardType to NSPasteboardTypeTabularText

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix doc string of 'toggle-menu-bar-mode-from-frame'

	* lisp/menu-bar.el (toggle-menu-bar-mode-from-frame): Improve the
	wording of the doc string.  (Bug#43383)

2021-02-03  Glenn Morris  <rgm@gnu.org>

	Make vc-bzr tests work with brz 3.1 (bug#43314)

	* test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
	(vc-bzr-test-bug9781, vc-bzr-test-faulty-bzr-autoloads):
	Make them work with brz 3.1.

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	diff-no-select doc string clarification

	* lisp/vc/diff.el (diff-no-select): Update doc string from the trunk,
	don't merge.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation on TERMINFO platforms with GCC 10

	* src/terminfo.c [TERMINFO]: Don't redefine UP, BC, and CP, as
	that could cause linking errors due to multiple definitions.
	(Bug#43195)

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the font-lock-debug-fontify NEWS entry

	* etc/NEWS: Fix the name of `font-lock-debug-fontify' (bug#43319).

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes when trying to load bad GIF files

	* src/image.c (gif_load): Handle the case when GifErrorString
	returns NULL.  (Bug#43281)

2021-02-03  Alan Mackenzie  <acm@muc.de>

	C++ Mode: handle comma separated brace initializers.

	This includes both indentation and fontification.

	* lisp/progmodes/cc-engine.el (c-do-declarators): Handle brace initializers
	without = correctly.
	(c-looking-at-or-maybe-in-bracelist): Use c-do-declarators with a simple
	inline function to check that after-type-id-pos points to the start of a
	declarator.

	* lisp/progmodes/cc-langs.el (c-recognize-bare-brace-inits): New lang
	const/variable.

2021-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/display-fill-column-indicator.el: Fix bug#41145

	(global-display-fill-column-indicator-mode): Specify the implicit
	defustom's group explicitly.

	* lisp/cus-dep.el (custom-make-dependencies): Also look at
	define(-globalized)-minor-mode since it can also define custom vars.

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Backport recent change in tramp-tests.el from master, don't merge

	* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
	No need to expect different results in Emacs 28 and later.

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug in dbus.el; do not merge with master

	* lisp/net/dbus.el (dbus-register-property)
	(dbus-property-handler): Handle properties of the same interface
	at different object paths properly.  (Bug#43146)

2021-02-03  Stefan Kangas  <stefankangas@gmail.com>

	Fix help message with help-window-select

	* lisp/help.el (help-print-return-message):
	(help-window-display-message): Recommend 'scroll-up-command' instead
	of 'scroll-up' when 'help-window-select' is non-nil.  (Bug#43122)

2021-02-03  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Remove obsolete "Wide Characters" section of Gnus manual

	* doc/misc/gnus.texi: This hasn't been valid since 2016.

2021-02-03  Stefan Kangas  <stefankangas@gmail.com>

	Fix typo in Introduction to Emacs Lisp

	* doc/lispintro/emacs-lisp-intro.texi (type-of-animal in detail):
	Remove extraneous parenthesis.

2021-02-03  Stefan Kangas  <stefankangas@gmail.com>

	Update Elisp Manual reference to which-function-mode

	* doc/lispref/modes.texi (Mode Line Top, Mode Line Variables)
	Don't refer to obsolete alias for 'which-function-mode'.
	(Bug#13716)

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Some precisions to bug handling

	* admin/admin.el (reminder-for-release-blocking-bugs): Add date to subject.

	* admin/notes/bug-triage:
	* admin/notes/bugtracker: Minor precisions.

2021-02-03  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix processing for when c-multiline-string-start-char is a character

	* lisp/progmodes/cc-mode.el (c-pps-to-string-delim)
	(c-multiline-string-check-final-quote): Replace c-clear-char-property by
	c-clear-syn-tab.
	(c-multiline-string-check-final-quote): Replace c-put-char-property by
	c-put-syn-tab.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix description of %-constructs in 'mode-line-format'

	* doc/lispref/modes.texi (%-Constructs): Document %@ and remove
	%M, which is no longer supported.   (Bug#43092)

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-tests.el, don't merge with master

	* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name)
	(tramp-test05-expand-file-name-relative): Adapt tests.
	(tramp--test-emacs28-p): New defun.

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Adapt reminder-for-release-blocking-bugs

	* admin/admin.el (reminder-for-release-blocking-bugs):
	Require `debbugs-gnu' also in `interactive' form.

	* admin/release-process: Rename RELEASE-CRITICAL to RELEASE-BLOCKING.
	Adapt Emacs version.  Describe `reminder-for-release-blocking-bugs'.

2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix replace-region-contents performance bug

	Backport from master.
	* src/editfns.c (rbc_quitcounter): Remove; the quitcounter
	is now part of the context.
	(EXTRA_CONTEXT_FIELDS): Remove unused member early_abort_tests.
	Add jmp, quitcounter.
	(Freplace_buffer_contents): Use setjmp/longjmp to recover from
	a compareseq that runs too long.  Omit unnecessary rarely_quit
	call.
	(buffer_chars_equal): Occasionally check for early abort and
	longjmp out if so (Bug#43016).

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	* admin/admin.el (reminder-for-release-blocking-bugs): New command.

2021-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp 2.4.5-pre

	* doc/misc/tramp.texi: Adapt Tramp and Emacs version numbers.
	(Remote processes): Describe `process-file-return-signal-string'
	and $INSIDE_EMACS.
	(Frequently Asked Questions): Mention Emacs 28.
	Describe `tramp-smb-options'.

	* doc/misc/trampver.texi: Change version to "2.4.5-pre".

	* lisp/net/tramp-adb.el (process-file-return-signal-string): Declare.
	(tramp-adb-handle-write-region): Flush the cache after the file
	has been written.
	(tramp-adb-handle-set-file-modes, tramp-adb-handle-set-file-times):
	Add optional _FLAG.
	(tramp-adb-handle-copy-file, tramp-adb-handle-rename-file)
	(tramp-adb-handle-process-file): Use `tramp-file-local-name'.
	(tramp-adb-get-signal-strings): New defun.
	(tramp-adb-handle-process-file): Use it.
	(tramp-adb-handle-make-process): Implement `stderr'.  Use
	`insert-file-contents-literally'.
	(tramp-adb-send-command-and-check): Add optional argument
	EXIT-STATUS.
	(tramp-adb-handle-process-file): Use it.

	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
	Increase `max-specpdl-size' temporarily.

	* lisp/net/tramp-cache.el (top):
	Use `insert-file-contents-literally'.

	* lisp/net/tramp-cmds.el (tramp-rename-files):
	Use `tramp-file-local-name'.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Prevent crash for
	older Emacsen.
	(top): Adapt `tramp-gvfs-unload-hook'.
	(tramp-gvfs-handle-file-system-info): Fix error.
	(tramp-gvfs-handle-set-file-modes, tramp-gvfs-handle-set-file-times):
	Add optional _FLAG.

	* lisp/net/tramp-rclone.el (tramp-rclone-flush-directory-cache):
	Fix a problem with older Emacsen.

	* lisp/net/tramp-sh.el (process-file-return-signal-string): Declare.
	(tramp-sh-extra-args): Add "-noediting" as bash arg.
	(tramp-hexdump-encode, tramp-hexdump-awk-encode)
	(tramp-od-encode, tramp-od-awk-encode): New defconst.
	(tramp-awk-encode, tramp-awk-decode): Adapt.
	(tramp-awk-coding-test): Remove.
	(tramp-remote-coding-commands): Add hexdump/awk encoding.  (Bug#35639)
	(tramp-find-inline-encoding): Adapt handling of awk, hexdump and od.
	(tramp-get-remote-busybox, tramp-get-remote-awk)
	(tramp-get-remote-hexdump, tramp-get-remote-od): New defuns.
	(tramp-sh-handle-make-symbolic-link):
	(tramp-do-copy-or-rename-file-directly)
	(tramp-sh-handle-process-file, tramp-set-remote-path)
	(tramp-find-inline-encoding, tramp-get-remote-touch):
	Use `tramp-file-local-name'.
	(tramp-do-file-attributes-with-stat): Simplify shell command.
	Suppress errors (interpret as nil).
	(tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times):
	Add optional _FLAG.
	(tramp-sh-handle-make-process): Do not visit with
	`insert-file-contents'.  Delete tmp file only if exists.  Support
	`stderr' as file name.  Delete temporary stderr file.  Flush
	connection properties in time.
	(tramp-sh-get-signal-strings): New defun.
	(tramp-sh-handle-process-file): Use it.
	(tramp-sh-handle-write-region): Copy to temp file only if FILENAME
	exists.  (Bug#40156)
	(tramp-set-remote-path): Send the command in several chunks if it
	is too large.  (Bug#42538)
	(tramp-open-connection-setup-interactive-shell): Move up "set +o
	vi +o emacs" command.   (Bug#39399)
	(tramp-send-command-and-read): Suppress `signal-hook-function'
	when reading expression.
	(tramp-send-command-and-check): Add optional argument EXIT-STATUS.
	(tramp-sh-handle-process-file): Use it.  (Bug#41099)

	* lisp/net/tramp-smb.el (tramp-smb-conf): Fix docstring.
	(tramp-smb-options): New defcustom.
	(tramp-smb-handle-copy-directory, tramp-smb-handle-file-acl)
	(tramp-smb-handle-set-file-acl, tramp-smb-maybe-open-connection):
	Use it.
	(tramp-smb-errors): Add "NT_STATUS_INVALID_PARAMETER".
	(tramp-smb-handle-make-symbolic-link)
	(tramp-smb-handle-process-file): Use `tramp-file-local-name'.

	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
	(tramp-sudoedit-handle-set-file-uid-gid):
	Use `tramp-unquote-file-local-name'.
	(tramp-sudoedit-handle-make-symbolic-link):
	Use `tramp-file-local-name'.
	(tramp-sudoedit-handle-file-system-info): Fix a scoping error.
	(tramp-sudoedit-handle-set-file-modes):
	(tramp-sudoedit-handle-set-file-times): Add optional _FLAG.

	* lisp/net/tramp.el: Bump version to 2.4.5-pre.
	(tramp-file-local-name, tramp-unquote-file-local-name): New defuns.
	(tramp-set-connection-local-variables-for-buffer)
	(tramp-equal-remote, tramp-handle-make-auto-save-file-name):
	Use `tramp-tramp-file-p'.
	(tramp-parse-file): Use `insert-file-contents-literally'.
	(tramp-handle-file-modes, tramp-handle-file-times):
	Add optional _FLAG.
	(tramp-handle-shell-command): Fix `window-start' in output buffer.
	(Bug#39171)
	Handle `shell-command-dont-erase-buffer'.  (Bug#39067)
	Reorganize error-buffer handling.  Set `default-directory'.
	(Bug#39253)
	(tramp-handle-shell-command, tramp-handle-start-file-process):
	Implement asynchronous `error-buffer'.
	(tramp-action-process-alive): Read pending output.
	(tramp-read-passwd): Use `tramp-compat-temporary-file-directory'.
	(Bug#39389, Bug#39489)
	(tramp-interrupt-process): Improve command.

	* lisp/net/trampver.el: Change version to "2.4.5-pre".
	(tramp-repository-branch, tramp-repository-version):
	Bind `debug-on-error' to nil.

	* test/lisp/net/tramp-tests.el (tramp-get-remote-gid)
	(process-file-return-signal-string)
	(shell-command-dont-erase-buffer): Declare.
	(tramp-test10-write-region, tramp-test28-process-file)
	(tramp-test29-start-file-process, tramp-test30-make-process)
	(tramp-test31-interrupt-process, tramp-test32-shell-command):
	Extend test.
	(tramp-test10-write-region, tramp-test21-file-links): Use function
	symbols.
	(tramp-test18-file-attributes): Check `file-ownership-preserved-p'
	only if possible.
	(tramp--test-async-shell-command): New defun.
	(tramp--test-shell-command-to-string-asynchronously): Use it.
	(tramp-test32-shell-command-dont-erase-buffer): New test.

2021-02-03  Phillip Lord  <phillip.lord@russet.org.uk>

	Fix error in GMP test

	* etc/w32-feature.el: Update to use system-configuration-features for
	  GMP test.

2021-02-03  Phillip Lord  <phillip.lord@russet.org.uk>

	Add Feature testing for Windows binaries

	* etc/w32-feature.el: New file

2021-02-03  Stefan Kangas  <stefankangas@gmail.com>

	Revert "; * etc/NEWS: Remove temporary note on documentation.  (Bug#42917)"

	This reverts commit 121be3e1181e609734fc4cc9d2d54cf7eec18ab2.

2021-02-03  Glenn Morris  <rgm@gnu.org>

	* admin/admin.el (set-version): Trap yet another NEWS error.

2021-02-03  Mattias Engdegård  <mattiase@acm.org>

	Fix cond jump table compilation (bug#42919)

	This bug affected compilation of

	 (cond ((member '(some list) variable) ...) ...)

	While equal is symmetric, member is not; in the latter case the
	arguments must be a variable and a constant list, in that order.

	Reported by Ikumi Keita.

	* lisp/emacs-lisp/bytecomp.el (byte-compile--cond-switch-prefix):
	Don't treat equality and member predicates in the same way; only
	the former are symmetric in their arguments.
	* test/lisp/emacs-lisp/bytecomp-tests.el
	(byte-opt-testsuite-arith-data): Add test cases.

2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Let Emacs start even if curdir is inaccessible

	* lisp/startup.el (normal-top-level): Also delete PWD if
	file-attributes fails for either $PWD or default-directory,
	instead of failing out of the top level.
	This fixes a regression from Emacs 26 (Bug#42903).

2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS: Mention GnuPG 2.0 through 2.1.5 issue (Bug#42845).

2021-02-03  Robert Pluim  <rpluim@gmail.com>

	Fix bug with ~/Emacs file not being read at init

	* src/xrdb.c (get_user_app): Put "/" between homedir
	and %L or %N (Bug#42827).

2021-02-03  Tino Calancha  <tino.calancha@gmail.com>

	Prevent from frozen frame after `C-z' in Lucid builds

	Some WMs (e.g. mutter in Gnome Shell) don't unmap iconized windows,
	thus we won't get a MapNotify when deconifying them.
	Check if we are deconifying a window elsewhere (Bug#42655).

	- src/xterm.c (handle_one_xevent):
	Check for window deconify when receiving a FocusIn signal.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Document the 'flex' completion style

	* doc/emacs/mini.texi (Completion Styles): Document the 'flex'
	completion style.  (Bug#42763)

2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Note that Emacs needs systemd support if systemd is used to stop/start

	* etc/NEWS: Note that Emacs needs to be built with systemd support
	systemd is used to stop/start Emacs (bug#42242).  Change suggested by
	Bhavin Gandhi <bhavin7392@gmail.com>

2021-02-03  Mattias Engdegård  <mattiase@acm.org>

	Regexps cannot infloop; fix manual

	* doc/lispref/searching.texi (Regexp Special): Edit erroneous
	statements about infinite looping in regexps.

	(cherry picked from commit 63268253d21c57d991cba3f3b083d74f154a26fe)

2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix startup working dir bug on NeXTSTEP

	* src/emacs.c (main) [NS_IMPL_COCOA]: Update emacs_wd
	after a NS GUI chdirs successfully (Bug#42836).

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of function argument lists

	* doc/lispref/functions.texi (Lambda Components)
	(Defining Functions): Add a cross-reference to "Argument List".
	(Argument List): Improve the section name.  (Bug#42750)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of special events

	* doc/lispref/commands.texi (Misc Events): Explain how to bind
	special events to commands.

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix face merging at EOL when inherited face specifies :extend

	* src/xfaces.c (merge_face_ref): Handle correctly faces that
	inherit from another, and in addition specify :extend.
	(Bug#42552)

	(cherry picked from commit 39c90f8dfabe158ad7ac9243aa9b9dedb9409e19)

2021-02-03  Eli Zaretskii  <eliz@gnu.org>

	Fix face extension past EOL in overlay strings

	* src/xdisp.c (face_at_pos): Pass ATTR_FILTER to
	face_for_overlay_string.
	* src/xfaces.c (face_for_overlay_string): Accept an additional
	argument ATTR_INDEX and pass it to merge_face_ref for merging the
	face at POS.  This ensures a face from buffer text will not be
	merged unless it specifies the :extend attribute.  (Bug#42552)
	* src/dispextern.h (face_for_overlay_string): Adjust prototype.

	(cherry picked from commit 35564bea4d73bc266743216599d01d644aed6fd8)

2021-02-03  Phil Sainty  <psainty@orcon.net.nz>

	Fix comint-redirect-results-list regexp usage (Bug#42662)

	* lisp/comint.el (comint-redirect-results-list-from-process):
	Don't treat the literal string argument COMMAND as a regexp.

2021-02-03  Nicolas Petton  <nicolas@petton.fr>

	* etc/HISTORY: Update the Emacs 27.1 release date.

2020-08-03  Phil Sainty  <psainty@orcon.net.nz>

	lisp/so-long.el: Improve support for major mode hooks

	* lisp/so-long.el (so-long-remember-all, so-long-disable-minor-modes)
	(so-long-override-variables): Store and use the `so-long-minor-modes'
	and `so-long-variable-overrides' values seen by the original major
	mode, so that buffer-local changes made in the major mode hook will be
	respected.

	Add documentation of this and other major mode hook usage.

2020-08-02  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)

	Avoid segfaults if XIM is set but not xim_styles

	Emacs segfaults at the X11 initialization if XIM is set
	and xim_styles is NULL.  This patch avoids the crash.
	* src/xfns.c: Check also if FRAME_X_XIM_STYLES(f) is NULL.
	(Bug#42676)  (Bug#42673)  (Bug#42677)

2020-07-31  Philipp Stephani  <phst@google.com>

	Backport: Make checking for liveness of global values more precise.

	We can't just use a hash lookup because a global and a local reference
	might refer to the same Lisp object.

	* src/emacs-module.c (module_free_global_ref): More precise check for
	global liveness.

	(cherry picked from commit 9f01ce6327af886f26399924a9aadf16cdd4fd9f)

2020-07-31  Philipp Stephani  <phst@google.com>

	Backport: Fix subtle bug when checking liveness of module values.

	We can't simply look up the Lisp object in the global reference table
	because an invalid local and a valid global reference might refer to
	the same object.  Instead, we have to test the address of the global
	reference against the stored references.

	* src/emacs-module.c (module_global_reference_p): New helper function.
	(value_to_lisp): Use it.

	(cherry picked from commit 6355a3ec62f43c9b99d483982ff851d32dd78891)

2020-07-31  Philipp Stephani  <phst@google.com>

	Backport: Fix memory leak for global module objects (Bug#42482).

	Instead of storing the global values in a global 'emacs_value_storage'
	object, store them as hash values alongside the reference counts.
	That way the garbage collector takes care of cleaning them up.

	* src/emacs-module.c (global_storage): Remove.
	(struct module_global_reference): New pseudovector type.
	(XMODULE_GLOBAL_REFERENCE): New helper function.
	(module_make_global_ref, module_free_global_ref): Use
	'module_global_reference' struct for global reference values.
	(value_to_lisp, module_handle_nonlocal_exit): Adapt to deletion of
	'global_storage'.

	(cherry picked from commit 5c5eb9790898e4ab10bcbbdb6871947ed3018569)

2020-07-30  Nicolas Petton  <nicolas@petton.fr>

	* admin/authors.el (authors-aliases): Remove a faulty regexp.

2020-07-29  Stefan Kangas  <stefankangas@gmail.com>

	* doc/lispref/symbols.texi (Definitions): Fix typo.

2020-07-28  Nicolas Petton  <nicolas@petton.fr>

	* etc/HISTORY: Add Emacs 27.1 release date.

2020-07-28  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 27.1

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version.

2020-07-28  Nicolas Petton  <nicolas@petton.fr>

	* etc/AUTHORS: Update.

2020-07-28  Nicolas Petton  <nicolas@petton.fr>

	Update authors.el

	* admin/authors.el (authors-aliases): Add author aliases.

2020-07-28  Nicolas Petton  <nicolas@petton.fr>

	* etc/NEWS: Remove temporary markup.

2020-07-26  Philipp Stephani  <phst@google.com>

	Add another test for global module references

	* test/src/emacs-module-tests.el (mod-test-globref-reordered): New
	unit test.

	* test/data/emacs-module/mod-test.c (Fmod_test_globref_reordered): New
	test module function.
	(emacs_module_init): Export it.

2020-07-26  Philipp Stephani  <phst@google.com>

	Backport: add another test case for module assertions.

	This backports commit 9f01ce6327 from master.  Since the bug isn’t
	present on emacs-27, just backport the new test case.

	* test/data/emacs-module/mod-test.c (Fmod_test_globref_invalid_free):
	New test module function.
	(emacs_module_init): Export it.

	* test/src/emacs-module-tests.el
	(module--test-assertions--globref-invalid-free): New unit test.

2020-07-26  Philipp Stephani  <phst@google.com>

	Backport: Add module test for edge case.

	This backports commit 6355a3ec62 from master.  Since the bug isn’t
	present in emacs-27, just backport the test case.

	* test/data/emacs-module/mod-test.c
	(Fmod_test_invalid_store_copy): New test module function.
	(emacs_module_init): Export it.

	* test/src/emacs-module-tests.el
	(module--test-assertions--load-non-live-object-with-global-copy):
	New unit test.

2020-07-25  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* src/composite.c (composition_reseat_it): Fix of the commentary,
	and a minor change of the last fix.

2020-07-25  Pip Cet  <pipcet@gmail.com>

	Fix Arabic shaping when column-number-mode is in effect

	* src/indent.c (scan_for_column, compute_motion): Pass -1,
	instead of NEUTRAL_DIR, to 'composition_reseat_it'.
	* src/composite.c (composition_reseat_it): Interpret negative
	value of BIDI_LEVEL to mean the caller doesn't know what is the
	bidi direction of the text.  (Bug#41005)

2020-07-24  Eli Zaretskii  <eliz@gnu.org>

	Fix description of kmacro-* commands in the user manual

	* doc/emacs/kmacro.texi (Basic Keyboard Macro): Separate old-style
	macro definition commands from the new style in the summary
	table.  (Bug#42492)

2020-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix viewing of encrypted S/MIME messages

	* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Don't
	add a content-type header if there already is one (bug#41659).

2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>

	Revert "Rectify allout-widgets region undecoration so item at start is not missed."

	This reverts commit 33d85cb768b40794bffcd9ab22fbdec1211a74e5.

	Backporting it to emacs-27 was not appropriate.

2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>

	Revert "Resolve missing button-region keymap bindings."

	This reverts commit dd7c191291c8eb1afeac0f1512745491c5c7a317.

	Backporting it to emacs-27 was not appropriate.

2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>

	Revert "Provide missing let definition to prevent background void-variable error."

	This reverts commit 3c410b6b4753e02269bb36914e7534eb124150dd.

	Backporting it to emacs-27 was not appropriate.

2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>

	Revert "Don't let item decoration be disrupted by too-shallow items."

	This reverts commit 8684216542889fa57daa32072104afc69785907f.

	Backporting it to emacs-27 was not appropriate.

2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>

	Revert "Fix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)"

	This reverts commit 8e13d332481551e4c8c1c66dd0c69dd09256dffc.

	Backporting it to emacs-27 was not appropriate.

2020-07-21  Robert Pluim  <rpluim@gmail.com>

	Run custom-magic-reset in the customize buffer

	If the user has navigated away from the customize buffer, then
	clicking on a widget in the customize buffer applies changes in the
	selected buffer rather than in the customize buffer.  Pass the
	customize buffer to 'custom-magic-reset' to avoid this.

	* lisp/cus-edit.el (custom-magic-reset): Add optional buffer argument,
	apply changes in that buffer.
	(custom-notify): Pass the buffer containing the widget to
	'custom-magic-reset'.  (Bug#40788)

2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>

	Backport: Rectify allout-widgets region undecoration so item at start is not missed.

	* lisp/allout-widgets.el (allout-widgets-undecorate-region):
	Reorganize the loop so an item at the start is not skipped.

	(cherry picked from commit 33d85cb768b40794bffcd9ab22fbdec1211a74e5)

2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>

	Backport: Resolve missing button-region keymap bindings.

	* lisp/allout-widgets.el (allout-item-icon-keymap,
	allout-item-body-keymap, allout-cue-span-keymap, allout-widgets-mode):
	Inherit from both (current-local-map) and (current-global-map). This
	provides for missing global bindings when inheriting from
	just (current-local-map), eg Esc-<.

	(cherry picked from commit dd7c191291c8eb1afeac0f1512745491c5c7a317)

2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>

	Backport: Provide missing let definition to prevent background void-variable error.

	* lisp/allout-widgets.el (allout-widgets-exposure-change-processor)
	Let-declare handled-conceal, for reference through `(symbol-value)'
	within the let body. (Because the error happens in an
	after-change-functions hook, so it is caught and reported as a message
	by allout-widgets-hook-error-handler.)

	(cherry picked from commit 3c410b6b4753e02269bb36914e7534eb124150dd)

2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>

	Backport: Don't let item decoration be disrupted by too-shallow items.

	* lisp/allout-widgets.el (allout-decorate-item-and-context): Check for
	parent-position having value before using it.

	Also, shift local emacs vars topic deeper so it doesn't constitute
	an instance of that particular aberrant case.

	(cherry picked from commit 8684216542889fa57daa32072104afc69785907f)

2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>

	Backport: Fix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)

	* lisp/allout-widgets.el (allout-decorate-item-cue): Properly decorate
	item cue span.
	(allout-setup-text-properties): use allout-graphics-modification-handler
	as allout-cue-span-category modification hook.

	(cherry picked from commit 8e13d332481551e4c8c1c66dd0c69dd09256dffc)

2020-07-20  Robert Pluim  <rpluim@gmail.com>

	Document prefix arg effects for 'epa-mail-{sign,encrypt}'

	* doc/misc/epa.texi (Mail-mode integration): Describe effect of
	prefix arg to 'epa-mail-encrypt' and 'epa-mail-sign'.

	* lisp/epa-mail.el (epa-mail-sign): Describe effect of prefix arg.

2020-07-20  Robert Pluim  <rpluim@gmail.com>

	* etc/NEWS: Correct description of :client-certificate change

2020-07-18  Eli Zaretskii  <eliz@gnu.org>

	Revert "Fix filename completion in shell mode buffers"

	This reverts commit e4d17d8cb479ffeeb7dfb7320a1432722ac8df75.
	Per bug#42383 discussions, the fix for bug#34330 probably
	just works around the real issue, which is in pcomplete.el.

2020-07-18  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'bookmark-bmenu-mode'

	* lisp/bookmark.el (bookmark-bmenu-mode): Add
	`bookmark-bmenu-search' to the doc string.  (Bug#42325)

2020-07-18  Eli Zaretskii  <eliz@gnu.org>

	Update systems using GnuTLS certificate files

	* lisp/net/gnutls.el (gnutls-trustfiles): Update the names of the
	systems in the comments.  Reported by Richard Stallman <rms@gnu.org>
	in
	https://lists.gnu.org/r/emacs-devel/2020-07/msg00455.html.

2020-07-17  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'kill-emacs'

	* doc/lispref/os.texi (Killing Emacs):
	* src/emacs.c (Fkill_emacs): Document what non-integer, non-string
	argument to 'kill-emacs' means.  (Bug#42400)

2020-07-17  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'display-raw-bytes-as-hex'

	* doc/emacs/display.texi (Text Display): Mention
	'display-raw-bytes-as-hex'.  (Bug#42384)

2020-07-17  Robert Pluim  <rpluim@gmail.com>

	Correct descriptions of init file

	These still referred to XDG as being preferred.

	* doc/emacs/custom.texi (Init File): Correct description of init
	file preference order (Bug#42388).

	* doc/emacs/custom.texi (Find Init): Correct description of
	default init-file.

2020-07-16  Eli Zaretskii  <eliz@gnu.org>

	Fix interrupt-process on MS-Windows

	* src/w32proc.c (sys_kill): Test the status of the left Ctrl key
	for the purpose of restoring it after simulating Ctrl-C.  This
	avoids leaving the left Ctrl key status in depressed state when
	the user actually pressed the right Ctrl key.  (Bug#42350)

2020-07-11  Andrea Corallo  <akrl@sdf.org>

	Revert "* doc/misc/flymake.texi (An annotated example backend): Typo fix."

	This reverts commit b1ad0380d2372b8df35ff603b8918d22c27ad964.

2020-07-11  Mattias Engdegård  <mattiase@acm.org>

	Correct 'concat' manual entry (bug#42296)

	* doc/lispref/strings.texi (Creating Strings): 'concat' does not
	necessarily return a newly allocated string.  This has been the case
	at least since 1997 (Emacs 20.3).

2020-07-11  Andrea Corallo  <akrl@sdf.org>

	* doc/misc/flymake.texi (An annotated example backend): Typo fix.

2020-07-11  Eli Zaretskii  <eliz@gnu.org>

	Add commentary in gtkutil.c

	* src/gtkutil.c: Add a comment regarding the incompatibilities
	vis-a-vis GTK.  Suggested by Richard Stallman <rms@gnu.org>.

2020-07-10  Basil L. Contovounesios  <contovob@tcd.ie>

	Consistently stylize eldoc as ElDoc in prose

	* doc/emacs/custom.texi (Specifying File Variables):
	* doc/emacs/modes.texi (Major Modes):
	* doc/emacs/programs.texi (Lisp Doc):
	* etc/NEWS.22:
	* etc/NEWS.23:
	* lisp/progmodes/python.el:
	(python-eldoc-function):
	* test/lisp/progmodes/python-tests.el: Consistently capitalize eldoc
	as ElDoc rather than Eldoc.

2020-07-09  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of "C-u C-x ="

	* doc/emacs/mule.texi (International Chars): Mention the
	composition information displayed by "C-u C-x =".  (Bug#42256)

2020-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	Mention floating rounding issues

	* doc/lispref/numbers.texi (Float Basics): Mention floating-point
	rounding issues uncovered by the discussion in Bug#42417.

2020-07-09  Mattias Engdegård  <mattiase@acm.org>

	Repair global-auto-revert-ignore-modes (bug#42271)

	Reported by Gustavo Tavares Cabral.

	* lisp/autorevert.el (auto-revert--global-add-current-buffer): Fix typo.

2020-07-08  Eli Zaretskii  <eliz@gnu.org>

	One more improvement of left/right-fringe display spec docs

	* doc/lispref/display.texi (Fringe Bitmaps): Yet another
	clarification of how to use FACE in left/right-fringe display
	spec.

2020-07-07  Eli Zaretskii  <eliz@gnu.org>

	Another clarification of left/right-fringe display spec

	* doc/lispref/display.texi (Fringe Bitmaps): More accurate
	description of what FACE means in the left/right-fringe display
	spec.

2020-07-07  Eli Zaretskii  <eliz@gnu.org>

	Avoid infloop in 'format-mode-line'

	* src/xdisp.c (decode_mode_spec): Don't use W->start if it is
	outside of the buffer's accessible region.  (Bug#42220)

2020-07-05  Eli Zaretskii  <eliz@gnu.org>

	Clarify the documentation of 'left/right-fringe' display spec

	* doc/lispref/display.texi (Other Display Specs, Fringe Bitmaps):
	Clarify how the optional FACE parameter of the left-fringe and
	right-fringe display spec is used.  Reported by Gregory Heytings
	<ghe@sdf.org>.

2020-07-04  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement in ELisp manual

	* doc/lispref/frames.texi (Position Parameters): Clarify the
	description of the 'above' frame parameter.  (Bug#42154)

2020-07-02  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Customizing Methods): Fix typo.

2020-06-29  Philipp Stephani  <phst@google.com>

	Fix undefined behavior in json.c (Bug#42113)

	* src/json.c (lisp_to_json_toplevel_1, Fjson_parse_string): Check
	whether input strings are actually strings.

	* test/src/json-tests.el (json-parse-string/wrong-type)
	(json-serialize/wrong-hash-key-type): New regression tests.

2020-06-28  Richard Kim  <emacs18@gmail.com>

	Fix ACTION argument of 'display-buffer' call in gud.el

	* lisp/progmodes/gud.el (gud-common-init): The ACTION argument of
	'display-buffer' should be a list of list of functions.  (Bug#41888)

2020-06-27  Eli Zaretskii  <eliz@gnu.org>

	* src/keyboard.c (Fclear_this_command_keys): Doc fix.

2020-06-27  Eli Zaretskii  <eliz@gnu.org>

	Improve do string of 'man'

	* lisp/man.el (man): Mention the need to use C-q for quoting the
	SPC character in the man-page input.  (Bug#41859)

2020-06-26  Eli Zaretskii  <eliz@gnu.org>

	Fix posn-at-point at beginning of a display string

	* src/xdisp.c (pos_visible_p): Account for the line-number width
	when the display string at CHARPOS ends in a newline.  (Bug#42039)

2020-06-26  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Info node movement commands

	* lisp/info.el (Info-next, Info-prev, Info-forward-node)
	(Info-backward-node): More detailed descriptions of what each
	commands does with respect to child and parent nodes.  (Bug#42050)

2020-06-22  Phillip Lord  <phillip.lord@russet.org.uk>

	Add Jansson dependency to Windows Build

	* admin/nt/dist-build/build-dep-zips.py: Add dependency

2020-06-22  Richard Copley  <rcopley@gmail.com>  (tiny change)

	Unbreak 'reverse-region'

	* lisp/sort.el (reverse-region): Unbreak the function.  It was
	broken by a fix for bug#39376.

2020-06-22  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix typos and markup in fill column indicator docs

	* doc/emacs/display.texi (Displaying Boundaries): Fix typos and
	Texinfo markup.

2020-06-20  Stephen Berman  <stephen.berman@gmx.net>

	Avoid crashes in 'defconst'

	* src/eval.c (Fdefconst): Verify that SYMBOL is a known symbol.
	(Bug#41817)

2020-06-20  Richard Stallman  <rms@gnu.org>

	Fix text about Lisp archives in the Emacs FQ

	* doc/misc/efaq.texi (Packages that do not come with Emacs): Warn
	about using Lisp archives other than GNU ELPA.

2020-06-20  Eli Zaretskii  <eliz@gnu.org>

	Don't use 'cl' functions in ELisp manual's examples

	* doc/lispref/control.texi (pcase Macro): Use 'cl-evenp' instead
	of 'evenp'.  (Bug#41947)

2020-06-17  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix some Texinfo markup

	* doc/misc/gnus-faq.texi (FAQ 3-11):
	* doc/emacs/frames.texi (Tab Bars): Consistently use @var with
	lower-case metasyntactic variables and @minus instead of a dash.
	(Text-Only Mouse):
	* doc/emacs/files.texi (Auto Revert):
	* doc/emacs/misc.texi (emacsclient Options)
	(Embedded WebKit Widgets):
	* doc/lispref/control.texi (pcase Macro):
	* doc/lispref/debugging.texi (Backtraces):
	* doc/lispref/files.texi (Truenames):
	* doc/lispref/frames.texi (Management Parameters):
	* doc/lispref/os.texi (Time Calculations):
	* doc/lispref/text.texi (Parsing JSON):
	* doc/misc/efaq-w32.texi (Other versions of Emacs, Debugging)
	(Swap Caps NT, Printing, Bash, Developing with Emacs):
	* doc/misc/efaq.texi (New in Emacs 25):
	* doc/misc/emacs-gnutls.texi (Help For Users):
	* doc/misc/message.texi (Using S/MIME, Passphrase caching):
	* test/manual/etags/tex-src/gzip.texi (Overview): Use @. when a
	sentence in the middle of a paragraph ends with an upper-case letter
	as per "(texinfo) Ending a Sentence".

2020-06-17  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix recentf typo in Emacs manual

	* doc/emacs/files.texi (File Conveniences): Fix misspelling of
	recentf-list.

2020-06-17  Juri Linkov  <juri@linkov.net>

	Rename default function to next-error-buffer-unnavigated-current (bug#40919)

	* lisp/simple.el (next-error-find-buffer-function): Rename default function
	from next-error-no-navigation-try-current
	to next-error-buffer-unnavigated-current.

2020-06-17  Juri Linkov  <juri@linkov.net>

	* lisp/image-mode.el (image-toggle-display-image): Fix fit of rotated images.

	When fitting rotated image to width and height, swap width and height
	when changing orientation between portrait and landscape (bug#41886).

2020-06-16  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Predefined connection information): Add "tmpdir".

2020-06-13  João Távora  <joaotavora@gmail.com>

	Delete, don't kill, dir fragments in icomplete-fido-backward-updir

	Reported by: Andrew Schwartzmeyer <andrew@schwartzmeyer.com>

	* lisp/icomplete.el (icomplete-fido-backward-updir): Don't save
	dir fragments to kill ring.

2020-06-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Revert markup change in with-coding-priority docs

	This partially reverts commit fc759eb9b3
	"Fix with-coding-priority markup in Elisp manual"
	of 2019-10-13T15:36:02Z!contovob@tcd.ie.

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2019-10/msg00550.html
	https://lists.gnu.org/r/emacs-devel/2020-06/msg00473.html

	* doc/lispref/nonascii.texi (Specifying Coding Systems): Use more
	specific cross-reference to progn even if info.el displays it
	suboptimally.

2020-06-10  Juri Linkov  <juri@linkov.net>

	* lisp/emulation/cua-rect.el (cua--rectangle-region-insert): New function.

	Add cua--insert-rectangle around region-insert-function (bug#41440).

2020-06-09  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (shell-command-on-region): Fix docstring.

	* lisp/simple.el (shell-command-on-region): Mention REGION-NONCONTIGUOUS-P
	in docstring (bug#41440)

	* etc/NEWS: Better example for 'windmove-display-default-keybindings'.

2020-06-08  Basil L. Contovounesios  <contovob@tcd.ie>

	Clean up D-Bus documentation (bug#41744)

	* doc/lispref/errors.texi (Standard Errors): The error symbol
	dbus-error is defined even when Emacs is built without D-Bus.

	* doc/misc/dbus.texi (Bus Names, Introspection)
	(Nodes and Interfaces, Methods and Signal)
	(Properties and Annotations, Arguments and Signatures)
	(Synchronous Methods, Receiving Method Calls, Signals)
	(Alternative Buses, Errors and Events): Clarify wording.  Fix
	indentation of and simplify examples where possible.  Improve
	Texinfo markup and cross-referencing where possible.
	(Type Conversion): Ditto.  Remove mentions of Emacs' fixnum range
	now that we have bignums.

	* lisp/net/dbus.el (dbus-return-values-table)
	(dbus-call-method-asynchronously, dbus-send-signal)
	(dbus-register-signal, dbus-register-method)
	(dbus-string-to-byte-array, dbus-byte-array-to-string)
	(dbus-escape-as-identifier, dbus-check-event, dbus-event-bus-name)
	(dbus-event-message-type, dbus-event-serial-number)
	(dbus-event-service-name, dbus-event-path-name)
	(dbus-event-interface-name, dbus-event-member-name)
	(dbus-list-activatable-names, dbus-list-queued-owners, dbus-ping)
	(dbus-introspect-get-interface-names, dbus-introspect-get-interface)
	(dbus-introspect-get-method, dbus-introspect-get-signal)
	(dbus-introspect-get-property, dbus-introspect-get-annotation-names)
	(dbus-introspect-get-annotation, dbus-introspect-get-argument-names)
	(dbus-introspect-get-argument, dbus-introspect-get-signature)
	(dbus-set-property, dbus-register-property)
	(dbus-get-all-managed-objects, dbus-init-bus): Clarify docstring and
	improve formatting where possible.
	(dbus-call-method): Ditto.  Remove mentions of Emacs' fixnum range
	now that we have bignums.

2020-06-08  Juri Linkov  <juri@linkov.net>

	* lisp/image-mode.el (image-transform-original): New command (bug#41222).

	(image-mode-map): Bind it to "so" and add to menu.

2020-06-08  Juri Linkov  <juri@linkov.net>

	Move tab-bar and tab-line faces to faces.el (part of bug#41200)

	These are basic faces, so they need to be defined in
	faces.el, otherwise (get 'tab-line 'face) returns 0.

	* lisp/faces.el (tab-bar, tab-line): Move faces here
	from tab-bar.el and tab-line.el.

	* lisp/tab-bar.el (tab-bar): Move face to faces.el.
	(tab-bar-faces): Add '((tab-bar custom-face))
	to the second arg MEMBERS of 'defgroup'.

	* lisp/tab-line.el (tab-line): Move face to faces.el.
	(tab-line-faces): Add '((tab-line custom-face))
	to the second arg MEMBERS of 'defgroup'.

2020-06-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix typo in "(elisp) Type Keywords"

	* doc/lispref/customize.texi (Type Keywords): Fix typo of 'choice'
	composite type.  (Bug#41749)

2020-06-07  Tassilo Horn  <tsdh@gnu.org>

	Gnus nnir-summary-line-format has no effect

	* lisp/gnus/nnir.el (nnir-mode): Update summary format specs if
	nnir-summary-line-format is set and different from
	gnus-summary-line-format.
	(nnir-open-server): Run nnir-mode in gnus-summary-generate-hook
	instead of gnus-summary-prepared-hook.

2020-06-06  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'window-text-pixel-size'

	* doc/lispref/display.texi (Size of Displayed Text): Clarify the
	description of 'window-text-pixel-size'.

2020-06-06  Eli Zaretskii  <eliz@gnu.org>

	* src/xdisp.c (Fwindow_text_pixel_size): Doc fix.  (Bug#41737)

2020-06-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Minor improvements to EDE and EIEIO manuals

	For discussion, see the following threads:
	https://lists.gnu.org/r/emacs-devel/2020-05/msg00630.html
	https://lists.gnu.org/r/emacs-devel/2020-06/msg00099.html

	* doc/misc/ede.texi (ede-generic-project): Clean up example.
	* doc/misc/eieio.texi (Accessing Slots): Document slot-value as a
	generalized variable and set-slot-value as obsolete.
	(Predicates): Fix typo.
	(Introspection): Document eieio-class-slots in place of the obsolete
	object-slots.

2020-06-06  João Távora  <joaotavora@gmail.com>

	Have Fido mode also imitate Ido mode in ignore-case options

	Suggested by Sean Whitton <spwhitton@spwhitton.name>.

	* lisp/icomplete.el (icomplete--fido-mode-setup): Set ignore-case
	options.

2020-06-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Update package-menu-quick-help

	* lisp/emacs-lisp/package.el (package--quick-help-keys): Filtering
	is now bound to the prefix '/', not the key 'f' (bug#41721).
	Advertise only the standard 'g' binding now that both it and 'r' are
	bound to revert-buffer (bug#35504).
	(package--prettify-quick-help-key): Avoid modifying string literals.
	(package-menu-filter): Reintroduce as obsolete alias of
	package-menu-filter-by-keyword for backward
	compatibility (bug#36981).

2020-06-05  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'sort-subr'

	* doc/lispref/text.texi (Sorting): Clarify the meaning and use of
	PREDICATE argument to 'sort-subr'.  (Bug#41706)

2020-06-05  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	Update Ukrainian transliteration

	* lisp/language/cyril-util.el (standard-display-cyrillic-translit):
	Add missing letter "ґ"; tweak letter "г".  (Bug#41683)

2020-06-05  Eli Zaretskii  <eliz@gnu.org>

	Fix Arabic shaping when eww/shr fill the text to be rendered

	* src/hbfont.c (hbfont_shape): Don't use DIRECTION if the current
	buffer has bidi reordering disabled.  (Bug#41005)

2020-06-03  Basil L. Contovounesios  <contovob@tcd.ie>

	Silence some byte-compiler warnings in tests

	* test/lisp/emacs-lisp/cl-generic-tests.el:
	* test/lisp/progmodes/elisp-mode-tests.el: Declare functions
	referred to within macroexpansions.
	(xref-elisp-overloadable-no-default)
	(xref-elisp-overloadable-co-located-default)
	(xref-elisp-overloadable-separate-default): Prefix unused arguments
	with underscore.

	* test/lisp/international/ccl-tests.el:
	* test/lisp/wdired-tests.el:
	* test/lisp/emacs-lisp/package-tests.el: Declare functions used.
	(package-test-update-archives, package-test-signed): Use
	revert-buffer in place of its obsolete alias package-menu-refresh.

	* test/lisp/eshell/eshell-tests.el:
	* test/lisp/mail/footnote-tests.el:
	* test/src/buffer-tests.el: Require dependencies used.

	* test/lisp/image/exif-tests.el: Remove unneeded (require 'seq).
	(test-exit-direct-ascii-value): Actually perform the test.
	* test/lisp/progmodes/sql-tests.el (sql-test-add-existing-product):
	Fix typo.

	* test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
	* test/src/data-tests.el (test-bool-vector-bv-from-hex-string)
	(test-bool-vector-apply-mock-op): Remove unused local variables.

2020-06-03  Basil L. Contovounesios  <contovob@tcd.ie>

	* test/lisp/battery-tests.el: New file.

2020-06-02  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve format-spec documentation (bug#41571)

	* doc/lispref/text.texi (Interpolated Strings): Move from here...
	* doc/lispref/strings.texi (Custom Format Strings): ...to here,
	renaming the node and clarifying the documentation.
	(Formatting Strings): End node with sentence referring to the next
	one.
	* lisp/format-spec.el (format-spec): Clarify docstring.

2020-06-01  Eli Zaretskii  <eliz@gnu.org>

	Don't call 'mbrtowc' on WINDOWSNT

	* src/emacs.c (using_utf8): Don't call 'mbrtowc' on WINDOWSNT
	systems, as it's not available on Windows 9X.

2020-06-01  João Távora  <joaotavora@gmail.com>

	* doc/emacs/buffers.texi (Icomplete): Mention icomplete-minibuffer-setup-hook.

2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	Be more aggressive in marking objects during GC

	Simplified version of a patch from Pip Cet (Bug#41321#299).
	* src/alloc.c (maybe_lisp_pointer): Remove.  All uses removed.
	(mark_memory): Also look at the pointer offset by ‘lispsym’,
	for symbols.

2020-05-31  Alan Mackenzie  <acm@muc.de>

	Fix bug #41618 "(byte-compile 'foo) errors when foo is a macro."

	* lisp/emacs-lisp/bytecomp.el (byte-compile): Disentangle the eval of the
	final form from the pushing of 'macro onto it, doing the former first.

2020-05-31  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes due to bidi cache being reset during redisplay

	If automatic character composition triggers GC, and
	'garbage-collection-messages' are turned on, we could have the
	bidi cache reset while processing RTL text, which would then
	consistently crash.
	* src/xdisp.c (display_echo_area_1): Protect the bidi cache
	against changes inside 'try_window'.

2020-05-31  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (switch-to-buffer-other-tab): Normalize buffer.

	* lisp/tab-bar.el (switch-to-buffer-other-tab): Use
	'window-normalize-buffer-to-switch-to' on 'buffer-or-name',
	like does 'pop-to-buffer' used by 'switch-to-buffer-other-frame',
	instead of raising the error "Invalid buffer" on a non-existent buffer name.

2020-05-30  Eli Zaretskii  <eliz@gnu.org>

	Fix mingw.org's MinGW GCC 9 warning about 'execve'

	* nt/inc/ms-w32.h (execve) [__GNUC__ > 9]: Provide a different
	prototype for mingw.org's MinGW as well, to match the GCC builtin.

2020-05-28  Glenn Morris  <rgm@gnu.org>

	Tiny texinfo markup fixes

	* doc/lispref/edebug.texi (Edebug Views):
	* doc/lispref/loading.texi (Library Search):
	* doc/lispref/os.texi (User Identification): Markup fixes.

2020-05-27  Dmitry Gutov  <dgutov@yandex.ru>

	Make next-error behavior a bit more flexible

	* lisp/simple.el (next-error-no-navigation-try-current):
	Extract from the case #2 in next-error-find-buffer (bug#40919).
	(next-error-find-buffer-function): Use it as the default.

2020-05-27  Noam Postavsky  <npostavs@gmail.com>

	* etc/NEWS.25: Belatedly announce upcase-dwim and downcase-dwim.

2020-05-25  Eli Zaretskii  <eliz@gnu.org>

	Fix access to single-byte characters in buffer text

	* src/xdisp.c (get_visually_first_element)
	(Fbidi_find_overridden_directionality):
	* src/cmds.c (Fend_of_line): Use FETCH_BYTE instead of FETCH_CHAR,
	and byte position instead of character position, to access
	individual bytes of buffer text.  This avoids producing invalid
	characters and accessing wrong buffer positions.  (Bug#41520)

2020-05-25  Noam Postavsky  <npostavs@gmail.com>

	Revert "Fix eshell-mode-map initialization"

	It makes eshell-return-exits-minibuffer permanently affect the
	eshell-mode-map (Bug#41370).

	Do not merge to master, we will fix it properly there.

2020-05-25  Matthias Meulien  <orontee@gmail.com>

	Fix tab-bar-tab-name-ellipsis initialization

	* lisp/tab-bar.el (tab-bar-tab-name-truncated): Evaluate displayable
	character when generating tab name.

2020-05-24  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix Elisp manual entry for format-spec

	* doc/lispref/text.texi (Interpolated Strings): Fix typos.  Don't
	document modifier for default space padding as it's redundant and
	inconsistent with the docstring and implementation of format-spec.

2020-05-24  Eli Zaretskii  <eliz@gnu.org>

	Fix rare assertion violations in 'etags'

	* lib-src/etags.c (pfnote): Instead of raising an assertion when
	we get an empty tag name, return immediately.  (Bug#41465)

	* test/manual/etags/ETAGS.good_1:
	* test/manual/etags/ETAGS.good_2:
	* test/manual/etags/ETAGS.good_3:
	* test/manual/etags/ETAGS.good_4:
	* test/manual/etags/ETAGS.good_5:
	* test/manual/etags/ETAGS.good_6: Adapt to latest changes in
	etags.

2020-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (save-match-data): Clarify use in docstring

2020-05-23  Eli Zaretskii  <eliz@gnu.org>

	Improve the documentation of setting up fontsets

	* doc/lispref/display.texi (Fontsets): Improve the accuracy of a
	cross-reference to "Character Properties".

	* doc/emacs/mule.texi (Fontsets, Modifying Fontsets): Improve the
	documentation of fontsets and how to modify them.

2020-05-23  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/killing.texi (Rectangles): Improve indexing.

2020-05-23  Eli Zaretskii  <eliz@gnu.org>

	Fix accessing files on networked drives on MS-Windows

	* src/w32.c (acl_get_file): Set errno to ENOTSUP if
	get_file_security returns ERROR_NOT_SUPPORTED.  (Bug#41463)

2020-05-22  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix bug #39972, by fixing c-display-defun-name for nested defuns

	* lisp/progmodes/cc-mode.el (c-common-init): Build
	add-log-current-defun-function out of c-defun-name-and-limits instead of the
	former c-defun-name.

2020-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	Redo RCS Id for pdumper

	* lisp/version.el: Don’t put an RCS Id style string into the
	executable via purecopy, as this does not work with the pdumper.
	* src/emacs.c (RCS_Id): New constant, for 'ident'.

	(cherry picked from commit 3d1bcfba5e21b29be8669aa2a8f27b344c9e02fd)

2020-05-21  Stefan Kangas  <stefankangas@gmail.com>

	Second attempt at improving indexing in control.texi

	* doc/lispref/control.texi (Processing of Errors): Improve indexing by
	adding the word form "handle" in addition to "handling".  With thanks
	to Eli Zaretskii.

2020-05-19  Stefan Kangas  <stefankangas@gmail.com>

	* doc/lispref/control.texi (Processing of Errors): Improve indexing.

2020-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	Minor fixups for mutability doc

	* doc/lispref/objects.texi (Mutability): Minor fixups in
	response to a comment by Dmitry Gutov (Bug#40671#477).

2020-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t use “constant” for values you shouldn’t change

	Inspired by patch proposed by Dmitry Gutov (Bug#40671#393)
	and by further comments by him and by Michael Heerdegen
	in the same bug report.
	* doc/lispintro/emacs-lisp-intro.texi (setcar):
	Don’t push mutability here.
	* doc/lispref/eval.texi (Self-Evaluating Forms, Quoting)
	(Backquote):
	* doc/lispref/lists.texi (Modifying Lists):
	* doc/lispref/objects.texi (Lisp Data Types, Mutability):
	* doc/lispref/sequences.texi (Array Functions, Vectors):
	* doc/lispref/strings.texi (String Basics, Modifying Strings):
	Don’t use the word “constant” to describe all values that
	a program should not change.
	* doc/lispref/objects.texi (Mutability):
	Rename from “Constants and Mutability”.  All uses changed.
	In a footnote, contrast the Emacs behavior with that of Common
	Lisp, Python, etc. for clarity, and say the goal is to be nicer.

2020-05-16  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of manually installing Lisp packages

	* doc/emacs/building.texi (Lisp Libraries): Describe how to
	manually load packages in the init file.  Mention the 'site-lisp'
	subdirectory of the default 'load-path'.

	* doc/emacs/package.texi (Packages): Describe manual installation
	of ELisp packages.  Suggested by Jean-Christophe Helary
	<jean.christophe.helary@traduction-libre.org>.

2020-05-16  Eli Zaretskii  <eliz@gnu.org>

	Reflect the emacs-devel ELPA/MELPA dispute in FAQ

	* doc/misc/efaq.texi (Packages that do not come with Emacs): Warn
	that some MELPA packages may require non-free software.

2020-05-15  Tassilo Horn  <tsdh@gnu.org>

	Consider face inheritance when checking region face background.

	Some themes (like dracula) make the region face inherit from some
	other face.  If the background color of the region was inherited,
	`indicate-copied-region' did the switch-point-and-mark-twice dance
	which is not visible in case the region is highlighted.  It just
	looked like Emacs would hang for a second after M-w.

	* lisp/simple.el (indicate-copied-region): Consider face inheritance
	when checking region face background.

2020-05-15  Leo Vivier  <leo.vivier+dev@gmail.com>

	Fix dired default file operation (bug#41261)

	* lisp/dired-aux.el (dired-dwim-target-directories): Restore
	pre-emacs-27 behavior of 'dired-dwim-target'.

2020-05-14  Philipp Stephani  <phst@google.com>

	Fix documentation related to 'command-switch-alist'.

	While there, add a unit test to verify the behavior.

	* doc/lispref/os.texi (Command-Line Arguments): Fix documentation: the
	option string in 'command-switch-alist' does include leading hyphens.
	Also mention that 'command-switch-alist' parsing ignores equals signs
	in options.

	* test/lisp/startup-tests.el
	(startup-tests/command-switch-alist): New unit test.

2020-05-13  Simon Lang  <simon.lang@outlook.com>  (tiny change)

	Improve ediff readability in misterioso theme (Bug#41221)

	* etc/themes/misterioso-theme.el: Add ediff faces.

2020-05-13  Clément Pit-Claudel  <clement.pitclaudel@live.com>

	Fix a crash in handle_display_spec

	* src/xdisp.c (handle_display_spec): Check that the cdr of the
	disable-eval spec is a cons before taking its car.  (Bug#41232)

2020-05-13  Martin Rudalics  <rudalics@gmx.at>

	In x_hide_tip reset tip_last_frame for GTK+ tooltips only (Bug#41200)

	* src/xfns.c (x_hide_tip): Reset tip_last_frame only when
	using GTK+ system tooltips (Bug#41200).

2020-05-12  João Távora  <joaotavora@gmail.com>

	Fix docstring of flymake-make-diagnostic (bug#40351)

	* lisp/progmodes/flymake.el (flymake-make-diagnostic): Fix docstring

2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>

	Go back to “Bahá’í”

	* doc/emacs/calendar.texi (Holidays): Revert previous change, as
	bahai.org spells it “Bahá’í” (with U+2019 RIGHT SINGLE QUOTATION
	MARK) and that’s good enough for us.

2020-05-10  Eli Zaretskii  <eliz@gnu.org>

	* lisp/dired.el (dired-toggle-marks): Doc fix.  (Bug#41097)

2020-05-09  Philipp Stephani  <phst@google.com>

	Small fix for type of 'display-fill-column-indicator-character'

	* lisp/cus-start.el (standard): Don't mark t as safe file-local value
	for 'display-fill-column-indicator-character', as that value isn't
	allowed.

2020-05-09  Eli Zaretskii  <eliz@gnu.org>

	Fix customization of 'display-fill-column-indicator-character'

	* lisp/cus-start.el (display-fill-column-indicator-character): Fix
	the customization form.  (Bug#41145)

2020-05-09  Philipp Stephani  <phst@google.com>

	Refer to fill column indicator Info node in some places.

	* src/xdisp.c (syms_of_xdisp): Add reference to manual in
	documentation strings for variables related to fill column indicators.

	* lisp/display-fill-column-indicator.el (display-fill-column-indicator)
	(display-fill-column-indicator-mode): Add reference to manual.

2020-05-09  Martin Rudalics  <rudalics@gmx.at>

	Fix GTK's Tool Bar menu radio buttons

	* lisp/menu-bar.el (menu-bar-showhide-tool-bar-menu): Fix typo
	that makes the radio buttons pretend that the tool bar is always
	shown on the left side of the frame.

2020-05-09  Eli Zaretskii  <eliz@gnu.org>

	Minor clarifications in NEWS

	* etc/NEWS: Tell how to revert to previous behaviors regarding
	displaying messages when the minibuffer is active.  (Bug#41087)

2020-05-08  Philipp Stephani  <phst@google.com>

	Improve documentation of 'with-suppressed-warnings'.

	* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): Refer to
	'byte-compile-warnings' instead of 'byte-compile-warning-types', as
	only the former variable documents the available warning types.

2020-05-08  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in a comment

	* lisp/display-fill-column-indicator.el: Fix a typo in a comment.
	Suggested by david s <ds@fastmail.com>.

2020-05-08  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Hi Lock mode

	* lisp/hi-lock.el (hi-lock-mode, hi-lock-face-buffer)
	(hi-lock-face-phrase-buffer, hi-lock-face-symbol-at-point):
	Clarify when 'hi-lock-mode' will use Font Lock and when it will
	use overlays.  (Bug#41124)

2020-05-08  Eli Zaretskii  <eliz@gnu.org>

	Fix typos in the Emacs user manual

	* doc/emacs/calendar.texi (Holidays): Fix usage of non-ASCII
	accents.
	* doc/emacs/custom.texi (Init Rebinding): Fix a cross-reference.
	* doc/emacs/dired.texi (Operating on Files): Make the
	cross-reference to "VC Delete/Rename" be to a different manual in
	the printed version.  (Bug#41100)

2020-05-08  Björn Holby  <bjorn.holby@gmail.com>  (tiny change)

	Fix references to Speedbar in VHDL mode

	* lisp/progmodes/vhdl-mode.el (vhdl-speedbar-initialize): Update
	references to Speedbar variables.  (Bug#41084)

2020-05-08  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of FROM = t and TO = t by 'window-text-pixel-size'

	* src/xdisp.c (Fwindow_text_pixel_size): Use byte position for
	accessing buffer text, not character positions.  (Bug#41125)

2020-05-06  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/modes.texi (Major Modes): Fix quoting.  (Bug#41110)

2020-05-06  Noam Postavsky  <npostavs@gmail.com>

	Fix docstring quoting

	* lisp/gnus/message.el (message-sendmail-extra-arguments): Fix
	escaping of quotes in docstring.

2020-05-06  Noam Postavsky  <npostavs@gmail.com>

	Revert "cl-loop: Calculate the array length just once"

	Don't merge to master.  This is a safe-for-release fix for Bug#40727.

2020-05-06  Noam Postavsky  <npostavs@gmail.com>

	Revert "cl-loop: Add missing guard condition"

	Don't merge to master.  This is a safe-for-release fix for Bug#40727.

2020-05-06  Noam Postavsky  <npostavs@gmail.com>

	Revert "Refix conditional step clauses in cl-loop"

	Don't merge to master.  This is a safe-for-release fix for Bug#40727.

2020-05-05  Eli Zaretskii  <eliz@gnu.org>

	Improve "Help Summary" section in user manual

	* doc/emacs/help.texi (Help Summary): Add cross-references to
	sections with details of each Help command.

2020-05-05  Stefan Kangas  <stefankangas@gmail.com>

	Clarify message-sendmail-extra-arguments docstring

	* lisp/gnus/message.el (message-sendmail-extra-arguments): Clarify
	docstring.

2020-05-05  Philipp Stephani  <phst@google.com>

	* src/editfns.c (Fformat): Small documentation fix.

2020-05-04  Alan Mackenzie  <acm@muc.de>

	Remove calls to non-existent functions from edebug.el.

	Do not merge to master.

	*lisp/emacs-lisp/edebug.el (edebug--display-1)
	(edebug-toggle-disable-breakpoint): Remove calls to
	edebug--overlay-breakpoints and edebug--overlay-breakpoints-removed which had
	been overlooked in a recent changed to edebug.

2020-05-04  Dmitry Gutov  <dgutov@yandex.ru>

	Honor search-upper-case

	* lisp/fileloop.el (fileloop--case-fold):
	Extract from existing code.  Honor search-upper-case (bug#40940).
	(fileloop-initialize-replace, fileloop-initialize-search): Use it.
	Update the docstring.

2020-05-04  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix eww-follow-link on URLs with #target

	* lisp/net/eww.el (eww-display-html): Ensure shr-target-id is set as
	callers depend on this (bug#28441, bug#40532).

2020-05-04  Juri Linkov  <juri@linkov.net>

	Revert part of recent commit 85544f8ef5 (bug#40808)

	* lisp/isearch.el (isearch-lazy-highlight-search): Remove recent fix of
	lazy-highlighting of hidden matches.  In emacs-27 leave only the fix for
	lazy-counting of hidden matches when isearch-lazy-count is non-nil.

2020-05-03  Stefan Kangas  <stefankangas@gmail.com>

	Improve doc strings of makunbound and fmakunbound

	* src/data.c (Fmakunbound, Ffmakunbound): Improve doc
	strings.  (Bug#41026)

2020-05-03  Alan Mackenzie  <acm@muc.de>

	Revert "Mark breakpoints in edebug with highlights".  This fixes bug #40992

	Do not merge to master.

	This reverts commit e8b3a15cb6ff187ce08afcb43bd9a0b7907268ca.

2020-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	Make memq etc. examples more like they were

	Problem reported by Štěpán Němec in:
	https://lists.gnu.org/r/emacs-devel/2020-05/msg00130.html
	* doc/lispref/lists.texi (Sets And Lists, Association Lists):
	Revert examples to be more like the way they were, using
	self-evaluating expressions.  Be more consistent about listing
	unspecified results.

2020-05-02  Eli Zaretskii  <eliz@gnu.org>

	Document effect of 'search-upper-case' on replacement commands

	* doc/emacs/search.texi (Replacement and Lax Matches): Document
	the role of 'search-upper-case' in replacement commands.
	(Lax Search): Document the value 'not-yanks' of
	'search-upper-case' where the variable itself is documented.

	* lisp/replace.el (query-replace-regexp, query-replace): Mention
	'search-upper-case' and its effect in doc strings.  (Bug#40940)

2020-05-01  Eli Zaretskii  <eliz@gnu.org>

	* lisp/desktop.el (desktop-save): Doc fix.  (Bug#41007)

2020-04-30  Stefan Kangas  <stefankangas@gmail.com>

	Recommend to avoid unnecessary abbreviations in doc

	* doc/lispref/tips.texi (Documentation Tips): Recommend to avoid
	unnecessary abbreviations.  (Bug#40011)

2020-04-30  Eli Zaretskii  <eliz@gnu.org>

	Revert "Fix calculator division truncation (bug#40892)"

	This reverts commit 82140c510c4d27e639b4bca1e9bf158f0f66c375.
	(Bug#40892)

2020-04-30  Mattias Engdegård  <mattiase@acm.org>

	Fix calculator division truncation (bug#40892)

	* lisp/calculator.el (calculator-string-to-number): Convert decimal
	numbers input to float, fixing a regression introduced in f248292ede.
	Reported by Aitor Soroa.

2020-04-29  Dmitry Gutov  <dgutov@yandex.ru>

	Expand file name for remote dirs as well

	* lisp/progmodes/project.el (project--files-in-directory):
	Expand file name for remote dirs as well (bug#40940).

2020-04-29  Eli Zaretskii  <eliz@gnu.org>

	Fix project.el commands in "transient" projects

	* lisp/progmodes/project.el (project--files-in-directory): Run
	local DIR directory names through 'expand-file-name', so that "~/"
	is expanded, in case the shell doesn't or the shell's notion of
	the home directory is different from that of Emacs.  (Bug#40940)

2020-04-29  Eli Zaretskii  <eliz@gnu.org>

	Make sure alist-related functions say so in their doc

	* src/fns.c (Fassq, assq_no_quit, Fassoc, assoc_no_quit, Frassq)
	(Frassoc): Rename argument LIST to ALIST.  Doc strings updated.

2020-04-29  Eli Zaretskii  <eliz@gnu.org>

	* lisp/env.el (substitute-env-vars): Doc fix.  (Bug#40948)

2020-04-29  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el: Fix lazy-highlighting and lazy-counting of hidden matches

	* lisp/isearch.el (isearch-lazy-highlight-search): Let-bind
	search-invisible to t when search-invisible is 'open' or when both
	isearch-lazy-count and search-invisible are non-nil.  (Bug#40808)

2020-04-28  Eli Zaretskii  <eliz@gnu.org>

	Fix error in ERC when 'erc-server-coding-system' is customized

	* lisp/erc/erc-backend.el (erc-split-line): Handle the case where
	'erc-coding-system-for-target' returns a coding-system's symbol.
	(Bug#40914)

2020-04-28  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes on TTY frames with over-long compositions

	* src/term.c (encode_terminal_code): Each character from an
	automatic composition is a multibyte character, so its multibyte
	representation can take up to MAX_MULTIBYTE_LENGTH bytes.
	Account for that when allocating storage for characters to be
	encoded.  (Bug#40913)

2020-04-27  Stefan Kangas  <stefankangas@gmail.com>

	Fix typo in custom.texi

	* doc/emacs/custom.texi (Variables): Fix typo.  Pointed out by
	ej32u@protonmail.com.  (Bug#40890)

2020-04-27  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):

	Use `shell-quote-argument' instead of quoting 'like this'.

2020-04-27  Juri Linkov  <juri@linkov.net>

	* lisp/image-mode.el (image-mode-map): Update menu items.

	* lisp/image-mode.el (image-mode-map): Move "Fit Image to Window (Best Fit)"
	higher.  Add "Zoom In" (image-increase-size), "Zoom Out" (image-decrease-size)
	and "Rotate Clockwise" (image-rotate).  Use name "Set Rotation..."
	for image-transform-set-rotation.  Swap "Next Image" and "Previous Image".
	Swap "Next Frame" and "Previous Frame".

2020-04-27  Juri Linkov  <juri@linkov.net>

	Fix bugs in tab-bar and tab-line and mention remaining features in manual.

	* doc/emacs/frames.texi (Tab Bars): Mention tab-bar-new-tab-to,
	tab-bar-close-last-tab-choice, tab-bar-close-tab-select, tab-undo,
	tab-select, tab-bar-history-mode.

	* doc/emacs/windows.texi (Tab Line): Mention tab-line-tabs-function.

	* lisp/tab-bar.el (tab-bar-select-tab-modifiers): Mention
	tab-bar-tab-hints in docstring.
	(tab-bar-tab-hints): Mention tab-bar-select-tab-modifiers
	in docstring.
	(tab-bar-select-tab): Mention tab-bar-select-tab-modifiers
	in docstring.
	(tab-bar-switch-to-tab): Expand the docstring.
	(tab-bar-new-tab-to): Fix bug in handling 'left' value.
	(tab-bar-close-tab): Fix bug in handling 'left' value.
	(tab-bar-undo-close-tab): Use funcall tab-bar-tabs-function
	instead of direct call to tab-bar-tabs.
	(tab-bar-history-back, tab-bar-history-forward): Add docstrings.
	(tab-bar-history-mode): Expand docstring.

	* lisp/tab-line.el (tab-line-format): Fix bug for handling window
	switching that should set face 'tab-line-tab-current'.

2020-04-26  Michael Albinus  <michael.albinus@gmx.de>

	Make shell-command tests fit for tcsh.

	* test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
	Fix debug spec.  Format command to run also under tcsh.
	(simple-tests-shell-command-39067)
	(simple-tests-shell-command-dont-erase-buffer): Quote newline in string.

2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>

	Remove doc duplication

	* doc/lispref/objects.texi (Constants and Mutability): Remove
	duplication.  From a suggestion by Andreas Schwab (Bug#40671#150).

2020-04-25  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Fix inconsistencies.

2020-04-25  Noam Postavsky  <npostavs@gmail.com>

	Clarify semantics of trace-function CONTEXT argument

	* lisp/emacs-lisp/trace.el (trace-function-foreground): Explain that
	CONTEXT should be a function, when called from Lisp.

2020-04-25  Noam Postavsky  <npostavs@gmail.com>

	Don't let a code literal get modified in mml parsing (Bug#39884)

	* lisp/gnus/mml.el (mml-parse-1): Make a fresh cons for the tag type,
	because 'mml-generate-mime' destructively modifies it.

2020-04-25  Eli Zaretskii  <eliz@gnu.org>

	* lisp/simple.el (kill-ring-save): Doc fix.  (Bug#40797)

2020-04-25  Clément Pit-Claudel  <cpitclaudel@gmail.com>

	Minor doc clarification regarding fringe bitmaps

	* doc/lispref/display.texi (Customizing Bitmaps): Add a note
	regarding the order of bits being the opposite of that in
	XBM images.  (Bug#40784)

2020-04-25  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of fringe bitmaps

	* doc/lispref/display.texi (Fringe Bitmaps): The 'empty-line'
	fringe indicator _is_ used.  (Bug#40799)

2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak mutability doc a bit more

	Inspired by a comment from Michael Heerdegen (Bug#40671#114).
	* doc/lispref/objects.texi (Constants and Mutability): Tweak further.

2020-04-24  Mattias Engdegård  <mattiase@acm.org>

	Calc: fix autoload errors (bug#40800)

	Reported by Hugo Daschbach.

	* lisp/calc/calc-ext.el (calc-init-extensions):
	Remove calc-kbd-report key binding and autoload; it was removed in 2005.
	calc-keypad-x-{left,right,middle}-click were renamed to
	calc-keypad-{left,right,middle}-click in 2001; fix the autoloads.
	calc-twos-complement-mode is a variable, not a function; remove the
	autoload.
	* lisp/calc/calc-prog.el: Remove commented-out calc-kbd-report.

2020-04-24  Stefan Kangas  <stefankangas@gmail.com>

	Improve indexing of ELisp manual

	* doc/lispref/tips.texi (Tips): Add index entry 'best practices'.

2020-04-24  Juri Linkov  <juri@linkov.net>

	* lisp/image-mode.el (image-transform-resize): Remove FIXME comment.

	The user customizable variable 'image-auto-resize' is documented now
	in the manual.

2020-04-23  Tassilo Horn  <tsdh@gnu.org>

	Improve the default value of 'doc-view-ghostscript-program'.

	* lisp/doc-view.el (doc-view-ghostscript-program): Use plain command
	name instead of qualified name returned by executable-find (as
	suggested by Stefan Monnier).  (Bug#36357)

2020-04-23  Juri Linkov  <juri@linkov.net>

	Change doc-view-mode-map prefix key 's' to 'c'.

	* doc/emacs/misc.texi (DocView Slicing): Change prefix key 's' to 'c'.

	* lisp/doc-view.el (doc-view-mode-map): Change prefix key 's' to 'c'.

	* lisp/image-mode.el (image-mode-map): Add image-transform-set-scale to menu.

	* doc/emacs/files.texi (Image Mode): Describe commands
	image-transform-fit-both, image-transform-set-scale, image-transform-reset.

	* etc/NEWS: Rearrange image sections.

	https://lists.gnu.org/r/emacs-devel/2020-04/msg01315.html

2020-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	Improve wording about constants

	Thanks to Štěpán Němec and Drew Adams for reviews of recent changes.
	* doc/lispref/eval.texi (Quoting): Give an example.
	* doc/lispref/lists.texi (Association Lists): Simplify example code.
	* doc/lispref/objects.texi (Lisp Data Types)
	(Constants and Mutability): Clarify wording.

2020-04-22  Tassilo Horn  <tsdh@gnu.org>

	Improve the default value of 'doc-view-ghostscript-program'.

	* lisp/doc-view.el (doc-view-ghostscript-program): On Windows, try
	gswin64c, gswin32c, rungs, and mgs.  (Bug#36357)

2020-04-21  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements in documentation of the last change

	* etc/NEWS:
	* doc/emacs/files.texi (Image Mode): Minor copyedits of last change.

2020-04-21  Juri Linkov  <juri@linkov.net>

	Add image-auto-resize defcustoms to image-mode.el

	* lisp/image-mode.el (image-auto-resize)
	(image-auto-resize-on-window-resize): New defcustoms.
	(image-mode-map): Bind "sb" to image-transform-fit-both.
	(image-mode): Set image-transform-resize to image-auto-resize initially.
	(image-mode--setup-mode): Add hook on image-auto-resize-on-window-resize.
	(image-toggle-display-image): Check if image-transform-resize is t.
	(image-transform-properties): Check image-transform-resize for nil and t.
	(image-transform-fit-both): New command.
	(image-transform-reset): Reset image-transform-resize to image-auto-resize.

	* doc/emacs/files.texi (Image Mode): Mention image-auto-resize and
	image-auto-resize-on-window-resize.

	https://lists.gnu.org/r/emacs-devel/2020-04/msg01160.html

2020-04-21  Juri Linkov  <juri@linkov.net>

	Improve the documentation of tab-bar and tab-line

	* doc/emacs/frames.texi (Tab Bars): Add xref to "Tab Line".
	Document more commands.

	* doc/emacs/windows.texi (Windows):
	* doc/emacs/emacs.texi (Top): Add "Tab Line" menu.

	* doc/emacs/windows.texi (Window Convenience):
	Move tab-line documentation to new node "Tab Line".
	(Tab Line): New node.

	* doc/emacs/glossary.texi (Glossary):
	* doc/emacs/modes.texi (Minor Modes):
	* doc/emacs/display.texi (Standard Faces): Add xref to "Tab Line".

2020-04-20  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak wording re constant variables

	* doc/lispref/objects.texi (Constants and Mutability): Tweak.
	Problem reported by Michael Heerdegen (Bug#40693#44).

2020-04-20  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak setcar-related wording

	* doc/lispref/eval.texi (Self-Evaluating Forms):
	Change “primitives” to “operations”.
	Problem reported by Štěpán Němec in:
	https://lists.gnu.org/r/emacs-devel/2020-04/msg01146.html

2020-04-20  Juri Linkov  <juri@linkov.net>

	* lisp/image-mode.el: Add prefix key 's' and reduce dependency on ImageMagick.

	* lisp/image-mode.el (image-mode-map): Regroup existing keybindings and
	add new ones with the prefix key 's'.
	Remove condition ":visible (eq image-type 'imagemagick)" from menu.
	(image-toggle-display-image): Don't rotate again after user rotated manually.
	(image-transform-check-size): Remove check for imagemagick.
	(image-transform-properties, image-transform-set-scale)
	(image-transform-fit-to-height, image-transform-fit-to-width)
	(image-transform-set-rotation, image-transform-reset):
	Remove mentions of ImageMagick from docstrings since these commands
	now work without ImageMagick.

2020-04-20  Juri Linkov  <juri@linkov.net>

	* doc/emacs/windows.texi (Window Convenience): Describe more windmove features.

	* doc/emacs/windows.texi (Window Convenience): Add descriptions of
	windmove-display-default-keybindings,
	windmove-delete-default-keybindings,
	windmove-swap-states-in-direction.

	* etc/NEWS: Regroup to move some parts closer to related sections.

2020-04-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix mutability glitches reported by Drew Adams

	See Bug#40693#32.
	* doc/lispref/eval.texi (Self-Evaluating Forms, Backquote):
	Say that these yield constant conses, vectors and strings,
	not constant symbols.
	* doc/lispref/objects.texi (Constants and Mutability): Say that an
	attempt to modify a constant variable signals an error, instead of
	saying that it has undefined behavior.

2020-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	Improve mutability doc

	See Eli Zaretskii’s suggestions (Bug#40671#33).
	* doc/lispref/lists.texi (Setcar, Setcdr, Rearrangement):
	* doc/lispref/sequences.texi (Sequence Functions)
	(Array Functions):
	Add commentary to examples.
	* doc/lispref/lists.texi (Sets And Lists):
	Revert change to delq example.

2020-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	Improve mutability documentation

	This change was inspired by comments from Štěpán Němec in:
	https://lists.gnu.org/r/emacs-devel/2020-04/msg01063.html
	* doc/lispref/objects.texi (Lisp Data Types): Mention mutability.
	(Constants and mutability): New section.
	* doc/lispintro/emacs-lisp-intro.texi (Lists diagrammed)
	(Indent Tabs Mode): Improve wording.
	* doc/lispref/eval.texi (Self-Evaluating Forms):
	Say that they return constants.
	* doc/lispref/lists.texi (Sets And Lists):
	Fix memql mistake/confusion that I recently introduced.

2020-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	Document that quoting yields constants

	* doc/lispref/eval.texi (Quoting, Backquote):
	Mention that quoted expressions yield a constant (Bug#40693).

2020-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/keymaps.texi (Extended Menu Items, Easy Menu) <:key-sequence>:

	Clarify the documentation further

2020-04-19  Mattias Engdegård  <mattiase@acm.org>

	Remove #' and function quoting from lambda forms in manual

	* doc/lispref/abbrevs.texi (Abbrev Expansion):
	* doc/lispref/backups.texi (Reverting):
	* doc/lispref/functions.texi (Mapping Functions):
	* doc/lispref/help.texi (Accessing Documentation):
	* doc/lispref/sequences.texi (Char-Tables):
	* doc/lispref/syntax.texi (Categories):
	* doc/lispref/text.texi (Sorting):
	Remove function quoting from lambda in examples where it still occurs,
	since examples should follow our best style and be consistent.

2020-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/regex-emacs.c (re_match_2_internal): Rework comment in last change

	Explain why we don't need to worry about Lisp modifying the buffer.

	* src/syntax.c (parse_sexp_propertize): Fix name in error message.

2020-04-19  Juri Linkov  <juri@linkov.net>

	Add new node "Image Mode" to Emacs Manual.

	* doc/emacs/dired.texi (Image-Dired): Add xref to "Image Mode".

	* doc/emacs/emacs.texi (Top): Add new node "Image Mode" to menu.

	* doc/emacs/files.texi (Files): Add new node "Image Mode" to menu.
	(File Conveniences): Split part of node to new node "Image Mode".

	* doc/emacs/frames.texi (Mouse Commands): Add xref to "Image Mode".

	* doc/emacs/misc.texi (Embedded WebKit Widgets): Rename xref from
	"File Conveniences" to "Image Mode".

2020-04-18  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/lispref/display.texi (Customizing Bitmaps): Fix typo.

2020-04-18  Paul Eggert  <eggert@cs.ucla.edu>

	Document constant vs mutable objects better

	This patch builds on a suggested patch by Mattias Engdegård
	and on further comments by Eli Zaretskii.
	Original bug report by Kevin Vigouroux (Bug#40671).
	* doc/lispintro/emacs-lisp-intro.texi (set & setq, Review)
	(setcar, Lists diagrammed, Mail Aliases, Indent Tabs Mode):
	setq is a special form, not a function or command.
	* doc/lispintro/emacs-lisp-intro.texi (setcar):
	* doc/lispref/lists.texi (Modifying Lists, Rearrangement):
	* doc/lispref/sequences.texi (Sequence Functions)
	(Array Functions, Vectors):
	* doc/lispref/strings.texi (String Basics, Modifying Strings):
	Mention mutable vs constant objects.
	* doc/lispintro/emacs-lisp-intro.texi (setcar, setcdr)
	(kill-new function, cons & search-fwd Review):
	* doc/lispref/edebug.texi (Printing in Edebug):
	* doc/lispref/keymaps.texi (Changing Key Bindings):
	* doc/lispref/lists.texi (Setcar, Setcdr, Rearrangement)
	(Sets And Lists, Association Lists, Plist Access):
	* doc/lispref/sequences.texi (Sequence Functions)
	(Array Functions):
	* doc/lispref/strings.texi (Text Comparison):
	Fix examples so that they do not try to change constants.

2020-04-18  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'sort-lines'

	* lisp/sort.el (sort-lines): Clarify the interactive invocation.
	(Bug#40697)

2020-04-18  Štěpán Němec  <stepnem@gmail.com>

	Mention 'spam-stat-process-directory-age' in the documentation

	I was at a loss as to why my attempt to set up spam-stat seemed to
	have no effect, only to find (digging in the code) that it was
	ignoring most of the sample files due to this undocumented variable.

	* doc/misc/gnus.texi (Creating a spam-stat dictionary): Document
	the variable 'spam-stat-process-directory-age'.  (bug#39780)

2020-04-18  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes in regex-emacs.c due to GC

	* src/regex-emacs.c (re_match_2_internal): Prevent GC from
	invalidating C pointers to buffer text.  (Bug#40661)

2020-04-18  Eli Zaretskii  <eliz@gnu.org>

	Fix "C-u M-!" when 'shell-command-dont-erase-buffer' is non-nil

	* lisp/simple.el (shell-command-dont-erase-buffer): Clarify the
	effect of the various values in the doc string.
	(shell-command-save-pos-or-erase, shell-command): Don't move or
	push point if the output will go to the current buffer.
	(Bug#40690)
	(shell-command): Mention 'shell-command-dont-erase-buffer' in the
	doc string.

	* test/lisp/simple-tests.el
	(with-shell-command-dont-erase-buffer): Don't is shell quoting
	'like this', as it doesn't work on MS-Windows; quote "like this"
	instead.
	(simple-tests-shell-command-dont-erase-buffer): Adapt the test to
	the new modus operandi.

	* doc/emacs/misc.texi (Single Shell): Document the effect of the
	various values of 'shell-command-dont-erase-buffer'.

	* etc/NEWS: Expand and reword the entry regarding changes in
	'shell-command-dont-erase-buffer'.

2020-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	Fix cl-most-positive-float doc typo

	* doc/misc/cl.texi (Implementation Parameters):
	Fix typo in documentation of cl-most-positive-float.

2020-04-16  jakub-w  <jakub-w@riseup.net>  (tiny change)

	Fix a typo in calculator.el

	* lisp/calculator.el (calculator-expt): Overflowing exponentiation
	caused the function to return -1.0e+INF if the base was an odd,
	negative number, no matter what the exponent was.

2020-04-16  Amin Bandali  <bandali@gnu.org>

	* lisp/erc/erc.el: Add URL to the new ERC page on the Emacs site

2020-04-16  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 27.0.91

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version.

2020-04-16  João Távora  <joaotavora@gmail.com>

	Correct Fido-mode's backspacing of directories with spaces

	(Bug#40625)

	* lisp/icomplete.el (icomplete-fido-backward-updir): Use
	zap-up-to-char.

2020-04-15  João Távora  <joaotavora@gmail.com>

	Default completion-flex-nospace to nil

	By default, the flex completion style _does_ match spaces.

	(Bug#40625)

	* lisp/icomplete.el (icomplete--fido-mode-setup): Force
	completion-flex-nospace to nil.

	* lisp/minibuffer.el (completion-flex-nospace): Default to nil.

2020-04-15  Eli Zaretskii  <eliz@gnu.org>

	Improve an example in w32 FAQ

	* doc/misc/efaq-w32.texi (Font names): Modify the expression to
	insert a list of all installed fonts so as to avoid producing too
	long lines.  Suggested by ndame <ndame@protonmail.com>.

2020-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/htmlfontify.el (hfy-force-fontification): Fix bug#40642

	Don't presume that `jit-lock-mode` is enabled.
	Do not merge to `master`.

2020-04-15  Nicolas Petton  <nicolas@petton.fr>

	* admin/authors.el: Add an author alias.

2020-04-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Limit RLIMIT_NOFILE to FD_SETSIZE on macOS

	* src/nsterm.m ([EmacsApp applicationDidFinishLaunching:]): Call
	CoreFoundation functions that increase RLIMIT_NOFILE behind our back
	during startup, and then set RLIMIT_NOFILE back to FD_SETSIZE to avoid
	crashes in setup_process_coding_system  (Bug#39164).

2020-04-15  Martin Rudalics  <rudalics@gmx.at>

	Fix Elisp manual entry on 'set-window-configuration'

	* doc/lispref/windows.texi (Window Configurations): Fix
	description of 'set-window-configuration'.

2020-04-14  Nicolas Petton  <nicolas@petton.fr>

	* admin/authors.el: Add missing author aliases.

2020-04-14  Mattias Engdegård  <mattiase@acm.org>

	Fix edge case errors in filename-matching regexps

	These changes fix actual or latent bugs in regexps that match
	file names, such as PATTERN arguments to 'directory-files'.  See
	https://lists.gnu.org/r/emacs-devel/2020-04/msg00265.html

	* admin/authors.el (authors-obsolete-files-regexps)
	(authors-renamed-files-regexps):
	* lisp/auth-source-pass.el (auth-source-pass-entries):
	* lisp/calendar/todo-mode.el (todo-show, todo-find-filtered-items-file)
	(todo-filter-items, todo-reset-nondiary-marker, todo-reset-done-string)
	(todo-reset-comment-string, todo-reset-highlight-item):
	* lisp/cedet/semantic/db-ebrowse.el (semanticdb-load-ebrowse-caches):
	* lisp/cedet/semantic/texi.el (semantic-texi-associated-files):
	* lisp/cedet/srecode/map.el (srecode-map-update-map):
	* lisp/dired.el (dired-re-no-dot):
	* lisp/emacs-lisp/autoload.el (update-directory-autoloads):
	* lisp/emacs-lisp/shadow.el (load-path-shadows-find):
	* lisp/files.el (auto-mode-alist, directory-files-no-dot-files-regexp):
	* lisp/finder.el (finder-compile-keywords):
	* lisp/generic-x.el (inetd-conf-generic-mode, named-boot-generic-mode)
	(resolve-conf-generic-mode, etc-modules-conf-generic-mode):
	* lisp/gnus/gnus-agent.el (gnus-agent-read-agentview)
	(gnus-agent-regenerate-group, gnus-agent-update-files-total-fetched-for):
	* lisp/gnus/gnus-cache.el (gnus-cache-articles-in-group):
	* lisp/gnus/gnus-score.el (gnus-score-search-global-directories):
	* lisp/gnus/gnus-util.el (gnus-delete-directory):
	* lisp/gnus/gnus-uu.el (gnus-uu-dir-files):
	* lisp/gnus/nndraft.el (nndraft-request-group):
	* lisp/gnus/nnmh.el (nnmh-request-group, nnmh-request-create-group):
	(nnmh-request-delete-group, nnmh-active-number, nnmh-update-gnus-unreads):
	* lisp/gnus/nnspool.el (nnspool-request-group):
	* lisp/gnus/spam-stat.el (spam-stat-process-directory)
	(spam-stat-test-directory):
	* lisp/help-fns.el (help-fns--first-release):
	* lisp/help.el (view-emacs-news):
	* lisp/international/quail.el (quail-update-leim-list-file):
	* lisp/international/titdic-cnv.el (batch-titdic-convert):
	* lisp/mail/mspools.el (mspools-set-vm-spool-files)
	(mspools-get-spool-files):
	* lisp/mail/rmail.el (rmail-secondary-file-regexp)
	(rmail-speedbar-match-folder-regexp):
	* lisp/net/ange-ftp.el (ange-ftp-delete-directory):
	* lisp/net/tramp.el (tramp-use-absolute-autoload-file-names):
	* lisp/obsolete/gulp.el (gulp-send-requests):
	* lisp/obsolete/vc-arch.el (vc-arch-trim-revlib):
	* lisp/org/ob-core.el (org-babel-remove-temporary-directory):
	* lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp, ebnf-style-database):
	* lisp/progmodes/executable.el (executable-command-find-posix-p):
	* lisp/startup.el (command-line):
	* lisp/textmodes/refer.el (refer-get-bib-files):
	* lisp/url/url-about.el (url-probe-protocols):
	* lisp/vc/vc-rcs.el (vc-rcs-register, vc-rcs-unregister):
	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test19-directory-files-and-attributes):
	* test/lisp/net/tramp-tests.el (tramp-test19-directory-files-and-attributes):
	Replace ^ and $ with \` and \', respectively.
	Use (rx (or (not ".") "...")), translated into "[^.]\\|\\.\\.\\.",
	to match anything but "." and "..", instead of several incorrect
	regexps.

2020-04-14  Eli Zaretskii  <eliz@gnu.org>

	Clarify the doc string of 'yank'

	* lisp/simple.el (yank): Mention 'current-kill' in the doc string,
	so that people could find all the gory details of what is "the most
	recent kill" for this purpose.  (Bug#40375)

2020-04-14  Amin Bandali  <bandali@gnu.org>

	New function erc-track-switch-buffer-other-window

	* lisp/erc/erc-track.el (erc-track-switch-buffer): Factor out the
	implementation from here ...
	(erc-track--switch-buffer): ... to here.
	(erc-track-switch-buffer-other-window): New function, like
	`erc-track-switch-buffer', but uses `switch-to-buffer-other-window'
	instead, to open the buffer in another window.

2020-04-14  Amin Bandali  <bandali@gnu.org>

	New function erc-switch-to-buffer-other-window

	* lisp/erc/erc.el (erc-switch-to-buffer): Factor out the buffer choice
	implementation from here ...
	(erc--switch-to-buffer): ... to here.
	(erc-switch-to-buffer-other-window): New function, like
	`erc-switch-to-buffer', but uses `switch-to-buffer-other-window'
	instead, to open the buffer in another window.

2020-04-13  Štěpán Němec  <stepnem@gmail.com>

	Clarify documentation on inhibit-modification-hooks intended usage

	Cf. bug#40332 and the discussion at
	https://lists.gnu.org/r/emacs-devel/2020-03/msg00921.html

	* doc/lispref/text.texi (Change Hooks):
	* src/insdel.c (syms_of_insdel): Clarify the intended usage of
	'inhibit-modification-hooks'.

2020-04-13  Štěpán Němec  <stepnem@gmail.com>

	gnus-shorten-url: Improve and avoid args-out-of-range error

	'gnus-shorten-url' (used by 'gnus-summary-browse-url') ignored
	fragment identifiers and didn't check substring bounds, in some cases
	leading to runtime errors, e.g.:

	  (gnus-shorten-url "https://some.url.with/path/and#also_a_long_target" 40)
	  ;; => Lisp error: (args-out-of-range "/path/and" -18 nil)

	This commit makes it account for #fragments and fixes faulty string
	computation.  (bug#39980)

	Do not merge to master, where the helper is put to subr-x.el.

	* lisp/gnus/gnus-sum.el (gnus--string-truncate-left): New helper
	function (copied from 'ediff-truncate-string-left').
	(gnus-shorten-url): Use it and don't drop #fragments.

2020-04-13  Eli Zaretskii  <eliz@gnu.org>

	Minor wording change in Introduction to Programming in Emacs Lisp

	* doc/lispintro/emacs-lisp-intro.texi (Prevent confusion): Mention
	that dynamic scoping is only the default in Emacs Lisp, not the
	only scoping rule.  (Bug#40594)

2020-04-13  Eli Zaretskii  <eliz@gnu.org>

	Fix 'flymake-show-diagnostics-buffer' when line numbers are displayed

	* lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries):
	Do nothing if 'flymake--diagnostics-buffer-source' is not a
	buffer.  (Bug#40529)

2020-04-12  Eli Zaretskii  <eliz@gnu.org>

	Fix last changes describing mail commands

	* doc/emacs/sending.texi (Sending Mail): Fix the description of
	the behavior of 'C-x m' without prefix argument.  (Bug#40561)

2020-04-12  João Távora  <joaotavora@gmail.com>

	Do setup Flymake in file-less Elisp buffers

	(Bug#40573)

	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Change
	condition for setting flymake-diagnostic-functions.

2020-04-12  Philipp Stephani  <phst@google.com>

	Fix error message for ‘cl-struct-unknown-slot’ (bug#39995)

	* lisp/emacs-lisp/cl-macs.el (cl-struct-unknown-slot): Remove spurious
	format specifiers.

2020-04-12  Eli Zaretskii  <eliz@gnu.org>

	Fix and improve documentation of mail-related features

	* lisp/simple.el (compose-mail): Clarify the effect of the
	CONTINUE argument.
	* lisp/mail/sendmail.el (mail-from-style): Update the RFC value in
	the obsolescence warning text.

	* doc/emacs/sending.texi (Sending Mail): Fix the description of
	the behavior of 'C-x m' wrt prefix argument.
	(Mail Headers): Remove the description of 'mail-from-style'.

	* etc/NEWS: Mention that 'mail-from-style' is obsolete.

	(Bug#40561)

2020-04-12  Martin Rudalics  <rudalics@gmx.at>

	Fix build failure with Fx_gtk_debug

	* src/xfns.c (Fx_gtk_debug, Sx_gtk_debug): Define only for GTK
	versions >= 3.14.0 so gtk_window_set_interactive_debugging is
	defined.  Reported by Andreas Schwab  <schwab@linux-m68k.org>.

2020-04-11  Alan Mackenzie  <acm@muc.de>

	Mention jit-lock deferred as an alternative to fast-but-imprecise-scrolling

	* doc/emacs/display.texi (Scrolling): Add a paragraph on using jit-lock
	deferred fontification as a way of obviating Emacs hanging after
	auto-repeated scrolling.

2020-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/keymaps.texi (Extended Menu Items): Tweak :key-sequence

	Don't make it sound like `:key-sequence nil` is any different than the
	absence of `:key-sequence`.  And the performance advantage of
	`:key-sequence` disappeared long ago.

2020-04-10  Eli Zaretskii  <eliz@gnu.org>

	Fix redisplay when scrolling under redisplay-dont-pause

	* src/dispnew.c (update_window): Reset the window's
	'must_be_updated_p' flag if the window's update was completed
	without interruption.  This fixes redisplay glitches when
	'redisplay-dont-pause' is nil, at least on MS-Windows, because
	'expose_window' doesn't redraw the exposed rectangle when the
	window's 'must_be_updated_p' flag is set.

2020-04-09  Eli Zaretskii  <eliz@gnu.org>

	Fix face extension in pulse.el

	* lisp/cedet/pulse.el (pulse-reset-face): Propagate the :extend
	attribute of FACE to the face used for displaying the pulse.
	Reported by Adam Porter <adam@alphapapa.net>.

2020-04-09  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Bug Reports): Avoid line breaks in traces.

2020-04-09  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violation in intervals.c

	* src/intervals.c (delete_interval): Allow negative values of
	LENGTH (i).  This happens when delete_interval is called from
	set_intervals_multibyte_1, because the caller zeroes out the
	total_length field of the interval to be deleted.  See
	https://lists.gnu.org/r/emacs-devel/2020-04/msg00131.html
	for more details.  See also a related old discussion at
	https://lists.gnu.org/r/emacs-devel/2012-07/msg00399.html.

2020-04-08  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'jit-lock-contextually'

	* lisp/jit-lock.el (jit-lock-contextually): Clarify the jit-lock
	operation when 'jit-lock-contextually' is non-nil and non-t.

	* doc/lispref/modes.texi (Syntactic Font Lock)
	(Other Font Lock Variables): Document the relation between
	'jit-lock-register', 'font-lock-keywords-only', and syntactic
	refontification.

2020-04-08  Dmitry Gutov  <dgutov@yandex.ru>

	Speed up 'resize-mode' child frames a little

	* src/gtkutil.c (xg_frame_set_char_size): Skip resizing if the
	target dimensions are unchanged for child frames with
	'resize-mode' resize policy as well.

2020-04-06  Martin Rudalics  <rudalics@gmx.at>

	Fix some problems with moving and resizing child frames

	(1) Provide new option 'x-gtk-resize-child-frames' which allows
	to either hide a child frame during resizing or asks GTK to
	resize it "immediately".  This is needed because desktops like
	GNOME shell otherwise won't allow resizing child frames at all.
	(2) Do not try to synchronize the position of a child frame
	after moving it.  Needed because the present implementation
	introduces a 0.5 secs delay which makes dragging child frames
	virtually impossible with Lucid and Motif toolkits on desktops
	like GNOME shell that use invisible outer frame borders.

	For further information see the thread starting with
	https://lists.gnu.org/r/emacs-devel/2020-01/msg00343.html

	* src/frame.c (syms_of_frame): New symbol Qxg_frame_set_char_size_4.
	* src/gtkutil.c (xg_frame_set_char_size): Hide child frame
	during resizing when 'x-gtk-resize-child-frames' equals 'hide'.
	* src/xfns.c (x_set_parent_frame, Fx_create_frame): Set
	gtk_container_resize_mode to GTK_RESIZE_IMMEDIATE for child
	frames when'x-gtk-resize-child-frames' equals 'resize-mode'.
	(Fx_gtk_debug): New function to toggle interactive GTK debugging
	from within Emacs.
	(syms_of_xfns): New symbols Qhide and Qresize_mode.
	(x-gtk-resize-child-frames): New option that allows to resize
	child frames on desktops like GNOME shell (with the mutter WM)
	that otherwise refuse to resize them.
	* src/xterm.c (x_set_offset): Don't x_sync_with_move for child
	frames, it makes moving child frames virtually impossible with
	the Lucid and Motif toolkits.

2020-04-05  Philipp Stephani  <phst@google.com>

	Fix syntax error in man page.

	* doc/man/emacs.1.in: Fix syntax of --script argument.  The Info
	manual states that --script has to be followed by a space, and the
	syntax with the equals sign doesn't actually work.

2020-04-05  Noam Postavsky  <npostavs@gmail.com>

	Handle filling of indented ChangeLog function entries

	* lisp/vc/log-edit.el (log-edit-fill-entry): Relax regexp a bit to
	recognize function entries with leading blanks.
	* test/lisp/vc/log-edit-tests.el: New test.

2020-04-05  Noam Postavsky  <npostavs@gmail.com>

	Fix void-variable n-reb in re-builder (Bug#40409)

	* lisp/emacs-lisp/re-builder.el (reb-while): Take the current value of
	the counter instead of its name.
	(reb-mark-non-matching-parenthesis): Bind n-reb to 0 at the start and
	don't wrongly treat it as dynamically bound.

2020-04-03  Philipp Stephani  <phst@google.com>

	Fix small bug in copy_string_contents.

	* src/emacs-module.c (module_copy_string_contents): Fix incorrect
	variable use.  In this branch 'lisp_str_utf8' is always nil, so it
	makes little sense to add it as error data.

2020-04-03  Eli Zaretskii  <eliz@gnu.org>

	Fix invocations of gpg from Gnus

	* lisp/epg-config.el (epg-config--make-gpg-configuration): Bind
	coding-system-for-read/write to 'undecided', to countermand
	possible values of 'no-conversion' or somesuch by the callers.
	(Bug#40248)

2020-04-03  Martin Rudalics  <rudalics@gmx.at>

	Don't draw GTK's internal border and tab bar on top of each other

	* src/xterm.c (x_clear_under_internal_border): For GTK builds
	have 'margin' count in the height of the tab bar to avoid that
	tab bar and internal border are drawn on top of each other.

2020-04-03  Amin Bandali  <bandali@gnu.org>

	Tweak htmlfontify's generated output

	* lisp/htmlfontify.el (hfy-default-header): declare the character
	encoding for the generated HTML file.  This helps browsers display
	UTF-8 characters like the copyright symbol correctly.
	(hfy-sprintf-stylesheet): apply the default style to all of the text
	consistently, so that unstyled bits (which are not wrapped in span
	tags and are directly part of the surrounding pre tag's "innerHTML")
	have a look consistent with the rest of the document.

2020-03-30  Dmitry Gutov  <dgutov@yandex.ru>

	Handle project--files-in-directory finding no files better

	* lisp/progmodes/project.el (project--find-regexp-in-files):
	Signal user-error when passed an empty list of files.

	* lisp/progmodes/xref.el (xref-matches-in-files):
	Make sure FILES is not empty.

2020-03-30  Alan Mackenzie  <acm@muc.de>

	Let imenu to work on the menu bar when its list is a single non-nested member.

	* lisp/imenu.el (imenu-update-menubar): No longer accept a list of length 1 as
	being sufficient evidence for a nested list structure.  Instead, additionally
	check whether or not certain elements are atoms.

2020-03-30  Juri Linkov  <juri@linkov.net>

	* lisp/image/image-converter.el: Fix customization of image-converter.

	* lisp/image/image-converter.el (image-convert-p): Update
	image-converter-regexp when image-converter was customized (bug#39994).

2020-03-29  Andreas Schwab  <schwab@linux-m68k.org>

	Fix url-cookie.el for lexical binding

	* lisp/url/url-cookie.el (url-cookie-handle-set-cookie): Use setq
	instead of set to modify lexical binding.

2020-03-29  Noam Postavsky  <npostavs@gmail.com>

	Don't suggest setting face-remapping-alist to a literal (Bug#39812)

	* src/xfaces.c (syms_of_xfaces) <face-remapping-alist>: Use copy-tree
	in the costring example code, and note why.

2020-03-27  Mattias Engdegård  <mattiase@acm.org>

	Calc: don't treat nil as an integer (bug#40155)

	Make Math-num-integerp return false for nil, following Math-integerp
	which was changed in the bignum reform.  This fixes a crash in
	calc-graph-fast.

	Reported by Narendra Joshi.

	* lisp/calc/calc-macs.el (Math-num-integerp): Not true for nil.
	* test/lisp/calc/calc-tests.el (calc-Math-integerp): New tests.

2020-03-25  Eli Zaretskii  <eliz@gnu.org>

	* lisp/files.el (directory-files-recursively): Doc fix.  (Bug#40202)

2020-03-25  Michael Albinus  <michael.albinus@gmx.de>

	Document how to disable Tramp file archives

	* doc/misc/tramp.texi (Archive file names): Explain how to disable
	file archives.

2020-03-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't add repeated xlmns:xlink declarations in svg-create

	* lisp/svg.el (svg-create): Fix previous unconditional addition of
	the xmlns:xlink declaration -- callers may already add one, and
	having it twice is something most svg libraries doesn't like.

2020-03-23  Mattias Engdegård  <mattiase@acm.org>

	Calc: Declare dynamic variable bound in lexbind code (bug#40185)

	* lisp/calc/calc.el: Declare math-comp-selected as dynamic.

2020-03-23  Eli Zaretskii  <eliz@gnu.org>

	Don't build the Gnulib 'utimens' module on MinGW

	* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_utimens): Omit the
	'utimens' module in the MinGW build: 'utimens' is not used by
	Emacs, and 'fdutimens' is implemented in w32.c.

2020-03-23  Phillip Lord  <phillip.lord@russet.org.uk>

	Add Harfbuzz dependency

	* admin/nt/dist-build/build-dep-zips.py: Add harfbuzz as a dependency.

2020-03-23  Noam Postavsky  <npostavs@gmail.com>

	Don't signal during backtrace unrewind (Bug#40088)

	backtrace_eval_unrewind is used to temporarily reverse
	let-bindings (it's called with a positive argument to reverse
	bindings, and then a negative argument to re-apply them) by
	backtrace--locals and backtrace-eval.  For the SPECPDL_LET_DEFAULT and
	SPECPDL_LET_LOCAL cases (which occur for let-bindings on buffer-local
	variables), the code calls Fdefault_value and Fbuffer_local_value on
	the symbol.

	For symbols which are unbound at top-level, the first (with positive
	argument) call to backtrace_eval_unrewind will set the symbol's value
	to unbound (putting the current value in the specpdl's "old value"
	slot).  On the second (with negative argument) call,
	backtrace_eval_unrewind attempts to retrieve the symbol's value with
	Fdefault_value or Fbuffer_local_value, but that raises a void-variable
	signal.  This interrupts the restoration of the let-bindings, so any
	other variables more recent on the stack will now have the wrong
	value.

	* src/data.c (default_value): Make non-static.
	* src/lisp.h: Declare it.
	* src/eval.c (backtrace_eval_unrewind): Replace the calls to
	Fdefault_value and Fbuffer_local_value with default_value and
	buffer_local_value, respectively.  The latter do exactly the same as
	the former, except if the symbol's value is Qunbound they just return
	it instead of signaling void-variable.

2020-03-23  Noam Postavsky  <npostavs@gmail.com>

	Fix a couple of problems in changelog generating functions

	* lisp/vc/diff-mode.el (diff-add-log-current-defuns): If there is a
	scan-error when calling end-of-defun, go to end of hunk.  This can
	easily happen since we are calling end-of-defun on a partial code
	fragment from a diff.
	* lisp/vc/log-edit.el (log-edit-generate-changelog-from-diff): Bind
	display-buffer-overriding-action around the log-edit-show-diff call
	only.  Otherwise, it can affect, for example, debugger windows
	triggered by the diff-add-log-current-defuns call.

2020-03-23  Noam Postavsky  <npostavs@gmail.com>

	Fix cl-concatenate (Bug#40180)

	* lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use apply, to avoid
	adding extra nesting of args.
	* test/lisp/emacs-lisp/cl-extra-tests.el (cl-concatenate): New test.

2020-03-21  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of project.el commands

	* lisp/progmodes/project.el (project-find-regexp): Require 'grep'
	to be able to call 'grep-read-files'.
	(project-search, project-query-replace-regexp): Doc fixes.

	* doc/emacs/maintaining.texi (Projects): New section.
	* doc/emacs/emacs.texi (Top): Add "Projects" to the detailed menu.

2020-03-20  Zhu Zihao  <all_but_last@163.com>  (tiny change)

	Make svg images with links valid

	* lisp/svg.el (svg-create): Specify xlink namespace for svg images
	(bug#40010).

2020-03-20  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el (tab-line-new-button-show): New defcustom.

	* lisp/tab-line.el (tab-line-format-template): Use tab-line-new-button-show.
	(tab-line-new-tab-choice): Remove choice 'nil' with "No button".
	(tab-line-separator): Add docstring.

2020-03-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't have exif bugging out on short strings

	* lisp/image/exif.el (exif--direct-ascii-value): New function
	(bug#40127).
	(exif--parse-directory): Use it to get the correct values for
	in-directory (i.e., shorter than 4 octets) strings.

2020-03-19  Robert Pluim  <rpluim@gmail.com>

	Use correct registry name for windows-1251 charset

	* src/ftfont.c (fc_charset_table): The registry to use to lookup
	windows-1251 charset is microsoft-cp1251, not windows-1251.
	(Bug#40097)

2020-03-19  Amin Bandali  <bandali@gnu.org>

	ERC: Update maintainer address

2020-03-18  Philipp Stephani  <phst@google.com>

	Remove raw carriage return characters from test file.

	This protects against tools that mangle newline characters in text
	files.

	* test/lisp/electric-tests.el (electric-pair-mode-newline-between-parens)
	(electric-layout-mode-newline-between-parens-without-e-p-m)
	(electric-layout-mode-newline-between-parens-without-e-p-m-2): Escape
	carriage return characters.

2020-03-17  Robert Pluim  <rpluim@gmail.com>

	Recalculate default font when switching font backend

	This is an updated version of the patch by Dmitry Antipov
	<dmantipov@yandex.ru> in
	<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23386#43>.

	Fixes Bug#23386

	* src/dispextern.h (struct redisplay_interface): New member
	default_font_parameter.
	* src/xterm.h: Add prototype for x_default_font_parameter.
	* src/xterm.c (x_redisplay_interface): Initialize
	default_font_parameter member.
	* src/xfns.c (x_default_font_parameter): Make non-static.
	* src/w32term.h: Add prototype for w32_default_font_parameter
	* src/w32fns.c (w32_default_font_parameter): Make non-static.
	* src/w32term.c (w32_redisplay_interface): Initialize
	default_font_parameter member.
	* src/nsterm.m (ns_redisplay_interface): Add dummy
	ns_default_font_parameter (there is currently only one possible font
	backend on macOS).  Initialize default_font_parameter member.
	* src/frame.c (gui_set_font_backend): Recalculate default font using
	RIF default_font_parameter to avoid crash when changing font backend.

2020-03-17  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el: Fix tab-line-format and tab-line-format-template.

	* lisp/tab-line.el (tab-line-format): Use buffer-name in the cache key
	instead of just buffer object to invalidate the cache on buffer renaming.
	(tab-line-format-template): Always leave the separator after the last tab
	like tab-bar.el already does.

2020-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/NEWS: Make the `--eval` example slightly more precise

2020-03-15  Juri Linkov  <juri@linkov.net>

	* lisp/image/image-converter.el: Support more ImageMagick versions (bug#39994)

	* lisp/image/image-converter.el (image-converter--probe): Match
	a possible additional second column in some ImageMagick versions
	of "convert -list format".

2020-03-14  Eli Zaretskii  <eliz@gnu.org>

	Support Unicode 13.0

	* admin/unidata/BidiBrackets.txt:
	* admin/unidata/BidiMirroring.txt:
	* admin/unidata/Blocks.txt:
	* admin/unidata/NormalizationTest.txt:
	* admin/unidata/SpecialCasing.txt:
	* admin/unidata/UnicodeData.txt:
	* admin/unidata/copyright.html:
	* test/manual/BidiCharacterTest.txt: Updated files imported from
	Unicode v13.0.

	* admin/unidata/blocks.awk: Add "Symbols for Legacy Computing" to
	known aliases.

	* lisp/international/fontset.el (script-representative-chars)
	(setup-default-fontset): Add new scripts.
	* lisp/international/characters.el: Set syntax for Symbols for
	Legacy Computing characters.  Update setting of char-width-table.
	* lisp/international/mule-cmds.el (ucs-names): Update ranges of
	characters for which we want names in 'ucs-names'.

	* test/lisp/international/ucs-normalize-tests.el
	(ucs-normalize-tests--failing-lines-part1)
	(ucs-normalize-tests--failing-lines-part2): Update according to
	'ucs-normalize-check-failing-lines'.

2020-03-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix regression in wisent-total-conflicts

	* lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts):
	There may not be a current source file.  In that case, don't try
	to keep track of the number of expected conflicts (bug#39911).

2020-03-14  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-defs.el (c-version): update to 5.34.1 for Emacs 27.1

	Don't merge to master.

2020-03-14  Philipp Stephani  <phst@google.com>

	* lisp/textmodes/fill.el (fill-nobreak-predicate): Fix documentation.

2020-03-14  Stefan Kangas  <stefankangas@gmail.com>

	Improve Package Menu hiding docstrings

	* lisp/emacs-lisp/package.el (package-menu-toggle-hiding): Add
	reference to 'package-menu-hidden-regexps'.
	* lisp/emacs-lisp/package.el (package-menu-hide-package): Improve
	docstring to say that hiding is saved in a user option.  Fix a
	typo.  (Bug#39436)

2020-03-14  Eli Zaretskii  <eliz@gnu.org>

	Fix display of Big5 characters when using Fontconfig

	* src/ftfont.c (fc_charset_table): Fix the value of the big-5
	representative codepoint.  Reported by Brian Schack
	<bschack-cocoa@usa.net>.  (Bug#40057)

	* src/macfont.m (cf_charset_table): Adjust the comment.

2020-03-13  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent documentation change

	* doc/emacs/frames.texi (Mouse Commands): More detailed
	description of how tilting the mouse-wheel works.

	* lisp/mwheel.el (mouse-wheel-tilt-scroll)
	(mouse-wheel-flip-direction): Fix the wording of doc strings.
	(Bug#39979)

2020-03-13  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* lisp/tab-bar.el (tab-bar-new-button-show): Fix wording of the
	doc string.

2020-03-13  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Last-minute changes.

	* lisp/tab-bar.el (tab-bar-mode): Check for non-nil
	tab-bar-new-button and tab-bar-close-button.
	(tab-bar-new-button-show): New defcustom.
	(tab-bar-make-keymap-1): Check for tab-bar-new-button-show.
	(tab-bar-separator): Add docstring.

2020-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (cancel-change-group): Fix bug#39680

	Don't reuse an existing `pending-undo-list` even if (eq last-command 'undo)
	since there might have been changes to the buffer since that `undo` command
	and the `pending-undo-list` can hence be invalid for the current
	buffer contents.

2020-03-12  İ. Göktuğ Kayaalp  <self@gkayaalp.com>

	Improve docs for horizontal scrolling with mouse and touchpad (Bug#39979)

	* lisp/mwheel.el (mouse-wheel-tilt-scroll,
	mouse-wheel-flip-direction): Improve docstrings.
	* doc/emacs/frames.texi (Mouse Commands): Mention touchpads.

2020-03-10  Juri Linkov  <juri@linkov.net>

	* lisp/emacs-lisp/package.el (package-install): Fix typo in docstring.

2020-03-09  Paul Eggert  <eggert@cs.ucla.edu>

	Port .gdbinit to clang with -gdwarf-4

	* src/.gdbinit (xgetsym): Port to clang with -gdwarf-4, which
	doesn’t output the type of lispsym anywhere other than emacs.o
	(Bug#39962).

2020-03-09  Mattias Engdegård  <mattiase@acm.org>

	Simplify rx example in manual

	* doc/lispref/searching.texi (Rx Notation):
	Use the 'not' shorthand introduced in Emacs 27.

2020-03-09  Paul Eggert  <eggert@cs.ucla.edu>

	* src/timefns.c: Add comments.

2020-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	* src/timefns.c: Add comments.

2020-03-08  Andrew Eggenberger  <andrew.eggenberger@gmail.com>  (tiny change)

	Eliminate use of cl-concatenate in 'seq' package

	Fixes (Bug#39761) by making cl-extra dependent on seq rather than
	vice versa.
	* lisp/emacs-lisp/seq.el (seq-concatenate): Move cl-concatenate's
	code here instead of calling it.
	* lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use cl-concatenate.

2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug with JIT stealth timers

	* lisp/emacs-lisp/timer.el (run-at-time): Don’t assume that Lisp
	time values must be conses (Bug#39944).

2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/lispref/os.texi (time-subtract): Doc fix.

2020-03-07  Alan Third  <alan@idiocy.org>

	NS port documentation updates

	* doc/emacs/macos.texi (Mac / GNUstep Customization): Document some
	more of the ns- variables and remove incorrect font back-end
	information.
	* etc/NEWS: Update the documentation status of macOS news entries.

2020-03-07  João Távora  <joaotavora@gmail.com>

	Let fido-mode users force a minibuffer-exit

	* lisp/icomplete.el (icomplete-fido-exit):
	Add FORCE arg.  Rewrite docstring. (bug#38992)

2020-03-07  Dmitry Gutov  <dgutov@yandex.ru>

	icomplete-fido-exit: New command for the M-j binding

	* lisp/icomplete.el (icomplete-fido-exit): New command.
	(icomplete-fido-mode-map): Use it (bug#38992).

2020-03-07  Dmitry Gutov  <dgutov@yandex.ru>

	minibuffer-force-complete-and-exit: Allow input with no matches

	* lisp/minibuffer.el (minibuffer--require-match): New variable.
	(completing-read-default): Bind it to the REQUIRE-MATCH value.
	(minibuffer-force-complete-and-exit): Consult it to allow input
	with no matches when a match is not required (bug#38992).

	* lisp/icomplete.el (icomplete-exhibit): Use it to render the
	correct parens around matches.

2020-03-07  Eli Zaretskii  <eliz@gnu.org>

	Document that 'byte-compile-dynamic' is obsolete

	* doc/lispref/compile.texi (Dynamic Loading): Document that this
	is deprecated.

	* etc/NEWS: mark the 'byte-compile-dynamic' entry as documented.

2020-03-07  Eli Zaretskii  <eliz@gnu.org>

	Document the changes in 'read-answer'

	* doc/lispref/minibuf.texi (Multiple Queries): Document the
	fact that 'read-answer' can now accept non-character input
	events.

2020-03-07  Eli Zaretskii  <eliz@gnu.org>

	Document changes in lexical-binding

	* doc/lispref/variables.texi (Using Lexical Binding): Document
	that lexical-binding is now turned on by default in more cases.

	* etc/NEWS: Fix wording of the NEWS entry about the above, and mark it
	as fully documented.

2020-03-06  Amin Bandali  <mab@gnu.org>

	Update ERC mailing list address

	* lisp/erc/erc.el (erc-official-location): As part of bringing ERC
	under the Emacs umbrella, erc-discuss has been renamed to emacs-erc,
	and will be *the* mailing list for discussions and announcements about
	ERC going forward.  The other two lists, erc-announce and erc-commit,
	are now retired.  For more details, see the announcement at
	<https://lists.gnu.org/r/emacs-erc/2020-03/msg00001.html>.

2020-03-06  Roland Winkler  <winkler@gnu.org>

	Use regexp-opt to define bibtex-autokey-transcriptions.  (Bug#39686)

2020-03-06  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'table-generate-source'

	* lisp/textmodes/table.el (table-generate-source): Doc fix.
	(Bug#39935)

	* etc/NEWS: Fix wording of the 'table-generate-source' entry and
	mark it as documented.

2020-03-06  Eli Zaretskii  <eliz@gnu.org>

	Attempt to avoid rare segfaults in show_mouse_face

	* src/xdisp.c (show_mouse_face): Don't display the active region
	if called on a frame different from the one recorded in HLINFO.
	(Bug#37671)

2020-03-05  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes when a fontset has strange entries

	* src/fontset.c (reorder_font_vector): Skip nil entries in the
	loop that assigns scores to rfont_def's.
	(fontset_compare_rfontdef): Cope with nil.  This has the effect of
	moving any nil entries to the end of the font-group, and avoids
	crashing if an element other than the last in the font-group is
	nil.  (Bug#39892)

2020-03-05  Mattias Engdegård  <mattiase@acm.org>

	Fix rx error with ? and ??

	The ? and ?? rx operators are special in that they can be written as
	characters (space and '?' respectively).  This confused the definition
	look-up mechanism in rare cases.

	* lisp/emacs-lisp/rx.el (rx--expand-def): Don't look up non-symbols.
	* test/lisp/emacs-lisp/rx-tests.el (rx-charset-or): Test.

2020-03-05  Mattias Engdegård  <mattiase@acm.org>

	* lisp/emacs-lisp/rx.el (rx--string-to-intervals): Fix error string.

2020-03-05  Justin Burkett  <justin@burkett.cc>  (tiny change)

	Fix args in 'window-text-pixel-size' call in 'fit-window-to-buffer'

	* lisp/window.el (fit-window-to-buffer): Fix arguments in
	'window-text-pixel-size' call.

2020-03-04  João Távora  <joaotavora@gmail.com>

	Have pulse.el preserve existing overlay priorities

	(Bug#39821)

	* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Save
	overlay priority.
	(pulse-momentary-unhighlight): Restore.

2020-03-04  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix the handling of two adjacent after-change-functionses.

	The bug involved failing to set c-new-END correctly, which lead to an
	args-out-of-range error when after-change-functions was invoked twice without
	an intervening invocation of before-change-functions.

	* lisp/progmodes/cc-mode.el (c-after-change): Correct a coding error in the
	handling of c-just-done-before-change.

2020-03-04  Alan Mackenzie  <acm@muc.de>

	Fix combine-change-calls-1 for when buffer-undo-list is t

	* lisp/subr.el (combine-change-calls-1): Bind before/after-change-functions to
	nil also when buffer-undo-list is t.

2020-03-04  Mattias Engdegård  <mattiase@acm.org>

	Don't misinterpret doc string as initial value

	* lisp/loadhist.el (loadhist--restore-autoload):
	* lisp/progmodes/vhdl-mode.el (vhdl-font-lock-keywords-0):
	Prevent the doc string from being used as initial value.

2020-03-04  Stefan Kangas  <stefankangas@gmail.com>

	Bump checkdoc-version to match library header

	* lisp/emacs-lisp/checkdoc.el (checkdoc-version): Bump version.

2020-03-04  Noam Postavsky  <npostavs@gmail.com>

	Explain how to unset mode bindings (Bug#39802)

	* doc/emacs/custom.texi (Init Rebinding): Explain that passing nil to
	define-key will unbind keys, and extend the example accordingly.

2020-03-04  Noam Postavsky  <npostavs@gmail.com>

	Fix describe-variable on values with circular syntax (Bug#39805)

	* lisp/help-fns.el (describe-variable): Set syntax tables before
	calling pp-buffer.

2020-03-04  Juri Linkov  <juri@linkov.net>

	Improve documentation of next-error-highlight-no-select (bug#38778)

	* doc/emacs/building.texi (Compilation Mode):
	Mention next-error-highlight-no-select.

	* lisp/simple.el (next-error-highlight): Add reference to
	next-error-highlight-no-select.
	(next-error-highlight-no-select): Add reference to
	next-error-highlight.

2020-03-03  Andreas Schwab  <schwab@linux-m68k.org>

	Fix implicit declaration of getenv and atol

	* src/gtkutil.c: Include <stdlib.h>.

2020-03-03  Eli Zaretskii  <eliz@gnu.org>

	Fix handling MS-Windows keyboard input above the BMP

	* src/w32term.c (w32_read_socket): If we get a WM_UNICHAR message
	with a surrogate codepoint, assemble the corresponding character
	code above the BMP from its UTF-16 encoding, communicated in two
	consecutive WM_UNICHAR messages.

2020-03-03  Mattias Engdegård  <mattiase@acm.org>

	* etc/NEWS: More complete description of rx 'not' changes.

2020-03-02  Juri Linkov  <juri@linkov.net>

	* doc/emacs/mini.texi (Yes or No Prompts): 'y-or-n-p' now uses the minibuffer.

2020-03-02  Robert Pluim  <rpluim@gmail.com>

	Don't attempt to cache glyph metrics for FONT_INVALID_CODE

	This was causing massive slowdown in redisplay when eg #xfe0f
	(VARIATION SELECTOR-16) was present, as the cache ended up very large,
	unused, and being recreated on every call to font_fill_lglyph_metrics
	(Bug#39133).

	* src/composite.c (fill_gstring_body): Hoist FONT_OBJECT_P check out
	of loop.  Calculate glyph code and check for FONT_INVALID_CODE before
	calling font_fill_lglyph_metrics.  Pass glyph code to it.

	* src/font.c (font_fill_lglyph_metrics): Add code parameter, move
	glyph code calculation up the call stack into fill_gstring_body.

	* src/font.h: Adjust font_fill_lglyph_metrics prototype.

2020-03-01  Sergey Trofimov  <sarg@sarg.org.ru>  (tiny change)

	Fix fit-frame-to-buffer for multi-monitor setup

	* lisp/window.el (fit-frame-to-buffer): Call
	'frame-monitor-attributes' instead of
	'display-monitor-attributes-list'.  Fix geometry calculations for
	multiple monitors.

2020-03-01  Mattias Engdegård  <mattiase@acm.org>

	rx: Improve 'or' compositionality (bug#37659)

	Perform 'regexp-opt' on nested 'or' forms, and after expansion of
	user-defined and 'eval' forms.  Characters are now turned into strings
	for wider 'regexp-opt' scope.  This preserves the longest-match
	semantics for string in 'or' forms over composition.

	* doc/lispref/searching.texi (Rx Constructs): Document.
	* lisp/emacs-lisp/rx.el (rx--normalise-or-arg)
	(rx--all-string-or-args): New.
	(rx--translate-or): Normalize arguments first, and check for strings
	in subforms.
	(rx--expand-eval): Extracted from rx--translate-eval.
	(rx--translate-eval): Call rx--expand-eval.
	* test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-def-in-or): Add tests.
	* etc/NEWS: Announce.

2020-02-29  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el: Fix auto-hscrolling (bug#39649)

	Distinguish offsets between manual-vs-automatic scrolling
	as integers-vs-floats instead of positive-vs-negative integers.

	* lisp/tab-line.el (tab-line-format-template): Use 'numberp'
	instead of 'integerp', and 'truncate' instead of 'abs'.
	(tab-line-format): When the window-buffer was updated, set window-parameter
	to float to enable auto-hscroll after it was disabled on manual scrolling.
	(tab-line-auto-hscroll-buffer): New variable with internal buffer.
	(tab-line-auto-hscroll): Erase in tab-line-auto-hscroll-buffer.
	Use 'numberp' instead of 'integerp', 'truncate' instead of 'abs',
	and 'float' instead of '-'.
	(tab-line-hscroll): Use 'numberp' instead of 'integerp',
	and 'truncate' instead of 'abs'.

2020-02-29  Mattias Engdegård  <mattiase@acm.org>

	Fix rx charset generation

	* lisp/emacs-lisp/rx.el (rx--charset-p): Don't overquote.
	(rx--generate-alt): Generate '.' for negated newline.
	* test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-charset-or): Test.

2020-02-28  Mattias Engdegård  <mattiase@acm.org>

	Fix overquoting in mule.el

	* lisp/international/mule.el (sgml-xml-auto-coding-function):
	Remove accidental quote.

2020-02-28  Paul Eggert  <eggert@cs.ucla.edu>

	* src/timefns.c (time_arith): Omit incorrect comment.

2020-02-28  Mattias Engdegård  <mattiase@acm.org>

	* lisp/vc/vc-cvs.el (vc-cvs-ignore): Copy-edit doc string

2020-02-28  Štěpán Němec  <stepnem@gmail.com>

	checkdoc: Don't mistake "cf." for sentence end

	* lisp/emacs-lisp/checkdoc.el (checkdoc-sentencespace-region-engine):
	Recognize "cf." as an abbreviation, not a sentence end.

2020-02-27  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 27.0.90

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version.

2020-02-27  Nicolas Petton  <nicolas@petton.fr>

	* etc/AUTHORS: Update.

2020-02-27  Nicolas Petton  <nicolas@petton.fr>

	* admin/authors.el (authors-ignored-files): Fix entries.

2020-02-26  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix documented slot name of eieio-instance-tracker class

	* doc/misc/eieio.texi (eieio-instance-tracker): The code has the slot
	  name as `tracking-symbol', not `tracker-symbol'.

2020-02-26  Robert Pluim  <rpluim@gmail.com>

	Range-check width passed to define-fringe-bitmap

	This prevents a crash when attempting to create a zero-width bitmap.

	* src/fringe.c (Fdefine_fringe_bitmap): Check value of width,
	signal an error if outside documented range (Bug#39662).

2020-02-26  Nicolas Petton  <nicolas@petton.fr>

	* admin/authors.el: Add missing entries

2020-02-26  Noam Postavsky  <npostavs@gmail.com>

	Define libgnutls-version properly

	* src/gnutls.c (syms_of_gnutls) <libgnutls-version>: Define with
	DEFVAR_LISP and add docstring, so that this variable will accessible by
	help facilities.

2020-02-25  Dmitry Gutov  <dgutov@yandex.ru>

	vc-dir-ignore: More accurately choose base directory

	* lisp/vc/vc-dir.el:
	(vc-dir-ignore): Use it (bug#37189).

	* lisp/vc/vc.el:
	(vc--ignore-base-dir): Extract from vc-ignore.

2020-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Change last fix

	Make sure we always work in the selected-window's buffer.

2020-02-23  Alan Mackenzie  <acm@muc.de>

	CC Mode: Protect against consecutive calls to before-change-functions ...

	without an intervening call to after-change-functions.  This would have been a
	workaround to bug #38691 had the causes of that bug not been removed.

	* lisp/progmodes/cc-mode.el (c-just-done-before-change): Add an extra value to
	this variable, 'whole-buffer, this being set by c-before-change as a signal to
	c-after-change that although c-before-change has run, it has assumed the
	entire buffer as the change region.
	(c-before-change, c-after-change): Adapt to the new meaning of the above.

2020-02-23  Noam Postavsky  <npostavs@gmail.com>

	Shorten some ppss struct field names

	* lisp/emacs-lisp/syntax.el (ppss): Capitalize docstrings.
	(ppss-comment-depth): Renamed from ppss-comment-nesting.
	(ppss-quoted-p): Renamed from ppss-after-quote-p.
	(ppss-min-depth): Renamed from ppss-minimum-paren-depth.
	(ppss-open-parens): Renamed from ppss-open-paren-positions.
	* etc/NEWS: Announce the ppss-* accessors.

2020-02-23  Alan Mackenzie  <acm@muc.de>

	Java Mode: Fix fontification of variable decl inside `for'

	* lisp/progmodes/cc-engine.el (c-forward-declarator): In place of a test for
	C++ Mode, test for either C++ Mode or Java Mode.

2020-02-23  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fontify foo in "const auto foo :" correctly

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While attempting to
	find a declaration's identifier, recast the latest found id. as that
	identifier when there is no other type identifier and the result of the most
	recent c-forward-type call is 'maybe or 'found.  In the latter case, remove
	the id. from the found types list, too.

2020-02-23  Juri Linkov  <juri@linkov.net>

	* lisp/replace.el (occur-engine-line): Revert part of fb16313025 (bug#39597)

2020-02-23  Dmitry Gutov  <dgutov@yandex.ru>

	Move more logic to vc-ignore from vc-default-ignore

	* lisp/vc/vc-dir.el (vc-dir-ignore):
	Pass relative file names to vc-ignore.

	* lisp/vc/vc.el (vc-ignore): Move the responsibility of
	constructing the ignore pattern (right now, most often a relative
	file name) using a file name received from the user, here.
	(vc-default-ignore): ...from here (bug#37189, see discussion).
	Also clarify the docstring.

2020-02-22  Eli Zaretskii  <eliz@gnu.org>

	Warn about the likes of "[:alnum:]" in regexps

	* doc/lispref/searching.texi (Char Classes): Warn about erroneous
	usage of named character classes.  Suggested by Stephen Leake
	<stephen_leake@stephe-leake.org>.

2020-02-22  Wolfgang Scherer  <wolfgang.scherer@gmx.de>

	Don't write absolute filenames and duplicate strings to CVS ignore files

	* lisp/vc/vc-cvs.el (vc-cvs-ignore): Expand filename correctly
	and pass on only the basename as the pattern.
	(vc-cvs-append-to-ignore) Do not write duplicate strings to
	.cvsignore.  New optional parameter SORT to more explicitly
	control sorting of the ignore entries.  (Bug#37215)
	* lisp/vc/pcvs.el (cvs-mode-ignore): Call 'vc-cvs-append-to-ignore'
	with SORT argument.

2020-02-21  Federico Tedin  <federicotedin@gmail.com>

	Fix cursor-sensor--detect when current buf != selected window's buf

	* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Avoid
	trying to read text properties from position taken from another
	buffer.  (Bug#38740)

2020-02-21  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/sending.texi (Mail Sending): Fix index entries.

2020-02-21  Allen Li  <darkfeline@felesatra.moe>

	Document 'message-send-mail-function' in the Emacs manual

	Most of the manual here addresses Message mode, yet talks about
	'send-mail-function' which is used for Mail mode.
	Fixing this completely requires more involved work, but for now at
	least document the difference here.

	* doc/emacs/sending.texi (Mail Sending): Mention
	'message-send-mail-function'.  (Bug#39639)

2020-02-21  Allen Li  <darkfeline@felesatra.moe>

	Fix reference to 'message-send-and-exit' in Emacs manual

	Most of the manual here addresses Message mode, and C-c C-c directly
	above cites the Message mode command, not the Mail mode command.

	* doc/emacs/sending.texi (Mail Sending): Fix reference.  (Bug#39639)

2020-02-21  Steven Allen  <steven@stebalien.com>

	Skip shell prompt on current line in Eshell even if it's protected

	When the eshell prompt is protected (e.g., with rear non-sticky,
	inhibited movements, etc.), 'beginning-of-line' won't move to the
	actual beginning of the line and therefore won't skip over the
	prompt.
	* lisp/eshell/em-prompt.el (eshell-previous-prompt): Use
	'forward-line' to go to the beginning of the line, even if it's
	protected.  (Bug#39627)

2020-02-20  Mattias Engdegård  <mattiase@acm.org>

	Fix broken regexps

	Incorrect escaping prevented these from working as intended.
	Found by relint.

	* lisp/progmodes/cc-defs.el (c-search-backward-char-property):
	Add missing backslash.
	* lisp/progmodes/simula.el (simula-mode):
	Remove one backslash too many.

2020-02-19  Paul Eggert  <eggert@cs.ucla.edu>

	* Makefile.in (PREFERRED_BRANCH): Now emacs-27.

2020-02-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug when visiting euc-jp-encoded directories

	Problem reported by Kan Sasaki (Bug#39672).
	* src/fileio.c (Ffile_directory_p):
	Encode filename before giving it to file_directory_p.
	This fixes a typo introduced in
	2019-09-18T02:18:14Z!eggert@cs.ucla.edu.

2020-02-17  Paul Eggert  <eggert@cs.ucla.edu>

	Clarify when fixnums are used.

	* doc/lispref/numbers.texi (Integer Basics): Clarify.
	Based on a suggestion by Noam Postavsky (Bug#39557#32).

2020-02-17  Paul Eggert  <eggert@cs.ucla.edu>

	Reorder discussion of integer basics

	* doc/lispref/numbers.texi (Integer Basics): Put the fixnum/bignum
	discussion at the end of the section, not at the start (Bug#39557).

2020-02-17  Mattias Engdegård  <mattiase@acm.org>

	Make OMake support slightly less expensive (bug#39595)

	When run with -p or -P, OMake regurgitates error messages that
	prevented further progress, indented by 6 spaces.  Use that fact
	to ameliorate the modification done to other error message regexps.

	* lisp/progmodes/compile.el (compilation-parse-errors):
	When 'omake' is enabled, allow error messages to be indented by 0 or 6
	spaces instead of any number of spaces, to avoid pathological
	behavior.
	(compilation-error-regexp-alist-alist): Anchor the 'omake' pattern to
	bol for performance.  Repair the 'ruby-Test::Unit' pattern, which
	relied on the previously over-generous 'omake' hack.
	* etc/compilation.txt (OMake): Add examples.
	* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
	(compile-test-error-regexps): Add test for OMake (indented error).

2020-02-17  Mattias Engdegård  <mattiase@acm.org>

	Speed up 'msft' and 'watcom' compilation error regexps

	They have similar structure, and both suffer from being able to
	match leading spaces in multiple ways which leads to bad performance
	when backtracking (bug#39595).

	* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
	Improved 'msft' and 'watcom' regexps.

2020-02-17  Mattias Engdegård  <mattiase@acm.org>

	Speed up 'maven' compilation error message regexp

	Anchor the regexp at line-start to prevent quadratic behavior when
	it doesn't match (bug#39595).  It's unclear whether the type tag, like
	[ERROR], is always present; we keep it optional just in case.

	* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
	Rewrite 'maven' regexp, using rx for clarity.
	* etc/compilation.txt (maven): More examples.
	* test/lisp/progmodes/compile-tests.el
	(compile-tests--test-regexps-data): No leading spaces; they seems to
	stem from a misunderstanding in bug#11517.

2020-02-16  Alan Mackenzie  <acm@muc.de>

	Amend c-backward-sws better to handle multiline block comments

	In particular, multiline comments lacking escaped newlines.

	* lisp/progmodes/cc-engine.el (c-backward-sws): Whilst searching backward for
	a putative beginning of macro, move back over block comments whose innards
	lack escaped newlines.

2020-02-16  Alan Mackenzie  <acm@muc.de>

	Reformulate c-end-of-macro, handling multiline block comments better

	* lisp/progmodes/cc-langs.el (c-last-open-c-comment-start-on-line-re): Comment
	out.
	(c-open-c-comment-on-logical-line-re): Remove.

	* lisp/progmodes/cc-engine.el (c-end-of-macro): Handle multiline block
	comments lacking escaped newlines using parse-partial-sexp rather than the
	former variables removed from cc-langs.el.

2020-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix unexec failure on macOS 10.15.4

	* src/unexmacosx.c (unexec_regions_merge): Align region start addresses to
	page boundaries and then merge regions.

2020-02-15  Eli Zaretskii  <eliz@gnu.org>

	Fix 'reverse-region' when less than one line is in region

	* lisp/sort.el (reverse-region): Signal a user-error if the region
	includes less than one full line, thus avoiding an inadvertent
	deletion of text following the current line.  Fix the doc string.
	Fix comments to start with a capital letter.  (Bug#39376)

2020-02-15  Pieter van Oostrum  <pieter@vanoostrum.org>

	Correct default regexp in 'package-menu-hide-package'

	* lisp/emacs-lisp/package.el (package-menu-mode-menu): Correct default
	regexp, so it only selects the package at point.
	(Bug#39436)

2020-02-15  Pieter van Oostrum  <pieter@vanoostrum.org>

	Remove obsolete menu entry "Redisplay buffer"

	* lisp/emacs-lisp/package.el (package-menu-mode-menu): Remove obsolete
	menu entry "Redisplay buffer".
	(package-menu-mode-menu): Menu entry "Refresh Package List":
	make the doc string more accurate.
	(Bug#39436)

2020-02-14  Mattias Engdegård  <mattiase@acm.org>

	Remove redundant 'msft' compilation error rule (bug#39595)

	When the 'msft' rule was moved and modified, the old copy was left
	in place by mistake.

	* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
	Remove old rule.

2020-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/variables.texi (special-variable-p): Clarify limits

2020-02-13  Mattias Engdegård  <mattiase@acm.org>

	Remove the optional KEEP-ORDER argument to regexp-opt

	This argument was added for the 'or' clause in rx, but it turned out
	to be a bad idea (bug#37659), and there seems to be little other use
	for it.

	* lisp/emacs-lisp/regexp-opt.el (regexp-opt): Remove KEEP-ORDER.
	* doc/lispref/searching.texi (Regexp Functions):
	* etc/NEWS: Remove it from the documentation.
	* test/lisp/emacs-lisp/regexp-opt-tests.el (regexp-opt-test--match-all)
	(regexp-opt-test--check-perm, regexp-opt-test--explain-perm)
	(regexp-opt-keep-order, regexp-opt-longest-match): Simplify test.

2020-02-13  Alan Mackenzie  <acm@muc.de>

	Make after-change-functions called from call-process get the correct BEG

	This fixes bug #39585.

	* src/callproc.c (call_process): Supply the correct CHARPOS to
	signal_after_change (twice).

2020-02-13  Bastien  <bzg@gnu.org>

	doc/misc/org.texi: Fix @dircategory

	* doc/misc/org.texi: Fix @dircategory.

2020-02-12  Eli Zaretskii  <eliz@gnu.org>

	Fix display of minibuffer prompt in ido.el

	* lisp/minibuffer.el (minibuffer--message-overlay-pos): New
	function.
	(set-minibuffer-message): Use it to determine where to show the
	overlay with the temporary message.
	* lisp/ido.el (ido-exhibit): Revert "Render Ido suggestions using
	an overlay"; this restores the original code which inserted the
	match-status information into the minibuffer, instead of
	displaying it in an overlay with an after-string.  Put the special
	'minibuffer-message' text property at the beginning of the
	inserted text.  (Bug#39379)

	* etc/NEWS:
	* doc/lispref/display.texi (Displaying Messages):
	* doc/lispref/text.texi (Special Properties): Document the
	'minibuffer-message' text property and its effect.

2020-02-12  Mattias Engdegård  <mattiase@acm.org>

	rx: Use longest match for all-string 'or' forms (bug#37659)

	Revert to the Emacs 26 semantics that always gave the longest match
	for rx 'or' forms with only string arguments.  This guarantee was
	never well documented, but it is useful and people likely have come to
	rely on it.  For example, prior to this change,

	 (rx (or ">" ">="))

	matched ">" even if the text contained ">=".

	* lisp/emacs-lisp/rx.el (rx--translate-or): Don't tell regexp-opt to
	preserve the matching order.
	* doc/lispref/searching.texi (Rx Constructs): Document the
	longest-match guarantee for all-string 'or' forms.
	* test/lisp/emacs-lisp/rx-tests.el (rx-or): Update test.

2020-02-11  Wolfgang Scherer  <Wolfgang.Scherer@gmx.de>

	Make sure not to mark directories

	* lisp/vc/vc-dir.el (vc-dir-mark-all-files):
	Make sure not to mark directories (bug#37182).

2020-02-11  Dmitry Gutov  <dgutov@yandex.ru>

	vc-hg-dir-status-files: Fix when DIR is not repository root

	* lisp/vc/vc-hg.el (vc-hg-dir-status-files):
	Make sure it works correctly in a subdirectory of the repo root.
	Bind default-directory to DIR and add 're: -I .' to the arguments
	(bug#39380).

2020-02-11  Alan Third  <alan@idiocy.org>

	Revert "Fix display of working text on NS (Bug#23412, Bug#1453)"

	This reverts commit ba042176d8931cdf9441b3b4919ec74b75019494.

	Do not merge to master (bug#38851)

2020-02-10  Alan Mackenzie  <acm@muc.de>

	c-end-of-macro: Handle block comment lines with unescaped NLs correctly

	* lisp/progmodes/cc-langs.el (c-last-open-c-comment-start-on-line-re): Make
	obsolete, and supersede by ...
	(c-open-c-comment-on-logical-line-re): New language variable.

	* lisp/progmodes/cc-engine.el (c-end-of-macro): Inside macros, handle
	multiline block comments whose line ends are not escaped correctly.

2020-02-09  Eli Zaretskii  <eliz@gnu.org>

	Fix set-fontset-font with ADD arg non-nil

	* src/fontset.c (fontset_add): Fix off-by-one error at TO.
	(Bug#39482)

2020-02-09  Alan Mackenzie  <acm@muc.de>

	Correct "different than" to "different from" where appropriate

	(doc/emacs/screen.texi)
	(doc/lispintro/emacs-lisp-intro.texi)
	(doc/misc/calc.texi)
	(doc/misc/gnus.texi)
	(doc/misc/sc.texi)
	(lisp/align.el)
	(lisp/allout-widgets.el)
	(lisp/allout.el)
	(lisp/emacs-lisp/gv.el)
	(lisp/font-lock.el)
	(lisp/gnus/mm-util.el)
	(lisp/mail/feedmail.el)
	(lisp/mail/sendmail.el)
	(lisp/mail/supercite.el)
	(lisp/org/org-attach.el)
	(lisp/progmodes/cc-langs.el)
	(lisp/progmodes/idlw-shell.el)
	(lisp/ps-print.el)
	(lisp/simple.el)
	(src/cmds.c)
	(src/editfns.c)
	(src/frame.h)
	(src/regex-emacs.c)
	(src/xfaces.c): Replace "different than" by "different from".

2020-02-08  Eli Zaretskii  <eliz@gnu.org>

	More accurate documentation of 'package-menu-hide-package'

	* doc/emacs/package.texi (Package Menu): Improve the description
	of the 'H' command.

	* lisp/emacs-lisp/package.el (package-menu-mode-menu): More
	accurate wording of the help-echo string.
	(package-menu-hide-package): Make the doc string more accurate.
	(Bug#39436)

2020-02-06  Stefan Kangas  <stefankangas@gmail.com>

	Revert "Signal user-error on duplicate package refresh"

	That commit caused errors when the connection was dropped in the
	middle of a package refresh.  To avoid any further issues this close
	to the pretest, we simply remove this feature.  (Bug#39187)

	Don't merge to master, where we will instead try to fix the bug.

2020-02-05  Juri Linkov  <juri@linkov.net>

	Wrap some set-auto-mode calls with delay-mode-hooks (bug#39190)

	* lisp/gnus/mm-view.el (mm-display-inline-fontify):
	* lisp/vc/diff-mode.el (diff-syntax-fontify-props):
	* lisp/vc/vc.el (vc-find-revision-no-save):
	Add delay-mode-hooks around set-auto-mode calls
	to not run hooks that might assume buffer-file-name
	really associates buffer with a file.

2020-02-04  Dmitry Gutov  <dgutov@yandex.ru>

	Support ido-vertical-mode better

	* lisp/ido.el (ido-exhibit):
	Prepend a space to INF if it starts with a newline (bug#39379).

2020-02-04  Juri Linkov  <juri@linkov.net>

	Fix faces tab-bar and tab-line.

	* lisp/tab-bar.el (tab-bar) <defface>:
	* lisp/tab-line.el (tab-line) <defface>:
	Check for min-colors 88 instead of type x.

2020-02-03  Robert Pluim  <rpluim@gmail.com>

	Cater for 3-argument version of pthread_setname_np

	Fixes Bug#39363.

	* configure.ac: Add check for 3-argument version of
	pthread_setname_np.
	* src/systhread.c (sys_thread_set_name)
	[HAVE_PTHREAD_SETNAME_NP_3ARG]: Call pthread_setname_np with
	3 arguments.

2020-02-02  Mattias Engdegård  <mattiase@acm.org>

	Clarify lexvar restrictions for add-to-ordered-list, add-to-history

	* lisp/subr.el (add-to-ordered-list, add-to-history):
	* doc/lispref/lists.texi (List Variables):
	* doc/lispref/minibuf.texi (Minibuffer History):
	Note in the doc string and manual that the variable arguments to
	add-to-ordered-list and add-to-history cannot refer to a lexical
	variable (bug#39373).

2020-02-01  Mattias Engdegård  <mattiase@acm.org>

	Replace add-to-list to lexical variable with push (bug#39373)

	Since 'add-to-list', being a plain function, cannot access lexical
	variables, such use must be rewritten for correctness.
	(Some instances actually do work thanks to a compiler macro,
	but it's not something code should rely on.)

	* lisp/autoinsert.el (auto-insert-alist):
	* lisp/cedet/mode-local.el (mode-local-print-bindings):
	* lisp/net/tramp-cache.el (tramp-flush-connection-properties)
	(tramp-list-connections):
	* lisp/net/zeroconf.el (zeroconf-list-service-names)
	(zeroconf-list-service-types, zeroconf-list-services):
	* lisp/org/org.el (org-reload):
	* lisp/whitespace.el (whitespace-report-region):
	* test/lisp/emacs-lisp/map-tests.el (test-map-do):
	Replace add-to-list with push.

2020-02-01  Mattias Engdegård  <mattiase@acm.org>

	Clarify add-to-list documentation (bug#39373)

	While add-to-list often works with lexical variables, this is a hack
	that isn't always effective; better tell the user not to try.

	* doc/lispref/lists.texi (List Variables): Add a note about lexical
	variables to the add-to-list description.  Fix the equivalent code.
	* lisp/subr.el (add-to-list): Amend doc string.

2020-02-01  Stephen Gildea  <stepheng+emacs@gildea.com>

	MH-E: alter content in mh-display-msg, not mh-show-mode

	* lisp/mh-e/mh-show.el (mh-display-msg, mh-show-mode):  buffer-altering
	code formerly in mh-show-mode is moved to the location in mh-display-msg
	where mh-show-mode used to be called before the fix to MH-E bug #470
	moved the call earlier.

2020-02-01  Stephen Gildea  <stepheng+emacs@gildea.com>

	Update documentation for mh-show-mode-hook

	* lisp/mh-e/mh-e.el, doc/misc/mh-e.texi (mh-show-mode-hook): Now that
	the fix for MH-E bug #470 calls mh-show-mode-hook earlier, update the
	documentation to no longer say that the message contents are available.

2020-02-01  Stephen Gildea  <stepheng+emacs@gildea.com>

	Example goto-addr hook: MH-E already uses goto-address

	* lisp/net/goto-addr.el, doc/emacs/misc.texi: Do not use MH-E as the
	example of how to add a hook to goto-address, because MH-E calls
	goto-address internally.

2020-01-31  Ken Brown  <kbrown@cornell.edu>

	Extend workaround for Cygwin O_PATH bug

	* configure.ac (HAVE_CYGWIN_O_PATH_BUG): Extend to Cygwin versions
	3.1.0 through 3.1.2.  (Bug#39371)

2020-01-31  Paul Pogonyshev  <pogonyshev@gmail.com>

	* lisp/emacs-lisp/debug.el (debug): Merge the non-interactive cases

	bug#38927

	(cherry picked from commit 502059433ce0e9699eb73d21656ce6e9e127d63b)

2020-01-31  Ansgar Burchardt  <ansgar@43-1.org>

	Add more blackboard bold characters to TeX input method

	This patch adds all capital blackboard bold letters and those for "1"
	and "2". Most characters are in common use in mathematics, but it does
	not seem useful to exclude the few not widely used.

	Reference: https://en.wikipedia.org/wiki/Blackboard_bold

	* lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Add all
	the blackboard bold commands from AMSTeX.  (Bug#21103)

2020-01-31  Yuan Fu  <casouri@gmail.com>

	Protect against errors in gdb-mi.el handlers

	* lisp/progmodes/gdb-mi.el (gdb-handle-reply): Handle errors
	in 'handler-function' so the cleanup code after it runs
	safely.  (Bug#39178)

2020-01-31  Eli Zaretskii  <eliz@gnu.org>

	Allow exiting the Python interpreter of a GDB session

	* lisp/progmodes/gdb-mi.el (gdb-delchar-or-quit): Send EOF to GDB
	if we are in an embedded interpreter.  This allows to exit from
	"pi" cleanly.  (Bug#39140)

2020-01-31  Federico Tedin  <federicotedin@gmail.com>

	Ensure minibuffer input is added to history in read_minibuf

	* src/minibuf.c (read_minibuf): Parse input string after saving
	the string to the history list instead of before, in case parsing
	signals an error or is interrupted by C-g.  (Bug#39291)

2020-01-29  Juri Linkov  <juri@linkov.net>

	Tab-bar related fixes.

	* lisp/cus-start.el (tab-bar-mode): Use dedicated group 'tab-bar'.

	* lisp/tab-bar.el (tab-bar-history-mode): Add :group 'tab-bar'.
	(tab-bar-get-buffer-tab): Add optional arg 'ignore-current-tab'.

	* lisp/desktop.el (desktop-buffers-not-to-save-function): Add docstring.

2020-01-29  Nicolas Petton  <nicolas@petton.fr>

	* admin/authors.el: Add missing entries.

2020-01-27  Stephen Gildea  <stepheng+emacs@gildea.com>

	dns-mode-soa-auto-increment-serial: safe if symbolp

	* lisp/textmodes/dns-mode.el (dns-mode-soa-auto-increment-serial):
	Mark variable as safe as a file local variable when symbolp.

2020-01-27  Juri Linkov  <juri@linkov.net>

	* lisp/wdired.el: Clean out isearch-filter-predicate (bug#37496)

	* lisp/wdired.el (wdired-change-to-dired-mode): Use remove-function to
	remove wdired-isearch-filter-read-only (whose value was added in
	wdired-change-to-wdired-mode) from local value of isearch-filter-predicate.

2020-01-27  Alan Mackenzie  <acm@muc.de>

	Finish the documentation for c-noise-macro-{,with-parens-}names.

	The doc strings and pertinent CC Mode manual page failed to mention that these
	variables could also be regular expressions.  Amend them.

	* lisp/progmodes/cc-vars.el (c-noise-macro-names)
	(c-noise-macro-with-parens-names): Amend the doc strings.

	* doc/misc/cc-mode.texi (Noise Macros): Amend the descriptions of the two
	variables.

2020-01-26  Mattias Engdegård  <mattiase@acm.org>

	Correct regexp for flags in `format' doc string

	* src/editfns.c (Fformat): Use the correct regexp for describing the
	flags in a %-sequence (place the hyphen last).

2020-01-26  Mattias Engdegård  <mattiase@acm.org>

	Moderate recommendation to escape '(' in doc strings

	Thanks to 57e2ca5c50 and related changes, opening brackets at the
	leftmost column inside doc strings are no longer mistaken for the
	start of a defun.

	* doc/lispref/tips.texi (Documentation Tips): Clarify recommendation
	and move it down the list.
	* etc/NEWS: Announce.

2020-01-26  Alan Mackenzie  <acm@muc.de>

	Objective C Mode: Make c-forward-type work with "unsigned long", etc.

	This allows the correct fontification of and correct functioning of C-c C-z
	(c-display-defun-name) in ns_get_pixel in Emacs's src/nsimage.m.

	* lisp/progmodes/cc-langs.el (c-primitive-type-prefix-kwds): For objc, use the
	same value as for c and c++ rather than the default nil.

2020-01-26  Marco Wahl  <marcowahlsoft@gmail.com>

	Fix help text about configure module support

2020-01-25  Stefan Kangas  <stefankangas@gmail.com>

	* doc/lispref/streams.texi (Output Functions): Improve indexing.

2020-01-25  Stefan Kangas  <stefankangas@gmail.com>

	Improve doc string of 'newline'

	* lisp/simple.el (newline): Doc fix.  Move 'use-hard-newlines' down,
	since it's less important than the meaning of the prefix argument, and
	is less frequently used than 'electric-indent-mode' and
	'auto-fill-mode'.  Change the wording to no longer call it an
	option.

2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>

	Improve doc of eq on bignums etc.

	* doc/lispref/numbers.texi (Integer Basics):
	* doc/lispref/objects.texi (Integer Type, Equality Predicates):
	Be clearer about eq vs eql vs = on bignums, floats, and strings.

2020-01-24  Mario Lang  <mlang@blind.guru>

	Do not refer to obsolete alias

2020-01-24  Alan Third  <alan@idiocy.org>

	Remove EmacsOpenPanel and EmacsSavePanel (bug#38031)

2020-01-24  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/files.texi (Auto Save Files): Improve indexing (bug#39259).

2020-01-24  Eli Zaretskii  <eliz@gnu.org>

	Fix inaccurate wording in the Emacs manual

	* doc/emacs/custom.texi (Modifier Keys):
	* doc/emacs/basic.texi (Inserting Text): Fix minor inaccuracies in
	describing the 'Alt' modifier.  (Bug#39254)

2020-01-23  Amin Bandali  <mab@gnu.org>

	Update ERC module URLs

	* lisp/erc/erc-autoaway.el, lisp/erc/erc-button.el,
	lisp/erc/erc-compat.el, lisp/erc/erc-fill.el, lisp/erc/erc-imenu.el,
	lisp/erc/erc-join.el, lisp/erc/erc-lang.el, lisp/erc/erc-match.el,
	lisp/erc/erc-pcomplete.el, lisp/erc/erc-ring.el,
	lisp/erc/erc-spelling.el, lisp/erc/erc-stamp.el,
	lisp/erc/erc-track.el: Update URL to friendlier form, over https.
	* lisp/erc/erc-ibuffer.el: Remove URL to nonexistent page.
	* lisp/erc/erc-list.el, lisp/erc/erc-log.el, lisp/erc/erc-notify.el,
	lisp/erc/erc-replace.el, lisp/erc/erc-services.el,
	lisp/erc/erc-sound.el, lisp/erc/erc-speedbar.el,
	lisp/erc/erc-truncate.el: Add URL to corresponding EmacsWiki page.

2020-01-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor doc string clarification in use-hard-newlines

	* lisp/textmodes/paragraphs.el (use-hard-newlines): Clarify that
	this minor mode isn't global (bug#20461).

2020-01-23  Tino Calancha  <tino.calancha@gmail.com>

	Backport: Fix bug 39218

	* lisp/simple.el (shell-command):
	Ensure a shell command ending with `&' is run asynchronously.

2020-01-22  Stefan Kangas  <stefankangas@gmail.com>

	Prefer saying "Info manual" to "info page" in docs

	Pointed out by Eli Zaretskii in:
	https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39215#14
	* doc/emacs/Makefile.in:
	* doc/lispintro/Makefile.in:
	* doc/lispref/Makefile.in:
	* doc/misc/Makefile.in:
	* lisp/dired-x.el (top-level):
	* lisp/gnus/gnus-sum.el (gnus-summary-mode):
	* lisp/progmodes/cperl-mode.el (cperl-info-page): Doc fix; prefer
	saying "Info manual" over "info page".

2020-01-22  Juri Linkov  <juri@linkov.net>

	Tab-bar related finishing touches.

	* lisp/tab-bar.el (tab-bar-tab-name-ellipsis): Use shorter name
	instead of tab-bar-tab-name-truncated-ellipsis.
	(tab-bar-new-tab-to) <defcustom>: Add 'function' option.
	(tab-bar-new-tab-to) <function>: Use it.

	* lisp/tab-line.el (tab-line-close-tab): Add missing arg 'tab' to
	tab-line-close-tab-function funcall.

2020-01-22  Alan Mackenzie  <acm@muc.de>

	Make call_process call signal_after_change.  This fixes bug #38691.

	Now, functions such as call-proess-region invoke after-change-functions
	correctly.

	* src/callproc.c (call_process): Call prepare_to_modify_buffer in a single
	place, no longer delegating the task to insert_1_both, etc.  Call
	signal_after_change in each of two code branches, such that
	before-change-functions and after-change-functions are always called in
	balanced pairs.

2020-01-22  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/simple.el: Minor fixes to commentary.

2020-01-22  Eli Zaretskii  <eliz@gnu.org>

	Fix a few typos

	* etc/NEWS: Fix a typo.

	* src/xdisp.c (try_window_reusing_current_matrix, try_window_id):
	* src/dispnew.c (scrolling_window): Fix typos in comments.

2020-01-22  Christophe Deleuze  <christophe.deleuze@free.fr>

	Fix doc strings for image-dired rotation commands

	* lisp/image-dired.el (image-dired-rotate-thumbnail-left)
	(image-dired-rotate-thumbnail-right)
	(image-dired-rotate-original-left)
	(image-dired-rotate-original-right): Move the text in the doc
	strings about rotating the originals to the correct commands
	(bug#38928).

2020-01-22  Dmitry Gutov  <dgutov@yandex.ru>

	Render Ido suggestions using an overlay

	* lisp/ido.el (ido--overlay): New variable.
	(ido-exhibit): Render with 'after-string' on an overlay
	(bug#38457).

2020-01-22  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Bug Reports): Encourage use of "emacs -Q".

2020-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/smerge-mode.el (smerge-match-conflict): Fix bug#38456

	This situation is not an internal error, but a perfectly normal occurrence,
	so a `cl-assert` is not right

2020-01-21  Robert Pluim  <rpluim@gmail.com>

	Correct statement about ftcr and recommend HarfBuzz

	* doc/lispref/frames.texi (Font and Color Parameters): Correct
	statement about availability of ftcr in the presence of HarfBuzz.
	Recommend HarfBuzz.

2020-01-21  Eli Zaretskii  <eliz@gnu.org>

	Avoid leaving artifacts when the system caret is used on w32

	* src/xdisp.c (try_window_reusing_current_matrix, try_window_id):
	* src/dispnew.c (scrolling_window) [HAVE_NTGUI]: If
	w32-use-visible-system-caret is non-nil, disallow scrolling the
	display are in scroll_run_hook.  This avoids copying traces of the
	caret, about which Emacs knows nothing, and thus considers those
	pixels show the default background.  (Bug#39188)
	(gui_update_window_end): Block input only around part of the code,
	as we did before this code was extracted from backend-specific
	implementations.

	* src/w32term.c (w32_update_window_begin, w32_update_window_end):
	Only hide/show the caret when redisplaying the window where the
	caret is shown.

2020-01-21  Eli Zaretskii  <eliz@gnu.org>

	Improve display of temporary echo messages

	* lisp/minibuffer.el (set-minibuffer-message): Fix cursor position
	for the temporary display of an echo-area message when minibuffer
	is active.  Ensure the message is visible even if the end of the
	completion candidates presented by the likes of Icomplete mode is
	not visible due to its length, under resize-mini-windows = nil.
	(Bug#38457)

2020-01-20  Juri Linkov  <juri@linkov.net>

	* lisp/menu-bar.el: Remove desktop-save-mode from release branch (bug#37594)

2020-01-20  Juri Linkov  <juri@linkov.net>

	Allow optional truncation of tab names in tab-bar and tab-line (bug#38693)

	* lisp/tab-line.el (tab-line-tab-name-truncated-max): New defcustom.
	(tab-line-tab-name-truncated-buffer): Use tab-line-tab-name-truncated-max
	consistently with similar options in tab-bar.el.
	(tab-line-tabs-limit): Remove variable.
	(tab-line-tabs-window-buffers): Remove use of tab-line-tabs-limit
	that was an experimental feature before horizontal scrolling was implemented.
	(tab-line-close-tab-function): Rename from tab-line-close-tab-action
	and allow a customizaed function as option.
	(tab-line-close-tab): Call function if tab-line-close-tab-function
	is customized to a function.

	* lisp/tab-bar.el (tab-bar-tab-name-function): Add option
	tab-bar-tab-name-truncated.
	(tab-bar-tab-name-truncated-max): New defcustom.
	(tab-bar-tab-name-truncated-ellipsis): New variable.
	(tab-bar-tab-name-truncated): New function.

2020-01-20  Juri Linkov  <juri@linkov.net>

	Small fixes in documentation.

	* doc/emacs/dired.texi (Operating on Files): Fix name of dired-vc-rename-file.

	* doc/emacs/fixit.texi (Undo): Update new values of undo limits
	doubled in bug#31104.

2020-01-20  Robert Pluim  <rpluim@gmail.com>

	Improve explanation of available font backends under X

	* doc/emacs/frames.texi (Font and Color Parameters): Clarify that you can't
	have HarfBuzz and non-HarfBuzz at the same time for xft and cairo
	font backends.

2020-01-20  Pip Cet  <pipcet@gmail.com>

	Clear output data pointer on NS

	* src/nsterm.m (ns_free_frame_resources): Clear the output data
	pointer to prevent attempting to reuse freed resources (Bug#38748).

2020-01-20  Michael Albinus  <michael.albinus@gmx.de>

	* admin/release-process: Adapt bug numbers for release critical bugs.

	Mention debbugs-gnu-emacs-release-blocking-reports.

2020-01-20  Mattias Engdegård  <mattiase@acm.org>

	Fix shell-tests failures

	* test/lisp/shell-tests.el (shell-tests-completion-before-semi):
	Go back to actually testing completion before semicolon.
	(shell-tests-completion-after-semi): Test completion after semicolon,
	correctly (bug#39075).

2020-01-20  Mattias Engdegård  <mattiase@acm.org>

	* test/lisp/simple-tests.el: Full path to Emacs binary (bug#39067).

2020-01-19  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el (tab-line-auto-hscroll): Fix for long tab names.

	Check for nil value returned by previous-single-property-change that
	happens when tab name is longer than window width.

2020-01-19  Juri Linkov  <juri@linkov.net>

	* lisp/menu-bar.el (menu-bar-options-menu): Add desktop-save-mode (bug#37594)

2020-01-19  Tino Calancha  <tino.calancha@gmail.com>

	Fix shell-command-dont-erase-buffer feature

	* lisp/simple.el (shell-command-dont-erase-buffer):
	The default, nil, is backward compatible, i.e. it erases the buffer
	only if the output buffer is not the current one; the new value 'erase
	always erases the output buffer.
	Update docstring.

	(shell-command-save-pos-or-erase):
	Add optional arg output-to-current-buffer.
	Rename it so that it's not internal.  All callers updated.

	(shell-command-set-point-after-cmd): Rename it so that it's not internal.
	All callers updated.
	Adjust it to cover a side case.

	(shell-command): Adjust logic to match the specification (Bug#39067).
	Enable the feature when the output buffer is the current one.

	(shell-command-on-region): Little tweak to follow
	`shell-command-dont-erase-buffer' specification.

	* test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
	Add helper macro.
	(simple-tests-shell-command-39067)
	(simple-tests-shell-command-dont-erase-buffer): Add tests.

	* doc/emacs/misc.texi (Single Shell): Update manual.

	* etc/NEWS (Single shell commands): Announce the change.

2020-01-18  Stefan Kangas  <stefankangas@gmail.com>

	Remove reference to Emacs 19 from FAQ

	* doc/misc/efaq.texi (Emacs ignores X resources): Remove reference to
	Emacs 19.

2020-01-18  Stefan Kangas  <stefankangas@gmail.com>

	Doc fixes in package.el

	* lisp/emacs-lisp/package.el (package-process-define-package)
	(package-generate-description-file): Doc fixes.
	(package-generate-autoloads, package--write-file-no-coding)
	(package--archive-file-exists-p, package-desc-status): Add doc
	strings.

2020-01-18  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Ensure that gnus-summary-attach-article finds the right articles

	* lisp/gnus/gnus-msg.el (gnus-summary-attach-article): Before
	iterating over the articles to attach, first close any open
	article. Using `set-buffer' required `gnus-summary-select-article' to
	re-set the buffer every time, meaning we never got off the original
	article.

	(cherry picked from commit 447bb1313a6abc07776d93ee78cd976ab43856e5)

2020-01-18  Stefan Kangas  <stefankangas@gmail.com>

	Remove some doc references to old Emacs versions

	* doc/misc/efaq.texi (Horizontal scrolling): Remove section
	only relevant to Emacs 21 or older.
	(Repeating commands, Editing MS-DOS files):
	* lisp/progmodes/gdb-mi.el:
	* lisp/woman.el: Doc fix - remove some references to Emacs 20 and older.

2020-01-18  Pieter van Oostrum  <pieter-l@vanoostrum.org>  (tiny change)

	Fix infloop in shell.el

	* test/lisp/shell-tests.el (shell-tests-completion-before-semi):
	Amend the shell.el tests to catch errors such as bug#39057.

	* lisp/shell.el (shell--parse-pcomplete-arguments): Skip the
	semi-colon as well.  This avoids inflooping when a semi-colon is
	typed by the user.  (Bug#39057)

2020-01-17  Amin Bandali  <mab@gnu.org>

	Fix erc-notifications-notify for non-PRIVMSGs, broken in last commit

	* lisp/erc/erc-desktop-notifications.el (erc-notifications-notify):
	Take optional argument `privp', to be non-nil when notifying for a
	PRIVMSG.  This is to work around bug introduced in last commit, as
	`erc-get-buffer' may return nil for non-PRIVMSG cases.
	(erc-notifications-PRIVMSG): Call erc-notifications-notify with
	non-nil `privp', as described above.

2020-01-17  Amin Bandali  <mab@gnu.org>

	Fix the notification action for PRIVMSG in erc-notifications-notify

	* lisp/erc/erc-desktop-notifications.el (erc-notifications-notify):
	explicitly request the buffer for `nick', rather than relying on
	(current-buffer) returning it.  That works fine for the very first
	PRIVMSG sent by `nick', but ERC seems to handle subsequent PRIVMSGs
	differently, where (current-buffer) would return the server buffer
	rather than the existing buffer for PRIVMSGs from `nick'.

2020-01-17  Amin Bandali  <mab@gnu.org>

	ERC: New maintainer.

	* admin/MAINTAINERS: Add entries for Amin Bandali, new maintainer for
	ERC, and interested in maintaining Eshell.
	* lisp/erc/*: New maintainer.

2020-01-17  Dmitry Gutov  <dgutov@yandex.ru>

	Honor tags-case-fold-search during xref identifier completion

	* etc/NEWS: New entry.

	* lisp/progmodes/etags.el (tags-case-fold-search):
	Mark as safe-local.
	(find-tag--completion-ignore-case):
	Extract from tags-completion-at-point-function, find-tag-tag and
	etags--xref-find-definitions.
	(xref-backend-identifier-completion-ignore-case):
	New method. Use it here as well.

	* lisp/progmodes/xref.el
	(xref-backend-identifier-completion-ignore-case): New generic.
	(xref--read-identifier): Use it here.

2020-01-17  Eli Zaretskii  <eliz@gnu.org>

	Fix wording and punctuation of a recent commit

	* lisp/textmodes/ispell.el (ispell-correct-p): Doc fix.
	* lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-init): Fix
	capitalization and punctuation of comments.

2020-01-17  Damien Cassou  <damien@cassou.me>

	Add unattended spell-checking to checkdoc

	This commit makes checkdoc capable of spell-checking even when the
	user isn't using it interactively.  When TAKE-NOTES is non-nil,
	checkdoc will run spell-checking (with ispell) and report spelling
	mistakes.

	Fixes: (bug#38583).

	* lisp/textmodes/ispell.el (ispell-word): Extract part of it to
	`ispell--run-on-word`.
	(ispell--run-on-word): New function, extracted from `ispell-word`.
	(ispell-error-checking-word): New function.
	(ispell-correct-p): New function.  Use `ispell--run-on-word` and
	`ispell-error-checking-word`.
	* lisp/emacs-lisp/checkdoc.el (checkdoc-current-buffer): Pass
	TAKE-NOTES to `checkdoc-start`.
	(checkdoc-continue): Pass TAKE-NOTES to `checkdoc-this-string-valid`.
	(checkdoc-this-string-valid): Add optional argument TAKE-NOTES and
	pass it to `checkdoc-this-string-valid-engine`.
	(checkdoc-this-string-valid-engine): Add optional argument TAKE-NOTES
	and pass it to `checkdoc-ispell-docstring-engine`.
	(checkdoc-ispell-init): Call `ispell-set-spellchecker-params` and
	`ispell-accept-buffer-local-defs`.  These calls are required to
	properly use ispell.  The problem went unnoticed until now because
	checkdoc was only using ispell through the high-level command
	`ispell-word` which takes care of all the initialization for the user.
	(checkdoc-ispell-docstring-engine): Add optional argument TAKE-NOTES
	to force reporting of spell-checking errors.  Throw error
	when (checkdoc-ispell-init) fails configuring ispell.  Replace a
	few (if cond nil body) with (unless cond body). Replace (let ((var
	nil))) with (let (var)).  Replace (if (not (eq checkdoc-autofix-flag
	'never)) body) with just body because `checkdoc-autofix-flag` is
	checked at the beginning of the function.

	(cherry picked from commit 25adbc4a5ecc3e16625c0171607e3153bbdf7ab1)

2020-01-17  Lin Sun  <lin.sun@zoom.us>

	Fix the error message from makefile-move-to-macro

	* lisp/cedet/ede/makefile-edit.el (makefile-macro-file-list):
	regexp-quote the param in makefile-move-to-macro (Bug#39094).

	(cherry picked from commit a36495da1ec1419998c17fd64fb7439eaf940f36)

2020-01-16  Stefan Kangas  <stefankangas@gmail.com>

	Document feature requests in the Emacs manual

	* doc/emacs/trouble.texi (Contributing): Document how to send feature
	requests.  (Bug20697)

2020-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (read-file-name-default): Fix bug#39057

2020-01-16  Robert Pluim  <rpluim@gmail.com>

	Make emacs prefer an existing ~/.emacs.d to an existing XDG location

	* doc/emacs/custom.texi (Find Init): Update description of how Emacs
	finds its init file directory and the interaction with
	$XDG_CONFIG_HOME
	(Early Init File): Correct XDG location of early-init.el

	* etc/NEWS: Update description to make it clear the ~/.emacs.d is
	preferred, even if the XDG location exists.

	* lisp/startup.el: Prefer ~/.emacs.d even if the XDG location exists.

	* lib-src/emacsclient.c (open_config): Prefer home directory the XDG
	location.

2020-01-16  Robert Pluim  <rpluim@gmail.com>

	Describe --with-cairo non-support for bitmapped fonts.

	* etc/NEWS: Mention Pango's removal of support for bitmapped fonts.

2020-01-16  Robert Pluim  <rpluim@gmail.com>

	Mention GTK font chooser changes in NEWS

	* etc/NEWS: Mention GTK font chooser changes.

2020-01-15  Glenn Morris  <rgm@gnu.org>

	f90: handle F2008 module function

	* lisp/progmodes/f90.el (f90-font-lock-keywords-1)
	(f90-looking-at-program-block-start):
	Handle F2008 "module function" and subroutine.  (Bug#38415)
	* test/lisp/progmodes/f90-tests.el (f90-test-bug38415): New test.

2020-01-15  Juri Linkov  <juri@linkov.net>

	Move shell-related menu items to "Shell Commands" submenu (bug#37594)

	* lisp/menu-bar.el (menu-bar-shell-commands-menu): New variable.
	(menu-bar-tools-menu): Move shell-related menu items to
	'menu-bar-shell-commands-menu' and add menu items for
	'async-shell-command' and 'shell'.

2020-01-15  Stefan Kangas  <stefankangas@gmail.com>

	* admin/notes/font-backend: Remove outdated file. (Bug#34663)

2020-01-15  Stefan Kangas  <stefankangas@gmail.com>

	Declare the ftx font backend driver obsolete

	* etc/NEWS: Document that the ftx font driver is now
	obsolete and will be removed in Emacs 28.  (Bug#34663)

2020-01-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix build failure with --with-cairo --without-png

	* src/image.c: Don't enable PNG section only by USE_CAIRO.

2020-01-14  Stefan Kangas  <stefankangas@gmail.com>

	Add new node "Package Statuses" to manual

	* doc/emacs/emacs.texi (Top):
	* doc/emacs/package.texi (Package Menu): New node "Package
	Statuses".  (Bug#29420)

2020-01-14  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el: Fix corner cases of isearch-lazy-count.

	* lisp/isearch.el (isearch-mode): Reset isearch-lazy-count-current
	and isearch-lazy-count-total to nil, so when isearch-mode is started,
	there should be no counts from previous Isearch.
	(isearch-lazy-highlight-new-loop): Call isearch-message after resetting
	lazy-count variables only when isearch-mode is started.  This avoids
	the problem of inappropriate calls of isearch-message-function
	when query-replace in the minibuffer performs lazy-highlighting that
	used to call minibuffer-history-isearch-message unnecessarily.

2020-01-14  Robert Pluim  <rpluim@gmail.com>

	Document spacing issues with Xft for some fonts

	* etc/PROBLEMS: Document issues with Xft and some recent fonts (Bug#39082).

2020-01-13  Mattias Engdegård  <mattiase@acm.org>

	Always use lexical-binding in lisp-interaction-mode (bug#38835)

	* lisp/progmodes/elisp-mode.el (lisp-interaction-mode):
	Set lexical-binding.
	* lisp/startup.el (command-line, startup--get-buffer-create-scratch):
	Don't set lexical-binding here.
	* doc/lispref/variables.texi:
	* etc/NEWS:
	Make it clear that lisp-interaction-mode uses lexical-binding.

2020-01-13  Robert Pluim  <rpluim@gmail.com>

	vc-dir: ensure we don't use a pager with git

	* lisp/vc/vc-git.el (vc-git--call): Call git with '--no-pager' to
	avoid hangs caused by remote pager settings (Bug#38688).

2020-01-12  Amin Bandali  <bandali@gnu.org>

	Improve ERC's matching of nicks and URLs (bug#38257)

	* lisp/erc/erc-{button,match}.el (erc-{button,match}-syntax-table):
	Omit (, ), and '; as they're not valid nick characters, per RFC 2812
	section 2.3.1.  This enables correct matching/highlighting of nicks
	when they're surrounded by parens, like (nick), and when adjacent to
	an apostrophe, like nick's.
	* lisp/erc/erc-button.el (erc-button-url-regexp): Use the regexp from
	browse-url-button-regexp, which among other things, seems to handle
	surrounding pair of parens better.

2020-01-12  Juri Linkov  <juri@linkov.net>

	Handle tab-bar clicks on a GPM-capable console.

	* src/term.c (handle_one_term_event): Call tty_handle_tab_bar_click.

	* src/xdisp.c (tty_handle_tab_bar_click): Force reset of up_modifier bit
	from the event modifiers.

	* lisp/tab-line.el (tab-line-tab-current): No need to use inverse-video
	on console/xterm because the selected tab already uses inverse-video.

2020-01-12  Alan Third  <alan@idiocy.org>

	;* etc/TODO: Update.

2020-01-11  Eli Zaretskii  <eliz@gnu.org>

	Update Acknowledgments sections

	* doc/emacs/ack.texi (Acknowledgments):
	* doc/emacs/emacs.texi (Acknowledgments): Update for Emacs 27.

2020-01-11  Eli Zaretskii  <eliz@gnu.org>

	Update Antinews in ELisp manual

	* doc/lispref/anti.texi (Antinews): Rewrite for Emacs 27.
	* doc/lispref/elisp.texi (Top): Update the top-level menu item for
	Antinews.

2020-01-11  Richard Stallman  <rms@gnu.org>

	Improve wording in the ELisp manual

	* doc/lispref/modes.texi (Setting Hooks): Improve and clarify
	wording.  (Bug#38818)

2020-01-11  Mauro Aranda  <maurooaranda@gmail.com>

	Reset to the standard value when reverting session's customizations

	* lisp/cus-edit.el (custom-variable-reset-saved): When there is no
	previous saved value, reset to the standard value.  (Bug#15214)

2020-01-11  Mauro Aranda  <maurooaranda@gmail.com>

	Fix saving multiple themes

	* lisp/custom.el (enable-theme): Be side-effect free when modifying
	custom-enabled-themes.  (Bug#19999)

2020-01-10  Mattias Engdegård  <mattiase@acm.org>

	Calc: fix interval entry (bug#39040)

	* lisp/calc/calc.el (calcDigit-start): Initialize calc-prev-char to
	something more reasonable, so that non-algebraic entry of intervals
	whose start is a single digit, like (1..10), works properly.
	Reported by Michel Schinz.

2020-01-10  Eli Zaretskii  <eliz@gnu.org>

	Fix horizontal line display in Custom buffers

	* lisp/cus-edit.el (custom-group-value-create): Insert a newline
	before calling 'custom-group--draw-horizontal-line'.  (Bug#39074)

2020-01-10  Mattias Engdegård  <mattiase@acm.org>

	flymake: fix typo in variable binding (bug#38752)

	This mistake was found by an experimental elisp optimizer.

	* lisp/progmodes/flymake-proc.el (flymake-proc-stop-all-syntax-checks):
	Add missing brackets.

2020-01-10  Eli Zaretskii  <eliz@gnu.org>

	Update Antinews in the Emacs manual

	* doc/emacs/anti.texi (Antinews): Rewrite for Emacs 27.
	* doc/emacs/emacs.texi (Top): Update the "Antiniews" item of the
	top-level menu.

2020-01-09  Väinö Järvelä  <vaino@jarve.la>  (tiny change)

	Use NSNumber instead of BOOL (bug#39047)

	* src/nsfns.m (ns_set_represented_filename): Use correct type.

2020-01-09  João Távora  <joaotavora@gmail.com>

	Add comment on fido-mode's file-sorting semantics

	* lisp/icomplete.el (icomplete--sorted-completions): Add comment.

2020-01-09  João Távora  <joaotavora@gmail.com>

	Consider non-string minibuffer-default in icomplete

	(Bug#38992)

	* lisp/icomplete.el (icomplete--sorted-completions): Consider
	non-string minibuffer-default.

2020-01-08  Eli Zaretskii  <eliz@gnu.org>

	Fix another compilation problem in a build without threads

	* src/systhread.c (sys_thread_set_name) [!THREADS_ENABLED]: Add
	a trivial implementation.

2020-01-08  Eli Zaretskii  <eliz@gnu.org>

	Fix build without threads

	* src/systhread.c (sys_thread_create) [!THREADS_ENABLED]: Update
	the function's signature to match prototype.  Reported by Glenn
	Morris <rgm@gnu.org>.  (Bug#38632)

2020-01-08  Eli Zaretskii  <eliz@gnu.org>

	Fix compression of directories in Dired

	This fixes comporession and uncompression of directories on
	MS-Windows, but also on other systems.  The original code used
	":" as the REGEXP of the directory entry in
	dired-compress-file-suffixes, which on Windows always matched any
	absolute file name, and can also match unusual file names on Posix
	hosts.  This false match would cause dired-compress-file to act as
	if we are decompressing a directory, but use a command suitable
	for compression, which would fail in interesting ways.
	We now use a REGEXP that can never match any valid file name.

	* lisp/dired-aux.el (dired-compress-file-suffixes): Make the
	"compress directory" entry's REGEXP really fail to match any valid
	file name.
	(dired-compress-file): Adapt to the change in
	dired-compress-file-suffixes.  (Bug#39024)
	(dired-compress): If the current file is a directory, or if the
	uncompressed file is a directory, don't remove the original from
	the listing, since it is left in the filesystem.

2020-01-08  Michael Albinus  <michael.albinus@gmx.de>

	Further enhancement on `tramp-file-local-name'

	* lisp/net/tramp.el (tramp-file-local-name): Call `file-local-name'
	if NAME is not a Tramp file name.

2020-01-07  Alan Mackenzie  <acm@muc.de>

	Objective C Mode imenu: cease recognizing "functions" within comments, etc.

	This fixes bug #38749.

	* lisp/progmodes/cc-menus.el (cc-imenu-objc-function): Put a c-literal-limits
	test around the innards of the main re-search-backward loop.

2020-01-07  Mattias Engdegård  <mattiase@acm.org>

	Fix BSD and macOS builds w.r.t. pthread_setname_np (bug#38632)

	pthread_setname_np takes only a single argument on BSD and macOS,
	and affects the current thread only.

	* configure.ac: Add check for single-argument pthread_setname_np
	* src/systhread.c (sys_thread_set_name): New (w32 and pthread versions).
	(sys_thread_create): Remove name argument and name-setting.
	(w32_beginthread_wrapper): Remove name-setting.
	* src/systhread.h (sys_thread_create, sys_thread_set_name):
	Update prototypes.
	* src/thread.c (run_thread): Call sys_thread_set_name.
	(Fmake_thread): Adapt call to sys_thread_create.
	* src/thread.h (struct thread_state): Adjust comment.

2020-01-07  Robert Pluim  <rpluim@gmail.com>

	Scale top-left coordinates in display-monitor-attributes-list

	When using multiple monitors, and HiDPI, the top-left coordinates of
	the monitors need to be adjusted, not just the width and height
	(Bug#31223).

	* src/xfns.c (Fx_display_monitor_attributes_list): Scale top-left
	coordinates.

2020-01-07  Dmitry Gutov  <dgutov@yandex.ru>

	xref-matches-in-files: Big Tramp speed-up

	* lisp/progmodes/xref.el (xref-matches-in-files):
	Greatly improve performance with remote files using Tramp
	(bug#34343).

2020-01-07  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-file-local-name): Remove `save-match-data'.

2020-01-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix rendering bug due to unsynchronized cairo surface size (Bug#38497)

	* src/xterm.c (handle_one_xevent) <ConfigureNotify> [USE_CAIRO && !USE_GTK]:
	Call x_cr_update_surface_desired_size for a related frame as a fallback.

2020-01-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Avoid crash by access to cleared img->pixmap->data/img->mask->data (Bug#38774)

	* src/image.c (prepare_image_for_display) [USE_CAIRO]: Call IMAGE_BACKGROUND
	and IMAGE_BACKGROUND_TRANSPARENT.

2020-01-06  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in very small-height windows

	* src/xdisp.c (try_cursor_movement, redisplay_window)
	(row_containing_pos): Skip tab-line glyph rows in addition to
	header-line rows, when working on the top-most glyph row of a
	window.  This avoids assertion violations in set_cursor_from_row.
	(Bug#38966)

2020-01-06  Robert Pluim  <rpluim@gmail.com>

	Use pthread_setname_np to set thread name

	* configure.ac: Remove check for sys/prctl.h and prctl, check for
	pthread_setname_np instead.

	* src/systhread.c: Remove sys/prctl.h include.
	(sys_thread_create) [HAVE_PTHREAD_SETNAME_NP]: Use pthread_setname_np
	to set the name of the newly created thread (Bug#38632).

	* src/thread.c (Fmake_thread): Use ENCODE_SYSTEM instead of
	ENCODE_UTF_8 on the thread name.

2020-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	Move “Fix some broken conditional forms” to master

	Revert 2020-01-04T19:17:12Z!eggert@cs.ucla.edu
	which recently I installed into the emacs-27 branch by mistake.
	These patches are now on master instead (via merging).
	Do not merge to master.

2020-01-05  Martin Rudalics  <rudalics@gmx.at>

	Improve doc-strings of 'quit-window' and 'quit-restore-window' (Bug#38819)

	* lisp/window.el (quit-restore-window, quit-window): Make
	doc-strings more consistent; add references to corresponding
	section of the Elisp manual (Bug#38819).

2020-01-04  Stephen Gildea  <stepheng+emacs@gildea.com>

	Fix MH-E bug #470: Show buffer discards text properties

	* lisp/mh-e/mh-show.el (mh-display-msg): reset font lock and set
	major mode *before* formatting message content.  This changes lets
	fonts work when the Show buffer is reused for a new message.
	(mh-show-mode): no longer set buffer-read-only; that is better done
	by mh-display-msg after setting all content.

2020-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some broken conditional forms

	Problem reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2020-01/msg00088.html
	* lisp/cedet/ede/cpp-root.el (ede-create-lots-of-projects-under-dir):
	Remove this quick hack, which didn’t do anything anyway.
	* lisp/cedet/ede/pconf.el (ede-proj-configure-test-required-file):
	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-col):
	* lisp/net/nsm.el (nsm-check-tls-connection):
	Use ‘when’ rather than bypassing it.  This doesn’t affect behavior
	and is better style.
	* lisp/cedet/srecode/semantic.el (srecode-semantic-handle-:tag):
	Fix typo that suppressed an error.
	* lisp/filesets.el (filesets-run-cmd): Fix typo that mishandled spacing.
	* lisp/gnus/gnus-cloud.el (gnus-cloud-update-newsrc-data):
	Fix typo that caused “GROUP has older different info in the cloud
	as of DATE, update it here?” prompt result to always be treated as
	“yes”.
	* lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Simplify,
	since smime-encrypt-buffer signals error on failure.
	* lisp/international/titdic-cnv.el (tsang-quick-converter): Simplify.
	The conversion of this file to utf-8-emacs in
	2019-01-08T02:18:40Z!monnier@iro.umontreal.ca removed the
	distinction between Big5 and CNS fulltitles in the generated docstring.
	* lisp/org/org-agenda.el (org-agenda-show-and-scroll-up):
	* lisp/textmodes/table.el (table--generate-source-cell-contents):
	Simplify by removing useless code.
	* lisp/org/ox-odt.el (org-odt--format-timestamp): Fix typo that
	always output time-of-day even when the timestamp lacked it.

2020-01-04  Michael Albinus  <michael.albinus@gmx.de>

	Fix a scoping error in tramp-sudoedit.el

	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-system-info):
	Fix a scoping error.

2020-01-04  Mattias Engdegård  <mattiase@acm.org>

	* lisp/autorevert.el (auto-revert-notify-handler): Fix bracketing.

2020-01-04  Martin Rudalics  <rudalics@gmx.at>

	Fix typo in 'window_box_height'

	* src/xdisp.c (window_box_height): Add missing 'else'.

2020-01-03  Mattias Engdegård  <mattiase@acm.org>

	Install g++ for CEDET tests

	* .gitlab-ci.yml (before_script): Add g++.
	Backport from master.

2020-01-03  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el: Fix typos.

	* lisp/net/tramp.el (tramp-file-local-name): New defun.  (Bug#34343)

2020-01-03  Michael Albinus  <michael.albinus@gmx.de>

	Adapt commentary in Tramp persistency file

	* lisp/net/tramp-cache.el (tramp-dump-connection-properties):
	Adapt commentary in `tramp-persistency-file-name'.

2020-01-03  Michael Albinus  <michael.albinus@gmx.de>

	Change Tramp version to 2.4.3.27.1

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.4.3.27.1".
	(customize-package-emacs-version-alist): Add Tramp version
	integrated in Emacs 27.1.

2020-01-02  Eli Zaretskii  <eliz@gnu.org>

	Fix redisplay when mode-line-format changes mode-line's height

	* lisp/frame.el (top-level): Add mode-line-format,
	tab-line-format, and header-line-format to the list of variables
	that should trigger an immediate redisplay of the buffer's
	window.  This fixes redisplay of windows when the mode line
	changes its height.

	* src/xdisp.c (window_box_height): Use the window's
	mode_line_height, tab_line_height, and header_line_height fields
	in preference to CURRENT_MODE_LINE_HEIGHT,
	CURRENT_TAB_LINE_HEIGHT, and CURRENT_HEADER_LINE_HEIGHT,
	respectively.  This fixes display of vertical scroll bar when the
	height of the window's mode line changes.
	* src/dispnew.c (adjust_glyph_matrix): When resizing a window's
	matrix, reset the mode_line_p flag of the previous mode-line row,
	so that the window_box_height, CURRENT_MODE_LINE_HEIGHT, and their
	ilk won't use stale info.  (Bug#38828)

2020-01-02  Eli Zaretskii  <eliz@gnu.org>

	* src/fileio.c (Fwrite_region): Improve the doc string.

2020-01-02  Martin Rudalics  <rudalics@gmx.at>

	Fix removal of frame decorations on Windows (Bug#38705)

	* src/w32fns.c (w32_set_undecorated): Actualize
	f->output_data.w32->dwStyle for subsequent calls of
	AdjustWindowRect (Bug#38705).
	* src/w32term.h (struct w32_output): Add comment for
	dwstyle slot.

2020-01-01  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation with GTK versions older than 3

	* src/xfns.c (x_get_net_workarea): Change a recently moved #ifndef
	so that GTK builds which need this function will compile it.
	Reported by John <jpff@codemist.co.uk>.

	(cherry picked from commit d36adb544d984b91c70f6194da01344e4b2b6fc9)

2020-01-01  Eli Zaretskii  <eliz@gnu.org>

	Fix reverting customizations

	* lisp/custom.el (custom-push-theme): Don't use setcar to modify
	the recorded value of PROP; instead, cons a new property list by
	deleting the old value and adding the new one.  (Bug#38812)

2020-01-01  Mattias Engdegård  <mattiase@acm.org>

	* lisp/loadup.el: Set max-specpdl-size to 1800 when loading cl-generic.el.

2020-01-01  Mattias Engdegård  <mattiase@acm.org>

	Revert "Raise default max-specpdl-size value"

	This reverts commit bb9402e6e9c12938aee31b81e25511eb1f6335d2.

2020-01-01  Mattias Engdegård  <mattiase@acm.org>

	Raise default max-specpdl-size value

	Occasionally, loading cl-generic.el from source requires
	max_specpdl_size > 1600 when bootstrapping, and thus fails.
	In any case we are very close to the limit.

	* src/eval.c (init_eval_once): Raise max_specpdl_size to 1800.
	* doc/lispref/variables.texi (Local Variables): Update docs.

2020-01-01  Phillip Lord  <phillip.lord@russet.org.uk>

	Update distribution documentation

	* admin/nt/README-ftp-server: Remove as obsolete
	* admin/nt/dist-build/README-windows-binaries: Add information
	  about installer

2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc -Wunused-function on Ubuntu 18.04.3

	This improves on 2019-12-25T20:01:07Z!eggert@cs.ucla.edu,
	by fixing a GCC warning on Ubuntu 18.04.3
	“‘x_get_net_workarea’ defined but not used”.
	* src/xfns.c (x_get_net_workarea) [!USE_GTK]: Do not define.

2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	Fix copyright years by hand

	These are dates that admin/update-copyright did not update.

2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	Update copyright year to 2020

	Run "TZ=UTC0 admin/update-copyright $(git ls-files)".

2019-12-31  João Távora  <joaotavora@gmail.com>

	Don't always resort in recently introduced icomplete--sorted-completions

	Doing so breaks icomplete-forward-completions and
	icomplete-backward-completions.

	* lisp/icomplete.el (icomplete--sorted-completions): Don't always
	resort.

	(cherry picked from commit 639fb50ed4c622f99dfbde32fbdbca42ce36d385)

2019-12-31  João Távora  <joaotavora@gmail.com>

	Don't force completion recalculation in icomplete-fido-ret

	Besides the adverse effect of delaying completions, it tripped up the
	useful logic of icomplete-force-complete-and-exit in the case where a
	default was available, but no completions calculated yet.

	* lisp/icomplete.el (icomplete-fido-ret): Don't force calculation
	of completions.

	(cherry picked from commit 13778aa5be7bf028893672d84c2a291f491d8216)

2019-12-31  João Távora  <joaotavora@gmail.com>

	Correctly cache sorted completions in icomplete--sorted-completions

	* lisp/icomplete.el (icomplete--sorted-completions): Use
	completion--cache-all-sorted-completions.

	(cherry picked from commit 83587bb68830bd91124f99ddf8590d1d5f63869f)

2019-12-31  João Távora  <joaotavora@gmail.com>

	Move flex style's minibuffer-default-aware sorting to lisp/icomplete.el

	This moves the logic from the series of commits starting in the commit named:

	  Improve sorting of flex completion style with non-nil minibuffer-default

	to lisp/icomplete.el, so far the only confirmed beneficiary of that
	functionality.

	* lisp/icomplete.el (icomplete--sorted-completions): Consider
	minibuffer-default here.

	* lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.

	(cherry picked from commit 0d2a711dc9a65dc8eb6e995369e70cddbcd7d9a4)

2019-12-31  João Távora  <joaotavora@gmail.com>

	Make fido-mode behave more like ido-mode when finding directories

	Notably C-x d (M-x dired) and C-x v d (M-x vc-dir) behaved quite
	differently, having regular files as the default instead of ido's
	usual "./".

	* lisp/icomplete.el (icomplete--sorted-completions): New helper.
	(icomplete-completions): Use it.

	(cherry picked from commit ee914051fbb4fbff9073a23b5ea7668bf48b5c6a)

2019-12-31  João Távora  <joaotavora@gmail.com>

	Slightly simplify lisp/icomplete.el with new icomplete--category helper

	* lisp/icomplete.el (icomplete-fido-kill)
	(icomplete-fido-delete-char, icomplete-fido-ret)
	(icomplete-fido-backward-updir, icomplete-exhibit): Use
	icomplete--category.
	(icomplete--category): New helper.

	(cherry picked from commit 24a1f520f91c278cb8cc57325ea80285a3b252cf)

2019-12-31  João Távora  <joaotavora@gmail.com>

	Another adjustment to flex completion style's sorting function

	* lisp/minibuffer.el (completion--flex-adjust-metadata): Adjust
	case when minibuffer-default is non-nil.

	(cherry picked from commit 9c912049927cfb18b9c8b37039b38ddf51f2fe81)

2019-12-30  Mattias Engdegård  <mattiase@acm.org>

	Make minibuffer-tests work in out-of-tree builds (bug#38816)

	* test/lisp/minibuffer-tests.el (completion-table-test-quoting):
	Set default-directory.

2019-12-30  Mattias Engdegård  <mattiase@acm.org>

	Make comint-tests more robust (bug#38813)

	* test/lisp/comint-tests.el (comint-test-no-password-function)
	(comint-test-password-function-with-value)
	(comint-test-password-function-with-nil):
	Call accept-process-output as many times as needed, with a slightly
	more generous timeout (100 ms), after sending the Password: prompt to
	the process, since there must be time for some back-and-forth
	communication.  Also clear the process-query-on-exit flag, since it
	doesn't go well with noninteractive tests.

2019-12-30  Eli Zaretskii  <eliz@gnu.org>

	Fix tar-mode reading the oldgnu Tar format

	This makes sure an entry for a long file name will not
	accidentally appear as a directory, and thus its size will be
	disregarded, causing corrupted file headers for all the subsequent
	entries.  The original problem happened because the long file name
	truncated to 99 bytes happened to end in a slash, which tar-mode
	takes to be the indication of a directory.
	* lisp/tar-mode.el (tar-header-block-tokenize): Accept an
	additional argument DISABLE-SLASH; if non-nil, don't set the
	link-type field of the descriptor to 5 (meaning a directory) just
	because the name ends in a slash.  Use this argument when calling
	itself recursively, to read the entry of the file with a long
	name.  Set the link-type to 5 if the long name ends in a slash.
	(Bug#38777)

2019-12-30  Eli Zaretskii  <eliz@gnu.org>

	Ensure mini-window is resized to show active minibuffer contents

	* src/keyboard.c (read_char, command_loop_1): Resize the
	mini-window after clearing the echo area while minibuffer is
	active.  (Bug#38645)

2019-12-30  Eli Zaretskii  <eliz@gnu.org>

	Fix mini-window resizing under resize-mini-windows = t

	* src/window.c (grow_mini_window): Fix resizing of mini-window
	when the echo area is cleared, and the caller asks for the
	mini-window to have zero lines.  (Bug#38791)

2019-12-29  Glenn Morris  <rgm@gnu.org>

	Fixes for makeinfo 4.13

	* doc/lispref/customize.texi (Variable Definitions): Fix xref.
	* doc/lispref/internals.texi (Writing Emacs Primitives)
	(Module Values): Follow xref with comma.

2019-12-29  Robert Pluim  <rpluim@gmail.com>

	Fix crash under -nw on macOS properly this time

	* src/dispextern.h (FACE_COLOR_TO_PIXEL): Only use
	ns_color_index_to_rgba when we're running under the NS gui
	(Bug#38564).

2019-12-29  Robert Pluim  <rpluim@gmail.com>

	Revert "Check for GUI frame in ns_color_index_to_rgba"

	This reverts commit ea84a95bd8d43612b4a424fb93de25a68ac31d05.

2019-12-29  Robert Pluim  <rpluim@gmail.com>

	Ignore all color fonts when using XFT

	* etc/NEWS: Announce change to matching color fonts when using XFT.

	* src/ftfont.c (ftfont_list) [HAVE_XFT && FC_COLOR]: Query for the
	color attribute of the matched font, and skip it if it is not
	FcFalse (Bug#37786).

2019-12-29  Mattias Engdegård  <mattiase@acm.org>

	Avoid unbounded growth of cl-random-state components (bug#38753)

	* lisp/emacs-lisp/cl-extra.el (cl-random):
	Perform the modulo 2**23 operation before updating the state instead
	of after.  The result is always the same, but it prevents the state
	from growing into arbitrary large bignums.

	Patch from Christopher Wellons.

2019-12-29  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp 2.4.3

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.4.3".

	* lisp/net/tramp.el: Bump version.
	(tramp-handle-shell-command): The temp file for error-buffer is remote.

	* test/lisp/net/tramp-tests.el (tramp-test30-make-process):
	Simplify buffer generation.
	(tramp-test32-shell-command): Extend test.

2019-12-29  Dmitry Gutov  <dgutov@yandex.ru>

	Fix up requires

	* lisp/progmodes/project.el (project-files):
	Remove (require 'xref).
	(project--files-in-directory): Add it here instead.
	(project-find-regexp, project-or-external-find-regexp): And here.
	For 'xref--show-xrefs'.

2019-12-29  Dmitry Gutov  <dgutov@yandex.ru>

	Extract xref-matches-in-files from project--find-regexp-in-files

	* lisp/progmodes/xref.el (xref-matches-in-files): Extract from
	project--find-regexp-in-files.

	* lisp/dired-aux.el (dired-do-find-regexp): Also use it here.

2019-12-29  Dmitry Gutov  <dgutov@yandex.ru>

	Rename xref-collect-references and xref-collect-matches

	* lisp/progmodes/xref.el (xref-references-in-directory): Rename
	from xref-collect-references.  Update the sole caller.
	(xref-matches-in-directory): Rename from xref-collect-matches.
	Update all callers (all of them are in the /tests/ dir).

	* test/lisp/progmodes/xref-tests.el (xref-tests-data-dir):
	Don't use the EMACS_TEST_DIRECTORY env var. It doesn't work when
	running interactively.

2019-12-29  Dmitry Gutov  <dgutov@yandex.ru>

	Improve docstrings

	* lisp/progmodes/xref.el (xref-collect-matches)
	(xref-collect-references): Improve docstrings.

2019-12-29  Alan Third  <alan@idiocy.org>

	Fix when expose draws partially visible first glyph (bug#38731)

	* src/xdisp.c (expose_area): When the face extends to the end of the
	line draw text from the correct x coordinate.

2019-12-28  Dmitry Gutov  <dgutov@yandex.ru>

	Don't require semantic/fw

	* lisp/progmodes/xref.el (xref-collect-matches): Don't require
	semantic/fw, we haven't been using semantic-find-file-noselect
	here for a while.

2019-12-28  Dmitry Gutov  <dgutov@yandex.ru>

	Do some renames for clarity

	* lisp/progmodes/xref.el (xref--last-file-buffer):
	Rename from xref--last-visiting-buffer.  Update users.
	(xref--find-file-buffer): Rename from xref--find-buffer-visiting
	to match the standard function that gets called inside.  Ditto.

2019-12-28  Eli Zaretskii  <eliz@gnu.org>

	Rearrange NEWS, add missing documentation

	* etc/NEWS: Rearrange and mark entries whether documented or not.

	* doc/lispref/streams.texi (Output Variables): Document the new
	default of 'print-quoted'.
	* doc/lispref/keymaps.texi (Functions for Key Lookup): Document
	that KEYMAP arg to 'lookup-key' can also be a list.
	* doc/lispref/customize.texi (Variable Definitions): Document the
	:local keyword of 'defcustom'.
	* doc/lispref/numbers.texi (Float Basics): Document changes in
	'logb'.
	* doc/lispref/hooks.texi (Standard Hooks): Document
	'comint-password-function'.

	* doc/emacs/display.texi (Text Scale): Document text-size
	adjustment using the mouse wheel.
	* doc/emacs/frames.texi (Mouse Commands): Document image scaling
	with the mouse wheel.
	* doc/emacs/windows.texi (Window Convenience): Document
	'global-tab-line-mode'.
	* doc/emacs/search.texi (Repeat Isearch, Symbol Search)
	(Isearch Yank): Document the new support for numeric arguments in
	Isearch commands.
	(Special Isearch): Document 'M-s M->' and 'M-s M-<'.
	(Search Customizations): Document 'isearch-lazy-count'.  Improve
	indexing.
	(Not Exiting Isearch): Document the new value of
	'isearch-allow-scroll'.
	* doc/emacs/maintaining.texi (Xref Commands): Document the new 'g'
	key binding.
	* doc/emacs/package.texi (Package Installation): Document changes
	in 'package-check-signature'.
	* doc/emacs/maintaining.texi (VC Change Log): Document
	'vc-log-search'.
	* doc/emacs/dired.texi (Operating on Files): Document
	'dired-vc-rename'.

2019-12-28  Xu Chunyang  <xuchunyang56@gmail.com>

	Fix interactive spec in netrc-parse

	* lisp/net/netrc.el (netrc-parse): Fix placement of interactive
	spec (bug#38773).

2019-12-28  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of define-obsolete-* functions

	* doc/lispref/functions.texi (Obsolete Functions): Make
	documentation of functions that obsolete symbols match the
	advertised calling conventions.

	* lisp/emacs-lisp/byte-run.el (define-obsolete-function-alias)
	(define-obsolete-variable-alias, define-obsolete-face-alias):
	State in the doc strings that WHEN is a mandatory argument, to be
	consistent with the advertised calling convention.  (Bug#38675)

2019-12-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix recent gnus-start.el breakage

	* lisp/gnus/gnus-start.el (gnus-group-change-level): Fix previous
	patch that made info nil when adding new groups (thereby making
	gnus-newsrc-alist invalid).

2019-12-27  Dmitry Gutov  <dgutov@yandex.ru>

	(xref--find-buffer-visiting): Speed up by using get-file-buffer

	* lisp/progmodes/xref.el (xref--find-buffer-visiting):
	Speed up by using get-file-buffer.
	(xref--collect-matches): Remove the condition on remote-id.
	(https://lists.gnu.org/r/emacs-devel/2019-12/msg00753.html)

2019-12-27  Dmitry Gutov  <dgutov@yandex.ru>

	project--vc-list-files: Recurse into submodules

	* lisp/progmodes/project.el (project-try-vc): Do not treat a Git
	submodule as a project root, go up to the parent repo.
	(project--git-submodules): New function.
	(project--vc-list-files): Use it.  Recurse into submodules.

2019-12-27  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements of buffer documentation

	* doc/emacs/buffers.texi (Buffers): Say that buffers are killed
	when no longer needed.  Suggested by Jean-Christophe Helary
	<jean.christophe.helary@traduction-libre.org>.

2019-12-27  Dmitry Gutov  <dgutov@yandex.ru>

	xref--collect-matches: Speed up on remote

	* lisp/progmodes/xref.el (xref--collect-matches):
	Don't call find-buffer-visiting on remote file names, it's pretty
	slow (bug#34343).

2019-12-26  Phillip Lord  <phillip.lord@russet.org.uk>

	Fix installer build

	* admin/nt/dist-build/build-zips.sh: Ensure that NSIS build always
	  uses the actual build number to locate its files.

2019-12-26  Phillip Lord  <phillip.lord@russet.org.uk>

	Update Windows build documentation

	* admin/nt/dist-build/README-scripts: Update with branch and snapshot
	  information.

2019-12-26  Mattias Engdegård  <mattiase@acm.org>

	Calc: add missing dynamic variable declarations

	* lisp/calc/calc-alg.el (math-simplify-only, calc-simplify-mode)
	(math-expand-formulas, calc-poly-div-remainder)
	(math-living-dangerously, math-simplifying, calc-angle-mode)
	(calc-prefer-frac, math-poly-base-variable):
	Declare dynamic variables.
	* test/lisp/calc/calc-tests.el (calc-poly-div):
	Add test for at least one bug caused by missing declarations.

2019-12-26  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/buffers.texi (Kill Buffer): Improve indexing.

2019-12-26  Dmitry Gutov  <dgutov@yandex.ru>

	Speed up dired-do-find-regexp

	* lisp/dired-aux.el (dired-do-find-regexp): Speed up (bug#36857).
	Previously, 'find' was called for every marked file (for plain
	files and directories both).  Now 'find' is only called for
	directories.

2019-12-26  Dmitry Gutov  <dgutov@yandex.ru>

	project--find-regexp-in-files: Support remote files

	* lisp/progmodes/project.el (project--find-regexp-in-files):
	Support remote files (bug#34343).

2019-12-26  Philipp Stephani  <phst@google.com>

	Document some restrictions for module functions.

	* doc/lispref/internals.texi (Module Functions): Document some
	restrictions for module functions.

2019-12-26  Philipp Stephani  <phst@google.com>

	Don't recommend using 'module-load' for loading modules.

	'module-load' most likely doesn't do what users expect.  Users should
	use 'load' and its wrappers, which do the right thing.

	* doc/lispref/loading.texi (Dynamic Modules): Document
	disadvantages of 'module-load' and recommend normal 'load' and
	its wrappers instead.

	* doc/lispref/internals.texi (Module Functions): Recommend
	'load' over 'module-load'.

2019-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	Port x_get_monitor_attributes_fallback to !HAVE_GTK3

	* src/xfns.c (x_get_net_workarea) [!HAVE_GTK3]:
	Define in this case too, since x_get_monitor_attributes_fallback
	contains a call to it regardless whether HAVE_GTK3 is defined.

2019-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in gnus-start.el

	* lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format): Fix
	compilation warning by not binding XEmacs-only variable.

	* lisp/gnus/gnus-util.el (gnus-bind-print-variables): Ditto.
	(gnus-prin1, gnus-prin1-to-string, gnus-pp, gnus-pp-to-string):
	Adjust doc string.

2019-12-25  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string of 'files--message'

	* lisp/files.el (files--message): Improve the wording of doc
	string.  (Bug#38737)

2019-12-24  Wolfgang Scherer  <wolfgang.scherer@gmx.de>

	Improve vc--add-line, vc--remove-regexp

	* lisp/vc/vc.el (vc--add-line): Create file if it does not exist.
	Use existing buffer to avoid discrepancies with filesystem.  Make sure
	that the file ends with a newline.
	(vc--remove-line): Do not create file if it does not exist.  Use
	existing buffer to avoid discrepancies with filesystem. (bug#37185)

2019-12-24  Dmitry Gutov  <dgutov@yandex.ru>

	Apply the 'xref-group' property properly

	* lisp/progmodes/xref.el (xref--insert-xrefs):
	Apply the 'xref-group' property properly (bug#36974).

2019-12-24  Philipp Stephani  <phst@google.com>

	* src/pdumper.c (Fdump_emacs_portable): Reword error message.

	(cherry picked from commit ac7b2607735a64e657d65c87d8c9f73755ff3efa)

2019-12-24  Philipp Stephani  <phst@google.com>

	Don’t allow portable dumping in interactive mode (Bug#38453).

	* src/pdumper.c (Fdump_emacs_portable): Don’t allow dumping in
	interactive mode.

	(cherry picked from commit e7edba42c8a525722cbd40f782b0df68e4976a62)

2019-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't default to showing X-Faces externally in Gnus

	* lisp/gnus/gnus-art.el (gnus-article-x-face-command): It's seldom
	useful to display the face in an external command, so don't ever
	default to that.  This also fixes the problem of Emacs running as
	a server in mixed graphical/non-graphical environments.

2019-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix manual typo in Special Read Syntax

	* doc/lispref/objects.texi (Special Read Syntax): Fix typo.

2019-12-24  Robert Pluim  <rpluim@gmail.com>

	Fix problem with emacs -nw / eww / svg

	* lisp/net/shr.el (shr-parse-image-data): Don't bug out on
	non-visual Emacs versions on SVG images (bug#38507).

2019-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify base64 requirements and say what {en,de}code_coding_region does

	* src/coding.c (Fencode_coding_region): Clarify what this does.
	(Fdecode_coding_region): Ditto.

	* src/fns.c (Fbase64_decode_region): Clarify that this function
	returns bytes, not text (bug#38587).
	(Fbase64_encode_region): Clarify that this function takes bytes,
	not text.

2019-12-24  Philipp Stephani  <phst@google.com>

	* src/emacs-module.h.in: Add reference to manual.

2019-12-23  Juanma Barranquero  <lekktu@gmail.com>

	Trivial docstring fixes

	* ChangeLog.3:
	* lisp/emacs-lisp/cl-macs.el (cl-flet):
	* lisp/filesets.el (filesets-menu-ensure-use-cached):
	* lisp/progmodes/compile.el (compilation-context-lines):
	* lisp/progmodes/prolog.el (prolog-paren-indent):
	* lisp/progmodes/sql.el (sql-password-search-wallet-function):
	Fix typos in docstrings.

	* lisp/cedet/semantic/analyze.el (semantic-analyze-push-error):
	Doc fix.

	* lisp/emacs-lisp/map.el (map-put, map-info): Refill docstring.
	(map-contains-key): Fix typo.
	(map-every-p): Doc fix.

2019-12-23  Dhruva Krishnamurthy  <dhruvakm@gmail.com>  (tiny change)

	imagemagick-types needs to initialize ImageMagick

	* src/image.c (imagemagick_initialize): New function,
	with body taken from imagemagick_load_image.
	(imagemagick_load_image, Fimagemagick_types): Use it.

2019-12-23  Eli Zaretskii  <eliz@gnu.org>

	Cut the emacs-27 release branch

	* lisp/cus-edit.el (customize-changed-options-previous-release):
	Change the value to 26.3.

	* README:
	* configure.ac:
	* nt/README.W32:
	* msdos/sed2v2.inp: Bump Emacs version to 27.0.60.

2019-12-23  Philipp Stephani  <phst@google.com>

	Document and verify that emacs_limb_t doesn’t have padding bits.

	This is a useful property when doing further bit-twiddling with the
	magnitude array before/after calling extract_big_integer or
	make_big_integer.  For example, constructing an emacs_limb_t object
	using repeated shift-and-add should work as expected, but relies on
	the type not having padding bits.  Since the C standard already
	guarantees that unsigned integers use a pure binary representation,
	not having padding bits is enough to guarantee that the type has
	unique object representations in the sense of C++’s
	std::has_unique_object_representations.

	* doc/lispref/internals.texi (Module Values): Document that
	emacs_limb_t doesn’t have padding bits.

	* src/emacs-module.c: Verify that emacs_limb_t doesn’t have padding
	bits.

2019-12-23  Jimmy Aguilar Mena  <spacibba@aol.com>

	Fix extension of underline, overline, and strike-through attributes

	* src/xdisp.c (extend_face_to_end_of_line): Don't return early
	if face attributes beyond background color and box are set,
	since that means these attributes need to be extended past the
	EOL.

2019-12-23  João Távora  <joaotavora@gmail.com>

	Comment on limitation of flex completion style's sorting function

	* lisp/minibuffer.el (completion--flex-adjust-metadata): Add
	comment.

2019-12-23  João Távora  <joaotavora@gmail.com>

	Fix a bug in completion--flex-adjust-metadata

	If minibuffer-default coincided with the first of completions, the
	empty list would be returned.

	* lisp/minibuffer.el (completion--flex-adjust-metadata): Make sure
	to never return empty list.

2019-12-23  Martin Rudalics  <rudalics@gmx.at>

	Fix documentation of implied frame resizing (Bug#38684)

	* src/frame.c (frame_inhibit_implied_resize): Fix doc-string.
	* doc/lispref/frames.texi (Implied Frame Resizing): Update and
	rewrite section.

2019-12-22  Michael R. Mauger  <michael@mauger.com>

	Added `comint-password-function' hook

	* etc/NEWS:
	* lisp/comint.el (comint-password-function): New variable.
	  (comint-send-invisible): Use it.
	* test/lisp/comint-tests.el (comint-test-no-password-function,
	  comint-test-password-function-with-value,
	  comint-test-password-function-with-nil): Test new variable.

2019-12-22  Juri Linkov  <juri@linkov.net>

	* lisp/files.el (save-buffers-kill-emacs): Mark "*Process List*" as dedicated.

	Using the 'dedicated' prop for display-buffer--maybe-at-bottom marks the
	window of the buffer "*Process List*" as dedicated, so it won't be replaced
	by another buffer that might be visited following links to process buffers
	from the buffer "*Process List*".

2019-12-22  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Use alist-get instead of (cdr (assq ...))

	* lisp/tab-bar.el (tab-bar-mode): Bind s-0 to tab-bar-switch-to-recent-tab.

2019-12-22  Juri Linkov  <juri@linkov.net>

	* lisp/proced.el (proced-signal-list): Add more POSIX 1003.1-2001 signals.

2019-12-22  João Távora  <joaotavora@gmail.com>

	Fix bug in flex completion style's sorting and simplify

	This previous commit targeting this function introduced a bug whereby
	the completion table's sorting function wouldn't be called.  That is
	fixed by this commit, which also simplifies the function further: it
	now skips re-sorting the completions completely if there is no
	minibuffer input at all (in other words, when flex isn't doing
	anything useful).

	* lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.

2019-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-start.el: Use lexical-binding

	(gnus-group-change-level, gnus-make-hashtable-from-newsrc-alist):
	Use gnus-info-make.
	(gnus-make-hashtable-from-newsrc-alist): Prefer `gnus-info-group`
	to `car` when applied to a `gnus-info` object.
	(gnus-make-hashtable-from-killed): Remove unused vars `lists` and `list`.
	(gnus-gnus-to-quick-newsrc-format): Extract common code from if branches.

	* lisp/gnus/gnus.el (gnus-info-make): New constructor.

2019-12-22  Eli Zaretskii  <eliz@gnu.org>

	Fix wording of recent documentation changes

	* src/xdisp.c (syms_of_xdisp):
	* lisp/minibuffer.el (minibuffer-message-clear-timeout):
	* etc/NEWS:
	* doc/lispref/display.texi (Displaying Messages): Minor
	changes of wording of a recent commit.  (Bug#38457)

2019-12-22  Michael Albinus  <michael.albinus@gmx.de>

	Extend tramp-tests.el for other host name syntax and file name syntax

	* test/lisp/net/tramp-tests.el (inhibit-message)
	(connection-local-criteria-alist)
	(connection-local-profile-alist, async-shell-command-width): Declare.
	(tramp-test01-file-name-syntax)
	(tramp-test02-file-name-dissect): Set syntax to `default'.
	(tramp-test03-file-name-defaults)
	(tramp-test03-file-name-host-rules)
	(tramp-test03-file-name-method-rules)
	(tramp-test04-substitute-in-file-name)
	(tramp-test05-expand-file-name)
	(tramp-test06-directory-file-name, tramp-test44-auto-load):
	Skip unless syntax is `default'.
	(tramp-test06-directory-file-name, tramp-test10-write-region)
	(tramp-test17-dired-with-wildcards)
	(tramp-test26-file-name-completion): Handle IPv6 host names.
	(tramp-test21-file-links): Support all syntaxes.
	(tramp-test30-make-process, tramp-test45-unload):
	Suppress compiler warnings.
	(tramp-test37-make-auto-save-file-name): Skip for `separate' syntax.

2019-12-22  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/trampver.el (inhibit-message): Declare.

2019-12-22  Michael Albinus  <michael.albinus@gmx.de>

	Add item to Frequently Asked Questions of Tramp manual

	* doc/misc/tramp.texi (Frequently Asked Questions): Add item for
	ControlMaster option on proxy hosts.  Explain changing syntax to
	Ange FTP.

2019-12-22  Alan Third  <alan@idiocy.org>

	* lisp/term/ns-win.el (ns-insert-working-text): Comment is obsolete.

2019-12-22  João Távora  <joaotavora@gmail.com>

	Improve sorting of flex completion style with non-nil minibuffer-default

	This affects the behavior of flex completion when there is a default
	completion and the user hasn't entered any input pattern to flex-match
	against.  It is most visible when icomplete-mode or fido-mode are
	being used in conjunctio.

	When using M-x man, for instance, the default completion is picked
	from text around point.  Say it is "emacs" (for Emacs's man page).  It
	will not match the intended completion, "emacs(1)", exactly.  If the
	user hasn't yet given any input to the completion prompt, that
	completion should bubble to top so that
	icomplete-force-complete-and-exit will select it, but it didn't.

	This new approach uses 'string-prefix-p' instead of 'equal' to find
	the default to bubble to the top.  This strategy could eventually be
	improved, most naturally by flex-matching the default string to all
	the candidates and picking the highest scoring one.

	Additionally, the new strategy only considers minibuffer-default if
	there is no input in the minibuffer, which seems sensible and produces
	a small but noticeable speedup.

	* lisp/minibuffer.el (completion--flex-adjust-metadata):
	Reformulate sorting strategy.

2019-12-22  Masahiro Nakamura  <tsuucat@icloud.com>  (tiny change)

	Fix display of working text on NS (Bug#23412, Bug#1453)

	* lisp/term/ns-win.el (ns-insert-working-text):
	(ns-delete-working-text): Change how working text is deleted to handle
	changed order of operations.
	* src/nsterm.m ([EmacsView insertText:]): Move deletion of working
	text until after insertion of new text.

2019-12-22  Alan Third  <alan@idiocy.org>

	Check if file is in iCloud drive (bug#38618)

	* src/nsfns.m (ns_set_represented_filename): Check whether the file is
	a `ubiquitous item', and if so don't display a proxy icon.

2019-12-21  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Rename tab-bar-list to tab-switcher (bug#38624)

2019-12-21  Juri Linkov  <juri@linkov.net>

	New variable set-message-function to show message at the end of the minibuffer

	* doc/lispref/display.texi (Displaying Messages): Document
	set-message-function and clear-message-function.

	* lisp/minibuffer.el (minibuffer-message-clear-timeout): New defcustom.
	(minibuffer-message-timer, minibuffer-message-overlay): New variables.
	(set-minibuffer-message, clear-minibuffer-message): New functions.
	(set-message-function, clear-message-function): Set variables to
	set-minibuffer-message and clear-minibuffer-message respectively.

	* src/keyboard.c (read_char): Call clear_message when
	Vclear_message_function is a function.

	* src/xdisp.c (set_message): Call Vset_message_function when it's a function.
	(clear_message): Call Vclear_message_function when it's a function.
	(syms_of_xdisp): New variables set-message-function and clear-message-function
	(bug#38457).

2019-12-21  Stephen Gildea  <stepheng+emacs@gildea.com>

	backup-by-copying-when-privileged-mismatch applies to file gid, too.

	* lisp/files.el (backup-by-copying-when-privileged-mismatch):  In addition
	to checking the file uid, a second test is added: if the file gid is not
	greater than backup-by-copying-when-privileged-mismatch,
	backup-by-copying-when-mismatch will also be forced on.

	* doc/emacs/files.texi, doc/lispref/backups.texi: Updated documentation.

	Also fixed a typo in the Emacs reference manual, changing "higher" to
	"no greater" so that the limit is no longer documented reversed.

2019-12-21  Eli Zaretskii  <eliz@gnu.org>

	;* src/process.c (read_process_output): Fix last change.

2019-12-21  lin.sun  <lin.sun@zoom.us>

	Add new function `python-shell-send-statement'

	* lisp/progmodes/python.el (python-shell-send-statement): New function.
	(python-mode-map): Bind it to key "C-c C-e", and define a python-menu
	item for it.  (Bug#38426)

2019-12-21  Eli Zaretskii  <eliz@gnu.org>

	Allow control of data amount read from subprocess in one chunk

	* src/process.c (syms_of_process) <read-process-output-max>:
	New variable.
	(read_process_output): Use it instead of the hard-coded
	constant 4096.  (Bug#38561)
	Use SAFE_ALLOCA to support large buffers for reading process
	output.

	* etc/NEWS: Mention 'read-process-output-max'.

2019-12-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/mule-cmds.el: Fix bug#38642

	(universal-coding-system-argument): Adjust the code to the way
	`universal-argument` works nowadays.  Handle `prefix-arg` a bit more
	like `command_loop` does.

	* test/lisp/international/mule-tests.el
	(mule-cmds--test-universal-coding-system-argument): New test.

2019-12-20  Dmitry Gutov  <dgutov@yandex.ru>

	Speed up vc-dir-update

	* lisp/vc/vc-dir.el (vc-dir-update): Speed up.
	(https://lists.gnu.org/r/emacs-devel/2019-12/msg00568.html)

2019-12-20  Alan Mackenzie  <acm@muc.de>

	Elisp manual: mention parse-partial-sexp as the source of a parser state, etc

	* doc/lispref/syntax.texi (Parser State): mention parse-partial-sexp as a
	function returning a parser state, and the function to which one supplies a
	parser state as an argument for continued parsing.
	Refine the documentation of syntax-ppss-context, and correct the text
	introducing it and another function.

2019-12-20  Eli Zaretskii  <eliz@gnu.org>

	Support setting OS names of threads on MS-Windows

	* src/w32fns.c (setup_w32_kbdhook): Don't initialize
	is_debugger_present here...
	(globals_of_w32fns): ...initialize it here.  Also initialize
	the new global variable set_thread_description.
	* src/systhread.c: [WINDOWSNT] Include mbctype.h
	(w32_set_thread_name): New function.
	(MS_VC_EXCEPTION): New macro.
	(THREADNAME_INFO, IsDebuggerPresent_Proc)
	(SetThreadDescription_Proc): New typedefs.
	(w32_beginthread_wrapper): Call w32_set_thread_name to set the
	name of the new thread.
	* src/thread.h (struct thread_state): New member thread_name.
	* src/thread.c (Fmake_thread): Set the thread_name field of
	the new thread object.
	(run_thread): Free the thread_name member after the thread
	exits.

2019-12-20  Michael Albinus  <michael.albinus@gmx.de>

	Fix error in tramp-process-sentinel

	* lisp/net/tramp.el (tramp-process-sentinel): Check, that process
	buffer is alive.

2019-12-19  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Sort tab names by recency for tab switching (bug#38624)

	* lisp/tab-bar.el (tab-bar--tabs-recent): New function with code
	extracted from tab-bar--tab-index-recent.
	(tab-bar-switch-to-tab): Use tab-bar--tabs-recent in interactive spec
	to sort names of tabs by recency for default values of completing-read.
	(tab-prefix-map): Bind RET to tab-bar-select-tab-by-name, and 'm' to tab-move.

2019-12-18  Mattias Engdegård  <mattiase@acm.org>

	More precise 'regexp-opt' documentation

	* lisp/emacs-lisp/regexp-opt.el (regexp-opt):
	* doc/lispref/searching.texi (Regexp Functions):
	Be more specific about how the KEEP-ORDER argument actually works.
	If nil, the regexp guarantees a longest match; this is the behavior
	that many callers implicitly rely on.

2019-12-18  Michael Albinus  <michael.albinus@gmx.de>

	Fix an error with remote file name in compile.el

	* lisp/progmodes/compile.el (compilation-get-file-structure):
	Compute proper remote file name.  (Bug#38648)

2019-12-17  Wilson Snyder  <wsnyder@wsnyder.org>

	Verilog-Mode collected updates.

	* lisp/progmodes/verilog-mode.el (verilog-compiler-directives): Support
	indenting `uselib.
	(verilog-read-decls): Fix AUTO* to ignore `protected regions.
	(verilog-read-auto-template-middle): Fix AUTO_TEMPLATEs with multiple
	module templates and at-REGEXPs, msg3183.  Reported by Berk Akinci.

2019-12-17  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp's file-name-completion

	* lisp/net/tramp.el (tramp-handle-file-name-completion):
	Filter out "./" and "../", if there's only one other result.

2019-12-17  Mattias Engdegård  <mattiase@acm.org>

	Adjust cursor column when auto-scrolling during rectangle selection

	* lisp/mouse.el (mouse-drag-region-rectangle):
	Move cursor to the correct column during auto-scrolling both when
	crutches are used and not (bug#38641).  Reported by Konrad Podczeck.

2019-12-16  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	Make ls-files-unknown only return proper files, not directories

	* lisp/vc/vc-git.el (vc-git-dir-status-goto-stage):
	Make ls-files-unknown only return proper files, not directories
	(bug#38615).

2019-12-16  Dmitry Gutov  <dgutov@yandex.ru>

	vc-git-after-dir-status-stage: Avoid erroneous up-to-date status

	* lisp/vc/vc-git.el (vc-git-after-dir-status-stage):
	Don't set `up-to-date' status if the previous stage (`diff-index')
	has assigned some other status to the file (bug#38615).

2019-12-16  Eli Zaretskii  <eliz@gnu.org>

	Fix face merging for display strings broken by a recent commit

	* src/xfaces.c (face_at_string_position): Revert the last
	change, as it cannot possibly solve bug#38563.
	* src/xdisp.c (face_at_pos): Fix a typo made during last
	change here, which broke face merging for display strings.
	(Bug#38633)

2019-12-15  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-xterm-paste): Use code like in 'xterm-paste'.

	Add arg 'event' and use it to get pasted text.
	This allows pasting text on terminals to the
	search string (bug#18727, bug#36950).

2019-12-15  Juri Linkov  <juri@linkov.net>

	Revert aa89c84e00d8dc85100e6fedab7631c415e6364d (bug#38457)

	* src/editfns.c (Fmessage): Don't use minibuffer-message.
	(Fmessage_in_echo_area): Remove function message-in-echo-area.
	(syms_of_editfns): Remove variable message-in-echo-area.

	* lisp/isearch.el (isearch--momentary-message): Remove message-in-echo-area.
	* lisp/minibuffer.el (minibuffer-message): Don't record message
	in the *Messages* buffer.
	(minibuffer-completion-help): Remove message-in-echo-area.

	* lisp/subr.el (do-after-load-evaluation): Remove discard-input (bug#38560)

2019-12-15  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el (tab-line-auto-hscroll): Improve.

	Better handling of tabs scrolled to the left.
	Don't scroll tabs that are already visible.

	Remove setq of buffer-undo-list because undo is disabled
	anyway in internal buffers with name " *temp*".

2019-12-15  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-handle-mouse): Handle close button.

	* lisp/tab-bar.el (tab-bar-select-tab): Message about selected tab (bug#38624)

2019-12-15  Robert Cochran  <robert-git@cochranmail.com>

	* lisp/tab-bar.el (tab-bar-close-other-tabs): Use tab close customs

2019-12-15  Robert Cochran  <robert-git@cochranmail.com>

	Document variables that affect tabs in function docstrings

	* lisp/tab-bar.el (tab-bar-new-tab-to): Mention
	tab-bar-post-open-functions in docstring.
	(tab-bar-close-tab): Mention tab-bar-prevent-tab-functions,
	tab-bar-tab-pre-close-functions, and tab-bar-close-last-tab-choice.

2019-12-15  Phil Sainty  <psainty@orcon.net.nz>

	New command 'diff-buffers'

	* lisp/vc/diff.el (diff-buffers): New command.
	(diff, diff-no-select, diff-file-local-copy): Improve docstrings.
	* doc/emacs/files.texi:
	* etc/NEWS: Document new command, and the previously-undocumented
	ability for 'diff' to compare buffers.

2019-12-14  Paul Eggert  <eggert@cs.ucla.edu>

	Adjust intptr_t advice

	* doc/lispref/internals.texi (C Integer Types): Say to prefer
	uintptr_t when pointer arithmetic might overflow intptr_t.

2019-12-14  Paul Eggert  <eggert@cs.ucla.edu>

	Remove nothing from union output_data

	* src/frame.h (union output_data): Remove ‘nothing’ member.
	It has had no effect for quite some time.
	All uses removed.

2019-12-14  Eli Zaretskii  <eliz@gnu.org>

	Update documentation of pure-space overflow

	* doc/lispref/internals.texi (Garbage Collection)
	(Pure Storage):
	* src/alloc.c (Fgarbage_collect): Update the documentation of
	pure-space overflow for when pdumper is used.  (Bug#38492)

2019-12-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (completion-pcm--find-all-completions): Simplify a bit

2019-12-14  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-initial-file-name-regexp): Make it more precise.

2019-12-14  Eli Zaretskii  <eliz@gnu.org>

	Fix cross-references in ELisp manual

	* doc/lispref/commands.texi (Misc Events, Special Events): Fix
	cross-references.  (Bug#38520)

2019-12-14  Eli Zaretskii  <eliz@gnu.org>

	Don't warn about pure-space overflow

	* lisp/startup.el (command-line-1): Don't warn about
	pure-space overflow if we were dumped with pdumper.
	(Bug#38492)

2019-12-13  Paul Eggert  <eggert@cs.ucla.edu>

	Fix typo that broke GNU/Linux unexec build

	* src/emacs.c (Fdump_emacs): Remove stray closing brace that
	breaks the build when configured with --with-dumping=unexec on
	GNU/Linux.  (Apparently everybody is using pdumper now.)
	I introduced the bug in 2019-07-09T00:50:39Z!eggert@cs.ucla.edu.

2019-12-13  Juanma Barranquero  <lekktu@gmail.com>

	xfaces.c: Silence spurious maybe-uninitialized compiler warning

	* src/xfaces.c (face_inherited_attr): Initialize 'ok' to false.

2019-12-13  João Távora  <joaotavora@gmail.com>

	Disable undo in the process buffers of a JSONRPC connection

	* lisp/jsonrpc.el (initialize-instance jsonrpc-process-connection):
	Use buffer-disable-undo in stdout and stderr buffers.

	* lisp/jsonrpc.el (Version): Bump to 1.0.9

2019-12-13  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-unload-tramp): Autoload function body.

2019-12-13  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	python-shell-completion-at-point: respect simple-operator (Bug#37808)

	* lisp/progmodes/python.el (python-shell-completion-at-point): Also
	stop on simple-operator while parsing input.

2019-12-13  Mattias Engdegård  <mattiase@acm.org>

	Allow characters and single-char strings in rx charsets

	The `not' and `intersection' forms, and `or' inside these forms,
	now accept characters and single-character strings as arguments.
	Previously, they had to be wrapped in `any' forms.
	This does not add expressive power but is a convenience and is easily
	understood.

	* doc/lispref/searching.texi (Rx Constructs): Amend the documentation.
	* etc/NEWS: Announce the change.
	* lisp/emacs-lisp/rx.el (rx--charset-p, rx--translate-not)
	(rx--charset-intervals, rx): Accept characters and 1-char strings in
	more places.
	* test/lisp/emacs-lisp/rx-tests.el (rx-not, rx-charset-or)
	(rx-def-in-charset-or, rx-intersection): Test the change.

2019-12-13  Noam Postavsky  <npostavs@gmail.com>

	Add prefix to help.el uni-confusable* vars

	* lisp/help.el (help-uni-confusables, help-uni-confusables-regexp):
	Rename from uni-confusable and uni-confusables-regexp, respectively.
	(help-uni-confusable-suggestions): Use ngettext.  Use new variable
	name.
	* lisp/emacs-lisp/lisp-mode.el (lisp--match-confusable-symbol-character):
	Use new variable name.

2019-12-13  Eli Zaretskii  <eliz@gnu.org>

	A better fix for extension of overlay string's faces

	* src/xdisp.c (face_at_pos): Revert previous change that
	rejected the underlying face if it failed the filtering
	criteria.
	* src/xfaces.c (face_at_string_position): Reset the base face's
	attribute used for filtering faces if the attribute is t.
	(Bug#38563)

2019-12-12  Juri Linkov  <juri@linkov.net>

	* lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation): Use 'user-error'.

	* lisp/wid-edit.el (widget-field): Add ':extend t' to defface (bug#37774)

2019-12-12  Mattias Engdegård  <mattiase@acm.org>

	Use `or' instead of `union' for charset union in rx

	Design change suggested by Stefan Monnier.

	* doc/lispref/searching.texi (Rx Constructs):
	* etc/NEWS: Document.
	* lisp/emacs-lisp/rx.el (rx--translate-or): Detect charset arguments.
	(rx--charset-p): New.
	(rx--translate-not, rx--charset-intervals, rx--translate-union):
	Change from `union' to `or'.
	(rx--translate-form, rx--builtin-forms, rx): Remove `union'.
	* test/lisp/emacs-lisp/rx-tests.el (rx-union, rx-def-in-union)
	(rx-intersection): Rename tests and change `union' to `or' and `|'.

2019-12-12  Michael Albinus  <michael.albinus@gmx.de>

	Optimize prompt search in Tramp

	* lisp/net/tramp.el (tramp-search-regexp): New defun.
	(tramp-check-for-regexp, tramp-process-sentinel):
	* lisp/net/tramp-adb.el (tramp-adb-send-command-and-check)
	(tramp-adb-wait-for-output):
	* lisp/net/tramp-sh.el (tramp-wait-for-output)
	(tramp-send-command-and-check):
	* lisp/net/tramp-smb.el (tramp-smb-handle-set-file-acl):
	Bind search length.

2019-12-12  Juanma Barranquero  <lekktu@gmail.com>

	Avoid spurious warning about maybe-uninitialized variable

	* src/xdisp.c (face_at_pos): Initialize base_face_id to 0
	to silence the compiler.

2019-12-12  Eli Zaretskii  <eliz@gnu.org>

	Fix face extension of overlay strings on buffer text with faces

	* src/xdisp.c (face_at_pos): Reject the face returned by
	'underlying_face_id' when we are filtering by face attribute,
	and that attribute's value fails the filter test.  (Bug#38563)

2019-12-11  Robert Pluim  <rpluim@gmail.com>

	Treat passed strings as raw-text when percent-escaping in epg

	The strings contained in gpg keys can contain UTF-8 data, but can also
	use percent-escapes to encode non-ASCII chars.  When converting those
	escapes, use 'raw-text' coding system rather than 'string-to-unibyte',
	since the latter signals an error for non-ASCII characters.

	* lisp/epg.el (epg--decode-percent-escape): Convert the passed
	string to raw-text before treating percent escapes (Bug#38512).

2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/debug.el (debug-on-entry): Allow undefined functions

	Allow placing debug-on-entry on a function not-yet-defined, which
	is convenient when the problem you're investigating happens while
	the relevant files are loaded.

2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/font-lock.el (font-lock-fontify-region): Widen here (bug#38049)

	(font-lock-default-fontify-region): Instead of here.

2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calculator.el (cl-lib): Require at run-time as well.

	Needed since we pass the `cl-flet` macro to `eval` in `calculator-funcall`.

2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el (message-expand-name-standard-ui): New option

	(message--old-style-completion-functions): New var.
	(message-completion-function): Allow functions on
	`message-completion-alist` to follow the capf protocol.
	(message-completion-alist): Adjust docstring accordingly.
	Simplify regexps and make them apply more liberally.
	(message-expand-group): Use the capf protocol.
	(completion-category-defaults): Use 'substring' completion style by
	default for email addresses.
	(message--bbdb-query-with-words, message--name-table): New functions.
	(message-expand-name): Use them to obey `message-expand-name-standard-ui`.

2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/eudc.el (eudc-query-with-words): New function

	Extracted from eudc-expand-inline.
	(eudc-expand-inline): Use it.

2019-12-11  Eli Zaretskii  <eliz@gnu.org>

	Avoid infloop in face merging due to bad face spec

	* src/xfaces.c (face_inherited_attr): Don't infloop if
	get_lface_attributes fails in the inner loop.  Reported by
	Yuri D'Elia <wavexx@thregr.org>.

2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>

	* src/xterm.c: Remove long-obsolete comments.

2019-12-11  Robert Pluim  <rpluim@gmail.com>

	Check for GUI frame in ns_color_index_to_rgba

	* src/nsterm.m (ns_color_index_to_rgba): Check that we're using a GUI
	frame before converting color (Bug#38564).

2019-12-11  Michael Albinus  <michael.albinus@gmx.de>

	Don't spam the echo area and the *Messages* buffer in Tramp

	* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered):
	When called during `revert-buffer', don't spam the echo area and
	the *Messages* buffer.

2019-12-10  Paul Eggert  <eggert@cs.ucla.edu>

	Improve tv_nsec doc

	* doc/lispref/internals.texi (Module Values):
	Document tv_nsec more accurately.

2019-12-10  Paul Eggert  <eggert@cs.ucla.edu>

	Just use size_t for emacs_limb_t

	* src/emacs-module.h.in: Do not include limits.h; no longer needed.
	(emacs_limb_t, EMACS_LIMB_MAX): Now size_t and SIZE_MAX.

2019-12-10  Mattias Engdegård  <mattiase@acm.org>

	Add `union' and `intersection' to rx (bug#37849)

	These character set operations, together with `not' for set
	complement, improve the compositionality of rx, and reduce duplication
	in complicated cases.  Named character classes are not permitted in
	set operations.

	* lisp/emacs-lisp/rx.el (rx--translate-any): Split into multiple
	functions.
	(rx--foldl, rx--parse-any, rx--generate-alt, rx--intervals-to-alt)
	(rx--complement-intervals, rx--intersect-intervals)
	(rx--union-intervals, rx--charset-intervals, rx--charset-union)
	(rx--charset-all, rx--charset-intersection, rx--translate-union)
	(rx--translate-intersection): New.
	(rx--translate-not, rx--translate-form, rx--builtin-forms, rx):
	Add `union' and `intersection'.
	* test/lisp/emacs-lisp/rx-tests.el (rx-union ,rx-def-in-union)
	(rx-intersection, rx-def-in-intersection): New tests.
	* doc/lispref/searching.texi (Rx Constructs):
	* etc/NEWS:
	Document `union' and `intersection'.

2019-12-10  Alan Third  <alan@idiocy.org>

	Fix XBM files on NS (bug#26133)

	Reinstate some of the functionality removed in commit
	67a878f78f879ce534232408c34dd11f42dd802b.

	* src/nsimage.m (ns_image_from_XBM): Use new reverseBytes argument.
	([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): Add
	ability to reverse the contents of each byte for use with XBMs, while
	still working with fringe bitmaps.
	* src/nsterm.h
	([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): Modified
	function definition.
	* src/nsterm.m (ns_draw_fringe_bitmap): Use new reverseBytes argument.

2019-12-10  Alan Third  <alan@idiocy.org>

	Fix dabbrev-completion (bug#17899)

	* lisp/dabbrev.el (dabbrev--check-all-buffers): Add new variable.
	(dabbrev-completion): Lexical scoping means we can't use let to
	override global variables, so use setq.
	(dabbrev--reset-global-variables): Reset new variable.
	(dabbrev--make-friend-buffer-list): Use new variable.
	* test/lisp/dabbrev-tests.el (dabbrev-completion-test):
	(dabbrev-completion-test-with-argument): New tests.

2019-12-10  Alan Third  <alan@idiocy.org>

	Fix mouse-position on macOS (bug#4892)

	* src/nsterm.m (ns_mouse_position): Implement a search for the frame
	under the mouse pointer.

2019-12-10  Federico Tedin  <federicotedin@gmail.com>

	Simplify call to add-to-history in read_minibuf

	* src/minibuf.c (read_minibuf): Avoid restoring the previous buffer,
	as this is already done at the end of the function; call
	`add-to-history' after that point.

2019-12-09  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling fixes

2019-12-09  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer static to extern in ebrowse

	* lib-src/ebrowse.c (info_where, info_cls, info_member)
	(info_position, options, yyival, yytext, yytext_end, yyout)
	(yyline, filename, is_ident, is_digit, is_white, f_append)
	(f_verbose, f_very_verbose, f_structs, f_regexps)
	(f_nested_classes, min_regexp, max_regexp, inbuffer, in)
	(inbuffer_size, string_start, class_table, member_table)
	(namespace_alias_table, global_symbols, current_namespace)
	(all_namespaces, namespace_stack, namespace_stack_size)
	(namespace_sp, tk, keyword_table, search_path)
	(search_path_tail, scope_buffer, scope_buffer_size)
	(scope_buffer_len): Now static.
	(options): Now const.

2019-12-09  Paul Eggert  <eggert@cs.ucla.edu>

	* lib-src/etags.c (pot_etags_version): Remove; unused.

	* lib-src/etags.c (Forth_suffixes): Now static.

2019-12-09  Dmitry Gutov  <dgutov@yandex.ru>

	Rename faces used in faces-tests.el

	* test/data/themes/faces-test-light-theme.el:
	* test/data/themes/faces-test-dark-theme.el: Update accordingly.

	* test/lisp/faces-tests.el (faces--test-extend-with-themes):
	Don't use the diff-mode faces.  Rename the definitions.

2019-12-09  Dmitry Gutov  <dgutov@yandex.ru>

	Make ':extend' inherited from default spec unless overridden

	* lisp/faces.el (face-spec-recalc): Handle the :extend attribute
	specially and always inherit it from the default spec unless
	overwritten in a theme (bug#37774).

	* test/lisp/faces-tests.el (faces--test-data-dir): New variable.
	(faces--test-extend-with-themes): Use test themes instead of ones
	from etc/themes.  Update expected values.

	* test/data/themes/faces-test-dark-theme.el: New file.

	* test/data/themes/faces-test-light-theme.el: New file.

	* doc/lispref/display.texi (Face Attributes):
	Update the description of ':extend'.

	* etc/NEWS: Update the entry for ':extend'.

	* etc/themes/adwaita-theme.el:
	* etc/themes/deeper-blue-theme.el:
	* etc/themes/dichromacy-theme.el:
	* etc/themes/leuven-theme.el:
	* etc/themes/light-blue-theme.el:
	* etc/themes/manoj-dark-theme.el:
	* etc/themes/misterioso-theme.el:
	* etc/themes/tango-dark-theme.el:
	* etc/themes/tango-theme.el:
	* etc/themes/tsdh-dark-theme.el:
	* etc/themes/tsdh-light-theme.el:
	* etc/themes/wheatgrass-theme.el:
	* etc/themes/wombat-theme.el: Remove the now-redundant ':extend'
	attribute in all the themes.

2019-12-09  Juri Linkov  <juri@linkov.net>

	* lisp/emacs-lisp/map-ynp.el (read-answer): Use [remap self-insert-command]

	This reverts the last change that replaced [remap self-insert-command]
	with [t].  The user should have freedom of using any command
	in the minibuffer.  (bug#32738)

2019-12-09  Paul Eggert  <eggert@cs.ucla.edu>

	Improve module bignum doc

	* doc/lispref/internals.texi (Module Values): Tighten up
	wording and code, and make the long example self-contained.
	Fit things in margins.

2019-12-09  Dmitry Gutov  <dgutov@yandex.ru>

	project-find-regexp: Default to symbol at point

	* lisp/progmodes/project.el (project--read-regexp):
	Don't rely on the Xref backend to provide the default value.

2019-12-09  Eli Zaretskii  <eliz@gnu.org>

	Add more tests for face :extend attribute

	* test/lisp/faces-tests.el (faces--test-extend-with-themes):
	New set of tests for verifying the :extend attribute across
	theme loading and unloading, and also via face inheritance.
	(Bug#37774)

2019-12-08  Juri Linkov  <juri@linkov.net>

	* lisp/emacs-lisp/map-ynp.el (read-answer): Allow more SHORT-ANSWER types.

	Treat SHORT-ANSWER as a character is characterp returns non-nil.
	Otherwise, use key-description to print it.
	Use catch-all [t] in keymap instead of [remap self-insert-command].
	(bug#32738)

2019-12-08  Juri Linkov  <juri@linkov.net>

	* doc/emacs/mini.texi (Minibuffer Edit): Add minibuffer-depth-indicate-mode.

	* doc/emacs/search.texi (Regexp Backslash): Change xref from
	"(elisp) Syntax Tables" to "(elisp) Syntax Class Table".

	* doc/lispref/display.texi (Other Display Specs): Change xref from
	"Images" to "Image Descriptors".

	(bug#38519)

2019-12-08  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (shell-command-on-region): Use set-buffer-major-mode.

	This enables globalized minor modes explicitly after get-buffer-create
	creates "*Shell Command Output*" buffer (bug#38111).

2019-12-08  Juri Linkov  <juri@linkov.net>

	Move recenter/scroll keybindings from minibuffer-local-map to read-char map

	* lisp/minibuffer.el (minibuffer-local-map): Move remap of
	recenter/scroll keybindings to read-char-from-minibuffer-map.

	* lisp/subr.el (read-char-from-minibuffer-map): Move remap of
	recenter/scroll keybindings here from minibuffer-local-map.
	(bug#38502)

2019-12-08  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el (tab-line-format): Use composite cache key (bug#38522)

2019-12-08  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Continued fixes to gnus registry loading

	* lisp/gnus/gnus-registry.el (gnus-registry-db): Do not initialize
	this variable to an empty database, that should only be done for new
	databases.
	(gnus-registry-load): Remove "force" argument, don't check if the
	database is already loaded, as we're only going to load it once.
	(gnus-registry-initialize): Either load the db directly, or set up a
	hook to do it later.
	(gnus-registry-install-hooks): Don't load on
	gnus-read-newsrc-el-hook.

2019-12-07  Juri Linkov  <juri@linkov.net>

	* lisp/man.el (Man-width-max): New defcustom (bug#32536, bug#9385)

	(Man-columns): New buffer-local variable.
	(Man-columns): New function.
	(Man-start-calling): Call Man-columns and set buffer-local Man-columns.
	(Man--window-state-change-timer): New internal variable.
	(Man--window-state-change): New internal function.
	(Man-fit-to-window): New function.
	(Man-mode): Add Man--window-state-change to local hook
	window-state-change-functions.

	* lisp/image-mode.el (image-fit-to-window): Add window arg to
	window-buffer call.

2019-12-07  Robert Cochran  <robert-git@cochranmail.com>

	Add hooks for after tab open, before close, and to prevent closing

	* lisp/tab-bar.el (tab-bar-tab-post-open-functions,
	tab-bar-tab-prevent-close-functions, tab-bar-tab-pre-close-functions):
	New defcustoms
	(tab-bar-new-tab-to, tab-bar-close-tab): Use new defcustoms

2019-12-07  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Ignore comments and strings when matching JSX

	* lisp/progmodes/js.el (js-jsx--matching-close-tag-pos): Ignore
	comments and strings.
	* test/manual/indent/jsx-comment-string.jsx: New test.

2019-12-07  Alan Mackenzie  <acm@muc.de>

	CC Mode: Allow most functions on post-self-insert-hook to be called

	This contrasts with the previous state where no such functions got called.
	This fixes bug #38406.

	* lisp/progmodes/cc-cmds.el (c--unsafe-post-self-insert-hook-functions): New
	variable.
	(c--call-post-self-insert-hook-more-safely-1): New function.
	(c--call-post-self-insert-hook-more-safely): New macro.
	(c-electric-pound, c-electric-brace, c-electric-slash, c-electric-star)
	(c-electric-semi&comma, c-electric-colon, c-electric-lt-gt, c-electric-paren):
	Invoke c--call-post-self-insert-hook-more-safely (which calls most of the hook
	post-self-insert-hook) at the end of each of the commands.

2019-12-07  Michael Albinus  <michael.albinus@gmx.de>

	Add unload code to tramp-integration.el

	* lisp/net/tramp-integration.el (info-lookup->mode-cache)
	(info-lookup->topic-cache, info-lookup-alist): Declare.
	(ido, ivy, info-look): Adapt `tramp-integration-unload-hook'.

2019-12-07  Eli Zaretskii  <eliz@gnu.org>

	Corrections in semantic.texi

	* doc/misc/semantic.texi (Parser code, Tag handling)
	(Semanticdb Internals, Analyzer Internals, Tools): Fix file
	names according to what was actually imported from the
	original CEDET.  (Bug#38451)

2019-12-07  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of '-position' server command

	* lisp/server.el (server-process-filter): Fix the description
	of "-position" command to match the reality.  (Bug#38443)

2019-12-07  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	Ensure buffer is alive in python-pdbtrack-unset-tracked-buffer

	* lisp/progmodes/python.el (python-pdbtrack-unset-tracked-buffer):
	Check if buffer `python-pdbtrack-tracked-buffer' is alive.
	(Bug#38413)

2019-12-07  Eli Zaretskii  <eliz@gnu.org>

	Fix fallout from fixing bug#37782

	* src/keyboard.c (read_key_sequence): Modify the fix for
	bug#37782 so that it applies only to keyboard keys, not to
	other events, such as a new buffer.  (Bug#38132)

2019-12-07  Eli Zaretskii  <eliz@gnu.org>

	Minor fix in the ELisp manual

	* doc/lispref/files.texi (Saving Buffers): Remove the
	reference to the obsolete Fast Lock mode.  (Bug#37956)

2019-12-06  Eli Zaretskii  <eliz@gnu.org>

	Remove duplicate macros from ses.el

	* lisp/ses.el (1value, noreturn): Macros deleted, as we
	nowadays have them in subr.el.  (Bug#38514)

2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	Test format-time-string padding

	Adapted from tests written by Stephen Gildea.
	* test/src/timefns-tests.el:
	(format-time-string-padding-minimal-deletes-unneeded-zeros)
	(format-time-string-padding-minimal-retains-needed-zeros)
	(format-time-string-padding-spaces)
	(format-time-string-padding-zeros-adds-on-insignificant-side):
	New tests.

2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-12-06 nstrftime: better width support for %N, %z
	2019-12-03 Avoid hassles caused by [[noreturn]] in C++
	2019-12-02 Fix mistakes in --enable-threads=isoc fixes from 2019-12-01
	* admin/merge-gnulib (AVOIDED_MODULES): Avoid pthread-h.
	* lib/_Noreturn.h, lib/nstrftime.c, m4/gnulib-common.m4:
	* m4/timer_time.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2019-12-06  Michael Albinus  <michael.albinus@gmx.de>

	Configure info-look.el to recognize Tramp symbols

	* lisp/net/tramp-integration.el (info-lookup->cache)
	(info-lookup->mode-value, info-lookup->other-modes)
	(info-lookup->topic-value, info-lookup-maybe-add-help)
	(info-lookup-cache): Declare.
	(info-look): Configure info-look.el to recognize Tramp symbols.

2019-12-06  Eli Zaretskii  <eliz@gnu.org>

	Clarify documentation of functions that use the default face

	* lisp/simple.el (default-font-height, default-font-width)
	(default-line-height): Say in the doc strings that the default
	face these functions use is for the currently selected frame.

	* doc/lispref/display.texi (Attribute Functions)
	(Low-Level Font): Document more clearly the dependence of the
	results of 'face-font', 'default-font-width', and
	'default-font-height' on the frame's definition of the default
	face.

2019-12-06  Eli Zaretskii  <eliz@gnu.org>

	Fix set-marker when the position is larger than the largest buffer

	* src/marker.c (set_marker_internal): Handle the case where
	POSITION is beyond PTRDIFF_MAX, which can happen if Emacs was
	built --with-wide-int.  Bug uncovered by the recently added
	overlay tests.

2019-12-05  Thierry Volpiatto  <thierry.volpiatto@gmail.com>

	Merge branch 'completion-first-difference_face'

2019-12-05  Thierry Volpiatto  <thierry.volpiatto@gmail.com>

	Fix setting completions* faces in

	`completion-pcm--hilit-commonality` so that these faces doesn't
	override possible already existing faces in other UIs.

	* lisp/minibuffer.el (completion-pcm--hilit-commonality): Use
	`add-face-text-property` instead of `put-text-property`.

2019-12-05  Andreas Politz  <politza@hochschule-trier.de>

	* test/src/buffer-tests.el: Add loads of overlay tests

	Taken from the `feature/noverlay` branch.
	Suggested by Vladimir Kazanov <vekazanov@gmail.com>.

2019-12-05  Paul Eggert  <eggert@cs.ucla.edu>

	2019-12-05 regexp lint fixes

	* lisp/org/org-agenda.el (org-agenda-filter):
	Fix unescaped literal ‘+’ in regexp.  Reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-12/msg00215.html
	* lisp/org/org.el (org-clone-subtree-with-time-shift):
	Fix a regexp typo that mishandled strings like ‘\1d’,
	reported by the same emaikl.
	* lisp/progmodes/verilog-mode.el (verilog-inject-inst):
	Omit unnecessary ‘?’ in regexp.  Reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-12/msg00217.html

2019-12-05  Eli Zaretskii  <eliz@gnu.org>

	Another fix for :extend when :inherit is used

	* src/xfaces.c (face_inherited_attr): Support also values of
	:inherit which are lists.  (Bug#37774)

2019-12-05  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits of 'jit-lock-antiblink-grace's docs

	* lisp/jit-lock.el (jit-lock-antiblink-grace):
	* etc/NEWS (value): Reword the NEWS entry and the doc string.

2019-12-05  Eli Zaretskii  <eliz@gnu.org>

	Fix recent modifications in emacs-module-tests

	* test/data/emacs-module/mod-test.c (extract_big_integer): Fix
	calculation of size of 'magnitude' when 'emacs_limb_t' is wider
	than 'unsigned long'.

	* test/src/emacs-module-tests.el
	(module--test-assertions--load-non-live-object)
	(module--test-assertions--call-emacs-from-gc): On MS-Windows,
	check also mod-test-emacs with ".exe" appended, before
	skipping the tests.

2019-12-05  Federico Tedin  <federicotedin@gmail.com>

	Make HIST arg of read-from-minibuffer work with buffer-local vars

	* lisp/simple.el (minibuffer-history-values): New function, should be
	used to access the minibuffer input history variable when the
	minibuffer might be active.  If the variable is buffer-local, the
	previous buffer's value will be used.
	(goto-history-element): Use the new function to access the minibuffer
	history.
	(minibuffer-history-isearch-wrap): Use the new function to access the
	minibuffer history.
	* src/minibuf.c (read_minibuf): Switch to previous buffer temporarily
	before updating history list (Bug#38317).
	(read-from-minibuffer): Extend documentation to mention that the
	result of using the command will be added to the history list by
	default.
	* doc/lispref/minibuf.texi (Minibuffer History): Mention the
	possibility of using a buffer-local variable as history.
	* etc/NEWS: Announce changes.

2019-12-04  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC 9.2.1 with recent module changes

	* src/emacs-module.c (module_encode): Remove unused decl.
	(module_extract_big_integer): Pacify gcc -Wenum-compare.

2019-12-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix regex repetition of repetitions

	Problems reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-12/msg00066.html
	* lisp/gnus/gnus-util.el (gnus-emacs-version):
	* lisp/mail/rfc2368.el (rfc2368-mailto-regexp):
	* lisp/net/tramp-sh.el (tramp-sh-inotifywait-process-filter):
	* lisp/obsolete/terminal.el (te-parse-program-and-args):
	* lisp/org/org-table.el (org-table-wrap-region):
	* lisp/progmodes/verilog-mode.el (verilog-inject-inst):
	Avoid repetition-of-repetition in regexp.

2019-12-04  Philipp Stephani  <phst@google.com>

	Fix small bugs introduced in commit 096be9c454

	* src/module-env-27.h:
	* src/emacs-module.c (module_make_big_integer): Use 'emacs_limb_t'
	instead of 'unsigned long' consistently

2019-12-04  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el: Cache the tab-line-format template.

	(tab-line-format): Cache the result of tab-line-format-template in window.
	(tab-line-format-template): New function that returns the value to cache.

2019-12-04  Juri Linkov  <juri@linkov.net>

	* lisp/windmove.el (windmove-display-new-tab): New command.

	(windmove-display-default-keybindings): Bind it to '?t'.
	(windmove-display-in-direction): Call tab-bar-new-tab when 'dir' is 'new-tab'.

2019-12-04  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-get-buffer-tab): Move code closer to its use.

2019-12-04  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (switch-to-buffer-other-tab): Use display-buffer-in-tab.

	(tab-bar--tab): Use float-time instead of integer.
	This improves correct detection of recent tabs switched within 1 sec.
	(tab-bar--current-tab, tab-bar--current-tab-index)
	(tab-bar--tab-index, tab-bar--tab-index-by-name)
	(tab-bar--tab-index-recent): Add optional arg FRAME.
	(tab-bar-move-tab-to-frame): Add with-selected-frame for tab-bar-close-tab.
	(tab-bar--reusable-frames): New function.
	(tab-bar-get-buffer-tab): Add index to the found tab.
	(display-buffer-in-tab): Use `tab-name' entry instead of `name'.
	Add `reusable-frames' entry.  (bug#38354)

2019-12-04  João Távora  <joaotavora@gmail.com>

	New jit-lock-antiblink-grace feature

	* lisp/jit-lock.el (jit-lock-antiblink-grace): New defcustom.
	(jit-lock--antiblink-line-beginning-position)
	(jit-lock--antiblink-string-or-comment): New variables
	(jit-lock--antiblink-post-command): New helper.
	(jit-lock-mode): Tweak post-command-hook and
	jit-lock-context-timer.

	* etc/NEWS: Mention jit-lock-antiblink-grace

2019-12-04  Philipp Stephani  <phst@google.com>

	Use new function encode_string_utf_8 for the module API, too

	* src/emacs-module.c (module_encode): Remove.
	(module_copy_string_contents): Use encode_string_utf_8.
	(syms_of_module): Define symbol 'unicode-string-p'.

2019-12-04  Philipp Stephani  <phst@google.com>

	* src/emacs-module.c: Add a few more restrictions for emacs-module.h

2019-12-04  Philipp Stephani  <phst@google.com>

	Change module interface to no longer use GMP objects directly.

	As described in the new comment added to emacs-module.c, using GMP
	directly in the module interface has significant downsides: it couples
	the module interface directly to the implementation and requires
	module authors to link their module against the same GMP library as
	Emacs itself, which is often difficult and an unnecessary burden.  By
	picking a representation for the magnitude that often matches the one
	used by GMP, we can avoid overhead when converting from and to GMP in
	most cases.

	Loading the test module in test/data/emacs-module and evaluating

	(dotimes (_ 10000)
	  (mod-test-double (* 2 most-negative-fixnum)))

	under Callgrind shows that on my (GNU/Linux) machine Emacs only spends
	10% of the CPU time of mod-test-double in mpz_import and mpz_export
	combined, even though that function does little else.  (By contrast,
	30% is spent in allocate_pseudovector.)

	* src/emacs-module.h.in: Don't check EMACS_MODULE_GMP.  Don't include
	gmp.h.  Remove emacs_mpz structure.  Instead, define type alias
	emacs_limb_t and macro EMACS_LIMB_MAX.

	* src/module-env-27.h: Change interface of extract_big_integer and
	make_big_integer to take a sign-magnitude representation instead of
	mpz_t.

	* src/emacs-module.c: Don't check EMACS_MODULE_GMP or
	EMACS_MODULE_HAVE_MPZ_T.  Add a comment about the chosen
	implementation.
	(module_extract_big_integer, module_make_big_integer): Reimplement
	without using mpz_t in the interface.

	* doc/lispref/internals.texi (Module Values): Adapt function
	documentation and example.  Stop mentioning GMP and EMACS_MODULE_GMP.

	* test/data/emacs-module/mod-test.c: Don't define EMACS_MODULE_GMP or
	EMACS_MODULE_HAVE_MPZ_T.
	(memory_full, extract_big_integer, make_big_integer): New helper
	functions, identical to example in the Info documentation.
	(Fmod_test_nanoseconds, Fmod_test_double): Adapt to new interface.

2019-12-04  Bastien  <bzg@gnu.org>

	etc/ORG-NEWS: Fix contents

2019-12-04  Juanma Barranquero  <lekktu@gmail.com>

	* lisp/doc-view.el (doc-view-doc-type): Doc fix.

2019-12-04  Mattias Engdegård  <mattiase@acm.org>

	Don't use the return value of 'push'

	Although 'push' returns the modified list, it isn't actually
	documented to do so, so don't rely on it.

	* lisp/emacs-lisp/rx.el (rx--translate-any): Add progn.

2019-12-03  Juanma Barranquero  <lekktu@gmail.com>

	Silence warnings in Org 9.3

	* lisp/org/ob-eshell.el (eshell-send-input): Declare.
	(eshell-last-output-start, eshell-last-output-end)
	(eshell-last-input-end): Defvar.

	* lisp/org/org-keys.el (cl-lib): Require.
	(org-CUA-compatible): Move up defvaralias.

2019-12-03  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-move-tab-to-frame): New command (bug#38354)

	(tab-bar-tabs, tab-bar--tab): Add optional arg FRAME.
	(tab-bar-get-buffer-tab): Funcall tab-bar-tabs-function with arg FRAME
	instead of using with-selected-frame.

2019-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el (message-sendmail-envelope-from): Fix typo

	Reported by David Edmondson <dme@dme.org>.

2019-12-03  Bastien  <bzg@gnu.org>

	Update Org to 9.3

2019-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	(message-sendmail-envelope-from): Obey `mail-envelope-from` even if set later

	* lisp/gnus/message.el (message-sendmail-envelope-from): Change default.
	(message--sendmail-envelope-from): New function.
	(message-sendmail-envelope-from): Use it.
	* lisp/mail/emacsbug.el (report-emacs-bug): Use it.

2019-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (completion-pcm--optimize-pattern): New function

	This fixes bug#38458 where a final `point` in the pattern prevented
	the expected normal behavior of point moving after the completion
	of the final implicit `any`.

	(completion-pcm--find-all-completions)
	(completion-substring--all-completions): Use it.
	(completion-basic--pattern): Don't both removing "" any more.
	(completion-basic-try-completion): Use it as well as
	`completion-basic--pattern`.

2019-12-03  Mattias Engdegård  <mattiase@acm.org>

	Avoid duplicated character classes in rx

	For example, (any digit digit) should produce "[[:digit:]]",
	not "[[:digit:][:digit:]]".

	* lisp/emacs-lisp/rx.el (rx--translate-any): Deduplicate character classes.
	* test/lisp/emacs-lisp/rx-tests.el (rx-any): Add test case.

2019-12-02  Tobias Bading  <tbading@web.de>  (tiny change)

	Fix incorrect GTK menus on HiDPI monitors with scaling factor > 1

	This should fix Bug#31223, Bug#28106, Bug#23672 as well as Ubuntu bug
	https://bugs.launchpad.net/ubuntu/+source/emacs25/+bug/1695228

	Also fixes the formerly unscaled Y value returned by
	frame-monitor-workarea (and display-monitor-attributes-list).

	For details on why some GTK menus were empty please see thread
	https://lists.gnu.org/r/emacs-devel/2019-11/msg01061.html

	* src/gtkutil.c (menubar_map_cb, xg_update_frame_menubar): Scale up
	req.height so that the menu bar's height is in device pixels as
	expected.
	(xg_event_is_for_menubar): Scale down rec.x and rec.y so that
	gtk_widget_intersect() works as intended.
	* src/xfns.c (Fx_display_monitor_attributes_list): Scale work.x and
	work.y up to be in device pixels.

2019-12-02  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix typo in populating otf_capability method for HarfBuzz

	* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]:
	* src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
	* src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]:
	* src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Fix typos.

2019-12-02  Juri Linkov  <juri@linkov.net>

	New functions window-state-buffers and tab-bar-get-buffer-tab (bug#38354)

	* lisp/window.el (window-state-buffers): New function.
	* lisp/tab-bar.el (tab-bar-get-buffer-tab): New function.

	* lisp/emacs-lisp/seq.el (seq-some): Add autoload cookie.

	* lisp/desktop.el (desktop-buffers-not-to-save-function): New variable.
	(desktop-save-buffer-p): Use it.

2019-12-02  Juanma Barranquero  <lekktu@gmail.com>

	Don't save/restore font-backend in framesets (bug#38442)

	* lisp/frameset.el (frameset-persistent-filter-alist):
	Add :never filter for `font-backend'.

2019-12-01  Juanma Barranquero  <lekktu@gmail.com>

	ibuf-ext.el: Fix previous change

	* lisp/ibuf-ext.el (ibuffer-generate-filter-groups): Use
	`cl-destructuring-bind' instead of `cl-multiple-value-bind', as we
	don't want to assume how multiple-values are implemented, and we
	know a list is being returned anyway.  Suggested by Stefan Monnier.

2019-12-01  Dmitry Gutov  <dgutov@yandex.ru>

	* lisp/vc/diff-mode.el (diff-context): Set 'extend t' (bug#37774).

2019-12-01  Mattias Engdegård  <mattiase@acm.org>

	Temporary enable transient-mark-mode for rectangle selection

	* lisp/mouse.el (mouse-drag-region-rectangle):
	Enable transient-mark-mode during selection (bug#38431).

2019-12-01  Michael Albinus  <michael.albinus@gmx.de>

	Suppress superfluous messages in tramp-tests

	* test/lisp/net/tramp-tests.el (tramp-test10-write-region)
	(tramp-test10-write-region-file-precious-flag)
	(tramp-test34-connection-local-variables)
	(tramp-test36-vc-registered): Let-bind `inhibit-message'.

2019-12-01  Juanma Barranquero  <lekktu@gmail.com>

	ibuffer-mark-by-content-regexp: don't depend on `cl-some'

	* lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): Use `cl-dolist'
	instead of `cl-some' to avoid a run-time dependency on cl-lib that
	triggers an unreported bug similar to bug#38430.

2019-12-01  Juanma Barranquero  <lekktu@gmail.com>

	ibuffer-do-isearch: don't depend on `cl-values-list' (bug#38430)

	* lisp/ibuf-ext.el (ibuffer-generate-filter-groups): Don't call
	`cl-values-list'.  Our implementation of that function just
	checks that its argument is a list, and then returns it.  In
	this specific case, the argument is guaranteed to be a list.

2019-11-30  Mattias Engdegård  <mattiase@acm.org>

	Improved mouse rectangle selection robustness (bug#38013)

	Make the rectangular selection work better with
	display-line-numbers-mode and side-by-side windows.
	Also make the mouse track the text cursor in a consistent way.

	* lisp/mouse.el (mouse--rectangle-track-cursor): Added constant.
	(mouse-drag-region-rectangle): Take the line-number width into
	account, and use window-relative columns.  Track either the cursor or
	rectangle corner with more care.

2019-11-30  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el (tab-line-auto-hscroll): Don't let-bind buffer-local values

	Use setq to set buffer-local values of truncate-lines and buffer-undo-list.
	This will prevent leaking of let-bound values to buffer-local values
	of the minibuffer.

2019-11-30  Juri Linkov  <juri@linkov.net>

	* lisp/gnus/gnus-win.el (gnus-configure-frame): Check for window-live-p.

	* doc/misc/gnus.texi (Tabbed Interface): New node.  (bug#37998)

2019-11-30  Juri Linkov  <juri@linkov.net>

	* lisp/subr.el: Add discard-input to more functions.

	* lisp/subr.el (read-char-from-minibuffer-insert-other)
	(y-or-n-p-insert-other): Use discard-input in case of user mistake.
	(do-after-load-evaluation): Add discard-input before calling 'message',
	so in case of the active minibuffer, calling minibuffer-message will allow
	sit-for to wait the complete timeout, because discard-input will discard
	all initial events that prevent sit-for from waiting during startup.
	https://lists.gnu.org/r/emacs-devel/2019-11/msg00581.html

2019-11-30  Alan Mackenzie  <acm@muc.de>

	CC Mode.  Fix fontification bug with unterminated quotes on adjacent lines

	In particular, with these unterminated quotes on each of two adjacent lines,
	the following text was spuriously fontified with string face.

	* lisp/progmodes/cc-defs.el
	(c-search-backward-char-property-with-value-on-char): New macro.

	* lisp/progmodes/cc-mode.el (c-clear-string-fences): Check whether there is an
	unmatched quote at a lower buffer position which should match the current
	quote, rather than wrongly assuming the latter is unmatched and marking it
	with a punctuation syntax.
	(c-font-lock-fontify-region): Ensure all pertinent parts of the buffer have
	string fence properties applied before performing any syntactic operations on
	it; in particular, this applies to a quote at an earlier buffer position which
	"matches" one inside the region about to be fontified.

2019-11-30  Juri Linkov  <juri@linkov.net>

	* lisp/image.el: Support image scaling with mouse in other buffer.

	* lisp/image.el (image-increase-size, image-decrease-size):
	Add optional arg position.
	(image-mouse-increase-size, image-mouse-decrease-size):
	Use '(point-marker)' for arg position.
	(image--get-image): Use get-char-property from position if non-nil,
	and its buffer.
	(image--get-imagemagick-and-warn, image--change-size):
	Add optional arg position.

2019-11-30  Juri Linkov  <juri@linkov.net>

	Use run-with-idle-timer instead of debounce for responsive image scaling.

	* lisp/emacs-lisp/timer.el (debounce, debounce-reduce): Revert macro addition.
	https://lists.gnu.org/r/emacs-devel/2019-11/msg01133.html

	* lisp/image.el (image-increase-size, image-decrease-size):
	Use run-with-idle-timer.
	(image--change-size): Rename back from image--change-size-function.

	* lisp/image-mode.el (image-mode--setup-mode): Remove hooks
	window-size-change-functions and window-selection-change-functions (bug#32672)
	(image-fit-to-window): Rename from image--window-change-function.
	(image--window-state-change): Rename from image--window-change.
	Use run-with-idle-timer.

2019-11-30  Juanma Barranquero  <lekktu@gmail.com>

	Fix compilation warning in vc-hg.el

	* lisp/vc/vc-hg.el (vc-read-revision): Declare.

2019-11-30  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes in last change

	* doc/emacs/maintaining.texi (Switching Branches)
	(Pulling / Pushing, Merging): Fix markup of shell commands.

2019-11-30  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	vc-hg: prompt for branch to merge

	* lisp/vc/vc-hg.el (vc-hg-merge-branch): Prompt for revision to merge.
	(vc-hg-revision-table): Use branches, tags and bookmarks as completion
	candidates.

	* etc/NEWS: Mention changes of vc-hg.el

	* doc/emacs/maintaining.texi (Switching Branches): Mention 'hg update'
	command.
	(Merging): Mention 'hg merge' command.

	This fixes bug#22860

2019-11-30  Michal Sojka  <sojkam1@fel.cvut.cz>

	Fix preserving cell boundaries in table.el after <delete>

	* lisp/textmodes/table.el (table-command-remap-alist): Add
	entry for 'delete-forward-char'.  (Bug#38353)

2019-11-30  Eli Zaretskii  <eliz@gnu.org>

	Add ':extend' attribute to faces and themes

	* etc/themes/wombat-theme.el:
	* etc/themes/wheatgrass-theme.el:
	* etc/themes/tsdh-light-theme.el:
	* etc/themes/tsdh-dark-theme.el:
	* etc/themes/tango-theme.el:
	* etc/themes/tango-dark-theme.el:
	* etc/themes/misterioso-theme.el:
	* etc/themes/manoj-dark-theme.el:
	* etc/themes/light-blue-theme.el:
	* etc/themes/leuven-theme.el:
	* etc/themes/dichromacy-theme.el:
	* etc/themes/deeper-blue-theme.el:
	* etc/themes/adwaita-theme.el: Add ':extend' attribute to all
	faces that are by default defined with it.

	* lisp/vc/smerge-mode.el (smerge-upper, smerge-lower)
	(smerge-base):
	* lisp/vc/log-view.el (log-view-file, log-view-message):
	* lisp/vc/ediff-init.el (ediff-current-diff-A)
	(ediff-current-diff-B, ediff-current-diff-C)
	(ediff-current-diff-Ancestor, ediff-even-diff-A)
	(ediff-even-diff-B, ediff-even-diff-C)
	(ediff-even-diff-Ancestor, ediff-odd-diff-A)
	(ediff-odd-diff-B, ediff-odd-diff-C)
	(ediff-odd-diff-Ancestor):
	* lisp/vc/diff-mode.el (diff-header, diff-file-header)
	(diff-removed, diff-added): Make sure all definitions of faces
	have the same value of the ':extend' property, otherwise
	customizing background color or underline etc. attributes of
	these faces on some displays will produce effects different
	from other displays.

2019-11-30  Juanma Barranquero  <lekktu@gmail.com>

	* src/lread.c (syms_of_lread): Doc fix.

2019-11-29  Alan Third  <alan@idiocy.org>

	Fix image scaling with masks (bug#38109)

	* src/image.c (lookup_image): Move call to image_set_transform after
	postprocess_image.
	(image_create_x_image_and_pixmap_1): Use new function.
	(image_set_transform): Apply the transform to the mask too.
	(x_create_xrender_picture): New function.
	(Create_Pixmap_From_Bitmap_Data):
	(xpm_load): Use new function.
	* src/xterm.c (x_composite_image): Use PictOpOver when there is a mask
	so the transparency is honored.
	(x_draw_image_foreground_1): Use x_composite_image.

2019-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus.el (gnus-info): Define with `cl-defstruct`

	This makes the accessors into (inlined) functions (instead of macros),
	which simplifies some uses, and it makes the gnus-info-set-<foo>
	macros redundant since we can use `setf` instead.  Remove them and
	update all users.

	(gnus-info-group, gnus-info-rank, gnus-info-read, gnus-info-marks)
	(gnus-info-method, gnus-info-params): Auto-defined by defstruct.
	(gnus-info-level, gnus-info-score): Define as a function.  Add gv-setter.
	(gnus-info-set-group, gnus-info-set-rank, gnus-info-set-read): Remove,
	use `setf` instead.
	(gnus-info-set-marks, gnus-info-set-method, gnus-info-set-params):
	Define as a function.
	(gnus-info-set-entry): Delete function.
	(gnus-info--grow-entry): New function, extracted from it.
	(gnus-info--set-level, gnus-info--set-score): New functions, extracted
	from the `gnus-info-set-level` and `gnus-info-set-score` which they replace.
	(gnus-get-info): Define as a function.

	* lisp/gnus/gnus-group.el (gnus-group-edit-group-done):
	Use the `extend` arg of `gnus-info-set-method`.
	(gnus-group-sort-selected-flat): eta-reduce.

2019-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/mhtml-mode.el: Fix bug#38372

	The `sgml-syntax-propertize-rules` rely on the `sgml--syntax-propertize-ppss`
	setup by `sgml-syntax-propertize` so it is not correct/safe to use
	them directly like html used to do.

	Change `sgml-syntax-propertize` so it can be used by mhtml,
	and then adjust mhtml-mode accordingly.

	* lisp/textmodes/mhtml-mode.el: Remove redundant `eval-and-compile`.
	Only require cl-lib at compile-time.
	(mhtml--syntax-propertize): New const, extracted from mhtml-syntax-propertize.
	(mhtml-syntax-propertize): Use `sgml-syntax-propertize`.

	* lisp/textmodes/sgml-mode.el (sgml--syntax-propertize): New const,
	extracted from sgml-syntax-propertize.
	(sgml-syntax-propertize): Add optional `rules-function` arg.

2019-11-29  Robert Pluim  <rpluim@gmail.com>

	Add nsm-should-check IPv6 local subnet tests

	* test/lisp/net/nsm-tests.el (nsm-check-local-subnet-ipv6): Now
	that IPv6 addresses are returned from network-interface-list, test
	nsm-should check and nsm-network-same-subnet for IPv6 as well.

2019-11-29  Eli Zaretskii  <eliz@gnu.org>

	Support showing one revision with Mercurial

	* lisp/vc/vc-hg.el (vc-hg-print-log): Support 'with-diff'
	invocation of "C-1 C-x v L".

2019-11-29  Phil Sainty  <psainty@orcon.net.nz>

	* lisp/so-long.el (so-long-variable-overrides): Set bidi-inhibit-bpa

	(Bug#38407)

2019-11-29  Eli Zaretskii  <eliz@gnu.org>

	Document 'zap-up-to-char'

	* doc/emacs/killing.texi (Other Kill Commands): Document
	'zap-up-to-char'.

	* lisp/simple.el (zap-to-char): Mention 'zap-up-to-char' in
	the doc string.  (Bug#38392)

2019-11-29  Eli Zaretskii  <eliz@gnu.org>

	Support showing one revision with Subversion

	* lisp/vc/vc-svn.el (vc-svn-print-log): Support 'with-diff'
	invocation of "C-1 C-x v L".

2019-11-29  Eli Zaretskii  <eliz@gnu.org>

	Minor fix in 'vc-print-root-log's prompt for revision ID

	* lisp/vc/vc.el (vc-print-root-log): Remove text properties
	from the default revision suggestion.

2019-11-29  Eli Zaretskii  <eliz@gnu.org>

	Support showing one revision with Bazaar

	* lisp/vc/vc-bzr.el (vc-bzr-print-log): Support 'with-diff'
	invocation of "C-1 C-x v L".

2019-11-29  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing of VC log commands

	* doc/emacs/maintaining.texi (VC Change Log): Add missing
	index entries.

2019-11-29  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation and UI of 'C-x v L'

	* lisp/vc/vc.el (vc-print-root-log): Improve the wording of
	the doc string and of the prompt for the root directory.

	* etc/NEWS: Improve and expand the wording of the changes in
	'C-x v L'.

	* doc/emacs/maintaining.texi (VC Change Log): Improve and
	clarify wording of the 'C-x v L' description.

2019-11-28  Noam Postavsky  <npostavs@gmail.com>

	Improve errors & warnings due to fancy quoted vars (Bug#32939)

	Add some hints to the message for byte compiler free & unused variable
	warnings, and 'void-variable' errors where the variable has confusable
	quote characters in it.
	* lisp/help.el (uni-confusables), uni-confusables-regexp): New
	constants.
	(help-command-error-confusable-suggestions): New function, added to
	`command-error-function'.
	(help-uni-confusable-suggestions): New function.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-variable-ref):
	* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Use it.

	* lisp/emacs-lisp/lisp-mode.el
	(lisp--match-confusable-symbol-character): New function.
	(lisp-fdefs): Use it to fontify confusable characters with
	font-lock-warning-face when they occur in symbol names.
	* doc/lispref/modes.texi (Faces for Font Lock):
	* doc/lispref/objects.texi (Basic Char Syntax): Recommend backslash
	escaping of confusable characters, and mention new fontification.
	* etc/NEWS: Announce the new fontification behavior.
	* test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-fontify-confusables):
	New test.

2019-11-28  Noam Postavsky  <npostavs@gmail.com>

	Stop signaling an error when reading "smart quotes" in symbols

	Revert commits from 2018-01-28 "Fix round tripping of read->print for
	symbols with strange quotes", and 2017-07-22 "Signal error for symbol
	names with strange quotes (Bug#2967)".
	* etc/NEWS: Remove corresponding entries.
	* src/character.c (confusable_symbol_character_p):
	* test/src/lread-tests.el (lread-tests--old-style-backquotes): Remove.
	* src/lread.c (read1): Don't signal error on confusable character.
	* src/print.c (print_object): Don't escape confusable characters.

2019-11-28  Filipp Gunbin  <fgunbin@fastmail.fm>

	Do not call custom-reevaluate-setting in dired-isearch-filenames-end

	  * lisp/dired-aux.el (dired-isearch-filenames-end)
	  (dired-isearch-filenames, dired-isearch-filenames-regexp): Use
	  temporary local variable for dired-isearch-filenames instead of
	  custom-reevaluate-setting (Bug#30187).  Without this fix, the value
	  set in .emacs with plain setq would be lost after one isearch.

2019-11-28  Eli Zaretskii  <eliz@gnu.org>

	Improve PY-b5 input methods

	* leim/leim-ext.el ("quail/PY-b5"): Assign key sequence for
	U+25CB (WHITE CIRCLE).  (Bug#3179)

2019-11-28  Eli Zaretskii  <eliz@gnu.org>

	Allow disabling the BPA part of bidi reordering

	* src/xdisp.c (syms_of_xdisp): New variable 'bidi-inhibit-bpa'.
	* src/bidi.c (bidi_paired_bracket_type): If 'bidi-inhibit-bpa'
	is non-nil, return BIDI_BRACKET_NONE for all characters.

	* lisp/frame.el: Add 'bidi-inhibit-bpa' to the list of
	variables whose changes require redisplay.  (Bug#38407)

2019-11-28  Robert Pluim  <rpluim@gmail.com>

	Support wlan in network-interface-list on pre-Vista Windows

	* src/w32.c (network_interface_list): Check for 'Wireless' in
	adapter description to support pre-Vista Windows.

2019-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (do-after-load-evaluation): Fix thinko

2019-11-27  Juri Linkov  <juri@linkov.net>

	Menu bar rearrangements, move Print menu items to submenu, etc. (bug#37594)

	* lisp/menu-bar.el (menu-bar-print-menu): New defvar.
	(menu-bar-file-menu): Move print entries to submenu.
	Add menu entries for tab-new, tab-close, make-frame-on-monitor.
	(menu-bar-showhide-menu): Add menu entry for global-tab-line-mode.
	Don't add toggle-tab-bar-mode-from-frame on ns where it's unavailable.
	(menu-bar-tools-menu): Add rgrep.

	* lisp/bindings.el (next-buffer, previous-buffer): Advertise bindings
	'C-x right' and 'C-x left' instead of 'XF86Forward' and 'XF86Back'.

2019-11-27  Juri Linkov  <juri@linkov.net>

	'C-1 C-x v L' asks for revision and shows its log entry with diff (bug#38044)

	* doc/emacs/maintaining.texi (VC Change Log): Explain the numeric prefix arg
	of 'C-x v L' (vc-print-root-log).

	* lisp/vc/vc-git.el (vc-git-print-log): Add command line option "-p"
	when vc-log-view-type is 'with-diff'.
	(vc-git-log-view-mode): Use long style when vc-log-view-type is 'with-diff'.

	* lisp/vc/vc.el (vc-print-log-internal): Add optional arg 'type'.
	(vc-log-internal-common): Use 'region-history-mode' when type is
	'with-diff' and backend supports 'region-history-mode'.
	(vc-print-root-log): Add optional arg 'revision'.  In interactive spec
	read a revision when current-prefix-arg is 1.  Use current-prefix-arg
	"as is" when it is a number.  Show revision in long style with diff
	when limit is 1 and revision is non-nil.

2019-11-27  Juri Linkov  <juri@linkov.net>

	* lisp/image-mode.el: Resize image on window resizing (bug#32672)

	* lisp/image-mode.el (image--window-change): New function.
	(image--window-change-function): New variable.
	(image-mode--setup-mode): Add buffer-local hook image--window-change
	to window-size-change-functions, window-state-change-functions,
	window-selection-change-functions.

2019-11-27  Eli Zaretskii  <eliz@gnu.org>

	Make some anonymous faces extend to EOL

	* lisp/vc/log-edit.el (log-edit-font-lock-keywords):
	* lisp/mpc.el (mpc-separator):
	* lisp/help.el (describe-key):
	* lisp/help-fns.el (describe-symbol): Make the anonymous faces
	extend to EOL.

2019-11-27  Mattias Engdegård  <mattiase@acm.org>

	Mouse rectangular region selection (bug#38013)

	Make it possible to select a rectangular region using the mouse.
	The standard binding is C-M-mouse-1.

	* lisp/mouse.el (mouse-scroll-subr): Add ADJUST argument.
	(mouse-drag-region-rectangle): New.
	* lisp/rect.el (rectangle--reset-point-crutches): New.
	(rectangle--reset-crutches): Use 'rectangle--reset-point-crutches'.
	* src/xdisp.c (remember_mouse_glyph, syms_of_xdisp):
	Add 'mouse-fine-grained-tracking'.
	* doc/lispref/commands.texi (Motion Events):
	Document 'mouse-fine-grained-tracking'.
	* doc/emacs/frames.texi (Mouse Commands):
	* doc/emacs/killing.texi (Rectangles):
	* etc/NEWS: Document rectangular selection with the mouse.

2019-11-27  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	Call vc-setup-buffer in vc-hg-log-incoming and vc-hg-log-outgoing

	* lisp/vc/vc-hg.el (vc-hg-log-incoming, vc-hg-log-outgoing):
	Call vc-setup-buffer.

2019-11-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix documentation of eieio-class-name

	* doc/misc/eieio.texi (Predicates): Update the documentation of
	eieio-class-name to say what it really returns (bug#38365).

2019-11-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Make message-allow-no-recipients 'always work

	* lisp/gnus/message.el (message-send): Make
	message-allow-no-recipients 'always work.

2019-11-27  Mattias Engdegård  <mattiase@acm.org>

	Fine-grained NS modifier key settings (bug#38296)

	For the ns-KEY-modifier and ns-right-KEY-modifier variables, KEY
	being 'control', 'command', 'alternate' and 'function', allow
	values on the form (:ordinary SYMBOL :function :SYMBOL :mouse SYMBOL),
	so that the key can be used for different modifiers (or none) in
	different contexts.  This is particularly useful for using the macOS
	Option key for extended character entry while still using it as an
	Emacs modifier for function keys and mouse clicks.

	* src/nsterm.m (mod_of_kind, right_mod, nil_or_none): Helper functions.
	(EV_MODIFIERS2): Add KIND argument.
	(EV_MODIFIERS): Adapt call to EV_MODIFIERS2.
	(ns_get_shifted_character): Use correct event kind for modifiers.
	(ns-alternate-modifier, ns-right-alternate-modifier)
	(ns-command-modifier, ns-right-command-modifier)
	(ns-control-modifier, ns-right-control-modifier)
	(ns-function-modifier): Rewrite doc strings for new data format.
	(QCordinary, QCfunction, QCmouse): Define symbols.
	* lisp/cus-start.el: Conform to new data types.
	* doc/emacs/macos.texi (Mac / GNUstep Basics)
	(Mac / GNUstep Customization): Improved documentation.
	* etc/NEWS: Mention the change.

2019-11-26  Juri Linkov  <juri@linkov.net>

	message uses minibuffer-message in the active minibuffer (bug#17272 bug#19064)

	* doc/lispref/display.texi (Displaying Messages): Explain the
	behavior of using minibuffer-message if the minibuffer is active.

	* src/editfns.c (Fmessage_in_echo_area): New function with body
	copied from Fmessage.
	(Fmessage): Call minibuffer-message in the active minibuffer,
	otherwise call Fmessage_in_echo_area.
	(message-in-echo-area): New variable.

	* lisp/isearch.el (isearch--momentary-message, isearch-message):
	* lisp/minibuffer.el (minibuffer-message, minibuffer-completion-help):
	Use 'message-in-echo-area' instead of 'message' where necessary.

	* lisp/autorevert.el (auto-revert-handler):
	* lisp/man.el (Man-bgproc-sentinel):
	* lisp/subr.el (do-after-load-evaluation):
	Revert recent changes that replaced 'message' with 'minibuffer-message'.
	This is not needed anymore since 'message' uses 'minibuffer-message'
	in the active minibuffer.

2019-11-26  Juri Linkov  <juri@linkov.net>

	Allow recursive minibuffers for yes-or-no-p and y-or-n-p (bug#17272 bug#19064)

	* lisp/subr.el (y-or-n-p): Let-bind enable-recursive-minibuffers to t.

	* src/fns.c (Fyes_or_no_p): Specbind Qenable_recursive_minibuffers to Qt.

2019-11-26  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (display-buffer-in-tab): New function (bug#38354)

2019-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	etags: remove some arbitrary limits

	etags had undefined behavior if input files, lines, tags, etc.,
	had more than INT_MAX bytes.  Clean up the usage of integer types
	to fix the overflow errors I found.
	* admin/merge-gnulib (GNULIB_MODULES): Add mempcpy.
	* lib-src/etags.c: Include inttypes.h, intprops.h.
	(memcpyz): New function.  Use it to simplify several occurrences
	of memcpy followed by storing a trailing '\0'.
	(xnew): Use xnmalloc, to catch overflow on integer multiplication.
	(xrnew): Change last arg to multiplier.  The type is not needed.
	All callers changed.
	(node, lineno, charno, linecharno, invalidcharno, make_tag):
	(pfnote, add_node, number_len, C_symtype, lbz, Makefile_targets)
	(readline):
	Use intmax_t for line numbers and character positions, instead of
	int or long.
	(linebuffer, make_tag, pfnote, total_size_of_entries, put_entry)
	(in_word_set, C_symtype, token, cstack, pushclass_above):
	(popclass_above, write_classname, consider_token, C_entries)
	(Ruby_functions, Makefile_targets, Lua_functions, TeX_commands)
	(TeX_decode_env, erlang_func, erlang_attribute, erlang_atom)
	(substitute, regex_tag_multiline, nocase_tail, readline_interval)
	(readline, savenstr, concat, etags_getcwd, relative_filename)
	(linebuffer_setlen):
	Use ptrdiff_t for object sizes, instead of int or long or unsigned
	or size_t.
	(write_classname, C_entries):
	Avoid sprintf, as the result could exceed INT_MAX bytes
	and then behavior goes haywire.
	(main): Use int, instead of unsigned, for argv counts.
	(get_language_from_filename): Use bool for boolean.
	(Ruby_functions): Prefer strcpy to memcpy when copying "=".
	(linebuffer_setlen): Use ‘if’ instead of ‘while’.
	(memory_full, xnmalloc, xnrealloc): New functions.
	(xmalloc): Use memory_full, and take a ptrdiff_t instead of a size_t.
	(xrealloc): Remove; no longer needed.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/mempcpy.c, m4/mempcpy.m4: New files, copied from Gnulib.

2019-11-26  Juanma Barranquero  <lekktu@gmail.com>

	Fix previous change to (next|previous)-buffer

	* lisp/window.el (next-buffer, previous-buffer): If no other
	buffer is available, signal 'user-error' only when called
	interactively.

2019-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-11-24 Fix errors in C++ mode on mingw
	2019-11-24 time_r: Fix for mingw (regression from 2019-11-16)
	2019-11-24 sys_time: Fix errors in C++ mode on mingw
	2019-11-22 intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
	2019-11-21 Disable many _GL_CXXALIASWARN on non-glibc
	2019-11-21 Fix various errors in _GL_CXXALIAS_SYS invocations
	2019-11-19 intprops: INT_MULTIPLY_WRAPV speedup for GCC 9.3+
	2019-11-18 stdint: Define [u]intptr_t correctly on 64-bit native Windows
	2019-11-18 stdint: Fix value of WINT_MAX when we override wint_t
	2019-11-18 stdint: Avoid "conflicting types" error on mingw 5.22
	2019-11-16 time_r: Fix for mingw
	2019-11-06 regex: now back in sync with glibc
	* lib/intprops.h, lib/regexec.c, lib/signal.in.h:
	* lib/stdint.in.h, lib/stdio.in.h, lib/stdlib.in.h:
	* lib/string.in.h, lib/sys_select.in.h, lib/sys_time.in.h:
	* lib/time.in.h, lib/unistd.in.h, m4/time_r.m4:
	Copy from Gnulib.

2019-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (do-after-load-evaluation): Handle batch mode as well

2019-11-26  Robert Pluim  <rpluim@gmail.com>

	Use 127.0.0.1 in nsm-tests

	Winsock doesn't like "127.1"

	* test/lisp/net/nsm-tests.el (nsm-check-local-subnet-ipv4): Spell
	numeric localhost as "127.0.0.1" instead of "127.1".

2019-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/minibuffer-tests.el (completion-table-test-quoting): New test

	* test/data/minibuffer-test-cttq$tion: New file-name test data.

2019-11-26  Eli Zaretskii  <eliz@gnu.org>

	Support ':extend' in faces defined by list of key/value pairs

	* src/xfaces.c: Update and improve commentary at the beginning
	of the file.
	(face_attr_sym): New static array.
	(init_xfaces): Initialize 'face_attr_sym'.
	(merge_face_ref): Handle the :extend attribute in faces
	specified as lists of key/value pairs.  (Bug#37774)

2019-11-26  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows build with mingw.org's MinGW

	mingw.org's MinGW by default targets Windows 9X, so
	_WIN32_WINNT is set to a value that bypasses declarations
	in system headers we need to compile network_interface_list.
	Also, the code needed a workaround for Windows XP, where
	some functionality is missing from the GetAdaptersAddresses
	API.

	* src/w32.c (_WIN32_WINNT): Define to 0x0501, if the value is
	lower, temporarily while processing iphlpapi.h.
	(address_prefix_match): New helper function.
	(network_interface_list): Work around the fact that the
	OnLinkPrefixLength member of IP_ADAPTER_UNICAST_ADDRESS is not
	available when _WIN32_WINNT < 0x0600.  On Windows XP use
	special code that calls address_prefix_match to compute the
	network prefix length.

2019-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/asm-mode.el (asm-mode-map): Obey electric-indent-mode

2019-11-26  Juanma Barranquero  <lekktu@gmail.com>

	(next|previous)-buffer no longer fail silently (bug#38384)

	* lisp/window.el (next-buffer, previous-buffer):
	Signal 'user-error' if there is no buffer to switch to.

	* etc/NEWS: Document it.

2019-11-26  Juanma Barranquero  <lekktu@gmail.com>

	lisp/auth-source.el: Depend on cl-lib unconditionally

	A change in 2016-04-24 introduced a run-time dependency on cl-subseq.

2019-11-26  Juanma Barranquero  <lekktu@gmail.com>

	lisp/auth-source-pass.el: Require cl-lib unconditionally

	Changes in 2019-05-05 and 2019-05-14 introduced run-time dependencies
	on cl-maplist and cl-remove-if-not.

2019-11-26  Martin Rudalics  <rudalics@gmx.at>

	* lisp/window.el (switch-to-visible-buffer): Declare obsolete.
	(switch-to-prev-buffer-skip): New option.
	(switch-to-prev-buffer, switch-to-next-buffer): Obey
	'switch-to-prev-buffer-skip'.
	* doc/lispref/windows.texi (Window History): Remove
	description of 'switch-to-visible-buffer'.  Describe new
	option 'switch-to-prev-buffer-skip'
	* etc/NEWS: Mention switch from 'switch-to-visible-buffer' to
	'switch-to-prev-buffer-skip'.

2019-11-26  Alex Murray  <alex.murray@canonical.com>  (tiny change)

	Fix auth-source password lookup

	* lisp/net/network-stream.el
	(network-stream-certificate): Ensure :port is specified as a string to
	'auth-source-search' (Bug#38371).

2019-11-25  Robert Pluim  <rpluim@gmail.com>

	Extend network-interface-list to return IPv6 and network info

	Bug#38218

	* src/process.c (Fnetwork_interface_list): Extend argument list to
	allow requesting full network info and/or IPv4/IPv6 info.
	(network_interface_list) [HAVE_GETIFADDRS]: Use getifaddrs to retrieve
	interface IP addresses.

	* src/process.h: Update prototype of network_interface_list.

	* src/w32.c (g_b_init_get_adapters_addresses): New init flag.
	(globals_of_w32): Initialize it.
	(GetAdaptersAddresses_Proc): New function typedef.
	(get_adapters_addresses): New wrapper function.
	(init_winsock): Load htonl and ntohl.
	(sys_htonl, sys_ntohl): New wrapper functions.
	(network_interface_list): Implement in terms of
	get_adapters_addresses.

	* nt/inc/sys/socket.h: Add sys_htonl and sys_ntohl prototypes.

	* etc/NEWS: Announce IPv4/IPv6 changes in network-interface-list.

	* doc/lispref/processes.texi (Misc Network): Document updated arglist
	and return values for network-interface-list.

2019-11-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous message.el point-restoring fix

	* lisp/gnus/message.el (message-send-and-exit): Restore window
	point before burying buffer so we actually bury the buffer.

2019-11-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove outdated documentation

	* doc/misc/eieio.texi (Predicates): Remove documentation of
	same-class-fast-p, which was removed some years back (bug#38362).

2019-11-25  João Távora  <joaotavora@gmail.com>

	Fix test failures of test/lisp/auth-source-pass-tests.el

	Failures introduced by recent "Make auth-source-pass-search understand
	port lists", commit 92fda5a7f92162d610d57df14372bcfcee1f01b6.

	* lisp/auth-source-pass.el
	(auth-source-pass--generate-entry-suffixes): Fix test failures.

2019-11-25  Filipp Gunbin  <fgunbin@fastmail.fm>

	Correct small misprint in defcustom's docstring

	* lisp/custom.el (defcustom): Correct misprint in docstring.

2019-11-25  Eli Zaretskii  <eliz@gnu.org>

	Fix face merging when some have :extend non-nil and some are inherited

	* src/xfaces.c (face_inherited_attr): New function.
	(merge_named_face): Call 'face_inherited_attr' when testing
	whether a face that inherits from another fits the filtering
	criteria specified by ATTR_FILTER.
	(merge_face_vectors): Revert the changes made in this function
	for filtering by ATTR_FILTER, and remove that argument as
	well.  These tests are now completely done by the caller, see
	'merge_named_face'.  (Bug#37774)

2019-11-25  Robert Pluim  <rpluim@gmail.com>

	Handle auth-source-search failures in open-network-stream

	If the user cancels the gpg decryption pop-up, auth-source-search
	fails *and* epa pops up an error buffer.  Fix epa to allow suppressing
	that, and ignore errors returned from auth-source-search.

	* lisp/epa.el (epa-suppress-error-buffer): New defvar.  Bind non-nil
	to stop epa popping up an error buffer.

	* lisp/net/network-stream.el: require epa when byte-compiling.
	(network-stream-certificate): ignore errors when calling
	auth-source-search, and suppress the epa error buffer.

2019-11-23  Paul Eggert  <eggert@cs.ucla.edu>

	Add eassert check for bad default face

	* src/xdisp.c (append_space_for_newline): Add an eassert check
	that default_face is not null, by calling FACE_FROM_ID instead of
	FACE_FROM_ID_OR_NULL.  Initialize a local only if needed.

2019-11-23  Paul Eggert  <eggert@cs.ucla.edu>

	Port gnutls.c to --enable-gcc-warnings --without-gnutls

	* src/gnutls.c: Move the "#ifdef HAVE_GNUTLS" earlier, so
	that "./configure --enable-gcc-warnings --without-gnutls"
	does not complain about macros being defined but never used.
	Indent "#" directives more consistently.

2019-11-23  Juanma Barranquero  <lekktu@gmail.com>

	Rework previous fix to bug#38222

	* lisp/help.el (help--doc-without-fn): Remove.
	(describe-mode): Use help-split-fundoc instead.

2019-11-23  Juanma Barranquero  <lekktu@gmail.com>

	Make help-split-fundoc more flexible about what returns

	* lisp/help.el (help-split-fundoc): New arg SECTION to return
	only the usage or doc parts of the docstring, or both even if
	there is no usage.

	* test/lisp/help-tests.el: New file.

2019-11-23  Juri Linkov  <juri@linkov.net>

	Use new macro debounce-reduce to make mouse scaling of images more responsive

	* lisp/emacs-lisp/timer.el (debounce, debounce-reduce): New macros.

	* lisp/image.el (image-increase-size, image-decrease-size):
	Use funcall to call image--change-size-function.
	(image--change-size-function): Move code from defun of
	image--change-size to defvar that has the value of lambda
	returned from debounce-reduce.  (Bug#38187)

2019-11-23  Robert Pluim  <rpluim@gmail.com>

	Default network-stream-use-client-certificates to nil

	* lisp/net/network-stream.el (network-stream-use-client-certificates):
	Default to nil.
	(open-network-stream): Adapt description to new default of
	network-stream-use-client-certificates.

	* etc/NEWS: network-stream-use-client-certificates defaults to nil
	now.

	* doc/lispref/processes.texi (Network): Flip
	network-stream-use-client-certificates description.

	* doc/misc/auth.texi (Help for users): Mention
	network-stream-use-client-certificates.

2019-11-23  Robert Pluim  <rpluim@gmail.com>

	Have what-cursor-position optionally show character name

	* lisp/simple.el (what-cursor-show-names): New defcustom, default nil.
	(what-cursor-position): Show character names if what-cursor-show-names
	is non-nil.

	* doc/emacs/basic.texi (Position Info): Add what-cursor-show-names
	description.

	* etc/NEWS: Announce what-cursor-show-names.

2019-11-23  Christopher Schmidt  <christopher@ch.ristopher.com>

	Always expand "total" in dired

	* lisp/files.el (insert-directory): Always replace "total" with
	"total used in directory", even when we don't have free disk space
	(bug#13191).  This makes the display more consistent.

2019-11-23  Michael Heerdegen  <michael_heerdegen@web.de>

	Fix edebug instrumentation removing from advised functions

	* lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation): Handle
	advised functions correctly.

2019-11-23  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing of modifier keys

	* doc/emacs/commands.texi (User Input): Add index entry for
	the Alt key serving as Meta.
	* doc/emacs/custom.texi (Modifier Keys): Add index entries for
	Alt, Super, and Hyper modifier keys.  (Bug#38315)

2019-11-23  Eli Zaretskii  <eliz@gnu.org>

	Fix cursor display at EOL before extended face

	* src/xdisp.c (extend_face_to_end_of_line): Make sure the
	character position of the stretch glyph inserted to extend the
	face is zero, as various other parts of the display code rely
	on that.  (Bug#38330)

2019-11-23  Eli Zaretskii  <eliz@gnu.org>

	Fix and speed up en/decoding of UTF-8 strings

	* src/coding.c (get_char_bytes, encode_string_utf_8)
	(decode_string_utf_8): Fix commentary.
	(encode_string_utf_8): Return the original ASCII string only
	if NOCOPY is non-zero.
	(decode_string_utf_8): Accept 2 additional arguments STR and
	STR_LEN, which allow to pass the input text as a C string.
	(make_string_from_utf8): Delegate the job to decode_string_utf_8.
	* src/coding.h: Update the prototype of decode_string_utf_8.
	* src/json.c (json_encode): Call encode_string_utf_8.

2019-11-22  João Távora  <joaotavora@gmail.com>

	* lisp/minibuffer.el (completion-flex-nospace): Default to t.

2019-11-22  Juanma Barranquero  <lekktu@gmail.com>

	help-follow-symbol now complains if no symbol found (bug#38248)

	* lisp/help-mode.el (help-follow-symbol): Signal 'user-error' if
	there's no symbol at POS.

	* etc/NEWS: Document it.

2019-11-22  Filipp Gunbin  <fgunbin@fastmail.fm>

	Check gnus-mailing-list-groups in turn-on-gnus-mailing-list-mode

	* lisp/gnus/gnus-ml.el (turn-on-gnus-mailing-list-mode): Check also
	gnus-mailing-list-groups variable.

2019-11-22  Filipp Gunbin  <fgunbin@fastmail.fm>

	Make gnus-mailing-list-archive recognize https

	* lisp/gnus/gnus-ml.el (gnus-mailing-list-archive): Accept https in
	regexp.

2019-11-22  Filipp Gunbin  <fgunbin@fastmail.fm>

	Unify docstrings of Gnus summary's copy/move/crosspost article functions

	* lisp/gnus/gnus-sum.el (gnus-summary-copy-article)
	(gnus-summary-crosspost-article): Make docstrings refer to
	gnus-summary-move-article.

2019-11-22  dickmao  <none>

	Refix conditional step clauses in cl-loop

	* lisp/emacs-lisp/cl-macs.el
	(cl--loop-bindings, cl--loop-symbol-macs, cl-loop):
	Add cl--loop-conditions, remove cl--loop-guard-cond.
	(cl--push-clause-loop-body): Apply clause to both cl--loop-conditions
	and cl--loop-body
	(cl--parse-loop-clause): Use cl--push-clause-loop-body.
	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-and-assignment):
	Use docstring.
	(cl-macs-loop-for-as-arith): Removed expected failure.
	(cl-macs-loop-conditional-step-clauses): Add some tests (bug#29799).

2019-11-22  Eli Zaretskii  <eliz@gnu.org>

	Fix uses of inhibit-message in package.el

	* lisp/emacs-lisp/package.el (package-generate-autoloads)
	(package--compile, package--save-selected-packages): Don't use
	'inhibit-message' to bind 'noninteractive' and 'save-silently',
	since 'inhibit-message' already disables all messages.
	(Bug#38264)

2019-11-22  Hong Xu  <hong@topbug.net>

	font-lock special attributes in python-mode

	* lisp/progmodes/python.el (python-font-lock-keywords-level-2): Add
	special attributes (bug#38318).

2019-11-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Give better error messages in image-convert

	* lisp/image/image-converter.el (image-convert): Make
	image-convert bug out earlier on a wrong IMAGE-FORMAT value
	(bug#38310).

2019-11-22  João Távora  <joaotavora@gmail.com>

	Make auth-source-pass-search understand port lists

	For cases such as a typical IMAP Gnus setup, auto-source-pass-search
	is passed a list of "port aliases" like (993 "imaps" "imap" "993"
	"143") in hopes of finding a matching ~/.password-store entry.

	This modification makes this library understand and unroll the port
	list so that, i.e. "domain:993", "domain:imaps"", "domain:imap",
	etc. are computed as potential suffixes.  Previously a nonsensical
	string "domain:(993 imaps imap ...)" was returned.

	* lisp/auth-source-pass.el
	(auth-source-pass--generate-entry-suffixes): Allow PORT to be a list
	of ports.

2019-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/smie.el (smie-next-sexp): Fix bug#38255

	Handle the case where the token is not in `smie-grammar`, either because
	the caller is making an error, or because it's a paren-like token that's
	not handled in the grammar but directly via the syntax tables.

2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `C-c C-w' insert a signature even when overridden

	* lisp/gnus/message.el (message-insert-signature): When called
	interactively, look harder for a signature to insert (bug#38289).

2019-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (completions-common-part): Make it blue when possible

	* lisp/files.el (locate-file-completion-table): Fix typo

2019-11-21  Thierry Volpiatto  <thierry.volpiatto@gmail.com>

	Add new variable to prevent flex completion style

	matching spaces.  This allows flex style working smoothly with other
	styles like helm using spaces.

	* lisp/minibuffer.el (completion-flex-nospace): New user var.
	(completion-flex-try-completion): Use it.
	(completion-flex-all-completions): Same.

2019-11-21  Wilson Snyder  <wsnyder@wsnyder.org>

	When verilog-auto-ignore-concat is true, also ignore parenthesized signals.

	* lisp/progmodes/verilog-mode.el (verilog-auto-ignore-concat): When
	`verilog-auto-ignore-concat' is true, also ignore parenthesized
	signals.

2019-11-21  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix Gnus summary backtab keybindings to use button-based functions

	* lisp/gnus/gnus-sum.el (gnus-summary-mode-map,
	  gnus-summary-article-map): Backtab should call
	  gnus-summary-button-backward, not gnus-summary-widget-backward.

2019-11-21  Eli Zaretskii  <eliz@gnu.org>

	Fix file notifications on macOS

	* src/kqueue.c (Fkqueue_add_watch): Don't use encoded file
	names in objects and APIs that expect decoded multibyte
	strings.  (Bug#38287)

2019-11-21  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent change in ELisp manual

	* doc/lispref/objects.texi (Special Read Syntax): Fix wording
	of the last change: don't document #' twice.  (Bug#38278)

2019-11-21  Eli Zaretskii  <eliz@gnu.org>

	Support 'vc-region-history' for Mercurial

	* lisp/vc/vc-hg.el (vc-hg-region-history)
	(vc-hg-region-history-font-lock, vc-hg-region-history-mode):
	New functions.
	(vc-hg-region-history-mode-map)
	(vc-hg--log-view-long-font-lock-keywords)
	(vc-hg-region-history-font-lock-keywords): New variables.
	* lisp/vc/vc-git.el (vc-git-region-history): Update commentary.

	* doc/emacs/maintaining.texi (VC Change Log): Add
	'vc-region-history' to the table at beginning of node.  Update
	the VCSes that support 'vc-region-history'.

	* etc/NEWS: Mention the new feature of vc-hg.el.

2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous #' documentation addition

	* doc/lispref/objects.texi (Special Read Syntax): Add an xref for
	the #' (bug#38278).

2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Document the #' syntax

	* doc/lispref/objects.texi (Special Read Syntax): Document the #'
	syntax (bug#38278).

2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore point after sending a message

	* lisp/gnus/message.el (message-send-and-exit): Restore point
	after sending (bug#38303).

2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Make pp-buffer into a command

	* lisp/emacs-lisp/pp.el (pp-buffer): Make into a command (bug#38306).

2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix loading image-converter in the case where the type is passed in

	* lisp/image.el (create-image): Load image-converter when
	converting images (bug#38310).

2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Rewrite the image-convert doc string

	* lisp/image/image-converter.el (image-convert): Clarify the
	calling convention (bug#38310).

2019-11-21  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>

	Hide quoted passwords with spaces in Authinfo

	* lisp/auth-source.el (auth-source-netrc-looking-at-one): New
	function, extracted from auth-source-netrc-parse-one.
	(auth-source-netrc-parse-one, authinfo--hide-passwords): Use
	auth-source-netrc-looking-at-one (bug#38311).

2019-11-21  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-unload-tramp): Do not enable ange-ftp.  (Bug#38025)

2019-11-20  Juri Linkov  <juri@linkov.net>

	* lisp/image.el: Mouse-wheel scaling on images (bug#38187)

	* lisp/image.el (image-mouse-increase-size)
	(image-mouse-decrease-size): New commands.
	(image-map): Bind C-wheel-down and C-mouse-5 to
	image-mouse-decrease-size, C-wheel-up and C-mouse-4 to
	image-mouse-increase-size.

2019-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	* src/sysdep.c: Improve comment wording.

	* etc/NEWS: Improve XDG_RUNTIME_DIR doc.

2019-11-20  Michael Albinus  <michael.albinus@gmx.de>

	Add renaming of remote buffer file names to Tramp

	* doc/misc/tramp.texi (Default User): Fix typo.
	(Cleanup remote connections): Adapt arguments of
	`tramp-cleanup-connection'.
	(Renaming remote files): New node.
	(Frequently Asked Questions): New item "How to save files when a
	remote host isn't reachable anymore?".

	* etc/NEWS: Add `tramp-rename-files' and `tramp-rename-these-files'.

	* lisp/net/tramp-cmds.el (tramp-default-rename-alist)
	(tramp-confirm-rename-file-names): New defcustoms.
	(tramp-rename-read-file-name-dir)
	(tramp-rename-read-file-name-init): New defsubsts.
	(tramp-default-rename-file, tramp-rename-files)
	(tramp-rename-these-files): New defuns.

	* lisp/net/tramp-integration.el (ido, ivy): Integrate with them.

2019-11-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make with-suppressed-warnings work for macros, too

	* lisp/emacs-lisp/macroexp.el (macroexp-macroexpand): Pass the
	macro/alias symbol on to byte-compile-warning-enabled-p so that
	with-suppressed-warnings works for macros, too.

2019-11-20  Robert Pluim  <rpluim@gmail.com>

	Remove info references to gmane web search

	* doc/misc/gnus.texi (Foreign Groups, Web Searches, What is nnir?):
	(Setting up nnir, Associating Engines, The imap Engine):
	(Customizations): Remove references to gmane web search.

2019-11-19  Stephen Gildea  <stepheng+emacs@gildea.com>

	Expand coverage of unit tests for time-stamp

	* test/lisp/time-stamp-tests.el: Remove redundant word "test"
	from the names of all the tests.
	(time-stamp-custom-time-zone, time-stamp-custom-pattern,
	time-stamp-custom-inserts-lines, time-stamp-custom-count,
	time-stamp-helper-safe-locals): New tests

2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	Make .pdmp file more reproducible

	Problem reported by Ulrich Müller
	<https://lists.gnu.org/r/emacs-devel/2019-11/msg00757.html>
	and diagnosed by Andreas Schwab
	<https://lists.gnu.org/r/emacs-devel/2019-11/msg00774.html>.
	* src/sysdep.c (maybe_disable_address_randomization):
	Disable ASLR if any kind of dumping, instead of merely if
	unexec dumping.  Omit first arg for simplicity; all uses changed.

2019-11-19  João Távora  <joaotavora@gmail.com>

	* lisp/icomplete.el (icomplete-fido-kill): Unbreak yes-or-no-p usage

	Discussed in the context of bug#19064, bug#17272.

2019-11-19  Eli Zaretskii  <eliz@gnu.org>

	Ensure Rmail summary is updated after editing a message

	* lisp/mail/rmailedit.el (rmail-cease-edit): If this mbox file
	has a summary, update the summary after editing.  (Bug#38193)

2019-11-19  Eli Zaretskii  <eliz@gnu.org>

	Fix updating members of zip archives

	* lisp/arc-mode.el (archive-zip-case-fiddle): Change the
	default to nil except on MS-DOS.  Update the doc string to
	make clear that a non-nil value also affects updating the
	archive.  (Bug#38260)

2019-11-19  Robert Pluim  <rpluim@gmail.com>

	Remember the full GTK font description

	Remember the full font description instead of just the family so that
	size/style/weight settings are preserved.

	* src/gtkutil.c (xg_get_font) [HAVE_GTK3]: Use the pango font
	description to set/get the current font (Bug#28901).

2019-11-19  Robert Pluim  <rpluim@gmail.com>

	Don't error when comparing IPv4 and IPv6 addresses

	* lisp/net/nsm.el (nsm-network-same-subnet): Compare lengths of
	local-ip and ip; different lengths can never match.
	(nsm-should-check): Chop port off end of address.

2019-11-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow eww to display exotic images like webp

	* lisp/image.el (image-type): Allow passing in the image type.
	(create-image): Make conversion work with data in addition to files.

	* lisp/image/image-converter.el (image-convert-p): Allow taking
	working on data in addition to files (bug#38036).
	(image-convert): Ditto.
	(image-converter--convert): Extend signature to say whether we're
	getting a file or data.
	(image-converter--convert-magick): Convert data.
	(image-converter--convert): Ditto.

2019-11-19  Juanma Barranquero  <lekktu@gmail.com>

	Strip "(fn...)" from output of `describe-mode' (bug#38222)

	* lisp/help.el (help--doc-without-fn): New function.
	(describe-mode): Use it.

2019-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/org/org.el (org-mode): Add pcomplete-completions-at-point to capf.

	This lets the normal `completion-at-point` and `complete-symbol`
	use `pcomplete` for completion.

	(org-mode-map): Leave M-TAB bound to the global default since
	`pcomplete` is now obsolete.

2019-11-18  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el (tab-line-auto-hscroll): New defcustom (bug#37667)

	(tab-line-auto-hscroll): Use this option in the function.

2019-11-18  Juri Linkov  <juri@linkov.net>

	* lisp/vc/ediff-util.el: Set this-command to ediff-quit (bug#38219)

	* lisp/vc/ediff-util.el (ediff-toggle-read-only, ediff-quit):
	Set this-command to the same command after using y-or-n-p
	that doesn't guarantee to keep this-command unchanged
	to check it later for some contrived logic.

2019-11-18  Robert Pluim  <rpluim@gmail.com>

	Check for HAVE_GTK3 instead of a specific version

	Our minimum GTK3 version is 3.10, the font filter functions appeared
	in 3.2.

	* src/gtkutil.c (xg_font_filter) [HAVE_GTK3]: Just check for HAVE_GTK3.
	(xg_get_font) [HAVE_GTK3]: Same here.

2019-11-18  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-handle-file-regular-p): Improve error handling.

2019-11-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix cl-prettyexpand in the non-FULL case

	* lisp/emacs-lisp/cl-extra.el (cl-prettyexpand): This function has
	apparently not worked for at least a couple of decades
	(bug#38206) unless supplied with a FULL parameter.  Make the FULL
	parameter obsolete and make the function always work as it did
	with a non-nil FULL.

2019-11-18  Phil Sainty  <psainty@orcon.net.nz>

	Merge branch 'scratch/so-long-updates'

2019-11-18  Phil Sainty  <psainty@orcon.net.nz>

	lisp/so-long.el: Refactor menu action commands

	* lisp/so-long.el (so-long-menu): Call `so-long' with an ACTION
	argument instead of using `so-long-menu-item-replace-action'.
	(so-long-menu-item-replace-action): Remove the deprecated function.

	* test/lisp/so-long-tests/so-long-tests.el
	(so-long-tests-so-long-menu-item-replace-action): Update the test.

2019-11-18  Phil Sainty  <psainty@orcon.net.nz>

	* lisp/so-long.el (so-long): Firstly revert the existing action, if any

	This makes `so-long' consistent with the action commands in the menu.

	If multiple actions were to be layered on top of one another, we would
	lose the ability to revert to the normal state.  Custom actions
	combining multiple other actions can be defined if necessary.

2019-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
	    Phil Sainty  <psainty@orcon.net.nz>

	lisp/so-long.el: Use (interactive "@") for menu commands

	* lisp/so-long.el (so-long-menu, so-long-menu-item-replace-action)
	(so-long-revert): Use interactive code "@", replacing all uses of
	`so-long-menu-click-window'.  This approach leaves the window selected
	afterwards, whereas the old code did not; but that is not a problem.
	(so-long-menu-click-window, so-long-menu-item-revert): Remove the
	deprecated functions.

	* test/lisp/so-long-tests/so-long-tests.el
	(so-long-tests-so-long-menu-item-replace-action): Update the test.

2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the error-out test for with_harfbuzz

	* configure.ac (HAVE_HARFBUZZ): Remove the check for explicit
	harfbuzz -- have_harfbuzz defaults to "yes", so we have no way of
	checking whether the user really asked for it, apparently.

2019-11-17  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/simple.el (process-file): Clarify doc string.

2019-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/tmm.el (tmm-add-one-shortcut): Use dolist

2019-11-17  Juri Linkov  <juri@linkov.net>

	* lisp/subr.el (read-char-from-minibuffer, y-or-n-p): Remove discard-input.

	(do-after-load-evaluation): Replace run-with-timer with	run-with-idle-timer
	to give a chance for the minibuffer to handle initial events before sit-for.
	https://lists.gnu.org/r/emacs-devel/2019-11/msg00581.html

2019-11-17  Juri Linkov  <juri@linkov.net>

	Auto-scrolling in tab-line (bug#37667)

	* lisp/tab-line.el (tab-line-auto-hscroll): New function.
	(tab-line-format): Use tab-line-auto-hscroll.

2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Error out on --with-harfbuzz without HarfBuzz support

	* configure.ac: Error out if the user says --with-harfbuzz, but
	HarfBuzz isn't available.

2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Handle FC_CHARCELL in xftfont_open

	* src/xftfont.c (xftfont_open): FC_CHARCELL is apparently an alias
	for FC_DUAL used in some east Asian fonts (bug#35079).  Modeled
	after a patch suggested by Kenichi Handa.

2019-11-17  Eli Zaretskii  <eliz@gnu.org>

	Support more font weight values on MS-Windows

	* src/w32font.c (w32_to_fc_weight): Support a few more weight
	values, for compatibility with the GTK font selection widget
	(see gtkutil.c:XG_WEIGHT_TO_SYMBOL).  (Bug#24226)

2019-11-17  Alan Mackenzie  <acm@muc.de>

	Compilation Mode: Fix arrow handling when compilation-context-lines is t

	In particular, fix some exception occurrences, fix handling of a Compilation
	Mode buffer being displayed in several windows, and fix the margin when
	temporarily displaying a different buffer in a window, then returning to the
	compilation mode buffer.  The fix is relevant for frames without fringes,
	e.g. tty frames.

	* lisp/progmodes/compile.el: (compilation-set-window): Always set point to
	(parameter) MK.
	(compilation--set-up-margin, compilation--tear-down-margin): New functions.
	(compilation--set-up-arrow-spec-in-margins)
	(compilation--tear-down-arrow-spec-in-margins): Renamed by introducing -- and
	pluralising margin to margins.  Handle the margins in _all_ windows displaying
	the pertinent buffer by using get-buffer-window-list.  In ...--set-up-... add
	compilation--set-up-margin to window-buffer-change-functions.  In
	...--tear-down-... remove the hook functions added in ...--set-up-....

2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make ido-read-file-name respect ido-read-file-name-non-ido more

	* lisp/ido.el (ido-read-file-name): Respect
	ido-read-file-name-non-ido in the file-directory-p case, too
	(bug#38231).

2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make tables more resistant to major mode changes

	* lisp/textmodes/table.el (table--put-cell-face-property)
	(table--remove-cell-properties): Ensure that we don't lose the
	table face when switching from buffers with font locking to ones
	without (or vice versa) (bug#35481).

2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make bibtex-parse-keys more robust

	* lisp/textmodes/bibtex.el (bibtex-parse-keys): Protect against
	bugging out just when starting almost-empty bibtex files
	(bug#30112).

2019-11-16  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Add missing arg.

	* lisp/tab-bar.el (tab-bar-list-next-line)
	(tab-bar-list-prev-line): Add missing interactive spec for prefix arg.

	* lisp/mouse.el (mouse-buffer-menu-mode-groups): Add "Git" regexp
	to match "Git-Region-History" mode name for "Version Control" group.

2019-11-16  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (eval-expression-print-maximum-character): Use choice type.

	https://lists.gnu.org/r/emacs-devel/2019-11/msg00433.html

2019-11-16  Juri Linkov  <juri@linkov.net>

	* lisp/dired.el (dired-dwim-target): Add choice dired-dwim-target-next-visible

	* lisp/dired-aux.el (dired-dwim-target-next): Add arg ALL-FRAMES.
	(dired-dwim-target-next-visible): New function.

	* doc/emacs/dired.texi (Operating on Files): Describe function value
	of dired-dwim-target.  (Bug#35385)

2019-11-16  Eli Zaretskii  <eliz@gnu.org>

	Fix display of R2L text

	* src/xdisp.c (extend_face_to_end_of_line): Fix padding of R2L
	screen lines with stretch glyph on the left.  (Bug#38233)

2019-11-16  Shingo Tanaka  <shingo.fg8@gmail.com>

	Fix moving files with duplicate names to trash-can

	* lisp/files.el (move-file-to-trash): Fix file name in
	trash-can when another deleted file under the same name is
	already stored there.  (Bug#37922)

2019-11-16  Martin Rudalics  <rudalics@gmx.at>

	Do not report move frame events for tooltip frames (Bug#38213)

	* src/w32term.c (w32_read_socket):
	* src/xterm.c (handle_one_xevent): Do not report move frame events
	for tooltip frames (Bug#38213).

2019-11-15  Michael Orlitzky  <michael@orlitzky.com>  (tiny change)

	tex-mode: paragraph separator groups text and comments

	* lisp/textmodes/tex-mode.el (latex-mode): Don't wrap text with
	leading spaces into preceding comments (bug#38152).

2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't move point on undefined keystrokes in the article buffer

	* lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Don't
	move point on undefined commands (bug#38227).

2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make button-1 work on all Gnus buttons

	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-insert-button):
	* lisp/gnus/gnus-art.el (gnus-insert-mime-button)
	(gnus-mime-display-alternative, gnus-insert-prev-page-button)
	(gnus-insert-next-page-button)
	(gnus-insert-mime-security-button): Make button-1 work on all the
	Gnus buttons (bug#38144).

2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make it clear what edebug-remove-instrumentation offers

	* doc/lispref/edebug.texi (Instrumenting): Reword the description
	of the edebug-remove-instrumentation command.

2019-11-15  Paul Eggert  <eggert@cs.ucla.edu>

	Port new float-scaling code to Solaris

	* src/floatfns.c (double_integer_scale): Simplify, so that the
	function works when (FP_ILOGBNAN == INT_MAX && FP_ILOGB0 == INT_MIN),
	as on Solaris.

2019-11-15  João Távora  <joaotavora@gmail.com>

	Make icomplete-tidy-shadowed-file-names less aggressive

	When using this option and editing input, some transient situations
	may arise that lead to file-name shadowing, but that shouldn't
	necessarily lead to auto-delete behavior, which will be surprising.

	In '/foo/x/bar', if the user deletes the 'x', shadowing occurs, but
	probably shouldn't.  So, somewhat like ido-mode, only auto-tidy
	shadowed file names if the user is inserting text at end of input.

	* lisp/icomplete.el (icomplete-exhibit): Check this-command.
	(icomplete-tidy-shadowed-file-names): Tweak docstring.

2019-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/perl-mode.el (perl-calculate-indent): Indent qw(...)

	Fix initialization of `state`.
	Special-case `qw(...)` because we do want to indent its contents.

2019-11-15  Robert Pluim  <rpluim@gmail.com>

	Used magic-fallback-mode-alist to detect .doc files (Bug#20891)

	This avoids running doc-view-mode on files that are actually text
	files.

	* lisp/files.el (auto-mode-alist): Don't use doc-view-mode-maybe
	for .doc (but continue to do so for .docx).
	(magic-fallback-mode-alist): Add signature for .doc files.

2019-11-15  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing of function doc string conventions

	* doc/lispref/functions.texi (Function Documentation): Improve
	indexing (bug#38158).

2019-11-15  Paul Eggert  <eggert@cs.ucla.edu>

	Port hexdigit init to non-GCC + pdumper

	The old code assumed that hexdigit initialization (needed by
	non-GCC) could be done in syms_of_character, but that is no longer
	true with pdumper.  Instead, simplify hexdigit init so that it can
	be done statically on all C99 platforms.  Problem discovered on
	Solaris 10 sparc + Oracle Solaris Studio 12.6.
	* src/character.c (hexdigit): Add 1 to every value; all uses
	changed.  This simplifies the initialization so that it can be
	done statically on any C99 compiler.  hexdigit is now always const.
	(syms_of_character): Omit no-longer-necessary initialization.
	* src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST):
	Remove.  All uses removed.

2019-11-15  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'add-variable-watcher'

	* doc/lispref/variables.texi (Watching Variables): Clarify the
	documentation of 'add-variable-watcher' and fix markup.

	* src/data.c (Fadd_variable_watcher): Clarify the doc string.
	(Bug#38205)

2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid using subr-x function

	* lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Avoid using subr-x
	function (bug#38216).

2019-11-15  Martin Rudalics  <rudalics@gmx.at>

	In 'dframe-frame-mode' avoid 'switch-to-buffer' (Bug#37840)

	* lisp/dframe.el (dframe-frame-mode): Use 'set-window-buffer'
	instead of 'switch-to-buffer’ to avoid that
	'switch-to-buffer-obey-display-actions' butts in (Bug#37840).

2019-11-15  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	lisp/vc/vc-hg.el: Don't pass empty string to hg update

	* lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Don't pass empty name to
	`hg update` (bug#38216).

2019-11-15  Lele Gaifax  <lele@metapensiero.it>

	Fix minor formatting issue in isearch-forward documentation

	* lisp/isearch.el (isearch-forward): Doc string formatting fix
	(bug#38207).

2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make edebug-remove-instrumentation remove macro instrumentation

	* lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation):
	Macros can also have edebug instrumentation, so remove that as
	well (bug#38195).

2019-11-14  Robert Pluim  <rpluim@gmail.com>

	Update nnir-method-default-engines version tag

	* lisp/gnus/nnir.el (nnir-method-default-engines): Update version tag.

2019-11-14  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent change in xdisp.c

	* src/xdisp.c (tty_handle_tab_bar_click): Revert the last
	change which made this work only in the HAVE_NTGUI build.
	This function is needed by any build which supports a  mouse
	on TTY frames.

2019-11-14  Paul Eggert  <eggert@cs.ucla.edu>

	Handle weird cases like (ceil 0 0.0)

	* src/floatfns.c (double_integer_scale): Distinguish Inf from NaN.
	(rounding_driver): Handle (ceil 0 0.0) and (ceil 0 1.0e+INF).
	* test/src/floatfns-tests.el (special-round): Add tests for
	weird cases like this.

	Avoid crash with (floor 0 0.0)
	* src/floatfns.c (rounding_driver): Signal an arithmetic
	error if divisor is 0.0 or -0.0, instead of crashing.

2019-11-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/db.el: Use lexical-binding

	Also prefer setf over oset.
	(semanticdb-abstract-table-list): Always define.
	(semanticdb--inhibit-make-directory): Fix name of declaration to match
	name of variable actually used.
	(semanticdb-with-match-any-mode): Use `declare`.  Add Edebug spec.
	(semanticdb-project-roots): Remove redundant :group.

2019-11-14  Paul Eggert  <eggert@cs.ucla.edu>

	Fix byte-counting error in ‘format’

	Problem reported by Paul Pogonyshev (Bug#38191).
	* src/editfns.c (styled_format): When checking for adjacent
	%-sequences, use byte position rather than character position.
	* test/src/editfns-tests.el (format-properties): Test for fix.

2019-11-14  Paul Eggert  <eggert@cs.ucla.edu>

	In Cairo builds, omit some unnecessary functions

	* src/font.c (fset_font_data, font_put_frame_data)
	(font_get_frame_data):
	* src/ftfont.c (ftfont_open, ftfont_close)
	(ftfont_encode_char, ftfont_glyph_metrics)
	(ftfont_text_extents, ftfont_driver):
	Define only if USE_CAIRO.
	* src/xdisp.c (tty_handle_tab_bar_click):
	Define only if HAVE_NTGUI && !CYGWIN.

2019-11-14  Dmitry Gutov  <dgutov@yandex.ru>

	(repos-count-screen-lines): Narrow without changing point-min

	* lisp/reposition.el (repos-count-screen-lines): Narrow without
	changing point-min.  It wasn't necessary for vertical-motion to
	work, and it had some adverse effects on how font-lock rules were
	applied
	(https://lists.gnu.org/r/emacs-devel/2019-11/msg00522.html).
	This can also be an alternative fix for bug#38049.

2019-11-14  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix two bugs in the "state cache".

	This (along with a suggestion to the OP to set
	open-paren-in-column-0-is-defun-start to nil) fixes bug #37910.  It may also
	have fixed bug #5490 and bug #18072.

	* lisp/progmodes/cc-engine.el (c-state-cache-non-literal-place): Remove this
	non-sensical function, replacing it with ....
	(c-state-cache-lower-good-pos): New function.
	(c-renarrow-state-cache, c-append-lower-brace-pair-to-state-cache)
	(c-remove-stale-state-cache, c-remove-stale-state-cache-backwards): Instead of
	altering the state-cache list structure with setcar and setcdr, use setq and
	consing.
	(c-parse-state-1): Call c-state-cache-lower-good-pos rather than
	c-state-cache-non-literal-place.

2019-11-14  Robert Pluim  <rpluim@gmail.com>

	Remove unneeded font_is_ignored prototype

	* src/gtkutil.h: Remove unneeded prototype for font_is_ignored,
	it's in font.h now.

2019-11-14  Phil Sainty  <psainty@orcon.net.nz>

	Merge branch 'scratch/so-long-updates'

2019-11-14  Phil Sainty  <psainty@orcon.net.nz>

	Make so-long disable flymake, flyspell, flycheck

	* lisp/so-long.el (so-long-minor-modes): Add flymake-mode, flyspell-mode,
	and flycheck-mode.

2019-11-14  Phil Sainty  <psainty@orcon.net.nz>

	Support loading so-long.el on top of an earlier version

	* lisp/so-long.el (so-long-version, so-long--latest-version): New variables.

	This enables users to safely load version 1.0 of so-long.el on top of
	an earlier version, as well as making provisions for doing likewise
	following any incompatible changes arising in future versions.

2019-11-14  Phil Sainty  <psainty@orcon.net.nz>

	Backwards-compatibility function definitions for so-long.el

	* lisp/so-long.el (so-long-inhibit-whitespace-mode)
	(so-long-make-buffer-read-only, so-long-revert-buffer-read-only)
	(so-long-inhibit-global-hl-line-mode): Restore dummy definitions of
	now-obsolete hook functions used by earlier versions of so-long.el,
	to support users who have saved these symbols in their customized
	values for the hooks in question.

2019-11-14  Phil Sainty  <psainty@orcon.net.nz>

	* lisp/so-long.el (so-long-unload-function): Improved feature unload

2019-11-14  Phil Sainty  <psainty@orcon.net.nz>

	Defer triggering `so-long' until the buffer is displayed

	* lisp/so-long.el (so-long-invisible-buffer-function): New user option.
	(so-long--set-auto-mode): Use so-long-invisible-buffer-function.
	(so-long-deferred): New function/value for so-long-invisible-buffer-function.
	(so-long, so-long--disable): Support for so-long-deferred.

	* test/lisp/so-long-tests/autoload-longlines-mode-tests.el
	* test/lisp/so-long-tests/autoload-major-mode-tests.el
	* test/lisp/so-long-tests/autoload-minor-mode-tests.el
	* test/lisp/so-long-tests/so-long-tests.el:
	Support for so-long-deferred.

	Pre-existing tests have been updated to ensure the buffer is already
	displayed in cases where a call to `normal-mode' is the (potential)
	trigger for `so-long'.

2019-11-14  Eli Zaretskii  <eliz@gnu.org>

	Fix recent documentation changes

	* doc/lispref/minibuf.texi (Multiple Queries): Move the
	reference to 'read-char-from-minibuffer' from here...
	* doc/lispref/commands.texi (Reading One Event): ...to here.
	Fix the wording of the description of
	'read-char-from-minibuffer'.

2019-11-14  Robert Pluim  <rpluim@gmail.com>

	Make GTK font chooser respect face-ignored-fonts

	* src/font.c (font_delete_unmatched): Move Vface_ignored_fonts
	matching to...
	(font_is_ignored): ..Here.  New function.
	* src/gtkutil.c (xg_font_filter): New function, uses font_is_ignored
	to filter fonts.
	(xg_get_font): Set GTK font chooser filter to xg_font_filter.
	* src/gtkutil.h: Add prototype for font_is_ignored.

2019-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>

	Obsolete rfc2047-quote-special-characters-in-quoted-strings (bug#38200)

	* lisp/mail/rfc2047.el
	(rfc2047-quote-special-characters-in-quoted-strings): Make obsolete
	instead of removing it.

2019-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>

	Remove rfc2047-quote-special-characters-in-quoted-strings (bug#38200)

	* lisp/mail/rfc2047.el
	(rfc2047-quote-special-characters-in-quoted-strings): Remove function.
	(rfc2047-encode-message-header, rfc2047-encode-region): Don't use it.

2019-11-13  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	(vc-default-update-on-retrieve-tag): Accept backend argument

	* lisp/vc/vc.el (vc-default-update-on-retrieve-tag): Accept
	backend argument (bug#38156).  This fixes a bug introduced in the
	previous patch.

2019-11-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix mouse-1 on Gnus article buffer buttons

	* lisp/gnus/gnus-art.el (gnus-article-add-button): Make mouse-1
	work as required by mouse-1-click-follows-link (bug#38144).

2019-11-13  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	VC: ability to skip update buffers prompt

	* lisp/vc/vc.el (vc-default-update-on-retrieve-tag): New function.
	(vc-retrieve-tag): Call `update-on-retrieve-tag' backend function
	to determine if prompt for update buffers is needed; Include tag
	name into the "Retrieving tag" message.
	* lisp/vc/vc-git.el (vc-git-update-on-retrieve-tag):
	* lisp/vc/vc-hg.el (vc-hg-update-on-retrieve-tag):
	* lisp/vc/vc-svn.el (vc-svn-udate-on-retrieve-tag): New functions.
	Buffers update prompt on `vc-retrieve-tag' is omitted (bug#38156).

2019-11-13  Braun Gábor  <braungb88@gmail.com>  (tiny change)

	Make clone-buffer not unbind global variable

	* lisp/simple.el (clone-buffer): Make clone-buffer not globally
	unset locally void variable (bug#38179).

2019-11-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Update signature in etc/DISTRIB

	* etc/DISTRIB: Update signature (bug#38188).

2019-11-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make dired-do-compress-to require format-spec

	* lisp/dired-aux.el (dired-do-compress-to): Require format-spec
	runtime (bug#38189).

2019-11-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow using edebug-remove-instrumentation more fine-grained

	* lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation):
	Prompt the user for what functions to remove instrumentation from
	a la cancel-edebug-on-entry (bug#38195).

2019-11-13  Stephen Gildea  <stepheng+emacs@gildea.com>

	time-stamp: update support for time zone numeric offset

	* lisp/time-stamp.el (time-stamp-string-preprocess): Change new format for
	numeric time zone from %:z to %5z to match format-time-string better.
	(time-stamp-format): Document support for numeric time zone.
	See discussion in bug#32931.

	* NEWS: Mention time-stamp-format %5z.

2019-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>

	Don't show Attachment(s) header in html article viewed with browse-url

	* lisp/gnus/gnus-art.el (gnus-article-browse-html-article):
	Bind gnus-mime-display-attachment-buttons-in-header to nil.

2019-11-13  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el (tab-line-tabs-buffer-list): Use window-prev-buffers too.

	* lisp/tab-line.el (tab-line-tabs-buffer-list): Move window-prev-buffers here
	from tab-line-tabs-buffer-groups.

2019-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	Fix double-rounding bug in ceiling etc.

	This is doable now that we have bignums.
	* src/floatfns.c (integer_value): Remove; no longer used.
	(rescale_for_division): New function.
	(rounding_driver): Use it to divide properly (by using bignums)
	even when arguments are float, fixing a double-rounding FIXME.
	* src/lisp.h (LOG2_FLT_RADIX): Move here ...
	* src/timefns.c (frac_to_double): ... from here.
	* test/src/floatfns-tests.el (big-round):
	Add a test to catch the double-rounding bug.

2019-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	Refactor bignum multiplication, exponentiation

	This doesn’t alter behavior, and simplifies the next commit.
	* src/bignum.c (GMP_NLIMBS_MAX, NLIMBS_LIMIT, emacs_mpz_size)
	(emacs_mpz_mul, emacs_mpz_mul_2exp, emacs_mpz_pow_ui): Move here ...
	* src/data.c: ... from here.

2019-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	Refactor double integer scaling

	This doesn’t alter behavior, and simplifies a future commit.
	* src/floatfns.c (double_integer_scale): New function,
	with body adapted from the old timefns.c.
	* src/timefns.c (decode_float_time): Use it.

2019-11-13  Michael Albinus  <michael.albinus@gmx.de>

	Finish last Tramp patch

	* lisp/net/tramp.el (outline-regexp): Remove declaration.
	(tramp-debug-outline-regexp): Add thread regexp.
	(tramp-debug-font-lock-keywords): New defconst.
	(tramp-debug-outline-level): Adapt to changed
	`tramp-debug-outline-regexp'.
	(tramp-get-debug-buffer): Use `tramp-debug-font-lock-keywords'.

2019-11-13  Robert Pluim  <rpluim@gmail.com>

	Add "Noto Color Emoji" to face-ignored-fonts

	* src/xfaces.c (syms_of_xfaces) [HAVE_XFT]: Add "Noto Color Emoji" to
	face-ignored-fonts (Bug#37786).

2019-11-13  Michael Albinus  <michael.albinus@gmx.de>

	Some refinement in Tramp debug buffer.

	* lisp/net/tramp.el (outline-regexp): Remove declaration.
	(tramp-debug-font-lock-keywords): New defconst.
	(tramp-get-debug-buffer): Use it.

2019-11-13  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp docstrings according to checkdoc

	* lisp/net/tramp.el (tramp-backup-directory-alist)
	(tramp-echoed-echo-mark-regexp, tramp-syntax-values)
	(tramp-lookup-syntax, tramp-build-prefix-format)
	(tramp-build-prefix-regexp, tramp-build-method-regexp)
	(tramp-build-postfix-method-format)
	(tramp-build-postfix-method-regexp)
	(tramp-build-prefix-ipv6-format, tramp-build-prefix-ipv6-regexp)
	(tramp-build-postfix-ipv6-format)
	(tramp-build-postfix-ipv6-regexp)
	(tramp-build-postfix-host-format)
	(tramp-build-postfix-host-regexp, tramp-unknown-id-string)
	(tramp-unknown-id-integer, tramp-build-file-name-regexp)
	(tramp-build-completion-file-name-regexp, tramp-chunksize)
	(tramp-find-method, tramp-find-user, tramp-find-host)
	(tramp-dissect-file-name, tramp-get-buffer)
	(tramp-get-connection-buffer, tramp-debug-message, tramp-error)
	(with-tramp-connection-property, tramp-run-real-handler)
	(tramp-file-name-for-operation, tramp-file-name-handler)
	(tramp-completion-file-name-handler)
	(tramp-completion-handle-file-name-completion)
	(tramp-completion-dissect-file-name)
	(tramp-completion-dissect-file-name1)
	(tramp-handle-file-name-as-directory)
	(tramp-handle-file-name-directory)
	(tramp-handle-file-name-nondirectory, tramp-mode-string-to-int)
	(tramp-file-mode-from-int):
	* lisp/net/tramp-adb.el (tramp-adb-file-name-p):
	* lisp/net/tramp-archive.el (tramp-archive-run-real-handler)
	(tramp-archive-file-name-handler)
	(tramp-archive-dissect-file-name)
	(with-parsed-tramp-archive-file-name)
	(tramp-archive-gvfs-file-name, tramp-archive-handle-access-file):
	* lisp/net/tramp-cmds.el (tramp-list-remote-buffers):
	* lisp/net/tramp-compat.el (tramp-unload-file-name-handlers)
	(tramp-compat-funcall, tramp-compat-tramp-file-name-slots):
	* lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler)
	(tramp-ftp-file-name-p):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-p)
	(tramp-gvfs-file-name-handler)
	(tramp-gvfs-stringify-dbus-message)
	(tramp-gvfs-monitor-process-filter)
	(tramp-gvfs-handler-mounted-unmounted):
	* lisp/net/tramp-integration.el
	(tramp-rfn-eshadow-update-overlay-regexp):
	* lisp/net/tramp-rclone.el (tramp-rclone-file-name-p)
	(tramp-rclone-file-name-handler, tramp-rclone-send-command):
	* lisp/net/tramp-sh.el (tramp-sh--quoting-style-options)
	(tramp-sh-gio-monitor-process-filter)
	(tramp-sh-gvfs-monitor-dir-process-filter)
	(tramp-sh-inotifywait-process-filter, tramp-find-executable)
	(tramp-set-remote-path, tramp-open-shell, tramp-find-shell)
	(tramp-send-command-and-check, tramp-shell-case-fold)
	(tramp-get-remote-path):
	* lisp/net/tramp-smb.el (tramp-smb-file-name-p)
	(tramp-smb-file-name-handler)
	(tramp-smb-do-file-attributes-with-stat)
	(tramp-smb-handle-substitute-in-file-name)
	(tramp-smb-get-stat-capability, tramp-smb-shell-quote-argument):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-p)
	(tramp-sudoedit-file-name-handler)
	(tramp-sudoedit-send-command-string):
	* test/lisp/net/tramp-archive-tests.el (tramp-archive-test-all):
	* test/lisp/net/tramp-tests.el (tramp--test-gvfs-p)
	(tramp--test-with-proper-process-name-and-buffer)
	(tramp-test-all): Adapt docstrings according to `checkdoc'.

2019-11-13  João Távora  <joaotavora@gmail.com>

	Avoid fido-mode's setup on non-icomplete minibuffers

	Otherwise we would lose things like C-r (isearch-backward) when doing
	simple stuff like non-icomplete pp-eval-expression.

	* lisp/icomplete.el (icomplete--fido-mode-setup): Restrict setup
	to when icomplete-mode really kicks in.

2019-11-12  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el (tab-line-tabs-buffer-list-function): New variable.

	(tab-line-tabs-buffer-list): New function.
	(tab-line-tabs-mode-buffers, tab-line-tabs-buffer-groups):
	Call tab-line-tabs-mode-buffers.
	(tab-line-tabs-buffer-groups): Add 'close' function that uses
	kill-buffer instead of bury-buffer that makes no sense here.
	(tab-line-format): Don't show the close button when a tab
	has no 'close' function or buffer.
	(tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab):
	Support tabs with 'buffer' properties.
	(tab-line-close-tab): Call 'close' function when defined.

2019-11-12  Juri Linkov  <juri@linkov.net>

	* lisp/dired.el (dired-dwim-target): Add new choices (bug#35385)

	* lisp/dired.el (dired-dwim-target): Add choices
	dired-dwim-target-next and dired-dwim-target-recent.

	* lisp/dired-aux.el (dired-dwim-target-next)
	(dired-dwim-target-recent): New functions.
	(dired-dwim-target-directories): Call either of them.

	* doc/emacs/dired.texi (Operating on Files): Mention new
	preferences in dired-dwim-target.

2019-11-12  Paul Eggert  <eggert@cs.ucla.edu>

	Conditionally omit edition numbers, dates in doc

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

2019-11-12  Martin Rudalics  <rudalics@gmx.at>

	Make sure buffer is live before retrieving underline properties (Bug#38038)

	* src/window.h (WINDOW_BUFFER_LOCAL_VALUE): New macro.
	* src/nsterm.m (ns_draw_text_decoration):
	* src/w32term.c (w32_draw_glyph_string):
	* src/xterm.c (x_draw_glyph_string): Make sure buffer is live
	before retrieving underline properties from it (Bug#38038).

2019-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/easymenu.el (easy-menu-make-symbol): Fix last change

2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix a few more minor quoting problems.

2019-11-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename font-log-refontify

	* lisp/font-lock.el (font-lock-debug-fontify): Rename to make it
	clearer what the function is for.
	* doc/lispref/modes.texi (Font Lock Basics): Ditto.

2019-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/startup.el (command-line): Fix last change in package--activated

2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some quoting glitches in doc strings

2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix quoting glitch in formatting Gnus messages

	* lisp/gnus/gnus-util.el (defmacro, gnus-message): Use
	‘format-message’, not ‘format’, to be compatible with ‘message’.

2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix glitch in generating cxterm doc strings

	* lisp/international/titdic-cnv.el (tit-process-header):
	In generated doc strings, escape \, ", ', and ` properly.
	Currently only ' appears but we might as well future-proof this.

2019-11-11  Wilson Snyder  <wsnyder@wsnyder.org>

	Verilog-Mode collected updates.

	* lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix to skip
	over base64-encoded protected data while reading AUTO declarations.
	Reported by Berend Ozceri.
	(verilog-auto-inst-port, verilog-auto-inst-vector): Support 'unsigned'
	in `verilog-auto-inst-vector'. Reported by Jeff Riley.
	(verilog-read-decls): Fix to ignore `line in AUTOINST, git
	bug18. Reported by Berend Ozceri.
	(verilog-library-extensions): Support .va /.vah/.sva/.svah file
	extensions to load verilog-mode for Verilog-AMS.  Reported by Shareef
	Jalloq.
	(verilog-read-sub-decls-expr): Fix AUTOOUTPUT etc misparsing Verilog
	casts, bug1526.  Reported by Udi Finkelstein.

2019-11-11  Stefan Kangas  <stefankangas@gmail.com>

	Add several configuration files to auto-mode-alist

	* lisp/files.el (auto-mode-alist): Use conf-mode for .asoundrc,
	.mairixrc, .mbsyncr, .msmtprc, .nvidia-settings-rc, .offlineimaprc,
	.reportbugrc, .rtorrent.rc, .screenrc, .mpdconf, .notmuch-config.  Use
	conf-windows-mode for .redshift.conf.  (Bug#38065)

2019-11-10  Paul Eggert  <eggert@cs.ucla.edu>

	Document Lisp floats a bit better

	* doc/lispref/numbers.texi (Float Basics):
	* doc/misc/cl.texi (Implementation Parameters):
	* lisp/emacs-lisp/cl-lib.el (cl-most-positive-float)
	(cl-least-positive-float)
	(cl-least-positive-normalized-float, cl-float-epsilon)
	(cl-float-negative-epsilon):
	Document IEEE floating point better.  Don’t suggest that Emacs
	might use some floating-point format other than IEEE format, as
	Emacs currently assumes IEEE in several places and there seems
	little point in removing those assumptions.

2019-11-10  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Better handling of closed-tabs in tab-bar-list.

	* lisp/tab-bar.el (tab-bar-list-delete-from-list): Add closed tab to
	tab-bar-closed-tabs.
	(tab-bar-list-select): Don't add the closed intermediate tab to
	tab-bar-closed-tabs.

2019-11-10  Juri Linkov  <juri@linkov.net>

	* lisp/autorevert.el: Use 'minibuffer-message' to not obscure the prompt.

	* lisp/autorevert.el (auto-revert-handler): Use 'minibuffer-message'
	instead of 'message'.  Call it from the original window's buffer
	that in case of the minibuffer should be current, so
	minibuffer-message could add a message to it.  (Bug#34614)

	* lisp/emacs-lisp/ert-x.el (ert--make-message-advice): Add nil to
	the list of values to not use for format-message, because
	minibuffer-message calls 'message' with nil argument, and tests fail.

2019-11-10  Stefan Kangas  <stefankangas@gmail.com>
	    Drew Adams  <drew.adams@oracle.com>

	Make dired-get-subdir-min obsolete

	* lisp/dired.el (dired-get-subdir-min): Redefine as obsolete function
	alias for 'cdr'.  (Bug#11571)
	(dired-get-subdir, dired-get-subdir-max, dired-clear-alist)
	(dired-next-subdir, dired-current-directory):
	* lisp/dired-aux.el (dired-rename-subdir-2)
	(dired-alist-sort, dired-insert-subdir-del)
	(dired-insert-subdir-doupdate, dired-goto-subdir)
	(dired-hide-subdir, dired-hide-all): Use 'cdr' instead of
	the above obsolete function.
	(dired-subdir-alist): Doc fix.

2019-11-10  Juri Linkov  <juri@linkov.net>

	Move read-char-from-minibuffer from simple.el to subr.el and document it.

	* doc/lispref/minibuf.texi (Multiple Queries):
	Document read-char-from-minibuffer (bug#10477, bug#38076).

	* lisp/subr.el (read-char-history)
	(read-char-from-minibuffer-map)
	(read-char-from-minibuffer-map-hash)
	(read-char-from-minibuffer-insert-char)
	(read-char-from-minibuffer-insert-other, empty-history)
	(read-char-from-minibuffer): Move from simple.el to subr.el.

2019-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/wisent/comp.el (wisent-struct): Remove

	(core, shifts, reductions, errs): Use cl-defstruct instead.
	Adjust all users of the set-<struct>-<field> setters to use
	`setf` instead.

2019-11-09  Jimmy Aguilar Mena  <spacibba@aol.com>

	Add extra bindings to fido-mode.

	* lisp/icomplete.el (icomplete-fido-mode-map) : Add arrows and other
	bindings to reproduce ido behavior.

2019-11-09  Glenn Morris  <rgm@gnu.org>

	Disable a portion of one doc-test

	* test/src/doc-tests.el (doc-test-substitute-command-keys):
	Disable component that fails twice in the past 5 weeks
	due to changes in the minibuffer map.

2019-11-09  Juri Linkov  <juri@linkov.net>

	Don't overwrite y-or-n-p prompt by message from asynchronous man (bug#19064)

	* lisp/man.el (Man-bgproc-sentinel): Postpone displaying the message
	and deleting the buffer until exiting the code block with
	with-current-buffer.  Use minibuffer-message to display message
	to handle possibly active minibuffer.

2019-11-09  Juri Linkov  <juri@linkov.net>

	Don't obscure the minibuffer by message (bug#17272)

	* lisp/subr.el (do-after-load-evaluation): Use minibuffer-message
	to not obscure a possibly active minibuffer.

	* lisp/minibuffer.el (minibuffer-message):
	Record message in the *Messages* buffer.

2019-11-09  Juri Linkov  <juri@linkov.net>

	Use the minibuffer to read answer in userlock.el (bug#38076)

	* lisp/userlock.el: Rename 'fn' to 'filename'.
	(ask-user-about-supersession-threat): Use read-char-from-minibuffer
	instead of read-char-choice.

2019-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/startup.el (package--activated): Fix redundant definition

2019-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/ffap.el (ffap-read-file-or-url): Don't use url-file-handler

	Simplify accordingly (and don't call substitute-in-file-name redundantly).

2019-11-09  Juri Linkov  <juri@linkov.net>

	hack-local-variables-confirm uses the minibuffer to read answer (bug#38076)

	* lisp/files.el (hack-local-variables-confirm):
	Use read-char-from-minibuffer instead of read-char-choice.
	Remove special handling of original window scrolling
	that is now supported in the minibuffer.  This fixes
	https://lists.gnu.org/r/emacs-devel/2019-10/msg01020.html
	(files--ask-user-about-large-file): Use read-char-from-minibuffer
	instead of read-char-choice.

2019-11-09  Juri Linkov  <juri@linkov.net>

	Add CHARS arg to read-char-from-minibuffer compatible with read-char-choice.

	* lisp/simple.el (read-char-history):
	Rename from read-char-from-minibuffer-history.  (Bug#38076)
	(read-char-from-minibuffer-insert-char):
	Rename from read-char-from-minibuffer-self-insert.
	(read-char-from-minibuffer-map-hash): New defconst.
	(read-char-from-minibuffer-insert-other): New command.
	(read-char-from-minibuffer): Add optional args CHARS and HISTORY.
	(zap-to-char): Use 'read-char-history as HISTORY arg of
	read-char-from-minibuffer.

	* lisp/emacs-lisp/map-ynp.el (read-answer): Use sit-for instead of sleep-for.
	Replace short answer history yes-or-no-p-history with read-char-history.

2019-11-09  Juri Linkov  <juri@linkov.net>

	'y-or-n-p' now uses the minibuffer to read 'y' or 'n' answer (bug#38076)

	* doc/lispref/minibuf.texi (Yes-or-No Queries): Update the fact
	that y-or-n-p uses the minibuffer.

	* lisp/subr.el (y-or-n-p-history-variable): New variable.
	(y-or-n-p-map): New keymap.
	(y-or-n-p-insert-y, y-or-n-p-insert-n, y-or-n-p-insert-other):
	New commands.
	(y-or-n-p): Rewrite to use read-from-minibuffer and make-composed-keymap
	with y-or-n-p-map and query-replace-map.

2019-11-09  Juri Linkov  <juri@linkov.net>

	Run scroll/recenter commands from minibuffer in original window (bug#38076)

	* lisp/minibuffer.el (with-minibuffer-selected-window): New macro.
	(minibuffer-recenter-top-bottom, minibuffer-scroll-up-command)
	(minibuffer-scroll-down-command, minibuffer-scroll-other-window):
	(minibuffer-scroll-other-window-down): New commands.
	(minibuffer-local-map): Remap recenter/scroll symbols to their
	minibuffer wrappers: recenter-top-bottom to minibuffer-recenter-top-bottom.

	* src/window.c (Fother_window_for_scrolling): Use 'lambda' value for
	MINIBUF arg of Fnext_window, so minibuffer-scroll-other-window and
	minibuffer-scroll-other-window-down doesn't try to scroll the
	minibuffer window.

2019-11-09  Karl Fogel  <kfogel@red-bean.com>

	Improve an error about the message signer

	* lisp/gnus/mml-sec.el (mml-secure-epg-sign): Don't suggest setting
	  `mml-secure-smime-sign-with-sender' if it's already non-nil.

2019-11-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix font-lock-keywords slightly

	* lisp/font-lock.el (font-lock-keywords): Tweak doc string
	slightly (bug#35005).

2019-11-09  Eli Zaretskii  <eliz@gnu.org>

	Fix case-insensitive completion of buffer names

	* test/src/minibuf-tests.el (test-try-completion-ignore-case):
	New test, suggested by Stefan Monnier <monnier@iro.umontreal.ca>.

	* src/minibuf.c (Ftry_completion): Don't treat strings that
	are identical but for the case as if they were identical for
	the purposes of not counting the same string twice.  This
	fixes case-insensitive completion when all the candidates are
	identical but for the letter-case.  (Bug#11339)

2019-11-09  Eli Zaretskii  <eliz@gnu.org>

	Fix an error in selecting encoding when writing zip files

	* lisp/international/mule-cmds.el (select-safe-coding-system):
	Treat no-conversion-multibyte that came from find-auto-coding
	the same as no-conversion for the purposes of encoding.  The
	same logic that considers no-conversion always safe should do
	the same with no-conversion-multibyte.  (Bug#38155)

2019-11-09  Glenn Morris  <rgm@gnu.org>

	* lisp/progmodes/cc-vars.el (c-mark-wrong-style-of-comment):
	Fix version.

2019-11-09  João Távora  <joaotavora@gmail.com>

	Revert "Nudge icomplete-mode a little closer to fido-mode"

	Fixes bug#38131.

	This is not the best way to have fido-mode emulate that particular bit
	of ido-mode.

	This reverts commit 5761a1a3939e23d8e8c725241dd9398a12f191b0.

2019-11-09  João Távora  <joaotavora@gmail.com>

	Rename some commands to reflect they are fido-mode specific

	* lisp/icomplete.el (icomplete-fido-kill)
	(icomplete-fido-delete-char, icomplete-fido-ret)
	(icomplete-fido-backward-updir): Rename from icomplete-magic-ido-*
	versions.
	(icomplete-fido-mode-map): Use new command names.

2019-11-09  João Távora  <joaotavora@gmail.com>

	Protect flex's display-sort-function against 0-length candidates

	* lisp/minibuffer.el (completion--flex-adjust-metadata): Assume a
	candidate missing a score has a score of 0.

2019-11-09  Alan Mackenzie  <acm@muc.de>

	Widen around c-font-lock-fontify-region.  This fixes bug #38049.

	* lisp/progmodes/cc-mode.el (c-font-lock-fontify-region): Widen in this function,
	to ensure that the CC Mode font locking mechanism can examine characters
	outside the given region.

2019-11-09  Alan Mackenzie  <acm@muc.de>

	CC Mode.  Allow fontification of "wrong" style comments with warning face.

	This fixes bug #4192.

	* etc/NEWS: Add a new entry.

	* lisp/progmodes/cc-defs.el (c-font-lock-flush): New macro.

	* lisp/progmodes/cc-cmds.el (c-toggle-comment-style): On toggling the comment
	style, invoke c-font-lock-flush when c-mark-wrong-style-of-comment is non-nil,
	to cause that marking to be done instead on the other style of comment.

	* lisp/progmodes/cc-fonts.el (c-maybe-font-lock-wrong-style-comments): New
	function.
	(c-cpp-matchers): Call c-maybe-font-lock-wrong-style-comments when
	appropriate.

	* lisp/progmodes/cc-vars.el (c-mark-wrong-style-of-comment): New customizable
	option.

	* doc/misc/cc-mode.texi (top level, Indentation Commands, Guessing the Style,
	Custom Macros): For some opening quote marks, correct '' to ``.
	(Minor Modes): Add an xref to the new page "Wrong Comment Style" in a
	footnote.
	(Wrong Comment Style): New page.

2019-11-09  Nick Helm  <nick@tenpoint.co.nz>

	Fix unresponsive Help menu in macOS

	* src/nsterm.m (ns_check_menu_open): Don't postpone mouse drag and
	non-user-generated mouse down events (Bug#31371).

2019-11-09  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warnings in addpm.c and ddeclient.c

	* nt/ddeclient.c (DdeCallback):
	* nt/addpm.c (DdeCallback): Modify types of the last 2
	arguments to avoid compiler warnings in 64-bit builds.
	(Bug#38040)

2019-11-09  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* lisp/simple.el (goto-history-element)
	(next-history-element): Fix quoting of "future history".

	* doc/lispref/minibuf.texi (Minibuffer Commands)
	(Text from Minibuffer): Add index entry and cross-reference
	for "future history".  (Bug#38026)

2019-11-09  Hong Xu  <hong@topbug.net>

	Mention future history in history-related minibuffer commands

	* lisp/simple.el (goto-history-element):
	* doc/lispref/minibuf.texi (Minibuffer Commands): Explain
	negative NABS.
	* lisp/simple.el (next-history-element):
	* doc/lispref/minibuf.texi (Minibuffer Commands): Mention
	"future history."  (Bug#38026)

2019-11-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some quoting glitches in doc strings

	This also fixes a misplaced "only".

2019-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/ffap.el (ffap-read-file-or-url): Fix some URL cases

	* lisp/ffap.el (ffap-read-file-or-url): Simplify further

2019-11-08  Thierry Volpiatto  <thierry.volpiatto@gmail.com>

	* lisp/ffap.el (ffap-read-file-or-url): Use `read-file-name`

	Since we use `url-handler-mode` to deal with URLs, `read-file-name`
	works just as well, with the added benefit that it interacts correctly
	with packages that rebind `read-file-name-function`, such as Helm.

	(ffap-read-url-internal, ffap-read-file-or-url-internal): Remove, unused.

2019-11-08  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows version reference in FAQ

	* doc/misc/efaq-w32.texi (Which versions of Windows): Clarify that we
	support all recent versions of MS-Windows.  (Bug#38023)

2019-11-08  João Távora  <joaotavora@gmail.com>

	Nudge icomplete-mode a little closer to fido-mode

	* lisp/icomplete.el (icomplete-completions): Don't use ellipsis when
	truncating determ in fido-mode.  Highlight the center part of
	determ with icomplete-first-match.

2019-11-08  João Távora  <joaotavora@gmail.com>

	Have pcm styles apply faces to face prop, not font-lock-face

	This is the way the basic completion styles work.  This fixes
	candidate highlighting in icomplete.

	* lisp/minibuffer.el (completion-pcm--hilit-commonality): Apply
	faces to 'face property, not font-lock-face.

2019-11-08  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in ELisp manual

	* doc/lispref/lists.texi (Sets And Lists): Minor rewording of
	the "Common Lisp note".  (Bug#37811)

2019-11-08  Robert Pluim  <rpluim@gmail.com>

	Ensure building and running on non-IPv6 capable hosts works

	* src/process.c (Fmake_network_process) [AF_INET6]: Only build ::1
	localhost when IPv6 is supported.
	(Fnetwork_lookup_address_info) [AF_INET6]: Move check for Qipv6 inside
	ifdef, since its definition depends on AF_INET6.  Don't return IPv6
	addresses when they're not supported.

	* test/src/process-tests.el (lookup-family-specification,
	lookup-google): Only do IPv6 lookup if IPv6 is supported.

2019-11-08  Jimmy Aguilar Mena  <spacibba@aol.com>

	Handle case where a face's :extend attribute is unspecified (Bug#37774)

	* src/xfaces.c (merge_face_vectors, merge_named_face): Handle case
	where the :extend attribute's value is 'unspecified' (Bug#37774).

2019-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/easymenu.el: Don't quote lambdas

	(easy-menu-do-define, easy-menu-make-symbol): Replace `(lambda ..)
	with a closure.

2019-11-07  Michael Albinus  <michael.albinus@gmx.de>

	Handle different system names of w32 in Tramp (Bug#38079)

	* lisp/net/tramp.el (tramp-restricted-shell-hosts-alist):
	Initialize with `system-name' in small and capital chars.

2019-11-07  Robert Pluim  <rpluim@gmail.com>

	Describe IPv6 format in docstring for 'make-network-process'

	* src/process.c (Fmake_network_process): Add description of IPv6
	address format.

2019-11-07  Eli Zaretskii  <eliz@gnu.org>

	Revert "Don't flash previous buffer when connecting with emacsclient"

	This reverts commit 49fc040077b33bd1e78ee425575e76329b772a41.
	It turns out that the fix for a minor aesthetical annoyance
	caused much more serious bugs: bug#31038, bug#35726, Bug#37097,

2019-11-07  Andrii Kolomoiets  <andreyk.mad@gmail.com>

	python.el: Pdbtracking improvements

	Allow not to kill buffers when pdbtracking session is finished.
	Pdbtracking session considered finished judging from the user input.

	* lisp/progmodes/python.el (python-pdbtrack-kill-buffers): New
	customizable variable.
	(python-pdbtrack-set-tracked-buffer): Use it.
	(python-pdbtrack-unset-tracked-buffer)
	(python-pdbtrack-tracking-finish): New functions.
	(python-pdbtrack-continue-command, python-pdbtrack-exit-command):
	New customizable variables.
	(python-pdbtrack-process-sentinel): New function.  Finish
	pdbtracking session when process is killed.
	(python-pdbtrack-prev-command-continue): New variable.
	(python-pdbtrack-comint-input-filter-function): New function.
	Finish pdbtracking session based on commands sent to pdb.
	(python-pdbtrack-comint-output-filter-function): Unset/set
	tracking buffer if looking at pdb prompt; finish pdbtracking
	session if filename of current stack frame starts with
	"<" e.g. "<stdin>".
	(python-pdbtrack-comint-output-filter-function): Don't override
	overlay-arrow-string.
	(python-pdbtrack-setup-tracking): New function.
	(inferior-python-mode): Use it.
	(python-pdbtrack-stacktrace-info-regexp): Default value is changed.
	Must also match lines with filename like "<stdin>" and "<string>".
	* etc/NEWS: Mention python-pdbtrack-kill-buffers

2019-11-07  Michael Albinus  <michael.albinus@gmx.de>

	Make ange-ftp fit for tramp-tests

	* lisp/net/ange-ftp.el (ange-ftp-repaint-minibuffer): Use empty message.
	(ange-ftp-quote-string): Unquote the string.
	(ange-ftp-substitute-in-file-name, ange-ftp-access-file)
	(ange-ftp-copy-directory, ange-ftp-make-symbolic-link)
	(ange-ftp-add-name-to-file): New defuns.  Set 'ange-ftp property.
	(ange-ftp-real-substitute-in-file-name)
	(ange-ftp-real-copy-directory): New defuns.
	(ange-ftp-file-name-as-directory): Care about `non-essential'.
	(ange-ftp-file-attributes): Handle ID-STRING.
	(ange-ftp-copy-file-internal, ange-ftp-rename-file)
	(ange-ftp-make-directory): Improve error handling.
	(ange-ftp-insert-directory): Initialize SWITCHES if they are nil.

	* test/lisp/net/tramp-tests.el (ange-ftp-make-backup-files): Declare.
	(tramp-test39-make-nearby-temp-file, tramp--test-ange-ftp-p): New defun.
	(tramp-test05-expand-file-name-relative)
	(tramp-test06-directory-file-name, tramp-test10-write-region)
	(tramp-test11-copy-file, tramp-test12-rename-file)
	(tramp-test17-insert-directory)
	(tramp-test26-file-name-completion)
	(tramp-test37-make-auto-save-file-name)
	(tramp-test38-find-backup-file-name)
	(tramp--test-special-characters): Use it.

2019-11-06  Stefan Kangas  <stefankangas@gmail.com>

	Clean up major mode check in package-menu-mode

	* lisp/emacs-lisp/package.el (package--ensure-package-menu-mode):
	Extract function to warn about incorrect major mode...
	(package-menu-toggle-hiding, package-menu-refresh)
	(package-menu-execute): ...from here.
	(package-menu--mark-upgrades-1): And here, but move call...
	(package-menu-mark-upgrades): ...here instead.
	(package-menu-hide-package, package-menu-mark-delete)
	(package-menu-mark-install, package-menu-mark-unmark)
	(package-menu-quick-help, package-menu-get-status)
	(package-menu-filter-by-keyword, package-menu-filter-by-name)
	(package-menu-clear-filter): Add call to new function.  (Bug#37891)

2019-11-06  Stefan Kangas  <stefankangas@gmail.com>

	Test that comint-password-prompt-regexp matches "git push"

	* test/lisp/comint-tests.el (comint-testsuite-password-strings): Test
	that 'comint-password-prompt-regexp' matches 'git push'
	output.  (Bug#20910)

2019-11-06  Juri Linkov  <juri@linkov.net>

	* lisp/dired-aux.el (dired-vc-rename-file): New defcustom.

	(dired-rename-file): Call vc-rename-file when dired-vc-rename-file is non-nil.

	* lisp/vc/vc.el (vc-rename-file): Allow renaming added files.
	Call vc-file-clearprops on new file too for the case when
	old and new files were renamed to each other back and forth.

	https://lists.gnu.org/r/emacs-devel/2019-11/msg00069.html

2019-11-06  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-history-old): Rename from tab-bar-history-current.

	(tab-bar-history-old-minibuffer-depth):
	Rename from tab-bar-history--minibuffer-depth.

2019-11-06  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el: More configurability for tab buffer groups.

	* lisp/tab-line.el (tab-line-tabs-buffer-group-function)
	(tab-line-tabs-buffer-group-sort-function)
	(tab-line-tabs-buffer-groups-sort-function): New defvars.
	(tab-line-tabs-buffer-group-name): Rename from
	tab-line-tabs-buffer-groups--name and use tab-line-tabs-buffer-group-function.
	(tab-line-tabs-buffer-groups): Use tab-line-tabs-buffer-groups-sort-function
	and tab-line-tabs-buffer-group-sort-function.
	(tab-line-new-tab): Let bind tab-line-tabs-buffer-groups to
	mouse-buffer-menu-mode-groups.

2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify fixnum division slightly

	* src/data.c (arith_driver): Streamline fixnum division a bit
	more, and add a comment about why overflow is impossible.
	This responds to a private comment by Stefan Monnier.

2019-11-06  Alan Mackenzie  <acm@muc.de>

	Add a full set of CC Mode language variables to js.el.

	This will allow js.el to work after maintenance changes in CC Mode, e.g. the
	fix to bug #11165.

	* lisp/progmodes/js.el (top level): Create a CC Mode derived language called
	js-mode and based on Java Mode.
	(js-mode): call c-init-language-vars for js-mode.  Remove the direct settings
	of several CC Mode language variables which are now defined through the
	derived language mechanism.  Call c-set-style and set up the needed style
	variables c-block-comment-prefix and c-comment-prefix-regexp.

2019-11-06  Eli Zaretskii  <eliz@gnu.org>

	Minor fix in the Emacs manual

	* doc/emacs/msdos.texi (ls in Lisp): Fix the description of
	'ls-lisp-verbosity'.  (Bug#38077)

2019-11-06  Stephen Gildea  <stepheng+emacs@gildea.com>

	time-stamp: add support for time zone numeric offset

	* lisp/time-stamp.el: Implement %:z as expanding to the numeric time zone
	offset, to address the feature request of bug#32931.  Do not document it
	yet, to discourage compatibility problems in mixed Emacs 26 and Emacs 27
	environments.  Documentation will be added in a subsequent release at
	least two years later.  (We cannot yet use %z for numeric time zone
	because in Emacs 26 it was documented to do something else.)

	* test/lisp/time-stamp-tests.el (time-stamp-test-format-time-zone): expand this
	test and break it into two tests, time-stamp-test-format-time-zone-name
	and time-stamp-test-format-time-zone-offset.

2019-11-06  Michael Albinus  <michael.albinus@gmx.de>

	More error checks in Tramp's make-directory

	* lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-directory):
	* lisp/net/tramp-smb.el (tramp-smb-handle-make-directory):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-directory):
	Signal `file-already-exists' if DIR exists.

	* test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
	Fix thinko.
	(tramp-test13-make-directory, tramp-test14-delete-directory)
	(tramp-test15-copy-directory): Extend tests.

2019-11-06  Stefan Kangas  <stefankangas@gmail.com>

	Fix problem with my last commit in package.el

	* lisp/emacs-lisp/package.el (package-menu--refresh-archives): Rename
	from duplicated name package-menu--refresh.  (Bug#38084)
	(package-menu-mode, list-packages): Use new name.

2019-11-05  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-10-24 timespec-add, timespec-sub: simplify
	* lib/timespec-add.c, lib/timespec-sub.c:
	Copy from Gnulib.

2019-11-05  Paul Eggert  <eggert@cs.ucla.edu>

	Remove unneeded overflow check in integer division

	* src/data.c (arith_driver): Remove unnecessary runtime test,
	since integer overflow is impossible on division of fixnums,
	given that the worst case is MOST_NEGATIVE_FIXNUM / -1 which is
	representable as an EMACS_INT (albeit not as a fixnum).

2019-11-05  Stefan Kangas  <stefankangas@gmail.com>

	Avoid changing value of defcustom package-enable-at-startup

	* lisp/emacs-lisp/package.el (package--activated): New variable to
	avoid changing value of defcustom 'package-enable-at-startup'.
	(package-initialize): Don't set 'package-enable-at-startup'.
	(package-initialize, package-activate-all): Set 'package--activated'
	instead of 'package-enable-at-startup'.
	(package--initialized): Add doc string.

	* lisp/startup.el (command-line): Check if 'package--activated' is
	non-nil before activating packages.

	* doc/lispref/package.texi (Packaging Basics): Update docs.

2019-11-05  Stefan Kangas  <stefankangas@gmail.com>

	Make 'g' refresh package data in package menu

	* lisp/emacs-lisp/package.el (package-menu--refresh): Rename from
	'package-menu-refresh', make internal and non-interactive.
	(package-menu-mode-map, package-menu-mode-menu, package-menu-mode)
	(list-packages): Use the above.  (Bug#35504)
	(package-menu-refresh): Redefine as obsolete function alias for
	'revert-buffer'.
	* doc/emacs/package.texi (Package Menu): Document it.
	* etc/NEWS: Announce it.

2019-11-05  Stefan Kangas  <stefankangas@gmail.com>

	Rename *-multiframe-window to *-window-any-frame

	Suggested by Drew Adams.

	* lisp/frame.el
	(next-multiframe-window): Define as obsolete alias for...
	(next-window-any-frame): ...new function name.
	(previous-multiframe-window): Define as obsolete alias for...
	(previous-window-any-frame): ...new function name.  (Bug#12436)

	* lisp/term/ns-win.el (global-map): Use new command name.
	* doc/emacs/windows.texi (Other Window): Document it.
	* etc/NEWS: Announce it.

2019-11-05  João Távora  <joaotavora@gmail.com>

	Follow JSONRPC spec by not sending :result field on errors

	Also don't send :error field on non-errors.

	* lisp/jsonrpc.el (jsonrpc--reply): Don't send :result and :error
	if none supplied.
	(Version): Bump to 1.0.8

2019-11-05  Juri Linkov  <juri@linkov.net>

	Add prefix arg to more isearch commands (bug#14563)

	* lisp/isearch.el (isearch--yank-char-or-syntax)
	(isearch-yank-word-or-char, isearch-yank-symbol-or-char)
	(isearch-yank-until-char): Add optional prefix arg.

2019-11-05  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el: New option for tabs where buffers are grouped by mode.

	* lisp/tab-line.el (tab-line-tabs-function): Add option
	tab-line-tabs-buffer-groups.
	(tab-line-tabs-buffer-groups): New defvar defaulted to
	mouse-buffer-menu-mode-groups.
	(tab-line-tabs-buffer-groups--name, tab-line-tabs-buffer-groups):
	New functions.
	(tab-line-format): Support tabs in the format '(tab (name . "name") ...)'.
	(tab-line-select-tab): Move part of code to tab-line-select-tab-buffer.
	(tab-line-select-tab-buffer): New function.
	(tab-line-tab-current): Rename from tab-line-tab-selected.

2019-11-05  João Távora  <joaotavora@gmail.com>

	Document fido-mode

	* doc/emacs/buffers.texi (Icomplete): Document Fido Mode.

	* etc/NEWS: Mention Fido Mode.

	* lisp/icomplete.el (icomplete-mode): Ensure fido-mode is off.
	(fido-mode): Ensure icomplete-mode is off.
	(icomplete-magic-ido-ret): Don't force completions if no
	completions.

2019-11-05  João Távora  <joaotavora@gmail.com>

	New fido-mode, emulates ido-mode with icomplete-mode

	* lisp/icomplete.el (icomplete-fido-mode-map): New variable.
	(icomplete--fido-mode-setup): New function.
	(fido-mode): New global minor mode.

2019-11-05  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify byte-compiler in calculator.el

	* lisp/calculator.el (calculator-expt): Open-code cl-evenp to
	pacify warning “the function ‘cl-evenp’ might not be defined”.
	Problem reported by Juanma Barranquero in:
	https://lists.gnu.org/r/emacs-devel/2019-11/msg00118.html

2019-11-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* admin/unidata/uvs.el: Use lexical-binding

	* lisp/doc-view.el (doc-view--revert-buffer): Fix last change

2019-11-05  Stefan Kangas  <stefankangas@gmail.com>

	Declare unused macro package--push obsolete

	* lisp/emacs-lisp/package.el (package--push): Declare obsolete.

2019-11-05  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp's copy-directory

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
	Add `copy-directory'.

	* lisp/net/tramp.el (tramp-handle-copy-directory): New defun.

2019-11-05  Robert Pluim  <rpluim@gmail.com>

	Always check for client-certificates

	* lisp/net/network-stream.el
	(network-stream-use-client-certificates): New user option.
	(open-network-stream): If 'network-stream-use-client-certificates'
	is t, and the user hasn't specified :client-certificate, do
	certificate lookups via 'auth-source'.
	(network-stream-certificate): Only return key and certificate
	files that exist.

	* doc/lispref/processes.texi (Network): Document new
	client-certificate behavior.

	* etc/NEWS: Document 'network-stream-use-client-certificates'.

2019-11-04  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify calculator-expt

	* lisp/calculator.el (calculator-expt): Simplify, now that
	expt does the right thing if the first arg is -1, 0, or 1.

2019-11-04  Paul Eggert  <eggert@cs.ucla.edu>

	Overflow errors are range errors

	* etc/NEWS: Mention this.
	* doc/lispref/errors.texi (Standard Errors):
	Document overflow-error, which was formerly undocumented.
	It is a range error, not a domain error.
	* src/data.c (syms_of_data): overflow-error and (undocumented)
	underflow-error are subtypes range-error, not domain-error.
	This fixes bugs in timezone-time-from-absolute and in
	erc-ctcp-reply-PING.

2019-11-04  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t signal overflow for (expt 1 bignum)

	Similarly for (expt 0 bignum) and (expt -1 bignum).
	The result is always a -1, 0 or 1, so do not signal overflow.
	* src/data.c (expt_integer): Do not signal an overflow if
	-1 <= X <= 1.  Be clearer about when overflow is signaled.
	* test/src/floatfns-tests.el (bignum-expt): Test this.

2019-11-04  Ronnie Schnell  <ronnie@driver-aces.com>

	Fixes bug where restoring game saved in an endgame question room would show 'nil' as the question.

2019-11-04  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp error handling

	* lisp/net/tramp.el (tramp-set-syntax): Add missing argument.
	(tramp-signal-hook-function): Make it more robust.
	(tramp-handle-directory-files):
	* lisp/net/tramp-adb.el
	(tramp-adb-handle-directory-files-and-attributes)
	(tramp-adb-handle-copy-file, tramp-adb-handle-rename-file):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
	* lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file)
	(tramp-rclone-handle-directory-files):
	* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes)
	(tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-copy-file, tramp-smb-handle-directory-files)
	(tramp-smb-handle-rename-file):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
	Improve error handling.

	* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
	(tramp-test12-rename-file, tramp-test14-delete-directory)
	(tramp-test15-copy-directory, tramp-test16-directory-files)
	(tramp-test19-directory-files-and-attributes): Extend tests.

2019-11-04  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in dired.c

	* src/dired.c (file_name_completion): Fix arguments to
	Fcompare_strings.  (Bug#38056)

2019-11-03  Stephen Gildea  <stepheng+emacs@gildea.com>

	Fix English grammar in some doc strings and comments

	(files.el subr.el): Fix some grammar errors in doc strings and comments.
	(frame.c fringe.c image.c xfns.c xterm.c): Fix some English grammar
	errors in doc strings.

2019-11-03  Paul Eggert  <eggert@cs.ucla.edu>

	Improve time documentation a bit more

	* doc/lispref/os.texi (Time of Day, Time Conversion)
	(Time Parsing, Time Calculations): Improve doc.

2019-11-03  Juri Linkov  <juri@linkov.net>

	* lisp/help-fns.el (describe-variable): Add quotes to symbol value of origval.

2019-11-03  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Better handling of tab-bar-history.

	* lisp/tab-bar.el (tab-bar-history-limit): Increase to 10 since wc
	is not saved to the desktop file anymore, so doesn't affect its size.
	(tab-bar-history--pre-change, tab-bar--history-change):
	Store wc before possibly entering the minibuffer.

2019-11-03  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Filter out non-persistent tab parameters from frameset.

	* lisp/tab-bar.el (frameset-filter-tabs): New function
	added to 'frameset-filter-alist' for frame parameter 'tabs'.
	(tab-bar--tab): Remove ws-bl/ws-bbl that are not needed because
	frameset doesn't save frame buffer-list to desktop anyway.
	(tab-bar-select-tab): Remove ws-bl/ws-bbl related code.

	* lisp/emacs-lisp/seq.el (seq-reduce): Add autoload cookie.

2019-11-03  Stefan Kangas  <stefankangas@gmail.com>
	    Jonas Bernoulli  <jonas@bernoul.li>

	Handle truncate-lines in customize-group

	* lisp/cus-edit.el (custom-group--draw-horizontal-line): New
	function to draw horizontal lines which handles a non-nil value of
	'truncate-lines'.  (Bug#25308)
	(custom-group-value-create): Use it.

2019-11-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix doc of font-lock-syntactic-face-function

	* doc/lispref/modes.texi (Syntactic Font Lock): Don't refer to
	no-longer-existing OTHER-VARS (bug#17730) and include an example.

2019-11-03  Eli Zaretskii  <eliz@gnu.org>

	Fix file-tests.el on MS-Windows

	* test/lisp/files-tests.el
	(files-tests-file-name-non-special-start-file-process): On
	MS-Windows, wait till the process dies before returning from
	the files-tests--with-temp-non-special macro, to ensure the
	temporary directory is successfully deleted.

2019-11-03  Eli Zaretskii  <eliz@gnu.org>

	Fix case-insensitive completion of non-ASCII file names

	* src/dired.c (scmp): Comment on (non)applicability to
	comparisons of  non-ASCII strings case-insensitively.
	(file_name_completion): Decode early the file names read from
	the directory, and use the decoded names for comparison when
	letter-case should be ignored.  (Bug#11339)

2019-11-03  Lars Ingebrigtsen  <larsi@gnus.org>

	describe-font/font-info works with unloaded fonts

	* lisp/international/mule-diag.el (describe-font): This function
	can be used on unloaded fonts, so remove that restriction from the
	doc string (bug#16815).  Also allow completion over all fonts on
	the system.

	* src/font.c (Ffont_info): Ditto for the doc string.

2019-11-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a <a id=...> skeleton to html-mode

	* lisp/textmodes/sgml-mode.el (html-id-anchor): New skeleton
	and keystroke (bug#37651).

2019-11-03  Juanma Barranquero  <lekktu@gmail.com>

	* lisp/bs.el (bs-mode): Improve mode docstring.

2019-11-02  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el (tab-line-tab-selected): New face.

	(tab-line-format): Use new face tab-line-tab-selected.
	([tab-line]): Move tab-switching mouse wheel commands to S-keys.

2019-11-02  Óscar Fuentes  <ofv@wanadoo.es>

	Fix data-directory when executing from an out-of-source build

	Fixes #36828.

	* src/callproc.c (init_callproc): detect out-of-source build.

2019-11-02  João Távora  <joaotavora@gmail.com>

	Allow flymake diagnostic types to have shorter names

	Eglot, a third-party package which uses Flymake, has its own
	diagnostic types such as 'eglot-error', 'eglot-warning', etc...  While
	not being too long, they will not fit in the type column of the "list
	all diagnostics" buffer.  This commit allows diagnostic types to have
	user-defined names and also assigns names to the default categories.

	* doc/misc/flymake.texi (Flymake error types): Describe
	flymake-type-name prop.

	* lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries):
	Use type names.
	(flymake-error, flymake-warning, flymake-note): Give these
	diagnostic categories default type names.

2019-11-02  João Távora  <joaotavora@gmail.com>

	Avoid face clashes between Flymake and region highlighting

	Fix bug#34022.

	* lisp/progmodes/flymake.el (flymake--highlight-line): Use
	(PRIMARY . SECONDARY) priority value.

2019-11-02  João Távora  <joaotavora@gmail.com>

	Clarify consequences of mismatching Flymake diagnostic buffers

	Fix bug#34418.

	* doc/misc/flymake.texi (Flymake utility functions): Add note to
	flymake-make-diagnostic.

	* lisp/progmodes/flymake.el (flymake--handle-report): Discard
	diagnostics from other buffers.

2019-11-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Further fixup of the previous doc fix in the Faces node

	* doc/lispref/display.texi (Faces): Improve wording from previous
	change.

2019-11-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make the debbugs groups also include robot messages"

	This reverts commit 682eae776efa9d57842345de67becf5c56cafc91.

	The change made the bug# disappear from the Subject lines.

2019-11-02  Alan Mackenzie  <acm@muc.de>

	CC Mode.  Fix slow scrolling by adding a search limit.

	This fixes bug #10149.

	* lisp/progmodes/cc-fonts.el (c-font-lock-single-decl) Limit the search by
	c-go-up-list-backwards to 500 non-literal characters.

2019-11-02  João Távora  <joaotavora@gmail.com>

	Correct merge blunder in last icomplete commit

	* lisp/icomplete.el (icomplete-exhibit): Use
	while-no-input-ignore-events.

2019-11-02  Eli Zaretskii  <eliz@gnu.org>

	Document Windows font selection quirks

	* doc/emacs/msdos.texi (Windows Fonts): Document
	'w32-use-w32-font-dialog' and 'w32-fixed-font-alist'.

2019-11-02  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'set-face-font'

	* lisp/faces.el (set-face-font):
	* doc/emacs/frames.texi (Fonts):
	* doc/lispref/display.texi (Face Attributes)
	(Attribute Functions): Clarify and correct the documentation
	of set-face-font and related descriptions of font
	specifications.  (Bug#14647)

2019-11-02  Eli Zaretskii  <eliz@gnu.org>

	Revert "Omit edition numbers and dates in manuals"

	This reverts commit 2f42832895942fdeaa0c500511aa19860fa806cd.
	Editions of Emacs manuals must be coordinated with the FSF
	publishing staff, as they appear on the printed books.

2019-11-01  Stefan Kangas  <stefankangas@gmail.com>

	* .dir-locals.el: Add explanatory header.

2019-11-01  Stefan Kangas  <stefankangas@gmail.com>

	Add auto-insert skeleton for ".dir-locals.el"

	* lisp/autoinsert.el (auto-insert-alist): Add auto-insert skeleton for
	".dir-locals.el".

2019-11-01  João Távora  <joaotavora@gmail.com>

	New icomplete-tidy-shadowed-file-names variable

	* lisp/icomplete.el (rfn-eshadow): Require it.
	(icomplete-tidy-shadowed-file-names): New variable.
	(icomplete-exhibit): Use icomplete-tidy-shadowed-file-names.

2019-11-01  João Távora  <joaotavora@gmail.com>

	Fix icomplete-force-complete-and-exit for no-input situations

	If there is no minibuffer input, but the user has already cycled some
	pre-calculated completions, we should be calling
	minibuffer-force-complete-and-exit instead of
	minibuffer-complete-and-exit.  The former is guaranteed to be fast in
	this situation and yields the desired "selected" completion, while the
	latter will just give us the default, ignoring all the cycling of
	icomplete-{forward|backward}-completions.

	* lisp/icomplete.el (icomplete-force-complete-and-exit): Add
	comments and fix for empty input but some completions calculated.

2019-11-01  João Távora  <joaotavora@gmail.com>
	    Stefan Monnier  <j.schmoe@example.org>

	Improve fix for icomplete's backward-kill-word bug#38024

	* lisp/icomplete.el (icomplete-exhibit): Use
	while-no-input-ignore-events, not redisplay.

2019-11-01  Stefan Kangas  <stefankangas@gmail.com>

	* doc/emacs/package.texi (Package Menu): Add index items.

2019-11-01  Stefan Kangas  <stefankangas@gmail.com>

	Use PASSWORD_STORE_DIR in auth-source-pass when set

	* lisp/auth-source-pass.el (auth-source-pass-filename): Initialize to
	PASSWORD_STORE_DIR environment variable when set.  (Bug#29663)

2019-11-01  Stefan Kangas  <stefankangas@gmail.com>

	Don't refuse to install packages without a "footer line"

	* lisp/emacs-lisp/package.el (package-buffer-info): Don't signal an
	error when the "footer line" is missing.  Warn only.  (Bug#26490)
	* etc/NEWS: Announce it.

2019-11-01  Paul Eggert  <eggert@cs.ucla.edu>

	Omit edition numbers and dates in manuals

	These seem to cause more confusion than they cure; e.g.,
	https://shop.fsf.org/books/gnu-emacs-manual-18th-edition-v-261
	currently advertises "18th edition" even as it points to
	https://www.gnu.org/software/emacs/manual/pdf/emacs.pdf
	which says "Seventeenth Edition".  It is simpler and less
	confusing to stick to one version number like "26.3".  If we
	need a separate edition number for each printed manual for
	some reason (marketing?) we can put “@ifset printed-edition”
	around anything specific to the printed editions.
	(as opposed to online PDF copies).
	* doc/emacs/emacs.texi (EDITION):
	* doc/lispintro/emacs-lisp-intro.texi (edition-number, update-date):
	* doc/lispref/elisp.texi (VERSION, DATE):
	Remove, and remove uses.

2019-11-01  Paul Eggert  <eggert@cs.ucla.edu>

	Document limits on some time-conversion functions

	* doc/lispref/os.texi (Time of Day, Time Zone Rules)
	(Time Conversion, Time Parsing, Time Calculations):
	Document functions that limit the range of time values
	due to OS limits (Bug#37974).

2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	set-face-font doc string update

	* lisp/faces.el (set-face-font): Mention what the string formats
	are (bug#14647).

2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix documentation of set-face-font in the manual

	* doc/lispref/display.texi (Attribute Functions): Describe more
	precisely what set-face-font does (bug#14647).

2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Low-Level Font documentation fix

	* doc/lispref/display.texi (Low-Level Font): Mention what the data
	types the font attributes are (bug#14634).

2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Really enable setting a breakpoint without instrumenting first

	* lisp/emacs-lisp/edebug.el (edebug-set-breakpoint): Really enable
	setting a breakpoint without instrumenting first (bug#23469).

2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't claim that anonymous face can't be used in font-lock

	* doc/lispref/display.texi (Faces): Anonymous functions can be
	used when font locking, so adjust the injunction against them
	(bug#35005).

2019-11-01  Cecilio Pardo  <cpardo@imayhem.com>  (tiny change)

	Remove an unfunny joke from DEVEL.HUMOR

	* etc/DEVEL.HUMOR: Remove unfunny joke (bug#38002).

2019-11-01  Filipp Gunbin  <fgunbin@fastmail.fm>

	Make ant regexp in compilation-error-regexp-alist-alist more lax

	* lisp/progmodes/compile.el: Make ant regexp accept filenames that may
	occur on Cygwin (like c:/test) and optional additional severity level
	after task name.
	* etc/compilation.txt: Add sample.

2019-11-01  Richard Stallman  <rms@gnu.org>

	Minor wording change in ELisp manual

	* doc/lispref/functions.texi (Advising Named Functions):
	Improve and clarify wording of the advice to avoid advising
	functions in released code.

2019-10-31  Paul Eggert  <eggert@cs.ucla.edu>

	Fix insert-file-contents file error regression

	Problem reported for dired-view-file (Bug#37950).
	* src/fileio.c (Finsert_file_contents): When visiting,
	signal an error if the file could not be opened for any reason,
	rather than signaling an error only for nonexistent files, fixing
	a bug introduced in 2019-09-16T03:17:43!eggert@cs.ucla.edu.

2019-10-31  Eric Ludlam  <ericludlam@gmail.com>

	* lisp/cedet/ (semantic-analyze-possible-completions): Add `flags` arg

	* lisp/cedet/semantic/texi.el (semantic-analyze-possible-completions),
	lisp/cedet/srecode/srt-mode.el (semantic-analyze-possible-completions),
	lisp/cedet/semantic/bovine/make.el (semantic-analyze-possible-completions):
	Add `flags` arg.
	* lisp/cedet/semantic/grammar.el (semantic-analyze-possible-completions):
	Add `flags` arg.  Reverse the found prefix.
	(semantic-ctxt-current-class-list): Include token tags as things to
	appear in non-lisp context.

2019-10-31  Eric Ludlam  <zappo@gnu.org>

	* test/lisp/cedet/semantic-utest-ia.el: Update from upstream

	Merge content from CEDET on SF to bring in additional test points
	and support more types of languages.
	(semantic-utest-ia-struct.cpp, semantic-utest-ia-templates.cpp)
	(semantic-utest-ia-using.cpp, semantic-utest-ia-nsp.cpp)
	(semantic-utest-ia-localvars.cpp, semantic-utest-ia-varnamse.java)
	(semantic-utest-ia-wisent.wy, semantic-utest-ia-texi)
	(semantic-utest-ia-make, semantic-utest-ia-srecoder): New test points
	(semantic-ia-utest-buffer): Use comment-start-skip when looking
	for test point tokens.
	Capture errors ignoring debugger to enable test for empty results.
	Improve output from test diagnostics.
	(semantic-ia-utest-buffer-refs): Use comment-start-skip to find
	test point tokens.
	Author: Eric Ludlam <zappo@gnu.org>

2019-10-31  Eric Ludlam  <zappo@gnu.org>

	* test/manual/cedet/tests/test*: More updates from upstream

	* test/manual/cedet/tests/testjavacomp.java,
	test/manual/cedet/tests/testnsp.cpp,
	test/manual/cedet/tests/testsppcomplete.c,
	test/manual/cedet/tests/testtypedefs.cpp,
	test/manual/cedet/tests/testvarnames.c:
	Merge content from CEDET on SF with extended test points for use with
	test/lisp/cedet/semantic-utest-ia.el
	Author: Eric Ludlam <zappo@gnu.org>

2019-10-31  Eric Ludlam  <zappo@gnu.org>

	* test/manual/cedet/tests/testdoublens.cpp: Update from upstream

	* test/manual/cedet/tests/testdoublens.hpp:
	Merge content from CEDET on SF with extended test points for use with
	test/lisp/cedet/semantic-utest-ia.el
	Author: Eric Ludlam <zappo@gnu.org>

2019-10-31  Eric Ludlam  <zappo@gnu.org>

	* test/manual/cedet/tests/: New files for semantic-utest-ia.el

	* test/manual/cedet/tests/test.mk,
	test/manual/cedet/tests/test.srt, test/manual/cedet/tests/test.texi,
	test/manual/cedet/tests/testlocalvars.cpp,
	test/manual/cedet/tests/teststruct.cpp,
	test/manual/cedet/tests/testtemplates.cpp,
	test/manual/cedet/tests/testusing.cpp,
	test/manual/cedet/tests/testusing.hh,
	test/manual/cedet/tests/testvarnames.java.
	test/manual/cedet/tests/testwisent.wy:
	New files to be used by test/lisp/cedet/semantic-utest-ia.el.
	Author: Eric Ludlam <zappo@gnu.org>

2019-10-31  Alan Third  <alan@idiocy.org>

	Prevent text flicker with macOS input methods (bug#23412)

	* src/nsterm.m ([EmacsView setMarkedText:selectedRange:]): Don't
	always delete the working text as ns-put-working-text does that.

2019-10-31  Mattias Engdegård  <mattiase@acm.org>

	Inhibit undo-in-region for mouse-drag-region (bug#37700)

	'mouse-drag-region' leaves the region active around the dragged text,
	so a straight undo did not revert the entire operation.  To remedy
	this, inhibit undo-in-region when the last command was
	mouse-drag-region.  (Method suggested by Stefan Monnier.)

	* lisp/mouse.el (undo-drag-region): Set the undo-inhibit-region property.
	* lisp/simple.el (undo): Inhibit undo-in-region if the last command
	had the undo-inhibit-region property set.
	* doc/lispref/symbols.texi (Standard Properties):
	* doc/lispref/text.texi (Undo): Document undo-inhibit-region.
	* etc/NEWS: Announce the property.

2019-10-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure that font-local variables are buffer-local

	* lisp/font-lock.el (font-lock-set-defaults): Ensure that the font
	lock variables are buffer-local even when nil, so that they're
	copied correctly by mhtml mode when changing sub-modes (bug#33937).

2019-10-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up font-lock-refontify slightly

	* lisp/font-lock.el (font-lock-refontify): Use
	syntax-ppss-flush-cache instead of internal variable.

2019-10-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Further tweaks to sh-script \ #foo font locking

	* lisp/progmodes/sh-script.el (sh-syntax-propertize-function):
	Tweak previous \ #foo change to work on all quoted characters, but
	check that the backslash itself is not backslashed.  Regexp from
	Stefan Monnier.

2019-10-31  Michael Albinus  <michael.albinus@gmx.de>

	Fix some minor Tramp problems

	* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
	Check, that `tramp-password-save-function' is a function.

	* lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info):
	Check, that there is a share.

	* lisp/net/tramp.el (outline-regexp): Declare.
	(tramp-get-debug-buffer): Let-bind `signal-hook-function'.

	* test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
	Skip some tests for Emacs 24 and 25; they let Emacs crash.

2019-10-31  Robert Pluim  <rpluim@gmail.com>

	Rework vc stash bindings

	This adds create/snapshot bindings to the stash button even when there
	are no stashes, and extends the stash menu bindings.

	* etc/NEWS: Announce the bindings.

	* lisp/vc/vc-git.el (vc-git-stash-shared-map): New keymap.  Holds
	shared bindings between stash button and stash list.
	(vc-git-stash-map): Inherit from vc-git-stash-shared-map.
	(vc-git-stash-button-map): New keymap.  Holds button bindings,
	inherit from vc-git-stash-shared-map.
	(vc-git-stash-shared-help, vc-git-stash-list-help): New
	defconsts.  Abstract out list/button help texts.
	(vc-git--make-button-text): Set keymap property to
	vc-git-stash-button-map.
	(vc-git-make-stash-button): Use vc-git-stash-shared-help.
	(vc-git-stash-menu-map): Add items for vc-git-stash and
	vc-git-stash-snapshot.
	(vc-git-dir-extra-headers): Use vc-git-stash-list-help and
	vc-git-stash-shared-help.  Add vc-git-stash and
	vc-git-stash-snapshot bindings to text shown when there are no stashes.

2019-10-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug with lock file on nonstandard filesystem

	* src/filelock.c (create_lock_file):
	Don’t disable user write access to the lock file (Bug#37884).

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Font-lock symlinks in dired buffers better

	* lisp/dired.el (dired-font-lock-keywords): Font-lock symlinks
	differently based on whether they point at a directory or not
	(bug#17064).  Based on code from Michael Heerdegen.

2019-10-30  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-select-tab): Use set-frame-parameter.

	(tab-bar-list-noselect, tab-bar-list-mode): Rearrange buffer-read-only.

2019-10-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix print.c infloop on circular lists

	Fix infinite loops in print.c when a circular list is passed
	to command-error-default-function or to error-message-string.
	* src/print.c (print_error_message):
	Use FOR_EACH_TAIL to avoid infloop on circular lists.
	(print_object): Use FOR_EACH_TAIL_SAFE, as it uses
	Brent’s teleporting tortoise-hare algorithm which is
	asymptotically better than the classic tortoise-hare
	algorithm that the code wsas using.
	* test/src/print-tests.el (print-circle-2): When print-circle
	is nil, do not insist on a particular cycle-detection heuristic.
	(error-message-string-circular): New test.

2019-10-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix keyboard.c infloops on circular lists

	Fix infinite loops in keyboard.c when a circular list is
	found in a hook, or in help-event-list, or in the argument
	of event-convert-list, or in a keymap where a Lucid event
	type list is expected, or in a menu or tab spec.
	* src/keyboard.c (safe_run_hooks_error, menu_bar_items)
	(parse_menu_item, parse_tab_bar_item, parse_tool_bar_item):
	Use FOR_EACH_TAIL to avoid infloop on circular lists.
	(help_char_p, Fevent_convert_list, lucid_event_type_list_p):
	Use FOR_EACH_TAIL_SAFE to avoid infloop on circular lists,
	when the action is idempotent so a circular list can be
	treated as a noncircular one.

2019-10-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix fileio.c infloops on circular lists

	Fix infinite loops in fileio.c when a circular list is the
	value of after_insert_file_functions,
	buffer-auto-save-file-format, buffer-file-format, or
	write-region-annotate-functions.
	* src/fileio.c (Finsert_file_contents, build_annotations):
	Use FOR_EACH_TAIL to avoid infloop on circular lists.
	(build_annotations): Use an EMACS_INT, not an int, to count
	nesting level.
	* test/src/fileio-tests.el:
	(fileio-tests--circular-after-insert-file-functions): New test.

2019-10-30  Kevin Ryde  <user42_kevin@yahoo.com.au>

	Support \pagebreak[0] for paragraph-separate in latex-mode

	* lisp/textmodes/tex-mode.el (latex-mode): In 'paragraph-separate' allow
	optional argument ('[0]', etc.) for '\pagebreak[0]'.  (Bug#19039)

2019-10-30  Tom Tromey  <tom@tromey.com>

	Send -enable-frame-filters to gdb

	* lisp/progmodes/gdb-mi.el (gdb-init-1): Send -enable-frame-filters to
	gdb.

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous sh-script.el font-lock #comment change

	* lisp/progmodes/sh-script.el (sh-syntax-propertize-function): We
	want to match "\ " before a comment; not a space character.

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Move description of value to syntax-ppss function."

	This reverts commit 305dbc7e2be05748039aacb1a3d697f6f64bed4c.

	Both of the functions in question are used a lot in the sources, so move it back to the more basic function.

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new ppss structure for syntax-ppss data

	* lisp/emacs-lisp/syntax.el (ppss): Add a new structure to provide
	accessors to the syntax-ppss data.

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak fontification of \url{http://foo.org/bar%zot} in (la)tex-mode

	* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
	\url{http://foo.org/bar%zot} shouldn't be fontified as having a
	comment, so make the tex-verbatim face overwrite the
	already-applied syntactical comment bits (bug#37134).

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Bind vc-git-stash to a key

	* lisp/vc/vc-git.el (vc-git-stash-map): Give `vc-git-stash' a
	keystroke, because it's a useful command.

	When there are no stashes, there's no way to use that keystroke (since
	it's only bound on the stash lines), so perhaps that should also be
	fixed somehow.

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Clear more data in font-lock-refontify to ensure refontifying

	* lisp/font-lock.el (font-lock-refontify): Clear out even more data.

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	font-lock \ #foo in shell mode more correctly

	* lisp/progmodes/sh-script.el (sh-syntax-propertize-function):
	\ #foo isn't a comment -- it's a symbol that starts with a space
	character (bug#17538).

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make font-lock-refontify try even harder to refontify

	* lisp/font-lock.el (font-lock-refontify): Make this command work
	even after switching global font lock mode on and then off again.

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix setgid fontification in dired on some OS-es

	* lisp/dired.el (dired-font-lock-keywords): Apparently some
	versions of ls use "S" for setgid and other use "s" (bug#8186).

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix "dnl" highlights in m4-mode

	* lisp/progmodes/m4-mode.el (m4-font-lock-keywords): "dnl"
	comments should override any previous syntax-based highlighting
	(37132).  This makes "dnl foo#bar" be highlighted correctly.

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a convenience function to be used when working on font locking

	* doc/lispref/modes.texi (Font Lock Basics): Document it.

	* lisp/font-lock.el (font-lock-refontify): New convenience command.

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Move description of value to syntax-ppss function.

	* lisp/emacs-lisp/syntax.el (syntax-ppss): Move the description of
	the return value from...

	* src/syntax.c (Fparse_partial_sexp): ... here because
	`syntax-ppss' is what's called over the place, and jumping through
	an indirection to get to the value description is inconvenient.

2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Indent font-lock-fontify-syntactically-region

	* lisp/font-lock.el (font-lock-fontify-syntactically-region):
	Indent function.

2019-10-30  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (outline-regexp): Remove declaration.

2019-10-29  Juri Linkov  <juri@linkov.net>

	* etc/NEWS: Update renamed function read-char-from-minibuffer.

2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix image-converter probes

	* lisp/image/image-converter.el (image-converter--probe): Check
	that the executable exists before trying to call it.

2019-10-29  Juri Linkov  <juri@linkov.net>

	Rename read-char-with-history to read-char-from-minibuffer (bug#10477)

	* lisp/simple.el (read-char-from-minibuffer-history):
	Rename from read-char-with-history--history.
	(read-char-from-minibuffer-map):
	Rename from read-char-with-history--map.
	(read-char-from-minibuffer): Rename from read-char-with-history.
	(read-char-from-minibuffer-self-insert): New command.
	(zap-to-char): Use read-char-from-minibuffer.

2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the debbugs groups also include robot messages

	* lisp/gnus/gnus-group.el (gnus-bug-group-download-format-alist):
	Change the URL to also include robot messages.

2019-10-29  Juri Linkov  <juri@linkov.net>

	Reimplement read-char-with-history based on read-from-minibuffer

	* lisp/simple.el (read-char-with-history): Reimplement based on
	read-from-minibuffer.
	* lisp/simple.el (read-char-with-history--map): New variable
	(bug#10477).

2019-10-29  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Store point position and frame buffer-lists in tab.

	* lisp/tab-bar.el (tab-bar--tab): Store additionally point-marker,
	frame parameters buffer-list and buried-buffer-list, both for wc and ws.
	Use seq-filter.
	(tab-bar-select-tab): Restore point-marker after restoring
	window-configuration.  Also restore frame parameters buffer-list
	and buried-buffer-list both for window-configuration and window-state.
	(tab-bar-history-limit, tab-bar-history--minibuffer-depth): New variables.
	(tab-bar-history-current): Rename from tab-bar-history--pre-change.
	(tab-bar-history--pre-change): Set tab-bar-history-current.
	(tab-bar--history-change): Use seq-take for tab-bar-history-limit.
	(tab-bar-history-back, tab-bar-history-forward): Restore point-marker.
	(tab-bar-list-noselect): Use seq-remove.

	* lisp/emacs-lisp/seq.el (seq-take, seq-filter): Add autoload cookie.

2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Make url-cookie.el be more resistant against bogus data

	* lisp/url/url-cookie.el (url-cookie-handle-set-cookie): Don't bug
	out on large max-age values (bug#37974).

2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Document run-with-timer

	* doc/lispref/os.texi (Timers): Mention run-with-timer (bug#37875).

2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Default exotic image formats (like .webp) to image-mode

	* doc/lispref/errors.texi (Standard Errors): Mention the new error.

	* lisp/files.el (auto-mode-alist): Add a bunch of image suffixes
	to the list (bug#37972) based on the output from "gm convert -list
	format" (i.e., graphicsmagick).

	* lisp/image-mode.el (image-mode): Rewrite to possibly notify the
	user about image-use-external-converter.
	(image-mode--setup-mode): Factor out into own function and don't
	run under `condition-case' as there's nothing here that should
	error.

	* lisp/image.el (unknown-image-type): New error.
	(image-type): Signal that error so that image-mode can offer
	sensible feedback to the user.

2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix image-converter probing

	* lisp/image/image-converter.el (image-converter--find-converter):
	Stop probing on the first successful probe.

2019-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el: Tweak and undo parts of recent changes

	(completion-metadata): Always return a fresh new cons cell.
	(completion--nth-completion): Don't bother calling adjust-metadata
	if the result won't be used.
	(completion-pcm--hilit-commonality): Revert recent change which had
	removed support for `completions-first-difference` in `substring` and
	`partial-completion` styles.
	(completion--flex-adjust-metadata): Treat the arg as immutable.

2019-10-29  Filipp Gunbin  <fgunbin@fastmail.fm>

	Add gradle-kotlin to compilation-error-regexp-alist-alist

	* lisp/progmodes/compile.el: Add gradle-kotlin to
	compilation-error-regexp-alist-alist.
	* etc/compilation.txt: Add samples for it.

2019-10-29  Jimmy Aguilar Mena  <spacibba@aol.com>

	Optimize conditional recursive merge face.

	* src/xfaces.c (merge_face_vectors) : Pass ATTR_FILTER to
	merge_face_ref to stop recursion merging in advance when possible.
	(merge_named_face) : add more conditions to potentially reduce calls to
	merge_face_vectors in more unneeded situations.

2019-10-29  Jimmy Aguilar Mena  <spacibba@aol.com>

	Fix extend face in gui interfaces.

	* src/xdisp.c (extend_face_to_end_of_line) : Change call to
	PRODUCE_GLYPHS with append_stretch_glyph to fill until the windows
	border.

2019-10-29  Jimmy Aguilar Mena  <spacibba@aol.com>

	Fix inherited :extend attribute in faces.

	* src/xfaces.c (merge_face_vectors) : Add extra parameter ATTR_FILTER
	with the same functionality than in merge_named_face.  Update all
	occurrences.
	(merge_named_face): Remove condition to avoid call
	`merge_face_vectors`.

2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Make shr scale images on all frames

	* lisp/net/shr.el (shr-rescale-image): Rescale images even if the
	window isn't on the current frame.

2019-10-28  João Távora  <joaotavora@gmail.com>

	Make icomplete-exhibit actually work when navigating up directories

	Sometimes, when finding files with icomplete-mode, backward-deleting
	the previous word or sexp (to move up a directory) doesn't actually
	refresh the file list of the new directory.  Forcing redisplay in
	icomplete-exhibit mysteriously fixes the problem.

	* lisp/icomplete.el (icomplete-exhibit): Add call to redisplay.

2019-10-28  João Távora  <joaotavora@gmail.com>

	New commands for making icomplete behave more like ido

	This tries (not particularly hard) to emulate Ido's magic C-k, C-d,
	RET and DEL.  For now, the new commands have to be explicitly added to
	an active map by the user, using something like this:

	(let ((imap icomplete-minibuffer-map))
	  (define-key imap (kbd "C-k") 'icomplete-magic-ido-kill)
	  (define-key imap (kbd "C-d") 'icomplete-magic-ido-delete-char)
	  (define-key imap (kbd "RET") 'icomplete-magic-ido-ret)
	  (define-key imap (kbd "DEL") 'icomplete-magic-ido-backward-updir))

	* lisp/icomplete.el (icomplete-magic-ido-kill)
	(icomplete-magic-ido-delete-char, icomplete-magic-ido-ret)
	(icomplete-magic-ido-backward-updir): New commands.

2019-10-28  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Check for minibuffer-depth in tab-bar-history-mode.

	* lisp/tab-bar.el (tab-bar-history--pre-change): Store also minibuffer-depth.
	(tab-bar-history-change): Check stored minibuffer-depth for zero.
	(tab-bar-history-mode): Use prefix -- for internal functions.

2019-10-28  Mattias Engdegård  <mattiase@acm.org>

	Use new-style rx extensions in python.el

	* lisp/progmodes/python.el (python-rx): Use `rx-let' instead of
	`rx-constituents'.  This allows for some slight redundancy reduction,
	since `rx-let' definitions are expanded inside `not' (bug#37849).
	Reorder some `or' forms for more efficient matching.

2019-10-28  Hong Xu  <hong@topbug.net>

	Add doc for goto-history-element

	* doc/lispref/minibuf.texi (Minibuffer Commands): Add
	goto-history-element (bug#37948).
	* lisp/simple.el (goto-history-element): Clarify NABS.

2019-10-28  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/eshell/em-term.el: Remove commented out XEmacs compat code.

2019-10-28  Stefan Kangas  <stefankangas@gmail.com>

	Remove more XEmacs compat code from CEDET

	* lisp/cedet/mode-local.el (mode-local-describe-bindings-1):
	* lisp/cedet/semantic/idle.el (semantic-idle-summary-out-of-context-faces):
	* lisp/cedet/semantic/imenu.el (semantic-imenu-rebuild-directory-indexes):
	* lisp/cedet/semantic/texi.el (semantic-texi-command-completion-list):
	Remove XEmacs compat code.

2019-10-28  Stefan Kangas  <stefankangas@gmail.com>

	Remove obsolete doc references to XEmacs (Bug#37899)

	* doc/misc/edt.texi (Changes, Goals):
	* doc/misc/emacs-mime.texi (Charset Translation):
	* doc/misc/gnus-faq.texi (FAQ 4-15):
	* doc/misc/pcl-cvs.texi (Bugs):
	* doc/misc/srecode.texi (SRecode Minor Mode):
	* lisp/cedet/srecode/insert.el (srecode-insert-ask-variable-method):
	* lisp/follow.el:
	* lisp/leim/quail/ipa.el (ipa-x-sampa, ipa-kirshenbaum):
	* lisp/net/newsticker.el:
	* lisp/obsolete/iswitchb.el:
	* lisp/progmodes/hideshow.el:
	* lisp/savehist.el (savehist-file):
	* lisp/vc/ediff.el: Remove obsolete references to XEmacs in doc
	strings and comments.

2019-10-28  Michal Nowak  <mnowak@startmail.com>  (tiny change)

	Add cert bundle path for OpenIndiana

	* lisp/net/gnutls.el (gnutls-trustfiles): Add cert bundle path for
	OpenIndiana (bug#37960).

2019-10-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make ERC respect erc-channel-hide-list

	* lisp/erc/erc.el (erc-hide-current-message-p): Make
	erc-channel-hide-list work (bug#37879) by getting matching on the
	channel name instead of the ERC client name.

2019-10-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix `G c' in Gnus group buffers for non-ASCII text

	* lisp/gnus/gnus-cus.el (gnus-group-customize): Decoding is
	superfluous here -- everything is utf-8 already.
	(gnus-group-customize-done): Don't double-encode the text (bug#37901).

2019-10-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Be more permissive when interpreting IMAP mail headers

	* lisp/gnus/nnimap.el (nnimap-transform-headers): Some mail
	doesn't have space after the colon of the header name.  Don't
	ignore these.

2019-10-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make <up> work in read-char-with-history

	* lisp/simple.el (read-char-with-history): Tweak to make
	<up>/<down> also traverse the history (bug#10477).

2019-10-28  Koichi Arakawa  <arakawa@pp.iij4u.or.jp>  (tiny change)

	Reorder command-line switches in Tramp

	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
	`tramp-encoding-command-interactive' must be the last command-line
	switch, at least for bash.  (Bug#37953)

2019-10-27  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Add tab-bar-history-mode with arrow buttons for navigation.

	* lisp/tab-bar.el (tab-bar-back-button, tab-bar-forward-button):
	New variables.
	(tab-bar-make-keymap-1): Show these buttons in tab-bar-history-mode.
	(tab-bar--tab): Add history-back and history-forward.
	(tab-bar-select-tab): Restore history-back and history-forward.
	(tab-bar-history-omit, tab-bar-history-back)
	(tab-bar-history-forward, tab-bar-history-pre-change): New variables.
	(tab-bar-history-pre-change, tab-bar-history-change)
	(tab-bar-history-back, tab-bar-history-forward)
	(tab-bar-history-mode): New functions.

2019-10-27  Eric Ludlam  <ericludlam@gmail.com>

	* test/lisp/cedet/semantic-utest.el: silence compiler warnings

	* test/lisp/cedet/semantic-utest-c.el
	(semantic-test-c-preprocessor-simulation): Use with-current-buffer.

	* test/lisp/cedet/semantic-utest.el (semantic-utest-makebuffer):
	Use read-only-mode.
	(semantic-utest-verify-names-jave, semantic-utest-verify-names-2):
	Remove functions, unused.

2019-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* .gitignore: Don't ignore .rej files

	Left over rejected hunks that we forgot to merge by hand should not be
	silently ignored.  Better explicitly remove/rename .rej files when
	done with them.

2019-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/seq.el: Don't require cl-lib.

	(seq-subseq): Move cl-subseq's code here instyead of calling it.
	* lisp/emacs-lisp/cl-extra.el (cl-subseq): Use seq-subseq.

2019-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/loadup.el: Load minibuffer after cl-generic

	This is so minibuffer.el can make use of cl-generic

	* lisp/minibuffer.el (minibuffer-local-completion-map):
	Move switch-to-completions bindings here from...
	* lisp/simple.el (minibuffer-local-completion-map): ... here.

2019-10-27  Stephen Gildea  <stepheng+emacs@gildea.com>

	time-stamp-time-zone: update customization

	* lisp/time-stamp.el (time-stamp-time-zone): Support customization with
	an integer offset (a new possible value of the ZONE argument to
	format-time-string in Emacs 27).
	Update the safe-local-variable predicate from string-or-null-p
	(describing time-stamp-time-zone's domain before 2015) to new
	predicate time-stamp-zone-type-p (describing the current domain).

	* test/lisp/time-stamp-tests.el (time-stamp-test-helper-zone-type-p): New test.

2019-10-27  Eli Zaretskii  <eliz@gnu.org>

	Fix point position after revert-buffer in tabulated-list mode

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
	Don't use count-screen-lines, as it is unreliable when lines
	are truncated and the region ends before a newline (the root
	cause is in vertical-motion, but is very hard to fix there).
	Instead, use vertical-motion directly, as the problems with
	counting/not counting the newline that ends the region are not
	relevant to what we need in this function, which is simply the
	number of the current window line.  (Bug#37941)

2019-10-27  João Távora  <joaotavora@gmail.com>

	Optimize lisp/icomplete.el when default completion available

	Often, when using icomplete with icomplete-show-matches-on-no-input
	and commands like C-h f, icomplete-exhibit will take a long time (like
	several seconds) to show all the completions.

	However, if there is a non-nil default value, like when the C-h f is
	performed exactly on a function name, the minibuffer prompt will
	reflect that immediately.  If the user immediately presses RE
	(icomplete-force-complete-and-exit) we take that to mean "use the
	default" and avoid the long wait.

	As an extra performance tweak, this commit also removes an unneeded
	call to icomplete-exhibit in icomplete-minibuffer-setup.

	* lisp/icomplete.el (icomplete-force-complete-and-exit): Short-circuit
	possibility of non-nil minibuffer-default.
	(icomplete-minibuffer-setup): No need to explicitly icomplete-exhibit
	here since icomplete-post-command-hook will call it unconditionally.

2019-10-27  Mattias Engdegård  <mattiase@acm.org>

	Expand rx definitions inside (not ...)

	* lisp/emacs-lisp/rx.el (rx--translate-not):
	* test/lisp/emacs-lisp/rx-tests.el (rx-not, rx-def-in-not):
	* doc/lispref/searching.texi (Rx Constructs, Extending Rx):

	Allow user-defined rx constructs to be expanded inside (not ...)
	forms, for better composability (bug#37849).

2019-10-27  Michael Albinus  <michael.albinus@gmx.de>

	Some Tramp trace improvements

	* lisp/net/tramp.el (tramp-call-process): `result' can also be nil.

	* test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
	Improve trace format.

2019-10-26  João Távora  <joaotavora@gmail.com>

	Improve scoring algorithm for flex-style completions

	The previous algorithm had two problems: it considered non-matches in
	the beginning and end of the string as matching "holes" and failed to
	penalize larger holes, making flex-score-match-tightness only
	effective in some corner cases.

	The new formula, which is described in code and in pseudo-code in the
	comments, fixes these problems.

	As a result, by default, C-h f flex now correctly bubbles up
	"company-search-flex-regexp" to the top, in front of "file-exists-p".
	With a flex-score-match-tightness smaller than 1.0, the situation is
	reversed.

	* lisp/minibuffer.el (flex-score-match-tightness): Adjust default
	value.  Improve docstring example.
	(completion-pcm--hilit-commonality): Improve example.  Remove unused
	variable.  Improve algorithm.

2019-10-26  Juanma Barranquero  <lekktu@gmail.com>

	minibuffer.el: Remove leftover code, unused after recent change

	* lisp/minibuffer.el (completion-pcm--hilit-commonality):
	Don't set point-idx.

2019-10-26  Juri Linkov  <juri@linkov.net>

	dired-dwim-target uses most recently visited window instead of next window.

	* doc/emacs/dired.texi (Operating on Files): Document behavior change.

	* lisp/dired-aux.el (dired-dwim-target-directories): New function.
	(dired-dwim-target-directory, dired-dwim-target-defaults): Use it
	to get the most recently used window instead of the next window (bug#35385).

	* lisp/dired.el (dired-dwim-target): Doc fix.

	* test/lisp/dired-tests.el: Remove unnecessary require and pacify
	byte-compiler.

2019-10-26  Juri Linkov  <juri@linkov.net>

	Customizable tab-line-tabs-function and new buffer-local tab-line-mode.

	* lisp/tab-line.el (tab-line-tabs-function): Turn defvar into defcustom
	with default of tab-line-tabs-window-buffers.
	(tab-line-tabs-mode-buffers): New function.
	(tab-line-tabs-window-buffers): Rename from tab-line-tabs.
	(tab-line-select-tab, tab-line-switch-to-prev-tab)
	(tab-line-switch-to-next-tab): Handle the value tab-line-tabs-window-buffers
	of tab-line-tabs-function specially.
	(tab-line-mode): Rename from global-tab-line-mode and change scope
	to buffer-local.
	(global-tab-line-mode): New globalized-minor-mode.
	(tab-line-mode--turn-on): New function.
	(tab-line-exclude-modes): New defcustom.
	(tab-line-exclude): New buffer-local variable.
	https://lists.gnu.org/r/emacs-devel/2019-10/msg00988.html

	* lisp/dired.el (dired-mark-pop-up): Set tab-line-exclude to nil.
	Don't set tab-line-format.   (Bug#37699)
	* lisp/speedbar.el (speedbar-mode): Set tab-line-exclude to nil.
	Don't set tab-line-format.

2019-10-26  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-switch-to-recent-tab): New command.

	(tab-recent): Alias to tab-bar-switch-to-recent-tab.
	(tab-bar--tab-index-recent): New internal function.
	(tab-bar-close-tab-select): Add new default option 'recent'.
	(tab-bar-close-tab): Handle it.

	* lisp/emacs-lisp/seq.el (seq-sort-by, seq-remove): Add autoload.

2019-10-26  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-move-tab-to): Add force-mode-line-update.

	(tab-bar-close-last-tab-choice, tab-bar-close-tab): Adjust option names.

2019-10-26  Robert Cochran  <robert-git@cochranmail.com>

	Add customization option for what do when the last tab is closed

	* lisp/tab-bar.el (tab-bar-close-last-tab-choice): New custom
	variable.
	(tab-bar-close-tab): Handle closing the last tab specially, referring to
	tab-bar-close-last-tab-choice.

2019-10-26  Stephen Gildea  <stepheng+emacs@gildea.com>

	time-stamp-tests: add name prefix to tests of formatting

	* test/lisp/time-stamp-tests.el: rename all the time-stamp-string formatting tests
	to have the word "format" in their name, to make room in the namespace
	for other, future tests.

2019-10-26  João Távora  <joaotavora@gmail.com>

	Restore default value of face completions-common-part

	The previous commit titled "Rework face hints for partial-string
	completion styles" contained a potentially controversial
	backwards-incompatible change to this face's default value.

	* lisp/minibuffer.el (completions-common-part): Restore empty
	default value.

2019-10-26  Arash Esbati  <arash@gnu.org>

	Improve support for biblatex and cleveref macros

	* lisp/textmodes/reftex-cite.el (reftex-figure-out-cite-format):
	Extend regexp to match additional cite commands from biblatex.sty.

	* lisp/textmodes/reftex-dcr.el (reftex-view-crossref): Extend
	regexp to match additional cite commands from biblatex.sty and
	reference commands from cleveref.sty.

2019-10-26  Arash Esbati  <arash@gnu.org>

	Avoid infloop's by doing a case-sensitive match

	* lisp/textmodes/reftex-ref.el (reftex-format-special): Be
	case-sensitive when checking the actual reference macro against
	\ref.  This avoids infloop when \Ref is chosen.

2019-10-26  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	55dcd32 (origin/emacs-26) Fix rcirc not to interpret nil as nickname ...

2019-10-26  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	73e1727 Fix linear equation system solving in Calc (bug#35374)

	# Conflicts:
	#	test/lisp/calc/calc-tests.el

2019-10-26  João Távora  <joaotavora@gmail.com>

	Rework face hints for partial-string completion styles

	Don't use completions-first-difference for the 'substring', 'flex' and
	'partial-completion' styles, since there can be really no reasonable
	definition of a "first" difference there.

	Make completions-common-part inherit from 'underline' so that it is
	useful by default for all completion styles.

	* lisp/minibuffer.el (completions-common-part): Adjust
	description and change default value.
	(completions-first-difference): Adjust docstring.
	(completion-pcm--hilit-commonality): Don't use
	completions-first-difference.

2019-10-26  João Távora  <joaotavora@gmail.com>

	Allow completion styles to adjust completion metadata

	This commit re-does the now-reverted commit with the same title.  That
	version relied on generic functions, which cannot be used yet in files
	such as lisp/minibuffer.el.  This version uses a symbol property
	completion--adjust-metadata instead.

	The new facility allows completion styles to have a say in metadata
	properties such as cycle-sort-function and display-sort-function.
	This is especially useful for completion styles such as 'flex', which
	generally produce many matches, including some potentially "obscure"
	ones.  The default sorting strategy would often bubble the latter to
	the top of the list.

	The sorting function for 'flex' considers pre-computed matching scores
	and is thus much better than the default for this particular style.

	Additionally, it overrides the completion table's cycle-sort-function
	or display-sort-function properties if they exist, although it still
	uses them to pre-sort the result, so that they are still relevant for
	resolving ties.

	* lisp/minibuffer.el (completion--nth-completion)
	(completion--flex-adjust-metadata): New helper.
	(flex): Put completion--adjust-metadata property.

2019-10-26  João Távora  <joaotavora@gmail.com>

	Revert "Allow completion styles to adjust completion metadata"

	Unbreaks the build.

	This reverts commit 7fc0292f5c49d11fc39853f8bc25586d54221e6a.

	Unfortunately, cl-defgeneric has some problems when used in
	lisp/minibuffer.el.

2019-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	subr.el (run-window-configuration-change-hook): Mark obsolete

2019-10-26  João Távora  <joaotavora@gmail.com>

	Allow completion styles to adjust completion metadata

	The new facility, realized in the completion-adjust-metadata-for-style
	generic, allows completion styles to have a say in metadata properties
	such as cycle-sort-function and display-sort-function.  This is
	especially useful for completion styles such as 'flex', which
	generally produce many matches, including some potentially "obscure"
	ones.  The default sorting strategy would often bubble the latter
	to the top of the list.

	The sorting function for 'flex' considers pre-computed matching scores
	and is thus much better than the default for this particular style.

	Additionally, it overrides the completion table's cycle-sort-function
	or display-sort-function properties if they exist, although it still
	uses them to pre-sort the result, so that they are still relevant for
	resolving ties.

	* lisp/minibuffer.el (completion--nth-completion): Call
	completion-adjust-metadata-for-style.
	(completion-adjust-metadata-for-style): New generic.
	(completion-adjust-metadata-for-style 'flex): New method.

2019-10-26  memeplex  <carlosjosepita@gmail.com>

	Replay key if kboard is interrupted while initializing (Bug#37782)

	The problem with the original fix for bug#5095 is that it drops
	the current event, which is a valid character event and not -2.
	Thus, the first ESC character sent by the terminal after turning
	on focus tracking is lost and we get '[' and 'I' events separately
	inserted into the buffer afterwards.

	* src/keyboard.c (read_key_sequence): Add key as mock_input and replay
	sequence using new keyboard, when the key is not -2.

2019-10-26  memeplex  <carlosjosepita@gmail.com>

	Remove redundant initialization of fringe bitmap (Bug#37756)

	* src/fringe.c (Fdefine-fringe-bitmap): Remove redundant zeroing
	of fb.bits that only zeroed half of the array anyway.

2019-10-26  Eli Zaretskii  <eliz@gnu.org>

	Improve the documentation of 'vc-tor'

	* lisp/vc/vc-dispatcher.el (vc-tor): Add :version.  Enhance
	the doc string.

	* etc/NEWS: Announce the new option.

2019-10-26  Richard Stallman  <rms@gnu.org>

	New defcustom 'vc-tor'

	* lisp/vc/vc-dispatcher.el (vc-tor): New user option.
	(vc-do-command): If vc-tor is non-nil, use 'torsocks'.

2019-10-25  Tassilo Horn  <tsdh@gnu.org>

	Adapt doc-view to latest image-mode changes

	The functions image-scroll-down, image-scroll-up, image-next-line, and
	image-previous-line now return pixel values instead of multiples of
	character height as of commit 9c66b09950.

	* lisp/doc-view.el (doc-view-scroll-up-or-next-page):
	(doc-view-scroll-down-or-previous-page):
	(doc-view-next-line-or-next-page):
	(doc-view-previous-line-or-previous-page):
	(doc-view-insert-image): Adapt to image-scroll-up/down and
	image-next/previous-line now returning pixel values instead of
	multiples of character heights.  Fixes bug#37874.

2019-10-25  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix positioning of point whilst inserting comments without non-ws

	* lisp/progmodes/cc-cmds.el (c-guess-fill-prefix): When determining a new
	block comment prefix (i.e. there isn't one already there to copy), and that
	prefix is hard up against a comment closer, ensure there are at least two
	spaces before the closer.
	(c-indent-new-comment-line): Amend the strategy for ensuring that point isn't
	left hard up against the comment closer after M-j.

2019-10-25  Stephen Gildea  <stepheng+emacs@gildea.com>

	time-stamp-tests: consistently name the time vars

	* test/lisp/time-stamp-tests.el (with-time-stamp-test-env): rename local variable
	'ref-time' to 'ref-time1', for parallelism with ref-time2 and ref-time3.

2019-10-25  Michael Albinus  <michael.albinus@gmx.de>

	Mention completion styles for Tramp user/host name completion

	* doc/misc/tramp.texi (File name completion): Emacs must have one
	of the completion styles `basic', `emacs21', or `emacs22'.

2019-10-25  Juanma Barranquero  <lekktu@gmail.com>

	windmove.el: Suppress warnings for obsolete functions

	* lisp/windmove.el (windmove-constrain-loc-for-movement)
	(windmove-wrap-loc-for-movement, windmove-reference-loc)
	(windmove-other-window-loc): Wrap calls to obsolete functions
	in `with-suppressed-warnings'.

2019-10-25  Juanma Barranquero  <lekktu@gmail.com>

	windmove.el: Mark unused code as obsolete

	* lisp/windmove.el (windmove-window-distance-delta)
	(windmove-coord-add, windmove-constrain-to-range)
	(windmove-constrain-around-range, windmove-frame-edges)
	(windmove-constrain-loc-for-movement)
	(windmove-wrap-loc-for-movement, windmove-reference-loc)
	(windmove-other-window-loc): Declare obsolete.
	(windmove-find-other-window, windmove-do-window-select):
	Doc fixes.

	* etc/NEWS: Document it.

2019-10-25  Juanma Barranquero  <lekktu@gmail.com>

	* lisp/windmove.el (windmove-frame-edges): Simplify.

2019-10-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix gnus-thread-hide-subtree defcustom

	* lisp/gnus/gnus-sum.el (gnus-thread-hide-subtree): Make the
	"Non-nil" predicate do what it's supposed to (i.e., return non-nil
	on non-nil values (excepting predicates)) (bug#37916).

2019-10-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/mode-local.el: Clean up name space

	Mostly renaming functions by adding `mode-local--` to their name
	and leaving an obsolete alias behind, just in case.

	(define-child-mode): Make obsolete.
	(mode-local--set-parent): Rename from set-mode-local-parent.
	(mode-local--new-bindings): Rename from new-mode-local-bindings.
	Use `obarray-make`.
	(mode-local--activate-bindings): Rename from activate-mode-local-bindings.
	(mode-local--deactivate-bindings): Rename from
	deactivate-mode-local-bindings.
	(make-obsolete-overload): Rename properties with a `mode-local--` prefix.
	Adjust all users.
	(mode-local--overload-obsoleted-by): Rename from overload-obsoleted-by.
	(mode-local--overload-that-obsolete): Rename from overload-that-obsolete.
	(mode-local--function-overload-p): Rename from function-overload-p.
	(mode-local-read-function): Mark obsolete.
	(mode-local--overload-docstring-extension): Rename from
	overload-docstring-extension.
	(mode-local--describe-overload): Rename from describe-mode-local-overload.

	* lisp/cedet/semantic/fw.el (semantic-install-function-overrides):
	Remove unused `mode` argument.

	* lisp/cedet/semantic/grammar-wy.el (semantic-grammar-wy--install-parser):
	* lisp/cedet/semantic/bovine/grammar.el (bovine-grammar-mode):
	* lisp/cedet/semantic/texi.el (semantic-default-texi-setup):
	* lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-setupcode-builder)
	(wisent-grammar-mode):
	* lisp/cedet/semantic/html.el (semantic-default-html-setup):
	Make the `semantic-` prefix explicit to ease grep search.
	(html-helper-mode): Remove obsolete setting.

	* lisp/cedet/semantic/wisent/javascript.el: Fix js-mode/javascript-mode
	mixup so we don't need define-child-mode any more.
	(semantic-get-local-variables, semantic-ctxt-current-symbol)
	(semantic-tag-protection, semantic-analyze-scope-calculate-access):
	Use `js-mode` rather than `javascript-mode` as the mode name since
	that's the real mode's name.

	* lisp/cedet/semantic/wisent/python.el (python-2-mode, python-3-mode):
	Remove child declaration for non-existing modes.

	* lisp/cedet/srecode/map.el (srecode-map-validate-file-for-mode): Simplify.

2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-10-23 nstrftime: speed up integer overflow checking
	2019-10-23 port better to GCC under macOS
	2019-10-15 inttypes: use more-robust test for int range
	2019-10-14 update-copyright: use en dashes in .texi ranges
	* build-aux/update-copyright, lib/intprops.h, lib/inttypes.in.h:
	* lib/nstrftime.c, lib/verify.h:
	Copy from Gnulib.

2019-10-24  Juanma Barranquero  <lekktu@gmail.com>

	* doc/lispref/display.texi: Document `delay-warning'

2019-10-24  Mattias Engdegård  <mattiase@acm.org>

	rx.el: Refactor user-definition expansion

	* lisp/emacs-lisp/rx.el (rx--translate-not): Simplify structure.
	* lisp/emacs-lisp/rx.el (rx--expand-def): New.
	(rx--translate-symbol, rx--translate-form): Use rx--expand-def.

2019-10-23  Stefan Kangas  <stefankangas@gmail.com>

	Update FAQ section on large files (Bug#37818)

	* doc/misc/efaq.texi (Problems with very large files): Extend section
	and remove information about ancient versions of Emacs.

2019-10-23  Stefan Kangas  <stefankangas@gmail.com>

	Update FAQ section on Emacs security (Bug#37818)

	* doc/misc/efaq.texi (Security risks with Emacs): Remove section on
	movemail.  Add section on third-party packages.

2019-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/mode-local.el: Use lexical-binding and `declare`

	(with-mode-local-symbol, with-mode-local, setq-mode-local)
	(defvar-mode-local, defconst-mode-local)
	(define-overloadable-function, define-mode-local-override):
	Use `declare` for indent and edebug specs.
	(xref-mode-local-find-overloadable-regexp): Simplify regexp.
	(mode-local-setup-edebug-specs): Delete.
	(edebug-setup-hook): Don't use any more.

2019-10-23  Juri Linkov  <juri@linkov.net>

	* lisp/dired.el (dired-mark-pop-up): Set tab-line-format to nil (bug#37699).

2019-10-23  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Allow to specify interactively where to add a new tab.

	* lisp/tab-bar.el (tab-bar-new-tab-to): Rename from tab-bar-new-tab.
	Add optional arg TO-INDEX.
	(tab-bar-new-tab): New implementation to use relative ARG.
	(tab-new-to): Alias to tab-bar-new-tab-to.

2019-10-23  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Rename tab-bar-swap-tabs to tab-bar-move-tab-to.

	* lisp/tab-bar.el (tab-bar-move-tab-to): Rename from tab-bar-swap-tabs.
	Change logic to push the moved tab between existing tabs.
	(tab-bar-move-tab): Call tab-bar-move-tab-to instead of tab-bar-swap-tabs.
	(tab-move-to): Rename alias from tab-swap.

2019-10-23  Juri Linkov  <juri@linkov.net>

	Implement tab close undo feature for tab-bar.

	* lisp/tab-bar.el (tab-bar-closed-tabs): New variable.
	(tab-bar-close-tab): Add closed tab to tab-bar-closed-tabs.
	Disable tab-bar-mode on closing the last tab.
	(tab-bar-close-other-tabs): Add all closed tabs to tab-bar-closed-tabs.
	(tab-bar-undo-close-tab): New command.
	(tab-undo): Alias to tab-bar-undo-close-tab.

2019-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/analyze/complete.el: Fix completion-at-point

	Completion tables are not supposed to signal errors:

	    emacs -q
	    M-x semantic-mode
	    ; visit a file supported by semantic, such as a C file
	    ; put cursor in a blank space
	    M-x completion-at-point
	    It will error with: "Nothing to complete"

	(semantic-analyze-possible-completions): Return nil instead of
	signaling errors.

2019-10-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure that the prompt is kept on the final line

	* lisp/erc/erc-goodies.el (erc-possibly-scroll-to-bottom): New
	function.
	(scrolltobottom): Add to erc-insert-done-hook.

	* lisp/erc/erc.el (erc-insert-done-hook): New hook (bug#11697).
	(erc-display-line-1): Use it.

2019-10-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make erc-cmd-CLEAR do what its doc string says

	* lisp/erc/erc.el (erc-cmd-CLEAR): Delete the buffer contents
	instead of recentering (bug#31743).

2019-10-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make display of S/MIME signatures slightly better

	* lisp/epg.el (epg-signature-to-string): Decode percent escapes
	(bug#36101).

2019-10-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make Gnus recognize "git am" diffs in all groups

	* lisp/gnus/mm-uu.el (mm-uu-diff-groups-regexp): Recognize diffs
	in all groups (bug#32730).

2019-10-22  Stefan Kangas  <stefankangas@gmail.com>

	Add version tag to gnutls-min-prime-bits

	* lisp/net/gnutls.el (gnutls-min-prime-bits): Add version tag.

2019-10-22  memeplex  <carlosjosepita@gmail.com>

	Avoid extra lines in python-shell font lock buffer (Bug#33959)

	* lisp/progmodes/python.el
	(python-shell-font-lock-comint-output-filter-function): Avoid writing
	a newline to the font lock buffer when receiving an empty string.

2019-10-22  Glenn Morris  <rgm@gnu.org>

	Set expected result for a cedet test

	* test/lisp/cedet/srecode-utest-template.el (srecode-utest-project):
	Test fails on hydra.nixos.org, for some reason.

2019-10-22  Juri Linkov  <juri@linkov.net>

	Tab-line horizontal scrolling with UI buttons and commands (bug#37667)

	* etc/images/tabs/left-arrow.xpm:
	* etc/images/tabs/right-arrow.xpm: New images.

	* lisp/tab-line.el (tab-line-left-map, tab-line-right-map): New keymaps.
	(tab-line-left-button, tab-line-right-button): New variables.
	(tab-line-tab-name-function): Turn defvar into defcustom.
	(tab-line-tab-name-buffer): New function.
	(tab-line-tab-name-truncated-buffer): Rename from tab-line-tab-name.
	(tab-line-tabs-limit): Default to nil.
	(tab-line-tabs): Behavior depends on tab-line-tabs-limit.
	(tab-line-format): Use window-parameter tab-line-hscroll.
	Add left/right buttons.
	(tab-line-hscroll): New function.
	(tab-line-hscroll-right, tab-line-hscroll-left): New commands
	bound to mouse-wheel.  Rebind tab-switching commands to	mouse-wheel
	with Ctrl-modifier.

2019-10-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix "make bootstrap" build warning in tab-bar.el

	* lisp/tab-bar.el (require): Require seq when compiling to avoid a
	compilation warning.  The function it uses is autoloaded, but
	autoloads aren't loaded when this is built (on "make bootstrap").

2019-10-22  Eli Zaretskii  <eliz@gnu.org>

	Fix recent changes in documentation

	* doc/lispref/edebug.texi (Edebug Eval, Eval List): Reword
	recently added text to follow conventions.

	* src/textprop.c (Ftext_properties_at): Don't use passive tense
	in doc string.

2019-10-22  Stefan Kangas  <stefankangas@gmail.com>

	Various doc fixes for auto-insert-mode

	* doc/misc/autotype.texi (Autoinserting): Various doc fixes.
	* lisp/autoinsert.el (top-level): Recommend 'auto-insert-mode' over
	'add-hook'.

2019-10-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Make text-properties-at mention describe-text-properties

	* src/textprop.c (Ftext_properties_at): Mention
	describe-text-properties in the doc string.

2019-10-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a fringe example

	* doc/lispref/display.texi (Fringe Bitmaps): Add an example.

2019-10-22  Mattias Engdegård  <mattiase@acm.org>

	rx doc string tweaks

	* lisp/emacs-lisp/rx.el (rx--translate-seq, rx--translate-or, rx):
	Say "zero or more" instead of "one or more" where applicable.

2019-10-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Make edebug-eval-last-sexp interactively take a zero prefix

	* lisp/emacs-lisp/edebug.el (edebug-eval-last-sexp): Make the zero
	prefix work analogously to in eval-last-sexp (bug#28895).
	(edebug-eval-print-last-sexp): Ditto.

2019-10-22  Robert Pluim  <rpluim@gmail.com>

	Show stash counts in button in vc-dir

	Based on suggestions from Mattias Engdegård.

	* lisp/vc/vc-git.el (vc-git--make-button-text): New function to
	generate text for stash button.
	(vc-git-make-stash-button): Show stash counts.  Delete and recreate
	button when toggling.
	(vc-git-dir-extra-headers): Pass counts to vc-git-make-stash-button.
	Treat stash count <= vc-git-show-stash as equivalent to showing entire
	list.

2019-10-21  Arash Esbati  <arash@gnu.org>

	Move entry for \Ref into LaTeX core

	* lisp/textmodes/reftex-vars.el (reftex-ref-style-alist): Move
	entry for \Ref from "Varioref" into "Default" as this macro is
	part of LaTeX 2019-10-01 kernel.
	Rearrange entries for "Varioref".

2019-10-21  Stefan Kangas  <stefankangas@gmail.com>

	* etc/NEWS: Improve documentation of 'package-initialize'.

2019-10-21  Paul Eggert  <eggert@cs.ucla.edu>

	Portcheck only if --enable-gcc-warnings

	Problem reported by Richard Copley (Bug#37852).
	This patch causes the problem to not occur if one uses plain
	‘configure’.  The problem can still occur if with ‘configure
	--enable-gcc-warnings’, so a further fix may be needed.
	* configure.ac (GNULIB_PORTCHECK, _FORTIFY_SOURCE):
	Define these only with an explicit --enable-gcc-warnings.

2019-10-21  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from speedbar.el

	* lisp/speedbar.el (speedbar-frame-plist, speedbar-frame-mode)
	(speedbar-make-overlay, speedbar-overlay-put, speedbar-delete-overlay)
	(speedbar-mode-line-update, speedbar-frame-reposition-smartly)
	(speedbar-set-mode-line-format, speedbar-reconfigure-keymaps)
	(speedbar-add-localized-speedbar-support, speedbar-check-vc)
	(speedbar-highlight-one-tag-line)
	(speedbar-unhighlight-one-tag-line): Remove XEmacs compat code.

	* doc/misc/speedbar.texi (Frames and Faces): Remove documentation for
	XEmacs.

2019-10-21  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-annotate.el (vc-annotate-lines): Use set-face-extend (bug#37774)

2019-10-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Try to not put SMTP passwords in the *Messages* buffer

	* lisp/mail/smtpmail.el (smtpmail--sanitize-error-message): New
	function.
	(smtpmail-send-it): Use it.
	(smtpmail-send-queued-mail): Ditto.

2019-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cursor-sensor.el: Make it possible to reveal invisible text

	(cursor-sensor-mode): Hook into post-command-hook as well.
	(cursor-sensor--detect): Make argument optional.

2019-10-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Tiny clean-up of previous edebug patch

	* lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): Clean
	up code slightly.

2019-10-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure we always remove the breakpoint overlays

	* lisp/emacs-lisp/edebug.el (edebug--display-1): Remove the
	overlays here -- this cleans up after exiting no matter how we
	exited.

2019-10-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add fringe markers to edebug breakpoints

	* lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): Set a
	fringe element to mark the breakpoint.
	(edebug-breakpoint): Fringe marker.

2019-10-21  Stefan Kangas  <stefankangas@gmail.com>

	Clean up previous icalendar.el change

	* lisp/calendar/icalendar.el (icalendar--rris): Redefine as obsolete
	function alias.

2019-10-21  Stefan Kangas  <stefankangas@gmail.com>

	Remove more XEmacs compat code from viper-*.el

	* lisp/emulation/viper-cmd.el (viper-submit-report):
	* lisp/emulation/viper-init.el (viper-set-insert-cursor-type)
	(viper-restore-cursor-type, viper-use-replace-region-delimiters)
	(viper-has-face-support-p, viper-window-display-p)
	(viper-color-display-p, viper-device-type):
	* lisp/emulation/viper-mous.el (viper-mouse-click-search-word)
	(viper-mouse-click-insert-word, viper-mouse-click-get-word)
	(viper-mouse-click-posn, viper-mouse-click-window):
	* lisp/emulation/viper-util.el (viper-abbreviate-file-name)
	(viper-set-replace-overlay, viper-maybe-checkout): Remove XEmacs
	compat code.

2019-10-21  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from icalendar.el (Bug#37816)

	* lisp/calendar/icalendar.el (icalendar--convert-string-for-export)
	(icalendar--convert-string-for-import)
	(icalendar--parse-summary-and-rest)
	(icalendar--convert-ordinary-to-ical)
	(icalendar--convert-weekly-to-ical)
	(icalendar--convert-yearly-to-ical)
	(icalendar--convert-block-to-ical)
	(icalendar--convert-cyclic-to-ical)
	(icalendar--convert-anniversary-to-ical)
	(icalendar--format-ical-event)
	(icalendar--convert-recurring-to-diary): Remove XEmacs compat code.
	(icalendar--rris): Declare obsolete.

2019-10-21  Eli Zaretskii  <eliz@gnu.org>

	Avoid false indications from Flymake in .dir-locals.el files

	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Don't install
	'elisp-flymake-checkdoc' and 'elisp-flymake-byte-compile'
	hooks for .dir-locals.el files.  Reported by Clément
	Pit-Claudel <cpitclaudel@gmail.com>.

2019-10-21  Robert Pluim  <rpluim@gmail.com>

	Add button to vc-dir to toggle visibility of stash list

	* lisp/vc/vc-git.el: Move cl-lib require outside 'eval-when-compile'.

	* lisp/vc/vc-git.el (vc-git-show-stash):New user option.
	(vc-git-make-stash-button): Create button that allows hiding the stash
	list.
	(vc-git-dir-extra-headers): Split stash list into hideable and
	non-hideable parts depending on value of vc-git-show-stash.  Add
	button to toggle visibility of hideable part.

	* etc/NEWS: Announce it.

2019-10-20  Clément Pit-Claudel  <clement.pitclaudel@live.com>

	Add a way to disable substitution of command keys in help strings

	* src/keyboard.c (help_echo_substitute_command_keys): New function.
	(help_echo_echo, parse_menu_item): Use it.
	(syms_of_keyboard): Define Qhelp_echo_inhibit_substitution.

	* doc/lispref/text.texi (Special Properties), etc/NEWS: Document
	the effect of 'help-echo-inhibit-substitution'.

2019-10-20  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid fixnum round trip in prefix-numeric-value

	* src/callint.c (Fprefix_numeric_value): Simplify.

2019-10-20  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el: Bind mouse commands to [tab-line].

	* lisp/tab-line.el: Bind mouse-4/mouse-5, wheel-up/wheel-down
	globally to [tab-line].
	(tab-line-tab-map): Remove local bindings of mouse-4/mouse-5.
	(tab-line-new-tab, tab-line-switch-to-prev-tab)
	(tab-line-switch-to-next-tab, tab-line-close-tab):
	Turn commands into mouse-free (can be used without mouse).

2019-10-20  Stefan Kangas  <stefankangas@gmail.com>

	Don't try to add nil packages on refresh

	* lisp/emacs-lisp/package.el (package-read-archive-contents): Don't
	try to add nil entries.  Warn instead.  (Bug#28502)
	* test/lisp/emacs-lisp/package-tests.el
	(package-test-update-archives/ignore-nil-entry): New test.
	* test/lisp/emacs-lisp/package-resources/with-nil-entry/archive-contents:
	New file.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a command to toggle an edebug breakpoint

	* doc/lispref/edebug.texi (Breakpoints): Document this.

	* lisp/emacs-lisp/edebug.el (edebug-disabled-breakpoint): New face
	(bug#23472).
	(edebug-enabled-breakpoint): Rename.
	(edebug--overlay-breakpoints): Use the new face.
	(edebug-toggle-disable-breakpoint): New command and keystroke.

2019-10-20  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from decipher.el

	* lisp/play/decipher.el (decipher-last-command-char)
	(decipher-keypress): Remove XEmacs compat code.

2019-10-20  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Use autoloaded seq-position.

	* lisp/tab-bar.el (tab-bar--current-tab-index)
	(tab-bar--tab-index, tab-bar--tab-index-by-name):
	Use seq-position.

	(tab-bar-select-tab, tab-bar-new-tab, tab-bar-close-tab)
	(tab-bar-close-other-tabs, tab-bar-rename-tab)
	(tab-bar-list-execute): Call force-mode-line-update
	unconditionally independent from tab-bar-mode.

	(tab-bar-rename-tab, tab-bar-rename-tab-by-name):
	Use read-from-minibuffer instead of read-string
	to be able to enter empty string.

2019-10-20  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from meta-mode.el

	* lisp/progmodes/meta-mode.el (meta-mode-menu):
	(meta-mode-load-hook): Remove XEmacs compat code.

2019-10-20  Stefan Kangas  <stefankangas@gmail.com>

	Remove last XEmacs compat code from tree-widget.el

	* lisp/tree-widget.el (tree-widget-image-properties-xemacs)
	(tree-widget-set-theme, tree-widget--cursors)
	(tree-widget-image-properties, tree-widget-button-keymap)
	(tree-widget-icon, tree-widget-value-create): Remove XEmacs compat
	code.

2019-10-20  Stefan Kangas  <stefankangas@gmail.com>

	Remove leftover XEmacs compat code from dig.el

	* lisp/net/dig.el (top-level): Remove leftover XEmacs compat code.

2019-10-20  Mattias Engdegård  <mattiase@acm.org>

	Add missing rx symbols `bow' and `eow' to documentation

	* doc/lispref/searching.texi (Rx Constructs):
	* lisp/emacs-lisp/rx.el (rx):  Add missing synonyms.

2019-10-20  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-swap-tabs): Use cl-rotatef instead of rotatef.

2019-10-20  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-swap-tabs, tab-bar-move-tab): New commands.

	(tab-swap, tab-move): New aliases to new commands.

2019-10-20  Stefan Kangas  <stefankangas@gmail.com>

	Disable pause/resume from menu in snake and tetris

	* lisp/play/tetris.el (tetris--menu-def):
	* lisp/play/snake.el (snake--menu-def): Disable pause/resume from
	menu.

2019-10-20  Alan Mackenzie  <acm@muc.de>

	Optimize c-crosses-statement-barrier-p for large blocks of comment.

	This fixes bug #18134.

	* lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Give a limit
	to the c-backward-syntactic-ws which is searching for a virtual semicolon.  In
	the main loop, Use c-forward-syntactic-ws to skip blocks of comments.

2019-10-20  Juri Linkov  <juri@linkov.net>

	Provide default value for tab-name/frame-name reading minibuffer

	* lisp/tab-bar.el (tab-bar-rename-tab, tab-bar-rename-tab-by-name):
	Provide default value for read-string.
	(tab-bar-select-tab-by-name): Alias for tab-bar-switch-to-tab.

	* lisp/frame.el (set-frame-name): Provide default value for
	read-string in interactive spec.

	* lisp/cus-start.el (tab-bar-position): Use choice instead of boolean.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make edebug-mode-map take precedence

	* lisp/emacs-lisp/edebug.el (edebug--recursive-edit): Bind
	minor-mode-overriding-map-alist to avoid other minor modes hiding the
	edebug commands (bug#11018).

2019-10-20  Jimmy Aguilar Mena  <spacibba@aol.com>

	Fix internal-lisp-face-attributes to match face.

	* lisp/face-remap.el (internal-lisp-face-attributes): Updated the
	vector members to match the real member names. (Bug#37806) (Bug#37824)

2019-10-20  Stephen Leake  <stephen_leake@stephe-leake.org>

	In xref-location-marker, handle deleted file or outdated xref location nicely

	* lisp/progmodes/xref.el (xref-location-marker): Add ignore-errors.

2019-10-20  Stefan Kangas  <stefankangas@gmail.com>

	Update FAQ entry on XEmacs (Bug#37815)

	* doc/misc/efaq.texi (Difference between Emacs and XEmacs): Update
	section to reflect the current state of affairs.  XEmacs is not
	actively developed and is lacking many important features of Emacs.

2019-10-20  Stefan Kangas  <stefankangas@gmail.com>

	Improve doc string of eshell and eshell-buffer-name

	* lisp/eshell/eshell.el (eshell-buffer-name, eshell): Improve doc
	strings, by clarifying how buffers are named.  Also refer users to the
	Info manual.  (Bug#37178)

2019-10-20  Juanma Barranquero  <lekktu@gmail.com>

	* doc/lispref/display.texi (Low-Level Font): Describe max-width.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix edebug--restore-breakpoints re-instrumentinging bug-out

	* lisp/emacs-lisp/edebug.el (edebug--restore-breakpoints): Don't
	bug out when instrumenting/de-instrumenting/re-instrumenting.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new edebug-breakpoint face

	* doc/lispref/edebug.texi (Breakpoints): Mention it.

	* lisp/emacs-lisp/edebug.el (edebug-breakpoint): New face.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	while-no-input-ignore-events manual clarification

	* doc/lispref/commands.texi (Event Input Misc): Be slightly
	clearer about what while-no-input-ignore-events is.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	New command to clear all breakpoints in a function

	* doc/lispref/edebug.texi (Breakpoints): Mention it.

	* lisp/emacs-lisp/edebug.el (edebug-unset-breakpoints): New
	command and keystroke.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Preserve breakpoints when Edebug-reinstrumenting functions

	* lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): New
	function (bug#23470).

	* lisp/emacs-lisp/seq.el (seq-position): Autoload.

2019-10-20  Michael Albinus  <michael.albinus@gmx.de>

	Fix docstrings in tramp.el

	* lisp/net/tramp.el (tramp-antispoof-regexp)
	(tramp-file-name-handler): Fix docstring.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Change default to cancel all edebug-on-entry in cancel-edebug-on-entry

	* lisp/emacs-lisp/edebug.el (cancel-edebug-on-entry): Make the
	default to cancel all edebug-on-entry.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Use user-error in cancel-edebug-on-entry

	* lisp/emacs-lisp/edebug.el (cancel-edebug-on-entry): This is a
	user-class error, so use user-error.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Instrument function if it hasn't been already in edebug-set-breakpoint

	* lisp/emacs-lisp/edebug.el (edebug-set-breakpoint): Instrument
	form automatically when using this function (bug#23469).

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous edebug breakpoint overlay change

	* lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): Only
	make the overlays in edebug mode, so that we remove them when we
	exit.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark breakpoints in edebug with highlights

	* lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints)
	(edebug--overlay-breakpoints-remove): New functions (bug#23468).
	(edebug-modify-breakpoint): Use them to highlight breakpoints.
	(edebug--display-1): Restore breakpoint highlights.
	(edebug--recursive-edit): Remove highlights on exit.

2019-10-20  Juanma Barranquero  <lekktu@gmail.com>

	lisp/*.el: Fix typos and improve some docstrings

	* lisp/auth-source.el (auth-source-backend-parse-parameters)
	(auth-source-search-collection)
	(auth-source-secrets-listify-pattern)
	(auth-source--decode-octal-string, auth-source-plstore-search):
	* lisp/registry.el (registry-lookup)
	(registry-lookup-breaks-before-lexbind)
	(registry-lookup-secondary, registry-lookup-secondary-value)
	(registry-search, registry-delete, registry-size, registry-full)
	(registry-insert, registry-reindex, registry-prune)
	(registry-collect-prune-candidates):
	* lisp/subr.el (nbutlast, process-live-p):
	* lisp/tab-bar.el (tab-bar-list):
	* lisp/cedet/ede/linux.el (ede-linux--get-archs)
	(ede-linux--include-path, ede-linux-load):
	* lisp/erc/erc-log.el (erc-log-all-but-server-buffers):
	* lisp/erc/erc-pcomplete.el (pcomplete-erc-commands)
	(pcomplete-erc-ops, pcomplete-erc-not-ops, pcomplete-erc-nicks)
	(pcomplete-erc-all-nicks, pcomplete-erc-channels)
	(pcomplete-erc-command-name, pcomplete-erc-parse-arguments):
	* lisp/eshell/em-term.el (eshell-visual-command-p):
	* lisp/gnus/gnus-cache.el (gnus-cache-fully-p):
	* lisp/gnus/nnmail.el (nnmail-get-active)
	(nnmail-fancy-expiry-target):
	* lisp/mail/mail-utils.el (mail-string-delete):
	* lisp/mail/supercite.el (sc-hdr, sc-valid-index-p):
	* lisp/net/ange-ftp.el (ange-ftp-use-smart-gateway-p):
	* lisp/net/nsm.el (nsm-save-fingerprint-maybe)
	(nsm-network-same-subnet, nsm-should-check):
	* lisp/net/rcirc.el (rcirc-looking-at-input):
	* lisp/net/tramp-cache.el (tramp-get-hash-table):
	* lisp/net/tramp-compat.el (tramp-compat-process-running-p):
	* lisp/net/tramp-smb.el (tramp-smb-get-share)
	(tramp-smb-get-localname, tramp-smb-read-file-entry)
	(tramp-smb-get-cifs-capabilities, tramp-smb-get-stat-capability):
	* lisp/net/zeroconf.el (zeroconf-list-service-names)
	(zeroconf-list-service-types, zeroconf-list-services)
	(zeroconf-get-host, zeroconf-get-domain)
	(zeroconf-get-host-domain):
	* lisp/nxml/rng-xsd.el (rng-xsd-compile)
	(rng-xsd-make-date-time-regexp, rng-xsd-convert-date-time):
	* lisp/obsolete/erc-hecomplete.el (erc-hecomplete)
	(erc-command-list, erc-complete-at-prompt):
	* lisp/org/ob-scheme.el (org-babel-scheme-get-buffer-impl):
	* lisp/org/ob-shell.el (org-babel--variable-assignments:sh-generic)
	(org-babel--variable-assignments:bash_array)
	(org-babel--variable-assignments:bash_assoc)
	(org-babel--variable-assignments:bash):
	* lisp/org/org-clock.el (org-day-of-week):
	* lisp/progmodes/cperl-mode.el (cperl-char-ends-sub-keyword-p):
	* lisp/progmodes/gud.el (gud-find-c-expr, gud-innermost-expr)
	(gud-prev-expr, gud-next-expr):
	* lisp/textmodes/table.el (table--at-cell-p, table--probe-cell)
	(table--get-cell-justify-property)
	(table--get-cell-valign-property)
	(table--put-cell-justify-property)
	(table--put-cell-valign-property): Fix typos.

	* lisp/so-long.el (fboundp): Doc fix.
	(so-long-mode-line-info, so-long-mode)
	(so-long--check-header-modes): Fix typos.

	* lisp/emulation/viper-mous.el (viper-surrounding-word)
	(viper-mouse-click-get-word): Fix typos.
	(viper-mouse-click-search-word): Doc fix.

	* lisp/erc/erc-backend.el (erc-forward-word, erc-word-at-arg-p)
	(erc-bounds-of-word-at-point): Fix typos.
	(erc-decode-string-from-target, define-erc-response-handler):
	Refill docstring.

	* lisp/erc/erc-dcc.el (pcomplete/erc-mode/DCC): Fix typo.
	(erc-dcc-get-host, erc-dcc-auto-mask-p, erc-dcc-get-file):
	Doc fixes.

	* lisp/erc/erc-networks.el (erc-network-name): Fix typo.
	(erc-determine-network): Refill docstring.

	* lisp/net/dbus.el (dbus-list-hash-table)
	(dbus-string-to-byte-array, dbus-byte-array-to-string)
	(dbus-check-event): Fix typos.
	(dbus-introspect-get-property): Doc fix.

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler):
	Rename ARGS to ARGUMENTS.  Doc fix.
	(tramp-adb-sh-fix-ls-output, tramp-adb-execute-adb-command)
	(tramp-adb-find-test-command): Fix typos.

	* lisp/net/tramp.el (tramp-set-completion-function)
	(tramp-get-completion-function)
	(tramp-completion-dissect-file-name)
	(tramp-completion-dissect-file-name1)
	(tramp-get-completion-methods, tramp-get-completion-user-host)
	(tramp-get-inode, tramp-get-device, tramp-mode-string-to-int)
	(tramp-call-process, tramp-call-process-region)
	(tramp-process-lines): Fix typos.
	(tramp-interrupt-process): Doc fix.

	* lisp/org/ob-core.el (org-babel-named-src-block-regexp-for-name)
	(org-babel-named-data-regexp-for-name): Doc fix.
	(org-babel-src-block-names, org-babel-result-names): Fix typos.

	* lisp/progmodes/inf-lisp.el (lisp-input-filter): Doc fix.
	(lisp-fn-called-at-pt): Fix typo.

	* lisp/progmodes/xref.el (xref-backend-identifier-at-point):
	Doc fix.
	(xref-backend-identifier-completion-table): Fix typo.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	New command edebug-remove-instrumentation

	* doc/lispref/edebug.texi (Instrumenting): Document it.

	* lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation): New
	command (bug#15843).

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix doc string and interactive spec of cancel-edebug-on-entry

	* lisp/emacs-lisp/edebug.el (cancel-edebug-on-entry): Add doc
	string and make the interactive spec complete over functions that
	have the spec (bug#10806).
	(edebug-cancel-edebug-on-entry): Add alias for discoverability.
	(edebug-on-entry): Clarify what this command does.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Add an edebug-cancel-debug-on-entry alias"

	This reverts commit cea9577b7d6fcf01599afd48078f8ff1defb1297.

	cancel-edebug-on-entry and cancel-debug-on-entry are not the same functions.

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Add an edebug-cancel-debug-on-entry alias

	* lisp/emacs-lisp/debug.el (edebug-cancel-debug-on-entry): Add an
	alias for easier discoverability (bug#10806).

2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Protect against invalid punycode

	* lisp/net/puny.el (puny-decode-string): Protect against invalid
	punycode.

2019-10-19  Juri Linkov  <juri@linkov.net>

	* lisp/net/eww.el (eww-browse-url-new-window-is-tab): New defcustom.

	(eww-open-in-new-buffer, eww-browse-url): Use new defcustom (bug#37592).

2019-10-19  Juri Linkov  <juri@linkov.net>

	Use 'C-x t' for tab-prefix-map instead of 'C-x 6' still used by 2C-mode-map.

	* doc/emacs/commands.texi (Keys): Add 'C-x t'.
	* doc/emacs/frames.texi (Tab Bars): Replace 'C-x 6' with 'C-x t'.
	* doc/lispref/keymaps.texi (Prefix Keys): Add 'C-x t' (tab-prefix-map).
	* doc/lispref/maps.texi (Standard Keymaps): Add tab-prefix-map, tab-bar-map.

	* lisp/dired.el: Rebind 'C-x 6 d' to 'C-x t d'.  Use tab-prefix-map.

	* lisp/subr.el (ctl-x-6-map, ctl-x-6-prefix, ctl-x-t-prefix): Remove.
	(tab-prefix-map): New keymap bound to 'C-x t'.

	* lisp/tab-bar.el: Use tab-prefix-map instead of ctl-x-6-map.

	* lisp/textmodes/two-column.el: Restore autoload global setting of
	"\C-x6" to 2C-command.

	* lisp/ldefs-boot.el: Update to add setting "\C-x6" to 2C-command.

	* doc/emacs/commands.texi (Keys):
	* doc/emacs/text.texi (Two-Column):
	* doc/lispref/keymaps.texi (Prefix Keys):
	* doc/lispref/maps.texi (Standard Keymaps):
	Restore 'C-x 6' bound to '2C-mode-map'.

2019-10-19  Juri Linkov  <juri@linkov.net>

	Add ':extend t' face attribute to diff faces (bug#37774)

	* lisp/vc/diff-mode.el (diff-header, diff-file-header)
	(diff-removed, diff-added): Add ':extend t' face attribute.

	* lisp/vc/ediff-init.el (ediff-current-diff-A)
	(ediff-current-diff-B, ediff-current-diff-C)
	(ediff-current-diff-Ancestor, ediff-even-diff-A)
	(ediff-even-diff-B, ediff-even-diff-C, ediff-even-diff-Ancestor)
	(ediff-odd-diff-A, ediff-odd-diff-B, ediff-odd-diff-C)
	(ediff-odd-diff-Ancestor): Add ':extend t' face attribute.

	* lisp/vc/smerge-mode.el (smerge-upper, smerge-lower)
	(smerge-base, smerge-markers): Add ':extend t' face attribute.

	* lisp/vc/log-view.el (log-view-file, log-view-message):
	Add ':extend t' face attribute.

	* lisp/faces.el (secondary-selection): Add ':extend t' face attribute.
	(line-number-major-tick, line-number-minor-tick):
	Change :foreground to :background.

2019-10-19  Glenn Morris  <rgm@gnu.org>

	* lisp/net/tramp.el (tramp-antispoof-regexp): Fix version.

2019-10-19  Alan Mackenzie  <acm@muc.de>

	Don't downcase the key binding in global-set-key.

	This fixes bug #37769.

	* lisp/subr.el (global-set-key): Provide a non-nil DONT-DOWNCASE argument to
	read-key-sequence.

	* etc/NEWS: Add an entry for this change.

2019-10-19  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent change in Emacs FAQ

	* doc/misc/efaq.texi (New in Emacs 23, Common requests):
	Remove references to the removed section "Highlighting a
	region".

2019-10-19  Michael Albinus  <michael.albinus@gmx.de>

	* doc/emacs/emacs.texi (Intro): Mention remote file editing.

2019-10-19  Stefan Kangas  <stefankangas@gmail.com>

	Don't explain FTP acronym in FAQ

	* doc/misc/efaq.texi (Common acronyms): Remove explanation of the FTP
	acronym.  Emacs is no longer distributed over FTP, and the FAQ doesn't
	refer to any other FTP URLs.

2019-10-19  Stefan Kangas  <stefankangas@gmail.com>

	Remove FAQ section "Highlighting a region" (Bug#37818)

	* doc/misc/efaq.texi (Highlighting a region): Remove section.

2019-10-19  Michael Albinus  <michael.albinus@gmx.de>

	Support PuTTY's antispoof message in Tramp

	* lisp/net/tramp-sh.el (tramp-actions-before-shell):
	Add respective entry for PuTTY's antispoof message.

	* lisp/net/tramp.el (tramp-antispoof-regexp): New defcustom.
	(tramp-action-confirm-message): New defun.

2019-10-19  Raimon Grau  <raimonster@gmail.com>

	Fix optional parameter passing in calc-fin-* functions

	* lisp/calc/calc-fin.el (calc-fin-pv, calc-fin-fv, calc-fin-pmt)
	(calc-fin-pner, calc-fin-rate): Add support for an optional
	parameter standing for an initial lump. The functions already
	support it but the extra parameter was not taken into account in
	stack mode. This commit it takes into consideration when deciding
	if a function takes 3 or 4 parameters (bug#37649).

2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from cperl-mode.el

	* lisp/progmodes/cperl-mode.el: Remove old-Emacs compat code.

2019-10-19  Eli Zaretskii  <eliz@gnu.org>

	Fix display of Info files on TTY frames

	* lisp/info.el (info-symbols-and-replacements): New variable.
	(Info-mode): Use 'info-symbols-and-replacements' to set up a
	buffer-display-table for non-ASCII symbols used by Info files
	that cannot be displayed on TTY frames.

2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from CEDET

	* lisp/cedet/semantic.el (pp):
	* lisp/cedet/semantic/complete.el (initialize-instance): Remove
	old-Emacs compat code.

2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from mm-url.el

	* lisp/gnus/mm-url.el (mm-url-use-external): Remove old-Emacs
	compat code.

2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from nnbabyl.el

	* lisp/gnus/nnbabyl.el (rmail): Remove old-Emacs compat code.

2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code in imap.el

	* lisp/net/imap.el (imap-sasl-auth-p): Remove old-Emacs compat code.

2019-10-19  Hong Xu  <hong@topbug.net>

	special-mode doc string clarification

	* lisp/simple.el (special-mode): Make the doc string explain what
	special modes are for (bug#37787).

2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't have shr bug out if svg support isn't available

	* lisp/net/shr.el (shr-put-image): Don't bug out if SVG support
	isn't available.

2019-10-19  Cédric Chépied  <cedric.chepied@delair.aero>

	Fix typo in tree-widget-lookup-image

	* lisp/tree-widget.el (tree-widget-lookup-image): Fix typo
	introduced by previous cleanup (bug#37809).

2019-10-19  Eli Zaretskii  <eliz@gnu.org>

	A better fix for tab-line mouse highlight on TTY frames

	* src/dispnew.c (mode_line_string):
	* src/xdisp.c (note_mode_line_or_margin_highlight): Remove
	recently-added workarounds for incorrect TTY mouse highlight:
	they are no longer needed.
	(mark_window_display_accurate_1): Set the header_line_p and
	tab_line_p flags of the window's current_matrix if the window
	displays these.
	(display_mode_line): Set the header_line_p and tab_line_p
	flags of the window's desired_matrix if the window displays
	these.  (Bug#37807)

2019-10-18  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from ezimage.el

	* lisp/ezimage.el (top-level): Remove XEmacs compat code.

2019-10-18  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify x86 GCC 9 in tab bar code

	* src/xdisp.c (tty_get_tab_bar_item): Simplify a bit.  This
	pacifies --enable-gcc-warnings with x86 GCC 9.2.1 20190827
	(Red Hat 9.2.1-1) when combined with -fsanitize=undefined.

2019-10-18  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from edt-mapper.el

	* lisp/emulation/edt-mapper.el (edt-mapper, edt-xserver)
	(edt-map-key): Remove XEmacs compat code.
	(edt-window-system): Redefine as obsolete variable alias for
	'window-system'.

2019-10-18  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from esh-arg.el

	* lisp/eshell/esh-arg.el (eshell-quote-backslash): Remove XEmacs
	compat code.

2019-10-18  Paul Eggert  <eggert@cs.ucla.edu>

	Generalize list1i etc. to all signed integer types

	* src/lisp.h (list1i, list2i, list3i, list4i):
	Accept intmax_t instead of EMACS_INT, and use make_int instead
	of make_fixnum.  This should help avoid integer-overflow
	problems akin to the Time bug (Bug#37795).

2019-10-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix integer-overflow bug in Time conversion

	Problem reported by Stefan Monnier (Bug#37795).
	* src/keyboard.c (make_lispy_position)
	(make_scroll_bar_position, make_lispy_event):
	* src/xterm.c (x_ewmh_activate_frame):
	Use INT_TO_INTEGER to convert Time to a Lisp integer,
	since the value might not be a fixnum.

2019-10-18  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (remote-file-name-inhibit-cache): Set to nil.

2019-10-18  Michael Albinus  <michael.albinus@gmx.de>

	Support old Samba versions in Tramp

	* doc/misc/tramp.texi (Relevant connection properties to override):
	New subsection.

	* lisp/net/tramp-smb.el (tramp-smb-get-cifs-capabilities): Check "posix"
	connection property.

	* lisp/net/tramp.el (with-tramp-progress-reporter): Fix docstring.

2019-10-18  Eli Zaretskii  <eliz@gnu.org>

	Fix mouse highlight with tab-line on TTY frames

	* src/xdisp.c (note_mode_line_or_margin_highlight):
	* src/dispnew.c (mode_line_string): Fix mouse highlight on TTY
	frames when both header line and tab-line are displayed.
	(Bug#37807)

2019-10-18  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of mouse events on header line with tab-line

	* src/window.c (coordinates_in_window): Fix conditions for
	coordinates being on the window's header line when that
	window also displays a tab-line.  (Bug#37807)

2019-10-18  Mattias Engdegård  <mattiase@acm.org>

	Use [^z-a] for matching any character (anychar/anything) in rx

	* lisp/emacs-lisp/rx.el (rx--translate-symbol):
	* test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-atoms):
	Use [^z-a] instead of ".\\|\n" for anychar.

	The new expression is faster (about 2×) and does not allocate regexp
	stack space.  For example, (0+ anychar) now matches strings of any
	size (bug#37659).

2019-10-18  Mattias Engdegård  <mattiase@acm.org>

	Add `unmatchable' as alias for (or) in rx (bug#37659)

	* lisp/emacs-lisp/rx.el (rx--translate-symbol, rx--builtin-symbols, rx):
	* test/lisp/emacs-lisp/rx-tests.el (rx-atoms):
	* doc/lispref/searching.texi (Rx Constructs):
	* etc/NEWS:
	Add `unmatchable', more descriptive than (or), and corresponding to
	the variable `regexp-unmatchable'.

2019-10-18  Mattias Engdegård  <mattiase@acm.org>

	Add `anychar' as alias to `anything' in rx (bug#37659)

	* lisp/emacs-lisp/rx.el (rx--translate-symbol, rx--builtin-symbols, rx):
	* test/lisp/emacs-lisp/rx-tests.el (rx-atoms):
	* doc/lispref/searching.texi (Rx Constructs):
	* etc/NEWS:
	Add `anychar', an alias for `anything'.  Since `anychar' is more
	descriptive (and slightly shorter), treat it as the preferred name.

2019-10-17  Michael Heerdegen  <michael_heerdegen@web.de>

	Extend debug spec of cl-flet (Bug#34481)

	* lisp/emacs-lisp/cl-macs.el (cl-flet): Extend debug spec to cover
	definitions of the form (FUNC EXP).

2019-10-17  Stefan Kangas  <stefankangas@gmail.com>

	Port snake menu to Emacs

	* lisp/play/snake.el (snake--menu-def): New constant.
	(snake-mode-menu, snake-null-menu): Add a menu.
	(snake-mode): Remove XEmacs compat code.
	(snake-mode-map, snake-null-map): Add docstring.

2019-10-17  Martin Rudalics  <rudalics@gmx.at>

	In 'bury-buffer' don't try to remove current buffer from minibuffer window

	* lisp/window.el (bury-buffer): Don't try to remove current buffer
	from minibuffer window.

2019-10-17  Eli Zaretskii  <eliz@gnu.org>

	* lisp/recentf.el (recentf-mode): Doc fix.  (Bug#37772)

	* lisp/dired.el (dired-auto-revert-buffer): Doc fix.  (Bug#37771)

2019-10-17  Stefan Kangas  <stefankangas@gmail.com>

	Port tetris menu to Emacs

	* lisp/play/tetris.el (tetris--menu-def): New constant.
	(tetris-mode-menu, tetris-null-menu): Add a menu.
	(tetris-mode): Remove XEmacs compat code.
	(tetris-null-map, tetris-mode-map): Add docstring.

2019-10-17  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/shell.el (shell): Make shell buffer the current buffer.  (Bug#37745)

2019-10-17  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from ffap.el

	* lisp/ffap.el (ffap-what-domain): Remove XEmacs compat code.

2019-10-17  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from imap.el

	* lisp/net/imap.el (imap-disable-multibyte): Declare obsolete.
	(imap-log, imap-open): Remove XEmacs compat code.

2019-10-17  Stefan Kangas  <stefankangas@gmail.com>

	Remove obsolete XEmacs references from manuals

	* doc/misc/erc.texi:
	* doc/misc/eshell.texi:
	* doc/misc/htmlfontify.texi:
	* doc/misc/remember.texi:
	* doc/misc/sieve.texi:
	* doc/misc/viper.texi: Remove obsolete XEmacs references.

2019-10-17  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs reference from viper refcard

	* etc/refcards/viperCard.tex: Remove reference to XEmacs.

2019-10-17  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from tcl.el

	* lisp/progmodes/tcl.el (tcl-mode): Remove XEmacs compat code.
	(tcl-popup-menu): Declare obsolete.

2019-10-17  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs reference from erc-button.el todo

	* lisp/erc/erc-button.el: Remove reference to XEmacs from a todo item.

2019-10-17  Stefan Kangas  <stefankangas@gmail.com>

	Remove commented out XEmacs compat code from po.el

	* lisp/textmodes/po.el: Remove commented out XEmacs compat code.

2019-10-17  Stefan Kangas  <stefankangas@gmail.com>

	Improve documentation of shell-command-prompt-show-cwd

	* doc/emacs/misc.texi (Single Shell):
	* lisp/simple.el (shell-command): Document
	'shell-command-prompt-show-cwd'.  (Bug#4987)

2019-10-16  Peter Oliver  <git@mavit.org.uk>  (tiny change)

	Allow vc-sccs-diff to work with TRAMP

	* lisp/vc/vc-sccs.el (vc-sccs-diff): If the diff command is to be
	run remotely, then the temporary files it's acting on must be
	remote too (bug#37777).

2019-10-16  Andrii Kolomoiets  <andreyk.mad@gmail.com>  (tiny change)

	Add ui.report_untrusted=0 to vc-hg log commands

	* lisp/vc/vc-hg.el (vc-hg-state-slow, vc-hg-merge-branch)
	(vc-hg-command): Add "--config" "ui.report_untrusted=0" to the
	log commands to avoid "Hg-not trusting file " messages in the mode
	line (bug#31497).

2019-10-16  Juanma Barranquero  <lekktu@gmail.com>

	lisp/*.el, src/*.c: Doc fixes related to returning t vs non-nil

	* lisp/progmodes/flymake-proc.el (flymake-proc--find-buffer-for-file):
	Doc fix; return value is a buffer, not t.

	* lisp/progmodes/ebrowse.el (ebrowse-member-display-p):
	Doc fix; return value is the MEMBER argument, not nil.

	* lisp/files.el (hack-one-local-variable-eval-safep):
	* lisp/play/doctor.el (doctor-nounp, doctor-pronounp):
	* lisp/progmodes/flymake-proc.el (flymake-proc--check-include):
	* lisp/progmodes/js.el (js--broken-arrow-terminates-line-p):
	Doc fix; a non-nil return value is not always t.

	* lisp/image.el (image-type-available-p):
	* lisp/simple.el (region-active-p):
	* lisp/window.el (frame-root-window-p):
	* src/buffer.c (Fbuffer_live_p):
	* src/image.c (Finit_image_library):
	* src/window.c (Fwindow_minibuffer_p):
	Doc fix; a non-nil return value is always t.

	* doc/lispref/minibuf.texi (Minibuffer Windows): Doc fix.

2019-10-16  Juanma Barranquero  <lekktu@gmail.com>

	lisp/*.el: Force non-nil result to t, to match docstring

	* lisp/emacs-lock.el (emacs-lock-live-process-p):
	* lisp/shadowfile.el (shadow-file-match):
	* lisp/emacs-lisp/edebug.el (edebug-basic-spec):
	* lisp/mail/rmail.el (rmail-expunge-confirmed):
	* lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
	* lisp/progmodes/idlwave.el (idlwave-quoted):
	* lisp/progmodes/idlw-shell.el (idlwave-shell-filename-string):
	* lisp/textmodes/refbib.el (r2b-isa-proceedings):
	* lisp/textmodes/texnfo-upd.el (texinfo-find-lower-level-node):
	Normalize boolean result.

2019-10-16  Juanma Barranquero  <lekktu@gmail.com>

	* lisp/wid-edit.el (widget-default-active): Normalize boolean result.

2019-10-16  Juanma Barranquero  <lekktu@gmail.com>

	Add/fix documentation for widget-apply

	* doc/misc/widget.texi (Widget Properties): Document `widget-apply'.

	* src/fns.c (Fwidget_apply): Document return value (used in many
	places).

2019-10-16  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp's sudo method for non-default shells (Bug#31924)

	* lisp/net/tramp-sh.el (tramp-methods) <sudo>: Change template.
	(tramp-maybe-open-connection): Remove `tramp-login-env'.  (Bug#31924)

	* lisp/net/tramp.el (tramp-methods): Remove docstring for `tramp-login-env'.

2019-10-16  Juanma Barranquero  <lekktu@gmail.com>

	lisp/speedbar.el: Fix computation of boolean return values

	* lisp/speedbar.el (speedbar-check-vc-this-line):
	Normalize boolean result.
	(speedbar-this-file-in-vc): Use `run-hook-with-args-until-success'
	to check for files under version control.  Doc fix.

2019-10-16  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Apply "user option" when possible.  Fix other oddities.

2019-10-16  Martin Rudalics  <rudalics@gmx.at>

	Handle top margin change in adjust_frame_size

	* src/frame.c (adjust_frame_size): Handle case where only
	pseudo windows changed height so the top margin has to be
	adjusted.
	* src/window.c (Fset_window_configuration): Call
	adjust_frame_size with inhibit 4.

2019-10-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Expand <<- heredocs in sh

	* lisp/progmodes/sh-script.el (sh--maybe-here-document): Make <<-
	expansion work, too.

2019-10-15  Robert Pluim  <rpluim@gmail.com>

	Allow event description to be empty

	The previous fix for this was incomplete.

	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event->org-entry):
	Allow description to be nil.

2019-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix some &rest body edebug specs

	* lisp/ses.el (ses--letref):

	* lisp/emacs-lisp/crm.el (crm--completion-command): Fix edebug
	&rest body spec (bug#28747).

	* lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):

	* lisp/emacs-lisp/inline.el (inline--leteval)
	(inline--letlisteval, inline-letevals):

2019-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak heredoc expansion in shell-script-mode

	* lisp/progmodes/sh-script.el (sh--maybe-here-document): Allow
	expanding <<E, too.

2019-10-15  Juri Linkov  <juri@linkov.net>

	Declare tab-bar-tabs the single source of truth in regard to current tab name

	* lisp/tab-bar.el: Replace all calls of tab-bar-tabs
	with '(funcall tab-bar-tabs-function)'.
	(tab-bar-tabs): Update the current tab name here
	instead of tab-bar-make-keymap-1.
	(tab-bar-make-keymap-1): Move the current tab name updating
	to tab-bar-tabs.

2019-10-15  Robert Cochran  <robert-git@cochranmail.com>

	Allow tabs to have consistent given names

	* lisp/tab-bar.el (tab-bar--tab): Pull automatic name information from
	current tab
	(tab-bar--current-tab): Pull automatic name information from current
	tab, or from new optional template argument
	(tab-bar-select-tab): Pass the target tab as a template when setting
	it as current tab
	(tab-bar-rename-tab, tab-bar-rename-tab-by-name): New functions
	* doc/emacs/frames.texi (Tab Bars): Document new tab rename functionality.

2019-10-15  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-select-tab-modifiers): New defcustom.

	(tab-bar-mode): Use tab-bar-select-tab-modifiers to bind
	tab-bar-select-tab.
	Don't override user customized key bindings of C-TAB, C-S-TAB.
	On disabling tab-bar-mode, unset only keys bound by tab-bar.

2019-10-15  Juri Linkov  <juri@linkov.net>

	Don't use expand-file-name to find images for tabs.

	* lisp/tab-bar.el (tab-bar-mode):
	* lisp/tab-line.el (tab-line-new-button, tab-line-close-button):
	Remove expand-file-name with data-directory.

2019-10-15  Juri Linkov  <juri@linkov.net>

	New variable tab-bar-position

	* lisp/cus-start.el: Add customization for tab-bar-position.
	* src/dispnew.c (syms_of_display): New variable Vtab_bar_position.
	(adjust_frame_glyphs_for_window_redisplay): Use it.

2019-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/rect.el (string-rectangle): Inherit input method in minibuffer

2019-10-15  Eric Ludlam  <zappo@gnu.org>

	Fix test data broken by removing trailing whitespace.

2019-10-15  Eric Ludlam  <eric@siege-engine.com>

	Adapt the CEDET SRecoder getset tests to use ERT

	These tests were copied from CEDET from SourceForge.
	Author: Eric Ludlam <zappo@gnu.org>

2019-10-15  Eric Ludlam  <eric@siege-engine.com>

	Adapt the CEDET SRecoder template test to use ERT

	These tests were copied from CEDET from SourceForge.
	Author: Eric Ludlam <zappo@gnu.org>

2019-10-15  Eric Ludlam  <eric@siege-engine.com>

	Copy CEDET/Semantic's tag formatter test suite to be an

	automated test.
	These tests were copied from CEDET on Sourceforge and adapted to use ERT.
	Author: Eric Ludlam <zappo@gnu.org>

2019-10-15  Eric Ludlam  <eric@siege-engine.com>

	Update CEDET manual tests so that they run.

	To run visit test/manual/cedet/cedet-utests.el
	M-x eval-buffer
	M-x cedet-utest
	Author: Eric Ludlam <zappo@gnu.org>

2019-10-15  Eric Ludlam  <eric@siege-engine.com>

	Convert manual CEDET tests from test/manual/cedet to be

	automated tests in test/lisp/cedet.
	Author: Eric Ludlam <zappo@gnu.org>

2019-10-15  Robert Pluim  <rpluim@gmail.com>

	Fix duplicated words in lispref

	* doc/lispref/text.texi (Base 64):
	* doc/lispref/internals.texi (Window Internals): Remove duplicated
	words.

2019-10-15  Robert Pluim  <rpluim@gmail.com>

	Fix duplicated words in comments

	* src/coding.c (encode_string_utf_8):
	* src/keyboard.c (syms_of_keyboard):
	* src/mini-gmp.c (gmp_lucas_mod, mpz_export):
	* src/pdumper.c (dump_set_referrer, dump_queue_compute_score):
	* src/timefns.c (Ftime_convert): Remove duplicated words.

2019-10-15  Eli Zaretskii  <eliz@gnu.org>  (tiny change)

	Fix recording keyboard macros in Calc

	* lisp/calc/calc.el (calc-unread-command): Prevent recording
	key twice when defining a keyboard macro.  Patch by Christoph
	Arenz <tiga.arenz@web.de>.

2019-10-15  Daiki Ueno  <ueno@gnu.org>

	auth-source: Fix wrong-type-argument when searching plstore

	`auth-source-search' can be called with an integer port number from
	`network-stream-certificate`, while the backend implementation doesn't
	allow non-string attributes.

	* lisp/auth-source.el (auth-source-plstore-search): Ensure attributes
	are string.

2019-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Remove XEmacs code from tetris.el"

	This reverts commit 68b91333d5a070c84afeadc273fd5c44df70f0a6.

	This should be ported to Emacs instead.

2019-10-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Remove XEmacs-only code from snake.el"

	This reverts commit 7174a2b59f4cb883beb70bb3d182d59ab425e2f1.

	This should be ported to Emacs instead.

2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make auth-source work with non-ASCII passwords again

	* lisp/auth-source.el (auth-source--obfuscate): Convert the string
	to bytes before obfuscating.
	(auth-source--deobfuscate): Convert back into a string (bug#37758).

2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new macro `benchmark-progn'

	* doc/lispref/debugging.texi (Profiling): Mention it.

	* lisp/emacs-lisp/benchmark.el (benchmark-progn): New macro.

2019-10-14  Carlos Pita  <carlosjosepita@gmail.com>

	Fix python-shell font-lock cleanup for unclosed quotes (Bug#32390)

	The problem originating this report was:

	-------------
	In [15]: "
	  File "<ipython-input-15-3b7a06bb1102>", line 1
	    "
	     ^
	SyntaxError: EOL while scanning string literal

	In [16]:   string face still here"
	-------------

	This happens because
	python-shell-font-lock-comint-output-filter-function is called twice,
	first for the error output and then for the "In [16]: " part.  The
	first time python-shell-comint-end-of-output-p returns nil since
	we're *not* at the end of an input prompt.  The second time it returns
	0 since we're at the end of *just* an input prompt.  So we don't call
	python-shell-font-lock-cleanup-buffer either time.

	The current code is relying in a very weak rule: it considers "just an
	input prompt" to be a continuation prompt.  Another unreliable aspect
	of the current rule is that sometimes

	    (python-shell-comint-end-of-output-p (ansi-color-filter-apply output))

	returns 1 and not 0 for continuation prompts.  In short, the rule does
	a very poor job identifying continuations.

	* lisp/progmodes/python.el (python-shell-font-lock-cleanup-buffer):
	Don't check for empty OUTPUT since python-shell-comint-end-of-output-p
	returns nil for that anyway.  Don't check for
	python-shell-comint-end-of-output-p returning a specific number
	because it's unreliable, just check for any non-nil.  Identify
	continuation prompts by looking for "...".

2019-10-14  Juri Linkov  <juri@linkov.net>

	Add images on tab-bar buttons the first time the tab bar is activated

	* lisp/tab-bar.el (tab-bar-mode): Set display property with image files
	on tab-bar-new-button and tab-bar-close-button when tab-bar-mode is enabled
	the first time.
	(tab-bar-new-button, tab-bar-close-button): Use default values
	without display image properties.  (Bug#37685)

2019-10-14  Juanma Barranquero  <lekktu@gmail.com>

	lisp/*.el: Force non-nil result to t, to match docstring

	* lisp/ido.el (ido-ignore-item-p):
	* lisp/simple.el (use-region-p):
	* lisp/whitespace.el (whitespace-style-face-p)
	(whitespace-style-mark-p):
	* lisp/calendar/cal-islam.el (calendar-islamic-leap-year-p):
	* lisp/mail/rmail.el (rmail-is-text-p):
	* lisp/mh-e/mh-alias.el (mh-alias-for-from-p):
	* lisp/net/imap.el (imap-message-flag-permanent-p):
	* lisp/progmodes/tcl.el (tcl-real-comment-p):
	* lisp/textmodes/table.el (table--point-in-cell-p):
	Normalize boolean result.

2019-10-14  Juri Linkov  <juri@linkov.net>

	Set tab-line face height to 0.9.

	* lisp/tab-line.el (tab-line): Set :height to 0.9.
	* lisp/tab-bar.el (tab-bar): Remove :height.

2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the find-file-visit-truename safe-local-variable

	* lisp/files.el (find-file-visit-truename): Remove the
	safe-local-variable put, because the variable is checked too late
	to actually make a difference (bug#36830).

2019-10-14  Štěpán Němec  <stepnem@gmail.com>

	quail/py-b5: Use U+3007 for ideographic zero (bug#3179)

	* leim/leim-ext.el ("quail/PY-b5"): Use U+3007 instead of U+25CB for
	ideographic zero.  U+25CB (used previously) is only one of the several
	lookalikes (bug#3179).

2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>

	require-final-newline doc string clarification

	* lisp/files.el (require-final-newline): Mention that the variable
	applies to visited files (bug#34986).

2019-10-14  Juri Linkov  <juri@linkov.net>

	Use variable-pitch fonts in tab-bar and tab-line faces

	* lisp/tab-bar.el (tab-bar):
	* lisp/tab-line.el (tab-line):
	Inherit face from variable-pitch.

2019-10-14  Stefan Kangas  <stefankangas@gmail.com>

	Clarify C void type description in semantic

	* admin/grammars/c.by: Clarify void type.  (Bug#9222)

2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>

	dired-do-shell-command doc string fix

	* lisp/dired-aux.el (dired-do-shell-command): Mention the guesser
	variables (bug#16562).

2019-10-14  Juri Linkov  <juri@linkov.net>

	Fix initial value of frame-inhibit-implied-resize

	* src/frame.c (syms_of_frame): Update doc string and default value of
	frame-inhibit-implied-resize in NS to include 'tab-bar-lines.

2019-10-14  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes in Introduction to Emacs Lisp

	* doc/lispintro/emacs-lisp-intro.texi (if, save-excursion):
	'defun' is a macro, not a special form anymore.  (Bug#37747)

2019-10-14  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-tab-name-current): Fix with buffer-name.

2019-10-14  Stefan Kangas  <stefankangas@gmail.com>

	Improve documentation of dired-do-chmod

	* lisp/dired-aux.el (dired-do-chmod): Doc fix.  The part about
	MS-Windows was written by Eli Zaretskii.  (Bug#24897)

2019-10-14  Philipp Stephani  <phst@google.com>

	Enable modules by default.

	The interface has been stable since Emacs 25, and most bugs are fixed
	by now.

	* configure.ac: Enable modules by default.

2019-10-14  Michael Albinus  <michael.albinus@gmx.de>

	Suppress eager completion on not connected hosts in Tramp

	* lisp/net/tramp.el (tramp-completion-handle-file-name-completion):
	Bind `non-essential' to t.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Merge branch 'feature/extend_face_id'

	New face attribute :extend to control the face extension after
	EOL.

	necessary, # especially if it merges an updated upstream into a topic
	branch.  # # Lines starting with '#' will be ignored, and an empty
	message aborts # the commit.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Fix issue calling face_at_pos.

	*src/xdisp.c (extend_face_to_end_of_line): Add extra condition when
	producing glyphs from a C string to not call face_at_pos.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Modify face_at_pos to not modify change IT.

	src/xdisp.c (face_at_pos): Removed code to that modified
	it->start_of_box_run_p and it->face_box_p.  This function should not
	modify it.
	(handle_face_prop): Added code to update it->start_of_box_run_p and
	it->face_box_p.
	(underlying_face_id): Input IT made CONST.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	*etc/NEWS: Added comment about :extend face attribute in NEWS.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Document new :extend face attribute in manuals.

	Some stylistic corrections in src/xdisp.c and src/xfaces.c.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Fixed merge_face_ref recursive calls.

	* src/xfaces.c (merge_face_ref): Fixed recursive calls to consider
	filter when CONSP (face_ref).

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Optimization in extend_face

	* src/xdisp.c (extend_face_to_end_of_line): Optimization to void
	calls to face_at_pos.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Extend_face simplify.

	* src/dispextern.h (struct it): Removed extend_face unneeded members.
	* src/xdisp.c (handle_face_prop_general): renamed to face_at_pos and
	removed input parameter initial_face_id. Updated all occurrences.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Added parameter attr_filter to face_at_string_position.

	Update all the occurrences in src/xdisp.c and src/xfaces.c

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Extend face hl-line after end-of-line

	* lisp/hl-line.el (face hl-line): Added extend attribute to hl-line
	face.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Fix last change in append_space_for_newline.

	 * src/xdisp.c (append_space_for_newline): Code refactor and
	 simplification.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Add space for cursor to work also in terminal.

	* src/xdisp.c (append_space_for_newline): Modified to add the space
	with the last face also in terminal interface.
	(fill_column_indicator_column): Modified to group more conditions.
	(extend_face_to_end_of_line): Simplified code in
	fill_column_indicator to use the new function.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Changed handle_face_prop_general prototype.

	* src/xdisp.c (handle_face_prop_general): Changed function prototype
	to receive different arguments.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Fixed extend face filtered for prop.

	* src/xfaces.c (face_at_buffer_position): Pass ATTR_FILTER to
	merge_face_ref in when !NILP (prop).

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Call handle_face_prop_general to extend face.

	* src/xdisp.c (extend_face_to_end_of_line): Added a call to
	handle_face_prop_general to extend face after EOL according to
	parameter :extend in the faces.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Update dfci code with new extend_face code.

	* src/xdisp.c (extend_face_to_end_of_line): Updated the
	column-indicator code to use the new version of the function
	fill_column_indicator_column.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	New parameter to control the face extension..

	* src/xdisp.c (handle_face_prop_general): New function to specialize
	handle_face_prop with ATTR_FILTER.
	* src/dispextern.h (face_at_buffer_position): Added
	LFACE_ATTRIBUTE_INDEX.
	* src/xfaces.c (merge_face_ref): Added LFACE_ATTRIBUTE_INDEX to merge
	conditionally.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Added face parameter :extend.

	This is an initial change to add a parameter :extend that will be used
	in the display engine later.

2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>

	Simplify struct face to use only underline.

	* src/dispextern.h (enum face_underline_type): Add FACE_NO_UNDERLINE = 0.
	(struct face): Merge `underline_type` and `underline_p` into `underline`.
	Update all the occurrences in src/xdisp.c, src/xfaces.c, and src/xterm.c.

2019-10-14  Robert Pluim  <rpluim@gmail.com>

	Fix directory-files-recursively doc typo

	* lisp/files.el (directory-files-recursively): Fix doc string.

2019-10-14  Martin Rudalics  <rudalics@gmx.at>

	Fix bug recently introduced in 'fit-window-to-buffer' (Bug#37743)

	* lisp/window.el (fit-window-to-buffer): Call 'window-combined-p'
	with right argument (Bug#37743).

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous dired change again

	* lisp/dired.el (dired-set-id): Fix the name of the face after the
	previous change.

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in previous dired change

	* lisp/dired.el (dired-set-idguid): Remove superfluous '
	introduced by previous change (bug#37742).

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	(help-fns--var-aliases): Fix compilation warning in previous patch.

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `C-h v' list all aliases a variable has

	* lisp/help-fns.el (help-fns--var-aliases): New function (bug#15179).

2019-10-13  Hong Xu  <hong@topbug.net>

	Make url-hexify-string accept a list of allowed chars (bug#26469)

	* lisp/url/url-util.el (url-hexify-string): Accept a list of allowed
	chars.
	* doc/misc/url.texi (URI Encoding): Update url-hexify-string doc and
	index improvements (bug#24694).

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak ispell-init-process messaging

	* lisp/textmodes/ispell.el (ispell-init-process): Output a "done"
	after the "starting" message (bug#12828).

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new tar-copy-preserve-time variable

	* lisp/tar-mode.el (tar-copy-preserve-time): New variable (bug#11882).
	(tar-copy): Use it.

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify message about newer source file

	* src/lread.c (Fload): Mention which file was actually used
	instead of just saying that the .el is newer than the .elc (bug#10637).

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow zap-to-char to use a history

	* doc/emacs/killing.texi (Other Kill Commands): Document it.

	* lisp/simple.el (read-char-with-history): New function (bug#10477).
	(zap-to-char): Use it to have a history.

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Font-lock suid/guid files in Dired

	* lisp/dired.el (dired-font-lock-keywords): Font-lock suid/guid
	permissions (bug#8186).
	(dired-sguid): New face.

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Further changes to ensure that copy-keymap doesn't segfault

	* src/keymap.c (copy_keymap_1, copy_keymap_set_char_table): Ensure
	we don't recurse infinitely when using non-sparse keymaps, too.

	This change makes this form not segfault:

	(let ((map (make-keymap)))
	  (define-key map " " map)
	  (copy-keymap map))

2019-10-13  Stefan Kangas  <stefankangas@gmail.com>

	Clarify mouse commands section in manual

	* doc/emacs/frames.texi (Mouse Commands): Clarify section on mouse
	wheel somewhat.  (Bug#28182)

2019-10-13  Juri Linkov  <juri@linkov.net>

	Don't display the number of windows in tab name in tab-bar by default.

	* lisp/tab-bar.el (tab-bar-tab-name-function): Change the default value.
	(tab-bar-tab-name-current): Rename from tab-bar-tab-name-selected-window.
	(tab-bar-tab-name-current-with-count): New function.
	(tab-bar-tab-name-all): Rename from tab-bar-tab-name-all-windows.

2019-10-13  Juri Linkov  <juri@linkov.net>

	* lisp/window.el (next-buffer, previous-buffer): Add repeat count arg.

	* doc/emacs/buffers.texi (Select Buffer): Mention arg as repeat count.
	(Bug#37514)

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make list-buffers--refresh preserve marks

	* lisp/buff-menu.el (list-buffers--refresh): Preserve the marked
	buffers when refreshing the list (bug#6491).

2019-10-13  Juri Linkov  <juri@linkov.net>

	Enable tab-bar-mode from X resources

	* lisp/startup.el (x-apply-session-resources): Enable tab-bar-mode
	when X resource "tabBar" class "TabBar" is "on", "yes" or "1".

	* doc/man/emacs.1.in:
	* doc/emacs/xresources.texi (Table of Resources):
	Document X resource "tabBar" (class "TabBar").

2019-10-13  Juri Linkov  <juri@linkov.net>

	Fix initial value of frame-inhibit-implied-resize

	* src/frame.c (syms_of_frame): Update doc string and default value of
	frame-inhibit-implied-resize in NS to not include 'tab-bar-lines,
	and non-toolkit X builds to include 'tab-bar-lines.

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix hitting RET on some text in compilation-mode

	* lisp/progmodes/compile.el (compilation-next-error-function):
	Don't bug out with an incomprehensible error message on "make[2]:"
	texts (bug#5316).
	(compilation-find-file): Protect against there being no file name.

2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>

	* src/xdisp.c (note_tab_bar_highlight): Simplify HAVE_NS ifdefs.

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new action in save-some-buffers to view the buffer

	* doc/emacs/files.texi (Save Commands): Document it.

	* lisp/files.el (save-some-buffers-action-alist): Offer to pop to
	the buffer and then quit (bug#3625).
	(save-some-buffers): Implement it.
	(save-some-buffers--switch-window-callback): New variable.

2019-10-13  Mattias Engdegård  <mattiase@acm.org>

	Correctly explain test failures with mixed uni/multibyte strings

	* lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
	* test/lisp/emacs-lisp/ert-tests.el (ert-test-explain-equal):
	When explaining a difference between a unibyte and a multibyte string,
	first convert both to multibyte.  Otherwise, we might end up comparing
	unibyte char C to multibyte char C, 127<C<256, and not detect the
	difference (bug#30219).

2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention shifted alphabetical control GUI sequences

	* doc/emacs/custom.texi (Modifier Keys): Mention that you can bind
	shifted alphabetical control sequences in GUI frames (bug#23247).

2019-10-13  Philipp Stephani  <phst@google.com>

	Avoid compiler warnings on macOS.

	* src/xdisp.c (note_tab_bar_highlight): Define variables 'dpyinfo' and
	'mouse_down_p' only if needed.

2019-10-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix with-coding-priority markup in Elisp manual

	* doc/lispref/nonascii.texi (Specifying Coding Systems): Don't use
	'&rest' in conjunction with 'body...' in arglist of
	with-coding-priority.  Fix typo and cross-referencing (2-arg @pxref
	adds a trailing period).

2019-10-13  Stephen Gildea  <stepheng+emacs@gildea.com>

	Minor tweaks to time-stamp documentation strings

	* lisp/time-stamp.el (time-stamp): Reformat the explanation of the
	variables that affect time-stamp, for easier reading.  In particular,
	wrap the documentation to 75 characters, so that it displays neatly as
	a before-save-hook customization option.

	* test/lisp/time-stamp-tests.el (with-time-stamp-test-env): Use imperative voice,
	per checkdoc.

2019-10-13  Alan Mackenzie  <acm@muc.de>

	In compilation-tear-down-arrow-spec-in-margin, test compilation-arrow-overlay

	* lisp/progmodes/compile.el (compilation-tear-down-arrow-spec-in-margin): Make
	sure compilation-arrow-overlay is an overlay before performing overlay
	operations on it.  This fixes bug #37733.

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the previous-matching-history-element prompt clearer

	* lisp/simple.el (previous-matching-history-element): Put the
	default into the prompt (bug#380).

2019-10-12  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	Make diff-mode understand git-format-patch separators

	* lisp/vc/diff-mode.el (diff-prev-line-if-patch-separator):
	A function to return prev. line if it has git-format-patch
	separator.
	(diff-end-of-hunk): Make use of
	diff-prev-line-if-patch-separator
	diff-buffer-type: whether a buffer is a git-diff
	(define-derived-mode): set diff-buffer-type to appropriate
	value (bug#37395).

2019-10-12  Rolf Ade  <rolf@pointsman.de>  (tiny change)

	Tcl indentation fix outside functions

	* lisp/progmodes/tcl.el (tcl-calculate-indent): Indent code
	correctly outside of function definitions (bug#23565).

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Hide passwords more in `read-password'

	* lisp/subr.el (read-password--hide-password): Factor out (bug#17127).
	(read-passwd): Use it in post-command-hook instead of
	after-change-functions to ensure that we hide the password no
	matter what inserts text.

2019-10-12  Andreas Politz  <politza@hochschule-trier.de>

	Use quit-window in some functions

	* lisp/strokes.el:
	* lisp/startup.el (fancy-startup-tail):
	* lisp/progmodes/verilog-mode.el (verilog-complete-word)
	(verilog-show-completions):
	* lisp/progmodes/idlwave.el (idlwave-quit-help): Use `quit-window'
	(bug#24213).

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add -unknown to version-regexp-alist

	* lisp/epg-config.el (epg-find-configuration): Remove the -unknown
	hack, because it led to further problems later when comparing
	versions.

	* lisp/subr.el (version-regexp-alist): Rate -unknown versions the
	same as -alpha releases (bug#37556).

2019-10-12  Raimon Grau  <raimonster@gmail.com>

	Add "next" and "previous" shortcuts in eww-history buffers

	* lisp/net/eww.el (eww-history-mode-map): Add "n" and "p" for
	"next-line" and "previous-line" (bug#37648).

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Protect against segfaults in copy-keymap

	* src/keymap.c (copy_keymap_1): Factor out and refuse to recurse
	infinitely (bug#7496).
	(Fcopy_keymap): ... from here.
	(copy_keymap_item): Pass on the depth parameter.

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Document let-alist

	* doc/lispref/lists.texi (Association Lists): Document let-alist
	(bug#34842).

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't claim that the default height is precisely 36 characters

	* doc/emacs/cmdargs.texi (Window Size X):
	* doc/man/emacs.1.in: Be more vague about what the default height
	is (bug#33921).

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Document locate-dominating-file

	* doc/lispref/files.texi (Contents of Directories): Document
	locate-dominating-file (bug#33869).

2019-10-12  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Don't use minibuffer buffer name as tab name.

	* lisp/tab-bar.el (tab-bar-tab-name-selected-window):
	Use minibuffer-selected-window to get original window.

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Make Fadd_face_text_property even less destructive

	* src/textprop.c (Fadd_face_text_property): We need to be
	non-destructive in buffers, too, because face properties may have
	been added with `put-text-property' as a list that's been reused.

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the Emacs exit code in batch mode

	* doc/lispref/os.texi (Batch Mode): Mention what the exit code is
	if an error is signaled (bug#31552).

2019-10-12  Kaushal Modi  <kaushal.modi@gmail.com>

	Document that variables should not be called -p

	* doc/lispref/tips.texi (Coding Conventions): Document that
	variables should now be called -p (bug#26564).

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the cl-letf doc string link to the manual

	* lisp/emacs-lisp/cl-macs.el (cl-letf): Add a link to the manual
	from the doc string (bug#24459).

2019-10-12  Jiajie Chen  <jiegec@qq.com>  (tiny change)

	button-* function doc string clarifications

	* lisp/button.el (button-start, button-end, button-get)
	(button-put, button-label): Have the doc string mention that they
	have to be called from the current buffer (bug#23909).

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	ert-deftest macro doc string clarification

	* lisp/emacs-lisp/ert.el (ert-deftest): Mention that macros are
	expanded when defined, not when tested (bug#21742).

2019-10-12  Eli Zaretskii  <eliz@gnu.org>

	Fix recent changes in ELisp manual

	* doc/lispref/objects.texi (Special Read Syntax): Use @samp in
	@table.

	* doc/lispref/elisp.texi (Top): Update the detailed menu due
	to a recent addition.

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Document #$ in the overview

	* doc/lispref/objects.texi (Special Read Syntax): Add #$.

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation-transform-file-match-alist failure

	* lisp/progmodes/compile.el (compilation-error-properties): Fix
	thinko in compilation-transform-file-match-alist feature -- `file'
	isn't a list of files after all.

2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a lispref node to list special read syntax forms

	* doc/lispref/objects.texi (Special Read Syntax): Add a node to
	list all the special read syntax forms (bug#18957).

2019-10-12  Michael Albinus  <michael.albinus@gmx.de>

	Adapt some Tramp tests

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test17-insert-directory): Adapt regexp of summary line.

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
	Extend test for symlinked directories.

2019-10-12  Michael Albinus  <michael.albinus@gmx.de>

	Fix google-drive handling in tramp-gvfs

	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes):
	Add "standard::is-volatile".
	(tramp-gvfs-get-directory-attributes)
	(tramp-gvfs-handle-file-attributes): Handle "gdrive" special.
	(tramp-gvfs-send-command): Ignore nil arguments.

2019-10-12  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-handle-access-file): Use `file-truename'.

2019-10-12  Alan Mackenzie  <acm@muc.de>

	CC-Mode: Remove unneeded backslashes from doc strings and regular expressions

	Also make miscellaneous amendments.

	* lisp/progmodes/cc-align.el, lisp/progmodes/cc-cmds.el
	* lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el
	* lisp/progmodes/cc-langs.el, lisp/progmodes/cc-vars.el: Remove lots of
	unneeded backslashes.

	* lisp/progmodes/cc-langs.el (c-string-innards-re-alist): Remove redundant
	"\\|\r" from regular expression.

	* lisp/progmodes/cc-mode.el (c-make-mode-syntax-table): Correct the name of
	the hook normal-erase-is-backspace-MODE-hook from a non-existent hook name.

2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	tool-bar-map doc string clarification

	* lisp/tool-bar.el (tool-bar-map): Try to clarify how this
	variable is used (bug#17709).

2019-10-11  David Röthlisberger  <david@rothlis.net>  (tiny change)

	Fix `shell' doc keymap expansions

	* lisp/shell.el (shell): Make the commands be expanded in the
	correct keymap (bug#11202).

2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	diary-mark-entries-hook doc string clarification

	* lisp/calendar/diary-lib.el (diary-mark-entries-hook): Mention
	dynamically bound variables (bug#9287).

2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Document :match-inline widget elements

	* doc/lispref/customize.texi (Type Keywords): Document
	:match-inline (bug#8716).
	(Splicing into Lists): Mention :match-inline.

2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-10-11 Simplify and regularize regex use of ‘assert’
	2019-10-09 regex: omit debug assignment when not debugging
	2019-10-09 regex: tell compiler there’s at most 256 arcs out
	2019-10-09 regex: simplify by assuming C99
	2019-10-09 regex: avoid copying of uninitialized storage
	2019-09-29 fbufmode: Fix compilation error on glibc >= 2.28 systems
	2019-09-28 Update comments that refer to POSIX
	2019-09-23 Update URLs and associated text
	* doc/misc/texinfo.tex, lib/open.c, lib/regcomp.c:
	* lib/regex_internal.c, lib/regex_internal.h, lib/regexec.c:
	* lib/stdio-impl.h:
	Copy from Gnulib.

2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Document REAL-BINDING more extensively in Extended Menu Items

	* doc/lispref/keymaps.texi (Extended Menu Items): Document that
	REAL-BINDING can be other things than a real command (bug#7755).

2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor grep.el doc string clarifications

	* lisp/progmodes/grep.el (grep-find-ignored-directories)
	(grep-compute-defaults, grep, grep-expand-template)
	(grep-highlight-matches, grep-use-null-device)
	(grep-find-command, grep-find-template, grep-expand-template)
	(rgrep): Minor doc string clarifications.

2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Factor out the lambda from help-function-def

	* lisp/help-mode.el (help-function-def--button-function): Factor
	out into own function for easier reuse.
	(help-function-def): ... from the lambda here.

2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Make << shell heredoc expansion less enthusiastic

	* lisp/progmodes/sh-script.el (sh--maybe-here-document): Require a
	space before expanding a heredoc (bug#3226).  This allows the user
	to insert a bash <<< "herestring", which was previously difficult.

2019-10-11  Alan Mackenzie  <acm@muc.de>

	C++ Mode: Correctly handle <:, <::, <::>, etc, according to the C++ standard

	* lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Perform
	checking now on an insertion, should point be inside a critical token.
	(c-forward-<>-arglist-recur, c-guess-continued-construct): Check for <::, etc.

	* lisp/progmodes/cc-langs.el (c-<-pseudo-digraph-cont-regexp)
	(c-<-pseudo-digraph-cont-len): New lang variables/constants.

2019-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/mode-local.el (define-overload): Declare obsolete

	* lisp/cedet/srecode/ctxt.el (srecode-calculate-context):
	* lisp/cedet/srecode/semantic.el (srecode-semantic-apply-tag-to-dict)
	(srecode-semantic-find-template): Use define-overloadable-function instead.

2019-10-11  Andrea Corallo  <akrl@sdf.org>

	* lisp/emacs-lisp/map.el (map-into) <hash-table>: Allow keyword args

	(map--into-hash): New function, extracted from `map-into <hash-table>`.
	Speed it up a bit by using gethash instead of map-elt when we know
	we're accessing a hash table.

	* test/lisp/emacs-lisp/map-tests.el (test-map-into): Add corresponding test.

2019-10-11  Stefan Kangas  <stefankangas@gmail.com>

	Remove reference to obsolete package gnuserv from FAQ

	On visiting http://meltin.net/hacks/emacs/, we now find:
	"I used to have some Emacs and Haskell hacks on my previous
	sites. However, these hacks are now old and un-maintained. I don’t
	think there is enough interest to keep them around."

	* doc/misc/efaq.texi (Using an already running Emacs process):
	Remove reference to obsolete package 'gnuserv'.  (Bug#37574)

2019-10-11  Robert Pluim  <rpluim@gmail.com>

	Correct some more custom type specs

	* lisp/winner.el (winner-boring-buffers-regexp):
	* lisp/progmodes/js.el (js-jsx-indent-level):
	* lisp/image-dired.el (image-dired-external-viewer):
	* lisp/gnus/nnir.el (nnir-notmuch-filter-group-names-function):
	Correct custom type specification.

	* lisp/textmodes/bibtex.el (bibtex-string-file-path):
	(bibtex-file-path): Correct custom type specification and document
	source of initial value.

2019-10-11  Michael Albinus  <michael.albinus@gmx.de>

	Cleanup Tramp

	* lisp/net/tramp-archive.el (tramp-archive-gvfs-host): Fix docstring.

	* lisp/net/tramp.el: Remove :group from all defcustoms.
	(tramp-encoding-shell): Fix docstring.
	(tramp-error): Remove text properties from error message.

2019-10-11  Stefan Kangas  <stefankangas@gmail.com>

	Support showing directory in shell command prompt

	* lisp/simple.el (shell-command-prompt-show-cwd): New defcustom.
	(async-shell-command, shell-command): Show current directory in prompt
	when above option is non-nil.  (Bug#4987)
	* etc/NEWS: Announce it.

2019-10-11  Martin Rudalics  <rudalics@gmx.at>

	Minor fixes for switching to previous and next buffers (Bug#37514)

	* lisp/window.el (switch-to-prev-buffer)
	(switch-to-next-buffer): In doc-strings add links to
	'prev-buffer' and 'next-buffer'.
	(next-buffer, previous-buffer): Signal 'user-error' instead of
	'error'.  In doc-strings link to 'switch-to-prev-buffer' and
	'switch-to-next-buffer'.

2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	New variable amalgamating-undo-limit

	* doc/lispref/text.texi (Undo): Document it.

	* lisp/simple.el (amalgamating-undo-limit): New variable (bug#31658).

2019-10-11  Robert Pluim  <rpluim@gmail.com>

	Correct .dir-locals-2.el description

	* doc/lispref/variables.texi (Directory Local Variables): Correct
	description of .dir-locals-2.el functioning.  (Bug#37640)

2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Expand the documentation of --no-build-details

	* doc/emacs/cmdargs.texi (Initial Options): Mention that
	--no-build-details shouldn't be used in regular usage (bug#34448).

2019-10-10  Martin Rudalics  <rudalics@gmx.at>

	Fixes for fitting windows and frames to their buffers (Bug#37563)

	* lisp/window.el (window-default-font-height)
	(window-default-line-height): New functions.
	(fit-frame-to-buffer): Interpret values of MAX-HEIGHT and
	MIN-HEIGHT arguments in terms of WINDOW's default line height
	(Bug#37563).
	(fit-window-to-buffer): Obey size restricting arguments even
	when size of WINDOW's text does not change.  Do not
	temporarily select WINDOW and perform height/width related
	calculations if and only if WINDOW is accordingly combined.
	Interpret values of MAX-HEIGHT and MIN-HEIGHT arguments in
	terms of WINDOW's default line height.

2019-10-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Make nntp.el use new setq-local syntax

	* lisp/gnus/nntp.el (nntp-make-process-buffer): Convert to new
	setq-local syntax (as a test case).

2019-10-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure that setq-local take an even number of symbol/value pairs

	* doc/lispref/variables.texi (Creating Buffer-Local): Document the
	new syntax for setq-local.

	* lisp/subr.el (setq-local): Ensure that there's an even number of
	variable/value pairs, and expand the doc string by taking some
	text from `setq'.

2019-10-10  Jordon Biondo  <jordonbiondo@gmail.com>

	Allow setq-local to set more than one variable

	* lisp/subr.el (setq-local): Allow taking pairs of values (bug#26923).

2019-10-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove two checkdoc tests checked in by mistake

	* test/lisp/emacs-lisp/checkdoc-tests.el: Remove &aux and &context
	checks mistakenly checked in (as these aren't implemented) (bug#37697).

2019-10-10  Stefan Kangas  <stefankangas@gmail.com>

	Change font size in correct window using mouse wheel

	* lisp/mwheel.el (mouse-wheel-follow-mouse): Doc fix.
	(mouse-wheel--get-scroll-window): New function extracted from...
	(mwheel-scroll): ...here.
	(mouse-wheel-text-scale): New function to change face height in
	the correct window, depending on the value of
	'mouse-wheel-follows-mouse'.  (Bug#28182)
	(mouse-wheel-mode): Bind 'mouse-wheel-text-scale' instead of
	'text-scale-increase' and 'text-scale-decrease'.

2019-10-10  Juri Linkov  <juri@linkov.net>

	* lisp/subr.el (ctl-x-t-prefix): Bind new alias or ctl-x-6-map to 'C-x t'.

2019-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/tree-widget.el: Use lexical-binding

	Remove redundant `:group`s.
	(tree-widget--locate-sub-directory): Rewrite.

2019-10-10  Andreas Schwab  <schwab@linux-m68k.org>

	* lisp/progmodes/compile.el
	(compilation-transform-file-match-alist): Remove bogus Makefile match.

2019-10-10  Stephen Gildea  <stepheng+emacs@gildea.com>

	Remove tabs from time-stamp-format documentation

	* lisp/time-stamp.el (time-stamp-format): Untabify the doc string, so
	the two-column layout displays consistently in several contexts,
	in particular when displayed by customize-variable.

2019-10-10  Eli Zaretskii  <eliz@gnu.org>

	Fix initial value of frame-inhibit-implied-resize

	* src/frame.c (syms_of_frame): Update doc string and default
	value of frame-inhibit-implied-resize in GTK builds to include
	'tab-bar-lines.

2019-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	Port time-stamp-test-time-zone to macOS

	Problem reported by Stefan Kangas in:
	https://lists.gnu.org/r/emacs-devel/2019-10/msg00360.html
	* test/lisp/time-stamp-tests.el (time-stamp-test-time-zone):
	Don’t assume (format-time-string "%Z" 0 t) returns "GMT".

2019-10-09  Juanma Barranquero  <lekktu@gmail.com>

	identity, ignore: Make arg names more consistent with docs

	* lisp/subr.el (ignore): Rename argument IGNORE to ARGUMENTS.

	* src/fns.c (Fidentity): Rename ARG to ARGUMENT.

	* doc/lispref/functions.texi (Calling Functions): Fix references.

2019-10-09  Damien Cassou  <damien@cassou.me>

	checkdoc CL tests

	* test/lisp/emacs-lisp/checkdoc-tests.el: Add cl-lib-related tests
	(bug#37063).

2019-10-09  dick r. chiang  <dick.r.chiang@gmail.com>  (tiny change)

	Make checkdoc work better with cl-lib functions

	* lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info): Make checkdoc
	work for cl-lib methods with more complex parameter lists
	(bug#37063).

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix formatting of (file-size-human-readable 2047)

	* lisp/files.el (file-size-human-readable): Don't format
	slightly-less numbers as X.0k, but just Xk instead (bug#36329).

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Work around bad interaction between dired-omit-mode and recover-session

	* lisp/files.el (recover-session): Add ugly hack to try to ensure
	that we're actually showing the session files (bug#36223).

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow filtering out warnings/errors from compile.el detection

	* lisp/progmodes/compile.el
	(compilation-transform-file-match-alist): New variable (bug#32968).
	(compilation-error-properties): Use it to remove known false
	positives.
	(compilation-error-regexp-alist): Mention it in this doc string.

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify documentation of show-help-function slightly

	* doc/lispref/text.texi (Special Properties): Clarify where the
	example in Tooltip mode is (bug#35392).

2019-10-09  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: Don't show window count for one window.

	* lisp/tab-bar.el (tab-bar-tab-name-selected-window): Don't show the number
	of windows when there is only one window in the window configuration.
	(tab-bar-close-other-tabs): Rename from tab-close-other.
	Take into account tab-bar-show to turn off when needed.
	(tab-close-other): Alias to tab-bar-close-other-tabs.

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix nnimap tick/readedness thinko introduced some weeks back

	* lisp/gnus/nnimap.el (nnimap-request-set-mark): Fix thinko in the
	tick/read change: Unticking a message shouldn't make it unread,
	but ticking it should make it read.

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make mml-secure-epg-sign bug out if we can't find an identity

	* lisp/gnus/mml-sec.el (mml-secure-epg-sign): Bug out if we
	couldn't find anything to sign with instead of silently pretending
	to sign.
	* lisp/gnus/mml-smime.el (mml-smime-epg-sign): Don't bind
	inhibit-display because that makes debugging impossible.

2019-10-09  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from edt.el (Bug#37621)

	* lisp/emulation/edt.el (top-level, edt-emacs-variant)
	(edt-window-system, edt-xserver, edt-page-backward)
	(edt-beginning-of-line, edt-end-of-line-forward)
	(edt-end-of-line-backward, edt-one-word-forward)
	(edt-one-word-backward, edt-character, edt-line-forward)
	(edt-next-line, edt-previous-line, edt-top, edt-find-forward)
	(edt-find-backward, edt-find-next-forward)
	(edt-find-next-backward, edt-reset, edt-advance, edt-backup)
	(edt-define-key, edt-bottom-check, edt-sentence-forward)
	(edt-sentence-backward, edt-paragraph-forward)
	(edt-paragraph-backward, edt-restore-key, edt-window-top)
	(edt-window-bottom, edt-scroll-window-backward-line)
	(edt-line-to-bottom-of-window, edt-line-to-middle-of-window)
	(edt-goto-percentage, edt-display-the-time, edt-remember)
	(edt-split-window, edt-load-keys, edt-emulation-on)
	(edt-emulation-off, edt-default-emulation-setup)
	(edt-user-emulation-setup, edt-select-default-global-map)
	(edt-select-user-global-map): Remove XEmacs compat code.

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Move the "Skeleton Language" node to later in the manual

	* doc/misc/autotype.texi (Skeleton Language): Move this low-level
	node to after the more user-facing nodes (bug#20780).

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a letrec example to the manuel

	* doc/lispref/variables.texi (Local Variables): Add a letrec example.

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak letrec documentation

	* doc/lispref/variables.texi (Local Variables): Compare letrec to
	let* instead of let.

2019-10-09  Stephen Gildea  <stepheng+git-config-global@gildea.com>

	time-stamp: revert recent change to "%04y"

	* lisp/time-stamp.el (time-stamp-string-preprocess): Revert change to "%04y"
	format made 2 weeks ago by commit 0e56883878 (the previous commit to
	this file).  Although undocumented, "%04y" was discovered to be in use
	in the wild (2016) and had not issued a warning that it would change.
	Add a warning that it will change.

	* test/lisp/time-stamp-tests.el (time-stamp-test-year-2digit): add test of "%04y"

2019-10-09  Simen Heggestøyl  <simenheg@gmail.com>

	Warn about missing executables in RST PDF preview

	* lisp/textmodes/rst.el (rst-compile-pdf-preview): Warn about missing
	executables when attempting to compile and preview an RST file as PDF.
	(Bug#30063)

2019-10-09  Stephen Gildea  <stepheng+savannah@gildea.com>

	Expand testing of time-stamp format "%y"

	* test/lisp/time-stamp-tests.el (time-stamp-test-year): break into two tests,
	time-stamp-test-year-2digit and time-stamp-test-year-4digit.  Expand
	time-stamp-test-year-2digit to look more like tests for other 2-digit
	conversions.

2019-10-09  Juanma Barranquero  <lekktu@gmail.com>

	Silence compiler warning

	* src/w32.c (acl_to_text): Add ATTRIBUTE_MALLOC.

2019-10-09  Robert Pluim  <rpluim@gmail.com>

	Expand documentation on Lisp variables defined in C sources

	* doc/lispref/internals.texi (Writing Emacs Primitives): Add
	description of DEFVAR_* arguments.  Describe variable naming
	conventions.  Explain how to express quoting of symbols in C, plus
	'specbind' and how to create buffer-local variables.

2019-10-09  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Remote shell setup): Howto configure local shell.

2019-10-09  Michael Albinus  <michael.albinus@gmx.de>

	Support zsh as local shell in Tramp (Bug#31924)

	* lisp/net/tramp-sh.el (tramp-sh-extra-args): Extend zsh
	arguments.  Add :version.
	(tramp-maybe-open-connection): Use extra args for
	`tramp-encoding-shell'.  (Bug#31924)

2019-10-09  Juanma Barranquero  <lekktu@gmail.com>

	Implement offsets for absolute line numbers

	* src/xdisp.c (syms_of_xdisp) <display-line-numbers-offset>:
	New variable to add an offset to absolute line numbers.
	(syms_of_xdisp) <display-line-numbers>: Mention it in docstring.
	(maybe_produce_line_number): Use it.

	* doc/emacs/display.texi (Display Custom): Document it.

	* etc/NEWS (value): Announce it.

	* lisp/frame.el: Add `display-line-numbers-offset' to list of
	variables which should trigger redisplay of the current buffer.

2019-10-09  Juanma Barranquero  <lekktu@gmail.com>

	Do not use tick faces beyond ZV (bug#37641)

	* src/xdisp.c (maybe_produce_line_number): Check beyond_zv
	before using a tick face for the line number.  Move all face
	selection code outside the loop that draws the line number.

2019-10-09  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings in replace.el

	* lisp/replace.el (query-replace-read-from)
	(query-replace-compile-replacement, query-replace-read-to)
	(replace-string, replace-regexp, occur-mode-goto-occurrence)
	(occur-next-error, occur-rename-buffer, multi-occur)
	(multi-occur-in-matching-buffers): Describe all arguments in
	doc strings.  (Bug#31207)

2019-10-09  Eli Zaretskii  <eliz@gnu.org>

	Fix minor Texinfo errors in ELisp manual

	* doc/lispref/errors.texi (Standard Errors): Fix incorrect
	usage of @xref commands.  (Bug#37660)
	* doc/lispref/internals.texi (Buffer Internals): Fix markup.
	(Bug#37639)

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure that the pulse overlay is visible

	* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Make
	the pulse overlay have priority over the marked-region overlay
	(bug#29173).

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Protect against unlikely case of [menu-bar] not being bound

	* lisp/recentf.el (recentf-show-menu):
	(recentf-hide-menu): The [menu-bar] key may be unbound (bug#25191).

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some sanity checks to dired-x.el key bindings

	* lisp/dired-x.el: Ensure that prefix keys haven't be rebound to
	commands before adding keystrokes (bug#25190).

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow global-edebug-prefix to be nil

	* lisp/emacs-lisp/edebug.el (global-edebug-prefix): Allow
	global-edebug-prefix to be nil (if the user doesn't want that
	prefix) (bug#25188).

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix possible initialization error in shell-mode-map

	* lisp/shell.el (shell-mode-map): Comint is the parent mode, so
	there's no need to explicitly make it a parent map here (bug#25187).

2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Upcase parameters in things like "&optional (arg 3)"

	* lisp/help.el (help--make-usage): Upcase cl-defgeneric (etc)
	parameter names (bug#23517).

2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Bury the help buffer after sending a bug report

	* lisp/mail/emacsbug.el (report-emacs-bug-hook): Bury the help
	buffer after sending the bug report (bug#22712).

2019-10-08  Hong Xu  <hong@topbug.net>

	Fix up previous visit-tags-table change

	* lisp/progmodes/etags.el (visit-tags-table): Reimplement
	`tags--find-default-tags-dir-recursively' using the much simpler
	`locate-dominating-file'. Following up bug#37518.

2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Move point in the dired buffer with `n'/`p' in an image-mode buffer

	* lisp/image-mode.el (image-next-file): If the image is in a dired
	buffer, then move point in that buffer when advancing
	(bug#21752).  This makes it easier to select images.

2019-10-08  Juanma Barranquero  <lekktu@gmail.com>

	Fix typos in lisp/*.el

	* lisp/emacs-lisp/generator.el (cps--with-value-wrapper)
	(cps-inhibit-atomic-optimization, iter-close):
	* lisp/gnus/nnir.el (nnir-imap-search-arguments)
	(nnir-imap-search-argument-history, nnir-categorize)
	(nnir-ignored-newsgroups)
	(nnir-retrieve-headers-override-function)
	(nnir-imap-default-search-key, nnir-namazu-additional-switches)
	(gnus-group-make-nnir-group, nnir-add-result)
	(nnir-compose-result, nnir-run-imap, nnir-imap-make-query)
	(nnir-imap-query-to-imap, nnir-imap-expr-to-imap)
	(nnir-imap-next-term, nnir-run-swish-e, nnir-run-namazu)
	(nnir-read-parm, nnir-read-server-parm, nnir-search-thread):
	Trivial doc fixes.

2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Document `letrec'

	* doc/lispref/variables.texi (Local Variables): Document letrec
	(bug#21048).

	* lisp/subr.el (letrec): Expand the doc string slightly.

2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make menu bar entries only point to named functions, not lambdas

	* lisp/menu-bar.el ()
	(menu-bar--display-line-numbers-mode-visual)
	(menu-bar--display-line-numbers-mode-relative)
	(menu-bar--display-line-numbers-mode-absolute)
	(menu-bar--display-line-numbers-mode-none)
	(menu-bar--visual-line-mode-enable)
	(menu-bar--toggle-truncate-long-lines)
	(menu-bar--wrap-long-lines-window-edge): Make lambdas into trivial
	wrapper functions so that `C-h k' on the menu items work (bug#13841).
	(menu-bar-showhide-line-numbers-menu)
	(menu-bar-line-wrapping-menu): Use them.

2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more sanity checks to help-fns--globalized-minor-mode

	* lisp/help-fns.el (help-fns--globalized-minor-mode): FUNCTION can
	be a lambda, so protect against that.

2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make add-face-text-property not be destructive on strings

	* src/textprop.c (add_properties): Take a parameter to say whether
	it's allowed to be destructive or not (bug#20153).
	(add_text_properties_1): Ditto.
	(Fadd_face_text_property): Use this to say that it shouldn't
	modify face properties on strings destructively.  This avoids
	altering the face properties of one string when altering them on a
	copy of the string.

2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `info-display-manual' pop up the correct frame

	* lisp/info.el (info-display-manual): If the buffer is already in
	a window, use that window (bug#20020).

2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make a nil parameter switch variable-pitch-mode on

	* lisp/face-remap.el (variable-pitch-mode): Make a nil parameter
	switch the mode on instead of toggling (bug#19384).

2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from prolog.el

	* lisp/progmodes/prolog.el (prolog-mode-syntax-table)
	(prolog-help-info, prolog-Info-follow-nearest-node)
	(prolog-menu-help, prolog-edit-menu-runtime)
	(prolog-inferior-menu-all): Remove XEmacs compat code.

2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some XEmacs compat code from tree-widget.el

	* lisp/tree-widget.el (tree-widget-themes-load-path)
	(tree-widget-use-image-p, tree-widget-create-image)
	(tree-widget-image-formats, tree-widget-image-properties)
	(tree-widget-lookup-image): Remove XEmacs compat code.

2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some XEmacs compat code from newst*.el

	* lisp/net/newst-plainview.el
	(newsticker--plainview-tool-bar-map): Remove XEmacs support.

	* lisp/net/newst-treeview.el (newsticker-treeview-tool-bar-map):

2019-10-08  Federico Tedin  <federicotedin@gmail.com>

	Filter packages by name in list-packages. (Bug#36981)

	* lisp/emacs-lisp/package.el (package-menu-filter-by-name): New
	function to filter packages by name.
	(package-menu-clear-filter): New function to clear applied filters.
	(package-menu-filter-by-keyword): Rename function from
	package-menu-filter.
	(package-menu--generate): Don't change 'q' binding anymore.
	(package-menu-mode-map): Bind '/ n' to package-menu-filter-by-name, '/
	k' to package-menu-filter-by-keyword and '/ /' to
	package-menu-clear-filter.
	(package-menu-mode-menu): Update menu entries for the three functions.
	* test/lisp/emacs-lisp/package-tests.el (package-test-list-filter-by-name)
	(package-test-list-clear-filter): New tests.
	* doc/emacs/package.texi: Document usage of
	package-menu-filter-by-name, package-menu-clear-filter and update
	reference to package-menu-filter-by-keyword.
	* etc/NEWS: Announce changes.

2019-10-08  Hong Xu  <hong@topbug.net>

	Search upward from current dir for the default TAGS file

	* doc/emacs/maintaining.texi (Select Tags Table): Update the doc
	of `visit-tags-table' (bug#37518).
	* lisp/progmodes/etags.el (tags--find-default-tags-dir-recursively)
	(visit-tags-table): Search upward from current dir for the default
	TAGS file.

2019-10-08  Stefan Kangas  <stefankangas@gmail.com>

	Fix title inconsistencies in elisp intro book

	* doc/lispintro/emacs-lisp-intro.texi: Fix title
	inconsistencies.  (Bug#31037)

2019-10-08  Stefan Kangas  <stefankangas@gmail.com>

	Add some more commands to eshell-visual-commands

	* lisp/eshell/em-term.el (eshell-visual-commands): Add some more
	commonly used commands.

2019-10-08  Eli Zaretskii  <eliz@gnu.org>

	Fix crashes on TTY frames due to "C-x 6 f"

	* src/xdisp.c (redisplay_internal): Revert the recent change
	regarding TTY frames' garbaged flag.  It is not needed.

	* src/dispnew.c (adjust_frame_glyphs_for_frame_redisplay):
	When returning due to mismatch between the desired and actual
	dimensions of the glyph matrix, set the frame's garbaged flag
	for TTY frames.  This avoids crashes when we are later called
	from redisplay.  Reported by Ergus <spacibba@aol.com>.

2019-10-08  Michael Albinus  <michael.albinus@gmx.de>

	* etc/PROBLEMS: Describe navigation problem from Nautilus.  (Bug#37573)

	* lisp/userlock.el (create-lockfiles): Set `safe-local-variable' property.

2019-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package--get-deps): Fix thinko

	* test/lisp/emacs-lisp/package-tests.el (package-test-get-deps):
	Adjust test to new calling convention.

2019-10-08  Eli Zaretskii  <eliz@gnu.org>

	Fix aborts when opening a new font after face-cache reset

	* src/font.c (font_open_for_lface): Make sure the default face
	is realized before using its height for the font to be open.
	(Bug#37637)

2019-10-08  Michael Albinus  <michael.albinus@gmx.de>

	* INSTALL: Describe installation of source and debug packages.  (Bug#37527)

2019-10-07  Juanma Barranquero  <lekktu@gmail.com>

	Set default colors for tick faces

	* lisp/faces.el (line-number-major-tick, line-number-minor-tick):
	Set default color different from `line-number' so after customizing
	the tick number variables, the ticks are immediately visible.
	Suggested by Juri Linkov <juri@linkov.net>.

2019-10-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Clarify docs on newline and auto-fill-mode

	* doc/lispref/text.texi (Commands for Insertion):
	* lisp/simple.el (newline): Do not mention conditions specific to
	'do-auto-fill' under documentation of 'newline' (bug#36702).

2019-10-07  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-tab-name-function): Turn defvar into defcustom.

	(tab-bar-tab-name-all-windows): Rename from tab-bar-tab-name.
	(tab-bar-tab-name-selected-window): New function used by default.

2019-10-07  Stefan Kangas  <stefankangas@gmail.com>

	Add "python3 -m twine" example to comint-password-prompt tests

	* test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
	new example for "python3 -m twine" to test suite.  (Bug#37636)

2019-10-07  Eli Zaretskii  <eliz@gnu.org>

	Fix a crash in TTY sessions caused by recent changes

	* src/xdisp.c (redisplay_internal): Fix crashes in TTY
	sessions when turning on tab-mode.
	Reported by Ergus <spacibba@aol.com>.

2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Use text properties instead of truncating strings

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag): Use
	this to allow using commands like `C-s' to search for even
	truncated bits.

	* lisp/international/mule-util.el (truncate-string-to-width):
	Allow using text properties to truncate strings instead of
	actually truncating strings (bug#17782).

2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>

	dired-move-to-filename doc string fix

	* lisp/dired.el (dired-move-to-filename): Document the parameters
	(bug#17566).

2019-10-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve recent doc fix for cl-reduce

	* lisp/emacs-lisp/cl-seq.el: (cl-reduce): Clarify treatment of
	:INITIAL-VALUE when :FROM-END is non-nil.  Improve wording when SEQ
	is empty and :INITIAL-VALUE is unspecified (bug#37400).  Describe
	behavior when SEQ comprises a single element.

2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Make completion in the `E' command in *Ibuffer* work

	* lisp/ibuf-ext.el (eval): Make completion (etc) work as normal
	(bug#16239).

2019-10-07  Eli Zaretskii  <eliz@gnu.org>

	Fix infloop in redisplay caused by a recent change

	* src/xdisp.c (redisplay_internal): Avoid inflooping due to a
	frame's garbaged flag being set after update_frame.  Reported
	by Michael Heerdegen <michael_heerdegen@web.de>.

2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Feval_buffer doc string lexical-binding clarification

	* src/lread.c (Feval_buffer): Mention that the lexical-binding
	variable is ignored in the doc string (bug#20139).

2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Make ido-display-buffer work interactively more like display-buffer

	* lisp/ido.el (ido-display-buffer): Take an interactive parameter,
	like `display-buffer' (bug#14904).
	(ido-visit-buffer): Use it to emulate `C-u M-x display-buffer'.

2019-10-07  Leo Liu  <sdl.web@gmail.com>

	Fix rcirc not to interpret nil as nickname (bug#37344)

	* lisp/net/rcirc.el (rcirc-send-privmsg): Type check `target'.
	(rcirc-cmd-me): Send CTCP only when `target' exists.

2019-10-07  Stefan Kangas  <stefankangas@gmail.com>

	Quadruple term-buffer-maximum-size (Bug#37584)

	* lisp/term.el (term-buffer-maximum-size): Quadruple to 8192.

2019-10-06  Wolfgang Scherer  <wolfgang.scherer@gmx.de>

	Set correct svn:ignore property for relative filenames

	* lisp/vc/vc-svn.el: (vc-svn-ignore) Use svn:ignore property of
	immediate parent directory for wildcard specification (bug#37216).

2019-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	Fix port of file-acl errno checking to non-GNU

	I had misinterpreted the private email from Ashish Shukla.
	* src/fileio.c (Ffile_acl): Fix typo in previous change
	by negating the call to acl_errno_valid.

2019-10-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the colors on Motif horizontal scroll bars

	* src/xterm.c (x_create_horizontal_toolkit_scroll_bar): Use the
	same foreground/background colors as the vertical scroll bar
	(bug#37359).

2019-10-06  Lars Ingebrigtsen  <larsi@gnus.org>

	cl-reduce doc fix

	* lisp/emacs-lisp/cl-seq.el (cl-reduce): Clarify what happens when
	SEQ is the empty list (bug#37400).

2019-10-06  Hong Xu  <hong@topbug.net>

	tags-complete-tags-table-file doc string fix

	* lisp/progmodes/etags.el (tags-complete-tags-table-file): Doc
	string fix (bug#37538).

2019-10-06  Hong Xu  <hong@topbug.net>

	Default FILE to the current buffer for list-tags

	* doc/emacs/maintaining.texi (List Identifiers): Update
	`list-tags' doc (bug#37611).
	* lisp/progmodes/etags.el (list-tags)
	(tags--get-current-buffer-name-in-tags-file): Default FILE to the
	current buffer for list-tags.

2019-10-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Make mailcap-prefer-mailcap-viewers work as documented

	* lisp/emacs-lisp/seq.el (seq-find): Autoload.

	* lisp/net/mailcap.el (mailcap-parse-mailcaps): Note where all the
	entries come from so that we can later distinguish between user
	values and system values (bug#36771).
	(mailcap-parse-mailcap): Take a source parameter.
	(mailcap-possible-viewers): No need to sort wildcards/exact
	matches; these are later sorted anyway.
	(mailcap-add-mailcap-entry): Remove `after' parameter.
	(mailcap-mime-info): Make mailcap-prefer-mailcap-viewers work as
	documented.

2019-10-06  Mauro Aranda  <maurooaranda@gmail.com>

	Only complete words inside of the string widget

	* lisp/wid-edit.el ('string widget): Peek the word that
	ispell-complete-word will try to complete, and only offer completions
	when the word is inside of the field (bug#11046).

2019-10-06  Mauro Aranda  <maurooaranda@gmail.com>

	Fix message when no completions available for editable field

	* lisp/wid-edit.el (widget-completions-at-point): Detect here if point
	is not in an editable field.
	(widget-complete): And here say there are no completions available
	(bug#11562).

2019-10-06  Juri Linkov  <juri@linkov.net>

	Allow using last_tab_bar_item on no-x builds.

	* src/frame.h (struct frame): Remove HAVE_WINDOW_SYSTEM
	around last_tab_bar_item.

2019-10-06  Juri Linkov  <juri@linkov.net>

	Implement tab-close-other bound to C-x 6 1 by analogy with C-x 5 1.

	* lisp/tab-bar.el (tab-close-other): New command bound to C-x 6 1.

	* doc/emacs/frames.texi (Tab Bars): Document it.

2019-10-06  Juri Linkov  <juri@linkov.net>

	Use tabs in EWW (bug#37592)

	* lisp/net/eww.el (eww-open-in-new-buffer): Call tab-new when tab-bar-mode
	is enabled.
	(eww-browse-url): Add docstring.  Call tab-new when tab-bar-mode
	is enabled.

	* lisp/net/shr.el (shr-map): Bind [C-down-mouse-1] to
	shr-mouse-browse-url-new-window.
	(shr-mouse-browse-url-new-window): New command.
	(shr-browse-url): Add optional arg new-window.

	* doc/misc/eww.texi (Basics): Mention opening tabs on M-RET.

2019-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/eieio-core.el (eieio--full-class-object): New function.

	Rather than explicitly call eieio-class-un-autoload, the autoloading is
	now performed on-demand if you use eieio--full-class-object.

	* lisp/emacs-lisp/eieio-core.el (eieio-class-un-autoload): Remove.
	(eieio--full-class-object): New function, to replace it.
	(eieio-oref, eieio--class-precedence-list):
	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
	Use it instead of eieio-class-un-autoload.
	* lisp/emacs-lisp/eieio.el (eieio-class-parents, child-of-class-p):
	Load the class if needed.

2019-10-06  Stefan Kangas  <stefankangas@gmail.com>

	Support changing font size using mouse wheel

	* lisp/mwheel.el (mouse-wheel-mode): Support changing font size (text
	scaling) using mouse wheel.  (Bug#28182)
	(mouse-wheel-scroll-amount): Bind the Ctrl modifier to text scaling.
	(mwheel-installed-text-scale-bindings): New variable.
	(mouse-wheel--remove-bindings): New helper function for
	'mouse-wheel-mode'.

	* doc/emacs/frames.texi (Mouse Commands): Document this feature.
	* etc/NEWS: Announce it.

2019-10-06  Juanma Barranquero  <lekktu@gmail.com>

	Set alternate faces for some line numbers (bug#27734)

	* lisp/faces.el (line-number-major-tick, line-number-minor-tick):
	New faces.
	* lisp/cus-start.el (display-line-numbers-major-tick)
	(display-line-numbers-minor-tick): Add customization info.
	* lisp/frame.el: Add `display-line-numbers-major-tick' and
	`display-line-numbers-minor-tick' to list of variables which
	should trigger redisplay of the current buffer.

	* src/xdisp.c (syms_of_xdisp) <display-line-numbers-major-tick>
	<display-line-numbers-major-tick>: Defvar new options.
	(syms_of_xdisp) <line-number-major-tick, line-number-minor-tick>:
	Defsym new faces.
	(maybe_produce_line_number): Use new faces for line numbers
	that are multiple of `display-line-numbers-major-tick' and
	`display-line-numbers-minor-tick'.

	* etc/NEWS (value): Announce new feature.
	* doc/emacs/display.texi (Display Custom): Describe it.  Wording by
	Robert Pluim <rpluim@gmail.com>

2019-10-06  Juri Linkov  <juri@linkov.net>

	Don't bind 'C-x 6' to '2C-mode-map' globally by default.

	* lisp/textmodes/two-column.el: Don't autoload global setting of
	"\C-x6" to 2C-command.

	* lisp/ldefs-boot.el: Update to remove setting "\C-x6" to 2C-command.

	* doc/emacs/commands.texi (Keys):
	* doc/emacs/text.texi (Two-Column):
	* doc/lispref/keymaps.texi (Prefix Keys):
	* doc/lispref/maps.texi (Standard Keymaps):
	Unbind 'C-x 6' from '2C-mode-map'.

2019-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package--get-deps): Rewrite.

	Avoid inf-recursion with dependency cycles.
	Remove unused `only` arg.  Prune duplicates early rather than late.
	(package--removable-packages): Simplify code accordingly.

2019-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	Port file-acl errno checking to non-GNU

	Problem reported privately for FreeBSD 12 by Ashish Shukla.
	* src/fileio.c (Ffile_acl): Treat EINVAL etc. like ENOTSUP if
	acl_get_file fails, to port to FreeBSD 12 and other non-GNU
	platforms.

2019-10-06  Eli Zaretskii  <eliz@gnu.org>

	Support mouse clicks on tab bar on TTY frames

	This for now doesn't work on GPM.
	* src/xdisp.c (display_tab_bar): Make the loop over tab-bar
	items more efficient.
	(tab_bar_item_info, tool_bar_item_info): Correct data type for
	CHARPOS.
	(tty_get_tab_bar_item, tty_handle_tab_bar_click): New functions.
	(note_mouse_highlight): Handle help-echo of tab-bar tabs on
	TTY frames.
	* src/w32inevt.c (do_mouse_event): Call
	tty_handle_tab_bar_click to process mouse clicks on the tab bar.
	* src/termchar.h (tty_handle_tab_bar_click): Add prototype.
	* src/w32console.c (w32con_set_terminal_modes): Disable Quick
	Edit mode on entry, to make sure mouse events get reported to
	us.

2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>

	Fix off-by-one bug in ISO 8601 BC years

	* lisp/calendar/iso8601.el (iso8601--year-match)
	(iso8601--full-date-match, iso8601--without-day-match)
	(iso8601--week-date-match, iso8601--ordinal-date-match)
	(iso8601-parse-date):
	Don’t bother to separate the year’s sign from the year,
	as that distinction is not needed: ISO 8601 uses
	astronomical year numbering with a year zero, which
	is what the Emacs time functions use, so there’s no
	need to treat nonpositive years specially.
	(iso8601--adjust-year): Remove; no longer needed
	since callers can just use string-to-number.
	* test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years):
	Adjust test case to match fixed behavior.

2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>

	Improve documentation for year-zero issues

	* doc/emacs/calendar.texi (Calendar Systems)
	* doc/lispref/os.texi (Time Conversion):
	Prefer "BC" to "B.C." since the documentation generally uses "BC".
	* doc/misc/emacs-mime.texi (time-date):
	* lisp/calendar/time-date.el (date-to-day, time-to-days):
	In the doc string, state the day origin more clearly, and more
	consistently with the rest of the documentation.
	* src/timefns.c (Fdecode_time): State the year origin in
	the doc string.

2019-10-05  Juri Linkov  <juri@linkov.net>

	More tab bar related key bindings.

	* lisp/subr.el (ctl-x-6-map, ctl-x-6-prefix): Move here from tab-bar.el
	to make it available to other modes like dired for 'C-x 6 d'.

	* lisp/dired.el (dired-other-tab): New command bound to 'C-x 6 d'.

	* lisp/tab-bar.el: Bind 'C-x 6 o' to tab-next.

	* doc/emacs/frames.texi (Tab Bars): Describe C-x 6 prefix key bindings.

2019-10-05  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el: In tab switching allow absolute and relative args.

	* lisp/tab-bar.el (tab-bar-tab-hints): New defcustom.
	(tab-bar-make-keymap-1): Use tab-bar-tab-hints.
	(tab-bar--tab, tab-bar--current-tab, tab-bar--current-tab-index)
	(tab-bar--tab-index, tab-bar--tab-index-by-name): New internal functions.
	(tab-bar-select-tab): Use arg as absolute position of tab to select.
	(tab-bar-switch-to-next-tab, tab-bar-switch-to-prev-tab): Use arg
	as offset relative to the current tab.
	(tab-bar-switch-to-tab): New command.
	(tab-bar-new-tab): Simplify by using cl-pushnew.
	(tab-bar-close-current-tab): Remove (the current tab is closed
	by nil arg of tab-bar-close-tab).
	(tab-bar-close-tab): Use arg as absolute position of tab to close.
	(tab-bar-close-tab-by-name): New command.

2019-10-05  Artyom Loenko  <artyom.loenko@mac.com>  (tiny change)

	Include new permission settings for macOS 10.15 (bug#37551)

	* nextstep/templates/Info.plist.in
	(NSDesktopFolderUsageDescription):
	(NSDocumentsFolderUsageDescription):
	(NSDownloadsFolderUsageDescription):
	(NSRemovableVolumesUsageDescription): Add description to enable
	setting in macOS 10.15.

2019-10-05  Paul Smith  <psmith@gnu.org>

	Support GNU make error messages in compile mode.

	* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
	Match GNU make error messages.
	* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
	Test GNU make error message matching.
	(compile-test-error-regexps): Update count of infos found.

2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some XEmacs compat code from the CEDET tests

2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some XEmacs compat code from esh*.el

	* lisp/eshell/esh-util.el: Remove some XEmacs compat functions.

2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove more XEmacs compat code from ezimage.el

	* lisp/ezimage.el (ezimage-use-images)
	(ezimage-insert-over-text): Remove XEmacs compat code.

2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in frames.texi xref

	* doc/emacs/frames.texi (Tab Bars): Fix typo in xref.

2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove most of the XEmacs compat code from ediff*.el

	* lisp/vc/ediff-diff.el (ediff-word-1): Remove XEmacs compat code
	and declare compatibility functions for obsolete.  Adjust all callers.

	* lisp/vc/ediff-help.el (ediff-set-help-overlays):

	* lisp/vc/ediff-hook.el:
	(menu-bar-ediff-misc-menu, menu-bar-ediff-merge-menu)
	(menu-bar-ediff-menu, menu-bar-ediff-merge-menu)
	(menu-bar-epatch-menu, menu-bar-ediff-misc-menu):

	* lisp/vc/ediff-init.el (ediff-device-type)
	(ediff-window-display-p, ediff-has-face-support-p)
	(ediff-has-toolbar-support-p, ediff-has-gutter-support-p)
	(ediff-BAD-INFO, ediff-coding-system-for-write)
	(ediff-read-event, ediff-overlayp, ediff-make-overlay)
	(ediff-delete-overlay, ediff-color-display-p)
	(ediff-display-pixel-width, ediff-display-pixel-height)
	(ediff-region-help-echo, ediff-set-face-pixmap)
	(ediff-paint-background-regions-in-one-buffer)
	(ediff-clear-fine-diff-vector, ediff-mouse-event-p)
	(ediff-key-press-event-p, ediff-event-point, )
	(ediff-event-buffer, ediff-event-key, ediff-last-command-char)
	(ediff-frame-iconified-p, ediff-frame-char-width)
	(ediff-reset-mouse, ediff-frame-char-height)
	(ediff-overlay-start, ediff-overlay-end, ediff-overlay-buffer)
	(ediff-overlay-get, ediff-move-overlay, ediff-overlay-put)
	(ediff-abbreviate-file-name):

	* lisp/vc/ediff-mult.el (ediff-next-meta-item)
	(ediff-previous-meta-item)
	(ediff-replace-session-activity-marker-in-meta-buffer)
	(ediff-replace-session-status-in-meta-buffer)
	(ediff-redraw-directory-group-buffer)
	(ediff-update-markers-in-dir-meta-buffer)
	(ediff-update-session-marker-in-dir-meta-buffer)
	(ediff-redraw-registry-buffer, ediff-set-meta-overlay)
	(ediff-update-meta-buffer, ediff-get-meta-info)
	(ediff-get-meta-overlay-at-pos, )
	(ediff-get-session-number-at-pos, )
	(ediff-next-meta-overlay-start)
	(ediff-previous-meta-overlay-start, )
	(ediff-meta-mark-equal-files):

	* lisp/vc/ediff-util.el:
	(ediff-setup, ediff-setup-control-buffer, ediff-recenter)
	(ediff-recenter-one-window, ediff-toggle-read-only)
	(ediff-file-checked-out-p, ediff-file-checked-in-p)
	(ediff-toggle-wide-display, ediff-toggle-multiframe)
	(ediff-toggle-use-toolbar, ediff-kill-bottom-toolbar)
	(ediff-visible-region, ediff-scroll-vertically)
	(ediff-scroll-horizontally, ediff-jump-to-difference-at-point)
	(ediff-diff-to-diff, ediff-restore-diff)
	(ediff-toggle-regexp-match, ediff-really-quit)
	(ediff-cleanup-mess, ediff-highlight-diff-in-one-buffer)
	(ediff-unhighlight-diffs-totally-in-one-buffer)
	(ediff-save-buffer, ediff-make-cloned-buffer)
	(ediff-make-indirect-buffer, ediff-remove-flags-from-buffer)
	(ediff-place-flags-in-buffer1, ediff-get-diff-posn)
	(ediff-clear-diff-vector, ediff-make-bullet-proof-overlay)
	(ediff-submit-report, ediff-deactivate-mark)
	(ediff-activate-mark, ediff-profile, ediff-print-diff-vector):

	* lisp/vc/ediff-wind.el (ediff-control-frame-parameters)
	(ediff-get-window-by-clicking, ediff-select-lowest-window)
	(ediff-setup-windows-plain-merge)
	(ediff-setup-windows-plain-compare, ediff-setup-control-frame)
	(ediff-destroy-control-frame, ediff-make-frame-position)
	(ediff-make-wide-display, ediff-get-visible-buffer-window):

	* lisp/vc/ediff.el (ediff-version, ediff-documentation):

2019-10-05  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Tab bars

	* doc/emacs/frames.texi (Menu Bars, Tool Bars, Tab Bars):
	Don't start index entries from a capital letter.
	(Tab Bars): Improve wording and indexing.

	* etc/NEWS: Improve documentation of Tab bars.

2019-10-05  Eli Zaretskii  <eliz@gnu.org>

	Fix display of cursor in obscure use case on MS-Windows

	* src/xdisp.c (redisplay_internal): Detect when the frame
	becomes garbaged inside the call to update_frame, and redraw
	the frame in that case.  (Bug#37579)

2019-10-05  Philipp Stephani  <phst@google.com>

	* src/fns.c (Flocale_info): Avoid fixnum overflow under ASan.

	* src/pdumper.c (dump_buffer): Update structure hash.

2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>

	Omit one more superfluous "-" in regexp

	Problem reported by Mattias Engdegård.
	* lisp/language/indian.el (gurmukhi-composable-pattern):
	Omit unnecessary "-".

2019-10-05  Dmitry Gutov  <dgutov@yandex.ru>

	(project--vc-list-files): Make sure to expand file names

	* lisp/progmodes/project.el (project--vc-list-files): Make sure to
	expand file names.  Turns out, Grep doesn't like abbreviated ones.

2019-10-05  Eli Zaretskii  <eliz@gnu.org>

	Fix vertical scrolling in image-mode

	* lisp/image-mode.el (image-set-window-vscroll): Interpret the
	argument VSCROLL value in pixel units.
	(image-mode-reapply-winprops): Interpret the 'vscroll'
	property value in pixel units.
	(image-next-line): Scroll the image with pixel resolution.
	(image-eob): Set the image vscroll in pixels.  (Bug#37578)

2019-10-04  Juanma Barranquero  <lekktu@gmail.com>

	Improve docstrings auto-generated by `define-minor-mode'

	* lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring):
	When using `easy-mmode--arg-docstring' to auto-generate a
	docstring, refill it up to `emacs-lisp-docstring-fill-column'.

2019-10-04  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Don't manipulate gnus-newsrc-alist if it hasn't been initialized

	* lisp/gnus/gnus-group.el (gnus-group-set-info): Packages that use
	Gnus summary mode without actually booting Gnus might end up in this
	situation. See bug#36903

2019-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bugs found by 2019-09-29 regexp scanner

	Problems reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-09/threads.html
	* lisp/calendar/iso8601.el (iso8601--year-match)
	(iso8601--full-date-match, iso8601--without-day-match)
	(iso8601--week-date-match, iso8601--ordinal-date-match)
	(iso8601--zone-match):
	* lisp/textmodes/rst.el (rst-re-alist-def):
	Put ‘-’ at the end of bracketed ranges, following the style
	suggestion in the Elisp manual.
	(iso8601--time-match): Use \([0-9]*\) instead of \([0-9]+\)?
	to pacify the regexp scanner.
	(iso8601-parse-time): Adjust accordingly.
	* lisp/language/burmese.el (burmese-composable-pattern):
	* lisp/language/indian.el (devanagari-composable-pattern)
	(bengali-composable-pattern, gurmukhi-composable-pattern)
	(gujarati-composable-pattern, oriya-composable-pattern)
	(telugu-composable-pattern, kannada-composable-pattern)
	(malayalam-composable-pattern):
	Prefer [ab] to [a-b] when the characters differ by 1,
	to pacify the regexp scanner.
	* lisp/language/burmese.el (burmese-composable-pattern):
	Fix missing-‘\u’ typos.
	* lisp/language/indian.el (gurmukhi-composable-pattern):
	Fix missing-‘\’ typo.
	* lisp/language/tibetan.el (tibetan-regexp):
	Quote ‘+’ in regexp to pacify the regexp scanner.  Simplify.
	* lisp/textmodes/rst.el (rst-re-alist-def): Fix ‘[]-'...]’
	typo by putting the ‘-’ at end of the bracketed expression.

2019-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Minor style tweaks for recent tab changes

	* src/dispextern.h (MR_PARTIALLY_VISIBLE_AT_TOP):
	* src/window.c (Fwindow_mode_line_height)
	(Fwindow_header_line_height, Fwindow_tab_line_height)
	(Fwindow_right_divider_width, Fwindow_bottom_divider_width)
	(Fwindow_scroll_bar_width, Fwindow_scroll_bar_height):
	(Fset_window_configuration, Fcurrent_window_configuration):
	Omit unnecessary parens.
	* src/dispextern.h (CURRENT_MODE_LINE_HEIGHT)
	(CURRENT_HEADER_LINE_HEIGHT, CURRENT_TAB_LINE_HEIGHT):
	Add parens needed to make these macros function-like.
	* src/window.c (window_resize_check):
	* src/window.h (WINDOW_TAB_BAR_P):
	* src/xdisp.c (tab_bar_item_info): Reindent.
	* src/window.c (window_wants_mode_line)
	(window_wants_header_line, window_wants_tab_line):
	Simplify (a && b ? 1 : 0) to (a && b).

2019-10-04  Stefan Kangas  <stefankangas@gmail.com>

	Make mouse scroll show a message instead of dinging at buffer limits

	* lisp/mwheel.el (mwheel-scroll): Show a message instead of dinging at
	end of buffer and beginning of buffer.  This should be less intrusive,
	especially when using a trackpad.  (Bug#16196)

2019-10-04  Stefan Kangas  <stefankangas@gmail.com>

	Bind Scroll_Lock to scroll-lock-mode globally

	* lisp/bindings.el (global-map): Bind Scroll_Lock to
	scroll-lock-mode.  (Bug#6861)
	* lisp/scroll-lock.el (scroll-lock-mode): Note that the binding will
	not work if 'w32-scroll-lock-modifier' is non-nil.
	* etc/NEWS: Announce it.

2019-10-04  Stefan Kangas  <stefankangas@gmail.com>

	Add tests for secure-hash and improve doc string (Bug#37420)

	* src/fns.c (Fsecure_hash_algorithms): Fix typo.
	(Fsecure_hash): Add algorithm list to doc string.
	* test/src/fns-tests.el (test-secure-hash): New test.

2019-10-04  Stefan Kangas  <stefankangas@gmail.com>

	Declare unused vhdl code in align.el obsolete

	* lisp/align.el (align-vhdl-rules-list, align-set-vhdl-rules): Declare
	obsolete.  (Bug#6207)
	(align-dq-string-modes, align-open-comment-modes): Move vhdl-mode to
	definition instead of adding it later.

2019-10-04  Mattias Engdegård  <mattiase@acm.org>

	Fix error in gnu compilation-mode regexp (bug#37582)

	* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
	Fix a mistake introduced when the regexp was translated to rx.
	* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
	(compile-test-error-regexps): Add test case.
	* etc/compilation.txt: Add example.

2019-10-04  Mattias Engdegård  <mattiase@acm.org>

	Make compile-tests re-runnable

	* test/lisp/progmodes/compile-tests.el (compile-test-error-regexps):
	Don't rely on compilation-num-errors (etc) all being zero, which they
	aren't if the test has been run before.
	(compile-tests--test-regexps-data): Change defvar to defconst.

2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove semantic-make-local-hook call from CEDET

	* lisp/cedet/semantic/wisent/grammar.el
	(wisent-grammar-setupcode-builder):
	* lisp/cedet/semantic/util-modes.el (semantic-highlight-edits-mode)
	(semantic-show-unmatched-syntax-mode)
	(semantic-show-parser-state-mode):
	* lisp/cedet/semantic/mru-bookmark.el (semantic-mru-bookmark-mode):
	* lisp/cedet/semantic/imenu.el (semantic-create-imenu-index):
	* lisp/cedet/semantic/grammar.el (semantic-grammar-mode):
	* lisp/cedet/semantic/grammar-wy.el
	(semantic-grammar-wy--install-parser):
	* lisp/cedet/semantic/decorate/mode.el
	(semantic-decorate-add-pending-decoration)
	(semantic-decoration-mode):
	* lisp/cedet/semantic.el (semantic--set-buffer-cache): Remove all
	calls to the function.

	* lisp/cedet/semantic/fw.el (semantic-make-local-hook): Made
	obsolete alias for #'ignore by removing XEmacs compat code.

2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some XEmacs compat code from ispell.el

	* lisp/textmodes/ispell.el (ispell-word): Remove XEmacs compat code.

2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some XEmacs compat code from ezimage.el

	* lisp/ezimage.el (defezimage): Remove XEmacs compat code.

2019-10-04  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from re-builder.el

	* lisp/emacs-lisp/re-builder.el (top-level)
	(reb-color-display-p): Remove XEmacs compat code.

2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some XEmacs compat code from ediff*.el

	* lisp/vc/ediff-diff.el (ediff-goto-word): Ditto.

	* lisp/vc/ediff-init.el (ediff-has-face-support-p)
	(ediff-current-diff-A, ediff-current-diff-B)
	(ediff-current-diff-C, ediff-current-diff-Ancestor)
	(ediff-fine-diff-A, ediff-fine-diff-B, ediff-fine-diff-C)
	(ediff-fine-diff-Ancestor, ediff-even-diff-A)
	(ediff-even-diff-B, ediff-even-diff-C)
	(ediff-even-diff-Ancestor, ediff-odd-diff-A, ediff-odd-diff-B)
	(ediff-odd-diff-C, ediff-odd-diff-Ancestor)
	(ediff-with-syntax-table): Ditto.

	* lisp/vc/ediff-mult.el (ediff-dir-diffs-buffer-map)
	(ediff-setup-meta-map, ediff-set-meta-overlay): Ditto.

	* lisp/vc/ediff-util.el (ediff-setup-keymap)
	(ediff-toggle-wide-display, ediff-toggle-multiframe)
	(ediff-toggle-use-toolbar, ediff-really-quit)
	(ediff-good-frame-under-mouse)
	(ediff-make-bullet-proof-overlay): Ditto.

	* lisp/vc/ediff-wind.el (ediff-setup-control-frame)
	(ediff-refresh-control-frame): Remove XEmacs compat code.

2019-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (generate-new-buffer): Move (from files.el) before first use

	(with-temp-file, with-output-to-string): Use it.

	* lisp/files.el (generate-new-buffer): Move to subr.el.

2019-10-04  Dmitry Gutov  <dgutov@yandex.ru>

	(project--vc-list-files): Optimize the Hg implementation

	* lisp/progmodes/project.el (project--vc-list-files):
	Optimize the Hg implementation.

2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some more XEmacs compat code from viper*.el

	* lisp/emulation/viper-ex.el (viper-ex-read-file-name): Ditto.

	* lisp/emulation/viper-init.el (viper-ms-style-os-p)
	(viper-has-face-support-p, viper-deactivate-input-method)
	(viper-activate-input-method, viper-set-input-method): Ditto.

	* lisp/emulation/viper-util.el
	(viper-get-saved-cursor-color-in-replace-mode)
	(viper-get-saved-cursor-color-in-insert-mode)
	(viper-get-saved-cursor-color-in-emacs-mode)
	(viper-set-replace-overlay, viper-key-to-emacs-key)
	(viper-set-unread-command-events): Ditto.

	* lisp/emulation/viper.el (viper-go-away, viper-set-hooks)
	(viper-non-hook-settings): Remove XEmacs compat code.

2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove more XEmacs compat code from viper-*.el

	* lisp/emulation/viper-cmd.el (viper-special-read-and-insert-char)
	(viper-next-line-carefully, viper-next-line)
	(viper-previous-line): Ditto.

	* lisp/emulation/viper-mous.el (viper-surrounding-word)
	(viper-parse-mouse-key): Remove XEmacs compat code.

2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs-only code from snake.el

	* lisp/play/snake.el (snake-mode): Remove XEmacs-only code.

2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs code from tetris.el

	* lisp/play/tetris.el (tetris-mode): Remove XEmacs-only code.

2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from idlw-shell.el

	* lisp/progmodes/idlw-shell.el (idlwave-shell-make-temp-file):
	Make into obsolete alias.
	(idlwave-shell-temp-file): Adjust callers.

2019-10-04  Juanma Barranquero  <lekktu@gmail.com>

	Revert "Improve docstrings auto-generated by `define-minor-mode'"

	This reverts commit a397fa06d18d6ae37a3a1288f269e1ae9eb3b569.
	The original change breaks bootstrapping because of a circular dependency.

2019-10-04  Dmitry Gutov  <dgutov@yandex.ru>

	Use file-name-as-directory

	* lisp/progmodes/project.el (project--vc-list-files): Use
	file-name-as-directory, to be on the safe side.

2019-10-03  Stefan Kangas  <stefankangas@gmail.com>

	Remove more XEmacs compat code in cperl-mode.el

	* lisp/progmodes/cperl-mode.el (condition-case, cperl-problems)
	(cperl-problems-old-emaxen, cperl-init-faces)
	(cperl-word-at-point): Remove more XEmacs compat code.

2019-10-03  Juanma Barranquero  <lekktu@gmail.com>

	Improve docstrings auto-generated by `define-minor-mode'

	* lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring):
	When using `easy-mmode--arg-docstring' to auto-generate a
	docstring, refill it up to `emacs-lisp-docstring-fill-column'.

2019-10-03  Stefan Kangas  <stefankangas@gmail.com>

	More doc fixes in package.el (Bug#37544)

	* lisp/emacs-lisp/package.el (package-menu-hide-low-priority)
	(package-pinned-packages, package-load-descriptor)
	package-archive-version, package-archive-contents)
	package--read-archive-file, package-read-archive-contents)
	(package-unsigned-archives, package-read-all-archive-contents)
	(package--download-and-read-archives, package-install):
	* lisp/subr.el (package--description-file):
	* test/lisp/emacs-lisp/package-tests.el: Doc fixes.

2019-10-03  Dmitry Gutov  <dgutov@yandex.ru>

	Speed up project-files for Git projects

	* lisp/progmodes/project.el (project-files): New method.
	Implementation for VC projects that uses 'git ls-files' or 'hg
	status --all' for listing.  With gratitude to Tassilo Horn who has
	done most of the legwork and wrote the first version of the code
	(https://lists.gnu.org/r/emacs-devel/2019-10/msg00069.html).
	(project--vc-list-files): New function, to be used by the above.
	(project--find-regexp-in-files):
	Silence warnings about nonexistent files.

2019-10-03  Basil L. Contovounesios  <contovob@tcd.ie>

	Further improve button.el support for help-echo

	The last change to forward-button added support for help-echo values
	that are functions.  This patch fixes the arguments passed to such
	functions and further adds support for help-echo values that are
	forms (bug#37515).
	* doc/lispref/display.texi (Button Properties): Fix description of
	help-echo button property.
	* lisp/button.el (button--help-echo): New function.
	(forward-button): Use it.
	(backward-button): Clarify help-echo reference in docstring.
	* test/lisp/button-tests.el (button--help-echo-string)
	(button--help-echo-form, button--help-echo-function): New tests.

2019-10-03  Basil L. Contovounesios  <contovob@tcd.ie>

	Use lexical-binding in button.el

	* lisp/button.el: Use lexical-binding.  Expand Keywords header.
	Quote function symbols as such.  Use ;;;-comments where appropriate.
	(button): Remove outdated commentary of defface.
	(define-button-type, make-button, insert-button, make-text-button)
	(insert-text-button): Clarify in docstring that PROPERTIES argument
	is a plist.
	(button-type-subtype-p, button-has-type-p): Do not overspecify
	return value in docstring.
	(button-put): Fix typo in commentary.

2019-10-03  John Yates  <john@yates-sheets.org>  (tiny change)

	Preserve point better in hs-hide-comment-region

	* lisp/progmodes/hideshow.el (hs-hide-comment-region): Preserve point
	better when collapsing the region (bug#10856).

2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Make lisp-do-defun do the right thing with trailing comments

	* lisp/progmodes/inf-lisp.el (lisp-do-defun): Avoid including
	trailing comments in the region (bug#7974).

2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix bytecomp.el warning a different way than the previous patch

	* lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-mode-map):
	No need to use set-keymap-parent here; `define-derived-mode' will
	do that automatically.

2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix comment in previous doc-view patch

	* lisp/doc-view.el (doc-view-open-text): Comment fix.

2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>

	In doc-view, keep point on the equivalent page in the text version

	* lisp/doc-view.el (doc-view-open-text): After opening the text
	version, put point on the page the user was reading (bug#16541).

2019-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/pcomplete.el: Mark 'pcomplete' command as obsolete

	Remove redundant ':group's.
	(pcomplete, pcomplete-help): Mark as obsolete.

2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the vc diff switches in diff-switches

	* lisp/vc/diff.el (diff-switches): Mention the vc diff switches in
	the doc string (bug#4422).

2019-10-03  Alan Mackenzie  <acm@muc.de>

	C++ Mode: Correct the fontification of const auto foo

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Correct a coding
	error involving `and' and `or'.

2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Touch up previous shr-dom-to-xml encoding change

	* lisp/net/shr.el (shr-dom-to-xml): Include an XML declaration if
	we're encoding the data.
	(shr-parse-image-data): Add comment about why encoding is necessary.

2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous SVG-multibyte fix

	* lisp/net/shr.el (shr-dom-to-xml): For SVG images, take an
	optional charset parameter to return unibyte data.
	(shr-parse-image-data): Use it.
	(shr-tag-svg): Ditto.
	(svg--wrap-svg): Revert previous kludge.

2019-10-03  Alan Mackenzie  <acm@muc.de>

	C++ Mode: Fontify correctly declarators with identifier preceded by &

	The problem was bar in the following being spuriously recognized as a
	function, and foo as a type, as though the & were a *: Foo foo (&bar);.

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): New variable
	got-function-name-prefix, which is set when an operator like * (but not &)
	precedes the putative identifier in parentheses.  Test this variable when
	deciding whether or not to "move the type backwards" to the previous
	identifier.

	* lisp/progmodes/cc-langs.el (c-type-decl-operator-prefix-key): New lang const
	and var.

2019-10-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix typo in last commit

2019-10-03  Michael Albinus  <michael.albinus@gmx.de>

	Further adaptions for shadowfile-tests.el

	* test/lisp/shadowfile-tests.el: Change some traces.
	(shadow-test-remote-temporary-file-directory): Adapt also remote
	home directory.
	(shadow--tests-cleanup): Cleanup Tramp.

2019-10-02  Stefan Kangas  <stefankangas@gmail.com>

	Don't use obsolete name in em-cmpl.el

	* lisp/eshell/em-cmpl.el (eshell-complete-lisp-symbol): Update
	reference to 'elisp-completion-at-point' from its obsolete name.
	Reported by Carlos Pita <carlosjosepita@gmail.com>.  (Bug#31906)

2019-10-02  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-show): New defcustom.

	* lisp/tab-bar.el (tab-bar-close-current-tab, tab-bar-close-tab):
	(tab-bar-new-tab): Use tab-bar-show.

	* doc/emacs/frames.texi (Tab Bars): Add tab-bar-show.

	* lisp/speedbar.el (speedbar-mode): Set buffer-local tab-bar-mode
	and tab-line-format to nil to not show in dedicated speedbar frame.

2019-10-02  Juri Linkov  <juri@linkov.net>

	* src/w32inevt.c: Take into account FRAME_TAB_BAR_LINES.

	* src/w32inevt.c (resize_event, maybe_generate_resize_event):
	Subtract FRAME_TAB_BAR_LINES from FRAME_MENU_BAR_LINES.

2019-10-02  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows error when a directory on PATH doesn't exist

	* src/w32.c (faccessat): Support more MS-Windows native error
	codes that should be translated to ENOENT.  (Bug#37576)

2019-10-02  Stefan Kangas  <stefankangas@gmail.com>

	Don't mention server-socket-dir in FAQ

	server-socket-dir is a defvar, and users should use the defcustom
	server-name instead.

	* doc/misc/efaq.texi (Using an already running Emacs process): Remove
	details on server-socket-dir, refer to Emacs Manual.  (Bug#20675)

2019-10-02  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in url-http.el

	* lisp/url/url-http.el (url-http-parse-headers): Fix a typo.
	Reported by Mattias Engdegård <mattiase@acm.org>.

2019-10-02  Sergio Durigan Junior  <sergiodj@sergiodj.net>

	Don't add trailing whitespace when passing argument to GDB

	* lisp/progmodes/gdb-mi.el (gdb-send): Don't append whitespace to
	'gdb-continuation'.  (Bug#25488)

2019-10-01  Glenn Morris  <rgm@gnu.org>

	Update a substitute-command-keys test

	* test/src/doc-tests.el (doc-test-substitute-command-keys):
	Update for recent minibuffer map change.

2019-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Gnus registry shutdown should also run the unload-hook

	* lisp/gnus/gnus-registry.el (gnus-registry-clear): Clearing the
	registry should also run the unload hooks.
	  (gnus-registry-article-marks-to-names,
	  gnus-registry-article-marks-to-chars): Now we can use a more general
	  test here.

2019-10-01  Juri Linkov  <juri@linkov.net>

	Merge branch 'feature/tabs'

	Remove unused code and reformat to 70 columns.

2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid bugging out on multibyte SVG data in shr

	* lisp/net/shr.el (svg--wrap-svg): Ensure that the SVG data is
	unibyte.

2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Respect buffer-local values in comint-read-input-ring

	* lisp/comint.el (comint-read-input-ring): Use the buffer-local
	values (bug#6432).

2019-10-01  Stefan Kangas  <stefankangas@gmail.com>

	Remove old commented out XEmacs compat code from syntax.el (Bug#37524)

	* lisp/emacs-lisp/syntax.el: Remove ancient commented out XEmacs
	compat code.  This code has been commented out since 2001.

2019-10-01  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from url-*.el (Bug#37524)

	* lisp/url/url-file.el (url-file-build-filename, url-file)
	* lisp/url/url-privacy.el (url-setup-privacy-info): Remove XEmacs
	compat code.
	(url-device-type): Declare obsolete.

2019-10-01  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from winner.el (Bug#37524)

	* lisp/winner.el (winner-active-region, winner-edges)
	(winner-window-list, winner-sorted-window-list, winner-win-data)
	(winner-make-point-alist): Remove XEmacs compat code.

2019-10-01  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs compat code from term.el (Bug#37524)

	* lisp/term.el (term-mode-map, term-raw-map, term-mouse-paste):
	Remove XEmacs compat code.

2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Add support for Dired file marking from image-mode

	* doc/emacs/files.texi (File Conveniences): Document them.

	* lisp/image-mode.el (image-mode--mark-file): New function.
	(image-mode-unmark-file, image-mode-mark-file)
	(image-mode-copy-file-name-as-kill): New commands and keystrokes.

2019-10-01  Stefan Kangas  <stefankangas@gmail.com>

	Move url-ns.el to obsolete/

	* lisp/url/url-ns.el: Move from here...
	* lisp/obsolete/url-ns.el: ...to here.  (Bug#19822)

2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak mouse highlights in ediff-help

	* lisp/vc/ediff-help.el (ediff-set-help-overlays): Only put the
	mouse-face overlay on the actual commands (bug#5079).  This avoids
	a problem when you have very wide frames: The leading blank
	portion of the buffer would get the mouse highlights.

2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from ediff-help.el

	* lisp/vc/ediff-help.el (ediff-help-region-map)
	(ediff-set-help-overlays, ediff-help-for-quick-help): Remove
	XEmacs compat code.

2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the help page mention the customizable global mode variable

	* lisp/help-fns.el (help-fns--customize-variable): Factor out into
	own function for reuse.
	(help-fns--globalized-minor-mode): Use it to mention the
	equivalent variable.

	* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
	Mark globalized minor modes as such (bug#7177).

2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix build error in bytecomp.el from previous change

2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new command in *Compile-Log* buffers to re-byte-compile

	* lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-recompile):
	New command (bug#4516).
	(emacs-lisp-compilation--current-file)
	(emacs-lisp-compilation-mode-map): New variables with new `g'
	binding.
	(byte-compile-log-file): Set variable so that `g' can recompile it.

2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow 'M-<' in the minibuffer to behave more logically

	* doc/lispref/minibuf.texi (Completion Commands)
	(Text from Minibuffer): Document it.

	* lisp/minibuffer.el (minibuffer-beginning-of-buffer): New command
	(bug#3447).
	(map): Bind it.

2019-10-01  Robert Pluim  <rpluim@gmail.com>

	Correct some custom type typos

	* lisp/image.el (image-use-external-converter):
	* lisp/progmodes/sql.el (sql-use-indent-support):
	* lisp/vc/add-log.el (add-log-dont-create-changelog-file): Fix
	misspelled 'boolean custom type.

	* lisp/progmodes/flymake-cc.el (flymake-cc-command): Correct custom
	type specification.  (Bug#30990)

2019-09-30  Stephen Gildea  <stepheng+git-config-global@gildea.com>

	Move undocumented time-stamp formats closer to format-time-string

	* lisp/time-stamp.el (time-stamp-string-preprocess): Update some undocumented
	formatting characters of time-stamp format for closer (still incomplete)
	alignment with format-time-string.  They have displayed a warning since
	Emacs 20 (released in 1997), so it is unlikely anyone is using them.

	* test/lisp/time-stamp-tests.el: Update tests to match new expectations.

2019-09-30  Stephen Gildea  <stepheng+savannah@gildea.com>

	time-stamp doc: recommend formats closer to format-time-string

	* lisp/time-stamp.el (time-stamp-format, time-stamp-pattern): Update
	recommended (documented) formats.  No code changes, just documentation.
	All recommended formats are compatible at least as far back as Emacs
	22.1 (released in 2007) and are now closer to compatibility with
	format-time-string.

	* test/lisp/time-stamp-tests.el: Update test comments to match.

2019-09-30  Juanma Barranquero  <lekktu@gmail.com>

	Bump up max_specpdl_size to 1600

	* src/eval.c (init_eval_once): Set max_specpdl_size to 1600.
	* doc/lispref/variables.texi (Local Variables): Document it.

2019-09-30  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Update calling convention for nnmaildir-close-server

	* lisp/gnus/nnmaildir.el (nnmaildir-close-server): To take an optional
	"defs" arg, as changed in 2712187.

2019-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/mm-uu.el: Use lexical-binding and cl-defstruct

	(mm-uu-type-alist): Make functions visible to byte-compiler.
	(mm-uu-entry): New defstruct.
	(mm-uu-configure): Use mapconcat.
	(mm-uu-dissect): Avoid setq on `func`.

2019-09-30  Eli Zaretskii  <eliz@gnu.org>

	Fix quoting in gnutls.c comments and strings

	* src/gnutls.c (gnutls_make_error, emacs_gnutls_global_init)
	(Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
	(Fgnutls_hash_mac, Fgnutls_hash_digest): Fix quoting in doc
	strings and comments.

2019-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make doc-view error message more informative

	* lisp/doc-view.el (doc-view-initiate-display): Make error message
	clearer (bug#3827).

2019-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with non-ASCII MML description strings

	* lisp/gnus/mml.el (mml-insert-tag): Quote non-ASCII parameters.
	(mml-insert-mime-headers): Make it possible to have non-ASCII
	descriptions (bug#37555).

2019-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention locale-related complications in format-time-string doc string

	* src/timefns.c (Fformat_time_string): Mention that the width in
	specifiers like %NX is often in bytes, not characters (bug#20258).

2019-09-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix recent mm-uu.el typo

	* lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1): Fix typo in
	mm-uu introduced by previous patch.

2019-09-30  Eli Zaretskii  <eliz@gnu.org>

	Improve description of face merging

	* doc/lispref/display.texi (Displaying Faces): More accurate
	description of merging face attributes of "underlying text".
	(Bug#1222)

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Make elisp- and emacs-index-search and default to the thing under point

	* lisp/menu-bar.el (elisp-index-search): Default to the thing
	under point interactively (bug#1119).
	(emacs-index-search): Ditto.
	(emacs-index--prompt): New helper function.

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Refactor mm-decode and friends to be explicit about when errors happen

	* lisp/gnus/mm-decode.el (mm-sec-status):
	(mm-sec-error): New functions to handle decryption problems more
	explicitly (bug#18393).
	(mm-possibly-verify-or-decrypt): Use the `sec-error' data to
	determine whether the operation failed or not.

	* lisp/gnus/mml-smime.el: Ditto.

	* lisp/gnus/mml2015.el: Used throughout.

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix rendering of degenerate tables some more in shr.el

	* lisp/net/shr.el (shr--fix-tbody): New function (bug#31665).
	(shr--fix-table): Use it to fix the
	<table><tbody>foo</tbody></table> case.

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	shr table fix refactoring

	* lisp/net/shr.el (shr--fix-table): Refactor out into own function
	from...
	(shr-tag-table): ... this function.

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Change the commands in image-converter--converters to lists

	* lisp/image/image-converter.el (image-converter--converters):
	Change format of the commands to lists.
	(image-converter--probe, image-converter--convert): Adjust usages.

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename the new convert-images-externally variable

	* doc/emacs/files.texi (File Conveniences): Adjust documentation.

	* lisp/image.el (image-use-external-converter): Rename from
	convert-images-externally.

2019-09-29  Juanma Barranquero  <lekktu@gmail.com>

	Silence byte-compiler warning

	* lisp/obsolete/info-edit.el (ibuffer-help-buffer-modes): Defvar it.

2019-09-29  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/dired-x.el (dired-virtual): Fix typo.

2019-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/nxml/rng-valid.el: Use define-minor-mode

	Remove redundant `:group`s.
	(rng-validate-mode): Use define-minor-mode.
	(rng-validate-clear): Let-bind rng-current-schema instead of passing
	a `no-change-schema` argument.

2019-09-29  Tom Willemse  <tom@ryuslash.org>

	Fix indenting in perl functions with doc-comments

	* lisp/progmodes/perl-mode.el (perl-calculate-indent): Skip
	doc-comments as well as comments and skip the entire comment, not just
	the line.  (Bug#21647)

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Update iso8601-tests for new interface

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Make iso8601-parse take a FORM parameter like `decode-time'

	* lisp/calendar/iso8601.el (iso8601-parse-time, iso8601-parse):
	Take a FORM parameter like `decode-time'.

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add support for sub-second ISO8601 strings

	* lisp/calendar/iso8601.el (iso8601--decimalize): New function.
	(iso8601-parse-time): Support sub-second ISO8601 times.

2019-09-29  Paul Eggert  <eggert@cs.ucla.edu>

	* src/timefns.c (Fdecode_time): Improve doc string.

2019-09-29  Stefan Kangas  <stefankangas@gmail.com>

	Clarify recent ert manual change

	* doc/misc/ert.texi (Running Tests in Batch Mode): Say that ert test
	selector strings are regular expressions.

2019-09-29  Alan Mackenzie  <acm@muc.de>

	Remove the compilation-arrow-overlay on a major mode change/reinitialization

	At the same time, remove the 2-character left margin.

	* lisp/progmodes/compile.el (compilation-set-up-arrow-spec-in-margin): put
	compilation-tear-down-arrow-spec-in-margin onto change-major-mode-hook.

2019-09-29  Mattias Engdegård  <mattiase@acm.org>

	Add `rx-submatch-n' for compatibility (bug#37517)

	It was an internal symbol in the old `rx' implementation, used in old
	versions of the `flycheck' package.

	* lisp/emacs-lisp/rx.el (rx-submatch-n): Alias of `rx-to-string'.
	* test/lisp/emacs-lisp/rx-tests.el (rx-compat): Test it.

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix reverting doc-view buffers

	* lisp/doc-view.el (doc-view--revert-buffer): Actually use the new
	version of the PDF data (bug#26996).

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow customizing pdf-to-text parameters

	* lisp/doc-view.el (doc-view-pdf->txt): Allow customizing the
	parameters (bug#8519).
	(doc-view-pdftotext-program-args): New variable.

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Try ImageMagick last for external image converters

	* lisp/image/image-converter.el (image-converter--converters):
	Move ImageMagick last in the list.

2019-09-29  Mattias Engdegård  <mattiase@acm.org>

	Fix linear equation system solving in Calc (bug#35374)

	* lisp/calc/calcalg2.el (math-try-solve-for):
	To solve Ax^n=0 where A is a nonzero constant and x the variable to
	solve for, solve x^n=0 instead of solving A=0 (which obviously fails)
	or something equally stupid.
	* test/lisp/calc/calc-tests.el (calc-test-solve-linear-system): New.

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Move convert-images-externally documentation to Emacs manual

	* doc/emacs/files.texi (File Conveniences): Move bit about
	convert-images-externally to user manual from lispref manual.

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove duplicated image conversion defcustom

	* lisp/image/image-converter.el (convert-external-images): Remove
	defcustom that was accidentally not removed when moving to
	image.el (and renamed).

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some commented-out tests for iso8601

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up iso8601 time match regexp

	* lisp/calendar/iso8601.el (iso8601--time-match): The fraction
	mark can be either . or , and there can be arbitrarily many digits
	in the fraction.

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Put new Gnus groups in the completion table

	* lisp/gnus/gnus-start.el (gnus-group-change-level): Ensure that
	all new groups are in gnus-active-hashtb so that they can be
	completed to.

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Define nndraft-close-server according to new calling conventions

	* lisp/gnus/nnoo.el (nnoo-define-basics-1): *-close-server now
	takes a DEFS parameter (bug#20319).

2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new Gnus summary commands and keystrokes for "unseen" navigation

	* doc/misc/gnus.texi (Choosing Commands): Document them.
	* lisp/gnus/gnus-sum.el (gnus-summary-next-unseen-article)
	(gnus-summary-prev-unseen-article): New commands and
	keystrokes (bug#35213).

2019-09-29  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of image conversion feature

	* lisp/image/image-converter.el (image-converter)
	(image-convert-p, image-convert):
	* lisp/image.el (convert-images-externally):
	* etc/NEWS:
	* doc/lispref/display.texi (Defining Images): Fix recently
	added documentation.

2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove :group from a recent defcustom

	* lisp/image.el (convert-images-externally): Remove :group.

2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>

	If requested, use external image converters for exotic formats

	* doc/lispref/display.texi (Defining Images): Document it.

	* lisp/image.el (convert-images-externally): New variable.
	(image-type): Use it.
	(create-image): Convert images.

	* lisp/image/image-converter.el (image-converter--convert): New file.

2019-09-28  Stephen Gildea  <stepheng+savannah@gildea.com>

	Reorganize time-stamp tests

	* test/lisp/time-stamp-tests.el: Group tests by when the format was or will be
	documented.  Add tests for a few more undocumented, volatile formats.
	Change AM hours test time to be a different hour from PM test time.
	(Making these changes to the tests now will minimize test changes
	needed later with anticipated code changes.)

2019-09-28  Juri Linkov  <juri@linkov.net>

	Update documentation for tabs.

	* doc/emacs/frames.texi (Tab Bars): New node.

2019-09-28  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el: Add new defcustom tab-line-close-tab-action.

2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Expunge INBOX messages after splitting

	* lisp/gnus/nnimap.el (nnimap-split-incoming-mail): Expunge
	articles after splitting (bug#37541).

2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up nnimap-split-incoming-mail slightly

	* lisp/gnus/nnimap.el (nnimap-split-incoming-mail): Don't call
	-delete-articles on empty lists (bug#37541).

2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Copy edit nnimap-expunge doc string

	* lisp/gnus/nnimap.el (nnimap-expunge): Copy edit doc string.

2019-09-28  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing of ELisp manual

	* doc/lispref/frames.texi (Font and Color Parameters): Add index
	entry for the 'mouse' face.

2019-09-28  Stefan Kangas  <stefankangas@gmail.com>

	Fix customizing ibuffer-help-buffer-modes

	* lisp/ibuffer.el (ibuffer-help-buffer-modes)
	* lisp/obsolete/info-edit.el (ibuffer-help-buffer-modes): Move
	Info-edit-mode reference to obsolete file.

2019-09-28  Stefan Kangas  <stefankangas@gmail.com>

	Document ert test selectors in batch mode (Bug#37476)

	* doc/misc/ert.texi (Running Tests in Batch Mode): Document test
	selectors.

2019-09-28  Stefan Kangas  <stefankangas@gmail.com>

	Improve sorting in package list (Bug#37419)

	* lisp/emacs-lisp/package.el (package-menu-mode): Allow sorting by
	version or description.
	(package-menu--version-predicate): Fix sorting by version.
	(package-menu--description-predicate): Fix sorting by description.
	(package-menu--archive-predicate): Fall back to sorting by name if
	archive is the same.
	(package-menu--name-predicate, package-menu--status-predicate): Add
	doc string.
	* etc/NEWS: Announce the above changes.

2019-09-28  Eli Zaretskii  <eliz@gnu.org>

	More improvements of doc strings in text-property-search.el

	* lisp/emacs-lisp/text-property-search.el (text-property-search-forward)
	(text-property-search-backward): Further improvements of doc
	strings.  (Bug#37488)

2019-09-28  Axel Svensson  <mail@axelsvensson.com>  (tiny change)

	Update X keysym mapping

	* lisp/term/x-win.el (x-keysym-table): Update the mappings
	using current Xorg data.  (Bug#37530)

2019-09-28  Stefan Kangas  <stefankangas@gmail.com>

	Add bug reporting and link the manual on the about screen

	* lisp/startup.el (fancy-about-text, normal-about-screen): Clarify
	that "Contribute" also describes how to report bugs.  Add new link
	"Emacs Manual".  (Bug#20697)

2019-09-28  Eli Zaretskii  <eliz@gnu.org>

	Fix running on MS-Windows with non-existing home directory

	* lisp/startup.el (startup--xdg-or-homedot): Don't access a
	non-existent user home directory on windows-nt systems.
	(Bug#37536)

2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention doc-view-scale-internally in the DocView manual node

	* doc/emacs/misc.texi (DocView Navigation): Mention
	doc-view-scale-internally (bug#33226).

2019-09-27  Mauro Aranda  <maurooaranda@gmail.com>

	Don't discard customizations in progress when adding comments (Bug#5358)

	* lisp/cus-edit.el (custom-comment-show): Add docstring.  Save the
	widget value in the :shown-value property, before redrawing.
	(custom-variable-modified-p): New function, to complement the return
	values of custom-variable-state.
	(custom-variable-state-set): Use it.
	(custom-face-value-create): Add children to the custom-face widget
	before setting the state, to be able to check for user edits.
	(custom-face-state-set): Check for user edits before calling
	custom-face-state (bug#5358).

	* test/lisp/custom-tests.el
	(custom-test-show-comment-preserves-changes): New test.

2019-09-27  Nikolaus Rath  <Nikolaus@rath.org>

	Run gnus-summary-prepare-exit-hook after flags have been updated

	* lisp/gnus/gnus-sum.el (gnus-summary-exit): Gnus message flags
	must be set before expiration, not afterwards (bug#21071).

2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Change the lighter in epa-info-mode

	* lisp/epa.el (epa-info-mode): Change the name of the mode so that
	it doesn't look like it's Info mode (bug#7287).

2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	gnus-thread-ignore-subject doc string clarification

	* lisp/gnus/gnus-sum.el (gnus-thread-ignore-subject): Document
	that when not ignoring subjects, sorting will not happen as
	expected (bug#35513).

2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix documentation on `C-u a' on nndiary group

	* doc/misc/gnus.texi (Diary Group Parameters): Remove apparently
	incorrect documentation about `C-u a' on nndiary groups
	(bug#36849).

2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix reversed check in mm-possibly-verify-or-decrypt

	* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Fix
	reverse check thinko that made unverified signed messages not
	display correctly.

2019-09-27  Wilson Snyder  <wsnyder@wsnyder.org>

	.va/.vah/.sva/.svah now loads Verilog mode.

	* lisp/files.el (auto-mode-alist): Support .va /.vah/.sva/.svah file
	extensions to load verilog-mode for Verilog-AMS.  Reported by Shareef
	Jalloq.

2019-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/nsm.el: Use lexical-binding

	(nsm-check-tls-connection, nsm-query): Don't pass explicitly `obarray`
	since it's the default anyway.
	(nsm-query, nsm-query-user, nsm-save-host): Remove redundant
	advertised-calling-convention.

2019-09-27  Eli Zaretskii  <eliz@gnu.org>

	Fix display of box around images

	* src/xdisp.c (face_before_or_after_it_pos): Handle correctly
	when we are called with it->bidi_it.first_elt set.  (Bug#17114)

2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with changing to correct NNTP server

	* lisp/gnus/nntp.el (nntp-close-server):
	* lisp/gnus/nnimap.el (nnimap-close-server):
	* lisp/gnus/gnus-int.el (gnus-close-server): Take an optional DEFS
	parameter to enable switching to the correct nnoo server (bug#20319)
	when there's two servers with the same address.

2019-09-26  Nikolaus Rath  <Nikolaus@rath.org>

	nnimap.el: support additional expunge options

	* lisp/gnus/nnimap.el (nnimap-close-group)
	(nnimap-request-expire-articles, nnimap-delete-article)
	(nnimap-request-scan): Add new 'never, 'immediate, and 'on-exit
	settings for nnimap-expunge (bug#20670).

2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak updating of readedness marks on the IMAP server

	* lisp/gnus/nnimap.el (nnimap-request-set-mark): Ensure that
	ticking/unticking also toggles readedness on the IMAP server
	(bug#22590).

2019-09-26  Juanma Barranquero  <lekktu@gmail.com>

	* src/w32fns.c (Fw32_register_hot_key): Fix typo in docstring

2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix nnir searching on nested Gnus topics

	* lisp/gnus/nnir.el (gnus-group-make-nnir-group): On a topic line,
	search all the groups, even in sub-topics (bug#28090).

2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't hard-code the RSS structure so much in nnrss

	* lisp/gnus/nnrss.el (nnrss-get-namespace-prefix): Find the URL in
	any section in the RSS (bug#34685).

2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new `dom-search' function

	* doc/lispref/text.texi (Document Object Model): Document it.

	* lisp/dom.el (dom-search): New function.

2019-09-26  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make forward-button support help-echo function (bug#37515)

	* lisp/button.el (forward-button): Support help-echo function.

2019-09-26  Juri Linkov  <juri@jurta.org>

	Include ImageMagick file name regexps in image-file-name-regexp

	* lisp/image-file.el (image-file-name-regexp): If compiled with
	ImageMagick, include file name extensions it can handle (bug#9516).

2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	mm-possibly-verify-or-decrypt should only issue errors when decrypting

	* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Only do
	the warning about failed decryption when we're handing encrypted
	parts, not when doing verification.

2019-09-26  Stefan Kangas  <stefankangas@gmail.com>

	Add key bindings for ibuffer filter commands

	* lisp/ibuffer.el (ibuffer--filter-map): Add keybinding for
	'ibuffer-filter-chosen-by-completion' and
	'ibuffer-filter-by-directory'.  (Bug#6847)

2019-09-26  Stefan Kangas  <stefankangas@gmail.com>

	Remove support for destructive splicing in elisp

	* src/lread.c (read1): Don't handle destructive splicing in
	backquote expressions (e.g. ",.<identifier>").  (Bug#19790)
	(syms_of_lread): Remove Qcomma_dot.
	* src/print.c (print_object): Don't check for Qcomma_dot.
	* test/src/eval-tests.el
	(eval-tests-19790-backquote-comma-dot-substitution): New test.
	* etc/NEWS: Announce it.

2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix error in display-startup-screen

	* lisp/startup.el (use-fancy-splash-screens-p): Fix error in
	display-startup-screen if create-image fails (bug#22072).

2019-09-26  Stefan Kangas  <stefankangas@gmail.com>

	Add new function to clear tags in tabulated list

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-clear-all-tags):
	New function to clear all tags from padding area in current buffer.
	* doc/lispref/modes.texi (Tabulated List Mode): Document it.
	* etc/NEWS: Announce it.

2019-09-26  Mauro Aranda  <maurooaranda@gmail.com>

	Don't indent unrelated widgets following widget of type 'other

	* lisp/wid-edit.el (widget 'other): Use \n instead of the %n escape in the
	:format property of this widget.  If %n is used at the end of the
	format string, unrelated widgets get indented.  (Bug#12533)

	* test/lisp/wid-edit-tests.el (widget-test-indentation-after-%n)
	(widget-test-indentation-after-newline)
	(widget-test-newline-and-indent-same-widget): New tests.

2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Make mm-view-pkcs7-verify use epg if requested

	* lisp/gnus/mm-view.el (mm-view-pkcs7-verify): Respect
	mml-smime-use (bug#18393).

2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Make it possible to view S/MIME verified emails

	* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): When
	dissecting the result, we need a header (bug#18393).

	* lisp/gnus/mm-view.el (mm-view-pkcs7-verify): Insert the verified
	string.

	* lisp/gnus/smime.el (smime-verify-region): Return the verified
	string.

2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix recent gnus-rescale-image change

	* lisp/gnus/gnus-util.el (gnus-rescale-image): Don't bug out on
	non-graphical Emacs versions.

2019-09-26  Mattias Engdegård  <mattiase@acm.org>

	* etc/NEWS: Note removal of internal rx symbols (bug#37517)

2019-09-26  Juanma Barranquero  <lekktu@gmail.com>

	* lisp/desktop.el (desktop-read): With argument, ask the user for DIRNAME.

	* etc/NEWS: Document it.

2019-09-26  Michael Albinus  <michael.albinus@gmx.de>

	Avoid errors in tramp-tests with a remote ksh shell

	* test/lisp/net/tramp-tests.el (tramp--test-ksh-p): New defun.
	(tramp-test41-utf8, tramp-test41-utf8-with-stat)
	(tramp-test41-utf8-with-perl, tramp-test41-utf8-with-ls):
	Skip, when remote shell is ksh.

2019-09-25  Mattias Engdegård  <mattiase@acm.org>

	Add rx extension mechanism

	Add a built-in set of extension macros: `rx-define', `rx-let' and
	`rx-let-eval'.

	* lisp/emacs-lisp/rx.el (rx-constituents, rx-to-string): Doc updates.
	(rx--builtin-symbols, rx--builtin-names, rx--local-definitions)
	(rx--lookup-def, rx--substitute, rx--expand-template)
	(rx--make-binding, rx--make-named-binding, rx--extend-local-defs)
	(rx-let-eval, rx-let, rx-define): New.
	(rx--translate-symbol, rx--translate-form): Use extensions if any.
	(rx): Use local definitions.
	* test/lisp/emacs-lisp/rx-tests.el (rx-let, rx-define)
	(rx-to-string-define, rx-let-define, rx-let-eval): New.
	* etc/NEWS (Changes in Specialized Modes and Packages):
	* doc/lispref/searching.texi (Rx Notation, Rx Functions, Extending Rx):
	Add node about rx extensions.

2019-09-25  Mattias Engdegård  <mattiase@acm.org>

	New rx implementation

	* lisp/emacs-lisp/rx.el:
	* test/lisp/emacs-lisp/rx-tests.el:
	* doc/lispref/searching.texi (Rx Constructs):
	Rewrite rx for correctness, clarity, and performance.  The new
	implementation retains full compatibility and has more comprehensive
	tests.

	* lisp/emacs-lisp/re-builder.el (reb-rx-font-lock-keywords):
	Adapt to changes in internal variables in rx.el.

2019-09-25  Juri Linkov  <juri@linkov.net>

	Improve customization.

	* lisp/tab-bar.el (tab-bar-new-tab-choice)
	(tab-bar-close-button-show): New defcustoms.
	(tab-bar-tab-name-function): New defvar.

	* lisp/tab-line.el (tab-line-new-tab-choice)
	(tab-line-close-button-show): New defcustoms.

2019-09-25  Mattias Engdegård  <mattiase@acm.org>

	Allow regexp-quote to return its argument

	* src/search.c (Fregexp_quote): Only allocate a new string if needed.
	* doc/lispref/searching.texi (Regexp Functions):
	* etc/NEWS (Incompatible Lisp Changes): Document.

2019-09-25  Mauro Aranda  <maurooaranda@gmail.com>

	Fix indentation of widgets (Bug#7851)

	* lisp/wid-edit.el (widget--should-indent-p): New function, to decide
	whether to indent or not.
	(widget-checklist-value-add-item, widget-radio-add-item)
	(widget-editable-list-format-handler)
	(widget-editable-list-entry-create)
	(widget-group-value-create): Use it (bug#7851).

2019-09-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Make gnus-rescale-image work on modern Emacs versions

	* lisp/gnus/gnus-util.el (gnus-rescale-image): Make this work with
	native image transforms.

2019-09-25  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'text-property-search-forward'

	* lisp/emacs-lisp/text-property-search.el (text-property-search-forward)
	(text-property-search-backward): Improve doc strings.  (Bug#37488)

2019-09-24  Juri Linkov  <juri@linkov.net>

	Small fixes.  Bind [tab-line mouse-1] to mouse-select-window.

	Revert an attempt to implement a non‐native tab bar on NS.

2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make ImageMagick multi-image size calculations work for .ico files

	* src/image.c (imagemagick_load_image): Compute image sizes
	correctly in multi-image .ico files and the like (bug#18333).

2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Slight shr-put-image clean up

	* lisp/net/shr.el (shr-put-image): Use image-multi-frame-p
	directly, and remove outdated comments (image-multi-frame-p
	returns the delay).

2019-09-24  Alan Mackenzie  <acm@muc.de>

	New edebug-spec, nested-backquote-form.  This fixes bug #31090

	* lisp/emacs-lisp/edebug.el: (nested-backquote-form): a new edebug-spec which
	handles nested backquote structures without a , or ,@ "between" the outer and
	inner backquotes.
	(backquote-form): Use nested-backquote-form.

2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make --with-imagemagick bug out if there's no support for it

	* configure.ac (HAVE_IMAGEMAGICK): Stop configuration if the user
	has said --with-imagemagick, but there's no support for it
	(bug#24455).

2019-09-24  Pip Cet  <pipcet@gmail.com>

	Allow a :stride argument so XBM boolvecs are in the right format.

	* src/image.c (xbm_image_p): Explicitly specify the right stride if a
	bool vector is used as argument.
	* doc/lispref/display.texi (XBM Images): Describe bool vectors
	accurately.
	* etc/NEWS: Document the change (bug#36337).

2019-09-24  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-get-remote-stat): Ban "stat" on Solaris.

2019-09-24  Noah Swainland  <nks@nks.sh>  (tiny change)

	(calc): Fix link in doc string

	* lisp/calc/calc.el (calc): Fix link in doc string (bug#37500).

2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow controlling when to send cookies when retrieving images in shr

	* lisp/net/shr.el (shr--use-cookies-p): New function.
	(shr-tag-img): Use it.
	(shr-cookie-policy): New variable.
	(shr-save-contents): Use cookies.

	* doc/misc/eww.texi (Advanced): Document it.

2019-09-24  Robert Pluim  <rpluim@gmail.com>

	Document how to listen on all interfaces in the Elisp manual

	* doc/lispref/processes.texi (Network Processes): Explain how to
	listen on all interfaces.

2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow url-insert-file-contents to work on 304 responses

	* lisp/url/url-http.el (url-http--insert-file-helper): If the
	server answers 304 Not modified, then that's not an error
	(bug#26063).

2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up url-parse-args slightly

	* lisp/url/url-util.el (url-parse-args): Don't leave temporary
	buffer behind.  Clean up slightly.

2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix old problem with HTTPS HTTP 0.9 sentinels

	* lisp/url/url-http.el (url-http-end-of-document-sentinel): Pass
	on the tls parameter if we have HTTPS (bug#14983).

2019-09-24  Eli Zaretskii  <eliz@gnu.org>

	Resurrect support for negative frame geometry parameters on MS-Windows

	* src/w32fns.c (my_create_window): Avoid assertion violations
	in XFIXNUM when the 'top' or 'left' frame parameters are
	neither fixnums nor 'unbound', in which case
	f->size_hint_flags are set by gui_figure_window_size.
	(Bug#37415)

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow scrolling the NSM window

	* lisp/net/nsm.el (nsm-query-user): Allow moving
	backwards/forwards in the NSM buffer if the window is too small to
	show all the details (bug#28069).

2019-09-23  Wilson Snyder  <wsnyder@wsnyder.org>

	Verilog-Mode collected updates.

	* lisp/progmodes/verilog-mode.el (verilog-auto-inst-param): Add regexp
	parameter to AUTOINSTPARAM to select which parameters to export.  Reported
	by Vish S.
	(verilog-build-defun-re): Fix `verilog-goto-defun' to find automatic
	function/tasks, bug1492.  Reported by Enze Chi.
	(verilog-preprocessor): Update default.

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename "dumbquotes" to "smartquotes" in Gnus

	* doc/misc/gnus.texi (Article Washing): Adjust documentation.

	* etc/refcards/gnus-refcard.tex (subsection*{Notes}): Ditto

	* lisp/gnus/gnus-art.el (gnus-article-smartquotes-map): Rename
	from gnus-article-dumbquotes-map and add obsolete alias.
	(article-treat-smartquotes): Ditto.

	* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Adjust menus.

2019-09-23  Jan Beich  <jbeich@vfemail.net>

	mml-smime-openssl-sign): Use all the keys

	* lisp/gnus/mml-smime.el (mml-smime-openssl-sign): Use all the
	keys in `smime-keys' for this identifier (bug#17780).

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust exif-tests.el to new interface

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix regression in mm-possibly-verify-or-decrypt by previous patch

	* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Remove debugging

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix regression in mm-possibly-verify-or-decrypt by previous patch

	* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Be less
	strict about what's considered a success.

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix S/MIME continuation header when sending

	* lisp/gnus/mml-smime.el (mml-smime-epg-sign): Fix continuation
	header.

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	make-network-process doc clarification

	* src/process.c (Fmake_network_process): Further doc clarification
	for listening on "::".

2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>

	Bring back mention of NNTP gmane

	Problem reported by Michael Albinus at:
	https://lists.gnu.org/r/emacs-devel/2019-09/msg00519.html
	* admin/notes/emba: Reintroduce mention of nttp+news.gmane.org,
	since that still works.

2019-09-23  Alan Third  <alan@idiocy.org>
	    martin rudalics  <rudalics@gmx.at>

	Fix GNUstep build

	* src/nsfont.m (nsfont_draw): Change type to match.

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix cedet compilation warning

	* lisp/cedet/semantic/db.el (semanticdb-dirty-p): Fix compilation
	warning by moving to after definition.

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Update example in the Mail Aliases node of lispintro

	* doc/lispintro/emacs-lisp-intro.texi (Mail Aliases): Change
	example to use Message mode, since that's the default for `C-x m'
	now (bug#13855).

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make mm-possibly-verify-or-decrypt pass decryption error

	* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): If
	there's an error, report the error back in a new part (bug#25649).

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/dired-aux.el (dired-copy-file-recursive): Make prompt clearer.

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't bug out on invalid addresses in mml-secure-check-user-id

	* lisp/gnus/mml-sec.el (mml-secure-check-user-id): Don't bug out
	on invalid addresses (bug#33613).

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak how much <sup>/<sub> raises/lowers text in shr

	* lisp/net/shr.el (shr-tag-sup, shr-tag-sub): Raising by 0.5 gives
	very ugly displays.  0.2 seems sufficient for legibility.

2019-09-23  Mattias Engdegård  <mattiase@acm.org>

	Fix trig simplification crash (bug#33052)

	* lisp/calc/calc-alg.el (calcFunc-sec, calcFunc-csc, calcFunc-cot):
	Check that `math-known-sin' and `math-known-tan' succeeded before
	using their value in arithmetic.
	* test/lisp/calc/calc-tests.el (calc-test-trig): Add regression tests.
	Backport from master.

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Signal errors if EPA can't verify data

	* lisp/epa.el (epa-verify-region): Signal an error if the region
	couldn't be verified (bug#14720).
	(epa-verify-file): Say that the file couldn't be verified instead
	of just "...done".

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make "Show Hidden Headers" in Message buffers more obvious

	* lisp/gnus/message.el (message-widen-and-recenter): New command
	to ensure that we show most of the headers (bug#23252).
	(message-mode-field-menu): Use it.

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a NEWS entry for message citation levels

2019-09-23  Hong Xu  <hong@topbug.net>

	Add different faces for different citation levels in Message mode

	* lisp/gnus/message.el (message-font-lock-keywords)
	(message-font-lock-make-cited-text-matcher): Add support for
	different faces for different citation levels.  The faces are
	defined in the faces named `message-cited-text-N': N of the
	Mth citation level will be M mod 4.
	(message-cited-text-1, message-cited-text-2)
	(message-cited-text-3, message-cited-text-4): Add customization
	for the faces of 4 different citation level.  In the future, the
	number of faces may increase, as the code is flexible enough to
	automatically deal with that.
	(message-cite-level-function): Add a function to customize the
	determination of cite levels given the prefix of the cited text
	(bug#25022).

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Add an `authinfo-hidden' variable

	* lisp/auth-source.el (authinfo-hidden): New variable.
	(authinfo--hide-passwords): Use it to allow users to decide what
	to hide.

2019-09-23  nitishch  <nitishchandrachinta@gmail.com>  (tiny change)

	"]" is not a standard citation prefix character

	* lisp/mail/sendmail.el (mail-citation-prefix-regexp): Don't
	regard "]" as a citation prefix character (bug#25150).  This
	allows some motion commands (like forward-sexp) to behave more as
	expected in Message mode buffers.

2019-09-23  Mattias Engdegård  <mattiase@acm.org>

	Fix linear equation system solving in Calc (bug#35374)

	* lisp/calc/calcalg2.el (math-try-solve-for):
	To solve Ax^n=0 where A is a nonzero constant and x the variable to
	solve for, solve x^n=0 instead of solving A=0 (which obviously fails)
	or something equally stupid.
	* test/lisp/calc/calc-tests.el (calc-test-solve-linear-system): New.

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Keep a cache of encoded Message contents to avoid re-GPG-in data

	* lisp/gnus/gnus-msg.el (gnus-inews-do-gcc): Use it to avoid
	re-encoding.

	* lisp/gnus/message.el (message-encoded-mail-cache): New variable.

	* lisp/gnus/message.el (message-send-mail): Store encoded.
	(message--cache-encoded): New function.
	(message-do-fcc): Store encoded (bug#25155).

2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/gnus/message.el (message-send-mail): Remove misleading comment.

2019-09-23  Juanma Barranquero  <lekktu@gmail.com>

	Fix arg name of `text-property-search-{forward|backward}' (bug#37488)

	* lisp/emacs-lisp/text-property-search.el
	(text-property-search-forward, text-property-search-backward):
	Rename arg NOT-IMMEDIATE to NOT-CURRENT.  Also fix docstring.

2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>

	Update some URLs

	This mostly changes http: to https: in URLs.  It also updates
	some URLs that have moved, removes some URLs that no longer
	work, recommends against using procmail (procmail.org no
	longer works), and removes some mentions of the
	no-longer-existing Gmane, LPF and VTW.
	It doesn't update all URLs, just the ones I had time for.
	* GNUmakefile (help):
	* admin/admin.el (manual-doctype-string):
	* admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map):
	* admin/charsets/mapconv:
	* lisp/net/soap-client.el (soap-create-envelope):
	* lisp/org/org.el (org-doi-server-url):
	* lisp/textmodes/bibtex.el (bibtex-generate-url-list):
	Prefer https: to http: un URLs.

2019-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-09-22 Update some URLs
	2019-09-15 fcntl-h: fix compilation error of creat.c on MSVC
	2019-09-15 creat: new module
	2019-09-15 access: new module
	2019-09-09 Add option to assume best, not worst, when cross-compiling.
	* build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
	* lib/careadlinkat.c, lib/careadlinkat.h, lib/count-leading-zeros.h:
	* lib/count-trailing-zeros.h, lib/diffseq.h, lib/fcntl.in.h:
	* lib/ftoastr.c, lib/get-permissions.c:
	* lib/ieee754.in.h, lib/inttypes.in.h, lib/mktime.c, lib/open.c:
	* lib/pathmax.h, lib/pipe2.c, lib/stddef.in.h, lib/stdint.in.h:
	* lib/stdlib.in.h, lib/str-two-way.h, lib/string.in.h, lib/time.in.h:
	* lib/timegm.c, lib/unistd.in.h, m4/canonicalize.m4:
	* m4/extern-inline.m4, m4/fcntl_h.m4, m4/fdopendir.m4:
	* m4/getgroups.m4, m4/getopt.m4, m4/gettimeofday.m4:
	* m4/gnulib-common.m4, m4/largefile.m4:
	* m4/lstat.m4, m4/memmem.m4, m4/mktime.m4, m4/nocrash.m4, m4/open.m4:
	* m4/pselect.m4, m4/putenv.m4, m4/readlink.m4, m4/regex.m4:
	* m4/symlink.m4, m4/unistd_h.m4, m4/utimens.m4, m4/utimes.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* m4/open-slash.m4: New file, copied from Gnulib.

2019-09-22  Stephen Gildea  <stepheng+savannah@gildea.com>

	Expand time-stamp unit tests to cover all formatting options

	* test/lisp/time-stamp-tests.el: Expand unit tests to cover all formatting options.
	These tests validate time-stamp-pattern formatting that has existed
	since at least Emacs 22 (released in 2007).  The tests cover both
	documented behavior and behavior implemented to support future migrations.

	* test/lisp/time-stamp-tests.el (time-stamp-string): Add a second argument (TIME) to
	open a testing seam.  Have the unit tests call this public function.

	* test/lisp/time-stamp-tests.el (time-stamp-string, time-stamp-string-preprocess):
	Remove the second pass through time-string--format.  (Previously both
	functions called it.)  It was used only to handle "%", but this is now
	handled by having time-stamp-string-preprocess not double it.
	Not doubling the "%" in time-stamp-string-preprocess fixes the padding
	of "%2%", which was discovered by the new unit tests to be wrong.

2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify `debug' doc string

	* lisp/emacs-lisp/debug.el (debug): Mention that inhibit-redisplay
	will inhibit the function.

2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Make Message warn about invalid addresses

	* lisp/gnus/message.el (message-check-recipients): Warn about
	invalid email addresses (bug#32639).

2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove Gnus posting style reference to message-reply-headers

	* doc/misc/gnus.texi (Posting Styles): Remove bit about
	message-reply-headers, because it has never worked.

2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	gnus-use-atomic-windows should default to nil

	* lisp/gnus/gnus-win.el (gnus-use-atomic-windows): Default to nil.

2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	message-reply-headers doc fix

	* doc/misc/gnus.texi (Posting Styles): Update the type of the
	message-reply-headers object.

2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	mailclient can't send attachments

	* lisp/mail/mailclient.el (mailclient-send-it): Warn about trying
	to send attachments (bug#34992).

2019-09-22  Juri Linkov  <juri@linkov.net>

	Improve customizability and better tab separators.

	* lisp/tab-bar.el (tab-bar-tabs-function): New defvar.

	* lisp/tab-line.el (tab-line-tab-name-function)
	(tab-line-tabs-function): New defvars.

2019-09-22  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Ignore comments and strings when recognizing JSX

	* lisp/progmodes/js.el (js-syntax-propertize): Ignore comments and
	strings.
	* test/manual/indent/jsx-comment-string.jsx: New test.

2019-09-22  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Make js-jsx-regexps case-sensitive

	The regexp in this list used a capitalized “React” because it actually
	should be capitalized like that.  Otherwise, the following code would
	produce a false positive match: import Thing from './react/Thing'

	* lisp/progmodes/js.el (js-jsx-regexps): Update docstring.
	(js-jsx--detect-and-enable): Match case-sensitively when determining
	whether JSX should be enabled.

2019-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid crashes when casifying noncontiguous regions

	This is a followon fix for Bug#37477.
	* lisp/simple.el (region-extract-function):
	Use setq here, since the var is now defined in C code.
	* src/casefiddle.c (casify_pnc_region): New function.
	(Fupcase_region, Fdowncase_region, Fcapitalize_region)
	(Fupcase_initials_region): Use it.
	(Fupcase_initials_region): Add region-noncontiguous-p flag
	for consistency with the others.  All uses changed.
	(syms_of_casefiddle): Define Qbounds, Vregion_extract_function.
	* src/insdel.c (prepare_to_modify_buffer_1):
	* src/keyboard.c (command_loop_1):
	Use Vregion_extraction_function.
	* src/insdel.c (syms_of_insdel): No need to define
	Qregion_extract_function.
	* test/src/casefiddle-tests.el (casefiddle-oldfunc): New var.
	(casefiddle-loopfunc, casefiddle-badfunc): New functions.
	(casefiddle-invalid-region-extract-function): New test.

2019-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/help-fns.el: Fix missing dependency

2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove references to domain that no longer exists

	* doc/misc/gnus-faq.texi (FAQ 7-1):
	* doc/misc/gnus.texi (Maildir):
	* lisp/gnus/nnmaildir.el: qmail.org no longer exists.

2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix "password" detection in authinfo mode

	* lisp/auth-source.el (authinfo--hide-passwords): Ensure that we
	only hit actual "password" entries and not "foo-password" and the
	like.

2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix warning about @xref in parenthesis

	* doc/misc/gnus.texi (Window Layout): Use @pxref in parentheses.

2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Note that image-mode automatically rotates

2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Automatically rotate images in image-mode based on Exif data

	* lisp/image-mode.el (image-toggle-display-image): Get the
	orientation from the Exif data, if any.

2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust the exif.el interface functions

	* lisp/image/exif.el (exif-parse-buffer): New function.
	(exif-orientation): Ditto.
	(exif-error): New error symbol, and adjust all error signaling to
	only use that signal.

2019-09-22  Andreas Schwab  <schwab@linux-m68k.org>

	Fix compilation with CHECK_STRUCTS

	* src/pdumper.c (dump_buffer): Update hash of struct buffer.

2019-09-21  Eric Abrahamsen  <eric@ericabrahamsen.net>

	New option for making Gnus window layouts atomic

	* lisp/gnus/gnus-win.el (gnus-use-atomic-windows): New boolean
	  customization option.
	  (gnus-configure-windows): When removing old window layouts, check
	  for and remove atomicity.
	  (gnus-configure-windows): When gnus-use-atomic-windows is non-nil,
	  make Gnus window layouts atomic.
	* doc/misc/gnus.texi (Window Layout): Document.

2019-09-21  Stefan Kangas  <stefankangas@gmail.com>

	* src/fns.c (Fbuffer_hash): Improve doc string.

2019-09-21  Juri Linkov  <juri@linkov.net>

	Support rectangular regions in capitalize-region and capitalize-dwim.

	* lisp/simple.el (capitalize-dwim): Add arg region-noncontiguous-p
	in capitalize-region call.

	* src/casefiddle.c (Fcapitalize_region): Add arg region-noncontiguous-p.
	If non-nil, operate on multiple chunks.  (Bug#37477)
	(Fdowncase_region): Use builtin symbol Qregion_extract_function
	rather than calling intern.

2019-09-21  Juri Linkov  <juri@linkov.net>

	Take into account FRAME_TAB_BAR height in more places.

	* src/dispnew.c (handle_window_change_signal, init_display_interactive):
	* src/frame.c (make_terminal_frame, Fmake_terminal_frame):
	* src/keyboard.c (Fsuspend_emacs):
	* src/term.c (Fresume_tty):
	* src/xterm.c (x_check_fullscreen):
	Subtract FRAME_TAB_BAR_LINES.

	* src/xterm.c (x_new_font): Set FRAME_TAB_BAR_HEIGHT.
	(x_new_font, x_check_fullscreen, x_set_window_size_1)
	(x_set_window_size, x_wm_set_size_hint): Add FRAME_TABBAR_HEIGHT.

2019-09-21  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Use eieio-object-p, not obsolete object-p

	Continued fixes for a81223aeaa

	* lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-names,
	  gnus-registry-article-marks-to-chars): object-p is obsolete.

2019-09-21  Stefan Kangas  <stefankangas@gmail.com>

	Several doc fixes in package.el

	* lisp/emacs-lisp/package.el (top-level)
	(package-check-signature, package--from-builtin)
	(package-desc-full-name, package-desc-suffix)
	(package-desc--keywords, package--bi-desc)
	(package-process-define-package, package-archive-base)
	(package-install-from-archive, package-install-from-buffer)
	(package-install-file, package-autoremove, describe-package-1)
	(package-install-button-action, package-delete-button-action)
	(package-keyword-button-action, package-make-button)
	(package--print-email-button, package-list-unversioned)
	(package--emacs-version-list, package-menu-toggle-hiding)
	(package-hidden-regexps, package-menu-hide-package)
	(package-menu-get-status, package-menu--find-upgrades)
	(package-menu--post-refresh): Doc fixes.  (Bug#37410)

2019-09-21  Paul Eggert  <eggert@cs.ucla.edu>

	Revert too-picky file-access tests

	Problem reported by Andreas Schwab (Bug#37475).
	* doc/lispref/files.texi (Writing to Files)
	(Testing Accessibility, Kinds of Files):
	Document that accessibility and file-type predicates return nil
	if there is trouble determining accessibility or type.
	* etc/NEWS: Adjust, and list the affected primitives.
	* src/callproc.c (init_callproc): Go back to Ffile_exists_p.
	* src/fileio.c (PICKY_EACCES, file_test_errno):
	Remove.  All uses removed.
	(Ffile_name_case_insensitive_p, Ffile_exists_p, Ffile_symlink_p)
	(Ffile_directory_p, Ffile_regular_p): Document that these
	functions return nil if there is trouble.
	(Ffile_name_case_insensitive_p, check_file_access)
	(Ffile_writable_p, Ffile_symlink_p, Ffile_directory_p)
	(Ffile_accessible_directory_p, Ffile_regular_p)
	* src/lread.c (Fload):
	Go back to treating trouble in determining the answer as if the
	file were missing.
	* src/fileio.c (Ffile_newer_than_file_p): Use file_attribute_errno
	not file_test_errno, since returning nil is not appropriate when
	there are two files to test; e.g., in the rare cases where both
	file timestamps have overflowed then neither t nor nil is correct.

2019-09-21  Noam Postavsky  <npostavs@gmail.com>

	Remove lisp/erc/ file-local indent-tabs-mode settings

	* lisp/erc/erc-autoaway.el:
	* lisp/erc/erc-backend.el:
	* lisp/erc/erc-button.el:
	* lisp/erc/erc-compat.el:
	* lisp/erc/erc-dcc.el:
	* lisp/erc/erc-fill.el:
	* lisp/erc/erc-ibuffer.el:
	* lisp/erc/erc-identd.el:
	* lisp/erc/erc-imenu.el:
	* lisp/erc/erc-join.el:
	* lisp/erc/erc-list.el:
	* lisp/erc/erc-log.el:
	* lisp/erc/erc-match.el:
	* lisp/erc/erc-menu.el:
	* lisp/erc/erc-netsplit.el:
	* lisp/erc/erc-networks.el:
	* lisp/erc/erc-notify.el:
	* lisp/erc/erc-page.el:
	* lisp/erc/erc-pcomplete.el:
	* lisp/erc/erc-replace.el:
	* lisp/erc/erc-ring.el:
	* lisp/erc/erc-services.el:
	* lisp/erc/erc-sound.el:
	* lisp/erc/erc-speedbar.el:
	* lisp/erc/erc-stamp.el:
	* lisp/erc/erc-track.el:
	* lisp/erc/erc-truncate.el:
	* lisp/erc/erc-xdcc.el:
	* lisp/erc/erc.el: Remove indent-tabs-mode setting, so that we follow
	Emacs' global indent-tabs-mode=nil setting (and much of the
	indentation in these fails is already spaces anyway).  Also remove
	tab-width=8 settings, since those are redundant with the setting in
	the top-level .dir-locals.el.

2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix some commentary typos in exif.el

	* lisp/image/exif.el (exif--parse-exif-chunk)
	(exif--parse-directory): Commentary typo fixes.

2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add an Exif parsing library

	* lisp/image/exif.el: New file (bug#23070).

	* test/lisp/image/exif-tests.el: Add some basic tests.

2019-09-21  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix wrong fontification of FOO in ASSERT (FOO && !BAR)

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Don't recognize the
	construct in CASE 18, unless additionally at-decl-end is set.

2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix two ` characters in NEWS

2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Hide passwords in .authinfo and .netrc files

	* lisp/auth-source.el (authinfo-mode): New mode (bug#28785).
	(authinfo--hide-passwords, authinfo--toggle-display): New functions.

	* lisp/files.el (auto-mode-alist): Use authinfo-mode for .authinfo
	and .netrc files.

2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow reveal.el to toggle `display' properties

	* lisp/reveal.el (reveal-open-new-overlays): Allow also toggling
	`displa' overlay properties (bug#28785).

2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention image caching in the `image-size' doc string

	* src/image.c (Fimage_size): Mention that this function caches
	images, and what to do about that (bug#33275).

2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention how to listen to all interfaces in make-network-process

	* src/process.c (Fmake_network_process): Mention how to listen to
	all interfaces (bug#34617).

2019-09-21  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-handle-file-modes): Check for nil file-attributes.

2019-09-21  Eli Zaretskii  <eliz@gnu.org>

	* lisp/completion.el (completion-kill-region): Doc fix.

2019-09-20  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix to a81223aeaa

	* lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
	  (gnus-registry-article-marks-to-names): The registry is an object,
	  not a hash table.

2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow the user to specify Content-type in Message mode

	* lisp/gnus/message.el (message-encode-message-body): Pass in the
	content type if the user has given one.

	* lisp/gnus/mml.el (mml-parse-1): Remove bogus peek at
	Content-type (there are no headers here)  (bug#36527).

	* lisp/gnus/mml.el (mml-generate-mime): Respect that.

2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Move describe-face to the new help-fns machinery

	* lisp/help-fns.el (describe-face): Move to here from faces.el and
	split up (bug#36670).
	(help-fns--face-custom-version-info):
	(help-fns--face-attributes): Factored out into own functions.
	(help-fns-describe-face-functions): New variable.

	* lisp/emacs-lisp/subr-x.el (when-let): Add autoload cookie.

2019-09-20  Juanma Barranquero  <lekktu@gmail.com>

	lisp/*.el: Fix typos and other trivial doc fixes

	* lisp/allout-widgets.el (allout-widgets-auto-activation)
	(allout-current-decorated-p):
	* lisp/auth-source.el (auth-source-protocols):
	* lisp/autorevert.el (auto-revert-set-timer):
	* lisp/battery.el (battery-mode-line-limit):
	* lisp/calc/calcalg3.el (math-map-binop):
	* lisp/calendar/cal-dst.el (calendar-dst-find-startend):
	* lisp/calendar/cal-mayan.el (calendar-mayan-long-count-to-absolute):
	* lisp/calendar/calendar.el (calendar-date-echo-text)
	(calendar-generate-month, calendar-string-spread)
	(calendar-cursor-to-date, calendar-read, calendar-read-date)
	(calendar-mark-visible-date, calendar-dayname-on-or-before):
	* lisp/calendar/diary-lib.el (diary-ordinal-suffix):
	* lisp/cedet/ede/autoconf-edit.el (autoconf-new-program)
	(autoconf-find-last-macro, autoconf-parameter-strip):
	* lisp/cedet/ede/config.el (ede-target-with-config-build):
	* lisp/cedet/ede/linux.el (ede-linux--detect-architecture)
	(ede-linux--get-architecture):
	* lisp/cedet/semantic/complete.el (semantic-collector-calculate-cache)
	(semantic-displayer-abstract, semantic-displayer-point-position):
	* lisp/cedet/semantic/format.el (semantic-format-face-alist)
	(semantic-format-tag-short-doc):
	* lisp/cedet/semantic/fw.el (semantic-find-file-noselect):
	* lisp/cedet/semantic/idle.el (semantic-idle-scheduler-work-idle-time)
	(semantic-idle-breadcrumbs-display-function)
	(semantic-idle-breadcrumbs-format-tag-list-function):
	* lisp/cedet/semantic/lex.el (semantic-lex-map-types)
	(define-lex, define-lex-block-type-analyzer):
	* lisp/cedet/semantic/senator.el (senator-search-default-tag-filter):
	* lisp/cedet/semantic/symref.el (semantic-symref-result)
	(semantic-symref-hit-to-tag-via-db):
	* lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
	* lisp/cedet/semantic/tag.el (semantic-tag-new-variable)
	(semantic-tag-new-include, semantic-tag-new-package)
	(semantic-tag-set-faux, semantic-create-tag-proxy)
	(semantic-tag-function-parent)
	(semantic-tag-components-with-overlays):
	* lisp/cedet/srecode/cpp.el (srecode-cpp-namespaces)
	(srecode-semantic-handle-:c, srecode-semantic-apply-tag-to-dict):
	* lisp/cedet/srecode/dictionary.el (srecode-create-dictionary)
	(srecode-dictionary-add-entries, srecode-dictionary-lookup-name)
	(srecode-create-dictionaries-from-tags):
	* lisp/cmuscheme.el (scheme-compile-region):
	* lisp/color.el (color-lab-to-lch):
	* lisp/doc-view.el (doc-view-image-width)
	(doc-view-set-up-single-converter):
	* lisp/dynamic-setting.el (font-setting-change-default-font)
	(dynamic-setting-handle-config-changed-event):
	* lisp/elec-pair.el (electric-pair-text-pairs)
	(electric-pair-skip-whitespace-function)
	(electric-pair-string-bound-function):
	* lisp/emacs-lisp/avl-tree.el (avl-tree--del-balance)
	(avl-tree-member, avl-tree-mapcar, avl-tree-iter):
	* lisp/emacs-lisp/bytecomp.el (byte-compile-generate-call-tree):
	* lisp/emacs-lisp/checkdoc.el (checkdoc-autofix-flag)
	(checkdoc-spellcheck-documentation-flag, checkdoc-ispell)
	(checkdoc-ispell-current-buffer, checkdoc-ispell-interactive)
	(checkdoc-ispell-message-interactive)
	(checkdoc-ispell-message-text, checkdoc-ispell-start)
	(checkdoc-ispell-continue, checkdoc-ispell-comments)
	(checkdoc-ispell-defun):
	* lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
	* lisp/emacs-lisp/eieio-custom.el (eieio-read-customization-group):
	* lisp/emacs-lisp/lisp.el (forward-sexp, up-list):
	* lisp/emacs-lisp/package-x.el (package--archive-contents-from-file):
	* lisp/emacs-lisp/package.el (package-desc)
	(package--make-autoloads-and-stuff, package-hidden-regexps):
	* lisp/emacs-lisp/tcover-ses.el (ses-exercise-startup):
	* lisp/emacs-lisp/testcover.el (testcover-nohits)
	(testcover-1value):
	* lisp/epg.el (epg-receive-keys, epg-start-edit-key):
	* lisp/erc/erc-backend.el (erc-server-processing-p)
	(erc-split-line-length, erc-server-coding-system)
	(erc-server-send, erc-message):
	* lisp/erc/erc-button.el (erc-button-face, erc-button-alist)
	(erc-browse-emacswiki):
	* lisp/erc/erc-ezbounce.el (erc-ezbounce, erc-ezb-get-login):
	* lisp/erc/erc-fill.el (erc-fill-variable-maximum-indentation):
	* lisp/erc/erc-log.el (erc-current-logfile):
	* lisp/erc/erc-match.el (erc-log-match-format)
	(erc-text-matched-hook):
	* lisp/erc/erc-netsplit.el (erc-netsplit, erc-netsplit-debug):
	* lisp/erc/erc-networks.el (erc-server-alist)
	(erc-networks-alist, erc-current-network):
	* lisp/erc/erc-ring.el (erc-input-ring-index):
	* lisp/erc/erc-speedbar.el (erc-speedbar)
	(erc-speedbar-update-channel):
	* lisp/erc/erc-stamp.el (erc-timestamp-only-if-changed-flag):
	* lisp/erc/erc-track.el (erc-track-position-in-mode-line)
	(erc-track-remove-from-mode-line, erc-modified-channels-update)
	(erc-track-last-non-erc-buffer, erc-track-sort-by-importance)
	(erc-track-get-active-buffer):
	* lisp/erc/erc.el (erc-get-channel-user-list)
	(erc-echo-notice-hook, erc-echo-notice-always-hook)
	(erc-wash-quit-reason, erc-format-@nick):
	* lisp/ffap.el (ffap-latex-mode):
	* lisp/files.el (abort-if-file-too-large)
	(dir-locals--get-sort-score, buffer-stale--default-function):
	* lisp/filesets.el (filesets-tree-max-level, filesets-data)
	(filesets-update-pre010505):
	* lisp/gnus/gnus-agent.el (gnus-agent-flush-cache):
	* lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
	(gnus-button-prefer-mid-or-mail):
	* lisp/gnus/gnus-cus.el (gnus-group-parameters):
	* lisp/gnus/gnus-demon.el (gnus-demon-handlers)
	(gnus-demon-run-callback):
	* lisp/gnus/gnus-dired.el (gnus-dired-print):
	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-buffer):
	* lisp/gnus/gnus-range.el (gnus-range-normalize):
	* lisp/gnus/gnus-spec.el (gnus-pad-form):
	* lisp/gnus/gnus-srvr.el (gnus-server-agent, gnus-server-cloud)
	(gnus-server-opened, gnus-server-closed, gnus-server-denied)
	(gnus-server-offline):
	* lisp/gnus/gnus-sum.el (gnus-refer-thread-use-nnir)
	(gnus-refer-thread-limit-to-thread)
	(gnus-summary-limit-include-thread, gnus-summary-refer-thread)
	(gnus-summary-find-matching):
	* lisp/gnus/gnus-util.el (gnus-rescale-image):
	* lisp/gnus/gnus.el (gnus-summary-line-format, gnus-no-server):
	* lisp/gnus/mail-source.el (mail-source-incoming-file-prefix):
	* lisp/gnus/message.el (message-cite-reply-position)
	(message-cite-style-outlook, message-cite-style-thunderbird)
	(message-cite-style-gmail, message--send-mail-maybe-partially):
	* lisp/gnus/mm-extern.el (mm-inline-external-body):
	* lisp/gnus/mm-partial.el (mm-inline-partial):
	* lisp/gnus/mml-sec.el (mml-secure-message-sign)
	(mml-secure-message-sign-encrypt, mml-secure-message-encrypt):
	* lisp/gnus/mml2015.el (mml2015-epg-key-image)
	(mml2015-epg-key-image-to-string):
	* lisp/gnus/nndiary.el (nndiary-reminders, nndiary-get-new-mail):
	* lisp/gnus/nnheader.el (nnheader-directory-files-is-safe):
	* lisp/gnus/nnir.el (nnir-search-history)
	(nnir-imap-search-other, nnir-artlist-length)
	(nnir-artlist-article, nnir-artitem-group, nnir-artitem-number)
	(nnir-artitem-rsv, nnir-article-group, nnir-article-number)
	(nnir-article-rsv, nnir-article-ids, nnir-categorize)
	(nnir-retrieve-headers-override-function)
	(nnir-imap-default-search-key, nnir-hyrex-additional-switches)
	(gnus-group-make-nnir-group, nnir-run-namazu, nnir-read-parms)
	(nnir-read-parm, nnir-read-server-parm, nnir-search-thread):
	* lisp/gnus/nnmairix.el (nnmairix-default-group)
	(nnmairix-propagate-marks):
	* lisp/gnus/smime.el (smime-keys, smime-crl-check)
	(smime-verify-buffer, smime-noverify-buffer):
	* lisp/gnus/spam-report.el (spam-report-url-ping-mm-url):
	* lisp/gnus/spam.el (spam-spamassassin-positive-spam-flag-header)
	(spam-spamassassin-spam-status-header, spam-sa-learn-rebuild)
	(spam-classifications, spam-check-stat, spam-spamassassin-score):
	* lisp/help.el (describe-minor-mode-from-symbol):
	* lisp/hippie-exp.el (hippie-expand-ignore-buffers):
	* lisp/htmlfontify.el (hfy-optimizations, hfy-face-resolve-face)
	(hfy-begin-span):
	* lisp/ibuf-ext.el (ibuffer-update-saved-filters-format)
	(ibuffer-saved-filters, ibuffer-old-saved-filters-warning)
	(ibuffer-filtering-qualifiers, ibuffer-repair-saved-filters)
	(eval, ibuffer-unary-operand, file-extension, directory):
	* lisp/image-dired.el (image-dired-cmd-pngcrush-options):
	* lisp/image-mode.el (image-toggle-display):
	* lisp/international/ccl.el (ccl-compile-read-multibyte-character)
	(ccl-compile-write-multibyte-character):
	* lisp/international/kkc.el (kkc-save-init-file):
	* lisp/international/latin1-disp.el (latin1-display):
	* lisp/international/ogonek.el (ogonek-name-encoding-alist)
	(ogonek-information, ogonek-lookup-encoding)
	(ogonek-deprefixify-region):
	* lisp/isearch.el (isearch-filter-predicate)
	(isearch--momentary-message):
	* lisp/jsonrpc.el (jsonrpc-connection-send)
	(jsonrpc-process-connection, jsonrpc-shutdown)
	(jsonrpc--async-request-1):
	* lisp/language/tibet-util.el (tibetan-char-p):
	* lisp/mail/feedmail.el (feedmail-queue-use-send-time-for-date)
	(feedmail-last-chance-hook, feedmail-before-fcc-hook)
	(feedmail-send-it-immediately-wrapper, feedmail-find-eoh):
	* lisp/mail/hashcash.el (hashcash-generate-payment)
	(hashcash-generate-payment-async, hashcash-insert-payment)
	(hashcash-verify-payment):
	* lisp/mail/rmail.el (rmail-movemail-variant-in-use)
	(rmail-get-attr-value):
	* lisp/mail/rmailmm.el (rmail-mime-prefer-html, rmail-mime):
	* lisp/mail/rmailsum.el (rmail-summary-show-message):
	* lisp/mail/supercite.el (sc-raw-mode-toggle):
	* lisp/man.el (Man-start-calling):
	* lisp/mh-e/mh-acros.el (mh-do-at-event-location)
	(mh-iterate-on-messages-in-region, mh-iterate-on-range):
	* lisp/mh-e/mh-alias.el (mh-alias-system-aliases)
	(mh-alias-reload, mh-alias-ali)
	(mh-alias-canonicalize-suggestion, mh-alias-add-alias-to-file)
	(mh-alias-add-alias):
	* lisp/mouse.el (mouse-save-then-kill):
	* lisp/net/browse-url.el (browse-url-default-macosx-browser):
	* lisp/net/eudc.el (eudc-set, eudc-variable-protocol-value)
	(eudc-variable-server-value, eudc-update-variable)
	(eudc-expand-inline):
	* lisp/net/eudcb-bbdb.el (eudc-bbdb-format-record-as-result):
	* lisp/net/eudcb-ldap.el (eudc-ldap-get-field-list):
	* lisp/net/pop3.el (pop3-list):
	* lisp/net/soap-client.el (soap-namespace-put)
	(soap-xs-parse-sequence, soap-parse-envelope):
	* lisp/net/soap-inspect.el (soap-inspect-xs-complex-type):
	* lisp/nxml/rng-xsd.el (rng-xsd-date-to-days):
	* lisp/org/ob-C.el (org-babel-prep-session:C)
	(org-babel-load-session:C):
	* lisp/org/ob-J.el (org-babel-execute:J):
	* lisp/org/ob-asymptote.el (org-babel-prep-session:asymptote):
	* lisp/org/ob-awk.el (org-babel-execute:awk):
	* lisp/org/ob-core.el (org-babel-process-file-name):
	* lisp/org/ob-ebnf.el (org-babel-execute:ebnf):
	* lisp/org/ob-forth.el (org-babel-execute:forth):
	* lisp/org/ob-fortran.el (org-babel-execute:fortran)
	(org-babel-prep-session:fortran, org-babel-load-session:fortran):
	* lisp/org/ob-groovy.el (org-babel-execute:groovy):
	* lisp/org/ob-io.el (org-babel-execute:io):
	* lisp/org/ob-js.el (org-babel-execute:js):
	* lisp/org/ob-lilypond.el (org-babel-default-header-args:lilypond)
	(org-babel-lilypond-compile-post-tangle)
	(org-babel-lilypond-display-pdf-post-tangle)
	(org-babel-lilypond-tangle)
	(org-babel-lilypond-execute-tangled-ly)
	(org-babel-lilypond-compile-lilyfile)
	(org-babel-lilypond-check-for-compile-error)
	(org-babel-lilypond-process-compile-error)
	(org-babel-lilypond-mark-error-line)
	(org-babel-lilypond-parse-error-line)
	(org-babel-lilypond-attempt-to-open-pdf)
	(org-babel-lilypond-attempt-to-play-midi)
	(org-babel-lilypond-switch-extension)
	(org-babel-lilypond-set-header-args):
	* lisp/org/ob-lua.el (org-babel-prep-session:lua):
	* lisp/org/ob-picolisp.el (org-babel-execute:picolisp):
	* lisp/org/ob-processing.el (org-babel-prep-session:processing):
	* lisp/org/ob-python.el (org-babel-prep-session:python):
	* lisp/org/ob-scheme.el (org-babel-scheme-capture-current-message)
	(org-babel-scheme-execute-with-geiser, org-babel-execute:scheme):
	* lisp/org/ob-shen.el (org-babel-execute:shen):
	* lisp/org/org-agenda.el (org-agenda-entry-types)
	(org-agenda-move-date-from-past-immediately-to-today)
	(org-agenda-time-grid, org-agenda-sorting-strategy)
	(org-agenda-filter-by-category, org-agenda-forward-block):
	* lisp/org/org-colview.el (org-columns--overlay-text):
	* lisp/org/org-faces.el (org-verbatim, org-cycle-level-faces):
	* lisp/org/org-indent.el (org-indent-set-line-properties):
	* lisp/org/org-macs.el (org-get-limited-outline-regexp):
	* lisp/org/org-mobile.el (org-mobile-files):
	* lisp/org/org.el (org-use-fast-todo-selection)
	(org-extend-today-until, org-use-property-inheritance)
	(org-refresh-effort-properties, org-open-at-point-global)
	(org-track-ordered-property-with-tag, org-shiftright):
	* lisp/org/ox-html.el (org-html-checkbox-type):
	* lisp/org/ox-man.el (org-man-source-highlight)
	(org-man-verse-block):
	* lisp/org/ox-publish.el (org-publish-sitemap-default):
	* lisp/outline.el (outline-head-from-level):
	* lisp/progmodes/dcl-mode.el (dcl-back-to-indentation-1)
	(dcl-calc-command-indent, dcl-indent-to):
	* lisp/progmodes/flymake.el (flymake-make-diagnostic)
	(flymake--overlays, flymake-diagnostic-functions)
	(flymake-diagnostic-types-alist, flymake--backend-state)
	(flymake-is-running, flymake--collect, flymake-mode):
	* lisp/progmodes/gdb-mi.el (gdb-threads-list, gdb, gdb-non-stop)
	(gdb-buffers, gdb-gud-context-call, gdb-jsonify-buffer):
	* lisp/progmodes/grep.el (grep-error-screen-columns):
	* lisp/progmodes/gud.el (gud-prev-expr):
	* lisp/progmodes/ps-mode.el (ps-mode, ps-mode-target-column)
	(ps-run-goto-error):
	* lisp/progmodes/python.el (python-eldoc-get-doc)
	(python-eldoc-function-timeout-permanent, python-eldoc-function):
	* lisp/shadowfile.el (shadow-make-group):
	* lisp/speedbar.el (speedbar-obj-do-check):
	* lisp/textmodes/flyspell.el (flyspell-auto-correct-previous-hook):
	* lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib):
	* lisp/textmodes/reftex-index.el (reftex-index-goto-entry)
	(reftex-index-kill, reftex-index-undo):
	* lisp/textmodes/reftex-parse.el (reftex-context-substring):
	* lisp/textmodes/reftex.el (reftex-TeX-master-file):
	* lisp/textmodes/rst.el (rst-next-hdr, rst-toc)
	(rst-uncomment-region, rst-font-lock-extend-region-internal):
	* lisp/thumbs.el (thumbs-mode):
	* lisp/vc/ediff-util.el (ediff-restore-diff):
	* lisp/vc/pcvs-defs.el (cvs-cvsroot, cvs-force-dir-tag):
	* lisp/vc/vc-hg.el (vc-hg--ignore-patterns-valid-p):
	* lisp/wid-edit.el (widget-field-value-set, string):
	* lisp/x-dnd.el (x-dnd-version-from-flags)
	(x-dnd-more-than-3-from-flags): Assorted docfixes.

2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make register-preview ignore empty registers

	* lisp/register.el (register-preview): Ignore elements that are
	empty (bug#37155).

2019-09-20  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)

	Make the reverse tabulated list sort stable

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list--get-sorter):
	Make the reverse sorting stable (bug#37174).

2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Further touch-ups to the auth-source obfuscation

	* lisp/auth-source.el (auth-source--obfuscate): Avoid leaking the
	length of the password by using PKCS#7 padding.

2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some comments to the auth-source obfuscation

	* lisp/auth-source.el (auth-source--obfuscate): Add comments.

2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make previous auth-source change not break on Windows without gnutls

	* lisp/auth-source.el (auth-source--obfuscate)
	(auth-source--deobfuscate): Check that gnutls is really available.

2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Obfuscate auth-source memory contents even more

	* lisp/auth-source.el (auth-source--deobfuscate): Use more
	obfuscated obfuscation (bug#37196).
	(auth-source--pad, auth-source--obfuscate)
	(auth-source-netrc-normalize): Use it.
	(auth-source-netrc-parse): Ditto.

2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Obfuscate auth-source secrets more

	* lisp/auth-source.el (auth-source-netrc-normalize): Obfuscate
	passwords stored in the lexical closure (bug#37196).

2019-09-20  Stefan Kangas  <stefankangas@gmail.com>

	Recommend against SHA-1 and MD5 for security

	* doc/lispref/text.texi (Checksum/Hash):
	* src/fns.c (Fmd5, Fsecure_hash):
	* lisp/subr.el (sha1): Doc fix to recommend against SHA-1 and MD5 for
	security-related applications, since they are not collision
	resistant.  (Bug#37420)

2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow `process-contact' not to block

	* doc/lispref/processes.texi (Process Information): Document it.

	* lisp/simple.el (list-processes--refresh): Don't wait for contact
	information for non-setup processes.

	* src/process.c (Fprocess_contact): Take an optional parameter to
	avoid blocking (bug#37408).

2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make number-at-point recognize some hex numbers

	* lisp/thingatpt.el (number-at-point): Also return common hex
	numbers (bug#37458).

2019-09-20  Damien Cassou  <damien@cassou.me>

	Change default value of message-make-forward-subject-function

	* lisp/gnus/message.el (message-make-forward-subject-function): Change
	default value to be a list so it's easier for users to add
	functions. Change the type so the customize interface allows selecting
	multiple provided functions instead of just one (bug#37470).

2019-09-20  Stefan Kangas  <stefankangas@gmail.com>

	Recommend using https for package-archives

	* lisp/emacs-lisp/package.el (package-archives): Recommend using https
	sources where possible.  (Bug#33825)

2019-09-20  Matthew Newton  <matt@mnewton.com>  (tiny change)

	Fix the previous imenu commit

	* lisp/imenu.el (imenu--make-index-alist): Always return the alist
	(bug#30449).

2019-09-20  Michael Albinus  <michael.albinus@gmx.de>

	Some Tramp methods allow to change the remote login shell

	* doc/misc/tramp.texi (Inline methods) <sshx, plink, plinkx>:
	(External methods) <scpx, pscp, psftp>: Mention, that the remote
	login shell could be changed.
	(Remote shell setup): Remove description of properties
	"remote-shell-login" and "remote-shell-args", they don't matter
	here.  Changing the default remote shell works only for some
	methods.
	(Frequently Asked Questions): Refer to alternative approach fixing
	zsh problems.

	* etc/NEWS: Some Tramp methods allow to change the remote login shell.

	* lisp/net/tramp-sh.el (tramp-default-remote-shell): New defconst.
	(tramp-methods): Use it.
	(tramp-get-sh-extra-args): New defun.
	(tramp-open-shell, tramp-maybe-open-connection): Use it.

	* lisp/net/tramp.el (tramp-methods): Adapt docstring.

2019-09-19  Juri Linkov  <juri@linkov.net>

	* lisp/window.el (walk-windows): Simplify to use WINDOW arg of window-list-1

	instead of calling select-window (bug#35385).

2019-09-19  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Only use Gnus registry for formatting when registry is loaded

	See bug #36903

	* lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
	  (gnus-registry-article-marks-to-names): In some circumstances it's
	  possible for the user's summary line format spec to include
	  registry-specific code, while the registry itself isn't actually
	  loaded. Make sure the database is actually a hashtable before
	  accessing it.

2019-09-19  Eli Zaretskii  <eliz@gnu.org>

	Fix calls to insert-*-hooks when JIT font lock is active

	* src/insdel.c (signal_after_change): Save and restore
	interval_insert_behind_hooks and
	interval_insert_in_front_hooks across calls to various other
	hooks, to prevent their clobbering by those other hooks.
	(Bug#37455)

2019-09-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor svg wrap tweak

	* lisp/net/shr.el (svg--wrap-svg): Add the size to the wrapper to
	avoid having the SVG images shrink (bug#37159).

2019-09-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Further fix-ups for SVG wrapping in shr

	* lisp/net/shr.el (svg--wrap-svg): Add the size to the wrapper to
	avoid having the SVG images shrink (bug#37159).

2019-09-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix :version in recent commit

	* lisp/pcmpl-gnu.el (pcmpl-gnu-makefile-includes): Fix :version.

2019-09-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix a bug in callback functions in align-areas

	* lisp/align.el (align-areas): When given a callback function and
	JUSTIFY, pick out the correct parameters (bug#30139).  Suggested
	by "John Wiegley" <johnw@gnu.org>.

2019-09-19  Paul Eggert  <eggert@cs.ucla.edu>

	Also prefer .emacs.d if .emacs exists

	Problem reported by Katsumi Yamaoka (Bug#37456).
	* lisp/startup.el (startup--xdg-or-homedot): Also
	prefer .emacs.d if a traditional .emacs file exists.

2019-09-19  Paul Eggert  <eggert@cs.ucla.edu>

	Default PICKY_ACCESS to false on non-MS

	* src/fileio.c (PICKY_EACCES) [!DOS_NT]: Default to false.

2019-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	Omit some overenthusiastic file-truename calls

	Problem reported by Tino Calancha (Bug#37445).
	* src/emacs.c (init_cmdargs): Call file-truename only if
	needed, i.e., if invocation-directory ends in "/i386/" on
	WINDOWSNT.
	* src/lread.c (readevalloop): If the sourcename is not
	absolute, make it absolute.  There is no need to convert
	non-absolute files into truenames, since absolute files are
	not converted into truenames.
	(init_lread): Do not convert source-directory into a truename
	at startup.  There is no need to do so in a dumped Emacs since
	an absolute file name suffices.  The source directory might
	not even exist any more, or might have been replaced by an
	interloper who takes advantage of the truename calculation.
	(syms_of_lread): Remove Qfile_truename; no longer needed.

2019-09-18  Matt Bisson  <mbisson@vmware.com>  (tiny change)

	Fix ignored Motif scrollbar resources (Bug#37359)

	* src/xterm.c (x_create_toolkit_scroll_bar): On Motif
	scrollbars, "foreground" has no meaning, while "background"
	means the truck and arrow colors, and "trough" means the
	background of the entire widget.  This fix hooks up the Emacs
	scrollbar "foreground" color to the XmNbackground resource
	and the "background" color to XmNtroughColor which is more in
	line with how Xaw scrollbars behave.

2019-09-18  Juanma Barranquero  <lekktu@gmail.com>

	lisp/*.el, src/*.c: Fix typos in docstrings

	* lisp/apropos.el (apropos-do-all):
	* lisp/auth-source-pass.el (auth-source-pass--select-from-entries):
	* lisp/auth-source.el (auth-source-user-or-password):
	* lisp/calc/calc-forms.el (math-tzone-names):
	* lisp/calendar/diary-lib.el (diary-face-attrs)
	(diary-mark-entries-1):
	* lisp/cedet/cedet-files.el (cedet-files-list-recursively):
	* lisp/cedet/ede.el (ede-constructing, ede-deep-rescan):
	* lisp/cedet/ede/cpp-root.el (ede-cpp-root-header-file-p):
	* lisp/cedet/ede/proj.el (ede-proj-target-makefile):
	* lisp/cedet/inversion.el (inversion-check-version)
	(inversion-test):
	* lisp/cedet/mode-local.el (mode-local-map-file-buffers):
	* lisp/cedet/semantic/complete.el (semantic-displayer-ghost):
	* lisp/cedet/semantic/db-find.el (semanticdb-find-translate-path-default):
	* lisp/cedet/semantic/db.el (semanticdb-table)
	(semanticdb-search-system-databases):
	* lisp/cedet/semantic/imenu.el (semantic-imenu-index-directory):
	* lisp/cedet/semantic/java.el (semantic-java-doc-keywords-map):
	* lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-use-headers-flag):
	* lisp/cedet/semantic/lex.el (semantic-lex-make-keyword-table)
	(semantic-lex-make-type-table, semantic-lex-debug-analyzers):
	* lisp/cedet/semantic/tag-ls.el (semantic-tag-abstract-p)
	(semantic-tag-leaf-p, semantic-tag-static-p)
	(semantic-tag-prototype-p):
	* lisp/dnd.el (dnd-open-remote-file-function, dnd-open-local-file):
	* lisp/emacs-lisp/eieio-opt.el (eieio-build-class-alist)
	(eieio-read-class, eieio-read-subclass):
	* lisp/emacs-lisp/generator.el (cps--replace-variable-references)
	(cps--handle-loop-for):
	* lisp/erc/erc-dcc.el (erc-dcc-list, erc-dcc-member, erc-dcc-server)
	(erc-dcc-auto-mask-p, erc-dcc-get-file, erc-dcc-chat-accept):
	* lisp/eshell/em-pred.el (eshell-pred-file-type):
	* lisp/faces.el (defined-colors-with-face-attributes):
	* lisp/font-core.el (font-lock-mode):
	* lisp/frame.el (frame-restack):
	* lisp/net/shr.el (shr-image-animate):
	* lisp/org/org-agenda.el (org-agenda-change-all-lines)
	(org-agenda-today-p):
	* lisp/org/org-id.el (org-id-get):
	* lisp/org/org.el (org-highlight-latex-and-related)
	(org--valid-property-p):
	* lisp/org/ox-beamer.el (org-beamer--get-label):
	* lisp/org/ox-latex.el (org-latex--caption-above-p):
	* lisp/org/ox-odt.el (org-odt--copy-image-file)
	(org-odt--copy-formula-file):
	* lisp/org/ox.el (org-export-with-timestamps):
	* lisp/progmodes/verilog-mode.el (verilog-indent-declaration-macros):
	* lisp/ses.el (ses-file-format-extend-parameter-list):
	* lisp/term.el (ansi-term):
	* lisp/textmodes/bibtex.el (bibtex-no-opt-remove-re)
	(bibtex-beginning-of-first-entry, bibtex-autokey-get-title)
	(bibtex-read-key, bibtex-initialize):
	* lisp/textmodes/flyspell.el (flyspell-word):
	* lisp/view.el (view-mode-exit):
	* src/composite.c:
	* src/floatfns.c (Fisnan): Fix typos in docstrings.

2019-09-18  Stephen Leake  <stephen_leake@stephe-leake.org>

	Merge commit '107ce3050fc37b9a13d8304ae1bb73fac9de5f61'

2019-09-18  Stephen Leake  <stephen_leake@stephe-leake.org>

	Enhance 'pcomplete/make' to complete on targets in included makefiles

	* lisp/pcmpl-gnu.el (pcmpl-gnu-makefile-includes): New.
	(pcmpl-gnu-make-targets): New, factored out of pcmpl-gnu-make-all-targets.
	(pcmpl-gnu-make-includes): New.
	(pcmpl-gnu-make-all-targets): Use new functions.

2019-09-18  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-lazy-highlight-update): Remember timer object

	in isearch-lazy-highlight-timer to cancel it in lazy-highlight-cleanup.

	(isearch-done): No need to set isearch-lazy-highlight-start to nil -
	it used to reset lazy-highlight loop like isearch-lazy-highlight-window-start,
	but now other packages set isearch-lazy-highlight-last-string to nil to reset
	lazy-highlight loop.

2019-09-18  Eli Zaretskii  <eliz@gnu.org>

	Fix loading .elc files on MS-Windows

	* src/lread.c (Fload): Don't clobber 'found' if the .el file
	was not found, as it is used by WINDOWSNT later on.

2019-09-18  Phillip Lord  <phillip.lord@russet.org.uk>

	Improve logic for dependencies checking

	* admin/nt/dist-build/build-dep-zips.py:

2019-09-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up the previous mh-mime warning suppression

	* lisp/mh-e/mh-acros.el (mh-dlet*): Suppress warnings about
	prefix-less bindings.
	* lisp/mh-e/mh-mime.el (mh-insert-mime-security-button): Remove
	the warning removal here.
	(mh-insert-mime-button): And here.

2019-09-18  Eli Zaretskii  <eliz@gnu.org>

	Improve support of the Tai-Viet script

	* lisp/language/tai-viet.el ("TaiViet"): Update the doc
	string.  Suggested by Jim Brase <jim_brase@sil.org>.
	(Bug#5806)

	* etc/HELLO: Add a Tai Viet entry.

2019-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	Out-of-datedness .elc check is merely a file test

	* src/fileio.c (file_test_errno): Now extern.
	* src/lread.c (Fload): Use file_test_errno instead,
	since this is really just a file test (the attributes
	are not given to the user).

2019-09-18  Eli Zaretskii  <eliz@gnu.org>

	Fix the MS-Windows build broken by recent errno changes

	* src/fileio.c (file_directory_p): If the file exists, but is
	not a directory, set errno to ENOTDIR, like the Posix branch
	does; openp expects that.

2019-09-18  Michael Albinus  <michael.albinus@gmx.de>

	Simplify tramp-tests.el check for owncloud/nextcloud

	* test/lisp/net/tramp-tests.el (tramp-test11-copy-file):
	Simplify check for owncloud/nextcloud connections.

2019-09-18  Michael Albinus  <michael.albinus@gmx.de>

	Add extra args for zsh in Tramp

	* doc/misc/tramp.texi (Remote shell setup): New subsection
	"Changing the default remote shell".

	* lisp/net/tramp-sh.el (tramp-sh-extra-args): Add entry for zsh.

2019-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	Be less picky about EACCES in file test predicates

	Problem reported by Tino Calancha (Bug#37445) and others.
	* src/fileio.c (PICKY_EACCES): New constant, false by default.
	(file_test_errno): Ignore EACCES if not picky.
	(check_file_access): Investigate EACCES problems further
	if picky.

2019-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix permission-denied issue in MS-Windows startup

	* src/callproc.c (init_callproc): Use file_access_p rather
	than Ffile_exists_p during startup (Bug#37445).

2019-09-17  Paul Eggert  <eggert@cs.ucla.edu>

	Improve reporting of I/O, access errors

	Signal an error for file-oriented errors that are not tame
	errors like ENOENT and ENOTDIR (Bug#37389).
	Do this for primitives exposed to Lisp; the lower
	level internal C API merely makes errno values available
	to higher-level C code.
	* doc/lispref/files.texi (Testing Accessibility)
	(File Attributes, Extended Attributes): Do not say that the
	functions return nil when the return value cannot be determined.
	* etc/NEWS: Mention the change.
	* src/dired.c (Ffile_attributes): Fix doc string confusion
	about opening a file vs getting its attributes.
	(file_attributes): Signal serious errors.
	* src/fileio.c (check_existing, check_executable)
	(check_writable): Remove.  All callers changed to use
	check_file_access or file_access_p.
	(file_access_p, file_metadata_errno, file_attribute_errno)
	(file_test_errno, check_file_access, check_emacs_readlinkat):
	New functions.
	* src/fileio.c (Ffile_executable_p, Ffile_readable_p)
	(Ffile_name_case_insensitive_p, Frename_file, Ffile_exists_p):
	(Ffile_symlink_p, Ffile_directory_p)
	(Ffile_accessible_directory_p, Ffile_regular_p)
	(Ffile_selinux_context, Ffile_acl, Ffile_modes)
	(Ffile_newer_than_file_p, Fset_visited_file_modtime)
	(Ffile_system_info):
	* src/filelock.c (unlock_file, Ffile_locked_p):
	* src/lread.c (Fload):
	Signal serious errors.
	* src/fileio.c (Ffile_writable_p): Remove unnecessary CHECK_STRING.
	(emacs_readlinkat): Now static.
	* src/filelock.c (current_lock_owner, lock_if_free): Return a
	positive errno on error, and the negative of the old old value
	on success.  All callers changed.
	* src/lread.c (openp): Propagate serious errno values to caller.

2019-09-17  Jimmy Aguilar Mena  <kratsbinovish@gmail.com>

	Substituted deprecated WebKitGTK+ api.

	* src/xwidget.c : Substituted WebKitGTK+ API calls and use
	JavaScriptCore GLib API instead.

2019-09-17  Tino Calancha  <tino.calancha@gmail.com>

	Fix an assignment to free variable warning

	It fixes a bug introduced by commit
	'query-replace-regexp undo: Update next-replacement after undo'
	(30c4f35a6fc8a6507930923766c3126ac1c2063f)

	See https://lists.gnu.org/r/emacs-devel/2019-09/msg00364.html
	* lisp/replace.el(perform-replace): Rename variable
	to next-replacement-replaced.

2019-09-17  Juanma Barranquero  <lekktu@gmail.com>

	* src/w32fns.c (Fw32_read_registry): Doc fix

2019-09-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress some warnings about un-prefixed dynamic variables

	* lisp/mh-e/mh-mime.el (mh-insert-mime-security-button): Suppress
	warnings about un-prefixed dynamic variables.
	(mh-insert-mime-button): Ditto.

2019-09-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Touch up naming of ipv6-expand

	* lisp/net/net-utils.el (nslookup--ipv6-expand): Rename to avoid
	make prefix more regular.
	(nslookup-host-ipv6): Rename call.

2019-09-17  W. Garrett Mitchener  <garrett.mitchener@gmail.com>

	Updated to match more recent versions of Praat.

	* lisp/leim/quail/ipa-praat.el ("ipa-praat"): Update to match
	more recent versions of Praat (bug#36198).

	- \rh was used for ram's horns (a vowel) and rhoticity hook (a
	  diacritic).  Praat uses \hr for the hook, so I made that changed.

	- \e3v for the slightly rounded diacritic seems to have been a typo
	  related to the use of e in the example.  Changed it to \3v to match
	  Praat.

	- Added examples to the table of tone diacritics

	- Added \^h for superscript h

	- Added \^H for superscript h with hook

	- Added \^w for superscript w (labialization)

	- Added \^j for superscript j (palatalization)

	- Added \^g for superscript symbol (velarization)

	- Added \^9 for superscript symbol (pharyngealization)

2019-09-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Update doc marker -- smtpmail-retries is documented

2019-09-17  Eli Zaretskii  <eliz@gnu.org>

	Improve font lookup on MS-Windows

	* src/w32font.c (struct font_callback_data): New member
	'known_fonts'.
	(w32font_list_internal, w32font_match_internal): Set up
	match_data.known_fonts if the font spec includes :script that
	names one of the non-USB scripts.
	(add_font_entity_to_list): If font_matches_spec returns zero
	for a font, and we have some fonts in match_data->known_fonts,
	consider the font to be a match if it is named in known_fonts.
	(font_supported_scripts): Update the Unicode Subranges.  In
	particular, map bit 74 to 'burmese', as this is the name Emacs
	uses, not 'myanmar'.  Add a list of scripts that have no USBs
	defined for them.
	(syms_of_w32font) <Qburmese, Qcuneiform_numbers_and_punctuation>
	<Qaegean_number, Qw32_non_USB_fonts>: New symbols.

	* lisp/term/w32-win.el (w32-no-usb-subranges): New defconst.
	(w32--filter-USB-scripts, w32-find-non-USB-fonts): New functions.
	(w32-non-USB-fonts): New defvar.

	* lisp/international/fontset.el (setup-default-fontset): Add
	more scripts to automatic setup by representative characters.

	* doc/emacs/msdos.texi (Windows Fonts): Document
	'w32-find-non-USB-fonts' and 'w32-non-USB-fonts'.

	* etc/NEWS: Mention 'w32-find-non-USB-fonts' and
	'w32-non-USB-fonts'.

2019-09-17  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC -Wmaybe-uninitialized

	* src/dired.c (directory_files_internal):
	Pacify GCC 7.4.0-1ubuntu1~18.04.1 x86-64.

2019-09-17  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t round file-system-info counts

	* src/fileio.c (blocks_to_bytes): Convert the byte count to an
	integer, since we have bignums now.  This avoids possible rounding
	errors for file systems containing more than 8 PiB or so.

2019-09-17  Mattias Engdegård  <mattiase@acm.org>

	* doc/lispref/searching.texi (Rx Constructs): Fix typo.

2019-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some file-mode races

	* lisp/emacs-lisp/autoload.el (autoload-ensure-file-writeable):
	* lisp/files.el (after-find-file):
	* lisp/gnus/gnus-start.el (gnus-dribble-read-file):
	* lisp/htmlfontify.el (hfy-copy-and-fontify-file):
	* lisp/server.el (server-ensure-safe-dir):
	Avoid a race when getting file permissions.

2019-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	vc-cvs-revert: fix off-by-one file mode

	* lisp/vc/vc-cvs.el (vc-cvs-revert): 3950 (#o7556) is wrong as
	it keeps other-write but disables other-execute permissions.
	3949 (#o7555) was intended here.  Use octal notation for clarity.

2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix imenu menu when we're auto-refreshing

	* lisp/imenu.el (imenu--make-index-alist): Don't add a *Refresh*
	item if we're auto-refreshing (bug#30449).

2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new variable smtpmail-retries

	* doc/misc/smtpmail.texi (Server workarounds): Mention it (bug#34177).

	* lisp/mail/smtpmail.el (smtpmail-retries): New variable.
	(smtpmail-via-smtp): Use it.

2019-09-16  Michał Kondraciuk  <k.michal@zoho.com>  (tiny change)

	Allow `M-u' to work when editing fields in Customize

	* lisp/cus-edit.el (custom-notify): Allow more editing commands to
	work in the Customize buffers (bug#31205).

2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Try resending when getting a transient 4xx SMTP code

	* lisp/mail/smtpmail.el (smtpmail-via-smtp): Try resending when
	getting a transient error message (bug#34177).

2019-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	Remove obsolete Lint directives

	Most of the directives were wrong anyway.  Apparently
	traditional lint hasn’t been used to check Emacs for years.
	* src/callint.c (Finteractive):
	* src/cm.c (evalcost):
	* src/emacs.c (main):
	* src/eval.c (call1, call2, call3, call4, call5, call6, call7, call8):
	* src/fns.c (concat2, concat3, nconc2):
	* src/term.c (calculate_ins_del_char_costs):
	Omit ARGSUSED comments.
	* src/eval.c (call1): Omit VARARGS comment.

2019-09-16  Tino Calancha  <tino.calancha@gmail.com>

	Add backquote tests

	* test/lisp/emacs-lisp/backquote-tests.el: New file (bug#37432).

2019-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	directory-files cleanup and speed tweaking

	* src/dired.c (directory_files_internal):
	Check ‘match’ before doing anything heavyweight.
	Move decls closer to use.
	Remove obsolete comments about GC.
	No need to encode ‘directory’ or to call multibyte_chars_in_text.
	Remove no-longer-needed bug check.
	Skip finalname construction if file_attributes fails.

2019-09-16  Juri Linkov  <juri@linkov.net>

	Try to fix macOS and Windows issues.

2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	mm-inline-large-images-proportion doc clarification

	* lisp/gnus/mm-view.el (mm-inline-large-images-proportion): Doc
	clarification.

2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Default to rescaling images in mm buffers

	* doc/misc/emacs-mime.texi (Display Customization): Document it.

	* lisp/gnus/mm-decode.el (mm-inline-large-images): Change default
	to `resize'.

2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	mm-inline-large-images doc string clarification

	* lisp/gnus/mm-decode.el (mm-inline-large-images): Clarify doc string.

2019-09-16  Mauro Aranda  <maurooaranda@gmail.com>

	With tooltip-mode disabled, don't unconditionally clear the echo area

	* lisp/tooltip.el (tooltip-show-help-non-mode): Only clear the
	echo area when the current message displayed is a tooltip message
	(Bug#3192).

2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor fix for previous maintaining.texi change

	* doc/emacs/maintaining.texi (VC Directory Commands): Use @file
	for files.

2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Document vc-dir-ignore

	* doc/emacs/maintaining.texi (VC Directory Commands): Document
	vc-dir-ignore.

2019-09-16  Eli Zaretskii  <eliz@gnu.org>

	Improve error reporting in file_accessible_directory_p

	* src/w32.c (w32_accessible_directory_p): Set errno, so that
	file_accessible_directory_p does on MS-Windows, to live up to
	its callers' expectations.

2019-09-16  Eli Zaretskii  <eliz@gnu.org>

	Fix initialization of shared-game-score-directory on MS-Windows

	* src/callproc.c (init_callproc) [WINDOWSNT]: Run PATH_GAME
	through w32_relocate, to expand %emacs_dir%.
	[DOS_NT]: Accept EACCES as not "unusual" errno value.
	Reported by Richard Copley <rcopley@gmail.com>.

2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove NEWS entry that talks about a change that was reverted (bug#37257)

2019-09-16  Robert Pluim  <rpluim@gmail.com>

	Add bindings for ligature oe to iso-transl-char-map

	* lisp/international/iso-transl.el (iso-transl-char-map): Add bindings
	for small and capital ligature oe.  (Bug#23420)

2019-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some file-name-case-insensitive glitches

	* src/fileio.c (file_name_directory): New static function,
	broken out of Ffile_name_directory.
	(file_name_case_insensitive_err, Ffile_writable_p, Fdo_auto_save):
	Use it.
	(file_name_case_insensitive_err): Rename from
	file_name_case_insensitive_p.  Accept an unencoded Lisp_Object
	rather than an encoded char *, so that platforms other than
	Cygwin and macOS need not encode the file name.  Return an int
	-1, 0, errno rather than a bool (setting errno if false),
	so that the caller can distinguish an error from false.
	All callers changed.
	(Ffile_name_case_insensitive_p): Don’t issue system calls on
	platforms other than Cygwin and macOS.  Fix bug that broke the
	attempt to move up the filesystem tree (it moved up only one
	level).

2019-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix unknown-vs-nonexistent glitch for file timestamps

	* src/fileio.c (time_error_value): EACCES means the file
	timestamp is unknown, not that the file does not exist.

2019-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	Improve directory-access diagnostics

	* src/callproc.c (init_callproc): Diagnose I/O errors,
	access errors, etc. for the game directory.
	* src/charset.c (init_charset): Improve quality of diagnostic
	when the charsets directory has I/O errors, access errors, etc.

2019-09-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	30c4f35 (origin/emacs-26) query-replace-regexp undo: Update next-repl...
	c596be0 Amend the menu caption for page "Display Property" in the Eli...
	13b9510 Add description of chinese-sisheng

2019-09-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	8e420c0 Clarify the use of left/right-margin-width in determining cur...

2019-09-15  Glenn Morris  <rgm@gnu.org>

	* admin/upload-manuals: Move a basic check earlier.

2019-09-15  Juri Linkov  <juri@linkov.net>

	Use images for new/close buttons in tab-bar and tab-line.

	* etc/images/tabs/new.xpm:
	* etc/images/tabs/close.xpm:
	New files.

	* lisp/tab-bar.el (tab-bar-separator): New face.
	(tab-bar-separator, tab-bar-button-new, tab-bar-button-close):
	Use display property with images in default values.

	* lisp/tab-line.el (tab-line-button-new, tab-line-button-close):
	Use display property with images in default values.

	* src/xdisp.c (tab_bar_item_info): Add new arg close_p and set it
	to the value of property `close' at charpos.
	(get_tab_bar_item): Add new arg close_p.
	(handle_tab_bar_click): Add ctrl_modifier when close_p is non-nil.
	(Fdump_tab_bar_row): Fix crash for non-X builds.

2019-09-15  Juri Linkov  <juri@linkov.net>

	Fix assertion violations due to non-ASCII text in tabs

	* src/xdisp.c (tab_bar_height, redisplay_tab_bar)
	(display_tab_bar): If the Lisp string to be displayed in the
	tab-bar window is multibyte, tell the display
	engine to treat it as multibyte, instead of relying on the
	initial determination by init_iterator (which is based on the
	multibyteness of the current buffer).  (Bug#37385)

2019-09-15  Juanma Barranquero  <lekktu@gmail.com>

	* lisp/subr.el (major-mode-suspend): Doc fix

2019-09-15  Michael Albinus  <michael.albinus@gmx.de>

	Use also truname of temporary-file-directory in shadowfile-tests.el

	* test/lisp/shadowfile-tests.el (top): Use truename of
	`temporary-file-directory' and
	`shadow-test-remote-temporary-file-directory'.  (Bug#37202)
	(shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
	Do not bind `shadow-test-remote-temporary-file-directory'.

2019-09-15  Mauro Aranda  <maurooaranda@gmail.com>

	Make widget-browse-at always detect an editable-field

	* lisp/wid-browse.el (widget-browse-at): Also look for the real-field
	property when detecting a field (bug#37199).

2019-09-15  Wolfgang Scherer  <wolfgang.scherer@gmx.de>

	Do not use error messages as list of ignored files in vc-svn

	* lisp/vc/vc-svn.el: (vc-svn-ignore-completion-table) Ignore buffer
	contents, if exit status is not 0.  Split buffer by lines (bug#37214).

2019-09-15  Wolfgang Scherer  <wolfgang.scherer@gmx.de>

	Fix vc-default-ignore

	* lisp/vc/vc.el: (vc-default-ignore) Treat FILE parameter as relative
	to DIRECTORY parameter.  Construct a file-path relative to directory
	of ignore file.  When removing, use properly anchored regexp.  Remove
	entire line, not just the match (bug#37217).

2019-09-15  Wolfgang Scherer  <wolfgang.scherer@gmx.de>

	Provide facility to ignore all marked files in vc

	* lisp/vc/vc-dir.el: (vc-dir-ignore) With prefix argument, ignore all
	marked files (bug#37240).

2019-09-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "emacsclient: ignore --eval parameters when starting alternate editor"

	This reverts commit 6fe661342a24edcaea255c3ba9a37613031554da.

	The alternate editor may be Emacs, which is useful when you want to eval something in an existing Emacs (if it exists), or in a new Emacs if there's no server running.

2019-09-14  Paul Eggert  <eggert@cs.ucla.edu>

	file_name_case_insensitive_p int->long fix

	* src/fileio.c (file_name_case_insensitive_p):
	Don’t assume ‘long int’ fits in ‘int’.

2019-09-14  Paul Eggert  <eggert@cs.ucla.edu>

	Fix gc-elapsed rounding bug

	* src/alloc.c (garbage_collect): Don’t accumulate rounding
	errors when computing gc-elapsed.

2019-09-14  Paul Eggert  <eggert@cs.ucla.edu>

	Improve doc of GC thresholds

	* doc/lispref/internals.texi (Garbage Collection), etc/NEWS:
	Warn that control over GC is only approximate.

2019-09-14  Bruno Félix Rezende Ribeiro  <oitofelix@gnu.org>  (tiny change)

	Fix picon installation instructions in the Gnus manual

	* doc/misc/gnus.texi (Picons): Fix instructions for installing
	picons on Debian (bug#37247).

2019-09-14  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix fileless eww form submission

	* lisp/net/eww.el (eww-submit): Ignore file inputs with no
	associated file name (bug#36520).

2019-09-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add default foreground colors to SVG images

	* lisp/net/shr.el (svg--wrap-svg): Add a default foreground color
	to SVG images (bug#37159).  This helps with images like the ones
	in https://en.wikipedia.org/wiki/Banach_fixed-point_theorem that
	specify no foreground or background colors.
	(shr-parse-image-data): Use it.

2019-09-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make eww more liberal when interpreting some invalid HTML

	* lisp/net/eww.el (eww--preprocess-html): New function (bug#37009)
	to be more lenient with invalid HTML and translate common invalid
	HTML like "a <= b" into "a &lt;= b" to be more liberal in what we
	accept before parsing.
	(eww-display-html): Use it.
	(eww-readable): Ditto.

2019-09-14  Eli Zaretskii  <eliz@gnu.org>

	* src/print.c (PRINT_CIRCLE_CANDIDATE_P): Fix a thinko.  (Bug#36566)

2019-09-14  Tobias Zawada  <i_inbox@tn-home.de>  (tiny change)

	Add a debug declaration to widget-specify-insert

	* lisp/wid-edit.el (widget-specify-insert): Add a debug
	declaration (bug#37368).

2019-09-14  Federico Tedin  <federicotedin@gmail.com>

	Allow gamegrid-add-score to treat lower scores as better.

	* lisp/play/gamegrid.el (gamegrid-add-score): Add 'reverse' parameter.
	(gamegrid-add-score-with-update-game-score): Add 'reverse' parameter.
	(gamegrid-add-score-with-update-game-score-1): Add 'reverse'
	parameter.  Pass on "-r" argument to update-game-score.
	(gamegrid-add-score-insecure): Add 'reverse' parameter, reverse scores
	when it's non-nil.  (Bug#36867)

	* etc/NEWS: Announce the change.

2019-09-14  Paul Eggert  <eggert@cs.ucla.edu>

	Improve gc-cons-percentage calculation

	The old calculation relied on a hodgpodge of partly updated GC
	stats to find a number to multiply gc-cons-percentage by.
	The new one counts data found by the previous GC, plus half of
	the data allocated since then; this is more systematic albeit
	still ad hoc.
	* src/alloc.c (consing_until_gc, gc_threshold, consing_threshold):
	Now EMACS_INT, not intmax_t.
	(HI_THRESHOLD): New macro.
	(tally_consing): New function.
	(make_interval, allocate_string, allocate_string_data)
	(make_float, free_cons, allocate_vectorlike, Fmake_symbol): Use it.
	(allow_garbage_collection, inhibit_garbage_collection)
	(consing_threshold, garbage_collect):
	Use HI_THRESHOLD rather than INTMAX_MAX.
	(consing_threshold): New arg SINCE_GC.  All callers changed.
	(bump_consing_until_gc): Return new consing_until_gc, instead of
	nil.  All callers changed.  Don’t worry about overflow since we
	now saturate at HI_THRESHOLD.  Guess that half of
	recently-allocated objects are still alive, instead of relying on
	the previous (even less-accurate) hodgepodge.
	(maybe_garbage_collect): New function.
	(garbage_collect): Work even if a finalizer disables or enables
	memory profiling.  Do not use malloc_probe if GC reclaimed nothing.
	* src/lisp.h (maybe_gc): Call maybe_garbage_collect instead
	of garbage_collect.

2019-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify GC statistics-gathering

	* src/alloc.c (make_interval, allocate_string, make_float)
	(free_cons, Fcons, setup_on_free_list)
	(allocate_vector_from_block, Fmake_symbol):
	Do not update gcstat, since it is for statistics from the most
	recent GC, not for a partially-updated hodgepodge.
	(sweep_vectors): Update gcstat, since setup_on_free_list
	no longer does.
	(garbage_collect_1): Rename to garbage_collect and adopt its API.
	Remove the old garbage_collect, which is no longer needed.
	All callers changed.

2019-09-13  Gemini Lasswell  <gazally@runbox.com>

	Don't build print-number-table unless it will be used

	There are only a few users of print-number-table, and none of them use
	it when print-circle is nil.  A couple of them used to.  print_object
	was changed in 2012-04-20 "* src/print.c (print_preprocess): Only
	check print_depth if print-circle is nil".
	byte-compile-output-docform which uses print-number-table binds
	print-circle to t before printing unless
	byte-compile-disable-print-circle is set, but that variable has been
	marked obsolete since 24.1.

	* src/print.c (print_preprocess): Assert Vprint_circle is non-nil.
	Remove code handling the case when Vprint_circle is nil.
	(print, Fprint_preprocess): Don't call print_preprocess unless
	Vprint_circle is non-nil.
	(print_object): Remove comment referencing removed code in
	print_preprocess.

2019-09-13  Gemini Lasswell  <gazally@runbox.com>

	Create common tests for print.c and cl-print.el

	* test/lisp/emacs-lisp/cl-print-tests.el
	(cl-print--test, cl-print-tests-1, cl-print-tests-2)
	(cl-print-tests-3, cl-print-tests-4, cl-print-tests-5)
	(cl-print-tests-strings, cl-print-circle, cl-print-circle-2):
	Remove.
	* test/src/print-tests.el (print-tests--prin1-to-string): New
	alias.
	(print-tests--deftest): New macro.
	(print-hex-backslash, print-read-roundtrip, print-bignum): Define with
	print-tests--deftest and use print-tests--prin1-to-string.
	(print-tests--prints-with-charset-p): Use
	print-tests--prin1-to-string.
	(print-tests--print-charset-text-property-nil)
	(print-tests--print-charset-text-property-t)
	(print-tests--print-charset-text-property-default): Define with
	print-tests--deftest.
	(print-tests-print-gensym)
	(print-tests-continuous-numbering, print-tests-1, print-tests-2)
	(print-tests-3, print-tests-4, print-tests-5)
	(print-tests-strings, print-circle, print-circle-2): New tests.
	(print--test, print-tests-struct): New cl-defstructs.

2019-09-13  Gemini Lasswell  <gazally@runbox.com>

	Fix unnecessary hash table creation in cl-prin1 (bug#36566)

	cl-prin1 prints all its punctuation by passing strings to prin1.  When
	print-circle was set, print_preprocess was creating a new hash table
	for each string, causing excessive garbage collection when printing
	large Lisp objects with cl-prin1.

	* src/print.c (print_number_index): Fix typo in comment above.
	(PRINT_CIRCLE_CANDIDATE_P): Don't create print_number_table
	for top-level strings with no properties, except when
	print_continuous_numbering is on.

2019-09-13  Gemini Lasswell  <gazally@runbox.com>

	Improve performance of backtrace printing (bug#36566)

	* lisp/emacs-lisp/cl-print.el (cl-print-to-string-with-limit): Reduce
	print-level and print-length more quickly when the structure being
	printed is very large.

2019-09-13  Gemini Lasswell  <gazally@runbox.com>

	Improve print output options commands in backtrace-mode (bug#36566)

	* lisp/emacs-lisp/backtrace.el (backtrace-view): Mention
	:print-gensym in docstring.
	(backtrace-mode-map): Add keyboard binding for
	backtrace-toggle-print-gensym.  Add menu entries for
	backtrace-toggle-print-circle and backtrace-toggle-print-gensym.
	(backtrace--with-output-variables): Bind print-gensym with value
	of :print-gensym found in view plist.
	(backtrace-toggle-print-circle): Remove description of
	implementation details from docstring.
	(backtrace-toggle-print-gensym): New command.
	(backtrace--toggle-feature): Add echo area message describing result
	of command.

	* test/lisp/emacs-lisp/backtrace-tests.el
	(backtrace-tests--print-circle): New test.

	* doc/lispref/debugging.texi (Backtraces): Document keyboard
	binding for backtrace-toggle-print-gensym.

2019-09-13  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/help-mode.el (help-mode-menu): Fix typo.  (Bug#36485)

	* doc/misc/efaq.texi: Update ancient formats. (Bug#37143)

2019-09-13  Stefan Kangas  <stefankangas@gmail.com>

	Remove leftover XEmacs compat code and doc fixes

	* lisp/mail/feedmail.el (top-level): Remove outdated comment.
	(feedmail-run-the-queue): Remove leftover XEmacs compat code.
	(feedmail-nuke-bcc): Doc fix.

	* lisp/emulation/viper.el (top-level, viper-mode)
	* lisp/net/rfc2104.el (top-level): Doc fix.

	* lisp/textmodes/table.el (top-level): Remove obsolete todo.

2019-09-13  Stefan Kangas  <stefankangas@gmail.com>

	Change gui--selection-value-internal comment into doc string

	* lisp/select.el (gui--selection-value-internal): Change comment into
	doc string.  (Bug#25528)

2019-09-13  Michael Albinus  <michael.albinus@gmx.de>

	Fix problems in tramp-test33-environment-variables

	* test/lisp/net/tramp-tests.el (tramp-test33-environment-variables):
	Use ${parameter:-word} construct.  Remove PS1 entry from
	"printenv" output.
	(tramp--test-check-files): Use "printenv".

2019-09-13  Michael Albinus  <michael.albinus@gmx.de>

	Make recent Tramp patch work for tramp-archive.el

	* lisp/net/tramp.el (tramp-connectable-p): Make it work also for
	tramp-archive.el.

2019-09-13  Eli Zaretskii  <eliz@gnu.org>

	Fix assertion violations due to non-ASCII text in menus

	* src/xdisp.c (tool_bar_height, redisplay_tool_bar)
	(display_menu_bar): If the Lisp string to be displayed in the
	menu-bar or tool-bar window is multibyte, tell the display
	engine to treat it as multibyte, instead of relying on the
	initial determination by init_iterator (which is based on the
	multibyteness of the current buffer).  (Bug#37385)

2019-09-12  Jack Coughlin  <jack@jackc.me>  (tiny change)

	Fix saving user-defined calc commands with compositions (Bug#36720)

	* lisp/calc/calc-prog.el (calc-user-define-permanent): Correctly save
	the composition when the user specifies their formula by its command
	name or key.

2019-09-12  Noam Postavsky  <npostavs@gmail.com>

	Fix fill-paragraph in python docstrings (Bug#36056)

	* lisp/progmodes/python.el (python-do-auto-fill): New function.
	(python-mode): Set it as normal-auto-fill-function, and don't set
	fill-indent-according-to-mode.  Having the latter set during
	fill-paragraph gives wrongs result, because python-indent-line doesn't
	remove indentation added by filling.
	* test/lisp/progmodes/python-tests.el (python-fill-docstring): New
	test.

2019-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/sh-script.el (sh--assignment-collect): Only after `=`!

2019-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/sh-script.el (sh-mode-map): Don't bind `=`

	(sh-shell-initialize-variables): Use sh--assignment-collect on
	post-self-insert-hook instead.
	(sh--assignment-collect): New function, extracted from sh-assignment.
	(sh-assignment): Use it and mark as obsolete.

2019-09-12  Karl Fogel  <kfogel@red-bean.com>

	Add `isearch-yank-until-char'

	* lisp/isearch.el (isearch-yank-until-char): New function.
	  (isearch-mode-map, isearch-menu-bar-yank-map): Add it.
	  (isearch-forward): Document the new binding.

	* doc/emacs/search.texi (Isearch Yanking): Document the feature.

	* etc/NEWS: Mention the above.

2019-09-12  Michael Albinus  <michael.albinus@gmx.de>

	Optimize host name completion in Tramp

	* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
	* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
	* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
	Throw `non-essential' at the beginning of the function.

	* lisp/net/tramp.el (tramp-handle-file-exists-p):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-exists-p):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-exists-p):
	Run only when host is connectable.  This is due to host name
	completion, which shall be optimized.

	* lisp/net/tramp-smb.el (tramp-smb-do-file-attributes-with-stat)
	(tramp-smb-get-file-entries): Access connection buffer only after
	sending the command.

	* lisp/net/tramp.el (tramp-get-buffer, tramp-get-connection-buffer):
	New argument DONT-CREATE.
	(tramp-message): Use it.
	(tramp-get-mutex): Check, whether host is connectable.
	(tramp-file-name-handler): Set thread only when host is connectable.
	(tramp-connectable-p): Allow also VEC as argument.
	(tramp-completion-handle-file-name-completion): Do not expand directory.

2019-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/profiler.c: Leave `key` hashslots as Qunbound (bug#37382)

	Now that "key == Qunbound" is used to determine if a hash table entry
	is available, we can't stash pre-allocated vectors into the `key` slot
	anymore, so use the `value` slot instead.

	(make_log): Pre-fill the `value` slots i.s.o `key`.
	(evict_lower_half): Stash key back into `value`, i.s.o `key`.
	(record_backtrace): Get pre-allocated vector for `value` i.s.o `key`.

2019-09-12  Paul Eggert  <eggert@cs.ucla.edu>

	Fix file name encoding when open_directory signals

	* src/dired.c (open_directory): New arg ENCODED_DIRNAME.
	All callers changed.  Signal error with original name,
	not encoded name.

2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Improve error reporting for DOC file problems

	* src/doc.c (get_doc_string): Report all serious errors
	when DOC cannot be opened, not just fd-exhaustion errors.

2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix directory-files-and-attributes race

	* src/dired.c (directory_files_internal): Fix race condition:
	when some other process removed a file between the readdir and
	the ensuing lstat, directory-files-and-attributes would return
	a list containing nil.

2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Omit duplicate test of current directory

	* src/callproc.c (encode_current_directory): Remove redundant
	call to Ffile_accessible_directory_p.  The code checks the
	encoded name with file_accessible_directory_p anyway.

2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Improve checking of pdump load failures

	* src/alloc.c (memory_full): Just report "memory exhausted" if
	failure occurs during initialization, since fancier recovery
	schemes are not likely to work when not initialized.
	* src/emacs.c (dump_error_to_string): Accept int, not enum
	pdumper_load_result, since the result might not fit in the
	enum.  Use strerror if it was derived from errno.  This is for
	better diagnostics of pdump load failures.
	(load_pdump_find_executable): Return char *, not enum.  2nd
	arg is now pointer to buffer size, rather than pointer to
	pointer to buffer.  All callers changed.  Use Emacs allocator
	since they should now be OK even during early startup.
	Use check_executable instead access, to use effective rather
	than real permissions.
	(load_pdump): Return void since callers ignore result.
	Use int where enum could be too narrow.  Use heap rather
	than stack for possibly-long string.  Prefer ptrdiff_t to
	size_t.
	* src/fileio.c (check_executable): Now extern.
	* src/pdumper.c (pdumper_load): Return int that may have
	errno added to it, for better diagnostics when loads fail.

2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Reset dbus registered buses on dump load

	Problem reported by Leonard Lausen (Bug#37331).
	* src/dbusbind.c: Include pdumper.h.
	(syms_of_dbusbind_for_pdumper):
	New function, to reset the registered buses.
	(syms_of_dbusbind): Use it, fixing a TODO.

2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix auto-save with user-emacs-directory

	* lisp/startup.el (auto-save-list-file-prefix): Delay initialization,
	since the value depends on user-emacs-directory (Bug#37354).

2019-09-11  Mattias Engdegård  <mattiase@acm.org>

	* lisp/emacs-lisp/elint.el (elint-directory-skip-re): Fix doc typo.

2019-09-10  Katsumi Yamaoka  <yamaoka@jpl.org>

	Create a new overlay used to mark Attachment header (bug#37370)

	* lisp/gnus/gnus-art.el (gnus-mime-inline-part)
	(gnus-mm-display-part, gnus-mime-buttonize-attachments-in-header):
	Create a new overlay used to mark Attachment header instead of
	using existing overlays.

2019-09-10  Stephen Leake  <stephen_leake@stephe-leake.org>

	Merge commit '74e9799bd89484b8d15bdd6597c68fc00d07e7f7'

2019-09-10  Stephen Leake  <stephen_leake@stephe-leake.org>

	Support `cl-defstruct' in autoloads

	* lisp/emacs-lisp/autoload.el (make-autoload): Add `cl-defstruct' to
	"complex cases" list.

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add :autoload-end to
	limit what is declared in autoloads.el for a defstruct.

2019-09-09  Ulf Jasper  <ulf.jasper@web.de>

	Handle missing start-time when importing ical event (Bug#33277)

	* lisp/calendar/icalendar.el (icalendar--convert-ical-to-diary): Set
	start time only if it is explicitly given in ical.  Do not use
	start-time as default for end-time (Bug#33277).

	* test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-33277):
	New.  Test fix for Bug#33277.

2019-09-08  Tino Calancha  <tino.calancha@gmail.com>

	query-replace-regexp undo: Update next-replacement after undo

	* lisp/replace.el (perform-replace):
	Rename the local binding to not shadow next-replacement.
	Update next-replacement after undo (Bug#37287).

	* test/lisp/replace-tests.el (query-replace-undo-bug37287): Add test.
	(query-replace-undo-bug37073): Tweak this test.

2019-09-08  Stefan Kangas  <stefankangas@gmail.com>

	Match Python 3 code object names in "M-x pdb"

	* lisp/progmodes/gud.el (gud-pdb-marker-regexp): Match Python 3 code
	object names.  (Bug#11679)

2019-09-08  Stefan Kangas  <stefankangas@gmail.com>

	Remove final XEmacs compat code from dframe.el

	* lisp/dframe.el (top-level): Doc fix.
	(dframe-frame-parameter): Redefine as an obsolete function alias for
	'frame-parameter'.

2019-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Define setter functions.

	When :noinline is specified one can't rely on setf expanding the
	inlinable function to construct the setter.
	Fixes bug#37283.

2019-09-08  Stefan Kangas  <stefankangas@gmail.com>

	Remove support for upgrading from old bookmark file format

	* lisp/bookmark.el (bookmark-alist-from-buffer): Remove support for
	old bookmark file format.  (Bug#37122)
	(bookmark-upgrade-version-0-alist)
	(bookmark-upgrade-file-format-from-0)
	(bookmark-grok-file-format-version)
	(bookmark-maybe-upgrade-file-format): Declare obsolete.
	(bookmark-load): Don't call 'bookmark-maybe-upgrade-file-format'.
	* etc/NEWS: Announce it.

2019-09-08  Juri Linkov  <juri@linkov.net>

	* lisp/tmm.el: Fix broken tmm-prompt (bug#34517)

	* lisp/tmm.el (tmm-prompt): Don't duplicate items of tmm--history.
	Don't reverse tmm-km-list for completion.  Don't set the initial
	position of 'tmm--history.  Use reverse tmm--history as the list
	of default values for M-n.
	(tmm-add-prompt): Don't insert initial value to the minibuffer.

2019-09-08  Juri Linkov  <juri@linkov.net>

	Small fixes for tty and w32.

	* lisp/menu-bar.el (showhide-tab-bar): Visible on tty too.
	* lisp/tab-bar.el (tab-bar-mode): Add binding [(control shift tab)] for w32.
	* lisp/tab-line.el (tab-line-add-tab): Use tmm-prompt for buffer-menu on tty.
	* src/w32term.c (w32_read_socket): Fix tool-bar clicks.

2019-09-08  Alan Mackenzie  <acm@muc.de>

	Fix untidinesses in compile.el.

	* lisp/progmodes/compile.el (compilation--margin-string): Renamed from
	compilation-margin-string.  Use defconst rather than defvar.  Use propertize
	rather than a separate put-text-property.  Trim the doc string.

2019-09-08  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#36090

	* lisp/vc/vc-hg.el (vc-hg--pushpull, vc-hg-merge-branch)
	(vc-hg-command): Disable pager.  (Bug#36090)

2019-09-08  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#37202

	* test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo)
	(shadow-test09-shadow-copy-files): Use truename of
	`shadow-test-remote-temporary-file-directory'.  (Bug#37202)

2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug when gc-cons-percentage is bumped to 0.8

	Problem reported by Michael Heerdegen (Bug#37321).
	* src/alloc.c (gc_threshold): New static var.
	(bump_consing_until_gc): Change args from DIFF to THRESHOLD and
	PERCENTAGE.  All uses changed.  When accounting for a changed
	gc-cons-percentage, do not assume that total_bytes_of_live_objects
	returns the same value now that it did the last time we were
	called.

2019-09-07  Stefan Kangas  <stefankangas@gmail.com>

	Use derived-mode-p consistently in info.el

	* lisp/info.el (Info-hide-note-references, info-display-manual)
	(info--manual-names): Use derived-mode-p.  (Bug#27583)

2019-09-07  Noam Postavsky  <npostavs@gmail.com>

	Let byte-compiler recognize that local-variable-p implies boundp

	* lisp/emacs-lisp/bytecomp.el (byte-compile-maybe-guarded): Add
	arguments to local-variable-p to the bound list.
	* lisp/image-mode.el (image-toggle-display-image): Remove no longer
	needed boundp check.

2019-09-07  Joel Rosdahl  <joel@rosdahl.net>

	Fix flymake-proc temporary file deletion bug

	* lisp/progmodes/flymake-proc.el (flymake-proc-create-temp-inplace):
	Include a time string part (hour + minute + second + nanosecond) in
	the temporary name to make it unique enough.
	(flymake-proc-legacy-flymake): Store temporary file names in the
	process for usage in the sentinel.
	(flymake-proc--process-sentinel): Bind values of temporary file names
	dynamically to values stored in the process so that the cleanup
	function will delete the correct temporary file(s).

	Fixes bug#31981.

2019-09-07  Juri Linkov  <juri@linkov.net>

	* lisp/tab-bar.el (tab-bar-make-keymap-1): Don't use fixed "Current tab".

	* lisp/tab-bar.el (tab-bar-make-keymap-1):
	* lisp/tab-line.el (tab-line-tab-name-add):
	Add space after Unicode char to avoid char clobbering on terminals.

2019-09-07  Alan Mackenzie  <acm@muc.de>

	Amend the menu caption for page "Display Property" in the Elisp manual.

	* doc/lispref/display.texi (Emacs Display): Replace a content-free menu
	caption with one mentioning images, margins and text size.

2019-09-07  Eli Zaretskii  <eliz@gnu.org>

	Support visiting compressed image files

	* lisp/image-mode.el (image-toggle-display-image): Support
	visiting compressed image files which are uncompressed by
	jka-compr.el.  (Bug#37330)

2019-09-07  Michael Albinus  <michael.albinus@gmx.de>

	Add traces in shadowfile

	* lisp/shadowfile.el (shadow-add-to-todo)
	(shadow-remove-from-todo, shadow-save-todo-file):
	* test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo):
	Add traces.

2019-09-07  Evgeny Zajcev  <lg.zevlg@gmail.com>

	Fix input method operation on read-only text

	* lisp/international/quail.el (quail-input-method): Check also
	read-only property of text in addition to the buffer's
	read-only state.

2019-09-07  Eli Zaretskii  <eliz@gnu.org>

	Allow client connections when in recursive-edit

	* lisp/server.el (server-goto-toplevel): Check minibuffer
	depth, not recursion depth.  This avoids exiting
	recursive-edit if a client connection is accepted during
	recursive-edit.  (Bug#37176)

2019-09-07  Eli Zaretskii  <eliz@gnu.org>

	Set inhibit-compacting-font-caches to t by default on MS-Windows

	* src/font.c (syms_of_font) [WINDOWSNT]: Set
	inhibit-compacting-font-caches to t by default.

	* etc/NEWS: Mention the change.

2019-09-07  Eli Zaretskii  <eliz@gnu.org>

	Allow Zs characters to be composed

	* src/composite.c (char_composable_p): Allow SPC and other Zs
	characters to be composed.

	* lisp/composite.el (compose-gstring-for-graphic): Don't
	reject characters whose general category is Zs.  (Bug#14461)

2019-09-07  Eli Zaretskii  <eliz@gnu.org>

	Revert "file-truename now uses realpath for local files"

	This reverts commit a59839d7556ef85058e09b005f0ff32e59b20ec3.
	This commit broke the MS-Windows build (because there's no
	realpath on MS-Windows).  Even if I change the implementation
	to always signal an error on MS-Windows, the build fails.

2019-09-06  Paul Eggert  <eggert@cs.ucla.edu>

	file-truename now uses realpath for local files

	This uses fewer syscalls on GNU/Linux and other GNUish platforms.
	* lisp/files.el (file-truename): Try fileio--truename
	if there are no handlers.
	* src/fileio.c: Include stdlib.h, for realpath.
	(Ffileio__truename): New function.

2019-09-06  Mauro Aranda  <maurooaranda@gmail.com>

	Improve file name completion in file and directory widgets (Bug#7779)

	* lisp/wid-edit.el (widget 'file, widget 'directory): Respect the option
	read-file-name-completion-ignore-case.
	(widget 'directory): Filter the file names, to only perform directory name
	completion.

2019-09-05  Amin Bandali  <bandali@gnu.org>

	Fix erc-lurker-update-status (bug#36843)

	Broken since 2013-08-22 "* lisp/erc/erc.el: Use lexical-binding".

	* lisp/erc/erc.el (erc-message-parsed): New variable.
	(erc-display-message): Dynamically bind it.
	(erc-lurker-update-status): Check it instead of using `parsed'
	directly.  This results in `erc-lurker-state' being properly updated
	to keep track of non-lurkers, and thus `erc-lurker-p' returning
	correct results rather than return t for everyone.

2019-09-05  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bugs when recalculating consing_until_gc

	Problem reported by Joseph Mingrone (Bug#37006#72).
	* src/alloc.c (watch_gc_cons_threshold)
	(watch_gc_cons_percentage):
	Don’t try to store an intmax_t into an int.
	Redo to make the code clearer.
	(watch_gc_cons_percentage):
	Use gc_cons_threshold, not consing_until_gc.

2019-09-05  Juri Linkov  <juri@linkov.net>

	Don't use hook pre-redisplay-functions.  Set buffer-local tab-line-format.

	* lisp/tab-line.el (tab-line-format): Move to C.
	(tab-line-update-window-parameter): Remove function.
	(global-tab-line-mode): Set the default value of tab-line-format.

	* src/buffer.c (syms_of_buffer): Define buffer-local variable
	tab-line-format.

	* src/buffer.h (struct buffer): Add tab_line_format_.

	* src/window.c (window_wants_tab_line):
	* src/xdisp.c (pos_visible_p, display_mode_lines):
	Check for buffer-local tab_line_format.

2019-09-05  Paul Eggert  <eggert@cs.ucla.edu>

	Port :safe-renegotiation test to GnuTLS < 3.6.3

	Problem reported by Robert Pluim in
	https://lists.gnu.org/r/emacs-devel/2019-09/msg00127.html
	* src/gnutls.c (Fgnutls_peer_status): Simplify test for
	whether the :safe-renegotiation result is needed, so that it
	works all the way back to GnuTLS 2.12.2.

2019-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Further fix for network-security-protocol-checks

	* lisp/net/nsm.el (network-security-protocol-checks): Fix the
	defcustom type some more (bug#37306).

2019-09-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix defcustom type of network-security-protocol-checks

	* lisp/net/nsm.el (network-security-protocol-checks): Fix the
	defcustom type (bug#37306).

2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>

	Use plain ‘static’ for Emacs C inline functions

	This improved performance of ‘make compile-always’ by 8.2%
	on my platform (AMD Phenom II X4 910e, Fedora 30 x86-64).
	* src/conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
	(INLINE_HEADER_END) [!EMACS_EXTERN_INLINE]: Use plain ‘static’.

2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak xd_append_arg to pacify -Wnull-dereference

	* src/dbusbind.c (xd_append_arg): Redo to pacify gcc
	-Wnull-dereference.  Also, check that the Lisp string won’t
	overrun the C signature buffer.

2019-09-04  Robert Pluim  <rpluim@gmail.com>

	Don't check for :safe-renegotiation with TLS1.3

	* lisp/net/nsm.el (nsm-protocol-check--renegotiation-info-ext): Don't
	check when using TLS1.3, renegotiation has been removed from TLS.
	Reported in
	<https://lists.gnu.org/r/help-gnu-emacs/2019-09/msg00005.html>

2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t mention :safe-renegotiation in TLS 1.3

	* src/gnutls.c (Fgnutls_peer_status): Don’t put the
	safe-renegotiation indication into the status in TLS 1.3, which
	removed support for renegotiation.

2019-09-04  Robert Pluim  <rpluim@gmail.com>

	Fix nsm for unencrypted connections

	When connecting using a cleartext connection, nsm was erroring out and
	tearing down the connection because it was trying to display
	nonexistent certificate information.

	* lisp/net/nsm.el (nsm-query-user): Only format certificate status
	when it is valid.  (Bug#37221)

2019-09-04  Juri Linkov  <juri@linkov.net>

	Text-based nox builds compiled without X window support

2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>

	Port pdumper mmap to AIX

	* src/pdumper.c (needs_mmap_retry_p) [_AIX]: Return true.
	Problem observed on AIX 7.1 and 7.2 in GCC compile farm.

2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>

	Port to platforms with Xrender lib but not header

	* configure.ac (HAVE_XRENDER): Also require ‘#include
	<X11/extensions/Xrender.h>’ to work.  Problem found
	on gcc119 in GCC compile farm.

2019-09-04  Mattias Engdegård  <mattiase@acm.org>

	Correct arguments to `skip-syntax-forward'

	* lisp/wid-edit.el (widget-sexp-validate): Fix bad calls to
	`skip-syntax-forward', whose argument is not a regexp.

2019-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the NSM not pop up an X dialog on non-mouse actions

	* lisp/emacs-lisp/rmc.el (read-multiple-choice): Don't pop up X
	dialogs on (url-retrieve "https://expired.badssl.com/" #'ignore)
	and the like.

2019-09-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Preserve more markers when reverting .gpg files

	* lisp/epa-file.el (epa-file--replace-text): Gingerly replace the
	text in the buffer to preserve as many markers as possible
	(bug#34720).  This emulates the behavior of Finsert_file_contents
	more accurately.
	(epa-file-decode-and-insert): Remove compat code.
	(epa-file-insert-file-contents): Use the new function.

	* lisp/emacs-lisp/cl-lib.el (cl-incf): Add autoload cookie.

2019-09-04  Mattias Engdegård  <mattiase@acm.org>

	Repair change to compilation-context-lines (bug#36832)

	* lisp/progmodes/compile.el (compilation-set-window):
	Restore proper behavior when compilation-context-lines is nil,
	which is the default.

2019-09-04  Michael Albinus  <michael.albinus@gmx.de>

	Further work on Bug#37202

	* test/lisp/shadowfile-tests.el (shadow-debug): Set to t.
	(shadow--tests-cleanup): Simplify.
	(shadow-test*): Call `shadow-initialize'.
	(shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
	In cleanup, kill buffers used for test.
	(top): Do not initialize.

2019-09-04  Robert Pluim  <rpluim@gmail.com>

	Add description of chinese-sisheng

	* doc/emacs/mule.texi (Input Methods): Add description of
	chinese-sisheng method for entering characters using pīnyīn.

2019-09-04  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-process-sentinel): Use `process-buffer'.

2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>

	* src/systime.h (hz): #undef to work around AIX build issue.

2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer functions to macros in buffer.h

	In buffer.h, prefer inline functions to function-like macros
	when either will do.  This helps avoid confusion about how
	many times an arg is evaluated.  On my platform, this patch
	improves performance of ‘make compile-always’ by 5.7%.
	Also, prefer enum constants to object-like macros
	when either will do.
	* src/buffer.h (BEG, BEG_BYTE, GAP_BYTES_DFL, GAP_BYTES_MIN)
	(MAX_PER_BUFFER_VARS, NONEXISTENT_MODTIME_NSECS)
	(UNKNOWN_MODTIME_NSECS, BUFFER_LISP_SIZE, BUFFER_REST_SIZE):
	Now enum constants, instead of macros.
	(BUFFER_CEILING_OF, BUFFER_FLOOR_OF, BUF_BEG, BUF_BEG_BYTE)
	(BUF_BEGV, BUF_BEGV_BYTE, BUF_PT, BUF_PT_BYTE, BUF_ZV)
	(BUF_ZV_BYTE, BUF_GPT_ADDR, BUF_Z_ADDR, BUF_GAP_END_ADDR)
	(BUF_COMPUTE_UNCHANGED, SET_PT, TEMP_SET_PT, SET_PT_BOTH)
	(TEMP_SET_PT_BOTH, BUF_TEMP_SET_PT, SET_BUF_BEGV, SET_BUF_ZV)
	(SET_BUF_BEGV_BOTH, SET_BUF_ZV_BOTH, SET_BUF_PT_BOTH)
	(BYTE_POS_ADDR, CHAR_POS_ADDR, CHAR_TO_BYTE, BYTE_TO_CHAR)
	(PTR_BYTE_POS, FETCH_CHAR, FETCH_CHAR_AS_MULTIBYTE)
	(BUF_BYTE_ADDRESS, BUF_CHAR_ADDRESS, BUF_PTR_BYTE_POS)
	(BUF_FETCH_CHAR, BUF_FETCH_CHAR_AS_MULTIBYTE, BUF_FETCH_BYTE)
	(BUFFER_PVEC_INIT, BUFFER_LIVE_P, BUFFER_HIDDEN_P)
	(BUFFER_CHECK_INDIRECTION, OVERLAY_POSITION, PER_BUFFER_VALUE_P)
	(SET_PER_BUFFER_VALUE_P, PER_BUFFER_IDX):
	Now inline functions instead of macros.

2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>

	* src/xdisp.c (hscroll_window_tree): Fix type typo.

2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>

	Take last_per_buffer_idx private

	This will simplify future changes.  Turn the runtime check
	into an eassert, since it’s not needed in production.
	* src/buffer.c (last_per_buffer_idx): Now static.
	(valid_per_buffer_idx): New function.
	* src/buffer.h (PER_BUFFER_VALUE_P, SET_PER_BUFFER_VALUE_P): Use it.

2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid macros in pdumper.c when it’s easy

	Problem with DUMP_SET_REFERRER mentioned by Pip Cet at end of:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00548.html
	* src/pdumper.c (DANGEROUS, EMACS_RELOC_TYPE_BITS)
	(EMACS_RELOC_LENGTH_BITS, DUMP_RELOC_TYPE_BITS)
	(DUMP_RELOC_ALIGNMENT_BITS, DUMP_RELOC_OFFSET_BITS)
	(DUMP_RELOCATION_ALIGNMENT, DUMP_ALIGNMENT)
	(WEIGHT_NONE, WEIGHT_NORMAL, WEIGHT_STRONG)
	(PDUMPER_MAX_OBJECT_SIZE):
	Now a constant, not a macro.
	(divide_round_up): Now a function, not a macro DIVIDE_ROUND_UP.
	All uses changed.
	(enum link_weight_enum, WEIGHT_NONE_VALUE)
	(WEIGHT_NORMAL_VALUE, WEIGHT_STRONG_VALUE): Remove.
	(struct link_weight): Just use an int.
	(dump_set_referrer): New function, replacing DUMP_SET_REFERRER
	macro with a different API.  All uses changed.
	(dump_clear_referrer): Rename from DUMP_CLEAR_REFERRER.
	All uses changed.
	(DEFINE_FROMLISP_FUNC, DEFINE_TOLISP_FUNC): Remove.
	(intmax_t_from_lisp, intmax_t_to_lisp, dump_off_from_lisp)
	(dump_off_to_lisp): Define without using macros,
	(dump_off_from_lisp): Add an eassert range check.
	(DUMP_FIELD_COPY): Simplify.

2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid casting -1 to possibly-unsigned enum

	* src/alloc.c (mark_maybe_pointer):
	* src/pdumper.h (pdumper_object_p_precise):
	Use pdumper_valid_object_type_p.
	* src/pdumper.c (pdumper_find_object_type_impl):
	* src/pdumper.h (pdumper_find_object_type):
	Return int, not enum Lisp_Type.  All callers changed.
	* src/pdumper.h (PDUMPER_NO_OBJECT): Do not cast -1 to enum
	Lisp_Type; in theory, C18 says this could yield 7, which would
	mean PDUMPER_NO_OBJECT == Lisp_Float (!).
	(pdumper_valid_object_type_p): New function.

2019-09-03  Juri Linkov  <juri@linkov.net>

	Small fix for text-mode display

	* lisp/tab-line.el (tab-line-tab-name): Try to use truncate-string-to-width.

	Try to fix compilation errors on macOS

2019-09-03  Daniel Colascione  <dancol@dancol.org>

	Run tramp cleanup in correct buffer

	Fixes bug #37297.

	* lisp/net/tramp.el (tramp-process-sentinel): Do process-end cleanup
	in the tramp buffer, not a random file buffer.

2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>

	Sync consing_until_gc with gc-cons-threshold

	Add watchers for gc-cons-threshold and gc-cons-percentage
	that update consing_until_gc accordingly.
	Suggested by Eli Zaretskii (Bug#37006#52).
	* src/alloc.c (consing_threshold, bump_consing_until_gc)
	(watch_gc_cons_threshold, watch_gc_cons_percentage):
	New functions.
	(garbage_collect_1): Use consing_threshold.
	(syms_of_alloc): Arrange to watch gc-cons-threshold and
	gc-cons-percentage.

2019-09-03  Juri Linkov  <juri@linkov.net>

	Text-mode display of the tab-bar and emulation of clicking on a tty.

	* lisp/tab-bar.el (tab-bar-mouse): New command bound to mouse-1 on [tab-bar].

	* lisp/xt-mouse.el (xterm-mouse-event): Use `tab-bar' when clicking
	on the tab-bar that is on the second row below menu-bar.

	* src/frame.c (set_tab_bar_lines): New function.
	(frame_windows_min_size): Add FRAME_TAB_BAR_LINES.
	(make_initial_frame): Call set_tab_bar_lines.
	(store_frame_param): Call set_tab_bar_lines for Qtab_bar_lines prop.
	(Fframe_parameters): Call store_in_alist for Qtab_bar_lines.

	* src/xdisp.c (display_tab_bar): New function.
	(redisplay_window): Call display_tab_bar when `FRAME_WINDOW_P (f)'
	is NULL on a tty.

2019-09-03  Alan Mackenzie  <acm@muc.de>

	Use left margin to hold "=>" to indicate current error in fringeless windows

	This applies to compilation-mode.  It amends the fix for bug #36832.

	* lisp/progmodes/compile.el (compilation-arrow-overlay): renamed from
	overlay-arrow-overlay.
	(compilation-margin-string, compilation--dummy-string): New variables.
	(compilation-set-up-arrow-spec-in-margin)
	(compilation-tear-down-arrow-spec-in-margin): New functions.
	(compilation-set-overlay-arrow): Rewritten to use the new variables/functions.

2019-09-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#37202

	* lisp/shadowfile.el (shadow-debug): New defvar.
	(shadow-read-files): Suppress error if there's no TODO file.

	* test/lisp/shadowfile-tests.el (shadow-debug): Set to nil.
	(shadow--tests-cleanup): New defun.  Apply to all tests.  (Bug#37202)
	(shadow-test06-literal-groups): Cleanup temp buffer.
	(shadow-test08-shadow-todo): Add debug messages.
	(top): Cleanup initially.

2019-09-02  Juri Linkov  <juri@linkov.net>

	* lisp/tab-line.el: Limit the number of window tabs to tab-line-tabs-limit.

	* lisp/tab-line.el: Display truncated tab name in the tooltip.

2019-09-02  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-08-25 intprops.h, verify.h: port better to clang
	2019-08-21 New strip-trailing-space option for srclist-update
	* .gitattributes: Remove doc/misc/texinfo.tex special case,
	which is no longer needed now that Gnulib trims blank-at-eol.
	* build-aux/install-sh, doc/misc/texinfo.tex, lib/intprops.h:
	* lib/regex_internal.c, lib/verify.h: Copy from Gnulib.

2019-09-02  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/lispref/files.texi (Standard File Names): Mention .emacs.d too.

2019-09-02  Robert Pluim  <rpluim@gmail.com>

	Reword documentation markup description

	* etc/NEWS: Reword temporary note about documentation updates.

2019-09-02  Robert Pluim  <rpluim@gmail.com>

	Add 'nsm-trust-local-network' to NEWS

	* etc/NEWS: Describe 'nsm-trust-local-network', and warn against its
	use.

2019-09-01  Glenn Morris  <rgm@gnu.org>

	* admin/admin.el (set-version): Check for empty NEWS sections.

2019-09-01  Juri Linkov  <juri@linkov.net>

	Try to add more tab-bar support on macos

	Try to add more tab-bar support on Windows

2019-09-01  Juri Linkov  <juri@linkov.net>

	* src/nsterm.m: Fix arguments to window_from_coordinates function call

	Thanks to Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org>

2019-09-01  Martin Rudalics  <rudalics@gmx.at>

	Fixes to build on Windows

	* src/w32fns.c (w32_set_tab_bar_lines, w32_change_tab_bar_height):
	New functions.

	* src/w32term.c (w32_create_terminal): Set change_tab_bar_height_hook
	to w32_change_tab_bar_height.

2019-09-01  Juri Linkov  <juri@linkov.net>

	Add more aliases switch-to-tab, previous-tab, next-tab

2019-09-01  Juri Linkov  <juri@linkov.net>

	Non-graphical access to frame-local tabs (named window configurations)

	* lisp/tab-bar.el (make-tab, delete-tab, tab-bar-list)
	(tab-bar-list-next-line, tab-bar-list-prev-line)
	(tab-bar-list-unmark, tab-bar-list-backup-unmark)
	(tab-bar-list-delete, tab-bar-list-delete-backwards)
	(tab-bar-list-execute, tab-bar-list-select)
	(tab-bar-list-mouse-select): New commands.
	(tab-bar-list-noselect, tab-bar-list-current-tab)
	(tab-bar-list-delete-from-list): New functions.
	(tab-bar-list-column): New defvar.

2019-09-01  Noam Postavsky  <npostavs@gmail.com>

	Fix non-deterministic process test

	* test/src/process-tests.el (set-process-filter-t): Don't assume
	subprocess output will come in a single chunk, keep waiting for more
	data until next "prompt" is read from subprocess.

	(cherry picked from commit aa49aa884053d0e8b33efe265f2aade19d1f3f3d)

2019-09-01  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix load-theme bug with user-emacs-directory

	* lisp/custom.el (custom-theme-directory): Delay initialization,
	since the value depends on user-emacs-directory (Bug#37256).

2019-09-01  Mattias Engdegård  <mattiase@acm.org>

	Clarify what counts as whitespace in `string-blank-p'

	* lisp/emacs-lisp/subr-x.el (string-blank-p): Expand doc string.

2019-08-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
	    Noam Postavsky  <npostavs@gmail.com>

	package.el: Allow Package-Requires to span multiple lines (Bug#36301)

	* lisp/emacs-lisp/package.el (lm-header-multiline): Declare
	function.
	(package-buffer-info): Parse Package-Requires with
	lm-header-multiline instead of lm-header.
	(Bug#36301)

2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Make user-emacs-directory a variable

	This is in response to Eli’s review here:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00712.html
	* lisp/subr.el (user-emacs-directory): defvar, not defconst

2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Improve documentation for recent XDG-related changes

	Adjust documentation in the light of Eli’s review here:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00712.html
	* doc/emacs/custom.texi (Init File, Find Init):
	* doc/lispref/files.texi (Standard File Names):
	* doc/lispref/os.texi (Init File):

2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/lispref/customize.texi: Fix typo.

2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Calculate user-emacs-directory on startup

	Problem reported by Glenn Morris (Bug#583#56).
	* lisp/startup.el (startup--xdg-config-default): New constant.
	(startup--xdg-config-home-emacs): New var.
	(startup--xdg-or-homedot): New function.
	(normal-top-level): Use it to set user-emacs-directory early on.
	(command-line): Also use it to determine the startup init directory.
	* lisp/subr.el (user-emacs-directory): Just initialize to nil.

2019-08-31  Juri Linkov  <juri@linkov.net>

	Frame-local tab-bar and window-local tab-line.

	* etc/NEWS: Add 'tab-bar-mode' and 'global-tab-line-mode'.

	* etc/TODO: Remove tab-related items.

	* lisp/cus-start.el: Add tab-bar-mode, tab-bar-max-label-size.

	* lisp/frame.el (frame-notice-user-settings): handle tab-bar-lines.

	* lisp/loadup.el: Load "tab-bar".

	* lisp/menu-bar.el (menu-bar-options-save): Add tab-bar-mode.
	(menu-bar-showhide-menu): Define showhide-tab-bar.

	* lisp/startup.el (tab-bar-images-pixel-height): New defconst.
	(command-line): Reset tab-bar-mode.
	(x-apply-session-resources): Add "tabBar", "TabBar".

	* lisp/subr.el (read-key): Add tab-bar.

	* lisp/tab-bar.el: New file.
	* lisp/tab-line.el: New file.

	* lisp/window.el (window--dump-frame): Add tab-bar-height.

	* src/dispextern.h (enum window_part): Add ON_TAB_LINE.
	(struct glyph_matrix): Add tab_line_p.
	(struct glyph_row): Add tab_line_p.
	(MATRIX_TAB_LINE_ROW): New macro.
	(MATRIX_FIRST_TEXT_ROW): Handle more mode lines.
	(MR_PARTIALLY_VISIBLE_AT_TOP): Add WINDOW_TAB_LINE_HEIGHT.
	(MATRIX_TAB_LINE_HEIGHT, CURRENT_TAB_LINE_HEIGHT)
	(DESIRED_TAB_LINE_HEIGHT): New macros.
	(enum face_id): Add TAB_BAR_FACE_ID and TAB_LINE_FACE_ID.
	(struct it): Add tab_line_p.
	(tab_bar_item_idx, tab_bar_item_image): New enums.
	(DEFAULT_TAB_BAR_LABEL_SIZE, DEFAULT_TAB_BAR_BUTTON_MARGIN)
	(DEFAULT_TAB_BAR_BUTTON_RELIEF, DEFAULT_TAB_BAR_IMAGE_HEIGHT):
	New constants.

	* src/dispnew.c (adjust_glyph_matrix): Use window_wants_tab_line.
	(shift_glyph_matrix): Add WINDOW_TAB_LINE_HEIGHT.
	(clear_current_matrices, clear_desired_matrices):
	Call clear_glyph_matrix on tab_bar_window.
	(blank_row): Add WINDOW_TAB_LINE_HEIGHT.
	(required_matrix_height): Change 2 to 3.
	(fake_current_matrices): Reset tab_line_p.
	(adjust_frame_glyphs_for_window_redisplay): Handle tab_bar_window.
	Add FRAME_TAB_BAR_HEIGHT and FRAME_TAB_BAR_LINES.
	(free_glyphs): Handle tab_bar_window.
	(update_frame): Handle tab_bar_window.
	(update_window): Handle row->tab_line_p.
	(scrolling_window): Change arg type from bool to int.
	Change header_line_p to tab_line_p.
	(buffer_posn_from_coords): Add window_wants_tab_line.
	(mode_line_string): Use MATRIX_TAB_LINE_ROW for part ON_TAB_LINE.

	* src/frame.c (frame_default_tab_bar_height): New internal variable.
	(adjust_frame_size): Handle tab_bar_window.
	(make_frame): Reset tab_bar_redisplayed, tab_bar_resized and
	last_tab_bar_item.
	(Ftab_bar_pixel_width): New function.
	(frame_parms): Add tab-bar-lines.
	(gui_figure_window_size): Add new arg tabbar_p.
	(syms_of_frame): Add Qtab_bar_size, Qupdate_frame_tab_bar,
	Qfree_frame_tab_bar, Qtab_bar_lines, Stab_bar_pixel_width.
	Add Qtab_bar_lines to frame_inhibit_implied_resize.
	(tab-bar-mode): New variable.

	* src/frame.h (GCALIGNED_STRUCT): Add tab_bar_window,
	desired_tab_bar_string, current_tab_bar_string.
	(GCALIGNED_STRUCT): Add tab_bar_items, last_tab_bar_item,
	minimize_tab_bar_window_p, tab_bar_redisplayed, tab_bar_resized,
	tab_bar_lines, tab_bar_height, n_tab_bar_rows, n_tab_bar_items.
	(fset_tab_bar_items, fset_tab_bar_window)
	(fset_current_tab_bar_string, fset_desired_tab_bar_string):
	New inlines.
	(FRAME_TAB_BAR_LINES, FRAME_TAB_BAR_HEIGHT): New macros.
	(FRAME_TOP_MARGIN, FRAME_TOP_MARGIN_HEIGHT):
	Use FRAME_TAB_BAR_LINES.

	* src/fringe.c (draw_fringe_bitmap_1, update_window_fringes):
	Add WINDOW_TAB_LINE_HEIGHT.

	* src/gtkutil.c (xg_frame_set_char_size): Add FRAME_TABBAR_WIDTH.
	(x_wm_set_size_hint): Add FRAME_TABBAR_WIDTH.

	* src/keyboard.c (read_char): Handle Qtab_bar.
	(kbd_buffer_get_event): Handle TAB_BAR_EVENT.
	(make_lispy_position): Add WINDOW_TAB_LINE_HEIGHT.
	Handle TAB_BAR_EVENT.
	(tab_bar_items_vector, tab_bar_item_properties, ntab_bar_items):
	New internal variables.
	(tab_bar_items, process_tab_bar_item, set_prop_tab_bar)
	(parse_tab_bar_item, init_tab_bar_items, append_tab_bar_item):
	New functions.
	(read_char_x_menu_prompt, read_key_sequence): Handle Qtab_bar.
	(tab-bar-separator-image-expression): New variable.

	* src/keymap.c (syms_of_keymap): Add Qtab_bar and Qtab_line.

	* src/menu.c (x_popup_menu_1, Fx_popup_dialog): Handle Qtab_bar.

	* src/termhooks.h (enum event_kind): Add TAB_BAR_EVENT.
	(GCALIGNED_STRUCT): Add change_tab_bar_height_hook.

	* src/w32fns.c (w32_frame_parm_handlers): Add w32_set_tab_bar_lines.

	* src/w32term.c (w32_draw_window_cursor): Add WINDOW_TAB_LINE_HEIGHT.

	* src/window.c (window_body_height): Add WINDOW_TAB_LINE_HEIGHT.
	(Fwindow_tab_line_height): New function.
	(coordinates_in_window): Use window_wants_tab_line with
	CURRENT_TAB_LINE_HEIGHT.
	(window_relative_x_coord): Add ON_TAB_LINE.
	(Fcoordinates_in_window_p): Add ON_TAB_LINE.
	(window_from_coordinates): Add new arg tab_bar_p.
	(Fwindow_line_height): Use window_wants_tab_line with
	WINDOW_TAB_LINE_HEIGHT.
	(Fwindow_lines_pixel_dimensions): Add WINDOW_TAB_LINE_HEIGHT.
	(make_window): Set tab_line_height to -1.
	(window_wants_tab_line): New function.
	(window_internal_height): Use window_wants_tab_line.
	(window_scroll_pixel_based): Add WINDOW_TAB_LINE_HEIGHT.
	(Frecenter): Set minimize_tab_bar_window_p to 1.
	(GCALIGNED_STRUCT): Add frame_tab_bar_lines and frame_tab_bar_height.
	(Fcurrent_window_configuration): Set frame_tab_bar_lines and
	frame_tab_bar_height.
	(set_window_scroll_bars): Add WINDOW_TAB_LINE_HEIGHT.
	(syms_of_window): Add Qtab_line_format and Swindow_tab_line_height.

	* src/window.h (GCALIGNED_STRUCT): Add tab_line_height.
	(WINDOW_TAB_BAR_P, WINDOW_TAB_LINE_HEIGHT, WINDOW_TAB_LINE_LINES):
	New macros.
	(WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y, WINDOW_TAB_LINE_HEIGHT):
	Add WINDOW_TAB_BAR_P.

	* src/xdisp.c (window_box_height): Add window_wants_tab_line with
	MATRIX_TAB_LINE_ROW and CURRENT_TAB_LINE_HEIGHT.
	(pos_visible_p): Use window_wants_tab_line.
	Add WINDOW_TAB_LINE_HEIGHT.
	(get_glyph_string_clip_rects): Add WINDOW_TAB_LINE_HEIGHT.
	(get_phys_cursor_geometry): Add WINDOW_TAB_LINE_HEIGHT.
	(remember_mouse_glyph): Use MATRIX_TAB_LINE_ROW for part
	ON_TAB_LINE.
	(init_iterator): Use MATRIX_TAB_LINE_ROW for TAB_LINE_FACE_ID.
	Add WINDOW_TAB_LINE_HEIGHT.  Add window_wants_tab_line.
	(Fwindow_text_pixel_size): Add WINDOW_TAB_LINE_HEIGHT.
	(prepare_menu_bars): Call update_tab_bar.
	(update_tab_bar, build_desired_tab_bar_string)
	(display_tab_bar_line, tab_bar_height, Ftab_bar_height)
	(redisplay_tab_bar, tab_bar_item_info, get_tab_bar_item)
	(handle_tab_bar_click, note_tab_bar_highlight): New functions.
	(compute_window_start_on_continuation_line): Use window_wants_tab_line.
	(try_cursor_movement): Use window_wants_tab_line with
	CURRENT_TAB_LINE_HEIGHT.
	(redisplay_window): Use window_wants_tab_line with
	CURRENT_TAB_LINE_HEIGHT.
	(try_window_reusing_current_matrix): Use window_wants_tab_line
	with WINDOW_TAB_LINE_HEIGHT.
	(Fdump_tab_bar_row): New function.
	(compute_line_metrics): Add WINDOW_TAB_LINE_HEIGHT.
	(display_line): Use window_wants_tab_line.
	(display_mode_line): Set tab_line_p to true if face_id is
	TAB_LINE_FACE_ID.
	(Fformat_mode_line): Handle Qtab_line and Qtab_bar.
	(gui_clear_end_of_line): Add WINDOW_TAB_LINE_HEIGHT.
	(erase_phys_cursor): Use WINDOW_TAB_LINE_HEIGHT.
	(show_mouse_face): Use tab_bar_window.
	(note_mode_line_or_margin_highlight): Use MATRIX_TAB_LINE_ROW for
	area ON_TAB_LINE.
	(note_mouse_highlight): Call note_tab_bar_highlight,
	(expose_frame): Handle tab_bar_window.
	(syms_of_xdisp): Add Sdump_tab_bar_row and Stab_bar_height.
	(auto-resize-tab-bars, auto-raise-tab-bar-buttons)
	(tab-bar-border, tab-bar-button-margin, tab-bar-button-relief)
	(tab-bar-max-label-size): New variables.

	* src/xfaces.c (lookup_basic_face): Add TAB_LINE_FACE_ID and
	TAB_BAR_FACE_ID.
	(syms_of_xfaces): Define Qtab_bar and Qtab_line.

	* src/xfns.c (x_set_tab_bar_lines, x_change_tab_bar_height):
	New functions.
	(xic_set_statusarea): Add FRAME_TABBAR_TOP_HEIGHT.
	(frame_geometry): Add FRAME_TAB_BAR_HEIGHT and Qtab_bar_size.

	* src/xterm.c (x_draw_image_relief): Use tab_bar_button_relief.
	(x_draw_image_relief): Use TAB_BAR_FACE_ID.
	(handle_one_xevent): Handle tab_bar_window.
	(x_set_window_size_1): Add FRAME_TABBAR_WIDTH.
	(x_create_terminal): Set change_tab_bar_height_hook.

	* src/xterm.h (struct x_output): Add tabbar_top_height,
	tabbar_bottom_height, tabbar_left_width, tabbar_right_width
	tabbar_widget, tabbar_in_hbox, tabbar_is_packed.
	(FRAME_TABBAR_TOP_HEIGHT): Add FRAME_TABBAR_TOP_HEIGHT,
	FRAME_TABBAR_BOTTOM_HEIGHT, FRAME_TABBAR_HEIGHT,
	FRAME_TABBAR_LEFT_WIDTH, FRAME_TABBAR_RIGHT_WIDTH,
	FRAME_TABBAR_WIDTH.

2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Check instead of relying on NOTREACHED

	NOTREACHED was designed for traditional lint decades ago,
	and _Noreturn now normally subsumes its function.
	In the one case in Emacs where NORETURN might help and _Noreturn does
	not, check for NOTREACHED instead of assuming it.
	* lib-src/etags.c (main):
	* src/xterm.c (x_connection_closed):
	Remove NOTREACHED after a call to a _Noreturn function, as NOTREACHED
	is no longer needed there.  Also, one of the NOTREACHEDs was
	misplaced, which defeated traditional lint checking anyway.
	* lib-src/pop.c (pop_getline): Redo so as to not need NOTREACHED.
	* src/emacs.c (main): Use eassume (false) rather than NOTREACHED,
	so that running with ENABLE_CHECKING catches any internal error
	causing the toplevel Frecursive_edit to return.

2019-08-31  Glenn Morris  <rgm@gnu.org>

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links): More cleanup.

2019-08-31  Alan Mackenzie  <acm@muc.de>

	Clarify the use of left/right-margin-width in determining current margin width

	* doc/lispref/display.texi (Display-Margins):  Clarify that
	left/right-margin-width can not be used to determine the current margin width,
	and that window-margins must be used instead.

2019-08-31  Andreas Schwab  <schwab@linux-m68k.org>

	Fix compilation with CHECK_STRUCTS

	* src/pdumper.c (dump_hash_table): Update hash of Lisp_Hash_Table.

2019-08-30  Eli Zaretskii  <eliz@gnu.org>

	Avoid signaling errors from ls-lisp--insert-directory on macOS

	* lisp/ls-lisp.el (ls-lisp-sanitize): Don't assume the
	directory entries for ".." and "." will either both be present
	or both absent.  (Bug#37236)

2019-08-30  Mattias Engdegård  <mattiase@acm.org>

	* src/floatfns.c: Check against __FINITE_MATH_ONLY__ (bug#37140)

2019-08-30  Michael Albinus  <michael.albinus@gmx.de>

	Extend tramp--test-check-files  (Bug#37228)

	* test/lisp/net/tramp-tests.el (tramp--test-check-files): Test also
	`directory-files-and-attributes'.  (Bug#37228)

2019-08-30  Koichi Arakawa  <arakawa@pp.iij4u.or.jp>  (tiny change)

	Fix Tramp's directory-files-and-attributes-with-stat  (Bug#37228)

	* lisp/net/tramp-sh.el
	(tramp-do-directory-files-and-attributes-with-stat): Handle file
	names with spaces.  (Bug#37228)

2019-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: adjust to new config file location

	* lib-src/emacsclient.c (open_config): New arg XDG, to respect
	XDG_CONFIG_HOME, consistently with Emacs proper.  Caller changed.
	Use XDG convention if available, falling back on the old names
	if not.

2019-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer ~/.config/emacs to ~/.emacs.d if neither exists

	That way, when Emacs starts in a fresh home directory,
	it prefers the new (XDG) convention rather than the old one.
	* lisp/files.el (locate-user-emacs-file): Make the parent
	directories of user-emacs-directory if needed.  This is useful
	if user-emacs-directory is "~/.config/emacs" and "~/.config"
	does not yet exist.
	* lisp/startup.el (command-line):
	* lisp/subr.el (user-emacs-directory):
	Prefer XDG_CONFIG_HOME to ~/.emacs.d if neither exists.

2019-08-30  Nick Drozd  <nicholasdrozd@gmail.com>

	Minor copyedits in ido.texi

	* doc/misc/ido.texi (Overview)
	(Interactive Substring Matching, Prefix Matching)
	(Regexp Matching, Hidden Buffers and Files)
	(Changing List Order, Find File At Point, Misc)
	(All Matching, Replacement): Fix wording, markup and punctuation.
	(Bug#37225)

2019-08-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	1af1240 (origin/emacs-26, emacs-26) ; Remove empty NEWS sections
	96dd019 (tag: emacs-26.3-rc1, tag: emacs-26.3) * etc/HISTORY: Add Ema...

	# Conflicts:
	#	etc/NEWS

2019-08-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	70829f8 ; ChangeLog.3 update

	# Conflicts:
	#	ChangeLog.3

2019-08-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	290fe4d * ; ChangeLog.3 update
	e8f176b * etc/NEWS: Delete temporary markup.

	# Conflicts:
	#	ChangeLog.3
	#	etc/NEWS

2019-08-29  Stefan Kangas  <stefankangas@gmail.com>

	Add new "make help" target

	* GNUmakefile: Add new "help" target that shows a brief summary of
	common make targets.  (Bug#12411)
	* INSTALL
	* etc/NEWS: Announce it.

2019-08-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak shr background color handling

	* lisp/net/shr.el (shr-fill-line): Extend the background to the
	end of the line when folding lines.

2019-08-28  Michael Albinus  <michael.albinus@gmx.de>

	Clarify meaning of <filename> in test/README

2019-08-28  Paul Eggert  <eggert@cs.ucla.edu>

	Don't worry about pre-1.0.0 alsa-lib include

	Problem reported by Ergus in:
	https://lists.gnu.org/r/emacs-devel/2019-08/msg00563.html
	* configure.ac (ALSA_SUBDIR_INCLUDE): Do not define.
	* src/sound.c: Assume ALSA_SUBDIR_INCLUDE.

2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	Use XDG conventions more consistently

	Fit in better with the XDG conventions.
	Something like this was suggested in 2008 (Bug#583)
	and the XDG conventions seem to have settled down by now.
	* doc/emacs/custom.texi (Init File, Init Syntax, Find Init):
	* doc/lispref/files.texi (Standard File Names):
	* doc/lispref/os.texi (Init File):
	* doc/misc/url.texi (Customization):
	* etc/NEWS:
	Adjust accordingly.
	* lisp/startup.el (startup--load-user-init-file):
	If init-file-name is nil, do not load from it; instead
	just use the alt-file.
	(find-init-path): Remove; no longer used.
	(command-line): Don't check twice for XDG.
	Look at XDG_CONFIG_HOME instead of assuming it's ~/.config.
	Prefer XDG configuration if it exists; the user can disable
	this by setting XDG_CONFIG_HOME to some other place.
	* lisp/subr.el (user-emacs-directory):
	Prefer XDG configuration if it exists.

2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent gnutls fixes to gcc -Wpointer-sign

	* src/gnutls.c (Fgnutls_format_certificate):
	Fix pointer signedness problem.

2019-08-27  Juri Linkov  <juri@linkov.net>

	Browser-like Info-history button menu (bug#37184)

	* doc/misc/info.texi (Help-Int): Using tool-bar to navigate history.

	* lisp/info.el (Info-history-menu): New function.
	(Info-history-back-menu, Info-history-forward-menu): New commands.
	(Info-mode-map): Bind Info-history-back-menu and
	Info-history-forward-menu to tool-bar on C-key.

2019-08-27  Michael Albinus  <michael.albinus@gmx.de>

	Deactivate part of tramp--test-check-files on macOS (Bug#36940)

	* test/lisp/net/tramp-tests.el (tramp--test-check-files): Do not
	search for environment variables on macOS.  (Bug#36940)

2019-08-27  Eli Zaretskii  <eliz@gnu.org>

	Fix crashes on MS-Windows when using GnuTLS connections

	* src/gnutls.c (init_gnutls_functions) [WINDOWSNT]: Define and
	load gnutls_free by an explicit call to GetProcAddress.
	(gnutls_free) [WINDOWSNT]: Define as a macro that dereferences
	a function pointer.  (Bug#31946)
	(Fgnutls_format_certificate): Use make_string_from_bytes
	instead of going through an intermediate malloc'ed buffer.

2019-08-27  Alex Branham  <alex.branham@gmail.com>

	Fix filename completion in shell mode buffers

	* lisp/shell.el (shell-dynamic-complete-functions): Move
	pcomplete-completions-at-point down the list so that filename
	completion has a chance to complete before pcompletion.

	Fixes bug#34330

2019-08-27  Michael Albinus  <michael.albinus@gmx.de>

	* test/Makefile.in (test_template): Declare target FOO.log.

2019-08-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix completion in `read-library-name'

	* lisp/emacs-lisp/find-func.el (read-library-name): Only list
	.el/.el.gz files when completing (bug#36945).

2019-08-26  Mauro Aranda  <maurooaranda@gmail.com>

	Make link widgets obey mouse-1-click-follows-link

	* lisp/wid-edit.el (widget-link-keymap): New variable, a keymap to use
	inside a link widget.
	('link widget): Restore the :follow-link property and add
	widget-link-keymap as the :keymap property (bug#15682).

2019-08-26  Mauro Aranda  <maurooaranda@gmail.com>

	Adapt recentf.el to the change in the Widget Library

	* lisp/recentf.el (recentf-open-files-item): Stop overriding
	:follow-link property of the link widgets, since now it should
	work as expected (bug#15682).

2019-08-26  Mauro Aranda  <maurooaranda@gmail.com>

	Create push-button widgets instead of links in epa *Keys* buffer

	* lisp/epa.el (epa--select-keys): Make OK and Cancel into buttons
	(bug#15682).

2019-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix Tramp rounding of file sizes and inode numbers

	* lisp/net/tramp-sh.el (tramp-perl-file-attributes)
	(tramp-perl-directory-files-and-attributes)
	(tramp-do-file-attributes-with-stat)
	(tramp-do-directory-files-and-attributes-with-stat):
	Format file sizes and inode numbers without trailing ".0",
	to avoid rounding errors when absolute values exceed 2**53
	(Bug#36940#94).  This fixes the problem for Emacs 27 and later,
	and doesn't hurt in earlier Emacs.

2019-08-26  Stefan Kangas  <stefankangas@gmail.com>

	Prefer display-line-numbers over linum in docs and one defcustom

	* doc/misc/efaq.texi: Replace linum with display-line-numbers.
	* lisp/progmodes/prog-mode.el (prog-mode-hook): Replace linum-mode
	with display-line-numbers-mode in :options.  (Bug#37120)

2019-08-26  Juri Linkov  <juri@linkov.net>

	* src/keyboard.c (parse_tool_bar_item): Use CAPTION when HELP is unavailable

	while adding equivalent key binding to the tooltip. (Bug#36156)

2019-08-26  Eli Zaretskii  <eliz@gnu.org>

	Fix crashes in networking with GnuTLS on MS-Windows

	* src/gnutls.c (init_gnutls_functions) [WINDOWSNT]: Define and
	load gnutls_free.
	(Fgnutls_format_certificate): Use gnutls_free instead of
	xfree.  This prevents crashes on MS-Windows, since the memory
	being released was allocated inside GnuTLS.  (Bug#31946)

2019-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow finding gpg2 binaries when gpg2 has an "unknown" version string

	* lisp/epg-config.el (epg-find-configuration): Allow finding a
	usable configuration even if the version string looks like "gpg
	(GnuPG) 2.2.15-unknown" (bug#35629).

2019-08-25  Teemu Likonen  <tlikonen@iki.fi>

	Only use --sender for gpg when gpg supports it

	* lisp/epg-config.el (epg-required-version-p): New function (bug#37025).

	* lisp/gnus/mml-sec.el (mml-secure-epg-sign):
	* lisp/epg.el (epg-start-sign):
	(epg-start-encrypt): Use it to only use --sender when the gpg
	binary supports it.

2019-08-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix ede-proj-project class

	* lisp/cedet/ede/proj.el (ede-proj-project): Make class inherit
	from eieio-named to get object-name slot (bug#37181).

2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug with non-paletted transparent PNGs

	Adapted from a fix by YAMAMOTO Mitsuharu (Bug#37153#77).
	* src/image.c (png_load_body): Fix bug with non-paletted
	transparent images.

2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	Fix misdisplay of PNG paletted images

	Problem reported by Roland Winkler (Bug#37153).
	Derived from a patch suggested by YAMAMOTO Mitsuharu (Bug#37153#62).
	* src/image.c (png_get_valid) [WINDOWSNT]:
	Do not dynamically link this function.
	(png_get_tRNS) [WINDOWSNT && PNG_tRNS_SUPPORTED]:
	Dynamically link this function instead.
	(png_load_body): Do not assume that every paletted image supplies
	only transparency data.  Fix typo in use of transparent_p.

2019-08-25  Michael Albinus  <michael.albinus@gmx.de>

	Fix a further part of Bug#36940

	* lisp/net/tramp-sh.el (tramp-perl-file-attributes)
	(tramp-perl-directory-files-and-attributes)
	(tramp-do-file-attributes-with-stat)
	(tramp-do-directory-files-and-attributes-with-stat): Return size
	and inode as floating number.  (Bug#36940).

2019-08-25  Alan Mackenzie  <acm@muc.de>

	Introduce new value t for compilation-context-lines to eliminate scrolling

	In particular, to prevent scrolling in a window lacking a left fringe.
	Instead, a visible arrow "=>" is inserted before column zero.  This fixes
	bug #36832.

	* lisp/progmodes/compile.el (compilation-context-lines): Add the new value t.
	(compilation-set-window): Amend to handle compilation-context-lines being t.
	(overlay-arrow-overlay): New variable holding an overlay with before-string
	property "=>".
	(compilation-set-overlay-arrow): New function which manipulates
	overlay-arrow-overlay.
	(compilation-goto-locus, compilation-find-file): In addition to calling
	compilation-set-window, also call compilation-set-overlay-arrow.

	* doc/emacs/building.texi (Compilation Mode): Document the new value t which
	compilation-context-lines can take.

	* etc/NEWS: Add an entry for this change.

2019-08-25  Alex Ott  <alexott@gmail.com>

	Fix minor problems in TUTORIAL.ru

	This fixes wording and avoids visiting the tutorial in
	Ruby mode.

2019-08-25  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent change in coding.c

	This partially reverts the changes in "extern function cleanup".
	* src/coding.c (encode_string_utf_8, decode_string_utf_8): Now
	extern again.  They should NOT be static, as they are intended
	to be used by the likes of json.c, where we need
	highly-optimized code for processing UTF-8 strings.  E.g.,
	decode_string_utf_8 beats make_string_from_utf8 by a factor of
	2 to 5 in a large number of scenarios.

2019-08-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Use ' instead of ` in NEWS

2019-08-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Use `autoconf-mode' for Autoconf .m4 files

	* lisp/files.el (auto-mode-alist): Use `autoconf-mode' (instead of
	`m4-mode') for acinclude.m4/aclocal.m4/acsite.m4 files (bug#37133).

2019-08-24  Alex Branham  <alex.branham@gmail.com>

	The `gnus*-1' functions shouldn't be interactive

	* lisp/gnus/gnus-start.el (gnus-no-server-1): This function
	shouldn't be interactive (bug#37022).
	(gnus-1): Ditto.

2019-08-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Disallow just hitting RET in gnus-mime-replace-part

	* lisp/gnus/gnus-art.el (gnus-mime-replace-part): Don't replace
	the part if the file to replace it with doesn't exist (bug#36864).

2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	Clarify Fx_parse_geometry initialization

	* src/frame.c (Fx_parse_geometry): Clarify why local init
	isn’t needed.

2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak time arithmetic performance

	* src/timefns.c (time_arith): Prefer mpz_divexact to mpz_tdiv_q
	when either will do.

2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	Speed up % and mod with fixnum denom

	* src/data.c (integer_remainder): New function.  When the
	numerator is a bignum and the denominator is small, this function
	uses mpz_tdiv_ui, which should be faster than mpz_tdiv_r.
	(Frem, Fmod): Use it.

2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak integer mod performance

	* src/data.c (integer_mod): Use mpz_tdiv_r not mpz_mod, as that’s
	more similar to the fixnum case, is a bit more efficient, and
	otherwise the later ‘sgn_r < 0’ code is useless anyway.

2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	Make (mod 1.0 0) consistent with (/ 1.0 0)

	* src/data.c (Fmod): Do not signal an error for (mod 1.0 0), for
	the same reason (/ 1.0 0) does not signal an error.
	* test/src/data-tests.el (data-tests-mod-0): New test.

2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	extern function cleanup

	Most of these functions can be static.  A few are unused.
	* src/coding.c (encode_string_utf_8, decode_string_utf_8):
	Define only if ENABLE_UTF_8_CONVERTER_TEST, as they're
	not needed otherwise.
	* src/coding.c (encode_string_utf_8, decode_string_utf_8):
	* src/data.c (integer_mod):
	* src/fns.c (base64_encode_region_1, base64_encode_string_1):
	* src/ftfont.c (ftfont_get_fc_charset):
	Now static.
	* src/sysdep.c (verrprintf): Remove; unused.

2019-08-24  Noam Postavsky  <npostavs@gmail.com>

	Fix non-deterministic process test

	* test/src/process-tests.el (set-process-filter-t): Don't assume
	subprocess output will come in a single chunk, keep waiting for more
	data until next "prompt" is read from subprocess.

2019-08-24  Eli Zaretskii  <eliz@gnu.org>

	Revert "Recompute user-emacs-directory-relative defcustoms one more time"

	This reverts commit bb5cd7c4caf415e40836edbbc4e62b0dd411d73f.
	See bug#37173.

2019-08-24  Robert Pluim  <rpluim@gmail.com>

	Fix DNS tests

	* test/src/process-tests.el: (lookup-family-specification,
	lookup-unicode-domains, unibyte-domain-name, lookup-google,
	non-existent-lookup-failure): Skip on Hydra, which doesn't have DNS.
	Fix buggy test condition.  (Bug#37165)

2019-08-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix some problems of Bug#36940

	* test/lisp/net/tramp-tests.el (tramp-test22-file-times): Do not
	compare time value lists by `equal'.  (Bug#36940).
	(tramp-test30-make-process): Adapt "kill" message to match on macOS.

2019-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak gnutls-peer-status reporting

	* src/gnutls.c (Fgnutls_peer_status): Report :compression and
	:encrypt-then-mac only if the underlying GnuTLS library has
	the corresponding features.  This give the Elisp caller a bit
	more information about the peer status.
	* lisp/net/nsm.el (nsm-protocol-check--compression):
	Don’t worry about compression in newer GnuTLS versions
	that do not support compression.

2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention new usage of `invalid-read-syntax' in the manual

	* doc/lispref/errors.texi (Standard Errors): Document "trailing
	garbage" use of `invalid-read-syntax' (bug#24649).

2019-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	Clarify compiler-pacifier in frame.c

	* src/frame.c (Fx_parse_geometry): Pacify the compiler in a
	different way, so that the human reader can more easily see
	that the initializations are unnecessary.

2019-08-23  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation --without--x

	* src/xdisp.c (extend_face_to_end_of_line): Fix a recent
	change that moved the initialization of default_face.
	Reported by Glenn Morris <rgm@gnu.org>.

2019-08-23  Eli Zaretskii  <eliz@gnu.org>

	Avoid a compilation warning in w32.c

	* src/w32.c (logon_network_drive): Avoid compilation warning
	about strncpy arguments.

2019-08-23  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warning in frame.c

	* src/frame.c (Fx_parse_geometry): Avoid compilation warning
	about x and y being used without initializing them.

2019-08-23  Noam Postavsky  <npostavs@gmail.com>

	Print macro modified macro keys as characters not integers

	* lisp/macros.el (macros--insert-vector-macro): Pass all elements to
	'prin1-char', not just those that satisfy characterp (because characters
	which have modifier bits set wouldn't qualify otherwise).
	'prin1-char' will return nil if it can't handle the argument (e.g.,
	for symbols representing function keys).

2019-08-23  Robert Pluim  <rpluim@gmail.com>

	Fix compilation of process.c

	* src/process.c (network_lookup_address_info_1): [!HAVE_GAI_STRERROR]:
	Use make_fixnum instead of make_number.  (Bug#37158).

2019-08-23  Michael Heerdegen  <michael_heerdegen@web.de>

	Hi-lock lines up to right margin (Bug#15934)

	* lisp/hi-lock.el (hi-lock-line-face-buffer): Change used regexp so
	that a line terminating newline character is included in the match.

2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename renamed nsm.el variables and functions back

	* doc/emacs/misc.texi (Network Security): Start working on
	updating the NSM bits, but it's unclear how much of the new stuff
	to document.

	* lisp/net/nsm.el: Rename all nsm-tls-check-* functions to
	nsm-protocol-check--* to bring them back into line with the
	documentation.
	(network-security-protocol-checks): Renamed back again from
	`nsm-tls-checks', as this variable is documented and can't just go
	away.

2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Move all NSM tests away from the `low' level

	* lisp/net/nsm.el (network-security-level, nsm-tls-checks): Make
	`low' a "check nothing" setting again, and move all the `low'
	checks back to `medium'.  This makes the test suite work again.

2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak previous tar-mode time stamp code

	* lisp/tar-mode.el (tar-header-block-summarize): Tweak previous
	commit to output the time stamp in the exact same way that GNU tar
	does.

2019-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	Get the Gnutls code compiling on Fedora 30

	The recent changes caused the build to fail on Fedora 30 when built
	with --enable-gcc-warnings, among other things with diagnostics that
	gnutls_compression_get and gnutls_compression_get_name are deprecated
	(this started with GnuTLS 3.6).  Fix this by refusing to call these
	obsolescent and now-dummy functions in GnuTLS 3.6 and later.  However,
	this is just a temporary workaround to get the build working; a real
	fix is needed, as network-stream-tests fail.
	* src/gnutls.c (HAVE_GNUTLS_COMPRESSION_GET): New macro.
	(gnutls_compression_get, gnutls_compression_get_name):
	Define only if HAVE_GNUTLS_COMPRESSION_GET.
	(init_gnutls_functions): Load the two functions only if
	HAVE_GNUTLS_COMPRESSION_GET.
	(emacs_gnutls_certificate_export_pem): Use alloca instead of xmalloc.
	(Fgnutls_peer_status): Just return "NULL" if the functions
	are deprecated.
	(Fgnutls_format_certificate): Fix pointer signedness glitches.
	* src/process.c: Fix spacing.

2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Put error output from M-! at the end of the error buffer

	* lisp/simple.el (shell-command-on-region): Put the error output
	at the end of the buffer instead of wherever point is (bug#7513).
	This avoids interleaving error output.

2019-08-23  Robert Pluim  <rpluim@gmail.com>

	Move default face lookup

	* src/xdisp.c (extend_face_to_end_of_line): Move default face
	lookup lower.

2019-08-23  Robert Pluim  <rpluim@gmail.com>

	Correct description of network-lookup-address-info

	* doc/lispref/processes.texi (Misc Network): Remove erroneous text
	  about port numbers

2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove debugging from previous shr.el patch

2019-08-23  Eli Zaretskii  <eliz@gnu.org>

	Fix recent changes in gnutls.c

	* src/gnutls.c: Fix typos that broke the MS-Windows build.
	(Fgnutls_peer_status_warning_describe): Fix incomplete error
	message string.

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid an infloop in shr when filling text with :align-to properties

	* lisp/net/shr.el (shr-fill-line): Only join together URL buttons
	if there are any URL buttons.

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix Gnus display of timestamps that's less than a second old

	* lisp/gnus/gnus-art.el (article-lapsed-string): The elapsed
	seconds may be a fractional second.  In that case, just say "now".

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Really save games scores to the games scores directory

	* lisp/play/gamegrid.el
	(gamegrid-add-score-with-update-game-score): Save games scores to
	`gamegrid-user-score-file-directory' by default (bug#36971).

2019-08-22  Damien Cassou  <damien@cassou.me>

	Add imenu support to xref

	* lisp/progmodes/xref.el (xref--imenu-prev-index-position)
	(xref--imenu-extract-index-name): Add functions to get imenu support.
	(xref--xref-buffer-mode): Set imenu variables to the new functions.
	* etc/NEWS: Add corresponding entry (bug#36974).

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Give a better error message when reading invalid "\unicode" escapes.

	* src/lread.c (read_escape): Give a clearer error message on
	Unicode escape sequences (bug#36988).

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify doc string of cl-pushnew

	* lisp/emacs-lisp/cl-lib.el (cl-pushnew): Clarify doc string
	(bug#37016).

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix interaction between url-handler-mode and browse-url

	* lisp/net/browse-url.el (browse-url): Don't expand any URLs (like
	"man:") that have a scheme when using `url-handler-mode' (bug#37056).

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Use ISO8601 time formats in tar-mode

	* lisp/tar-mode.el (tar-clip-time-string): Make obsolete (bug#37130).
	(tar-header-block-summarize): Use ISO8601 time instead of
	home-brew format.

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Make dired recognize .lz files

	* lisp/dired-aux.el (dired-compress-file-suffixes): Recognize .lz
	(lzip) compressed files (bug#37136).

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix too-long lines in nsm.el

	* lisp/net/nsm.el: Fix some too-long lines and some terminology in
	the doc strings/comments.

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention new NSM warnings

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the warning display to be less like a TLS decoding page

	* lisp/net/nsm.el (nsm-parse-subject, nsm-certificate-part):
	Restore functions for parsing subjects.
	(nsm-format-certificate): Use them to display more user-friendly
	data.  Also change the display to have fewer lines again so that
	the data of interest isn't pushed off the screen.

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Enable sorting paragraphs when the final paragraph has no newline

	* lisp/sort.el (sort-paragraphs): Ensure that when sorting
	paragraphs, the final paragraph ends with a newline (bug#21785).

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Signal an error on `M-x shell-mode'

	* lisp/shell.el (shell-mode): This mode can't usefully be called
	interactively (and is somewhat destructive, as it disables
	`undo'), and it's usually confused with `shell-script-mode'
	(bug#19812).  So signal an error if it's used interactively.

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Make ibuffer-mark-by-file-name-regexp work on the displayed file name

	* lisp/ibuf-ext.el (ibuffer-mark-by-file-name-regexp): Perform the
	matching on the abbreviated (i.e., displayed) file name, and not
	the complete name (bug#18859).  This seems like the more expected
	action.

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Have `M-x battery' list all batteries under GNU/Linux

	* lisp/battery.el (battery-upower-device): Remove (bug#25559).
	(battery--find-linux-sysfs-batteries): New function.
	(battery-status-function, battery-linux-sysfs): Use it to list all
	batteries, no matter what they're called.

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Signal `invalid-read-syntax' for "trailing garbage"

	* src/minibuf.c (string_to_object): Signal `invalid-read-syntax'
	instead of the generic `error' for "trailing garbage following
	expression" (bug#24649).

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix skeleton edebug spec

	* lisp/skeleton.el (skeleton-edebug-spec): Fix edebug spec
	(bug#24779).

2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Run quit-window-hook from the correct buffer

	* lisp/window.el (quit-window): Run the hook from the buffer
	specified by the WINDOW parameter.

2019-08-22  Eli Zaretskii  <eliz@gnu.org>

	Recompute user-emacs-directory-relative defcustoms one more time

	* lisp/startup.el (command-line): Re-evaluate the
	custom-delayed predefined variables one more time after
	loading the user's init file.  (Bug#37116)

2019-08-22  Stefan Kangas  <stefankangas@gmail.com>

	Fix minor checkdoc errors in package.el

	* lisp/emacs-lisp/package.el (package-all-keywords)
	(package-menu--generate, package-archive-priority): Doc fixes.

2019-08-22  Stefan Kangas  <stefankangas@gmail.com>

	Signal user-error on duplicate package refresh

	* lisp/emacs-lisp/package.el (package-menu-refresh): Signal a
	user-error if there is already a refresh running in the
	background.  Doc fix.  (Bug#36707)

2019-08-22  Stefan Kangas  <stefankangas@gmail.com>

	* doc/misc/efaq.texi: Note the inclusion year.  (Bug#37142)

2019-08-22  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'ispell-skip-html'

	* lisp/textmodes/ispell.el (ispell-skip-html): Doc fix.
	(Bug#37141)

2019-08-22  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi: Use @acronym{GVFS}.

2019-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	Fix Qunbound-Qnil confusion in clrhash patch

	Problem reported by Stefan Monnier.
	* src/fns.c (hash_clear): Fix typo I introduced in my previous
	patch here, by setting keys to Qunbound not Qnil.

2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Remove no-longer-needed workaround for GC bug

	* src/keymap.c (describe_vector): Remove old workaround for GC bug.
	This workaround, introduced in 1993-02-19T05:43:54Z!rms@gnu.org,
	has not been needed for some time.  Problem reported by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html

2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t debug fset by default

	This GC bug seems to have been fixed, so the check is no longer
	needed in production code.  From a suggestion by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
	* src/alloc.c (SUSPICIOUS_OBJECT_CHECKING) [!ENABLE_CHECKING]:
	Do not define.
	(find_suspicious_object_in_range, detect_suspicious_free):
	Expand to proper dummy expressions if !SUSPICIOUS_OBJECT_CHECKING.
	* src/data.c (Ffset): Convert test to an eassert.

2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix clrhash bug when hash table needs rehashing

	Problem reported by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
	* src/fns.c (maybe_resize_hash_table): Prefer ASET to gc_aset
	where either will do.  Simplify appending of Qunbound values.
	Put index_size calculation closer to where it’s needed.
	(hash_clear): If hash_rehash_needed_p (h), don’t clear the
	nonexistent hash vector.  Use memclear to speed up clearing.
	* src/lisp.h (HASH_TABLE_SIZE): Check that the size is positive,
	and tell that to the compiler.

2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	* src/buffer.c: Fix comment typo.

2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t hard-loop on cycles in ‘read’ etc.

	Problem for ‘read’ reported by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
	* src/fns.c (Frequire): Protect against circular current-load-list.
	* src/lread.c (Fget_load_suffixes):
	Protect against circular load-suffixes or load-file-rep-suffixes.
	(Fload): Protect against circular loads-in-progress.
	(openp): Protect against circular PATH and SUFFIXES.
	(build_load_history): Protect against circular load-history or
	current-load-list.
	(readevalloop_eager_expand_eval): Protect against circular SUBFORMS.
	(read1): Protect against circular data.
	* test/src/lread-tests.el (lread-circular-hash): New test.

2019-08-21  Nicolas Petton  <nicolas@petton.fr>

	* etc/HISTORY: Add Emacs 26.3 release date.

2019-08-21  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 26.3

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version.

2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Make hide-ifdef-mode-prefix-key customizable

	* lisp/progmodes/hideif.el (hide-ifdef-mode-prefix-key): Make into
	a defcustom since it seems like this is something that should be
	user-customisable (bug#8922).

2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Use `quit-window-hook' in Info instead of having its own command

	* doc/misc/info.texi (Help-Q): Info now uses `quit-window'.

	* lisp/info.el (info-standalone): Adjust doc string.
	(Info-exit): Made into obsolete alias.
	(Info-mode-map): Bind "q" to `quit-window'.
	(Info-mode-menu): Adjust.
	(info-tool-bar-map): Ditto.
	(Info-mode): Adjust doc string.
	(Info-mode): If Info is standalone, kill Emacs on "q".

2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust quit-window-hook documentation

	* doc/lispref/windows.texi (Quitting Windows): Adjust
	documentation of quit-window-hook (bug#9867).

2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention quit-window-hook in "Standard Hooks"

	* doc/lispref/hooks.texi (Standard Hooks): Mention
	quit-window-hook (bug#9867).

2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Call `quit-window-hook' in the `quit-window' command only

	* lisp/window.el (quit-restore-window): Don't run quit-window-hook
	here...
	(quit-window): ... but here instead.  Callers that call the former
	programmatically can decide themselves whether to call the hook.
	(quit-window-hook): Fix doc string.

2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the interactive spec for set-frame-width/height

	* src/frame.c (Fset_frame_width):
	(Fset_frame_height): Use `prefix-numeric-value' to get the proper
	numeric value (bug#9970).

2019-08-21  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/mail/flow-fill.el: Change todo comment to not mention XEmacs.

2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Be more careful about pointers to bignum vals

	This uses ‘const’ to be better at catching bugs that
	mistakenly attempt to modify a bignum value.
	Lisp bignums are supposed to be immutable.
	* src/alloc.c (make_pure_bignum):
	* src/fns.c (sxhash_bignum):
	Accept Lisp_Object instead of struct Lisp_Bignum *, as that’s
	simpler now.  Caller changed.
	* src/bignum.h (bignum_val, xbignum_val): New inline functions.
	Prefer them to &i->value and XBIGNUM (i)->value, since they
	apply ‘const’ to the result.
	* src/timefns.c (lisp_to_timespec): Use mpz_t const *
	to point to a bignum value.

2019-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	Update mini-gmp

	* src/mini-gmp.c: Sync from upstream.  This incorporates:
	2019-08-13 Silence a couple of warnings

2019-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid some excess precision in time arithmetic

	* doc/misc/emacs-mime.texi (time-date):
	Adjust example to match new behavior.
	* etc/NEWS: Mention this.
	* lisp/calendar/time-date.el (decoded-time-add)
	(decoded-time--alter-second):
	Don’t lose underestimate precision of seconds component.
	* src/bignum.c (mpz): Grow by 1.
	* src/timefns.c (trillion_factor): New function.
	(timeform_sub_ps_p): Remove.
	(time_arith): Avoid unnecessarily-large hz, by reducing the hz
	to a value no worse than the worse hz of the two arguments.
	The result is always exact unless an error is signaled.
	* test/src/timefns-tests.el (timefns-tests--decode-time):
	New function.
	(format-time-string-with-zone): Test (decode-time LOOK ZONE t)
	resolution as well as its numeric value.

2019-08-20  Noam Postavsky  <npostavs@gmail.com>

	Respect global-eldoc-mode in minibuffers (Bug#36886)

	* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Accept
	a BODY parameter.
	* doc/lispref/modes.texi (Defining Minor Modes): Document new
	parameter.
	* etc/NEWS: Announce it.

	* lisp/simple.el (read--expression): Move eldoc-mode setup to...
	* lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): ... here,
	new function.
	(global-eldoc-mode): Add or remove it to
	eval-expression-minibuffer-setup-hook when enabling or disabling
	global-eldoc-mode.  This enables eldoc in the minibuffer (solving
	Bug#27202), only when global-eldoc-mode is enabled.

2019-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	Support larger TIMEs in (time-convert TIME t)

	Also, improve the doc to match current behavior.
	* doc/lispref/os.texi (Time Conversion): Document that
	time-convert signals an error for infinite or NaN args,
	and that (time-convert TIME t) is exact otherwise.
	Mention float-time as an alternative to time-convert.
	(Time Calculations): Document that time-add and time-subtract
	are exact and do not decrease HZ below the minimum of their args.
	* src/timefns.c (decode_float_time): Don’t signal an error for
	floating-point arguments whose base-FLT_RADIX exponent is not less
	than DBL_MANT_DIG.  Instead, convert them to (TICKS . 1) values.
	Use two (instead of three) integer exponent comparisons in the
	typical case.
	* test/src/timefns-tests.el (time-arith-tests):
	Add more floating-point tests, including some tests
	that the old code fails.

2019-08-20  Stephen Leake  <stephen_leake@stephe-leake.org>

	Delete built-in ada-mode; Gnu ELPA is a good replacement

	* doc/misc/Makefile.in (INFO_COMMON): Delete ada-mode.

	* doc/misc/ada-mode.texi: Delete.

	* etc/NEWS: Mention ada-mode deleted.

	* lisp/progmodes/ada-mode.el: Delete.

	* lisp/progmodes/ada-prj.el: Delete.

	* lisp/progmodes/ada-stmt.el: Delete.

	* lisp/progmodes/ada-xref.el: Delete.

2019-08-20  Michael Albinus  <michael.albinus@gmx.de>

	Another attempt to fix bug#32645

	* test/lisp/autorevert-tests.el ()
	(auto-revert-test02-auto-revert-deleted-file):
	* test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
	Check `file-notify-valid-p', not that the descriptor is nil.

2019-08-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	615cff4 (origin/emacs-26) Fix process filter documentation (Bug#13400)
	beb1d22 Fix query-replace-regexp undo feature

	# Conflicts:
	#	test/lisp/replace-tests.el

2019-08-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	0b810eb Fix a typo in char-width-table
	3f00db7 Minor update in admin/notes/unicode
	bcd0115 Fix lisp indent infloop on unfinished strings (Bug#37045)
	5f992d1 Improve commentary in composite.el
	3a04be2 ; Improve commentary in xdisp.c
	15de1d1 Fix markup in dired-x.texi
	bda7fc7 ; Fix typo in a doc string of speedbar.el
	6f57ef9 * src/callproc.c (Fcall_process): Doc fix.

	# Conflicts:
	#	doc/misc/dired-x.texi
	#	lisp/international/characters.el
	#	src/callproc.c

2019-08-20  Ulrich Müller  <ulm@gentoo.org>

	* configure.ac (HAVE_JPEG): Test for window system. (Bug#36995)

2019-08-20  Mauro Aranda  <maurooaranda@gmail.com>

	Don't display wrong ElDoc information when inside ELisp strings or comments

	* lisp/progmodes/elisp-mode.el (elisp--fnsym-in-current-sexp): Since
	forward-sexp assumes point is not in a string or comment, avoid
	calling it and then checking if point is inside a string, since that
	sometimes will fail with awkward results.  (Bug#35567)

2019-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Output `auto-coding-alist' in `describe-current-coding-system'

	* lisp/international/mule-diag.el
	(describe-current-coding-system): Also output the contents of
	`auto-coding-alist', which take precedence over
	`file-coding-system-alist' (bug#9575).

2019-08-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new hook: `quit-window-hook'

	* doc/lispref/windows.texi (Quitting Windows): Mention in.

	* lisp/window.el (quit-restore-window): Run the new
	`quit-window-hook' before doing anything else (bug#9867).
	(quit-window): Note that the hook will be run in the doc string.

	* lisp/window.el (quit-window-hook): New variable.

2019-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix org-table 65536-second bug

	* lisp/org/org-table.el (org-table-message-once-per-second):
	Fix bug when clock difference goes past a 65536-second boundary.
	Don’t assume particular format for current-time result.

2019-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix time-add/time-sub validity checking

	* src/timefns.c (time_arith): Check the first arg for
	validity even if the second arg is not finite.
	* test/src/timefns-tests.el (time-arith-tests): Test this.

2019-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/erc/erc-stamp.el: Fix erc-echo-timestamp (bug#22700)

	Use lexical-binding.
	(erc-add-timestamp): Store the timestamp in a closure placed in
	cursor-sensor-functions rather than stashing it in an ad-hoc
	`timestamp` property.
	(erc-echo-timestamp): Simplify accordingly.

2019-08-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow set-frame-height/set-frame-width to be used interactively

	* doc/lispref/frames.texi (Frame Size): Document it.

	* src/frame.c (Fset_frame_height):
	(Fset_frame_width): Make into commands that use the numeric prefix
	to set height/width (bug#9970).

2019-08-18  Štěpán Němec  <stepnem@gmail.com>

	Add an advice-add/interactive spec example

	* doc/lispref/functions.texi (Core Advising Primitives): Add an
	advice-add example that extends the `interactive' spec (bug#17871).

2019-08-18  Johan Claesson  <johanclaesson@bredband.net>

	Invalidate dir-locals-directory-cache when writing dir-local file

	* lisp/files-x.el (modify-dir-local-variable): Remove file from
	the cache when writing to ensure that we load the new version
	later (bug#13860).

2019-08-18  Noam Postavsky  <npostavs@gmail.com>

	Handle more subprocess chunking in M-x man (Bug#36927)

	* lisp/man.el (Man-bgproc-filter): Make sure not to chop man sections
	by narrowing.
	(Man-highlight-references0): Revert previous fix, as it's no longer
	needed.
	* test/lisp/man-tests.el (man-tests-filter-strings): New function.
	(man-bgproc-filter-buttonize-includes): New test.

2019-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Improve bignum_integer static checking

	* src/bignum.h (bignum_integer): Now returns pointer-to-const,
	to catch trivial mistakes where the caller might try to modify
	a Lisp bignum.  Lisp bignums are supposed to be immutable.
	All callers changed.

2019-08-18  Eli Zaretskii  <eliz@gnu.org>

	Attempt to fix assertion violation in eval.c

	* src/eval.c (Fautoload): Fix an assertion violation in
	make_fixnum.  Reported by martin rudalics <rudalics@gmx.at>.

2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `browse-url-of-buffer' work from zip files

	* lisp/net/browse-url.el (browse-url-of-buffer): Make `C-c C-v'
	work in HTML buffers visited from zip files and the like
	(bug#10318).

2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	Fix org-timer-show-remaining-time > 1 hour

	* lisp/org/org-timer.el (org-timer-show-remaining-time):
	Don’t assume the remaining time is less than one hour.
	Simplify.  The simplification removes the need for a
	decode-time, and fixes a typo I introduced recently.

2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `describe-function' say that disabled functions are disabled

	* lisp/help-fns.el (help-fns--disabled): New function (bug#10853).
	(help-fns-describe-function-functions): Add it to the list of
	function help functions.

2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make newline-and-indent take a numeric prefix

	* lisp/simple.el (newline-and-indent): Take a prefix argument to
	say how many times to perform its action (bug#10927).

2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Issue a message on `C-x o' and there's no other window

	* lisp/window.el (other-window): Issue a message when the user
	types `C-x o' and there's no other window to select (bug#10999).

2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Issue a message on `C-x 1' when there's nothing to do

	* lisp/window.el (delete-other-windows): Make `C-x 1' issue a
	message when there's no other windows to delete (bug#10999).

2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc clarification in two comment-* functions

	* lisp/newcomment.el (comment-padright, comment-padleft): Note
	that `comment-normalize-vars' must be called first (bug#11944).

2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	Add FIXMEs for subsecond support

	This adds FIXMEs to areas where Lisp code should support
	subsecond information in broken-down timestamps.
	It also fixes some unnecessary truncation of timestamps, and
	ports the code to a hypothetical future Emacs version where
	(decode-time) returns subsecond timestamps by default.
	* lisp/calc/calc-forms.el (calc-time, math-iso-dt-to-date)
	(calcFunc-now):
	* lisp/calendar/icalendar.el (icalendar--add-decoded-times):
	* lisp/calendar/iso8601.el (iso8601-parse-interval):
	Truncate seconds to an integer, and add a FIXME about
	subseconds support.
	* lisp/calendar/icalendar.el (icalendar--decode-isodatetime)
	(icalendar--decode-isoduration):
	Add a FIXME about subseconds support.
	* lisp/gnus/gnus-delay.el (gnus-delay-article):
	Don’t truncate seconds to an integer, as there’s no need
	to do that here.
	* lisp/gnus/gnus-util.el (gnus-seconds-today)
	(gnus-seconds-month, gnus-seconds-year):
	* lisp/gnus/message.el (message-make-expires-date):
	* lisp/org/org-timer.el (org-timer-show-remaining-time):
	* lisp/vc/ediff-mult.el (ediff-format-date):
	Truncate seconds to an integer, as that’s what’s wanted here.
	* lisp/midnight.el (midnight-next):
	Ceiling seconds to an integer, as that’s what wanted here.

2019-08-17  Juri Linkov  <juri@linkov.net>

	* lisp/frameset.el (frameset-restore): Make sure last-focus frame has focus.

	Call select-frame-set-input-focus to restore focus on the frame
	that had last-focus-update frame parameter before saving frameset.
	(Bug#36894)

2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc clarification for call-interactively

	* src/callint.c (Fcall_interactively): Be explicit about what we
	mean by "inquire" in the doc string (bug#15653).

2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	Port test harness to Solaris 10

	* test/Makefile.in (ELFILES): Port to Solaris 10, where
	‘find’ does not support ‘-path’.

2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-08-17 intprops: port to Oracle Developer Studio 12.6
	2019-08-14 intprops: support uchar, ushort _WRAPV dests
	* lib/intprops.h: Copy from Gnulib.

2019-08-17  Eli Zaretskii  <eliz@gnu.org>

	Improve support of the ancient Egyptian script

	* lisp/international/fontset.el (script-representative-chars)
	(setup-default-fontset): Add Egyptian.  (Bug#15420)

2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	Have time-add etc. respect CURRENT_TIME_LIST too

	* src/timefns.c (time_arith) [!CURRENT_TIME_LIST]:
	Don’t generate a list, since CURRENT_TIME_LIST is false.

2019-08-16  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent documentation change

	* doc/emacs/windows.texi (Other Window): Add a cross-reference
	to "Rebinding".  (Bug#12431)

2019-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	More-compatible subsecond calendrical timestamps

	Instead of appending a subseconds member to the result of
	‘decode-time’, this keeps the format unchanged unless you give
	a new optional argument to ‘decode-time’.  Also, the augmented
	format now puts the subsecond info in the SECONDS element, so
	the total number of elements is unchanged; this is more
	compatible with code that expects the traditional 9 elements,
	such as ‘(pcase decoded-time (`(,SEC ,MIN ,HOUR ,DAY ,MON
	,YEAR ,DOW ,DST ,ZONE) ...) ...)’.
	* doc/lispref/os.texi, doc/misc/emacs-mime.texi, etc/NEWS:
	* lisp/net/soap-client.el (soap-decode-date-time):
	* lisp/simple.el (decoded-time):
	Document the new behavior.
	* lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
	* lisp/calendar/iso8601.el (iso8601-parse)
	(iso8601-parse-time, iso8601-parse-duration)
	(iso8601--decoded-time):
	* lisp/calendar/parse-time.el (parse-time-string):
	* lisp/calendar/time-date.el (decoded-time-add)
	(decoded-time--alter-second):
	* lisp/org/org.el (org-parse-time-string):
	* lisp/simple.el (decoded-time):
	* src/timefns.c (Fdecode_time, Fencode_time):
	* test/lisp/calendar/icalendar-tests.el:
	(icalendar--decode-isodatetime):
	* test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
	(test-iso8601-date-dates, test-iso8601-date-obsolete)
	(test-iso8601-date-weeks, test-iso8601-date-ordinals)
	(test-iso8601-time, test-iso8601-combined)
	(test-iso8601-duration, test-iso8601-intervals)
	(standard-test-dates, standard-test-time-of-day-fractions)
	(standard-test-time-of-day-beginning-of-day)
	(standard-test-time-of-day-utc)
	(standard-test-time-of-day-zone)
	(standard-test-date-and-time-of-day, standard-test-interval):
	* test/lisp/calendar/parse-time-tests.el (parse-time-tests):
	* test/src/timefns-tests.el (format-time-string-with-zone)
	(encode-time-dst-numeric-zone):
	Revert recent changes that added a SUBSECS member to
	calendrical timestamps, since that component is no longer
	present (the info, if any, is now in the SECONDS member).
	* lisp/calendar/time-date.el (decoded-time-add)
	(decoded-time--alter-second):
	Support fractional seconds in the new form.  Simplify.
	* src/timefns.c (Fdecode_time): Support new arg FORM.
	(Fencode_time): Support subsecond resolution.
	* test/src/timefns-tests.el (format-time-string-with-zone)
	(decode-then-encode-time): Test subsecond calendrical timestamps.

2019-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	Broaden format-seconds to Lisp timestamps

	* lisp/calendar/time-date.el (format-seconds):
	Accept any Lisp timestamp instead of insisting on a number.

2019-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	Subtracting “now” from “now” should yield zero

	* src/timefns.c (time_arith): Arrange for (time-subtract nil
	nil) to yield 0, to be consistent with (time-equal-p nil nil).
	* test/lisp/calendar/time-date-tests.el (test-time-since): New test.

2019-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	Fix time-add rounding bug

	Without this fix, time arithmetic yielded results that were not
	mathematically accurate, even though the exact results were
	representable; for example, (time-add 0 1e-13) yielded a timestamp
	equal to 0 instead of to 1e-13.
	* lisp/timezone.el (timezone-time-from-absolute):
	Let time-add do its thing rather than using floating point
	internally, which has rounding errors.  We now have bignums and so
	don’t need floating point to avoid overflow issues.
	* src/timefns.c (timeform_sub_ps_p): New function.
	(time_arith): If either argument is a float, represent the
	result exactly instead of discarding sub-ps info.
	* test/lisp/timezone-tests.el (timezone-tests-time-from-absolute):
	Don’t assume (HI LO US PS) timestamp format.
	* test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid):
	Don’t assume that time-add discards sub-ns info.
	* test/src/timefns-tests.el (time-rounding-tests):
	Add regression test to detect time-add rounding bug.

2019-08-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `next-multiframe-window' when talking about `other-window'

	* doc/emacs/windows.texi (Other Window): Mention
	the `next-multiframe-window' command here (which is otherwise not
	documented in the manual) (bug#12431).

2019-08-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Add missing skeleton entries in autotype.texi

	* doc/misc/autotype.texi: Add missing entries found in the doc
	string to `skeleton-insert' (bug#12563).

2019-08-16  Alex Branham  <alex.branham@gmail.com>

	Make checkdoc check cl-lib function docstrings

	* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
	Remove calls to delete-region to avoid deleting final " (bug#26328).
	* lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring)
	(checkdoc-defun-info): Include cl-defun, cl-defgeneric,
	cl-defmethod.
	(checkdoc-this-string-valid-engine): Add cl-lib supported
	keywords.
	(checkdoc-defun-info): Ensure function parameters are a
	"flat" list (bug#37034).

2019-08-16  Alex Branham  <alex.branham@gmail.com>

	Avoid deleting closing quotation mark in checkdoc

	* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
	Remove calls to delete-region to avoid deleting final " (bug#26328).

2019-08-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	Revert "package.el: Allow Package-Requires to span multiple lines (Bug#36301)"

	This reverts commit 19c1e4c81c7442dea48253e5961b6e54d78b6f0a.

	This commit broke some package tests, reverting for now.

2019-08-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention that text properties are removed in substitute-command-keys

	* src/doc.c (Fsubstitute_command_keys): Restore the bit in the doc
	string that mentions that text properties is removed (bug#17052).

2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some examples in "Adding Generalized Variables"

	* doc/lispref/variables.texi (Adding Generalized Variables): Add
	examples for `gv-define-expander' and `gv-letplace' (bug#13343).

2019-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	package.el: Allow Package-Requires to span multiple lines (Bug#36301)

	* lisp/emacs-lisp/package.el (lm-header-multiline): Declare
	function.
	(package-buffer-info): Parse Package-Requires with
	lm-header-multiline instead of lm-header.
	(Bug#36301)

2019-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	Do not recreate full URL for proxied HTTPS requests (Bug#35969)

	* lisp/url/url-http.el (url-http-create-request): Do not recreate
	full URL for proxied HTTPS requests.
	(url-https-proxy-after-change-function): Do not bind
	url-http-proxy to nil before calling url-http-create-request.
	(Bug#35969)

2019-08-15  Andreas Merziger  <andreas.merziger@online.de>

	Make diary-european-date-forms elements mutually exclusive

	* lisp/calendar/calendar.el (diary-european-date-forms): Make the
	elements mutually exclusive (bug#13536).

2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up previous cl-def* changes in bovine

	* lisp/cedet/semantic/bovine/el.el (lambda): cl-defun* doesn't
	exist (bug#17005).
	(lambda): Add cl-defstruct.
	(semantic-up-context): Add cl- forms.

2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Reimplement the `fill-flowed' function to respect space stuffing

	* lisp/mail/flow-fill.el (fill-flowed): Reimplement the function
	to respect space-stuffing (bug#17190).

	* test/lisp/mail/flow-fill-tests.el
	(fill-flow-tests-fill-flowed-stuffed): New test.
	(fill-flow-tests-fill-flowed-decode): Rename the test so that it
	actually runs.

2019-08-15  Alex Branham  <alex.branham@gmail.com>

	Fix eshell-mode-map initialization

	* lisp/eshell/esh-mode.el (eshell-mode-map, eshell-command-map): Set
	up normal keymaps and prefix commands rather than re-initializing them
	in each eshell buffer

	* lisp/eshell/em-cmpl.el (eshell-cmpl-mode-map, eshell-cmpl-mode)
	(eshell-cmpl-initialize):
	* lisp/eshell/em-hist.el (eshell-hist-mode-map, eshell-hist-mode)
	(eshell-hist-initialize):
	* lisp/eshell/em-pred.el (eshell-pred-mode-map, eshell-pred-mode)
	(eshell-pred-initialize):
	* lisp/eshell/em-prompt.el (eshell-prompt-mode-map, eshell-prompt-mode)
	(eshell-prompt-initialize):
	* lisp/eshell/em-rebind.el (eshell-rebind-mode-map, eshell-rebind-mode)
	(eshell-rebind-initialize):
	* lisp/eshell/esh-arg.el (eshell-arg-mode-map, eshell-arg-mode)
	(eshell-arg-initialize):
	* lisp/eshell/esh-proc.el (eshell-proc-mode-map, eshell-proc-mode)
	(eshell-proc-initialize):
	* lisp/eshell/esh-var.el (eshell-var-mode-map, eshell-var-mode)
	(eshell-var-initialize): Create a new minor mode with a keymap and
	call it in the module initialization function.

	bug#33808
	bug#22792

2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename variables and functions with "auto-load" in their names

	* doc/emacs/building.texi (Lisp Libraries): Adjust documentation.

	* lisp/help-fns.el (help--symbol-completion-table): Adjust usage.

	* lisp/help-fns.el (help-enable-completion-autoload): Change name
	from auto-load and declare an obsolete alias (bug#13418).

	* lisp/help.el (help-enable-autoload): Ditto.

	* lisp/progmodes/vhdl-mode.el: Ditto.
	(vhdl-create-mode-menu, vhdl-mode): Adjust usage.
	(vhdl-autoload-project): Rename from auto-load and declare an
	obsolete alias.

2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove mentions of XEmacs from the Gnus manual and faq

	* doc/misc/gnus-faq.texi:
	* doc/misc/gnus.texi: Remove references to XEmacs throughout.

2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention what effect nil has as the prompt for read-event/char/etc

	* doc/lispref/commands.texi (Reading One Event): Mention that ""
	has the same effect as nil as a prompt.

	* src/lread.c (Fread_event, Fread_char_exclusive, Fread_char):
	Mention what happens when PROMPT is nil/"" in the doc string
	(bug#15012).

2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	etc/NEWS: Note that `list-processes' includes port numbers now.

2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix typeof portability issue with bitfields

	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2019-08/msg00300.html
	* src/lisp.h (lisp_h_make_fixnum): Use typeof (+(n)) instead
	of typeof (n), so that it works with compilers that do
	not allow typeof to be applied to a bitfield.

2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix rounding errors with float timestamps

	When converting from float to (TICKS . HZ) form, do the
	conversion exactly.  When converting from (TICKS . HZ) form to
	float, round to even precisely.  This way, successfully
	converting a float to (TICKS . HZ) and back yields a value
	numerically equal to the original.
	* src/timefns.c (flt_radix_power_size): New constant.
	(flt_radix_power): New static var.
	(decode_float_time): Convert the exact numeric value rather
	than guessing TIMESPEC_HZ resolution.
	(s_ns_to_double): Remove; no longer needed.
	(frac_to_double): New function.
	(decode_ticks_hz): It is now the caller’s responsibility to
	pass a valid TICKS and HZ.  All callers changed.
	Use frac_to_double to round (TICKS . HZ) precisely.
	(decode_time_components): When decoding nil, use
	decode_ticks_hz since it rounds precisely.
	(syms_of_timefns): Initialize flt_radix_power.
	* test/src/timefns-tests.el (float-time-precision): New test.

2019-08-15  Michael Albinus  <michael.albinus@gmx.de>

	Give auto-revert-test02-auto-revert-deleted-file a chance on hydra

	* test/lisp/autorevert-tests.el
	(auto-revert-test02-auto-revert-deleted-file): Don't skip on hydra.

2019-08-15  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp manual

	* doc/misc/tramp.texi (GVFS based methods): Explain using `ftp'
	and `smb' methods.

2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Debug out-of-range make_fixnum args

	With --enable-checking, make_fixnum (N) now checks that N is
	in fixnum range.  Suggested by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00548.html
	A new function make_ufixnum (N) is for the rare cases where N
	is intended to be unsigned and is in the range 0..INTMASK.
	* configure.ac (AC_C_TYPEOF): Add.
	(HAVE_STATEMENT_EXPRESSIONS): Resurrect this macro.
	* src/fns.c (Frandom, hashfn_eq, hashfn_equal, hashfn_user_defined):
	* src/profiler.c (hashfn_profiler):
	Use make_ufixnum rather than make_fixum, since the argument is
	an unsigned integer in the range 0..INTMASK rather than a signed
	integer in the range MOST_NEGATIVE_FIXNUM..MOST_POSITIVE_FIXNUM.
	Typically this is for hashes.
	* src/lisp.h (lisp_h_make_fixnum_wrap) [USE_LSB_TAG]:
	Rename from lisp_h_make_fixnum.
	(lisp_h_make_fixnum): Redefine in terms of lisp_h_make_fixnum_wrap.
	Check for fixnum overflow on compilers like GCC that
	have statement expressions and typeof.
	(FIXNUM_OVERFLOW_P): Move up.
	(make_fixnum): Check for fixnum overflow.
	(make_ufixnum): New function, which checks that the arg
	fits into 0..INTMASK range.

2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some fixnum overflow problems in ccl.c

	* src/ccl.c (ccl_driver, Fccl_execute, Fccl_execute_on_string):
	Don’t assume CCL registers fit into fixnums.

2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Port mod-test-nanoseconds to 32-bit Emacs

	* test/src/emacs-module-tests.el (mod-test-nanoseconds):
	Don’t assume -1000000000 is a fixnum.

2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Include port numbers in `M-x list-processes'

	* lisp/simple.el (list-processes--refresh): Include the port
	numbers in the network connection list (bug#13604).

2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some cl- concept index entries

	* doc/misc/cl.texi (Argument Lists): Add a couple of concept index
	entried (bug#13606).

2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the doc string of complete-with-action

	* lisp/minibuffer.el (complete-with-action): Doc string
	clarification (bug#13993).

2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up Gnus manual reference to XEmacs variables

	* doc/misc/gnus.texi (XVarious): Remove section about XEmacs
	variables that have been removed.

2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor Scroll Bars clarification

	* doc/emacs/frames.texi (Scroll Bars): Clarify what we mean by
	"customize" here (bug#14321).

2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Arrange custom-face-attributes closer to how heavy they are

	* lisp/cus-face.el (custom-face-attributes): Arrange the weights
	more in order of how heavy they are (bug#15526).

2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Use gnus-summary-button-forward in gnus-summary-mode-map

	* lisp/gnus/gnus-sum.el (gnus-summary-mode-map): Use
	`gnus-summary-button-forward' instead of the obsolete
	`gnus-summary-widget-forward'.

2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	Remove INT_ADD_WRAPV bug workarounds

	* src/alloc.c (free_cons):
	* src/casefiddle.c (do_casify_multibyte_string):
	* src/editfns.c (styled_format):
	* src/image.c (png_load_body):
	Remove recent workarounds for INT_ADD_WRAPV bugs since
	the bugs have been fixed (Bug#37006).

2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add C-b/f/p/n keystrokes in `M-x snake'

	* lisp/play/snake.el (snake-mode-map): Add the C-b/f/p/n in
	addition to the cursor keys (bug#16720).

2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-08-14 intprops: pacify picky GCC
	2019-08-14 intprops: support unsigned *_WRAPV results
	2019-08-12 verify: improve diagnostic quality in recent GCC
	* lib/intprops.h, lib/verify.h:	Copy from Gnulib.

2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Add cl-def* forms to bovine/el.el

	* lisp/cedet/semantic/bovine/el.el (lambda): Add the cl-def*
	variations to allow semantic to find the definitions (bug#17005).

2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't alter function name face height in manoj-dark theme

	* etc/themes/manoj-dark-theme.el (manoj-dark): Don't alter the
	height of function name faces, because this makes many tabulated
	modes not longer line up (bug#17042).

2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Respect the BUFFER parameter in `fill-flowed'

	* lisp/mail/flow-fill.el (fill-flowed): `current-buffer' is always
	non-nil, so respect the BUFFER parameter.  Also add a doc string.

2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Output the maintainer and author(s) in the package description buffer

	* lisp/emacs-lisp/package.el (describe-package-1): Output
	maintainer and author(s) (bug#17573).
	(package--print-email-button): New function.

2019-08-14  Eli Zaretskii  <eliz@gnu.org>

	Fix fetching URLs with stuff that looks like HTTP headers

	* lisp/url/url-http.el (url-http-parse-headers): Narrow the
	buffer to the headers at the beginning to make sure
	url-handle-content-transfer-encoding uses the correct
	headers.  (Bug#37023)

2019-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t increase consing_until_gc when out of memory

	* src/alloc.c (memory_full): Don’t increase consing_until_gc.
	Suggested by Eli Zaretskii (Bug#37006#46).

2019-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Let consing_until_gc exceed EMACS_INT_MAX

	This builds on the previous patch.
	* src/alloc.c (consing_until_gc): Now of type intmax_t,
	since gc-cons-threshold can be up to INTMAX_MAX.  All uses changed.
	* src/lisp.h (CONSING_CT_MAX, consing_ct): Remove.

2019-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Let consing_until_gc exceed INTPTR_MAX

	Suggested by Eli Zaretskii (Bug#37006#46).
	* src/alloc.c (consing_until_gc): Now of type consing_ct.
	All uses changed, so gc-cons-threshold no longer saturates
	against OBJECT_CT_MAX.
	(object_ct): Move typedef here from lisp.h.
	* src/lisp.h (consing_ct, CONSING_CT_MAX): New type and macro.
	(OBJECT_CT_MAX): Remove.  Replace all uses with CONSING_CT_MAX.

2019-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Fix GC threshold typo

	Problem reported by Eli Zaretskii (Bug#37006#25).
	* src/alloc.c (garbage_collect_1): Fix typo in threshold calc.
	Go back to dividing by 10 since the numerator’s a constant now.
	Problem introduced in 2019-07-21T02:40:03Z!eggert@cs.ucla.edu.

2019-08-13  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'diff-font-lock-prettify'

	* lisp/vc/diff-mode.el (diff-font-lock-prettify): Doc fix.

	* etc/NEWS: Minor copyedits.

2019-08-13  Eli Zaretskii  <eliz@gnu.org>

	Fix initialization of user-defined fringe bitmaps in daemon mode

	* src/fringe.c (gui_init_fringe): Rename from w32_init_fringe
	or x_cr_init_fringe, and make unconditionally compiled; all
	callers changed.  Do nothing if the frame's
	redisplay_interface doesn't implement the define_fringe_bitmap
	method.  Set up any user-defined fringe bitmaps in addition to
	the standard bitmaps.
	Suggested by Liam Quinlan <liamkquinlan@gmail.com> in
	https://lists.gnu.org/r/emacs-devel/2019-08/msg00259.html.

	(w32_reset_fringes) [HAVE_NTGUI]: Do nothing if the frame's
	redisplay_interface doesn't implement the
	destroy_fringe_bitmap method.

	* src/w32fns.c (Fx_create_frame): Call gui_init_fringe when
	the first GUI frame is created for this session.
	* src/dispextern.h (w32_init_fringe): Rename to
	gui_init_fringe and make unconditional.
	(x_cr_init_fringe): Remove prototype.

2019-08-12  Óscar Fuentes  <ofv@wanadoo.es>

	* lisp/password-cache.el: adapt test to change in password-in-cache-p

2019-08-12  Michael Albinus  <michael.albinus@gmx.de>

	Quote file names properly in Tramp

	* lisp/net/tramp.el (tramp-handle-file-truename)
	(tramp-handle-insert-directory):
	* lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
	(tramp-sh-handle-insert-directory):
	* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename):
	Use `tramp-compat-directory-name-p'.

	* lisp/net/tramp.el (tramp-drop-volume-letter)
	(tramp-handle-file-truename):
	* lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
	(tramp-sh-handle-file-truename):
	* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename):
	(tramp-sudoedit-handle-make-symbolic-link): Quote properly.

	* lisp/net/tramp-compat.el (tramp-compat-file-name-quote)
	(tramp-compat-file-name-unquote): Add optional argument TOP.

2019-08-12  Michael Albinus  <michael.albinus@gmx.de>

	Handle symbolic links properly in Tramp gfvs methods

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-readable-p):
	Handle symbolic links.

2019-08-12  Michael Albinus  <michael.albinus@gmx.de>

	Fix caching problem in Tramp smb method

	* lisp/net/tramp-cache.el (tramp-flush-file-upper-properties):
	Add "file-entries",

2019-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer signed when testing for signed overflow

	* src/alloc.c (free_cons):
	* src/casefiddle.c (do_casify_multibyte_string):
	* src/editfns.c (styled_format):
	* src/image.c (png_load_body):
	Use signed arguments to INT_MULTIPLY_WRAPV etc.  This doesn’t fix
	any bugs, but GCC emits better code when all args are signed.
	Also, this removes the need for an if in free_cons (Bug#37006).

2019-08-11  Óscar Fuentes  <ofv@wanadoo.es>

	password-cache: differentiate null values from non-existent entries

	* lisp/password-cache.el (password-in-cache-p, password-cache-add):
	  properly detect non-existent entry.  (Bug#36834)

2019-08-11  Eli Zaretskii  <eliz@gnu.org>

	Fix garbage collection

	* src/alloc.c (free_cons): Avoid false positives in
	INT_ADD_WRAPV.  (Bug#37006)

2019-08-11  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Prompt for new sieve script names in sieve management

	* lisp/net/sieve.el (sieve-edit-script): Otherwise the user ends up
	with a script named '<new script>.sieve'.

2019-08-11  Michael Albinus  <michael.albinus@gmx.de>

	Retrieve start time from remote machine, use compat attrib functions

	* lisp/net/tramp-compat.el (tramp-compat-file-attribute-access-time)
	(tramp-compat-file-attribute-status-change-time): New defaliases.

	* test/lisp/net/tramp-tests.el (tramp--test-start-time): New defvar.
	(tramp--test-file-attributes-equal-p)
	(tramp-test19-directory-files-and-attributes): Use it.
	(tramp-test18-file-attributes)
	(tramp--test-file-attributes-equal-p, tramp-test20-file-modes)
	(tramp-test22-file-times, tramp--test-check-files):
	Use `tramp-compat-file-attribute-*' functions.

2019-08-10  Glenn Morris  <rgm@gnu.org>

	Set custom :version for recently modified undo options

	* lisp/cus-start.el (undo-limit, undo-strong-limit, undo-outer-limit):
	Bump :version.

2019-08-10  Stefan Kangas  <stefankangas@gmail.com>

	* doc/emacs/calendar.texi (Time Intervals): Doc fix.

2019-08-10  Stefan Kangas  <stefankangas@gmail.com>

	Double undo limits

	* src/undo.c (syms_of_undo) <undo_limit, undo_strong_limit>
	<Vundo_outer_limit>: Double undo limits.  (Bug#31104)

2019-08-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	0860ac0 (origin/emacs-26) Improve documentation of features that use ...
	fae1ff6 Fix docstrings in pong
	82a2894 Improve doc strings of 'append-to-buffer' and friends
	cb0403d Fix octave-mode ElDoc support
	691790b Avoid Groff hanging on MS-Windows when invoked by "M-x man"

2019-08-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	e7818cb Fix nnmail-expiry-wait docs and custom :types
	8b7c776 * lisp/simple.el (kill-do-not-save-duplicates): Doc fix.  (Bu...

2019-08-10  Michael Albinus  <michael.albinus@gmx.de>

	Use a time offset when comparing times of local and remote machines

	* test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
	Use a time offset in order to compensate different times on local
	and remote machines.

2019-08-10  Mauro Aranda  <maurooaranda@gmail.com>

	Fix pong collision detection

	* lisp/play/pong.el (pong-update-game): If the ball hit the bat where
	bats are positioned, draw again the bat cell in the old ball
	position.  (Bug#20579).
	Also, avoid changing the direction of the ball right after hitting the
	bats, and improve the collision detection against the borders.

2019-08-10  Alex Gramiak  <agrambot@gmail.com>

	Set up defined_color_hook for the initial frame

	* src/terminal.c (init_initial_terminal): Set up the
	defined_color_hook.  This avoids crashes when running
	in batch mode with code that manipulates colors.
	(Bug#36019)

2019-08-10  Philippe Schnoebelen  <schnoebelen.ph@gmail.com>  (tiny change)

	Support bool-vectors in cl-extra.el

	* lisp/emacs-lisp/cl-extra.el (cl-coerce): Support bool-vector.

2019-08-09  Juri Linkov  <juri@linkov.net>

	* lisp/frameset.el (frameset--minibufferless-last-p): Add comments (bug#36894)

2019-08-09  Eli Zaretskii  <eliz@gnu.org>

	Fix highlighting in man pages displayed by "M-x man"

	* lisp/man.el (Man-highlight-references0): Handle the case
	when a section is divided between 2 or more chunks of text
	received from the 'man' program.  (Bug#36927)

2019-08-09  Eli Zaretskii  <eliz@gnu.org>

	Fix doc strings modified in recent changes

	* src/xfns.c (Fx_change_window_property)
	(Fx_delete_window_property, Fx_window_property)
	(Fx_window_property_attributes): Doc fixes.

2019-08-08  Noah Friedman  <friedman@splode.com>

	Provide better target window consistency across x window property functions.

	Use the argument name WINDOW-ID instead of SOURCE for same.
	Revise docstrings to clarify semantics of FRAME and WINDOW-ID.

	(Fx_change_window_property): Use `target_window' instead of `w'.
	This is consistent with other related functions.
	Finalize its value before blocking input.

	(Fx_window_property):
	(Fx_window_property_attributes): Use `window_id' instead of `source'.

	(Fx_delete_window_property): New optional arg window_id.

2019-08-08  Noah Friedman  <friedman@splode.com>

	(Fx_change_window_property): Rename SOURCE arg to WINDOW-ID

2019-08-08  Noah Friedman  <friedman@splode.com>

	(Fx_change_window_property): Add optional arg SOURCE.

	This provides symmetry with Fx_window_property, so that the window
	need not be an actual emacs frame.  This is useful for modifying
	properties of parent windows (specified with --parent-id to emacs) or
	generally assisting the window manager.

2019-08-08  Stefan Kangas  <stefankangas@gmail.com>

	Use "python -m pdb" when "pdb" is missing in M-x pdb

	* lisp/progmodes/gud.el (gud-pdb-command-name): Use "python -m pdb"
	when "pdb" is missing.  (Bug#21521)

2019-08-08  Noam Postavsky  <npostavs@gmail.com>

	Say how to enable event designators in the eshell manual

	* doc/misc/eshell.texi (History): Mention that event designators need
	to be enabled.
	* etc/NEWS: Mark corresponding entry as documented in manual.

2019-08-08  Michael Albinus  <michael.albinus@gmx.de>

	Work on Tramp backward compatibility

	* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
	(tramp-adb-handle-rename-file):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
	* lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
	(tramp-smb-handle-rename-file):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
	Use `tramp-compat-directory-name-p'.

2019-08-08  Michael Albinus  <michael.albinus@gmx.de>

	Improve time arithmetic in tramp--test-file-attributes-equal-p

	* test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
	Improve time arithmetic.

2019-08-08  Michael Albinus  <michael.albinus@gmx.de>

	Suppress false alarm in Tramp

	* lisp/net/tramp.el (tramp-dissect-file-name): Suppress false alarm.

2019-08-08  Stefan Kangas  <stefankangas@gmail.com>

	Suppress interactive-only warnings in undo-tests.el (Bug#36565)

	* test/src/undo-tests.el (undo-test-region-deletion)
	(undo-test-region-example, undo-test-marker-adjustment-nominal)
	(undo-test-region-t-marker, undo-test-marker-adjustment-moved)
	(undo-test-region-mark-adjustment): Suppress interactive-only warnings
	by using funcall-interactively.

2019-08-08  Mattias Engdegård  <mattiase@acm.org>

	Suppress relint errors in fortran.el

	* lisp/progmodes/fortran.el (fortran-indent-to-column):
	Suppress relint complaints about duplicated character in skip-set;
	it's intentional and harmless.

2019-08-08  Mattias Engdegård  <mattiase@acm.org>

	Fix XTerm OSC 52 selection retrieval (bug#36879)

	When asking XTerm for the selection via OSC 52, use ST as string
	terminator in the request to get ST as terminator in the reply,
	because BEL is messy to receive in many ways.

	* lisp/term/xterm.el (gui-backend-get-selection):
	Use ST as string terminator in request and reply.
	Use a time-out when reading the reply.

2019-08-07  Glenn Morris  <rgm@gnu.org>

	Tests need to be moved when source files are

	* test/lisp/obsolete/cl-tests.el: Move from test/lisp/emacs-lisp.

2019-08-07  Michael Albinus  <michael.albinus@gmx.de>

	Continue to work on Bug#36940

	* test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
	Make the check more precise.  (Bug#36940)

2019-08-07  Robert Pluim  <rpluim@gmail.com>

	Change nsm-should-check to look at local subnets

	* lisp/net/nsm.el (nsm-network-same-subnet): New function.  Checks
	if an ip address is in the same subnet as another one.
	(nsm-should-check): Use nsm-network-same-subnet to see if we're
	connecting to a local subnet machine.  Remove checks for RFC1918 addresses.

	* test/lisp/net/nsm-tests.el: New file.  Test nsm-should-check functionality.

2019-08-07  Robert Pluim  <rpluim@gmail.com>

	fixup! Implement hostname->ip lookup function

2019-08-06  Paul Eggert  <eggert@cs.ucla.edu>

	Re-port dump_bitset_clear to -fsanitize=undefined

	* src/pdumper.c (dump_bitset_clear): Skip the memset if the
	size is zero, because in that case the destination might be NULL.
	This fixes a bug introduced in 2019-07-26T06:17:52Zeggert@cs.ucla.edu.
	Add a comment to make the bug less likely to reoccur.

2019-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el (message-sendmail-f-is-evil): Revert recent change

	(bug#36937)

2019-08-06  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#36940

	* test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
	Make the check more precise.  (Bug#36940)
	(tramp-test19-directory-files-and-attributes): Move some checks to
	`tramp--test-file-attributes-equal-p'.

2019-08-06  Alan Mackenzie  <acm@muc.de>

	C++ Mode: Prevent End of statement being found after {} in "count << vec{} <<"

	* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Check for
	operators which cannot start a statement, which may follow a closing brace.
	Don't recognize an end of statement in such a case.

	* lisp/progmodes/cc-langs.el (c-operator-re, c-bin-tern-operators)
	(c-unary-operators, c-non-after-{}-operators, c-non-after-{}-ops-re): New lang
	consts and vars.

2019-08-06  Eli Zaretskii  <eliz@gnu.org>

	Fix minor compilation problems on MS-Windows

	* src/w32fns.c (Fdefault_printer_name): Fix size of local
	buffer.
	* src/image.c [WINDOWSNT]: Test __MINGW_MAJOR_VERSION as well
	to shut up compiler warnings.

2019-08-06  Mattias Engdegård  <mattiase@acm.org>

	Fix various Calc date conversions (bug#36822)

	* lisp/calc/calc-forms.el (math-absolute-from-gregorian-dt):
	Rewrite in a way that I understand, and that actually seems to work.
	(math-absolute-from-julian-dt): Use Julian, not Gregorian, leap year
	rules for counting days within a year.
	(math-julian-date-beginning, math-julian-date-beginning-int):
	Change constants to be consistent with their doc strings and the code:
	use Rata Die epoch at Dec 31, 1 BC Gregorian proleptic, not Julian.
	* doc/misc/calc.texi (Date Forms): Correct difference between Julian
	Day and Rata Die.
	* test/lisp/calc/calc-tests.el (calc-test-calendar): New test.

2019-08-06  Mattias Engdegård  <mattiase@acm.org>

	Add conditional operator xor to subr.el

	Suggested by Oleh Krehel and implemented by Basil Contovounesios in
	the following thread:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00547.html

	* lisp/array.el (xor): Move unused function from here...
	* lisp/subr.el: ...to here, and improve.
	* lisp/gnus/spam.el (spam-xor):
	* lisp/play/5x5.el (5x5-xor):
	* lisp/proced.el (proced-xor):
	* lisp/progmodes/idlwave.el (idlwave-xor):
	* lisp/vc/diff-mode.el (diff-xor): Define as obsolete aliases of,
	and replace all uses with, xor.
	* lisp/jsonrpc.el: Remove unused dependency on array.el.
	* lisp/org/org.el (org-xor): Move from here...
	* lisp/org/org-compat.el (org-xor): ...to here, as a compatibility
	shim for xor.
	* lisp/progmodes/idlw-shell.el (idlwave-shell-enable-all-bp):
	* lisp/simple.el (exchange-point-and-mark):
	* lisp/windmove.el (windmove-display-in-direction): Use xor.
	* lisp/strokes.el (strokes-xor): Remove commented-out xor
	implementation.

	* doc/lispref/control.texi (Control Structures): Extend menu entry
	for new combining condition.
	(Combining Conditions):
	* etc/NEWS (Lisp Changes): Document xor.

	* test/lisp/subr-tests.el (subr-test-xor): New test.

2019-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	Move cl.el to lisp/obsolete

	* lisp/emacs-lisp/cl.el: Move from here...
	* lisp/obsolete/cl.el: ...to here.

	* lisp/subr.el (do-after-load-evaluation): Use "deprecated" in the
	message when loading packages from lisp/obsolete.

2019-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/rfc2047.el (rfc2047-encodable-p): Don't require `message`.

	Use bound-and-true-p rather than requiring `message` to get
	message-posting-charset (since it defaults to nil anyway).

2019-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mh-e: Use cl-lib

	Also, use underscore prefixes and defvar in preparation for lexical binding

	* lisp/mh-e/mh-acros.el: Require cl-lib instead of cl.
	Rename all cl.el uses by adding `cl-` prefix.
	(mh-require-cl): Remove.  Not needed any more.  Remove all calls.
	(mh-defstruct): Remove.  Replace all uses with cl-defstruct.
	(mh-dlet*): New macro.

	* lisp/mh-e/mh-comp.el (mh-user-agent-compose): Fold all ignored
	optional args into the &rest arg.

	* lisp/mh-e/mh-e.el: Require cl-lib instead of using mh-require-cl.
	(mh-variants): Don't add-to-list on a local var.

	* lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer): Use shorter arg
	names that don't collide with global vars.

	* lisp/mh-e/mh-mime.el (mh-insert-mime-button):
	(mh-insert-mime-security-button): Use mh-dlet*.

	* lisp/mh-e/mh-search.el (mh-swish-next-result, mh-grep-next-result)
	(mh-namazu-next-result): Use `or`.

	* lisp/mh-e/mh-thread.el (mh-thread-generate)
	(mh-thread-prune-containers): Use underscore rather than declare+ignore.

	* lisp/mh-e/mh-tool-bar.el (mh-tool-bar-define): Use mh-dlet*.
	(mh-tool-bar-define): Prefer the more precise \`...\' regexp ops.
	Prefer Elisp's `eval-and-compile` over `cl-eval-when`.

	* lisp/mh-e/mh-xface.el (mh-picon-get-image): Don't use
	mh-funcall-if-exists for ietf-drums-parse-address.
	Avoid the use of `cl-return` and hence use plain `defun`.
	Replace some `cl-loop` with `dolist`.

2019-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	decode-time now returns subsec too

	The list that decode-time returns now contains an extra
	trailing component that counts the subseconds part of the
	original timestamp (Bug#36549).
	This builds on a suggestion by Lars Ingebrigtsen in:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00734.html
	* doc/lispref/os.texi (Time Conversion):
	* doc/misc/emacs-mime.texi (time-date):
	* etc/NEWS: Document this.
	* lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
	* lisp/calendar/iso8601.el (iso8601-parse)
	(iso8601-parse-time, iso8601-parse-duration)
	(iso8601--decoded-time):
	* lisp/calendar/parse-time.el (parse-time-string):
	* lisp/calendar/time-date.el (make-decoded-time)
	(decoded-time-set-defaults):
	* lisp/org/org.el (org-fix-decoded-time)
	(org-parse-time-string):
	* src/timefns.c (Fdecode_time):
	Generate subsec member for decoded time.
	* lisp/calendar/time-date.el (decoded-time-add)
	Add the decoded subsec too.
	* lisp/simple.el (decoded-time): New subsec member.
	* src/data.c (Frem): Simplify zero-check to match that of new Fmod.
	(integer_mod): New function, with most of the guts of the old Fmod.
	Remove redundant zero-check.
	(Fmod): Use it.
	* src/timefns.c (Fencode_time): Handle new subsec member
	or (with the obsolescent calling convention) subsec arg.
	It defaults to 0.
	* test/lisp/calendar/icalendar-tests.el:
	(icalendar--decode-isodatetime):
	* test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
	(test-iso8601-date-dates, test-iso8601-date-obsolete)
	(test-iso8601-date-weeks, test-iso8601-date-ordinals)
	(test-iso8601-time, test-iso8601-combined)
	(test-iso8601-duration, test-iso8601-intervals)
	(standard-test-dates, standard-test-time-of-day-fractions)
	(standard-test-time-of-day-beginning-of-day)
	(standard-test-time-of-day-utc)
	(standard-test-time-of-day-zone)
	(standard-test-date-and-time-of-day, standard-test-interval):
	* test/lisp/calendar/parse-time-tests.el (parse-time-tests):
	* test/src/timefns-tests.el (format-time-string-with-zone)
	(encode-time-dst-numeric-zone):
	Adjust to match new behavior.

2019-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	New function time-convert

	This replaces the awkward reuse of encode-time to both convert
	calendrical timestamps to Lisp timestamps, and to convert Lisp
	timestamps to other forms.  Now, encode-time does just the
	former and the new function does just the latter.
	The new function builds on a suggestion by Lars Ingebrigtsen in:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00801.html
	and refined by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00803.html
	* doc/lispref/os.texi (Time of Day, Time Conversion):
	* doc/misc/emacs-mime.texi (time-date):
	* etc/NEWS: Update documentation.
	* lisp/calendar/cal-dst.el (calendar-next-time-zone-transition):
	* lisp/calendar/time-date.el (seconds-to-time, days-to-time):
	* lisp/calendar/timeclock.el (timeclock-seconds-to-time):
	* lisp/cedet/ede/detect.el (ede-detect-qtest):
	* lisp/completion.el (cmpl-hours-since-origin):
	* lisp/ecomplete.el (ecomplete-add-item):
	* lisp/emacs-lisp/cl-extra.el (cl--random-time):
	* lisp/emacs-lisp/timer.el (timer--time-setter)
	(timer-next-integral-multiple-of-time):
	* lisp/find-lisp.el (find-lisp-format-time):
	* lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
	* lisp/gnus/gnus-group.el (gnus-group-set-timestamp):
	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-show-org-agenda):
	* lisp/gnus/nnrss.el (nnrss-normalize-date):
	* lisp/gnus/nnspool.el (nnspool-request-newgroups):
	* lisp/net/ntlm.el (ntlm-compute-timestamp):
	* lisp/net/pop3.el (pop3-uidl-dele):
	* lisp/obsolete/vc-arch.el (vc-arch-add-tagline):
	* lisp/org/org-clock.el (org-clock-get-clocked-time)
	(org-clock-resolve, org-resolve-clocks, org-clock-in)
	(org-clock-out, org-clock-sum):
	* lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36):
	* lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
	* lisp/proced.el (proced-format-time):
	* lisp/progmodes/cc-cmds.el (c-progress-init)
	(c-progress-update):
	* lisp/progmodes/cperl-mode.el (cperl-time-fontification):
	* lisp/progmodes/flymake.el (flymake--schedule-timer-maybe):
	* lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
	(vhdl-fix-case-region-1):
	* lisp/tar-mode.el (tar-octal-time):
	* lisp/time.el (emacs-uptime):
	* lisp/url/url-auth.el (url-digest-auth-make-cnonce):
	* lisp/url/url-util.el (url-lazy-message):
	* lisp/vc/vc-cvs.el (vc-cvs-parse-entry):
	* lisp/vc/vc-hg.el (vc-hg-state-fast):
	* lisp/xt-mouse.el (xterm-mouse-event):
	* test/lisp/emacs-lisp/timer-tests.el:
	(timer-next-integral-multiple-of-time-2):
	Use time-convert, not encode-time.
	* lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
	Don’t use now-removed FORM argument for encode-time.
	It wasn’t crucial anyway.
	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add time-convert.
	* lisp/emacs-lisp/elint.el (elint-unknown-builtin-args):
	Update encode-time signature to match current arg set.
	* lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
	Use timer-convert with t rather than doing it by hand.
	* src/timefns.c (time_hz_ticks, time_form_stamp, lisp_time_form_stamp):
	Remove; no longer needed.
	(decode_lisp_time): Return the form instead of having a *PFORM arg.
	All uses changed.
	(time_arith): Just return TICKS if HZ is 1.
	(Fencode_time): Remove argument FORM.  All callers changed.
	Do not attempt to encode time values; just encode
	decoded (calendrical) times.
	Unless CURRENT_TIME_LIST, just return VALUE since HZ is 1.
	(Ftime_convert): New function, which does the time value
	conversion that bleeding-edge encode-time formerly did.
	Return TIME if it is easy to see that it is already
	of the correct form.
	(Fcurrent_time): Mention in doc that the form is planned to change.
	* test/src/timefns-tests.el (decode-then-encode-time):
	Don’t use (encode-time nil).

2019-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Fix minor Org timestamp inefficiencies

	* lisp/org/org-id.el (org-id-time-to-b36):
	Remove unnecessary ‘or’.
	* lisp/org/org.el (org-parse-time-string):
	Remove unnecessary ‘encode-time’.

2019-08-05  Juri Linkov  <juri@linkov.net>

	* lisp/cus-start.el: Add :safe to display-fill-column-indicator (bug#36861)

	(display-fill-column-indicator)
	(display-fill-column-indicator-column)
	(display-fill-column-indicator-character): Add :safe predicates.

2019-08-05  Juri Linkov  <juri@linkov.net>

	* lisp/frameset.el (frameset--minibufferless-last-p): Fix pcase-let.

	This makes frameset sorting stable.  (Bug#36894)

2019-08-05  Juri Linkov  <juri@linkov.net>

	* lisp/dired-x.el (dired-guess-shell-alist-default): Use git when possible.

	Check for Git backend and provide "git apply" for patch files (bug#36895).

2019-08-05  Juri Linkov  <juri@linkov.net>

	* lisp/dired.el (dired-special): Rename face from dired-socket (bug#24547).

	(dired-re-special): Rename from dired-re-socket.

2019-08-05  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-define-mode-toggle): Ensure isearch-mode is active.

	Call 'isearch-mode' when it's nil.  (Bug#36871)

2019-08-05  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation with CHECK_STRUCTS

	* src/pdumper.c (dump_hash_table): Update hash of
	HASH_Lisp_Hash_Table.  (Bug#36929)

2019-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make `view-lossage' output of chars read from `read-char' more logical"

	This reverts commit 1abf76877847226daa5ab7e07000ac1d4aba3478.

	This change apparently led to problems with kmacro.

2019-08-05  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp's caching

	* lisp/net/tramp.el (tramp-handle-add-name-to-file)
	(tramp-handle-write-region):
	* lisp/net/tramp-adb.el (tramp-adb-handle-make-directory)
	(tramp-adb-handle-delete-directory)
	(tramp-adb-handle-delete-file, tramp-adb-handle-write-region)
	(tramp-adb-handle-set-file-modes)
	(tramp-adb-handle-set-file-times, tramp-adb-handle-copy-file)
	(tramp-adb-handle-rename-file):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
	(tramp-gvfs-handle-delete-directory)
	(tramp-gvfs-handle-delete-file)
	(tramp-gvfs-handle-make-directory)
	(tramp-gvfs-handle-set-file-modes)
	(tramp-gvfs-handle-set-file-times, tramp-gvfs-set-file-uid-gid):
	* lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file)
	(tramp-rclone-handle-delete-directory)
	(tramp-rclone-handle-delete-file):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
	(tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
	(tramp-sh-handle-add-name-to-file)
	(tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file)
	(tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
	(tramp-sh-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
	(tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
	(tramp-smb-handle-delete-directory)
	(tramp-smb-handle-delete-file)
	(tramp-smb-handle-make-directory-internal)
	(tramp-smb-handle-make-symbolic-link)
	(tramp-smb-handle-rename-file, tramp-smb-handle-write-region):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-add-name-to-file)
	(tramp-sudoedit-do-copy-or-rename-file)
	(tramp-sudoedit-handle-delete-directory)
	(tramp-sudoedit-handle-delete-file)
	(tramp-sudoedit-handle-set-file-modes)
	(tramp-sudoedit-handle-set-file-times)
	(tramp-sudoedit-handle-make-symbolic-link): Do not flush all file
	properties of upper directory.

	* lisp/net/tramp-cache.el (tramp-flush-file-upper-properties):
	New defun.
	(tramp-flush-file-properties, tramp-flush-directory-properties):
	Use it.

	* test/lisp/net/tramp-tests.el (tramp-time-diff): Declare.
	(tramp--test-file-attributes-equal-p): Handle also modification
	and status change time.

2019-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `view-lossage' output of chars read from `read-char' more logical

	* lisp/help.el (view-lossage): Use the new data format to output
	data from `read-char' and the like in a more understandable
	fashion (bug#21867).

	* src/keyboard.c (command_loop_1): Record (in recent_keys) the end
	of commands.
	(Frecent_keys): Don't include `end-of-command' in non-command outputs.
	(syms_of_keyboard): Define `end-of-command'.

2019-08-05  Lars Ingebrigtsen  <larsi@gnus.org>

	save-some-buffers-default-predicate doc clarification

	* lisp/files.el (save-some-buffers-default-predicate): Clarify
	calling convention.

2019-08-05  Martin Rudalics  <rudalics@gmx.at>

	Fix doc-strings of 'display-buffer-*' functions (Bug#19461)

	* lisp/window.el (display-buffer-in-atom-window)
	(display-buffer-in-side-window, display-buffer-record-window)
	(display-buffer-use-some-frame, display-buffer-same-window)
	(display-buffer-reuse-window, display-buffer-pop-up-frame)
	(display-buffer-pop-up-window, display-buffer-in-child-frame)
	(display-buffer-in-direction, display-buffer-below-selected)
	(display-buffer-at-bottom, display-buffer-in-previous-window)
	(display-buffer-use-some-window)
	(display-buffer--maybe-pop-up-frame-or-window)
	(display-buffer--maybe-pop-up-frame): Fix doc-strings
	(Bug#19461).

2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix one more 2019-08-04 regex lint

	Problem clarified by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-08/msg00087.html
	* lisp/isearch.el (isearch-symbol-regexp):
	Remove \s@ from regexp as it cannot match.

2019-08-04  Basil L. Contovounesios  <contovob@tcd.ie>

	Support reverting Apropos buffers (bug#36588)

	* lisp/apropos.el (apropos--current): New variable akin to
	help-xref-stack-item storing information for revert-buffer.
	(apropos--revert-buffer): New function.
	(apropos-mode): Use it as revert-buffer-function.
	(apropos-command, apropos, apropos-library, apropos-value)
	(apropos-local-value, apropos-documentation): Set apropos--current
	in low-level commands, i.e., those which do not call other commands.

2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix 2019-08-04 regex lint

	Problem reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-08/msg00085.html
	* lisp/calendar/diary-lib.el (diary-glob-file-regexp-prefix):
	Omit unnecessary ‘\’ before ordinary char.
	* lisp/cedet/inversion.el (inversion-decoders):
	* lisp/org/ob-haskell.el (org-babel-haskell-export-to-lhs):
	Omit unnecessary ‘?’ after nullable pattern.
	* lisp/org/org-capture.el (org-capture-fill-template):
	Match upper-case as well as lower-case letters.
	* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
	(c-after-change-mark-abnormal-strings):
	Simplify ‘.|\r’ to ‘.’.
	* lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
	Put ‘-’ at end of bracket expression.

2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak time arithmetic performance

	* src/timefns.c (lispint_arith): New function, which
	should be a bit faster if B is 0, or if A is a bignum
	and B a fixnum with absolute value in unsigned long range.
	(time_arith): Use it.

2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	Improve time function doc

	* doc/misc/emacs-mime.texi (time-date): Don’t give
	parse-iso8601-time-string in the example, as the function is
	not autoloaded.
	* lisp/gnus/nndiary.el (nndiary-compute-reminders):
	No need to call encode-time or use floating point here.

2019-08-04  Eli Zaretskii  <eliz@gnu.org>

	Fix the MS-Windows build broken by recent changes

	* src/inotify.c (syms_of_inotify) <Qignored>: Don't define here...
	* src/coding.c (syms_of_coding) <Qignored>: ...define it here,
	because it is needed also on platforms that don't compile
	inotify.c.

2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	Minor fix to recent coding.c change

	* src/coding.c (get_buffer_gap_address):
	Don’t assume string or buffer length fits in int.
	Also, improve wording of comments.

2019-08-04  Michael Albinus  <michael.albinus@gmx.de>

	* .dir-locals.el: Enable `bug-reference-mode' for further major modes.

2019-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Capitalize a couple of node names

	* doc/lispref/functions.texi (Advising Functions): Capitalize node
	names (bug#17717).
	(Advice Combinators, Porting Old Advice): Capitalize.

2019-08-04  Michael Heerdegen  <michael_heerdegen@web.de>

	Clarify macroexp-let* doc string

	* lisp/emacs-lisp/macroexp.el (macroexp-let2*): Clarify doc
	string (bug#19371).

2019-08-04  K. Handa  <handa@gnu.org>

	Add Unicode-safe UTF-8 converter

	* src/coding.c (encode_string_utf_8, decode_string_utf_8): New functions.
	* src/coding.h (encode_string_utf_8, decode_string_utf_8): Extern them.

2019-08-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Core Advising Primitives `interactive' clarification

	* doc/lispref/functions.texi (Core Advising Primitives): Clarify
	when the interactive spec is a function (bug#17871).

2019-08-04  Michael Albinus  <michael.albinus@gmx.de>

	Implement set-file-* functions for tramp-gvfs.el

	* lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping):
	Add "gvfs-set-attribute".
	(tramp-gvfs-file-name-handler-alist):
	Add `tramp-gvfs-handle-set-file-modes',
	`tramp-gvfs-handle-set-file-times' and
	`tramp-gvfs-handle-set-file-uid-gid'.
	(tramp-gvfs-handle-set-file-modes)
	(tramp-gvfs-handle-set-file-times)
	(tramp-sh-handle-set-file-uid-gid): New defuns.

	* lisp/net/tramp.el (tramp-handle-write-region): Set file modes.

	* test/lisp/net/tramp-tests.el (tramp-test20-file-modes)
	(tramp-test22-file-times): Do not skip for tramp-gvfs.el.

2019-08-04  Martin Rudalics  <rudalics@gmx.at>

	Fix two mouse drag and drop issues (Bug#28620, Bug#36269)

	Allow 'mouse-drag-and-drop-region' to move/copy text from one
	frame to another (Bug#28620).  Prevent mouse avoidance mode from
	interfering with 'mouse-drag-and-drop-region' (Bug#36269).

	* lisp/avoid.el (mouse-avoidance-ignore-p): Suspend avoidance
	when 'track-mouse' equals 'dropping'.
	* lisp/mouse.el (mouse-drag-and-drop-region): Set
	'track-mouse' to 'dropping'.  Continue reading events also
	when switching frames.
	* src/keyboard.c (Finternal_track_mouse): Rename from
	Ftrack_mouse.
	(some_mouse_moved): Return NULL also when mouse is not tracked.
	(show_help_echo, readable_events, kbd_buffer_get_event): Don't
	check whether mouse is tracked, some_mouse_moved does it now.
	(track_mouse): Rename variable from do_mouse_tracking.  Adjust
	all users.  In doc-string explain meanings of special values
	'dragging' and 'dropping'.
	* src/nsterm.m (ns_mouse_position): During drag and drop
	consider last mouse frame only when there is no currently
	focused frame.
	* src/w32fns.c (w32_wnd_proc): Don't set mouse capture during a
	drag and drop operation.
	* src/w32term.c (w32_mouse_position): Track frame under mouse
	during mouse drag and drop.
	(mouse_or_wdesc_frame): New function.
	(w32_read_socket): Call mouse_or_wdesc_frame on mouse events.
	* src/xdisp.c (define_frame_cursor1): Don't change mouse cursor
	shape during mouse drag and drop.
	(syms_of_xdisp): New symbol Qdropping.
	* src/xterm.c (XTmouse_position): Allow mouse drag and drop move
	to another frame
	(mouse_or_wdesc_frame): New function.
	(handle_one_xevent): Use mouse_or_wdesc_frame for mouse events.

2019-08-03  Noam Postavsky  <npostavs@gmail.com>

	Improved ChangeLog generation for vc log (Bug#16301)

	* lisp/vc/diff-mode.el (diff-find-source-location): Fix docstring.

	* lisp/vc/add-log.el (change-log-unindented-file-names-re)
	(change-log-read-entries, change-log-read-defuns)
	(change-log-insert-entries):
	* lisp/vc/diff-mode.el (diff-add-log-current-defuns):
	* lisp/vc/log-edit.el (log-edit--insert-filled-defuns)
	(log-edit-fill-entry): New functions.
	(log-edit-mode): Set `log-edit-fill-entry' as
	`fill-paragraph-function'.
	(log-edit-generate-changelog-from-diff): New command.
	(log-edit-mode-map): Bind it to C-c C-w.
	* doc/emacs/maintaining.texi (Types of Log File, Log Buffer):
	* CONTRIBUTE: Document it.
	* etc/NEWS: Announce it.
	* test/lisp/vc/log-edit-tests.el (log-edit-fill-entry)
	(log-edit-fill-entry-joining): New tests.

2019-08-03  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix Gnus group name reference in gnus-mark-xrefs-as-read

	* lisp/gnus/gnus-sum.el (gnus-mark-xrefs-as-read): There's already a
	local binding for "group", don't need another "name". This was left
	over from the obarray-to-hashtable change.

2019-08-03  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Temporarily preserve encoded Gnus group names in Gnus files

	Non-ascii Gnus groups should be written to files in their encoded
	version until we're ready to bump Gnus' version and add an upgrade
	routine.

	* lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format):
	* lisp/gnus/gnus-agent.el (gnus-category-read):
	  (gnus-category-write): Handle non-ascii group names appropriately.
	* lisp/gnus/gnus-registry.el (gnus-registry--munge-group-names): New
	  function to encode/decode group names.
	  (gnus-registry-fixup-registry):
	  (gnus-registry-save): Use function.

2019-08-03  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Remove Gnus group name encoding/decoding

	This completes the process started in c1b63af445. Gnus group names are
	now fully decoded inside the Gnus system.

	* lisp/gnus/gnus-agent.el (gnus-agent-file-coding-system): Change
	  default to utf-8-emacs.
	  (gnus-agent-decoded-group-names, gnus-agent-decoded-group-name):
	  Remove variable and function. Remove all usage in this file.
	* lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-names,
	  gnus-cache-unified-group-names, gnus-cache-decoded-group-name):
	  Remove these variables and function. Remove all usage in this file.
	* lisp/gnus/gnus-group.el (gnus-tmp-decoded-group): Remove this
	  variable, gnus-tmp-group is now decoded.
	  (gnus-group-completing-read): Don't encode or decode group names
	  here.
	  (gnus-group-make-group): Remove ENCODED argument.
	* lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Decode group
	  names here.
	* lisp/gnus/gnus-start.el (gnus-make-hashtable-from-newsrc-alist):
	  check for encoded group names and decode.
	  (gnus-active-to-gnus-format): Make sure incoming group names are
	  decoded.
	  (gnus-read-newsrc-el-file): Check for encoded group names in
	  gnus-topic-alist.
	* lisp/gnus/nnagent.el: Don't use a unibyte buffer.
	* lisp/gnus/nnheader.el (nnheader-file-coding-system): Switch default
	  from 'raw-text to 'undecided, on the assumption that 'undecided will
	  probably write 'utf-8-emacs unless the user has arranged things
	  otherwise.
	* lisp/gnus/nnimap.el (nnimap-decode-gnus-group,
	  nnimap-encode-gnus-group): Remove functions and their use.
	* lisp/gnus/nnmail.el (nnmail-parse-active): Remove encoding.
	  (nnmail-active-file-coding-system): Default to 'utf-8-emacs instead
	  of 'raw-text.
	  (nnmail-group-names-not-encoded-p): Obsolete this variable; stop
	  using it.
	* lisp/gnus/gnus-art.el:
	* lisp/gnus/gnus-cus.el:
	* lisp/gnus/gnus-msg.el:
	* lisp/gnus/gnus-start.el:
	* lisp/gnus/gnus-sum.el:
	* lisp/gnus/gnus.el:
	* lisp/gnus/nnml.el:
	* lisp/gnus/message.el:
	* lisp/gnus/nnrss.el: Stop using gnus-group-decoded-name in all these
	  files.

2019-08-03  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix ordering of Gnus groups after yanking

	* lisp/gnus/gnus-start.el (gnus-group-change-level): Fix docstring to
	note that the inserted group is inserted *before* the PREVIOUS
	group. Fix indexing -- shouldn't have been adding one to the index.

2019-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	Remove stale .pdmp files with ‘make clean’

	Problem reported by Sven Joachim (Bug#36907).
	* admin/make-emacs: Simplify, now that clean does versionclean.
	* src/Makefile.in ($(etc)/DOC, versionclean, extraclean):
	Don’t ignore rm -f failures.
	(versionclean): Also remove emacs-*.*.*[0-9].pdmp and ../etc/DOC*.
	(clean): Depend on versionclean and simplify.

2019-08-03  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/display.texi (SVG Images): Remove menu.

	Not needed since SVG Path Commands was changed to not be a node.

2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify hi-lock-file-patterns-prefix doc string

	* lisp/hi-lock.el (hi-lock-file-patterns-prefix): Clarify doc
	string (bug#17993).

2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `themed-value' in Variable Definitions node

	* doc/lispref/customize.texi (Variable Definitions): Mention
	`themed-value' (bug#17996).

2019-08-03  Oleh Krehel  <ohwoeowho@gmail.com>

	calc mode line touch up

	* lisp/calc/calc.el (calc-set-mode-line): Don't put excessive
	white space in mode line (bug#18079).

2019-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix rare undefined behaviors in replace-match

	* src/search.c (Freplace_match): Simplify by caching search_regs
	components.  Fix sanity check for out-of-range subscripts;
	it incorrectly allowed negative subscripts, subscripts
	equal to search_regs.num_regs, and it had undefined
	behavior for subscripts outside ptrdiff_t range.
	Improve wording of newly-introduced replace-match diagnostic.
	Rework use of opoint, to avoid setting point to an out-of-range value
	in rare cases involving modification hooks.

2019-08-03  Pierre-Yves Luyten  <py@luyten.fr>  (tiny change)

	cua-rect help: check for 'control value

	* lisp/emulation/cua-rect.el (cua-help-for-rectangle): Check for
	'control value (bug#18120).

2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	delete-backward/forward-char doc string clarification

	* lisp/simple.el (delete-backward-char): Doc string clarification
	(bug#18192).
	(delete-forward-char): Ditto.

2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	ido-find-file doc string addition

	* lisp/ido.el (ido-find-file): Mention ido-reread-directory
	(bug#18275).  Suggested by Rob Browning.

2019-08-03  Kevin Ryde  <user42_kevin@yahoo.com.au>

	easy-menu-define doc string fix

	* lisp/emacs-lisp/easymenu.el (easy-menu-define): Docstring :label and
	:help of the menu itself.

2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some function index entries for ido.texi

	* doc/misc/ido.texi: Add index entries for functions (bug#18691).

2019-08-03  Andreas Politz  <politza@hochschule-trier.de>

	Tweak tq queue processing

	* lisp/emacs-lisp/tq.el (tq-process-buffer): Pop the queue before
	calling the function because the function may add new entries to
	the queue (bug#19016).  Also report errors.

2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak tango-dark-theme highlight face

	* etc/themes/tango-dark-theme.el (class): Make highlight a bit
	less yellow to make the cursor visible on it (bug#19189).

2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix error message in replace-match for subexpressions

	* src/search.c (Freplace_match): Output a more understandable
	error message when replacing a subexpression (bug#19208).

2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify Freplace_match logic

	* src/search.c (Freplace_match): Add some doc strings to clarify
	the logic and do a minor clean up (bug#19208).

2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't refer to non-existent functions in mode line examples

	* doc/lispintro/emacs-lisp-intro.texi (Mode Line): Ditto.

	* doc/lispref/modes.texi (Mode Line Top): In the :eval example,
	use a function that exists to avoid confusion (bug#19224).

2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous macroexp-progn doc string fix

	* lisp/emacs-lisp/macroexp.el (macroexp-progn): Fix previous doc
	string clarification.

2019-08-03  Eli Zaretskii  <eliz@gnu.org>

	Minor doc fix in etags.el

	* lisp/progmodes/etags.el
	(etags-xref-find-definitions-tag-order): Doc fix.  (Bug#32510)

2019-08-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of debugging Lisp syntax error

	* doc/lispref/debugging.texi (Syntax Errors, Excess Open)
	(Excess Close): Name the commands invoked by the key
	sequences.  Add cross-references to appropriate sections of
	the Emacs manual.  (Bug#21385)

2019-08-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'display-buffer-*' functions

	* lisp/window.el (display-buffer-in-atom-window)
	(display-buffer-in-side-window, display-buffer-same-window)
	(display-buffer--maybe-same-window)
	(display-buffer-reuse-window)
	(display-buffer-reuse-mode-window)
	(display-buffer-pop-up-frame, display-buffer-pop-up-window)
	(display-buffer--maybe-pop-up-frame-or-window)
	(display-buffer--maybe-pop-up-frame)
	(display-buffer-in-child-frame, display-buffer-in-direction)
	(display-buffer-below-selected, display-buffer-at-bottom)
	(display-buffer-in-previous-window)
	(display-buffer-use-some-window, display-buffer-no-window):
	More details about the ALIST argument in the doc string.  (Bug#19461)

2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	macroexp doc fixes

	* lisp/emacs-lisp/macroexp.el (macroexp-progn): Doc clarification
	(bug#19371).
	(macroexp-let*): Doc fix.

2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	macroexp--cons doc fix

	* lisp/emacs-lisp/macroexp.el (macroexp--cons): Doc fix (bug#19371).

2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix some minor inconsistencies in the Package examples

	* doc/lispref/package.texi (Simple Packages): Use one of the
	approved keywords (bug#19490).

	* doc/lispref/tips.texi (Library Headers): Use URL instead of
	Homepage to make things consistent with "Simple Packages".

2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't but out on ~/.git files in ede

	* lisp/cedet/ede/detect.el (ede--detect-ldf-root-predicate): Make
	this work with ~/ as the dir (bug#19521).

2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	browse-url doc string fixup

	* lisp/net/browse-url.el (browse-url-browser-function)
	(browse-url-secondary-browser-function): Mention each other in the
	doc strings.

2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Make Info-find-file ensure that Info is initialized

	* lisp/info.el (Info-find-file): Ensure that Info is initialized,
	because libraries call that function (bug#19880).

2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix progression in hideshow.el

	* lisp/progmodes/hideshow.el (hs-hide-all): Ensure progression in
	a less brittle fashion (bug#19892).

2019-08-02  Michael Heerdegen  <michael_heerdegen@web.de>

	Fix example code in hideshow.el

	* lisp/progmodes/hideshow.el: The original example would infloop
	(bug#19892).

2019-08-02  Michael Albinus  <michael.albinus@gmx.de>

	Use default value of `parse-time-months' in tramp-smb.el

	* lisp/net/tramp-smb.el (tramp-smb-read-file-entry): Use default
	value of `parse-time-months'.

2019-08-02  Tassilo Horn  <tsdh@gnu.org>

	Improve pretty-printing of multiple JSON snippets in a region

	* lisp/json.el (json-pretty-print): Improve pretty-printing of
	multiple JSON snippets in a region.  Don't lose the region contents
	starting with the first non-JSON-parseable text.  Also, don't swallow
	errors that occurred while parsing (bug#34160).

2019-08-02  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix error in macro cache.  This fixes bug #36802

	* lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Add in a cond arm
	to handle the change position being less than the recorded CPP construct end.

2019-08-02  Basil L. Contovounesios  <contovob@tcd.ie>

	Make gravatar.el more configurable

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00528.html

	* etc/NEWS: Announce changes in gravatar.el user options.

	* lisp/image/gravatar.el (gravatar-cache-ttl): Change :type to
	number of seconds without changing the default value and while still
	accepting other timestamp formats.
	(gravatar-rating): Restrict :type to ratings recognized by Gravatar.
	(gravatar-size): Allow nil as a value, in which case Gravatar's
	default size is used.
	(gravatar-default-image, gravatar-force-default): New user options
	controlling the Gravatar query parameters 'default' and
	'forcedefault', respectively.
	(gravatar-base-url): Use HTTPS.
	(gravatar--query-string): New helper function to facilitate testing.
	(gravatar-build-url): Use it.

	* test/lisp/image/gravatar-tests.el (gravatar-size)
	(gravatar-default-image, gravatar-force-default)
	(gravatar-build-url): New tests.

2019-08-02  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix some minor gravatar.el issues

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00528.html
	* lisp/image/gravatar.el (gravatar-hash): Trim leading and trailing
	whitespace in given address, as per the Gravatar docs.
	(gravatar-retrieve-synchronously): Silence call to
	url-retrieve-synchronously for consistency with gravatar-retrieve.
	(gravatar-retrieved): Only cache buffer on successful retrieval.
	* test/lisp/image/gravatar-tests.el: New file.

2019-08-02  Basil L. Contovounesios  <contovob@tcd.ie>

	DRY in gravatar.el

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00528.html
	* lisp/image/gravatar.el (gravatar-data->image): Remove.
	(gravatar-retrieve, gravatar-retrieve-synchronously): Reuse
	url-fetch-from-cache and gravatar-retrieved to reduce duplication.
	(gravatar-retrieved): Only cache buffer if url-current-object is
	non-nil and return result of callback.  This affords reusing this
	function in cached URL buffers.

2019-08-02  Basil L. Contovounesios  <contovob@tcd.ie>

	Use lexical-binding for Gravatar support

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00528.html
	* lisp/gnus/gnus-gravatar.el: Use lexical-binding.  Link custom
	group 'gnus-gravatar' to 'gravatar'.
	(gnus-gravatar-size, gnus-gravatar-too-ugly): Doc fix.
	(gnus-gravatar-insert): Check liveness of article buffer sooner.
	(gnus-treat-from-gravatar, gnus-treat-mail-gravatar): Use
	interactive spec "p" instead of emulating it.
	* lisp/image/gravatar.el: Use lexical-binding.
	(gravatar-cache-expired): Remove.  Change all callers to use
	url-cache-expired instead.
	(gravatar-get-data, gravatar-retrieve)
	(gravatar-retrieve-synchronously): Simplify.

2019-08-02  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix spurious recognition of operators beginning with, e.g. "or"

	This fixes bug #36801.

	* lisp/progmodes/cc-langs.el (c-pre-lambda-tokens-re): Use c-make-keywords-re
	rather than regexp-opt to make an optimized regexp out of a list of tokens.

2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	pdb doc clarification

	* lisp/progmodes/gud.el (pdb): Clarify what the parameters mean
	(bug#20106).

2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention that some dired commands work on the current file, too

	* lisp/dired-aux.el (dired-do-search): Mention that it works on
	file under point (bug#20194).
	(dired-do-find-regexp-and-replace): Ditto.
	(dired-do-find-regexp): Ditto.

2019-08-02  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix the timing of application and removal of string fence properties

	This fixes bug #36897.

	* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Check
	string fence text properties are actually present on string delimiters before
	trying to remove them.
	(c-before-change): Amend the nesting of unwind-protect, widen,
	c-restore-string-fences, and c-clear-string-fences.  Move
	invalidate-state-cache to outside of the widening.
	(c-after-change): Amend the nesting of unwind-protect, widen,
	c-restore-string-fences, and c-clear-string-fences.

2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Use "rebinding keys" in the "Rebinding" section of the manual

	* doc/emacs/custom.texi (Rebinding): Use the term "rebinding keys"
	instead of "redefining keys", because the former seems more
	logical (bug#21036).

2019-08-02  Mattias Engdegård  <mattiase@acm.org>

	Clean up file-size-function

	It is now called `byte-count-to-string-function', and used instead of
	calling `file-size-human-readable' directly where appropriate.

	* lisp/files.el (file-size-human-readable-iec): New.
	(file-size-function): Rename to byte-count-to-string-function.  Better
	default value.  Eliminate lambda.  Better default for custom choice.
	Put in group `files'.  More descriptive doc string.  Move.
	(out-of-memory-warning-percentage, warn-maybe-out-of-memory)
	(get-free-disk-space):
	* lisp/dired.el (dired-number-of-marked-files):
	* lisp/url/url-http.el (url-http-simple-after-change-function)
	(url-http-content-length-after-change-function):
	Use byte-count-to-string-function.
	* test/lisp/files-tests.el (files-test-file-size-human-readable):
	Test file-size-human-readable-iec.

2019-08-02  Eli Zaretskii  <eliz@gnu.org>

	Mention font-backend related crashes in PROBLEMS

	* etc/PROBLEMS: Mention the crash in the Cairo build when
	.emacs.desktop messes with font-backend.  (Bug#36835)

2019-08-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix two parse-time-months invalid assumptions

	* lisp/gnus/nnimap.el: Do not require parse-time.
	* lisp/gnus/nnimap.el (nnimap-find-expired-articles):
	* lisp/net/pop3.el (pop3-make-date):
	Just use system-time-locale and format-time-string; no need to
	refer to parse-time-months.
	* lisp/net/pop3.el (parse-time-months): Remove defvar.
	* lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
	Add FIXME comment about this.

2019-08-01  Paul Eggert  <eggert@cs.ucla.edu>

	Port standard-test-interval to Los Angeles

	* test/lisp/calendar/iso8601-tests.el (standard-test-interval):
	Use UTC to avoid DST glitches in the test.

2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Document that --eval makes emacsclient ignore -n

	* doc/man/emacsclient.1: Mention that -n is ignored if --eval is
	given (bug#20524).

2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Document batch-byte-compile directory behavior

	* lisp/emacs-lisp/bytecomp.el (batch-byte-compile): Document the
	behavior with directories (bug#20867).

2019-08-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el (message-sendmail-f-is-evil): Update :version

2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Update URL in comment in gomoku.el

	* lisp/play/gomoku.el: Update the URL in the comments (bug#21300).

2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix reference to `tags-loop-continue' in doc string

	* lisp/dired-aux.el (dired-do-search): Refer to
	`fileloop-continue' instead of the obsolete `tags-loop-continue'
	(bug#21475).

2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `C-h b' in the Keymaps node

	* doc/emacs/custom.texi (Keymaps): Mention `C-h b' here (bug#21653).

2019-08-01  Daniel Barrett  <dbarrett@blazemonger.com>  (tiny change)

	Add PDF to the DocBook notation class

	* etc/schema/dbnotn.rnc: PDF is among the document types accepted
	(bug#21882).

2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Say that while returns nil

	* src/eval.c (Fwhile): Say that while always returns nil
	(bug#22006).

2019-08-01  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/display.texi (SVG Images): Add menu for subsection.

	Again.  This is needed for makeinfo-4.13.

2019-08-01  Eli Zaretskii  <eliz@gnu.org>

	Fix the ELisp manual part of a recent commit

	* doc/lispref/display.texi (SVG Images): Fix markup of "SVG
	Path Commands".  It is no longer a @node, but a @subheading.

2019-08-01  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix property stripping in image-file-yank-handler

	Fix proposed by Martin Rudalics <rudalics@gmx.at> in:
	https://lists.gnu.org/r/emacs-devel/2008-12/msg00945.html
	* lisp/image-file.el (image-file-yank-handler): Handle case when
	yank-excluded-properties is t.

2019-08-01  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix usage of remove-text-properties

	* lisp/allout-widgets.el (allout-decorate-item-icon):
	* lisp/emacs-lisp/chart.el (chart-goto-xy):
	* lisp/forms.el (forms--make-format)
	(forms--make-format-elt-using-text-properties):
	* lisp/htmlfontify.el (hfy-unmark-trailing-whitespace):
	* lisp/net/newst-plainview.el (newsticker-hide-entry)
	(newsticker-show-entry):
	* lisp/nxml/nxml-mode.el (nxml-cleanup):
	* lisp/obsolete/longlines.el (longlines-unshow-hard-newlines)
	(longlines-encode-region):
	* lisp/org/ob-exp.el (org-babel-exp-process-buffer):
	* lisp/org/org-agenda.el (org-agenda-show-new-time):
	* lisp/progmodes/cc-defs.el
	(c-clear-char-property-with-value-function)
	(c-clear-char-property-with-value-on-char-function):
	* lisp/progmodes/ebrowse.el (ebrowse--hide):
	* lisp/progmodes/gdb-mi.el (gdb-send):
	* lisp/progmodes/idlw-shell.el
	(idlwave-retrieve-expression-from-level):
	* lisp/progmodes/make-mode.el (makefile-fill-paragraph):
	* lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
	* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
	* lisp/tmm.el (tmm-remove-inactive-mouse-face):
	Always pass an explicit plist to remove-text-properties.

	* lisp/dired.el (dired--unhide):
	* lisp/facemenu.el (facemenu-add-face):
	* lisp/htmlfontify.el (hfy-fontify-buffer):
	* lisp/iimage.el (iimage-mode-buffer):
	* lisp/image-file.el (image-file-yank-handler):
	* lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
	* lisp/textmodes/tex-mode.el (latex-env-before-change):
	* test/src/undo-tests.el (undo-test0):
	Use remove-list-of-text-properties in place of
	remove-text-properties where appropriate.

2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string clarification for defcustom

	* lisp/custom.el (defcustom): Mention `custom-declare-variable' in
	the doc string(bug#22703).

2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `C-u RET' in erc use the secondary browser

	* lisp/erc/erc-button.el (erc-button-alist): Use the version of
	`browse-url' that interprets `C-u RET' as using the secondary browser.

2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded-time accessors in vc-cvs

	* lisp/vc/vc-cvs.el (vc-cvs-parse-entry): Use decoded-time
	accessors for results from `parse-time-string'.

2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded-time accessors in gnus-demon

	* lisp/gnus/gnus-demon.el (gnus-demon-time-to-step): Use
	decoded-time accessors for results from `parse-time-string'.

2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded-time accessors in esh-util

	* lisp/eshell/esh-util.el (eshell-parse-ange-ls): Use decoded-time
	accessors for results from `parse-time-string'.

2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code in esh-util

	* lisp/eshell/esh-util.el (eshell-parse-ange-ls): Remove
	older-Emacs compat code.

2019-08-01  Martin Rudalics  <rudalics@gmx.at>

	Add example for removing scroll bars/fringes from mini windows (Bug#8868)

	* doc/lispref/display.texi (Fringe Size/Pos): Mention example
	for how to permanently remove fringes from minibuffer windows.
	(Scroll Bars): Add example for how to permanently remove
	scroll bars and fringes from minibuffer windows.

2019-07-31  Paul Eggert  <eggert@cs.ucla.edu>

	format-time-string subsumes time-zone-format

	* lisp/calendar/time-date.el (time-zone-format):
	* test/lisp/calendar/time-date-tests.el (test-time-zone-format):
	Remove.
	* lisp/gnus/nnrss.el (nnrss-normalize-date):
	Use format-time-string instead of time-zone-format.

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Revert "Add support for paths to svg.el""

	This reverts commit 0a2461be9edb218bf9ca56156d8966a2421f13a7.

	Copyright paperwork is now in place, so the patch mistakenly applied
	can now be re-applied.

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore `replace-region-contents' in json-pretty-print

	* lisp/json.el (json-pretty-print): Switch back to using
	`replace-region-contents' to preserve markers and fonts which went
	missing when fixing the bug
	(bug#34160).
	(json-pretty-print-max-secs): Restore, too.

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more icalendar tests (for the isodatetime parser)

	* test/lisp/calendar/icalendar-tests.el
	(icalendar-tests--decode-isodatetime): Test
	`icalendar--decode-isodatetime'.

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Rewrite `url-dav-process-date-property' to use parse-time

	* lisp/url/url-dav.el (url-dav-iso8601-regexp): Remove.
	(url-dav-process-date-property): Rewrite to use
	`parse-iso8601-time-string'.

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix time zone in previous rewrite of newsticker--decode-iso8601-date

	* lisp/net/newst-backend.el (newsticker--decode-iso8601-date):
	According to the tests, this function should default to the Z time
	zone.

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Rewrite `parse-iso8601-time-string' to use `iso8601-parse'

	* lisp/calendar/parse-time.el (parse-iso8601-time-string): Use
	`iso8601-parse'.
	(parse-time-iso8601-regexp): Remove.

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow timezone defaults in decoded-time-set-defaults

	* lisp/calendar/time-date.el (decoded-time-set-defaults): Allow
	passing in a default time zone, as this seems to be something
	callers seem to do.

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Default DST to "undecided" in decoded-time-set-defaults

	* lisp/calendar/time-date.el (decoded-time-set-defaults): When we
	don't have a zone or a DST, set DST to "undecided".

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	decoded-time-dst doc fix

	* lisp/simple.el (decoded-time): Doc fix for dst (note -1 value).

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Use iso8601-parse in nnrss

	* lisp/gnus/nnrss.el (nnrss-normalize-date): Use iso8601-parse
	instead of hand-rolled parser.

	* test/lisp/gnus/nnrss-tests.el: New file.

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Make time-zone-format take a SHORT parameter

	* lisp/calendar/time-date.el (time-zone-format): Accept an
	optional SHORT parameter.

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new function time-zone-format

	* lisp/calendar/time-date.el (time-zone-format): New function.

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	`decoded-time-set-defaults' refactored out from iso8601 code

	* lisp/calendar/iso8601.el (iso8601--encode-time):
	* lisp/calendar/time-date.el (decoded-time-set-defaults):
	Refactor out from `iso8601--encode-time', because it's helpful
	in other contexts.

2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Have newsticker use iso8601 to parse dates

	* lisp/net/newst-backend.el (newsticker--decode-iso8601-date): Use
	iso8601 to parse.

2019-07-31  Michael Albinus  <michael.albinus@gmx.de>

	Call file notification actions properly in filenotify-tests.el

	* test/lisp/filenotify-tests.el (file-notify--test-wait-for-events):
	Rename from `file-notify--wait-for-events'.  Adapt all callees.
	(file-notify--test-cleanup): Reset also `file-notify--test-event'
	and `file-notify--test-file nil'.
	(file-notify--test-event-desc, file-notify--test-event-action):
	New accessor functions.
	(file-notify-test02-rm-watch, file-notify--test-event-test)
	(file-notify--test-with-actions-check)
	(file-notify--test-with-actions-explainer): Use them.
	(file-notify--test-with-actions-check)
	(file-notify--test-with-actions-explainer)
	(file-notify--test-with-actions): Rename them from *-events-*.
	Rename also internal variables accordingly.  Adapt all callees.

2019-07-31  Michael Albinus  <michael.albinus@gmx.de>

	Distinguish different file notification events

	* lisp/filenotify.el (file-notify--watch): Add docstring.
	(file-notify-descriptors, file-notify--rm-descriptor)
	(file-notify--pending-rename): Adapt docstring.
	(file-notify): New defstruct.
	(file-notify-handle-event): Rename argument to OBJECT.  Use
	accessor functions of the defstruct.

2019-07-31  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid intern calls for builtin syms

	* src/casefiddle.c (Fdowncase_region):
	* src/eval.c (Fdefvaralias):
	Use builtin symbol rather than calling intern.

2019-07-31  Paul Eggert  <eggert@cs.ucla.edu>

	Fix Fload infile problem

	* src/lread.c (Fload): Close window of vulnerability
	where the wrong stream could have been closed.

2019-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/lread.c (close_infile_unwind): Remove leftover debug code

2019-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/lread.c (infile): Set/reset it like a dynamically scoped variable

	I've seen segfaults where `infile` is nil when we get to
	readbyte_from_file, presumably because Fload set it to NULL (via
	close_infile_unwind) just before returning to its caller which was
	probably itself within another read/load and for some reason
	readevalloop didn't get to re-set `infile` like it used to do at every
	iteration.  I was not able to really track down the bug, but the way
	`infile` was set/reset seemed fragile and managing it like a standard
	dynamically-scoped var seems both safer (and more efficient since we
	don't need readevalloop to constantly re-set it).

	(readchar): Assert that `infile` is set if using a function the depends on it.
	(readbyte_from_file): Assert that `infile` is set.
	(close_infile_unwind): Reset `infile` to its previous value rather than
	to NULL.
	(Fload): Remember the previous value of `infile` before changing it.
	(readevalloop): Don't set `infile` any more.

2019-07-31  Paul Eggert  <eggert@cs.ucla.edu>

	Clarify (lognot bignum)

	* doc/lispref/numbers.texi (Bitwise Operations):
	Say that (= (lognot n) (- -1 n)).

2019-07-31  Michael Albinus  <michael.albinus@gmx.de>

	Fix an error in tramp-sh-inotifywait-process-filter

	* lisp/net/tramp-sh.el (tramp-sh-inotifywait-process-filter):
	Add default FILE to returned event, if inotifywait doesn't tell us.

2019-07-31  Noam Postavsky  <npostavs@gmail.com>

	Remove no-longer relevant xref

	* doc/lispref/positions.texi (List Motion): Remove xref, the text it
	references was removed in 2018-02-15 "Document
	open-paren-in-column-0-is-defun-start being of less importance".

2019-07-30  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	8fbe462 (origin/emacs-26) ; * doc/lispref/positions.texi (List Motion...
	1d9efc0 Add index for "\( in strings" (Bug#25195)
	304e96f Fix doc-string of 'fit-window-to-buffer' (Bug#36848)
	d4c4987 Update view-mode docstring
	d6ca1fc ; * lisp/term.el: Add missing / to esc seq commentary.
	b3e2073 Fix subproc listening when setting filter to non-t (Bug#36591)
	f671950 * etc/NEWS.25: Belatedly announce rcirc-reconnect-delay.
	7f42277 Mention term.el's \032 dir tracking in commentary (Bug#19524)
	16a529e Remove upload functionality of package-x from the elisp manual
	78e6c2a * etc/AUTHORS: Update.
	086a56e Clarify Gravatar docs
	0592467 * doc/lispref/display.texi (Defining Faces): Say a face can't...

	# Conflicts:
	#	doc/emacs/programs.texi
	#	etc/AUTHORS
	#	lisp/term.el

2019-07-30  Noam Postavsky  <npostavs@gmail.com>

	* lisp/emacs-lisp/let-alist.el: Bump version to 1.0.6 (Bug#23244).

2019-07-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el: Reduce redundancy with send-mail-function

	(message-send-mail-function) <function>: Remove `local-library` tests
	for libs distributed with Emacs.
	(message-use-send-mail-function): New function.
	(message-default-send-mail-function): Default to it, and remove cases
	already handled by it.
	(message--default-send-mail-function): New function.
	(message-send-mail-function) <variable>: Use it as new default.
	(message-sendmail-f-is-evil): Obey mail-specify-envelope-from if available.
	(message-check, message-with-reply-buffer): Use `declare`.
	(message-smtpmail-send-it): smtpmail accepts mail-header-separator,
	so simplify and declare obsolete.
	(message-send-mail-with-mailclient): Declare obsolete.
	(message-check-news-body-syntax): Don't presume that the checksum is
	a fixnum.

2019-07-30  Juri Linkov  <juri@linkov.net>

	* lisp/bindings.el (mode-line-defining-kbd-macro): New defvar.

	(minor-mode-alist): Use it for `defining-kbd-macro'.  (Bug#36564)

2019-07-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/sendmail.el (sendmail-send-it): Add FIXMEs.

	Remove redundant :groups in the file, as well.

2019-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>

	Merge commit '9b480db6732c6d2e886838f112d9bd46fc8989bf'

2019-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>

	Improve doc strings for some -search-path variables

	* lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-search-path):
	Improve doc string.

	* lisp/progmodes/compile.el (compilation-search-path): Improve doc
	string.

	* lisp/progmodes/grep.el (grep-search-path): Improve doc string.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `C-u RET' on URLs in Gnus buffers use the secondary browser

	* lisp/gnus/gnus-art.el (gnus-button-alist): Make `C-u RET' on
	URLs use the secondary browse-url browser.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak `browse-url-add-buttons' for better button.el comp

	* lisp/net/browse-url.el (browse-url-add-buttons): Make browse-url
	buttons be understood by `forward-button' and the like.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new conveniency function to browse-url

	* lisp/net/browse-url.el (browse-url-button-open-url): Add a new
	conveniency function.

2019-07-30  Dmitry Gutov  <dgutov@yandex.ru>

	Support filename matches in etags xref backend

	* lisp/progmodes/etags.el (etags--xref-find-definitions):
	Support filename matches (bug#32510).

2019-07-30  Dmitry Gutov  <dgutov@yandex.ru>

	Guard against flymake-no-changes-timeout being nil

	* test/lisp/progmodes/flymake-tests.el
	(flymake-tests--wait-for-backends): Guard against
	flymake-no-changes-timeout being nil (in personal configurations)
	to help when running tests interactively.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Call out the Gnus widget->button makeover in NEWS

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Convert Emacs article buffers from widget.el to button.el

	* lisp/gnus/gnus-art.el (gnus-mime-button-map)
	(gnus-url-button-commands, gnus-insert-mime-button)
	(gnus-mime-display-alternative)
	(gnus-article-extend-url-button, gnus-article-add-button)
	(gnus-insert-prev-page-button, gnus-insert-next-page-button)
	(gnus-mime-security-button-map)
	(gnus-insert-mime-security-button): Ditto.

	* lisp/gnus/gnus-html.el (gnus-html-displayed-image-map)
	(gnus-html-wash-images, gnus-html-put-image): Ditto.

	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-insert-button): Ditto.

	* lisp/gnus/gnus-sum.el (gnus-summary-widget-forward)
	(gnus-summary-button-forward, gnus-summary-widget-backward)
	(gnus-summary-button-backward, gnus-collect-urls-primary-text)
	(gnus-collect-urls, gnus-summary-browse-url): Stop using widgets
	and star using button.el buttons instead.

	* lisp/gnus/mm-decode.el (mm-shr, mm-handle-filename): Don't
	convert shr buttons into widgets.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark shr buttons as button.el buffers

	* lisp/net/shr.el (shr-urlify): Mark buttons as button.el buffers
	for easier reuse in buttonified buffers.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Convert ` to ' in two recent NEWS entries

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Extend button.el to take callback data

	* doc/lispref/display.texi (Button Buffer Commands)
	(Button Buffer Commands): Document this.
	* lisp/button.el (backward-button, forward-button): Accept a
	NO-ERROR parameter.
	(button-activate): Make it possible to have specific data in the
	callback action.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Re-fix dired-pop-to-buffer obsoletion reference

	* lisp/dired.el (dired-pop-to-buffer): Re-fix obsoletion reference
	(bug#26243).

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make `ispell-change-dictionary' only list installed dictionaries"

	This reverts commit 848712b481e16f5c96fed6344c2f7d71a8d52ed1.

	There could be dictionaries available (set via command-line options for the
	speller, for instance) that would not be returned.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded time accessors in ediff-mult

	* lisp/vc/ediff-mult.el (ediff-format-date): Use decoded time
	accessors.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded time accessors in pop3

	* lisp/net/pop3.el (pop3-make-date): Use decoded time
	accessors.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded time accessors in esh-util

	* lisp/eshell/esh-util.el (eshell-parse-ange-ls): Use decoded time
	accessors.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded time accessors in em-ls

	* lisp/eshell/em-ls.el (eshell-ls-file): Use decoded time
	accessors.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded time accessors in timer

	* lisp/emacs-lisp/timer.el (run-at-time): Use decoded time
	accessors.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded time accessors in timeclock

	* lisp/calendar/timeclock.el (timeclock-day-base): Use decoded time
	accessors.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded time accessors in time-date

	* lisp/calendar/time-date.el (time-to-days): Use decoded time
	accessors.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded time accessors in appt

	* lisp/calendar/appt.el (appt-check, appt-make-list): Use decoded
	time accessors.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix syntax error in previous calc-forms change

	* lisp/calc/calc-forms.el (calc-time): Fix previous decoded time
	change.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded time accessors in calendar

	* lisp/calendar/icalendar.el (icalendar--add-decoded-times)
	(icalendar--convert-sexp-to-ical):
	* lisp/calendar/calendar.el (calendar-current-date):
	* lisp/calendar/cal-dst.el (calendar-dst-find-data)
	(calendar-dst-find-startend): Use decoded time accessors.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded time accessors in Gnus

	* lisp/gnus/nnimap.el (nnimap-find-expired-articles):
	* lisp/gnus/nndiary.el (nndiary-compute-reminders)
	(nndiary-last-occurrence, nndiary-next-occurrence):
	* lisp/gnus/message.el (message-make-expires-date):
	* lisp/gnus/gnus-util.el (gnus-seconds-today)
	(gnus-seconds-month, gnus-seconds-year):
	* lisp/gnus/gnus-demon.el (gnus-demon-time-to-step):
	* lisp/gnus/gnus-art.el (article-make-date-line): Use decoded time
	accessors.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded time accessors in calc

	* lisp/calc/calc-forms.el (calc-time, math-this-year)
	(calcFunc-now): Use decoded time accessors.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use decoded time accessors in proced

	* lisp/proced.el (proced-format-start): Use decoded time accessors.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make description of text properties on the form `(string ...)' work

	* lisp/descr-text.el (describe-property-list): Don't special-case
	for symbols that have widget properties here (bug#22957).  It's
	not documented that this function should do that, and looking at
	the code, it doesn't seem like this function is actually used for
	doing that, either.  This makes describing some text properties
	that are on the form `(string ...)' work.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Use the elisp xref backend in profiler buffers

	* lisp/profiler.el (profiler--xref-backend): New function (bug#23455).
	(profiler-report-mode): Use it to use the elisp xref handler when
	hitting `M-.' in profiler buffers.

2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust time-date tests to tweaked format

2019-07-29  Juri Linkov  <juri@linkov.net>

	Highlight keyboard macro recording mode with read color in the mode-line

	* lisp/bindings.el (minor-mode-alist): Propertize " Def"
	with 'error' face for defining-kbd-macro.  (Bug#36564)

2019-07-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/vhdl-mode.el: Use cl-lib when available

	(vhdl--pushnew): New macro.  Use it instead of `pushnew`.
	(emacs-major-version): Don't bother checking (featurep 'xemacs)
	since that is always (< emacs-major-version 25) as well.

2019-07-29  Juri Linkov  <juri@linkov.net>

	* lisp/info.el (Info-toc-insert): Suppress same section names as node names.

	Add indentation to section lines.  (Bug#23142)

2019-07-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (decoded-time): Use `cl-defstruct`

2019-07-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add slot option :documentation

	Use it to improve the docstring of the accessor functions.

	* doc/misc/cl.texi: Rename menu entry to "CL-Lib".
	(Structures): Add ':documentation' and mention ':type' as well,
	which we don't completely ignore any more.

2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak how mm-display-external handles windows

	* lisp/gnus/mm-decode.el (mm-display-external): Don't delete other
	buffers when displaying parts (bug#22861) because that should be
	up to the user, probably.

2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add further documentation about semicolon use

	* doc/lispref/tips.texi (Comment Tips): Document the sub-heading
	convention (bug#23060) as explained by Stefan on StackExchange.

2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add an ISO 8601 parsing library

	* doc/lispref/os.texi (Time Parsing): Document it.

	* lisp/calendar/iso8601.el: New file.

	* test/lisp/calendar/iso8601-tests.el: Test ISO8601 parsing functions.

2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add support for dealing with decoded time structures

	* doc/lispref/os.texi (Time Conversion): Document the new
	functions that work on decoded time.
	(Time Calculations): Document new date/time functions.

	* lisp/simple.el (decoded-time-second, decoded-time-minute)
	(decoded-time-hour, decoded-time-day, decoded-time-month)
	(decoded-time-year, decoded-time-weekday, decoded-time-dst)
	(decoded-time-zone): New accessor functions for decoded time values.

	* lisp/calendar/time-date.el (date-days-in-month)
	(date-ordinal-to-time): New functions.
	(decoded-time--alter-month, decoded-time--alter-day)
	(decoded-time--alter-second, make-decoded-time): New functions
	added to manipulate decoded time structures.

	* src/timefns.c (Fdecode_time): Mention the new accessors.

	* test/lisp/calendar/time-date-tests.el: New file to test the
	decoded time functions and the other new functions.

2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in mh-*.el

	* lisp/mh-e/mh-speed.el (mh-speed-parse-flists-output):
	* lisp/mh-e/mh-search.el (mh-index-parse-search-regexp): Avoid
	warning about `values-list' by using `cl-values-list' instead.

2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid error when killing rcirc buffer

	* lisp/net/rcirc.el (rcirc-kill-buffer-hook): Delete the process
	in the buffer when killing server buffers to avoid triggering
	errors from the sentinel (bug#23168).

2019-07-28  Juri Linkov  <juri@linkov.net>

	* lisp/char-fold.el: Rename char-fold-make-table to char-fold--make-table.

2019-07-28  Juri Linkov  <juri@linkov.net>

	Move some uncontroversial char-folding pairs from test data to default values

	* lisp/char-fold.el (char-fold--default-include)
	(char-fold--default-exclude): Add some default values.

	* test/lisp/char-fold-tests.el (char-fold--test-without-customization)
	(char-fold--test-with-customization): Move some test data to
	default values.  Add more data for tests to pass.   (Bug#35689)

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename the new `browse-url-external-browser' variable

	* lisp/net/shr.el (shr-external-browser, shr-browse-url):
	* lisp/net/eww.el (eww-browse-with-external-browser)
	(eww-follow-link):
	* lisp/net/browse-url.el
	(browse-url-secondary-browser-function)
	(browse-url-button-open):
	* lisp/gnus/gnus-sum.el (gnus-summary-browse-url): Rename from
	`browse-url-external-browser' to
	`browse-url-secondary-browser-function'.

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make let-alist work with vectors

	* lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search):
	Descend into vectors, too, looking for dotted variables (bug#23244).

	Test case:

	(let-alist '((a . 1) (b . 2))
	  `[,(+ .a) ,(+ .a .b .b)])

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the image keymaps not extend after the image

	* lisp/image.el (insert-image): Make all the properties
	rear-nonsticky.  Before this change, the keymap would extend after
	the image.

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix when calling prettify-symbols-mode more than once

	* lisp/progmodes/prog-mode.el (prettify-symbols-mode): Allow
	calling this mode several times without the earlier symbol alist
	shadowing the newer (bug#23255).

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Abbreviate directory names the same way as file names in C-x C-b

	* lisp/buff-menu.el (Buffer-menu--pretty-file-name): Abbreviate
	directory file names, too (bug#23355).

2019-07-28  Andreas Schwab  <schwab@linux-m68k.org>

	* admin/notes/git-workflow: Replace git-new-workdir with git
	worktree and remove draft marker.

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak tango-dark-theme

	* etc/themes/tango-dark-theme.el: Add a lighter background color
	to `header-line' (bug#23359).

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Scale images in iimage-mode

	* lisp/iimage.el (iimage-mode-buffer): Scale images down to the
	width/height of the buffer (bug#23434).  Also add `image-map' to
	the images so that they can be further scaled.

2019-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Make atomic cell update in data area.

	* lisp/ses.el (ses-write-cells): Set inhibit-quit to t during the data
	  area write.

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make URLs in package descriptions into links

	* lisp/emacs-lisp/package.el (describe-package-1): Make the URLs
	in package descriptions into links (bug#23480).

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Enable browse-url to buttonize buffers

	This patch also moves the internal/external browser logic from
	shr to browse-url, where it belongs more naturally.

	* doc/misc/eww.texi (Basics): Adjust to browse-url-external-browser.

	* doc/misc/gnus.texi (Article Commands): Ditto.

	* lisp/gnus/gnus-art.el (gnus-button-url-regexp): Default to
	`browse-url-button-regexp', which has taken over the definition
	previously enjoyed by this variable.

	* lisp/gnus/gnus-sum.el (gnus-summary-browse-url): Adjust usage.

	* lisp/net/browse-url.el (browse-url--browser-defcustom-type): New
	internal variable...
	(browse-url-browser-function, browse-url-external-browser): Used
	by these two; the latter of which is a new variable.
	(browse-url-button-regexp): New variable.
	(browse-url-button-map): New keymap.
	(browse-url-button): New face.
	(browse-url-add-buttons): New function to add clickable browse-url
	buttons to almost any buffer.
	(browse-url-button-open): New command.
	(browse-url-button-copy): New command.

	* lisp/net/eww.el (eww-browse-with-external-browser)
	(eww-follow-link): Adjust usage.

	* lisp/net/shr.el (shr-external-browser): Make an obsolete alias
	of `browse-url-external-browser'.
	(shr-browse-url): Adjust usage.

2019-07-28  Alan Mackenzie  <acm@muc.de>

	CC Mode.  Fix (c-beginning-of-defun -1) getting stuck with structs.

	In particular, with an initialization such as struct foo {..} bar = {...};

	* lisp/progmodes/cc-cmds.el (c-forward-to-nth-EOF-{): Rename to
	c-forward-to-nth-EOF-\;-or-}, and when the starting (or ending) position is in
	the "variable" part of a struct/class/union/enum/etc., move to after the
	terminating semicolon.  Adjust the counting such that N only gets decremented
	on a successful movement over {..}.
	(c-beginning-of-defun, c-end-of-defun): Rename the calls to
	c-forward-to-nth-EOF-}, as above.

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make cl-values-list signal an error if its argument isn't a list

	* lisp/emacs-lisp/cl-lib.el (cl-values-list): Signal an error if
	LIST isn't a list (bug#23597).

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Have emacsbug only warn the user when sending to the bug address

	* lisp/mail/emacsbug.el (report-emacs-bug-hook): Only ask for
	confirmation if we're really sending the bug report to the bug
	address.  If the user is sending it somewhere else (to themselves,
	for instance), the warning is misleading.

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow the user to send a bug report after initially saying "no"

	* lisp/mail/emacsbug.el (report-emacs-bug-hook): Don't remove the
	address in the To: header (or the hook) after the user has said
	"no" (bug#23799).  This made it impossible for the user to do
	touch-ups and then resent the bug report.

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Always set the state of the "Show hidden files" gtk button

	* src/gtkutil.c (xg_get_file_with_chooser): Always set the state
	of the "Show hidden files" button (bug#23977).  If not, the
	visible state and the actual state get out of sync.

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `ispell-change-dictionary' only list installed dictionaries

	* lisp/textmodes/ispell.el (ispell-find-aspell-dictionaries): If
	the backend (i.e., aspell/hunspell) provided a list of languages,
	don't add the base list (bug#24050).
	(ispell-set-spellchecker-params): Ditto.

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up conf-mode-syntax-table slightly

	* lisp/textmodes/conf-mode.el (conf-mode-syntax-table): Remove
	superfluous backslash in ?\'.

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark block/char devices the same as sockets in dired

	* lisp/dired.el (dired-re-socket): Also mark block and char
	devices with the socket face (bug#24547).

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	`unknown' test case now works

2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix testcover.el usage of edebug.el symbols

	* lisp/emacs-lisp/testcover.el (testcover-before)
	(testcover-after, testcover-mark)
	(testcover-analyze-coverage-edebug-after): Adjust usage of
	`unknown' to `edebug-unknown' in testcover.el in addition to
	edebug.el (bug#25471).

2019-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/autoload.el: Make progress info more informative.

	(update-directory-autoloads): Include the name of the target file.

2019-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bytecomp.el (byte-compile-out-toplevel): Fix bug#34757

	This fix was provided by Pip Cet <pipcet@gmail.com>.  It tightens the
	code that tries to recognize a bytecode sequence as being a simple
	function call (to then decompile it), which occasionally misfired.

	I added some minor changes found while investigating this issue.

	(byte-compile): Handle corner case where byte-compile-top-level returns
	a non-self-evaluating expression.
	(byte-compile-out-toplevel): Remove support for `progn` and `t` values
	of output-type which aren't used anywhere.

2019-07-27  Alan Third  <alan@idiocy.org>

	Fix stretch glyphs overlap with line above (bug#36633)

	* src/nsterm.m (ns_dumpglyphs_stretch): Move overwriting of the
	clipping rectangle to after performing clipping.

2019-07-27  Paul Eggert  <eggert@day>

	Fix arithmetic overflow in GC consing count

	* src/alloc.c (allow_garbage_collection):
	Redo expression to avoid signed arithmetic overflow
	in an intermediate expression when CONSING is negative.

2019-07-27  Alan Mackenzie  <acm@muc.de>

	Java Mode: Fix handling of nested generics ending in >>>.

	This fixes bug #24671.

	* lisp/progmodes/cc-langs.el (c-multichar->-op-not->>-regexp): remove,
	transforming into ...
	(c-multichar->-op-not->>->>>-regexp) New lang const/var.

	* lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): use the new
	c-multichar->-op-not->>->>>-regexp in place of the old
	c-multichar->-op-not->>-regexp.

2019-07-27  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Adjust location of Gnus group split setup process

	Updating group splits requires the gnus-newsrc-hashtb to be
	initialized. Previously this failed silently, now it errors.

	* lisp/gnus/gnus-mlspl.el (gnus-group-split-setup): Don't call the
	update when loading the user's init file, that's too early. Use
	appropriate hooks depending on AUTO-UPDATE.
	* doc/misc/gnus.texi (Group Mail Splitting): Change mention in docs.

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Touch of latin-ltx input method for long arrows

	* lisp/leim/quail/latin-ltx.el: Map all the \\long.*arrow inputs
	to the long characters instead of the normal ones (i.e., LONG
	RIGHTWARDS ARROW instead of RIGHTWARDS ARROW) (bug#24302).

2019-07-27  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of 'redisplay-highlight-region-function'

	* lisp/simple.el (redisplay-highlight-region-function): Fix
	last change.  (Bug#24701)

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak font-locking in conf-mode for "#foo { bar" lines

	* lisp/textmodes/conf-mode.el (conf-font-lock-keywords): Don't
	font-lock comments as keywords (bug#24355).

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Make dired fontify pipes and sockets

	* lisp/dired.el (dired-socket): New face for pipes and sockets
	(bug#24547).
	(dired-re-socket): New regexp to match them.
	(dired-font-lock-keywords): Use them.

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a doc string to redisplay-highlight-region-function

	* lisp/simple.el (redisplay-highlight-region-function): Add a doc
	string (bug#24701).

2019-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/compile.el: Fix bug#36803.

	Make sure all mode-lines are updated when compilation-in-progress
	is changed since it's visible globally.

	(compilation--update-in-progress-mode-line): New function.
	(compilation-start, compilation-sentinel): Use it.

2019-07-27  Alan Mackenzie  <acm@muc.de>

	CC Mode: Stop /**/ spuriously fontifying as a doc comment under gtkdoc

	Also fix infinite loops by correcting two regexps.

	* lisp/progmodes/cc-langs.el (c-last-c-comment-end-on-line-re)
	(c-last-open-c-comment-start-on-line-re): Correct the regexp fragments
	"\\*+[^/]" to "\\*+\\([^*/]\\|$\\)".

	* lisp/progmodes/cc-fonts.el (gtkdoc-font-lock-keywords): Disallow /**/ for
	doc comment fontification.

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix for package-menu-filter

	* lisp/emacs-lisp/package.el (package-menu-filter): Document the
	use of arc:ARCHIVE and status:STATUS (bug#24883).

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow serial-term to take an optional argument for line-mode

	* lisp/term.el (serial-term): Allow taking an optional argument to
	avoid term-raw-mode (bug#24922).

	* doc/lispref/processes.texi (Serial Ports): Document it.

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Only insert XML declarations in nxml-mode when the buffer is empty

	* lisp/nxml/nxml-mode.el (nxml-mode): Don't insert the XML
	declaration unless it's an empty buffer (bug#24978).  This avoids
	the problem of the declaration being inserted by mistake when
	opening XML files from archives and the like -- the file doesn't
	exist on the file system there, either, so it would typically lead
	to doubled XML declarations.

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	edebug.el comment fix

	* lisp/emacs-lisp/edebug.el: Fix comment referring to non-existent
	variable (bug#25188).

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify yank-pop doc string

	* lisp/simple.el (yank-pop): Mention `kill-ring' to make it more
	clear what the command is doing (bug#25196).

2019-07-27  Eli Zaretskii  <eliz@gnu.org>

	Move tty-colors-tests.el to its proper directory.

2019-07-27  Pip Cet  <pipcet@gmail.com>

	Use the CSS convention for #RGB colors (bug#36304)

	* src/xterm.c (x_parse_color): Change interpretation of #RGB color
	triplets to match CSS rather than X conventions.

	* lisp/term/tty-colors.el (tty-color-standard-values): Change
	interpretation of #RGB color triplets to match CSS rather than X
	conventions.  Allow upper-case digits.  Fix rgb:R/G/B
	interpretation.

	* doc/emacs/display.texi (Colors): Specify the convention used for
	"#RGB" color triplets.

	* test/lisp/term/tty-colors-tests.el: New file.

	* etc/NEWS: Mention the change.

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow global-auto-revert-ignore-buffer to be a predicate function

	* lisp/autorevert.el (global-auto-revert-ignore-buffer): Allow
	this to be a predicate function (bug#25277).
	(auto-revert--global-add-current-buffer): Use it.

2019-07-27  Pip Cet  <pipcet@gmail.com>

	Don't double-decompress cached HTTP responses (bug#36773)

	* lisp/url/url-http.el (url-handle-content-transfer-encoding): Modify
	the message headers as well as the message body to reflect
	decompression.
	* lisp/mail/mail-utils.el (mail-fetch-field): Add DELETE argument, to
	delete header lines included in the result.

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename coverage symbols in edebug to avoid collisions

	* lisp/emacs-lisp/edebug.el (edebug-clear-coverage): Use
	edebug-unknown and edebug-ok-coverage instead of unknown and
	ok-coverage to avoid naming collisions with packages that use
	those two symbols (bug#25471).
	(edebug--update-coverage, edebug-display-freq-count): Ditto.

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow directory-files-recursively to follow symlinks

	* doc/lispref/files.texi (Contents of Directories): Document it.

	* lisp/files.el (directory-files-recursively): Allow following
	symlinks.

2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>

	define-derived-mode doc string clarification

	* lisp/emacs-lisp/derived.el (define-derived-mode): Doc string
	clarification about the keywords (bug#26301).

2019-07-26  Noam Postavsky  <npostavs@gmail.com>

	Clarify docstring of last-command-event.

	* src/keyboard.c (syms_of_keyboard) <last-command-event>: Reword docstring.

2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	Adjust remaining uses of `NILP (HASH_HASH)`.

	* src/json.c (lisp_to_json_toplevel_1):
	* src/pdumper.c (dump_hash_table_stable_p, hash_table_contents):
	* src/print.c (print, print_vectorlike):
	* src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
	Use `EQ (HASH_KEY, Qunbound)` instead of `NILP (HASH_HASH)`.

2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	Don't dump the `hash` vector if it will need to be recomputed anyway

	* src/fns.c (hash_table_rehash): Only set `hash` field at the end.
	(sweep_weak_table): Only set slot of `hash` vector when that vector exists.
	(Fhash_table_count): No need to hash_rehash_if_needed any more.

	* src/lisp.h (hash_rehash_needed_p): Test the presence of `hash` instead.

	* src/pdumper.c (check_hash_table_rehash, dump_hash_table):
	Set `hash` to nil to indicate that the table needs to be rehashed.

2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fns.c: Use `EQ (key, Qunbound)` to check if a slot is in use

	(make_hash_table): Use Qunbound for the key_and_value table.
	(maybe_resize_hash_table): Set new key_and_value slots to Qunbound.
	(hash_table_rehash): Don't bother copying the old table of hashes since
	we're recomputing it completely.
	(hash_table_rehash): Use hash_rehash_needed_p more.
	(hash_put): Add assertion that the slot was indeed considered empty.
	(hash_remove_from_table, hash_clear, sweep_weak_table): Set empty
	slot's key to Qunbound.
	(Fmaphash): Use `EQ (key, Qunbound)` to check if a slot is in use.

	* src/lisp.h (struct Lisp_Hash_Table): Update comments.

2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fns.c (hash_index_size): New function, extracted from make_hash_table

	(make_hash_table, maybe_resize_hash_table): Use it.

	* src/pdumper.c (check_hash_table_rehash): Use hash_rehash_needed_p.

2019-07-26  Alan Mackenzie  <acm@muc.de>

	CC Mode.  Create lang vars for certain skipping expressions at compile time

	This saves repeated calculations at run time.

	* lisp/progmodes/cc-langs.el (c-stmt-boundary-skip-chars)
	(c-stmt-boundary-skip-list, c-stmt-boundary-skip-chars-with-comma)
	(c-stmt-boundary-skip-list-with-comma): New lang constants/variables.

	* lisp/progmodes/cc-engine.el (c-commas-bound-stmts): New variable
	(c-beginning-of-statement-1): Set c-commas-bound-stmts rather than
	c-stmt-delim-chars.
	(c-crosses-statement-barrier-p): Remove the now unneeded calculations of
	c-stmt-delim-chars.  Set skip chars to one of the new lang variables, and
	later to a substring of it.
	(c-at-statement-start-p): Set c-syntactic-skip-backward from the new
	variables.
	(c-at-expression-start-p): Bind c-commas-bound-stmts.  Use
	c-stmt-delim-chars-with-comma rather than c-stmt-delim-chars in a backward
	scan.
	(c-guess-basic-syntax): Bind c-commas-bound-stmts rather than
	c-stmt-delim-chars to itself.  Bind c-commas-bound-stmts to t at another place
	rather than setting c-stmt-delim-chars to c-stmt-delim-chars-with-comma.

2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fns.c (maybe_resize_hash_table): Obey rehash_size (bug#25743)

2019-07-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix recently-introduced file-name-absolute-p typo

	Fix a bug introduced in 2019-07-24T21:28:13!eggert@cs.ucla.edu.
	* src/fileio.c (file_name_absolute_p):
	~/foo is also absolute (Bug#36809).
	* test/src/fileio-tests.el (fileio-tests--file-name-absolute-p):
	Rename from fileio-tests--no-such-user and add more tests.

2019-07-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix ‘make check’ failure

	Problem introduced in 2019-07-26T07:08:40!larsi@gnus.org.
	* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
	Don’t count "0 unexpected" as unexpected.

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the display in gnus-summary-browse-url

	* lisp/gnus/gnus-sum.el (gnus-summary-browse-url): Don't force
	article conf, because the command may be called from the article
	buffer (which may be the only buffer displayed).

2019-07-26  Noam Postavsky  <npostavs@gmail.com>

	* lisp/mail/footnote.el (footnote--local-advice): Add missing comma.

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Separate out the "/" prefix into a named keymap in ibuffer

	* lisp/ibuffer.el (ibuffer--filter-map): Separate out into its own
	keymap (bug#25797).
	(ibuffer-mode-map): Bind the "/" key to it.

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Add version tag to smtpmail-servers-requiring-authorization

	* lisp/mail/smtpmail.el
	(smtpmail-servers-requiring-authorization): Add version tag.

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove interactive spec from eshell-source-file

	* lisp/eshell/em-script.el (eshell-source-file): This function
	can't work as an interactive command, so remove the interactive
	spec (bug#26057).

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify when gpg2 and gpg are used in the epg-gpg-program doc string

	* lisp/epg-config.el (epg-gpg-program): Doc string clarification
	(bug#26090).

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Make ffap find {/etc} files again

	* lisp/ffap.el (ffap-string-at-point-mode-alist): Make
	(ffap-file-at-point) work on {/etc} again (bug#26190).

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix obsoletion notice in dired-pop-to-buffer

	* lisp/dired.el (dired-pop-to-buffer): `dired-mark-pop-up' doesn't
	seem to have anything to do with this function, so saying that
	it's a replacement seems misleading (bug#26243).

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor rewording of a couple of sentences in define-derived-mode doc

	* lisp/emacs-lisp/derived.el (define-derived-mode): Reword
	documentation to be less whimsical (bug#26301).

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc clarification in time-stamp-pattern

	* lisp/time-stamp.el (time-stamp-pattern): Try to document what
	the examples mean (bug#26335).

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a NEWS item about smtpmail-servers-requiring-authorization

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow specifying that SMTP auth should always be used

	* doc/misc/smtpmail.texi (Authentication): Document it.

	* lisp/mail/smtpmail.el
	(smtpmail-servers-requiring-authorization): New variable (bug#26359).
	(smtpmail-via-smtp): Use it.

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify last-command-event doc string

	* src/keyboard.c (syms_of_keyboard): Clarify the doc string
	(bug#26626).

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Add an autoload cookie to package-upload-file

	* lisp/emacs-lisp/package-x.el (package-upload-file): Add an
	autoload cookie (bug#26724).

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak prompt when symlinking in dired

	* lisp/dired-aux.el (dired-do-create-files): Fix prompt when
	sym/hardlinking (bug#26870).

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't infloop in url.el when sending invalid basic auth

	* lisp/url/url-http.el (url-http-handle-authentication): Bail out
	if the wrong credentials were passed to the server instead of
	inflooping (bug#27022).

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Further tweak dired-compress error message

	* lisp/dired-aux.el (dired-compress): The function is called on
	both compression and uncompression, so be more ambiguous in the
	error message.

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the error message on dired compression failures

	* lisp/dired-aux.el (dired-compress): Fix error message.

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove debugging left in previous patch

	* lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
	Provide completion for `ignore-error'.

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new macro `ignore-error'

	* doc/lispref/control.texi (Handling Errors): Document
	`ignore-error'.
	* lisp/subr.el (ignore-error): New macro.

	* lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
	Provide completion for `ignore-error'.

2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Always include the number of unexpected results here too

	* lisp/emacs-lisp/ert.el (ert-run-tests-batch): Always include the
	number of unexpected results here as well.

2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't run gpg when loading package.el

	* lisp/emacs-lisp/package.el (package-check-signature): Don't run
	gpg on startup, but just default to `allow-unsigned'.
	(package-check-signature): New function to check whether a OpenPGP
	configuration is found when `allow-unsigned'.
	(package--check-signature-content, package--check-signature)
	(package--download-one-archive, package-refresh-contents)
	(package-install-from-archive): Use function instead of variable
	throughout.
	* doc/emacs/package.texi (Package Installation): Document this.

2019-07-25  Paul Eggert  <eggert@cs.ucla.edu>

	Minor pdumper tweaks

	* src/pdumper.c (dump_hash_table_stable_p):
	Bool vectors and bignums are also stable keys.
	(decode_emacs_reloc, drain_reloc_list, Fdump_emacs_portable):
	(dump_bitset_clear): Simplify use of memset.

2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the behavior of thing-at-point--end-of-sexp

	* lisp/thingatpt.el (thing-at-point--end-of-sexp): Don't return
	nil when called with point between two parentheses (bug#29499).

2019-07-25  Paul Eggert  <eggert@cs.ucla.edu>

	Don't crash when parsing bad SVG data

	Derived from a patch by Pip Cet (Bug#36773#47).
	* src/image.c (svg_load_image): Work around librsvg 2.40.13 bug.

2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix mouse-1 in profiler-report-mode-map

	* lisp/profiler.el (profiler-report-mode-map): Make `mouse-1'
	respect `mouse-1-click-follows-link' (bug#30515).

2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Make cl-destructuring-bind errors a bit more understandable

	* lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Make errors
	when giving the wrong number of arguments to the bindings form
	more informational (bug#29345).

2019-07-25  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Don't set marks on imap groups when there are no marks to set

	* lisp/gnus/nnimap.el (nnimap-update-qresync-info): This code runs in
	a fairly tight loop and shouldn't call all these functions if not
	necessary.

2019-07-25  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-awk.el (c-awk-var-num-ket-re): Remove /x80-/xff from it.

2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the sizing of the shr placeholder images on HiDPI screens

	* lisp/net/shr.el (shr-make-placeholder-image): We have already
	computed the size of the placeholder including the scale, so force
	the automatic scale to 1.  This will make the placeholder the
	correct size on HiDPI screen.

2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `C-u w' in the Gnus Summary buffer open externally

	* doc/misc/gnus.texi (Article Commands): Document new behavior.

	* lisp/gnus/gnus-sum.el (gnus-shorten-url): New function.
	(gnus-summary-browse-url): Change function to make `C-u' use the
	external browser (as Gnus does when you hit URLs manually).  Don't
	use an initial input.

2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak previous footnote-mode patch

	* lisp/mail/footnote.el (footnote--local-advice): Ensure that the
	variable really is local.

2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix setting fill-paragraph-function in footnote-mode

	* lisp/mail/footnote.el (footnote--local-advice): New macro
	refactored out from the code used to advice
	footnote--adaptive-fill-function in footnote-mode.
	(footnote-mode): Use it to advice both that variable and
	fill-paragraph-function (the latter to avoid overwriting the major
	mode's value) (bug#27775)
	(footnote--fill-paragraph): Adjust calling convention now that
	it's an :around advice.

2019-07-25  Eli Zaretskii  <eliz@gnu.org>

	Fix HarfBuzz support on MS-Windows

	* src/w32uniscribe.c [HAVE_HARFBUZZ]: Include hb-ot.h.
	(fn_hb_ot_font_set_funcs, hb_ot_font_set_funcs): Define.
	(w32hb_get_font): Call hb_ot_font_set_funcs after creating the
	hb_font_t object, to make the code work with versions of
	HarfBuzz before 2.0.0.  Problem reported by Stephen Leake
	<stephen_leake@stephe-leake.org>.  Solution suggested by
	Khaled Hosny <dr.khaled.hosny@gmail.com> in
	https://lists.freedesktop.org/archives/harfbuzz/2019-July/007412.html.

2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix many-compilations case of compilation-goto-in-progress-buffer

	* lisp/progmodes/compile.el (compilation-goto-in-progress-buffer):
	Fix thinko in initial version of the function in the
	many-compilations case.

2019-07-25  Eli Zaretskii  <eliz@gnu.org>

	Fix recent commit in xref.el

	* lisp/progmodes/xref.el (xref-file-name-display): Doc fix.

	* etc/NEWS: Fix the corresponding entry.

2019-07-25  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Leave note about removing gnus-start-news-server

	* lisp/gnus/gnus-int.el (gnus-nntp-server): Once this option is gone,
	that whole function can go.

2019-07-25  Nobuyoshi Nakada  <nobu@ruby-lang.org>

	Strip trailing whitespaces at the end of converted do block

	* lisp/progmodes/ruby-mode.el (ruby-brace-to-do-end):
	Strip trailing whitespaces at the end of converted do block
	(bug#36756).

	https://bugs.ruby-lang.org/issues/16014
	https://github.com/syl20bnr/spacemacs/issues/12548

2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify in the manual when to use function-key-map

	* doc/misc/efaq.texi (No Escape key):
	* doc/emacs/msdos-xtra.texi (MS-DOS Keyboard): Change back to
	function-key-map from local-function-key-map, because these
	bindings apply to all terminals.

	* doc/lispref/keymaps.texi (Translation Keymaps): Clarify in what
	circumstances you may still want to use function-key-map.

2019-07-24  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc.el (vc-log-search): Fix docstring (bug#36644).

	* lisp/vc/vc-git.el (vc-git-log-search): Add docstring.

2019-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	Do not treat ~nosuchuser as an absolute file name

	Derived from Ken Brown’s patch (Bug#36502#97).
	* doc/lispref/files.texi (Relative File Names):
	* etc/NEWS: Document this.
	* src/fileio.c (user_homedir): New function.
	(Fexpand_file_name, file_name_absolute_p): Use it.
	(search_embedded_absfilename): Simplify via file_name_absolute_p.
	* test/src/fileio-tests.el (fileio-tests--no-such-user): New test.

2019-07-24  Sam Steingold  <sds@gnu.org>

	Add `gnus-collect-urls-primary-text'

	* lisp/gnus/gnus-sum.el (gnus-collect-urls-primary-text): Add defcustom.
	(gnus-collect-urls): Use it.
	(gnus-summary-browse-url): Mention it in the docstring.

2019-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	Port double-slash test to z/OS

	* admin/merge-gnulib (GNULIB_MODULES): Add double-slash-root.
	Emacs was already using this Gnulib module indirectly, so this
	is merely noting that there is now a direct dependency.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* src/fileio.c (search_embedded_absfilename):
	Use DOUBLE_SLASH_IS_DISTINCT_ROOT instead of (WINDOWSNT || CYGWIN).
	Simplify.

2019-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-07-16 update-copyright: Make it work again
	* build-aux/config.guess, build-aux/update-copyright:
	Copy from Gnulib.

2019-07-24  Sam Steingold  <sds@gnu.org>

	Avoid potential extensive verbosity in gnus-summary-browse-url

	* lisp/wid-edit.el (widget-move): Accept suppress-echo argument.
	* lisp/gnus/gnus-sum.el (gnus-collect-urls): Use it.

2019-07-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Use input-decode-map in the manuals

	* doc/misc/edt.texi (Changes):
	* doc/emacs/custom.texi (Terminal Init): Use input-decode-map
	instead of local-function-key-map, according to Stefan Monnier.

2019-07-24  Mattias Engdegård  <mattiase@acm.org>

	Use destructuring in filenotify backend handlers

	* lisp/filenotify.el (file-notify--callback-inotify)
	(file-notify--callback-kqueue, file-notify--callback-w32notify)
	(file-notify--callback-gfilenotify, file-notify--callback): Use cl-defun.

2019-07-24  Mattias Engdegård  <mattiase@acm.org>

	Use defstruct instead of list for filenotify pending-rename

	* lisp/filenotify.el (file-notify--rename): New defstruct.
	(file-notify--pending-rename): Changed type.
	(file-notify--handle-event): Adapt to new type.

2019-07-24  Mattias Engdegård  <mattiase@acm.org>

	Refactor the callback half of filenotify.el

	Split callback code into backend-specific and general parts.  Refactor
	pending event, which is always a rename, to include relevant
	information only.  General clean-up.

	* lisp/filenotify.el (file-notify--pending-event): Rename.
	(file-notify--event-watched-file, file-notify--event-file-name)
	(file-notify--event-file1-name, file-notify--event-cookie): Remove.
	(file-notify--rename, file-notify--expand-file-name)
	(file-notify--callback-inotify, file-notify--callback-kqueue)
	(file-notify--callback-w32notify, file-notify--callback-gfilenotify)
	(file-notify--call-handler, file-notify--handle-event): New.
	(file-notify-callback): Split general parts into
	file-notify--call-handler and file-notify--handle-event.
	(file-notify--add-watch-inotify, file-notify--add-watch-kqueue)
	(file-notify--add-watch-w32notify)
	(file-notify--add-watch-gfilenotify): Use new callbacks.

2019-07-24  Mattias Engdegård  <mattiase@acm.org>

	Don't use internal filenotify function in test

	* test/lisp/filenotify-tests.el
	(file-notify--test-file, file-notify--test-add-watch): New.
	(file-notify--test-event-test, file-notify--test-event-handler)
	(file-notify-test02-rm-watch, file-notify-test03-events)
	(file-notify-test05-file-validity, file-notify-test07-many-events)
	(file-notify-test08-backup, file-notify-test09-watched-file-in-watched-dir):
	Avoid using the internal `file-notify--event-watched-file' so that it
	can be removed from filenotify.el.
	Instead, pass the file name to the callback as an extra argument;
	use `file-notify--test-add-watch' instead of `file-notify-add-watch'.

2019-07-24  Mattias Engdegård  <mattiase@acm.org>

	Local definitions of accessors only used in test

	* test/lisp/filenotify-tests.el (file-notify--test-event-file)
	(file-notify--test-event-file1, file-notify--test-event-test)
	(file-notify--test-event-handler):
	Define accessors locally, so that they can be removed from filenotify.el.

2019-07-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	soap-client: Do not double-encode duplicate types

	* lisp/net/soap-client.el (soap-encode-xs-complex-type): Eliminate
	duplicates from type hierarchy before encoding values.

2019-07-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	soap-client: Encode simple type attributes

	* lisp/net/soap-client.el (soap-encode-xs-simple-type-attributes):
	Encode simple type attributes.

2019-07-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	soap-client: Allow attributes and a value

	* lisp/net/soap-client.el (soap-encode-xs-basic-type): Allow
	attributes and a value to be specified in the same element.

2019-07-24  Andreas Schwab  <schwab@suse.de>

	* lisp/gnus/gnus-cus.el (gnus-extra-group-parameters): Allow nil
	for modseq.

2019-07-23  Juri Linkov  <juri@linkov.net>

	Customizable char-fold with char-fold-symmetric, char-fold-include (bug#35689)

	* doc/emacs/search.texi (Lax Search): Document
	char-fold-symmetric, char-fold-include, char-fold-exclude.

	* lisp/char-fold.el (char-fold--default-include)
	(char-fold--default-exclude, char-fold--default-symmetric)
	(char-fold--previous): New defconsts.
	(char-fold-include, char-fold-exclude, char-fold-symmetric):
	New defcustoms.
	(char-fold-make-table): Use them.
	(char-fold-update-table): New function called at top-level.

	* test/lisp/char-fold-tests.el (char-fold--test-no-match-exactly)
	(char-fold--permutation): New functions.
	(char-fold--test-without-customization)
	(char-fold--test-with-customization): New tests.

2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>

	Merge pdumper.c and alloc.c builtin symbol tests

	* src/alloc.c (c_symbol_p): Move from here ...
	* src/lisp.h (c_symbol_p): ... to here, and make it more portable
	to hypothetical platforms where pointers are wider than ptrdiff_t.
	* src/pdumper.c (dump_builtin_symbol_p): Use c_symbol_p.

2019-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make "Compiling" in the mode line a clickable command

	* lisp/progmodes/compile.el (compilation-goto-in-progress-buffer):
	New command.
	(compilation-in-progress): Don't put the in-progress mode-line
	marker among the minor modes (because it's not a minor mode), and
	add a command that allows you to switch to the in-progress
	compilation buffer (bug#27252).

2019-07-23  Robert Pluim  <rpluim@gmail.com>

	Follow decomposition chains when constructing char-fold-table

	* lisp/char-fold.el (char-fold-make-table): Decompose the
	decomposition of each character, adding equivalences to the original
	character, until no more decompositions are left.

2019-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Refer to local-function-key-map in various manuals

	* doc/misc/viper.texi (Key Bindings):
	* doc/misc/efaq.texi (X key translations for Emacs)
	(No Escape key):
	* doc/misc/edt.texi (Changes):
	* doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
	* doc/emacs/custom.texi (Terminal Init): Refer to
	local-function-key-map instead of function-key-map, since the
	latter isn't supposed to be changed (bug#27490).

2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>

	Improve pdumper doc; say unexec is deprecated

	Say that pdumping cannot redump unless -batch is used.  Say that
	the traditional unexec dumping method is by default not available,
	and is deprecated.  Don't call dump files "portable", as dump files
	are not any more portable than the Emacs executables themselves.
	Just call them "dump files".  Similar, prefer "portable dumper"
	(since the dumper code is portable) to "portable dumping" (since
	the dump file is not).  Be more systematic about calling them
	"dump files" instead of "dumped images" or whatnot.

2019-07-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fns.c (hashfn_user_defined): Make sure we always return a fixnum.

2019-07-23  Alan Mackenzie  <acm@muc.de>

	Fix problems in CC Mode with " being entered into a comment at EOB.

	* lisp/progmodes/cc-engine.el (c-full-lit-near-cache): Amend the definition
	such that an element's END element will be nil if the pertinent literal is
	open at EOB.
	(c-full-pp-to-literal): Before setting the aforementioned END element, check
	that we're no longer in a literal.  (c-literal-limits): When
	c-full-pp-to-literal returns a list with a nil END element, replace this by
	(point-max) to keep the interface of c-literal-limits unchanged.

	* lisp/progmodes/cc-mode.el (c-after-change-mark-abnormal-strings): Having
	found a string quote, check it is not inside an unterminated comment (i.e. one
	at EOB).

2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>

	Support "%x" etc. formats on more floats

	* doc/lispref/strings.texi (Formatting Strings): Document this.
	* src/editfns.c (styled_format): Support %o, %x, and %X on
	finite floats less than zero or greater than UINTMAX_MAX.
	* test/src/editfns-tests.el (format-%x-large-float)
	(read-large-integer, format-%o-negative-float):
	Adjust tests to match extended behavior.
	Rename the latter test from format-%o-invalid-float,
	since the float is no longer invalid.

	* test/src/editfns-tests.el (format-%x-large-float)
	(read-large-integer): Test this.

2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak performance of cmpfn_profiler

	* src/profiler.c (cmpfn_profiler):
	Improve performance when VECTORP (bt1) && EQ (bt1, bt2).

2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid overexposing fixnums for hash codes

	Following a suggestion by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00530.html
	* doc/lispref/hash.texi (Creating Hash, Defining Hash):
	* src/fns.c (Fsxhash_eq, Fsxhash_eql, Fsxhash_equal, Fmake_hash_table):
	Don’t insist that hash codes be fixnums, reverting
	the recent doc changes to the contrary.
	* src/bytecode.c (exec_byte_code): Special-case only the eq case,
	as the others aren’t worth tuning now that we treat bignum hashes
	like fixnums.
	* src/fns.c (hashfn_user_defined): If the hash code is a bignum,
	reduce its hash down to a fixnum.

2019-07-22  Stefan Kangas  <stefankangas@gmail.com>

	Document normal usage in ibuffer.el

	* lisp/ibuffer.el (Commentary): Document normal usage.  (Bug#5608)
	Remove redundant :group args.

2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>

	Do not pdump user-defined hashtabs

	* src/pdumper.c (dump_hash_table_stable_p):
	Signal an error if a hash table has user-defined tests (Bug#36769).
	* src/fns.c (hashfn_user_defined): Now extern.

2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>

	Keep track of consing while GC’s inhibited

	* src/alloc.c (allow_garbage_collection): Do not discard the count
	of consing that occurred while GC was inhibited.
	Problem and initial fix reported by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00523.html

2019-07-22  Pip Cet  <pipcet@gmail.com>

	Avoid byte compiler warning for subr.el

	* lisp/subr.el (number-sequence): Simplify to avoid byte compiler warning.

2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>

	Remove no-longer-needed integer overflow code

	* lisp/calculator.el (calculator-number-to-string):
	Use truncate, not calculator-truncate, since integer
	overflow cannot occur here.
	* lisp/calendar/cal-persia.el (calendar-persian-year-from-absolute):
	* lisp/gnus/gnus-agent.el (gnus-agent-read-article-number):
	* lisp/gnus/nnmaildir.el (nnmaildir--group-maxnum)
	(nnmaildir--new-number):
	* lisp/scroll-bar.el (scroll-bar-scale):
	* lisp/simple.el (beginning-of-buffer, end-of-buffer):
	Simplify, now that integer overflow cannot occur.

2019-07-22  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Adjust regexp for parsing IMAP header response

	* lisp/gnus/nnimap.el (nnimap-transform-headers): The first header
	might have no value, or a continuation header might start with a
	newline.

2019-07-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/opascal.el: Tweak code to ease edebugging

	(opascal-strings): Inline in its sole use.
	(opascal-save-excursion): Add Edebug spec.
	(opascal-is): Remove.  Use `memq` directly instead.
	(opascal--in): New pcase pattern.
	(opascal-literal-end-pattern): Remove unused function.
	(opascal--scan-non-whitespace-backward): New macro.
	(opascal-block-start, opascal-else-start, opascal-is-use-clause-end)
	(opascal-previous-indent-of, opascal-section-indent-of)
	(opascal-enclosing-indent-of): Use it.
	(opascal-corrected-indentation): Presume we're already at first token.
	(opascal-indent-line): Use indent-line-to.
	(opascal-new-comment-line): Declare obsolete.
	(opascal-mode-map): Keep the default M-j binding instead.

2019-07-22  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix case of IMAP Noselect flag

	* lisp/gnus/nnimap.el (nnimap-get-groups): We should be looking for
	%Noselect, not %NoSelect.

2019-07-22  Mattias Engdegård  <mattiase@acm.org>

	Remove some obsolete integer overflow handling

	* lisp/subr.el (number-sequence):
	* lisp/org/org-gnus.el (org-gnus-follow-link):
	* lisp/ls-lisp.el (ls-lisp-insert-directory):
	Remove dead code guarding against integer overflow.

2019-07-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/opascal.el: Allow inline `var` decl in `for` (bug#36348)

	(opascal-enclosing-indent-of): Ignore decls "neutered" by delimiter.

2019-07-22  Mattias Engdegård  <mattiase@acm.org>

	Make tramp test regexp more robust

	* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
	Match a greater variety of human-readable size values.

2019-07-22  Michael Albinus  <michael.albinus@gmx.de>

	Support history files in remote shells (Bug#36742)

	* doc/emacs/misc.texi (Shell Ring): Mention history file for
	remote shells.

	* lisp/shell.el (shell--start-prog): New buffer-local variable.
	(shell): Set it.
	(shell-mode): Handle history file for remote shells. (Bug#36742)

2019-07-22  Martin Rudalics  <rudalics@gmx.at>

	Handle persistence of windows' scroll bar and fringes settings (Bug#36193)

	* doc/lispref/display.texi (Fringe Size/Pos): Document new
	argument PERSISTENT of 'set-window-fringes'.
	(Scroll Bars): Document new argument PERSISTENT of
	'set-window-scroll-bars'.  Mention that HORIZONTAL-TYPE must
	be 'bottom' to show a horizontal scroll bar on mini windows.
	* lisp/window.el (window-min-pixel-height): For mini windows the
	minimum height is one line.
	(window--min-size-1): Use value returned by
	'window-min-pixel-height' when dealing with mini windows.
	(window--resize-mini-window): Try to handle horizontal scroll
	bars and size restrictions more accurately.
	(window--state-put-2): Handle persistence of scroll bar
	settings.
	* src/frame.c (make_frame): Allow horizontal scroll bars in
	mini windows.
	(adjust_frame_size): Drop PIXELWISE argument in
	'resize_frame_windows' calls.
	* src/window.c (set_window_buffer): Don't override WINDOW's
	scroll bar and fringe settings when marked as persistent.
	(resize_frame_windows): Drop fourth argument PIXELWISE - SIZE
	is always specified in terms of pixels.  Try to handle height
	of mini windows more accurately.
	(grow_mini_window, shrink_mini_window): Use body height of
	mini window when calculating expected height change.  Take
	horizontal scroll bars into account.
	(struct saved_window): Two new members to handle persistence
	of window fringes and scroll bars.
	(Fset_window_configuration, save_window_save): Handle
	persistence of fringes and scroll bars.
	(set_window_fringes, set_window_scroll_bars): New arguments
	PERSISTENT.  Make dimension checks more accurate.
	(Fset_window_fringes): New argument PERSISTENT.
	(Fwindow_fringes, Fwindow_scroll_bars): Add PERSISTENT to
	return values.
	(Fset_window_scroll_bars): New argument PERSISTENT.  In
	doc-string mention that 'bottom' must be specified to get a
	horizontal scroll bar in mini windows.
	(compare_window_configurations): Add checks for persistence of
	fringes and scroll bars.
	* src/window.h (struct window): New boolean slots
	'fringes_persistent' and 'scroll_bars_persistent'.
	(WINDOW_HAS_HORIZONTAL_SCROLL_BAR): Allow horizontal scroll bars
	for mini windows.
	(resize_frame_windows): Remove fourth argument of
	'resize_frame_windows' in external declaration.
	* src/xdisp.c (resize_mini_window): Use box text height to
	tell whether mini window height changed.
	(set_horizontal_scroll_bar): Set mini window's horizontal
	scroll bar when its type is specified as 'bottom'.
	* etc/NEWS: Mention new options for 'set-window-fringes' and
	'set-window-scroll-bars'.

2019-07-21  Alan Mackenzie  <acm@muc.de>

	Implement C++ Mode attributes.  This fixes bug #36650.

	* lisp/progmodes/cc-engine.el (c-looking-at-c++-attribute)
	(c-enclosing-c++-attribute, c-slow-enclosing-c++-attribute): New macro and
	functions.
	(c-crosses-statement-barrier-p): Add [ into skip-chars for C++ Mode, and use
	it to detect and skip over an attribute whilst scanning forward.
	(c-sws-lit-type): Use the new value 'attribute.
	(c-invalidate-sws-region-before): Put a save-match-data around this function.
	Detect and handle an enclosing attribute at either END or BEG.
	(c-invalidate-sws-region-after): Handle C++ attributes.
	(c-forward-sws, c-backward-sws): Handle C++ attributes.

	* lisp/progmodes/cc-mode.el (c-fl-decl-end): Detect and handle point being
	inside a C++ attribute.

2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix lifetime error in previous patch

	Problem reported by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00520.html
	* src/alloc.c (inhibit_garbage_collection): Use new function.
	(allow_garbage_collection): Accept intmax_t, not pointer.
	* src/eval.c (default_toplevel_binding, do_one_unbind)
	(backtrace_eval_unrewind, Fbacktrace__locals, mark_specpdl):
	Support SPECPDL_UNWIND_INTMAX.
	(record_unwind_protect_excursion): New function.
	* src/lisp.h (enum specbind_tag): New constant SPECPDL_UNWIND_INTMAX.
	(union specbinding): New member unwind_intmax.

2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>

	Speed up maybe_gc when GC is inhibited

	* src/alloc.c (allow_garbage_collection)
	(inhibit_garbage_collection): Temporarily bump
	consing_until_gc, to improve performance of maybe_gc while
	garbage collection is inhibited.  Suggested by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00511.html

2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid integer overflow in hash table size

	* src/fns.c (INDEX_SIZE_BOUND): Use a tighter bound.
	(maybe_resize_hash_table): Avoid integer overflow when
	checking for hash table size overflow.  Fix confusion
	between INDEX_SIZE_BOUND (which is for the index vector)
	and hash table size.  Fix typo in debugging message
	when ENABLE_CHECKING.

2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>

	Improve doc for hash tables

	* doc/lispref/hash.texi (Creating Hash, Defining Hash):
	* src/fns.c (Fsxhash_eq, Fsxhash_eql, Fsxhash_equal):
	Say that hashes are fixnums.
	(Fmake_hash_table): Say that an integer rehash-size
	should be a fixnum.
	* doc/lispref/hash.texi (Defining Hash): Say that hash and
	comparison functions should be consistent and pure, and should
	return quickly.

2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>

	pure_alloc returns cleared memory

	* src/alloc.c (pure_alloc): Clear any heap-allocated storage.
	This is simpler than auditing all the callers to make sure
	they don’t assume pure memory is cleared memory, and the
	performance implication is nonexistent except when Emacs
	is misconfigured.  Also, add an assertion to catch
	caller misuse when pure space is exhausted.

2019-07-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the unflag-p parameter in dired-mark-unmarked-files work

	* lisp/dired-x.el (dired-mark-unmarked-files): Make the unflag-p
	parameter work (bug#27465).

2019-07-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't override SSH_AUTH_SOCK in the example emacs.service file

	* etc/emacs.service (ExecStop): Don't override SSH_AUTH_SOCK by
	default, because it varies by distribution where the socket is
	(bug#27620).

2019-07-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fill footnotes better on `M-q'

	* lisp/mail/footnote.el (footnote--fill-paragraph): New function
	(bug#27775).
	(footnote-mode): Use it.

2019-07-21  Ken Brown  <kbrown@cornell.edu>

	Fix expand-file-name for names starting with '~'

	* src/fileio.c: (file_name_absolute_no_tilde_p):
	New static function.
	(Fexpand_file_name): If the current buffer's default-directory
	starts with "~user" where "user" is not a valid user name, don't
	give the '~' a special meaning.  Just treat the value of
	default-directory as a relative name.  (Bug#36502)
	* test/src/fileio-tests.el
	(fileio-tests--relative-default-directory): Add a test.

2019-07-21  Gemini Lasswell  <gazally@runbox.com>

	Fix inline-quote Edebug spec

	* lisp/emacs-lisp/inline.el (inline-quote): Fix the edebug spec
	(bug#31051).

2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak recent hash-table fix

	* src/fns.c (maybe_resize_hash_table): Completely initialize the
	new ‘next’ vector before allocating more vectors, as this
	preserves locality a bit better and it’s safer not to leave an
	uninitialized Lisp object around.  Use next_size instead of
	new_size to compute new index size.

2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix crash if user test munges hash table

	* src/fns.c (restore_mutability)
	(hash_table_user_defined_call): New functions.
	(cmpfn_user_defined, hashfn_user_defined): Use them.
	(make_hash_table, copy_hash_table):
	Mark new hash table as mutable.
	(check_mutable_hash_table): New function.
	(Fclrhash, Fputhash, Fremhash): Use it instead of CHECK_IMPURE.
	* src/lisp.h (struct hash_table_test): User-defined functions
	now take pointers to struct Lisp_Hash_Table, not to struct
	hash_table_test.  All uses changed.
	(struct Lisp_Hash_Table): New member ‘mutable’.
	* src/pdumper.c (dump_hash_table): Copy it.
	* test/src/fns-tests.el (test-hash-function-that-mutates-hash-table):
	New test, which tests for the bug.

2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify hashfn/cmpfn calling convention

	* src/fns.c (cmpfn_eql, cmpfn_equal, cmpfn_user_defined)
	(hashfn_eq, hashfn_equal, hashfn_eql, hashfn_user_defined):
	* src/profiler.c (cmpfn_profiler, hashfn_profiler):
	Use new calling convention where the return value is a fixnum
	instead of EMACS_UINT.  While we’re at it, put the hash table
	at the end, since that’s a bit simpler and generates better
	code (at least on the x86-64).  All callers changed.
	* src/fns.c (hash_lookup): Store fixnum rather than EMACS_UINT.
	All callers changed.
	(hash_put): Take a fixnum rather than an EMACS_UINT.
	All callers changed.  Remove unnecessary eassert (XUFIXNUM does it).
	* src/lisp.h (struct hash_table_test):
	Adjust signatures of cmpfn and hashfn.

2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	Inhibit GC after inhibit_garbage_collection

	Without this patch, there are unlikely ways that garbage
	collection could occur (sometimes causing undefined behavior)
	even when inhibit_garbage_collection is in effect.
	* src/alloc.c (garbage_collection_inhibited): New var.
	(pure_alloc): Increment it if pure space is exhausted, so that
	garbage_collect_1 no longer needs to inspect
	pure_bytes_used_before_overflow.
	(allow_garbage_collection): New function.
	(inhibit_garbage_collection): Increment the new variable rather
	than specbinding a user variable.
	(garbage_collect_1): Do not garbage collect if the new variable
	is set, rather than if pure_bytes_used_before_overflow is set.

2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify maybe_gc implementation

	* src/alloc.c (consing_until_gc): New variable, replacing the
	combination of consing_since_gc and gc_relative_threshold.
	All uses changed.
	(byte_ct): Move decl here from lisp.h.
	(memory_full_cons_threshold): New an enum constant.
	(free_cons): Check for integer overflow in
	statistics calculation.
	* src/lisp.h (object_ct): Move decl here from alloc.c.
	(OBJECT_CT_MAX): New macro.
	(maybe_gc): Simplify accordingly.

2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	Rename ‘pure’ to ‘purecopy’

	* src/lisp.h (struct Lisp_Hash_Table): Rename ‘pure’ member to
	‘purecopy’, as the old name was quite confusing (it did not
	mean the hash table was pure).  All uses changed.

2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix hash table overallocation etc.

	* src/fns.c (set_hash_key_and_value, set_hash_next)
	(set_hash_hash, set_hash_index): Remove.  All uses removed.
	(maybe_resize_hash_table): Don’t update h->next until it’s
	known that all the allocations succeeded, to avoid trashing
	the hash table if memory is exhausted.  Don’t overallocate the
	other vectors.  Don’t output growth message if the hash table
	didn’t actually grow due to allocation failure.  Assume C99
	decls after statements.

2019-07-20  Noam Postavsky  <npostavs@gmail.com>

	Merge from emacs-26

	150bdfe43a Handle completely undecoded input in term (Bug#29918)
	021f32cca1 * doc/misc/forms.texi (Control File Format): Fix a doc error.
	76538d09b7 Fix typo in package-alist docstring
	b2fde4b5e8 * doc/lispref/text.texi (Mode-Specific Indent): Fix a typo...
	7e62778548 ; Another minor change in 'bidi-display-reordering's doc s...
	4455ddbe56 Improve doc string of 'bidi-display-reordering'
	34ee26dd93 Add warning to bidi-display-reordering doc string

	# Conflicts:
	#	lisp/term.el
	#	test/lisp/term-tests.el

2019-07-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Use lexical-binding in compface.el

	* lisp/image/compface.el: Use lexical-binding.  Extend Keywords
	header.
	(uncompface): Call call-process-region directly.

2019-07-20  Oleh Krehel  <ohwoeowho@gmail.com>

	* lisp/files.el (file-size-function): Add :version tag

2019-07-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/manual/indent/octave.m (spmd): Add test for last change

	* lisp/progmodes/octave.el (matchedrules): Add `spmd...end` (bug#36703)

2019-07-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix last change to format-spec

	* doc/lispref/text.texi (Interpolated Strings): Use @result and fix
	typos.
	* lisp/format-spec.el: Avoid loading subr-x at runtime.
	(format-spec--parse-modifiers): Optimize slightly.

2019-07-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Allow counter-clockwise rotations in image-rotate

	* lisp/image.el (image-rotate): Extend with an optional argument
	specifying the rotation in degrees (bug#35421).
	* doc/lispref/display.texi (Showing Images):
	* etc/NEWS: Document the change.
	* test/lisp/image-tests.el (image-rotate): New test.

2019-07-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark the gnus-article-date-headers NEWS entry as documented

2019-07-20  Adam Sjøgren  <asjo@koldfront.dk>

	Enable showing local time and lapsed time in Gnus

	* lisp/gnus/gnus-art.el (article-make-date-combine-with-lapsed) factor
	code out into new function, used for providing both combined-lapsed
	and combined-local-lapsed.

2019-07-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up code in nnimap-parse-flags slightly

	* lisp/gnus/nnimap.el (nnimap-parse-flags): Clean up code
	slightly, removing redundant checks for `end'.

2019-07-20  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* etc/NEWS: Call out the change in matching REGEXP.

	* lisp/files.el (magic-mode-alist)
	(magic-fallback-mode-alist): Doc fix.  (Bug#36401)

2019-07-20  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>

	Make REs in magic-(fallback-)mode-alist case-sensitive.

	These variables are used for well-defined file formats where relaxed
	case matching is not wanted usually.

	* lisp/files.el (magic-mode-alist, magic-fallback-mode-alist): Update
	the doc string.
	(set-auto-mode): Make looking-at for elements of magic-mode-alist and
	magic-fallback-mode-alist use case-fold-search == nil.
	* lisp/files.el (files-test-magic-mode-alist-re-baseline)
	(files-test-magic-mode-alist-re-no-match)
	(files-test-magic-mode-alist-re-case-diff): Add.

2019-07-20  Stefan Kangas  <stefankangas@gmail.com>

	Make finder-exit use quit-window (Bug#33610)

	* lisp/finder.el (finder-exit): Quit window instead of
	deleting.  This restores previous contents of the window,
	if any, that was usurped by "C-h p" to show the list of
	packages.

2019-07-20  Mauro Aranda  <maurooaranda@gmail.com>

	Remove duplicated code in octave-eldoc-function

	* lisp/progmodes/octave.el (octave-eldoc-function): The
	test of position of the opening parenthesis in
	inferior-octave-process was duplicated.  Remove one of
	the tests.  (Bug#36557)

2019-07-19  Oleh Krehel  <ohwoeowho@gmail.com>

	* lisp/files.el (file-size-function): New defcustom

2019-07-19  Mattias Engdegård  <mattiase@acm.org>

	Neater free disk space formatting

	* lisp/files.el (get-free-disk-space): Update doc string.
	Use `iec' style and proper spacing.

2019-07-19  Martin Rudalics  <rudalics@gmx.at>

	Have 'display-buffer-reuse-window' prefer window on selected frame (Bug#36680)

	* lisp/window.el (display-buffer-reuse-window): Preferably reuse
	window on selected frame (Bug#36680).
	* doc/lispref/windows.texi (Buffer Display Action Functions): Say
	that 'display-buffer-reuse-window' prefers window on the selected
	frame.

2019-07-18  Noam Postavsky  <npostavs@gmail.com>

	Don't load elec-pair in elisp-mode (Bug#36539)

	* lisp/progmodes/elisp-mode.el (emacs-lisp-set-electric-text-pairs):
	New function.
	(emacs-lisp-mode): Add it to electric-pair-mode-hook, if elec-pair
	hasn't been loaded yet.

2019-07-18  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in help-fns-tests.el (Bug#36585)

	* test/lisp/help-fns-tests.el: Use lexical-binding.  Doc fix.

2019-07-18  Stefan Kangas  <stefankangas@gmail.com>

	Declare mwheel-install obsolete (Bug#36553)

	* lisp/mwheel.el: Update `Commentary' section.
	(mwheel-install): Declare obsolete in favor of mouse-wheel-mode.
	* etc/NEWS: Announce it.

2019-07-18  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-git.el (vc-git-log-search): Remove shell-quote-argument.

	(Bug#36644)

2019-07-18  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in asm-mode.el and add tests

	* lisp/progmodes/asm-mode.el: Use lexical-binding.
	(asm-comment-char): Remove redundant :group arg.
	(asm-mode): Use `setq-local'.
	(asm-calculate-indentation): Remove moot `or'.

	* test/lisp/progmodes/asm-mode-tests.el: New file with tests for
	asm-mode.el.

2019-07-18  Michael Albinus  <michael.albinus@gmx.de>

	Determine `file-notify' handler in Tramp from `special-event-map'.

	* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter)
	(tramp-sh-gvfs-monitor-dir-process-filter)
	(tramp-sh-inotifywait-process-filter): Determine `file-notify'
	handler from `special-event-map'.

2019-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/server.el (server-ensure-safe-dir): Revert part of b663c8372495

	A non-cosmetic change that was mistakenly included.

2019-07-18  Glenn Morris  <rgm@gnu.org>

	Update a tramp test for get-free-disk-space change

	* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
	Handle optional unit suffix in free space.

2019-07-18  Oleh Krehel  <ohwoeowho@gmail.com>

	* lisp/files.el (get-free-disk-space): Use file-size-human-readable

	Since there is no longer an option to do:

	    (setq directory-free-space-args "-Pmh")

2019-07-18  Eli Zaretskii  <eliz@gnu.org>

	* lisp/abbrev.el (abbrev-prefix-mark): Fix a typo.  (Bug#36715)

2019-07-17  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix indexing of Gnus entry in gnus-group-unsubscribe-group

	* lisp/gnus/gnus-group.el (gnus-group-unsubscribe-group): Hopefully
	  that's the last of these.

2019-07-17  Stephen Leake  <stephen_leake@stephe-leake.org>

	Add xref-file-name-display

	* lisp/progmodes/xref.el (xref-file-name-display): New user variable.
	(xref-location-group): Use it.

	* etc/NEWS: Mention it.

2019-07-17  Nick Drozd  <nicholasdrozd@gmail.com>

	* test/lisp/progmodes/cc-mode-tests.el: Add a test with /***/ in #define lines

2019-07-17  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-fonts.el (gtkdoc-font-lock-keywords): Fix faulty regexp

2019-07-16  Glenn Morris  <rgm@gnu.org>

	An electric test is now passing

	* test/lisp/electric-tests.el
	(electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings):
	Seems to pass since today's cc-mode changes.

2019-07-16  Glenn Morris  <rgm@gnu.org>

	* lisp/wid-edit.el: Previous change needs subr-x.

2019-07-16  Sam Steingold  <sds@gnu.org>

	Treat the "Link" link in gnus-summary-browse-urls specially

	* lisp/gnus/gnus-sum.el (gnus-collect-urls): Make sure that
	the URL labeled "Link" is the first in the return list.
	(gnus-summary-browse-url): Use the 1st URL as the default.
	* lisp/wid-edit.el (widget-text): New function.

2019-07-16  Alan Mackenzie  <acm@muc.de>

	CC Mode: allow bogusly "adjacent" double quote marks to pair up syntactically

	For this introduce the text property c-fl-syn-tab to "mirror" syntax-table.

	* lisp/progmodes/cc-defs.el (c-is-escaped, c-will-be-escaped, c-put-syn-tab)
	(c-clear-syn-tab, c-clear-syn-tab-properties, c-with-extended-string-fences):
	new macros.
	(c-point): Use c-is-escaped
	(c-search-forward-char-property, c-search-backward-char-property)
	(c-search-forward-char-property-with-value-on-char)
	(c-search-forward-char-property-without-value-on-char): Fix regexp error
	involving \n.

	* lisp/progmodes/cc-engine.el (c-semi-pp-to-literal): User
	c-with-extended-string-fences around a parse-partial-sexp.
	(c-full-get-near-cache-entry): Fix an off-by-one error.
	(c-full-pp-to-literal): Avoid writing duplicate entries into a cache.
	(c-after-change-unmark-raw-strings): Use c-clear-syn-tab-properties.

	* lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Clear the c-fl-syn-tab
	properties, too.
	(c-basic-common-init): Mark c-fl-syn-tab as a non-sticky text property.
	(c-depropertize-new-text): Also handle c-fl-syn-tab.
	(c-multiline-string-check-final-quote, c-parse-quotes-after-change): Use
	c-is-escaped.
	(c-fl-syn-tab-region): New variable.
	(c-clear-string-fences, c-restore-string-fences, c-remove-string-fences): New
	functions.
	(c-before-change-check-unbalanced-strings)
	(c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string):
	Use the new functions and macros.
	(c-before-change, c-after-change, c-font-lock-fontify-region): Restore the
	syntax-table text properties from c-fl-syn-tab text properties for these
	functions.
	(c-electric-pair-inhibit-predicate): Test the c-fl-syn-tab property rather
	than syntax-table.

2019-07-16  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix failing secrets-test03-items

	* test/lisp/net/secrets-tests.el: Use lexical-binding.
	(secrets-test03-items): Do not assume :xdg:schema attribute is
	silently added to the front of the collection (bug#36694).
	(secrets-test04-search, secrets-test-all): Quote function symbols as
	such.

2019-07-16  Mattias Engdegård  <mattiase@acm.org>

	Fix calc number formatting with digit grouping (bug#36689)

	The functions math-format-hex and math-format-octal were not
	implemented, yet called, leading to a crash when using hex or octal
	radix with digit grouping.

	* test/lisp/calc/calc-tests.el (calc-test-format-radix): New test.
	* lisp/calc/calc-ext.el: Don't declare non-existing functions.
	(math--format-integer-fancy): Don't call non-existing functions.
	* lisp/calc/calc-bin.el (math-format-binary, math-binary-digits):
	Simplify, fixing 0-padding bug.

2019-07-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Add support for paths to svg.el"

	This reverts commit d6bc55ae2dc98c83e58a28e380ce4bcf2ed00bb3.

	Paperwork not ready for Felix Klee; will reapply once that's in place.

2019-07-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "* doc/lispref/display.texi (SVG Images): Add menu for subsection."

	This reverts commit e5cd597c7736b587f80c16fde1c53f904d921310.

	Paperwork nod ready for the SVG Path patch.

2019-07-16  Mattias Engdegård  <mattiase@acm.org>

	Set revert-buffer-function in ert-results-mode

	* lisp/emacs-lisp/ert.el (ert-results-mode): Set revert-buffer-function
	to re-run the same test selection.  It is a good fit and permits use of
	the standard "g" key binding.

2019-07-16  Stephen Berman  <stephen.berman@gmx.net>

	Prevent infinite loop on entering wdired-mode

	* lisp/wdired.el (wdired-preprocess-symlinks): Remove unneeded use
	of beginning-of-line, which also triggers an infinite loop in a
	find-dired buffer that doesn't end with a newline (see discussion
	in bug#35609).

2019-07-15  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc.el (vc-log-search): New command (bug#36644).

	* lisp/vc/vc-git.el (vc-git-log-search): New function.
	(vc-git-log-view-mode): Check vc-log-view-type for log-search.

2019-07-15  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-dir.el (vc-dir-search): Remove lambda.

	(Bug#31578) Thanks to Dmitry Gutov <dgutov@yandex.ru>

2019-07-15  Juri Linkov  <juri@linkov.net>

	* lisp/frame.el (make-frame-on-display): Use x-display-list in completion.

	(Bug#29713)

2019-07-15  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/sh-script.el (sh-assignment): Put delete-selection on symbol

2019-07-15  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/display.texi (SVG Images): Add menu for subsection.

2019-07-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/nntp.el: Use lexical-binding

	(nntp-server-action-alist): Expose the code to the compiler.
	(nntp-with-open-group-function): No need to obfuscate identifiers any more.
	(nntp-authinfo-rejected): Use `define-error`.

2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix INITIAL-INPUT cons handling in ido-read-internal

	* lisp/ido.el (ido-read-internal): Is INITIAL-INPUT is a cons that
	specifies cursor position, adjust the number to be palatable for
	`read-for-minibuffer' (bug#27807).

2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix saving certificates in the NSM on high security levels

	* lisp/net/nsm.el (nsm-check-certificate): `nsm-fingerprint-ok-p'
	will save the fingerprint in the correct temporary/permanent
	storage, so saving it once more (in the permanent storage) if the
	security level is high or greater is a mistake (bug#27823).

2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak mouse-face highlighting of Occur buffers

	* lisp/replace.el (occur-engine): Ensure that the mouse highlight
	is done over the entire line (bug#27846).

2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	open-dribble-file doc string clarification

	* src/keyboard.c (Fopen_dribble_file): Clarify when the file is
	closed, and when events are written to the file (bug#27996).

2019-07-15  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Possibly skip IMAP server FETCH responses

	See bug#35433

	* lisp/gnus/nnimap.el (nnimap-transform-headers): Skip FETCH responses
	  that only provide message flags, not message headers.

2019-07-15  Felix E. Klee  <felix.klee@inka.de>

	Add support for paths to svg.el

	* doc/lispref/display.texi (SVG Images): Document svg-path,
	svg-clip-path and svg-node (bug#32359).

	* doc/lispref/display.texi (SVG Path Commands): New node.

	* lisp/svg.el (svg--plist-delete, svg--path-command-symbol)
	(svg--elliptical-arc-coordinates, svg--elliptical-arc-command)
	(svg--moveto-command, svg--closepath-command)
	(svg--lineto-command, svg--horizontal-lineto-command)
	(svg--vertical-lineto-command, svg--curveto-command)
	(svg--smooth-curveto-command)
	(svg--quadratic-bezier-curveto-command)
	(svg--smooth-quadratic-bezier-curveto-command)
	(svg--eval-path-command, svg-path, svg-clip-path, svg-node): New
	functions.

2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Add edebug specs for inline.el"

	This reverts commit ed29d9fe5286ab6ecfb2bfa5a015b9945a84512b.

	The edebug specs were already in the declare form, and in addition, it didn't fix the problem.

2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention changing the font size in the Emacs manual

	* doc/emacs/frames.texi (Fonts): Mention changing the font scale
	(bug#28196).

2019-07-15  Samuel Bronson  <naesten@gmail.com>

	Mark semantic functions correctly in defcustom

	* lisp/cedet/semantic/format.el (semantic-format-tag-custom-list):
	Mark functions correctly in defcustom (bug#28267).

2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify doc of isearch-wrap-function

	* lisp/isearch.el (isearch-wrap-function): Doc clarification
	(bug#28388).

2019-07-15  Robert Pluim  <rpluim@gmail.com>

	Don't delete GnuTLS boot parameters too early

	* src/process.c (connect_network_socket): Don't delete the GnuTLS
	boot parameters until after we've managed to connect at the IP
	level (bug#36660).

2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix *Messages* grouping in C-Mouse-1 buffer menu

	* lisp/mouse.el (mouse-buffer-menu-mode-groups): Don't group the
	*Messages* buffer with Mail/News (bug#32007).

2019-07-15  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):

	Don't cancel if debug buffers aren't appended.

2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make directory-files-recursively take a PREDICATE parameter

	* lisp/files.el (directory-files-recursively): Take an optional
	PREDICATE parameter (bug#28567).

	* doc/lispref/files.texi (Contents of Directories): Document it.

2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak gv-define-setter debug setting

	* lisp/emacs-lisp/gv.el (gv-define-setter): Change edebug spec
	from body to def-body (bug#28729).

2019-07-15  Michael Albinus  <michael.albinus@gmx.de>

	Fix edge cases in Tramp's copy

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
	Special handling for "rsync".
	(tramp-find-inline-compress): Make check more robust on MS Windows.

2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	package-archive-priorities doc addition

	* lisp/emacs-lisp/package.el (package-archive-priorities):
	Document that negative priorities will lead to packages not being
	updated (bug#28897).

2019-07-14  Glenn Morris  <rgm@gnu.org>

	Stop wdired tests leaving behind symlink /tmp/emacs1000

	* test/lisp/wdired-tests.el (server-socket-dir): Make effective.

2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark octave-block-offset as a safe local variable

	* lisp/progmodes/octave.el (octave-block-offset): Mark as safe as
	a local variable (bug#28916).

2019-07-14  Glenn Morris  <rgm@gnu.org>

	Update a ffap test

	* test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
	Update for incompatible ffap-other-window change.

2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make elint understand condition-case-unless-debug

	* lisp/emacs-lisp/elint.el (elint-special-forms): Teach elint
	about `condition-case-unless-debug' (bug#29585).

2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix prompting in functions like ffap-read-only

	* lisp/ffap.el (ffap-prompter, ffap-other-window)
	(ffap-other-frame, ffap-read-only)
	(ffap-read-only-other-window, ffap-read-only-other-frame)
	(ffap-alternate-file, ffap-alternate-file-other-window)
	(ffap-literally): Rework to be able to specify different prompts
	for different actions (bug#30284) and don't use
	`call-interactively' all over the place.

2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make describe-face also output the version information

	* lisp/help-fns.el (describe-variable-custom-version-info): Allow
	taking a type as an optional input, so this can be used for faces,
	too (bug#30527).

	* lisp/faces.el (describe-face): Use this to output the version
	information.

2019-07-14  Alan Third  <alan@idiocy.org>

	Use correct colorspace for XBM images

	* src/nsimage.m ([EmacsImage setXBMColor:]): Use 'generic RGB' color
	space.

2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make describe-face also output the version information"

	This reverts commit a7aae1473c1aed7758b550a23cda61ee17668e23.

	The patch broke the build.

2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak bug ID prompting in gnus-group--read-bug-ids

	* lisp/gnus/gnus-group.el (gnus-group--read-bug-ids): Default to
	current bug id on RET.

2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make describe-face also output the version information

	* lisp/help-fns.el (describe-variable-custom-version-info): Allow
	taking a type as an optional input, so this can be used for faces,
	too (bug#30527).

	* lisp/faces.el (describe-face): Use this to output the version
	information.

2019-07-14  Noam Postavsky  <npostavs@gmail.com>

	Use ngettext in vc-dir-clean-files

	* lisp/vc/vc-dir.el (vc-dir-clean-files): Use ngettext to separate
	pluralization from format string.

2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak background color handling in shr

	* lisp/net/shr.el (shr-fill-line): Keep the background color on
	the newline and the indentation.

2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename vc-dir-delete-files-no-vc to vc-dir-clean-files

	* doc/emacs/maintaining.texi (VC Directory Commands): Adjust
	command name.

	* lisp/vc/vc-dir.el (vc-dir-clean-files): Rename from
	vc-dir-delete-files-no-vc, and work on unregistered files only
	(bug#31732).
	(vc-dir-menu-map): Adjust command name.

2019-07-14  Eric Ludlam  <zappo@gnu.org>

	Allow bad tags in Scheme

	* admin/grammars/scheme.by (scheme-in-list): Allow bad tags in
	Scheme (bug#36521).

2019-07-13  Nick Drozd  <nicholasdrozd@gmail.com>

	* etc/NEWS: Announce new Georgian inputs.  (Bug#36639)

	* etc/HELLO: Fix name of Georgian language

	* lisp/leim/quail/georgian.el: Add georgian-nuskhuri input method

	* lisp/leim/quail/georgian.el: Add missing characters to georgian input

	* lisp/leim/quail/georgian.el: Add georgian-qwerty input method

2019-07-13  Stefan Kangas  <stefankangas@gmail.com>

	Restore focus to Bookmark List after editing annotation

	There are two entry points to bookmark-edit-annotation-mode: the first
	when we add a bookmark and bookmark-use-annotations is non-nil; the
	second when bookmark-bmenu-edit-annotation is run from the bookmark
	list.  When editing is concluded, in the first case, we should just
	quit window.  In the second case, we should instead return to the
	bookmark list.

	* lisp/bookmark.el (text-property-search): Require.
	(bookmark-annotation-name): Make buffer-local and improve doc string.
	(bookmark--annotation-from-bookmark-list): New buffer-local variable.
	(bookmark-edit-annotation): New argument from-bookmark-list sets
	bookmark--annotation-from-bookmark-list.
	(bookmark-bmenu-edit-annotation): Call bookmark-edit-annotation with
	argument from-bookmark-list set to t.
	(bookmark-send-edited-annotation): When editing originated in the
	bookmark list, restore focus to bookmark list and move point back to
	edited bookmark. (Bug#20150)

	(bookmark-edit-annotation-mode): Fix typo.
	(bookmark-bmenu-buffer): New variable.
	(bookmark-bmenu-surreptitiously-rebuild-list)
	(bookmark-bmenu-list): Use it.

	* test/lisp/bookmark-tests.el (with-bookmark-bmenu-test): New macro.
	(bookmark-tests-set/bookmark-use-annotations-t)
	(bookmark-bmenu-edit-annotation/show-annotation)
	(bookmark-bmenu-send-edited-annotation)
	(bookmark-bmenu-send-edited-annotation/restore-focus): New test cases.

2019-07-13  Marco Wahl  <marcowahlsoft@gmail.com>

	New function for scroll-lock-mode to almost always scroll

	* lisp/scroll-lock.el (scroll-lock-next-line-always-scroll): New
	function.  Opposed to scroll-lock-next-line it does not switch to
	forward-line at eob.  S-down is the default key binding for this
	function.  (Bug#36494)
	* test/lisp/scroll-lock-tests.el: A few tests for
	scroll-lock-next-line-always-scroll.
	* etc/NEWS: Announce the new command.

2019-07-13  Eli Zaretskii  <eliz@gnu.org>

	Fix recent changes

	* src/sysstdio.h: Include stdarg.h, for va_list.

2019-07-13  Pip Cet  <pipcet@gmail.com>

	Avoid returning negative numbers from `hash-table-count'

	* src/fns.c (Fhash_table_count): Rehash argument if necessary.

2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	* src/lisp.h (struct Lisp_Hash_Table.count): Improve comment.

2019-07-13  Noam Postavsky  <npostavs@gmail.com>

	Remove incorrect commentary about #$ in autoloads

	* lisp/emacs-lisp/autoload.el (autoload-rubric):
	`package-quickstart-refresh' does in fact support load-file-name as
	well.

2019-07-13  Noam Postavsky  <npostavs@gmail.com>

	Use syntax-ppss-toplevel-pos for defvar search (Bug#34233)

	* lisp/progmodes/elisp-mode.el (eval-sexp-add-defvars): Use
	syntax-ppss-toplevel-pos instead of a raw check of syntax components.

2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid interleaving stderr lines when shutting down

	* src/emacs.c (shut_down_emacs) [!DOS_NT]: Avoid interleaving
	to stderr in the usual case, by using a single write and by
	appending a newline.
	* src/sysdep.c (emacs_backtrace) [HAVE_BACKTRACE_SYMBOLS_FD]:
	Omit newline since shut_down_emacs now does that.

2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	Use a better buffer size in emacs_perror

	* src/sysdep.c (emacs_perror): Since the buffer is for avoiding
	interleaving, size it via PIPE_BUF not BUFSIZ.
	* src/sysstdio.h (PIPE_BUF): Provide a default.

2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid interleaving stderr in dump_fingerprint

	* src/fns.c (hexbuf_digest): New function, containing most of
	the old make_digest_string.
	(make_digest_string): Use it.
	* src/pdumper.c (dump_fingerprint): Rewrite to use a single
	fprintf call, to avoid interleaving on GNU/Linux.

2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid interleaving stderr in a few cases

	* src/sysdep.c (buferr): New static var.
	(init_standard_fds) [_PC_PIPE_BUF]: Initialize it.
	(errstream, errputc, verrprintf, errwrite): New functions.
	(close_output_streams): Check buferr status too.
	* src/xdisp.c: Include sysstdio.h instead of stdio.h.
	(message_to_stderr, vmessage): Use the new functions
	to avoid interleaving stderr.

2019-07-13  Andreas Schwab  <schwab@linux-m68k.org>

	Revert "Fix typo in sh-assignment-regexp"

	This reverts commit 194f370a3da72d560975adc2835254ce251881a7.

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Add edebug specs for inline.el

	* lisp/emacs-lisp/inline.el (inline-quote)
	(inline-letevals): Add edebug specs (bug#31051).

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak output of doc in advice--make-docstring

	* lisp/emacs-lisp/nadvice.el (advice--make-docstring): Make the
	bit about the function/macro having an advice into a complete
	sentence (bug#31063) and make it less dramatic.

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a :format to `text' widgets

	* lisp/wid-edit.el (text): Add a :format so that the 'text fields
	work (bug#31309).  Suggested by Phil Sainty.

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix for Finteractive (only %s is allowed)

	* src/callint.c (Finteractive): Any other format spec than %s will
	bug out with "Format specifier doesn’t match argument type", so
	say explicitly that only %s is supported (bug#31314).

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't have savehist-save bug out on non-existing directory

	* lisp/savehist.el (savehist-save): Ensure that the directory
	exists before saving (bug#31348).

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix display-fill-column-indicator custom spec typo

	* lisp/cus-start.el (standard): Fix typo in
	display-fill-column-indicator custom spec.

	Debugger entered--Lisp error: (wrong-type-argument stringp integer)
	  string-match("\\([0-9]+\\)\\(\\.\\([0-9]+\\)\\)?" integer)
	  customize-version-lessp("25.3" integer)
	 [...]
	  customize-changed-options("")

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make check-declare understand cl-defun

	* lisp/emacs-lisp/check-declare.el (check-declare-verify): Add
	cl-defun to the defun-ish regexp (bug#31396).

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	plist-get/lax-plist-get doc fix

	* src/fns.c (Fplist_get): Mention that comparison is done with eq
	(bug#31441).
	(Flax_plist_get): Refer to plist-get for details.

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	citeasnoun in reftex can take an optional parameter

	* lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin):
	citeasnoun can take an optional parameter (bug#31476).  Suggested
	by Konrad Podczeck.

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in sh-assignment-regexp

	* lisp/progmodes/sh-script.el (sh-assignment-regexp): Fix typo in
	bash regexp that inhibited fontification of stuff like foo.=bar
	(bug#31710).

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark ediff-before-session-group-setup-hooks as obsolete

	* lisp/vc/ediff-mult.el (ediff-before-session-group-setup-hooks):
	Mark this apparently unused variable as obsolete (bug#36618).

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a way to more conveniently log/debug nnmail splitting

	* doc/misc/gnus.texi (Fancy Mail Splitting): Mention it.

	* lisp/gnus/nnmail.el (nnmail-debug-splitting): New variable.

	* lisp/gnus/nnmail.el (nnmail-log-split): New function.
	(nnmail-split-it): Use it.

2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix cl-defstruct doc string fix

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Remove sentence from
	doc string that was left in by mistake when fixing the arglist
	documentation.

2019-07-13  Phil Sainty  <psainty@orcon.net.nz>

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a docstring typo

2019-07-13  Phil Sainty  <psainty@orcon.net.nz>

	* lisp/so-long.el (so-long-variable-overrides): Improve doc

	Explain the 'line-move-visual' and 'truncate-lines' values.

2019-07-13  Phil Sainty  <psainty@orcon.net.nz>

	* lisp/so-long.el (so-long-variable-overrides): Use correct bidi option

	Set 'bidi-paragraph-direction' to 'left-to-right', rather than setting
	'bidi-display-reordering' to nil, as the latter is only intended for
	use when debugging the display code.

2019-07-13  Michael Albinus  <michael.albinus@gmx.de>

	Make check for compression programs more robust in Tramp

	* lisp/net/tramp-sh.el (tramp-inline-compress-start-size):
	Revert change of init value.  We fix this differently.
	(tramp-find-inline-compress): Check also the output of the
	processes, not only the return code.

2019-07-13  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Adapt docstring.

2019-07-13  Eli Zaretskii  <eliz@gnu.org>

	Fix TTY menus in GUD and GDB-MI modes

	* lisp/menu-bar.el (menu-bar-open): Accept a numerical
	argument interactively, and drop down menu at that X
	coordinate.
	(popup-menu): Detect when MENU is not a list.  (Bug#36613)

2019-07-13  Eli Zaretskii  <eliz@gnu.org>

	Avoid loading mule-util at startup

	* lisp/international/mule-util.el (char-displayable-p): Move
	from here...
	* lisp/international/mule.el (char-displayable-p): ...to
	here.  This avoids always loading mule-util at startup due
	to a call to 'char-displayable-p' in
	'startup--setup-quote-display'.

2019-07-13  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of So Long mode

	* doc/emacs/trouble.texi (Long Lines): Improve wording, add
	indexing, mention the mode name and its main customization
	options.

2019-07-13  Stefan Kangas  <stefankangas@gmail.com>

	Fix looking up functions like "-e" in cperl-mode

	* lisp/progmodes/cperl-mode.el (cperl-perldoc): Handle functions with
	leading dash (e.g. "-f"). (Bug#6013)

2019-07-13  Eli Zaretskii  <eliz@gnu.org>

	Fix last commit

	* etc/NEWS: Fix formatting and punctuation of last change.

	* lisp/isearch.el (isearch-highlight-regexp)
	(isearch-highlight-lines-matching-regexp): Doc fix.

2019-07-13  Dima Kogan  <dima@secretsauce.net>

	Add ability to highlight-lines-matching-regexp directly from Isearch

	* lisp/isearch.el: Implement the new functionality.
	(isearch-highlight-lines-matching-regexp): New function bound
	to 'M-s h l' in isearch.
	(isearch--highlight-regexp-or-lines): New internal function.

	* etc/NEWS (Search and Replace): Mention this change.

	* doc/emacs/search.texi (Special Isearch): Document 'M-s h l'.
	(Bug#18241)

2019-07-12  Phil Sainty  <psainty@orcon.net.nz>

	Merge branch 'scratch/so-long'

	Add tests for so-long.el

2019-07-12  Phil Sainty  <psainty@orcon.net.nz>

	Add so-long library

	* lisp/so-long.el: New library.
	* doc/emacs/trouble.texi (Long Lines): New node covering so-long.el.
	* doc/emacs/emacs.texi (Top): Add menu entry for the Long Lines node.
	* etc/NEWS: Include under "New Modes and Packages in Emacs 27.1"

2019-07-12  Paul Eggert  <eggert@cs.ucla.edu>

	Replace Vdead with tagged pointer

	This speeds up ‘make compile-always’ by 0.1% on my platform.
	Suggested by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00257.html
	* src/.gdbinit (pwinx, pgx, xbuffer, xprintstr):
	Output dead_object () as "DEAD".
	* src/alloc.c (Vdead, DEADP): Remove.
	All uses replaced by dead_object () / deadp.
	(deadp): New function.
	(init_alloc_once_for_pdumper): Remove no-longer-needed
	initialization.
	* src/lisp.h (dead_object): New function.

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention columns width variables in the buffer-menu doc string

	* lisp/buff-menu.el (buffer-menu): Mention the variables that can
	be used to change the columns widths (bug#36587).

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `M-n' for VALUE in the `set-variable' command

	* lisp/simple.el (set-variable): Mention that the current variable
	is accessible in `M-n' (bug#36586).

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark the new vc-dir-delete command as documented

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new command in vc-dir mode to delete files

	* doc/emacs/maintaining.texi (VC Directory Commands): Document it.

	* lisp/vc/vc-dir.el (vc-dir-delete-files-no-vc): New command and
	keystroke (bug#31732).

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more spook.lines

	* etc/spook.lines: Add Black Cube (bug#32309)
	(https://en.wikipedia.org/wiki/Black_Cube).

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Document fix for cl-defstruct

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Document that we can
	have a doc string (bug#32340).

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow using wdired in all dired-derived modes

	* lisp/wdired.el (wdired-change-to-wdired-mode): Allow using in
	dired derived modes (bug#32392).  Suggested by James Nguyen.

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some indices for regexp character classes

	* doc/lispref/searching.texi (Char Classes): Add some concept
	index entries for a handful of character classes (bug#32430).

2019-07-12  Tino Calancha  <tino.calancha@gmail.com>

	End predicate `dired-in-this-tree' with '-p'

	* lisp/dired.el(dired-in-this-tree-p): Rename from `dired-in-this-tree'.
	Add docstring.

	(dired-in-this-tree): Define an alias to `dired-in-this-tree-p'.

	(dired-buffers-for-dir)
	* lisp/dired-aux.el (dired-tree-down, dired-kill-tree)
	(dired-insert-subdir, dired-rename-subdir): Update all callers (bug#32892).

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Document format-spec and expand the modifiers it supports

	* doc/lispref/text.texi (Interpolated Strings): New section.
	* lisp/format-spec.el (format-spec--parse-modifiers)
	(format-spec--pad): New functions.
	(format-spec): Support more format modifiers (bug#32931).

2019-07-12  Teemu Likonen  <tlikonen@iki.fi>

	Use the gpg --sender option

	* lisp/epg.el (epg-start-encrypt)
	* lisp/gnus/mml-sec.el (mml-secure-epg-encrypt): When
	'mml-secure-openpgp-sign-with-sender' is non-nil message sender's
	email address (in addition to its old behavior) will also be used
	to set gpg's "--sender email@domain" option.

2019-07-12  Paul Eggert  <eggert@cs.ucla.edu>

	* lib-src/make-docfile.c: Fix comment typo.

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Always include the number of unexpected ert tests

	* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
	Always include the number of failed tests, because absence of the
	text is not reassuring (bug#36616).

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix long credentials when using auth in nnimap.el

	* lisp/gnus/nnimap.el (nnimap-login): When base64-ing
	credentials, don't let bsae64-encode-string split the result into
	several lines, because servers do not understand that (bug#34458).

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix long credentials when using auth in url.el

	* lisp/url/url-auth.el (url-basic-auth): When base64-ing
	credentials, don't let bsae64-encode-string split the result into
	several lines, because servers do not understand that (bug#36619).

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fold rfc2047 headers correctly when narrowed to header value

	* lisp/mail/rfc2047.el (rfc2047-fold-region): Fold headers
	correctly if narrowed to the header value.

2019-07-12  Juri Linkov  <juri@linkov.net>

	* test/lisp/replace-tests.el (replace-tests-with-undo): Override

	replace-highlight to emulate clobbering match-data (bug#36328).

2019-07-12  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/compile.el (compilation-filter): `compilation--ensure-parse'

	is used instead of `font-lock-ensure' (bug#36564).

	* test/lisp/progmodes/compile-tests.el (compile-test-error-regexps)
	(compile-test-grep-regexps): Check the number of errors.

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove initial and trailing whitespace in message-fetch-field

	* lisp/gnus/message.el (message-fetch-field): Remove initial and
	trailing whitespace.

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix breaking of rfc2047 headers with long words

	* lisp/mail/rfc2047.el (rfc2047-fold-region): Don't break lines
	right after the Header: field, but wait until the next
	whitespace.  (This only makes a difference for words that are very
	long (i.e., longer than, say, 60 characters, depending on the
	header name length.)

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Refactor rfc2047-fold-region slightly and add a couple of tests

	* lisp/mail/rfc2047.el (rfc2047--break-line): Refactor out to
	avoid code repetition...
	(rfc2047-fold-region): ... from this function.

2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add comments to rfc2047

	* lisp/mail/rfc2047.el (rfc2047-fold-region): Add comments to the
	function.

2019-07-12  Michael Albinus  <michael.albinus@gmx.de>

	Merge from origin/emacs-26

	305abae50e Raise required librsvg version so as to match the current use
	c6775bc9ca * lisp/net/tramp-sh.el (tramp-inline-compress-start-size):...

2019-07-12  Michael Albinus  <michael.albinus@gmx.de>

	Check directory in Tramp's {copy,rename}-file

	* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
	(tramp-adb-handle-rename-file):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
	* lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
	(tramp-smb-handle-rename-file):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
	Check, that NEWNAME is not a directory given as file name.

	* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
	(tramp-test12-rename-file): Extend tests.

2019-07-12  Michael Albinus  <michael.albinus@gmx.de>

	Re-add tramp-autoload cookie for all defcustoms

	* lisp/net/tramp-adb.el (tramp-adb-program)
	(tramp-adb-connect-if-not-connected, tramp-adb-prompt):
	* lisp/net/tramp-cache.el (tramp-persistency-file-name):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-zeroconf-domain):
	* lisp/net/tramp-rclone.el (tramp-rclone-program):
	* lisp/net/tramp-sh.el (tramp-copy-size-limit, tramp-histfile-override)
	(tramp-use-ssh-controlmaster-options):
	* lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
	(tramp-smb-conf, tramp-smb-winexe-program)
	(tramp-smb-winexe-shell-command)
	(tramp-smb-winexe-shell-command-switch): Re-add tramp-autoload
	cookie for all defcustoms.

	* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
	(tramp-adb-handle-rename-file):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
	* lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
	(tramp-smb-handle-rename-file):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
	Check, that NEWNAME is not a directory given as file name.

2019-07-12  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Inline methods): Precise about used external programs.

2019-07-12  Michael Albinus  <michael.albinus@gmx.de>

	Change Tramp version to 2.4.3-pre

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.4.3-pre".

	* lisp/net/tramp.el: Bump version to 2.4.3-pre.

2019-07-11  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak builtin symbol order for speed

	* lib-src/make-docfile.c (compare_globals):
	Make symbols 1 through 4 be t, unbound, error, lambda.
	This is in addition to symbol 0 being nil.
	This change improved ‘make compile-always’ performance by 0.6%
	on my platform.

2019-07-11  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid duplicate comparison in describe_map_compare

	* src/fns.c (string_version_cmp): New function.
	This has most of the old Fstring_version_lessp,
	with an assertion to make things a bit clearer.
	* src/fns.c (Fstring_version_lessp):
	* src/keymap.c (describe_map_compare): Use it (Bug#33237).

2019-07-11  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/compile.el (compilation-filter): Use font-lock-ensure

	to update the number of errors in compilation-mode-line-errors
	displayed in the mode-line.  (Bug#36564)

2019-07-11  Juri Linkov  <juri@linkov.net>

	Better match-data handling in perform-replace

	* lisp/replace.el (perform-replace): Don't wrap replace-highlight
	in save-match-data.  Use `(nth 0 real-match-data)' instead of
	`(match-beginning 0)' after replace-highlight.  (Bug#36328)

2019-07-11  Michael Albinus  <michael.albinus@gmx.de>

	Remove lisp/obsolete/xesam.el

	* test/lisp/format-spec-tests.el (test-format-unknown): Use `should-error'.

2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow passing unknown specs to format-spec

	* lisp/format-spec.el (format-spec): Allow passing through format
	strings that have no specs (to be able to act as a filter).  Also
	add an example.
	* test/lisp/format-spec-tests.el (test-format-spec): Add tests for
	the new functionality.

2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Add tests for format-spec

	Add test to time-stamp.el

2019-07-11  Phil Sainty  <psainty@orcon.net.nz>

	Support program switches in 'comint-run' command

	* etc/NEWS:
	* doc/emacs/misc.texi: Describe new behavior (bug#33037).
	* lisp/comint.el (comint-run): Add optional SWITCHES argument.
	With prefix argument C-u, prompt for SWITCHES.

2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the expand-file-name doc string

	* src/fileio.c (Fexpand_file_name): Clarify that "~" in NAME is
	expanded, and not just "~/".  Also clarify that ~USER is not
	expanded if USER doesn't exist (bug#36490).

2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the order keystrokes are sorted in keymap listings

	* src/keymap.c (describe_map_compare): Change the sorting order of
	keystrokes, so that we get the order <f1> <f2> <f11> instead of
	<f1> <f11> <f2> (bug#33237).

2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak misterioso header line background color

	* etc/themes/misterioso-theme.el (class): Make the header line
	background darker so that cedet function names and parameters are
	legible (bug#33061).

2019-07-11  Stefan Kangas  <stefankangas@gmail.com>

	Remove misleading message in customize

	* lisp/cus-edit.el (custom-buffer-create-internal): Remove misleading
	message about "Resetting customization items" (bug#22451).

2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix C-x C-e with defvars in comments preceding

	* lisp/progmodes/elisp-mode.el (eval-sexp-add-defvars): When
	collecting defvars in the current buffer, ignore the ones that are
	in comments or strings (bug#34233).

2019-07-11  Eli Zaretskii  <eliz@gnu.org>

	Resurrect SVG support on MS-Windows

	* src/image.c (syms_of_image) <Qgio> [HAVE_NTGUI]: New DEFSYM.
	(init_svg_functions) [LIBRSVG_CHECK_VERSION >= 2.32.0]: Load
	g_file_new_for_path and g_memory_input_stream_new_from_data
	from libgio, not from libglib.  (Bug#35548)

	* lisp/term/w32-win.el (dynamic-library-alist): Add the libgio
	DLL.

2019-07-11  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations when resize-mini-windows is nil

	* src/xdisp.c (resize_mini_window): Always reset the
	mini-window's start point to the beginning of the buffer, even
	if resizing is not needed.  This avoids assertion violations
	when resize-mini-windows is nil.  (Bug#36595)

2019-07-10  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid functions deprecated in librsvg 2.45.1

	* src/image.c (init_svg_functions) [WINDOWSNT]:
	Load the pre-2.32 or 2.32 functions,
	depending on LIBRSVG_CHECK_VERSION.
	(svg_load_image): In librsvg 2.32 or later, use
	g_memory_input_stream_new_from_data, g_file_new_for_path and
	rsvg_handle_new_from_stream_sync rather than the
	deprecated-in-2.45 rsvg_handle_write and rsvg_handle_close.
	From a patch by YAMAMOTO Mitsuharu (Bug#35548#11).

2019-07-10  Mattias Engdegård  <mattiase@acm.org>

	Fix trig simplification crash (bug#33052)

	* lisp/calc/calc-alg.el (calcFunc-sec, calcFunc-csc, calcFunc-cot):
	Check that `math-known-sin' and `math-known-tan' succeeded before
	using their value in arithmetic.
	* test/lisp/calc/calc-tests.el (calc-test-trig): Add regression tests.

2019-07-10  Stefan Kangas  <stefankangas@gmail.com>

	Small cleanups in asm-mode.el (Bug#36540)

	* lisp/progmodes/asm-mode.el: Remove "tools" from "Keywords" header.
	Doc fixes.
	(asm-comment-char, asm-comment): Doc fixes.
	(asm-newline): Redefine as an obsolete function alias for
	'newline-and-indent' instead of using a defalias.

2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Add recursion check for comint password prompting

	* lisp/comint.el (comint--prompt-recursion-depth): New variable
	(bug#33252).
	(comint-watch-for-password-prompt): Use it to avoid bugging out
	and making Emacs unusable when a shell script is prompting for
	passwords in an infloop.

2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Fold too-long headers in Message automatically

	* lisp/gnus/message.el (message--fold-long-headers): Header lines
	should be no longer than 79 characters before folding
	(bug#33313).  Previous comment about 998 octets is about maximum
	allowed header field length.

2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc clarification in abbrev-prefix-mark

	* lisp/abbrev.el (abbrev-prefix-mark): Clarify when the hyphen is
	removed (bug#33382).

2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with files like "~" in `directory-files-recursively'

	* lisp/files.el (directory-files-recursively): Don't bug out on
	files like "~" that have special meaning to `expand-file-name'
	(bug#36490).

2019-07-10  Stefan Kangas  <stefankangas@gmail.com>

	Add new section on reading a bug to admin/notes/bugtracker

	* admin/notes/bugtracker: New section "How do I read a bug?" in
	"Quickstart" (Bug#36560).

2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix pretty-printing of {}

	* lisp/json.el (json-pretty-print): Fix reading {}, which returns nil.

2019-07-10  Stefan Kangas  <stefankangas@gmail.com>

	Fix warnings in todo-mode-tests.el (Bug#36569)

	* test/lisp/calendar/todo-mode-tests.el (todo-test--insert-item):
	Fix "Unused lexical argument" warnings.

2019-07-10  Stefan Kangas  <stefankangas@gmail.com>

	Fix warning in electric-tests.el (Bug#36570)

	* test/lisp/electric-tests.el (plainer-c-mode): Remove duplicate
	definition.

2019-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify math-get-calendar-tzinfo

	* lisp/calc/calc-forms.el (calendar-current-time-zone-cache):
	Remove defvar.
	(math-get-calendar-tzinfo): Simplify and do not reach
	into caldst’s cache.

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix documentation of cl-member

	* doc/misc/cl.texi (Lists as Sets): cl-member with no :test is not
	equal to memq (because it uses eql) (bug#33655).

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	auth-source does not support "host" in .netrc files

	* doc/misc/auth.texi (Help for users): Remove mention of "host" in
	.netrc files, because it's not supported (bug#33826).

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	White-space fix in fortune-compile

	* lisp/play/fortune.el (fortune-compile): Reindent function.

2019-07-09  Benjamin Ragheb  <ben@benzado.com>  (tiny change)

	Search exec-path for fortune strfile program

	* lisp/play/fortune.el (fortune-compile): Search exec-path for
	strfile program (bug#33984).

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove json-pretty-print-max-secs introduced earlier this year

	* lisp/json.el (json-pretty-print-max-secs): Remove the variable
	as it's no longer used.

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix timezone east of GMT in Calv

	* lisp/calc/calc-forms.el (math-calendar-tzinfo): Make timezone
	calculation work east of Greenwich.  Fix proposed by David O'Shea
	(bug#34075).

2019-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fileio.c: Fix bug#36431

	(decide_coding_unwind): Re-introduce.  Move text back to the gap.
	Return the new `inserted` via the unwind_data.
	(Finsert_file_contents): Use it.
	Make sure `inserted` is always 0 when we jump straight to `notfound`.
	Don't insert the text in the buffer until we know it's properly decoded
	for the byteness of the buffer.

	* test/src/fileio-tests.el (fileio-tests--insert-file-interrupt):
	Allow insert-file-contents to return an empty buffer in case of
	non-local exit in set-auto-coding-function.

2019-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	Defend fingerprint against even-smarter LTO

	* src/pdumper.c (Fdump_emacs_portable, pdumper_load):
	Don’t cast volatile to non-volatile pointer, as that does not in
	general suffice to prevent a compiler from optimizing away memcmp
	and/or memcpy calls.  Instead, copy the fingerprint by hand.

2019-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	Revert "Turn off bytecode jumptables to avoid Bug#36447"

	This reverts commit 122198d2f1aaf0b74c102874cc9b04ae4789f54f.
	Should not be needed any more thanks to Pip Cet's patch to hash_table_rehash.

2019-07-09  Pip Cet  <pipcet@gmail.com>

	Don't alter shared structure in dumped purecopied hash tables.

	* src/fns.c (hash_table_rehash): Make sure we're operating on
	fresh copies of ->next, ->index, ->hash.

2019-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk

2019-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	Do not alter match data in Fcapitalize etc.

	Without this patch, (capitalize "x") can alter the match data,
	which is not what users expect.  Problem found by running
	morse-tests-unnato-region in a stripped-down Emacs.
	Perhaps ‘load’ should also save and restore the match data?
	That would be a simpler fix, though arguably incompatible.
	* src/lread.c (save_match_data_load): New function.
	* src/chartab.c (uniprop_table):
	* src/doc.c (reread_doc_file):
	* src/eval.c (Fautoload_do_load):
	* src/fns.c (Frequire): Use it.

2019-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	Port image-type-from-file-header-test to non-SVG Emacs

	Problem reported privately by Michael Albinus.
	* test/lisp/image-tests.el (image-type-from-file-header-test):
	Don’t assume svg is a supported image type.

2019-07-09  Andreas Schwab  <schwab@linux-m68k.org>

	Make fingerprint handling compatible with LTO

	Tell the compiler that the fingerprint variable is modified unpredictably.

	* lib/fingerprint.h (fingerprint): Remove const.
	* lib/fingerprint.c (fingerprint): Likewise.
	* src/pdumper.c (Fdump_emacs_portable): Cast fingerprint variable.
	(pdumper_load): Likewise.
	* lib-src/make-fingerprint.c (main): Likewise.

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix pretty-printing of multiple JSON objects

	* lisp/json.el (json-pretty-print-max-secs): Make obsolete.
	(json-pretty-print): Pretty-print all JSON objects in the region
	instead of just the first one (and then deleting all other
	objects) (bug#34160).

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Fix pretty-printing of multiple JSON objects"

	This reverts commit 48daf77a9d963c05ee198b3ab108c7f0b3686da6.

	This apparently led to build errors.

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix pretty-printing of multiple JSON objects

	* lisp/json.el (json-pretty-print-max-secs): Make obsolete.
	(json-pretty-print): Pretty-print all JSON objects in the region
	instead of just the first one (and then deleting all other
	objects) (bug#34160).

2019-07-09  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/simple.el (shell-command): Raise a user-error instead of an error.

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify json-read and json-encode parameters and return values

	* lisp/json.el (json-read): Try to clarify what's returned (bug#34242).
	(json-encode): Refer to `json-read' about what the input is and
	say what error is signaled.

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix alternative-email-as-from with empty To headers in Message

	* lisp/gnus/message.el (message-use-alternative-email-as-from):
	Don't add a "," at the start of the address if the To header
	doesn't exist (bug#34293).

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make gnus-read-ephemeral-emacs-bug-group autoloadable

	* lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
	Add an autoload cookie, because the command can be used from
	without Gnus.

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Checkdoc would bug out on empty files

	* lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Don't
	bug out on malformed Emacs Lisp (bug#34760).
	(checkdoc-file-comments-engine): Don't bug out on empty buffers.

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify warning about unknown articles in Gnus

	* lisp/gnus/gnus-sum.el (gnus-summary-mark-article-as-unread)
	(gnus-mark-article-as-unread): Clarify warning (bug#34990).

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't try to save articles in Gnus that have disappeared

	* lisp/gnus/gnus-sum.el (gnus-summary-save-article): Stop trying
	to save articles if the articles have disappeared (bug#35188).

2019-07-09  Mattias Engdegård  <mattiase@acm.org>

	Rename font_driver member close -> close_font

	* src/alloc.c (cleanup_vector):
	* src/xftfont.c (xftfont_driver):
	* src/xfont.c (xfont_driver):
	* src/nsfont.m (nsfont_driver):
	* src/macfont.m (macfont_driver):
	* src/ftxfont.c (ftxfont_driver):
	* src/ftfont.c (ftfont_driver):
	* src/ftcrfont.c (ftcrfont_driver):
	* src/font.h (struct font_driver):
	* src/font.c (font_clear_cache, font_close_object):
	Rename `close' member to `close_font', to avoid clash with preprocessor
	define of `close' in nt/inc/ms-w32.h and for consistency with `open_font'.

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `call-process-region' in the `call-process' doc string

	* src/callproc.c (Fcall_process): Mention `call-process-region'
	(bug#35187).

2019-07-09  Mattias Engdegård  <mattiase@acm.org>

	Rename font_driver member open -> open_font

	* src/xftfont.c (xftfont_driver):
	* src/xfont.c (xfont_driver):
	* src/nsfont.m (nsfont_driver):
	* src/macfont.m (macfont_driver):
	* src/ftxfont.c (ftxfont_driver):
	* src/ftfont.c (ftfont_driver):
	* src/ftcrfont.c (ftcrfont_driver):
	* src/font.h (struct font_driver):
	* src/font.c (font_open_entity):
	Rename `open' member to `open_font', to avoid clash with preprocessor
	define of `open' in lib/fcntl.h and nt/inc/ms-w32.h.  Remove earlier
	#undef hack.

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a really simple nadvice example

	* doc/lispref/functions.texi (Advising Functions): Add a really
	trivial and simple example (bug#35250).

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make two variables for extended command suggestions mention each other

	* lisp/simple.el (suggest-key-bindings):
	(extended-command-suggest-shorter): Mention each other, because
	they are vaguely related (bug#35309).

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the manual say what undo-auto-amalgamate does

	* doc/lispref/text.texi (Undo): Say what undo-auto-amalgamate does
	in addition to describing what amalgamation is (bug#35344).

2019-07-09  Eli Zaretskii  <eliz@gnu.org>

	Unbreak the MS-Windows build

	* src/font.c (open): Don't undef on WINDOWSNT, as ms-w32.h
	redirects it to sys_open.

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	.har files are JSON files

	* lisp/files.el (auto-mode-alist): Map .har files to
	javascript-mode (bug#35407).

2019-07-09  Ryan Brown  <ryan@derivita.com>

	Fix for lisp tagbody indentation

	* lisp/emacs-lisp/cl-indent.el (lisp-indent-259): Indent PROG
	better (bug#36552).

2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more quote-end characters to sentence-end-base

	* lisp/textmodes/paragraphs.el (sentence-end-base): Add › and »
	(bug#36359).

2019-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/verilog-mode.el: Update Version:

	Merge branch 'emacs-26' into trunk

2019-07-09  Mattias Engdegård  <mattiase@acm.org>

	Repair macOS build

	Avoid macro redefinition of `open' in lib/fcntl.h to break use of it as
	a struct member in src/font.c.

	* src/font.c: #undef open

2019-07-09  Glenn Morris  <rgm@gnu.org>

	Conditionalize result of a bytecomp test

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-test--switch-duplicates):
	Apparently the result depends on byte-compile-cond-use-jump-table.

2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make delimit-columns-region say what it does

	* lisp/delim-col.el (delimit-columns-region): Make the doc string
	say a bit more about what it does (bug#35651).
	(delimit-columns-rectangle): Refer to the first function.

2019-07-08  Katsumi Yamaoka  <yamaoka@jpl.org>

	Allow using @@ in @uref in texinfo

	* lisp/textmodes/texinfmt.el (texinfo-format-uref): Allow using @@
	in @uref (bug#36186) to allow things like
	@uref{mailto:foo@@example.com}.

2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak compilation face in the wheatgrass theme

	* etc/themes/wheatgrass-theme.el: The compilation info was too
	light to be readable (bug#36203).

2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't set url-mime-charset-string from set-language-environment

	* lisp/url/url-vars.el (url-set-mime-charset-string): Make
	obsolete and don't add to set-language-environment-hook
	(bug#36268).  If you loaded url-vars before calling
	set-language-environment, you would suddenly get an unusable long
	url-mime-charset-string.

2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code in url-mime-charset-string

	* lisp/url/url-vars.el (url-mime-charset-string): Remove compat code.

2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak messaging in re-builder

	* lisp/emacs-lisp/re-builder.el (reb-copy): Say what we copied to
	the kill ring.

2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention {la,}tex-run-command in the TeX Print info node

	* doc/emacs/text.texi (TeX Print): Mention {la,}tex-run-command,
	too.  Suggested by Sebastian Urban (bug#36400).

2019-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid some unnecessary stdio.h includes

	* src/atimer.c, src/callproc.c, src/coding.c, src/dired.c, src/eval.c:
	* src/fringe.c, src/ftcrfont.c, src/ftfont.c, src/ftxfont.c:
	* src/gfilenotify.c, src/indent.c, src/kqueue.c, src/menu.c:
	* src/scroll.c, src/terminal.c, src/unexcoff.c, src/window.c:
	* src/xfont.c, src/xftfont.c:
	Do not include stdio.h since it is unused.

2019-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	Use fewer locks when accessing stdio

	* src/alloc.c, src/bidi.c, src/emacs-module.c, src/pdumper.c:
	* src/regex-emacs.c, src/unexhp9k800.c, src/unexmacosx.c:
	* src/widget.c, src/xdisp.c, src/xselect.c, src/xterm.c:
	Include sysstdio.h instead of stdio.h, to avoid locking
	stdio streams in many cases.
	* src/alloc.c (test_setjmp):
	* src/bidi.c (bidi_dump_cached_states):
	* src/cm.c (calccost):
	* src/dispnew.c (init_display_interactive):
	* src/emacs.c (main):
	* src/image.c (convert_mono_to_color_image):
	* src/minibuf.c (read_minibuf_noninteractive):
	* src/nsfont.m (ns_descriptor_to_entity)
	(ns_dump_glyphstring):
	* src/nsterm.h (NSTRACE_MSG_NO_DASHES):
	* src/nsterm.m (ns_mouse_position)
	(sendEvent:, keyDown:, performDragOperation:):
	* src/pdumper.c (dump_fingerprint, print_paths_to_root_1):
	* src/print.c (debug_print):
	* src/regex-emacs.c (debug_putchar, print_fastmap)
	(print_partial_compiled_pattern, print_compiled_pattern)
	(print_double_string, regex_compile):
	* src/term.c (vfatal):
	* src/unexhp9k800.c (read_header):
	* src/unexmacosx.c (unexec_error):
	* src/widget.c (EmacsFrameInitialize):
	* src/xdisp.c (message_to_stderr, vmessage, dump_glyph_row)
	(Fdump_glyph_matrix, Fdump_frame_glyph_matrix, dump_glyph_string):
	* src/xfaces.c (Fdump_colors, Fdump_face):
	* src/xselect.c (x_clipboard_manager_error_2):
	* src/xterm.c (x_initialize):
	* src/xwidget.c (WEBKIT_FN_INIT):
	Prefer unlocked calls like fputs to locked calls like fprintf.
	* src/charset.c (read_hex):
	* src/cm.c (cmputc, cmcheckmagic):
	* src/dispnew.c (update_frame, update_frame_with_menu)
	(update_frame_1, Fsend_string_to_terminal, Fding)
	(bitch_at_user):
	* src/emacs.c (main, Fdump_emacs):
	* src/emacs-module.c (module_abort):
	* src/fileio.c (Fdo_auto_save):
	* src/image.c (slurp_file)
	(png_read_from_file, png_load_body, our_stdio_fill_input_buffer):
	* src/keyboard.c (record_char, kbd_buffer_get_event)
	(handle_interrupt):
	* src/lread.c (readbyte_from_stdio, read1):
	* src/minibuf.c (read_minibuf_noninteractive):
	* src/print.c (printchar_to_stream, strout)
	(Fredirect_debugging_output):
	* src/sysdep.c (reset_sys_modes, close_output_streams)
	(procfs_ttyname, procfs_get_total_memory):
	* src/term.c (tty_ring_bell, tty_send_additional_strings)
	(tty_set_terminal_modes, tty_reset_terminal_modes)
	(tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
	(tty_write_glyphs_with_face, tty_insert_glyphs)
	(tty_menu_activate):
	* src/xfaces.c (Fx_load_color_file):
	Simplify by using ordinary calls like putc to explicitly-unlocked
	calls like putc_unlocked, since the ordinary calls are now
	unlocked anyway.
	* src/emacs.c (main, Fdump_emacs):
	* src/pdumper.c (Fdump_emacs_portable):
	Coalesce adjacent printfs.
	* src/nsterm.h: Include sysstdio.h as this file’s macros rely on it.
	* src/regex-emacs.c (print_compiled_pattern):
	Omit redundant fflush.
	* src/sysstdio.h: Include unlocked-io.h.
	(clearerr_unlocked, feof_unlocked, ferror_unlocked)
	(fflush_unlocked, fgets_unlocked, fputc_unlocked)
	(fputs_unlocked, fread_unlocked, fwrite_unlocked)
	(getc_unlocked, getchar_unlocked, putc_unlocked)
	(putchar_unlocked): Remove these macros; now done by unlocked-io.h.
	* src/xwidget.c: Include sysstdio.h.

2019-07-08  Basil L. Contovounesios  <contovob@tcd.ie>

	Tidy up sieve.el text formatting

	* lisp/net/sieve.el (sieve-edit-script, sieve-upload): Do not pass
	arbitrary string as first argument to 'message' (bug#25764).
	(sieve-help): Split long string across multiple lines.
	(sieve-refresh-scriptlist): Use ngettext.  Fix grammar.

2019-07-08  Stefan Kangas  <stefankangas@gmail.com>

	Delegate to rectangle version in delim-col when appropriate

	* lisp/delim-col.el (delimit-columns-region): Delegate to
	`delimit-columns-rectangle' when called with a rectangular
	region (bug#36453).

2019-07-08  Ismail S  <ismail-s.no-reply@github.com>  (tiny change)

	Fix minor typo in org-capture-templates

	* lisp/org/org-capture.el (org-capture-templates): Fix typo in doc
	string (bug#36491).

2019-07-08  Ken Brown  <kbrown@cornell.edu>

	Ensure that expand-file-name returns an absolute file name

	* src/fileio.c (Fexpand_file_name): Don't directly use the current
	buffer's default-directory if it is relative.  Instead replace it
	by its expansion relative to invocation-directory.  (Bug#36502)
	* test/src/fileio-tests.el
	(fileio-tests--relative-default-directory): New test.

2019-07-08  Noam Postavsky  <npostavs@gmail.com>

	Turn off bytecode jumptables to avoid Bug#36447

	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table): Set
	to nil.  We can turn this back on again when Bug#36447 is solved and
	we handle dumped hash tables correctly.

2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove mention of :group in define-minor-mode info

	* doc/lispref/modes.texi (Defining Minor Modes): The :group stuff
	in the example and documentation isn't correct since this is not a
	global mode and `hunger-mode' therefore isn't customizable
	(bug#36501).

2019-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Improvements to sieve script usability

	* lisp/net/sieve-mode.el (sieve-mode-menu): Add
	  `sieve-upload-and-kill' to the mode menu.

	* lisp/net/sieve.el (sieve-manage-mode-menu): Add `sieve-manage-quit'
	  to the mode menu.
	  (sieve-help): Mention quitting in mode help.
	  (sieve-manage-mode): Directly derive from special-mode.
	  (sieve-edit-script): Start off with unmodified buffer.
	  (sieve-upload): Set buffer unmodified after successful upload.

	Changes are aimed at 1) increasing discoverability of commands and 2)
	using buffer modification to help users understand what's happening.

2019-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Make sure gnus-group-set-info sets both the hashtable and alist

	* lisp/gnus/gnus-group.el (gnus-group-set-info): Apparently this
	  method of updating the group info will only apply to the
	  gnus-newsrc-hashtb, not gnus-newsrc-alist. Do the alist explicitly.

2019-07-08  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Remote processes): Fix a typo.

2019-07-08  Alan Mackenzie  <acm@muc.de>

	Fix coding error in c-forward-decl-or-cast-1.  This fixes bug #36492.

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While testing for,
	e.g., foo(), check we've found the ( before trying to go to its position.

2019-07-08  Michael Albinus  <michael.albinus@gmx.de>

	Allow chown/chgrp for remote directories on w32

	* lisp/dired-aux.el (dired-do-chgrp, dired-do-chown):
	Allow them for remote directories, even when run on w32.  See
	<https://emacs.stackexchange.com/questions/51477/chown-with-dired-over-tramp-from-windows-machine>.

2019-07-08  Alan Mackenzie  <acm@muc.de>

	Fix bug #36474, such that CC Mode quotes work properly in electric-pair-mode

	Also finishes the fix for bug #36423.

	* lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Add an `eval-after-load'
	to set electric-pair-inhibit-predicate for existing CC Mode buffers when
	elec-pair.elc gets loaded.
	(c-basic-common-init): Set electric-pair-inhibit-predicate when a CC Mode mode
	gets initialized.
	(c-electric-pair-inhibit-predicate): New function.

2019-07-07  Paul Eggert  <eggert@cs.ucla.edu>

	* src/xselect.c: Fix comment.

	* src/dispnew.c (init_display_interactive): Fix comment to match code.

2019-07-07  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-dir.el (vc-dir-view-file): New command for consistency with dired

	* lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing):
	Remove interactive spec from non-command functions.  (Bug#12492)

2019-07-07  Juri Linkov  <juri@linkov.net>

	Handle scroll-error-top-bottom in follow.el and view.el (bug#21893)

	* lisp/follow.el (follow-scroll-up-arg, follow-scroll-up-window):
	Use scroll-up-command instead of scroll-up.
	(follow-scroll-down-arg, follow-scroll-down-window):
	Use scroll-down-command instead of scroll-down.
	(follow-scroll-up, follow-scroll-down): Handle scroll-error-top-bottom.

	* lisp/view.el (view-scroll-lines): Use scroll-down-command
	instead of scroll-down and scroll-up-command instead of scroll-up.
	(view-really-at-end): Handle scroll-error-top-bottom.

2019-07-07  Juri Linkov  <juri@linkov.net>

	* lisp/replace.el (perform-replace): Move save-match-data here

	from replace-highlight for isearch-lazy-highlight-new-loop (bug#36328).

2019-07-07  Glenn Morris  <rgm@gnu.org>

	Avoid makeinfo error "@code expected braces"

	* doc/lispref/searching.texi (Rx Constructs): Fix for makeinfo 4.13.

2019-07-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix typo in previous patch

	* src/editfns.c (styled_format): Fix stray ‘pMd’.

2019-07-07  Paul Eggert  <eggert@cs.ucla.edu>

	Remove printmax_t etc.

	printmax_t etc. were needed only for platforms that lacked
	support for printing intmax_t.  These platforms are now so
	obsolete that they are no longer practical porting targets.
	* src/image.c (gs_load): Fix unlikely buffer overrun
	discovered while making these changes.  It was introduced in
	2011-07-17T00:34:43!eggert@cs.ucla.edu.
	* src/lisp.h (printmax_t, uprintmax_t, pMd, pMu, pMx):
	Remove.  All uses replaced by their standard counterparts
	intmax_t, uintmax_t, PRIdMAX, PRIuMAX, PRIxMAX.

2019-07-07  Nick Drozd  <nicholasdrozd@gmail.com>

	Handle 'abbr' and 'acronym' tags in shr.el

	* lisp/net/shr.el (shr-tag-abbr, shr-tag-acronym): New functions
	handling 'abbr' and 'acronym' tags, respectively.
	* etc/NEWS: Announce change in shr behavior (bug#36475).

2019-07-07  Mattias Engdegård  <mattiase@acm.org>

	Shorter `rx' doc string (bug#36496)

	* lisp/emacs-lisp/rx.el (rx): Replace long description with a condensed
	summary of the rx syntax, with reference to the manual section.

2019-07-07  Mattias Engdegård  <mattiase@acm.org>

	Describe the rx notation in the elisp manual (bug#36496)

	The additions are excluded from the print version to avoid making it
	thicker.

	* doc/lispref/elisp.texi (Top): New menu entry.
	* doc/lispref/searching.texi (Regular Expressions): New menu entry.
	(Regexp Example): Add rx form of the example.
	(Rx Notation, Rx Constructs, Rx Functions): New nodes.
	* doc/lispref/control.texi (pcase Macro): Describe the rx pattern.

2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t ignore stderr failure when ADDRESS_SANITIZER

	* src/emacs.c (close_output_streams): Move from here ...
	* src/sysdep.c: ... to here, where it really belongs anyway.
	When ADDRESS_SANITIZER, fflush stderr and check for ferror,
	to catch stderr output errors even in this case.

2019-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/nadvice.el: Make it a package separate from `emacs`.

	* lisp/finder.el (finder-compile-keywords): Grab version from
	package--builtin-versions when available.

2019-07-06  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	1e6d8e0 (origin/emacs-26) ; * doc/emacs/killing.texi (Secondary Selec...
	e2344a7 * lisp/svg.el, lisp/progmodes/ada-mode.el: Fix bug#36360.
	ff738ab Minor copyedit of "Font Lock" in user manual
	faf99dc Improve description of image descriptors
	21351cc ; * src/lread.c (Fread): Make the comment wording more accurate.
	d176090 Improve documentation of secondary selections
	8910fe1 * src/fns.c (Fmapconcat): Doc fix.  (Bug#36418)

	# Conflicts:
	#	lisp/svg.el

2019-07-06  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	e97c043 Fix python.el docstring (Bug#36458)
	e660801 ; Add thing-at-point-looking-at test (Bug#35708)
	f5b4846 ; Fix typo, insure -> ensure in ChangeLogs
	cb8fb59 * lisp/hi-lock.el (hi-lock-line-face-buffer): Doc fix.  (Bug3...

2019-07-06  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	316f5a3 Fix typo in doc string of file-exists-p (bug#36408)
	bfc7c6e * test/lisp/url/url-file-tests.el (url-file): Fix for POSIX f...
	13b95e1 Fix typo in windows.texi
	8b775c3 Clarify & update (elisp) Writing Emacs Primitives
	7648c12 Clarify a subtle issue in the Internals chapter of lispref

2019-07-06  Xu Chunyang  <mail@xuchunyang.me>

	* lisp/dom.el (dom-texts): Simplify (Bug#36441).

2019-07-06  Noam Postavsky  <npostavs@users.sourceforge.net>

	Use buffer's name for help-mode bookmarks (Bug#24573)

	* lisp/help-mode.el (help-bookmark-make-record): Replace buffer
	objects with their names in help-args, otherwise the bookmark won't be
	readable from the bookmark save file.

2019-07-06  Noam Postavsky  <npostavs@gmail.com>

	Add commentary about #$ in autoload files

	* lisp/emacs-lisp/autoload.el (autoload-rubric): Add commentary about
	`#$' trick.

2019-07-06  Wilson Snyder  <wsnyder@wsnyder.org>

	Fix indentation of default clocking definitions.

	* lisp/progmodes/verilog-mode.el (verilog-default-clocking-re): Fix indentation of default
	clocking definitions, Verilog-Mode bug1457. Reported by Paul Donahue.

2019-07-06  Wilson Snyder  <wsnyder@wsnyder.org>

	Backout replacing manually crafted hex regexes with [:xdigit:].

	* lisp/progmodes/verilog-mode.el (verilog-delay-re):
	(verilog-type-font-keywords, verilog-read-always-signals-recurse):
	(verilog-is-number): Backout replacing manually crafted hex regexes with
	[:xdigit:] (Bug#36167).  This repairs Verilog-mode regressions;
	Verilog-mode maintains back-compatibility with Emacsen before this syntax
	was supported.

2019-07-06  Pip Cet  <pipcet@gmail.com>

	Update current buffer when changing text properties

	* src/textprop.c (add_text_properties_1, set_text_properties)
	(set_text_properties_1, Fremove_text_properties): Switch buffer if
	necessary.  (Bug#36190)

	* doc/lispref/text.texi (Examining Properties): Document performance
	FIXME.

2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-07-06 thread, lock, cond, tls: Remove support for Pth threads
	2019-07-02 verify: document ‘assume’ better
	2019-06-30 Include <stdlib.h> when needed
	2019-06-30 inet_ntop, inet_pton: Avoid conflict with native Windows
	* build-aux/config.sub, lib/faccessat.c, lib/fcntl.c, lib/fstatat.c:
	* lib/readlinkat.c, lib/verify.h, m4/pthread_sigmask.m4:
	* m4/sys_socket_h.m4: Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	Fix [[:xdigit:]] glitch on Solaris

	* admin/charsets/mapconv: Revert this [[:xdigit:]] change.
	Solaris 10 ‘sed’ does not support [[:xdigit:]].

2019-07-06  Drew Adams  <drew.adams@oracle.com>

	Tweak point movement in view-echo-area-messages

	* lisp/help.el (view-echo-area-messages): Move the point to the
	end of the *Messages* buffer even if it's already displayed
	(bug#36343).

2019-07-06  Stefan Kangas  <stefankangas@gmail.com>

	Remove outdated comment in uniquify.el

	* lisp/uniquify.el: Remove outdated comment regarding some ancient
	version of uniquify.el (bug#36384).

2019-07-06  Stefan Kangas  <stefankangas@gmail.com>

	Improve an error message in bookmark.el

	* lisp/bookmark.el (bookmark-alist-from-buffer): Improve error
	message (bug#36391).

2019-07-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve Gnus ephemeral bug group browsing

	* doc/misc/gnus.texi (Foreign Groups): Update description of
	gnus-read-ephemeral-emacs-bug-group for multiple bug
	IDs (bug#11961).

	* lisp/gnus/gnus-group.el (gnus-bug-group-download-format-alist):
	Use HTTPS for Debian's bug tracker.
	(gnus-group--read-bug-ids): New function for reading multiple bug
	IDs in the minibuffer.  Improves on previous brittle approach of
	word-at-point -> read-string -> string-to-number by a) defaulting to
	the more accurate bug-reference-bug-regexp or number-at-point
	without using the intrusive INITIAL-INPUT argument, and b) not
	attempting to parse bug IDs.
	(gnus-read-ephemeral-bug-group): Use it.  Extend docstring and
	commentary.  Fix handling of multiple bug IDs as either numbers or
	strings.  Hoist some string consing out of inner loop.  Delete
	temporary file even on error.  Throw more informative error when
	url-insert-file-contents successfully returns an error (bug#36433).
	(gnus-read-ephemeral-debian-bug-group): Use gnus-group--read-bug-ids
	and fix docstring for multiple bug IDs.  Accept optional WINDOW-CONF
	like other ephemeral bug group commands.
	(gnus-read-ephemeral-emacs-bug-group): Use gnus-group--read-bug-ids
	and fix string/numeric ID conversions.  Try loading debbugs-gnu
	before testing for debbugs-gnu-summary-mode (bug#36433).

2019-07-06  Stefan Kangas  <stefankangas@gmail.com>

	Add tests for text-property-search to check prop-match-value

	* test/lisp/emacs-lisp/text-property-search-tests.el
	(with-match-test): New macro.
	(text-property-search-forward-prop-match-match-face-nil-nil)
	(text-property-search-forward-prop-match-match-face-bold-t)
	(text-property-search-forward-prop-match-match-face-bold-nil)
	(text-property-search-backward-prop-match-match-face-nil-nil)
	(text-property-search-backward-prop-match-match-face-italic-t)
	(text-property-search-backward-prop-match-match-face-italic-nil):
	Add test cases to also verify the value of prop-match-value
	(bug#36486).

2019-07-06  Eli Zaretskii  <eliz@gnu.org>

	Improve the default value of 'doc-view-ghostscript-program'

	* lisp/doc-view.el (doc-view-ghostscript-program): Make the
	default value dependent on the underlying OS.  (Bug#36357)

2019-07-06  Stefan Kangas  <stefankangas@gmail.com>

	Make "M-x pdb" use "[:graph:]" to match file names

	* lisp/progmodes/gud.el (gud-pdb-marker-regexp): Use "[:graph:]" to
	match file name in prompt.  (Bug#34489)

2019-07-06  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/net/goto-addr.el: Remove leftover XEmacs compat code.  (Bug#36512)

	* lisp/bookmark.el (bookmark-set-internal): Doc fix. (Bug#25032)

2019-07-06  Stefan Kangas  <stefankangas@gmail.com>

	* lisp/bookmark.el (bookmark-quit-flag): Mark unused variable obsolete.

	(Bug#36460)

2019-07-06  Stefan Kangas  <stefankangas@gmail.com>

	Prefer progress-reporter to 'message' in bookmark.el

	* lisp/bookmark.el (bookmark-upgrade-file-format-from-0)
	(bookmark-bmenu-execute-deletions): Use progress-reporter.
	(Bug#36462)

2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	Replace manually crafted hex regexes with [:xdigit:]

	* admin/charsets/mapconv:
	* build-aux/gitlog-to-changelog (parse_amend_file, git_dir_option):
	* lisp/progmodes/verilog-mode.el (verilog-delay-re):
	(verilog-type-font-keywords, verilog-read-always-signals-recurse):
	(verilog-is-number):
	* lisp/progmodes/vera-mode.el (vera-font-lock-keywords):
	* test/src/emacs-module-tests.el (mod-test-sum-test):
	* lisp/xml.el: (xml--entity-replacement-text):
	* lisp/version.el (emacs-repository-version-git):
	* lisp/textmodes/sgml-mode.el (sgml-quote):
	* lisp/textmodes/css-mode.el (css-escapes-re)
	(css--colors-regexp):
	* lisp/progmodes/prolog.el (prolog-syntax-propertize-function):
	* lisp/progmodes/hideif.el (hif-token-regexp, hif-tokenize):
	* lisp/progmodes/ebnf-dtd.el: (ebnf-dtd-attlistdecl)
	(ebnf-dtd-entitydecl, ebnf-dtd-lex):
	* lisp/progmodes/ebnf-ebx.el (ebnf-ebx-hex-character):
	* lisp/progmodes/ebnf-abn.el (ebnf-abn-character):
	* lisp/progmodes/cperl-mode.el (cperl-highlight-charclass)
	(cperl-find-pods-heres):
	* lisp/progmodes/cc-mode.el (c-maybe-quoted-number-head)
	(c-maybe-quoted-number, c-parse-quotes-before-change)
	(c-parse-quotes-after-change, c-quoted-number-head-before-point)
	(c-quoted-number-straddling-point):
	* lisp/progmodes/ada-mode.el (featurep, ada-in-numeric-literal-p)
	(ada-font-lock-keywords):
	* lisp/org/org-mobile.el (org-mobile-copy-agenda-files)
	* lisp/org/org-table.el (org-table-number-regexp):
	(org-mobile-update-checksum-for-capture-file):
	* lisp/nxml/xsd-regexp.el (xsdre-gen-categories):
	* lisp/nxml/xmltok.el (let*):
	* lisp/nxml/rng-xsd.el (rng-xsd-convert-hex-binary)
	(rng-xsd-convert-any-uri):
	* lisp/nxml/rng-uri.el (rng-uri-file-name-1)
	(rng-uri-unescape-multibyte, rng-uri-unescape-unibyte)
	(rng-uri-unescape-unibyte-match)
	(rng-uri-unescape-unibyte-replace):
	* lisp/nxml/rng-cmpct.el (rng-c-process-escapes):
	* lisp/nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
	* lisp/net/shr-color.el (shr-color->hexadecimal):
	* lisp/mail/rfc2231.el (rfc2231-decode-encoded-string):
	* lisp/international/mule-cmds.el (read-char-by-name):
	* lisp/htmlfontify.el (hfy-hex-regex):
	* lisp/gnus/nneething.el (nneething-decode-file-name):
	* lisp/gnus/mml-sec.el (mml-secure-find-usable-keys):
	* lisp/gnus/gnus-art.el (gnus-button-mid-or-mail-heuristic-alist):
	* lisp/faces.el (read-color):
	* lisp/epg.el (epg--status-ERRSIG, epg--status-VALIDSIG)
	(epg--status-SIG_CREATED, epg--decode-percent-escape)
	(epg--decode-hexstring, epg--decode-quotedstring)
	(epg-dn-from-string):
	* lisp/emulation/cua-rect.el (cua-incr-rectangle):
	* lisp/dnd.el (dnd-unescape-uri):
	* lisp/cedet/semantic/lex.el (semantic-lex-number-expression):
	* lisp/cedet/semantic/java.el (semantic-java-number-regexp):
	* lisp/calc/calc-lang.el (pascal):
	* lisp/calc/calc-ext.el (math-read-number-fancy):
	* lisp/calc/calc-aent.el (math-read-token):
	Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
	(Bug#36167)

2019-07-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Add HarfBuzz fallbacks for libotf functions used in ftfont_list

	* src/ftfont.c [!HAVE_LIBOTF && HAVE_HARFBUZZ]: Include hb-ot.h.
	(OTF, OTF_tag) [!HAVE_LIBOTF && HAVE_HARFBUZZ]: New typedefs.
	(hbotf_open, hbotf_check_features) [!HAVE_LIBOTF && HAVE_HARFBUZZ]: New
	functions.
	(OTF_open, OTF_close, OTF_check_features) [!HAVE_LIBOTF && HAVE_HARFBUZZ]:
	New macros.
	(ftfont_list) [!HAVE_LIBOTF && HAVE_HARFBUZZ]: Use them.

2019-07-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Avoid crash inside CFCharacterSetIsLongCharacterMember

	* src/macfont.m (macfont_supports_charset_and_languages_p)
	(macfont_has_char): Don't pass integers outside the Unicode codespace to
	CFCharacterSetIsLongCharacterMember.

2019-07-05  Juri Linkov  <juri@linkov.net>

	* lisp/replace.el (replace-highlight): Add save-match-data (bug#36328)

	* lisp/term/tty-colors.el (tty-color-canonicalize):
	Replace string-match with string-match-p.

	Thanks to Jayden Navarro <jayden@yugabyte.com> and Alan Mackenzie <acm@muc.de>

2019-07-04  Juri Linkov  <juri@linkov.net>

	* lisp/minibuffer.el (minibuffer-message-properties): New variable.

	(minibuffer-message): Use it to propertize message unless already
	propertized by the caller.

	* lisp/simple.el (minibuffer-error-function): Propertize the error.

	* lisp/isearch.el (isearch-message-properties): New variable.
	(isearch--momentary-message, isearch-message-prefix)
	(isearch-message-suffix): Use it.  (Bug#21112)

2019-07-04  Juri Linkov  <juri@linkov.net>

	* lisp/char-fold.el (char-fold-to-regexp): Implement arg LAX (bug#36398).

	* test/lisp/char-fold-tests.el (char-fold--test-multi-lax): New test.

2019-07-04  Mattias Engdegård  <mattiase@acm.org>

	Optimize more inputs to `regexp-opt' (bug#36444)

	Use a more precise test to determine whether the input to `regexp-opt'
	is safe to optimize when KEEP-ORDER is non-nil, permitting more inputs
	to be optimized than before.  For example, ("good" "goal" "go") is now
	accepted.

	* lisp/emacs-lisp/regexp-opt.el (regexp-opt):
	More precise test for whether the list is safe w.r.t. KEEP-ORDER.
	(regexp-opt--contains-prefix): Remove.

	* test/lisp/emacs-lisp/regexp-opt-tests.el: Use lexical-binding.
	(regexp-opt-test--permutation, regexp-opt-test--factorial)
	(regexp-opt-test--permutations, regexp-opt-test--match-all)
	(regexp-opt-test--check-perm, regexp-opt-test--explain-perm)
	(regexp-opt-keep-order): Test KEEP-ORDER.

2019-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/coding.c (decode_coding): Improve doc.

2019-07-04  Lars Ingebrigtsen  <larsi@gnus.org>

	In Message, respect Content-Type provided by the user

	* lisp/gnus/mml.el (mml-parse-1): Respect any Content-Type
	inserted by the user instead of insisting on text/plain.

2019-07-04  Alan Mackenzie  <acm@muc.de>

	Fix an infinite loop in c-end-of-macro.  Should fix bug #36484

	Also fix two faulty regexps, save-match-data, and check c-major-mode-is
	'c++-mode where needed.

	* lisp/progmodes/cc-langs.el (c-last-c-comment-end-on-line-re)
	(c-last-open-c-comment-start-on-line-re): Handle repeated *s in regexp
	correctly.

	* lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Protect
	the match-data with save-match-data around regexp operations.
	(c-end-of-macro): In the loop handling multiline block comments, check a
	comment actually is multiline.

	* lisp/progmodes/cc-mode.el (c-depropertize-CPP): Only call
	c-depropertize-raw-strings-in-region in C++ Mode.

2019-07-03  João Távora  <joaotavora@gmail.com>

	Fix Flymake's user-visible accessors of diagnostic positions

	Diagnostics are supported by overlays, and they can legitimately move
	around.  So flymake-diagnostic-beg and flymake-diagnostic-end must
	look up the overlay positions, not the immutable slots of the
	flymake--diag structure, which become stale.

	* lisp/progmodes/flymake.el (version): Bump to 1.0.8.
	(flymake-diagnostic-beg, flymake-diagnostic-end): Use diag's
	overlay.
	(flymake-show-diagnostic): Use flymake-diagnostic-end,
	flymake-diagnostic-beg.

2019-07-03  João Távora  <joaotavora@gmail.com>

	Fix Flymake's treatment of region-specific reports

	We're supposed to delete intersecting diagnostics in that situation,
	but the intersection logic was way off.

	* lisp/progmodes/flymake.el (version): Bump to 1.0.7.
	(flymake--intersects-p): New helper.
	(flymake--handle-report): Fix handling of :region.

2019-07-03  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Small fix to writing Gnus dribble change-level entries

	* lisp/gnus/gnus-start.el (gnus-group-change-level): PREVIOUS needs to
	  still be a string when the dribble entry is written, so don't
	  convert it to an entry until after that's done. Also, we're not
	  meant to write PREVIOUS itself, we're meant to write the group that
	  comes _after_ it in the sort-order of gnus-group-list, so do that
	  instead.

2019-07-03  Stefan Kangas  <stefankangas@gmail.com>

	Add tests for bookmark.el (Bug#36452)

	* test/lisp/bookmark-resources/example.txt:
	* test/lisp/bookmark-resources/test.bmk:
	* test/lisp/bookmark-tests.el: New files.
	* lisp/bookmark.el: Minor cleanups.
	(bookmark-insert-annotation): Signal error on invalid bookmark.
	(bookmark-write-file): Add newline at end of file.

2019-07-03  Eli Zaretskii  <eliz@gnu.org>

	Fix rotation validity test in image.c

	* src/image.c (compute_image_rotation): Fix the validity test
	for :rotation values.  This avoids logging error messages when
	no :rotation was provided in the image spec.

2019-07-03  Eli Zaretskii  <eliz@gnu.org>

	Fix compiler warnings due to a recent commit

	* src/xdisp.c (expose_window, expose_frame): Avoid compilation
	warnings about printing unsigned values with %d.

2019-07-03  Michael Albinus  <michael.albinus@gmx.de>

	Change expected result of a flymake test on emba

	* test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
	Test is now passing on emba.gnu.org, too.

2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>

	Replace TRACE with redisplay_trace, etc.

	This simplifies callers and catches trace printf format errors
	even with typical (non-debugging) compiles.
	* src/dispextern.h (TRACE) [GLYPH_DEBUG]:
	Move definitions to xdisp.c if it’s used only there.
	* src/xdisp.c (redisplay_trace): New function, replacing TRACE macro.
	(move_trace): New function, replacing TRACE_MOVE macro.
	All uses changed.
	(dump_glyph): When tracing, don’t use %d to format ptrdiff_t,
	or %x to format a pointer.
	(expose_frame): Redo trace printfs to avoid interleaved output
	on GNU/Linux.

2019-07-02  Glenn Morris  <rgm@gnu.org>

	Change expected result of a flymake test on hydra

	* test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
	Test is now passing on hydra.nixos.org, since today.

2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/json.c (Fjson_insert): Don't temporarily insert invalid bytes in buffer

2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	(Finsert_file_contents): Keep buffer consistent in non-local exit

	* src/fileio.c (decide_coding_unwind): Delete function.
	(Finsert_file_contents): Don't let invalid multibyte byte sequences
	escape when we exit non-locally.

	* test/src/fileio-tests.el (fileio-tests--insert-file-interrupt): New test.

2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix printf formats when DEBUG_TRACE_MOVE

	Problem caught by gcc -DDEBUG_TRACE_MOVE -Wformat.
	* src/xdisp.c (move_it_in_display_line_to, move_it_to)
	(move_it_vertically) [DEBUG_TRACE_MOVE]: Fix printf format typos.

2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/insdel.c (insert_from_gap_1): New fun, extracted from insert_from_gap.

	(insert_from_gap): Use it.
	* src/lisp.h (insert_from_gap_1): Declare it.
	* src/json.c (Fjson_insert):
	* src/fileio.c (Finsert_file_contents): Use it.

2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/coding.c (decode_coding_gap): Remove `chars` argument.

	* src/json.c (Fjson_insert):
	* src/fileio.c (Finsert_file_contents):
	* src/coding.h (decode_coding_gap): Adjust accordingly.

2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/src/editfns-tests.el (test-group-name): Accept nil group-name.

2019-07-02  Andreas Schwab  <schwab@linux-m68k.org>

	Correct customize type for gnus-group-customize

	* lisp/gnus/gnus-cus.el (gnus-extra-group-parameters): Add more
	group parameters used by nnimap.

2019-07-02  João Távora  <joaotavora@gmail.com>

	Correctly reindent previous line in electric-indent-mode

	(Bug#35254)

	Do this even when electric-indent-inhibit is t, except when the
	newline insertion is being performed by electric-layout-mode.

	* lisp/electric.el (electric-indent-post-self-insert-function):
	Reindent previous line unless operating under
	electric-layout-mode.
	(electric-layout-post-self-insert-function-1): Bind
	electric-indent-inhibit to 'electric-layout-mode.

	* test/lisp/electric-tests.el
	(electric-layout-control-reindentation): New test.

2019-07-02  João Távora  <joaotavora@gmail.com>

	Protect Flymake from being corrupted by backends

	A backend building a diagnostic with a nil :type would cause Flymake
	to create a diagnostic without an overlay, confusing Flymake's
	accounting of overlays and diagnostics

	* lisp/progmodes/flymake.el (flymake--highlight-line): Return
	non-nil unconditionally.

2019-07-02  João Távora  <joaotavora@gmail.com>

	More carefully cleanup Flymake C/C++ backend's temp buffers

	Sometimes the Flymake process dies by some means that doesn't involve
	a sentinel call for the "exit" status, so we clean up the temporary
	buffer as soon as we notice it's not process-alive-p anymore.

	* lisp/progmodes/flymake-cc.el (flymake-cc): Broaden cleanup
	conditions.

2019-07-02  João Távora  <joaotavora@gmail.com>

	Don't create nil-severity diagnostics in the Flymake C/C++ backend

	* lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics): Use
	`:error` as a diagnostic severity.

2019-07-02  João Távora  <joaotavora@gmail.com>

	Revert "Avoid occasional confusion of Flymake C/C++ backend"

	This reverts commit 67c3a3af1d9e2582193d5ea33b6c190e79ad56e6, which
	creates more problems than it solves.

2019-07-02  Alan Mackenzie  <acm@muc.de>

	CC Mode: Improve handling of unbalanced strings

	* lisp/progmodes/cc-fonts.el (c-before-font-lock-functions): Add function
	c-after-change-escape-NL-in-string into value for most languages.

	* lisp/progmodes/cc-mode.el (c-after-change-escape-NL-in-string): New
	function.
	(c-before-change-check-unbalanced-strings): Handle the making and breaking of
	escaped newlines, by removal or addition of text.

2019-07-02  Mattias Engdegård  <mattiase@acm.org>

	Better error message for C-h P RET

	Previously:
	  package--incompatible-p: Wrong type argument: package-desc, nil
	Now:
	  No package specified

	* lisp/emacs-lisp/package.el (describe-package): Don't use ## as input.

2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix performDragOperation: diagnostic typo

	* src/nsterm.m (performDragOperation:): Fix missing newline.

2019-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix regex-emacs debug format glitches

	These patches affect behavior only if REGEX_EMACS_DEBUG.
	* src/regex-emacs.c (debug_putchar): Use unsigned for %x.
	(print_compiled_pattern, ENSURE_FAIL_STACK, PUSH_FAILURE_POINT)
	(POP_FAILURE_POINT): Use %td for ptrdiff_t.
	(print_compiled_pattern, regex_compile, re_match_2_internal):
	Put newlines at ends of lines, not at starts of next lines.
	Omit white space at line ends.

2019-07-01  Michael Albinus  <michael.albinus@gmx.de>

	Minor changes in tramp.texi

	* doc/misc/tramp.texi (Obtaining Tramp): Mention file INSTALL.
	(Cleanup remote connections): The session timer is also deleted.

2019-07-01  Eli Zaretskii  <eliz@gnu.org>

	More XFIXNUM fixes

	* src/hbfont.c (hbfont_shape): Don't assume LGLYPH_TO is
	always a fixnum.
	* src/fontset.c (fontset_find_font): A cleaner test for
	matching charset_id.

2019-07-01  Eli Zaretskii  <eliz@gnu.org>

	Fix assertion violations in fontset_find_font

	* src/fontset.c (fontset_find_font): Don't assume REPERTORY
	must be a fixnum.

2019-07-01  Eli Zaretskii  <eliz@gnu.org>

	Adjust return value of image-transforms-p

	* src/image.c (Fimage_transforms_p):
	* doc/lispref/display.texi (Image Descriptors):
	image-transforms-p now returns at most (scale rotate90), even
	if ImageMagick is available.

2019-07-01  Sam Steingold  <sds@gnu.org>

	Extract gnus-collect-urls from gnus-summary-browse-url

	* lisp/gnus/gnus-sum.el (gnus-collect-urls): Extract from ...
	(gnus-summary-browse-url): Use it here.
	Extracting URLs from an article will be useful in BBDB interaction.

2019-07-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Implement the otf_capability method for HarfBuzz

	* src/hbfont.c: Include hb-ot.h.
	[HAVE_NTGUI]: Add DEF_DLL_FN and #define for hb_tag_to_string,
	hb_font_get_face, hb_ot_layout_table_get_script_tags,
	hb_ot_layout_table_get_feature_tags, hb_ot_layout_script_get_language_tags,
	and hb_ot_layout_language_get_feature_tags.
	(hbfont_init_w32_funcs) [HAVE_NTGUI]: Add LOAD_DLL_FN for them.
	(hbfont_otf_features, hbfont_otf_capability): New functions.

	* src/font.h (hbfont_otf_capability) [HAVE_HARFBUZZ]: Add extern.

	* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]:
	* src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
	* src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]:
	* src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Populate
	otf_capability method with hbfont_otf_capability.

2019-06-30  Paul Eggert  <eggert@cs.ucla.edu>

	Remove divide_double

	* src/image.c (divide_double): Remove.  All uses replaced
	with inline equivalents.  Suggested by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2019-06/msg01067.html

2019-06-30  Alan Mackenzie  <acm@muc.de>

	C++ Mode: change the default doc comment style from nothing to gtkdoc

	Also amend a pertinent regular expression.  This fixes bug #11865.

	* lisp/progmodes/cc-vars.el (c-doc-comment-style): Insert an entry for
	c++-mode, namely gtkdoc.

	* lisp/progmodes/cc-fonts.el (gtkdoc-font-lock-keywords): Amend the regexp
	recognizing the introductory "/**" to allow subsequent characters on that
	line.

2019-06-30  Michael Albinus  <michael.albinus@gmx.de>

	Release Tramp 2.4.2

	* lisp/net/tramp.el: Bump version.

	* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
	Add `add-name-to-file' error message.
	(tramp--test-ignore-add-name-to-file-error): Make error handler
	more explicit about the error.

2019-06-30  Andreas Schwab  <schwab@linux-m68k.org>

	Doc fix

	* doc/emacs/display.texi (Displaying Boundaries): Document
	display-fill-column-indicator-character, not
	display-fill-column-indicator-char.

2019-06-30  Andreas Schwab  <schwab@linux-m68k.org>

	Fix use of undefined macro

	* src/xdisp.c (append_space_for_newline): Use FRAME_FONT only
	inside HAVE_WINDOW_SYSTEM.
	(extend_face_to_end_of_line): Likewise.
	(syms_of_xdisp): Doc fix.

2019-06-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix negation in elements of OTF feature list

	* src/ftfont.c (ftfont_get_open_type_spec):
	* src/macfont.m (macfont_get_open_type_spec): Take bitwise or instead of and.

2019-06-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix error in mouse-set-font on GTK 3 with Harfbuzz (Bug#36288)

	* src/gtkutil.c (xg_get_font) [HAVE_GTK3]: Remove type property from font
	spec.  This effectively undoes the fix for Bug#3228, but gives consistent
	results overall.

2019-06-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/xfns.c (x_create_tip_frame): Support inhibit-double-buffering.

	* src/xfns.c (Fx_show_tip): Call flush_frame.  (Bug#34819)

2019-06-29  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc and other image rotation tweaks

	* src/image.c: No need to include <float.h> as lisp.h does that.
	(matrix3x3_copy): Remove; no longer needed.
	(divide_double): New function, to avoid undefined behavior
	when dividing by zero on non-IEEE hosts.
	(image_set_transform): Simplify transformation computation
	by avoiding the need to copy a matrix.  Pacify
	gcc 9 -Wdouble-promotion and -Wmaybe-uninitialized.
	Avoid unnecessary assignment of width and height.
	Improve error reporting for unsupported native image rotation.

2019-06-29  Ken Brown  <kbrown@cornell.edu>

	Simplify workaround for Cygwin O_PATH bug

	Suggested by Paul Eggert (Bug#36405#22).
	* configure.ac (HAVE_CYGWIN_O_PATH_BUG): New AC_DEFINE, for Cygwin
	versions 3.0.0 through 3.0.7.
	* src/dired.c (O_PATH) [__CYGWIN__]: Remove #undef.
	(file_attributes) [HAVE_CYGWIN_O_PATH_BUG]: Don't use O_PATH.

2019-06-29  Eli Zaretskii  <eliz@gnu.org>

	Support native image transforms on MS-Windows

	This changeset also rearranges native image transform code
	for other platforms to make it cleaner, and also removes
	the support for native cropping.  For the discussions, see
	https://lists.gnu.org/r/emacs-devel/2019-06/msg00242.html

	* src/w32term.c (w32_image_rotations_p, transform): New functions.
	(w32_draw_image_foreground): If image rotation is requested
	and supported, call PlgBlt to transform the image.
	(w32_initialize): Populate the PlgBlt function pointer if it
	is supported.
	* src/w32term.h (w32_image_rotations_p): Add prototype.
	* src/dispextern.h (struct image) [HAVE_NTGUI]: New member xform.
	* src/image.c (compute_image_rotation): Renamed from
	image_set_rotation.  Only compute and returns the rotation
	angle; leave the matrix calculation for later.  Log an error
	message if the :rotation parameter is not a number.
	(image_set_crop): Function deleted.  We no longer support
	native cropping, as one can display an image slice instead.
	(image_set_transform): Compute the transform matrix in its
	entirety here, in two variants: one for XRender and Cairo, the
	other for NS and MS-Windows.  call compute_image_size and
	compute_image_rotation internally.
	(lookup_image) [HAVE_NATIVE_TRANSFORMS]: Call only
	image_set_transform.  No need to pass the transform matrix to
	image_set_transform.
	(Fimage_transforms_p): Return a list of transform capabilities
	rather than a simple boolean.  Support TTY frames as well.
	* src/nsimage.m (setTransform:): Don't invert the matrix, as
	it is already inverted in image.c.

	* test/manual/image-transforms-tests.el (test-cropping): State
	in the text that only ImageMagick supports cropping.

	* doc/lispref/display.texi (Image Descriptors): Update the
	documentation of native image transforms.
	(ImageMagick Images): Move the description of ':crop' here.

	* etc/NEWS: Minor copyedits of the feature announcement.

2019-06-29  Shuguang Sun  <shuguang79@qq.com>

	Fix recent change in Tramp

	* lisp/net/tramp-adb.el:
	* lisp/net/tramp-archive.el:
	* lisp/net/tramp-integration.el: Remove superfluous `progn' in
	`with-eval-after-load'.

2019-06-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Cosmetic fix-up of message-forward-included-headers

	* lisp/gnus/message.el (message-forward-included-headers): Use
	consistent capitalization in the regexps.

2019-06-29  Eli Zaretskii  <eliz@gnu.org>

	Fix display of fringe bitmaps for tooltips in echo area

	* src/xdisp.c (display_line): Force redrawing of fringe
	bitmaps when redisplaying a minibuffer window with
	truncate-lines set to a non-nil value.  (Bug#36308)

2019-06-29  Mattias Engdegård  <mattiase@acm.org>

	Allow empty argument to `regexp-opt-charset'

	* test/lisp/emacs-lisp/regexp-opt-tests.el (regexp-opt-charset):
	Handle nil argument, and use regexp-quote for singletons.
	* lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Expand tests.

2019-06-28  Paul Eggert  <eggert@cs.ucla.edu>

	Revert O_PATH change to fileio.c

	Ken Brown pointed out it wasn’t needed (Bug#36405#16):
	* src/fileio.c (O_PATH) [__CYGWIN__]: Remove #undef.

2019-06-28  Andreas Schwab  <schwab@linux-m68k.org>

	* test/src/json-tests.el (json-serialize/object): Fix spacing.

2019-06-28  Pip Cet  <pipcet@gmail.com>

	Fix json-serialize/object test failure

	* test/src/json-tests.el (json-serialize/object):
	Accept failure with different code.

2019-06-28  Mattias Engdegård  <mattiase@acm.org>

	Strength-reduce `equal', `eql', `member' and `memql'

	When comparing against symbols, turn `equal' and `eql' into `eq',
	and `member' and `memql' into `memq'.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize--constant-symbol-p)
	(byte-optimize-equal, byte-optimize-member): New.
	(member, memql, equal, eql): Use new byte-optimizers.

2019-06-28  Stefan Kangas  <stefankangas@gmail.com>

	Document bookmark annotations in Emacs Manual (bug#36417)

	* doc/emacs/regs.texi (Bookmarks): Document annotations.
	* lisp/bookmark.el (bookmark-use-annotations): Clarify docstring.

2019-06-28  Mattias Engdegård  <mattiase@acm.org>

	Correct regexp matching of raw bytes

	Make regexp matching of raw bytes work in all combination of unibyte
	and multibyte patterns and targets, as exact strings and in character
	alternatives (bug#3687).

	* src/regex-emacs.c (analyze_first):
	Include raw byte in fastmap when pattern is a multibyte exact string.
	Include leading byte in fastmap for raw bytes in character alternatives.
	(re_match_2_internal):
	Decrement the byte count by the number of bytes in the pattern character,
	not 1.
	* test/src/regex-emacs-tests.el (regexp-unibyte-unibyte)
	(regexp-multibyte-unibyte, regexp-unibyte-mutibyte)
	(regexp-multibyte-multibyte): New tests.

2019-06-28  Michael Albinus  <michael.albinus@gmx.de>

	Tramp requires Emacs 24.4

	* doc/misc/tramp.texi (Frequently Asked Questions):
	Use `with-eval-after-load'. in example.

	* doc/misc/trampver.texi: Set variable emacsver.

	* lisp/net/tramp.el (tramp-send-string, tramp-call-process)
	(tramp-call-process-region, tramp-process-lines):
	* lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
	(tramp-adb-sh-fix-ls-output, tramp-adb-maybe-open-connection):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-get-directory-attributes)
	(tramp-gvfs-handle-file-notify-add-watch)
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
	(tramp-do-copy-or-rename-file-out-of-band)
	(tramp-sh-handle-file-notify-add-watch, tramp-find-executable)
	(tramp-set-remote-path)
	(tramp-open-connection-setup-interactive-shell)
	(tramp-maybe-open-connection, tramp-send-command):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
	(tramp-smb-handle-set-file-acl)
	(tramp-smb-handle-start-file-process)
	(tramp-smb-maybe-open-connection):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-acl):
	(tramp-sudoedit-send-command): Use `string-join' and `string-empty-p'.

	* lisp/net/tramp-adb.el:
	* lisp/net/tramp-archive.el:
	* lisp/net/tramp-integration.el:
	* lisp/net/tramp-ftp.el: Use `with-eval-after-load'.

	* lisp/net/tramp-cmds.el (tramp-cleanup-connection)
	(tramp-cleanup-all-connections): Cancel timer.

	* lisp/net/tramp-compat.el (subr-x): Require.
	(default-toplevel-value): Don't make it a defalias.

	* lisp/net/tramp-gvfs.el: Use `dbus-event-error-functions'.  Do
	not special handle `split-string'.

	* lisp/net/tramp.el: Require Emacs 24.4.
	(tramp-password-prompt-regexp): Use `password-word-equivalents'.
	(tramp-user-error): Use `user-error'.
	(tramp-replace-environment-variables): Use `substitute-env-vars'.
	(tramp-wait-for-regexp): Rearrange `with-current-buffer' call.
	(tramp-get-local-gid): Use `group-gid'.

	* lisp/net/trampver.el: Check for Emacs 24.4.

	* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
	(tramp-test02-file-name-dissect-simplified)
	(tramp-test02-file-name-dissect-separate)
	(tramp-test03-file-name-host-rules)
	(tramp-test03-file-name-method-rules): Don't check for `user-error'.

2019-06-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix for Gnus "very wide" reply commands

	* lisp/gnus/gnus-msg.el (gnus-summary-very-wide-reply-with-original)
	(gnus-summary-very-wide-reply): Clarify what a "very wide reply" is.

2019-06-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Fontify _emphasis_ in info nodes"

	This reverts commit 72963b4e82eef5767e3172f28bd9bd97f487c98a.

	The change incorrectly fontified whole sentences as emphasis.

2019-06-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Include To and Cc headers when forwarding with Message

	* lisp/gnus/message.el (message-forward-included-headers): Include
	more of the important headers when forwarded: To and Cc.

2019-06-28  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/gnus/gnus-art.el (gnus-article-stop-animations):

	Use `cancel-function-timers'.

2019-06-28  Mattias Engdegård  <mattiase@acm.org>

	More readable regexp debug output

	* src/regex-emacs.c (debug_putchar): New.
	(print_fastmap, print_partial_compiled_pattern, print_double_string)
	(regex_compile): Use debug_putchar.
	(re_match_2_internal): Add newline.

2019-06-28  Mattias Engdegård  <mattiase@acm.org>

	Consistently use stderr for debug output in regexp code

	* src/regex-emacs.c (DEBUG_PRINT, print_fastmap, print_compiled_pattern)
	(print_double_string, regex_compile): Print to stderr instead of stdout.

2019-06-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't inhibit quit in Gnus when prefetching articles

	* lisp/gnus/gnus-async.el (gnus-async-prefetch-next): Don't
	inhibit quit when running `gnus-async-prefetch-article'.

2019-06-27  Alex Branham  <alex.branham@gmail.com>

	* lisp/simple.el (undo): Make message less enthusiastic

2019-06-27  Ola Nilsson  <ola.nilsson@gmail.com>

	Allow underscore in defun-prompt-regex names for sh-script

	* lisp/progmodes/sh-script.el (defun-prompt-regexp):
	Allow underscore in function names.

2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	Improve ‘equal’ and array doc

	* doc/lispref/objects.texi (Array Type): Array sizes are
	nonnegative fixnums, not arbitrary integers.
	(Equality Predicates): Do not say that ‘eq’ equals ‘=’ on bignums.
	Do not imply that ‘equal’ must signal an error on circular lists.

2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	* src/xfaces.c (resolve_face_name): Simplify.

2019-06-27  Pip Cet  <pipcet@gmail.com>

	Remove unnecessary tortoise checks.

	* src/fns.c (Fplist_get, Fplist_put, Flax_plist_get)
	(Flax_plist_put, Fplist_member): Remove unnecessary check.
	* src/json.c (lisp_to_json_toplevel_1): Remove unnecessary check.

2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	Work around Cygwin bug with O_PATH

	Problem reported by Ken Brown (Bug#36405).
	* src/dired.c, src/fileio.c (O_PATH) [__CYGWIN__]: Undef.

2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	Omit a few minor unnecessary range checks

	Based on Pip Cet’s review (Bug#36370#19).
	* src/fileio.c (Fdo_auto_save):
	* src/image.c (lookup_image):
	* src/textprop.c (Fnext_single_char_property_change):
	Prefer XFIXNUM to XFIXNAT for clarity and consistency with
	neighboring code, and to avoid unnecessary range checks.
	* src/image.c (lookup_image): Omit unnecessary range checks.

2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	Improve XFIXNUM cleanup a bit

	Based on Pip Cet’s review (Bug#36370#13).
	* src/ccl.c (Fccl_execute_on_string): Use clearer indexing.
	* src/dosfns.c (Fint86, Fdos_memput):
	Avoid runtime checks for negative fixnums when debugging.
	This restores the earlier machine code.
	* src/lisp.h (XFIXNUM, XUFIXNUM): Use eassert, not eassume.
	(XFIXNAT): At the start, merely eassert FIXNUMP rather
	than eassuming FIXNATP.  At the end, eassume that the
	result is nonnegative.  This restores help to the compiler
	that the previous patch mistakenly removed.

2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	Clean up use of XFIXNUM etc.

	A few bits of the code were relying on the fact that XFIXNUM,
	XFIXNAT, and XUFIXNUM do something even with arguments that
	are not fixnums/fixnats.  Separate these rare uses out into
	XFIXNUM_RAW and XUFIXNUM_RAW.
	Problem and original patch reported by Pip Cet (Bug#36370).
	* src/ccl.c (Fccl_execute_on_string):
	* src/fileio.c (Finsert_file_contents, a_write)
	(Fdo_auto_save):
	* src/process.c (conv_lisp_to_sockaddr):
	* src/textprop.c (Fnext_single_char_property_change)
	(Fprevious_single_char_property_change)
	(Fnext_property_change, Fnext_single_property_change)
	(Fprevious_property_change)
	(Fprevious_single_property_change):
	Don’t assume fixnums are nonnegative.
	* src/ccl.c (Fccl_execute_on_string):
	Fix range-checking bug if AREF (status, i) is out of int range.
	* src/data.c (arith_driver): Use XFIXNUM_RAW as we want
	efficient garbage if the value is not a fixnum.
	* src/dosfns.c (Fint86, Fdos_memput):
	Check that args are nonnegative.
	* src/image.c (lookup_image): Check that args are in range.
	* src/lisp.h (lisp_h_XHASH): Use XUFIXNUM_RAW, since this
	is for hashing.
	(lisp_h_XFIXNAT, XFIXNAT) [USE_LSB_TAG]: Remove macros.
	(lisp_h_XFIXNUM_RAW, XFIXNUM_RAW) [USE_LSB_TAG]: New macros, with
	the semantics of the old macros without _RAW.
	(XFIXNUM_RAW, XUFIXNUM_RAW): New inline functions, with the
	semantics of the old functions without _RAW.
	(FIXNUMP): Move definition up to avoid forward use.
	(XFIXNUM, XFIXNAT, XUFIXNUM): Use eassume to add a runtime
	check (when debugging) that the argument has the proper form.
	(XFIXNUM, XFIXNAT): Now inline functions only, since they
	refer to their arguments more than once now that they use eassume.
	* src/textprop.c (Fprevious_single_char_property_change):
	Avoid fixnum overflow with invalid input.
	(set_text_properties): Fix unlikely failure
	to validate arguments, by using EQ instead of XFIXNAT.
	* src/w32term.c (w32_draw_glyph_string):
	* src/xterm.c (x_draw_glyph_string):
	Treat negative minimums as 0 rather than as garbage patterns.

2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	Catch duplicate keywords in image specs

	* src/image.c (struct image_keyword.count): Now bool, not int,
	since it is either 0 or 1.
	(parse_image_spec, xpm_image_p): Use bool for boolean.
	(parse_image_spec): Fix a bug introduced in
	2011-09-21T17:41:20!eggert@cs.ucla.edu that reported only
	triplicate (or more) keywords, not duplicates.

2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the new emacsclient -a/--eval behavior

2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>

	emacsclient: ignore --eval parameters when starting alternate editor

	* lib-src/emacsclient.c (fail): If the user said --eval, don't
	pass those arguments to the alternate editor as file names.
	Suggested by a patch from Scott Turner (bug#11474).

2019-06-27  Vasilij Schneidermann  <v.schneidermann@gmail.com>

	Allow for retrieving profiler logs after stopping

	* lisp/profiler.el (profiler-cpu-log, profiler-memory-log): New
	variables.
	(profiler-cpu-profile): Work even if the profiler is no longer
	running (bug#22114).
	(profiler-memory-profile): Ditto.
	(profiler-stop): Save the data.
	(profiler-reset): Clear the saved data.
	(profiler-report-cpu, profiler-report-memory): Report on the saved
	data.
	(profiler-report): Save the data here, too.

2019-06-27  Dan Nicolaescu  <dann@ics.uci.edu>

	Include the date in the bzr annotation buffer

	* lisp/vc/vc-bzr.el (vc-bzr-annotate-command)
	(vc-bzr-annotate-time)
	(vc-bzr-annotate-extract-revision-at-line): Include a date in the
	bzr annotation buffer (bug#5428).

2019-06-27  Stefan Kangas  <stefankangas@gmail.com>

	Add new ispell-change-dictionary-hook (Bug#1110)

	* lisp/textmodes/ispell.el (ispell-change-dictionary-hook): New hook.
	(ispell-change-dictionary): Call new hook (bug#1110).

2019-06-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>

	Add a new regexp variable to control boring winner buffers

	* doc/emacs/windows.texi (Window Convenience): Mention it.

	* lisp/winner.el (winner-boring-buffers-regexp): New variable.

	* lisp/winner.el (winner-set): Use it (bug#11151).

2019-06-27  Ken Brown  <kbrown@cornell.edu>

	Fix invoking Emacs via a symlink on Cygwin

	* src/emacs.c (load_pdump) [CYGWIN]: Strip ".exe" suffix.

2019-06-27  Lennart Borgman  <lennart.borgman@gmail.com>

	Add more fontification to regexp builder mode

	* lisp/emacs-lisp/re-builder.el (reb-copy): Work in the presence
	of newlines in the regexps.
	(reb-change-syntax): Use a dedicated history variable.
	(reb-fontify-string-re): Fontify sub-matches.
	(reb-regexp-grouping-backslash, reb-regexp-grouping-construct):
	New faces.
	(reb-string-font-lock-keywords): New variable.
	(reb-mark-non-matching-parenthesis): Match parenthesis.
	(reb-restart-font-lock): New function.

	* lisp/emacs-lisp/re-builder.el (reb-mode-map): Add divider some
	dividers (bug#6347).

2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename displayor to displayer in CEDET

	* doc/misc/sem-user.texi (Idle Completions Mode): Rename
	displayor->displayer throughout.
	(Idle Completions Mode): Ditto.

	* lisp/cedet/semantic/complete.el: Rename displayor->displayer
	throughout and add aliases for all the methods that used that name.

2019-06-27  Dmitry Gutov  <dgutov@yandex.ru>

	Use `default-indent-new-line' instead of `indent-new-comment-line'

	* lisp/simple.el (default-indent-new-line): Doc string fix.

	* lisp/textmodes/refill.el (refill-post-command-function): Make
	default-indent-new-line work as indent-new-comment-line.

	* lisp/textmodes/refill.el (refill-post-command-function): Bind
	`M-C-j' and `M-j' to default-indent-new-line instead of
	indent-new-comment-line to allow overriding via
	`comment-line-break-function' (bug#12413).

2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Apply font-lock in hexl-mode buffers"

	This reverts commit 573de396f03684efa89ead24a371b0f4c9bf8d5d.

	The change wasn't necessary -- the hexl-mode buffer is automatically fontified.

2019-06-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>

	Allow generating wiki and mediawiki tables

	* lisp/textmodes/table.el (table--generate-source-prologue)
	(table--generate-source-epilogue)
	(table--generate-source-scan-rows)
	(table--generate-source-cells-in-a-row): Insert the wiki/mediawiki
	separators.

	* lisp/textmodes/table.el (table-source-languages): Add support
	for wiki and mediawiki tables (bug#13287).

2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>

	* doc/emacs/text.texi (Table Misc): Mention the new wiki and
	mediawiki formats.

2019-06-27  Wilfred Hughes  <me@wilfred.me.uk>

	Apply font-lock in hexl-mode buffers

	* lisp/hexl.el (hexl-mode): After setting font-lock-defaults, we
	need to call `font-lock-ensure' to apply hexl-mode faces
	(bug#24645).

2019-06-27  Juanma Barranquero  <lekktu@gmail.com>

	Add :local specifier to defcustom

	* lisp/custom.el (custom-declare-variable): Allow the new :local
	parameter (bug#14591).
	(defcustom): Document it.

2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak ‘error’ and ‘user-error’ doc strings

	* lisp/net/tramp.el (tramp-user-error):
	* lisp/subr.el (user-error):
	Say that user errors are sometimes called pilot errors.
	* lisp/subr.el (error, user-error):
	Reorder wording to discuss mechanism first, then formatting advice,
	rather than going back and forth between the two topics.
	Tighten up the wording a bit.

2019-06-27  Stefan Kangas  <stefankangas@gmail.com>

	Clarify error and user-error docstrings

	* lisp/subr.el (error, user-error)
	* lisp/net/tramp.el (tramp-user-error): Change "pilot error" to "user
	error" and improve documentation.

2019-06-26  Basil L. Contovounesios  <contovob@tcd.ie>

	Remove gnus-bug from report-emacs-bug TODO entry

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg01196.html
	https://lists.gnu.org/r/emacs-devel/2019-06/msg00967.html

	* etc/TODO: Remove gnus-bug from list of obsolete bug-reporting
	commands now that it is implemented in terms of report-emacs-bug.

2019-06-26  Mattias Engdegård  <mattiase@acm.org>

	Document bug in `replace-regexp-in-string'

	`replace-regexp-in-string' omits the first START characters of the
	input string in its return value.  This is a clear bug, but fixing it
	probably causes more trouble; document the behavior instead (bug#36372).

	* doc/lispref/searching.texi (Search and Replace)
	* lisp/subr.el (replace-regexp-in-string):
	Document current behavior.

2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/page-ext.el (sort-pages-buffer): Fix typo

	Reported by Marco Wahl <marcowahlsoft@gmail.com>.
	Update `Commentary:` to use the new command names.
	(pages--ctl-x-ctl-p-map): Fix `mark-page` binding.
	(pages-directory-mode-map): Update `add-new-page` => `pages-add-new-page`.

2019-06-26  Eli Zaretskii  <eliz@gnu.org>

	Support invoking Emacs via a symlink on MS-Windows

	* src/w32.c (w32_my_exename): Resolve symlinks in the
	executable name, to support searching for the pdumper file
	when the executable is found via a symlink.
	* src/emacs.c (load_pdump): Add a comment about symlink
	resolution on Windows.

2019-06-26  Andrzej P  <andrzej@morgangilbert.co.uk>  (tiny change)

	Fix redisplay of registers in gdb-mi

	* lisp/progmodes/gdb-mi.el (gdb-update): Call
	gdb-get-changed-registers before updating the GDB-MI buffers.
	(Bug#16366)

2019-06-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Restrict indirect lookups in Fdocumentation_property

	* src/doc.c (Fdocumentation_property): Only look up indirect
	variables if we've been asked for the variable documentation.

2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk

2019-06-26  Bruce Stephens  <bruce.stephens@isode.com>

	* lisp/calc/calc-ext.el (math-scalarp): Fix typo

2019-06-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fdocumentation_property: Return doc string for indirect variables

	* src/doc.c (Fdocumentation_property): When dealing with indirect
	variables (i.e., aliases), also check the symbol being pointed to
	for the doc string (bug #17180).

2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	Revert "* lisp/calc/calc-ext.el (math-scalarp): Fix typo"

	This reverts commit 698ff554ac2699ec48fefc85a1307cbc4a183b0d.

2019-06-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)

	help-C-file-name shouldn't error out if we can't find the name

	* lisp/help-fns.el (help-C-file-name): Make help-C-file-name
	return nil instead of signaling an error if we can't find the
	file name (bug#17250).

2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/calc/calc-tests.el (test-math-bignum, test-calc-23889): Disable

	Not applicable any more with native bignums.

2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calc/calc-ext.el (math-scalarp): Fix typo

2019-06-26  Noam Postavsky  <npostavs@gmail.com>

	Fix (rx-to-string (and (literal STR) (regexp STR)) regression

	* lisp/emacs-lisp/rx.el (rx-regexp, rx-literal): Check the cadr of the
	form for stringness, not the form itself.
	* test/lisp/emacs-lisp/rx-tests.el (rx-to-string-lisp-forms): New test.

2019-06-26  Mattias Engdegård  <mattiase@acm.org>

	Merge consecutive constant `concat' args (bug#14769)

	Suggested by Shigeru Fukaya <shigeru.fukaya@gmail.com>

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-concat): New.
	(concat): Add byte-optimizer.

2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calc/calc.el: Take advantage of native bignums.

	Remove redundant :group args.

	(calc-trail-mode): Use inhibit-read-only.
	(math-bignum-digit-length, math-bignum-digit-size)
	(math-small-integer-size): Delete constants.
	(math-normalize): Use native bignums.
	(math-bignum, math-bignum-big): Delete functions.
	(math-make-float): The mantissa can't be a calc bignum any more.
	(math-neg, math-scale-left, math-scale-right, math-scale-rounding)
	(math-add, math-sub, math-mul, math-idivmod, math-quotient)
	(math-format-number, math-read-number, math-read-number-simple):
	Don't bother handling calc bignums.
	(math-div10-bignum, math-scale-left-bignum, math-scale-right-bignum)
	(math-add-bignum, math-sub-bignum, math-mul-bignum, math-mul-bignum-digit)
	(math-div-bignum, math-div-bignum-digit, math-div-bignum-big)
	(math-div-bignum-part, math-div-bignum-try, math-format-bignum)
	(math-format-bignum-decimal, math-read-bignum): Delete functions.
	(math-numdigs): Don't presume that native ints are small enough to use
	a slow algorithm.

	* lisp/calc/calc-aent.el (calc-do-quick-calc):
	* lisp/calc/calc-vec.el (calcFunc-vunpack):
	* lisp/calc/calc-alg.el (math-beforep): Don't bother handling calc bignums.

	* lisp/calc/calc-bin.el (math-bignum-logb-digit-size)
	(math-bignum-digit-power-of-two): Remove constants.
	(calcFunc-and, math-binary-arg, calcFunc-or, calcFunc-xor)
	(calcFunc-diff, calcFunc-not, math-clip, math-format-twos-complement):
	Use Emacs's builtin bignums.
	(math-and-bignum, math-or-bignum, math-xor-bignum, math-diff-bignum)
	(math-not-bignum, math-clip-bignum)
	(math-format-bignum-radix, math-format-bignum-binary)
	(math-format-bignum-octal, math-format-bignum-hex): Delete functions.
	(math-format-binary): Fix old copy&paste error.

	* lisp/calc/calc-comb.el (calc-prime-factors): Adjust for unused arg.
	(math-prime-test): math-fixnum is now the identity.

	* lisp/calc/calc-ext.el: Require cl-lib.
	(math-oddp): Use cl-oddp.  Don't bother with calc bignums.
	(math-integerp, math-natnump, math-ratp, math-realp, math-anglep)
	(math-numberp, math-scalarp, math-vectorp, math-objvecp, math-primp)
	(math-num-natnump, math-objectp, math-check-integer, math-compare):
	Don't bother handling calc bignums.
	(math-check-fixnum): Use fixnump.
	(math-fixnum, math-fixnum-big, math-bignum-test): Remove functions.
	(math--format-integer-fancy): Rename from math-format-bignum-fancy.
	Adjust for internal bignums.

	* lisp/calc/calc-funcs.el (calcFunc-besJ): Use cl-isqrt.

	* lisp/calc/calc-macs.el (Math-zerop, Math-integer-negp)
	(Math-integer-posp, Math-negp, Math-posp, Math-integerp)
	(Math-natnump, Math-ratp, Math-realp, Math-anglep, Math-numberp)
	(Math-scalarp, Math-vectorp, Math-objectp, Math-objvecp)
	(Math-integer-neg, Math-primp, Math-num-integerp):
	Don't bother handling calc bignums.
	(Math-bignum-test): Delete function.

	* lisp/calc/calc-math.el (math-use-emacs-fn): Remove unused `fx`.
	(math-isqrt, math-sqrt): Use cl-isqrt.  Don't bother handling calc bignums.
	(math-isqrt-bignum, math-isqrt-bignum-iter, math-isqrt-small):
	Delete function.

	* lisp/calc/calc-misc.el (math-fixnump, math-fixnatnump): Use fixnump.
	(math-evenp): Use cl-evenp.
	(math-zerop, math-negp, math-posp, math-div2): Don't bother handling
	calc bignums.
	(math-div2-bignum): Delete function.

2019-06-25  Noam Postavsky  <npostavs@gmail.com>

	Merge from emacs-26

	e62ad04963 Fix sgml-mode handling of quotes within parens (Bug#36347)
	06b35b2f92 ; * lisp/frame.el: Enhance add-variable-watcher commentary.
	572e34bb6f Rename 'make-symbolic-link' argument NEWNAME to LINKNAME
	04477adedc Check that length of data returned by sysctl is non-zero
	81535eeadb * test/lisp/progmodes/python-tests.el (python-virt-bin): D...
	9d48979ca8 Fix Python tests depending on system-type
	fcf6cc3177 Fix problem with wdired test when symlinks cannot be created.
	4701e0663e Improve wording of documentation of click events

	# Conflicts:
	#	lisp/textmodes/sgml-mode.el
	#	test/lisp/textmodes/sgml-mode-tests.el

2019-06-25  Noam Postavsky  <npostavs@gmail.com>

	Merge from emacs-26

	2b765c650a Remove outdated comment in winner.el (Bug#36185)

2019-06-25  Noam Postavsky  <npostavs@gmail.com>

	Don't bind search-spaces-regexp around possible autoload (Bug#35802)

	* lisp/isearch.el (isearch-search-fun-default): Move possible autoload
	trigger outside let-binding of search-spaces-regexp.
	* lisp/char-fold.el (char-fold-make-table): Remove no longer needed
	workaround.

	* lisp/info.el (Info-search-whitespace-regexp):
	* lisp/isearch.el (search-whitespace-regexp):
	* src/search.c (syms_of_search) <search-spaces-regexp>: Add warning
	about adding capturing groups to the value.

	* test/lisp/char-fold-tests.el: Remove, binding search-spaces-regexp
	to a different should be considered a bug.

2019-06-25  Noam Postavsky  <npostavs@gmail.com>

	Support (rx (and (regexp EXPR) (literal EXPR))) (Bug#36237)

	* lisp/emacs-lisp/rx.el (rx-regexp): Allow non-string forms.
	(rx-constituents): Add literal constituent, which is like a plain
	STRING form, but allows arbitrary lisp expressions.
	(rx-literal): New function.
	(rx-compile-to-lisp): New variable.
	(rx--subforms): New helper function for handling subforms, including
	non-constant case.
	(rx-group-if, rx-and, rx-or, rx-=, rx->=, rx-repeat, rx-submatch)
	(rx-submatch-n, rx-kleene, rx-atomic-p): Use it to handle non-constant
	subforms.
	(rx): Document new form, wrap non-constant forms with concat call.
	* test/lisp/emacs-lisp/rx-tests.el (rx-tests--match): New macro.
	(rx-nonstring-expr, rx-nonstring-expr-non-greedy): New tests.
	* etc/NEWS: Announce changes.

2019-06-25  Juanma Barranquero  <lekktu@gmail.com>

	Fix PATH_MAX change to lib-src/emacsclient.c

	* lib-src/emacsclient.c (get_current_dir_name): Declare pwdlen.

2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous patch to dired-mark-if

	* lisp/dired.el (dired-mark-if): Don't use looking-at to check for
	characters.

2019-06-25  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer PATH_MAX to MAXPATHLEN

	PATH_MAX is standardized, MAXPATHLEN is not.
	Also, the Gnulib pathmax module fixes some rare bugs with PATH_MAX.
	So prefer PATH_MAX to MAXPATHLEN unless we know the latter is
	also correct (for some platform-specific code).
	* admin/merge-gnulib (GNULIB_MODULES): Add pathmax.
	This module was already present, as a dependency of canonicalize-lgpl,
	but now Emacs is using it directly.  Sort.
	* lib-src/emacsclient.c: Include stdint.h, pathmax.h.
	(get_current_dir_name): Sync to current src/sysdep.c.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* src/sysdep.c: Include pathmax.h.
	(get_current_dir_name_or_unreachable):
	Use PATH_MAX instead of MAXPATHLEN.

2019-06-25  Dima Kogan  <dima@secretsauce.net>

	View-search-... now hit all the matches, regardless of window position

	* lisp/view.el (view-search): Jump to the next/prev occurrence of
	the search, even if it's displayed in the buffer (bug#18131).
	This seems more logical than the previous (undocumented) behavior.

2019-06-25  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid some strlen work, primarily via strnlen

	* admin/merge-gnulib (GNULIB_MODULES): Add strnlen.
	* lib-src/etags.c (find_entries):
	* src/emacs.c (main):
	* src/nsmenu.m (parseKeyEquiv:):
	* src/nsterm.m (ns_xlfd_to_fontname):
	* src/term.c (vfatal):
	Prefer !*X to !strlen (X).
	* lib-src/etags.c (pfnote, add_regex):
	* lib-src/pop.c (pop_open):
	* lib-src/update-game-score.c (main):
	* lwlib/lwlib.c (lw_separator_p):
	* src/doprnt.c (doprnt):
	* src/emacs.c (main):
	* src/inotify.c (inotifyevent_to_event):
	* src/keyboard.c (menu_separator_name_p, parse_tool_bar_item):
	* src/sysdep.c (get_current_dir_name_or_unreachable):
	* src/xdisp.c (store_mode_line_string):
	Use strnlen to avoid unnecessary work with strlen.
	* lib-src/etags.c (Prolog_functions, prolog_pr)
	(Erlang_functions, erlang_func):
	Prefer ptrdiff_t to size_t when either will do.
	(prolog_pr, erlang_func): New arg LASTLEN, to avoid
	unnecessary strlen call. All callers changed.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/strnlen.c, m4/strnlen.m4: New files, copied from Gnulib.
	* lwlib/lwlib.c (lw_separator_p):
	* src/json.c (json_has_prefix):
	Use strncmp to avoid unnecessary work with strlen + memcmp.
	* src/process.c (set_socket_option): Use SBYTES instead of strlen.

2019-06-25  Emilio C. Lopes  <eclig@gmx.net>  (tiny change)

	Support opening a new connection when reverting a telnet buffer

	* lisp/net/telnet.el (telnet-connect-command): New variable.
	(telnet-revert-buffer): New function.
	(telnet-mode): Use `telnet-revert-buffer' as `revert-buffer-function'.
	(telnet, rsh): Set `telnet-connect-command' accordingly (bug#18312).

2019-06-25  Arash Esbati  <arash@gnu.org>

	Suppress warning about unix-sync in nnmaildir.el

	* lisp/gnus/nnmaildir.el (nnmaildir-request-replace-article): Check if the
	function `unix-sync' is bound before running it.

2019-06-25  Ivan Shmakov  <ivan@siamics.net>

	Check labels in smerge-mode

	* lisp/vc/diff.el (diff-check-labels): Separated out into its own
	function (bug#18850)...
	(diff-no-select): ... from here.

	* lisp/vc/smerge-mode.el (smerge-diff): Use diff-check-labels.

2019-06-25  Basil L. Contovounesios  <contovob@tcd.ie>

	Avoid using subr-x.el function in files.el

	* lisp/files.el (file-size-human-readable): Open code string-empty-p
	call.  This was the single occurrence of a subr-x.el function in
	files.el, which does not (yet) load subr-x.el.

2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-extra.el (cl-isqrt): Speed up bignum case

2019-06-25  Jonathan Shin Hayase  <pythonnut@gmail.com>

	Highlight zsh glob flags and qualifiers in sh-mode

	* lisp/progmodes/sh-script.el (sh-syntax-propertize-function):
	Add regexps to highlight zsh glob flags and alternate qualifiers
	without mistaking them for comments. (bug#19455).

2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Build fix for previous buffers.texi change

2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/NEWS: Fix vocabulary in last change

2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/tar-mode.el: Use lexical-binding; remove redundant :groups.

	(tar-new-entry): Remove unused var `buffer`.

2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Move widen/narrow in tabulated lists to } and {

	* doc/emacs/buffers.texi (Several Buffers): Document it.

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map):
	Move widen/narrow to `}' and `{'.

2019-06-25  Glenn Morris  <rgm@gnu.org>

	* test/lisp/progmodes/flymake-tests.el (ruby-backend): Skip on hydra.

	Another unstable test.

2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/tramp.el (tramp-file-name-handler): Use autoload-do-load

2019-06-25  Ivan Shmakov  <ivan@siamics.net>

	Heed default directory in tar-untar-buffer

	* lisp/tar-mode.el (tar-untar-buffer): Fix use the value of
	default-directory local to the tar-mode buffer (bug#19865).

2019-06-25  David Hull  <david.hull@openx.com>

	etags: Fix handling of quoted symbol names in Erlang

	* lib-src/etags.c (erlang_attribute): Fix handling of quoted
	symbol names in Erlang (bug#24960).

2019-06-25  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-06-24 unistd: stddef.h and sys/types.h namespace cleanup
	* lib/gnulib.mk.in: Regenerate.
	* lib/unistd.in.h: Copy from gnulib.

2019-06-25  Glenn Morris  <rgm@gnu.org>

	* lisp/info.el (info-emphasis): Fix doc, version.

2019-06-25  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>

	Preserve header lines from derived modes in tabulated lists

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
	Preserve header line set by derived modes (bug#21025).

2019-06-25  Drew Adams  <drew.adams@oracle.com>

	Make dired commands report how many files they mark

	* lisp/dired.el (dired-mark-if): Report the number of files marked
	when called, not the total number of marked files (bug#22457).

2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (forward-visible-line, end-of-visible-line): Use invisible-p

2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new command to report the number and size of the marked files

2019-06-25  Constantino Calancha  <f92capac@gmail.com>

	* lisp/dired.el (dired-mode-map): New keystroke and menu binding
	(bug#22829).

2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>

	* doc/emacs/dired.texi (Marks vs Flags): Document it.

	* lisp/dired.el (dired-number-of-marked-files): New command.

2019-06-25  Phil Sainty  <psainty@orcon.net.nz>

	Fix `goto-address-url-regexp'

	* lisp/net/goto-addr.el (goto-address-uri-schemes-ignored): New
	variable.
	(goto-address-uri-schemes): Ditto.
	(goto-address-url-regexp): Use them to compose the final regexp.

	* lisp/net/goto-addr.el: The URI schemes to be recognized by
	`goto-address-mode' were not regexp-quoted (Bug#23343).

2019-06-25  Tino Calancha  <f92capac@gmail.com>

	Make winner restore point in all windows that display a buffer

	* lisp/window.el (window--before-delete-windows): New defun.
	(delete-window, delete-other-windows): Use it.
	* lisp/winner.el (winner-set): Use marker in 'window-prev-buffers'
	when available and different than the value returned by
	'winner-get-point' (bug#23621).

2019-06-25  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)

	Use xref in cedet

	* lisp/cedet/semantic/complete.el (semantic-complete-jump-local)
	* lisp/cedet/semantic/analyze/refs.el
	(semantic-analyze-proto-impl-toggle): Use xref to handle jumping
	(bug#23793).

2019-06-25  Drew Adams  <drew.adams@oracle.com>

	Fontify _emphasis_ in info nodes

	* lisp/info.el (Info-fontify-node): Fontify _emphasis_ (bug#23798).
	(info-emphasis): New face.

2019-06-25  Robert Weiner  <rsw@gnu.org>

	Unlispify even more in custom-unlispify-menu-entry

	* lisp/cus-edit.el (custom-unlispify-menu-entry): Also allow : and
	/ as separators in symbols when making the symbols look more
	human-readable (bug#23986).

2019-06-25  Michael Shields  <shields@msrl.com>

	[PATCH 1/1] Pass frame-parameters to server-create-tty-frame

	* lisp/server.el: Pass frame-parameters when creating frames, even
	on a tty (bug#24147).

2019-06-25  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix recent tex-mode safe-local-variable changes

	* lisp/textmodes/tex-mode.el (tex-verbatim-environments): Replace
	(delq t ...) with more usual (memq nil ...).
	(latex-noindent-environments, latex-noindent-commands): Fix typos
	and thinkos in safe-local-variable logic.

2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't delete macuvs.h in extraclean

	* admin/unidata/Makefile.in (extraclean): Don't delete macuvs.h,
	because it's a checked-in file, and make targets altering
	checked-in files is confusing.

2019-06-25  Fritz Stelzer  <brotzeitmacher@gmail.com>  (tiny change)

	Make xref-show-xrefs-function a defcustom

	* lisp/progmodes/xref.el (xref-show-xrefs-function): Make into a
	defcustome (bug#29206).

	* lisp/progmodes/xref.el (xref-show-definitions-function): Ditto.

2019-06-25  Antoine Beaupré  <anarcat@orangeseeds.org>  (tiny change)

	Add imenu support to package-menu-mode

	* lisp/vc/vc-git.el (vc-git-grep-template): Include <C> in
	template to be more consistent with lgrep/rgrep (bug#35326).  This
	will introduce the --color and -i flags to the "git grep" command.

2019-06-25  Alan Mackenzie  <acm@muc.de>

	Fix documentation of inhibit-modification-hooks in overlays + text properties

	This fixes bug #25111.

	* doc/lispref/display.texi (Overlay Properties): For the hook property
	modification-hooks, state that inhibit-modification-hooks is bound to non-nil
	when calling its functions.  This also applies to insert-in-front-hooks and
	insert-behind-hooks, which refer to modification-hooks.

	* doc/lispref/text.texi (Special Properties): For the hook property
	modification-hooks, state that inhibit-modification-hooks is NOT bound to
	non-nil when calling its functions.  For the hooks insert-in-front-hooks and
	insert-behind-hooks, state that that variable does get bound to non-nil.

2019-06-24  Hong Xu  <hong@topbug.net>

	Add imenu support to package-menu-mode

	* lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Fontify if the major
	mode is derived from message-mode (not necessarily equal to
	message-mode) (bug#25124).

2019-06-24  Damien Cassou  <damien@cassou.me>

	Add imenu support to package-menu-mode

	* lisp/emacs-lisp/package.el
	(package--imenu-prev-index-position-function
	package--imenu-extract-index-name-function): Add Imenu functions
	to package-menu-mode (bug#27134).

2019-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/tex-mode.el (latex-noindent-commands): New custom var

	(latex-find-indent): Obey it.
	(latex-noindent-environments): Make it into a defcustom as well.

2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make message_to_stderr do one single fwrite

	* src/xdisp.c (message_to_stderr): When running as a batch
	process, the output from `message' goes to stderr, and has a
	newline appended.  Rewrite the code so that only one fwrite is
	performed to enable messages that are shorter than PIPE_BUF
	(usually 4096 on modern operating systems) are written out as one
	chunk, as this will ensure that the messages are not interleaved
	with messages from other processes that are writing at the same
	time.  This does not affect other stderr outputs, just the ones
	from `message'.

2019-06-24  Kaushal Modi  <kaushal.modi@gmail.com>

	Add example for enabling minor modes in .dir-local.el

	* doc/emacs/custom.texi (Directory Variables): Add an example that
	shows how a minor mode can be enabled in a .dir-local.el (Bug#27639).
	Clarify that indent-tabs-mode is not a minor mode.

2019-06-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* configure.ac: Set HAVE_XFT to no for summary if HAVE_CAIRO is yes.

2019-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/svg.el: Prepare for distribution via GNU ELPA

	Add a Version: and Package-Requires:.
	Don't require subr-x.
	Bring Commentary: from the GNU ELPA version of the package.
	(svg-remove): Don't use when-let*.

2019-06-24  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Tweaks to html mode

	* lisp/textmodes/sgml-mode.el (sgml-attributes): Add the "class" and
	  "id" attributes when needed.
	  (html-mode-map): Add the `html-div' and `html-span' commands to the
	  `html-quick-keys' map.
	  (html-ordered-list, html-unordered-list, html-paragraph): Use the
	  "\n" element properly.
	  (html-div, html-span): New HTML skeletons.

2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	rectangle--pos-cols shouldn't move point

	* lisp/rect.el (rectangle--pos-cols): Don't move point while
	calculating the values (bug#25777).

2019-06-24  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows build as followup to pdumper executable lookup

	* src/w32.c (w32_my_exename): New function.
	* src/w32.h (w32_my_exename): Add prototype.
	* src/emacs.c (load_pdump_find_executable) [WINDOWSNT]: Find
	the actual file name of the program without looking along
	PATH, by calling w32_my_exename.

	* nt/mingw-cfg.site (ac_cv_func_canonicalize_file_name)
	(ac_cv_func_realpath, gl_cv_func_realpath_works): Disable
	testing.
	* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_canonicalize-lgpl): Set
	to true.

2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make C-l in iimage-mode call recenter-top-bottom

	* lisp/iimage.el (iimage-recenter): Call `recenter-top-bottom'
	instead of `recenter', since that's the default function for `C-l'
	(bug#27610).  Suggested by Arne Frederic Maria Döring.

2019-06-24  Michael Albinus  <michael.albinus@gmx.de>

	Improve error handling in Tramp

	* lisp/net/tramp-compat.el (ls-lisp): Require.

	* lisp/net/tramp.el (ls-lisp-use-insert-directory-program):
	Don't declare.
	(tramp-current-connection): Adapt docstring.
	(tramp-debug-message): Adapt function names.
	(tramp-error, tramp-run-real-handler): Let-bind `signal-hook-function'.
	(tramp-signal-hook-function): New defun.
	(tramp-debug-on-error, tramp-condition-case-unless-debug): Remove.
	(tramp-file-name-handler): Handle `tramp-current-connection'.
	Let-bind `signal-hook-function'.  Use `unwind-protect' instead of
	`tramp-condition-case-unless-debug'.
	(tramp-handle-insert-directory): Don't require ls-lisp.
	(tramp-process-actions): Check, that
	`tramp-password-save-function' is non-nil.
	(tramp-equal-remote): Handle the case both files are local.

	* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
	Do not bind `tramp-debug-on-error'.
	(tramp--test-ignore-make-symbolic-link-error): Make error handler
	more explicit about the error.

2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up key bindings in previous tabulated-list patch

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map):
	Actually use `w'/`c' as described in previous patch.

2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new commands to widen/narrow tabulated list columns

	* doc/emacs/buffers.texi: Document widen/contracting commands in
	tabulated list mode.
	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Add
	keystrokes.
	(tabulated-list-widen-current-column): New command.
	(tabulated-list-narrow-current-column): Ditto.  The code was
	written by Boruch Baum and then tweaked by Drew Adams (bug#32106)
	before some white-space changes before the commit.

2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove -q from zstd invocation

	* lib-src/etags.c (compressors): -q isn't necessary since standard
	output goes to /dev/null.  From Michael Albinus (bug#33919).

2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	NEWS fix up for Zstandard patches

	* etc/NEWS: tramp-archive is a new feature, so no need to say that
	specific parts of it are new.  From Michael Albinus.

2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up Zstandard/tramp patch slightly

	* lisp/net/tramp-archive.el (tramp-archive-suffixes): Fix tzst
	suffix.  From Michael Albinus (bug#33919).

2019-06-24  Alexander Gramiak  <agrambot@gmail.com>

	Add Zstandard compression support for Tramp

	* lisp/net/tramp-archive.el (tramp-archive-suffixes)
	(tramp-archive-compression-suffixes): Add zstd compression suffixes.
	* lisp/net/tramp-sh.el (tramp-inline-compress-commands): Add
	zstd (de)compression commands.

2019-06-24  Alexander Gramiak  <agrambot@gmail.com>

	Add Zstandard compression support for dired

	* lisp/dired-aux.el (dired-compress-file-suffixes): Add suffixes for
	zstd compressed tarballs and other files.
	(dired-compress-file): Treat options found in
	`dired-compress-file-suffixes' as arguments instead of part of the
	program name.

2019-06-24  Alexander Gramiak  <agrambot@gmail.com>

	Add Zstandard compression support for etags

	* lib-src/etags.c: (compressors): Add zstd support.
	(print_language_names): Report zstd support.
	* doc/man/etags.1: Update doc.

2019-06-24  Daniel Colascione  <dancol@dancol.org>

	Fix pdumper executable-finding code

	* src/emacs.c:
	(load_pdump_find_executable): New function.
	(load_pdump): Use it.

2019-06-24  Damien Cassou  <damien@cassou.me>

	* doc/misc/auth.texi (The Unix password store): Complete rewrite

	* etc/NEWS: Describe changes to auth-source-pass

	* lisp/auth-source-pass.el: Version 5.0.0

2019-06-24  Damien Cassou  <damien@cassou.me>

	Refactoring of auth-source-pass

	* lisp/auth-source-pass.el (auth-source-pass--find-match): Refactor by
	moving some code to auth-source-pass--disambiguate.
	(auth-source-pass--disambiguate)
	(auth-source-pass--entries-matching-suffix): New function.
	(auth-source-pass--find-match-unambiguous)
	(auth-source-pass--select-from-entries)
	(auth-source-pass--entry-reducer): Refactor to simplify and improve
	logging.
	(auth-source-pass--matching-entries)
	(auth-source-pass--accumulate-matches): Remove.
	* test/lisp/auth-source-pass-tests.el: Complete rewrite to facilitate
	maintenance.
	(auth-source-pass--have-message-containing): Remove.
	(auth-source-pass--have-message-matching)
	(auth-source-pass--explain--have-message-matching)
	(auth-source-pass--explain-match-entry-p)
	(auth-source-pass--includes-sorted-entries)
	(auth-source-pass--explain-includes-sorted-entries)
	(auth-source-pass--explain-match-any-entry-p)
	(auth-source-pass--matching-entries)
	(auth-source-pass-match-entry-p)
	(auth-source-pass-match-any-entry-p): New function.

2019-06-24  Keith Amidon  <camalot@picnicpark.org>

	* lisp/auth-source-pass.el: Add Keith Amidon to authors

2019-06-24  Keith Amidon  <camalot@picnicpark.org>

	Minimize entry parsing in auth-source-pass

	Prior to this commit, while searching for the most applicable entry
	password-store entries were decrypted and parsed to ensure they were
	valid.  The entries were parsed in the order they were found on the
	filesystem and all applicable entries would be decrypted and parsed,
	which varied based on the contents of the password-store and the entry
	to be found.

	This is fine when the GPG key is cached and each entry can be
	decrypted without user interaction.  However, for security some people
	have their GPG on a hardware token like a Yubikey setup so that they
	have to touch a sensor on the token for every cryptographic operation,
	in which case it becomes inconvenient as each attempt to find an entry
	requires a variable number of touches of the hardware token.

	The implementation already assumes that names which contain more of
	the information in the search key should be preferred so there is an
	ordering of preference of applicable entries.  If the decrypt and
	parsing is removed from the initial identification of applicable
	entries in the store then in most cases a single decrypt and parse of
	the most preferred entry will suffice, improving the experience for
	hardware token users that require interaction with the token.

	This commit implements that strategy.  It is in spirit a refactor of
	the existing code.

	* lisp/auth-source-pass.el (auth-source-pass--matching-entries): New
	function, generate an ordered list of regular expression matchers for
	all possible names that could be in the password-store for the entry
	to be found and then makes a pass over the password-store entry names
	accumulating the matching entries in a list after the regexp that
	matched.  This implementation ensures the password-store entry list
	still only has to be scanned once.
	(auth-source-pass--find-match-unambiguous): Use it to obtain candidate
	entries and then parse them one by one until an entry containing the
	desired information is located.  When complete, return the parsed data
	of the entry instead of the entry name so that the information can be
	used directly to construct the auth-source response.
	(auth-source-pass--build-result): Update accordingly.
	(auth-source-pass--find-match): Update docstring accordingly.
	(auth-source-pass--select-one-entry)
	(auth-source-pass--entry-valid-p)
	(auth-source-pass--find-all-by-entry-name)
	(auth-source-pass--find-one-by-entry-name): Remove.
	(auth-source-pass--select-from-entries)
	(auth-source-pass--accumulate-matches)
	(auth-source-pass--entry-reducer)
	(auth-source-pass--generate-entry-suffixes)
	(auth-source-pass--domains)
	(auth-source-pass--name-port-user-suffixes): New functions.

	* test/lisp/auth-source-pass-tests.el: One test case was added to the
	test suite to verify that only the minimal number of entries are
	parsed in common cases.  The
	auth-source-pass-only-return-entries-that-can-be-open test case had to
	be re-implemented because the function it was used eliminated as the
	functionality is provided elsewhere.  All the other fairly substantial
	changes to the test suite are the result of mechanical changes that
	were required to adapt to auth-source-pass--find-match returning the
	data from a parsed password-store entry instead of the entry name.

2019-06-24  Keith Amidon  <camalot@picnicpark.org>

	Split out the attribute retrieval form auth-source-pass-get

	Eliminate the need to repeatedly retrieve and parse the data for the
	entry.  This is generally a good thing since it eliminates repetitions
	of the same crypto and parsing operations.  It is especially valuable
	when protecting an entry with a yubikey with touch required for crypto
	operations as it eliminates the need to touch the yubikey sensor for
	each attribute retrieved.

	* lisp/auth-source-pass.el (auth-source-pass-get): Extract some code to
	`auth-source-pass--get-attr'.
	(auth-source-pass--get-attr): New function to get a field value from a
	parsed entry.
	(auth-source-pass--build-result): Make use of
	`auth-source-pass--get-attr` to avoid repeated parsing.

2019-06-24  Keith Amidon  <camalot@picnicpark.org>

	Fix auth-source-pass to search for hostname:port/username

	auth-source-pass supports entries with username either prefixed to the
	hostname with an @ as separator or in a subdirectory under the
	hostname.  This was true when there was no port or service included in
	the name, but got broken with the introduction of
	auth-source-pass-port-separator.

	* lisp/auth-source-pass.el (auth-source-pass--find-match-unambiguous): Fix
	to match hostname:port/username.
	* test/lisp/auth-source-pass-tests.el: Add corresponding tests.

2019-06-24  Iku Iwasa  <iku.iwasa@gmail.com>

	Add auth-source-pass-port-separator option

	* lisp/auth-source-pass.el (auth-source-pass-port-separator): New
	option to specify separator between host and port, default to
	colon (":").
	(auth-source-pass--find-match-unambiguous): Adapt to make use of the
	new variable.
	* test/lisp/auth-source-pass-tests.el: Add corresponding tests.

2019-06-24  galaunay  <gaby.launay@tutanota.com>

	Add auth-source-pass-filename option

	* lisp/auth-source-pass.el (auth-source-pass)
	(auth-source-pass-filename): Add option to specify a customized
	password-store path.
	(auth-source-pass--read-entry)
	(auth-source-pass-entries): Use the new option instead of hard-coded
	`~/.password-store'.

2019-06-24  Damien Cassou  <damien@cassou.me>

	* lisp/auth-source-pass.el (auth-source-pass-get): Add autoload

	* lisp/auth-source-pass.el: Version 4.0.2

2019-06-24  Magnus Henoch  <magnus.henoch@gmail.com>  (tiny change)

	Fix auth-source-pass to return nil if no entry found

	* lisp/auth-source-pass.el (auth-source-pass-search): If there is no
	matching entry, auth-source-pass-search should return nil, not (nil).
	This lets auth-source fall back to other backends in the auth-sources
	list.
	* test/lisp/auth-source-pass-tests.el: Add corresponding test.

2019-06-23  Daniel Colascione  <dancol@dancol.org>

	Fix locating pdump by symlink

	* admin/merge-gnulib (GNULIB_MODULES): Add canonicalize-lgpl module
	* build-aux/config.guess, build-aux/gitlog-to-changelog,
	build-aux/update-copyright, lib/canonicalize-lgpl.c,
	lib/gnulib.mk.in, lib/malloca.c, lib/malloca.h, lib/pathmax.h,
	m4/canonicalize.m4, m4/double-slash-root.m4, m4/gnulib-comp.m4,
	m4/malloca.m4, m4/pathmax.m4: copy from GNUlib or regenerate from
	update
	* src/emacs.c: find dump by canonical path

2019-06-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Document syntax-ppss-context

	* doc/lispref/syntax.texi (Parser State): Document it.

	* lisp/emacs-lisp/syntax.el (syntax-ppss-context): Add a doc
	string (bug#32504).

2019-06-23  Martin Kletzander  <nert.pinx@gmail.com>  (tiny change)

	Autojoin channels with same name on different servers in erc

	* lisp/erc/erc-join.el (erc-autojoin-channels): Join channels with
	the same name on different servers (bug#32723).

2019-06-23  Alex Branham  <alex.branham@gmail.com>

	(if-let): Improve docstring by mentioning let*

	* lisp/emacs-lisp/subr-x.el (if-let): Clarify that if-let is like
	let*, not like let (bug#33550).

2019-06-23  Carlos Pita  <carlosjosepita@gmail.com>

	Fix auto-revert resizing in image mode

	* lisp/image-mode.el (image-transform-properties): Get image
	parameters right after reverting; in particular, compute the
	correct max size (bug#33631).

2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t line-buffer stderr

	* src/sysdep.c (init_standard_fds) [DOS_NT]: Don’t line-buffer stderr.
	This reverts 2019-06-20T07:32:17!eggert@cs.ucla.edu.  See:
	https://lists.gnu.org/r/emacs-devel/2019-06/msg00882.html

2019-06-23  Mattias Engdegård  <mattiase@acm.org>

	Check validity of rx submatch-n number

	* lisp/emacs-lisp/rx.el (rx-submatch): Type and range check (Bug#34373).

2019-06-23  Mattias Engdegård  <mattiase@acm.org>

	Optional space and unit in `file-size-human-readable' (bug#35756)

	To improve readability of strings produced by
	`file-size-human-readable', add two optional arguments:

	- SPACE, to provide a string (typically a space or non-breaking space)
	to put between the number and unit.  For compatibility, the default is
	an empty string.

	- UNIT, a string to use as unit.  For compatibility, the default is
	"B" in `iec' mode and the empty string otherwise.

	Also fix a glitch with small numbers in `iec' mode which caused a
	stray "i" in the result.

	* lisp/files.el (file-size-human-readable):
	Add optional SPACE and UNIT arguments and handle small numbers correctly.
	(files--ask-user-about-large-file, warn-maybe-out-of-memory):
	Call with `iec' and space.
	* test/lisp/files-tests.el (files-test-file-size-human-readable): New test.
	* lisp/url/url-http.el (url-http-simple-after-change-function)
	(url-http-content-length-after-change-function): Call with `iec' and space.
	* etc/NEWS (Lisp Changes): Mention the change.

2019-06-23  Michael Brumlow  <m@brumlow.io>  (tiny change)

	(hfy-fontify-buffer): Inhibit read only

	* lisp/htmlfontify.el (hfy-fontify-buffer): Inhibit read only to
	enable the function to work with text that comes from buffers that
	put read-only text properties on things (bug#35025).

2019-06-23  Mauro Aranda  <maurooaranda@gmail.com>

	Document Winner mode user options

	* doc/emacs/windows.texi (Window Convenience): Add documentation for
	the user options winner-dont-bind-my-keys, winner-ring-size and
	winner-boring-buffers (bug#35146).

2019-06-23  Alexander Gramiak  <agrambot@gmail.com>

	src/bytecode.c (exec_byte_code) Unroll Blist3 and Blist4

	* src/bytecode.c (exec_byte_code): Unroll Blist3 and Blist4
	(bug#35321).

2019-06-23  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Add NEWS entry for new command gnus-summary-browse-url

	* etc/NEWS: It is documented in the manual.

2019-06-23  Drew Adams  <drew.adams@oracle.com>

	Make ls-lisp--dired ape dired-noselect more closely

	* lisp/ls-lisp.el (ls-lisp--dired): Emulate the behavior of
	non-ls-lisp.el dired better by defaulting to default-directory as
	dired-noselect does (bug#35390).

2019-06-23  Van L  <van@scratch.space>

	Add a Code: tag to subr.el

	* lisp/subr.el: Add a Code: tag comment (bug#35595).

2019-06-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove outdate comment about an utf-8 cookie that was removed in 2015

2019-06-23  Nick Drozd  <nicholasdrozd@gmail.com>

	Handle 'code' tag in shr.el

	* etc/NEWS: Announce change in shr behavior (bug#36247).
	* lisp/net/shr.el: Add 'code' tag handling.

2019-06-23  Eric Abrahamsen  <eric@ericabrahamsen.net>

	New command gnus-summary-browse-url

	* lisp/gnus/gnus-sum.el (gnus-summary-browse-url): New command for
	  browsing URLs from the article buffer from the summary buffer.
	  (gnus-summary-mode-map): Bind to "w".
	  (gnus-summary-article-map): And to "A w".
	* doc/misc/gnus.texi (Article Commands): Document.

2019-06-23  Michael Albinus  <michael.albinus@gmx.de>

	Improve error handling in tramp-gvfs

	* lisp/net/tramp-gvfs.el (tramp-gvfs-get-directory-attributes)
	(tramp-gvfs-get-root-attributes)
	(tramp-gvfs-handle-file-attributes): Don't ignore errors.
	(tramp-make-goa-name): New defun.
	(tramp-gvfs-get-remote-prefix): Use it.
	(tramp-gvfs-maybe-open-connection): Raise user errors in case of.
	Check also, that GOA accounts are proper.
	(tramp-get-goa-accounts): Cache connection property.

	* lisp/net/tramp.el (tramp-handle-file-equal-p)
	(tramp-handle-file-in-directory-p): Use `tramp-equal-remote'.

2019-06-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Document what the `t' value for HIST in `read-string' means

	* src/minibuf.c (syms_of_minibuf): Say that `t' means "no history"
	(bug#36324).
	(Fread_from_minibuffer): Say the same for HIST.

2019-06-22  Simen Heggestøyl  <simenheg@gmail.com>

	Split up and add tests for two page.el functions

	* lisp/textmodes/page.el (page--count-lines-page): New function
	extracted from `count-lines-page'.
	(count-lines-page): Extract main logic into `page--count-lines-page'.
	(page--what-page); New function extracted from `what-page'.
	(what-page): Extract main logic into `page--what-page'.

	* test/lisp/textmodes/page-tests.el (page-tests-count-lines-page)
	(page-tests-what-page): New tests for `page--count-lines-page' and
	`page--what-page'.  (Bug#36009)

2019-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	(with-suppressed-warnings): Also suppress warnings when not byte-compiling

	* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): Bind
	byte-compile--suppressed-warnings when possible.

2019-06-22  Allen Li  <darkfeline@felesatra.moe>

	Fix defining inverse abbrevs on previous words (Bug#36243)

	* lisp/abbrev.el (inverse-add-abbrev): Skip trailing nonword
	characters when defining abbrev.

	* test/lisp/abbrev-tests.el (abbrev-edit-save-to-file-test): Add
	regression tests.

2019-06-22  Noam Postavsky  <npostavs@gmail.com>

	Fix python docstring auto-fill (Bug#36056)

	* lisp/progmodes/python.el (python-mode): Set
	fill-indent-according-to-mode locally to t.  This lets auto-fill do
	the right thing when auto-filling inside a docstring.  The default was
	to nil on 2001-11-25 "(fill-indent-according-to-mode): Default to nil"
	with the comment that it "screws up CC-mode's filling tricks".  But
	presumably it shouldn't be a problem for python-mode.
	* test/lisp/progmodes/python-tests.el (python-auto-fill-docstring):
	New test.

2019-06-22  Noam Postavsky  <npostavs@gmail.com>

	Make rcirc parsing more RFC2812 compliant (Bug#36233)

	Do continue to allow multiple spaces between arguments, even though
	that is technically not allowed by the RFC.
	* lisp/net/rcirc.el (rcirc-process-server-response-1): Fix parsing of
	arguments which contain colons.
	* test/lisp/net/rcirc-tests.el: New test.

2019-06-22  Noam Postavsky  <npostavs@gmail.com>

	* lisp/net/rcirc.el (rcirc-prompt-for-encryption): Simplify.

2019-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	Bring macuvs.h back under Git control

	* admin/unidata/Makefile.in (maintainer-clean):
	Instead of removing macuvs.h here ...
	(extraclean): ... Remove it here.
	* admin/unidata/uvs.el (uvs-print-table-ivd):
	Add to comment explaining why macuvs.h is in Git.
	* src/macuvs.h: Regenerate and re-add to Git.

2019-06-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Respect case-insensite DelSp flow-fill parameter

	* lisp/gnus/mm-view.el (mm-inline-text): The DelSp parameter is
	case-insentitive, so make it work then it's "Yes" (bug#26775).

2019-06-22  Andreas Schwab  <schwab@linux-m68k.org>

	(nnir-notmuch-remove-prefix): Respect MAILDIR

	* lisp/gnus/nnir.el (nnir-notmuch-remove-prefix): Respect MAILDIR
	and regexp-quote the result (bug#34940).

2019-06-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Use plain report-emacs-bug instead of gnus-bug

	* doc/misc/gnus.texi (Compatibility): Remove mention of deprecated
	variable.
	* lisp/gnus/gnus-msg.el (gnus-bug): Just use `report-emacs-bug'.
	(gnus-bug-kill-buffer): Remove.
	(gnus-bug-create-help-buffer, gnus-bug-message): Remove.

2019-06-22  Robert Pluim  <rpluim@gmail.com>

	Export Gnus calendar events to org even if they have no description

	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event->org-entry):
	Don't ignore events that have no description.

2019-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Make ftcr font backend driver more consistent with xft

	* src/ftcrfont.c: Include charset.h.
	(ftcrfont_has_char): Import font adstyle related code from ftfont_has_char.

2019-06-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from savehist.el (reworked)

	* lisp/savehist.el (savehist-coding-system, savehist-install)
	(savehist-uninstall, savehist-save): Remove XEmacs compat code.
	(savehist-trim-history): Made obsolete.
	(savehist-minibuffer-hook): Update comment to reflect the t value
	of HISTORY in `read-string'.

2019-06-22  Christophe Troestler  <Christophe.Troestler@umons.ac.be>  (tiny change)

	epg: Use unibyte string to decode percent escapes

	* lisp/epg.el (epg--status-USERID_HINT, epg--status-*SIG)
	(epg--status-IMPORTED): Call epg--decode-percent-escape-as-utf-8.
	(epg--decode-percent-escape): Convert STRING to unibyte.
	(epg--decode-percent-escape-as-utf-8): New function.  (Bug#36098)

2019-06-22  Stefan Kangas  <stefankangas@gmail.com>

	Add tests for mail/flow-fill.el

	* test/lisp/mail/flow-fill-tests.el: New file.
	* lisp/mail/flow-fill.el (fill-flowed-encode-tests)
	(fill-flowed-test): Make obsolete.  (Bug#36174)

2019-06-22  Stefan Kangas  <stefankangas@gmail.com>

	Make toolbar show keyboard equivalents in its tooltips

	* src/keyboard.c (parse_tool_bar_item): Add equivalent key binding to
	the tooltip string of toolbar buttons.
	* etc/NEWS: Announce it.
	* etc/TODO: Remove its entry.  (Bug#36156)

2019-06-22  Teemu Likonen  <tlikonen@iki.fi>

	Update epg.el algorithm id-name association lists

	* lisp/epg.el (epg-pubkey-algorithm-alist)
	(epg-digest-algorithm-alist, epg-compress-algorithm-alist): Add
	new identifiers from openpgpdefs.h.

2019-06-22  Stefan Kangas  <stefankangas@gmail.com>

	Move mantemp.el to obsolete/

	* lisp/progmodes/mantemp.el: Move to obsolete/. (bug#34789)
	* doc/emacs/ack.texi (Acknowledgments): Remove obsolete library
	mantemp.el.

2019-06-22  Eli Zaretskii  <eliz@gnu.org>

	Fix an off-by-one error in assertion

	* src/fileio.c (Fexpand_file_name): Fix off-by-one error in an
	assertion.  This avoids assertion violations when the home
	directory is an empty string for some reason.  (Bug#36363)

2019-06-22  Eli Zaretskii  <eliz@gnu.org>

	Correct and update the mapping of LaTeX encodings

	* lisp/international/latexenc.el
	(latex-inputenc-coding-alist): Fix the association of latin5.
	(Bug#36253) Uncomment latin10 and map it to iso-8859-16.

2019-06-22  Eli Zaretskii  <eliz@gnu.org>

	Avoid using string-make-unibyte in select.el

	* lisp/select.el (selection-coding-system): Doc fix.
	(xselect--encode-string): For C_STRING, if the text is not
	already unibyte, use encode-coding-string instead of
	string-make-multibyte to make it unibyte.

2019-06-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Make ftcr font backend driver more consistent with xft

	* src/ftcrfont.c (ftcrfont_open): Use metrics of glyph ID 0 if there is no
	glyph for an ASCII printable.

2019-06-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/font.c (Ffont_xlfd_name): Don't use strcpy for overlapping strings.

2019-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix default build-from-Git on macOS

	* configure.ac (NS_IMPL_COCOA): Do not default to "yes" if
	src/macuvs.h is absent, which is possible in a build from Git.

2019-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	Remove src/macuvs.h from Git repository

	It can be generated automatically and easily during a normal
	bootstrap, so there’s no need to keep it in the repository.
	* admin/unidata/Makefile.in (maintainer-clean):
	Behave like extraclean and remove macuvs.h etc.
	* src/macuvs.h: Remove.

2019-06-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Remove XEmacs compat code from savehist.el"

	This reverts commit a97ba6eb305c9db8641c0e65748907cd53dbfa5e.

	According to bug#36324, this broke savehist.el

2019-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete

	See bug#11649 for an example problem, and emacs-devel discussion
	«Prickliness of the "invalid byte code" stuff».

	* lisp/wid-edit.el, lisp/wdired.el, lisp/vc/pcvs-util.el:
	* lisp/progmodes/executable.el, lisp/mail/sendmail.el:
	* lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el:
	* lisp/emacs-lisp/cl-lib.el, lisp/emacs-lisp/cl-extra.el:
	* lisp/dired-x.el, lisp/dired-aux.el, lisp/calendar/calendar.el:
	Don't use byte-compile-dynamic any more.

2019-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/ediff-*.el: Use lexical-binding, plus misc cleanup

	Re-enable lexical-binding in ediff.  For that, change ediff-find-file
	so as not to rely on dynamic scoping in its calling convention.

	* lisp/vc/ediff-diff.el: Move `provide` to the end.
	Remove redundant :group.
	(ediff-exec-process): Disregard current directory.
	(ediff-forward-word-function): Use defvar-local.

	* lisp/vc/ediff-help.el (ediff-set-help-message): Use functionp.

	* lisp/vc/ediff-hook.el (menu-bar-ediff-misc-menu): Make a toggle, as
	in the XEmacs menu.

	* lisp/vc/ediff-init.el (ediff-defvar-local): Add `doc-string` prop.
	(ediff-check-version): Delete function, unused.

	* lisp/vc/ediff-mult.el: Move `provide` to the end.
	Remove redundant :groups.
	(ediff-dir-diffs-buffer-map):
	Move initialization into declaration.
	(ediff-meta-mode): Use define-derived-mode.
	(ediff-intersect-directories): Remove `comparison-func`, unused.
	(ediff-prepare-meta-buffer): Fix use of `startup-hooks`.

	* lisp/vc/ediff-ptch.el: Move `provide` to the end.

	* lisp/vc/ediff-util.el (ediff-add-to-history): Use add-to-history instead.

	* lisp/vc/ediff-vers.el (ediff-vc-internal, ediff-vc-merge-internal):
	Use push and closures.

	* lisp/vc/ediff-wind.el: Remove redundant :groups.

	* lisp/vc/ediff.el: Move `provide` to the end.
	Remove redundant :groups.
	(ediff--magic-file-name, ediff--startup-hook): New vars.
	(ediff-find-file): Change calling convention so as not to use
	symbols as value cells.
	(ediff--buffer-file-name): New function.
	(ediff-files-internal): Adjust to new calling convention of ediff-find-file.
	(ediff-directories-internal, ediff-directory-revisions-internal)
	(ediff-regions-internal): Use push and closures.

2019-06-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/xterm.c (x_update_end) [USE_CAIRO]: Flush non-double-buffered surface.

2019-06-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix blank tooltips on cairo (Bug#36298)

	* src/xterm.h (x_cr_update_surface_desired_size) [USE_CAIRO]: Add extern.
	* src/xterm.c (x_cr_update_surface_desired_size) [USE_CAIRO]: Make non-static.
	* src/xfns.c (Fx_show_tip) [USE_CAIRO]: Call x_cr_update_surface_desired_size.

2019-06-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix broken display by frame maximization on cairo (Bug#23925)

	* src/xterm.c (handle_one_xevent) [USE_CAIRO && USE_GTK]: Make calls to
	x_cr_update_surface_desired_size coincide with those to xg_frame_resized.

2019-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/vc-dir.el (vc-dir-search): Avoid `eval`.

2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix extraclean in a different way for info+lib/sys

	* Makefile.in (extraclean):
	* lib/Makefile.in (extraclean): Use rmdir but suppress any
	error indication.  That way, ‘make extraclean’ will remove the
	directory if it’s empty, and successfully do nothing otherwise.

2019-06-20  Eli Zaretskii  <eliz@gnu.org>

	Fix aborts when the value of a display property causes redisplay

	* src/xdisp.c (handle_single_display_spec): Protect the bidi
	cache from evaluation that triggers redisplay.  (Bug#36312)

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Leave the empty info and lib/sys in extraclean

	* lib/Makefile.in: Ditto.

	* Makefile.in (extraclean): Don't use GNU-specific rmdir; just
	leave the empty directory be.

2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify lib-src version printing

	* lib-src/Makefile.in (etags_cflags): Remove.
	All uses replaced by a simple ‘-o $@’.
	(ebrowse${EXEEXT}, emacsclient${EXEEXT}, emacsclientw${EXEEXT}):
	Omit -DVERSION= option.
	* lib-src/ebrowse.c (VERSION):
	* lib-src/emacsclient.c (VERSION):
	* lib-src/etags.c (EMACS_NAME, VERSION): Remove.
	All uses replaced by PACKAGE_NAME and PACKAGE_VERSION.
	* lib-src/ebrowse.c (version):
	* lib-src/etags.c (print_version):
	Use fputs to output the version info, since that’s fputs_unlocked.
	* lib-src/etags.c (PROGRAM_NAME): New macro.
	(print_version): Use it.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Make extraclean return tree to pristine state by deleting more

	* src/Makefile.in (extraclean): Remove TAGS and config.in.

	* Makefile.in (extraclean): Remove info, configure and
	emacsver.texi in extraclean.
	* admin/unidata/Makefile.in (extraclean): Make it depend on
	distclean to remove .elc files.

	* leim/Makefile.in (extraclean): Depend on bootstrap-clean to
	remove generated .el files.

	* lib/Makefile.in (extraclean): Added target to remove sys
	directory and run distclean.

	* lisp/Makefile.in (extraclean): Also remove loaddefs*.el~ files.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Add doc strings to the ielm * variables

	* lisp/ielm.el: (*, **, ***): Add doc strings.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't define *, ** and ** in ielm as real variables

	* lisp/ielm.el: (*, **, ***): Change defvars into compiler
	directives instead of real variable definitions to avoid polluting
	the global Emacs namespace.
	(*1, *2, *3): Ditto.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in esh-mode

	* lisp/eshell/esh-mode.el (eshell-mode): Remove special binding
	for M-. in eshell buffers: The comment indicates that this is
	outdated code.
	(eshell-find-tag): Make obsolete.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in viper-exp involving tags

	* lisp/emulation/viper-ex.el (ex-tag): Use xref/next-error instead
	of the deprecated tags functions.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Declare semantic-*overlay* aliases obsolete

	* lisp/cedet/semantic/fw.el: Declare all the semantic-*overlay*
	aliases obsolete.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Throughout cedet, don't use semantic-overlay-* compat aliases

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from cedet

	* lisp/cedet/srecode/mode.el (srecode-menu-bar):
	* lisp/cedet/semantic/wisent/comp.el (wisent-debug-flag)
	(wisent-print-results):
	* lisp/cedet/semantic/util-modes.el
	(semantic-stickyfunc-indent-string)
	(semantic-stickyfunc-header-line-format)
	(semantic-highlight-func-mode-map):
	* lisp/cedet/semantic/symref/list.el
	(semantic-symref-list-menu-entries):
	* lisp/cedet/semantic/idle.el ()
	(semantic-idle-breadcrumbs-popup-menu):
	* lisp/cedet/semantic/grammar.el (semantic-grammar-item-value)
	(semantic-grammar-create-package)
	(semantic-grammar-batch-build-packages)
	(semantic-grammar-setup-menu):
	* lisp/cedet/semantic/fw.el (semantic-overlay-live-p)
	(semantic-event-window, semantic-make-local-hook)
	(semantic-run-mode-hooks, semantic-subst-char-in-string)
	(semantic-menu-item, semantic-find-file-noselect):
	* lisp/cedet/semantic/format.el (semantic-format-face-alist)
	(semantic--format-colorize-merge-text):
	* lisp/cedet/semantic/decorate/include.el ()
	(semantic-decoration-on-include-menu)
	(semantic-decoration-on-unknown-include-menu)
	(semantic-decoration-on-fileless-include-menu)
	(semantic-decoration-on-unparsed-include-menu):
	* lisp/cedet/semantic/decorate.el (semantic-set-tag-read-only)
	(semantic-tag-read-only-p):
	* lisp/cedet/mode-local.el (activate-mode-local-bindings):
	* lisp/cedet/data-debug.el (data-debug-overlay-properties): Remove
	XEmacs compat code.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from gravatar.el

	* lisp/image/gravatar.el (gravatar-retrieve): Remove XEmacs compat code

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from erc

	* lisp/erc/erc-button.el (button, erc-button-keymap)
	(erc-button-setup, erc-button-add-button): Remove XEmacs compat code.

	* lisp/erc/erc-compat.el (erc-replace-match-subexpression-in-string):

	* lisp/erc/erc-log.el (erc-log-file-coding-system):

	* lisp/erc/erc-menu.el (menu):

	* lisp/erc/erc-stamp.el (erc-timestamp-use-align-to):

	* lisp/erc/erc-track.el (erc-modified-channels-object, track)
	(erc-track-mouse-face):

	* lisp/erc/erc.el (erc-update-undo-list)
	(erc-quit-reason-various, erc-part-reason-various, erc-cmd-SV)
	(erc-input-message, erc-get-channel-mode-from-keypress)
	(erc-update-mode-line-buffer):

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from table.el

	* lisp/textmodes/table.el:
	(table-disable-menu, null, table-recognize-cell)
	(table--make-cell-map, table--update-cell)
	(table--update-cell-widened, table--update-cell-heightened)
	(table--read-from-minibuffer, table--untabify)
	(table--update-cell-face, table--warn-incompatibility)
	(table--fill-region, table--set-timer): Remove XEmacs compat code.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from dns-mode.el

	* lisp/textmodes/dns-mode.el (dns-mode): Remove XEmacs compat code.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up eieio-custom slightly

	* lisp/emacs-lisp/eieio-custom.el: Remove commented out code.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from checkdoc.el

	* lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode-map): Remove
	XEmacs compat code.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up after previous viper patch

	* lisp/emulation/viper-ex.el (viper-get-ex-address-subr): Fix
	syntax error in last checkin.
	(viper-ex): Don't use now-obsolete function.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove most of the XEmacs compat code from viper*.el

	* lisp/emulation/viper-cmd.el ()
	(viper-insert-state-post-command-sentinel)
	(viper-change-state-to-vi, viper-change-state-to-insert)
	(viper-change-state-to-emacs, viper-escape-to-state)
	(viper-special-read-and-insert-char, viper-toggle-key-action)
	(viper-prefix-arg-value, viper-prefix-arg-com)
	(viper-digit-argument, viper-command-argument, )
	(viper-exec-Yank, viper-repeat, viper-forward-char)
	(viper-backward-char, viper-forward-word, viper-forward-Word)
	(viper-end-of-word, viper-end-of-Word, viper-backward-word)
	(viper-backward-Word, viper-beginning-of-line)
	(viper-bol-and-skip-white, viper-goto-eol, viper-goto-col)
	(viper-next-line, viper-next-line-at-bol, viper-previous-line)
	(viper-previous-line-at-bol, viper-goto-line, )
	(viper-repeat-find, viper-repeat-find-opposite)
	(viper-window-top, viper-window-middle, viper-window-bottom)
	(viper-paren-match, viper-search, viper-buffer-search-enable)
	(viper-put-back, viper-Put-back, viper-mark-point)
	(viper-cycle-through-mark-ring, viper-goto-mark-subr)
	(viper-brac-function, viper-register-to-point)
	(viper-submit-report): Remove some XEmacs compat code.

	* lisp/emulation/viper-ex.el (viper-get-ex-address-subr)
	(viper-handle-!, ex-edit, ex-mark, ex-next-related-buffer)
	(ex-help, ex-write, ex-write-info, viper-info-on-file): Ditto.

	* lisp/emulation/viper-keym.el (viper-add-keymap): Ditto.

	* lisp/emulation/viper-macs.el (viper-record-kbd-macro): Remove
	XEmacs compat code.

	* lisp/emulation/viper-mous.el (viper-mouse-click-insert-word)
	(viper-mouse-click-search-word): Remove some XEmacs compat code.

	* lisp/emulation/viper-util.el (viper-overlay-p)
	(viper-color-defined-p, viper-iconify, viper-memq-char)
	(viper-char-equal, viper=, viper-color-display-p)
	(viper-get-cursor-color, viper-frame-value)
	(viper-change-cursor-color, viper-save-cursor-color)
	(viper-restore-cursor-color, viper-get-visible-buffer-window)
	(viper-file-checked-in-p, viper-put-on-search-overlay)
	(viper-flash-search-pattern, viper-hide-search-overlay)
	(viper-move-replace-overlay, viper-set-replace-overlay)
	(viper-set-replace-overlay-glyphs, viper-hide-replace-overlay)
	(viper-replace-start, viper-replace-end)
	(viper-set-minibuffer-overlay, viper-check-minibuffer-overlay)
	(viper-abbreviate-file-name, viper-mark-marker)
	(viper-set-mark-if-necessary, viper-leave-region-active)
	(viper-copy-event, viper-read-event-convert-to-char)
	(viper-event-key, viper-last-command-char)
	(viper-key-to-emacs-key, viper-eventify-list-xemacs)
	(viper-set-unread-command-events, viper-char-array-p)
	(viper-key-press-events-to-chars, viper-read-char-exclusive):
	Remove most of the XEmacs compat code.

	* lisp/emulation/viper.el (viper-go-away, viper-set-hooks)
	(viper-non-hook-settings): Remove some XEmacs compat code.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from viper-macs.el

	* lisp/emulation/viper-macs.el (viper-char-array-to-macro):
	Remove XEmacs compat code.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from viper-cmd.el

	* lisp/emulation/viper-cmd.el (viper-change-state)
	(viper-escape-to-state, viper-special-read-and-insert-char)
	(viper-prefix-arg-value, viper-prefix-arg-com)
	(viper-display-current-destructive-command)
	(viper-file-add-suffix, viper-adjust-window)
	(viper-set-searchstyle-toggling-macros)
	(viper-set-parsing-style-toggling-macro)
	(viper-set-emacs-state-searchstyle-macros): Remove XEmacs compat code.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs and old Emacs compat code from gamegrid.el

	* lisp/play/gamegrid.el (gamegrid-event-x, gamegrid-event-y)
	(gamegrid-make-glyph, image-size, gamegrid-initialize-display)
	(gamegrid-start-timer, gamegrid-set-timer)
	(gamegrid-kill-timer)
	(gamegrid-add-score-with-update-game-score-1)
	(gamegrid-add-score-insecure): Removed XEmacs compat code.
	(gamegrid-characterp, gamegrid-set-display-table): Removed functions.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from binhex.el

	* lisp/mail/binhex.el (binhex-insert-char): Remove XEmacs compat
	code and made into a function instead of a defalias.
	(binhex-decode-region-internal): Remove XEmacs compat code.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from uudecode.el

	* lisp/mail/uudecode.el (uudecode-decode-region-external)
	(uudecode-decode-region-internal): Remove XEmacs compat code.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from pascal.el

	* lisp/progmodes/pascal.el (pascal-mark-defun): Remove XEmacs compat.

2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs support from cperl-mode

	* lisp/progmodes/cperl-mode.el (condition-case)
	(cperl-electric-parens-mark, cperl-del-back-ch)
	(cperl-do-not-fontify, cperl-mode, cperl-find-pods-heres)
	(cperl-write-tags, cperl-tags-hier-init, cperl-perldoc)
	(cperl-build-manpage): Remove XEmacs support.

	There's a lot of support code in here for older versions of Emacs that
	could be removed, too.

2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify stdout buffering

	* src/sysdep.c (_sobuf): Remove; we no longer need this
	microoptimization.
	(init_sys_modes): Simplify by assuming setvbuf.

2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	Remove no-longer-needed fflushes of stderr

	* src/gmalloc.c (mabort) [GC_MCHECK && !__GNU_LIBRARY__]:
	* src/term.c (vfatal): Remove fflush (stderr) when it is now a
	no-op because newline automatically flushes stderr.

2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	Line-buffer stderr

	* src/sysdep.c (init_standard_fds) [!DOS_NT]:
	Use setvbuf to ensure stderr is line-buffered.

2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix arbitrary INT_MAX limit on referrer repr

	* src/pdumper.c (print_paths_to_root_1):
	Don’t assume strlen (repr) < INT_MAX.

2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	Minor putc tweaks

	* src/emacs-module.c (module_abort):
	* src/xdisp.c (vmessage):
	Prefer fputc to putc, since speed isn’t crucial here.
	* src/region-cache.c (pp_cache) [ENABLE_CHECKING]: Simplify.

2019-06-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Change font_put_extra value for property removal from Qnil to Qunbound

	* src/font.c (font_put_extra): If VAL is Qunbound, delete the slot for PROP from
	the list of extra properties.  Previous value Qnil is valid as boolean.
	(font_clear_prop): Changed argument of font_put_extra for property removal.

2019-06-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix failure of setting default face attribute in init script (Bug#36284)

	* src/xsettings.c (apply_xft_settings): Undo replacing all #ifdef HAVE_XFT
	with #if defined USE_CAIRO || defined HAVE_XFT for this function.

2019-06-19  Roland Winkler  <winkler@gnu.org>

	* lisp/bookmark.el (bookmark-set-internal): Fix format string.

2019-06-19  Juri Linkov  <juri@linkov.net>

	Add file sorting options to find-dired and grep-find (bug#36110)

	* lisp/find-dired.el (find-ls-option-default-ls)
	(find-ls-option-default-exec, find-ls-option-default-xargs):
	New variables for values used for options of 'find-ls-option'.
	(find-ls-option): Use these variables for default values and options.
	(find-dired-refine-function): Refine :type.

	* lisp/progmodes/grep.el (grep-find-use-xargs): Use defcustom
	instead of defvar.  Add new value 'gnu-sort'.
	(grep-compute-defaults): Handle new 'gnu-sort' option of
	'grep-find-use-xargs'.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs and ancient Emacs compatibility from newst-backend.el

	* lisp/net/newst-backend.el: Remove compatibility with XEmacs and
	ancient Emacs versions.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string fix

	* lisp/calendar/timeclock.el (timeclock-completing-read): Fix doc
	string punctuation.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from timeclock.el

	* lisp/calendar/timeclock.el (timeclock-completing-read)
	(timeclock-ask-for-project, timeclock-ask-for-reason): Remove
	XEmacs compat code.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove more XEmacs compat code from epa.el

	* lisp/epa.el (epa-key-mode, epa-key-list-mode): Remove XEmacs
	compat code.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from calc

	* lisp/calc/calc.el (calc-read-key-sequence)
	(calcDigit-start, calc-read-key, calc-unread-command)
	(calc-clear-unread-commands):
	* lisp/calc/calc-misc.el (calc-dispatch-help):
	* lisp/calc/calc-help.el (calc-help-for-help)
	(calc-describe-key):
	* lisp/calc/calc-ext.el (calc-fancy-prefix, calc-user-key-map):
	Remove XEmacs compat code.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from savehist.el

	* lisp/savehist.el:
	(savehist-install, savehist-uninstall, savehist-save)
	(savehist-trim-history, savehist-printable)
	(savehist-minibuffer-hook): Remove XEmacs compat code.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from ps-print

	* lisp/ps-print.el:
	(ps-print-color-p, ps-postscript-code-directory, ps-setup):
	* lisp/ps-def.el:
	(ps-mark-active-p, ps-face-foreground-name)
	(ps-face-background-name, ps-color-device, ps-color-values)
	(ps-face-bold-p, ps-face-italic-p, ps-face-strikeout-p)
	(ps-face-overline-p, ps-face-box-p)
	(ps-generate-postscript-with-faces1): Remove XEmacs compat code
	and some outdated Emacs compat code.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from epa.el

	* lisp/epa.el (epa-key-list-mode, epa-key-mode)
	(epa--find-coding-system-for-mime-charset): Remove XEmacs compat
	code and comments.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from dframe.el

	* lisp/dframe.el (dframe-update-speed, dframe-update-keymap)
	(dframe-frame-mode, dframe-detach, dframe-set-timer-internal)
	(dframe-popup-kludge, dframe-mouse-event-p)
	(dframe-track-mouse, dframe-help-echo, dframe-mouse-set-point)
	(dframe-double-click, dframe-temp-buffer-show-function)
	(dframe-hack-buffer-menu, dframe-mouse-hscroll): Remove XEmacs
	compat code (and some ancient Emacs compat code).

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from ansi-color.el

	* lisp/ansi-color.el (ansi-color-apply-overlay-face)
	(ansi-color-make-face, ansi-color-make-extent)
	(ansi-color-set-extent-face): Remove XEmacs compat code.

2019-06-19  Alan Mackenzie  <acm@muc.de>

	Update CC Mode's version number to 5.34

	* doc/misc/cc-mode.texi (top level, "Introduction"),
	lisp/progmodes/cc-defs.el (c-version): Update version number to 5.34.

2019-06-19  Eli Zaretskii  <eliz@gnu.org>

	Update documentation of font backends on MS-Windows

	* doc/emacs/msdos.texi (Windows Fonts): Update the
	documentation of requesting specific font backends.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in previous erc.el change

	* lisp/erc/erc.el (erc-send-input): Fix typo in previous checkin.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Use add/remove-hook on erc-pre-send-functions

	* lisp/erc/erc-goodies.el (noncommands): Ditto.

	* lisp/erc/erc-ring.el (ring): Use add/remove-hook.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Move around defgeneric/defmethods in eieio

	* lisp/emacs-lisp/eieio.el (object-print):
	* lisp/emacs-lisp/eieio-base.el (eieio-object-set-name-string):
	Move the defgeneric before the defmethod, because that makes more
	sense.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous change to erc (where commands like /me wouldn't be sent)

	* lisp/erc/erc-ring.el (erc-add-to-input-ring):
	* lisp/erc/erc-goodies.el (erc-send-distinguish-noncommands): Pass
	in a erc-input structure instead of a simple string.
	* lisp/erc/erc.el (erc-pre-send-functions): Document the new
	argument to the filter functions.
	(erc-send-input): Use the new structure to allow the filter
	functions to alter all three things: The string, whether to insert
	the string, and whether to send the string.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't have erc-goodies and erc-ring register functions multiple times

	* lisp/erc/erc-goodies.el (noncommands): Don't register functions
	twice.

	* lisp/erc/erc-ring.el (ring): Ditto.

2019-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	(with-suppressed-warnings): Make it apply to macro-expansion as well

	* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
	Change with-suppressed-warnings so it also affects the macro-expansion of
	the body.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename function in completion.el to use completion- prefixes

	* lisp/completion.el (locate-completion-entry)
	(completion-locate-entry, locate-completion-entry-retry)
	(completion-locate-entry-retry, locate-completion-db-error):
	Rename to use a completion- prefix and make the old names obsolete
	aliases.
	(add-completion-to-head, delete-completion): Use the new function
	names.

2019-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/page-ext.el: Further cleanup

	(pages--ctl-x-ctl-p-map): Rename from ctl-x-ctl-p-map.
	Move initialization into declaration.
	(pages-ctl-x-ctl-p-prefix): Rename from ctl-x-ctl-p-prefix.
	(sort-subr): Remove redundant autoload.
	(pages-set-delimiter): Use explicit `interactively` arg instead of
	`called-interactively`.  Use `setq-local`.
	(pages-directory-for-addresses): Use `setq-local`.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in pcmpl-gnu.el

	* lisp/pcmpl-gnu.el (pcomplete/tar): Remove binding of
	pcomplete-suffix-list, because it's not consulted in any of the
	functions called here, and has had no effect since 2011.  If we
	want to support not inserting a space after the = sign, we have to
	implement that, but it's not currently done.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Fix one of the tags/xref warnings in viper-ex.el"

	This reverts commit 4f2f95049738be97df8647705a8fc05a029ed244.

	We can't mix calls to find-tag and xref-find-definitions

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up the function/variable names in page-ext.el

	* lisp/textmodes/page-ext.el (previous-page)
	(search-pages)
	(sort-pages-in-region)
	(sort-pages-buffer)
	(pages-sort-buffer)
	(pages-set-delimiter): Rename to have pages- prefixes and make the
	previous name into aliases for the new names.
	(ctl-x-ctl-p-map): Use the new command names.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Touch up the OKURI-NASI progress reporting

	* lisp/international/ja-dic-cnv.el (skkdic-convert-okuri-ari)
	(skkdic-convert-postfix, skkdic-convert-prefix)
	(skkdic-collect-okuri-nasi): Use INFO progress reporting.
	(skkdic-set-okuri-nasi): Use the progress reporter instead of a
	per-1000 output.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak progress reporting in finder-compile-keywords

	* lisp/finder.el (finder-compile-keywords): Use progress reporter
	to report the processing.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow specifying the expected number of shift/reduce conflicts

	* admin/grammars/grammar.wy: Add %expectedconflicts.

	* lisp/cedet/semantic/grammar-wy.el
	(semantic-grammar-wy--keyword-table): Ditto.

	* lisp/cedet/semantic/grammar.el
	(semantic-grammar-expected-conflicts): New function.
	(semantic-grammar-insert-defconst-with-eval): New function.
	(semantic-grammar-create-package): Output the number of expected
	shift/reduce conflicts.

	* lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts):
	Don't output the warning if the number of shift/reduce conflicts
	is expected.
	(wisent-expected-conflicts): Made obsolete.

2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak progress reporting in update-directory-autoloads

	* lisp/emacs-lisp/autoload.el (update-directory-autoloads): Use
	progress reporter so say what percentage the progress is at.

2019-06-19  Mattias Engdegård  <mattiase@acm.org>

	Compile any subsequence of `cond' clauses to switch (bug#36139)

	A single `cond' form can how be compiled to any number of switch ops,
	optionally interspersed with non-switch conditions.
	Previously, switch ops would only be used for whole `cond' forms
	containing no other tests.

	* lisp/emacs-lisp/bytecomp.el (byte-compile--cond-vars):
	Rename from `byte-compile-cond-vars'.
	(byte-compile--default-val): Remove.
	(byte-compile--cond-switch-prefix):
	Replace `byte-compile-cond-jump-table-info'; now also returns
	trailing non-switch clauses.
	(byte-compile-cond-jump-table): New arguments; no longer compiles
	the default case.
	(byte-compile-cond): Look for and compile switches at any place in the
	list of clauses.
	* test/lisp/emacs-lisp/bytecomp-tests.el (byte-opt-testsuite-arith-data):
	Add test expression.

2019-06-19  Mattias Engdegård  <mattiase@acm.org>

	Compile cond with heterogeneous tests into switch (bug#36139)

	Allow any mixture of `eq', `eql' and `equal', `memq', `memql' and
	`member' in a switch-like `cond' to be compiled into a single switch.

	* lisp/emacs-lisp/bytecomp.el (byte-compile--common-test): New.
	(byte-compile-cond-jump-table-info): Use most specific common test.
	* test/lisp/emacs-lisp/bytecomp-tests.el (byte-opt-testsuite-arith-data):
	Add test cases for multi-value clause cond forms.

2019-06-19  Mattias Engdegård  <mattiase@acm.org>

	Tighter pcase or-pattern member function selection (bug#36139)

	* lisp/emacs-lisp/pcase.el (pcase--u1):
	Use the most specific of `memq', `memql' and `member' in or-patterns
	with constant cases.  This improves performance and may help the byte-code
	compiler generate a switch.
	* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-member):
	Add mixed-type or-pattern test cases.

2019-06-19  Mattias Engdegård  <mattiase@acm.org>

	Compile list member functions in cond to switch (bug#36139)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
	Expand `memq', `memql' and `member' to their corresponding
	equality tests.
	(byte-compile-cond-jump-table): Cases now have multiple values.
	* lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1)
	(byte-optimize-lapcode): Don't assume switch hash tables to be injective.

2019-06-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix oversights of "support X core font driver on cairo" change

	* src/Makefile.in (FONT_OBJ): Fix comment for USE_CAIRO.
	* src/xfns.c (x_create_tip_frame) [USE_CAIRO]: Register xfont_driver.

2019-06-19  Paul Eggert  <eggert@cs.ucla.edu>

	--with-cairo is no longer experimental

	Suggested by YAMAMOTO Mitsuharu in:
	https://lists.gnu.org/r/emacs-devel/2019-06/msg00686.html
	* configure.ac: Do not say --with-cairo is experimental.
	* etc/NEWS: Say that --with-cairo is no longer experimental.

2019-06-18  Glenn Morris  <rgm@gnu.org>

	Disable lexical-binding in ediff

	Since it breaks the thing (bug#36157, bug#36281).
	* lisp/vc/ediff-diff.el, lisp/vc/ediff-help.el, lisp/vc/ediff-hook.el:
	* lisp/vc/ediff-init.el, lisp/vc/ediff-merg.el, lisp/vc/ediff-mult.el:
	* lisp/vc/ediff-ptch.el, lisp/vc/ediff-vers.el, lisp/vc/ediff-wind.el:
	* lisp/vc/ediff.el: Set lexical-binding to nil.

2019-06-18  Eli Zaretskii  <eliz@gnu.org>

	Fix the handling of font backend supersedence on MS-Windows

	* src/w32font.c (syms_of_w32font): Don't make the Uniscribe
	font backend "superseded" here, ...
	* src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
	... make it "superseded" here, only if the HarfBuzz DLL was
	successfully loaded.  This is because Emacs compiled with
	HarfBuzz support might run on a system without the DLL.
	* src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
	Register the HarfBuzz font backend only if it is available.

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Add a mechanism to specify expected shift/reduce .wy conflicts"

	This reverts commit f21ec24524c705e18674a2e9e4db37b11fa3ebab.

	*sigh*  Revert again because this created a bootstrap problem in a different part of the process.

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a mechanism to specify expected shift/reduce .wy conflicts

	* admin/grammars/python.wy: Set the expected number of
	shift/reduce conflicts to four.

	* lisp/cedet/semantic/grammar.el
	(semantic-grammar-expected-conflicts): New function.

	* lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts): Use
	it to suppress warnings about the expected number of shift/reduce
	conflicts.

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Add a mechanism to specify expected shift/reduce .wy conflicts"

	This reverts commit d715ae8788e16b22f7f68cb82b51a40ad95c78c2.

	This commit led to a build error, so revert for now.

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a mechanism to specify expected shift/reduce .wy conflicts

	* admin/grammars/python.wy: Set the expected number of
	shift/reduce conflicts to four.

	* lisp/cedet/semantic/grammar.el
	(semantic-grammar-expected-conflicts): New function.
	* lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts): Use
	it to suppress warnings about the expected number of shift/reduce
	conflicts.

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename symbols in ind-util.el to have indian- prefixes

	* lisp/language/ind-util.el (indian-ucs-to-is13194-regexp)
	(indian-ucs-to-iscii-region, indian-iscii-to-ucs-region): Rename
	unprefixed function to indian-*.

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Report progress during custom-make-dependencies instead of file count

	* lisp/cus-dep.el (custom-make-dependencies): Rewrite to use
	reporter to report progress instead of how many files we've
	processed.

	* lisp/emacs-lisp/byte-run.el (byte-compile-info-string): New function.
	(byte-compile-info-message): Use it.

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Make quail conversion output quieter

	* lisp/international/quail.el (quail-update-leim-list-file): Ditto.
	* lisp/international/titdic-cnv.el (tit-process-header)
	(tit-process-body, miscdic-convert, batch-titdic-convert): Reduce
	messaging.

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in bookmark.el

	* lisp/bookmark.el (bookmarks-already-loaded): Move obsolete alias
	definition to before its referent.

	In toplevel form:
	bookmark.el:279:1:Warning: Alias for `bookmark-bookmarks-timestamp' should be
	    declared before its referent

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Output progress reports when scanning for finder/custom

	* lisp/cus-dep.el (custom-make-dependencies): Ditto.

	* lisp/finder.el (finder-compile-keywords): Instead of outputting
	the directories being scanned, output progress reports on the
	number of files being scanned.  This makes the output more similar
	to the autoload scraping.

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Touch up the byte-compilation messaging in skkdic-set-okuri-nasi

	* lisp/international/ja-dic-cnv.el (skkdic-set-okuri-nasi): Use
	the "INFO" format for these informational messages, and be more
	explicit in saying what they're doing.

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Add types to some no-type tokes in js.wy

	* admin/grammars/js.wy: Add types to the FALSE, TRUE and QUERY tokens.

	Without the types, you'd get the warning

	*Warning* default value of <<no-type>> tokens changed to QUERY, was NULL_TOKEN
	*Warning* default value of <<no-type>> tokens changed to TRUE, was QUERY
	*Warning* default value of <<no-type>> tokens changed to FALSE, was TRUE

	I think this should be harmless, and it doesn't seem to break handling
	.js files.

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Comment out useless nonterminals from python.wy

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove nonterminals that semantic claims are useless

	* admin/grammars/js.wy (VariableStatement): Remove useless
	nonterminals.

	Debug output from wisent:

	Useless nonterminals:

	   StatementList
	   BlockExpand

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Silence spurious load message in latin-ltx.el

	* lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Silence
	the `load' because it's not very informative.

2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak implementation of byte-compile-info-message

	* lisp/emacs-lisp/byte-run.el (byte-compile-info-message): Clean
	up implementation.

2019-06-17  Roland Winkler  <winkler@gnu.org>

	* lisp/bookmark.el: Watch bookmark file.  Use lexical binding.

	(bookmark-watch-bookmark-file): New user variable.
	(bookmark-alist): Fix docstring.
	(bookmark-bookmarks-timestamp): Renamed from bookmarks-already-loaded.
	(bookmark-maybe-load-default-file, bookmark-save, bookmark-load):
	Use bookmark-bookmarks-timestamp.
	(bookmark-bmenu-mode-map): Define menu bar menu.
	(bookmark-show-annotation, bookmark-show-all-annotations):
	Make bookmarks buffer read-only.
	(bookmark-bmenu-save): Use call-interactively.

2019-06-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Support font driver supersession

	* src/font.c (font_update_drivers): If argument NEW_DRIVERS is t, then don't
	use superseded drivers.
	(syms_of_font) <Qfont_driver_superseded_by>: New DEFSYM.

	* src/ftfont.c (syms_of_ftfont) [HAVE_HARFBUZZ]:
	* src/ftcrfont.c (syms_of_ftcrfont) [HAVE_HARFBUZZ]:
	* src/w32font.c (syms_of_w32font) [HAVE_HARFBUZZ]:
	* src/xftfont.c (syms_of_xftfont) [HAVE_HARFBUZZ]: Make Harfbuzz variants
	supersede non-Harfbuzz ones.

	* src/w32fns.c (Fx_create_frame, w32_create_tip_frame): Remove font backend
	determination code.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Output progress messages when scraping autoloads during bootstrap

	* lisp/emacs-lisp/byte-run.el (byte-compile-info-message): New
	function to output informational messages during byte compilation.

	* lisp/emacs-lisp/autoload.el (update-directory-autoloads): Use it
	to report progress when scraping autoloads during bootstrap (which
	may take half a minute).

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Silence message in latin-ltx about the normal situation

	* lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Don't
	output the summary message unless there are conflicts.

2019-06-17  Paul Eggert  <eggert@cs.ucla.edu>

	* src/image.c (image_set_rotation): Do negation at compile-time.

2019-06-17  Alan Mackenzie  <acm@muc.de>

	Move defvars of c-doc-line-join-re + two others from cc-fonts.el to cc-mode.el

	This is because these variables are needed at runtime even when cc-fonts.el
	hasn't been loaded, as in XEmacs when font locking hasn't been enabled.

	* lisp/progmodes/cc-fonts.el (c-doc-line-join-re)
	(c-doc-bright-comment-start-re, c-doc-line-join-end-ch): Move definitions to
	cc-mode.el.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Compilation work-around for obsolete eieio-object-set-name-string

	* lisp/emacs-lisp/eieio-base.el (eieio-object-set-name-string):
	Move the generic definition of this method to here from eieio.el
	and place it after the cl-method definition.  This avoids a
	warning about it being obsolete when doing macro expansion.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Work around warning from macroexpanding obsolete method

	* lisp/emacs-lisp/eieio.el (object-print): Move method definition
	to before generic definition because the generic definition
	obsoletes the method, which will then output a warning from when
	macroexpanding.

2019-06-17  Alex Branham  <alex.branham@gmail.com>

	Avoid a flyspell error if point is at beginning of buffer

	* lisp/textmodes/flyspell.el (flyspell-generic-progmode-verify): Check
	if point is at the beginning of the buffer.  This prevents an error
	when e.g. 'flyspell-auto-correct-word' gets called with point at the
	beginning of the buffer.

	Bug#35967

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Declare unknown slots to silence the compiler

	* lisp/cedet/ede/config.el (classpath): Declare slot.
	(ede-java-classpath): Revert previous hack.

	* lisp/cedet/srecode/srt-mode.el (key): Declare slot.
	(srecode-macro-help): Revert previous hack.
	(srecode-parse-this-macro): Ditto.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Change the eieio-declare-slots function into a macro

	* lisp/emacs-lisp/eieio-core.el (eieio-declare-slots): Change into
	a compile-only macro.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	New function eieio-declare-slots

	* lisp/emacs-lisp/eieio-core.el (eieio-declare-slots): New
	function to suppress compiler warnings about unknown slots.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix use of obsolete constructor in semantic/complete.el

	* lisp/cedet/semantic/complete.el (make-instance): Use
	make-instance instead of the obsolete constructor method...  which
	didn't work, anyway.  The following would bug out

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning by having ede-target inherit from eieio-named

	* lisp/cedet/ede/base.el (ede-target): Inherit from eieio-named so
	that if you're customizing objects via eieio-object-value-get, you
	can set the name.

	* lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get): Don't
	use obsolete function `eieio-object-set-name-string'.

2019-06-17  Alan Mackenzie  <acm@muc.de>

	Remove the now unneeded c-font-lock-flush from CC Mode.

	* lisp/progmodes/cc-defs.el (c-font-lock-flush): Delete this macro.

	* lisp/progmodes/cc-engine.el (c-propertize-raw-string-opener): Delete the
	call to the macro.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make calc-macs.el lexical

	* lisp/calc/calc-macs.el: Enable lexical binding.  This fixes a
	build warning in calc.el (which is lexical).

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress warning in isearchb about iswitchb being obsolete

	* lisp/isearchb.el (obsolete): Suppress warning about package
	being obsolete.  Instead, this has been reported to the bug
	tracker, because it requires a rewrite of isearchb.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make do-after-load-evaluation check whether warnings are enabled.

	* lisp/subr.el (do-after-load-evaluation): Heed
	`byte-compile-warning-enabled-p', if defined.  This allows
	suppressing the warning about packages being obsolete.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress compilation warning in srt-mode

	* lisp/cedet/srecode/srt-mode.el (srecode-parse-this-macro): Check
	for the existence of `key' in the macro before using it, and
	suppress the warning.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress warning about out-of-tree Java class in cedet

	* lisp/cedet/ede/config.el (ede-java-classpath): Hack to suppress
	a compilation warning in glue code to out-of-tree code.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress warning about object-print in eieio.el

	* lisp/emacs-lisp/eieio.el (obsolete): Suppress warning about
	object-print being obsolete, because there are no in-tree
	definitions any more.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Add check for enabled warning before issuing

	* lisp/emacs-lisp/bytecomp.el (byte-compile-function-warn): Check
	whether we want the `obsolete' warning before issuing it.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress warning about object-print in eieio.el

	* lisp/emacs-lisp/eieio.el (cl-print-object): Suppress the warning
	about object-print being obsolete, since there are no in-tree
	methods like that any more.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make with-suppressed-warnings work in cl-defmethod

	* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Pass the symbol
	name on to `byte-compile-warning-enabled-p' to make
	with-suppressed-warnings work in cl-defmethods, too.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Rewrite object-print methods in cedet to be cl-print-object methods

	* lisp/cedet/semantic/db-el.el (object-print): Ditto.
	(object-print): Ditto.

	* lisp/cedet/semantic/db-global.el (object-print): Ditto.

	* lisp/cedet/semantic/db.el (object-print): Remove; unused.
	* lisp/cedet/semantic/db.el (semanticdb-debug-info): New method.
	(object-print): Rewritten to be cl-print-object.

	* lisp/emacs-lisp/eieio.el (eieio-object-name): Allow the EXTRA
	argument to be a list of strings.

2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Add doc strings to the -at-point commands in vc-git

	* lisp/vc/vc-git.el (vc-git-stash-delete-at-point)
	(vc-git-stash-show-at-point, vc-git-stash-apply-at-point)
	(vc-git-stash-pop-at-point): Add doc strings to these commands.

2019-06-16  Roland Winkler  <winkler@gnu.org>

	* lisp/find-dired.el (find-dired-refine-function): Fix defcustom.

2019-06-16  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Prevent the Gnus registry from being loaded twice at startup

	* lisp/gnus/gnus-registry.el (gnus-registry-load): Check if the
	  registry is already loaded, and don't load again unless new optional
	  FORCE argument is non-nil.
	  (gnus-registry-clear): New function to clear the registry, added as
	  a Gnus shutdown. Now that loading doesn't unilaterally reset the
	  registry, we need to make sure it is reloaded when Gnus is.

2019-06-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Avoid rounding error in image rotation

	* src/image.c (image_set_rotation): Halve translations as double values.

2019-06-16  Glenn Morris  <rgm@gnu.org>

	Tweak compilation mode used by byte-recompile-directory

	* lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-mode):
	Doc fix.
	(byte-recompile-directory): Use emacs-lisp-compilation-mode.

2019-06-16  Glenn Morris  <rgm@gnu.org>

	Disable filling of warnings in a bytecomp test

	* test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
	Disable filling rather than working around it.

2019-06-16  Glenn Morris  <rgm@gnu.org>

	Tweak how byte-compile-print-syms fills

	* lisp/emacs-lisp/bytecomp.el (byte-compile-print-syms):
	Use fill-column from the compile log buffer.

2019-06-16  Glenn Morris  <rgm@gnu.org>

	Don't hard-code the fill-column for display-warning

	* lisp/emacs-lisp/warnings.el (warning-fill-column): New variable.
	(display-warning): Use warning-fill-column.
	* doc/lispref/display.texi (Warning Variables):
	Mention warning-fill-column.

2019-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-generic.el (gv-setter): Move declaration.

	Move it to those places where we know gv has been loaded.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up the --no-print-directory changes in src/Makefile.in

	* src/Makefile.in (AM_V_NO_PD): New macro written by Andreas
	Schwab that can be either --no-print-directory or "".
	(%.elc): Use it instead if the if statement.

2019-06-16  Juanma Barranquero  <lekktu@gmail.com>

	Bump up max_specpdl_size to 1500.  (Bug#36216)

	* src/eval.c (init_eval_once): Set max_specpdl_size to 1500.
	* doc/lispref/variables.texi (Local Variables): Document it.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Add comment to eieio-opt about why we're requiring cl-extra

	* lisp/emacs-lisp/eieio-opt.el (cl-extra): Add comment about why
	we're not requiring cl-lib.

2019-06-16  Alan Third  <alan@idiocy.org>

	Revert "Simplify image transforms"

	This reverts commit cf3081d208814ea02fce33aac645abfc24f880a6.

2019-06-16  Alan Third  <alan@idiocy.org>

	Simplify image transforms

	* src/image.c: (image_set_rotation, image_set_size,
	image_set_transform): Combine into image_set_transform.
	(image_set_crop): Remove function.
	(lookup_image): Remove calls to removed functions and remove
	transform_matrix.
	* test/manual/image-transforms-tests.el (test-cropping): Remove
	function.
	(test-transforms): Remove reference to test-cropping.

2019-06-16  Alan Third  <alan@idiocy.org>

	Document image transforms

	* doc/lispref/display.texi (Image Descriptors): Document :crop and
	update :rotation.
	* src/image.c: Describe the image transform matrix layout.
	* test/manual/image-transforms-tests.el: New file.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning about gv-setter in cl-generic

	* lisp/emacs-lisp/cl-generic.el (gv-setter): Declare to avoid a
	compilation warning.

2019-06-16  Alan Mackenzie  <acm@muc.de>

	CC Mode: Remedy recent loss in performance

	* lisp/progmodes/cc-engine.el (c-back-over-member-initializers): call
	c-parse-state outside of the narrowing operation.

	* lisp/progmodes/cc-fonts.el (c-get-fontification-context)
	(c-font-lock-cut-off-declarators): Replace calls to c-determine-limit with
	crude position calculations for speed.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning i eieio-base

	* lisp/emacs-lisp/eieio-base.el (clone): Use eieio-object-class
	instead of obsolete function class-of.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in ede.el

	* lisp/cedet/ede/auto.el (ede-project-autoload): Inherit from
	eieio-named, because we want to set the object name...

	* lisp/cedet/ede.el (ede-new): ... which we do here, and fix the
	compilation warning about the obsolete
	eieio-object-set-name-string function.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Fix compilation warning in ede.el"

	This reverts commit 7bbb56bc430465a6807a8129a322c704c89e3eba.

	The commit led to a bootstrap error.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in ede.el

	* lisp/cedet/ede.el (ede-new): ... which we do here, and fix the
	compilation warning about the obsolete
	eieio-object-set-name-string function.

	* lisp/cedet/ede/auto.el (ede-project-autoload): Inherit from
	eieio-named, because we want to set the object name...

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove obsolete name arg from two constructors

	* lisp/cedet/semantic/grammar.el
	(semantic-analyze-current-context): Remove obsolete name arg.

	* lisp/cedet/srecode/insert.el (srecode--insert-into-buffer): Ditto.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Compilation fix for previous change to eieio-opt

	* lisp/emacs-lisp/eieio-opt.el (cl-extra): Require for
	cl--describe-class.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in eieio-opt

	* lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Don't
	use obsolete function eieio-help-class.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid "unknown slot" compilation warning in eieio-custom

	* lisp/emacs-lisp/eieio-custom.el
	(eieio-read-customization-group): Slot `name' may not exist in all
	classes, so protect against that (and avoid a compilation warning
	about it).

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid a compilation warning in srt-mode.el

	* lisp/cedet/srecode/srt-mode.el (srecode-macro-help): Add hack to
	avoid compilation warning about slot that has to exist at this
	point.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix one of the tags/xref warnings in viper-ex.el

	* lisp/emulation/viper-ex.el (ex-tag): Avoid a compilation warning
	about find-tag-other-window.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Declare function in esh-mode before #'-ing it

	* lisp/eshell/esh-mode.el (ansi-color-apply-text-property-face):
	Declare to avoid a compilation warning.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid obsolete function in reftex-global.el

	* lisp/textmodes/reftex-global.el (reftex-query-replace-document):
	Rewrite to use fileloop directly to avoid the obsolete function
	tags-query-replace.

2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Use fileloop directly in vc-dir to avoid obsolete function

	* lisp/vc/vc-dir.el (vc-dir-query-replace-regexp): Rewrite to use
	fileloop directly to avoid the obsolete function
	tags-query-replace.

2019-06-16  Alan Mackenzie  <acm@muc.de>

	Maintain c-syntax-table-hwm when changing syntax-table text properties

	* lisp/progmodes/cc-defs.el: (c-syntax-table-hwm): Move the defvar to here
	from cc-mode.el, since the variable is needed at compile time in
	c-emacs-features.
	(c-min-property-position): New macro.
	(c-put-char-property, c-clear-char-property, c-clear-char-properties)
	(c-clear-char-property-with-value-function)
	(c-clear-char-property-with-value-on-char-function)
	(c-put-char-properties-on-char): Adjust c-syntax-table-hwm appropriately when
	syntax-table text properties are changed.

	* lisp/progmodes/cc-engine.el (c-truncate-lit-pos-cache): Remove the now
	unneeded setting of c-syntax-table-hwm, and the unneeded declaration of
	c-syntax-table-hwm.

2019-06-16  Michael Albinus  <michael.albinus@gmx.de>

	Say how Tramp is packaged with Emacs

	* doc/misc/tramp.texi (Obtaining Tramp):
	Mention `customize-package-emacs-version-alist'.

2019-06-15  Dmitry Gutov  <dgutov@yandex.ru>

	Fix regressions in xref-find-definitions and ...-other-window

	* lisp/progmodes/xref.el:
	(xref--display-buffer-in-other-window)
	(xref--display-buffer-in-window): New functions.
	(xref--show-pos-in-buf): Use them (bug#33870)

2019-06-15  Stefan Kangas  <stefankangas@gmail.com>

	Add MESSAGE string to bookmark-errors (bug#23408)

	* lisp/bookmark.el (bookmark-errors): Add MESSAGE parameter string.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Always try to display tree-widget with images (Bug#36147)

	Checking the result of display-images-p doesn't make sense if the
	display capabilities when loading the file are different from the
	display used to actually look at the widget (which is easily possible
	now that Emacs supports both tty and graphic frames in the same
	instance).
	* lisp/tree-widget.el (tree-widget-image-enable): Default to t,
	always.  This still shows text on displays that can't show images.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Allow trailing whitespace in --eval argument (Bug#36219)

	* lisp/startup.el (command-line-1): Don't complain about trailing
	garbage if it's only space, tab, or newline characters.

2019-06-15  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/trampver.el (customize-package-emacs-version-alist):

	Adapt Tramp version integrated in Emacs 26.3.

2019-06-15  Philipp Stephani  <phst@google.com>

	* src/xfaces.c (dump_realized_face): Fix incorrect format string.

	* src/xfaces.c (dump_realized_face): Fix format specifier.

	* src/nsterm.m (ns_row_rect): Remove unused variable ‘f.’

2019-06-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	7a8f22b * test/lisp/url/url-file-tests.el (url-file): Use file:///, n...
	0c5f6c6 Fix doc of srecompile-compile-split-code (Bug#36200)

2019-06-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	6242324 * lisp/net/sieve-manage.el (sieve-manage-parse-capability): D...

2019-06-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	f53ce87 ; ChangeLog.3 update
	eca2677 Fix description of 'display-buffer-in-previous-window' again ...
	7be50cd Consistently use @minus{} for negative arguments

	# Conflicts:
	#	ChangeLog.3

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Update hash value in pdumper.c

	* src/pdumper.c (dump_fwd_buffer_obj) [CHECK_STRUCTS]: Update
	the hash in HASH_Lisp_Buffer_Objfwd.  (Bug#36225)

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Improve error message when dmpstruct.h needs to be updated

	* src/pdumper.c (dump_cons, dump_interval_tree, dump_string)
	(dump_marker, dump_overlay, dump_finalizer)
	(dump_bignum, dump_float, dump_fwd_int, dump_fwd_bool)
	(dump_fwd_obj, dump_fwd_buffer_obj, dump_fwd_kboard_obj)
	(dump_fwd, dump_blv, dump_symbol, dump_vectorlike_generic)
	(dump_hash_table, dump_buffer, dump_bool_vector, dump_subr)
	(dump_vectorlike, dump_object, dump_charset) [CHECK_STRUCTS]:
	Make the error message more specific where to find the comment
	to CHECK_STRUCTS.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Probably fix the `helper' argument in feedmail.el

	* lisp/mail/feedmail.el (feedmail-queue-send-edit-prompt-inner):
	Return the helper function (instead of the symbol `helper') so
	that the caller can actually call it.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in esh-cmd.el

	* lisp/eshell/esh-cmd.el (pcomplete--here): Declare function to
	avoid byte compilation warning, which is what erc-notify.el also
	does in a similar situation.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix build warning in srecode/srt-mode

	* lisp/cedet/srecode/srt-mode.el (srecode-inserter-prin-example):
	Declare and require before use.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Silence warnings about obsolete functions in obsolete/vip.el

	* lisp/obsolete/vip.el (ex-tag): Silence warnings about obsolete
	functions because this is an obsolete file.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress compilation warnings in obsolete/otodo-mode.el

	* lisp/obsolete/otodo-mode.el (lexical): Suppress warnings about
	non-prefixed variables because this file is obsolete.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Silence warning in obsolete/complete.el

	* lisp/obsolete/complete.el (PC-do-completion): Suppress warning
	about obsolete variable in obsolete function.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make obsolete function zip-lists work again

	* lisp/obsolete/cl-compat.el (zip-lists): Use cl-mapcan instead of
	mapcan; mapcan now takes only two parameters.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress compilation warning in supercite.el

	* lisp/mail/supercite.el (curline): Suppress warning about
	non-prefixed variable used by forms in the `sc-mail-glom-frame'
	variable.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress warning in mailheader.el

	* lisp/mail/mailheader.el (headers): Suppress warning about
	non-prefixed variable part of the advertised interface.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress warning about non-prefixed variable in mailalias.el

	* lisp/mail/mailalias.el (pattern): Suppress warning about
	non-prefixed variable used by `mail-complete-alist'.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix byte compilation warning in bindat.el

	* lisp/emacs-lisp/bindat.el (bindat--unpack-item): Avoid a byte
	compilation warning by using unibyte-string instead of concat +
	string-make-unibyte.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid printing entering/leaving messages in second stage bootstrap

	* src/Makefile.in (%.elc): Default to not printing the
	entering/leaving lines when compiling .el files in the second
	stage of bootstrapping Emacs.  V=1 will output them.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Also test unpacking

	Refactor for reuse

	New file to test bindat functions

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress warning about `entry' in calendar

	* lisp/calendar/cal-china.el (entry):
	* lisp/calendar/cal-hebrew.el (entry): Suppress warning about
	dynamically bound `entry', which has to be bound for
	diary-chinese-anniversary and diary-hebrew-birthday to work.
	These function can be used in the sexp part of users' diary files.

2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress warning about prefixless date variable in calendar

	* lisp/calendar/lunar.el (date):
	* lisp/calendar/cal-persia.el (date):
	* lisp/calendar/cal-mayan.el (date):
	* lisp/calendar/cal-julian.el (date):
	* lisp/calendar/cal-iso.el (date):
	* lisp/calendar/cal-islam.el (date):
	* lisp/calendar/cal-hebrew.el (date):
	* lisp/calendar/cal-french.el (date):
	* lisp/calendar/cal-coptic.el (date):
	* lisp/calendar/cal-china.el (date):
	* lisp/calendar/cal-bahai.el (date): Suppress warning about this
	prefix-less dynamic variable, because it's part of the documented
	calling convention used in the sexp part of users' diary files.

2019-06-15  Wilson Snyder  <wsnyder@wsnyder.org>

	Clean up verilog-mode.el documentation examples to match behavior.

	* lisp/progmodes/verilog-mode.el (verilog-auto, verilog-auto-arg)
	(verilog-auto-ascii-enum, verilog-auto-inout)
	(verilog-auto-inout-comp, verilog-auto-inout-in)
	(verilog-auto-inout-modport, verilog-auto-inout-module)
	(verilog-auto-inout-param, verilog-auto-input)
	(verilog-auto-insert-lisp, verilog-auto-inst)
	(verilog-auto-inst-param, verilog-auto-inst-param-value)
	(verilog-auto-output, verilog-auto-output-every, verilog-auto-reg)
	(verilog-auto-reg-input, verilog-auto-reset, verilog-auto-sense)
	(verilog-auto-tieoff, verilog-auto-undef, verilog-auto-unused)
	(verilog-auto-wire, verilog-inject-auto, verilog-read-sub-decls):
	Clean up documentation examples to match behavior.

2019-06-15  Michael Albinus  <michael.albinus@gmx.de>

	Make url-tramp more robust

	* lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
	(url-tramp-convert-tramp-to-url): Check, that obj is non-nil.

2019-06-15  Stefan Kangas  <stefankangas@gmail.com>

	Remove another variable obsolete since Emacs 22

	* lisp/progmodes/cc-langs.el: Remove obsolete variable
	c-opt-op-identitier-prefix.
	* etc/NEWS: Announce it.  (Bug#36173)

2019-06-15  Michael Albinus  <michael.albinus@gmx.de>

	Let tramp-archive unmount clean

	* lisp/net/tramp-archive.el (tramp-archive-cleanup-hash):
	Don't check for a proper method.

2019-06-15  Michael Albinus  <michael.albinus@gmx.de>

	Make Tramp compatible to recent progress-reporter-update

	* lisp/net/tramp-compat.el (tramp-compat-progress-reporter-update):
	New defalias.

	* lisp/net/tramp.el (tramp-progress-reporter-update): Add optional SUFFIX.

2019-06-15  Michael Albinus  <michael.albinus@gmx.de>

	Some changes in process output read of Tramp

	* lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
	Read pending output.

	* test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
	Use a timeout when reading process output.

2019-06-15  Michael Albinus  <michael.albinus@gmx.de>

	Tag remote autorevert tests as unstable

	* test/lisp/autorevert-tests.el (auto-revert--timeout):
	Derive value from `auto-revert-interval'.
	(auto-revert--deftest-remote): Tag it as `:unstable'.
	(auto-revert-test05-global-notify, auto-revert-test06-write-file):
	Suppress final newline.  Use `auto-revert--timeout'.

2019-06-15  Stefan Kangas  <stefankangas@gmail.com>

	Remove Lucid Emacs support from bookmark.el

	* lisp/bookmark.el: Remove Lucid Emacs support.
	(Bug#36179)

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of hash-code functions

	* src/fns.c (Fsxhash_eq, Fsxhash_eql, Fsxhash_equal):
	* doc/lispref/hash.texi (Defining Hash): Warn against assuming
	that sxhash returns consistent results.

2019-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* configure.ac: Lower required cairo version to 1.8.0.

2019-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Remove non-Xdbe double-buffering code on cairo

	* src/xterm.c (x_begin_cr_clip, x_update_end) [USE_CAIRO]: Don't do
	handcrafted double-buffering with image surface.

2019-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Rework x_scroll_run on cairo

	* src/xterm.c (x_scroll_run) [USE_CAIRO]: Use FRAME_CR_CONTEXT or surface type
	for conditions to call XCopyArea rather than FRAME_X_DOUBLE_BUFFERED_P.
	Set compositing operator to CAIRO_OPERATOR_SOURCE when copying image.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Silence okuri-nasi count-up messaging during compilation"

	This takes long enough on some systems that the messages are useful.

	This reverts commit 1d2e4d22c922f94d6f4b75a5ead18cbc679c5dfe.

2019-06-14  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem in remote file notification

	* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter)
	(tramp-sh-gvfs-monitor-dir-process-filter)
	(tramp-sh-inotifywait-process-filter): Do not kill the process.
	Let `file-notify-rm-watch' do the job.

	* test/lisp/filenotify-tests.el (file-notify-test03-events)
	(file-notify-test05-file-validity)
	(file-notify-test09-watched-file-in-watched-dir): Do not
	special-case remote files.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Silence okuri-nasi count-up messaging during compilation

	* lisp/international/ja-dic-cnv.el (skkdic-set-okuri-nasi): Remove
	messaging while compilation to make compilation more regular.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "srecode/srt-mode compilation fix"

	This led to a recursive require.

	This reverts commit 9fac0e70e3f5b7d0b12b77cac50078e01f68ee70.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix previous object-print/cl-print-object changes

	* lisp/cedet/srecode/insert.el
	(srecode-insert-variable-secondname-handler):
	* lisp/cedet/semantic/decorate/include.el
	(semantic-decoration-fileless-include-describe):
	(semantic-decoration-all-include-summary):
	* lisp/cedet/semantic/db-find.el (semanticdb-find-log-activity):
	* lisp/cedet/semantic/bovine/c.el
	(semantic-c-describe-environment):
	* lisp/cedet/semantic/analyze/debug.el
	(semantic-analyzer-debug-insert-include-summary): Fix previous
	object-print/cl-print-object changes that were nonsensical.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid using registerv-make in senator.el

	* lisp/cedet/semantic/senator.el (senator-register): New class.
	(register-val-jump-to, register-val-describe)
	(register-val-insert): New methods.
	(senator-copy-tag-to-register): Use this instead of the deprecated
	registerv-make function.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	analyze/debug compilation fix

	* lisp/cedet/semantic/analyze/debug.el (pulse): Require to avoid
	byte compilation warning.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	semantic/lex-spp compilation fix

	* lisp/cedet/semantic/lex-spp.el
	(semantic-lex-spp-analyzer-push-tokens-for-symbol): Use new name
	for `semantic-lex-spp-anlyzer-do-replace'.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Use cl-typep instead of obsolete predicate functions throughout cedet

	* lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
	(srecode-dictionary-add-entries):
	(srecode-compound-toString):
	(srecode-dump):
	* lisp/cedet/srecode/compile.el (srecode-dump-code-list):
	* lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
	* lisp/cedet/semantic/db-typecache.el (semanticdb-typecache-length):
	* lisp/cedet/semantic/db-ref.el (semanticdb-check-references):
	* lisp/cedet/semantic/db-find.el
	(semanticdb-find-incomplete-cache-entries-p):
	(semanticdb-find-translate-path-includes-default):
	(semanticdb-find-results-p):
	(semanticdb-find-result-with-nil-p):
	* lisp/cedet/semantic/analyze/complete.el
	(semantic-analyze-possible-completions): Use cl-typep instead of
	functions like `srecode-dictionary-compound-value-child-p' etc.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	srecode/srt-mode compilation fix

	* lisp/cedet/srecode/srt-mode.el (srecode/insert): Require to
	avoid compilation warning about unknown slot.  Remove function
	declarations that point to that file.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	srecode/find compilation fix

	* lisp/cedet/srecode/find.el (srecode/compile): Require to
	avoid compilation warning about unknown slot.  Remove function
	declarations that point to that file.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	srecode/dictionary compilation warning fix

	* lisp/cedet/srecode/dictionary.el (srecode/fields): Require to
	avoid compilation warning about unknown slot.  Remove function
	declarations that point to that file.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	srecode/dictionary compilation fix

	* lisp/cedet/srecode/ctxt.el (srecode/dictionary): Require to
	avoid compilation warning about unknown slot.  Remove function
	declarations that point to that file.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	srecode-inserter-prin-example compilation fix

	* lisp/cedet/srecode/insert.el (srecode-inserter-prin-example):
	Move prin1 example to file that defines the structure it prints.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Move functions from semantic.el to analyze.el to avoid warnings

	* lisp/cedet/semantic.el (semantic-analyze-completion-at-point-function)
	(semantic-analyze-notc-completion-at-point-function)
	(semantic-analyze-nolongprefix-completion-at-point-function): Add
	autoloads for the moved functions.

	* lisp/cedet/semantic/analyze.el
	(semantic-analyze-completion-at-point-function)
	(semantic-analyze-notc-completion-at-point-function)
	(semantic-analyze-nolongprefix-completion-at-point-function): Move
	here from semantic.el to avoid getting compilation warnings about
	unknown slot `bounds'.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust erc functions after previous erc-pre-send-function change

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Adjust erc functions after previous erc-pre-send-function change

	* lisp/erc/erc-goodies.el (noncommands): Use
	erc-pre-send-functions instead of the hook.
	(erc-send-distinguish-noncommands): Adjust function to new interface.

	* lisp/erc/erc-ring.el (ring): Ditto.
	(erc-add-to-input-ring): Ditto.

	* lisp/erc/erc.el (erc-send-this): Really make obsolete.
	(erc-pre-send-functions): Change to a list of functions to allow
	erc-goodies and erc-ring to work as before.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Unobsolete string-to-multibyte

	* lisp/subr.el: Un-obsolete string-to-multibyte, because it's a
	useful function.  string-to-unibyte has already been un-obsoleted.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Use CLOS-style accessors in oref/oset

	* lisp/cedet/srecode/texi.el (srecode-semantic-handle-:texitag):
	* lisp/cedet/srecode/table.el (srecode-mode-table-new):
	(srecode-dump):
	* lisp/cedet/srecode/srt-mode.el (srecode-parse-this-macro):
	(semantic-analyze-possible-completions):
	* lisp/cedet/srecode/semantic.el (srecode-compound-toString):
	(srecode-semantic-apply-tag-to-dict-default):
	* lisp/cedet/srecode/mode.el (srecode-minor-mode-templates-menu):
	(srecode-edit):
	* lisp/cedet/srecode/insert.el (srecode-insert-method):
	(srecode-inserter-apply-state):
	(srecode-insert-ask-default):
	(srecode-insert-method-ask):
	(srecode-insert-method-field):
	(srecode-insert-method-helper):
	(srecode-parse-input):
	(srecode-match-end):
	(srecode-insert-include-lookup):
	(srecode-insert-method):
	* lisp/cedet/srecode/find.el (srecode-template-table-in-project-p):
	(srecode-template-get-table):
	(srecode-template-get-table-for-binding):
	(srecode-all-template-hash):
	* lisp/cedet/srecode/extract.el (srecode-inserter-extract):
	(srecode-inserter-extract):
	* lisp/cedet/srecode/el.el (srecode-semantic-apply-tag-to-dict):
	* lisp/cedet/srecode/dictionary.el (initialize-instance):
	(srecode-dictionary-add-template-table):
	(srecode-compound-toString):
	* lisp/cedet/srecode/cpp.el (srecode-semantic-apply-tag-to-dict):
	* lisp/cedet/srecode/compile.el (srecode-compile-template-table):
	(srecode-dump):
	* lisp/cedet/srecode/args.el (srecode-semantic-handle-:project):
	* lisp/cedet/semantic/texi.el (semantic-analyze-possible-completions):
	* lisp/cedet/semantic/symref/list.el (semantic-symref-results-dump):
	(semantic-symref-list-create-macro-on-open-hit):
	(semantic-symref-list-rename-open-hits):
	(semantic-symref-list-map-open-hits):
	* lisp/cedet/semantic/symref/idutils.el
	(semantic-symref-perform-search):
	(semantic-symref-parse-tool-output-one-line):
	* lisp/cedet/semantic/symref/global.el (semantic-symref-perform-search):
	(semantic-symref-parse-tool-output-one-line):
	* lisp/cedet/semantic/symref/cscope.el (semantic-symref-perform-search):
	(semantic-symref-parse-tool-output-one-line):
	* lisp/cedet/semantic/mru-bookmark.el
	(semantic-mrub-ring-to-assoc-list):
	* lisp/cedet/semantic/grammar.el
	(semantic-analyze-possible-completions):
	* lisp/cedet/semantic/decorate/include.el
	(semantic-decoration-include-describe):
	* lisp/cedet/semantic/debug.el (semantic-debug-highlight-lexical-token):
	(semantic-debug-highlight-rule):
	* lisp/cedet/semantic/db-typecache.el
	(semanticdb-typecache-for-database):
	* lisp/cedet/semantic/complete.el
	(semantic-collector-calculate-completions-raw):
	* lisp/cedet/semantic/bovine/make.el
	(semantic-analyze-possible-completions):
	* lisp/cedet/semantic/analyze/refs.el (semantic-analyze-refs-impl):
	(semantic-analyze-refs-proto):
	* lisp/cedet/semantic/analyze/debug.el
	(semantic-analyzer-debug-describe-scope):
	* lisp/cedet/semantic/analyze.el (semantic-analyze-interesting-tag):
	(semantic-analyze-interesting-tag):
	(semantic-analyze-pulse):
	* lisp/cedet/ede/util.el (ede-update-version):
	* lisp/cedet/ede/shell.el (ede-shell-run-something):
	* lisp/cedet/ede/project-am.el (project-am-load-makefile):
	(project-rescan):
	(project-am-macro):
	(ede-buffer-mine):
	(project-compile-target-command):
	(project-am-package-info):
	* lisp/cedet/ede/files.el (ede--project-inode):
	(ede-directory-get-open-project):
	(ede-directory-get-toplevel-open-project):
	(ede-find-subproject-for-directory):
	(ede-toplevel-project):
	* lisp/cedet/ede/cpp-root.el (initialize-instance):
	(project-compile-project):
	(project-compile-target):
	* lisp/cedet/ede/config.el (ede-config-get-configuration):
	(project-debug-target):
	(project-run-target):
	(project-compile-project):
	(ede-preprocessor-map):
	(ede-java-classpath):
	* lisp/cedet/ede/base.el (ede-normalize-file/directory): Use
	CLOS-style oref/oset accessors instead of eieio-style :colon
	accessors.  This avoids compilation warnings and is allegedly
	faster.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Obsolete erc-send-pre-hook and add new erc-pre-send-function

	* lisp/erc/erc.el (erc-send-pre-hook): Make obsolete.
	(erc-send-input): Ditto.
	(erc-pre-send-function): New function.
	(erc-send-input): Use the new function, and silence byte
	compilation warning about the dynamic variable `str' used by the
	now-obsolete hook.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in rmailmm

	* lisp/mail/rmailmm.el (rmail-mime-insert-bulk): Remove apparently
	superfluous call to string-as-unibyte -- the buffer should be
	unibyte already at this point.

2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid compilation warning in byte-run

	* lisp/emacs-lisp/byte-run.el (macro-declaration-function): Avoid
	compilation warning by not using `symbol-function'.

2019-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el: Fix NNTP sending, broken by e51adfbdb7

	(message-check-news-header-syntax): `message--check-continuation-headers`
	signals an error instead of returning nil on error.

2019-06-13  Glenn Morris  <rgm@gnu.org>

	Stop a tramp test leaving a file behind

	* test/lisp/net/tramp-tests.el
	(tramp-test10-write-region-file-precious-flag):
	Avoid leaving a backup file after we are done.

2019-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/widget.el (define-widget-keywords): Use `declare`.

	* lisp/progmodes/ps-mode.el (ps-mode-octal-region): Simplify.

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in object-print cleanup

	* lisp/cedet/srecode/insert.el
	(srecode-insert-variable-secondname-handler): Fix typo in
	object-print cleanup.

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove outdated FIXME

	* lisp/emacs-lisp/eieio-core.el (eieio--slot-name-index): Remove
	comment about issuing a byte compilation warning about accessing
	slots via :initarg -- it was implemented a few months later.

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	semantic/senator.el byte compilation fix

	* lisp/cedet/semantic/senator.el (semantic/analyze): Require to
	avoid compilation warnings about unknown slots, and remove
	declare-function.

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	semantic/idle.el compilation warning fix

	* lisp/cedet/semantic/idle.el (semantic/analyze): Require to
	avoid compilation warnings about unknown slots, and remove
	declare-function.

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	semantic/grammar byte compilation fixes

	* lisp/cedet/semantic/grammar.el (semantic/analyze): Require to
	avoid compilation warnings about unknown slots, and remove
	declare-function.

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	semantic/chart.el compilation warning fixes

	* lisp/cedet/semantic/chart.el (semantic/db-typecache)
	(semantic/scope): Require to avoid byte compilation warnings about
	undefined slots.  Remove declare-functions from these packages.

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix some cedet compilation warnings pertaining to semantic/db

	* lisp/cedet/ede/config.el (semantic/db)
	(ede-preprocessor-map): Ditto.

	* lisp/cedet/ede/cpp-root.el (semantic/db): Ditto.

	* lisp/cedet/ede/emacs.el (semantic/db): Ditto.

	* lisp/cedet/ede/linux.el (semantic/db): Require to avoid warnings
	about unknown slot lexical-table, and remove declare-functions
	from the now-required semantic/db.

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	project.el compilation warning fix

	* lisp/progmodes/project.el (xref--regexp-to-extended)
	(xref--convert-hits): Declare more xref functions to avoid
	compilation warnings.

2019-06-13  Alan Mackenzie  <acm@muc.de>

	Depessimize bits of CC Mode for long C macros.

	* lisp/progmodes/cc-engine.el (c-end-of-macro): Check for being in a
	degenerate zero length "macro", when setting the macro cache.
	(c-determine-+ve-limit): Add in a missing goto-char form for when start-pos is
	non-nil.
	(c-back-over-member-initializers): Add a search limit parameter.

	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add a search limit
	to c-go-up-list-backward.
	(c-font-lock-cut-off-declarators): Add a search limit to
	c-back-over-member-initializers.

	* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Don't
	set c-new-END to the end of logical line (which might be a long macro).
	(c-after-change-mark-abnormal-strings): Calculate end-hwm in place of the
	setting of c-new-END (above).  Use this as a search limit rather than
	c-new-END.

2019-06-13  Stefan Kangas  <stefankangas@gmail.com>

	Remove XEmacs support from bookmark.el

	* lisp/bookmark.el (bookmark-store): Remove XEmacs compat code
	(bug#36189).

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Use cl-print-object instead of object-print throughout cedet

	* lisp/cedet/semantic/db-find.el (semanticdb-find-log-activity):
	Ditto.

	* lisp/cedet/semantic/analyze/debug.el
	(semantic-analyzer-debug-insert-include-summary): Ditto.

	* lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment)
	(semantic-c-describe-environment)
	(semantic-c-describe-environment): Ditto.

	* lisp/cedet/semantic/decorate/include.el
	(semantic-decoration-fileless-include-describe): Ditto.
	(semantic-decoration-all-include-summary): Ditto.

	* lisp/cedet/srecode/insert.el
	(srecode-insert-variable-secondname-handler): Use cl-print-object
	instead of object-print.

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	erc-dcc.el minor clean-ups

	* lisp/erc/erc-dcc.el: Remove outdated comments.
	(erc-dcc-get-file): Remove XEmacs compat code.

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix erc-dcc server-close code and fix compilation warning

	* lisp/erc/erc-dcc.el (erc-dcc-get-filter): We receive unibyte
	data, so no need to convert to unibyte.
	(erc-dcc-send-filter): Kill the process before killing the buffer
	so that we're not queried about killing the process.

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make erc-dcc-server work again by making synchronous

	* lisp/erc/erc-dcc.el (erc-dcc-server): :server and :nowait can't
	be mixed, so remove the :nowait.

2019-06-13  Pip Cet  <pipcet@gmail.com>

	Escape newlines when printing functions in timer list

	* lisp/emacs-lisp/timer-list.el (list-timers): Bind
	`print-escape-newlines' to avoid newlines in printed
	representation (bug#36187).

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Compilation fix for previous change

2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Compilation warning fix for disass.el

	* lisp/emacs-lisp/disass.el (disassemble-1): Remove a
	string-as-unibyte that probably doesn't do anything, because the
	string in question should be unibyte anyway.  If the assert fails,
	revert the patch.

2019-06-13  Alan Mackenzie  <acm@muc.de>

	CC Mode: replace an erroneous re-search-forward with search-forward

	Move two declarations to a more suitable point in the cc-engine.el.

	* lisp/progmodes/cc-engine.el (c-after-change-unmark-raw-strings): Change an
	re-search-forward to search-forward.
	(c-semi-lit-near-cache, c-semi-near-cache-limit): Move the declarations.

2019-06-13  Eli Zaretskii  <eliz@gnu.org>

	Fix display of Hebrew text with precomposed characters

	* lisp/language/hebrew.el (base): Include precomposed
	Hebrew characters from the Alphabetic Presentation Forms in
	the composition patterns.  (Bug#36171)

2019-06-13  Eli Zaretskii  <eliz@gnu.org>

	Fix text shaping of precomposed characters with HarfBuzz

	* src/hbfont.c (hbfont_shape): Fix setting TO of lglyph for
	the case when Lisp shape-gstring function performed some
	compositions by itself.  This happens with hebrew.el.  See
	https://lists.freedesktop.org/archives/harfbuzz/2019-June/007396.html
	for the details of the problem this solves.

2019-06-13  Alan Mackenzie  <acm@muc.de>

	Move declaration of c-syntax-table-hwm to avoid compiler warnings.

	This variable was declared after an invocation of a defsubst which used it,
	the defsubst being in another file.

	* lisp/progmodes/cc-mode.el (c-syntax-table-hwm): Move the declaration to earlier
	in the file.

2019-06-12  Glenn Morris  <rgm@gnu.org>

	Allow for line breaks in a bytecomp test

	* test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
	Warnings from the byte compiler may be filled.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid string-make-multibyte in ps-mode.el

	* lisp/progmodes/ps-mode.el (ps-mode-octal-region): Avoid usage of
	string-make-multibyte, but work in both unibyte and multibyte buffers.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more ps-mode octal tests

	* test/lisp/progmodes/ps-mode-tests.el
	(ps-mode-test-octal-region-multibyte): New test.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert previous ps-mode.el change

	* lisp/progmodes/ps-mode.el (ps-mode-octal-region): Revert
	previous change because the `string-make-unibyte' insertion was
	the previous single change (in 2013) to this file, so it must have
	some subtle meaning or other.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add ps-mode-tests.el and remove a compilation warning

	* lisp/progmodes/ps-mode.el (ps-mode-octal-region): Remove a
	string-make-unibyte that apparently had no effect here.
	* test/lisp/progmodes/ps-mode-tests.el: New file.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress warnings in tildify.el

	* lisp/textmodes/tildify.el (tildify--deprecated-ignore-evironments):
	(tildify-tildify, tildify-mode): Suppress warnings about obsolete
	internal function `tildify--pick-alist-entry'.  Apparently these
	semi-deprecated functions rely on each other.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add comment to clarify the use of `str'

2019-06-12  Glenn Morris  <rgm@gnu.org>

	Revert "Compilation warning fix for byte-run.el"

	* lisp/emacs-lisp/byte-run.el (macro-declaration-function):
	Revert change that causes a bootstrap failure.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warnings in rfc2104

	* lisp/net/rfc2104.el (rfc2104-hash): Remove superfluous calls to
	string-make-unibyte and avoid two compilation warnings.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	New file rfc2104-tests.el

	* test/lisp/net/rfc2104-tests.el: New file to test rfc2104 hashes.

2019-06-12  Glenn Morris  <rgm@gnu.org>

	Give more information in a bytecomp test failure

	* test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
	More informative failure messages.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in qp.el

	* lisp/mail/qp.el (quoted-printable-encode-region): No need to
	convert the regexp to multibyte before searching.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix warning about obsolete func calling obsolete func in etags.el

	* lisp/progmodes/etags.el (find-tag-other-frame): Don't give a
	warning about an obsolete function calling another obsolete function.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Compilation warning fix in feedmail.el

	* lisp/mail/feedmail.el (feedmail-scroll-buffer): Remove XEmacs
	compat code (that gave a compilation warning).

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from mml.el that gave a compilation warning

	* lisp/gnus/mml.el (mml-mode): Remove XEmacs compat code

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	message.el byte compilation warning fix

	* lisp/gnus/message.el (message-inhibit-body-encoding): Move
	earlier to avoid compilation warning.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Compilation warning fix for byte-run.el

	* lisp/emacs-lisp/byte-run.el (macro-declaration-function):
	Suppress warning about obsolete function used by obsolete variable.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	todo-mode.el compilation warning fix

	* lisp/calendar/todo-mode.el (hl-line-highlight): Declare to avoid
	compilation warning.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Touch ups to the XEmacs deletion patch for idlw-shell.el

	* lisp/progmodes/idlw-shell.el (idlwave-xemacs-hack-mouse-track):
	Fix up previous obsoletion.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs support from idlw-shell.el

	* lisp/progmodes/idlw-shell.el (idlwave-shell-make-temp-file)
	(idlwave-shell-mouse-examine)
	(idlwave-xemacs-hack-mouse-track, idlwave-display-buffer)
	(idlwave-shell-debug-line-map)
	(idlwave-shell-make-new-bp-overlay, idlwave-shell-mode-map):
	Remove XEmacs support.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs support from ido.el

	* lisp/ido.el (ido-active, ido-completion-help)
	(ido-minibuffer-setup): Remove XEmacs support.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code for XEmacs and pre-Emacs 20 Emacs in pcomplete.el

	* lisp/pcomplete.el (pcomplete-event-matches-key-specifier-p)
	(pcomplete-read-event, pcomplete-show-completions): Remove XEmacs
	support and mark now-trivial defaliases as obsolete.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs support from dig.el

	* lisp/net/dig.el (dig-mode): Remove XEmacs support.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs support from goto-addr.el

	* lisp/net/goto-addr.el (goto-address-highlight-keymap): Remove
	XEmacs support.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs support from dns.el

	* lisp/net/dns.el (dns-read-string-name, dns-write, dns-read)
	(dns-make-network-process, dns-query): Remove XEmacs support.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from tempo.el

	* lisp/tempo.el (tempo-insert-template): Remove XEmacs compat code.

2019-06-12  Alan Mackenzie  <acm@muc.de>

	CC Mode: Add a workaround for syntax-ppss ignoring syntax-table prop changes

	* lisp/progmodes/cc-engine.el (c-truncate-lit-pos-cache): Maintain the new
	variable c-syntax-table-hwm after buffer changes.

	* lisp/progmodes/cc-mode.el (c-syntax-table-hwm): New variable.
	(c-before-change): Set c-syntax-table-hwm to "infinity".
	(c-after-change): Call syntax-ppss-flush-cache, just before a font locking is
	due to take place.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore image scaling support when there's no native image scaling

	* lisp/net/shr.el (shr--image-type): New function.
	(shr-rescale-image): Use it to allow image scaling on Emacsen with
	ImageMagick support that does not have native image scaling support.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Rewrite the kmacro register function to avoid using obsolete functions

	* lisp/kmacro.el (kmacro-register): New struct to replace the
	general registerv struct.
	(register-val-jump-to, register-val-describe)
	(register-val-insert): New methods to implement the register
	interface.
	(kmacro-to-register): Use the kmacro-register struct.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	(beginning-of-defun-raw): Suppress warning about syntax-begin-function

	* lisp/emacs-lisp/lisp.el (beginning-of-defun-raw):
	font-lock-compile-keywords also suppresses warnings about the
	obsolete syntax-begin-function variable, so suppress the only
	other use not in syntax.el.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress warning about pi not having a prefix

	* lisp/emacs-lisp/float-sup.el (pi): Suppress warning about this
	obsolete variable not having a prefix.

2019-06-12  Richard Copley  <rcopley@gmail.com>

	* doc/lispref/text.texi (Base 64): Fix typos.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress warning about obsolete function custom-show

	* lisp/cus-edit.el (custom-variable-value-create): Suppress
	warning about obsolete function custom-show.  The widget this
	supports has been obsolete since Emacs 24, but we should perhaps
	be very conservative about removing widget types, so suppress the
	warning instead of removing the widget type.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress warning in display-completion-list about itself

	* lisp/minibuffer.el (display-completion-list):
	`display-completion-list' calls itself with the old, obsolete
	callargs, so suppress this warning.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Suppress interactive-only warnings in epa*.el

	* lisp/epa-mail.el (epa-mail-decrypt, epa-mail-verify)
	(epa-mail-sign, epa-mail-encrypt): Ditto.

	* lisp/epa.el (epa-verify-cleartext-in-region): Suppress warnings
	about calling interactive-only functions, because these are
	interactive-only thin wrappers around those functions.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	ehelp.el: Suppress warning

	* lisp/ehelp.el (electric-help-execute-extended): Suppress warning
	about `execute-extended-command' only being interactive, because
	we're still using it interactively, but via a wrapper.

2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Add the new macro with-suppressed-warnings

	* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): New macro.

	* doc/lispref/compile.texi (Compiler Errors): Document
	with-suppressed-warnings and deemphasise with-no-warnings
	slightly.

	* lisp/emacs-lisp/bytecomp.el (byte-compile--suppressed-warnings):
	New internal variable.
	(byte-compile-warning-enabled-p): Heed
	byte-compile--suppressed-warnings, bound via with-suppressed-warnings.
	(byte-compile-initial-macro-environment): Provide a macro
	expansion of with-suppressed-warnings.
	(byte-compile-file-form-with-suppressed-warnings): New byte hunk
	handler for the suppressed symbol machinery.
	(byte-compile-suppressed-warnings): Ditto for the byteop.
	(byte-compile-file-form-defmumble): Ditto.
	(byte-compile-form, byte-compile-normal-call)
	(byte-compile-normal-call, byte-compile-variable-ref)
	(byte-compile-set-default, byte-compile-variable-set)
	(byte-compile-function-form, byte-compile-set-default)
	(byte-compile-warn-obsolete, byte-compile--declare-var): Pass the
	symbol being warned in to byte-compile-warning-enabled-p.

	* test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression): New
	function.
	(bytecomp-test--with-suppressed-warnings): Tests.

2019-06-11  Roland Winkler  <winkler@gnu.org>

	Fix to previous commit

	* lisp/find-dired.el (find-dired-sentinel): Check whether
	find-dired-refine-function is non-nil.

2019-06-11  Roland Winkler  <winkler@gnu.org>

	Allow refining the *Find* buffer of find-dired. (Bug#29513)

	* lisp/find-dired.el (find-dired-refine-function): New user variable.
	(find-dired-sentinel): Use it.  Simplify.
	(find-dired-sort-by-filename): New function.

2019-06-11  Mattias Engdegård  <mattiase@acm.org>

	Keep auto-revert-mode working when changing buffer file name (bug#36159)

	* lisp/autorevert.el (after-set-visited-file-name-hook):
	Add unconditionally.
	(global-auto-revert-mode): Don't use
	`after-set-visited-file-name-hook' here.
	(auto-revert-set-visited-file-name): Rename from
	`auto-revert--global-set-visited-file-name' and generalize.
	* test/lisp/autorevert-tests.el (auto-revert-test06-write-file): New.

2019-06-11  Michael Albinus  <michael.albinus@gmx.de>

	Minor fixes on tramp-tests.el for w32

	* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
	Ignore absence of tput.
	(tramp-test43-asynchronous-requests): Don't start watchdog on w32.

2019-06-11  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	5ca093d (origin/emacs-26) Fix doc of 'display-buffer-in-previous-wind...
	add2cac lisp/*.el: Minor docstring fixes

2019-06-11  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	758e9a8 Revert "Don't mark main_thread (Bug#36155)"
	1877b7b Don't mark main_thread (Bug#36155)
	4904fb3 More quotation fixes (Bug#35885)
	4cc4b5d ; * src/keyboard.c (tool_bar_items): Fix a typo.  (Bug#36143)
	b58ecaf Minor copyedits in efaq-w32
	48422af Tiny improvement of documentation of major mode conventions
	25d44d2 * nt/addpm.c (main): Fix buffer overflow

2019-06-11  Pip Cet  <pipcet@gmail.com>

	Fix list-processes typo with thread-name

	* lisp/simple.el (list-processes--refresh):
	Don’t assume thread-name succeeds (Bug#36163).

2019-06-11  Eli Zaretskii  <eliz@gnu.org>

	Fix shaping of Arabic test when the region is extended

	* src/xdisp.c (compute_stop_pos): Set the limit for searching
	for changes in text properties such that the limit is never in
	the middle of composable text.  (Bug#28312)

2019-06-11  Philipp Stephani  <phst@google.com>

	Add missing indentation declaration to a few macros.

	* lisp/window.el (with-temp-buffer-window)
	(with-current-buffer-window, with-displayed-buffer-window):
	Add missing indentation declaration

2019-06-11  Pip Cet  <pipcet@gmail.com>

	Fix mouse cursor movement in 'select-frame-set-input-focus' (Bug#36165)

	* lisp/frame.el (select-frame-set-input-focus): With
	'mouse-autoselect-window' use 'set-mouse-pixel-position' to
	avoid selecting another window manager window (Bug#36165).

2019-06-10  Noam Postavsky  <npostavs@gmail.com>

	Don't keep warning about unescaped literals (Bug#36068)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Restore lost
	let-binding of lread--unescaped-character-literals, so that unescaped
	literals warning will only apply to the form just read.
	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests--unescaped-char-literals): Expand test to check that
	we don't keep warning about old unescaped literals.

2019-06-10  Michael Albinus  <michael.albinus@gmx.de>

	Make tramp-test43-asynchronous-requests working, again

	* test/lisp/net/tramp-tests.el (tramp-list-tramp-buffers):
	Declare `tramp-list-tramp-buffers'.
	(tramp--test-ignore-make-symbolic-link-error)
	(tramp--test-ignore-add-name-to-file-error): Improve declaration.
	(tramp--test-with-proper-process-name-and-buffer): New macro.
	(tramp-test43-asynchronous-requests): Use the macro for timer,
	process filter and process sentinel.  Comment the remote file
	operation in the timer.  Remove further async events.  Accept
	output from all processes.

2019-06-10  Michael Albinus  <michael.albinus@gmx.de>

	Fix quoting problem in Tramp on w32 systems

	* lisp/net/tramp-adb.el (tramp-adb-connection-local-default-profile):
	* lisp/net/tramp-integration.el (tramp-connection-local-default-profile):
	Revert patch from 2019-05-24.  It is fixed differently.

	* lisp/net/tramp.el (tramp-encoding-shell):
	(tramp-encoding-command-switch)
	(tramp-encoding-command-interactive, )
	(tramp-unquote-shell-quote-argument): Suppress `shell-file-name'.
	(tramp-set-file-uid-gid):
	* lisp/net/tramp-sh.el (tramp-find-inline-compress)
	(tramp-make-copy-program-file-name):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
	Use `tramp-unquote-shell-quote-argument'.

2019-06-10  Mattias Engdegård  <mattiase@acm.org>

	Fix copy-paste error in autorevert-test

	* test/lisp/autorevert-tests.el: Use correct name to define a remote test.

2019-06-09  Juanma Barranquero  <lekktu@gmail.com>

	* src/editfns.c (Fngettext): Fix typos in docstring.

2019-06-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Avoid empty menu bar on Xaw with cairo

	* lwlib/lwlib-utils.c (crxft_font_open_name) [USE_CAIRO]: Return NULL if
	font extents are bogus.

2019-06-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Document exporting/printing text with X core fonts to outline images on cairo

	* src/xfns.c (Fx_export_frames) [USE_CAIRO]:
	(Fx_print_frames_dialog) [USE_CAIRO && USE_GTK]: Add notes on x font backend.

2019-06-09  Dmitry Gutov  <dgutov@yandex.ru>

	Omit the misplaced and unnecessary shyness qualifier

	* lisp/progmodes/ruby-mode.el (ruby-find-library-file):
	Omit the misplaced and unnecessary shyness qualifier.
	Suggested by Mattias Engdegård <mattiase@acm.org>.

2019-06-09  Dmitry Gutov  <dgutov@yandex.ru>

	Unbreak saving xref--original-window, etc

	* lisp/progmodes/xref.el (xref--show-xref-buffer)
	(xref--show-defs-buffer-at-bottom): Move major mode calls earlier.
	So that local variable values are not lost.

2019-06-09  Stefan Kangas  <stefankangas@gmail.com>

	Add tests for mail/uudecode.el

	* lisp/mail/uudecode.el: Remove redundant :group usage.
	* test/lisp/mail/uudecode-resources/uudecoded.txt,
	test/lisp/mail/uudecode-resources/uuencoded.txt,
	test/lisp/mail/uudecode-tests.el: New files.

2019-06-09  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fig grammar of count-lines-page

	* lisp/textmodes/page.el (count-lines-page):
	Say "Page has 1 line", not "Page has 1 lines" (Bug#35981).

2019-06-09  Stefan Kangas  <stefankangas@gmail.com>

	Make bookmark-old-default-file variable obsolete

	* lisp/bookmark.el (bookmark-old-default-file):
	Redefine as obsolete variable alias for 'bookmark-default-file'.
	(bookmark-maybe-load-default-file): Don't try to rename file
	'bookmark-old-default-file' (~/.emacs-bkmrks) to new name (Bug#35940).

2019-06-09  Stefan Kangas  <stefankangas@gmail.com>

	Make bookmark-maybe-message obsolete (Bug#35918)

	* lisp/bookmark.el (bookmark-maybe-message):
	Redefine as obsolete function alias for 'message'.
	(bookmark-write-file): Use a progress reporter.
	(bookmark-load-file): Use a progress reporter.

2019-06-09  Stefan Kangas  <stefankangas@gmail.com>

	Make `bookmark-file' variable obsolete

	* lisp/bookmark.el (bookmark-file): Redefine as obsolete variable
	alias for `bookmark-default-file'.  (Bug#35917)

2019-06-09  Glenn Morris  <rgm@gnu.org>

	* make-dist: Doc fix for --help re --snapshot (since 201612 change).

2019-06-09  Stefan Kangas  <stefankangas@gmail.com>

	Remove interactive spec from bookmark-set-internal (bug#36121)

	* lisp/bookmark.el (bookmark-set-internal): Remove interactive spec.

2019-06-09  Stefan Kangas  <stefankangas@gmail.com>

	Pacify compiler in paragraphs.el after lexical-binding

	* lisp/textmodes/paragraphs.el: Pacify byte compiler.

2019-06-09  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in password-cache.el and add tests

	* lisp/password-cache.el: Use lexical-binding.
	* test/lisp/password-cache-tests.el: New file.

2019-06-09  Paul Eggert  <eggert@cs.ucla.edu>

	* src/fns.c (cmpfn_eql): Simplify.

2019-06-09  Alex Branham  <alex.branham@gmail.com>

	Use lexical binding for ediff

	* lisp/vc/ediff-diff.el:
	* lisp/vc/ediff-help.el:
	* lisp/vc/ediff-hook.el:
	* lisp/vc/ediff-init.el:
	* lisp/vc/ediff-merg.el:
	* lisp/vc/ediff-vers.el:
	* lisp/vc/ediff-wind.el:
	* lisp/vc/ediff-mult.el:
	* lisp/vc/ediff-ptch.el:
	* lisp/vc/ediff.el: Use lexical binding.
	(ediff-version): Increase.
	(ediff-date): Remove.

2019-06-09  Dmitry Gutov  <dgutov@yandex.ru>

	Rename xref--pop-to-location to xref-pop-to-location

	* lisp/progmodes/xref.el (xref-pop-to-location):
	Rename from xref-pop-to-location.  So that third-party
	xref-show-definitions-function implementations can use it safely
	(bug#36144).  Update all callers.

2019-06-09  Dmitry Gutov  <dgutov@yandex.ru>

	Add a built-in alternative for xref-show-definitions-function

	* lisp/progmodes/xref.el (xref--transient-buffer-mode-map):
	New variable.
	(xref--transient-buffer-mode): New major mode.
	(xref--button-map): Remove the RET binding (it was unnecessary in
	the first place).
	(xref--show-common-initialize):
	Extract from xref--show-xref-buffer.
	(xref--show-defs-buffer-at-bottom): New function.

2019-06-09  Stefan Kangas  <stefankangas@gmail.com>

	Fix TODO to convert defvar with leading '*' to defcustom

	* etc/TODO: Remove done TODO to remove '*' from defvar.
	* doc/misc/gnus.texi: Remove leading '*' from defvar example.
	* lisp/kermit.el (kermit-esc-char): Convert to defcustom.
	* lisp/desktop.el (desktop-header):
	* lisp/obsolete/cc-compat.el (c-indent-level)
	(c-brace-imaginary-offset, c-brace-offset, c-argdecl-indent)
	(c-label-offset, c-continued-statement-offset)
	(c-continued-brace-offset): Remove leading '*' from docstring.
	* lisp/progmodes/dcl-mode.el: Remove leading '*' from docstring in
	comment.
	* test/manual/cedet/tests/test.el: Add comment asking if example of
	defvar with leading '*' should be removed.
	(Bug#35994)  (The previous commit is also for the same bug.)

2019-06-09  Stefan Kangas  <stefankangas@gmail.com>

	Fix TODO to remove leading '*' from defcustom

	* etc/TODO: Remove done TODO to remove leading '*' from defcustom
	doc-strings.
	* lisp/ibuffer.el (ibuffer-inline-columns): Remove leading '*' from
	doc-string.

2019-06-08  Stefan Kangas  <stefankangas@gmail.com>

	Mark define-widget-keywords as obsolete

	* lisp/widget.el (define-widget-keywords): Mark as obsolete.
	(Bug#36065)

2019-06-08  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in underline.el and add tests

	* lisp/textmodes/underline.el: Use lexical-binding.
	* test/lisp/textmodes/underline-tests.el: New file.
	(Bug#36063)

2019-06-08  Stefan Kangas  <stefankangas@gmail.com>

	Checkdoc fixes in lisp/bookmark.el

	* lisp/bookmark.el (bookmark-bmenu-inline-header-height)
	(bookmark-bmenu-marks-width, bookmark-map, bookmark-quit-flag)
	(bookmark-name-from-full-record, bookmark-set-internal)
	(bookmark-insert-annotation, bookmark--jump-via)
	(bookmark-bmenu-set-header, bookmark-show-annotation)
	(bookmark-bmenu-other-window-with-mouse, bookmark-bmenu-relocate):
	Checkdoc docstring fixes.  (Bug#35916)

2019-06-08  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix int overflow bug in ‘equal’

	* src/fns.c (internal_equal):
	Fix bug when vector lengths exceed INT_MAX.

2019-06-08  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Tune base64 decoding

	This improves performance of base64-decode-region by about 7.5% on
	my platform, and gets rid of some macros.
	* src/fns.c (IS_ASCII, IS_BASE64, IS_BASE64_IGNORABLE)
	(READ_QUADRUPLET_BYTE): Remove.
	(base64_value_to_char, base64_char_to_value):
	Now an array of two arrays.  All uses changed.
	(base64url_value_to_char, base64url_char_to_value):
	Remove.  All uses changed to the other array.
	(base64_char_to_value): Entries are now of type signed char, not
	short, since we can assume C99.  Use C99 initializers; this is
	clearer and caters to the (theoretical) possibility of systems
	that do not use ASCII or do not have 8-bit bytes.  Allow any index
	in the range 0..UCHAR_MAX instead of limiting it to 0..127, so
	that uses need not check for in-range indexes.  Also record
	padding chars.  All uses changed.
	(base64_decode_1): Always store number of chars in *NCHARS_RETURN,
	for simplicity.  All callers changed.  Speed up the byte-fetching.

2019-06-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix out-of-source make-dist problems

	Problem with jisx2131-filter reported by Phillip Lord in:
	https://lists.gnu.org/r/emacs-devel/2019-06/msg00147.html
	* admin/charsets/Makefile.in (SED_SCRIPT):
	Put it in $(srcdir), which is not necessarily the working directory.
	($(SED_SCRIPT)): Rename from jisx2131-filter.  All uses changed.
	(clean): Do not remove SED_SCRIPT.
	(extraclean): Remove it here instead.
	* make-dist (possibly_non_vc_files): Remove src/emacs-module.h.
	Although it is portable and could be distributed in the tarball,
	it's too much hassle to do that, so let each builder make it.

2019-06-08  Bernhard Rotter  <bernhard.rotter@gmail.com>

	Fix path for current directory in eshell on MS-Windows

	On MS-Windows, PATH implicitly includes the current directory.
	Do it right for Eshell by adding "./" instead of ".", to
	avoid finding .FOO instead of ./FOO.
	* lisp/eshell/esh-util.el (eshell-get-path): New function.
	* lisp/eshell/em-cmpl.el (eshell-complete-commands-list):
	* lisp/eshell/esh-ext.el (eshell-search-path): Use eshell-get-path.

2019-06-08  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes for the last commits

	* src/fns.c (Fbase64url_encode_region)
	(Fbase64url_encode_string, Fbase64_decode_region)
	(Fbase64_decode_string): Fix doc strings.
	(base64_decode_1): Minor stylistic code changes.

	* doc/lispref/text.texi (Base 64): Fix typos and improve
	wording of the last committed text.

2019-06-08  Pierre Téchoueyres  <pierre.techoueyres@free.fr>

	Add support for base64url variant of base-64 encoding/decoding

	Implement the RFC4648 variant of base64 encoding used by URLs.
	* doc/lispref/text.texi (base64url-encode-region,
	base64url-encode-string): Document new functions.
	(base64-decode-region, base64-decode-string): Document new optional
	parameter 'base64url' used to use url variant when decoding data.

	* src/fns.c (base64url-encode-region, base64url-encode-region): New
	functions to manage url variant.
	(base64-decode-region, base64-decode-string): Add optional
	parameter to indicate use of url-variant.
	(base64_encode_region_1, base64_encode_string_1): Internal functions
	with extracted code from 'base64_encode_region' and
	'base64_encode_string' and optional parameters to manage padding and
	url variant.
	(base64-encode-region, base64-encode-string) : Use
	base64_encode_region_1 and base64_encode_string_1.
	(base64-encode-1): Add parameters to manage padding and url variant.
	(base64-decode-1): Add parameter to manage url variant.

	* test/src/fns-tests.el (fns-tests--with-region): New helper macro to
	test region variant of base64 encode / decode functions.
	(fns-tests--string-repeat): Helper function used in base64 tests.
	(fns-tests-base64-encode-region, fns-tests-base64-encode-string):
	Tests for standard base64 function.
	(fns-test-base64url-encode-region,
	fns-test-base64url-encode-string): Tests for url variant.
	(fns-tests-base64-decode-string): Tests for decoding part.

2019-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Support X core font driver on cairo (Bug#28236)

	* configure.ac (HAVE_X_WINDOWS): Add xfont.o to FONT_OBJ if HAVE_CAIRO.

	* doc/lispref/frames.texi (Font and Color Parameters): Mention X core font
	driver with Cairo drawing.

	* src/font.c (syms_of_font) [HAVE_X_WINDOWS && USE_CAIRO]: Call syms_of_xfont.

	* src/xfns.c (x_create_tip_frame) [USE_CAIRO]: Register xfont_driver.

	* src/xterm.c (x_cr_gc_clip) [USE_CAIRO]: New function extracted from
	x_begin_cr_clip.
	(x_begin_cr_clip) [USE_CAIRO]: Use it.
	(xlib_surface_key, saved_drawable_key) [USE_CAIRO]: New variables.
	(x_cr_destroy_xlib_surface, x_try_cr_xlib_drawable)
	(x_end_cr_xlib_drawable) [USE_CAIRO]: New functions.
	(x_draw_composite_glyph_string_foreground)
	(x_draw_glyph_string_foreground) [USE_CAIRO]: Get Xlib surface when drawing
	text with X core fonts into bitmap surfaces.  Add fallback code for drawing
	into outline surfaces.

2019-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Implement native image rotation and cropping on cairo

	* src/dispextern.h (struct image) [USE_CAIRO]:
	* src/image.c (free_image, image_clear_image_1)
	(image_set_crop, image_set_size, image_set_rotation)
	(image_create_x_image_and_pixmap) [USE_CAIRO]: #ifdef out HAVE_XRENDER part.

	* src/image.c (cr_create_surface_from_pix_containers) [USE_CAIRO]: Rename
	from cr_create_surface_from_pix_containers.  Change arguments to pair of
	Emacs_Pix_Container:s.  Move block_input and unblock_input to caller.
	(cr_put_image_to_cr_data) [USE_CAIRO]: New function.
	(prepare_image_for_display) [USE_CAIRO]: Use it.
	(image_set_transform) [USE_CAIRO]: Create dummy solid color pattern equipped
	with transformation matrix and set it to img->cr_data.

	* src/xterm.c (fringe_bmp) [USE_CAIRO]: Change type to cairo_pattern_t **.
	(x_cr_define_fringe_bitmap, x_cr_destroy_fringe_bitmap) [USE_CAIRO]: Create
	or destroy cairo pattern.
	(x_cr_draw_image) [USE_CAIRO]: Remove arguments image_width and image_height.
	Change type of image to cairo pattern.  All callers changed.

	* src/gtkutil.c (xg_get_image_for_pixmap) [USE_CAIRO]: Get cairo surface
	from img->cr_data, which is of cairo pattern now.

2019-06-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	Make icalendar-import-buffer not show diary file buffer

	* lisp/calendar/diary-lib.el (diary-make-entry): Add
	omit-trailing-space parameter.  Add do-not-show parameter to
	allow not showing diary file buffer.
	* lisp/calendar/icalendar.el (icalendar--add-diary-entry): Remove
	workaround to omit trailing space in diary entry.  Have
	diary-make-entry not display the diary file buffer.  (Bug#35645)

2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix commentary about fixnums and hashes.

2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix minor ssize_t / ptrdiff_t confusion

	* src/fileio.c (Fcopy_file): This limit is because of ssize_t,
	so use TYPE_MAXIMUM (ssize_t) not PTRDIFF_MAX.

2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Use machine pointer width for face hashes

	* src/dispextern.h (struct face):
	* src/xfaces.c (hash_string_case_insensitive, lface_hash)
	(cache_face, lookup_face): Use uintptr_t for face hashes
	instead of discarding the upper pointer bits on 64-bit machines.

2019-06-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus: Further reduce assumptions about gnus-data format

	* lisp/gnus/gnus-registry.el (gnus-registry-fetch-message-id-fast)
	(gnus-registry-fetch-simplified-message-subject-fast)
	(gnus-registry-fetch-sender-fast, gnus-registry-fetch-recipients-fast)
	(gnus-registry--set/remove-mark): Don't hardcode assoc for gnus-data-find-in.

	* lisp/gnus/gnus-sum.el (gnus-data-update-list): Don't hardcode `nth 2`
	for gnus-data-pos.
	(gnus-summary-insert-old-articles, gnus-summary-insert-new-articles)
	(gnus-summary-first-article-p): Don't hardcode `car` for `gnus-data-number`.
	(gnus-summary-move-article, gnus-summary-expire-articles)
	(gnus-summary-delete-article): Don't hardcode assoc for gnus-data-find-in.

	* lisp/gnus/spam.el (spam-fetch-article-header): Don't hardcode `nth 3`
	for gnus-data-header.

2019-06-07  Eli Zaretskii  <eliz@gnu.org>

	Support text shaping with HarfBuzz

	The code to support HarfBuzz was written by these individuals:

	  Khaled Hosny <dr.khaled.hosny@gmail.com>
	  YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
	  Eli Zaretskii <eliz@gnu.org>

	* src/xftfont.c (xftfont_list): Call ftfont_list2.
	(xftfont_match): Call ftfont_match2.
	(xftfont_open) [HAVE_HARFBUZZ]: Set the font driver to
	xfthbfont_driver as required.  Reset xftfont_info->hb_font to
	NULL.
	(xftfont_close) [HAVE_HARFBUZZ]: Dispose of the hb_font object.
	(xftfont_shape): Accept an additional argument DIRECTION and
	pass it to ftfont_shape.
	(xfthbfont_list, xfthbfont_match, xfthbfont_begin_hb_font)
	(xfthbfont_end_hb_font) [HAVE_HARFBUZZ]: New functions.
	(syms_of_xftfont): New DEFSYM 'xfthb'.
	(syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize
	xfthbfont_driver.

	* src/xfns.c (Fx_create_frame, x_create_tip_frame)
	[HAVE_HARFBUZZ]: Register the HarfBuzz font driver.

	* src/w32uniscribe.c (bswap_32) [HAVE_HARFBUZZ]: Define to use
	the builtin for GCC 4.3.9 and newer; else use byteswap.h from
	Gnulib.
	(struct uniscribe_font_info): New member 'scale'.  The member
	'cache' is now used both by Uniscribe and HarfBuzz backends.
	(uniscribe_open): Set the font backend as required by the font
	entity's font_type field.
	(uniscribe_close) [HAVE_HARFBUZZ]: Dispose of the hb_font
	object.
	(uniscribe_shape): Accept an additional argument DIRECTION.
	(w32hb_list, w32hb_match, free_cb, w32hb_get_font_table)
	(w32hb_get_font, w32hb_encode_char, w32hb_begin_font)
	(w32hb_get_variation_glyphs, load_harfbuzz_funcs)
	[HAVE_HARFBUZZ]: New functions.
	(syms_of_w32uniscribe_for_pdumper): Initialize
	harfbuzz_font_driver if loading the requisite functions from
	the HarfBuzz DLL succeeded.

	* src/w32font.c (syms_of_w32font): New DEFSYM 'harfbuzz'.

	* src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
	Determine whether we should register the HarfBuzz backend, or
	Uniscribe backend, or both for the new frame.

	* src/w32common.h (hbfont_init_w32_funcs) [HAVE_HARFBUZZ]: Add
	prototype.

	* src/macfont.m (lgstring_direction): New enumeration.
	(mac_font_shape_1, mac_screen_font_shape, macfont_shape):
	Accept an additional argument DIRECTION; all callers changed.

	* src/lisp.h (get_unicode_property): Add prototype.

	* src/hbfont.c: New file.

	* src/ftxfont.c (ftxfont_list): Call ftfont_list2.
	(ftxfont_match): Call ftfont_match2.

	* src/ftfont.h [HAVE_HARFBUZZ]: Include hb.h and hb-ft.h.
	(struct font_info): New member hb_font.

	* src/ftfont.c (ftfont_list2, ftfont_list_family): New functions.
	(ftfont_open) [HAVE_HARFBUZZ]: Reset ftfont_info->hb_font to
	NULL.  Set the font backend to fthbfont_driver when required.
	(ftfont_close) [HAVE_HARFBUZZ]: Dispose of ftfont_info->hb_font.
	(ftfont_glyph_metrics): New function.
	(ftfont_text_extents): Call ftfont_glyph_metrics instead of
	FT_Load_Glyph.
	(ftfont_shape): Accept an additional argument DIRECTION.
	(ftfont_variation_glyphs) [!HAVE_OTF_GET_VARIATION_GLYPHS]:
	Support for variation glyphs without FLT.
	(fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: New function.
	(syms_of_ftfont): New DEFSYM freetypehb.
	(syms_of_ftfont_for_pdumper): Initialize fthbfont_driver.

	* src/ftcrfont.c (ftcrfont_list): Call ftfont_list2.
	(ftcrfont_match): Call ftfont_match2.
	(ftcrfont_open) [HAVE_HARFBUZZ]: Set the font backend to
	ftcrhbfont_driver as required.  Reset ftcrfont_info->hb_font
	to NULL.
	(ftcrfont_close) [HAVE_HARFBUZZ]: Discard of
	ftcrfont_info->hb_font.
	(ftcrfont_shape): Pass DIRECTION to ftfont_shape.
	(ftcrhbfont_list, ftcrhbfont_match)
	(ftcrhbfont_begin_hb_font, ftcrhbfont_end_hb_font)
	[HAVE_HARFBUZZ]: New functions.
	(syms_of_ftcrfont): New DEFSYM ftcrhb.
	(syms_of_ftcrfont_for_pdumper): Initialize ftcrhbfont_driver.

	* src/font.h [HAVE_HARFBUZZ]: Include hb.h.
	(struct font_driver): Update comments and function signatures
	to reflect the new argument DIRECTION accepted by the 'shape'
	method.  New methods 'begin_hb_font' and 'end_hb_font'.
	(hbfont_shape, hbfont_combining_capability)
	(fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: Add prototypes.

	* src/font.c (Ffont_shape_gstring): Accept an additional
	argument DIRECTION, and pass it to the font driver's 'shape'
	method.
	(Ffont_variation_glyphs): Doc fix.
	(syms_of_font): New DEFSYMS L2R and R2L.

	* src/composite.h (composition_reseat_it): Adjust prototype.

	* src/composite.c (autocmp_chars): Accept additional argument
	DIRECTION, and pass it to auto-composition-function.  All
	callers changed.
	(composition_reseat_it): Accept additional argument
	BIDI_LEVEL, and use it to determine the DIRECTION argument to
	be passed to autocmp_chars.  All callers changed.
	(syms_of_composite) <auto-composition-function>: Improve the
	doc string; document the meaning of the new argument
	DIRECTION.

	* src/chartab.c (get_unicode_property): New function,
	refactored from the body of get-unicode-property-internal.
	(Fget_unicode_property_internal): Call get_unicode_property
	after validating the input arguments.

	* src/Makefile.in (HARFBUZZ_CFLAGS, HARFBUZZ_LIBS): New macros.
	(EMACS_CFLAGS): Use HARFBUZZ_CFLAGS.
	(SOME_MACHINE_OBJECTS): Add hbfont.o
	(LIBES): Add HARFBUZZ_LIBS.

	* lisp/language/tv-util.el (tai-viet-composition-function):
	* lisp/language/thai-util.el (thai-composition-function):
	* lisp/language/misc-lang.el (arabic-shape-gstring):
	* lisp/language/lao-util.el (lao-composition-function):
	* lisp/language/japanese.el (compose-gstring-for-variation-glyph):
	* lisp/language/hebrew.el (hebrew-shape-gstring):
	* lisp/language/ethio-util.el (ethio-composition-function):
	* lisp/composite.el (compose-chars-after)
	(compose-gstring-for-graphic)
	(compose-gstring-for-dotted-circle)
	(compose-gstring-for-terminal, auto-compose-chars): All
	composition functions that call shapers now accept an
	additional argument DIRECTION, either L2R or R2L.

	* etc/NEWS: Document the HarfBuzz support.

	* etc/HELLO: Add diacritics to Hebrew greetings.

	* doc/lispref/frames.texi (Font and Color Parameters):
	* doc/emacs/msdos.texi (Windows Fonts): Describe the
	'harfbuzz' font backend on MS-Windows and how it is preferred
	to 'uniscribe'.

	* configure.ac (--wthout-harfbuzz): New option.
	(HAVE_HARFBUZZ): New tests.
	(FONT_OBJ) [HAVE_HARFBUZZ]: Add hbfont.o
	(emacs_config_features): Add HARFBUZZ.

	* admin/nt/dist-build/build-dep-zips.py: Add HarfBuzz dependency.

2019-06-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Make mouse-wheel-scroll-amount consistent among platforms

	* lisp/term/ns-win.el (mouse-wheel-scroll-amount): Do not put any
	values on mouse-wheel-scroll-amount on ns.

2019-06-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	9254885 (origin/emacs-26) Resurrect display-line-number-mode in clien...
	aecbbd5 * src/fns.c (Fmapconcat): Doc fix.  (Bug#35710)
	8e5fc38 Fix typo
	ee21b40 * lisp/term/w32-win.el ([noname]): Bind to 'ignore'.  (Bug#36...
	f68b33f Fix styling of Unicode codepoints in manuals
	ff7ec6f Fix a few uses of quotes in user manual
	b67042b More minor copyedits in the Emacs manual
	9734b5c Fix minor issues in the Emacs manual
	c153250 Try to improve text on atomic windows in Elisp manual
	fb314ba Don't recommend insert-before-markers in process filters

2019-06-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	2860285 Allow macros autoloaded as functions during bytecomp (Bug#36022)

2019-06-07  Eli Zaretskii  <eliz@gnu.org>

	Fix failures of term-tests on MS-Widows

	* test/lisp/term-tests.el (term-simple-lines)
	(term-carriage-return, term-line-wrap, term-cursor-movement)
	(term-scrolling-region, term-set-directory)
	(term-line-wrapping-then-motion, term-to-margin): Skip tests
	on MS-Windows and MS-DOS.

2019-06-07  John Shahid  <jvshahid@gmail.com>

	Consider line spacing and font height when deriving proc window size

	* lisp/window.el (window-adjust-process-window-size): Use
	  window-screen-lines instead of window-body-height.
	* lisp/term.el (term-mode): Use window-screen-lines to set the initial
	  window height.

2019-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix image_set_crop yet again

	* src/image.c (image_set_crop) [HAVE_NATIVE_TRANSFORMS]: Don't call
	compute_image_size, as it is already called from image_set_size.
	(image_set_size, image_set_crop) [HAVE_NATIVE_TRANSFORMS]: Use harmless
	matrix transformation code also for USE_CAIRO and HAVE_NTGUI cases,
	though image_set_transform is not yet implemented on them.

2019-06-07  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warning in copy-file-range.c on MS-Windows

	* nt/mingw-cfg.site (gl_cv_func_copy_file_range): Set to "yes",
	to avoid compiling lib/copy-file-range.c on MS-Windows.

2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix recently-introduced image_set_crop typo

	* src/image.c (image_set_crop) [!HAVE_NATIVE_TRANSFORMS]:
	Don’t call compute_image_size, as it does not exist and its
	result is not needed.

2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Use copy_file_range to copy files

	The copy_file_range syscall (introduced in Linux kernel
	version 4.5) can copy files more efficiently via server-side
	copy etc.
	* admin/merge-gnulib (GNULIB_MODULES): Add copy-file-range.
	* lib/copy-file-range.c, m4/copy-file-range.m4:
	New files, copied from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* src/fileio.c (Fcopy_file): Try copy_file_range first,
	falling back on read+write only if copy_file_range failed or
	if the input is empty and so could be a /proc file.

2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-06-04 copy-file-range: new module
	2019-05-28 binaty-io: O_BINARY on consoles no longer fails
	* doc/misc/texinfo.tex, lib/binary-io.c, lib/binary-io.h:
	* lib/unistd.in.h, m4/unistd_h.m4: Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2019-06-06  Noam Postavsky  <npostavs@gmail.com>

	Add "pin" to password-word-equivalents (Bug#35523)

	* lisp/international/mule-conf.el (password-word-equivalents): Add "pin".
	* test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
	test case.

2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>

	Fix overflow issues in image rotation

	Also, do some refactoring to simplify code.
	* src/dispextern.h (INIT_MATRIX, COPY_MATRIX, MULT_MATRICES): Remove.
	* src/image.c (matrix3x3): New type, replacing all uses of 3x3 double.
	(matrix3x3_copy, matrix3x3_mult): New functions, replacing
	COPY_MATRIX, MULT_MATRICES.  Replace INIT_MATRIX by C initializers.
	(image_set_rotation): Use Fmod to avoid undefined behavior on
	double-to-int conversion and to reduce bignum rotations correctly.
	(image_set_crop): Finish up previous correction, by not re-setting
	width and height if compute_image_size has set them.
	Prefer shifting right by 1 to dividing by 2 if either will do.

2019-06-06  Eli Zaretskii  <eliz@gnu.org>

	Fix redisplay glitches with RTL composed text

	* src/xdisp.c (init_to_row_end): Fail if the first visible
	position on the line following ROW is bidi-reordered and could
	be composed.  (Bug#35811)

2019-06-06  Oleh Krehel  <ohwoeowho@gmail.com>

	lisp/gnus/message.el (message--send-mail-maybe-partially): Extract

	lisp/gnus/message.el (message--check-continuation-headers): Extract

	lisp/gnus/message.el (message--fold-long-headers): Add docstring

2019-06-06  Mark A. Hershberger  <mah@nichework.com>

	Restore height and with from that were accidentally removed

	See 610fb73ab6d7a22b722f523d6ebc4aa8fa1db7c9
	USE_CARIO needs these.

2019-06-05  Steve Scott  <steve@stevescott.ca>  (tiny change)

	Check rcirc-server for auto authentication (Bug#10162)

	Since the hostname returned by irc.freenode.net can be something other
	than irc.freenode.net, e.g. niven.freenode.net, the entries for
	rcirc-authinfo and rcirc-server-alist will not match.
	* lisp/net/rcirc.el (rcirc-handler-001): Check rcirc-server (the
	hostname connected to) instead of rcirc-server-name (the hostname
	returned), this corresponds with what rcirc-authenticate does.
	Moreover, if rcirc-auto-authenticate-flag is set, check the
	corresponding rcirc-authinfo, regardless of whether the
	rcirc-authenticate-before-join must happen.

2019-06-05  Noam Postavsky  <npostavs@gmail.com>

	Keep nxml prolog updated via syntax-propertize

	Instead of using after-change-functions.  Also, stop consulting
	nxml-prolog-regions during syntax-propertize.  It turns out the
	problems fixed by using prolog information are actually due to using
	the wrong syntax table during propertizing.  This was fixed in
	2019-06-04 "* lisp/emacs-lisp/syntax.el: Use syntax-ppss-table for
	syntax-propertize." so consulting the prolog data is no longer needed.
	* lisp/nxml/nxml-rap.el (nxml-maybe-rescan-prolog): Remove.
	* lisp/nxml/nxml-mode.el (nxml-mode): Stop using it.
	(nxml-syntax-propertize): Don't use nxml-prolog-regions, just call
	nxml-scan-prolog if needed before delegating to
	sgml-syntax-propertize.
	* test/lisp/nxml/nxml-mode-tests.el (nxml-mode-edit-prolog): New test.

2019-06-05  Alan Third  <alan@idiocy.org>

	Add native image rotation and cropping

	* lisp/image.el (image--get-imagemagick-and-warn): Only fallback to
	ImageMagick if native transforms aren't available.
	* src/dispextern.h (INIT_MATRIX, COPY_MATRIX, MULT_MATRICES): New
	macros for matrix manipulation.
	(HAVE_NATIVE_SCALING, HAVE_NATIVE_TRANSFORMS): Rename and change all
	relevant locations.
	* src/image.c (x_set_image_rotation):
	(x_set_transform): New functions.
	(x_set_image_size): Use transform matrix for resizing under X and NS.
	(x_set_image_crop): New function.
	(lookup_image): Use the new transform functions.
	(Fimage_scaling_p, Fimage_transforms_p): Rename and update all
	callers.
	* src/nsimage.m (ns_load_image): Remove rotation code.
	(ns_image_set_transform): New function.
	([EmacsImage dealloc]): Release the saved transform.
	([EmacsImage rotate:]): Remove unneeded method.
	([EmacsImage setTransform:]): New method.
	* src/nsterm.h (EmacsImage): Add transform property and update method
	definitions.
	* src/nsterm.m (ns_dumpglyphs_image): Use the transform to draw the
	image correctly.
	* src/xterm.c (x_composite_image): Use PictOpSrc as we don't care
	about alpha values here.
	* doc/lispref/display.texi (Image Descriptors): Add :rotation.
	(ImageMagick Images): Remove :rotation.

2019-06-05  Phillip Lord  <phillip.lord@russet.org.uk>

	No longer add debug symbols to release build

	* admin/nt/dist-build/build-zips.sh: Remove -g3 from release build and
	  install with install-strip

2019-06-05  Juri Linkov  <juri@linkov.net>

	* lisp/wid-edit.el (widget-choose): Use display-buffer-in-direction

	to display buffer in bottom direction with fit-window-to-buffer.

	* lisp/proced.el (proced-with-processes-buffer): Idem.  (Bug#35592)

2019-06-05  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Obtaining Tramp): Explain version scheme.

	(Traces and Profiles): Add `tramp-verbose' to @vindex.

2019-06-05  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>

	Do not use syntax-ppss-table in syntax-propertize when nil (Bug#36095)

	* lisp/emacs-lisp/syntax.el (syntax-propertize): Use (syntax-table)
	instead of syntax-ppss-table when the latter is nil.

2019-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/syntax.el: Use syntax-ppss-table for syntax-propertize.

	`syntax-ppss` uses `syntax-ppss-table` while parsing the buffer as well
	as when it calls `syntax-propertize`, but `syntax-propertize` can also
	be called directly rather than via `syntax-ppss` so it needs to explicitly
	use `syntax-ppss-table` as well in order to avoid using sometimes one
	table and sometimes another.

	(syntax-ppss-table): Move before new use.
	(syntax-propertize): Use it.

2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>

	Remove retired maintainers from comments

	* lisp/international/quail.el, lisp/language/ind-util.el:
	* lisp/language/indian.el, lisp/mail/smtpmail.el, lisp/mwheel.el:
	* lisp/obsolete/longlines.el, lisp/progmodes/idlw-complete-structtag.el:
	* lisp/progmodes/idlw-help.el, lisp/progmodes/idlw-shell.el:
	* lisp/progmodes/idlw-toolbar.el, lisp/progmodes/idlwave.el:
	* lisp/progmodes/simula.el, lisp/ps-print.el, lisp/ps-samp.el:
	Remove Maintainer: lines for maintainers who have retired.

2019-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/thunk.el (thunk-delay): Fix memory leak

	Get rid of references to the free variables of `body` once the thunk has
	been forced (bug#30626).

2019-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): More verbose comments

2019-06-04  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Specify the matching chars for JSX open/close parenthesis

	* lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Indicate the
	matching parenthesis character (since JSX’s < and > aren’t typical
	parenthesis) for the sake of packages like rainbow-delimiters which
	need that information.

2019-06-04  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Revert "Add extra text property to fix issue with js2-mode integration"

	This reverts commit 382a508ed21e4f12ace9f8871818e25235e8f05e.

	We ended up deciding against using this in js2-mode.  Instead,
	js2-mode may eventually use js-mode’s syntax-propertize-function to
	set syntax-table text properties.

2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>

	Update lispref spellfile

	* doc/lispref/spellfile: Omit words no longer in the manual.
	How is this spellfile used?  Does anybody use it any more?

2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>

	Adjust comments/debug to match C bignum code

	* doc/lispintro/emacs-lisp-intro.texi (Digression into C):
	Adjust to match current C code.
	* lisp/emacs-lisp/ert.el (ert--force-message-log-buffer-truncation):
	Simplify.
	* src/.gdbinit (Lisp_Object_Printer.to_string): Return
	a string that says "make_fixnum", not "make_number".

2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>

	Always allow at least double-precision bignums

	Without this fix, Emacs can get into a tight loop reporting
	a range error when calculating timestamps.
	* doc/lispref/numbers.texi (Integer Basics):
	* src/alloc.c (syms_of_alloc): Document this.
	* src/bignum.c (make_bignum_bits): Always allow bignums
	of at least twice the width of (u)intmax_t.

2019-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el (message-send-mail): Tweak last commit

2019-06-04  Noam Postavsky  <npostavs@gmail.com>

	Keep nxml-prolog-end up to date (Bug#18871)

	The change on 2016-01-16 "lisp/nxml: Use syntax-tables for comments"
	removed the update of nxml-prolog-end, although it already failed to
	work correctly after 2013-10-07 "* lisp/nxml/nxml-mode.el: Use
	lexical-binding and syntax-propertize."
	* lisp/nxml/nxml-rap.el: New function.
	* lisp/nxml/nxml-mode.el (nxml-mode): Add it to
	after-change-functions.

2019-06-04  Noam Postavsky  <npostavs@gmail.com>

	Don't sgml-syntax-propertize-inside XML prolog (Bug#32823)

	* lisp/nxml/nxml-mode.el (nxml-syntax-propertize): New function.
	(nxml-mode): Use it as the syntax-propertize-function.
	* test/lisp/nxml/nxml-mode-tests.el (nxml-mode-doctype-and-quote-syntax)
	(nxml-mode-prolog-comment): New tests.

2019-06-04  Noam Postavsky  <npostavs@gmail.com>

	Don't fontify text outside of SGML/XML tags (Bug#33887)

	* lisp/textmodes/sgml-mode.el (sgml-font-lock-syntactic-face): New
	function.
	(sgml-mode):
	* lisp/nxml/nxml-mode.el (nxml-mode): Use it as
	font-lock-syntactic-face-function value.

2019-06-04  Noam Postavsky  <npostavs@gmail.com>

	Fix some SGML syntax edge cases (Bug#33887)

	* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Handle
	single and double quotes symmetrically.  Don't skip quoted comment
	enders.
	* test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
	Add more test cases.
	(sgml-mode-quote-in-long-text): New test.

2019-06-04  Michael Albinus  <michael.albinus@gmx.de>

	Stronger check for Tramp method

	* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
	* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
	Use `tramp-get-connection-name'.

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
	* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-symbolic-link):
	Don't check remote TARGET.

	* lisp/net/tramp.el (tramp-dissect-file-name): Check for proper method.
	(tramp-file-name-for-operation): Take only 2nd argument into
	account for file name handler.
	(tramp-file-name-handler): Suppress checks for `file-remote-p'.

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test02-file-name-dissect): Suppress check for wrong
	method.

	* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
	Dump *all* Tramp buffers.
	(tramp-test02-file-name-dissect)
	(tramp-test02-file-name-dissect-simplified)
	(tramp-test02-file-name-dissect-separate): Check also wrong method.
	(tramp-test03-file-name-defaults): Check, that the respective
	Tramp package is loaded.
	(tramp-test04-substitute-in-file-name)
	(tramp-test05-expand-file-name)
	(tramp-test06-directory-file-name, tramp-test44-auto-load):
	Suppress check for wrong method.
	(tramp-test30-make-process): Remove instrumentation code.
	(tramp-test31-interrupt-process, tramp-test36-vc-registered):
	Guarantee that connection is established prior starting process.

2019-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/xterm.c (x_scroll_run) [USE_CAIRO]: Dirty only destination rectangle.

	* src/image.c (cr_create_cr_surface_from_image): Add const to variable `key'.

2019-06-03  Noam Postavsky  <npostavs@gmail.com>

	Let untarring (and hence package installation) go faster (Bug#35909)

	* lisp/subr.el (progress-reporter-update)
	(progress-reporter-force-update, progress-reporter-do-update): Accept
	new optional argument, SUFFIX.
	* doc/lispref/display.texi (Progress): Document it.
	* etc/NEWS: Announce it.
	* lisp/tar-mode.el (tar-untar-buffer): Use a progress reporter instead
	of calling message.  Suppress message from write-region.  Let-bind
	write-region-inhibit-fsync to t.

2019-06-03  Phillip Lord  <phillip.lord@russet.org.uk>

	Update dependencies

	* admin/nt/dist-build/build-dep-zips.py: Add harfbuzz as dependency

2019-06-03  Juri Linkov  <juri@linkov.net>

	User-friendly display of error messages at the end of minibuffer

	* lisp/simple.el (minibuffer-setup-hook): Add minibuffer-error-initialize.
	(minibuffer-error-initialize, minibuffer-error-function): New functions.
	(Bug#34939)

2019-06-03  Juri Linkov  <juri@linkov.net>

	* lisp/char-fold.el (char-fold-make-table): New function

	with body extracted from INITVALUE of defconst (bug#35689).
	Bind search-spaces-regexp to nil (bug#35802).

	* test/lisp/char-fold-tests.el: Relocate helpers to file beginning.
	(char-fold--test-bug-35802): New test.

2019-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-async.el: Use lexical-binding

	Remove redundant :group args.
	(gnus-async-post-fetch-function): Make it always be a function.
	(gnus-make-async-article-function, gnus-async-prefetch-headers):
	Use a closure rather than `(lambda ...)

2019-06-03  Oleh Krehel  <ohwoeowho@gmail.com>

	lisp/gnus/message.el (message-send-mail): Don't wrongly assert on Unicode msg

	Using this setting:

	    (setq message-send-mail-function 'message-send-mail-with-sendmail)
	    (setq sendmail-program "msmtp")

	the message seding is handled by an external program, so no Unicode
	encoding is performed in Emacs. Thus Emacs must not assert that the
	Unicode encoding was performed.

2019-06-02  Juanma Barranquero  <lekktu@gmail.com>

	* lisp/help-fns.el (help-fns--first-release): Do not fail if no release is found.

2019-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-sum.el, lisp/gnus/gnus-async.el: Eliminate assumptions about gnus-data format

	* lisp/gnus/gnus-async.el (gnus-async-with-semaphore): Use `declare`.
	(gnus-async-prefetch-next): Don't assume gnus-data-number == car.

	* lisp/gnus/gnus-sum.el (gnus-data-find-in): New function.
	(gnus-data-find, gnus-data-find-list): Use it.
	(gnus-summary-article-subject): Make it a function.
	(gnus--dummy-data-list): New const.
	(gnus-update-summary-mark-positions): Use it.

2019-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus.el: Fix cycle in eager macroexpansion

	* lisp/gnus/gnus-sum.el (gnus-data): Use cl-defstruct.
	(gnus-data-set-pos, gnus-data-set-header, gnus-data-set-mark)
	(gnus-data-set-number): Delete macros; use `setf` instead.
	(gnus-data-unread-p, gnus-data-read-p, gnus-data-pseudo-p, gnus-data-find)
	(gnus-summary-skip-intangible, gnus-summary-article-number):
	Redefine as inlinable functions rather than macros.

	* lisp/gnus/gnus.el: Adjust autoloads for the macros turned functions.

2019-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/help-fns.el: Make hyperlink for the "first release" info

	* lisp/help-fns.el (help-fns--first-release): Return a "button".
	(help-fns--mention-first-release): Preserve the string's text-properties.

	* lisp/help-mode.el (help-news): New button type.

2019-06-02  Alan Mackenzie  <acm@muc.de>

	Change default offset of CC Mode syntactic symbol inlambda to 0

	It's previous default was c-lineup-inexpr-block.  This change is mainly to
	prevent excessive indentation of the innards of C++ lambda functions.

	* lisp/progmodes/cc-vars.el (c-offsets-alist): Amend the offset for inlambda
	to 0.

	* doc/misc/cc-mode.texi (FAQ): Amend the answer to the question about this
	matter.

2019-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Implement the get_variation_glyphs method for FreeType >= 2.3.6

	* configure.ac: Check availability of FT_Face_GetCharVariantIndex.

	* src/ftfont.c (ftfont_variation_glyphs) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
	Add function implementation.

	* src/ftcrfont.c (ftcrfont_variation_glyphs)
	[HAVE_FT_FACE_GETCHARVARIANTINDEX]: Use function implementation for
	HAVE_OTF_GET_VARIATION_GLYPHS.

	* src/ftfont.c (ftfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
	* src/xftfont.c (xftfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
	* src/ftxfont.c (ftxfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
	* src/ftcrfont.c (ftcrfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
	Populate the get_variation_glyphs method.

2019-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Revert previous commit

	This reverts commit 1ab69630dcb8c7a1b1b4171211a7c8ebf11b0d1c.
	It has a wrong commit message.

2019-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Make fthbfont and derivatives use common HarfBuzz code in hbfont.c

	* src/font.h (fthbfont_shape, fthbfont_combining_capability)
	[HAVE_HARFBUZZ]: Remove prototypes.

	* src/ftfont.c: Don't include math.h.
	(uni_combining, uni_general, uni_mirroring, get_hb_unicode_funcs)
	(fthbfont_shape_by_hb, fthbfont_combining_capability, fthbfont_shape)
	[HAVE_HARFBUZZ]: Remove functions.

	* src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
	* src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]:
	* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Use
	hbfont_shape and hbfont_combining_capability for fthbfont_shape and
	fthbfont_combining_capability, respectively.

2019-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Make fthbfont and derivatives use common HarfBuzz code in hbfont.c

	* src/font.h (fthbfont_shape, fthbfont_combining_capability)
	[HAVE_HARFBUZZ]: Remove prototypes.

	* src/ftfont.c: Don't include math.h.
	(uni_combining, uni_general, uni_mirroring, get_hb_unicode_funcs)
	(fthbfont_shape_by_hb, fthbfont_combining_capability, fthbfont_shape)
	[HAVE_HARFBUZZ]: Remove functions.

	* src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
	* src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]:
	* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Use
	hbfont_shape and hbfont_combining_capability instead of fthbfont_shape
	and fthbfont_combining_capability, respectively.

2019-06-01  Glenn Morris  <rgm@gnu.org>

	Skip some flymake tests on hydra.nixos.org

	* test/lisp/progmodes/flymake-tests.el (perl-backend)
	(included-c-header-files, recurrent-backend):
	Skip on hydra.nixos due to frequent intermittent failures.  (Bug#32764)

2019-06-01  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in morse.el and studly.el and add tests

	* lisp/play/morse.el: Use lexical-binding.
	* lisp/play/studly.el: Use lexical-binding.
	* test/lisp/play/morse-tests.el: New file.
	* test/lisp/play/studly-tests.el: New file.

2019-06-01  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in paragraphs.el and add tests

	* lisp/textmodes/paragraphs.el: Use lexical-binding.
	(repunctuate-sentences): Make it work non-interactively.
	* test/lisp/textmodes/paragraphs-tests.el: New file.

2019-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix .gitignore spec for personal customizations

	Problem reported by Mauro Aranda (Bug#35945).
	* .gitignore: Replace .dir-locals?.el with .dir-locals-2.el.

2019-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	Tune cl-assoc

	* lisp/emacs-lisp/cl-seq.el (cl-assoc):	Use assq for fixnums.

2019-06-01  Mattias Engdegård  <mattiase@acm.org>

	Fix `cl-member' and `cl-assoc' for bignums

	* lisp/emacs-lisp/cl-seq.el (cl-member, cl-assoc): Work with bignums.
	* test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-bignum-eql): New.

2019-06-01  Daniel Ralston  <wubbulous@gmail.com>  (tiny change)

	Make rcirc PART and QUIT reasons customizable (Bug#12857)

	* lisp/net/rcirc.el: (rcirc-default-part-reason, rcirc-default-quit-reason):
	New customizable vars.
	(rcirc-cmd-quit, rcirc-cmd-part): Consult them.

2019-06-01  Noam Postavsky  <npostavs@gmail.com>

	Handle argument to rcirc /part properly (Bug#11157)

	* lisp/net/rcirc.el (part): Split out channel name and part reason.
	* doc/misc/rcirc.texi (rcirc commands): Clarify that channel name may
	be provided to /part.

2019-06-01  Noam Postavsky  <npostavs@gmail.com>

	* lisp/net/rcirc.el: Remove redundant :group usage

	... and empty Todo comment section.

2019-06-01  Alan Mackenzie  <acm@muc.de>

	Debug and disentangle the literal caching in CC Mode

	(Final Commit)

	* lisp/progmodes/cc-engine.el (c-semi-trim-near-cache): Correct a comparison
	with the wrong ...-limit variable.
	(c-semi-pp-to-literal): Remove a wrong setting of c-lit-pos-cache-limit.
	(c-full-get-near-cache-entry): Eliminate extravagant and unneeded coding.
	(c-state-cache-init, c-record-parse-state-state): No longer manipulate
	c-lit-pos-cache, which is no longer regarded as part of c-parse-state.

	* lisp/progmodes/cc-mode.el (c-basic-common-init): Call
	c-truncate-lit-pos-cache to initialize the literal cache.

2019-06-01  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-engine.el: Permute certain literal caching functions

2019-06-01  Alan Mackenzie  <acm@muc.de>

	Tidy up the literal caching in CC Mode, optimizing c-full-pp-to-literal

	(Intermediate commit)

	* lisp/progmodes/cc-engine.el, lisp/progmodes/cc-fonts.el
	* lisp/progmodes/cc-mode.el : Rename:
	c-state-semi-nonlit-pos-cache -> c-lit-pos-cache,
	c-state-semi-nonlit-pos-cache-limit -> c-lit-pos-cache-limit,
	c-state-semi-nonlit-near-cache -> c-semi-lit-near-cache,
	c-truncate-semi-nonlit-pos-cache -> c-truncate-lit-pos-cache,
	c-state-semi-trim-near-cache -> c-semi-trim-near-cache,
	c-state-semi-get-near-cache-entry -> c-semi-get-near-cache-entry,
	c-state-semi-put-near-cache-entry -> c-semi-put-near-cache-entry,
	c-state-semi-pp-to-literal -> c-semi-pp-to-literal,
	c-state-full-pp-to-literal -> c-full-pp-to-literal,
	c-state-semi-trim-cache -> c-trim-lit-pos-cache.

	* lisp/progmodes/cc-engine.el (c-semi-near-cache-limit): New variable.
	(c-truncate-lit-pos-cache): This now truncates the cache variables for all
	three lit- sub-caches.
	(c-semi-put-near-cache-entry): Increase c-semi-near-cache-limit to the
	position of the new entry.
	(c-full-near-cache-limit, c-full-lit-near-cache): New variables.
	(c-full-trim-near-cache, c-full-get-near-cache-entry)
	(c-full-put-near-cache-entry): New functions.
	(c-full-pp-to-literal): Amend to use the new functions, and to optimize the
	use of the available caches, similarly to c-semi-pp-to-literal.

2019-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	Port hbfont.c to GCC 9 with --enable-gcc-warnings

	* src/hbfont.c (hbfont_shape): Use ptrdiff_t, not int,
	for indexes that in theory might overflow int.
	Add UNINIT to pacify GCC 9 and omit an unnecessary initialization.

2019-06-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	008b263 (origin/emacs-26, emacs-26) * lisp/gnus/gnus.el: Mark autoloa...
	daf32f1 Speed up redisplay of HELLO
	d8a6d82 Improve documentation of 'safe-local-variable' property

	# Conflicts:
	#	etc/HELLO

2019-06-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	134edc1 Warn about wrong number of args for subrs (Bug#35767)
	5f01af6 Use plain symbols for eieio type descriptors (Bug#29220)
	4b24b01 Pacify GCC 9 -Wredundant-decls

2019-06-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	b2e44b4 Pacify GCC when compiling unexelf.c on Fedora 30

2019-06-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	1b2f83b Fix docstring of bookmark-get-bookmark

2019-06-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	2168165 ; * doc/lispref/nonascii.texi (Explicit Encoding): Fix typo.
	8f18d12 Improve documentation of decoding into a unibyte buffer
	7681a57 Remove redundants "See" before @xref or @pxref (Bug#35793)
	9bee762 ; * src/coding.c: Improve commentary.  (Bug#34765)
	e61349c Fix customization type of recentf-max-saved-items

	# Conflicts:
	#	src/coding.c

2019-06-01  Eli Zaretskii  <eliz@gnu.org>

	Implement the get_variation_glyphs method for HarfBuzz on MS-Windows

	* src/w32uniscribe.c [HAVE_HARFBUZZ]: DEF_DLL_FN
	hb_font_get_variation_glyph.
	(hb_font_get_variation_glyph): New redirection macro.
	(w32hb_get_variation_glyphs): New function.
	(load_harfbuzz_funcs): Load hb_font_get_variation_glyph.
	(syms_of_w32uniscribe_for_pdumper): Populate the
	get_variation_glyphs method of harfbuzz_font_driver.

2019-06-01  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in page.el and add tests

	* lisp/textmodes/page.el: Use lexical-binding.
	(forward-page): Replace `(if x nil y)' with `(unless x y)'.

	* test/lisp/textmodes/page-tests.el: New file with tests for page.el.

2019-06-01  Eli Zaretskii  <eliz@gnu.org>

	Update the documentation due to changes in loading font backends

	* doc/emacs/msdos.texi (Windows Fonts): Reflect the fact that
	Uniscribe is not enabled by default.

2019-06-01  Eli Zaretskii  <eliz@gnu.org>

	Prefer HarfBuzz to Uniscribe on MS-Windows

	* src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
	Register the Uniscribe font backend only if HarfBuzz is not
	available, or if explicitly requested via frame parameters
	or resources.

2019-06-01  Eli Zaretskii  <eliz@gnu.org>

	Move common HarfBuzz code to a common file hbfont.c

	* src/hbfont.c: New file, with code moved from w32uniscribe.c
	and renamed/modified as appropriate.
	* src/w32uniscribe.c: Move to hbfont.c DEF_DLL_FN and macro
	definitions for HarfBuzz functions used in hbfont.c
	(load_harfbuzz_funcs): Move loading of HarfBuzz functions used
	by hbfont.c to hbfont.c:hbfont_init_w32_funcs, and call that
	function from here.
	(syms_of_w32uniscribe_for_pdumper): Fill the 'shape' and
	'combining_capability' members with hbfont.c function names.
	* src/w32common.h (hbfont_init_w32_funcs) [HAVE_HARFBUZZ]: Add
	prototype.
	* src/font.h (hbfont_shape, hbfont_combining_capability)
	[HAVE_HARFBUZZ]: Add prototypes.
	* src/Makefile.in (SOME_MACHINE_OBJECTS): Add hbfont.o.

	* configure.ac (FONT_OBJ): Add hbfont.o if HAVE_HARFBUZZ.

2019-06-01  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in timezone.el and add tests

	* lisp/timezone.el: Use lexical-binding.
	* test/lisp/timezone-tests.el: New file.

2019-05-31  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in autoinsert.el and add tests

	* lisp/autoinsert.el: Use lexical-binding.
	Remove redundant :group args.
	(auto-insert): Simplify.

	* test/lisp/autoinsert-tests.el: New file with tests for
	autoinsert.el.

2019-05-31  Eli Zaretskii  <eliz@gnu.org>

	Unbreak MinGW64 build with pthreads.h installed

	* nt/mingw-cfg.site (gl_cv_func_pthread_sigmask_macro): Set to
	"no", to avoid compiling Gnulib's pthread_sigmask.c.
	Reported by Richard Copley <rcopley@gmail.com>.

2019-05-31  Eli Zaretskii  <eliz@gnu.org>

	Enhance Hebrew display in HELLO

	* etc/HELLO: Show off display of Hebrew with diacriticals
	(a.k.a. "nikkud").

2019-05-31  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of -xrm on MS-Windows broken by recent commits

	* src/w32reg.c (w32_get_string_resource): The argument V_RDB
	is a 'char **', not a 'char *'.  This fixes -xrm handling on
	MS-Windows, broken by conversion of x_get_string_resource to
	terminal-specific hook.

	(cherry picked from commit 833097cbc4856001ae77b33365faf09c1b3c30e3)

2019-05-31  Eli Zaretskii  <eliz@gnu.org>

	Unbreak display of characters on MS-Windows

	* src/w32font.c (w32font_draw): Convert the glyph_string's
	char2b array to 16-bit WCHAR data that ExtTextOutW needs.

	(cherry picked from commit 38564f8a664347c42f7614d9c91e0d49e4a073e8)

2019-05-31  Eli Zaretskii  <eliz@gnu.org>

	Add HarfBuzz font backend for MS-Windows

	* src/w32uniscribe.c [HAVE_HARFBUZZ]: Include math.h and
	hb.h.
	(bswap_32): Define for GCC 4.3.0 and later; else include
	<byteswap.h> from Gnulib.
	(struct uniscribe_font_info): Extend for HarfBuzz; 'cache' is
	now a 'void *' (all users changed).
	[HAVE_HARFBUZZ]: Define typedefs for HarfBuzz functions to be
	loaded dynamically from the HarfBuzz DLL.  Define macros to
	call those functions via function pointers.
	(uniscribe_open) [HAVE_HARFBUZZ]: Use the HarfBuzz font driver
	if the type of the font entity is 'harfbuzz'.
	(uniscribe_close) [HAVE_HARFBUZZ]: For fonts using the
	HarfBuzz backend, call hb_font_destroy to free memory used for
	the cached hb_font data.
	(uniscribe_shape): Fix assignment of character codepoints to
	glyphs from a single cluster.
	(w32hb_list, w32hb_match, free_cb, w32hb_get_font_table)
	(w32hb_get_font, w32hb_encode_char, w32hb_begin_font)
	(w32uni_combining, w32uni_general, w32uni_mirroring)
	(get_hb_unicode_funcs, w32hb_shape)
	(w32hb_combining_capability, load_harfbuzz_funcs)
	[HAVE_HARFBUZZ]: New functions.
	(syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]: Load the
	HarfBuzz DLL and register the HarfBuzz backend with its
	functions.
	* src/w32font.c (syms_of_w32font) <Qharfbuzz>: New DEFSYM.
	* src/w32fns.c (Fx_create_frame, w32_create_tip_frame)
	[HAVE_HARFBUZZ]: Register the harfbuzz font backend.
	* src/lisp.h (get_unicode_property): Declare prototype.
	* src/font.h (harfbuzz_font_driver) [HAVE_NTGUI]: Declare.
	* src/chartab.c (get_unicode_property): New function, body
	taken from get-unicode-property-internal.
	(Fget_unicode_property_internal): Call get_unicode_property
	after validating input.

	* doc/lispref/frames.texi (Font and Color Parameters):
	* doc/emacs/msdos.texi (Windows Fonts): Document support for
	HarfBuzz text shaping on MS-Windows.

	* configure.ac (HAVE_HARFBUZZ): Move out of the X-specific
	part, and consider HarfBuzz also for HAVE_W32 systems.
	Require HarfBuzz v1.2.3 for w32.

2019-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	Improve eq1/memql performance

	* src/fns.c (Fmemql, Feql): Inline to tweak performance.

2019-05-30  Mattias Engdegård  <mattiase@acm.org>

	Fix `memql' for bignums

	* src/fns.c (Fmemql): Make `memql' work for bignums.
	* test/src/fns-tests.el (test-bignum-eql): Also test `memql'.

2019-05-30  Alan Mackenzie  <acm@muc.de>

	Optimize one of CC Mode's syntax caches for long comments and strings.

	* lisp/progmodes/cc-langs.el (c-block-comment-awkward-chars): New lang
	constant and variable.

	* lisp/progmodes/cc-engine.el (c-state-semi-nonlit-pos-cache): Enhance the
	doc comment.
	(c-state-semi-get-near-cache-entry, c-state-semi-pp-to-literal): Reuse entry
	if the sought position is in a literal, and lies between the literal start and
	the entry's position.
	(c-cache-to-parse-ps-state, c-parse-ps-state-below): Amend such that instead
	of caching a state for a position after a backslash or first character of a
	2-character comment delimiter, this is done for the previous character
	position.

2019-05-30  Dmitry Gutov  <dgutov@yandex.ru>

	Fix a void-function error

	* lisp/dired-aux.el (dired-do-find-regexp):
	Require 'xref' (bug#35352).

2019-05-30  Dmitry Gutov  <dgutov@yandex.ru>

	Rename xref-refresh-results to xref-revert-buffer

	* lisp/progmodes/xref.el (xref-revert-buffer): Rename from
	'xref-refresh-results' (https://debbugs.gnu.org/35737#40).

2019-05-30  Dmitry Gutov  <dgutov@yandex.ru>

	New command ruby-find-library-file

	* lisp/progmodes/ruby-mode.el (ruby-find-library-file):
	New command.
	(ruby-mode-map): Add binding for it.

2019-05-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Add stipple support on cairo

	* src/xterm.h (struct x_bitmap_record) [USE_CAIRO]: Remove unused member img.
	Add member stipple.
	(x_bitmap_stipple) [USE_CAIRO]: Add extern.

	* src/image.c (x_bitmap_stipple) [HAVE_X_WINDOWS && USE_CAIRO]: New function.
	(image_create_bitmap_from_data, image_create_bitmap_from_file)
	(x_create_bitmap_from_xpm_data) [HAVE_X_WINDOWS && USE_CAIRO]: Initialize
	stipple member of struct x_bitmap_record.
	(free_bitmap_record) [HAVE_X_WINDOWS && USE_CAIRO]: Destroy stipple member.

	* src/xterm.c (x_fill_rectangle) [USE_CAIRO]: Inspect gc and draw stipple if
	necessary.  Use x_bitmap_stipple.

2019-05-29  Basil L. Contovounesios  <contovob@tcd.ie>

	Simplify Gnus buffer liveness checking and killing

	* lisp/gnus/gnus-agent.el (gnus-agent-synchronize-group-flags):
	Fix indentation.
	* lisp/gnus/gnus-util.el (gnus-buffer-exists-p): Define as obsolete
	alias of gnus-buffer-live-p.
	(gnus-buffer-live-p): If the given argument is or names a live
	buffer, return the corresponding buffer object instead of a boolean.
	* lisp/gnus/gnus-win.el (gnus-delete-windows-in-gnusey-frames)
	(gnus-remove-some-windows): Simplify.
	* lisp/gnus/gnus.el (gnus-prune-buffers): Redefine as alias of
	gnus-buffers.
	(gnus-kill-buffer, gnus-buffers, gnus-group-find-parameter):
	* lisp/gnus/gnus-art.el (gnus-kill-sticky-article-buffers)
	(gnus-request-article-this-buffer):
	* lisp/gnus/gnus-bcklg.el (gnus-backlog-shutdown):
	* lisp/gnus/gnus-cus.el (gnus-group-customize)
	(gnus-agent-customize-category):
	* lisp/gnus/gnus-draft.el (gnus-draft-edit-message):
	* lisp/gnus/gnus-group.el (gnus-group-set-mode-line)
	(gnus--abort-on-unsaved-message-buffers, gnus-group-compact-group):
	* lisp/gnus/gnus-msg.el (gnus-inews-add-send-actions)
	(gnus-summary-supersede-article, gnus-copy-article-buffer):
	* lisp/gnus/gnus-score.el (gnus-score-edit-current-scores)
	(gnus-score-edit-file):
	* lisp/gnus/gnus-spec.el (gnus-update-format-specifications):
	* lisp/gnus/gnus-srvr.el (gnus-server-compact-server):
	* lisp/gnus/gnus-start.el (gnus-clear-system, gnus-dribble-enter)
	(gnus-dribble-save, gnus-dribble-clear, gnus-save-newsrc-file):
	* lisp/gnus/gnus-sum.el (gnus-summary-setup-buffer)
	(gnus-update-summary-mark-positions, gnus-summary-exit)
	(gnus-deaden-summary, gnus-kill-or-deaden-summary)
	(gnus-summary-next-group):
	* lisp/gnus/gnus-win.el (gnus-configure-frame):
	* lisp/gnus/mail-source.el (mail-source-movemail):
	* lisp/gnus/message.el (message-with-reply-buffer)
	(message-with-reply, message-send-and-exit)
	(message-send-mail-with-sendmail, message-pop-to-buffer)
	(message-do-send-housekeeping, message-forward-make-body-plain)
	(message-forward-make-body-mml):
	* lisp/gnus/mm-decode.el (mm-display-external, mm-remove-part):
	* lisp/gnus/nnbabyl.el (nnbabyl-server-opened)
	(nnbabyl-possibly-change-newsgroup, nnbabyl-read-mbox)
	(nnbabyl-check-mbox):
	* lisp/gnus/nndiary.el (nndiary-save-nov):
	* lisp/gnus/nndoc.el (nndoc-close-group)
	(nndoc-possibly-change-buffer):
	* lisp/gnus/nnfolder.el (nnfolder-close-group, nnfolder-save-nov):
	* lisp/gnus/nnimap.el (nnimap-make-process-buffer, nnimap-keepalive)
	(nnimap-find-connection):
	* lisp/gnus/nnmail.el (nnmail-cache-open, nnmail-cache-close):
	* lisp/gnus/nnmbox.el (nnmbox-close-server, nnmbox-server-opened)
	(nnmbox-possibly-change-newsgroup, nnmbox-read-mbox):
	* lisp/gnus/nnml.el (nnml-save-incremental-nov, nnml-open-nov)
	(nnml-save-nov):
	* lisp/gnus/nnoo.el (nnoo-server-opened):
	* lisp/gnus/nntp.el (nntp-kill-buffer, nntp-make-process-buffer)
	(nntp-open-connection, nntp-async-trigger):
	* lisp/net/mairix.el (mairix-gnus-fetch-field): Simplify buffer
	liveness checking and killing, replacing buffer-name with
	buffer-live-p and gnus-buffer-exists-p with gnus-buffer-live-p or
	equivalent where applicable.

2019-05-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix breakage of native image scaling on XRENDER by previous change

	* src/image.c (image_create_x_image_and_pixmap_1) [HAVE_XRENDER]: Get depth if
	it is unspecified.

2019-05-29  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-05-24 flexmember: update comments
	2019-05-18 pthread_sigmask: fix --enable-threads=windows compilation
	2019-05-14 close-stream, closein, closeout: simplify
	2019-05-09 verify: remove verify_true
	2019-05-09 verify: support C2X and C++17 static_assert
	* build-aux/config.guess, build-aux/config.sub:
	* doc/misc/texinfo.tex, lib/flexmember.h, lib/verify.h:
	* m4/flexmember.m4, m4/pthread_sigmask.m4:
	Copy from Gnulib
	* m4/gnulib-comp.m4: Regenerate.

2019-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Update author/maintainer info
	This mostly updates email addresses and fixes spellings of
	author and maintainer names.

2019-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (add-hook): Turn `append` into `depth` (bug#35508)

	Make it possible to control the relative ordering of functions on hooks by
	specifying `depth` in the same was as was possible with `add-function`.

	* lisp/electric.el (electric--sort-post-self-insertion-hook):
	Delete function.
	(electric-indent-mode, electric-layout-mode, electric-quote-mode):
	* lisp/elec-pair.el (electric-pair-mode): Use new `depth` arg instead of
	electric--sort-post-self-insertion-hook.

	* lisp/emacs-lisp/syntax.el (syntax-propertize, syntax-ppss):
	Use new `depth` arg to make sure no one accidentally gets added
	after syntax-ppss-flush-cache.

	* doc/lispref/modes.texi (Setting Hooks): Document new `depth` arg.

	* test/lisp/subr-tests.el (subr-tests-add-hook-depth): New test.

2019-05-29  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in makesum.el and add tests

	* lisp/makesum.el: Use lexical-binding.
	(make-command-summary): Replace `if..progn' with `when'.
	(double-column): Add docstring and apply trivial simplifications.

	* test/lisp/makesum-tests.el: New file with tests for makesum.el.

2019-05-29  Basil L. Contovounesios  <contovob@tcd.ie>

	Simplify gnus-or and gnus-and

	* lisp/gnus/gnus-art.el: Make implicit seq.el dependency explicit.
	(gnus-treat-predicate): Use seq-some in place of mapcar + gnus-or
	and evaluate lambda predicate.
	* lisp/gnus/gnus-util.el (gnus-or, gnus-and): Simplify.

2019-05-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Rework cairo image support to improve consistency (Bug#35871)

	* src/dispextern.h (Emacs_Pix_Container) [USE_CAIRO]: New struct.  Also used
	as aliases of Emacs_Pixmap and Emacs_Pix_Context.
	(x_kill_gs_process) [USE_CAIRO]: #ifdef out extern.
	(RGB_PIXEL_COLOR) [USE_CAIRO]: Define as unsigned long.

	* src/image.c: Include stdint.h.  On cairo, remove existing image support
	code, use non-X11-specific code for XBM/XPM, and remove POSTSCRIPT support.
	(PUT_PIXEL): New macro.  Use it instead of XPutPixel when not specific to X11.
	(GET_PIXEL, NO_PIXMAP, PIX_MASK_RETAIN, PIX_MASK_DRAW)
	(RGB_TO_ULONG, ARGB_TO_ULONG, RED_FROM_ULONG)
	(GREEN_FROM_ULONG, BLUE_FROM_ULONG, RED16_FROM_ULONG)
	(GREEN16_FROM_ULONG, BLUE16_FROM_ULONG)	[USE_CAIRO]: New macros.
	(image_create_pix_container, image_pix_container_put_pixel)
	(image_pix_context_get_pixel, image_pix_container_create_from_bitmap_data)
	(cr_create_cr_surface_from_image) [USE_CAIRO]: New functions.
	(image_create_x_image_and_pixmap_1, image_destroy_x_image)
	(image_check_image_size): Extract X11-specific code from here ...
	(x_create_x_image_and_pixmap, x_destroy_x_image)
	(x_check_image_size) [HAVE_X_WINDOWS]: ... to here.
	(x_create_bitmap_mask) [HAVE_X_WINDOWS]: Use them.  Inline specialized version
	of four_corners_best.
	(prepare_image_for_display, image_clear_image_1, image_destroy_x_image)
	(gui_put_x_image, image_put_x_image, image_get_x_image, image_unget_x_image)
	(Create_Pixmap_From_Bitmap_Data, lookup_rgb_color)
	(image_to_emacs_colors) [USE_CAIRO]: Add cairo support.
	(image_background, png_load_body) [USE_CAIRO]: Use image_alloc_image_color for
	img->background.
	(image_sync_to_pixmaps) [USE_CAIRO]: #ifdef out function.
	(Create_Pixmap_From_Bitmap_Data) [HAVE_X_WINDOWS]: Move image_check_image_size
	call from here ...
	(xbm_load_image): ... to here.
	(xpm_load_image):
	(image_build_heuristic_mask, pbm_load, gif_load) [USE_CAIRO]: Use
	lookup_rgb_color for argument of PUT_PIXEL.
	(image_pixmap_draw_cross) [HAVE_X_WINDOWS || USE_CAIRO]: New function.
	(image_disable_image) [HAVE_X_WINDOWS || USE_CAIRO]: Use it.
	(CrossForeground) [!HAVE_NTGUI && !HAVE_NS]: New macro.
	(image_disable_image) [!HAVE_NTGUI && !HAVE_NS]: Use it.

	* src/xterm.c (handle_one_xevent) <ClientMessage> [USE_CAIRO]: #ifdef out
	x_kill_gs_process call.
	(x_free_pixmap) [USE_CAIRO]: Free Emacs_Pix_Container and data it contains.

2019-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Improve previous change for tool bar image support on GTK+2 with cairo

	* src/gtkutil.c (xg_get_pixbuf_from_surface) [USE_CAIRO && !HAVE_GTK3]: Remove
	unused argument f.  All callers changed.  Handle general alpha value.

2019-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/mule-cmds.el (encoded-string-description): Require unibyte string as input

2019-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/mule-cmds.el (encode-coding-char): Fix ASCII case

	Don't bother with string-as-multibyte since `string` already returns
	multibyte when needed.  Don't forget to encode when the string is
	ASCII, e.g. for ebcdic case and to make sure we always return
	a unibyte string.

	* test/lisp/international/mule-tests.el (mule-cmds-tests--encode-ebcdic):
	New test.

2019-05-28  Michael Heerdegen  <michael_heerdegen@web.de>

	* doc/misc/cl.texi (Macro Bindings): Add a detail

	Say that calls of 'cl-macrolet' bound macros are expanded in the
	global environment.

2019-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-art.el: Use mail-header-p

	(gnus-summary-save-in-pipe, gnus-article-prepare)
	(gnus-request-article-this-buffer): Use mail-header-p instead of vectorp.
	(gnus-request-article-this-buffer): Use insert-buffer-substring since
	it doesn't behave like string-make-multibyte any more.

2019-05-28  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of -xrm on MS-Windows broken by recent commits

	* src/w32reg.c (w32_get_string_resource): The argument V_RDB
	is a 'char **', not a 'char *'.  This fixes -xrm handling on
	MS-Windows, broken by conversion of x_get_string_resource to
	terminal-specific hook.

2019-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/frameset.el: Stop using obsolete registerv objects

	(frameset-register): New type.
	(register-val-jump-to): Define on this new type, replacing
	frameset--jump-to-register.
	(register-val-describe): Define on this new type, replacing
	frameset--print-register.
	(frameset-to-register): Use new frameset-make-register.
	(frameset--reuse-frame): η-reduce.

2019-05-28  Stefan Kangas  <stefankangas@gmail.com>

	Cleanup of TODO to prefer report-emacs-bug

	* etc/TODO: Remove already completed removal of `report-calc-bug'.
	* lisp/calc/calc.el: Remove any mention of `report-calc-bug'.
	* lisp/epg-config.el: Redefine `epg-bug-report-address' as obsolete
	variable alias for `report-emacs-bug-address'.
	* lisp/expand.el: Remove any mention of `expand-submit-report'.
	* lisp/obsolete/fast-lock.el: Remove commented out code for
	`fast-lock-submit-bug-report'.

2019-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Support tool bar icon image also on GTK+2 with cairo

	* src/gtkutil.c (xg_get_pixbuf_from_surface) [USE_CAIRO && !HAVE_GTK3]: New
	function.
	(xg_get_image_for_pixmap) [USE_CAIRO && !HAVE_GTK3]: Use it.
	(xg_tool_item_stale_p, update_frame_tool_bar) [USE_CAIRO && !HAVE_GTK3]: Use
	cairo code also on GTK+2.

2019-05-27  Glenn Morris  <rgm@gnu.org>

	* test/lisp/autorevert-tests.el: Give on on remote hydra.nixos tests.

	(auto-revert--test-enabled-remote): Disable on hydra.nixos.

2019-05-27  Glenn Morris  <rgm@gnu.org>

	* test/lisp/autorevert-tests.el: Try to fix remote hydra.nixos tests.

2019-05-27  Simen Heggestøyl  <simenheg@gmail.com>

	Remap `complete-symbol' in CSS mode

	* lisp/textmodes/css-mode.el (css-mode-map): Remap `complete-symbol'
	to `completion-at-point'.
	(css-mode): Update docstring to produce the right key binding.

2019-05-27  Mattias Engdegård  <mattiase@acm.org>

	Correctly eliminate duplicate cases in switch compilation

	Fix code mistakes that prevented the correct elimination of duplicated
	cases when compiling a `cond' form to a switch bytecode, as in

	  (cond ((eq x 'a) 1)
	        ((eq x 'b) 2)
	        ((eq x 'a) 3)   ; should be elided
	        ((eq x 'c) 4))

	Sometimes, this caused the bytecode to use the wrong branch (bug#35770).

	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Return obj2 eval'ed.
	(byte-compile-cond-jump-table-info):
	Discard redundant condition.  Use `obj2' as evaluated.
	Discard duplicated cases instead of failing the table generation.
	* test/lisp/emacs-lisp/bytecomp-tests.el (toplevel): Require subr-x.
	(byte-opt-testsuite-arith-data, bytecomp-test--switch-duplicates): Test.

2019-05-27  Michael Albinus  <michael.albinus@gmx.de>

	Another attempt to fix Bug#35769

	* lisp/net/tramp.el (tramp-call-process, tramp-call-process-region)
	(tramp-process-lines): Suppress `process-environment' entries
	dedicated for remote processes.  (Bug#35769)

2019-05-26  Simen Heggestøyl  <simenheg@gmail.com>

	Add a menu bar menu for CSS mode

	* lisp/textmodes/css-mode.el (css-mode-map): Add menu bar menu.

2019-05-26  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Revert fix for Bug#35769

2019-05-26  Noam Postavsky  <npostavs@gmail.com>

	Avoid infloop in read-multiple-choice (Bug#32257)

	* lisp/emacs-lisp/rmc.el (read-multiple-choice): Use `read-event'
	which won't get stuck (return the same event over and over again) for
	non-character events, unlike `read-char'.

2019-05-26  Basil L. Contovounesios  <contovob@tcd.ie>

	Tweak recent additions in tabify-tests.el

	* test/lisp/tabify-tests.el (tabify-tests--test-changes): Rename
	third argument to avoid "lexical argument shadows dynamic variable"
	warnings.  Use mapconcat in place of mapcar+concat.
	(tabify-tests-untabify, tabify-tests-tabify): Quote function symbols
	as such.

2019-05-26  Simen Heggestøyl  <simenheg@gmail.com>

	Use lexical-binding in paren.el and add tests

	* lisp/paren.el: Use lexical-binding.
	(show-paren--default): Use imperative form in doc-string.

	* test/lisp/paren-tests.el: New file with tests for paren.el.

2019-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Update author/maintainer info

	Update email addresses and fix spellings of some author and
	maintainer names.

2019-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Remove Maintainer: when it duplicates Author:

	The convention is that a file with Author: but not Maintainer:
	means the author is a maintainer, which makes it confusing
	when a file lists the same person as author and maintainer.
	Avoid the confusion by removing the duplicate Maintainer: line.

2019-05-25  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in tabify.el and add tests

	* lisp/tabify.el: Use lexical-binding.
	* test/lisp/tabify-tests.el: New file.

2019-05-25  Paul Eggert  <eggert@cs.ucla.edu>

	* CONTRIBUTE: Split git configuration from fetch-and-build

2019-05-25  Paul Eggert  <eggert@cs.ucla.edu>

	Document ‘Maintainer: emacs-devel@gnu.org’

	* doc/lispref/tips.texi (Library Headers): Document that the
	Maintainer: line now says ‘emacs-devel@gnu.org’ rather than ‘FSF’.

2019-05-25  Paul Eggert  <eggert@cs.ucla.edu>

	Go back to "Maintainer: emacs-devel@gnu.org"

	Restore lines saying "Maintainer: emacs-devel@gnu.org" when there is
	no special maintainer for a file.  Although this wasn't documented
	it was common practice and removing the lines didn't have consensus.

2019-05-25  Dmitry Gutov  <dgutov@yandex.ru>

	Expand some xref documentation

	* lisp/progmodes/xref.el (xref-show-xrefs-function)
	(xref-show-definitions-function, xref--create-fetcher):
	Add or extend the docstring.

2019-05-25  Eric S. Raymond  <esr@thyrsus.com>

	Implement and document XDG-style startup files under ~/.config.

	* lisp/startup.el (command-line): Allow XDG-style as well as old
	 style init paths.
	* doc/emacs/custom.texi: Document the above change.

2019-05-25  Mauro Aranda  <maurooaranda@gmail.com>

	Remove redundants "See" before @xref or @pxref (Bug#35793)

	* doc/misc/gnus.texi (Group Parameters): Remove redundant "See" before
	cross reference, add comma after it.

2019-05-25  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Obtaining Tramp): Tramp is available via GNU ELPA.

2019-05-24  Dmitry Gutov  <dgutov@yandex.ru>

	Rename xref--revert-xref-buffer to xref-refresh-results

	* lisp/progmodes/xref.el (xref-refresh-results):
	Rename from xref--revert-xref-buffer (bug#35702).

2019-05-24  Dmitry Gutov  <dgutov@yandex.ru>

	Support reverting in xref-find-definitions results as well

	* lisp/progmodes/xref.el (xref--show-xref-buffer): Expect the
	first argument to always be a function (bug#35702).  Handle a
	FETCHED-XREFS entry in ALIST.
	(xref--show-defs-buffer): Update accordingly.
	(xref--create-fetcher): Extract from xref--find-xrefs.
	(xref--find-definitions): Use it.

2019-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package-install-from-archive): Fix last change

	Don't place the unibyte content of the downloaded file into
	a multibyte buffer.

2019-05-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#35769

	* lisp/net/tramp-adb.el (tramp-adb-connection-local-default-profile):
	* lisp/net/tramp-integration.el (tramp-connection-local-default-profile):
	Do not set it on w32 systems.  (Bug#35769)

2019-05-24  Matthew Bauer  <mjbauer95@gmail.com>

	Add "Enter Auth" prompt handling for OpenVPN (Bug#35724)

	* lisp/comint.el (comint-password-prompt-regexp): Allow "Enter Auth"
	at the beginning.

2019-05-23  Dmitry Gutov  <dgutov@yandex.ru>

	Support "reverting" Xref buffers (bug#35702)

	* lisp/progmodes/xref.el (xref--fetcher): New variable.
	(xref--xref-buffer-mode-map): Add binding for 'g'.
	(xref--revert-xref-buffer): New command.
	(xref--show-xref-buffer): Accept a function as the first argument.
	(xref--show-xrefs): Same.
	(xref--find-xrefs): Pass the above a fetcher function.

	* lisp/progmodes/project.el (project-find-regexp)
	(project-or-external-find-regexp): Same.

	* lisp/dired-aux.el (dired-do-find-regexp): Same.

2019-05-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Undo use of Emacs_Pixmap over Pixmap for x_kill_gs_process

	* src/dispextern.h (x_kill_gs_process):
	* src/image.c (x_kill_gs_process): Undo use of Emacs_Pixmap over Pixmap.
	* src/dispextern.h (x_kill_gs_process): Move extern inside HAVE_X_WINDOWS.

2019-05-23  Michael Heerdegen  <michael_heerdegen@web.de>

	Improve documentation of the 'function' special form

	Point out that 'function' quoting is beneficial also for symbols.

	* src/eval.c (function): Enhance docstring.
	* doc/lispref/functions.texi (Anonymous Functions): Improve
	documentation.

2019-05-23  Michael Heerdegen  <michael_heerdegen@web.de>

	* lisp/emacs-lisp/cl-macs.el (cl-callf): Tweak in docstring

	Say that lambdas are also allowed as FUNC argument.

2019-05-22  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid backslash-newline-newline in source code

	* etc/refcards/Makefile (PDF_FRENCH):
	* lib-src/etags.c (LOOP_ON_INPUT_LINES):
	* lisp/dabbrev.el (dabbrev-check-other-buffers):
	* lisp/org/org-id.el (org-id-link-to-org-use-id):
	* lisp/org/org.el (org-support-shift-select, org-file-apps):
	* src/alloc.c (CHECK_ALLOCATED_AND_LIVE)
	(CHECK_ALLOCATED_AND_LIVE_SYMBOL):
	* src/frame.h (FRAME_PIXEL_WIDTH_TO_TEXT_COLS):
	* src/regex-emacs.c (PREFETCH_NOLIMIT):
	* src/window.h (WINDOW_BUFFER):
	Remove backslash-newline that immediately precedes another
	newline, as this is not the usual style and is confusing.

2019-05-22  Eli Zaretskii  <eliz@gnu.org>

	Unbreak display of characters on MS-Windows

	* src/w32font.c (w32font_draw): Convert the glyph_string's
	char2b array to 16-bit WCHAR data that ExtTextOutW needs.

2019-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/srecode/insert.el: Use lexical-binding

	(srecode-insert-method): No need for lexical-let any more.

2019-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/allout.el, lisp/allout-widgets.el: Use cl-lib and pcase

2019-05-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Merge branch 'master' into harfbuzz

2019-05-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Make Cairo build obey hint-style font setting (Bug#35781)

	* src/ftfont.h (ftfont_open2): Remove extern.
	(ftfont_fix_match, ftfont_add_rendering_parameters)
	(ftfont_entity_pattern): Add externs.
	(struct font_info): Remove member bitmap_strike_index.
	(struct font_info) [USE_CAIRO]: Remove member ft_size_draw.  All uses removed.
	Add member bitmap_position_unit.

	* src/xftfont.c (xftfont_fix_match, xftfont_add_rendering_parameters): Move
	functions from here ...
	* src/ftfont.c (ftfont_fix_match, ftfont_add_rendering_parameters): ... to
	here.  All uses changed.
	* src/xftfont.c (xftfont_open): Extract FcPattern creation from font entity
	from here ...
	* src/ftfont.c (ftfont_entity_pattern):	... to here.
	* src/xftfont.c (syms_of_xftfont): Move DEFSYMs for Fontconfig's rendering
	parameters from here ...
	* src/ftfont.c (syms_of_ftfont): ... to here.

	* src/ftfont.c (ftfont_open, ftfont_open2): Undo introduction of
	bitmap_strike_index.  Merge functions into ftfont_open.

	* src/ftcrfont.c (ftcrfont_open): Align code with xftfont_open rather than
	ftfont_open.
	(ftcrfont_close): Likewise.
	(ftcrfont_has_char, ftcrfont_encode_char):
	(ftcrfont_otf_capability) [HAVE_LIBOTF]:
	(ftcrfont_variation_glyphs) [HAVE_OTF_GET_VARIATION_GLYPHS]: New functions.
	(ftcrfont_driver): Register them.
	(ftcrfont_get_bitmap, ftcrfont_anchor_point):
	(ftcrfont_shape) [HAVE_M17N_FLT && HAVE_LIBOTF]: Use bitmap_position_unit
	instead of bitmap_strike_index to screen bitmap fonts.
	(ftcrfont_get_bitmap, ftcrfont_anchor_point):
	(ftcrfont_otf_capability) [HAVE_LIBOTF]:
	(ftcrfont_shape) [HAVE_M17N_FLT && HAVE_LIBOTF]:
	(ftcrfont_variation_glyphs) [HAVE_OTF_GET_VARIATION_GLYPHS]: Temporarily
	assign ftcrfont_info->ft_size and call corresponding ftfont functions.
	(ftcrfont_draw): Don't flush cairo surface when exporting.

2019-05-22  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix url-copy-file argument handling

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2019-05/msg00500.html
	* lisp/url/url-handlers.el: Update autoloaded docstrings.
	Quote function symbols as such.
	(url-handler-regexp): Make grouping construct shy.
	(url-file-handler, url-insert-buffer-contents)
	(url-handlers-create-wrapper, url-handlers-set-buffer-mode):
	Simplify.
	(url-file-handler-identity): Clarify calling convention.
	(file-name-absolute-p, url-file-local-copy): Mark ignored arguments
	as such.
	(url-handler-directory-file-name): Prefer string comparison over
	regexp match where either will do.
	(url-copy-file): Handle integer as third argument as per copy-file.

2019-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/sgml-mode.el: Fix lone `>` in sgml text

	(sgml--syntax-propertize-ppss):New variable and function.
	(sgml-syntax-propertize-rules): Use it.
	Don't ignore quotes not followed by a matching quote or a '>' or '<'.
	(sgml-syntax-propertize): Set up sgml--syntax-propertize-ppss.

	* test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
	Add test for lone '>'.

2019-05-22  Dmitry Gutov  <dgutov@yandex.ru>

	Make xref-find-definitions more customizable

	* lisp/progmodes/xref.el (xref--show-defs-buffer): New function.
	Move a bit of logic from xref--show-defs to make it more
	customizable.
	(xref--push-markers): New function, extracted from
	xref--show-xrefs.
	(xref-show-definitions-function): Set to the new function.

2019-05-22  Dmitry Gutov  <dgutov@yandex.ru>

	Separate xref-find-definitions' behavior from other commands

	* lisp/progmodes/xref.el (xref-show-definitions-function):
	New variable.
	(xref--show-defs): Split off from xref--show-xrefs.
	(xref--find-definitions): Use it.
	(xref--not-found-error): New function.
	(xref--show-xrefs): Simplify.  Show the list buffer even when
	there is just one item in the list.  Remove the last argument.

	* lisp/dired-aux.el (dired-do-find-regexp): Update accordingly.

2019-05-22  Paul Eggert  <eggert@cs.ucla.edu>

	Remove fixnum restriction on some display vars

	This is a minor patch to remove some fixnum restrictions.
	Many more such patches are needed, but one thing at a time.
	* doc/emacs/custom.texi (Examining): Update fill-column example.
	* src/buffer.c (fill-column, left-margin, tab-width)
	(buffer-saved-size, left-margin-width, right-margin-width)
	(left-fringe-width, right-fringe-width, scroll-bar-width)
	(scroll-bar-height, buffer-display-count):
	Allow any integer; do not restrict to fixnums.
	* src/character.h (SANE_TAB_WIDTH): Do not assume tab_width
	is a nonnegative fixnum.
	(sanitize_tab_width): Take a Lisp_Object integer, not an
	EMACS_INT.  Only use changed.
	* src/data.c (store_symval_forwarding): Remove unnecessary
	SYMBOLP since the predicate (e.g., Qintegerp) is always a
	symbol (leave the test in as an eassert).  Avoid assignments
	inside if-conditions.
	* src/fileio.c (Fdo_auto_save): Do not assume
	buffer-saved-size is a fixnum.  Avoid undefined behavior
	on EMACS_INT overflow by multiplying a fixnum by at most 4,
	not by at most 13.
	* src/window.c (set_window_buffer): When buffer-display-count
	is too large for a fixnum, make it a bignum.
	* src/xdisp.c (FILL_COLUMN_INDICATOR_NEEDED): Remove macro, ...
	(fill_column_indicator_column): ... replacing with this new function.
	All uses changed.  The function is a bit pickier, to prevent
	problems with non-character fixnums and columns out of range
	for int, and to remove the assumption that integers are in
	fixnum range.
	(append_space_for_newline, extend_face_to_end_of_line):
	Avoid undefined behavior with signed integer overflow.
	Simplify.

2019-05-22  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	b0da915 (origin/emacs-26, emacs-26) Fix a typo in ELisp manual
	400907b Add option to disable help completion autoloading (Bug#28607)
	122ba16 Don't segfault on force-window-update of deleted window
	015b12e Fix typo in ELisp manual
	eadf044 Remove repeated function call in picture.el
	1228a90 ; Fix mm-destroy-parts docstring typo
	6cfd68d Fix Hideshow key binding typo in Emacs manual

2019-05-22  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	5d24af8 Remove from docs references to obsolete MULE variables
	2bdc419 Do potentially destructive operations in prepare-commit-msg

	# Conflicts:
	#	src/search.c

2019-05-21  Alexander Gramiak  <agrambot@gmail.com>

	* src/xfont.c (xfont_draw): Allocate the XChar2b array (Bug#35814)

2019-05-21  Alan Third  <alan@idiocy.org>

	Fix some deprecation notices on macOS 10.14

	* src/nsimage.m ([EmacsImage setXBMColor:]): Replace colorSpaceName
	code.
	* src/nsmenu.m ([EmacsDialogPanel initWithContentRect:styleMask:]):
	Remove reference to oneShot.
	* src/nsterm.h (ns_enable_screen_updates): Remove function prototype.
	(NSPasteboardTypeString):
	(NSPasteboardTypeTabularText):
	(NSControlStateValueOn):
	(NSControlStateValueOff):
	(NSBezelStyleRounded):
	(NSPasteboardTypeURL): Define new names and replace all callers.
	* src/nsterm.m ([EmacsColor colorUsingDefaultColorSpace]): Replace
	calls to colorUsingColorSpaceName on macOS > 10.7.
	([EmacsView performDragOperation:]): Add FIXME about deprecation.
	(ns_disable_screen_updates):
	(ns_enable_screen_updates): Remove functions and all callers.
	(disable_screen_updates_count): Remove variable.
	* src/macfont.m (macfont_draw): Use CGContext instead of graphicsPort
	on macOS >= 10.10

2019-05-21  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Pacify libpng on interlaced images (Bug#35843)

	* src/image.c (png_set_interlace_handling) [WINDOWSNT]:
	New function to link.
	(init_png_functions): Link it.
	(png_load_body): Call it before calling png_read_update_info.

2019-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	Remove time-date debugging scaffolding

	Problem reported by Lars Ingebrigtsen in:
	https://lists.gnu.org/r/emacs-devel/2019-05/msg00721.html
	* lisp/calendar/time-date.el (date-to-time):
	Use plain condition-case, not condition-case-unless-debug.

2019-05-21  Federico Tedin  <federicotedin@gmail.com>

	Use lexical-binding in tempo.el and add tests

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2019-05/msg00395.html
	* lisp/tempo.el: Use lexical-binding.
	(tempo-define-template): Expand documentation to mention
	`tempo-user-elements'.
	(tempo-local-tags, tempo-collection, tempo-dirty-collection)
	(tempo-marks, tempo-match-finder): Define with defvar-local.
	(tempo-named-insertions, tempo-region-start, tempo-region-stop): Make
	them automatically buffer-local.
	* test/lisp/tempo-tests.el: Add tests for tempo.el.

2019-05-21  Alan Mackenzie  <acm@muc.de>

	C Mode: Fix indentation of DEFUN's function's argument list.

	Formally, when DEFUNs still used knr argument lists, these were indented by
	the syntactic context knr-argdecl-intro (5 columns).  Since this is no longer
	the case, we now just use c-basic-offset (2 columns in "gnu" style).

	* lisp/progmodes/cc-align.el (c-indent-gnu-DEFUN-intro-cont): Modernize the
	indentation.  Amend the doc string accordingly.

2019-05-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/ftcrfont.c (ftcrfont_open): Skip zero glyph index.

2019-05-20  Stephen Leake  <stephen_leake@stephe-leake.org>

	Revert recent project-find-file change

	* lisp/progmodes/project.el (project-find-file): Delete recently added
	'filename' arg; just use project-find-file-in.

2019-05-20  Mattias Engdegård  <mattiase@acm.org>

	Allow zero-argument rx `or' and `seq' forms

	Make the rx `or' and `seq' forms accept zero arguments to produce a
	never-matching regexp and an empty string, respectively.

	* lisp/emacs-lisp/rx.el: Require cl-extra.
	(rx-constituents, rx-or): Permit zero args.
	(rx): Amend doc string for `or' and `seq'.
	* test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-seq): Test the change.
	* etc/NEWS (Changes in Specialized Modes and Packages): Mention the change.

2019-05-20  Mattias Engdegård  <mattiase@acm.org>

	Revert "Allow zero-argument rx `or' and `seq' forms"

	This reverts commit b552fc05c231ca6800330a318d3a74ddd0f5a13c.
	It caused a bootstrapping failure which I have yet to resolve - sorry.

2019-05-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve C and Elisp Git diff hunk headers

	For discussion, see the following threads:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00457.html
	https://lists.gnu.org/r/emacs-devel/2019-05/msg00369.html

	* autogen.sh: Extend the built-in Git xfuncname pattern 'cpp' to
	match preprocessor and DEFUN macros, and the 'elisp' pattern to
	match cl-lib and other top-level defuns.

2019-05-20  Stefan Kangas  <stefankangas@gmail.com>

	Use lexical-binding in delim-col.el and add tests

	Thanks to Basil L. Contovounesios for additional cleanups.
	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2019-05/msg00177.html

	* lisp/delim-col.el: Use lexical-binding.

	* test/lisp/delim-col-tests.el: New file.
	(delim-col-tests-delimit-columns-before-after)
	(delim-col-tests-delimit-columns)
	(delim-col-tests-delimit-columns-format/nil)
	(delim-col-tests-delimit-columns-format/padding)
	(delim-col-tests-delimit-columns-format/separator)
	(delim-col-tests-delimit-columns-separator)
	(delim-col-tests-delimit-columns-str-before-after)
	(delim-col-tests-delimit-columns-str-separator)
	(delim-col-tests-delimit-rectangle): New unit tests.

2019-05-20  Alan Mackenzie  <acm@muc.de>

	CC Mode: Remove unused code from c-maybe-re-mark-raw-string

	Acknowledge that when the function is called, it is always at the start of a
	string, never in the middle or at the end of one.

	* lisp/progmodes/cc-engine.el (c-maybe-re-mark-raw-string): Reformulate the
	cond form into a `when' form, with all but the first arm of the cond
	discarded.

2019-05-20  Lars Ingebrigtsen  <larsi@gnus.org>

	w32--os-description: Fix previous change

	* lisp/w32-fns.el (w32--os-description): Fix inadvertent "o" added
	to the end of the function name in the previous patch (bug#35807).

2019-05-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Mark nnheader-cancel-timer as obsolete and adjust callers

	* lisp/gnus/nnheader.el (nnheader-cancel-timer)
	(nnheader-cancel-function-timers): Mark as obsolete.

	* lisp/gnus/nntp.el (nntp-with-open-group-function)
	(nntp-async-stop): Adjust caller.

	* lisp/gnus/gnus-art.el (gnus-stop-date-timer): Ditto.

	* lisp/gnus/gnus-async.el (gnus-async-prefetch-next): Ditto.

	* lisp/gnus/gnus-demon.el (gnus-demon-run-callback)
	(gnus-demon-cancel): Ditto.

	* lisp/gnus/mail-source.el (mail-source-report-new-mail): Ditto.

	* lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article): Ditto.

2019-05-20  Mattias Engdegård  <mattiase@acm.org>

	Allow zero-argument rx `or' and `seq' forms

	Make the rx `or' and `seq' forms accept zero arguments to produce a
	never-matching regexp and an empty string, respectively.

	* lisp/emacs-lisp/rx.el (rx-constituents, rx-or): Permit zero args.
	(rx): Amend doc string for `or' and `seq'.
	* test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-seq): Test the change.
	* etc/NEWS (Changes in Specialized Modes and Packages): Mention the change.

2019-05-20  Mattias Engdegård  <mattiase@acm.org>

	Avoid polling in global-auto-revert-mode (bug#35418)

	Make `auto-revert-avoid-polling' have effect in global-auto-revert-mode.
	Buffers actually handled by that mode are marked with a non-nil value
	of `auto-revert--global-mode'.  When global-auto-revert-mode is
	entered, eligible buffers are marked in that way, and hooks are set up
	to mark new buffers and take care of buffers whose file names change.
	This way the existing poll-avoidance logic can be used, since the
	entire set of buffers in auto-revert is known.

	A new hook, `after-set-visited-file-name-hook', was added to handle
	the case when the file name of a tracked buffer changes.

	* lisp/autorevert.el (auto-revert-avoid-polling): Amend doc string.
	(auto-revert--global-mode): New buffer-local variable.
	(global-auto-revert-mode): Mark existing buffers and set up hooks when
	mode is entered; do the opposite when exited.
	(auto-revert--global-add-current-buffer)
	(auto-revert--global-adopt-current-buffer)
	(auto-revert--set-visited-file-name-advice): New functions.
	(auto-revert--polled-buffers, auto-revert--need-polling-p)
	(auto-revert-notify-handler)
	(auto-revert-active-p): Modify logic to cover global-auto-revert-mode.
	* lisp/files.el (after-set-visited-file-name-hook): New hook.
	(set-visited-file-name-hook): Call new hook.
	* test/lisp/autorevert-tests.el (top):  Use lexical-binding.
	(auto-revert-test--write-file, auto-revert-test--buffer-string)
	(auto-revert-test--wait-for, auto-revert-test--wait-for-buffer-text)
	(auto-revert-test05-global-notify): New test.
	* doc/lispref/hooks.texi (Standard Hooks):
	Mention new hook (in a comment, since it's unclear whether it should
	actually be documented here)
	* etc/NEWS (Changes in Specialized Modes and Packages): Update entry.

2019-05-20  Michael Albinus  <michael.albinus@gmx.de>

	Fix problems in autorevert-tests

	* test/lisp/autorevert-tests.el (auto-revert--deftest-remote):
	Fix typo.
	(auto-revert-test02-auto-revert-deleted-file): On emba, there are
	no stopped events.

2019-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fixes for "Maintainer:" and related lines

	Mostly, this just removes "Maintainer: emacs-devel@gnu.org" lines,
	which are not that useful.  It also cleans up and regularizes a
	few similar lines.

2019-05-19  Alexander Gramiak  <agrambot@gmail.com>

	Use HAVE_WINDOW_SYSTEM over HAVE_X11 || HAVE_NTGUI || HAVE_NS

	* src/keyboard.c (kbd_buffer_get_event, make_lispy_event): Use
	HAVE_WINDOW_SYSTEM.

2019-05-19  Alexander Gramiak  <agrambot@gmail.com>

	Introduce Emacs_Pix_Container and Emacs_Pix_Context typedefs

	Emacs_Pix_Container is a pointer to a struct representing pixmap data
	on the backend.  Emacs_Pix_Context is the context for the
	bitmap/pixmap on the backend.  Only w32 currently makes this
	distinction; they are otherwise the same type.

	* src/dispextern.h: Remove XImagePtr in favor of
	using XImage* directly. Rename XImagePtr_or_DC to Emacs_Pix_Context.
	[HAVE_X_WINDOWS] Alias Emacs_Pix_Container and
	Emacs_Pix_Context to XImage*.
	[HAVE_NS] Alias Emacs_Pix_Container and Emacs_Pix_Context to trivial
	Emacs_Pixmap definition.
	[HAVE_NTGUI]: Alias Emacs_Pix_Container to XImage* and
	Emacs_Pix_Context to HDC.

	* src/dispextern.h:
	* src/image.c: Use Emacs_Pix_Container over XImagePtr and
	Emacs_Pix_Context over XImagePtr_or_DC.

2019-05-19  Alexander Gramiak  <agrambot@gmail.com>

	Replace XChar2b with unsigned in all font backends

	The xfont backend using XChar2b in its API doesn't mean that we should
	use it everywhere else.

	* src/dispextern.h (glyph_string):
	* src/ftcrfont.c (ftcrfont_draw):
	* src/ftxfont.c (ftxfont_draw):
	* src/w32term.c (w32_draw_glyphless_glyph_string_foreground):
	* src/xdisp.c (init_glyph_string, get_char_face_and_encoding)
	(get_glyph_face_and_encoding, get_char_glyph_code)
	(fill_gstring_glyph_string, fill_stretch_glyph_string)
	(normal_char_ascent_descent, gui_get_glyph_overhangs)
	(compute_overhangs_and_x, gui_produce_glyphs):
	* src/xfont.c (xfont_get_pcm, xfont_chars_supported, xfont_open)
	(xfont_encode_char, xfont_text_extents, xfont_draw)
	* src/xftfont.c (xftfont_draw):
	* src/xterm.c (x_compute_glyph_string_overhangs)
	(x_draw_glyphless_glyph_string_foreground): Use unsigned over XChar2b.

	* src/nsgui.h:
	* src/w32gui.h:
	* src/xterm.h: Remove XChar2b, STORE_XCHAR2B, XCHAR2B_BYTE1, and
	XCHAR2B_BYTE2 typedefs and macros.

	* src/font.h (font_driver):
	(ftfont_text_extents)
	* src/ftcrfont.c (ftcrfont_text_extents):
	* src/ftfont.c (ftfont_text_extents):
	* src/macfont.m (macfont_text_extents):
	* src/nsfont.m (nsfont_text_extents):
	* src/w32font.h (w32_font_text_extents):
	* src/font.c (xfont_text_extents):
	* src/xftfont.c (xftfont_text_extents): Make code parameter const.

2019-05-19  Alexander Gramiak  <agrambot@gmail.com>

	Introduce Emacs_GC struct and typedef

	* src/dispextern.h [HAVE_X_WINDOWS]: Alias Emacs_GC to XGCValues.
	[!HAVE_X_WINDOWS]: Define Emacs_GC, GCForeground, and GCBackground.

	* src/nsgui.h:
	* src/w32gui.h:Remove obsolete XGCValues, GC, GCForeground,
	GCBackground, and GCFont definitions.

	* src/w32fns.c (w32_make_gc): Do not set unused font field.

	* src/w32term.c: Use Emacs_GC over XGCValues. Do not set unused font
	field.

	* src/xfaces.c: Use Emacs_GC over XGCValues and GC.

2019-05-19  Alexander Gramiak  <agrambot@gmail.com>

	Introduce Emacs_Rectangle struct and typedef

	* src/dispextern.h [HAVE_X_WINDOWS]: Alias Emacs_Rectangle to
	XRectangle.
	[!HAVE_X_WINDOWS]: Define Emacs_Rectangle struct.
	Use Emacs_Rectangle over XRectangle.

	* src/frame.h (MonitorInfo):
	* src/msdos.h:
	* src/w32term.c:
	* src/xdisp.c: Use Emacs_Rectangle over XRectangle.

	* src/nsgui.h:
	* src/w32gui.h: Remove old XRectangle structs.

	* src/xdisp.c:
	* src/nsgui.h:
	* src/w32gui.h: Rename CONVERT_FROM_XRECT and CONVERT_TO_XRECT to
	CONVERT_FROM_EMACS_RECT and CONVERT_TO_EMACS_RECT respectively.

2019-05-19  Alexander Gramiak  <agrambot@gmail.com>

	Introduce Emacs_Pixmap typedef

	* src/dispextern.h [HAVE_X_WINDOWS]: Alias Emacs_Pixmap to Pixmap.
	(image, x_kill_gs_process): Use Emacs_Pixmap over Pixmap.

	* src/image.c:

	* src/nsgui.h:
	* src/nsterm.m:
	* src/termhooks.h:
	* src/w32gui.h:
	* src/w32term.c:
	* src/w32term.h:
	* src/xterm.c (x_free_pixmap): Use Emacs_Pixmap over Pixmap.

	* src/w32gui.h: Remove unused typedef Bitmap.

2019-05-19  Alexander Gramiak  <agrambot@gmail.com>

	Introduce Emacs_Cursor typedef

	* src/dispextern.h [HAVE_X_WINDOWS]: Define Emacs_Cursor alias. Move
	the No_Cursor definition from xterm.h.
	(redisplay_interface): Use Emacs_Cursor over Cursor.

	* src/nsgui.h:
	* src/nsterm.h:
	* src/nsterm.m:
	* src/w32gui.h:
	* src/w32term.c:
	* src/xdisp.c:
	* src/xterm.c (x_define_frame_cursor): Use Emacs_Cursor over Cursor.

2019-05-19  Alexander Gramiak  <agrambot@gmail.com>

	Introduce Emacs_Color struct and typedef

	This avoids clashing with the XColor struct from X.

	* src/dispextern.h [HAVE_X_WINDOWS]: Define Emacs_Color alias.
	[!HAVE_X_WINDOWS]: Rename XColor compatibility struct to
	Emacs_Color. Remove unused fields.

	* src/gtkutil.c:
	* src/gtkutil.h:
	* src/image.c:
	* src/nsterm.h:
	* src/nsterm.m:
	* src/termhooks.h:
	* src/w32fns.c:
	* src/w32term.c:
	* src/w32term.h:
	* src/xfaces.c:
	* src/xfns.c:
	* src/xterm.h: Use Emacs_Color over XColor outside of X-specific
	sections.

2019-05-19  Mattias Engdegård  <mattiase@acm.org>

	Comment out inexplicable condition in filenotify

	* lisp/filenotify.el (file-notify-callback):
	Comment out condition that does not seem to make any sense. All it
	seems to do is allowing notifications for files on the form DIR/X/X
	when we really just are watching DIR/X/Y.

2019-05-19  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-dispatcher.el (vc-do-command): Let-bind inhibit-message to t

	in active minibuffer.  (Bug#34939)

2019-05-19  Juri Linkov  <juri@linkov.net>

	Publicize behavior of log-view-diff at beginning/end of active region

	* lisp/vc/log-view.el (log-view-diff, log-view-diff-changeset):
	* doc/emacs/maintaining.texi (VC Change Log): Document behavior of
	log-view-diff at the beginning and the end of the log buffer
	when the region is active.  (Bug#35624)

	* lisp/vc/vc-git.el (vc-git-print-log): Insert newline at the
	beginning to enable the feature of diffing with the working revision.

2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>

	cus-edit.el: Remove XEmacs compat code

	* lisp/cus-edit.el (custom-browse-insert-prefix): Remove XEmacs
	compat code and make obsolete.
	(custom-group-value-create): Use `insert' directly.

	* lisp/emacs-lisp/elint.el (elint-check-conditional-form): Don't
	refer to function that doesn't have an if any more.

2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>

	bs.el: Remove XEmacs compat code

	* lisp/bs.el (bs-mode-font-lock-keywords): Remove XEmacs compat code.
	(bs-mode-map): Ditto.

2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>

	arc-mode.el: Remove XEmacs compat code

	* lisp/arc-mode.el (archive-mode-map): Remove XEmacs compat code.
	(archive-summarize-files): Ditto.

2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>

	rfc2104.el: Remove XEmacs compat code.

	* lisp/net/rfc2104.el (rfc2104-string-make-unibyte): Remove XEmacs
	  compat code.

2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>

	(mml-generate-mime-1): Remove XEmacs compat code

	* lisp/gnus/mml.el (mml-generate-mime-1): Remove XEmacs compat code.

2019-05-19  Stephen Leake  <stephen_leake@stephe-leake.org>

	Minor updates to project.el

	* lisp/progmodes/project.el (project-find-file): Add optional 'filename' arg.
	(project--completing-read-strict): Ignore 'default' set to empty string.

2019-05-19  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix Gnus group sorting to use gnus-group-list

	* lisp/gnus/gnus-group.el (gnus-group-sort-flat): As
	  gnus-newsrc-hashtb is now a real (unsorted) hash table, use
	  gnus-group-list to maintain group sort order.
	  (gnus-group-sort-selected-flat): Ditto.
	* lisp/gnus/gnus-start.el (gnus-subscribe-alphabetically): Simplify
	  function using seq-find.
	  (gnus-subscribe-killed, gnus-subscribe-zombies): Use cl-pushnew to
	  avoid adding duplicates (can happen when un/subscribing multiple
	  times to one group).

2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove usage of string-to-multibyte from arc-mode.el

	* lisp/arc-mode.el (arc-insert-unibyte): Rename from
	insert-unibyte, make into a function, and remove the superfluous
	string-to-multibyte.  Change callers throughout the file.

2019-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/lispintro/emacs-lisp-intro.texi: Remove euphemism.

2019-05-19  Noam Postavsky  <npostavs@gmail.com>

	Fix dired-omit-files regexp (Bug#35668)

	* lisp/dired-x.el (dired-omit-files): Match beginning and end of
	string, rather than beginning and end of line.

2019-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/hideshow.el: Simplify mouse binding; Use lexical-binding

	(hs-set-up-overlay, hs-adjust-block-beginning): Use non-nil default for
	function variables, so `add-function` can be used on them.
	(hs-toggle-hiding): Make it work for mouse bindings as well.
	(hs-minor-mode-map): Use it for the mouse binding.
	(hs-grok-mode-type): Use bound-and-true-p.
	(hs-life-goes-on): Use `declare` for the debug spec.
	(hs-mouse-toggle-hiding): Make it an obsolete alias.

2019-05-19  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/autorevert-tests.el (auto-revert--deftest-remote):

	Do not handle errors.

2019-05-19  Martin Rudalics  <rudalics@gmx.at>

	New buffer display action function 'display-buffer-in-direction'

	* lisp/window.el (windows-sharing-edge)
	(window--try-to-split-window-in-direction)
	(display-buffer-in-direction): New functions.
	* doc/lispref/windows.texi (Buffer Display Action Functions):
	Describe new action function 'display-buffer-in-direction'.
	(Buffer Display Action Alists): Describe new entry 'direction'.
	Amend description of 'window' entry.
	* etc/NEWS: Mention 'display-buffer-in-direction' and 'direction'
	and 'window' action alist entries.

2019-05-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Avoid triple buffering with Xdbe in cairo

	* src/xterm.h (struct x_output): Remove member cr_surface.
	Add members cr_surface_desired_width and cr_surface_desired_height.
	(x_cr_destroy_frame_context) [USE_CAIRO]: Add extern.

	* src/xterm.c (x_free_cr_resources): Remove function.
	(FRAME_CR_SURFACE) [USE_CAIRO]: Remove macro.
	(FRAME_CR_SURFACE_DESIRED_WIDTH, FRAME_CR_SURFACE_DESIRED_HEIGHT) [USE_CAIRO]:
	New macros.
	(x_cr_destroy_frame_context) [USE_CAIRO]: Rename from x_cr_destroy_surface.
	All Uses changed.  Don't use FRAME_CR_SURFACE.  Make non-static.
	(x_cr_update_surface_desired_size) [USE_CAIRO]: New function.
	(x_begin_cr_clip) [USE_CAIRO]: Create Xlib surface if Xdbe is in use.
	Use FRAME_CR_SURFACE_DESIRED_WIDTH and FRAME_CR_SURFACE_DESIRED_HEIGHT.
	(x_end_cr_clip) [USE_CAIRO]: Call x_mark_frame_dirty if Xdbe is in use.
	(x_cr_draw_frame, x_cr_export_frames) [USE_CAIRO]: Save and restore cairo
	context instead of freeing and clearing it.
	(x_update_begin) [USE_CAIRO]: Don't create cairo surface here.
	(show_back_buffer) [USE_CAIRO]: Call cairo_surface_flush before swapping.
	(x_update_end) [USE_CAIRO]: Don't copy image surface if Xdbe is in use.
	Get image surface by cairo_get_target instead of FRAME_CR_SURFACE.
	(x_scroll_run) [USE_CAIRO]: Use XCopyArea if Xdbe is in use.
	(handle_one_xevent) [USE_CAIRO] <ConfigureNotify>: Call
	x_cr_update_surface_desired_size instead of x_cr_destroy_surface.
	(x_free_frame_resources) [USE_CAIRO]: Call x_cr_destroy_frame_context instead
	of x_free_cr_resources.

	* src/xfns.c (set_up_x_back_buffer, tear_down_x_back_buffer) [USE_CAIRO]:
	Call x_cr_destroy_frame_context.

2019-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el: Fix decoding of downloaded files

	This is a different fix for bug#34909, which should also fix bug#35739.

	Our downloading code used to automatically decode the result according
	to the usual heuristics for files.  This caused problems when we later
	needed to save the data in a file that needed to be byte-for-byte
	equal to the original in order to pass the signature verification,
	especially because we didn't keep track of which coding-system was
	used to decode the data.

	(package--unless-error): New macro extracted from
	package--with-response-buffer-1, so that we can specify edebug and
	indent specs.
	(package--with-response-buffer-1): Use it.  More importantly, change
	code so it runs `body` in a unibyte buffer with undecoded data.
	(package--download-one-archive): Don't encode with utf-8 since the data
	is not decoded yet.
	(describe-package-1): Explicitly decode the readem.txt files here.

	* lisp/url/url-handlers.el (url-insert-file-contents): Use it.
	(url-insert): Don't decode if buffer is unibyte.

	* lisp/url/url-http.el (url-http--insert-file-helper): New function,
	extracted from url-insert-file-contents.

2019-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el: Reduce macrology in ...with-response-buffer

	(package--with-response-buffer-1): New function, extracted from
	package--with-response-buffer.
	(package--with-response-buffer): Use it.

2019-05-18  Mattias Engdegård  <mattiase@acm.org>

	Fix broken logic in file-notify

	* lisp/filenotify.el (file-notify-callback):
	Repair warped condition that didn't match rename-to/from events correctly.

2019-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/textmodes/texinfmt.el: Chassell is no longer maintainer.

2019-05-18  Jean-Christophe Helary  <brandelune@gmail.com>

	Bob Chassell passed away

	* doc/lispintro/emacs-lisp-intro.texi (About the Author): Update.

2019-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix recent Tramp typo that broke the build

	‘make bootstrap’ without this patch should reproduce the problem.
	* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled):
	Autoload zeroconf-init.

2019-05-18  Basil L. Contovounesios  <contovob@tcd.ie>

	Remove XEmacs audio checks from mm-decode.el

	For discussion, see the following threads:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg01087.html
	https://lists.gnu.org/r/emacs-devel/2019-05/msg00584.html
	* lisp/gnus/mm-decode.el (mm-inline-media-tests): Remove no-op media
	tests for XEmacs features.

2019-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	For SVG, 8192 is the new 256

	Prefer librsvg for display of splash.svg
	When both librsvg and Imagemagick are available, Emacs should
	prefer librsvg to render SVG images.  However, Emacs was using
	Imagemagick to render its own splash.svg file because
	image-type-from-file-header returned nil for that file.
	* lisp/image.el (image-type-from-buffer)
	(image-type-from-file-header): Look at the first 8192 bytes of
	the image, not just the first 256.  For Emacs’s own splash.svg
	file, image-type-header-regexps needs to look at 939 bytes.
	8192 bytes is a reasonable number nowadays given typical file
	system design.
	* test/lisp/image-tests.el (image-tests--emacs-images-directory):
	New constant.
	(image-type-from-file-header-test): New test.

2019-05-18  Michael Albinus  <michael.albinus@gmx.de>

	Bug#35769

	* lisp/net/tramp-sh.el: (tramp-maybe-open-connection):
	Arrange `process-environment' that it doesn't work for local
	processes.  (Bug#35769)

2019-05-18  Alan Mackenzie  <acm@muc.de>

	CC Mode: Handle several consecutive noise macros in declaration contexts.

	In the bug scenario, the second and subsequent noise macros with parentheses
	were getting font-lock-type-face.

	* lisp/progmodes/cc-engine.el (c-end-of-token)
	(c-forward-noise-clause-not-macro-decl): New functions.
	(c-find-decl-prefix-search): Handle noise macros by skipping over them.
	(c-forward-decl-or-cast-1): In the loop checking for types, skip over all
	consecutive noise macros with parens, not just one.

2019-05-18  Bastien  <bzg@gnu.org>

	Fix missing declaration in gnus-sum.el

	* lisp/gnus/gnus-sum.el (gnus-tmp-name): Declare var.

2019-05-18  Eli Zaretskii  <eliz@gnu.org>

	Fix display of images on MS-Windows broken by a recent commit

	* src/image.c (initialize_image_type): Test if the type is in
	Vlibrary_cache up front, and return true without calling the
	'init' method if the type was already initialized.

2019-05-18  Michael Albinus  <michael.albinus@gmx.de>

	Suppress compiler warnings for older Emacsen in tramp-tests.el

	* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
	Add error name to test.
	(tramp-test30-make-process, tramp-test45-unload):
	Suppress compiler warnings from older Emacsen.

2019-05-18  Michael Albinus  <michael.albinus@gmx.de>

	Require less packages in Tramp

	* lisp/net/tramp-compat.el (format-spec): Do not require advice, cl-lib,
	custom, password-cache, timer and ucs-normalize.

	* lisp/net/tramp-gvfs.el: Do not require zeroconf.  Declare
	zeroconf-* functions.
	(tramp-gvfs-enabled): Autoload `zeroconf-init'.

	* lisp/net/tramp-sh.el: Do not require dired.

	* lisp/net/tramp.el (tramp-get-debug-buffer): Do not require outline.
	(tramp-file-name-for-operation): Extend docstring.
	(tramp-parse-netrc): Do not require netrc.  Autoload `netrc-parse'.

2019-05-18  Mattias Engdegård  <mattiase@acm.org>

	Don't use file notification on non-file buffers

	Allow non-file buffers to declare that notification on their
	default-directory is sufficient to know when auto-revert updates are
	required by setting the new variable `buffer-auto-revert-by-notification'
	to non-nil.  If nil, the default, then auto-revert will poll
	those buffers instead. (bug#35418).
	Currently, only Dired sets that variable.

	* lisp/autorevert.el (auto-revert-buffers):
	Modify condition for using notification.
	* lisp/files.el (buffer-auto-revert-by-notification): New variable.
	* lisp/dired.el (dired-mode): Set buffer-auto-revert-by-notification.
	* doc/emacs/arevert-xtra.texi (Non-File Buffers): Document new variable.
	* etc/NEWS (Changes in Specialized Modes and Packages): Describe new variable.

2019-05-18  Lars Ingebrigtsen  <larsi@gnus.org>

	(epa-file-decode-and-insert): Byte compilation warning fix

	* lisp/epa-file.el (epa-file-decode-and-insert): Remove
	superfluous call to `string-to-multibyte string'.

2019-05-18  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-interrupt-process): Return proper value.

2019-05-18  Eli Zaretskii  <eliz@gnu.org>

	Remove usage of string-as-unibyte in arc-mode

	* lisp/arc-mode.el (archive-l-e): Encode with utf-8-emacs-unix
	instead of using string-as-unibyte.

2019-05-18  Eli Zaretskii  <eliz@gnu.org>

	Fix visiting and saving UTF-16 encoded XML files

	* lisp/international/mule.el (sgml-xml-auto-coding-function):
	When the 'enncoding' tag specifies a UTF-16 encoding, enforce
	saving the buffer with BOM, per the XML spec.
	(xml-find-file-coding-system): Recognize UTF-16 encodings with
	BOM.  (Bug#35766)  (Bug#8282)
	* lisp/international/mule-cmds.el (select-safe-coding-system):
	Don't consider UTF-16 encodings with and without BOM as
	"different", so as not to annoy users with redundant questions
	about mismatch between the XML/SGML header and the selected
	explicit encoding.

2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Mitigate byte-compile warning in arc-mode

	* lisp/arc-mode.el (byte-after): Remove defsubst.
	Replace all calls to byte-after with get-byte throughout the file,
	because byte-after gave compilation warnings.

2019-05-17  Eli Zaretskii  <eliz@gnu.org>

	(hexl-insert-multibyte-char): Avoid using `string-as-unibyte'

	* lisp/hexl.el (hexl-insert-multibyte-char): Avoid using
	`string-as-unibyte' in the fallback case.

2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>

	(dirtrack-toggle, dirtrackp): Remove obsolete aliases

	* lisp/dirtrack.el (dirtrack-toggle, dirtrackp): Remove
	function/variable aliases declared obsolete in Emacs 23.1 (and
	that issued a byte-compile warning).

2019-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	Clean up and simplify image-type setup

	This also fixes an unlikely hang involving a circular image
	description.
	* src/dispextern.h (struct image.type): Now pointer-to-const.
	* src/image.c (struct image_type.init) [!WINDOWSNT]: Omit.
	(IMAGE_TYPE_INIT): New macro.
	(image_types): Now a small array-of-const, not a pointer.
	(CACHE_IMAGE_TYPE): Remove; the code’s simpler without it.
	(ADD_IMAGE_TYPE): Remove this macro, replacing with ...
	(add_image_type): ... this equivalent function.  All uses changed.
	(define_image_type): Remove.  All uses removed.
	(valid_image_p): Use FOR_EACH_TAIL_SAFE to avoid Emacs hanging
	if the user creates a circular description of an image.
	(xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type)
	(gif_type, imagemagick_type, svg_type, gs_type):
	Remove; now done by image_types.
	(init_imagemagick_functions): Remove decl of nonexistent function.
	(gs_clear_image): Remove; all uses replaced by image_clear_image.
	(initialize_image_type): New function, which captures a lot
	of the previously-scattered WINDOWSNT ifdefs.
	(lookup_image_type): Use it.
	(reset_image_types): Remove.  All uses removed.
	(syms_of_image): Don’t worry about ignoring image_types for
	pdumper, since it’s a constant now.

2019-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-sum.el (gnus-tmp-thread): New var

	The recent change to use lexical-binding introduced a bug because
	gnus-summary-line-format-alist refers to variable `thread` which is now
	lexical and hence not available there any more.  Replace it with
	a dynamically scoped var `gnus-tmp-thread` as was already done with
	all other vars.

	(gnus-summary-line-format-alist): Use it instead of `thread`.
	(gnus-summary-prepare-threads): Bind it around call to (eval
	gnus-summary-line-format-spec).

2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Move Info-edit-* commands from info.el to obsolete/info-edit.el

	* lisp/info.el: Move Info-edit-* commands to obsolete/info-edit.el.

	* lisp/obsolete/info-edit.el: New file.

2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Use cl-assert instead of assert in ps-print.el

	* lisp/ps-print.el (ps-begin-job): Use cl-assert instead of assert
	and require cl-lib.

2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>

	(ps-begin-job): Remove two unneeded string-as-unibyte calls

	* lisp/ps-print.el (ps-begin-job): Remove two unneeded
	string-as-unibyte calls to avoid byte compilation warnings.

2019-05-17  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent commit in select.el

	* lisp/select.el (gui-get-selection): Revert a recent
	incorrect change.  Add a comment explaining what we are trying
	to do with C_STRING and why.
	(xselect--encode-string): Add a comment explaining what we are
	trying to do with C_STRING and why.

2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove obsolete example functions from imenu.el

	* lisp/imenu.el (imenu-example--create-c-index)
	(imenu-example--function-name-regexp-c)
	(imenu-example--create-lisp-index)
	(imenu-example--lisp-extract-index-name): Remove functions (and
	internal variables used by those functions) declared obsolete in
	Emacs 23.2.  The functions gave compilation warnings.

2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove unused internal function completion-pcm--optimize-pattern

	* lisp/minibuffer.el (completion-pcm--optimize-pattern): Remove
	unused internal function (that signaled a compilation warning).

2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus: Remove assumptions about mail-header being a vector

	Use `mail-header-p` and `make-full-mail-header` instead of `vectorp` and
	`vector`, respectively.

	* lisp/gnus/message.el (message-cite-original-1, message-reply)
	(message-followup):
	* lisp/gnus/gnus-sum.el (gnus-get-newsgroup-headers):
	Use make-full-mail-header instead of `vector`.
	(gnus--dummy-mail-header): New const, using make-full-mail-header.
	(gnus-update-summary-mark-positions): Use it instead of
	an immediate vector.
	(gnus-set-mode-line, gnus-summary-article-pseudo-p)
	(gnus-summary-article-subject, gnus-summary-insert-subject)
	(gnus-summary-find-subject, gnus-summary-goto-subject)
	(gnus-summary-limit-to-age, gnus-summary-find-matching)
	(gnus-summary-mark-article-as-unread, gnus-summary-mark-article)
	(gnus-summary-save-article):
	* lisp/gnus/gnus.el (gnus-news-group-p): Use mail-header-p instead
	of vectorp.

2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Declare fileloop-continue in dired-aux to avoid warning

	* lisp/dired-aux.el (fileloop-continue): Declare to avoid
	compilation warning.  `fileloop-initialize-search' (used before
	-continue) will load fileloop.el.

2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid string-as-multibyte in ps-output-string-prim

	* lisp/ps-print.el (ps-output-string-prim): Avoid
	`string-as-multibyte', and encode as utf-8 instead if multibyte.

2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>

	(gui-get-selection): Avoid using `string-to-multibyte'

	* lisp/select.el (gui-get-selection): Avoid using
	`string-to-multibyte' -- instead encode as `eight-bit' if the
	string is unibyte.

2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Declare two w32 functions to avoid byte compilation warnings

	* lisp/w32-fns.el (w32-version, w32-read-registry): Declare these
	functions to avoid byte compilation warnings.  The functions
	should be loaded when `w32--os-description' is called, as far as I
	can tell.

2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove obsolete epg functions

	* lisp/epg.el (epg-start-sign-keys, epg-sign-keys): Remove
	functions declared obsolete since Emacs 23.1.

2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Declare rectangle functions in mouse.el to avoid warnings

	* lisp/mouse.el (rectangle-dimensions)
	(rectangle-position-as-coordinates, rectangle-intersect-p):
	Declare these functions from rect.el to avoid compilation warnings.

2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix docstring of accessors.

2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/nnheader.el (mail-header-*): Define via cl-defstruct

	This also has the side effect that the accessors are now defined as proper
	functions rather than as macros, so they can be passed to `mapcar` etc..

	* lisp/gnus/nnheader.el (mail-header-number, mail-header-subject)
	(mail-header-from, mail-header-date, mail-header-id)
	(mail-header-references, mail-header-chars, mail-header-lines)
	(mail-header-xref, mail-header-extra): Define via cl-defstruct.
	(mail-header-set-number, mail-header-set-subject)
	(mail-header-set-from, mail-header-set-date, mail-header-set-id)
	(mail-header-set-message-id, mail-header-set-references)
	(mail-header-set-chars, mail-header-set-lines, mail-header-set-xref)
	(mail-header-set-extra): Remove, use `setf` instead.  All callers adjusted.

	* lisp/gnus/gnus-sum.el (gnus-select-newsgroup)
	(gnus-summary-pop-limit, gnus-summary-limit-mark-excluded-as-read)
	(gnus-summary-find-matching, gnus-find-matching-articles):
	* lisp/gnus/gnus-kill.el (gnus-apply-kill-file-internal, gnus-execute):
	* lisp/gnus/gnus-score.el (gnus-score-adaptive):
	Eta-reduce, now that mail-header-FIELD are functions.

2019-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>

	Fix ffap behavior in the Gnus group buffer (bug#35693)

	* lisp/ffap.el (ffap-file-exists-string, ffap-file-at-point):
	Don't recognize "" as a path or a file name (bug#35693).

2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/mule.el (set-buffer-file-coding-system): Don't burp on iso-2022-7bit

2019-05-16  Paul Pogonyshev  <pogonyshev@gmail.com>

	Make `package' not "uninhibit" messages (Bug#34037)

	* lisp/emacs-lisp/package.el: Don't let-bind inhibit-message to a
	different value if it was non-nil.

2019-05-16  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix gnus-summary-expand-window placement of point

	* lisp/gnus/gnus-win.el (gnus-configure-frame): Replace
	switch-to-buffer with pop-to-buffer-same-window to avoid messing
	with point. (bug#35613)

2019-05-16  Basil L. Contovounesios  <contovob@tcd.ie>

	Add docstring to project--read-file-cpd-relative

	For discussion, see thread starting at:
	https://lists.gnu.org/r/emacs-devel/2019-05/msg00460.html
	* lisp/progmodes/project.el (project--read-file-cpd-relative):
	Describe arglist as promised by user option
	project-read-file-name-function.

2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-test--symbol-macrolet): New test

2019-05-16  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix stray call to make-vector

	* lisp/gnus/gnus-agent.el (gnus-agent-fetch-group-1): This is meant to
	  be a hash table.

2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand) <setq>: Rewrite

	The previous code had 2 problems:
	- It converted `setq` to `setf` in unrelated cases such as
	  (cl-symbol-macrolet ((x 1)) (setq (car foo) bar))
	- It macroexpanded places before `setf` had a chance to see if they
	  have a gv-expander.

2019-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	Distribute test cases in tarballs by default

	* INSTALL, INSTALL.REPO, admin/make-tarball.txt:
	Mention ‘make check’.
	* configure.ac: Update comment.
	* etc/NEWS: Say that tarballs have a test directory.
	* make-dist (with_tests): Default to "yes".
	Add an option --no-tests to make it "no".

2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Make shr-rescale-image respect get-buffer-window again

	* lisp/net/shr.el (shr-rescale-image): Partially revert previous
	change -- resurrect the check for `get-buffer-window'.

2019-05-16  Ivan Shmakov  <ivan@siamics.net>

	Improve user convenience of the rcirc debug buffer

	* lisp/net/rcirc.el (rcirc-debug): Ignore rcirc-debug-buffer read-only
	status.  Restore point after insertion unless it was at the end.
	Ensure a newline before each [lead].  Replace %Y-%m-%d with the
	equivalent %F in format-time-string; remove useless concat.  (Bug#32470)

2019-05-16  Noam Postavsky  <npostavs@gmail.com>

	Accept NO-PROPERTIES in thing-at-point aliases (Bug#35491)

	* lisp/thingatpt.el (word-at-point, sentence-at-point): Accept and
	pass NO-PROPERTIES to thing-at-point.
	* etc/NEWS: Announce change.

2019-05-15  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-yesno-prompt-regexp): Extend.

2019-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Fix typo

	* test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
	New corresponding test.

2019-05-15  Noam Postavsky  <npostavs@gmail.com>

	Fix merge of sgml-syntax-propertize-rules

	During the merge of emacs-26, the sgml-syntax-propertize-rules part of
	2019-01-17 "* lisp/textmodes/sgml-mode.el: Try and fix bug#33887." got
	lost in the conflict against 2019-05-09 "Recognize single quote
	attribute values in nxml and sgml (Bug#35381)".
	* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Reapply
	the 2019-01-17 change to speed up sgml-syntax-propertize-rules, taking
	into account the 2019-05-09 which means we have to handle single
	quotes as well.

2019-05-15  Anders Lindgren  <andlind@gmail.com>

	Fix diff-mode face problem when used in terminals (Bug#35695)

	In a terminal supporting 256 colors, both diff-added and diff-removed
	was mapped to the same grayish color.

	* lisp/vc/diff-mode.el: Modify the colors of diff-removed,
	  diff-added, diff-refine-removed, and diff-refine-added when
	  used in a 256 color environment.

2019-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-sum.el: Use lexical-binding

	(gnus-summary-make-menu-bar, gnus-summary-display-make-predicate)
	(gnus-summary-refer-thread, gnus-summary-find-matching)
	(gnus-summary-edit-article, gnus-summary-sort):
	Replace backquoted lambda with closure.
	(gnus-summary-article-header): Use define-inline rather than defmacro,
	so it's also a function.
	(gnus-save-hidden-threads, gnus-summary-iterate, gnus-with-article):
	Use `declare`.
	(gnus-thread-sort-by-random): Simplify.
	(gnus-summary-display-article, gnus-summary-limit-to-address):
	Hoist common code outside of `if`.

2019-05-15  Paul Eggert  <eggert@cs.ucla.edu>

	Tune reading of radix integers

	This improves the performance of (read "%xFF") by about 25%
	on my platform.
	* src/lread.c: Include <vla.h>, so that we can better document
	buffer sizes of arguments.
	(invalid_radix_integer_format, stackbufsize): New constants.
	(free_contents): Remove.  All uses removed.
	(invalid_radix_integer): New function.
	(read_integer): New arg STACKBUF.  Assume radix is in range.
	All uses changed.  Use STACKBUF to avoid calling malloc in the
	usual case.  Use grow_read_buffer to simplify.
	(read1): Tune.  Improve quality of diagnostic when
	MOST_POSITIVE_FIXNUM < radix <= EMACS_INT_MAX.

2019-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/footnote.el (footnote-prefix): Docstring typo.

2019-05-15  Mattias Engdegård  <mattiase@acm.org>

	Add standard unmatchable regexp

	Add `regexp-unmatchable' as a standard unmatchable regexp, defined as
	"\\`a\\`".  Use it where such a regexp is needed, replacing slower
	expressions in several places.
	From a suggestion by Philippe Schnoebelen.

	* lisp/subr.el (regexp-unmatchable): New defconst.
	* etc/NEWS (Lisp Changes): Mention `regexp-unmatchable'.
	* doc/lispref/searching.texi (Regexp Functions): Document it.
	* lisp/emacs-lisp/regexp-opt.el (regexp-opt)
	* lisp/progmodes/cc-defs.el (cc-conditional-require-after-load)
	(c-make-keywords-re)
	* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1)
	(c-forward-<>-arglist-recur, c-forward-decl-or-cast-1)
	(c-looking-at-decl-block)
	* lisp/progmodes/cc-fonts.el (c-doc-line-join-re)
	(c-doc-bright-comment-start-re)
	* lisp/progmodes/cc-langs.el (c-populate-syntax-table)
	(c-assignment-op-regexp)
	(c-block-comment-ender-regexp, c-font-lock-comment-end-skip)
	(c-block-comment-start-regexp, c-line-comment-start-regexp)
	(c-doc-comment-start-regexp, c-decl-start-colon-kwd-re)
	(c-type-decl-prefix-key, c-type-decl-operator-prefix-key)
	(c-pre-id-bracelist-key, c-enum-clause-introduction-re)
	(c-nonlabel-token-2-key)
	* lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end)
	* lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
	(c-noise-macro-name-re, c-make-noise-macro-regexps)
	* lisp/progmodes/octave.el (octave-help-mode)
	* lisp/vc/vc-bzr.el (vc-bzr-log-view-mode, vc-bzr-revision-completion-table)
	* lisp/vc/vc-git.el (vc-git-log-view-mode)
	* lisp/vc/vc-hg.el (vc-hg-log-view-mode)
	* lisp/vc/vc-mtn.el (vc-mtn-log-view-mode):
	Use `regexp-unmatchable'.
	* lisp/textmodes/ispell.el (ispell-non-empty-string):
	Use `regexp-unmatchable', fixing a broken never-match regexp.

2019-05-15  John Shahid  <jvshahid@gmail.com>

	Avoid infinitely looping in tramp-interrupt-process (bug#35506)

	* lisp/net/tramp.el (tramp-interrupt-process): Remove with-timeout.
	Instead pass a timeout to tramp-accept-process-output.
	tramp-accept-process-output stops timers from running which makes the
	with-timeout ineffective.

2019-05-15  Alan Mackenzie  <acm@muc.de>

	CC Mode: fix indentation in switch statement after "case a(1):".

	* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Enhance the
	analysis of case labels to handle parenthesised expressions (e.g. macros).

	* lisp/progmodes/cc-langs.el (c-nonlabel-nonparen-token-key): New lang const
	and lang var.

2019-05-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Describe error data in url-retrieve better

	* lisp/url/url.el (url-retrieve): Describe the error data more in
	depth (bug#25735).

2019-05-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't have url-basic-auth bug out when called with an URL string

	* lisp/url/url-auth.el (url-basic-auth): Pass the parsed URL
	object to the prompting function instead of the parameter that's
	possibly a string (bug#26708).  Passing url-basic-auth with a
	string parameter would fail if passed a non-parsed URL.

2019-05-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix obscure HTTP chunked parsing problem

	* lisp/url/url-http.el
	(url-http-chunked-encoding-after-change-function): Ensure that we
	parse the entire initial chunked header as the length (bug#35658).

2019-05-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Indent url-http-chunked-encoding-after-change-function

2019-05-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	Fix url-auth prompts when realm is empty

	* lisp/url/url-auth.el (url-get-authentication): When realm is
	empty, use the entire URL in the prompt (bug#35688).

2019-05-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make image scaling work without imagemagick support in eww

	* lisp/net/shr.el (shr-rescale-image): Emacs has native image
	scaling now, so images can be rescaled without imagemagick
	support.

2019-05-14  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	02bee78 Let dir locals for more specific modes override those from less
	b1235f9 Improve documentation of Hexl mode
	32d1813 Fix description of (move-to-column <n> t) when column <n> is ...
	0397b7c ; Fix smtpmail-stream-type docstring
	7dab3ee Recognize single quote attribute values in nxml and sgml (Bug...
	e4cde42 Disable extra display of &#10; in nxml-mode (Bug#32897)
	ca14dd1 Fix nxml-get-inside (Bug#32003)
	e7ab351 Fix positioning client buffer as instructed by emacsclient

	# Conflicts:
	#	lisp/files.el
	#	lisp/textmodes/sgml-mode.el

2019-05-14  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/project.el (project-read-file-name-function): Fix type.

2019-05-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/savehist.el: Use lexical-binding

	Remove redundant :group args.
	(savehist-no-conversion): Remove constant.
	(savehist-save): Use savehist-coding-system instead since it's no slower.

2019-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	Default to disabling ImageMagick (Bug#33587)

	ImageMagick has continuing stability and security problems, suggesting
	that 'configure' should disable it by default.  See Glenn Morris's notes
	at: https://lists.gnu.org/r/emacs-devel/2018-12/msg00036.html
	* INSTALL, etc/NEWS, nt/INSTALL.W64: Mention this.
	* configure.ac (imagemagick): Default to off.

2019-05-13  Dmitry Gutov  <dgutov@yandex.ru>

	Allow customizing the display of project file names when reading

	To hopefully resolve a long-running discussion
	(https://lists.gnu.org/r/emacs-devel/2019-05/msg00162.html).

	* lisp/progmodes/project.el (project-read-file-name-function):
	New variable.
	(project--read-file-absolute, project--read-file-cpd-relative):
	New functions, possible values for the above.
	(project-find-file-in): Use the introduced variable.
	(project--completing-read-strict): Retain just the logic that fits
	the name.

2019-05-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Avoid artifacts in ftx and ftcr font backend drivers

	* src/ftcrfont.c (ftcrfont_open):
	* src/ftfont.c (ftfont_open2): Make font->height equal to sum of font->ascent
	and font->descent.  Respect :minspace property.
	(ftfont_open2): Remove redundant assignment.
	(syms_of_ftfont) <QCminspace>: New DEFSYM.

2019-05-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix mail-header-separator font lock in message.el

	* lisp/gnus/message.el (message-font-lock-keywords): Dynamically
	font lock mail-header-separator, in case it changes. (bug#34898)

2019-05-13  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Extract common code for adding text properties

	* lisp/font-lock.el (font-lock--add-text-property):
	New function.
	(font-lock-prepend-text-property)
	(font-lock-append-text-property): Use it.

	(Bug#35476)

2019-05-13  Kévin Le Gouguec  <kevin.legouguec@gmail.com>

	Stop splicing anonymous faces in font-lock-append-text-property

	This is the same fix as 2019-04-29 "Refrain from splicing anonymous
	faces in text properties", which was only applied to
	font-lock-prepend-text-property.

	* lisp/font-lock.el (font-lock-append-text-property): Distinguish list
	of faces from property list.
	* test/lisp/font-lock-tests.el: New test suite.

	(Bug#35476)

2019-05-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Do not hard-code message-mode keys in docstring

	* lisp/gnus/message.el (message-mode): Replace hard-coded bindings
	in docstring with summary of message-mode-map. (bug#31388)

2019-05-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix last change to message-signature :type

	* lisp/gnus/message.el (message-signature): List more specific :type
	alternatives before more general ones, as per "(elisp) Composite
	Types".

2019-05-13  Robert Pluim  <rpluim@gmail.com>

	Document nil value of message-signature and mail-signature

	* lisp/gnus/message.el (message-signature): Allow nil as a
	customizable value, and describe its effect.
	* lisp/mail/sendmail.el (mail-signature): Describe effect of nil
	value (bug#32680).

2019-05-13  Juri Linkov  <juri@linkov.net>

	* lisp/vc/log-view.el (log-view-diff-common): Use the previous revision

	only when the end of the region is on a line after the last entry.
	(Bug#35624)

2019-05-13  Alexandre Garreau  <galex-713@galex-713.eu>

	[PATCH 1/1] Adds variable 'eww-accept-content-types'

	* lisp/gnus/message.el (message-simplify-subject): Decouple
	simplification from "Re:" adding (bug#33200).
	(message-reply): Add the "Re:"'s here.
	(message-followup): And here.

2019-05-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make mml respect the "recipient-filename" parameter

	* lisp/gnus/mml.el (mml-insert-mime-headers): Implement the
	already-documented "recipient-filename" parameter (bug#34654).

2019-05-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make eww understand #fragment URLs at point interactively

	* lisp/net/eww.el (eww-suggest-uris): Use
	thing-at-point-url-at-point instead of url-get-url-at-point
	(bug#31927) because it's much better at guessing what the URL
	actually is (especially with #fragments).

2019-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	Fix broken build on m68k

	The GCC + valgrind fix caused the m68k build to fail (Bug#35711).
	Simplify string allocation a bit to make similar problems less
	likely in the future.
	* src/alloc.c (sdata, SDATA_NBYTES, SDATA_DATA) [GC_CHECK_STRING_BYTES]:
	Use the same implementation as with !GC_CHECK_STRING_BYTES,
	as the special case is no longer needed.
	(SDATA_ALIGN): New constant.
	(SDATA_SIZE): Remove this macro, replacing with ...
	(sdata_size): ... this new function.  All uses changed.
	Properly account for sizes and alignments even in the m68k case,
	and even if GC_CHECK_STRING_BYTES is not defined.

2019-05-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a comment about the previous shr change

2019-05-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problems in shr when indenting tables

	* lisp/net/shr.el (shr-mark-fill, shr-insert-table): Fix problems
	when block-quoting/<li>-ing a table -- the indentation/prefix was
	inserted twice (bug#32277).

2019-05-13  Federico Tedin  <federicotedin@gmail.com>  (tiny change)

	Use a more specific Accepts header in eww

	* lisp/net/eww.el (eww-accept-content-types): New variable.
	(eww): Use it.
	(eww-reload): Use it. (bug#33002).

2019-05-12  Xu Chunyang  <mail@xuchunyang.me>

	(eww-follow-link): Record the location properly when following #links

	* lisp/net/eww.el (eww-follow-link): Record the location properly
	when following #links (bug#35445).

2019-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el: Add `all` to package-check-signature

	(package-check-signature): Add `all` option.
	(package--check-signature-content): Adjust accordingly.

2019-05-12  Noam Postavsky  <npostavs@gmail.com>

	Improve printing for named keyboard macros (Bug#35486)

	* lisp/macros.el (macros--insert-vector-macro): New function,
	extracted from insert-kbd-macro.
	(insert-kbd-macro): Use it and kmacro-extract-lambda to produce nicer
	expressions for macros produced by kmacro-lambda-form.

2019-05-12  Noam Postavsky  <npostavs@gmail.com>

	Use remapping in ffap-bindings (Bug#35577)

	* lisp/ffap.el (ffap-bindings): Bind to the [remap COMMAND] instead of
	hardcoding the default keybindings.  This better adapts better if
	non-default are used.  And lets the original keybindings be
	remembered, so that, e.g., \[find-file] in docstrings will still be
	substituted with C-x C-f (even though that binding has been remapped
	to find-file-at-point.

2019-05-12  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix Gnus summary widget navigation across frames

	* lisp/gnus/gnus-sum.el (gnus-summary-widget-forward)
	(gnus-summary-widget-backward): Signal more informative error if
	article window is not found.  Consider other frames displaying
	article buffer, and raise its frame before navigating its
	widgets. (bug#35565)
	* lisp/gnus/gnus-win.el (gnus-get-buffer-window): Simplify and add
	docstring.

2019-05-12  Basil L. Contovounesios  <contovob@tcd.ie>

	Make application/x-patch inlinable in mm-decode.el

	* lisp/gnus/mm-decode.el (mm-inline-media-tests, mm-inlined-types):
	Include application/x-patch as a synonym of text/x-patch and
	text/x-diff. (bug#35236)

2019-05-12  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix some gnus-msg.el variables (bug#35239)

	* lisp/gnus/gnus-msg.el (gnus-gcc-externalize-attachments):
	Fix custom :type.
	(gnus-debug-files, gnus-debug-exclude-variables): Mark variables
	that have been unused since Emacs 24.1 as obsolete.
	(gnus-check-before-posting): Remove unused variable.

2019-05-11  Mauro Aranda  <maurooaranda@gmail.com>

	Use characters, not symbols for table-cell-bindings

	* lisp/textmodes/table.el (table-cell-bindings): Add missing '?', to
	avoid confusion between symbols and characters in bindings.  (Bug#35533)

2019-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Document font backends for Cairo and/or HarfBuzz

	* doc/lispref/frames.texi (Font and Color Parameters): Mention xfthb, ftcr,
	and ftcrhb font backends.

2019-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/xfns.c (x_create_tip_frame): Register font drivers as in normal frames.

2019-05-10  Mark Oteiza  <mvoteiza@udel.edu>

	Generate some repetitive WordStar code with macros

	* lisp/obsolete/ws-mode.el (ws-set-marker-0, ws-set-marker-1):
	(ws-set-marker-2, ws-set-marker-3, ws-set-marker-4, ws-set-marker-5):
	(ws-set-marker-6, ws-set-marker-7, ws-set-marker-8, ws-set-marker-9):
	(ws-find-marker-0, ws-find-marker-1, ws-find-marker-2, ws-find-marker-3):
	(ws-find-marker-4, ws-find-marker-5, ws-find-marker-6, ws-find-marker-7):
	(ws-find-marker-8, ws-find-marker-9): Remove.
	(ws-set-marker, ws-find-marker): New macros.  Use them.

2019-05-10  Alexander Gramiak  <agrambot@gmail.com>

	Convert Free_Pixmap macro into terminal hook

	* src/termhooks.h (terminal) [HAVE_WINDOW_SYSTEM]: New terminal hook
	free_pixmap.

	* src/image.c: Replace Free_Pixmap with free_pixmap.

	* src/msdos.h (FRAME_X_DISPLAY):
	* src/nsgui.h (Display):
	* src/nsterm.h (FRAME_NS_DISPLAY, FRAME_X_DISPLAY, FRAME_X_SCREEN)
	(FRAME_X_VISUAL):
	* src/w32term.h (FRAME_X_DISPLAY): Remove unused X-compatibility
	macros and typedefs.

	* src/nsterm.m:
	* src/w32term.c:
	* src/xterm.c: Implement and set free_pixmap hook.

2019-05-10  Alexander Gramiak  <agrambot@gmail.com>

	Remove display member of glyph_string

	This member has little value even on X, and it leaks internal backend
	details to the glyph_string struct.

	* src/dispextern.h (glyph_string): Remove X display member.

	* src/xdisp.c (init_glyph_string): Remove initialization of display.

	* src/xfont.c (xfont_draw):
	* src/xterm.c: Use FRAME_X_DISPLAY (s->f) instead of display member.

2019-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/help.el (help--read-key-sequence): Handle `switch-frame' events

	If you do `C-h k ... mouse-1 in other frame` (at least if you have a focus
	that follows the mouse), then additionally to the down-mouse-1 and mouse-1
	events, a `switch-frame` event (and `select-window` event as well sometimes)
	is generated.  When `read-key-sequence` is called with nil for
	`can-return-switch-frame`, this event is not returned but kept for later,
	which causes a subsequent `sit-for` to return nil immediately.
	This interfered without our "wait for double-click" which in turn prevented
	us from stopping after the mouse-1 click, getting stuck waiting for something
	else instead.

	(help--read-key-sequence): Pass a non-nil `can-return-switch-frame`, so the
	subsequent `sit-for` returns more trustworthy information.

2019-05-10  Michael Albinus  <michael.albinus@gmx.de>

	Handle subdomains in Tramp ad-hoc proxies

	* lisp/net/tramp-sh.el (tramp-compute-multi-hops): Add proper
	regexps to `tramp-default-proxies-alist'.

2019-05-10  Noam Postavsky  <npostavs@gmail.com>

	Stop using message-default-charset (Bug#35370)

	In 2016-02-14 "Remove compat code for older Emacsen",
	message-default-charset was obsoleted, and a couple of uses were
	removed, but others were left behind.
	* lisp/gnus/message.el (message-send-mail)
	(message-send-news, message-do-fcc)
	(message-encode-message-body):
	* lisp/gnus/mml.el (mml-to-mime): Stop using message-default-charset.

2019-05-10  Alan Mackenzie  <acm@muc.de>

	Optimize CC Mode a bit for repetitive insertion and replace-regexp

	This is mainly by enhancing a parse-partial-sexp cache to retain recently
	calculated values.  Also, there are several miscellaneous optimizations and
	bug fixes.

	* lisp/progmodes/cc-engine.el (c-state-semi-nonlit-near-cache): New buffer
	local variable.
	(c-state-semi-trim-near-cache, c-state-semi-get-near-cache-entry)
	(c-state-semi-put-near-cache-entry, c-state-semi-trim-cache): New functions.
	(c-state-semi-pp-to-literal, c-state-full-pp-to-literal): Use the new "near"
	cache.
	(c-parse-ps-state-below): Use the new function c-state-semi-trim-cache.
	(c-before-change-check-<>-operators): Check simply for < or > in the
	neighbourhood before doing more expensive processing.
	(c-maybe-re-mark-raw-string): Give a backward search limit to an operation
	which was needlessly lacking one.

	* lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end): Check a
	certain regexp is valid before performing the (somewhat expensive) actions of
	these functions.
	(c-fl-decl-start): In the search for a C++ lambda capture list, replace (slow)
	calculation of c-parse-state by a (less slow) c-go-up-list-backward.

2019-05-10  Alan Mackenzie  <acm@muc.de>

	Make uncomment-region remove obtrusive spaces before tabs.

	These spaces were typically inserted earlier by comment-region.  This patch
	makes these two complementary functions closer to inverses.

	* lisp/newcomment.el (uncomment-region-default-1): Remove spaces before a tab
	where the comment opener has just been removed.

2019-05-09  Michael Heerdegen  <michael_heerdegen@web.de>

	Fix alist-get gv setter not returning VAL

	This fixes Bug#35546.

	* lisp/emacs-lisp/gv.el (alist-get): Make setter return the set value
	to preserve 'setf' semantics.

2019-05-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/footnote.el: Avoid regexp-opt-charset, which is not autoloaded.

	(footnote-hebrew-numeric-regex): Use rx-to-string instead.

2019-05-09  Michael Albinus  <michael.albinus@gmx.de>

	Fix an error in tramp-vc-file-name-handler

	* lisp/net/tramp.el (tramp-accept-process-output, tramp-send-string):
	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
	(tramp-sh-handle-make-process):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
	(tramp-smb-handle-set-file-acl)
	(tramp-smb-handle-start-file-process): Do not suppress timers.

	* lisp/net/tramp-sh.el (tramp-vc-file-name-handler): Check, that
	`tramp-file-name-for-operation' returns a proper Tramp file.

2019-05-09  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (cl-lib): Require instead of cl-seq.

2019-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/syntax.el (syntax-propertize): `ignore` is like nil

	(syntax-ppss-after-change-function): Mark it as obsolete.
	* lisp/font-lock.el (font-lock-apply-syntactic-highlight):
	Use syntax-ppss-flush-cache instead.

2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>

	Port LIBRSVG_CHECK_VERSION fix to picky cpp

	* src/image.c (LIBRSVG_CHECK_VERSION): Define to yield false
	if it isn’t already defined.
	(svg_load_image): Port to C preprocessors that check the
	syntax of the entire preprocessing expression before
	evaluating any of it.

2019-05-08  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	1c6484e (origin/emacs-26) Fix incorrect cloning of eieio-instance-inh...
	37436fe Fix cloning of eieio-named objects (Bug#22840)
	fb65a36 Fix ibuffer-unmark-backward synopsis (bug#35572)
	f77bd2b ; * src/lisp.h (DEFSYM): Fix inaccurate comment.
	3b86e0b Clarify handling of long options (Bug#24949)
	04340a8 Improve documentation of the daemon and emacsclient
	3e29de2 * etc/NEWS.24: Belatedly announce delete-consecutive-dups.

2019-05-08  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	ec02c73 Update process filter example (Bug#35044)

2019-05-08  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation with old versions of librsvg

	* src/image.c (svg_load_image): Use LIBRSVG_CHECK_VERSION only
	if it's defined; it isn't in old versions of librsvg.

2019-05-08  Michael Albinus  <michael.albinus@gmx.de>

	Skip tramp-test10-write-region-file-precious-flag for Emacs < 27

	* test/lisp/net/tramp-tests.el
	(tramp-test10-write-region-file-precious-flag): Skip for Emacs < 27.

2019-05-08  Jonathan Tomer  <jktomer@google.com>

	Don't rewrite buffer contents after saving by rename (Bug#35497)

	* lisp/files.el (basic-save-buffer-2): Don't rewrite file contents
	after saving-by-renaming.  (Bug#35497)

	* test/lisp/files-tests.el (files-tests-dont-rewrite-precious-files):
	* test/lisp/net/tramp-tests.el
	(tramp-test10-write-region-file-precious-flag): Regression tests
	for this change.

2019-05-07  Eli Zaretskii  <eliz@gnu.org>

	Add an assertion to xdisp.c

	* src/xdisp.c (display_mode_element): Add an assertion where
	we assume that 'string' returned by decode_mode_spec is always
	either a Lisp string or nil.

2019-05-07  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/flymake.el: Obsolete variable flymake-start-on-newline

	(flymake-start-syntax-check-on-newline): Mark it obsolete.
	(flymake-after-change-function): Remove obsolete variable
	flymake-start-syntax-check-on-newline (temporarily renamed to
	flymake-start-on-newline).  (Bug#34294)

	* doc/misc/flymake.texi: Remove obsolete variable.

2019-05-07  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC 9.1

	* src/intervals.c (set_intervals_multibyte_1): Omit unused temps.
	* src/xdisp.c (display_mode_element): Use !NILP instead of
	STRINGP.  This convinces GCC we’re not dereferencing a
	possibly-null pointer, and should be a bit faster anyway.

2019-05-07  John Shahid  <jvshahid@gmail.com>

	Fix setting and resetting of scroll-with-delete

	The start and end lines of the scroll region must to be in the range
	[0,term-height).  There are few placees that incorrectly set the end
	line of the scroll region to term-height which is outside the valid
	range.  Combined with another off-by-one error in
	term-set-scroll-region's clamping logic, this would cause
	term-scroll-with-delete to be unnecessarily turned on.

	* lisp/term.el (term-scroll-start,term-scroll-end): Use defvar-local
	to define the variables and document the valid range of values that
	the variables can take.
	(term--last-line): New function to calculate the 0-based index of the
	last line.
	(term--reset-scroll-region): New function to reset the scroll region
	to the full height of the terminal.
	(term-mode,term-reset-size,term-reset-terminal): Call
	term--reset-scroll-region to reset the scroll region.
	(term-set-scroll-region): Fix the off-by-one error in the clamping
	logic which allowed term-scroll-end to have values outside the valid
	range [0,term-height).

2019-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/marker.c (buf_bytepos_to_charpos): Re-add the CHAR_HEAD_P assertion

	This assertion was removed in 1c349c62305d432abf0fa2b6e3f5d754fe4cab79
	because the assumption was invalid during set_intervals_multibyte_1.
	So we change set_intervals_multibyte_1 to solve the problem in the same
	way as in the rest of Fset_buffer_multibyte, which actually simplifies
	the code.

	* src/buffer.c (advance_to_char_boundary): Not static any more.
	* src/buffer.h (advance_to_char_boundary): Add prototype.
	* src/intervals.c (set_intervals_multibyte_1): Use it.

2019-05-07  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/text.texi (Fill Commands): Use pxref in parentheses.

	* doc/emacs/files.texi (Auto Revert): Fix makeinfo-4.13 compilation.

2019-05-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Clarify what constitutes an event (bug#35238)

	* doc/lispref/commands.texi (Input Events): Specify that events are
	non-nil and remove vestiges of bug#10190.
	* doc/lispref/os.texi (Recording Input): Document optional argument
	of recent-keys.
	* lisp/subr.el (eventp): Check that the car of conses is non-nil.
	* etc/NEWS: Announce it as an incompatible change.
	* src/keyboard.c (Frecent_keys): Clarify that returned "events" are
	not real events.

2019-05-07  Eli Zaretskii  <eliz@gnu.org>

	Fix 'load-average' on MS-Windows

	* src/w32.c (getloadavg): Always return at least one element
	of the array.

2019-05-06  Wilson Snyder  <wsnyder@wsnyder.org>

	Fix verilog-mode module backticks; whitespace from prev commits.

	* lisp/progmodes/verilog-mode.el (verilog-read-inst-module-matcher):
	Work when point is near backtick. Reported by Mattias Engdegard.

2019-05-06  Juri Linkov  <juri@linkov.net>

	* lisp/emacs-lisp/lisp.el (insert-pair-alist): Turn defvar into defcustom.

	Revert to old default value.  (Bug#35480)

2019-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	Make combine-after-change-calls work in the common case again

	* src/insdel.c (signal_after_change): Allow combine_after_change_calls
	even when syntax-ppss-flush-cache is on before-change-functions.

2019-05-06  John Shahid  <jvshahid@gmail.com>

	Prevent accidental edits in the ansi-term buffer from breaking resizing

	* lisp/term.el (term-unwrap-line, term-emulate-terminal): Prevent the
	  `term-line-wrap` property of newlines from spreading accidentally
	  when inserting text next to it.

2019-05-06  Alan Mackenzie  <acm@muc.de>

	c-beginning-of-statement-1: Handle syntactic WS macros properly.

	* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): The variable
	before-sws-pos should record the position of a closing paren/brace/bracket
	before moving backwards over a sexp.  When there is a syntactic WS macro
	between the starting point and the closing p/b/b, setq before-sws-pos again
	after moving backward over the macro.

2019-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/custom.el: Avoid adding vars to load-history multiple times

	Avoid the abuse of (eval `(defvar ...)) which tends to end up
	adding redundant entries in `load-history`, as discussed in
	https://lists.gnu.org/r/help-gnu-emacs/2019-03/msg00237.html

	(custom-initialize-default): Don't add to load-history.
	(custom-declare-variable): Use internal--define-uninitialized-variable
	and only add the var to load-history once.  Do it before calling
	`initialize` so the special-variable-p flag is set.

	* src/eval.c (Finternal__define_uninitialized_variable): New function.
	(Fdefvar, Fdefconst): Use it.
	(syms_of_eval): Defsubr' it.

2019-05-06  Michael Albinus  <michael.albinus@gmx.de>

	Use lambda in tramp-compat-* functions

	* lisp/net/tramp-compat.el (tramp-handle-temporary-file-directory):
	Declare.
	(tramp-compat-temporary-file-directory-function): Use function symbol.
	(tramp-compat-file-attribute-type)
	(tramp-compat-file-attribute-link-number)
	(tramp-compat-file-attribute-user-id)
	(tramp-compat-file-attribute-group-id)
	(tramp-compat-file-attribute-modification-time)
	(tramp-compat-file-attribute-size)
	(tramp-compat-file-attribute-modes)
	(tramp-compat-directory-name-p, tramp-compat-file-local-name)
	(tramp-compat-file-name-quoted-p, tramp-compat-file-name-quote)
	(tramp-compat-file-name-unquote, tramp-compat-exec-path)
	(tramp-compat-time-equal-p, tramp-compat-flatten-tree):
	Make them lambdas.

2019-05-05  Paul Eggert  <eggert@cs.ucla.edu>

	Use simpler way to print function pointers

	The module code can’t possibly work on weird platforms where
	function pointers are wider than data pointers, so there’s no need
	to bother with the stackoverflow-like approach that is intended
	only for portability to such platforms.  Besides, the
	stackoverflow-like approach does not work well on weird platforms
	where CHAR_BIT is not a multiple of 4.
	* src/lisp.h (pMx): New macro.
	* src/print.c (data_from_funcptr) [HAVE_MODULES]: New function.
	(print_vectorlike) [HAVE_MODULES]: Use it.
	(print_object): Make sure buf is big enough for this.

2019-05-05  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/flymake.el (flymake-start): Check for flymake-mode.

	Check for the value of flymake-mode after hooks are finished (bug#34294)

2019-05-05  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/flymake.el: Rename flymake-start-on-newline (bug#34294)

	* lisp/progmodes/flymake.el (flymake-start-on-newline): Rename from
	flymake-start-syntax-check-on-newline.
	(flymake-start-syntax-check-on-newline): Define obsolete alias.
	(flymake-no-changes-timeout): Add customization option nil.

	* doc/misc/flymake.texi (Using Flymake): Rename variable.

2019-05-05  Juri Linkov  <juri@linkov.net>

	* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Remove Git prefixes.

	Strip possible source/destination prefixes such as a/ and b/
	from directory names.   (Bug#35420)
	(ediff-fixup-patch-map, ediff-dispatch-file-patching-job)
	(ediff-patch-file-internal): Replace string-match with string-match-p.

2019-05-05  Juri Linkov  <juri@linkov.net>

	Use ngettext instead of dired-plural-s in Dired (bug#35287)

	* lisp/dired-aux.el (dired-map-over-marks-check): Use ngettext
	instead of dired-plural-s.
	(dired-create-files): Also add colon after operation name.
	(dired-compare-directories): Use ngettext and format-message.
	(dired-do-compress-to): Use ngettext.

	* lisp/dired.el (dired-internal-do-deletions)
	(dired-clean-up-after-deletion): Use ngettext instead of dired-plural-s.

2019-05-05  Juri Linkov  <juri@linkov.net>

	* lisp/emacs-lisp/lisp.el (insert-pair-alist): Precompute default value.

	Use unicode-property-table-internal with 'paired-bracket to append
	pairs of open/close characters to the default value (bug#35480).

2019-05-05  Juri Linkov  <juri@linkov.net>

	Rename shell-command-width to async-shell-command-width (bug#35055)

	* lisp/simple.el (async-shell-command-width):
	* lisp/net/tramp.el (tramp-handle-shell-command):
	* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
	* doc/misc/tramp.texi (Remote processes): Rename this variable.

	* doc/emacs/misc.texi (Single Shell): Add async-shell-command-width.

2019-05-05  Paul Eggert  <eggert@cs.ucla.edu>

	Port mod-test to --enable-gcc-warnings

	* test/data/emacs-module/mod-test.c (NDEBUG): Undef, to prevent
	GCC from complaining “error: unused variable ‘dummy’” and failing
	to build the test, if --enable-gcc-warnings.

2019-05-05  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation of mod-test.c on MinGW

	* test/data/emacs-module/mod-test.c (Fmod_test_nanoseconds)
	[__MINGW32__]: Use _Static_assert, not static_assert, as the
	latter is not available in mingw.org's MinGW's assert.h.

2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>

	Fixed fill-column-indicator face removing background.

	*lisp/faces.el: Removed background in default fill-column-indicator
	 face.
	*src/xdisp.c: fill-column-indicator face merged with saved face.

2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>

	;Corrected display-fill-column-indicator mode.

	Small corrections in the documentation and code format to merge into master.

2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>

	*src/xdisp.c: Fixed fill column indicator position in terminal mode.

2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>

	display-fill-column-indicator interface corrections

	*lisp/display-fill-column-indicator.el: Fixed character selection for
	the indicator based in the current faces. Extended condition to set
	display-fill-column-indicator-character in graphical displays.

	*src/xdisp.c: Fixed some long lines.

2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>

	;Small changes in the documentation

	*src/xdisp.c: Fixed docstring for display-fill-column-indicator-column
	*etc/NEWS: Concordance fix in the display-fill-column-indicator part.
	*doc/emacs/display.texi: Name mismatch fix.

2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>

	Added correction in the texinfo manual.

	*doc/emacs/text.texi: Added a reference to the
	display-fill-column-indicator section.

2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>

	Added fill-column-indicator manual documentation

	*etc/NEWS: reduced the comments about fill-column-indicator
	*doc/emacs/display.texi: Added documentation for fill-column-indicator
	 in this section in the manual

2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>

	Fixed fill-column-indicator for continuation lines

	*src/xdisp.c: Grouped the test conditions for
	display-fill-column-indicator mode in a macro to simplify future
	modifications.

2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>

	Display-fill-column-indicator NEWS info.

	*etc/NEWS: Added information about the fill-column-indicator mode.
	*lisp/faces.el: Added a face for the display fill column indicator.

2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>

	Start display-fill-column-indicator-mode.

2019-05-05  Michael Albinus  <michael.albinus@gmx.de>

	Describe, how to adapt shell command output width in Tramp

	* doc/misc/tramp.texi (Quick Start Guide, GVFS based methods):
	Fix @cindex.
	(Remote processes): Add some @vindex.  Describe shell command
	output width.

2019-05-05  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warning in print.c

	* src/print.c (print_vectorlike): Don't use %hh, as that is
	not portable enough; we don't yet assume a C99-compliant
	library.

2019-05-05  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes in read_integer

	* src/lread.c (read_integer): Always allocate a buffer, since
	we need to use it even when the radix is invalid.  (Bug#35576)

2019-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/files.el (hack-local-variables): Don't burp when files-x isn't loaded

2019-05-05  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tests for recent file-notification changes in Tramp

	* lisp/net/tramp.el (tramp-file-notify-process-sentinel):
	Pacify byte compiler.

	* test/lisp/autorevert-tests.el
	(auto-revert-test02-auto-revert-deleted-file):
	* test/lisp/filenotify-tests.el (file-notify-test03-events)
	(file-notify-test05-file-validity)
	(file-notify-test09-watched-file-in-watched-dir): Adapt for remote
	files.

2019-05-05  Mattias Engdegård  <mattiase@acm.org>

	Reorganize (auto-)revert nodes in the manual

	Put all information about auto-revert into a section of its own, and
	organize the text in a more logical way.  Previously it was mainly
	described in the section about reverting (bug#35418).

	* doc/emacs/files.texi (Files): Adjust menu.
	(Reverting, Auto Revert, Autorevert): Add node `Auto Revert' and move
	text on that topic from `Reverting', rearranged.  Turn the old
	`Autorevert' node into a subsection under `Auto Revert'.
	* doc/emacs/arevert-xtra.texi (Autorevert): Rename and turn into
	subsubsection.
	* doc/emacs/buffers.texi (Several Buffers): Adjust references.
	* doc/emacs/emacs.texi (Top): Adjust menu.
	* doc/emacs/emacs-xtra.texi (Top): Adjust menu.
	(Non-File Buffers): Add node and section lines.

2019-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix last changes in src/ftfont.c

	* src/ftfont.c (ftfont_shape): Add missing argument direction.
	(fthbfont_shape) [HAVE_HARFBUZZ]: Remove unused variable ftfont_info.
	(fthbfont_driver) [HAVE_HARFBUZZ]: Remove redundant redeclaration.

2019-05-04  Philipp Stephani  <phst@google.com>

	Avoid suppressing -Wcast-function-type warning.

	GCC special-cases the type ‘void (*)(void)’ to not emit warnings when
	cast, see
	https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wcast-function-type.
	Make use of this to remove a warning suppression.

	* src/dynlib.h: Use void (*)(void) as generic function pointer type.

	* src/emacs-module.c: Remove warning suppression.

2019-05-04  Philipp Stephani  <phst@google.com>

	Fix compilation of test module.

	Because all other objects are compiled without -fPIC, we can’t use
	them when linking the test module.  Instead, use the source files
	directly.

	* test/Makefile.in (HYBRID_MALLOC, LIBEGNU_ARCHIVE): Remove.
	($(test_module)): Use source files instead of objects and archives.

2019-05-04  Philipp Stephani  <phst@google.com>

	Use extract_time in test module.

	* test/data/emacs-module/mod-test.c (Fmod_test_sleep_until): Use
	extract_time for time argument.
	(signal_wrong_type_argument): Remove unused function.

	* test/src/emacs-module-tests.el (mod-test-sleep-until): Remove
	unnecessary ‘float-time’.

2019-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Add new font backend drivers for text shaping by HarfBuzz

	* etc/NEWS: Mention new font backend drivers xfthb and ftcrhb.

	* src/font.h [HAVE_HARFBUZZ]: Include hb.h.
	(struct font_driver) [HAVE_HARFBUZZ]: New members begin_hb_font and
	end_hb_font.
	(ftfont_match, ftfont_list): Remove externs.
	(ftfont_match2, ftfont_list2):
	(fthbfont_combining_capability, fthbfont_begin_hb_font)
	(fthbfont_shape) [HAVE_HARFBUZZ]:
	(xfthbfont_driver) [HAVE_XFT && HAVE_HARFBUZZ]:
	(ftcrhbfont_driver) [USE_CAIRO && HAVE_HARFBUZZ]: Add externs.

	* src/ftcrfont.c (ftcrfont_list): Use ftfont_list2.
	(ftcrfont_match): Use ftfont_match2.
	(ftcrfont_open): Get font type from entity.
	(ftcrfont_open) [HAVE_HARFBUZZ]: Use HarfBuzz version of driver if specified.
	(ftcrfont_shape) [HAVE_HARFBUZZ]: Make shaping fail.
	(ftcrhbfont_list, ftcrhbfont_match)
	(ftcrhbfont_begin_hb_font) [HAVE_HARFBUZZ]: New functions.
	(ftcrhbfont_driver) [HAVE_HARFBUZZ]: New variable.
	(syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize and register it.
	(syms_of_ftcrfont) [HAVE_HARFBUZZ]: New symbol Qftcrhb.

	* src/ftfont.c: Include math.h for lround.
	(fthbfont_driver) [HAVE_HARFBUZZ]: New variable.
	(ftfont_get_hb_font) [HAVE_HARFBUZZ]: Remove function.
	(ftfont_list, ftfont_match): Make static.
	(ftfont_list2, ftfont_match2): New functions.
	(ftfont_open2) [HAVE_HARFBUZZ]: Use HarfBuzz version of driver if specified.
	(ftfont_open): Get font type from entity.
	(ftfont_shape, ftfont_combining_capability, ftfont_driver) [HAVE_HARFBUZZ]:
	Move HarfBuzz specific part from here ...
	(fthbfont_shape, fthbfont_combining_capability)
	(fthbfont_driver) [HAVE_HARFBUZZ]: ... to here.   New functions and variable.
	(fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: New function.
	(fthbfont_shape_by_hb) [HAVE_HARFBUZZ]: Rename from ftfont_shape_by_hb.
	Don't take FreeType specific arguments ft_face and matrix.  Use begin_hb_font
	and end_hb_font font driver functions.  Use text_extents font driver functions
	instead of ftfont_glyph_metrics.
	(syms_of_ftfont) [HAVE_HARFBUZZ]: New symbol Qfreetypehb.
	(syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize and register
	fthbfont_drivert.

	* src/ftxfont.c (ftxfont_list): Use ftfont_list2.
	(ftxfont_match): Use ftfont_match2.
	(ftxfont_driver) [HAVE_HARFBUZZ]: Don't initialize shape member explicitly.

	* src/xfns.c (Fx_create_frame) [USE_CAIRO && HAVE_HARFBUZZ]:
	(Fx_create_frame) [HAVE_XFT && HAVE_HARFBUZZ]: Register HarfBuzz versions of
	font drivers.

	* src/xftfont.c (xftfont_list): Use ftfont_list2.
	(xftfont_match): Use ftfont_match2.
	(xftfont_open): Get font type from entity.
	(xftfont_open) [HAVE_HARFBUZZ]: Use HarfBuzz version of driver if specified.
	(xftfont_shape) [HAVE_HARFBUZZ]: Make shaping fail.
	(xfthbfont_list, xfthbfont_match, xfthbfont_begin_hb_font)
	(xfthbfont_end_hb_font) [HAVE_HARFBUZZ]: New functions.
	(xftfont_driver) [HAVE_HARFBUZZ]: Don't initialize shape member explicitly.
	(xfthbfont_driver) [HAVE_HARFBUZZ]: New variable.
	(syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize and register it.
	(syms_of_xftfont) [HAVE_HARFBUZZ]: New symbol Qxfthb.

2019-05-04  Philipp Stephani  <phst@google.com>

	* test/Makefile.in (src/emacs-module-tests.elc): Require test module

2019-05-04  Philipp Stephani  <phst@google.com>

	Refactoring: Factor out a function to set an mpz_t from a Lisp int.

	* src/bignum.h (mpz_set_integer): New function.

	* src/emacs-module.c (module_make_big_integer): Use it.

2019-05-04  Philipp Stephani  <phst@google.com>

	Avoid undefined behavior when printing function pointers.

	* src/print.c (print_vectorlike): Don’t pass a function pointer to
	‘snprintf’, as that is undefined behavior.  Instead, print the
	individual bytes making up the function pointer.

2019-05-04  Michael Albinus  <michael.albinus@gmx.de>

	Notify broken file notification from Tramp

	* lisp/net/tramp.el (tramp-file-notify-process-sentinel): New defun.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
	Set process sentinel.

2019-05-04  Paul Eggert  <eggert@cs.ucla.edu>

	Port new fingerprinting scheme to clang + LTO

	* lib-src/make-fingerprint.c (main): Don't consider multiple
	instances of the fingerprint to be an error, as this can
	happen with clang and -flto.  Instead, replace all instances
	of the fingerprint.  There is a tiny chance that this will
	silently corrupt the Emacs executable.

	This patch suggests that we should go back to fingerprinting
	the inputs to the linker instead of its output, as the new
	fingerprinting scheme is unnecessarily complicated and this
	complexity reduces reliability. The old scheme (i.e., before
	commit 2019-05-14T23:31:24Z!eggert@cs.ucla.edu) was simpler
	and more portable and good enough, and it's looking like it
	would be less trouble in practice than the new scheme.

2019-05-04  Noam Postavsky  <npostavs@gmail.com>

	Avoid slow overlay ansi coloring in eshell (Bug#29854)

	* lisp/ansi-color.el (ansi-color-apply-on-region): Reset temporary
	markers after finishing with them.
	(ansi-color-apply-text-property-face): New function.
	* lisp/eshell/esh-mode.el (eshell-handle-ansi-color):
	* lisp/man.el (Man-fontify-manpage): Use it as the
	`ansi-color-apply-face-function' while calling
	`ansi-color-apply-on-region'.  Use `font-lock-face' to propertize
	instead of `face'.

2019-05-04  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix bytecode optimization typo

	Problem reported by Simon Frankau (Bug#35562).
	* src/bytecode.c (exec_byte_code): Fix typo when optimizing varset.

2019-05-04  John Shahid  <jvshahid@gmail.com>

	Fix Bug#35506

	* lisp/net/tramp.el (tramp-interrupt-process): Kill the entire
	process group.  (Bug#35506)

2019-05-04  Eli Zaretskii  <eliz@gnu.org>

	Minor fix in .gdbinit

	* src/.gdbinit (xprintsym): Don't attempt to print the
	symbol's name if it is not yet set.  This happens with
	built-in symbols at the beginning of 'main'.

2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	Skip tests if test subdir is missing

	Problem reported by Jeffrey Walton in:
	https://lists.gnu.org/r/emacs-devel/2019-05/msg00041.html
	* Makefile.in (CHECK_TARGETS): New macro; use it
	to simplify 'check' and similar rules.
	($(CHECK_TARGETS)): If tests are missing, do not fail
	after issuing a diagnostic.  Just skip the tests.

2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	Modernize INSTALL a bit

	* INSTALL: Omit filesystem space estimates.  These estimates
	were (1) wrong and (2) no longer important nowadays, as people
	have plenty of space.  Instead, start with how to get and
	unpack an Emacs tarball.  Don’t say "disk" as it’s often not
	disk nowadays.  Update URLs.

2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify use of NDEBUG in etags.c

	* lib-src/etags.c [!DEBUG]: Do not define NDEBUG,
	as that’s conf_post.h’s job now.
	[NDEBUG]: Do not redefine ‘assert’, as that works around
	ancient bugs (e.g., sunos4 pcc) that don’t matter any more,
	as can be seen that other Emacs source files that successfully
	use assert.h without this workaround.

2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify librsvg 2.45.1 and later

	* src/image.c (svg_load_image): Pacify librsvg 2.45.1 and later,
	and add a FIXME comment about the deprecated librsvg functions.

2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify xd_signature to pacify GCC 9

	* src/dbusbind.c (xd_signature): Use simpler way to set up
	the subsignature.  This also pacifies GCC 9 on Fedora 30 x86-64.

2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-05-03 Port manywarnings to GCC 9
	* m4/manywarnings.m4: Copy from Gnulib.

2019-05-03  Michael Albinus  <michael.albinus@gmx.de>

	Add tests for remote files in auto-revert-tests

	* lisp/autorevert.el (auto-revert-debug): New defvar.
	(auto-revert-notify-handler): Write traces.

	* lisp/filenotify.el (file-notify-debug): New defvar.
	(file-notify-handle-event, file-notify-callback): Write traces.

	* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered):
	Handle nil `vc-handled-backends'.

	* test/lisp/autorevert-tests.el
	(auto-revert-test-remote-temporary-file-directory): New defconst.
	Handle also $REMOTE_FILE_NOTIFY_LIBRARY.
	(auto-revert--test-enabled-remote-checked): New defvar.
	(auto-revert--test-enabled-remote): New defun.
	(auto-revert--wait-for-revert): Rewrite without timeout.
	(auto-revert--deftest-remote): New defmacro.
	(auto-revert-test01-auto-revert-several-files):
	(auto-revert-test02-auto-revert-deleted-file): Adapt for remote files.
	(auto-revert-test02-auto-revert-deleted-file):
	Use `auto-revert-debug' for debug messages.
	(auto-revert-test00-auto-revert-mode-remote)
	(auto-revert-test01-auto-revert-several-files-mode-remote)
	(auto-revert-test02-auto-revert-deleted-file-mode-remote)
	(auto-revert-test03-auto-revert-tail-mode-mode-remote)
	(auto-revert-test04-auto-revert-mode-dired-mode-remote): New tests.

	* test/lisp/filenotify-tests.el (file-notify--test-event-handler):
	Use `file-notify-debug' for debug messages.

2019-05-03  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix Gnus inline attachment decoding (bug#35507)

	Proposed by Andy Moreton <andrewjmoreton@gmail.com>
	and Noam Postavsky <npostavs@gmail.com>.
	* lisp/gnus/mm-view.el (mm-display-inline-fontify): Always decode
	handle text, falling back on 'undecided' coding system.

2019-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/server.el: Cosmetic changes

	Remove redundant :group args.
	(server-temp-file-regexp): Fix ^$ to  \`\'.

2019-05-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'isearch-regexp-function'

	* lisp/isearch.el (isearch-regexp-function): Doc fix.
	(Bug#35498)

2019-05-02  Alexander Gramiak  <agrambot@gmail.com>

	Refactor update_window_begin and update_window_end hooks

	Bug#35464.

	* src/dispnew.c (gui_update_window_begin, gui_update_window_end): New
	procedures implementing common functionality.

	* src/nsterm.m: (ns_update_window_begin, ns_update_window_end):
	* src/xterm.c: (x_update_window_begin, x_update_window_end): Remove in
	favor of only using the new generic versions.

	* src/w32term.c: (w32_update_window_begin, w32_update_window_end):
	Remove duplicated and unused code.

2019-05-02  Dmitry Gutov  <dgutov@yandex.ru>

	xref--find-ignores-arguments: Return "" if IGNORES is nil

2019-05-02  Dmitry Gutov  <dgutov@yandex.ru>

	Allow project-find-regexp'ing inside an ignored dir

	* lisp/progmodes/project.el (project-find-regexp): Don't pass
	project's ignores to project--files-in-directory.  The FILES glob
	should be enough, and we don't want to prohibit searching inside
	ignored directories this way (it can be counter-intuitive).

2019-05-02  Dmitry Gutov  <dgutov@yandex.ru>

	(xref--mouse-2): Fix not to jump to the next line

	* lisp/progmodes/xref.el (xref--mouse-2): Fix not to jump to the
	next line.

2019-05-02  Dmitry Gutov  <dgutov@yandex.ru>

	Fix an "empty identifier" problem

	* lisp/progmodes/xref.el (xref--read-identifier): Abort on empty
	input if there is no default
	(https://lists.gnu.org/r/help-gnu-emacs/2019-05/msg00012.html).

2019-05-02  Alan Mackenzie  <acm@muc.de>

	Fix fontification of first item in CC Mode macro without parentheses

	* lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Handle the new
	matching possibility (of a #define construct) in the new
	c-decl-prefix-or-start-re.
	(c-find-decl-spots): Allow the initial search for an in-macro starting point
	settle on the # of #define, to facilitate the regexp matching in
	c-find-decl-prefix-search.

	* lisp/progmodes/cc-langs.el (c-anchored-hash-define-no-parens): New lang
	const.
	(c-literal-start-regexp): Correct what was always supposed to be a "generic
	string" regexp element.
	(c-decl-prefix-or-start-re): Enhance also to match "#define <identifier>".
	(c-dposr-cpp-macro-depth): New lang variable and lang constant.

2019-05-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/footnote.el: Add TEXT and POINTERS together

	Rather than adding POINTERS and TEXT separately to footnote--markers-alist,
	add them together, so we don't need footnote--first-text-marker because
	the TEXT part is never nil.

	(footnote--insert-numbered-footnote): Return marker.
	(footnote--insert-text-marker, footnote--insert-pointer-marker):
	Delete functions.
	(footnote--insert-markers): New function to replace them.
	(footnote--insert-footnote): Adjust accordingly.
	Simplify pointless `unless`.
	(footnote--first-text-marker): Remove.  Replace all calls by
	(cadr (car footnote--markers-alist)) or just footnote--markers-alist.

2019-05-02  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix multiline block comments in macros.

	In particulr, handle multiline block comments whose newlines are not escaped.
	There is an example of this in #define EXTRA_CONTEXT_FIELDS in editfns.c.

	* lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Enclose
	the loops scanning escaped newlines with outer loops which check
	heuristically for, respectively, a block comment ender and a block comment
	starter on the lines we end up on.  (A rigorous syntactic check would be too
	slow, here.)

	* lisp/progmodes/cc-langs.el (c-last-c-comment-end-on-line-re)
	(c-last-open-c-comment-start-on-line-re): New language constants/variables.

2019-05-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/footnote.el: Tweak markers convention

	Instead of using markers that are sometimes before and sometimes after
	the [...] and using `insert-before-markers` to make sure those that are
	are before stay before, always place them before, and make them
	"move after"so they stay with their [...] without the need for
	insert-before-markers.

	(footnote--current-regexp): Add arg to match previous style.
	Include the start/end "tags" in the regexp.  Adjust all callers.
	(footnote--markers-alist): Change position of POINTERS.
	(footnote--refresh-footnotes, footnote--renumber)
	(footnote--make-hole, footnote-delete-footnote)
	(footnote-back-to-message): Adjust accordingly, mostly by using
	`looking-at` instead of `looking-back`.
	(footnote--make-hole): Always return footnote nb to use.
	(footnote-add-footnote): Simplify call accordingly.

	* test/lisp/mail/footnote-tests.el: New file.

2019-05-02  Sam Steingold  <sds@gnu.org>

	use view-mode on score file for ease of scrolling and quitting

	tetris-null-map: bind "q" to `quit-window`

2019-05-02  Mattias Engdegård  <mattiase@acm.org>

	Small code clean-up of file-notify-add-watch

	* lisp/filenotify.el (file-notify-add-watch):
	Clearly separate backend-specific code from the rest, and simplify.
	(file-notify--add-watch-inotify, file-notify--add-watch-kqueue)
	(file-notify--add-watch-w32notify, file-notify--add-watch-gfilenotify):
	New functions.

2019-05-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/footnote.el: Use dolist and hoist regexps out of loops

	(footnote--refresh-footnotes): Use pcase-dolist; compute regexp once
	outside of the loops.  Use less confusing `literal` arg to `replace-match`
	and specify `fixedcase` since footnote--index-to-string already chose
	the proper case for us.
	(footnote--renumber): Use dolist; compute regexp once
	outside of the loops; shortcircuit when number is unchanged.
	(footnote--text-under-cursor): Rewrite.
	(footnote--make-hole): Use dolist.
	(footnote-add-footnote): CSE.
	(footnote-delete-footnote): Use dolist; compute regexp once
	outside of the loop.
	(footnote-delete-footnote): Don't renumber if there's no footnote left.
	(footnote-renumber-footnotes): Use dolist.

2019-05-02  Michael Albinus  <michael.albinus@gmx.de>

	Fix tramp-compat-file-name-quoted-p

	* lisp/net/tramp-compat.el (tramp-compat-file-local-name)
	(tramp-compat-file-name-quoted-p): Declare them.
	(top): Do not use `eval-and-compile'.
	(tramp-compat-file-name-quoted-p): Check also func-arity of
	`file-name-quoted-p'.

2019-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix NS build

	* src/macfont.m: Fix prototype of macfont_shape.
	(mac_font_shape): Fix type of 5th argument.

2019-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/footnote.el: Consolidate the two marker-alists

	Consolidate footnote-text-marker-alist and footnote-pointer-marker-alist
	into a single footnote--markers-alist.

	(footnote--markers-alist): New var.
	(footnote-text-marker-alist, footnote-pointer-marker-alist): Delete vars.
	(footnote--refresh-footnotes, footnote--text-under-cursor)
	(footnote--calc-fn-alignment-column, footnote-add-footnote)
	(footnote-goto-footnote, footnote-back-to-message): Adjust accordingly.
	(footnote--make-hole, footnote-delete-footnote)
	(footnote-renumber-footnotes): Simplify accordingly.
	(footnote-cycle-style): Indicate style name in echo area.
	(footnote--renumber): Take a single `alist-elem` arg instead of
	`pointer-alist` and `text-alist`.
	(footnote--insert-text-marker, footnote--insert-pointer-marker):
	Add to footnote--markers-alist instead.
	(footnote--first-text-marker): New function.
	(footnote--get-area-point-min): Use it.
	footnote--goto-first): New function.
	(footnote--insert-footnote): Use it.
	(footnote-style-number): Use defvar-local.

2019-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/footnote.el: Minor simplifications

	Remove redundant :group args.
	(footnote-mode-hook): Let define-minor-mode define it.
	(footnote--style-p): Delete function.
	(footnote--index-to-string): Inline it instead, and simplify.
	(footnote-cycle-style): Use a pointer into the alist as the "index"
	instead of a number.
	(footnote-set-style): Use footnote-style-alist as the completion table.
	Prefer `assq` over `footnote--assoc-index`.
	(footnote--assoc-index): Delete function.
	(footnote--renumber): Remove first (unused) argument; Adjust all callers.
	(footnote--sort): Use car-less-than-car.

2019-05-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore previous calling signature of gnus-set-info

2019-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/edebug.el: Better handle instrumentation of `end-of-defun`

	Remove redundant :group args.
	(edebug-read-top-level-form): Let-bind edebug-active.
	(edebug-active): Move before this new first use.

2019-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/help.el (function-called-at-point): Use Elisp's forward-sexp-function

2019-04-30  Basil L. Contovounesios  <contovob@tcd.ie>

	Minor region-noncontiguous-p simplification

	* lisp/simple.el (region-noncontiguous-p): Don't needlessly traverse
	region-bounds.

2019-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-engine.el: Silence minor compiler warnings

	(c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
	Move declaration before first use.
	(c-after-change-unmark-raw-strings): Remove unused var `found-end`.

2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix decode-time/encode-time roundtrip on macOS

	* src/timefns.c (Fencode_time): Ignore DST flag when the zone is
	numeric or is a cons, as the doc string says it’s ignored in that
	case, and not ignoring it causes encode-time to not invert
	decode-time on some platforms (Bug#35502).
	* test/src/timefns-tests.el (encode-time-dst-numeric-zone):
	New test.

2019-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-fonts.el: Silence some compiler warnings

	(c-font-lock-declarators): Mark `id_end` and `not-top` as unused.

2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	* build-aux/config.guess, doc/misc/texinfo.tex:
	* lib/mktime-internal.h, lib/mktime.c, lib/timegm.c:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2019-04-30  Mattias Engdegård  <mattiase@acm.org>

	* lisp/autorevert.el (auto-revert-avoid-polling): Fix :set form.

2019-04-30  Alan Mackenzie  <acm@muc.de>

	CC Mode: in certain font lock loops, check point is not beyond limit.

	* lisp/progmodes/cc-fonts.el (c-font-lock-enum-body)
	(autodoc-font-lock-line-markup): As part of the `while' condition, check that
	the previous iteration of the loop hasn't moved point past `limit', thus
	obviating "wrong side of point" errors in re-search-forward, etc.

2019-04-30  Mattias Engdegård  <mattiase@acm.org>

	Don't poll auto-revert files that use notification (bug#35418)

	It is a waste to periodically poll files that use change notification
	in auto-revert mode; stop doing that.  If no files need polling,
	turn off the periodic execution entirely to further avoid wasting power.
	Use a timer to inhibit immediate reversion for some time after a
	notification, for throttling.

	This change does not apply to files in global-auto-revert-mode, where
	polling is still necessary.  It is disabled by default, and enabled by
	setting `auto-revert-avoid-polling' to non-nil.

	* lisp/autorevert.el
	(toplevel): Require cl-lib.
	(auto-revert-avoid-polling, auto-revert--polled-buffers)
	(auto-revert--need-polling-p, auto-revert--lockout-interval)
	(auto-revert--lockout-timer, auto-revert--end-lockout): New.
	(global-auto-revert-mode): Keep notifiers for buffers in auto-revert mode.
	(auto-revert-set-timer): Use auto-revert--need-polling-p.
	(auto-revert-notify-handler): Restart polling if notification stopped.
	Use new lockout timer.
	(auto-revert-buffers):
	Use auto-revert--polled-buffers and auto-revert--need-polling-p.
	(auto-revert-buffers-counter, auto-revert-buffers-counter-lockedout):
	Remove.

	* etc/NEWS (Changes in Specialized Modes and Packages):
	Describe the new auto-revert-avoid-polling variable.

	* doc/emacs/files.texi (Reverting):
	Add paragraph describing auto-revert-avoid-polling.

2019-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	Refrain from splicing anonymous faces in text properties

	* lisp/font-lock.el (font-lock-prepend-text-property): Distinguish
	list of faces from property lists.
	(font-lock-ensure-function): Remove redundant code.

2019-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/mule-util.el: Avoid setq; clarify meaning of -1.

2019-04-29  Paul Eggert  <eggert@cs.ucla.edu>

	Sync latest SKK-JISYO.L

	Problem reported by Tsuyoshi Kitamoto (Bug#35442).
	* leim/SKK-DIC/README: Update to current URL.
	* leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.

2019-04-29  Paul Eggert  <eggert@cs.ucla.edu>

	Disable __attribute__ ((cold)) on MinGW

	* src/conf_post.h (ATTRIBUTE_COLD) [__MINGW32__]:
	Define to empty on this platform.

2019-04-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	c26d452 (origin/emacs-26) * src/macfont.m (macfont_shape): Use conven...
	140e7f8 Recommend using font-lock-face over face (Bug#35044)
	7cb5364 Check if mouse_face_overlay was deleted (Bug#35273)

	# Conflicts:
	#	src/macfont.m

2019-04-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	0e8d452 ; * doc/lispref/nonascii.texi (Coding System Basics): Fix gra...
	25a2ff7 ; Add missing space in custom.texi
	9ec18fb * admin/admin.el (set-version): Check for increase in version...
	93912ba Be more careful about indent-sexp going over eol (Bug#35286)

2019-04-29  Paul Eggert  <eggert@cs.ucla.edu>

	Replace ‘/* FALLTHROUGH! */’ with ‘break;’

	* src/data.c (set_internal, set_default_internal):
	Replace obsolescent /* FALLTHROUGH! */ comments with ‘break;’,
	as ‘FALLTHROUGH;’ is not needed here.

2019-04-29  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp--test-timeout-handler): Instrument.

2019-04-29  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warnings in w32.c

	* src/w32.c (unsetenv, readlink): Use memcpy instead of
	strncpy, to avoid a compiler warning about calculating the
	bound of the copy.

2019-04-28  Noam Postavsky  <npostavs@gmail.com>

	Replace use of obsolete string-make-unibyte

	* lisp/image-file.el (insert-image-file): Use encode-coding-region
	instead of string-make-unibyte.
	* test/lisp/image-file-tests.el: New test.

2019-04-28  Tommi Komulainen  <tommi.komulainen@iki.fi>  (tiny change)

	python.el: Fix close paren indentation to match pep8 (Bug#20742)

	* lisp/progmodes/python.el (python-indent--calculate-indentation):
	When opening paren is followed by newline the closing paren should
	follow the current indentation.  Otherwise the closing paren should be
	aligned with the opening paren.  This fixes the latter case.

2019-04-28  Paul Eggert  <eggert@cs.ucla.edu>

	Update from GMP

	* admin/update-copyright (updatable_files):
	Don’t update copyright year on files copied from GMP, so that
	they’re identical to upstream.
	* src/mini-gmp.c, src/mini-gmp.h: Copy from GMP development
	versions as of 2019-01-01 20:15:39 UTC.

2019-04-28  Philipp Stephani  <phst@google.com>

	Export major version of latest Emacs supported by emacs-module.h.

	This is useful if module authors want to support multiple versions of
	emacs-module.h.

	* configure.ac (emacs_major_version): Define substitution.

	* src/emacs-module.h.in (EMACS_MAJOR_VERSION): Define macro.

	* doc/lispref/internals.texi (Module Initialization): Document
	EMACS_MAJOR_VERSION preprocessor macro.

	* test/data/emacs-module/mod-test.c (emacs_module_init): Verify
	behavior of EMACS_MAJOR_VERSION.

2019-04-28  Philipp Stephani  <phst@google.com>

	Fix another compilation warning.

	* test/src/emacs-module-tests.el (multiply-string): Remove unused
	variable ‘i’.

2019-04-28  Philipp Stephani  <phst@google.com>

	Also regenerate emacs-module.h if module-env-*.h changes.

	* Makefile.in (CONFIG_STATUS_FILES_IN): Add versioned environment
	header fragments.

2019-04-28  Philipp Stephani  <phst@google.com>

	* src/emacs-module.c (funcall_module): Add a nontrivial assertion

2019-04-28  Philipp Stephani  <phst@google.com>

	Fix a few minor compilation and Checkdoc warnings.

	* test/src/emacs-module-tests.el: Add package name and standard
	sections.
	(multiply-string): Add a docstring.

2019-04-28  Philipp Stephani  <phst@google.com>

	* test/src/emacs-module-tests.el: Switch to lexical binding.

2019-04-28  Eli Zaretskii  <eliz@gnu.org>

	Fix names of functions in last commit

	* src/coding.h (build_string_from_utf8): Rename from
	build_utf8_string.  All callers changed.
	* src/coding.c (make_string_from_utf8): Rename from
	make_utf8_string.  All callers changed.

2019-04-28  Philipp Stephani  <phst@google.com>

	Refactoring: move UTF-8 decoding functions into coding.h.

	json_make_string and json_build_string are generally useful and not
	JSON-specific.  Move them to coding.[ch].

	* src/coding.h (build_utf8_string): Move from json.c.

	* src/coding.c (make_utf8_string): Move from json.c.

	* src/json.c (json_make_string, json_build_string): Move to
	coding.[ch].  Split out JSON-specific comment.
	(json_parse_error, Fjson_serialize, json_to_lisp): Fix callers.

	* src/emacs-module.c (module_make_function, module_make_string): Use
	new functions.
	(module_decode, module_decode_copy): Remove.

2019-04-27  Alan Mackenzie  <acm@muc.de>

	Fix slow scrolling in C++ buffers with lots of template delimiters.

	* lisp/progmodes/cc-engine.el (c-update-brace-stack): bind
	c-parse-and-markup-<>-arglists and c-restricted-<>-arglists to t around the
	call to c-forward-<>-arglist, to force the marking of template delimiters with
	syntax-table text properties.

2019-04-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Merge branch 'master' into harfbuzz

2019-04-27  Eli Zaretskii  <eliz@gnu.org>

	Fix -nw sessions on MS-Windows broken by a recent commit

	* src/w32console.c: Include dispextern.h.
	(initialize_w32_display): Populate defined_color_hook.

2019-04-27  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows build broken by a recent commit

	* src/w32term.c (w32_new_focus_frame): Fix a typo in a recent
	commit.

2019-04-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix --with-x-toolkit=no build breakage

	* oldXMenu/Create.c (XMenuCreate): Add const modifier to variable def_val.
	* oldXMenu/Create.c:
	* src/frame.h: Add const modifier to return type of x_get_resource_string.
	* src/frame.c (x_get_resource_string): Exempt x_get_string_resource from
	renaming generic x_* identifiers.

2019-04-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Update multicolor font support status

	* etc/NEWS: Mention multicolor font support on Cairo and NS.
	* src/macfont.m (macfont_list): Re-enable color bitmap fonts.

2019-04-26  Alexander Gramiak  <agrambot@gmail.com>

	* src/frame.c (x_get_resource_string): Fix typo

	* src/xdisp.c: Only check FRAME_RIF for graphical frames

2019-04-26  Alexander Gramiak  <agrambot@gmail.com>

	Rename x_highlight_frame property to highlight_frame

	* src/nsterm.h:
	* src/nsterm.m:
	* src/w32term.c:
	* src/w32term.h:
	* src/xdisp.c:
	* src/xterm.c:
	* src/xterm.h: Rename.

2019-04-26  Alexander Gramiak  <agrambot@gmail.com>

	Check for existence of terminal hooks before use

	This should not be necessary, and is merely a precaution. For
	background, see:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00639.html

	* src/frame.c:
	* src/xdisp.c: Check for existence of terminal hooks before use.

2019-04-26  Alexander Gramiak  <agrambot@gmail.com>

	Add terminal hook query_frame_background_color

	* src/termhooks.h (query_frame_background_color): New terminal hook.

	* src/image.c (image_query_frame_background_color): Remove. Use the
	terminal hook instead.

	* src/nsterm.m:
	* src/w32term.c:
	* src/xterm.c: Implement and set the new terminal hook.

2019-04-26  Alexander Gramiak  <agrambot@gmail.com>

	Add terminal hook defined_color_hook

	* src/termhooks.h (defined_color_hook): New terminal hook.

	* src/xterm.c:
	* src/nsterm.m:
	* src/term.c:
	* src/w32term.c: Set defined_color_hook.

	* src/xfaces.c: Use defined_color_hook.
	(defined_color): Remove.

	* src/image.c: Remove redefinitions of x_defined_color, and use
	defined_color_hook.

2019-04-26  Alexander Gramiak  <agrambot@gmail.com>

	Rename generic x_* identifiers

	* src/image.c: Rename x_* procedures to image_*.

	* src/frame.c: Rename x_* procedures to gui_*. Rename
	xrdb_get_resource to gui_display_get_resource. Rename x_get_arg to
	gui_display_get arg.

	* src/frame.h: Rename can_x_set_window_size to can_set_window_size.

	* src/xfaces.c: Rename realize_x_face to realize_gui_face. Rename
	x_supports_face_attributes_p to gui_supports_face_attributes_p.

	* src/keyboard.c:
	* src/lisp.h:
	* src/nsterm.m:
	* src/w32term.c:
	* src/xterm.c: Rename x_get_keysym_name to get_keysym_name.

	* src/nsfns.m:
	* src/nsterm.m: Rename x_* procedures to ns_*.

	* src/w32fns.c:
	* src/w32term.c: Rename x_* procedures to w32_*.

	* src/termhooks.h (query_colors, get_focus_frame, focus_frame_hook)
	(frame_visible_invisible_hook, iconify_frame_hook)
	(set_window_size_hook, set_frame_offset_hook, set_frame_alpha_hook)
	(set_new_font_hook, set_bitmap_icon_hook, implicit_set_name_hook)
	(activate_menubar_hook, change_tool_bar_height_hook)
	(set_scroll_bar_default_width_hook)
	(set_scroll_bar_default_height_hook, get_string_resource_hook): New
	terminal hooks to replace backend-specific x_* procedures.

	* src/dispextern.h (clear_under_internal_border): New RIF procedure.

	* src/alloc.c:
	* src/frame.c:
	* src/xdisp.c: Use FRAME_OUTPUT_DATA instead of FRAME_X_OUTPUT.

	* src/frame.c:
	* src/w32term.c:
	* src/w32fns.c: Use FRAME_NATIVE_WINDOW instead of FRAME_X_WINDOW.

2019-04-26  Alexander Gramiak  <agrambot@gmail.com>

	Add prefixes to some window system-dependent procedures

	* src/nsterm.m (note_mouse_movement):
	* src/w32fns.c (construct_console_modifiers):
	* src/w32inevt.c:
	* src/w32term.c (frame_highlight, frame_unhighlight)
	(construct_mouse_click, construct_mouse_wheel, construct_drag_n_drop)
	(lispy_file_action, queue_notifications, note_mouse_movement):
	* src/w32term.h:
	* src/xterm.c (frame_highlight, frame_unhighlight)
	(construct_mouse_click, note_mouse_movement, get_current_wm_state):
	Add and use window system prefixes.

2019-04-26  Alexander Gramiak  <agrambot@gmail.com>

	Rename generic x_* procedures in xdisp.c

	* src/xdisp.c (x_consider_frame_title, x_get_glyph_overhangs)
	(x_produce_glyphs, x_write_glyphs, x_insert_glyphs)
	(x_clear_end_of_line), x_fix_overlapping_area)
	(x_update_cursor, x_clear_cursor, x_clear_window_mouse_face)
	(x_draw_vertical_border, x_draw_right_divider, x_draw_bottom_divider)
	(x_intersect_rectangles): Rename with a gui prefix to indicate
	non-X-specific functionality.

	* src/composite.c:
	* src/dispextern.h:
	* src/nsfns.m:
	* src/nsterm.m:
	* src/w32fns.c:
	* src/w32term.c:
	* src/window.c:
	* src/xfns.c:
	* src/xterm.c: Use the renamed procedures.

2019-04-26  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in calculating line-number width

	* src/indent.c (line_number_display_width): Don't use the
	window's start marker if it belongs to a different buffer.
	(Bug#35429)

2019-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lib-src/profile.c: Delete long-obsolete file

	This auxiliary executable was used by the old `profile.el` which later
	inspired `elp.el`.  It was made obsolete when Emacs acquired native timers.

	* lib-src/Makefile.in (UTILITIES): Remove profile.
	(profile${EXEEXT}): Delete rule.

2019-04-26  Michael Albinus  <michael.albinus@gmx.de>

	Handle quoted file names in tramp-archive.el

	* lisp/net/tramp-archive.el (tramp-archive-file-name-p):
	Suppress quoted file names.
	(tramp-archive-file-name-handler): Handle quoted file names.

	* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p):
	Add optional TOP argument.

2019-04-26  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warning in dynlib.c

	* src/dynlib.c (dynlib_addr) [WINDOWSNT]: Rename the first
	argument to be consistent with other platforms.  Cast it to
	'void *' to avoid compiler warning as result of changing the
	function's signature as part of the last recent change in
	dynlib.c.

2019-04-25  Glenn Morris  <rgm@gnu.org>

	* test/lisp/progmodes/sql-tests.el (sql-tests-buffer-naming-harness):
	Fix previous for TEST_LOAD_EL=no.

2019-04-25  Alan Mackenzie  <acm@muc.de>

	Fix the formatting of '\' (including apostrophes) in CC Mode.

	In particular, the second apostrophe must also get font-lock-warning-face.

	* lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
	(c-parse-quotes-after-change): Add cond arms to recognize and handle the
	anomalous construct '\'.  Correct the handling of c-new-BEG in
	c-parse-quotes-before-change.

2019-04-25  Glenn Morris  <rgm@gnu.org>

	* test/lisp/progmodes/sql-tests.el (sql-tests-buffer-naming-harness):
	Skip if no sqlite program.

2019-04-25  Stephen Leake  <stephen_leake@stephe-leake.org>

	Fix Bug#33618; define search path variables for grep, byte-compile

	* etc/NEWS: Mention new variables.

	* lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-search-path): New.

	* lisp/progmodes/grep.el (grep-search-path): New.

2019-04-25  Paul Eggert  <eggert@cs.ucla.edu>

	Minor tweaks to recent UBSan-related fix

	* src/alloc.c: No need to include stdalign.h; it’s pervasive.
	(GC_STRING_OVERRUN_COOKIE_SIZE): Align to sdata’s alignment,
	so that the code works even if alignof (sdata) exceeds 8.
	Don’t require the cookie size to be 8, as this overly fattens
	32-bit platforms and one DEADBEEF should be enough.
	(GC_STRING_EXTRA): Omit now-unnecessary ‘verify’.
	(allocate_string_data): Omit unnecessary cast.

2019-04-25  Paul Eggert  <eggert@cs.ucla.edu>

	Port to Oracle Developer Studio 12.6

	This compiler is a bit pickier about checking conformance to
	the C standard, ranging from syntax trivia (no extra ";" at
	the top level) to portability trivia (warnings re conversion
	between function and data pointers) to more-important stuff
	like lack of support for some __attribute__ usages.
	* src/dynlib.c (dynlib_addr): First argument is a function
	pointer, not a data pointer.  All callers changed.
	* src/emacs-module.c (module_function_address):
	Return module_funcptr, not void *.  All uses changed.
	* src/lisp.h (module_funcptr) [HAVE_MODULES]: New type.
	* src/lread.c (union ieee754_double): Don’t assume the usual
	semantics for converting signed to unsigned int when initializing
	a bitfield, as the Oracle compiler complains and the C standard
	is unclear.
	* src/pdumper.c (ALLOW_IMPLICIT_CONVERSION): Make it clearer
	that -Wsign-conversion is disabled everywhere in this file.
	(dump_trace, dump_tailq_prepend, dump_tailq_append):
	Don’t assume __attribute__.
	(dump_object_self_representing_p): Don’t disable conversion
	warnings; it’s not needed here.
	(DEFINE_FROMLISP_FUNC): Avoid possible signal in integer
	conversion from unsigned to signed.
	(DEFINE_FROMLISP_FUNC, finish_dump_pvec): Avoid warning about
	unreachable statements on platforms not supporting the
	__attribute__.
	(intmax_t_from_lisp, intmax_t_to_lisp, dump_off_from_lisp)
	(dump_off_to_lisp, dump_emacs_reloc_immediate_lv)
	(dump_emacs_reloc_immediate_ptrdiff_t)
	(dump_emacs_reloc_immediate_intmax_t)
	(dump_emacs_reloc_immediate_int, dump_emacs_reloc_immediate_bool):
	Omit stray semicolon that violates C standard.
	(dump_metadata_for_pdumper): Add cast to pacify compiler complaining
	about conversion from function pointer to data pointer.
	(Fdump_emacs_portable): Do not use CALLN to call a function
	with zero arguments, as C99 prohibits empty initializers.
	* src/xdisp.c (syms_of_xdisp): Do not nest calls to pure_list,
	to work around a bug in Oracle Developer Studio 12.6.

2019-04-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (eval-expression): Fix paren typo.

2019-04-25  Philipp Stephani  <phst@google.com>

	Make sure that ‘sdata’ objects in ‘sblock’ objects are aligned.

	Issue found by Clang’s UBSan.

	* src/alloc.c (GC_STRING_OVERRUN_COOKIE_SIZE): Increase to 8.
	(string_overrun_cookie): Extend accordingly.
	(GC_STRING_EXTRA): Ensure that it’s properly aligned for ‘sdata’.
	(allocate_string_data): Verify that ‘sdata’ blocks remain aligned.

2019-04-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use lexical-binding by default for M-:, --eval, and *scratch*

	* lisp/startup.el (command-line): Default to lexical-binding in *scratch*.
	(normal-no-mouse-startup-screen, command-line-1):
	Use startup--get-buffer-create-scratch.
	(command-line-1):
	* lisp/simple.el (eval-expression):
	* lisp/server.el (server-eval-and-print): Use lexical-binding to
	evaluate the expression.
	(server-execute): Use startup--get-buffer-create-scratch.
	* lisp/ielm.el (inferior-emacs-lisp-mode): Default to lexical-binding.

2019-04-25  Alan Mackenzie  <acm@muc.de>

	Restore fontification of delimiters of multiline CC Mode strings.

	E.g., on typing the closing delimiter of a string continued onto a second
	line, the opening delimiter retained its font-lock-warning-face.

	* lisp/progmodes/cc-defs.el (c-c++-raw-string-opener-re)
	(c-c++-raw-string-opener-1-re): New constants.
	(c-sub-at-c++-raw-string-opener, c-at-c++-raw-string-opener): New macros.

	* lisp/progmodes/cc-engine.el (c-raw-string-pos)
	(c-depropertize-raw-strings-in-region, c-after-change-unmark-raw-strings):
	Replace uses of open-coded raw string regexps by the new constants and macros
	in cc-defs.el.

	* lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Ditto

	* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Set
	c-new-BEG to the beginning of the string when we encounter its closing ".
	When not in a raw string, but in a string, clear syntax-table properties from
	its delimiters and set c-new-BEG/END to its limits.
	(c-after-change-mark-abnormal-strings): When applying syntax-table properties
	to string delimiters, also set c-new-BEG/END to ensure subsequent
	fontification.

2019-04-25  Stephen Berman  <stephen.berman@gmx.net>

	Make wdired-mode ignore ls file indicators

	* lisp/wdired.el (wdired--restore-dired-filename-prop): When
	dired-listing-switches includes "F" or "classify", don't treat
	appended indicator characters as part of the file name (bug#34915).

	* test/lisp/wdired-tests.el (wdired-test-bug34915): New test.

2019-04-25  Paul Eggert  <eggert@cs.ucla.edu>

	Port emacsclient euidaccess to Solaris 10

	Without this fix, linking emacsclient fails with ‘Undefined
	symbol eaccess’ on Solaris 10 sparc.
	* lib-src/Makefile.in (LIB_EACCESS): New macro.
	(emacsclient${EXEEXT}, emacsclientw${EXEEXT}): Use it.

2019-04-25  Alan Mackenzie  <acm@muc.de>

	Fix some corner cases in the recognition of C++ raw strings.

	These are where changing the identifier in a raw string delimiter causes
	different delimiters to match each other.

	* lisp/progmodes/cc-engine.el (c-raw-string-end-delim-disrupted): New
	variable.
	(c-before-change-check-raw-strings): Use new variable.
	(c-after-change-unmark-raw-strings): When typing into an opening delimiter or
	altering its close delimiter causes the opening delimiter to match a later
	closing delimiter, clear all syntax-table char properties from the opening
	delimiter onwards, and set c-new-END to point max.  Also, when changing a
	closing delimiter, check whether its new value matches a previously open
	opening delimiter earlier in the buffer, and amend the syntax-table text
	properties appropriately.

2019-04-24  Michael R. Mauger  <michael@mauger.com>

	* lisp/progmodes/sql.el
	(sql-is-sqli-buffer-p): New function.
	(sql-generate-unique-sqli-buffer-name): Refactor and use it.
	(sql-product-interactive): Simplify name logic.
	* test/lisp/progmodes/sql-tests.el
	(sql-tests-placeholder-filter-harness): New macro.
	(sql-tests-placeholder-filter-simple)
	(sql-tests-placeholder-filter-ampersand)
	(sql-tests-placeholder-filter-period): Refactored tests and use macro.
	(sql-tests-buffer-naming-harness): New macro.
	(sql-tests-buffer-naming-default)
	(sql-tests-buffer-naming-multiple)
	(sql-tests-buffer-naming-explicit)
	(sql-tests-buffer-naming-universal-argument)
	(sql-tests-buffer-naming-existing): New tests.

2019-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	Improve port to platforms lacking euidaccess (Bug#35406)

	* lib-src/emacsclient.c (set_local_socket):
	Use faccessat with AT_EACCESS instead of using euidaccess.
	* admin/merge-gnulib, lib/gnulib.mk.in, m4/gnulib-comp.m4:
	Revert previous change.

2019-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	Port to platforms lacking euidaccess (Bug#35406)

	* admin/merge-gnulib (GNULIB_MODULES): Add euidaccess.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2019-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

2019-04-24  Mark Oteiza  <mvoteiza@udel.edu>

	Fix some strings in wordstar mode

	* lisp/obsolete/ws-mode.el (ws-search-direction, ws-error, ws-end-block):
	(ws-mark-word, ws-undo, ws-goto-last-cursorposition, ws-last-error):
	(ws-kill-bol): Remove full stops from message string endings.  Minor
	formatting tweaks.

2019-04-24  Mark Oteiza  <mvoteiza@udel.edu>

	Change WordStar emulation into a minor mode (Bug#35148)

	* lisp/obsolete/ws-mode.el: Turn on lexical-binding.  Update commentary.
	(wordstar): New custom group.
	(wordstar-mode-lighter): New custom variable.
	(wordstar-mode): Declare with define-minor-mode.
	(turn-on-wordstar-mode): New function.
	(global-wordstar-mode): New function.  Use previous new function.

2019-04-24  Dmitry Gutov  <dgutov@yandex.ru>

	Fix project-find-regexp search for '--'

	* lisp/progmodes/project.el (project--find-regexp-in-files):
	Add an explicit '-e' before the pattern.  Fixing the ability to
	search for '--'.  Reported by Juri Linkov <juri@linkov.net>.

2019-04-24  Juri Linkov  <juri@linkov.net>

	* lisp/windmove.el (windmove-display-in-direction): Support consecutive calls

	Remember action and delete it from display-buffer-overriding-action afterwards

2019-04-24  Philipp Stephani  <phst@google.com>

	Unbreak build when building without GMP support.

	Add support for a new preprocessor macro EMACS_MODULE_HAVE_MPZ_T to
	emacs-module.h.  If this macro is defined, assume that mpz_t is
	already defined and don’t include gmp.h.

	Don’t document the new macro for now, as it’s unclear whether we want
	to support this in modules outside the Emacs tree.

	* src/emacs-module.h.in: Allow user to prevent inclusion of gmp.h.

	* src/emacs-module.c: Use mini-gmp if GMP is unavailable.  Don’t
	include gmp.h.

	* src/lisp.h: Don’t require gmp.h.  It’s not needed for lisp.h.

	* test/Makefile.in (GMP_LIB, GMP_OBJ): New variables.
	($(test_module)): Use them.

	* test/data/emacs-module/mod-test.c: Use mini-gmp if GMP is unavailable.

2019-04-24  Philipp Stephani  <phst@google.com>

	Add missing GMP library to test module.

	* test/Makefile.in (GMP_LIB): Define variable.
	($(test_module)): Use it.

2019-04-24  Philipp Stephani  <phst@google.com>

	Move definition of Lisp_Module_Function to emacs-module.c.

	* src/lisp.h: Remove include of emacs-module.h.  Remove definition
	of Lisp_Module_Function structure.

	* src/emacs-module.c (module_function_documentation)
	(module_function_address): New accessor functions for module function
	fields.
	(emacs_subr, struct Lisp_Module_Function): Move from lisp.h.

	* src/print.c (print_vectorlike):
	* src/doc.c (Fdocumentation): Use the new accessor functions.

2019-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify thread initialization and GC

	* src/lisp.h (PVECHEADERSIZE): New macro.
	(XSETPVECTYPESIZE): Use it.
	* src/search.c (syms_of_search): No need to initialize or
	staticpro last_thing_searched or saved_last_thing_searched, as
	the thread code arranges for initialization and GC.
	* src/thread.c (main_thread): Initialize statically.
	(Fmake_mutex, Fmake_condition_variable, Fmake_thread):
	Use ALLOCATE_ZEROED_PSEUDOVECTOR rather than zeroing by hand.
	(mark_one_thread): No need to mark Lisp_Object members.
	(init_main_thread, init_threads_once): Remove.  All uses removed.

2019-04-24  Eli Zaretskii  <eliz@gnu.org>

	Regenerate src/emacs-module.h when emacs-module.h.in changes

	* Makefile.in (CONFIG_STATUS_FILES_IN): Add
	src/emacs-module.h.in.

2019-04-24  Eli Zaretskii  <eliz@gnu.org>

	Fix rescheduling timers after suspension

	* lisp/emacs-lisp/timer.el (timer-event-handler): Fix the
	comparison between next invocation time and current time.

2019-04-24  Eli Zaretskii  <eliz@gnu.org>

	Fix posn-at-point with line-number display and display properties

	* src/xdisp.c (pos_visible_p): Account for line-number display
	width when CHARPOS is covered by display property that begins
	at the 2nd display element of a screen line.  (Bug#35404)

2019-04-24  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in a recent commit

	* src/timefns.c (timespec_to_lisp): Fix a typo in function
	definition.

2019-04-24  Philipp Stephani  <phst@google.com>

	* doc/lispref/internals.texi (Module Values): Add a GMP example

2019-04-24  Philipp Stephani  <phst@google.com>

	Clarify rounding mode when converting to struct timespec.

	* doc/lispref/internals.texi (Module Values): Clarify that the
	truncation is towards negative infinity.

	* test/data/emacs-module/mod-test.c (Fmod_test_nanoseconds): Add test
	function.
	(emacs_module_init): Define it.

	* test/src/emacs-module-tests.el (mod-test-nanoseconds): New unit test.

2019-04-24  Philipp Stephani  <phst@google.com>

	Fix return type of make_time.

	make_time is documented to return a (TICKS . HZ) pair, so we can’t use
	make_lisp_time.  Introduce a new conversion function instead.

	* src/emacs-module.c (module_make_time): Use timespec_to_lisp to
	correct return type.

	* src/timefns.c (timespec_to_lisp): New function.
	(make_lisp_time): Use it.

	* test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid):
	Check return type.

2019-04-24  Philipp Stephani  <phst@google.com>

	Add module functions to convert from and to big integers.

	* src/module-env-27.h: Add new module functions to convert big
	integers.

	* src/emacs-module.h.in (emacs_mpz): Define if GMP is available.

	* src/emacs-module.c (module_extract_big_integer)
	(module_make_big_integer): New functions.
	(initialize_environment): Use them.

	* test/data/emacs-module/mod-test.c (Fmod_test_double): New test
	function.
	(emacs_module_init): Define it.

	* test/src/emacs-module-tests.el (mod-test-double): New unit test.

	* doc/lispref/internals.texi (Module Values): Document new functions.

2019-04-24  Philipp Stephani  <phst@google.com>

	Add conversions to and from struct timespec to module interface.

	Time values are a fundamental data type, and such conversions are hard
	to implement within modules because of the various forms of time
	values in Emacs Lisp.  Adding dedicated conversion functions can
	significantly simplify module code dealing with times.

	This approach uses nanosecond precision.  While Emacs in theory has
	support for higher-precision time values, in practice most languages
	and standards, such as POSIX, C, Java, and Go, have settled on
	nanosecond-precision integers to represent time.

	* src/emacs-module.h.in: Add header for struct timespec.

	* src/module-env-27.h: Add module functions for time conversion.

	* src/emacs-module.c (module_extract_time, module_make_time): New
	functions.
	(initialize_environment): Use them.

	* test/data/emacs-module/mod-test.c (Fmod_test_add_nanosecond): New
	test function.
	(emacs_module_init): Define it.

	* test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid)
	(mod-test-add-nanosecond/nil, mod-test-add-nanosecond/invalid): New
	unit tests.

	* doc/lispref/internals.texi (Module Values): Document time
	conversion functions.

2019-04-23  Eli Zaretskii  <eliz@gnu.org>

	Revert "Remove font.c code commented out for a decade"

	This reverts commit 64d0cd9810af6bd0c378fc6bc666c76ddfa97e40.

	Rationale: any font-related code and comments, even if unused
	for decades, serves as important source of useful information
	in an area of Emacs code that is notoriously under-documented.

	Please do NOT remove this stuff until we have an active
	expert in this are on board, who will then decide whether
	this can be retired.

2019-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Don't link libXft when using cairo

	* configure.ac: Check cairo early.  Don't try Xft if cairo is used.
	* lwlib/lwlib-utils.h [USE_CAIRO]: Include cairo.h and fontconfig.h.
	(XftFont, XftDraw, XftColor, XGlyphInfo) [USE_CAIRO]: New typedefs.
	(XftFontOpenName, XftFontClose, XftDrawCreate, XftDrawDestroy)
	(XftDrawRect, XftDrawStringUtf8, XftTextExtentsUtf8) [USE_CAIRO]: New macros.
	(crxft_font_open_name, crxft_font_close, crxft_draw_create)
	(crxft_draw_rect, crxft_draw_string, crxft_text_extents) [USE_CAIRO]: New
	externs.
	* lwlib/lwlib-utils.c [USE_CAIRO]: Include math.h, cairo-ft.h, and
	cairo-xlib.h.
	(crxft_font_open_name, crxft_font_close, crxft_draw_create)
	(crxft_set_source_color, crxft_draw_rect, crxft_draw_string)
	(crxft_text_extents) [USE_CAIRO]: New Xft compatibility functions.
	* lwlib/xlwmenuP.h [USE_CAIRO]: Include lwlib-utils.h.
	* lwlib/xlwmenu.c (display_menu_item) [USE_CAIRO]: Call
	cairo_surface_mark_dirty and cairo_surface_flush.
	* lwlib/lwlib-Xaw.c [USE_CAIRO]: Include stdlib.h and lwlib-utils.h.
	(draw_text) [USE_CAIRO]: Call cairo_surface_flush.
	* src/xsettings.c [USE_CAIRO]: Include fontconfig.h
	(apply_xft_settings) [!HAVE_XFT]: Don't call XftDefaultSubstitute or
	XftDefaultSet.
	* lwlib/lwlib-Xaw.c:
	* lwlib/lwlib-int.h:
	* lwlib/xlwmenu.c:
	* lwlib/xlwmenuP.h:
	* src/xrdb.c:
	* src/xsettings.c:
	* src/xterm.c: Replace all #ifdef HAVE_XFT with #if defined USE_CAIRO ||
	defined HAVE_XFT.
	* src/xfns.c (x_default_font_parameter): Replace #ifdef HAVE_XFT with #if
	defined	USE_CAIRO || defined HAVE_XFT.

2019-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/timer-list.el: Fix header-line alignment

	Enable lexical-binding.
	(cl-print-compiled, cl-print-compiled-button): Declare.
	(timer-list-mode): Add spacing to align the header.

2019-04-23  Philipp Stephani  <phst@google.com>

	* src/emacs-module.c: Add an additional requirement for API changes.

2019-04-23  Paul Eggert  <eggert@cs.ucla.edu>

	Remove some unnecessary #ifdef directives

	These directives are in files that are compiled only if the
	symbols are defined.
	* src/gfilenotify.c: Remove unnecessary ‘#ifdef HAVE_GFILENOTIFY’.
	* src/inotify.c: Remove unnecessary ‘#ifdef HAVE_INOTIFY’.
	* src/kqueue.c: Remove unnecessary ‘#ifdef HAVE_KQUEUE’.

2019-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/package-keyring.gpg: Add the 2019 key

2019-04-23  Paul Eggert  <eggert@cs.ucla.edu>

	Remove font.c code commented out for a decade

	* src/font.c (LSTRING_HEADER_SIZE, LSTRING_GLYPH_SIZE, check_gstring)
	(check_otf_features, otf_list, otf_tag_symbol, otf_open)
	(font_otf_capability, generate_otf_features)
	(font_otf_DeviceTable, font_otf_ValueRecord)
	(font_otf_Anchor, Ffont_drive_otf, Ffont_otf_alternates)
	(Fdraw_string, syms_of_font): Remove "experimental and not
	tested much" code that has been "#if 0"-ed out for more than a
	decade and which was getting in the way of maintenance.

2019-04-23  Philipp Stephani  <phst@google.com>

	Use three-argument form for out-of-range errors.

	This provides more debugging hints for callers.

	* src/emacs-module.c (module_copy_string_contents): Use three-argument
	form of args-out-of-range.

2019-04-23  Philipp Stephani  <phst@google.com>

	Use high-level integer conversion macro in a few cases.

	INT_TO_INTEGER is more obviously correct and means we don’t have to
	worry about data type sizes and signedness.

	* src/json.c (json_parse_error): Use INT_TO_INTEGER.  The tiny
	performance gain of make_fixed_natnum isn’t worth the trouble then
	signaling an error.

2019-04-23  Mattias Engdegård  <mattiase@acm.org>

	Rename auto-revert-notify-watch-descriptor-hash-list

	* lisp/autorevert.el
	(auto-revert-notify-watch-descriptor-hash-list):
	Rename to auto-revert--buffers-by-watch-descriptor.  Improved doc string.
	(auto-revert-notify-rm-watch, auto-revert-notify-add-watch,
	auto-revert-notify-handler): Use new name.

2019-04-23  Michael Albinus  <michael.albinus@gmx.de>

	Remote processes cannot use a pipe process for stderr

	* doc/lispref/processes.texi (Asynchronous Processes):
	(Accepting Output): Remote processes cannot use a pipe process for
	stderr.

2019-04-23  Philipp Stephani  <phst@google.com>

	* src/json.c (json_make_string): Add missing cast.

2019-04-23  Eli Zaretskii  <eliz@gnu.org>

	Speed up JSON parsing

	Thanks to Dmitry Gutov <dgutov@yandex.ru> for running many
	benchmarks and for useful discussions.
	* src/json.c (json_make_string): Speed up parsing of JSON
	strings by optimizing the normal case of a valid UTF-8 string
	being returned from libjansson.  (Bug#31138)

2019-04-23  Philipp Stephani  <phst@google.com>

	Small fix for a JSON unit test.

	* test/src/json-tests.el (json-parse-string/null): Make JSON object
	syntactically valid.  This test is supposed to check whether an
	escaped null character causes an error, but without quoting the string
	it would be syntactically invalid in any case.

2019-04-23  Alan Mackenzie  <acm@muc.de>

	Optimize for typing characters into long C++ raw strings.

	* lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
	(c-font-lock-objc-methods) (c-font-lock-declarations, c-font-lock-enum-tail)
	(c-font-lock-cut-off-declarators, c-font-lock-enclosing-decls): If the chunk
	been fontified consists entirely of comments and strings, don't attempt to
	perform the function's action.

	* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Don't
	expand (c-new-BEG c-new-END) unnecessarily to the entire raw string being
	fontified.
	(c-fl-decl-start, c-fl-decl-end): When in a (raw or otherwise) string, don't
	return a position outside of the string (which used to cause unneeded
	fontification).

2019-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Release xft_data in widget destroy callback to avoid visual distraction

	* lwlib/lwlib-int.h (struct _widget_instance) [HAVE_XFT]: Remove nr_xft_data.
	* lwlib/lwlib-Xaw.c (find_xft_data, xaw_update_one_widget) [HAVE_XFT]: Loop
	while widget member is not NULL instead of using nr_xft_data.
	(xaw_destroy_instance) [HAVE_XFT]: Move xft_data release code from here ...
	(destroy_xft_data) [HAVE_XFT]: ... to here.
	(make_dialog) [HAVE_XFT]: Add destroy_xft_data as destroy callback for dialog.

2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	Let plain ‘make’ work even not GNU Make

	* Makefile.in (top_distclean): Clean makefile as well as Makefile.
	* configure.ac: If not using plain ‘make’, create a makefile
	so that plain ‘make’ simply calls $(MAKE).

2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	Revert Vinternal_interpreter_environment tweak

	Stefan Monnier pointed out examples like (funcall `(closure
	,(let ((cycle (list nil))) (setcdr cycle cycle)) () a)),
	where the user can set Vinternal_interpreter_environment
	indirectly.
	* src/eval.c (Fsetq): Revert recent change, going back to Fassq.

2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	Improve UBSan discussion in etc/DEBUG

	* etc/DEBUG: Improve -gdwarf-N documentation.
	Go into more detail about UndefinedBehaviorSanitizer.

2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak Vinternal_interpreter_environment lookup

	* src/eval.c (Fsetq, eval_sub): Use assq_no_quit instead
	of Fassq for a list that cannot contain cycles or be that long.

2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	Improve wur coverage on older GCCs

	* src/conf_post.h (__has_attribute_warn_unused_result):
	New macro for compilers lacking __has_attribute.
	* src/systhread.h (__has_attribute): Remove ineffective define.
	(ATTRIBUTE_WARN_UNUSED_RESULT): Work better on GCC 3.4 thru 4.

2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	Go back to old way of checking json int range

	Although the lisp.h macros really need improvement,
	INTEGER_TO_INT is not the right way to go about it, as it
	causes conversion from intmax_t to uintmax_t and back again,
	which can cause a signal if the value is negative.
	* src/lisp.h (INTEGER_TO_INT, ranged_integer_to_int)
	(ranged_integer_to_uint): Remove, reverting recent changes to
	this file.
	* src/json.c (lisp_to_json): Revert to previous code,
	as the change messes up with uintmax_t<->intmax_t conversion.

2019-04-22  Philipp Stephani  <phst@google.com>

	* src/lisp.h (INTEGER_TO_INT): Fix bug.

2019-04-22  Mattias Engdegård  <mattiase@acm.org>

	Precise handling of filenotify `stopped' events

	* lisp/autorevert.el (auto-revert-notify-handler):
	When getting a `stopped' event, deal with it for the buffers it applies to,
	rather than for all buffers in auto-revert mode.

2019-04-22  Mattias Engdegård  <mattiase@acm.org>

	* lisp/autorevert.el (auto-revert-notify-rm-watch): Simplify.

2019-04-22  Mattias Engdegård  <mattiase@acm.org>

	Revert "Don't remove notify descriptor that is already gone"

	This reverts commit e9e807e9317ca7aa99a5dd220ee8586f8f4331bf,
	which is no longer necessary as `file-notify-rm-watch' has been
	made robust against reentry.

2019-04-22  Mattias Engdegård  <mattiase@acm.org>

	Make file-notify-rm-watch robust against reentry

	Allow file-notify callbacks to call `file-notify-rm-watch', harmlessly,
	after receiving a `stopped' event without triggering recursion.

	* lisp/filenotify.el (file-notify--watch): Note that `callback' can be nil.
	(file-notify--rm-descriptor): Set the `callback' field to nil before
	sending `stopped'.
	(file-notify-rm-watch): Don't do anything if the `callback' field is nil.

2019-04-22  Philipp Stephani  <phst@google.com>

	Introduce a helper macro to convert a Lisp integer to a C integer.

	This is similar to CONS_TO_INTEGER.  The inverse (INT_TO_INTEGER)
	already exists.

	* src/lisp.h (INTEGER_TO_INT): New macro.
	(ranged_integer_to_int, ranged_integer_to_uint): New
	functions.

	* src/json.c (lisp_to_json): Use helper macro.

2019-04-22  Philipp Stephani  <phst@google.com>

	Improve documentation around standard error pipes (Bug#35328).

	* doc/lispref/processes.texi (Asynchronous Processes): Document
	existence and properties of the standard error process.
	(Accepting Output): Document that one has to accept output from the
	standard error process separately.

2019-04-22  Philipp Stephani  <phst@google.com>

	Module API: Don’t require null-terminated strings in make_string.

	* src/emacs-module.c (module_make_string): Use make_unibyte_string, which
	doesn’t require its argument to be null-terminated.  Since it always
	returns a heap-allocated string, we don’t have to copy it any more
	while decoding.
	(module_decode): New helper function.

2019-04-22  Philipp Stephani  <phst@google.com>

	Use utf-8-unix for coding system conversions in the module API.

	Factor out conversions into helper functions to provide a simpler
	interface.

	* src/emacs-module.c (module_encode, module_decode_copy): New helper
	functions.
	(module_make_function, module_copy_string_contents)
	(module_make_string): Use them.

2019-04-22  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve pure and side-effect-free docs

	For discussion, see thread starting at:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00316.html
	* doc/lispref/customize.texi (Composite Types): Do not overspecify
	:match-alternatives predicates.
	* doc/lispref/eval.texi (Intro Eval): Anchor definition of "side
	effect" for cross-referencing...
	* doc/lispref/functions.texi (What Is a Function): ...from here.
	Define what a pure function is.
	* doc/lispref/internals.texi (Writing Emacs Primitives): Describe
	currently preferred approach to marking primitives as pure and
	side-effect-free.
	* doc/lispref/symbols.texi (Standard Properties): Expand description
	of pure and side-effect-free properties.

2019-04-22  Philipp Stephani  <phst@google.com>

	Refactoring: Inline a few macros.

	Now that CATCHER_ALL catches signals as well, we can simplify
	MODULE_HANDLE_NONLOCAL_EXIT a bit.

	* src/emacs-module.c (MODULE_SETJMP, MODULE_SETJMP_1): Remove.
	(MODULE_HANDLE_NONLOCAL_EXIT): Inline MODULE_SETJMP and
	MODULE_SETJMP_1.

2019-04-22  Michael Albinus  <michael.albinus@gmx.de>

	Some changes in tramp-tests

	* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
	Check for backward compatibility.
	(tramp-test33-environment-variables): Apply a better check for
	unset variable.

2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>

	Mention AddressSanitizer etc. in etc/DEBUG

	* etc/DEBUG: Modernize for AddressSanitizer etc.
	* etc/NEWS: Defer to etc/DEBUG for this.

2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>

	Remove --enable-checking=xmallocoverrun

	It doesn’t work anymore, and these days ‘gcc -fsanitize=address’
	does a better job anyway.
	* configure.ac: Remove the option.
	* configure.ac (ac_xmalloc_overrun, XMALLOC_OVERRUN_CHECK):
	* src/alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD)
	(XMALLOC_OVERRUN_CHECK_SIZE, XMALLOC_OVERRUN_SIZE_SIZE)
	(xmalloc_overrun_check_header, xmalloc_overrun_check_trailer)
	(xmalloc_put_size, xmalloc_get_size, overrun_check_malloc)
	(overrun_check_realloc, overrun_check_free):
	Remove.  All uses removed.
	* etc/NEWS: Mention this.

2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>

	Remove --enablechecking=conslist configure option

	* configure.ac: Remove the option.
	* configure.ac (ac_gc_check_cons_list, GC_CHECK_CONS_LIST):
	* src/alloc.c (check_cons_list) [GC_CHECK_CONS_LIST]:
	* src/lisp.h (lisp_h_check_cons_list, check_cons_list):
	Remove.  All uses removed.
	* etc/NEWS: Mention this.

2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify XPNTR

	Because XPNTR now uses ATTRIBUTE_NO_SANITIZE_UNDEFINED,
	it can be simplified.
	* src/alloc.c (macro_PNTR_ADD, PNTR_ADD, macro_XPNTR): Remove.
	(XPNTR): Open-code rather than using the removed macros and
	functions.  Also, simplify by using LISP_WORD_TAG.

2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix drain_reloc_list alignment bug

	* src/pdumper.c (dump_charset): Use alignof (struct charset),
	not alignof (int), since struct charset might be more strictly
	aligned than int.  I think this is just a minor performance
	issue, but we might as well use the correct alignment.
	(drain_reloc_list): Use an alignment instead of a size for the
	output alignment.  This prevents undefined behavior when
	alignof (struct emacs_reloc) == 8 and sizeof (dump_off) == 4
	when building on x86-64 with gcc -fsanitize=undefined.

2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>

	Port dump_bitset_clear to -fsanitize=undefined

	* src/pdumper.c (dump_bitset_clear):
	Pacify -fsanitize=undefined by avoiding memset (NULL, x, 0),
	which strictly speaking has undefined behavior although it
	works on all production platforms I know.

2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>

	Port to recent gcc -fsanitize=undefined

	* src/alloc.c (XPNTR): Add ATTRIBUTE_NO_SANITIZE_UNDEFINED and
	remove ATTRIBUTE_UNUSED.  Do not define as a macro, so that
	ATTRIBUTE_NO_SANITIZE_UNDEFINED works.
	* src/lisp.h (lisp_h_XSYMBOL): Remove.  All uses removed.
	With recent GCC the macro does not work with -fsanitize=undefined,
	and the macro can be omitted as its only function is to optimize -O0.

2019-04-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Move side-effect-free from unsafep.el to subr.el

	* lisp/emacs-lisp/unsafep.el: Move side-effect-free property setting
	from here...
	* lisp/subr.el: ...to here, as function declarations for modularity.

2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix double-free in pdumper

	Revert the double-free bug that I introduced in
	2019-03-11T15:20:54Z!eggert@cs.ucla.edu.
	* src/pdumper.c (dump_mmap_reset): Do not free the private member;
	that’s the release function’s job.
	(dump_mm_heap_cb_release): Free cb if its refcount goes to zero.
	(dump_mmap_contiguous_heap): Mention memory leak in comment.

2019-04-21  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	9d7e08d (origin/emacs-26) Avoid false positives and false negatives o...
	75b589c Fix markup related to quoting in Info
	fd6ff29 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
	cd2204f Add a package: line to c-submit-bug-report.
	a992dca ; Remove empty NEWS sections
	ea67270 ; Add NEWS sections for 26.3
	45b0946 ; Bump Emacs version to 26.2.50
	aae8cc3 * admin/admin.el (set-version): Add NEWS headers for a .50 ve...

2019-04-21  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	cd2204f Add a package: line to c-submit-bug-report.
	a992dca ; Remove empty NEWS sections
	ea67270 ; Add NEWS sections for 26.3

	Conflicts:
		etc/NEWS

2019-04-21  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	aae8cc3 * admin/admin.el (set-version): Add NEWS headers for a .50 ve...

2019-04-21  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	037970f Document insert-image-file's return value (Bug#32978)
	598b45a Autoload cua-toggle-rectangle-mark (Bug#34947)
	95bd56d Tell xclip not to expect job-control under eshell (Bug#35257)
	9997bbb ; * src/emacs.c: Fix typo in comment (Bug#35320).
	a4ad7be Fix off-by-one-link error in image--set-property

2019-04-20  Paul Eggert  <eggert@cs.ucla.edu>

	Port make-fingerprint to LeakSanitizer

	* lib-src/make-fingerprint.c (buf): Now static,
	to pacify LeakSanitizer.

2019-04-20  Michael R. Mauger  <michael@mauger.com>

	Fix Bug#35307.

	* lisp/progmodes/sql.el(sql-product-alist): Added
	:prompt-cont-regexp for ms.

	Looking for experience with Microsofts SQLCMD interpreter and
	adjustments needed for Emacs to support it.

2019-04-20  Michael R. Mauger  <michael@mauger.com>

	Fix  Bug#24483.

	* lisp/progmodes/sql.el
	(sql-interactive-remove-continuation-prompt): Properly protect
	`sql-prompt-cont-regexp'.
	(sql-interactive-mode): Same.

	 * lisp/progmodes/sql.el
	(sql-product-alist): Corrected :terminator defns.
	(sql-debug-send): New variable.
	(sql-send-string): Use it and correct buffer context.
	(sql-send-magic-terminator): Use `sql-input-sender'.
	(sql-placeholders-filter): Bug#11481 Don't recursively replace placeholders
	* test/lisp/progmodes/sql-tests.el
	(sql-test-placeholder-filter): Test placeholder functionality.

2019-04-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix text metrics calculation in Xft support for lwlib

	* lwlib/lwlib-Xaw.c (get_text_width_and_height) [HAVE_XFT]:
	* lwlib/xlwmenu.c (string_width) [HAVE_XFT]: Use xOff member instead of width.

2019-04-20  Alexander Gramiak  <agrambot@gmail.com>

	* src/configure.ac: Check for GTK 2 features only on GTK 2

2019-04-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* lwlib/lwlib-Xaw.c (draw_text) [HAVE_XFT]: Fix memory leak.

2019-04-20  Dmitry Gutov  <dgutov@yandex.ru>

	Support amending the last commit using VC-Hg

	* lisp/vc/log-edit.el (log-edit--toggle-amend): Extract from
	vc-git-log-edit-toggle-amend (bug#34944).

	* lisp/vc/vc-hg.el (vc-hg-log-edit-toggle-amend): New function.
	Use the aforementioned.
	(vc-hg-log-edit-mode-map): New variable.
	(vc-hg-log-edit-mode): New major mode.

2019-04-20  Michael Albinus  <michael.albinus@gmx.de>

	Mark different-diagnostic-types as failed on emba.

	* test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
	Expect also failure on emba.gnu.org.

2019-04-20  Paul Eggert  <eggert@cs.ucla.edu>

	Improve XDG_RUNTIME_DIR diagnostic

	* lib-src/emacsclient.c (set_local_socket):
	If there appears to be an XDG runtime directory for the user
	but XDG_RUNTIME_DIR is unset, suggest setting it while warning
	about potential security issues (Bug#35300).

2019-04-20  Alan Mackenzie  <acm@muc.de>

	Fix Pike Mode's autodoc doc comments style's continued lines.

	* lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Recognize
	matches of c-doc-line-join-re as syntactic whitespace.
	(c-find-decl-prefix-search): Recognize and move over matches of
	c-doc-line-join-re as whitespace.
	(c-find-decl-spots): Before moving backward a char, check (bobp).  Before
	moving forward over a comment, check it isn't possibly a "bright" comment.

	* lisp/progmodes/cc-fonts.el (c-get-doc-comment-style): New function,
	extracted from c-compose-keywords-list.
	(c-compose-keywords-list): Call the above new function.
	(pike-font-lock-keywords, pike-font-lock-keywords-2)
	(pike-font-lock-keywords-3): Call c-set-doc-comment-res.
	(c-doc-line-join-re, c-doc-bright-comment-start-re, c-doc-line-join-end-ch):
	New variables.
	(c-set-doc-comment-re-element, c-set-doc-comment-char-list): New macros.
	(c-set-doc-comment-res): New function.
	(c-font-lock-doc-comments): For consistency and repeatability, in a sequence
	of C++ style doc comments, don't fontify the region between BOL and the
	comment marker.
	(autodoc-line-join-re, autodoc-bright-comment-start-re)
	(autodoc-line-join-end-ch): New variables.

	* lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end): New
	functions.
	(c-change-expand-fl-region, c-context-expand-fl-region): Call the above two
	new functions for extra possibilities for the start and end of a construct.

	* doc/misc/cc-mode.texi (Doc Comments): Add a sentence drawing attention to
	the possibility of fontifying constructs within a doc comment.

2019-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/smie.el (smie-indent-comment-continue): Single-char case.

	Make it so the comment-continue is aligned with the comment-start when
	comment-start is a single-char.

2019-04-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/ftcrfont.c (ftcrfont_shape): Fix last change.

2019-04-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Use bitmap strikes as fallbacks for ftcr font backend

	* src/ftfont.h (struct font_info): New member bitmap_strike_index.
	* src/ftfont.c (ftfont_open2): Try bitmap strikes as fallbacks.
	(ftfont_open): Discard bitmap strikes.
	* src/ftcrfont.c (ftcrfont_open): Recalculate metrics for bitmap strikes.
	(ftcrfont_get_bitmap, ftcrfont_anchor_point, ftcrfont_shape): New functions.
	(struct font_driver): Use them.

2019-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/radix-tree.el (pcase-defmacro): Improve docstring

	* lisp/emacs-lisp/byte-run.el (define-obsolete-variable-alias): Tweak doc

	* lisp/calendar/time-date.el (date-to-time): 'signal' only takes 2 args

	* lisp/calendar/parse-time.el (parse-time-string): Use functionp and setf

2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix GC_CHECK_STRING_BYTES false alarm with pdumper

	* src/alloc.c (string_bytes): Don’t abort on strings
	taken from the dumped file.

2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix another hash false alarm

	* src/pdumper.c (dump_vectorlike): Fix hash.

2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	* src/emacs-module.c (value_storage_contains_p): Fix typo.

2019-04-19  Philipp Stephani  <phst@google.com>

	Remove some ineffective #ifdefs.

	Since DEFSYM doesn't by itself do anything and make-docfile ignores
	preprocessor statements, conditional compilation of DEFSYMs is
	ineffective.

	* src/data.c (syms_of_data): Remove ineffective #ifdefs.

2019-04-19  Philipp Stephani  <phst@google.com>

	Remove some #ifdefs for user pointers.

	Even if Emacs is compiled without module support, we don't have to
	comment out every bit of user pointer support.  Defining the basic
	structures and functions and detecting user pointers in switch
	statements is harmless, and we're already doing the same for module
	functions.  Removing these #ifdefs makes the code a bit easier to
	read.

	* src/lisp.h (PVEC_USER_PTR, struct Lisp_User_Ptr, USER_PTRP)
	(XUSER_PTR): Define unconditionally.

	* src/data.c (Ftype_of):
	* src/alloc.c (cleanup_vector):
	* src/print.c (print_vectorlike):
	* src/pdumper.c (dump_vectorlike): Remove #ifdef for user pointers.

2019-04-19  Philipp Stephani  <phst@google.com>

	Remove special-casing of tagged pointers.

	This partially reverts commit
	09b2b8a5ce5b542856f93b645db51eb11cf9855a.

	* src/alloc.c (mark_maybe_pointer): Remove special-casing of tagged
	pointers.  After commit 09d746dad36e4780d379f975a84b1b076da78c50,
	modules no longer rely on tagged pointers.

2019-04-19  Philipp Stephani  <phst@google.com>

	Refactoring: Reduce code duplication

	* src/emacs-module.c (value_storage_contains_p): New function.
	(module_free_global_ref, value_to_lisp): Use it.

2019-04-19  Mattias Engdegård  <mattiase@acm.org>

	Remove subsumed regexp branches

	* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
	(c-after-change-mark-abnormal-strings): Remove `\r' subsumed by `.'.

2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix Fload dangling pointer

	* src/lread.c (Fload): Expand decl’s lifetime to match its use.
	Bug found by gcc -fsanitize=address.

2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix comment and tweak eval_sub

	* src/eval.c (eval_sub): Check whether Fassq returns Qnil,
	not whether it returns a cons, as NILP is faster than CONSP
	nowadays.  Remove incorrect comment “only original_fun and
	original_args have values that will be used below”; instead,
	move declarations around so that the set of variables with
	useful values is obvious.

2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix dump_map_file on unusual platforms

	* src/pdumper.c (dump_map_file): Fix recently-introduced typo
	on platforms that support neither POSIX nor MS-Windows VM.

2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	Minor lread.c tweaks

	* src/lread.c (load_warn_unescaped_character_literals):
	Use AUTO_STRING to help the GC.
	(Fload): Use bool for boolean.

2019-04-19  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Clear gnus-group-list when the newsrc-hashtb is recreated

	* lisp/gnus/gnus-start.el (gnus-make-hashtable-from-newsrc-alist):
	  This routine also happens when re-sorting groups; make sure we're
	  clearing the group list.

2019-04-19  Philipp Stephani  <phst@google.com>

	Make warning about unescaped character literals more helpful.

	See Bug#31676.

	* lisp/emacs-lisp/byte-run.el
	(byte-run--unescaped-character-literals-warning): New defun.

	* src/lread.c (load_warn_unescaped_character_literals): Use new defun.
	(syms_of_lread): Define symbol for new defun.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Use new
	defun.

	* test/src/lread-tests.el (lread-tests--unescaped-char-literals):
	test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests--unescaped-char-literals): Adapt unit tests.

2019-04-19  Philipp Stephani  <phst@google.com>

	Refactoring: simplify definition of some internal variables.

	In some cases, we never specbind internal objects, so they don't have
	to be symbols.  Rather than using DEFSYM/DEFVAR and then uninterning
	the symbols, use plain static variables.  Call staticpro for all of
	them, to protect them from the garbage collector.

	* src/eval.c (syms_of_eval): Use a static variable for
	Qcatch_all_memory_full.

	* src/emacs-module.c (syms_of_module): Use static variables for
	Vmodule_refs_hash, Vmodule_runtimes, and Vmodule_environments.

2019-04-19  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Don't check for group existence in gnus-group-goto-group

	* lisp/gnus/gnus-group.el (gnus-group-goto-group): Just look for the
	  string.

2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix regexp branches that subsume other branches

	Problems reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00803.html
	* lisp/arc-mode.el (archive-rar-summarize):
	* lisp/eshell/em-hist.el (eshell-hist-word-designator):
	* lisp/info.el (Info-dir-remove-duplicates):
	* lisp/international/ja-dic-cnv.el (skkdic-convert-postfix)
	(skkdic-convert-prefix, skkdic-collect-okuri-nasi):
	* lisp/progmodes/cc-awk.el (c-awk-esc-pair-re):
	* lisp/xml.el (xml-att-type-re):
	Omit regexp branches that subsume other branches.
	* lisp/progmodes/cperl-mode.el (cperl-beautify-regexp-piece):
	$ and ^ aren’t simple-codes.

2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix mail-extr regexp typo with ".".

	Problem reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00543.html
	* lisp/mail/mail-extr.el (mail-extr-telephone-extension-pattern):
	Escape the trailing optional period after an abbreviation.

2019-04-19  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-adb.el (tramp-adb-prompt): Remove repetition of expression

	matching an empty string.

2019-04-19  Michael Albinus  <michael.albinus@gmx.de>

	Do not handle :stop in tramp-*-handle-make-process

	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Do not
	handle :stop anymore.

2019-04-19  Philipp Stephani  <phst@google.com>

	Remove :stop key from make-process.

	This has never worked and caused issues such as Bug#30460.

	* src/process.c (Fmake_process): Don't accept :stop key any more.
	(syms_of_process): Define needed symbol 'null'.

	* test/src/process-tests.el (make-process/stop): New unit test.

	* doc/lispref/processes.texi (Asynchronous Processes): Remove :stop
	key from manual.

2019-04-19  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-test32-shell-command

	* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
	Check "tput" before running `shell-command-width' test.

2019-04-19  Philipp Stephani  <p.stephani2@gmail.com>

	Add a new user option 'ido-big-directories'.

	This provides an alternative to 'ido-max-directory-size', for
	directories that are statically known to be too big for Ido
	completion.

	* lisp/ido.el (ido-big-directories): New user option.
	(ido-directory-too-big-p): Use it.

	* test/lisp/ido-tests.el (ido-directory-too-big-p): New unit test.

2019-04-19  Philipp Stephani  <phst@google.com>

	Use eassume (false) for branch that's never taken.

	* src/json.c (json_handle_nonlocal_exit): Use eassume (false) since
	this branch is never taken.

2019-04-19  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation warning due to a recent change

	* src/json.c (json_handle_nonlocal_exit): Always return a
	value.

2019-04-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/ftcrfont.c (ftcrfont_glyph_extents): Activate ft_size_draw.

	* src/ftcrfont.c (ftcrfont_open): Avoid returning while blocking input.

2019-04-18  Philipp Stephani  <phst@google.com>

	Refactoring: have CATCHER_ALL also catch signals.

	In all cases where we use a CATCHER_ALL handler we also want to catch
	signals.  Therefore have 'signal' respect CATCHER_ALL.  Adapt internal
	interfaces so that handlers can distinguish among the two types of
	nonlocal exits in CATCHER_ALL handlers.

	* src/lisp.h (enum nonlocal_exit): New enum.
	(struct handler): Add member 'nonlocal_exit' to hold the type of
	nonlocal exit during stack unwinding.

	* src/eval.c (signal_or_quit): Also respect CATCHER_ALL handlers.
	(unwind_to_catch): Store nonlocal exit type in catch structure.
	(Fthrow, signal_or_quit): Adapt callers.
	(internal_catch_all): Install only one handler.  Give handler a
	nonlocal exit type argument.
	(internal_catch_all_1): Remove, no longer needed.

	* src/emacs-module.c (MODULE_SETJMP): Install only one handler.
	(module_handle_nonlocal_exit): New function to handle all nonlocal
	exits.
	(MODULE_SETJMP_1): Pass nonlocal exit type to handler function.
	(module_handle_signal, module_handle_throw): Remove, no longer needed.

	* src/json.c (json_handle_nonlocal_exit): New helper function.
	(json_insert_callback): Adapt to change in 'internal_catch_all'.

2019-04-18  Philipp Stephani  <phst@google.com>

	Update module documentation for bignum support.

	* doc/lispref/internals.texi (Module Values): Update documentation for
	'make_integer' and 'extract_integer' for bignum support.

2019-04-18  Philipp Stephani  <phst@google.com>

	* lib-src/make-fingerprint.c (main): Properly initialize 'prog'

	* src/emacs-module.c: Add instructions how to change the module API

2019-04-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix make-fingerprint off-by-one bug

	Problem reported by Alex Gramiak in:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00784.html
	* lib-src/make-fingerprint.c (main): Fix recently-introduced
	off-by-one bug when accessing args after -r.

2019-04-18  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Only encode Gnus group names if they come from symbol-name

	* lisp/gnus/gnus-start.el (gnus-active-to-gnus-format): Names that
	  were strings to begin with should already be properly encoded.

2019-04-18  Paul Eggert  <eggert@cs.ucla.edu>

	Mark _Noreturn error functions as cold

	On my platform this made ‘make compile-always’ 1.3% faster.
	Suggested by Alex Gramiak in:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00684.html
	* configure.ac (nw): Don’t use -Wsuggest-attribute=cold.
	* lib-src/make-docfile.c (write_globals):
	Mark noreturn functions as cold.
	* src/callproc.c (exec_failed):
	* src/data.c (wrong_length_argument, wrong_type_argument):
	* src/emacs-module.c (module_abort):
	* src/emacs.c (terminate_due_to_signal):
	* src/eval.c (unwind_to_catch):
	* src/image.c (my_png_error, my_error_exit):
	* src/json.c (json_out_of_memory, json_parse_error):
	* src/keyboard.c (quit_throw_to_read_char, user_error):
	* src/lisp.h (die, wrong_type_argument, wrong_choice)
	(args_out_of_range, args_out_of_range_3, circular_list)
	(buffer_overflow, memory_full, buffer_memory_full)
	(string_overflow, xsignal, xsignal0, xsignal1, xsignal2)
	(xsignal3, signal_error, overflow_error, error, verror)
	(nsberror, report_file_errno, report_file_error)
	(report_file_notify_error, terminate_due_to_signal)
	(emacs_abort, fatal):
	* src/lread.c (load_error_old_style_backquotes)
	(end_of_file_error, invalid_syntax):
	* src/pdumper.c (error_unsupported_dump_object):
	* src/puresize.h (pure_write_error):
	* src/search.c (matcher_overflow):
	* src/sound.c (sound_perror, alsa_sound_perror):
	* src/sysdep.c (handle_arith_signal):
	* src/systime.h (time_overflow):
	* src/term.c (maybe_fatal, vfatal):
	* src/textprop.c (text_read_only):
	* src/timefns.c (invalid_time_zone_specification)
	(time_error, invalid_hz):
	* src/xterm.c (x_connection_closed):
	Use AVOID instead of _Noreturn void, so that it’s marked cold.
	* src/conf_post.h (__has_attribute_cold) [!__has_attribute]:
	New macro.
	(ATTRIBUTE_COLD): New macro.
	* src/frame.h (WINDOW_SYSTEM_RETURN): Add ATTRIBUTE_COLD.
	* src/lisp.h (AVOID): New macro.
	* src/xterm.c: Omit unnecessary static decls, so that we needn’t
	worry about which functions should be marked cold.
	(x_io_error_quitter): Mark as cold.

2019-04-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/ftcrfont.c (ftcrfont_glyph_extents): Fix last change.

2019-04-17  Philipp Stephani  <phst@google.com>

	Add ERT explainer for 'tramp--test-file-attributes-equal-p'

	* test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
	Use ERT explainer for 'equal' to improve failure messages.

2019-04-17  Michael Albinus  <michael.albinus@gmx.de>

	Fix tramp-test32-shell-command

	* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
	Run only if "tput" exist.

2019-04-17  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	a1c53d4 (origin/emacs-26) * admin/admin.el (make-manuals-dist--1): Up...
	d0f745f Document some compilation-mode faces
	23ccba0 Mention the assignment form in "Copyright Assignment"
	0f5568e Fix confusing wording in the user manual
	70ec392 Fix the MSDOS build when running under CWSDPMI
	7a608fc * lisp/progmodes/python.el: Be more careful about temp file r...

2019-04-17  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	266c622 Downcase charset
	92f3459 Update for Emacs-26
	beb4eac * doc/lispref/display.texi (Showing Images): Fix a typo.  (Bu...

2019-04-17  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#35241

	* lisp/files.el (executable-find): Quote default-directory.  (Bug#35241)

	* test/lisp/files-tests.el (files-tests-executable-find): New test.

2019-04-17  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/files-tests.el: Unify test names

	* test/lisp/files-tests.el (files-tests-local-variables)
	(files-tests-bug-18141, files-tests-make-temp-file-empty-prefix)
	(files-tests-bug-21454)
	(files-tests-save-buffers-kill-emacs--confirm-kill-processes)
	(files-tests-read-file-in-~)
	(files-tests-file-name-non-special--subprocess)
	(files-tests-file-name-non-special--buffers)
	(files-tests-insert-directory-wildcard-in-dir-p)
	(files-tests-make-directory, files-tests-no-file-write-contents)
	(files-tests-copy-directory, files-tests-abbreviated-home-dir):
	Unify test names.

2019-04-17  Michael Albinus  <michael.albinus@gmx.de>

	Test `shell-command-width' in Tramp

	* test/lisp/net/tramp-tests.el
	(tramp--test-shell-command-to-string-asynchronously): Move up.
	(tramp-test32-shell-command): Test `shell-command-width'.

2019-04-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Use cairo_scaled_font_t object for text drawing and metrics calculation

	* src/ftfont.h (struct font_info): Replace member cr_font_face of type
	cairo_font_face_t * with cr_scaled_font of type cairo_scaled_font_t *.
	* src/ftcrfont.c: Include math.h for floor, ceiling, and lround.
	(ftcrfont_glyph_extents): Use cairo_scaled_font_glyph_extents.
	(ftcrfont_open): Create cairo_scaled_font_t object and set it to
	cr_scaled_font member of struct font_info.
	(ftcrfont_close): Use cairo_scaled_font_destroy.
	(ftcrfont_draw): Use cairo_set_scaled_font.

2019-04-16  Andrii Kolomoiets  <andreyk.mad@gmail.com>  (tiny change)

	Make python-shell-prompt-block-regexp match IPython prompt

	* lisp/progmodes/python.el (python-shell-prompt-block-regexp): Match
	also IPython's multiline prompt.  It allows to correctly disable
	non-native completions during multiline statement in
	inferior-python-mode that runs IPython interpreter (Bug#34582).

2019-04-16  Juri Linkov  <juri@linkov.net>

	* etc/NEWS: Mention new xref faces (bug#23179)

2019-04-16  Juri Linkov  <juri@linkov.net>

	* lisp/vc/diff-mode.el (diff-syntax-fontify-hunk): Erase buffer

	before inserting file contents to *diff-syntax-file*.
	Use absolute file names.

2019-04-16  Paul Eggert  <eggert@cs.ucla.edu>

	* GNUmakefile: Update comment.

2019-04-16  Glenn Morris  <rgm@gnu.org>

	* make-dist (possibly_non_vc_files): Remove recently deleted file.

2019-04-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix uninit var in widget.c

	* src/widget.c (EmacsFrameQueryGeometry):
	Avoid use of uninitialized variables ok_width, ok_height (Bug#35277).

2019-04-15  Paul Eggert  <eggert@cs.ucla.edu>

	Remove Vparam_value_alist

	* src/xfaces.c (Vparam_value_alist):
	Remove.  All uses removed.
	(Finternal_set_lisp_face_attribute):
	Simplify by using AUTO_FRAME_ARG.

2019-04-15  Noam Postavsky  <npostavs@users.sourceforge.net>

	Properly bracket concat of comment-start-skip (Bug#34805)

	* lisp/emacs-lisp/smie.el (smie-indent-fixindent):
	* lisp/cedet/semantic/doc.el (semantic-doc-snarf-comment-for-tag):
	* lisp/progmodes/fortran.el (fortran-previous-statement)
	(fortran-next-statement)
	(fortran-fill-statement):
	* lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-statement): Bracket
	comment-start-skip and comment-end-skip to avoid unexpected regexp
	operator precedence.

2019-04-15  Eli Zaretskii  <eliz@gnu.org>

	Minor change in a comment

	* test/src/callproc-tests.el
	(call-process-w32-debug-spawn-error): Minor copyedits of the
	commentary.

2019-04-15  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows build broken by make-fingerprint changes

	* lib-src/make-fingerprint.c (fseeko) [WNDOWSNT]: Define to
	fseeko64 for non-MinGW64 MinGW.

	* lib-src/ntlib.c (stat): Fix calculation of file size.
	(fstat): New function, a subset of src/w32.c:fstat.  This is
	needed because make-fingerprint.c now calls 'fstat', and the
	MS version will fail to produce reliable results because
	nt/inc/sys/stat.h redefines 'struct stat'.

2019-04-15  Michael Albinus  <michael.albinus@gmx.de>

	* .gitlab-ci.yml (test-filenotify-gio): Add autorevert changes.

2019-04-15  Mattias Engdegård  <mattiase@acm.org>

	Don't remove notify descriptor that is already gone

	* lisp/autorevert.el (auto-revert-use-notify, auto-revert-mode,
	global-auto-revert-mode, auto-revert-notify-rm-watch,
	auto-revert-notify-add-watch, auto-revert-notify-handler,
	auto-revert-notify-rm-watch-callback):
	Don't remove a notify descriptor after receiving a `stopped' notification
	event, because the descriptor is then already gone and any attempt to
	remove it causes a recursive call to `auto-revert-notify-handler'.

2019-04-15  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi: Fix direntry.

2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>

	Remove static var system_eol_type

	* src/coding.c (system_eol_type): Remove.
	(coding_inherit_eol_type, syms_of_coding):
	Simplify to avoid the need for system_eol_type.

2019-04-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Avoid compiler warnings on cairo build

	* src/image.c (jpeg_load_body) [USE_CAIRO]: #ifdef out USE_SAFE_ALLOCA
	and SAFE_FREE.
	* src/xterm.c (x_composite_image) [USE_CAIRO]: #ifdef out unused function.
	(x_draw_image_glyph_string) [USE_CAIRO]: #ifdef out unused variable pixmap.

2019-04-14  Noam Postavsky  <npostavs@gmail.com>

	Let debugger handle process spawn errors on w32 (Bug#33016)

	Since child_setup() is called between block_input()...unblock_input(),
	when an error is signaled the Lisp debugger is prevented from
	starting.  Therefore, let the callers signal the error instead (which
	they already do for non-w32 platforms, just the error message needs an
	update).
	* src/callproc.c (child_setup) [WINDOWSNT]: Don't call
	report_file_error here.
	(call_process) [WINDOWNT]:
	* src/process.c (create_process) [WINDOWSNT]: Call report_file_errno
	here instead, after the unblock_input() call, same as for !WINDOWSNT.
	* src/lisp.h (CHILD_SETUP_ERROR_DESC): New preprocessor define.  Flip
	the containing ifndef DOS_NT branches so that it's ifdef DOS_NT.
	* src/eval.c (when_entered_debugger): Remove.
	(syms_of_eval) <internal-when-entered-debugger>: Define it as a Lisp
	integer variable instead.
	(maybe_call_debugger): Update comment.
	* test/src/process-tests.el (make-process-w32-debug-spawn-error):
	* test/src/callproc-tests.el (call-process-w32-debug-spawn-error): New
	tests.

2019-04-14  Alexander Gramiak  <agrambot@gmail.com>

	Bump minimum GTK versions to 2.24 and 3.10

	* configure.ac: Bump required GTK 2 and GTK 3 versions and the
	associated GLib versions. Remove obsolete AC_CHECK_FUNCS calls. These
	check for functions available in later GTK 2 versions. These checks
	and can safely be removed with the exception of
	gtk_window_set_has_resize_grip, which according to a comment in
	gtkutil.c causes an issue in Ubuntu's GTK 2.

	* src/gtkutil.c:
	* src/xfns.c:
	* src/xterm.c:
	* src/xterm.h: Remove now unused conditional blocks. Use HAVE_GTK3
	instead of GTK_CHECK_VERSION where now applicable. Remove checks of
	now always true USE_GTK_TOOLTIP.

2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>

	Replace executable’s fingerprint in place

	* admin/merge-gnulib (GNULIB_MODULES): Add memmem-simple.
	(AVOIDED_MODULES): Add memchr.
	* configure.ac (HAVE_PDUMPER): AC_SUBST it, too, for use in makefiles.
	* lib/Makefile.in (libgnu_a_OBJECTS): Add fingerprint.o.
	* lib/fingerprint.c: New file.
	* lib/memmem.c, lib/str-two-way.h, m4/memmem.m4: New files,
	copied from Gnulib.
	* lib/fingerprint.h: Rename from src/fingerprint.h.
	* lib-src/make-fingerprint.c: Include limits.h, sys/stat.h,
	fingerprint.h, intprops.h, min-max.h.
	(SSIZE_MAX): New macro, if not already defined.
	(main): Without -r, Replace the fingerprint in the input file
	instead of generating a fingerprint.c.
	* lib/Makefile.in (libgnu_a_OBJECTS): Add fingerprint.o.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* src/Makefile.in (HAVE_PDUMPER, MAKE_PDUMPER_FINGERPRINT):
	New macros.
	(temacs$(EXEEXT)): Use them to replace the fingerprint instead
	of precalculating it.
	(mostlyclean, ctagsfiles1): Do not worry about fingerprint.c.

2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/utimbuf.m4: Remove unused file.

2019-04-14  Dmitry Gutov  <dgutov@yandex.ru>

	Sort files in the default impl of project-files alphabetically

	* lisp/progmodes/project.el (project--files-in-directory):
	Sort the files alphabetically
	(https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23179#296).

2019-04-14  Michael Albinus  <michael.albinus@gmx.de>

	Some rearragements for remote tests in filenotify-tests.el

	* test/lisp/filenotify-tests.el (file-notify--deftest-remote):
	Change argument list, EXPECTED is not needed.
	(file-notify-test07-many-events-remote)
	(file-notify-test09-watched-file-in-watched-dir-remote):
	Adapt declaration accordingly.

2019-04-14  Michael Albinus  <michael.albinus@gmx.de>

	Explain ad-hoc multi-hop in the Tramp Quick Start Guide

	* doc/misc/tramp.texi (Quick Start Guide): New section "Combining
	@option{ssh} or @option{plink} with @option{su} or @option{sudo}".

2019-04-14  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#35055

	* lisp/net/tramp.el (tramp-handle-shell-command):
	Handle `shell-command-width'.  (Bug#35055)

2019-04-14  Alexander Gramiak  <agrambot@gmail.com>

	* lisp/frame.el (frame--size-history): Fix infloop. (Bug#35272)

2019-04-14  Stephen Leake  <stephen_leake@stephe-leake.org>

	Merge commit '890440a44cd5f4f09742f521c7783785d114fffc'

2019-04-14  Stephen Leake  <stephen_leake@stephe-leake.org>

	Rename new user variable `next-error-verbosity' to `next-error-verbose'

	* etc/NEWS: Update entry to match renaming.

	* lisp/simple.el (next-error-verbose): Rename.
	(next-error, next-error-internal): Match rename.

2019-04-14  Alexander Gramiak  <agrambot@gmail.com>

	Simplify gdk_monitor_get_model string duplication

	* src/xfns.c (x-display-monitor-attributes-list): Use dupstring over
	explicit if/xstrdup.

	* src/frame.c (free_monitors): Remove redundant check for NULL.

2019-04-14  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of a recent commit

	* etc/NEWS: Fix the description of 'shell-command-width'.
	Mark the entry as not needing the manual update.

	* lisp/simple.el (shell-command-width): Doc fix.  (Bug#35055)

2019-04-13  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-04-07 Add copyright notices in several files
	* build-aux/config.sub, doc/misc/texinfo.tex, lib/_Noreturn.h:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2019-04-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix gnus-group-describe-all-groups (bug#35233)

	This fixes oversights from
	2018-04-26T16:26:27-07:00!eric@ericabrahamsen.net and
	2016-02-13T18:45:11+11:00!larsi@gnus.org.
	* lisp/gnus/gnus-group.el (gnus-group-describe-all-groups): Insert
	group name and description instead of group name twice.  Do not pass
	a hash-table to intern.  Call sort with correct number of arguments.

2019-04-13  Alexander Gramiak  <agrambot@gmail.com>

	Fix segmentation fault with gdk_monitor_get_model (Bug#35259)

	* src/frame.c (free_monitors): Check if NULL before freeing.

	* src/xfns.c: (x-display-monitor-attributes-list): Check if NULL
	before copying.

2019-04-13  Juri Linkov  <juri@linkov.net>

	* lisp/vc/log-edit.el (log-edit-insert-changelog): Add field "Summary"

	explicitly after adding field "Author".  (Bug#34972)

2019-04-13  Juri Linkov  <juri@linkov.net>

	New faces in xref (bug#23179)

	* lisp/progmodes/xref.el (xref-file-header, xref-line-number)
	(xref-match):  New faces.
	(xref--insert-xrefs, xref--collect-matches-1): Use them.

2019-04-13  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (shell-command-width): New defcustom.

	(shell-command): Use it.  (Bug#35055)

2019-04-13  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-langs.el (c-class-id-suffix-ws-ids-kwds): Correct a typo

2019-04-13  Alan Mackenzie  <acm@muc.de>

	Implement "final" before C++ class inheritance lists.

	* lisp/progmodes/cc-langs.el (c-class-id-suffix-ws-ids-kwds)
	(c-class-id-suffix-ws-ids-key): New lang const/var.

	* lisp/progmodes/cc-engine.el (c-guess-basic-syntax CASE 5D.4): Check for and
	skip over any matches for c-class-id-suffix-ws-ids-key (i.e. "final") before
	":".

2019-04-13  Michael Albinus  <michael.albinus@gmx.de>

	Fix error in tramp-sh.el

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
	Revert "simplification", which was an error.

2019-04-13  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi: Fix minor glitches.

	Fix last patch

2019-04-13  Michael Albinus  <michael.albinus@gmx.de>

	Replace (skip-unless nil) by tag :unstable in test packages

	* test/lisp/filenotify-tests.el (file-notify--deftest-remote):
	Use tag :unstable if SKIP is non-nil.

	* test/lisp/net/tramp-tests.el (tramp-test36-vc-registered):
	Use ert-skip instead of (skip-unless nil).

	* test/lisp/progmodes/python-tests.el
	(python-tests--python-nav-end-of-statement--infloop): Use tag
	:unstable instead of (skip-unless nil).

2019-04-13  Eli Zaretskii  <eliz@gnu.org>

	Minor cleanup in 'x_set_frame_alpha'

	* src/xterm.c (x_set_frame_alpha): Remove redundant parts of
	testing of value of 'alpha'.  Suggested by Konstantin
	Kharlamov <Hi-Angel@yandex.ru>.  (Bug#35062)

2019-04-13  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of JSONRPC

	* doc/lispref/text.texi (JSONRPC Overview)
	(Process-based JSONRPC connections)
	(JSONRPC JSON object format): Fix wording and markup.  Add
	indexing.

2019-04-13  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation changes of a recent commit

	* doc/lispref/text.texi (Parsing JSON): Improve wording of the
	documentation of 'json-parse-string' and 'json-parse-buffer'.
	* src/json.c (Fjson_parse_string, Fjson_parse_buffer): Doc fix.
	(Bug#34763)

2019-04-12  Paul Eggert  <eggert@cs.ucla.edu>

	Omit/rewrite useless regexp repetitions

	Problem reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00527.html
	* lisp/align.el (align-rules-list):
	* lisp/cedet/srecode/srt-mode.el (srecode-font-lock-keywords):
	* lisp/emacs-lisp/copyright.el (copyright-regexp):
	* lisp/erc/erc-backend.el (JOIN):
	* lisp/erc/erc-goodies.el (erc-unmorse):
	* lisp/mail/mail-extr.el (mail-extr-telephone-extension-pattern):
	* lisp/net/tramp-adb.el (tramp-adb-prompt):
	* lisp/org/org-table.el (org-table-range-regexp):
	* lisp/progmodes/idlwave.el (idlwave-where):
	* lisp/progmodes/verilog-mode.el (verilog-declaration-re-2-no-macro)
	(verilog-declaration-re-2-macro, verilog-delete-auto-buffer)
	(verilog-auto-inst-port):
	* lisp/url/url-misc.el (url-data):
	Omit or rewrite useless repetitions that risk being very slow in
	the backtracking regexp engine in Emacs.

2019-04-12  Dmitry Gutov  <dgutov@yandex.ru>

	Don't signal error from url debug functions

	* lisp/url/url-http.el (url-http-debug): Don't signal error.

	* lisp/url/url-util.el (url-debug): Same (bug#34763).

2019-04-12  Dmitry Gutov  <dgutov@yandex.ru>

	Add :array-type option to json-parse-string

	* src/json.c (enum json_array_type): New type.
	(struct json_configuration): New field array_type.
	(json_parse_args): Rename the last argument.  Handle the
	:array-type keyword argument (bug#32793).
	(Fjson_parse_string): Update the docstring accordingly.
	(json_to_lisp): Handle the case of :array-type being `list'.  Add
	a call to 'rarely_quit' inside the loop.
	(syms_of_json): Define new symbols.
	(Fjson_serialize, Fjson_insert, Fjson_parse_string)
	(Fjson_parse_buffer): Update the config struct initializers.

2019-04-12  Alan Mackenzie  <acm@muc.de>

	Analyze C++ method with & or && ref-qualifier as defun, not brace list

	Also firm up detection of beginning of brace list in
	c-looking-at-or-maybe-in-bracelist.

	* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): On
	detection of such a ref-qualifier, set braceassignp to nil.  When this
	variable has a nil value, return nil as the value of the function.  On
	encountering a } when scanning backwards, recognize this as the end of a
	previous construct and stop the scan.

2019-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/help-fns.el (help-fns-describe-variable-functions): New hook

	(help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete)
	(help-fns--interactive-only): Indent output by 2 spaces.
	(help-fns--side-effects): New function extracted from
	describe-function-1.
	(help-fns-describe-function-functions): Use it.
	(help-fns--first-release, help-fns--mention-first-release): New functions.
	(help-fns-function-description-header): Keymaps and macros can't
	be interactive.
	(help-fns--ensure-empty-line): New function.
	(describe-function-1): Use it.
	(help-fns--var-safe-local, help-fns--var-risky)
	(help-fns--var-ignored-local, help-fns--var-file-local)
	(help-fns--var-watchpoints, help-fns--var-obsolete)
	(help-fns--var-alias, help-fns--var-bufferlocal): New functions,
	extracted from describe-variable.
	(describe-variable): Run help-fns-describe-variable-functions instead.

2019-04-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	818a68b * etc/HISTORY: Update for Emacs 26.2 release.
	e04aa5a ; ChangeLog.3 update
	8297e97 * etc/AUTHORS: Update.
	8582936 Improve documentation of 'read-command'
	dc81c05 ; * CONTRIBUTE: Mention where to ask for the copyright assign...
	b77723a Fix an outdated URL in a comment

2019-04-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	cb5a340 Update nxml-mode.texi: completion now gives xmlns="-!-"

2019-04-12  Basil L. Contovounesios  <contovob@tcd.ie>

	Move proper-list-p tests to fns-tests.el

	This follows the move of proper-list-p from lisp/subr.el to
	src/fns.c in 2018-07-24T15:58:46-07:00!eggert@cs.ucla.edu.
	* test/lisp/subr-tests.el (subr-tests--proper-list-p): Move from
	here...
	* test/src/fns-tests.el (test-proper-list-p): ...to here.

2019-04-12  Basil L. Contovounesios  <contovob@tcd.ie>

	Optimize byte-compilation of proper-list-p

	For discussion, see thread starting at:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00316.html
	* lisp/emacs-lisp/byte-opt.el: Optimize proper-list-p as a
	predicate.
	* lisp/subr.el: Mark proper-list-p as pure, and side-effect and
	error free.

2019-04-12  Alex Murray  <murray.alex@gmail.com>  (tiny change)

	Pop to originating erc buffer when clicking desktop notification

	* lisp/erc/erc-desktop-notifications.el: Switch to lexical-binding.
	(erc-notifications-notify): Add a default action to the desktop
	notification which pops to the buffer from which the notification
	originated.  (Bug#35141)

2019-04-12  Basil L. Contovounesios  <contovob@tcd.ie>

	Always set gnus-group property to a group name

	* lisp/gnus/gnus-group.el (gnus-group-prepare-flat-list-dead): Set
	gnus-group property to a group name, not active info. (bug#33653)
	Simplify surrounding logic.
	(gnus-group-prepare-flat, gnus-group-goto-group): Use accessor
	macros.
	(gnus-group-insert-group-line, gnus-group-new-mail)
	(gnus-group-mark-group): Write ?\s instead of ? .
	(gnus-group-group-name, gnus-group-list-active): Simplify.

2019-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/diff-mode.el: Avoid re-initializing buffer in diff-syntax

	(diff--syntax-file-attributes): New var.
	(diff-syntax-fontify-hunk): Detect when we're reusing the same buffer as
	last time, to avoid re-initializing it.  Skip the
	diff-syntax-fontify-revisions hash-table, since buffer-alist plays the
	same role.
	(diff-syntax-fontify-revisions): Delete var.

2019-04-11  Stephen Leake  <stephen_leake@stephe-leake.org>

	Merge commit 'de238b39e335c6814283faa171b35145f124edf2'

2019-04-11  Stephen Leake  <stephen_leake@stephe-leake.org>

	Make `next-error' output fewer messages about locus

	* lisp/simple.el (next-error-verbosity): New user variable.
	(next-error, next-error-internal): Use it to control only outputting
	locus message if locus changed.

2019-04-11  Christopher Thorne  <c.thorne@reckondigital.com>  (tiny change)

	Fix rgrep in dired using directory for search file pattern

	* lisp/progmodes/grep.el (grep-read-files): Allow major modes to
	define file name to use for default search pattern.
	Add non-directory file at point as default search pattern candidate.

	* lisp/dired.el (dired-grep-read-files): Use non-directory file at
	point for grep file name pattern.  (Bug#34621)

2019-04-10  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Add extra text property to fix issue with js2-mode integration

	* lisp/progmodes/js.el (js-jsx--put-syntax-table): New function for
	consistently ensuring smooth js2-mode integration.  js2-mode sets
	syntax-table temporarily while parsing buffers—seemingly to recover
	from parsing interruptions—and then it later clears syntax-table
	blindly.  When integrating with js-mode, this means that unterminated
	string quotes are re-broken in JSX (i.e., they become strings again,
	often stringifying large regions of the buffer which should not be
	strings).  We try to treat quotes in JSXText as non-strings by setting
	syntax-table to a non-“string quote” syntax class, but that stops
	working if we lose the property.  On the js2-mode end, by scanning for
	this second js-jsx-syntax-table property, we can recover the
	syntax-table property there.
	(js-jsx--text-range, js-jsx--syntax-propertize-tag): Use
	js-jsx--put-syntax-table for above reason.
	(js-jsx--text-properties): Clear the js-jsx-syntax-table property too.

2019-04-10  Paul Eggert  <eggert@cs.ucla.edu>

	Bring back dmpstruct.h

	Bring back the dmpstruct.h checking, and use it when
	--enable-checking=structs is specified.  The checking can be helpful
	to some developers, although it gets in the way of others and is
	not needed for ordinary tarball builds.
	* src/dmpstruct.awk: Restore this file, with mode 644 not 755.
	* configure.ac: New option-arg --enable-checking=structs,
	implied by --enable-checking.
	(CHECK_STRUCTS): New macro and var.
	* src/Makefile.in (CHECK_STRUCTS): New macro.
	(dmpstruct_headers, dmpstruct.h, dmpstruct.h):
	Restore these macros and rules.
	(pdumper.o): Restore this dependency if $(CHECK_STRUCTS) is true.
	(mostlyclean): Remove dmpstruct.h.
	* src/pdumper.c [CHECK_STRUCTS]: Include dmpstruct.h,
	and restore checks against hashes.

2019-04-10  Katsumi Yamaoka  <yamaoka@jpl.org>

	Enable message saving to work when first use of Gnus (bug#35208)

	* lisp/gnus/gnus-group.el (gnus-group-goto-group);
	Use gnus-active-hashtb in addition to gnus-newsrc-hashtb to check if
	a group exists since some kinds of groups are registered in only one
	of them (bug#35208).

2019-04-10  Juri Linkov  <juri@linkov.net>  (tiny change)

	Inhibit displaying help buffer in main window in perform-replace

	* lisp/replace.el (perform-replace): Use
	display-buffer-overriding-action with inhibit-same-window to prevent
	the help buffer from being displayed in the main window.  (Bug#34972)

	Author: Michał Krzywkowski <k.michal@zoho.com>

2019-04-10  Paul Eggert  <eggert@cs.ucla.edu>

	Fix $(MAKE) -C for out-of-tree bootstraps

	Problem reported by Andy Moreton in:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00359.html
	* src/Makefile.in (${charsets}, $(lispsource)/loaddefs.el):
	Revert incorrect changes to $(MAKE) -C invocations when the
	target is in the source tree not the build tree.

2019-04-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	5999401 (origin/emacs-26) Note that choose-completion-string-function...
	8d2f1df Address name conflicts in EIEIO documentation (bug#31660)

2019-04-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	a5da653 * src/editfns.c (Fnarrow_to_region): Doc fix.  (Bug#35163)
	646d33d Fix doc strings of 'vc-version-diff' and 'vc-version-ediff'
	a30a6c3 Improve documentation of set-window-start
	92ce2dd Improve documentation of window parameters
	6dc42c5 Improve commentary in frame.el
	a8cffcf Fix typo in a doc string
	9e79f19 (emacs-26) ; * src/fontset.c (set-fontset-font): Use uppercas...

	# Conflicts:
	#	lisp/vc/vc.el

2019-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/progmodes/python-tests.el: "Fix" failing test

	(python-tests--python-nav-end-of-statement--infloop): Disable.

2019-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	Eshell dependencies: Fix recent regressions

	* lisp/dired.el (dired-insert-directory): Tweak bug#27817's ugly hack.

	* lisp/eshell/em-ls.el: Refine 'require's.

	* lisp/eshell/esh-opt.el: Require esh-util on behalf of its clients.

2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	* etc/NEWS: Document js-jsx-align->-with-<

2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Add new defcustom js-jsx-align->-with-<

	* lisp/progmodes/js.el (js-jsx-align->-with-<): New variable for users
	to control one opinionated aspect of JSX indentation.  It defaults to
	the style seen in the React docs, which many users expected as the
	“correct” indentation.  Still, the old SGML-style of indentation could
	be desirable too, especially since it was the old default.  This
	ensures users have a way of getting back the old behavior.
	(js-jsx--contextual-indentation): Respect js-jsx-align->-with-<.

	* test/manual/indent/jsx-align-gt-with-lt.jsx: New test for
	js-jsx-align->-with-<.

2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	* etc/NEWS: Document way to revert to old JSX indentation behavior

2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Add new defcustom js-jsx-indent-level

	* lisp/progmodes/js.el (js-jsx-indent-level): New variable for users
	to set JSX indentation differently than JS, like before.
	(js-jsx--contextual-indentation): Respect js-jsx-indent-level when
	it’s set.

	* test/manual/indent/jsx-indent-level.jsx: New test for
	js-jsx-indent-level.

2019-04-09  Paul Eggert  <eggert@cs.ucla.edu>

	Remove the need for temacs.in

	Instead of building a file temacs.in used only to compute a
	fingerprint, compute the fingerprint directly from the .o and
	.a files that go into temacs.in.  This speeds up the build by
	avoiding the need to link temacs twice, once with a dummy
	fingerprint.
	* lib-src/make-fingerprint.c (main): No need to generate
	a fingerprint file that includes config.h, now that fingerprint.c
	depends on all the .o files.
	* src/Makefile.in ($(libsrc)/make-fingerprint$(EXEEXT)):
	Use the same rule as $(libsrc)/make-docfile$(EXEEXT).
	* src/fingerprint-dummy.c: Remove.
	* src/Makefile.in (${charsets}, $(libsrc)/make-docfile$(EXEEXT))
	($(LIBEGNU_ARCHIVE), $(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a)
	(../config.status, ${ETAGS}, ../lisp/TAGS, $(lwlibdir)/TAGS)
	($(lispsource)/loaddefs.el):
	Prefer ‘$(MAKE) -C $(dir $@)’ to ‘${MAKE} -C SOMESTRING’ when
	either will do, as the former is more regular and lets us
	coalesce rules better.
	(EMACS_DEPS_PRE, EMACS_DEPS_POST, BUILD_EMACS_PRE)
	(BUILD_EMACS_POST, temacs.in$(EXEEXT)): Remove.
	(FINGERPRINTED): New macro.
	(fingerprint.c): Use it instead of temacs.in$(EXEEXT), to
	avoid the need to build temacs.in at all.
	(temacs$(EXEEXT)): No need to depend on other .o files now;
	fingerprint.o is enough, since it depends on the rest.
	Spell out what used to be in BUILD_EMACS_PRE and BUILD_EMACS_POST.
	(mostlyclean): No need to remove temacs.in.

2019-04-09  Paul Eggert  <eggert@cs.ucla.edu>

	Remove assumption of uint64_t etc. in portable code

	C11 doesn’t guarantee the existence of types like uint64_t,
	so avoid these types in portable code, as it’s easy to do so.
	There’s no need to avoid the types in w32-specific code,
	since w32 is guaranteed to have them.
	* lib-src/make-fingerprint.c (main):
	* src/fingerprint-dummy.c:
	* src/fingerprint.h:
	* src/pdumper.c (dump_fingerprint, struct dump_header):
	Prefer unsigned char to uint8_t in portable code, as either will do.
	Put an "#include <config.h>" in fingerprint.c files, so
	that the corresponding .o file is rebuilt after ./configure is run.
	* lib-src/make-fingerprint.c (main):
	Simplify loop.
	* src/Makefile.in (fingerprint.c): Update atomically.
	* src/pdumper.c: Omit unnecessary check that off_t is the same
	size as int32_t or int64_t, as the code does not rely on this
	assumption.
	(dump_off): Use int_least32_t, not int32_t.
	(struct dump_reloc): Use unsigned int, not uint32_t.
	(dump_anonymous_allocate_w32, dump_anonymous_allocate_posix)
	(dump_anonymous_allocate, dump_map_file_w32, dump_map_file_posix)
	(dump_map_file:
	Do the sanity checks at compile time, not at run-time, to avoid
	usage of uint64_t etc. on non-w32 platforms.

2019-04-09  Paul Eggert  <eggert@cs.ucla.edu>

	Remove dmpstruct.h

	The hassles of updating the dmpstruct.h-using code bit me again.
	These updates are more trouble than they’re worth.  See:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00122.html
	As I’m the main person who’s made changes in this area since
	dmpstruct.h was introduced, I’m the most motivated to clean up
	the situation.
	* make-dist (possibly_non_vc_files): Remove src/dmpstruct.h.
	* src/Makefile.in (dmpstruct_headers, dmpstruct.h): Remove.
	(pdumper.o): Do not depend on dmpstruct.h.
	(mostlyclean): Do not remove dmpstruct.h.
	* src/dmpstruct.awk: Remove.
	* src/pdumper.c: Do not include dmpstruct.h.
	(CHECK_STRUCTS): Remove.  All uses removed.

2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	diff-font-lock-syntax: clarify distinction between t and hunk-also

	* lisp/vc/diff-mode.el (diff-font-lock-syntax): Rework docstring.
	(diff-syntax-fontify-hunk): Never use the hunk method when
	diff-font-lock-syntax is just t.

2019-04-09  Alex Branham  <alex.branham@gmail.com>

	Use lexical-binding in bug-reference.el

	* .dir-locals.el: Set bug-reference-url-format in all modes, not just
	changelog mode. Use (eval . (bug-reference-mode)) as described
	in (info "(emacs) Specifying File Variables")
	* lisp/progmodes/bug-reference.el: Use lexical binding.
	(bug-reference-unfontify):
	(bug-reference-fontify): Mention args in docstring.

	Bug#35123

2019-04-09  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix Gnus duplicate suppression guards (bug#34987)

	* lisp/gnus/gnus-dup.el (gnus-dup-enter-articles)
	(gnus-dup-suppress-articles): Use gnus-dup-hashtb as an indicator of
	initialization instead of gnus-dup-list, which may happen to be nil.
	(gnus-dup-unsuppress-article): Do nothing if gnus-dup-hashtb is
	uninitialized.

2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/printing.el: Use lexical-binding

	Require easy-menu instead of adding declarations.
	Remove backward compatibility.  Remove redundant ':group' args.
	(pr-region-active-p): Use use-region-p.
	(pr-set-keymap-name): Delete function and callers.
	(pr-set-keymap-parents): Delete function; use set-keymap-parent instead.
	(pr-read-string): Delete function; use read-string instead.
	(pr-menu-char-height): Delete function; use frame-char-height instead.
	(pr-menu-char-width): Delete function; use frame-char-width instead.
	(pr-menu-position): Merge the two definitions.
	(pr-get-symbol): Delete function; use easy-menu-intern instead.
	(pr-update-mode-line): Delete function; use force-mode-line-update instead.
	(pr-do-update-menus): Turn local save-var into dynbound pr--save-var.
	(pr-menu-alist): Use setf.  Simplify since we don't keep key-bindings
	in the menus any more.
	(pr-dosify-file-name): Remove interactive spec.
	(pr-filename-style): Rename from pr-path-style.
	(pr-unixify-file-name): Delete function.
	(pr-standard-file-name): Don't turn \ into / under POSIX.
	(pr-temp-dir): Don't dosify.  Use temporary-file-directory unconditionally.
	(pr-save-file-modes): Delete macro.
	(pr-ps-directory-using-ghostscript, pr-ps-directory-print)
	(pr-ps-directory-ps-print, pr-ps-mode-using-ghostscript, pr-ps-print)
	(pr-ps-mode-preview, pr-ps-mode-print, pr-printify-directory)
	(pr-txt-directory, pr-ps-file-up-preview, pr-ps-directory-preview)
	(pr-ps-file-up-ps-print, pr-ps-preview, pr-ps-using-ghostscript):
	Use properly prefixed, declared, and
	explicitly let-bound dynamically bound variables around calls to
	pr-ps-utility-args and pr-set-dir-args.
	(pr-ps-file-using-ghostscript): Only dosify when passing to suprocess.
	(pr-expand-file-name): Delete function; use expand-file-name instead.
	(pr-ps-file-print): Properly dosify.
	(pr-menu-create): Use backquotes.
	(pr-eval-alist, pr-eval-local-alist): Use dolist.
	(pr-ps-utility-args): Don't dosify here.
	(pr-ps-utility-process): Dosify here instead.
	(pr-ps-file, pr-command): Don't dosify here either.
	(pr-interface-map): Move initialization into declaration.
	(pr-insert-section-1): Use 'push'.
	(pr-insert-toggle): Use closure instead of backquoted lambda.
	(pr-insert-menu): Use apply i.s.o eval.
	(pr-insert-radio-button): Avoid 'eval'.

2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	quail.el: Use delete-and-extract-region

	* lisp/international/quail.el (quail-overlay-region-events):
	Use delete-and-extract-region.
	(quail-activate): Use setq-local.

2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	python.el: don't syntax-propertize single/double quoted strings

	* lisp/progmodes/python.el (python-syntax-propertize-function):
	Only mark triple-quoted strings, let the normal syntax-table handle
	the rest.
	(python-syntax-stringify): Adjust accordingly.

2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/js.el (js-mode): Don't set comment-start-skip globally!

2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix up Eshell 'require's after previous dependency reshuffle.

	* lisp/eshell/em-unix.el:
	* lisp/eshell/em-script.el:
	* lisp/eshell/em-pred.el:
	* lisp/eshell/em-dirs.el:
	* lisp/eshell/em-alias.el:
	Fix up 'require's to silence byte-compiler.

	* lisp/eshell/esh-util.el (eshell-read-hosts-file): Don't limit number
	of entries per line.  Preserve the structure.
	(eshell-read-hosts): Adjust accordingly.

2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/mm-view.el (mm-display-inline-fontify): Simplify.

	Remove hacks that were needed before font-lock-ensure.
	Don't use switch-to-buffer.  Don't assume point-min == 1.

2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/diff-mode.el: Cosmetic changes in diff-syntax-fontify-hunk

	(diff-default-directory): Use defvar-local.
	(diff-syntax-fontify-hunk): Use 'setq' less.  Fit within 80 columns.
	Simplify some looking-at tests.
	(diff-syntax-fontify-props): Don't check the buffer-local part of
	find-file-hook.

2019-04-09  Mattias Engdegård  <mattiase@acm.org>

	Clarify the TESTFN argument to `alist-get'

	* lisp/subr.el (alist-get):
	Rephrase the initial text to clarify the meaning of the TESTFN argument.
	It's an equality predicate, not a look-up function (Bug#35206).

2019-04-09  Eli Zaretskii  <eliz@gnu.org>

	Fix "M-x eshell"

	* lisp/eshell/em-dirs.el (eshell-variable-aliases-list)
	(eshell-directory-name, eshell-mode): Defvar them.
	(eshell-dirs-initialize): Require esh-var.  (Bug#35203)
	(eshell-apply-indices): Declare.

2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	* etc/NEWS: Document new and improved JSX support in js-mode

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Explain reasonings for JSX syntax support design decisions

	* lisp/progmodes/js.el: Throughout the code, provide explanations for
	why JSX support was implemented in the way that it was; in particular,
	address the overlap between syntax-propertize-function, font-lock, and
	indentation (as requested by Stefan).

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Move curly functions closer to where they’re used

	* lisp/progmodes/js.el (js-jsx--enclosing-curly-pos)
	(js-jsx--goto-outermost-enclosing-curly): As the code evolved, these
	functions’ definitions ended up being far away from the only places
	where they were used.  Move them there.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Add open/close parenthesis syntax to “<” and “>” in JSX

	* lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Like in
	sgml-mode, treat “<” and “>” like open/close parenthesis, making the
	text more navigable via forward-sexp, etc.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Permit non-ASCII identifiers in JS

	* lisp/progmodes/js.el (js--name-start-re): Generally allow
	identifiers to begin with non-ASCII letters.  This is of particular
	importance to JSX parsing.

	* test/manual/indent/jsx-unclosed-2.jsx: Add test to ensure non-ASCII
	characters are parsed properly.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Identify JSX strings (for js2-mode)

	* lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Derived modes
	like js2-mode may use font-lock-syntactic-face-function to apply faces
	to JSX strings (and only JSX strings).  Apply the js-jsx-string text
	property to such strings so they can be distinctly identified.
	(js-jsx--text-properties): Ensure the js-jsx-string text property gets
	cleaned up, too.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Properly set a dynamic, syntactic mode name

	Use mode-line-format constructs to properly set mode-name, rather than
	use the very hacky solution that was filling-in for my lack of
	knowledge of this feature.

	* lisp/progmodes/js.el (js--update-mode-name)
	(js--idly-update-mode-name): Remove.

	(js--syntactic-mode-name-part): New helper function for mode-name.
	(js-use-syntactic-mode-name): Helper to set up the dynamic mode-name.

	(js-jsx-enable): Don’t need to call any extra functions now.
	(js-mode): Use the new setup function rather than the old ones.

	(js-jsx-mode): Use the same initial mode name as js-mode so the final
	one is identical for both modes.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Improve whitespace and unary keyword parsing

	* lisp/progmodes/js.el (js--name-start-chars): Remove, adding these
	chars back to js--name-start-re.
	(js--name-start-re): Add chars back from js--name-start-chars.

	(js-jsx--tag-start-re): Improve regexp to capture the tag name (so it
	can be disambiguated from a unary keyword), to match newlines (which
	are common in this spot), and to require at least one whitespace
	character before the attribute name.

	(js-jsx--matched-tag-type): Ensure the “tag name” isn’t possibly a
	unary keyword.

	(js-jsx--self-closing-re, js-jsx--matching-close-tag-pos): Allow
	whitespace around “<” and “>”.

	* test/manual/indent/jsx-unclosed-2.jsx: Add tests for unary keyword
	and whitespace parsing.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Optimize js-jsx--enclosing-tag-pos

	* lisp/progmodes/js.el (js-jsx--enclosing-tag-pos): Update docstring
	to be more precise.  Also, remember close tag positions after they’ve
	been calculated once to avoid many redundant calls to
	js-jsx--matching-close-tag-pos.
	(js-jsx--text-properties): Ensure js-jsx-close-tag-pos text properties
	get cleaned up, too.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Optimize js-jsx--matching-close-tag-pos

	This function’s performance was having a noticeable impact when
	editing large JSX structures.  Improve its performance
	slightly (elapsed time will be cut in half according to ELP).

	* lisp/progmodes/js.el (js-jsx--tag-re): Remove.
	(js-jsx--matched-tag-type): Simplify implementation with respect to
	the new implementation of js-jsx--matching-close-tag-pos.
	(js-jsx--self-closing-re): Simplify regexp slightly in sync with a
	generally simpler matching algorithm.
	(js-jsx--matching-close-tag-pos): Optimize matching algorithm by using
	multiple simple regexp searches, rather than one big complex search.

	* test/manual/indent/jsx-unclosed-2.jsx: Use the term “inequality” and
	add a test for a possible parsing foible.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Add tests for miscellaneous JSX parsing feats

	* test/manual/indent/jsx.jsx: Add tests for JSXMemberExpression names
	and JSXOpeningFragment/JSXClosingFragment support (already supported).

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Split JSX indentation calculation into several functions

	* lisp/progmodes/js.el (js-jsx--contextual-indentation)
	(js-jsx--expr-attribute-pos, js-jsx--expr-indentation): Extract logic
	from js-jsx--indentation, and improve the logic’s documentation.
	(js-jsx--indentation): Simplify by splitting into several
	functions (see above) and improve the logic’s documentation.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Indent expressions in JSXAttributes relative to the attribute’s name

	* lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Refer to the
	beginning of a JSXExpressionContainer’s associated JSXAttribute (so
	line numbers can be calculated later).
	(js-jsx--text-properties): Also clear the new text property
	js-jsx-expr-attribute.

	(js-jsx--indenting): Remove.
	(js-jsx--indent-col, js-jsx--indent-attribute-line): New variables.
	(js-jsx--indentation): Instead of alternating between two separate
	column calculations, neither necessarily correct, bind the JSX column
	such that the second call to js--proper-indentation can use it as a
	base column.
	(js--proper-indentation): Use JSX as the base column for some indents
	while indenting JSX.

	* test/manual/indent/jsx.jsx: Add more tests for expression indents.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Fix counting of nested self-closing JSXOpeningElements

	* lisp/progmodes/js.el (js-jsx--matching-close-tag-pos): Fix bug where
	self-closing JSXOpeningElements might be missed if one was nested
	within another.

	* test/manual/indent/jsx-self-closing.jsx: Add test for bug concerning
	self-closing JSXOpeningElement counting.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Indent broken arrow function bodies as an N+1th arg

	* lisp/progmodes/js.el (js--line-terminating-arrow-re): Revise regexp
	for use with re-search-backward.
	(js--looking-at-broken-arrow-function-p): Remove.
	(js--broken-arrow-terminates-line-p): Replacement for
	js--looking-at-broken-arrow-function-p.  Don’t consider whether an
	arrow appears at point (in an arglist); instead, just look for an
	arrow that terminates the line.
	(js--proper-indentation): Use js--broken-arrow-terminates-line-p.

	* test/manual/indent/js.js: Add test for a broken arrow as an N+1th
	arg.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Rename tests to use the “.jsx” file extension

	* test/manual/indent/js-jsx-quote.js: Renamed to “jsx-quote.jsx”.
	* test/manual/indent/js-jsx-unclosed-1.js: Renamed to
	“jsx-unclosed-1.jsx”.
	* test/manual/indent/js-jsx-unclosed-2.js: Renamed to
	“jsx-unclosed-2.jsx”.
	* test/manual/indent/js-jsx.js: Renamed to “jsx.jsx”.

	* test/manual/indent/jsx-quote.jsx: Renamed from “js-jsx-quote.js”.
	* test/manual/indent/jsx-unclosed-1.jsx: Renamed from
	“js-jsx-unclosed-1.js”.
	* test/manual/indent/jsx-unclosed-2.jsx: Renamed from
	“js-jsx-unclosed-2.js”.
	* test/manual/indent/jsx.jsx: Renamed from “js-jsx.js”.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Improve JSX syntax propertization

	* lisp/progmodes/js.el (js-jsx--attribute-name-re): New variable.
	(js-jsx--syntax-propertize-tag): Allow “-” in JSXAttribute names.  Fix
	“out of range” error when typing at the end of a buffer.  Fix/improve
	future propertization of unfinished JSXBoundaryElements.

	* test/manual/indent/js-jsx-unclosed-2.js: Add tests for allowed
	characters in JSX.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Automatically detect JSX in JavaScript files

	* lisp/files.el (auto-mode-alist): Simply enable
	javascript-mode (js-mode) when opening “.jsx” files, since the “.jsx”
	file extension will be used as an indicator of JSX syntax by js-mode,
	and more code is likely to work in js-mode than js-jsx-mode, and we
	probably want to guide users to use js-mode (with js-jsx-syntax)
	instead.  Code that used to work exclusively in js-jsx-mode (if anyone
	ever wrote any) ought to be updated to work in js-mode too when
	js-jsx-syntax is set to t.

	* lisp/progmodes/js.el (js-jsx-detect-syntax, js-jsx-regexps)
	(js-jsx--detect-and-enable, js-jsx--detect-after-change): New
	variables and functions for detecting and enabling JSX.

	(js-jsx-syntax): Update docstring with respect to the widened scope of
	the effects and use of this variable.

	(js-syntactic-mode-name, js--update-mode-name)
	(js--idly-update-mode-name, js-jsx-enable): New variable and functions
	for indicating when JSX is enabled.

	(js-mode): Detect and enable JSX.  Print all enabled syntaxes after
	the mode name whenever Emacs goes idle; this ensures lately-enabled
	syntaxes are evident.

	(js-jsx-mode): Update mode name for consistency with the state in
	which JSX is enabled in js-mode.  Update docstring to suggest
	alternative means of using JSX without this mode.  Going forward, it
	may be best to gently guide users away from js-jsx-mode, since a “one
	mode per syntax extension” model would not scale well if more syntax
	extensions were to be simultaneously supported (e.g. Facebook’s
	“Flow”).

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Finish replacing SGML-based JSX detection with js-mode’s parsing

	This removes the last dependency on sgml-mode for JSX-related logic.

	* lisp/progmodes/js.el (js-jsx--start-tag-re)
	(js-jsx--end-tag-re): Remove.
	(js-jsx--looking-at-start-tag-p)
	(js-jsx--looking-back-at-end-tag-p): Reimplement using text
	properties, using syntax information which ought to be slightly more
	accurate than regexps since it was found by complete parsing.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Indent JSX as parsed in a JS context

	Fixes the following issues (and re-fixes indentation issues initially
	fixed but later re-broken by previous commits in the process of adding
	comprehensive JSX support):

	- https://github.com/mooz/js2-mode/issues/389#issuecomment-390766873
	- https://github.com/mooz/js2-mode/issues/482
	- Bug#32158
	- https://github.com/mooz/js2-mode/issues/462

	Previously, we delegated to sgml-mode functions for JSX indentation.
	However, there were some problems with this approach:

	- sgml-mode does not anticipate tags inside attributes when indenting,
	  which compromises JSX indentation inside JSXExpressionContainers
	  inside JSXAttributes.

	- In previous iterations to provide comprehensive JSX support, it
	  proved tedious to disambiguate “<” and “>” as JS inequality
	  operators and arrow functions from opening and closing angle
	  brackets as part of SGML tags.  That code evolved into a more
	  complete JSX parsing implementation for syntax-propertize rules for
	  font-locking, discarding the superfluous “<”/“>” disambiguation in
	  anticipation of using the improved JSX analysis for indentation.

	- Using sgml-mode functions, we controlled JSX indentation using SGML
	  variables.  However, JSX is a different thing than SGML; referencing
	  SGML in JS was a leaky abstraction.

	To resolve these issues, use the text properties added by the JSX
	syntax-propertize code to determine the boundaries of various aspects
	of JSX syntax, and reimplement the sgml-mode indentation code in
	js-mode with better respect to JSX indentation conventions.

	* lisp/progmodes/js.el (js-jsx-attribute-offset): New variable to
	provide a way for users to still control JSX attribute offsets as they
	could with sgml-attribute-offset before.  The value of this feature is
	dubious IMO, but it’s trivial to keep it, so let’s do it just in case.

	(js-jsx--goto-outermost-enclosing-curly): New function.

	(js-jsx--enclosing-tag-pos): Refactor to be unbounded by curlies, so
	this function can be used to find JSXExpressionContainers within JSX.
	Fix bug where an enclosing JSXElement couldn’t be found when point was
	at the start of its JSXClosingElement.  Return the JSXClosingElement’s
	position as well, so the JSXClosingElement can be identified when
	indenting and be indented like the matching JSXOpeningElement.

	(js-jsx--at-enclosing-tag-child-p): js-jsx--enclosing-tag-pos now
	returns a list rather than a cons, so retrieve the JSXOpeningElement’s
	end position from a list.

	(js-jsx--context, js-jsx--indenting): New function and variable.
	(js-jsx--indentation): New function replacing the prior
	js-jsx--indent* functions and js-jsx-indent-line’s implementation.
	Use the JSX parsing performed in a JS context to more accurately
	calculate JSX indentation than by delegating to sgml-mode functions.
	(js--proper-indentation): Use js-jsx--indentation as yet another type
	of indentation.
	(js-jsx--as-sgml, js-jsx--outermost-enclosing-tag-pos)
	(js-jsx--indentation-type, js-jsx--indent-line-in-expression)
	(js-jsx--indent-n+1th-line): Remove obsolete functions.

	(js-jsx-indent-line): Refactor nearly-obsolete function to behave the
	same as it usually would before these changes, without respect to the
	binding of js-jsx-syntax.

	(js-jsx-mode): Remove obsolete documentation about the use of SGML
	variables to control indentation, and don’t bind indent-line-function
	any more, because it is no longer necessary given the new
	implementation of js-jsx-indent-line.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Update expectations for JSX indentation in JSXAttribute space

	* test/manual/indent/js-jsx.js: Align expectations for dangling
	closing constructs with other places in the tests.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Propertize and font-lock JSXText and JSXExpressionContainers

	This completes highlighting support for JSX, as requested in:

	- https://github.com/mooz/js2-mode/issues/140
	- https://github.com/mooz/js2-mode/issues/330
	- https://github.com/mooz/js2-mode/issues/409

	* lisp/progmodes/js.el (js--name-start-chars): Extract part of
	js--name-start-re so it can be reused in another regexp.
	(js--name-start-re): Use js--name-start-chars.

	(js-jsx--font-lock-keywords): Use new matchers.
	(js-jsx--match-text, js-jsx--match-expr): New matchers to remove
	typical JS font-locking and extend the font-locked region,
	respectively.

	(js-jsx--tag-re, js-jsx--self-closing-re): New regexps matching JSX.
	(js-jsx--matched-tag-type, js-jsx--matching-close-tag-pos)
	(js-jsx--enclosing-curly-pos, js-jsx--enclosing-tag-pos)
	(js-jsx--at-enclosing-tag-child-p): New functions for parsing and
	analyzing JSX.

	(js-jsx--text-range, js-jsx--syntax-propertize-tag-text): New
	functions for propertizing JSXText.
	(js-jsx--syntax-propertize-tag): Propertize JSXText children of tags.
	(js-jsx--text-properties): Remove JSXText-related text properties when
	repropertizing.
	(js-mode): Extend the syntax-propertize region with
	syntax-propertize-multiline; we are now adding the syntax-multiline
	text property to buffer ranges that are JSXText to ensure the whole
	multiline JSX construct is reidentified.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Font-lock JSX while editing it by extending regions

	* lisp/progmodes/js.el (js-jsx--font-lock-keywords):
	Call tag beginning and end matchers.
	(js-jsx--match-tag-beg, js-jsx--match-tag-end): New functions.
	(js-jsx--syntax-propertize-tag): Record buffer positions of JSXElement
	beginning and end for font-locking.

	(js--syntax-propertize-extend-region)
	(js-jsx--syntax-propertize-extend-region): New functions for extending
	the syntax-propertize region backwards to the start of a JSXElement so
	its JSXAttribute children on its n+1th lines can be parsed as such
	while editing those lines.
	(js-mode): Add js--syntax-propertize-extend-region to
	syntax-propertize-extend-region-functions.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Add basic JSX font-locking

	Font-lock JSX from the beginning of the buffer to the end.  Tends to
	break temporarily when editing lines, because the parser doesn’t yet
	look backwards to determine if the end of a tag in the current range
	starts before the range.

	This also re-breaks some tests fixed by previous commits, as we begin
	to take a different direction in our parsing code, looking for JSX,
	rather than for non-JSX.  The parsing code will eventually provide
	information for indentation again.

	* lisp/progmodes/js.el (js--dotted-captured-name-re)
	(js-jsx--disambiguate-beginning-of-tag)
	(js-jsx--disambiguate-end-of-tag, js-jsx--disambiguate-syntax):
	Remove.
	(js-jsx--font-lock-keywords): New variable.
	(js--font-lock-keywords-3): Add JSX matchers.
	(js-jsx--match-tag-name, js-jsx--match-attribute-name): New functions.
	(js-jsx--syntax-propertize-tag): New function to aid in JSX
	font-locking and eventually indentation.
	(js-jsx--text-properties): New variable.
	(js-syntax-propertize): Propertize JSX properly using
	syntax-propertize-rules.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Use js-jsx- prefix for functions and variables

	* lisp/progmodes/js.el (js--disambiguate-beginning-of-jsx-tag): Rename
	to js-jsx--disambiguate-beginning-of-tag.
	(js--disambiguate-end-of-jsx-tag): Rename to
	js-jsx--disambiguate-end-of-tag.
	(js--disambiguate-js-from-jsx): Rename to js-jsx--disambiguate-syntax.
	(js--jsx-start-tag-re): Rename to js-jsx--start-tag-re.
	(js--looking-at-jsx-start-tag-p): Rename to
	js-jsx--looking-at-start-tag-p.
	(js--jsx-end-tag-re): Rename to js-jsx--end-tag-re.
	(js--looking-back-at-jsx-end-tag-p): Rename to
	js-jsx--looking-back-at-end-tag-p.
	(js--as-sgml): Rename to js-jsx--as-sgml.
	(js--outermost-enclosing-jsx-tag-pos): Rename to
	js-jsx--outermost-enclosing-tag-pos.
	(js--jsx-indentation): Rename to js-jsx--indentation-type.
	(js--indent-line-in-jsx-expression): Rename to
	js-jsx--indent-line-in-expression.
	(js--indent-n+1th-jsx-line): Rename to js-jsx--indent-n+1th-line.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	js-syntax-propertize: Disambiguate JS from JSX, fixing some indents

	Fix some JSX indentation bugs:

	- Bug#24896 / https://github.com/mooz/js2-mode/issues/389
	- Bug#30225
	- https://github.com/mooz/js2-mode/issues/459

	* lisp/progmodes/js.el (js--dotted-captured-name-re)
	(js--unary-keyword-re, js--unary-keyword-p)
	(js--disambiguate-beginning-of-jsx-tag)
	(js--disambiguate-end-of-jsx-tag)
	(js--disambiguate-js-from-jsx): New variables and functions.

	(js-syntax-propertize): Additionally clarify when syntax is JS so that
	‘(with-syntax-table sgml-mode-syntax-table …)’ does not mistake some
	JS punctuation syntax for SGML parenthesis syntax, namely ‘<’ and ‘>’.

	* test/manual/indent/js-jsx-unclosed-2.js: Add additional test for
	unary operator parsing.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Add new (failing) unclosed JSX test and separate such tests

	* test/manual/indent/js-jsx.js: Move test with intentional scan error to
	its own file, js-jsx-unclosed-1.js.
	* test/manual/indent/js-jsx-unclosed-1.js: New file.
	* test/manual/indent/js-jsx-unclosed-2.js: New file with test for
	regression caused by new ambiguous parsing of JS/JSX.

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Refactor JSX indentation code to improve enclosing JSX discovery

	Fix a number of bugs reported for JSX indentation (caused by poor JSX
	detection):

	- https://github.com/mooz/js2-mode/issues/140#issuecomment-166250016
	- https://github.com/mooz/js2-mode/issues/490
	- Bug#24896 / https://github.com/mooz/js2-mode/issues/389 (with
	respect to comments)
	- Bug#26001 /
	https://github.com/mooz/js2-mode/issues/389#issuecomment-271869380
	- https://github.com/mooz/js2-mode/issues/411 / Bug#27000 /
	https://github.com/mooz/js2-mode/issues/451

	Potentially manifest some new bugs (due to false positives with ‘<’
	and ‘>’ and SGML detection).  Slow down indentation a fair bit.

	* lisp/progmodes/js.el (js-jsx-syntax, js--jsx-start-tag-re)
	(js--looking-at-jsx-start-tag-p, js--looking-back-at-jsx-end-tag-p):
	New variables and functions.
	(js--jsx-find-before-tag, js--jsx-after-tag-re): Deleted.

	(js--looking-at-operator-p): Don’t mistake a JSXOpeningElement for the
	‘<’ operator.
	(js--continued-expression-p): Don’t mistake a JSXClosingElement as a
	fragment of a continued expression including the ‘>’ operator.

	(js--as-sgml): Simplify.  Probably needn’t bind forward-sexp-function
	to nil (sgml-mode already does) and probably shouldn’t bind
	parse-sexp-lookup-properties to nil either (see Bug#24896).

	(js--outermost-enclosing-jsx-tag-pos): Find enclosing JSX more
	accurately than js--jsx-find-before-tag.  Use sgml-mode’s parsing
	logic, rather than unreliable heuristics like paren-wrapping.  This
	implementation is much slower; the previous implementation was fast,
	but at the expense of accuracy.  To make up for all the grief we’ve
	caused users, we will prefer accuracy over speed from now on.  That
	said, this can still probably be optimized a lot.

	(js--jsx-indented-element-p): Rename to js--jsx-indentation, since it
	doesn’t just return a boolean.
	(js--jsx-indentation): Refactor js--jsx-indented-element-p to simplify
	the implementation as the improved accuracy of other code allows (and
	to repent for some awful stylistic choices I made earlier).

	(js--expression-in-sgml-indent-line): Rename to
	js--indent-line-in-jsx-expression, since it’s a private function and
	we can give it a name that reads more like English.
	(js--indent-line-in-jsx-expression): Restructure point adjustment
	logic more like js-indent-line.

	(js--indent-n+1th-jsx-line): New function to complement
	js--indent-line-in-jsx-expression.

	(js-jsx-indent-line): Refactor.  Don’t bind js--continued-expression-p
	to ignore any more; instead, rely on the improved accuracy of
	js--continued-expression-p.

	(js-jsx-mode): Set js-jsx-syntax to t.  For now, this will be the flag
	we use to determine whether ‘JSX is enabled.’  (Maybe later, we will
	refactor the code to use this variable instead of requiring
	js-jsx-mode to be enabled, thus rendering the mode obsolete.)

2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Add failing tests for JSX indentation bugs

	* test/manual/indent/js-jsx.js: Add failing tests for all the js-mode
	and js2-mode JSX indentation bugs reported over the years that I could
	find.  Some may be duplicates, so I have grouped similar reports
	together, for now; we’ll see for certain which distinct cases we need
	once we start actually implementing fixes.
	* test/manual/indent/js-jsx-quote.js: New file with a nasty test.

2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>

	Restore .dir-locals.el accidentally deleted

	But this way -- git add/commit/push -- is probably wrong, sorry.

2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>

	Fix last commit message

2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make `jump to group' work even if it is not activated (bug#33653)

	* lisp/gnus/gnus-group.el (gnus-group-goto-group):
	Use gnus-newsrc-hashtb instead of gnus-active-hashtb to check if
	a group exists even if its server is not activated (bug#33653).

2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make `jump to group' work even if it is not activated (bug#33653)

	* lisp/gnus/gnus-group.el (gnus-group-goto-group):
	Use gnus-newsrc-hashtb instead of gnus-newsrc-hashtb to check if
	a group exists even if its server is not activated (bug#33653).

2019-04-08  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix encoding and access of Gnus group names

	* lisp/gnus/gnus-start.el (gnus-active-to-gnus-format): Encode group
	  names as 'latin-1.
	* lisp/gnus/nnmail.el (nnmail-parse-active): Ditto.
	* lisp/gnus/nnml.el (nnml-request-group, nnml-request-create-group,
	  nnml-request-expire-articles, nnml-request-delete-group,
	  nnml-request-rename-group, nnml-deletable-article-p,
	  nnml-active-number, nnml-open-incremental-nov): Use assoc-string
	  with nnml-group-alist.
	* lisp/gnus/nnrss.el (nnrss-request-delete-group,
	  nnrss-retrieve-groups, nnrss-read-group-data, nnrss-check-group,
	  nnrss-generate-download-script): Use assoc-string with
	  nnrss-group-alist.

2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make `move article' work again (bug#33653)

	* lisp/gnus/gnus-sum.el (gnus-summary-move-article): Back to while loop
	m dolist that blocks nov and active from saving (bug#33653).

2019-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-sum.el: Prepare for lexical-binding

	Add defvars for all the gnus-tmp-*.
	(gnus-summary-make-local-variables): Move let binding to avoid setq.
	(gnus-set-global-variables): Use dolist.
	(gnus-summary-from-or-to-or-newsgroups, gnus-summary-insert-line)
	(gnus-summary-insert-dummy-line): Avoid dynbind args.
	(gnus-build-old-threads): Remove unused var 'id'.
	(gnus-nov-parse-line): Remove unused var 'buffer'.
	(gnus-thread-header): Prepare it for a lexbind world.
	(gnus-adjust-marked-articles): Remove unused var 'marks'.
	(gnus-mark-xrefs-as-read): Remove unused var 'idlist'.
	(gnus-summary-display-article): Erase&widen before mm-enable-multibyte.
	(gnus-summary-better-unread-subject): Remove unused var 'score'.
	(gnus-summary-find-matching): Remove unused var 'd'.
	(ps-right-header, ps-left-header, shr-ignore-cache): Declare vars.
	(gnus-summary-idna-message, gnus-summary-morse-message)
	(gnus-summary-sort-by-original):
	Fix interactive spec since we don't actually use any prefix arg.
	(gnus-summary-move-article, gnus-read-move-group-name): Use user-error.
	(gnus-summary-move-article): Use dolist.
	(gnus-summary-edit-article): Fix unquoting.
	(gnus-summary-highlight-line-0, gnus-summary-highlight-line):
	Declare dynbind vars documented in gnus-summary-highlight.

2019-04-08  Juri Linkov  <juri@linkov.net>

	* lisp/vc/diff-mode.el (diff-syntax-fontify-props): Check both buffer-local

	and default value of find-file-hook.

2019-04-08  Paul Eggert  <eggert@cs.ucla.edu>

	Allow gap before first non-Lisp pseudovec member

	Problem reported by Keith David Bershatsky in:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00259.html
	Solution suggested by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00282.html
	* src/buffer.h (BUFFER_LISP_SIZE): Simplify by using PSEUDOVECSIZE.
	(BUFFER_REST_SIZE): Simplify by using VECSIZE and BUFFER_LISP_SIZE.
	* src/lisp.h (PSEUDOVECSIZE): Base it on the last Lisp field,
	not the first non-Lisp field.  All callers changed.  Callers
	without Lisp fields changed to use ALLOCATE_PLAIN_PSEUDOVECTOR.
	(ALLOCATE_PLAIN_PSEUDOVECTOR): New macro.

2019-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-agent.el (gnus-agent-fetch-articles): Use match-string

	(gnus-agent-expire-group-1): Dial down on the 'setq'.

2019-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/nadvice.el: Add ourselves to package--builtin-versions

2019-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	Eshell: Try to untangle the dependencies; move 'provide's to the end

	* lisp/eshell/esh-arg.el: Move defsubst and vars before first use.
	Don't require `esh-mode but esh-util instead.

	* lisp/eshell/esh-cmd.el: Require esh-module and esh-io.

	* lisp/eshell/esh-ext.el: Don't require esh-proc nor esh-cmd.
	(eshell-external-command): Require esh-proc for
	eshell-gather-process-output.

	* lisp/eshell/esh-mode.el: Don't require esh-io nor esh-var, but
	require esh-arg.
	(eshell-directory-name): Move from eshell.el.

	* lisp/eshell/esh-module.el: Don't require eshell.

	* lisp/eshell/esh-opt.el: Don't require esh-ext at top-level.
	(eshell--do-opts, eshell-show-usage): Require it here instead.

	* lisp/eshell/esh-proc.el: Don't require esh-cmd, but require esh-io.
	(eshell-reset-after-proc, eshell-record-process-object)
	(eshell-gather-process-output, eshell-send-eof-to-process):
	Require esh-mode and esh-var here.

	* lisp/eshell/esh-var.el: Require esh-module, esh-arg, and esh-io.

	* lisp/eshell/eshell.el: Require esh-module, esh-proc, esh-io, and esh-cmd.
	But don't require esh-mode.
	(eshell-directory-name): Move to esh-mode.
	(eshell-return-exits-minibuffer): Don't bind 'return' and 'M-return'
	since we already bind RET and M-RET.

2019-04-08  Michael Albinus  <michael.albinus@gmx.de>

	Fix file-readable-p and file-executable-p in some Tramp backends

	* lisp/net/tramp-archive.el (tramp-archive-handle-file-readable-p):
	Use tramp-gvfs.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-executable-p):
	Check that FILENAME exists.
	(tramp-gvfs-handle-file-readable-p): Check that FILENAME exists.
	Use heuristic in case it cannot be determined correctly.

2019-04-07  Mattias Engdegård  <mattiase@acm.org>

	Rename variable for clarity

	* lisp/progmodes/verilog-mode.el (verilog-sk-define-signal):
	Rename sig-re to sig-chars, to make it clear that it isn't a regexp.

2019-04-07  Alexander Gramiak  <agrambot@gmail.com>

	Plug memory leak in GTK x-display-monitor-attributes-list

	* src/frame.c (free_monitors) [USE_GTK]: Define in the GTK case as
	  well.

	* src/xfns.c (x-display-monitor-attributes-list) [USE_GTK]: Plug
	  memory leak.

	* src/frame.h (MonitorInfo): Declare name as pointing to const char.

2019-04-07  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify fill_gstring_header

	* src/composite.c (fill_gstring_header): Omit first argument HEADER,
	since in practice it is always nil.  Change caller to match.
	Help the compiler by telling it LEN is nonnegative.
	Problem found with --enable-gcc-warnings and gcc -O2 -Og.

2019-04-07  Paul Eggert  <eggert@cs.ucla.edu>

	Help the compiler with byte order

	* src/xsettings.c (parse_settings): Help the compiler by
	letting it deduce the native endianness at compile-time.

2019-04-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix more regexp oddities

	Problems reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00178.html
	* lisp/progmodes/sh-script.el (sh-get-indent-info):
	Reorder skip-chars-forward arg so that it does not look like a regexp.
	* lisp/progmodes/verilog-mode.el (verilog-sk-define-signal):
	Fix typo: the string is not a regexp.
	* lisp/vc/log-edit.el (log-edit-goto-eoh): Fix typo: stray ‘:’.
	* lisp/xml.el (xml-parse-dtd): Avoid ‘-’ right after char class.

2019-04-07  Michael Albinus  <michael.albinus@gmx.de>

	Fix typo in tramp.texi

	* doc/misc/tramp.texi (Change file name syntax)
	(Frequently Asked Questions): '.' or ',' must follow xref.

2019-04-07  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-parse-group): Rename third arg to SKIP-CHARS.

	(tramp-parse-sconfig-group): Fix thinko.

2019-04-06  Alexander Gramiak  <agrambot@gmail.com>

	* lisp/frame.el (display-planes): Use logb over truncate + log

	Suggested by Basil L. Contovounesios:
	https://lists.gnu.org/r/bug-gnu-emacs/2019-03/msg01052.html

2019-04-06  Alexander Gramiak  <agrambot@gmail.com>

	Introduce new defcustom for terminal CUA rectangle commands

	This allows a user to set a non-meta modifier for their terminal
	should his/her terminal support it. See bug#35058 for background on
	this change.

	* lisp/emulation/cua-base.el (cua-rectangle-terminal-modifier-key):
	New defcustom.

	* lisp/emulation/cua-base.el (cua--shift-control-x-prefix): Use new
	defcustom.

2019-04-06  Alexander Gramiak  <agrambot@gmail.com>

	Define and use new procedure display-symbol-keys-p

	* lisp/frame.el (display-symbol-keys-p): Define.

	* lisp/simple.el (normal-erase-is-backspace-setup-frame): Use eq
	instead of memq.
	(normal-erase-is-backspace-mode): Use display-symbol-keys-p.

2019-04-06  Alexander Gramiak  <agrambot@gmail.com>

	Define and use new alias display-blink-cursor-p

	display-graphic-p is not used in this case because it may be possible
	in the future for terminals to allow control over cursor blinking. For
	details, see bug#35058.

	* lisp/frame.el (blink-cursor-mode): Use display-blink-cursor-p.

2019-04-06  Alexander Gramiak  <agrambot@gmail.com>

	Use display-graphic-p and display-multi-frame-p in more cases

	* lisp/disp-table.el:
	* lisp/faces.el:
	* lisp/frame.el:
	* lisp/info.el (Info-fontify-node):
	* lisp/window.el (handle-select-window): Use display-graphic-p and
	  display-multi-frame-p instead of explicit memq calls.

2019-04-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Distinguish buttons from widgets (bug#34506)

	* lisp/button.el (button-at):
	* lisp/wid-edit.el (widget-at): Avoid returning a false positive
	when looking for a button and finding a widget, or vice versa.
	* test/lisp/button-tests.el:
	* test/lisp/wid-edit-tests.el: New files.

2019-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/buffer.c (Fget_buffer_create): Apply booleans's eta-reduction

2019-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (setq-default): Fix thinko

	Reported by Johan Bockgård <bojohan+news@gnu.org>

2019-04-06  Glenn Morris  <rgm@gnu.org>

	* doc/misc/tramp.texi (Remote processes): '.' or ',' must follow xref.

2019-04-06  Eli Zaretskii  <eliz@gnu.org>

	Encode the FILENAME argument of 'file-locked-p'

	* src/filelock.c (Ffile_locked_p): Encode the file name,
	before passing it to system APIs.  (Bug#35171)

2019-04-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Don't leave inhibit_buffer_hooks uninitialized

	* src/buffer.c (Fget_buffer_create): Explicitly initialize
	inhibit_buffer_hooks. (bug#34847)

2019-04-06  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#34847

	* lisp/autorevert.el (auto-revert-remove-current-buffer):
	Add optional argument BUFFER.
	(auto-revert-notify-rm-watch): Remove local hook.
	(auto-revert-buffers): Check `buffer-live-p' in time.  (Bug#34847)

2019-04-05  Alex Branham  <alex.branham@gmail.com>

	Update documentation for indent-relative functions

	* lisp/indent.el (indent-relative): Document what happens when there
	  is no previous nonblank line.
	* doc/lispref/text.texi (Relative Indent): Document
	  indent-relative-first-indent-point instead of obsolete
	  indent-relative-maybe. Fix documentation of which argument from
	  'indent-relative' is used.

	Bug#34858

2019-04-05  Michał Krzywkowski  <mkrzywkow@gmail.com>

	Small elide-head.el update

	* lisp/elide-head.el (elide-head-headers-to-hide):
	Also match https for GPL.  (Bug#34919)

2019-04-05  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/emacs.texi (Acknowledgments): Remove duplicate.

2019-04-05  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-tests.el

	* test/lisp/net/tramp-tests.el (tramp-test30-make-process):
	Instrument test.  Adapt check string.
	(tramp-test34-explicit-shell-file-name)
	(tramp-test43-asynchronous-requests): Skip tests for tramp-adb
	with older Emacsen.

2019-04-05  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	Minor cleanup in widget.c

	* src/widget.c (update_wm_hints): Remove variables that are
	always zero, and simplify all expressions which used them.
	(Bug#35062)

2019-04-05  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	Minor cleanup in gtkutil.c

	* src/gtkutil.c (x_wm_set_size_hint): Remove variables that
	are always zero, and simplify all expressions which used
	them.  (Bug#35062)

2019-04-04  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make `move article' work again (bug#33653)

	* lisp/gnus/gnus-sum.el (gnus-summary-move-article): Back to while loop
	m dolist that blocks nov and active from saving (bug#33653).

2019-04-04  Troy Hinckley  <t.macman@gmail.com>

	Don't check comp-buffer-name-function in derived mode (Bug#34956)

	* lisp/progmodes/compile.el (define-compilation-mode): Remove
	'compilation-buffer-name-function' from the list of overridden
	variables to ensure that it is not mistaken for a variable that can be
	major mode specific.  'compilation-buffer-name-function' is used
	before the major mode is loaded, therefore overriding it here is
	ineffectual.  Also, the function 'compilation-start' takes an optional
	argument name-function, so there is already a mechanism to override
	it.

2019-04-04  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix comment-empty-lines docstring (bug#35152)

	* lisp/newcomment.el (comment-empty-lines): Consistently use US
	commas in docstring.  Fix indentation of and typo in custom :type.

2019-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/compile.el (compilation-error-regexp-alist): Typo

	Reported by Kévin Le Gouguec <kevin.legouguec@gmail.com>

2019-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/desktop.el (desktop--v2s): Add case for defstructs (bug#35131)

2019-04-04  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests):

	Make it fit for tramp-adb.  Apply better check in process filter.

2019-04-03  Mauro Aranda  <maurooaranda@gmail.com>

	Avoid recursive load of eshell

	* lisp/eshell/eshell.el: Provide eshell before requiring esh-mode to
	avoid a recursive load when esh-mode requires esh-module (which in
	turn requires eshell).  (Bug #34954)
	The double loading can be noticed by entries in 'eshell-load-hook' or
	forms passed to (with-eval-after-load 'eshell ...).

2019-04-03  Mauro Aranda  <maurooaranda@gmail.com>

	Fix repeated 'custom-add-option' in esh-mode.el (Bug#34993)

	* lisp/eshell/esh-mode.el: Call 'custom-add-option' with the right
	argument.

2019-04-03  Michael Albinus  <michael.albinus@gmx.de>

	Work on asynchronous processes for tramp-adb.el

	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
	Simplify.  Remove echoed first line.
	(tramp-adb-send-command): Add NEVEROPEN and NOOUTPUT.

	* lisp/net/tramp-sh.el (tramp-process-sentinel): Remove.
	(tramp-sh-handle-make-process): Simplify.

	* lisp/net/tramp.el (tramp-process-sentinel): New defun, taken from
	tramp-sh.el.  Delete trailing shell prompt.

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
	(tramp-test30-make-process): Run also for tramp-adb.
	(tramp-test32-shell-command): Remove tramp-adb restrictions.
	(tramp-test34-explicit-shell-file-name): Rework.  Remove :unstable tag.

2019-04-03  Glenn Morris  <rgm@gnu.org>

	* test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
	Expect failure on hydra.nixos.

2019-04-03  Eli Zaretskii  <eliz@gnu.org>

	Improve commentary in 'field_relpos'

	* src/pdumper.c (PDUMPER_MAX_OBJECT_SIZE): New macro.
	(field_relpos): Use PDUMPER_MAX_OBJECT_SIZE, and comment on
	why we require that relpos be not too large.

2019-04-03  Eli Zaretskii  <eliz@gnu.org>

	Restore process-environment after portable dumping

	* src/pdumper.c (struct dump_context): New member
	old_process_environment.
	(Fdump_emacs_portable): Record the original value of
	process-environment.
	(dump_unwind_cleanup): Restore the original values of
	process-environment and post-gc-hook.

2019-04-03  Stephen Leake  <stephen_leake@stephe-leake.org>

	Fix bug in gud-gdb-marker-filter: first marker does not start with \n

2019-04-03  Basil L. Contovounesios  <contovob@tcd.ie>

	Avoid using obsolete indent-relative-maybe

	* lisp/electric.el (electric-indent-functions-without-reindent):
	* lisp/indent.el (indent-according-to-mode): Check for
	indent-relative-first-indent-point in addition to its obsolete alias
	indent-relative-maybe.
	* lisp/obsolete/vi.el (vi-com-map): Use
	indent-relative-first-indent-point in place of its obsolete alias
	indent-relative-maybe.

2019-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/compile.el: Use non-nil values for *-function

	(compilation-parse-errors-filename-function,compilation-exit-message-function)
	(compilation-process-setup-function, compilation-buffer-name-function):
	Give them non-nil default values.
	(compilation-buffer-name): Restructure slightly.
	(compilation--default-buffer-name): New function, extracted from it.
	Use `name-of-mode` instead of `mode-command` to check if the current
	buffer is already in the appropriate mode.

2019-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/compile.el: Allow 'line' functions in error-regexp-alist

	(compilation-error-properties): Allow 'line' and 'end-line' to be functions,
	like 'col' and 'end-col'.
	(compilation-error-regexp-alist): Document this.
	(compilation-parse-errors): Drop support for old undocumented feature
	where 'line' was a function of 2 arguments.
	(compilation--compat-error-properties): Delete function.

2019-04-02  Noam Postavsky  <npostavs@users.sourceforge.net>

	Allow partial decompression (Bug#33133)

	* src/decompress.c (Fzlib_decompress_region): Add optional
	ALLOW-PARTIAL parameter.
	* lisp/url/url-http.el (url-handle-content-transfer-encoding): Use it.
	* doc/lispref/text.texi (Decompression): Document it.
	* etc/NEWS: Announce it.

2019-04-02  Basil L. Contovounesios  <contovob@tcd.ie>

	* lisp/gnus/gnus-dup.el: Use lexical-binding

	(gnus-dup-list-dirty): Add docstring.
	(gnus-dup-open): Allocate gnus-dup-hashtb more conservatively now
	that it is no longer an obarray.
	(gnus-dup-enter-articles): Fix off-by-one error.
	(gnus-dup-suppress-articles): DRY.

	For discussion, see thread starting at:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00974.html

2019-04-02  Wilson Snyder  <wsnyder@wsnyder.org>

	Fix verilog-mode vmm statements and AUTOINPUTREG ignores.

	* lisp/progmodes/verilog-mode.el (verilog-vmm-statement-re):
	Fix vmm statement regexps. Reported by Mattias Engdegard.
	(verilog-auto-reg-input)
	(verilog-auto-reg-input-assigned-ignore-regexp): For AUTOINPUTREG,
	allow ignoring assignments with new
	`verilog-auto-reg-input-assigned-ignore-regexp' variable, bug1401.
	Reported by David Rogoff.

2019-04-02  Paul Eggert  <eggert@cs.ucla.edu>

	Improve regexp advice again, and unchain ranges

	* doc/lispref/searching.texi (Regexp Special):
	Mention char classes earlier, in a more-logical place.
	Advise sticking to ASCII letters and digits in ranges.
	Reword negative advice to make it clearer that it’s negative.
	* lisp/files.el (make-auto-save-file-name):
	* lisp/gnus/message.el (message-mailer-swallows-blank-line):
	* lisp/gnus/nndoc.el (nndoc-lanl-gov-announce-type-p)
	(nndoc-generate-lanl-gov-head):
	* lisp/org/org-eshell.el (org-eshell-open):
	* lisp/org/org.el (org-deadline-time-hour-regexp)
	(org-scheduled-time-hour-regexp):
	* lisp/progmodes/bat-mode.el (bat-font-lock-keywords):
	* lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
	* lisp/textmodes/less-css-mode.el (less-css-font-lock-keywords):
	* lisp/vc/vc-cvs.el (vc-cvs-valid-symbolic-tag-name-p):
	* lisp/vc/vc-svn.el (vc-svn-valid-symbolic-tag-name-p):
	Avoid attempts to chain ranges, as this can be confusing.
	For example, instead of [0-9-_.], use [0-9_.-].

2019-04-02  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of last change

	* doc/misc/cl.texi (Structures): Document :noinline.

	* etc/NEWS: Mark the entry for :noinline as documented.

2019-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el: Don't always inline struct functions

	(cl--struct-inline): New var.
	(cl-defstruct): Obey it along with a new :noinline keyword argument.

2019-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (prog2): Define as a macro

	* src/eval.c (Fprog2): Delete function.
	(syms_of_eval): Don't register it.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
	* lisp/emacs-lisp/generator.el (cps--transform-1): Remove `prog2` case.

	* lisp/emacs-lisp/bytecomp.el (prog2): Remove handlers.
	(byte-compile-prog2): Delete.

	* lisp/emacs-lisp/lisp-mode.el (prog2): Remove property.

2019-04-02  Michael Albinus  <michael.albinus@gmx.de>

	Suppress timers in tramp-send-string

	* lisp/net/tramp.el (tramp-send-string): Suppress timers.  Use
	`with-local-quit'.

2019-04-02  Michael Albinus  <michael.albinus@gmx.de>

	Give example for configuration in tramp.texi

	* doc/misc/tramp.texi (Configuration): Explain how to call Tramp
	configuration functions in the init file.

2019-04-02  Paul Eggert  <eggert@cs.ucla.edu>

	More regexp advice and clarifications

	* doc/lispref/searching.texi (Regexp Special): Simplify style
	advice for order of ], ^, and - in character alternatives.
	Stick with saying that it’s not a good idea to put ‘-’ after a
	range.  Remove the special case about raw 8-bit bytes and
	unibyte characters, as this documentation is confusing and
	seems to be incorrect in some cases.  Say that z-a is the
	preferred style for reversed ranges, since it’s clearer and is
	typically what’s used in practice.  Mention some bad styles:
	duplicates in character alternatives, ranges that denote <=3
	characters, and ‘-’ as the first character.

2019-04-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	0924b27bca Say which regexp ranges should be avoided

	# Conflicts:
	#	doc/lispref/searching.texi

2019-04-01  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Refactor Gnus group name extraction in group completing read

	* lisp/gnus/gnus-group.el (gnus-group-completing-read): Only do the
	  unibyte check once; make sure it applies to hash table keys as
	  well.

2019-04-01  Paul Eggert  <eggert@cs.ucla.edu>

	Make struct Lisp_Objfwd etc. objects read-only

	Initialize these objects statically, and make them constants.
	This is a bit safer and more efficient.
	* src/data.c (XBOOLFWD, XKBOARD_OBJFWD, XFIXNUMFWD, XOBJFWD):
	* src/lisp.h (XBUFFER_OBJFWD):
	Return a pointer-to-const instead of an unrestricted pointer.
	(lispfwd): fwdptr is now a pointer-to-const instead of an
	unrestricted pointer.  All uses changed.
	(SET_SYMBOL_FWD): Accept pointer-to-const instead of an
	unrestricted pointer.
	(DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT)
	(DEFVAR_KBOARD): Initialize static structures statically
	instead of dynamically, and make them const.
	* src/lread.c (defvar_int, defvar_bool, defvar_lisp_nopro)
	(defvar_lisp, defvar_kboard): Accept pointer-to-const instead
	of an unrestricted pointer; it’s now the caller’s
	responsibility to initialize the pointed-to storage.  No need
	for a separate address argument any more.  All callers
	changed.

2019-04-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix union Lisp_Fwd * alignment bug

	It's not portable to cast (e.g.) struct Lisp_Objfwd * to union
	Lisp_Fwd * and then back again, because the compiler can then assume
	that the pointer is aligned for union Lisp_Fwd * when accessing
	the struct Lisp_Objfwd * components, and this assumption might
	be incorrect because we don't force that alignment.
	* src/lisp.h (lispfwd): New type, replacing ...
	(union Lisp_Fwd): ... this type, which was removed.
	All uses changed.
	(SET_SYMBOL_FWD): 2nd arg is now void *, not lispfwd.
	All uses changed (casts no longer needed; they were
	not portable anyway).

2019-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (setq-default): Define as a macro

	* lisp/emacs-lisp/bytecomp.el (byte-compile-setq-default): Delete.
	(byte-compile-set-default): Inline the part that it used.

	* lisp/emacs-lisp/edebug.el (setq-default): Remove the debug spec.

	* src/data.c (Fsetq_default): Delete.
	(syms_of_data): Don't register.

2019-04-01  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in xterm.c and w32term.c

	* src/xterm.c (x_window_to_scroll_bar):
	* src/w32term.c (x_window_to_scroll_bar): Fix a typo.

2019-03-31  Paul Eggert  <eggert@cs.ucla.edu>

	Use update-game-score more often with Tetris

	* lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
	Go back to previous way of deciding whether to invoke
	update-game-score, except do not try to invoke it if file-modes
	fails on it (Bug#35056).

2019-03-31  Basil L. Contovounesios  <contovob@tcd.ie>

	Do not set indent-line-function in text-mode

	* lisp/textmodes/text-mode.el (text-mode): Do not reset
	indent-line-function to its global default value of indent-relative.
	* doc/lispref/modes.texi (Example Major Modes):
	* etc/NEWS: Document change accordingly.

2019-03-31  Basil L. Contovounesios  <contovob@tcd.ie>

	Do not set indent-line-function in text-mode

	For discussion, see thread starting at:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg01012.html
	* lisp/textmodes/text-mode.el (text-mode): Do not reset
	indent-line-function to its global default value of indent-relative.
	* doc/lispref/modes.texi (Example Major Modes):
	* etc/NEWS: Document change accordingly.

2019-03-31  Basil L. Contovounesios  <contovob@tcd.ie>

	Use lexical-binding in text-mode.el

	* lisp/textmodes/text-mode.el: Use lexical-binding.
	(text-mode, paragraph-indent-minor-mode, text-mode-hook-identify):
	Use setq-local.
	(toggle-text-mode-auto-fill): Quote function symbols as such.
	(center-line): Minor simplification.
	* doc/lispref/modes.texi (Example Major Modes): Update code example
	for these changes to text-mode.

2019-03-31  Alan Third  <alan@idiocy.org>

	Use the correct filename for dump file in NS

	* nextstep/Makefile.in (all):
	(${ns_appbindir}/Emacs.pdmp):
	(links): Use mixed case 'Emacs.pdmp' to match the executable name.

2019-03-31  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix recently extended delete-indentation behavior

	* doc/lispref/text.texi (User-Level Deletion): Document new optional
	arguments of delete-indentation.

	* lisp/simple.el (delete-indentation): Do not barf if called
	interactively when region is inactive. (bug#35021)
	Do not skip blank lines. (bug#35036)
	Consistently deactivate mark even when no text was changed.
	Handle active region spanning a single line.

	* test/lisp/simple-tests.el (simple-test--buffer-substrings):
	New convenience function.
	(simple-test--dummy-buffer, simple-test--transpositions): Use it.
	(simple-delete-indentation-no-region)
	(simple-delete-indentation-inactive-region): Update commentary.
	Call delete-indentation interactively when testing for behavior with
	inactive region and region is not explicitly defined.
	(simple-delete-indentation-blank-line)
	(simple-delete-indentation-boundaries)
	(simple-delete-indentation-region)
	(simple-delete-indentation-prefix): New tests.

2019-03-31  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Check gnus-newsgroup-dependencies is hash table in gnus-id-to-thread

	* lisp/gnus/gnus-sum.el (gnus-id-to-thread): If dependencies haven't
	  been initialized yet, don't blow up. Mimics previous (non hash
	  table) behavior.

2019-03-31  Mattias Engdegård  <mattiase@acm.org>

	Fix typo in regexp-opt example code

	* doc/lispref/searching.texi (Regexp Functions):
	Fix typo in example code (Bug#34596).

2019-03-30  Alan Mackenzie  <acm@muc.de>

	Allow a CC Mode derived mode to have strings delimited by single quotes.

	Also fix the bug where the delimiters of '\033', etc. got the error face.

	* lisp/progmodes/cc-langs.el (c-single-quotes-quote-strings): Enhance the docr
	string.
	(c-string-delims): Change doc string to doc comment.

	* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): In
	searches and comparisons, take account of the string delimiters possibly
	being '.  Fix argument in call of c-before-change-check-unbalanced-strings.
	(c-parse-quotes-before-change, c-parse-quotes-after-change): Bind
	case-fold-search to nil.  Analyze escape constructs inside character constants
	more accurately, in particular accepting as valid more than one character
	after /[0-7], /x, /u, and /U.  Amend calculations to account for this extra
	length.

2019-03-30  Eli Zaretskii  <eliz@gnu.org>

	Fix a thinko in a recent commit

	* src/buffer.c (Fkill_buffer): Fix last change.  (Bug#31138)
	Reported by Mattias Engdegård <mattiase@acm.org>.

2019-03-30  Mattias Engdegård  <mattiase@acm.org>

	Release regexp before signaling overflow error

	* src/search.c (looking_at_1, search_buffer_re): Unfreeze the regexp
	buffer before signaling a matcher overflow, since the error
	processing may require quite some regexp use as well (Bug#34910).

2019-03-30  Mattias Engdegård  <mattiase@acm.org>

	Fix spurious regexp reentrancy error

	* src/search.c (compile_pattern): Don't give up if the last regexp
	cache entry is busy.  Instead, use the last (least recently used)
	non-busy entry, and only signal a reentrancy error if there is no free
	entry at all (Bug#34910).

2019-03-30  Eli Zaretskii  <eliz@gnu.org>

	Don't run buffer-related hooks in " *code conversion work*" buffers

	Note: portions of this change were mistakenly pushed as part
	of an unrelated commit a35a1f6a9.

	* src/buffer.c (Fget_buffer_create): Set inhibit_buffer_hooks
	non-zero for temporary buffers created by coding.c.  Don't run
	buffer-list-update-hook for such buffers.
	(Frename_buffer, Fkill_buffer, record_buffer)
	(Fbury_buffer_internal): Don't run hooks for buffers whose
	inhibit_buffer_hooks flag is set.
	* src/buffer.h (struct buffer): New member
	inhibit_buffer_hooks.
	* src/pdumper.c (dump_buffer): Dump the new field.  Update the
	hash value in HASH_buffer_XXX.
	* src/coding.c (make_conversion_work_buffer): Function deleted;
	code moved to code_conversion_save.
	(code_conversion_save): Insert code from
	make_conversion_work_buffer, but arrange for unwind-protecting
	the current buffer before switching to the work buffer.  This
	avoids leaving reused_workbuf_in_use set if user presses C-g
	during encoding/decoding.
	(Vcode_conversion_workbuf_name): Now external variable.
	* src/coding.h (Vcode_conversion_reused_workbuf): Declare.

2019-03-29  Michael Albinus  <michael.albinus@gmx.de>

	Extend comment about scope of tramp-test05-expand-file-name-relative

2019-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	Gnus: Automatically render text/calendar in a human-friendly way

	* lisp/gnus/mm-decode.el (mm-inline-media-tests): Add text/calendar entry.
	Use (fboundp 'device-sound-enabled-p) rather than fishing for features.
	(mm-automatic-display): Add text/calendar entry.

	* lisp/gnus/gnus-icalendar.el: Use lexical-binding.
	Remove redundant :group args.
	(gnus-icalendar-mm-inline): Add autoload cookie.

2019-03-29  Alan Mackenzie  <acm@muc.de>

	Fix (again) regexp bug in CC Mode.

	* lisp/progmodes/cc-mode.el (c-after-change-mark-abnormal-strings): "|\\\r" ->
	"\\|\r".

2019-03-28  Mattias Engdegård  <mattiase@acm.org>

	Use memql instead of memq in pcase

	* lisp/emacs-lisp/pcase.el (pcase--u1):
	Use memql instead of memq to work with bignums (Bug#34781).
	* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-member): Test the above.

2019-03-28  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Initiate gnus-active-hashtb before making ephemeral group

	* lisp/gnus/gnus-group.el (gnus-group-read-ephemeral-group): Needs to
	  be a hash table, not nil.

2019-03-28  Eli Zaretskii  <eliz@gnu.org>

	Fix display of sliced images on MS-Windows

	* src/w32term.c (x_draw_image_foreground): Fix detection of
	scaled images for sliced images.  Scale the original width of
	a slice and its coordinates of origin as well.

2019-03-28  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-accept-process-output): Use `push'.

2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Simpler way to export HAVE_X_WINDOWS to GDB

	* src/.gdbinit: Simplify by removing dependency on globals
	implementation.  This is useful for a future performance
	improvement that I have in mind.
	* src/alloc.c (enum defined_HAVE_X_WINDOWS, defined_HAVE_X_WINDOWS):
	New enum and constant.
	(gdb_make_enums_visible) [__GNUC__]: Use it, to make
	defined_HAVE_X_WINDOWS visible to GDB.

2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak re_registers allocation

	* src/regex-emacs.c (re_match_2_internal):
	No need to allocate one extra trailing search register;
	Emacs does not use it.  Avoid quadratic behavior on
	reallocation.

2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	No need for m_search_regs_saved in thread.h

	* src/search.c (save_search_regs, restore_search_regs):
	Don’t use m_search_regs_saved; it’s equivalent to
	saved_search_regs.num_regs != 0.
	* src/thread.h (struct thread_state): Remove m_search_regs_saved.

2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Fix search_regs memory leak when thread destroyed

	* src/thread.c (free_search_regs): New function.
	(finalize_one_thread): Use it.

2019-03-27  Juri Linkov  <juri@linkov.net>

	* lisp/frame.el (make-frame-on-monitor): Add default value.  (Bug#34516)

2019-03-27  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-accept-process-output): Let progress reporter run.

2019-03-27  Charles A. Roelli  <charles@aurox.ch>

	* test/lisp/mail/rmail-tests.el (rmail-autoload): Fix its doc.

2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Tune css-mode regexp

	* lisp/textmodes/css-mode.el (css--font-lock-keywords):
	Omit unnecessary \(?: \) in regexp.  Suggested by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg01042.html

2019-03-27  Michael Heerdegen  <michael_heerdegen@web.de>

	Improve documentation of 'alist-get' (Bug#34708)

	* lisp/subr.el (alist-get): Enhance part of docstring explaining usage
	in place expressions.

2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Use regexp-opt-charset to improve regexp tweaks

	* lisp/emacs-lisp/regexp-opt.el (regexp-opt):
	Reword confusing sentence in doc string.
	* lisp/erc/erc.el (erc-lurker-maybe-trim):
	* lisp/mail/footnote.el (footnote-hebrew-numeric-regex):
	Improve by using regexp-opt-charset.

2019-03-27  Eli Zaretskii  <eliz@gnu.org>

	Attempt to fix crashes under GDB on Windows 10

	* src/pdumper.c (dump_discard_mem)
	[VM_SUPPORTED == VM_MS_WINDOWS]: Don't pass NULL pointer as
	last argument to VirtualProtect.  Reported by Martin Rudalics
	<rudalics@gmx.at>.

2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Minor xml.el tweaks

	* lisp/xml.el (xml-name-start-char-re, xml-name-char-re):
	No need to call concat.
	(xml-name-char-re): Use \u escapes rather than chars inline,
	so that the code matches the comments better and is easier
	to audit.

2019-03-27  Michael Albinus  <michael.albinus@gmx.de>

	Use connection-local setting for tramp-remote-path

	* doc/misc/tramp.texi (Remote programs): Mention connection-local
	settings for `tramp-remote-path'.

	* lisp/net/tramp-sh.el (tramp-get-remote-path): Expand connection-local
	variables.

2019-03-27  Basil L. Contovounesios  <contovob@tcd.ie>

	Avoid recently obsolete seq-contains in css-mode

	* lisp/textmodes/css-mode.el (css--join-nested-selectors): Replace
	recently obsolete seq-contains with new predicate seq-contains-p.

2019-03-27  Mattias Engdegård  <mattiase@acm.org>

	* lisp/xml.el (xml-name-char-re): Remove superfluous `-' in regexp.

2019-03-27  Alan Mackenzie  <acm@muc.de>

	Improve C++ raw string fontification.

	Integrate the handling of raw string and ordinary string fontification.

	* lisp/progmodes/cc-defs.el (c-font-lock-flush)
	(c-search-forward-char-property-without-value-on-char): new macros.
	(c-point): In the 'eoll arm, check for eobp.
	(c-search-forward-char-property-with-value-on-char): Handle the &optional
	limit argument being nil.
	(c-clear-char-property-with-value-on-char-function)
	(c-clear-char-property-with-value-on-char): Return the position of the first
	cleared property.

	* lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Don't spuriously
	recognize the change of face at a ) as the start of a string (a
	"pseudo match").
	(c-old-beg-rs c-old-end-rs): New variables.
	(c-raw-string-pos): Analyze raw string delimiters more carefully.
	(c-raw-string-in-end-delim): New function.
	(c-depropertize-raw-string): Largely rewritten.
	(c-before-change-check-raw-strings): New functionality: only remove the
	syntax-table text properties from raw strings whose delimiters are about to
	change.
	(c-propertize-raw-string-id): New function.
	(c-after-change-re-mark-raw-strings): Remove, incorporating functionality into
	other functions.
	(c-propertize-raw-string-opener): Largely rewritten.
	(c-after-change-re-mark-raw-strings): Removed.
	(c-after-change-unmark-raw-strings, c-after-change-unmark-raw-strings): New
	functions.

	* lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Largely rewritten.

	* lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Replace
	c-after-change-re-mark-unbalanced-strings by
	c-after-change-mark-abnormal-strings in the t, c+objc, c++ and java sections.
	Add c-after-change-unmark-raw-strings and remove
	c-after-change-re-mark-raw-strings from the c++ section.

	* lisp/progmodes/cc-mode.el (c-old-BEG c-old-END): Remove.
	(c-old-END-literality): New variable.
	(c-depropertize-CPP): Remove syntax-table properties from raw strings within
	macros.
	(c-before-change-check-unbalanced-strings): Call
	c-truncate-semi-nonlit-pos-cache to preserve the integrity of the cache.
	(c-before-change-check-unbalanced-strings): Call
	c-truncate-semi-nonlit-pos-cache, largely rewritten.
	(c-after-change-re-mark-unbalanced-strings): Renamed to
	c-after-change-mark-abnormal-strings.  Call c-maybe-re-mark-raw-string.

2019-03-27  Andreas Schwab  <schwab@suse.de>

	* lisp/calc/calc-forms.el (calc-hms-notation): Fix interactive
	prompt.

2019-03-27  Nicolas Petton  <nicolas@petton.fr>

	* lisp/emacs-lisp/map.el (map-inplace): Fix the message of the error.

2019-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Support native image resizing on cairo

	* src/xterm.c (x_cr_draw_image): Add arguments image_width and
	image_height and support scaling.  All callers changed.
	* src/image.c (Fimage_scaling_p): Return t when USE_CAIRO.
	(x_set_image_size) [USE_CAIRO]: Record the scaled dimensions
	in the image struct.
	* src/dispextern.h (HAVE_NATIVE_SCALING): Define when
	USE_CAIRO as well.

	* etc/NEWS: Update the announcement of native image scaling.

2019-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix cairo image drawing with box

	* src/xterm.c (x_cr_draw_image): Don't call cr_clip for non-mask case.
	(x_draw_image_foreground) [USE_CAIRO]: Draw image here ...
	(x_draw_image_glyph_string) [USE_CAIRO]: ... instead of here.
	(x_draw_image_foreground, x_draw_image_foreground_1)
	(x_draw_image_glyph_string) [USE_CAIRO]: Ifdef away unused code path.

2019-03-26  Paul Eggert  <eggert@cs.ucla.edu>

	2019-03-26 regex cleanup

	Problems reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg01028.html
	* lisp/align.el (align-rules-list):
	* lisp/speedbar.el (speedbar-check-read-only, speedbar-check-vc):
	* lisp/vc/diff-mode.el (diff-add-change-log-entries-other-window):
	* lisp/woman.el (woman-parse-numeric-arg):
	Put "-" at end of character alternatives, since a range was not intended.
	* lisp/erc/erc.el (font-lock):
	* lisp/mail/footnote.el (cl-seq):
	Avoid duplicate character alternatives by using cl-seq API.
	* lisp/mail/footnote.el (footnote--current-regexp):
	* lisp/textmodes/css-mode.el (css--font-lock-keywords):
	Avoid repetition of repetition.
	* lisp/net/webjump.el (webjump-url-encode):
	Add ~ to character alternatives, and rewrite confusing range.
	* lisp/progmodes/verilog-mode.el (verilog-compiler-directives)
	(verilog-assignment-operator-re):
	Remove duplicate.
	* lisp/progmodes/verilog-mode.el (verilog-preprocessor-re):
	* lisp/textmodes/css-mode.el (css--font-lock-keywords):
	Don’t escape a char that doesn’t need it.
	* lisp/textmodes/picture.el (picture-tab-chars): In docstring,
	do not say regexp characters will be quoted; merely say in
	another way that the syntax is that of character alternatives.
	(picture-set-tab-stops, picture-tab-search): Don’t attempt
	to regexp-quote picture-tab-chars.
	(picture-tab-search): Quote \ in picture-tab-chars for
	skip-chars-backwards, which treats \ differently than
	regexp character alternatives do.

2019-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/easy-mmode.el: simplify via custom-current-group

	* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
	Don't try and guess a default :group, defcustom does it better anyway.

2019-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Use cairo image surface instead of pattern for fringe bitmap

	* src/xterm.c (fringe_bmp, x_cr_define_fringe_bitmap)
	(x_cr_destroy_fringe_bitmap, x_cr_draw_image) [USE_CAIRO]:
	Change type of fringe bitmap.

2019-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix cairo scrolling for left scroll bars case

	* src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling by unusing
	WINDOW_LEFT_EDGE_X.  (Bug#31288)

2019-03-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Support tool bar icon image on GTK+ >= 3.10 with cairo

	* src/gtkutil.c (xg_get_image_for_pixmap) [USE_CAIRO]: Use cairo image
	surface for GtkImage source.
	(xg_tool_item_stale_p, update_frame_tool_bar) [USE_CAIRO]: Use cairo
	image surface instead of pixmap for data associated with tool bar item.

2019-03-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Simplify cairo image surface creation and destruction

	* src/dispextern.h (struct image) [USE_CAIRO]: Remove member cr_data2.
	* src/image.c (set_cairo_image_surface): New function split from
	original create_cairo_image_surface.  Call cairo_surface_mark_dirty.
	(create_cairo_image_surface): Just create image surface and return it.
	(x_clear_image): Don't free cr_data2.
	(xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
	(gif_load, imagemagick_load_image, svg_load_image) [USE_CAIRO]: Use
	new create_cairo_image_surface and cairo_image_surface_get_data
	instead of xmalloc.  Use set_cairo_image_surface instead of old
	create_cairo_image_surface.
	(pbm_load) [USE_CAIRO]: Call cairo_surface_destroy for surface instead
	of xfree for data.
	(gif_load) [USE_CAIRO]: Multiply y-coordinate value by width instead
	of subimg_width.

2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent ngettext stub to non-glibc

	* src/editfns.c: Don’t try to call glibc ngettext;
	we’re not ready for that yet.
	(Fngettext): Do not restrict integer arguments to fixnums.
	Improve doc string a bit.

2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib.

	This incorporates:
	2019-03-23 Support cross-compilation to musl libc
	2019-03-23 noreturn: In C++ mode with clang, use _Noreturn as fallback
	2019-03-22 _Noreturn: beware of C's _Noreturn in C++ pre C++11
	2019-03-19 Help making signal handlers more reliable
	2019-03-18 _Noreturn: clang and MSVC do support [[noreturn]] in C++11
	2019-03-17 _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11
	2019-03-14 all: Update URLs to msdn.microsoft.com
	* doc/misc/texinfo.tex, lib/_Noreturn.h, lib/gettimeofday.c:
	* lib/mktime.c, lib/regcomp.c, lib/regexec.c, lib/stat-time.h:
	* lib/utimens.c, m4/fdopendir.m4, m4/getgroups.m4:
	* m4/gettimeofday.m4, m4/gnulib-common.m4, m4/putenv.m4, m4/utimes.m4:
	Update from gnulib.

2019-03-25  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc.el (vc-diff-mergebase, vc-log-mergebase): New commands.

	* lisp/vc/vc-git.el (vc-git-mergebase): New function.
	(vc-git-print-log): Interpret string value of arg LIMIT as an end-revision.

	* lisp/vc/vc-hooks.el (vc-prefix-map): Bind 'vc-log-mergebase' to
	'C-x v M L', and 'vc-diff-mergebase' to 'C-x v M D'.  (Bug#33950)

2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	Fix alignment bug with pure bignums

	Problem found on 32-bit sparc, which has stricter alignment
	checking than x86-64.
	* src/alloc.c (pure_alloc): When TYPE is negative it now specifies
	the negation of the required alignment of the result.
	(make_pure_bignum): Specify bignum limb alignment.

2019-03-25  Juri Linkov  <juri@linkov.net>

	* lisp/international/mule-cmds.el (ngettext): Move to editfns.c.

	* src/editfns.c (Fngettext): Move from mule-cmds.el and use
	gettext's ngettext when available.

2019-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix text property bug in gnus-group-list-active

	* lisp/gnus/gnus-group.el (gnus-group-list-active): The property value
	  should be the group name, not the value of gethash. Ie, it should be
	  the key, not the value.

2019-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Don't save Gnus' dummy.group to the .newsrc.eld file

	* lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format): Remove
	  the "dummy.group" element.

2019-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Handle multiple possible types for Gnus group names

	* lisp/gnus/gnus-start.el (gnus-active-to-gnus-format): Numbers,
	  symbols, and strings.

2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	Fix a dns-mode reentrancy bug

	* lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
	Don’t assume kill-new does no matching.

2019-03-25  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix non_local_exit_get signature in Elisp manual

	* doc/lispref/internals.texi (Module Nonlocal): Fix typo in return
	type of non_local_exit_get.

2019-03-25  Michael Albinus  <michael.albinus@gmx.de>

	Explain messages with patches in CONTRIBUTE

	* CONTRIBUTE: A message shall contain the string "[PATCH]" in the
	subject if there's a patch in the message.

2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	Support ./configure --with-gif=ifavailable etc.

	Suggested by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00789.html
	* INSTALL, etc/NEWS: Document this.
	* configure.ac: Implement this.

2019-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/diff-mode.el: Better handle empty lines in context diffs

	(diff-end-of-hunk): Obey diff-valid-unified-empty-line for context style.
	(diff--refine-hunk): Don't look further than the end.

2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some integer issues in regex-emacs

	Also, remove some duplicate comments related to thread.h.
	* src/regex-emacs.h (struct re_registers):
	* src/regex-emacs.c (SIGN_EXTEND_CHAR): Remove.
	(TALLOC, RETALLOC): Remove.  All uses replaced by usual
	allocators, which check for integer overflow.
	(extract_number): Redo without using ‘unsigned’.
	(CHARSET_RANGE_TABLE_EXISTS_P): Clearly return a boolean.
	(print_fastmap, print_partial_compiled_pattern, CHECK_INFINITE_LOOP)
	(regex_compile, analyze_first, bcmp_translate, mutually_exclusive_p)
	(re_match_2_internal):
	Use bool for booleans.
	(print_fastmap, regex_compile, execute_charset):
	Prefer int to unsigned where either will do.
	(print_double_string): Prefer ptrdiff_t to ssize_t, since the
	latter can in theory be narrower than the former.  Use fwrite
	instead of repeated putchar.
	(emacs_re_max_failures, fail_stack_type, compile_stack_type)
	(re_wctype_parse, regex_compile, re_search, re_search_2)
	(re_match_2, re_match_2_internal, re_compile_pattern):
	Prefer ptrdiff_t to size_t where either will do.
	(union fail_stack_elt, PUSH_FAILURE_REG, POP_FAILURE_REG_OR_COUNT):
	Make the integer an intptr_t, not long.
	(GET_BUFFER_SPACE, EXTEND_BUFFER, regex_compile):
	Use xpalloc to simplify allocation.
	(regex_compile): Check for integer overflow when calculating
	register numbers.
	* src/regex-emacs.c (re_set_registers, re_match_2_internal):
	* src/regex-emacs.h (struct re_registers, struct re_pattern_buffer):
	* src/search.c (Freplace_match):
	Prefer ptrdiff_t to unsigned where either will do.
	* src/regex-emacs.h (struct re_pattern_buffer):
	Prefer bool_bf to unsigned where either will do.

2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	* src/regex-emacs.c (regex_compile): Fix comments.

2019-03-25  João Távora  <joaotavora@gmail.com>

	Avoid occasional confusion of Flymake C/C++ backend

	The regexp would sometimes match non-errors and create a diagnostic
	with nil severity, which would have consequences for the Flymake
	engine (these should eventually be addressed, too).

	* lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics):
	Tighten regexp.

2019-03-25  João Távora  <joaotavora@gmail.com>

	Make bundled Flymake C backend work for C++, too

	* lisp/progmodes/flymake-cc.el (flymake-cc-use-special-make-target):
	Pass -x flag according to major-mode.

2019-03-24  Juri Linkov  <juri@linkov.net>

	i18n: Add function ngettext for pluralization.

	* lisp/international/mule-cmds.el (ngettext): New function.
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00586.html

	* lisp/replace.el (flush-lines, how-many, occur-1, occur-engine)
	(perform-replace): Use ngettext.

	* lisp/progmodes/grep.el (grep-exit-message): Use ngettext.
	(grep-mode-font-lock-keywords): Match both singular and plural form
	of "matches".

2019-03-24  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/xref.el (xref--show-xrefs): Push mark.  (Bug#34908)

2019-03-24  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix Gnus duplicate article unsuppression

	* lisp/gnus/gnus-sum.el (gnus-summary-mode-group): Declare before
	first use to silence byte-compiler.
	(gnus-summary-select-article): Simplify boolean expression.
	(gnus-summary-move-article): Do not try to unsuppress article when
	duplicate suppression is disabled. (bug#34973, bug#34974)

2019-03-24  Paul Eggert  <eggert@cs.ucla.edu>

	* src/lisp.h (primary_thread): Remove unused decl.

2019-03-24  Michael Albinus  <michael.albinus@gmx.de>

	Bind `enable-local-variables' in `hack-connection-local-variables'

	* lisp/files-x.el (hack-connection-local-variables):
	Bind `enable-local-variables', instead of redeclaring
	`safe-local-variable-p'.

2019-03-23  Eli Zaretskii  <eliz@gnu.org>

	* src/Makefile.in ($(AM_V_GEN)POSIXLY_CORRECT): Use AM_V_GEN.

2019-03-23  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#34943

	* lisp/files-x.el (cl-lib): Require when compiling.
	(hack-connection-local-variables): Regard connection-local
	variables as safe.  (Bug#34943)

	* lisp/shell.el (shell): Use `with-connection-local-variables' for
	the whole code block.  (Bug#34943)

	* lisp/net/tramp-adb.el (tramp-connection-local-safe-shell-file-names):
	Do not set values.

	* lisp/net/tramp-integration.el
	(tramp-connection-local-safe-shell-file-names): Remove.
	(shell-file-name, shell-command-switch): Do not add safe-local-variable
	property.

	* lisp/net/tramp.el (tramp-handle-shell-command): Use proper
	buffer name.

	* test/lisp/net/tramp-tests.el (tramp-test34-explicit-shell-file-name):
	Tag it :unstable.

2019-03-23  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warning in w32proc.c

	* src/w32proc.c (w32_executable_type): Avoid compiler warnings
	about potential NULL pointer dereferencing.

2019-03-22  Michael R. Mauger  <michael@mauger.com>
	Fix Bug#25424.
	* lisp/progmodes/sql.el (sql-end-of-statement): default terminator
	as semicolon.

2019-03-22  Stephen Leake  <stephen_leake@stephe-leake.org>

	Fix bug in delete-indentation when region is inactive

	* test/lisp/simple-tests.el: Add tests for delete-indentation.
	(simple-delete-indentation-no-region): Works with no region.
	(simple-delete-indentation-inactive-region): Was broken with inactive
	region; now fixed.

	* lisp/simple.el (delete-indentation): Check (use-region-p) before using BEG.

2019-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Change Gnus hash tables into real hash tables

	Gnus has used obarrays as makeshift hash tables for groups: group
	names are coerced to unibyte and interned in custom obarrays, and
	their symbol-value set to whatever value needs to be stored. This
	patch replaces those obarrays with actual hash tables.

	* lisp/gnus/gnus-util.el (gnus-intern-safe, gnus-create-hash-size):
	  Remove functions.
	  (gnus-make-hashtable): Change to return a real hash table.
	  (gnus-text-property-search): Utility similar to `text-property-any',
	  but compares on `equal'. Needed because the 'gnus-group text
	  property is now a string.
	* lisp/gnus/gnus.el (gnus-gethash, gnus-gethash-safe, gnus-sethash):
	  Remove macros.
	  (gnus-group-list): New variable holding all group names as an
	  ordered list. Used because `gnus-newsrc-hashtb' used to preserve
	  `gnus-newsrc-alist' ordering, but now doesn't.
	* lisp/gnus/nnmaildir.el (nnmaildir--servers): Change from obarray to
	  alist.
	  (nnmaildir--up2-1): Remove function.
	* lisp/thingatpt.el (thing-at-point-newsgroup-p): This was making use
	  of Gnus obarrays, replace with a cond that can handle many different
	  possibilities.
	* lisp/gnus/gnus-bcklg.el (gnus-backlog-articles): Remove
	  gnus-backlog-hashtb, which wasn't doing anything. Just keep a list
	  of ident strings in gnus-backlog-articles.
	  (gnus-backlog-setup): Delete unnecessary function.
	  (gnus-backlog-enter-article, gnus-backlog-remove-oldest-article,
	  gnus-backlog-remove-article, gnus-backlog-request-article): Alter
	  calls accordingly.
	* lisp/gnus/gnus-dup.el (gnus-duplicate-list-max-length): Rename from
	  `gnus-duplicate-list-length', for accuracy.
	* lisp/gnus/gnus-start.el (gnus-active-to-gnus-format,
	  gnus-groups-to-gnus-format, gnus-newsrc-to-gnus-format): Read group
	  names as strings.
	  (gnus-gnus-to-quick-newsrc-format): Write `gnus-newsrc-alist' using
	  the ordering in `gnus-group-list'.
	* lisp/gnus/gnus-agent.el:
	* lisp/gnus/gnus-async.el:
	* lisp/gnus/gnus-cache.el:
	* lisp/gnus/gnus-group.el:
	* lisp/gnus/gnus-score.el:
	* lisp/gnus/gnus-sum.el:
	* lisp/gnus/gnus-topic.el:
	* lisp/gnus/message.el:
	* lisp/gnus/mml.el:
	* lisp/gnus/nnagent.el:
	* lisp/gnus/nnbabyl.el:
	* lisp/gnus/nnvirtual.el:
	* lisp/gnus/nnweb.el: In all files, change obarrays to hash-tables,
	  and swap `gnus-sethash' for `puthash', `gnus-gethash' for `gethash',
	  `mapatoms' for `maphash', etc.
	* test/lisp/gnus/gnus-test-headers.el (gnus-headers-make-dependency-table,
	  gnus-headers-loop-dependencies): New tests to make sure we're
	  building `gnus-newsgroup-dependencies' correctly.

2019-03-22  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#24394, Bug#34172

	* lisp/subr.el (process-file-shell-command):
	Use `with-connection-local-variables'.  Do not set "/bin/sh" for
	remote buffers, trust settings of `shell-file-name'.

	* lisp/net/tramp-adb.el (tramp-methods) <adb>:
	* lisp/net/tramp-smb.el (tramp-methods) <smb>:
	Remove `tramp-remote-shell' and `tramp-remote-shell-args'.

	* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch)
	(tramp-maybe-open-connection): Use proper read syntax for function
	names.

	* lisp/net/tramp.el (tramp-handle-shell-command): Do not use shell
	file names from `tramp-methods'.
	Respect `async-shell-command-buffer'.  (Bug#24394, Bug#34172)
	Use `start-file-process-shell-command' and `process-file-shell-command'.

	* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
	Let it run partly for tramp-adb.

2019-03-22  Nicolas Petton  <nicolas@petton.fr>

	Fix the error message when modifying maps in-place (Bug#34941)

	* lisp/emacs-lisp/map.el (map-not-inplace): Fix the message of the
	error.
	(map-put!): When signaling map-no-inplace error, output the map that
	cannot be updated inplace.

2019-03-22  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes for the last change

	* lisp/simple.el (delete-indentation):
	* doc/emacs/indent.texi (Indentation Commands):
	* etc/NEWS: Fix last change.  (Bug#34796)

2019-03-22  Łukasz Stelmach  <stlman@poczta.fm>

	If the region is active, join all the lines it spans

	* lisp/simple.el (delete-indentation): Join lines in the active region.
	(Bug#34796)

	* doc/misc/org.texi: Describe the arguments of delete-indentation.

	* etc/NEWS: Mention region support in delete-indentation.

2019-03-22  Eli Zaretskii  <eliz@gnu.org>

	Revert "Revert "Revert "Rely on conservative stack scanning to find "emacs_value"s"""

	This reverts commit 093d3e78d21d3d6c718997368ef4b31f9884401c,
	which reverted ee7ad83f20903208404a84b58b7a478b62924570,
	which reverted 3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a.

2019-03-21  Federico Tedin  <federicotedin@gmail.com>

	Correctly handle packages without description in describe-package

	* lisp/emacs-lisp/package.el (describe-package-1): Do not call insert
	  if package description is nil (Bug#34147).

2019-03-21  Federico Tedin  <federicotedin@gmail.com>

	Make edebug-eval-expression support code completion

	* lisp/emacs-lisp/edebug.el (edebug-eval-expression): Use
	  read--expression instead of read-from-minibuffer. (Bug#34065)

2019-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix misuses of NULL when talking about the NUL character

	* lisp/subr.el (inhibit-null-byte-detection): Make it an obsolete alias.

	* src/coding.c (setup_coding_system): Use new name.
	(detect_coding): Rename null_byte_found => nul_byte_found.
	(detect_coding_system): Use new name.
	Rename null_byte_found => nul_byte_found.
	(Fdefine_coding_system_internal): Use new name.
	(syms_of_coding): Rename inhibit-null-byte-detection to
	inhibit-nul-byte-detection.
	* src/w16select.c (get_clipboard_data): null_char => nul_char.
	* src/json.c (check_string_without_embedded_nuls): Rename from
	check_string_without_embedded_nulls.
	(Fjson_parse_string): Adjust accordingly.
	* src/coding.h (enum define_coding_undecided_arg_index)
	(enum coding_attr_index): ...null_byte... => ...nul_byte....
	* lisp/info.el (info-insert-file-contents, Info-insert-dir):
	* lisp/international/mule.el (define-coding-system):
	* lisp/vc/vc-git.el (vc-git--call):
	* doc/lispref/nonascii.texi (Lisp and Coding Systems): Use the new name.

2019-03-21  Nicolas Petton  <nicolas@petton.fr>

	* etc/NEWS: Document seq-contains-p.

	* lisp/emacs-lisp/seq.el (seq-difference): Inverse a conditional for clarity.

2019-03-21  Nicolas Petton  <nicolas@petton.fr>

	New seq-contains-p predicate (Bug#34852)

	* lisp/emacs-lisp/seq.el (seq-contains-p): New predicate function.  It
	is a replacement for seq-contains which cannot be used as a predicate
	when a sequence contains nil values as it returns the element found.
	(seq-contains): Make obsolete.

	* test/lisp/emacs-lisp/seq-tests.el (test-seq-contains-p):
	(test-seq-intersection-with-nil, test-seq-set-equal-p-with-nil,
	test-difference-with-nil): Add regression tests.

	* doc/lispref/sequences.texi (Sequence Functions): Document
	seq-contains-p.

2019-03-21  Eli Zaretskii  <eliz@gnu.org>

	Revert "Revert "Rely on conservative stack scanning to find "emacs_value"s""

	This reverts commit ee7ad83f20903208404a84b58b7a478b62924570.

	There was no consensus on reverting
	3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a, so doing that will have to
	wait until the discussion ends.

2019-03-21  Philipp Stephani  <phst@google.com>

	Revert "Rely on conservative stack scanning to find "emacs_value"s"

	This reverts commit 3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a.

	There was no consensus for that commit, see
	https://lists.gnu.org/r/emacs-devel/2016-01/msg00150.html.
	Also, reverting this commit should fix Bug#31238.

2019-03-21  Eli Zaretskii  <eliz@gnu.org>

	Avoid duplicate entries in process-environment after re-dumping

	* src/pdumper.c (Fdump_emacs_portable): Reset
	process-environment to nil.  (Bug#34936)

2019-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc: Recommend putting '-' as last char in Emacs charset regexps

	* doc/lispref/searching.texi (Regexp Special):
	* doc/emacs/search.texi (Regexps): Recommend - as last char in [...].

2019-03-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	24b6e6e (origin/emacs-26) * etc/AUTHORS: Update.
	2f22a17 * ; ChangeLog.3 update
	0f523de Improve indexing of the user manual
	bd5795e Fix url-copy-file arglist
	eaa188a ; * admin/notes/bugtracker: Minor additions and updates.
	5ed05fb Fix downloading updates for packages with non-ASCII descriptions
	e9f2d1f * etc/NEWS: Remove temporary markers.
	24fc133 * doc/misc/cc-mode.texi (Config Basics): in @itemize, @asis -...
	0f325d1 Don't clobber 'comint-input-autoexpand' in 'read-shell-command'
	bc75589 Document restrictions when setting window margins, fringes or...
	cc4cebf More improvements for 'read-buffer's doc string
	d026d9a * lisp/progmodes/cc-defs.el: Update c-version to 5.33.2 for E...
	5dbf08b * src/minibuf.c (Fread_buffer): Minor doc fixes.  (Bug#34749)

	# Conflicts:
	#	etc/NEWS
	#	lisp/url/url-handlers.el

2019-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	Eshell: Mostly cosmetic changes to be more explicit about dynbind

	* lisp/eshell/em-dirs.el (eshell-dirs-initialize): Reveal the lambdas.
	(eshell-expand-multiple-dots): Fix ^+$ => \`+\' in the regexp.

	* lisp/eshell/esh-cmd.el (eshell-this-command-hook): Declare as
	dynamically scoped.
	(eshell-trap-errors): Use `mapc funcall` since this can't have
	global/local settings like a true hook.
	(eshell-do-eval): Split the `let` case from the rest so we can use
	`cl-progv` rather than `eval` for it.
	(eshell/which): Use `fboundp` test instead of ugly
	gymnastics to try and hide the function call from the compiler.

	* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Reveal the lambdas.
	(eshell-parse-variable-ref): Use backquotes.

2019-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/pcomplete.el: Improve heuristic to rely less on c-t-subvert.

	(pcomplete-completions-at-point): Try and take \ escapes into account
	when guessing the beginning of the text we're completing.

2019-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix pcomplete typo in recent regex typo fix

	Problem reported by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00682.html
	* lisp/pcomplete.el (pcomplete-parse-comint-arguments):
	Restore the trailing backslash (but two of them this time).

2019-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/minibuffer-tests.el (completion-table-subvert-test): New test

	* lisp/minibuffer.el (completion-table-subvert): Fix typo from rev 5697ca55cb

2019-03-20  Mattias Engdegård  <mattiase@acm.org>

	Repair eshell-query-kill-processes

	* lisp/eshell/esh-proc.el (eshell-query-kill-processes):
	Remove invalid `format-message' call; `eshell-round-robin-kill' wants
	just the format string.

2019-03-20  Eli Zaretskii  <eliz@gnu.org>

	Fix defining keyboard macros in CUA mode

	* lisp/emulation/cua-base.el (cua--prefix-override-replay):
	Push the key to replace wrapped in '(no-record . KEY)', so
	that it doesn't get recorded more than once.  (Bug#34901)

	* src/keyboard.c (read_char): Handle the '(no-record . KEY)'
	event by substituting KEY for it.
	(syms_of_keyboard) <no-record>: New DEFSYM.
	<unread-command-events>: Update the doc string.

	* doc/lispref/commands.texi (Event Input Misc): Document the
	'(no-record . EVENT)' form.

2019-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/eshell/em-cmpl.el: Use completion-at-point i.s.o pcomplete

	(eshell-cmpl-initialize): Refrain from binding to the `tab` key,
	which prevents the tab -> TAB remapping.
	Use completion-at-point and completion-help-at-point.
	(eshell-complete-commands-list): Use `fboundp` test instead of ugly
	gymnastics to try and hide the function call from the compiler.
	(eshell-pcomplete): Make it an alias of completion-at-point.

	* doc/misc/eshell.texi (Completion): Change wording to reflect
	different default behavior.

2019-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	More minor regex cleanup

	Problems reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00643.html
	plus a few others that I noticed.
	* lisp/auth-source-pass.el (auth-source-pass--parse-data):
	* lisp/org/org-datetree.el (org-datetree--find-create):
	* lisp/org/org-pcomplete.el (org-thing-at-point):
	* lisp/progmodes/js.el (js--end-of-do-while-loop-p):
	* lisp/textmodes/sgml-mode.el:
	(sgml-electric-tag-pair-before-change-function):
	* lisp/textmodes/texnfo-upd.el (texinfo-menu-copy-old-description):
	* lisp/url/url-http.el (url-http-parse-response):
	Fix regular expression and similar syntax.

2019-03-19  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc.el (vc-diff-build-argument-list-internal): Add arg fileset.

	(vc-root-version-diff): Set vc-diff-build-argument-list-internal's
	optional arg 'fileset' to the root directory.  (Bug#34532)

2019-03-19  Juri Linkov  <juri@linkov.net>

	* lisp/frame.el (frame-monitor-attributes): Fall back to the last monitor

	when frames monitor attributes is still uninitialized.  (Bug#34680)

2019-03-19  Juri Linkov  <juri@linkov.net>

	* lisp/frame.el (make-frame-on-monitor): Don't set height and width.

	Don't use x-parse-geometry.  Delete nil from completions (Bug#34516)

2019-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Use ‘const’ to clarify GC marking

	Add ‘const’ to make the GC marking code a bit clearer.
	This can also help the compiler in some cases, I think because
	GCC can now determine more often that the value of a static C
	variable can be cached when its address is now converted to
	‘Lisp Object const *’ before escaping.
	* src/alloc.c (staticvec, mark_maybe_objects, mark_memory)
	(mark_stack, staticpro, mark_object_root_visitor)
	(garbage_collect_1):
	* src/pdumper.c (dump_ptr_referrer, dump_emacs_reloc_to_lv)
	(dump_emacs_reloc_to_emacs_ptr_raw, dump_root_visitor):
	* src/lisp.h (vcopy, struct gc_root_visitor):
	* src/sysdep.c (stack_overflow):
	* src/thread.c (mark_one_thread):
	* src/thread.h (struct thread_state):
	Use pointer-to-const instead of plain pointer in some
	GC-related places where either will do.

2019-03-19  Mattias Engdegård  <mattiase@acm.org>

	Disallow reversed char ranges in `rx'

	(any "a-Z0-9") generated "[0-9]", and (any (?9 . ?0)) generated "[9-0]".
	Reversed ranges are either mistakes or abuse.  Neither should be allowed.

	etc/NEWS: Explain the change.
	lisp/emacs-lisp/rx.el (rx): Document.
	(rx-check-any-string, rx-check-any): Add error checks for reversed ranges.
	test/lisp/emacs-lisp/rx-tests.el (rx-char-any-range-bad): New test.

2019-03-18  Paul Eggert  <eggert@cs.ucla.edu>

	Remove buggy regexp use in comint-output-filter

	This reverts commit 2012-07-02T16:18:02!monnier@iro.umontreal.ca
	which perhaps could be rethought and recommitted, and perhaps
	it’s no longer needed now that comint-use-prompt-regexp
	is almost always nil.
	* lisp/comint.el (comint-output-filter): Don’t try to skip
	repeated prompts, since comint-prompt-regexp typically begins
	with "^" and the resulting "^^" in the regular expression does
	not have the desired effect.  Noted by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00380.html

2019-03-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix more regular expression typos

	Problem reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00548.html
	except that I didn’t address the issues involving Hebrew,
	or involving comint-prompt-regexp.
	* lisp/align.el (align-rules-list, align-exclude-rules-list):
	* lisp/auth-source-pass.el (auth-source-pass--parse-secret)
	(auth-source-pass--parse-data):
	* lisp/cedet/data-debug.el (data-debug-next)
	(data-debug-prev, data-debug-expand-or-contract):
	* lisp/comint.el (comint-within-quotes):
	* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
	* lisp/emulation/viper-ex.el (ex-cmd-complete):
	* lisp/gnus/gnus-cite.el (gnus-message-search-citation-line):
	* lisp/gnus/nnir.el (nnir-imap-end-of-input):
	* lisp/mail/mail-extr.el (mail-extr-all-letters):
	* lisp/minibuffer.el (minibuffer-maybe-quote-filename):
	* lisp/nxml/rng-nxml.el (rng-complete-tag)
	(rng-complete-end-tag, rng-complete-attribute-name):
	* lisp/obsolete/vip.el (vip-get-ex-token, vip-get-ex-pat):
	* lisp/org/org-pcomplete.el (org-thing-at-point):
	* lisp/org/org.el (org-set-tags)
	(org-increase-number-at-point)
	(org-fill-line-break-nobreak-p):
	* lisp/pcomplete.el (pcomplete-parse-comint-arguments):
	* lisp/progmodes/ada-mode.el (ada-compile-goto-error):
	* lisp/progmodes/cperl-mode.el (cperl-highlight-charclass)
	(cperl-find-pods-heres, cperl-not-bad-style-regexp)
	(cperl-regext-to-level-start):
	* lisp/progmodes/ebnf-yac.el (ebnf-yac-skip-spaces):
	* lisp/progmodes/flymake-proc.el (flymake-proc-master-tex-init):
	* lisp/progmodes/flymake.el (flymake-diag-region):
	* lisp/progmodes/fortran.el (fortran-current-line-indentation):
	* lisp/progmodes/idlw-complete-structtag.el:
	(idlwave-complete-structure-tag):
	* lisp/progmodes/idlwave.el (idlwave-complete-sysvar-or-tag):
	* lisp/progmodes/prolog.el (prolog-pred-end)
	(prolog-clause-info):
	* lisp/progmodes/ruby-mode.el (ruby-forward-sexp)
	(ruby-backward-sexp):
	* lisp/progmodes/verilog-mode.el (verilog-repair-open-comma):
	* lisp/term.el (term-within-quotes):
	* lisp/textmodes/bib-mode.el (bib-capitalize-title-stop-words):
	* lisp/textmodes/refbib.el (r2b-capitalize-title-stop-words):
	* lisp/textmodes/reftex-parse.el (reftex-nth-arg):
	* lisp/textmodes/rst.el (rst-svn-rev):
	* lisp/url/url-http.el (url-http-parse-response):
	* test/lisp/progmodes/f90-tests.el (f90-test-bug3730):
	Fix regular expression typos.

2019-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fileio.c: Don't convert \r to \n just because of C-x $

	(choose_write_coding_system): Setup the \r to \n conversion only if
	selective-display is t.

2019-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/locate.el (locate-mode): Setup invisibility for Dired commands

	Also, use lexical-binding.

2019-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	Ebrowse: Use invisibility-spec instead of selective-display

	* lisp/progmodes/ebrowse.el: Use lexical-binding.
	(ebrowse-tree-mode): Set invisibility-spec instead of selective-display.
	(ebrowse--hidden-p, ebrowse--hide, ebrowse--unhide): New functions.
	(ebrowse-expand-all, ebrowse-unhide-base-classes, ebrowse-hide-line)
	(ebrowse-mouse-1-in-tree-buffer): Use them.
	(ebrowse-output): Remove macro, use with-silent-modifications instead.
	(ebrowse-save-selective): Remove macro, not needed any more.
	(ebrowse-trim-string, ebrowse-read, ebrowse-collapse-fn):
	No need to pay attention to \r.
	(ebrowse-files-list): Use push.
	(ebrowse-view/find-file-and-search-pattern): Use add-hook here...
	(ebrowse-find-pattern): ...and remove-hook here.
	(ebrowse-view/find-position): Use add/remove-hook.

2019-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	Dired: Use invisibility-spec instead of selective-display

	* lisp/dired.el (dired-subdir-regexp): No need to pay attention to \r.
	(dired-remember-hidden): Use pcase-dolist and dired--hidden-p.
	(dired-mode): Set invisibility-spec instead of selective-display.
	(dired--hidden-p, dired--hide, dired--unhide, dired--find-hidden-pos):
	New functions.
	(dired-move-to-end-of-filename): Use dired--hidden-p.
	(dired-next-subdir): No need to pay attention to \r.
	(dired-fun-in-all-buffers): Use push.

	* lisp/dired-aux.el (dired-unhide-subdir, dired-hide-subdir, dired-hide-all):
	Use the new functions and with-silent-modifications.
	(dired-add-entry): Use dired--hidden-p.
	(dired-goto-subdir): No need to pay attention to \r.
	(dired-hide-check): Remove.
	(dired-subdir-hidden-p): Use dired--hidden-p.
	(dired-do-find-regexp): Use file-name-as-directory.

2019-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/display.texi (Selective Display): Declare it deprecated

2019-03-17  Eli Zaretskii  <eliz@gnu.org>

	Fix 'define-charset' after dumping with pdumper

	* src/charset.h:
	* src/charset.c (charset_table_used): Now static.
	(charset_table_size): Now extern.
	* src/pdumper.c (dump_charset_table): Dump the entire
	charset_table, not just its used slots.  (Bug#34826)

2019-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (combine-change-calls-1): Don't combine syntax-ppss flushes

2019-03-16  Alexander Gramiak  <agrambot@gmail.com>

	Define macros to abstract support for external menu/tool-bars

	* src/lisp.h (HAVE_EXT_MENU_BAR)
	(HAVE_EXT_TOOL_BAR): Define.

	*src/dispnew.c:
	*src/frame.c:
	*src/frame.h:
	*src/keyboard.c:
	*src/menu.c:
	*src/menu.h:
	*src/window.c:
	*src/window.h:
	*src/xdisp.c:
	*src/xfns: Use the new macros.

2019-03-16  Paul Eggert  <eggert@cs.ucla.edu>

	Fix regexp typo in vc-git--program-version

	* lisp/vc/vc-git.el (vc-git--program-version):
	Require a period after ".windows", instead of allowing any char.

2019-03-16  Mattias Engdegård  <mattiase@acm.org>

	Fix some ineffective backslashes in string literals

	Deal with lone backslashes that have no effect in string literals,
	but indicate that something is amiss.

	* lisp/auth-source-pass.el (auth-source-pass-entries):
	* lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
	* lisp/org/ob-abc.el (org-babel-expand-body:abc)
	(org-babel-execute:abc):
	* lisp/org/ob-forth.el (org-babel-forth-session-execute):
	* lisp/vc/vc-git.el (vc-git--program-version):
	Add backslash in regexp for correctness.

	* lisp/gnus/nnmail.el (nnmail-split-abbrev-alist):
	Replace `\||' with `\\|' to follow the obvious regexp intent.

	* lisp/org/org-list.el (org-plain-list-ordered-item-terminator):
	Add backslash in doc comment so that it appears as intended.

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1, c-end-of-decl-1):
	* lisp/progmodes/f90.el (f90-font-lock-keywords-2):
	* lisp/progmodes/etags.el (etags-tags-completion-table):
	* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
	Remove superfluous backslashes from regexp.

	* test/lisp/emacs-lisp/rx-tests.el (rx-char-any):
	Remove superfluous backslash from doc comment.

2019-03-16  Eli Zaretskii  <eliz@gnu.org>

	Improve locale and language environment setting at startup

	* lisp/international/mule-cmds.el (locale-language-names): Add
	more locales and their language environments.
	(set-locale-environment): Use w32-multibyte-code-page, if
	non-zero, as locale-coding-system.  (Bug#34684)

	* src/w32fns.c (globals_of_w32fns) <w32-multibyte-code-page>:
	New variable.

	* etc/NEWS: Mention w32-multibyte-code-page.

2019-03-15  Paul Eggert  <eggert@cs.ucla.edu>

	Bring back Emacs 26 compatibility to flymake.el

	* lisp/progmodes/flymake.el (flymake--schedule-timer-maybe):
	Revert to using seconds-to-time, since this file is part
	of ELPA and needs to work on Emacs 26 too.

2019-03-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Use bool for menu_items_inuse

	* src/menu.c (menu_items_inuse): Now bool, instead of a
	Lisp_Object that is always Qt or Qnil.  All uses changed.

2019-03-15  Philippe Vaucher  <philippe.vaucher@gmail.com>

	Customize tabulated-list sort indicators

	This allows the user to customize the sorting indicators displayed
	near the current column.

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list): New group.
	(tabulated-list-gui-sort-indicator-asc)
	(tabulated-list-gui-sort-indicator-desc)
	(tabulated-list-tty-sort-indicator-asc)
	(tabulated-list-tty-sort-indicator-desc): New defcustomd.
	(tabulated-list-glyphless-char-display): Remove.
	(tabulated-list-make-glyphless-char-display-table): New function.

	* doc/lispref/modes.texi (Tabulated List Mode): Add documentation
	for new options.

	* etc/NEWS: Mention the new options.

2019-03-15  Eli Zaretskii  <eliz@gnu.org>

	* etc/NEWS: Document Sami input methods.  (Bug#34866)

2019-03-15  Wojciech Gac  <wojciech.s.gac@gmail.com>

	Add notice and fix missing character

	Add remaining Sami input methods

	Add Skolt Sami and Inari Sami input methods

2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/doc-view.el (doc-view--text-view-mode): Derive from text-mode.

2019-03-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix file attribute accessor typo in Elisp manual

	This was introduced in 662bee7d70ccd3903e123b08c7ec9108a1a2ce0b
	2018-09-24T01:30:46Z!eggert@cs.ucla.edu.
	* doc/lispref/files.texi (File Attributes): Fix typo referring to
	wrong file attribute accessor.

2019-03-13  Glenn Morris  <rgm@gnu.org>

	* test/lisp/progmodes/python-tests.el
	(python-syntax-after-python-backspace): Expect failure again.

2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/easy-mmode.el: Fix most obvious bug#34723

	(easy-mmode-define-navigation): Don't scroll in the opposite direction of
	the movement.

2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/hashcash.el (hashcash-insert-payment-async): Fix last change

2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/python.el (python-rx-constituents): Fix ordering in `or`

	The previous code worked earlier because of a bug in `rx` (which used
	`regexp-opt` without passing it to `keep-order` argument), but now that `rx`
	has been fixed the underlying bug here reared its ugly head.

2019-03-13  Eli Zaretskii  <eliz@gnu.org>

	Avoid gratuitous errors in 'url-retrieve-synchronously'

	* lisp/url/url-http.el (url-http-debug):
	* lisp/url/url-util.el (url-debug): Don't signal an error if
	quit-flag is non-nil, but not t.  This could happen because
	some unrelated code is running inside while-no-input.
	(Bug#34763)

2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/battery.el (battery-bsd-apm): Group indices together; use pcase

2019-03-13  Ahmed Khanzada  <me@enzu.ru>  (tiny change)

	* lisp/battery.el (battery-bsd-apm): Make it work on FreeBSD


	Use flag "t" to get remaining time, and adjust to different output order.

2019-03-12  Christopher Wellons  <wellons@nullprogram.com>  (tiny change)

	* lisp/mail/hashcash.el: Get rid of backquoted lambdas


	(hashcash-generate-payment-async): η-reduce.
	(hashcash-insert-payment-async): Use proper closure.

2019-03-12  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):

	Use proper range when deleting the region.

2019-03-12  Alan Mackenzie  <acm@muc.de>

	Correct the indentation of CC Mode brace lists

	while preserving the indentation of nested C++ uniform initialization.

	* lisp/progmodes/cc-align.el (c-lineup-2nd-brace-entry-in-arglist)
	(c-lineup-class-decl-init-+, c-lineup-class-decl-init-after-brace): New
	indentation functions.

	* lisp/progmodes/cc-engine.el (c-forward-class-decl): New function.
	(c-do-declarators): New function, partially extracted from
	c-font-lock-declarators, which now calls the new function.
	(c-inside-bracelist-p): Amend the introductory comment.
	(c-add-stmt-syntax): Add code to prevent the spurious recognition of a
	'defun-block-intro when a brace pair is used as an initializer.
	(c-evaluate-offset): No longer ignore vectors of length >= 2.
	(c-calc-offset): Refactor clumsily nested `if'/`or' into a cond form.

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Replace the bulk of
	this function by a call to the new c-forward-class-decl.

	* lisp/progmodes/cc-langs.el (c-type-decl-prefix-key): Recognize "~" as a
	type decl operator.

	* lisp/progmodes/cc-mode.el (c-fl-decl-start): While searching backward for a
	"}" at an EOD, deal with actually finding the end of a brace list.

	* doc/misc/cc-mode.texi (List Line-Up): document
	c-lineup-2nd-brace-entry-in-arglist, c-lineup-class-decl-init-+, and
	c-lineup-class-decl-init-after-brace.

	* lisp/progmodes/cc-styles.el (c-style-alist): In styles "gnu", "bsd",
	"stroustrup", "python", and "java", change the offset for brace-list-intro
	from the default value or c-lineup-arglist-intro-after-paren to a list
	beginning with the symbol first, followed by two of the new alignment
	functions, followed by +.

	* lisp/progmodes/cc-vars.el (c-offset-alist): Change the default value of
	brace-list-entry from c-lineup-under-anchor back to 0.

2019-03-12  Martin Rudalics  <rudalics@gmx.at>

	Revert last tweak in 'comint-output-filter'

	* lisp/comint.el (comint-output-filter): Revert last tweak because
	it can hang gdb indefinitely.

2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>

	Reindent pdumper per usual Emacs style

	* src/pdumper.c, src/pdumper.h: Reindent.

2019-03-11  Eli Zaretskii  <eliz@gnu.org>

	Fix show-trailing-whitespace in R2L text

	* src/xdisp.c (highlight_trailing_whitespace): Allow for
	stretch glyphs at the left edge of R2L lines, when skipping
	glyphs inserted by the display engine.  This unbreaks
	show-trailing-whitespace in R2L lines.

2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix a small pdumper memory leak

	* src/pdumper.c (dump_mmap_reset): Free the private area here ...
	(dump_mm_heap_cb_release): ... instead of here.
	(dump_mmap_release_heap): Simplify by avoiding a local.
	(dump_mmap_contiguous): Reindent GNU style.

2019-03-11  Martin Rudalics  <rudalics@gmx.at>

	Rewrite minibuffer window resizing code

	* src/frame.c (resize_mini_frames): New variable.
	* src/window.c (resize_mini_window_apply): New function.
	(grow_mini_window, shrink_mini_window): Remove PIXELWISE
	argument.  Call resize_mini_window_apply to apply changes.
	(Fresize_mini_window_internal): Call resize_mini_window_apply
	to apply changes.
	(Qwindow__resize_mini_frame): New symbol.
	* src/window.h (grow_mini_window, shrink_mini_window): Adjust
	external declarations.
	* src/xdisp.c (resize_mini_window): For minibuffer-only frames
	call 'window--resize-mini-frame' if resize_mini_frames is
	non-nil.  Offload parts of logic to grow_mini_window and
	shrink_mini_window which are now called without the PIXELWISE
	argument.
	(Vresize_mini_windows): Mention 'resize-mini-frames' in
	doc-string.
	* lisp/cus-start.el (resize-mini-frames): Add customization
	support.
	* lisp/window.el (window--resize-mini-window): Simplify code.
	(window--resize-mini-frame): New function.
	* doc/lispref/minibuf.texi (Minibuffer Windows): Describe new
	option 'resize-mini-frames'.
	* etc/NEWS: Mention new option 'resize-mini-frames'.

2019-03-10  Paul Eggert  <eggert@cs.ucla.edu>

	* src/editfns.c: Fix docstring typo.

2019-03-10  Paul Eggert  <eggert@cs.ucla.edu>

	Improve binary-as-unsigned treatment (Bug#34792)

	* etc/NEWS:
	* src/editfns.c (Fformat, binary_as_unsigned):
	Update now that we always have bignums.
	(syms_of_editfns) [!defined lisp_h_FIXNUMP]: Remove now-obsolete
	code, since lisp_h_FIXNUMP is always defined now.
	* test/src/editfns-tests.el (read-large-integer): Simplify,
	now that we can assume binary-as-unsigned defaults to nil.

2019-03-10  Paul Eggert  <eggert@cs.ucla.edu>

	More regexp corrections and tweaks

	Problems reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00247.html
	* lisp/align.el (align-rules-list):
	* lisp/comint.el (comint-output-filter):
	* lisp/language/china-util.el (encode-hz-region):
	* lisp/progmodes/cperl-mode.el (cperl-indent-exp):
	* lisp/progmodes/idlwave.el (idlwave-is-pointer-dereference):
	* lisp/progmodes/scheme.el (dsssl-font-lock-keywords):
	* lisp/textmodes/texinfmt.el (texinfo-accent-commands):
	* test/src/regex-emacs-tests.el (regex-tests-re-even-escapes):
	Fix some regular-expression typos.

2019-03-10  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-03-10 alloca-opt: Fix conflict mingw's new <alloca.h> file
	2019-03-03 getloadavg: Write NULL for the null pointer
	Reported by Michal Privoznik <mprivozn@redhat.com>.
	* lib/getloadavg.c (getloadavg): Write NULL instead of 0.
	* build-aux/config.guess, build-aux/move-if-change:
	* doc/misc/texinfo.tex, lib/alloca.in.h, lib/getloadavg.c:
	* m4/alloca.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2019-03-10  Dmitry Gutov  <dgutov@yandex.ru>

	(ruby-add-log-current-method): Recognize methods ending with ? or !

	* lisp/progmodes/ruby-mode.el (ruby-add-log-current-method):
	Recognize method names ending with ? or !.

2019-03-10  Dmitry Gutov  <dgutov@yandex.ru>

	project--find-regexp-in-files: Use 'grep -E'

	* lisp/progmodes/project.el (project--find-regexp-in-files): Use
	'grep -E' because we convert the regexp to extended already.

2019-03-10  Michael Albinus  <michael.albinus@gmx.de>

	Changes in Tramp adb process handling

	* lisp/net/tramp-adb.el (tramp-methods) <adb>: Add `tramp-remote-shell'
	and `tramp-remote-shell-args'.
	(tramp-adb-file-name-handler-alist): Use `tramp-handle-shell-command'
	rather than `tramp-adb-handle-shell-command'.
	(tramp-adb-handle-shell-command): Remove.
	(tramp-adb-handle-make-process): Use a proper prompt.
	(tramp-adb-wait-for-output): Simplify.

2019-03-10  Ken Brown  <kbrown@cornell.edu>

	Use a runtime test for timerfd on Cygwin (Bug#34618)

	* src/atimer.c [HAVE_TIMERFD] (have_buggy_timerfd): New
	function.
	(init_atimer) Use it.

2019-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/speedbar.el: Minor tweaks

	(speedbar-directory-buttons-follow): Use file-name-as-directory.
	(speedbar-ignored-directory-expressions)
	(speedbar-supported-extension-expressions): Use `sym` in the setter.
	(speedbar-frame-mode): Use with-current-buffer.
	(speedbar-item-info-tag-helper): Use 'cond'.
	(speedbar-highlight-one-tag-line): Don't use position beyond EOB.

2019-03-09  Tassilo Horn  <tsdh@gnu.org>

	Make doc-view work with text-mode as default major-mode (bug#34451)

	* lisp/doc-view.el (doc-view--text-view-mode): New alias for view-mode.
	(doc-view-open-text): Use it.
	(doc-view-toggle-display): Use it.

2019-03-09  Christopher Wellons  <wellons@nullprogram.com>  (tiny change)

	* lisp/emulation/viper.el: Use user-error for "Viper bell"


	* lisp/emulation/viper-init.el (viper-ViperBell): New constant.
	* lisp/emulation/viper-cmd.el (viper-prefix-arg-com)
	(viper-forward-char, viper-backward-char, viper-goto-col)
	(viper-find-char, viper-paren-match, viper-put-back, viper-Put-back)
	(viper-delete-char, viper-mark-point, viper-goto-mark-subr):
	* lisp/emulation/viper-ex.el (ex-delete): Use it and `user-error`.

2019-03-09  Tassilo Horn  <tsdh@gnu.org>

	Name buffer according to attachment filename (bug#34478).

	* lisp/gnus/mm-decode.el (mm-display-external): Name buffer showing
	  the attachment according to the attachment's filename, i.e. "*mm*
	  <filename>" instead of " *mm*12345".

2019-03-09  Ken Brown  <kbrown@cornell.edu>

	Re-enable the timerfd interface on Cygwin

	* configure.ac (emacs_cv_have_timerfd): No longer set this to "no"
	on Cygwin.  (Bug#34618)

2019-03-09  Ivan Andrus  <darthandrus@gmail.com>

	Mention `binary-as-unsigned' in `format' docstring (Bug#34792)

	* src/editfns.c (format): Update docstring to mention binary-as-unsigned
	(Bug#34792)

2019-03-09  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	0589de5 (origin/emacs-26) Fix markup of fake keys in the ELisp manual
	82d4b98 Avoid errors in Auto Revert mode
	a3b1935 Mention empty strings in file name expansion, emacs lisp refe...
	a38da0d cc-mode.texi: Work around makeinfo alignment bug.  Fix proble...
	464ee80 Warn against recursive invocations of 'buffer-list-update-hoo...
	60b5c10 Provide more details in doc-string of 'delete-windows-on' (Bu...
	f0be0f1 Improve documentation of 'delete-windows-on'
	f1bddc7 * lisp/frame.el (make-frame-command): Doc fix.  (Bug#34715)
	2848623 Avoid undefined behavior in gdb-mi.el
	dbf1837 * lisp/window.el (fit-frame-to-buffer): Make doc-string more ...
	099ef44 Minor spelling and grammar fixes (bug#34756)
	52fd400 Minor improvement of documentation of '(when CONDITION . SPEC)'
	f872b65 Improve documentation of 'auto-coding-functions'
	04cad5e Fix visiting XML files with non-Unix EOL format
	a89fabe Update example major mode code in Elisp manual

	# Conflicts:
	#	lisp/autorevert.el
	#	lisp/window.el

2019-03-09  Eli Zaretskii  <eliz@gnu.org>

	Consult 'face-remapping-alist' for 'internal-border' face

	* src/xterm.c (x_clear_under_internal_border)
	(x_after_update_window_line):
	* src/w32fns.c (x_clear_under_internal_border):
	* src/w32term.c (x_after_update_window_line): Consult
	'face-remapping-alist' when using the 'internal-border' face.

2019-03-09  Alan Mackenzie  <acm@muc.de>

	CC Mode: Correct some incorrect regular expressions:

	* lisp/progmodes/cc-awk.el (c-awk-regexp-char-list-re): "^" -> "\\^".  R*x?R*
	-> \(R*x\)?R*.

	* lisp/progmodes/cc-mode.el (c-after-change-re-mark-unbalanced-strings): "|"
	-> "\\|".

2019-03-09  Michael Albinus  <michael.albinus@gmx.de>

	Do not hardcode "/bin/sh" in compile.  Bug#24338, Bug#29723

	* doc/emacs/custom.texi (Connection Variables): New node.

	* doc/emacs/emacs.texi (Top): Add entry for Connection Variables.

	* doc/emacs/misc.texi (Single Shell): Mention default value for
	remote buffers.

	* doc/lispref/variables.texi (Connection Local Variables):
	Describe `with-connection-local-variables' instead of
	`with-connection-local-profiles'.

	* doc/misc/tramp.texi (Remote processes): Refer to Emacs manual.
	Mention default connection-local settings for `shell-file-name'
	and `shell-command-switch'.

	* etc/NEWS: Mention connection-local variables changes.

	* lisp/files-x.el (hack-connection-local-variables):
	Push connection-local variables to `file-local-variables-alist'.
	(connection-local-criteria-for-default-directory): New defsubst.
	(with-connection-local-variables): Rename from
	`with-connection-local-profiles'.  Adapt implementation.

	* lisp/files.el (hack-local-variables):
	Call `hack-connection-local-variables'.

	* lisp/shell.el (shell): Use `with-connection-local-variables'.

	* lisp/subr.el (start-file-process-shell-command):
	* lisp/progmodes/compile.el (compilation-start):
	Use `with-connection-local-variables'.  Do not set "/bin/sh" for
	remote buffers, trust settings of `shell-file-name'.  (Bug#24338),
	(Bug#29723)

	* lisp/net/ange-ftp.el (ange-ftp-compress, ange-ftp-uncompress):
	Use `shell-command-switch'.

	* lisp/net/tramp-adb.el (tramp-adb-connection-local-default-profile):
	New defvar.  Add it to connection-local profiles after loading "shell".

	* lisp/net/tramp-integration.el (tramp-compat): Require tramp-compat.
	(tramp-compat-exec-path): Do not declare anymore.
	(tramp-connection-local-safe-shell-file-names): New defvar.
	(tramp-connection-local-default-profile): New defconst.  Activate
	it after loading "shell".
	(shell-file-name, shell-command-switch): Add safe-local-variable
	property.

	* lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
	Add tramp-autoload cookie.

	* test/lisp/files-x-tests.el (remote-shell-file-name):
	Add safe-local-variable property to remote-* variables.
	(tramp-connection-local-default-profile): Declare.
	(files-x-test-with-connection-local-variables):
	Rename from `files-x-test-with-connection-local-profiles'.  Adapt
	implementation.

	* test/lisp/net/tramp-tests.el
	(tramp-test34-connection-local-variables): New test.
	(tramp-test34-explicit-shell-file-name): Run it also for tramp-adb.
	Bind connection-local-{profile,criteria}-alist.  Use tramp-adb
	specific `shell-file-name'.  Add safe-local-variable property to
	`explicit-shell-file-name' and `explicit-sh-args'.

2019-03-09  Charles A. Roelli  <charles@aurox.ch>

	Make help for file supersession more readable

	* lisp/userlock.el (ask-user-about-supersession-help): Use
	'substitute-command-keys' to show the command key for
	"\\[revert-buffer]" properly.

2019-03-09  Eli Zaretskii  <eliz@gnu.org>

	Import Unicode 12.0 data files

	* admin/unidata/copyright.html:
	* admin/unidata/UnicodeData.txt:
	* admin/unidata/SpecialCasing.txt:
	* admin/unidata/NormalizationTest.txt:
	* admin/unidata/Blocks.txt:
	* admin/unidata/BidiMirroring.txt:
	* admin/unidata/BidiBrackets.txt: New versions from Unicode 12.0.
	* admin/unidata/unidata-gen.el (unidata-gen-file):
	* admin/unidata/blocks.awk (name2alias): Adapt to changes in
	new data files.
	* admin/notes/unicode: Update and improve instructions for
	importing a new Unicode Standard.

	* lisp/international/characters.el (char-width-table): Update
	lists of characters according to Unicode 12.0.
	* lisp/international/fontset.el (script-representative-chars):
	Add characters from new scripts to 'script-representative-chars'.
	(otf-script-alist): Update according to data on the MS site.
	* lisp/international/mule-cmds.el (ucs-names): Update unused
	ranges of codepoints according to Unicode 12.0.

	* test/lisp/international/ucs-normalize-tests.el
	(ucs-normalize-tests--failing-lines-part1)
	(ucs-normalize-tests--failing-lines-part2): Update for the new
	NormalizationTest.txt file.
	* test/manual/BidiCharacterTest.txt: Update with the new
	version from Unicode 12.0.

2019-03-09  Martin Rudalics  <rudalics@gmx.at>

	Further redesign of window change functions

	* doc/lispref/windows.texi (Window Hooks): Revise description
	of window change functions.  Add documentation for
	'window-state-change-hook' and window state change flag.
	* etc/NEWS: Update entry for window change functions.
	* src/frame.c (Fframe_window_state_change)
	(Fset_frame_window_state_change): New functions.
	* src/frame.h (struct frame): New boolean window_state_change.
	(FRAME_WINDOW_STATE_CHANGE): New macro.
	* src/window.c (window_change_record_frames): New static
	boolean.
	(window_change_record_frame): Remove function - code moved to
	window_change_record.
	(window_change_record): Record frame changes here taking
	window_change_record_frames into account.
	(run_window_change_functions_1): Set window_change_record_frames
	whenever we run one of our hooks.
	(run_window_change_functions): Run hooks also when
	FRAME_WINDOW_STATE_CHANGE has been set.  Run
	Vwindow_state_change_hook.  Leave decision whether to record
	changes for all frames to window_change_record.
	(Vwindow_state_change_functions): Update doc-string.
	(Vwindow_state_change_hook): New normal hook.

2019-03-09  Alan Third  <alan@idiocy.org>

	Don't redraw the glyph on top of bar cursors

	* src/nsterm.m (ns_draw_window_cursor): Limit when we redraw the
	glyph.

2019-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/autoload.el (make-autoload): Don't add useless doc

	More specifically, don't add a useless '(fn)' to the docstring for
	functions which take no arguments.
	This should fix the 'No docstring slot for pcase--make-docstring'
	warning during bootstrap.

2019-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cursor-sensor.el: Fix sensor behavior with overlays

	(cursor-sensor--detect): Also consult overlay properties when checking
	to see if we just moved inside the same "element" as opposed to
	changing from one to another of the same type.

2019-03-08  Tassilo Horn  <tsdh@gnu.org>

	New command ido-switch-to-completions.

	* lisp/ido.el (ido-switch-to-completions): New command.

2019-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	More regexp corrections and tweaks

	From suggestions by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00131.html
	* lisp/arc-mode.el (archive-rar-summarize):
	* lisp/gnus/gnus-art.el (gnus-button-valid-localpart-regexp):
	* lisp/language/ethio-util.el (ethio-fidel-to-tex-buffer):
	* lisp/nxml/rng-uri.el (rng-file-name-uri):
	* lisp/org/org-mobile.el (org-mobile-apply):
	* lisp/progmodes/cperl-mode.el (cperl-init-faces):
	* lisp/progmodes/fortran.el (fortran-fill):
	* lisp/progmodes/mantemp.el (mantemp-remove-comments)
	(mantemp-remove-memfuncs, mantemp-insert-cxx-syntax):
	* lisp/speedbar.el (speedbar-directory-buttons-follow):
	* lisp/vc/add-log.el (change-log-font-lock-keywords):
	Fix more regular expressions that seem to be typos or infelicities.

2019-03-08  Mark Diekhans  <markd@ucsc.edu>  (tiny change)

	Improve ispell.el diagnostics if Hunspell dictionaries aren't found

	* lisp/textmodes/ispell.el (ispell-set-spellchecker-params):
	Set ispell-last-program-name only at the end, so as to produce
	useful diagnostics when Hunspell dictionaries are not found.
	(Bug#34640)

2019-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/net/rcirc.el: Undo previous change; it was a typo.

2019-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	Be safer about "%" in message formats

	* lisp/calc/calc-store.el (calc-copy-special-constant):
	* lisp/net/rcirc.el (rcirc-handler-PART, rcirc-handler-KICK):
	* lisp/org/org-agenda.el (org-agenda):
	* lisp/org/org-clock.el (org-clock-out, org-clock-display):
	* lisp/org/org.el (org-refile):
	* lisp/progmodes/ada-xref.el (ada-goto-declaration):
	* lisp/progmodes/idlwave.el (idlwave-scan-library-catalogs):
	Don’t trust arbitrary strings to not contain "%" or "`" in
	(message (concat STRING1 STRING2 ...)).

2019-03-06  Mattias Engdegård  <mattiase@acm.org>

	Rename regexp-opt argument noreorder to keep-order

	* doc/lispref/searching.texi (Regular Expression Functions):
	* lisp/emacs-lisp/regexp-opt.el (regexp-opt):
	Rename newly added `noreorder' argument to `keep-order', to avoid a
	negative in the name.  Suggested by Phil Sainty (Bug#34641).

2019-03-06  Eli Zaretskii  <eliz@gnu.org>

	Fix OBJECT binding in conditional display specs

	* src/xdisp.c (compute_display_string_pos): Pass OBJECT1, not
	OBJECT to handle_display_spec, as the latter doesn't expect a
	window object.  (Bug#34771)

2019-03-06  Paul Eggert  <eggert@cs.ucla.edu>

	Fix typo in fix for Bug#33498

	* src/frame.c (delete_frame): Fix typo in previous patch,
	which caused GCC to complain about the use of an uninitialized
	variable.

2019-03-06  Michael Albinus  <michael.albinus@gmx.de>

	Handle empty strings in Tramp's expand-file-name implementations

	* lisp/net/tramp.el (tramp-handle-expand-file-name):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
	* lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
	* lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name):
	Handle empty NAME.

	* test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
	(tramp-test01-file-name-syntax-simplified)
	(tramp-test01-file-name-syntax-separate): Use neutral IPv4 address.
	(tramp-test05-expand-file-name): Check also "." and "".

2019-03-06  Martin Rudalics  <rudalics@gmx.at>

	* lisp/window.el (fit-frame-to-buffer): Make doc-string more accurate.

2019-03-06  Martin Rudalics  <rudalics@gmx.at>

	In unwind_with_echo_area_buffer use set_marker_restricted_both

	* src/xdisp.c (unwind_with_echo_area_buffer): Use
	set_marker_restricted_both instead of set_marker_both to avoid
	spurious assertion failures.

2019-03-06  Martin Rudalics  <rudalics@gmx.at>

	Fix handling of 'window-combination-resize' with fixed-size windows

	* lisp/window.el (window-combinations): New optional argument
	IGNORE-FIXED.
	(window--combination-resizable): New function.
	(split-window): Fix handling of 'window-combination-resize'
	in the presence of fixed-size windows.

2019-03-06  Martin Rudalics  <rudalics@gmx.at>

	Fix initialization of Vwindow_state_change_functions

	* src/window.c (Vwindow_state_change_functions): Initialize the
	right variable.

2019-03-05  Glenn Morris  <rgm@gnu.org>

	* doc/misc/gnus-coding.texi: Remove no longer relevant sections.

	* doc/misc/gnus.texi (New Features): Refer to NEWS for newer items.

2019-03-05  Glenn Morris  <rgm@gnu.org>

	Remove doc/misc/gnus-news.texi

	* doc/misc/gnus.texi (No Gnus): Merge in gnus-news.texi.
	* doc/misc/gnus-news.texi: Remove.

2019-03-05  Glenn Morris  <rgm@gnu.org>

	Remove etc/GNUS-NEWS (bug#34662)

	It is not relevant since Gnus stopped being distributed separately.
	* etc/GNUS-NEWS: Remove this generated file.
	* etc/NEWS.26: Relocate an entry mistakenly added to GNUS-NEWS.
	* doc/misc/gnus-coding.texi (Gnus Maintenance Guide):
	No longer mention GNUS-NEWS.
	* doc/misc/gnus-news.el: Remove.
	* doc/misc/gnus-news.texi: Update a comment.
	* lisp/Makefile.in (update-gnus-news): Remove this phony target.

2019-03-05  Glenn Morris  <rgm@gnu.org>

	Remove gnus-overrides.texi

	* doc/misc/gnus-overrides.texi: Remove.
	* doc/misc/auth.texi, doc/misc/emacs-mime.texi:
	* doc/misc/gnus.texi, doc/misc/message.texi, doc/misc/pgg.texi:
	* doc/misc/sasl.texi, doc/misc/sieve.texi:
	Do not include gnus-overrides.texi.

2019-03-05  Wilson Snyder  <wsnyder@wsnyder.org>

	Fix regexp issues introduced in last trunk commit.

	* lisp/progmodes/verilog-mode.el (verilog-coverpoint-re): Fix regexp issues introduced
	in last trunk commit.

2019-03-05  Eli Zaretskii  <eliz@gnu.org>

	Remove unreliable assertion in buf_bytepos_to_charpos

	* src/marker.c (buf_bytepos_to_charpos): Remove the assertion
	regarding bytepos always at the head byte of a multibyte
	sequence.  For the reasons, see
	https://lists.gnu.org/archive/html/emacs-devel/2019-03/msg00100.html
	https://lists.gnu.org/archive/html/emacs-devel/2019-03/msg00102.html

2019-03-05  Wilson Snyder  <wsnyder@wsnyder.org>

	Fix regular-expression glitches and typos. Update verilog-mode from upstream.

	* lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix AUTO vectors with
	double brackets, msg2839.
	(verilog-read-auto-template-middle): Fix AUTO_TEMPLATE with regexp
	capture group reference, but1379.  Reported by David Rogoff.

2019-03-05  Martin Rudalics  <rudalics@gmx.at>

	Fix interactive spec of some functions in window.el (Bug#34749)

	* lisp/window.el (delete-windows-on, quit-windows-on)
	(display-buffer-other-frame): Interactively, permit existing
	buffers only (Bug#34749).

2019-03-05  Martin Rudalics  <rudalics@gmx.at>

	Fix handling of minibuffer-only child frames (Bug#33498)

	* doc/lispref/frames.texi (Buffer Parameters): Describe how to
	make a minibuffer-only child frame.
	(Child Frames): Describe how minbuffer child frames are
	deleted.
	* src/frame.c (delete_frame): Handle deletion of minibuffer
	child frames (Bug#33498).  In the course, fix reassigning of
	'default-minibuffer-frame' with minibuffer-only frames.
	* lisp/frame.el (frame-notice-user-settings): Handle creation of
	initial minibuffer-only child frame.
	(make-frame): Handle creation of frame with a minibuffer-only
	child frame.

2019-03-05  Michael Albinus  <michael.albinus@gmx.de>

	Test an IPv4 mapped IPv6 address in Tramp

	* test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
	(tramp-test01-file-name-syntax-simplified)
	(tramp-test01-file-name-syntax-separate): Check also an IPv4
	mapped IPv6 address.

2019-03-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix regular-expression glitches and typos

	Problems reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00085.html
	* admin/admin.el (set-version):
	* lisp/allout.el (allout-latexify-one-item):
	* lisp/arc-mode.el (archive-arc-rename-entry)
	(archive-rar-summarize):
	* lisp/calc/calc-graph.el (calc-graph-set-styles)
	(calc-graph-hide):
	* lisp/calc/calc-help.el (calc-describe-key):
	* lisp/calc/calc-lang.el (math-compose-tex-func, eqn):
	* lisp/calc/calc.el (calcDigit-key):
	* lisp/cedet/ede/makefile-edit.el (makefile-macro-file-list):
	* lisp/cedet/ede/speedbar.el (ede-tag-expand):
	* lisp/cedet/semantic/sb.el (semantic-sb-show-extra)
	(semantic-sb-expand-group):
	* lisp/comint.el (comint-substitute-in-file-name):
	* lisp/dired.el (dired-actual-switches):
	* lisp/emacs-lisp/chart.el (chart-rmail-from):
	* lisp/emacs-lisp/eieio-opt.el (eieio-sb-expand):
	* lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand):
	* lisp/emacs-lisp/rx.el (rx-not, rx-atomic-p):
	* lisp/emulation/viper-ex.el (viper-get-ex-token)
	(viper-get-ex-pat, ex-set-read-variable):
	* lisp/epg.el (epg--status-SIG_CREATED):
	* lisp/erc/erc-speedbar.el (erc-speedbar-expand-user):
	(erc-speedbar-expand-channel, erc-speedbar-expand-server)
	* lisp/erc/erc.el (erc-is-message-ctcp-and-not-action-p)
	(erc-banlist-update):
	* lisp/eshell/em-dirs.el (eshell-parse-drive-letter, eshell/pwd):
	* lisp/find-dired.el (find-dired):
	* lisp/frame.el (frame-set-background-mode):
	* lisp/generic-x.el (apache-log-generic-mode):
	* lisp/gnus/gnus-art.el (gnus-button-valid-localpart-regexp):
	* lisp/gnus/gnus.el (gnus-short-group-name):
	* lisp/gnus/message.el (message-mailer-swallows-blank-line):
	* lisp/ibuffer.el (ibuffer-fontification-alist):
	* lisp/ido.el (ido-set-matches-1):
	* lisp/info-xref.el (info-xref-lock-file-p):
	* lisp/info.el (Info-dir-remove-duplicates)
	(Info-unescape-quotes, Info-split-parameter-string)
	(Info-speedbar-expand-node):
	* lisp/international/mule.el (sgml-html-meta-auto-coding-function):
	* lisp/isearch.el (isearch-pre-command-hook):
	* lisp/language/ethio-util.el (ethio-fidel-to-tex-buffer):
	* lisp/mail/rmail.el (rmail-collect-deleted):
	* lisp/mh-e/mh-alias.el (mh-alias-suggest-alias):
	* lisp/mh-e/mh-comp.el (mh-forward):
	* lisp/mh-e/mh-search.el (mh-index-next-folder)
	(mh-index-create-imenu-index):
	* lisp/mh-e/mh-xface.el (mh-picon-get-image):
	* lisp/minibuffer.el (completion--embedded-envvar-re):
	* lisp/net/ange-ftp.el (ange-ftp-ls-parser):
	* lisp/net/goto-addr.el (goto-address-mail-regexp)
	(goto-address-find-address-at-point):
	* lisp/net/pop3.el (pop3-read-response, pop3-user)
	(pop3-pass, pop3-apop):
	* lisp/net/tramp.el (tramp-ipv6-regexp)
	(tramp-replace-environment-variables):
	* lisp/nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
	* lisp/nxml/rng-uri.el (rng-uri-escape-multibyte):
	* lisp/nxml/rng-xsd.el (rng-xsd-convert-any-uri):
	* lisp/obsolete/pgg.el (pgg-fetch-key):
	* lisp/obsolete/vip.el (vip-get-ex-token):
	* lisp/org/ob-core.el (org-babel-string-read):
	* lisp/org/org-agenda.el:
	(org-agenda-add-entry-to-org-agenda-diary-file):
	* lisp/org/org-element.el (org-element-keyword-parser):
	* lisp/org/org-list.el (org-list-indent-item-generic):
	* lisp/org/org-mhe.el (org-mhe-get-message-folder-from-index):
	* lisp/org/org-mobile.el (org-mobile-apply):
	* lisp/org/org-mouse.el (org-mouse-context-menu):
	* lisp/org/org-plot.el (org-plot/gnuplot):
	* lisp/org/org-protocol.el (org-protocol-flatten-greedy):
	* lisp/org/org-table.el (org-table-copy-down)
	(org-table-formula-make-cmp-string)
	(org-table-get-stored-formulas, org-table-recalculate)
	(org-table-edit-formulas):
	* lisp/org/org.el (org-translate-link-from-planner)
	(org-fill-line-break-nobreak-p):
	* lisp/org/ox-ascii.el (org-ascii-item):
	* lisp/org/ox-latex.el (org-latex-clean-invalid-line-breaks):
	* lisp/org/ox.el (org-export-expand-include-keyword):
	* lisp/progmodes/ada-xref.el (ada-treat-cmd-string):
	* lisp/progmodes/cfengine.el (cfengine2-font-lock-keywords):
	* lisp/progmodes/cperl-mode.el (cperl-to-comment-or-eol)
	(cperl-find-pods-heres, cperl-fix-line-spacing)
	(cperl-have-help-regexp, cperl-word-at-point-hard)
	(cperl-make-regexp-x):
	* lisp/progmodes/dcl-mode.el (dcl-option-value-offset):
	* lisp/progmodes/etags.el (tag-implicit-name-match-p):
	* lisp/progmodes/fortran.el (fortran-fill):
	* lisp/progmodes/gdb-mi.el (gdb-speedbar-expand-node)
	(gdb-locals-handler-custom):
	* lisp/progmodes/grep.el (grep-mode-font-lock-keywords):
	* lisp/progmodes/gud.el (gud-jdb-find-source-using-classpath):
	* lisp/progmodes/js.el (js--continued-expression-p):
	* lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
	* lisp/progmodes/meta-mode.el (meta-indent-level-count):
	* lisp/progmodes/mixal-mode.el (mixal-font-lock-keywords):
	* lisp/progmodes/opascal.el (opascal-find-unit-in-directory):
	* lisp/progmodes/pascal.el (pascal-progbeg-re):
	* lisp/progmodes/ruby-mode.el (ruby-expression-expansion-re)
	(ruby-expr-beg, ruby-parse-partial)
	(ruby-toggle-string-quotes, ruby-font-lock-keywords):
	* lisp/progmodes/sql.el (sql--make-help-docstring):
	* lisp/progmodes/verilog-mode.el (verilog-coverpoint-re)
	(verilog-skip-forward-comment-p)
	(verilog-read-sub-decls-gate)
	(verilog-read-auto-template-middle):
	* lisp/progmodes/vhdl-mode.el (vhdl-resolve-env-variable)
	(vhdl-speedbar-expand-project, vhdl-speedbar-expand-entity)
	(vhdl-speedbar-expand-architecture)
	(vhdl-speedbar-expand-config, vhdl-speedbar-expand-package)
	(vhdl-speedbar-dired):
	* lisp/speedbar.el (speedbar-dired, speedbar-tag-file)
	(speedbar-tag-expand):
	* lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
	* lisp/textmodes/flyspell.el (flyspell-debug-signal-word-checked):
	* lisp/textmodes/ispell.el (ispell-process-line):
	* lisp/textmodes/reftex-cite.el (reftex-end-of-bib-entry):
	* lisp/textmodes/reftex-ref.el (reftex-replace-prefix-escapes):
	* lisp/url/url-parse.el (url-generic-parse-url):
	* lisp/url/url-util.el (url-truncate-url-for-viewing):
	* lisp/vc/diff-mode.el (diff-unified->context):
	* lisp/vc/vc-bzr.el (vc-bzr-error-regexp-alist):
	* lisp/vc/vc-cvs.el (vc-cvs-parse-status):
	* lisp/woman.el (woman0-el, woman-if-ignore)
	(woman-change-fonts):
	* lisp/xdg.el (xdg--substitute-home-env):
	Fix regular-expression infelicities and typos.

	Fix regular expression typos
	Fix typos reported by Mattias Engdegård in:
	that occurred in preloaded modules.
	* lisp/frame.el (frame-set-background-mode):
	* lisp/international/mule.el (sgml-html-meta-auto-coding-function):
	* lisp/isearch.el (isearch-pre-command-hook):
	* lisp/minibuffer.el (completion--embedded-envvar-re):

2019-03-04  Charles A. Roelli  <charles@aurox.ch>

	Fix diff-mode tests after renaming diff-font-lock-refine

	This fixes tests broken in my last change, "Merge
	diff-font-lock-refine and diff-auto-refine-mode into diff-refine" from
	2019-02-24.

	* test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock):
	Bind diff-refine to symbol 'font-lock' instead of binding
	diff-font-lock-refine to t.
	(diff-mode-test-font-lock-syntax-one-line): Bind diff-refine
	to nil instead of binding diff-font-lock-refine to nil.

2019-03-04  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in buf_bytepos_to_charpos

	* src/marker.c (buf_bytepos_to_charpos): Disable the assertion
	regarding bytepos always at the head byte of a multibyte
	sequence.

2019-03-04  Eli Zaretskii  <eliz@gnu.org>

	Fix invocation with -rv on the command line

	* lisp/frame.el (frame-set-background-mode): Avoid errors from
	'face-spec-match-p' when the face was not yet realized for
	FRAME.  (Bug#34725)

2019-03-04  Nicolas Petton  <nicolas@petton.fr>

	* lisp/emacs-lisp/map.el: Bump version to 2.0.

2019-03-04  Martin Rudalics  <rudalics@gmx.at>

	Prevent introducing invalid scroll bar width/height values (Bug#34569)

	* src/frame.c (store_frame_param): Don't store invalid values
	for scroll_bar_width/height.
	(x_report_frame_params): Don't report invalid values for
	scroll_bar_width/height.
	(x_set_scroll_bar_width, x_set_scroll_bar_height): Don't set
	invalid values for scroll_bar_width/height.

2019-03-04  Martin Rudalics  <rudalics@gmx.at>

	Fix minibuffer resizing with temporarily selected frames (Bug#34317)

	* src/keyboard.c (command_loop_1): Resize echo area exactly
	only if the echo area window is the minibuffer window of the
	selected frame (Bug#34317).
	* src/xdisp.c (x_consider_frame_title): Inhibit redisplay also
	when restoring the selected window/frame to avoid that
	resize_mini_window sizes back the minibuffer window of a
	temporarily selected frame (Bug#34317).

2019-03-04  Paul Eggert  <eggert@cs.ucla.edu>

	* src/alloc.c (gcstat): Now static.

	* src/gfilenotify.c: Fix indenting.

	* src/font.h: Fix commentary.

2019-03-04  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify list creation in C code

	The main new thing here is that C code can now say
	‘list (a, b, c, d, e, f)’ instead of
	‘listn (CONSTYPE_HEAP, 6, a, b, c, d, e, f)’,
	thus relieving callers of the responsibility of counting
	arguments (plus, the code feels more like Lisp).  The old
	list1 ... list5 functions remain, as they’re probably a bit
	faster for small lists.
	* src/alloc.c (cons_listn, pure_listn): New functions.
	(listn): Omit enum argument.
	All callers changed to use either new ‘list’ or ‘pure_list’ macros.
	* src/charset.c (Fdefine_charset_internal):
	* src/coding.c (detect_coding_system)
	(Fset_terminal_coding_system_internal):
	* src/frame.c (frame_size_history_add, adjust_frame_size):
	* src/gtkutil.c (xg_frame_set_char_size):
	* src/keyboard.c (command_loop_1):
	* src/nsfns.m (frame_geometry):
	* src/widget.c (set_frame_size):
	* src/xfaces.c (Fcolor_distance):
	* src/xfns.c (frame_geometry):
	* src/xterm.c (x_set_window_size_1):
	* src/xwidget.c (Fxwidget_size_request):
	Prefer list1i, list2i, etc. to open-coding them.
	* src/charset.c (Fset_charset_priority):
	* src/nsterm.m (append2):
	* src/window.c (window_list):
	* src/xfaces.c (Fx_list_fonts):
	Use nconc2 instead of open-coding it.
	* src/eval.c (eval_sub, backtrace_frame_apply):
	* src/kqueue.c (kqueue_generate_event):
	* src/nsterm.m (performDragOperation:):
	* src/pdumper.c (Fpdumper_stats):
	* src/w32.c (init_environment):
	Prefer list1, list2, etc. to open-coding them.
	* src/font.c (font_list_entities):
	Parenthesize to avoid expanding new ‘list’ macro.
	* src/gtkutil.c (GETSETUP): Rename from MAKE_FLOAT_PAGE_SETUP
	to get lines to fit.  Move outside the ‘list’ call, since it’s
	now a macro.
	* src/keymap.c (Fmake_keymap): Simplify.
	* src/lisp.h (list, pure_list): New macros.
	(list1i): New function.

2019-03-03  Charles A. Roelli  <charles@aurox.ch>

	Merge diff-font-lock-refine and diff-auto-refine-mode into diff-refine

	This change was discussed in Bug#32991.

	* admin/gitmerge.el (gitmerge-resolve): Bind 'diff-refine'
	instead of 'diff-auto-refine-mode' to nil.
	* doc/emacs/files.texi (Diff Mode): Explain 'diff-refine'
	instead of 'diff-auto-refine-mode' in the documentation of
	'diff-hunk-next' and 'diff-hunk-prev'.  Mention in the
	documentation of 'diff-refine-hunk' that refining is already
	done by default.
	* etc/NEWS (Diff mode): Explain renamed 'diff-refine' variable
	and mention deprecation and disabling of
	'diff-auto-refine-mode'.
	* lisp/vc/diff-mode.el (diff-font-lock-refine): Rename to
	'diff-refine' and allow choices nil, 'font-lock' and 'navigation'.
	(diff-auto-refine-mode): Disable it by default, make it
	obsolete and make it set 'diff-refine' appropriately to keep
	backward compatibility.
	(diff-hunk-next, diff-hunk-prev): Adapt to rename of
	diff-auto-refine-mode and ensure that refining only happens
	when calling these commands interactively.
	(diff--font-lock-refined): Adapt to rename of
	diff-font-lock-refine.
	* lisp/vc/smerge-mode.el (smerge-next, smerge-prev): Check
	that 'diff-refine' is set instead of checking
	'diff-auto-refine-mode' when deciding whether to refine a
	conflict.

2019-03-03  Alan Mackenzie  <acm@muc.de>

	Correct some slightly incorrect regular expressions:

	* lisp/progmodes/cc-awk.el (c-awk-harmless-char-re)
	(c-awk-harmless-line-char-re, c-awk-_-harmless-nonws-char-re): [...\\\\...]
	-> [...\\...].

	* lisp/progmodes/cc-engine.el (c-literal-limits): "*/" -> "\\*/".

	* lisp/progmodes/cc-mode.el (c-after-change-re-mark-unbalanced-strings):
	"\\\r" -> "\r".

2019-03-03  Eli Zaretskii  <eliz@gnu.org>

	Fix starting temacs interactively

	* src/dispnew.c (init_display_interactive): Don't call
	init_faces_initial if we aren't initialized, since
	tty-set-up-initial-frame-faces is not available then.  This
	restores the ability to start "temacs -nw" and also avoids
	bad crashes in "emacs -nw" if the pdumper file is not found.
	(Bug#34707)

2019-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix typo in previous change

	* src/alloc.c (memory_full_cons_threshold):
	Move to after definition of struct cons_block.
	Problem reported by Basil L. Contovounesios in:
	https://lists.gnu.org/r/emacs-devel/2019-03/msg00067.html

2019-03-02  Glenn Morris  <rgm@gnu.org>

	* test/lisp/progmodes/python-tests.el
	(python-syntax-after-python-backspace): Expect success.

2019-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	memory_full_cons_threshold is a constant

	* src/alloc.c (memory_full_cons_threshold): Now const.
	(memory_full): Omit no-longer-needed initialization.

2019-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid staticvec duplicates

	* src/alloc.c (staticpro) [ENABLE_CHECKING]: Check for duplicates.
	* src/keyboard.c (syms_of_keyboard): Define
	while-no-input-ignore-events and inhibit--record-char here ...
	(syms_of_keyboard_for_pdumper): ... instead of here.
	This avoids duplicates in staticvec.

2019-03-02  Alan Mackenzie  <acm@muc.de>

	Check by eassert that a bytepos argument isn't in the middle of a character

	* src/marker.c (buf_bytepos_to_charpos): Add an eassert to check that the
	parameter bytepos is at the beginning of a character or EOB.

2019-03-02  Eli Zaretskii  <eliz@gnu.org>

	Fix DND on MS-Windows with files from UNC directories

	* lisp/dnd.el (dnd-get-local-file-uri): Always return nil on
	MS-Windows, as this method cannot possibly work there: URIs
	that begin with the local system's name are UNCs, where the
	//SERVER part cannot be removed.  (Bug#34675)

2019-03-02  Phillip Lord  <phillip.lord@russet.org.uk>

	Revert "Add hook for all events"

	This reverts commit 7b31de4d107302ed91ce7519cd778b340a9880ee.

2019-03-02  Phillip Lord  <phillip.lord@russet.org.uk>

	Revert "; Fix typos in NEWS"

	This reverts commit d52bc534d799c255f24ff2a56e8bed830d8f68ca.

2019-03-02  Phillip Lord  <phillip.lord@russet.org.uk>

	Revert "; Document input-event-functions"

	This reverts commit 27fffb2701c38090916e077d28a4a6b9e2bc09d2.

2019-03-02  Mattias Engdegård  <mattiase@acm.org>

	Correct regexp-opt return value for empty string list

	When regexp-opt is called with an empty list of strings, return a regexp
	that doesn't match anything instead of the empty string (Bug#20307).

	* doc/lispref/searching.texi (Regular Expression Functions):
	* etc/NEWS:
	Document the new behavior.
	* lisp/emacs-lisp/regexp-opt.el (regexp-opt):
	Return a never-match regexp for empty inputs.

2019-03-02  Mattias Engdegård  <mattiase@acm.org>

	rx: fix `or' ordering by adding argument to regexp-opt

	The rx `or' form may reorder its arguments in an unpredictable way,
	contrary to user expectation, since it sometimes uses `regexp-opt'.
	Add a NOREORDER option to `regexp-opt' for preventing it from
	producing a reordered regexp (Bug#34641).

	* doc/lispref/searching.texi (Regular Expression Functions):
	* etc/NEWS (Lisp Changes in Emacs 27.1):
	Describe the new regexp-opt NOREORDER argument.
	* lisp/emacs-lisp/regexp-opt.el (regexp-opt): Add NOREORDER.
	Make no attempt at regexp improvement if the set of strings contains
	a prefix of another string.
	(regexp-opt--contains-prefix): New.
	* lisp/emacs-lisp/rx.el (rx-or): Call regexp-opt with NOREORDER.
	* test/lisp/emacs-lisp/rx-tests.el: Test rx `or' form match order.

2019-03-02  Eli Zaretskii  <eliz@gnu.org>

	Fix 'end-of-visual-line' with overlay strings with newlines

	* src/indent.c (Fvertical_motion): Get out of overlay strings
	with embedded newlines even if moving within the same screen
	line.  See https://github.com/emacs-lsp/lsp-mode/issues/677
	for more details.
	Fix test for IT_CHARPOS being at the beginning of the
	accessible portion of the buffer.

2019-03-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/syntax.c (update_syntax_table): Prefer 'else' to 'goto'

	* lisp/Makefile.in (leim): Fix void-function pinyin-convert

2019-03-01  Alan Mackenzie  <acm@muc.de>

	Maintain interval ->position fields correctly in update_interval

	Also fix some anomalies in the handling of byte positions in regexp-emacs.c
	This fixes bug #34525.

	* src/intervals.c (SET_PARENT_POSITION): New macro.
	(update_interval): When moving to an interval's parent, set that parent's
	->position field, to maintain the consistency of the tree.

	* src/intervals.h (struct interval): Amend the comment describing when
	->position is valid.

	* src/pdumper.c: Update the hash associated with struct interval.

	* src/regex-emacs.c: (re_match_2_internal): Only invoke POINTER_TO_OFFSET on a
	known character boundary.  Only perform arithmetic on character positions, not
	on byte positions.  Correct the argument to an invocation of
	UPDATE_SYNTAX_TABLE_FORWARD by adding 1 to it (in case wordend:).

	* src/syntax.c: (update_syntax_table): Remove the now redundant code that set
	the ->position field of all parents of the interval found by update_interval.

2019-03-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	9df1365 Fix a typo in the Calc manual
	f3dab02 Minor improvement in cross-references of the ELisp manual
	560c84b Fix last change on 'compilation-parse-errors'

2019-03-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	dee3cdc Minor improvement for docs of completion
	c86d419 ; * src/image.c (imagemagick_load, svg_load): Fix typos in co...
	6d46fa9 Disable the timerfd interface on Cygwin
	3707ea4 Fix a typo in the doc string of 'regex-opt'
	d9905d5 Document bash 5.0.0 misbehavior in tramp.texi (Bug#34192)

	# Conflicts:
	#	doc/misc/tramp.texi

2019-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	Suppress GC stats when obviously not needed

	This should help future improvements where these stats can be
	bignums that do not fit into intmax_t.
	* src/alloc.c (struct gcstat, gcstat): New type and static var,
	to package up GC statistics into one C object.  It replaces ...
	(total_free_intervals, total_intervals, total_strings)
	(total_free_strings, total_string_bytes, total_vectors)
	(total_vector_slots, total_free_vector_slots): ... these
	removed static vars.  All uses changed.
	(garbage_collect_1): Accept a struct gcstat *, not a void *
	which was not used anymore anyway.  Return a bool indicating
	success, instead of a Lisp object.  All callers changed.
	(garbage_collect): New function.  All C callers of
	Fgarbage_collect changed to use it, since none of them use the
	return value.  Now, only Lisp code uses Fgarbage_collect.
	(Fgarbage_collect): No longer noinline.  Cons up the return
	value here, not in garbage_collect_1.

2019-03-01  Eli Zaretskii  <eliz@gnu.org>

	Don't signal Quit from 'while-no-input' on TTY frames

	* src/keyboard.c (read_char): Don't inject quit-char after
	longjmp if while-no-input is in effect.  (Bug#34535)

2019-03-01  Evan Moses  <evan@emoses.org>  (tiny change)

	Add 'breakpoint' to builtins for Python

	* lisp/progmodes/python.el (python-font-lock-keywords-level-2)
	(python-font-lock-keywords-maximum-decoration): Add 'breakpoint'
	to the list of builtins, it's new as of Python 3.7.

2019-03-01  Eli Zaretskii  <eliz@gnu.org>

	Be more defensive regarding elements of 'load-history'

	* lisp/loadhist.el (file-dependents):
	* lisp/apropos.el (apropos-library):
	* lisp/help-fns.el (help-fns--autoloaded-p, help--loaded-p):
	* lisp/emacs-lisp/package.el (package--list-loaded-files):
	Don't assume 'load-history' elements must have a string as their
	'car'.  (Bug#34462)

2019-03-01  Alan Mackenzie  <acm@muc.de>

	* src/pdumper.c: Clarify the message about updating hash values

2019-03-01  Federico Tedin  <federicotedin@gmail.com>

	Allow control on the threshold for using 'distant-foreground'

	* src/xfaces.c (NEAR_SAME_COLOR_THRESHOLD): Macro deleted.
	(load_face_colors): Compare against
	face_near_same_color_threshold instead of
	NEAR_SAME_COLOR_THRESHOLD.
	(syms_of_xfaces) <face-near-same-color-threshold>: New
	variable.  (Bug#34001)

	* etc/NEWS: Announce the change.

2019-02-28  Juri Linkov  <juri@linkov.net>

	* lisp/replace.el (flush-lines): Return the number of deleted lines.

	When called interactively, also print the number. (Bug#34520)

	* doc/emacs/search.texi (Other Repeating Search): Update
	flush-lines that prints the number of deleted lines.

2019-02-28  Eli Zaretskii  <eliz@gnu.org>

	Avoid rare crashes in xbacktrace

	* src/eval.c (backtrace_thread_p, backtrace_top): Don't
	segfault in "xbacktrace" if called before the specpdl
	machinery is initialized in pdumped Emacs.

2019-02-28  Michael Albinus  <michael.albinus@gmx.de>

	Adapt test names in tramp-archive-tests.el

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test39-make-nearby-temp-file)
	(tramp-archive-test42-file-system-info)
	(tramp-archive-test45-auto-load)
	(tramp-archive-test45-delay-load): Rename.

2019-02-28  Michael Albinus  <michael.albinus@gmx.de>

	Use proper read syntax for all function names in Tramp

	* lisp/net/tramp.el:
	* lisp/net/tramp-adb.el:
	* lisp/net/tramp-archive.el:
	* lisp/net/tramp-cache.el:
	* lisp/net/tramp-cmds.el:
	* lisp/net/tramp-compat.el:
	* lisp/net/tramp-ftp.el:
	* lisp/net/tramp-gvfs.el:
	* lisp/net/tramp-integration.el:
	* lisp/net/tramp-rclone.el:
	* lisp/net/tramp-sh.el:
	* lisp/net/tramp-smb.el:
	* lisp/net/tramp-sudoedit.el:
	* test/lisp/net/tramp-archive-tests.el:
	* test/lisp/net/tramp-tests.el: Use proper read syntax for all
	function names.

2019-02-27  Paul Eggert  <eggert@cs.ucla.edu>

	Escape HTML NUL as &#0; in eww

	* lisp/net/eww.el (eww-display-html): Escape NUL as &#0; as this
	is more appropriate for HTML.

2019-02-27  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-annotate.el: Better error handling (bug#34532)

	* lisp/vc/vc-annotate.el (vc-annotate-revision-previous-to-line):
	Print message when prev-rev is nil.

2019-02-27  Juri Linkov  <juri@linkov.net>

	Directional window swap states (bug#34656)

	* lisp/windmove.el (windmove-swap-states-in-direction)
	(windmove-swap-states-left, windmove-swap-states-up)
	(windmove-swap-states-down, windmove-swap-states-right)
	(windmove-swap-states-default-keybindings): New functions.

2019-02-27  Juri Linkov  <juri@linkov.net>

	* doc/emacs/frames.texi (Multiple Displays): Add make-frame-on-monitor.

	* doc/lispref/frames.texi (Multiple Terminals): Add make-frame-on-monitor.
	(Bug#34516)

2019-02-27  Arash Esbati  <arash@gnu.org>

	Improve matching of key-val labels (bug#34629)

	* lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve
	regexp for key-val labels in order to skip over content in braces.

2019-02-27  Robert Pluim  <rpluim@gmail.com>

	Replace NUL characters when calling into libxml

	* lisp/net/eww.el (eww-display-html): Replace NUL characters with
	"\0", as libxml can't handle embedded NULLs.  (Bug#34469)

2019-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el (pcase--make-docstring): Autoload

2019-02-27  John Shahid  <jvshahid@gmail.com>

	Add text properties to newlines used to unwrap long lines.

	* lisp/term.el (term-emulate-terminal): do it.

2019-02-27  Paul Eggert  <eggert@cs.ucla.edu>

	DEFVAR_INT variables are now intmax_t

	Formerly they were fixnums, which led to problems when dealing
	with values that might not fit on 32-bit platforms, such as
	string-chars-consed or floats_consed.  64-bit counters should
	be good enough for these (for a while, anyway...).
	While we’re at it, fix some unlikely integer overflow bugs
	that have been in the code for a while.
	* lib-src/make-docfile.c (write_globals):
	* src/data.c (do_symval_forwarding, store_symval_forwarding):
	* src/eval.c (restore_stack_limits, call_debugger):
	* src/frame.h (struct frame.cost_calculation_baud_rate):
	* src/keyboard.c (last_auto_save, bind_polling_period, read_char):
	* src/lisp.h (struct Lisp_Intfwd.intvar):
	* src/lread.c (defvar_int):
	* src/pdumper.c (dump_fwd_int):
	* src/thread.h (struct thread_state.m_lisp_eval_depth):
	* src/undo.c (truncate_undo_list):
	* src/xselect.c (wait_for_property_change)
	(x_get_foreign_selection):
	* src/xterm.c (x_emacs_to_x_modifiers):
	DEFVAR_INT variables now have the C type intmax_t, not EMACS_INT.
	* src/data.c (store_symval_forwarding):
	* src/gnutls.c (Fgnutls_boot):
	* src/keyboard.c (bind_polling_period):
	* src/macros.c (pop_kbd_macro, Fexecute_kbd_macro):
	* src/undo.c (truncate_undo_list):
	Allow any integer that fits into intmax_t, instead of
	requiring it to be a Lisp fixnum.
	* src/dispnew.c (update_window):
	* src/frame.c (x_figure_window_size):
	* src/gnutls.c (init_gnutls_functions)
	(emacs_gnutls_handle_error):
	* src/keyboard.c (make_lisp_event):
	* src/nsterm.m (ns_dumpglyphs_image):
	* src/profiler.c (make_log):
	* src/scroll.c (calculate_scrolling)
	(calculate_direct_scrolling):
	* src/termcap.c (tputs):
	* src/xterm.c (x_draw_image_relief):
	Avoid implementation-defined behavior on conversion of
	out-of-range integers.
	* src/eval.c (when_entered_debugger): Now intmax_t.
	(max_ensure_room): New function, that avoids signed integer overflow.
	(call_debugger, signal_or_quit): Use it.
	* src/fileio.c (Fdo_auto_save):
	* src/keyboard.c (make_lisp_event):
	* src/term.c (calculate_costs):
	* src/xdisp.c (build_desired_tool_bar_string)
	(hscroll_window_tree, try_scrolling, decode_mode_spec)
	(x_produce_glyphs):
	Avoid signed integer overflow.
	* src/lisp.h (clip_to_bounds): Generalize to intmax_t.
	* src/pdumper.c (dump_emacs_reloc_immediate_emacs_int): Remove, ...
	(dump_emacs_reloc_immediate_intmax_t): ... replacing with this
	function.  All uses changed.
	* src/profiler.c (make_log): Omit args.  All callers changed.
	* src/termcap.c: Include stdlib.h, for atoi.
	Include intprops.h.
	* src/window.c (sanitize_next_screen_context_lines): New function.
	(window_scroll_pixel_based, window_scroll_line_based):
	Use it to avoid signed integer overflow.

2019-02-25  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix mod-test build failure

	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2019-02/msg00739.html
	* test/Makefile.in (HYBRID_MALLOC, LIBEGNU_ARCHIVE):
	New macros, taken from ../src/Makefile.in.
	(MODULE_CFLAGS): Add -I$(srcdir)/../lib.
	($(test_module)): Link $(LIBEGNU_ARCHIVE) too.

2019-02-25  Juri Linkov  <juri@linkov.net>

	* lisp/vc/diff-mode.el (diff-font-lock-keywords): Add more Git headers.

	* lisp/gnus/mm-view.el (mm-display-inline-fontify): Set mode to
	the selected major-mode, so diff-mode could be detected afterwards.

2019-02-25  Juri Linkov  <juri@linkov.net>

	* lisp/frame.el (make-frame-on-monitor): New command.  (Bug#34516)

	(make-frame-on-display): Add completion on available display names.

2019-02-25  Paul Eggert  <eggert@cs.ucla.edu>

	format-time-string: document new '+' flag

	* doc/lispref/os.texi (Time Parsing), etc/NEWS:
	* src/timefns.c (Fformat_time_string): Document the new
	behavior, added for compatibility with POSIX.1-2017.

2019-02-25  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-02-24 nstrftime: support the ‘+’ flag
	2019-02-24 stat, lstat: fix conflict with relocatable-prog-wrapper
	2019-02-23 nstrftime: tweak arg order
	2019-02-21 nstrftime: merge glibc strftime changes
	2019-02-02 vla: add commentary about VLA_ELEMS
	* build-aux/config.guess, doc/misc/texinfo.tex, lib/fstatat.c:
	* lib/lstat.c, lib/nstrftime.c, lib/vla.h:
	Copy from Gnulib.

2019-02-25  Michael Albinus  <michael.albinus@gmx.de>

	Adapt hooks in Tramp

	* lisp/net/tramp-archive.el (tramp-archive-cleanup-hash):
	Remove autoload cookie.
	(tramp-cleanup-all-connections-hook): Add `tramp-archive-cleanup-hash'.

	* lisp/net/tramp-cmds.el (tramp-cleanup-connection-hook)
	(tramp-cleanup-all-connections-hook): New hook variables.
	(tramp-cleanup-connection): Set `tramp-current-connection' always
	to nil.
	(tramp-cleanup-connection): Do not call `tramp-recentf-cleanup'.
	Run ´tramp-cleanup-connection-hook`.
	(tramp-cleanup-all-connections): Do not call
	`tramp-archive-cleanup-hash' and ´tramp-recentf-cleanup'.  Run
	`tramp-cleanup-all-connections-hook'.

	* lisp/net/tramp-ftp.el (top): Simply call `tramp-disable-ange-ftp'.

	* lisp/net/tramp-integration.el (tramp-recentf-cleanup-all): New defun.
	(top): Adapt `tramp-integration-unload-hook',
	`tramp-cleanup-connection-hook' and
	`tramp-cleanup-all-connections-hook'.

2019-02-24  Alex Branham  <alex.branham@gmail.com>

	* lisp/comint.el (comint-skip-input): Set inhibit-read-only to t

	Bug#33975

2019-02-24  Philipp Stephani  <phst@google.com>

	Ignore pending_signals when checking for quits.

	pending_signals is often set if no quit is pending.  This results in
	bugs in module code if the module returns but no quit is actually
	pending.

	As a better alternative, add a new process_input environment function
	for Emacs 27.  That function processes signals (like maybe_quit).

	* configure.ac: Add module snippet for Emacs 27.

	* src/module-env-27.h: New file.

	* src/emacs-module.h.in: Add process_input function to environment
	interface.

	* src/emacs-module.c (module_should_quit): Use QUITP macro to check
	whether the caller should quit.
	(module_process_input): New function.
	(initialize_environment): Use it.

	* src/eval.c: Remove obsolete comment.

	* test/data/emacs-module/mod-test.c (signal_wrong_type_argument)
	(signal_errno): New helper functions.
	(Fmod_test_sleep_until): New test module function.

	* test/src/emacs-module-tests.el (mod-test-sleep-until): New unit
	test.

	* doc/lispref/internals.texi (Module Misc): Document process_input.

2019-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/term.el: Fix minor compilation issues with cl-lib and lexbind

	Remove left-over comment from the bulk comint->term query/replace.
	(term-command-function): Rename from term-command-hook.
	Give it a global default value.
	(term-suppress-hard-newline): Mark it as generally obsolete.
	(term-mode): Don't manually make hooks buffer-local.
	(term--remove-fake-newlines): Fix assert -> cl-assert.
	(term-char-mode): Use add-function.
	(term-send-input): Use run-hook-with-args.
	(term-dynamic-complete): Use run-hook-with-args-until-success.
	(term-dynamic-simple-complete): Completion tables can be plain lists.
	(serial-read-name): Simplify and fix misuse of `set`.

2019-02-24  John Shahid  <jvshahid@gmail.com>

	Adjust line wrapping on window resize and killing text

	* lisp/term.el (term-mode): Advice filter-buffer-substring-function to
	remove line unwrapping from killed text.
	(term-reset-size): Add or remove line unwrapping depending on the new
	terminal width.
	(term-suppress-hard-newline): Mark obsolete.
	(term-unwrap-line): Use text properties to be able to find the
	newlines later.

2019-02-24  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Make pinyin to Chinese character mapping available to elisp

	* leim/Makefile.in: Build the file pinyin.el from pinyin.map.
	* lisp/international/titdic-cnv.el (pinyin-convert): New function that
	  writes the library pinyin.el, containing a new constant
	  `pinyin-character-map'.
	* .gitignore: Ignore the generated pinyin.el file.

2019-02-24  Richard Stallman  <rms@gnu.org>

	fix rmail armor decryption problems

	* lisp/mail/rmail.el (rmail-epa-decrypt): Don't decrypt an armor
	that was copied into the message from a message it is a reply to.
	(rmail-epa-decrypt-1): Catch and ignore errors in
	epa-decrypt-region.  Make armor-start and armor-end markers.

2019-02-24  Richard Stallman  <rms@gnu.org>

	Don't clobber epa-mail-aliases

	* lisp/epa-mail.el (epa-mail-default-recipients):
	Copy elements of epa-mail-aliases; don't clobber them.

2019-02-24  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/text.texi (Replacing): Fix a typo in recent change.

2019-02-24  Michael Albinus  <michael.albinus@gmx.de>

	Cleanup also recentf files in Tramp

	* doc/misc/tramp.texi (Cleanup remote connections): Mention also
	recentf cache.

	* lisp/net/tramp-cmds.el (tramp-cleanup-connection)
	(tramp-cleanup-all-connections): Call `tramp-recentf-cleanup'.

	* lisp/net/tramp-integration.el: New package.

	* lisp/net/tramp.el (tramp-rfn-eshadow-overlay)
	(tramp-rfn-eshadow-setup-minibuffer)
	(tramp-rfn-eshadow-update-overlay-regexp)
	(tramp-rfn-eshadow-update-overlay):
	(tramp-eshell-directory-change): Move to tramp-integration.el

2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t assume timersub and gettimeofday

	POSIX does not specify timersub, and marks gettimeofday as
	obsolescent.  Avoid porting problems by using timespec.h
	functions instead.
	* src/editfns.c: Include systime.h instead of sys/time.h.
	(EXTRA_CONTEXT_FIELDS): Replace start and max_secs with
	time_limit.  All uses changed.  This removes the need to call
	gettimeofday or timersub.
	* src/term.c (timeval_to_Time): Remove.  Replace all uses with ...
	(current_Time): ... this new function, removing the need to
	call gettimeofday.

2019-02-23  Tassilo Horn  <tsdh@gnu.org>

	Improve replace-buffer-contents/replace-region-contents

	* src/editfns.c (Freplace_buffer_contents): Add two optional arguments
	  for mitigating performance issues.
	* lisp/emacs-lisp/subr-x.el (replace-region-contents): Move from
	  subr.el.  Add the same two arguments as for replace-buffer-contents.
	* lisp/json.el (json-pretty-print-max-secs): New variable holding the
	  default MAX-SECS value json-pretty-print passes to
	  replace-buffer-contents.
	  (json-pretty-print): Use it.
	* doc/lispref/text.texi (Replacing): Add documentation for
	  replace-buffer-contents two new optional arguments.  Document
	  replace-region-contents.

2019-02-23  Michael Albinus  <michael.albinus@gmx.de>

	Make last Tramp change backward compatible to Emacs 24

	* lisp/net/tramp-cache.el (tramp-get-file-property):
	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
	* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
	Make them backward compatible to Emacs 24.

2019-02-23  Felicián Németh  <felician.nemeth@gmail.com>

	Jump to the current error in xref with zero prefix arg

	* lisp/progmodes/xref.el (xref--next-error-function): Handle the corner case of
	n == 0.  (Bug#34462)

2019-02-22  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid some double-rounding of Lisp timestamps

	Also, simplify some time-related Lisp timestamp code
	while we’re in the neighborhood.
	* lisp/battery.el (battery-linux-proc-acpi)
	(battery-linux-sysfs, battery-upower, battery-bsd-apm):
	* lisp/calendar/timeclock.el (timeclock-seconds-to-string)
	(timeclock-log, timeclock-last-period)
	(timeclock-entry-length, timeclock-entry-list-span)
	(timeclock-find-discrep, timeclock-generate-report):
	* lisp/cedet/ede/detect.el (ede-detect-qtest):
	* lisp/completion.el (cmpl-hours-since-origin):
	* lisp/ecomplete.el (ecomplete-decay-1):
	* lisp/emacs-lisp/ert.el (ert--results-update-stats-display)
	(ert--results-update-stats-display-maybe):
	* lisp/emacs-lisp/timer-list.el (list-timers):
	* lisp/emacs-lisp/timer.el (timer-until)
	(timer-event-handler):
	* lisp/erc/erc-backend.el (erc-server-send-ping)
	(erc-server-send-queue, erc-handle-parsed-server-response)
	(erc-handle-unknown-server-response):
	* lisp/erc/erc-track.el (erc-buffer-visible):
	* lisp/erc/erc.el (erc-lurker-cleanup, erc-lurker-p)
	(erc-cmd-PING, erc-send-current-line):
	* lisp/eshell/em-pred.el (eshell-pred-file-time):
	* lisp/eshell/em-unix.el (eshell-show-elapsed-time):
	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event:org-timestamp):
	* lisp/gnus/gnus-int.el (gnus-backend-trace):
	* lisp/gnus/gnus-sum.el (gnus-user-date):
	* lisp/gnus/mail-source.el (mail-source-delete-crash-box):
	* lisp/gnus/nnmaildir.el (nnmaildir--scan):
	* lisp/ibuf-ext.el (ibuffer-mark-old-buffers):
	* lisp/gnus/nnmaildir.el (nnmaildir--scan):
	* lisp/mouse.el (mouse--down-1-maybe-follows-link)
	(mouse--click-1-maybe-follows-link):
	* lisp/mpc.el (mpc--faster-toggle):
	* lisp/net/rcirc.el (rcirc-handler-ctcp-KEEPALIVE)
	(rcirc-sentinel):
	* lisp/net/tramp-cache.el (tramp-get-file-property):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-newer-than-file-p)
	(tramp-maybe-open-connection):
	* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
	* lisp/org/org-clock.el (org-clock-resolve):
	(org-resolve-clocks, org-clock-in, org-clock-out, org-clock-sum):
	* lisp/org/org-timer.el (org-timer-start)
	(org-timer-pause-or-continue, org-timer-seconds):
	* lisp/org/org.el (org-evaluate-time-range):
	* lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
	* lisp/pixel-scroll.el (pixel-scroll-in-rush-p):
	* lisp/play/hanoi.el (hanoi-move-ring):
	* lisp/proced.el (proced-format-time):
	* lisp/progmodes/cpp.el (cpp-progress-message):
	* lisp/progmodes/flymake.el (flymake--handle-report):
	* lisp/progmodes/js.el (js--wait-for-matching-output):
	* lisp/subr.el (progress-reporter-do-update):
	* lisp/term/xterm.el (xterm--read-event-for-query):
	* lisp/time.el (display-time-update, emacs-uptime):
	* lisp/tooltip.el (tooltip-delay):
	* lisp/url/url-cookie.el (url-cookie-parse-file-netscape):
	* lisp/url/url-queue.el (url-queue-prune-old-entries):
	* lisp/url/url.el (url-retrieve-synchronously):
	* lisp/xt-mouse.el (xterm-mouse-event):
	Avoid double-rounding of time-related values.  Simplify.
	* lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
	When hoping for the best (unlikely), use a better decoded time.
	(icalendar--convert-sexp-to-ical): Avoid unnecessary encode-time.
	* lisp/calendar/timeclock.el (timeclock-when-to-leave):
	* lisp/cedet/ede/detect.el (ede-detect-qtest):
	* lisp/desktop.el (desktop-create-buffer):
	* lisp/emacs-lisp/benchmark.el (benchmark-elapse):
	* lisp/gnus/gnus-art.el (article-lapsed-string):
	* lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
	* lisp/gnus/nnmail.el (nnmail-expired-article-p):
	* lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
	* lisp/nxml/rng-maint.el (rng-time-function):
	* lisp/org/org-clock.el (org-clock-get-clocked-time)
	(org-clock-resolve, org-resolve-clocks, org-resolve-clocks-if-idle):
	* lisp/org/org-habit.el (org-habit-insert-consistency-graphs):
	* lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
	(vhdl-fix-case-region-1):
	Use time-since instead of open-coding most of it.
	* lisp/erc/erc-dcc.el (erc-dcc-get-sentinel):
	* lisp/erc/erc.el (erc-string-to-emacs-time, erc-time-gt):
	Now obsolete.  All uses changed.
	(erc-time-diff): Accept all Lisp time values.
	All uses changed.
	* lisp/gnus/gnus-demon.el (gnus-demon-idle-since):
	* lisp/gnus/gnus-score.el (gnus-score-headers):
	* lisp/gnus/nneething.el (nneething-make-head):
	* lisp/gnus/nnheader.el (nnheader-message-maybe):
	* lisp/gnus/nnimap.el (nnimap-keepalive):
	* lisp/image.el (image-animate-timeout):
	* lisp/mail/feedmail.el (feedmail-rfc822-date):
	* lisp/net/imap.el (imap-wait-for-tag):
	* lisp/net/newst-backend.el (newsticker--image-get):
	* lisp/net/rcirc.el (rcirc-handler-317, rcirc-handler-333):
	* lisp/obsolete/xesam.el (xesam-refresh-entry):
	* lisp/org/org-agenda.el (org-agenda-show-clocking-issues)
	(org-agenda-check-clock-gap, org-agenda-to-appt):
	* lisp/org/org-capture.el (org-capture-set-target-location):
	* lisp/org/org-clock.el (org-clock-resolve-clock)
	(org-clocktable-steps):
	* lisp/org/org-colview.el (org-columns-edit-value)
	(org-columns, org-agenda-columns):
	* lisp/org/org-duration.el (org-duration-from-minutes):
	* lisp/org/org-element.el (org-element-cache-sync-duration)
	(org-element-cache-sync-break)
	(org-element--cache-interrupt-p, org-element--cache-sync):
	* lisp/org/org-habit.el (org-habit-get-faces)
	* lisp/org/org-indent.el (org-indent-add-properties):
	* lisp/org/org-table.el (org-table-sum):
	* lisp/org/org-timer.el (org-timer-show-remaining-time)
	(org-timer-set-timer):
	* lisp/org/org.el (org-babel-load-file, org-today)
	(org-auto-repeat-maybe, org-2ft, org-time-stamp)
	(org-read-date-analyze, org-time-stamp-to-now)
	(org-small-year-to-year, org-goto-calendar):
	* lisp/org/ox.el (org-export-insert-default-template):
	* lisp/ses.el (ses--time-check):
	* lisp/type-break.el (type-break-time-warning)
	(type-break-statistics, type-break-demo-boring):
	* lisp/url/url-cache.el (url-cache-expired)
	(url-cache-prune-cache):
	* lisp/vc/vc-git.el (vc-git-stash-snapshot):
	* lisp/erc/erc-match.el (erc-log-matches-come-back):
	Simplify.

2019-02-22  Paul Eggert  <eggert@cs.ucla.edu>

	Remove some timestamp format assumptions

	Don’t assume that current-time and plain encode-time return
	timestamps in (HI LO US PS) format.
	* lisp/gnus/gnus-art.el (article-make-date-line)
	(article-lapsed-string):
	* lisp/gnus/gnus-demon.el (gnus-demon-time-to-step):
	* lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
	* lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
	* lisp/net/pop3.el (pop3-uidl-dele):
	* lisp/org/ox-publish.el (org-publish-sitemap):
	* lisp/vc/vc-hg.el (vc-hg-state-fast):
	Simplify and remove assumptions about timestamp format.
	* lisp/gnus/gnus-art.el (article-lapsed-string):
	* lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
	Do not worry about time-subtract returning nil; that's not possible.
	* lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
	Avoid race due to duplicate current-time calls.
	* lisp/vc/vc-hg.el (vc-hg--time-to-integer): Remove; no longer used.

2019-02-22  Alex Branham  <alex.branham@gmail.com>

	which-function: Do not display outdated imenu information

	* lisp/progmodes/which-func.el (which-function): Check
	  `add-log-current-defun' before imenu. Update `imenu--index-alist' if
	  needed. Bug#33695

2019-02-21  Nicholas Drozd  <nicholasdrozd@gmail.com>

	Handle HTML 'ol' start attribute in shr.el

	* lisp/net/shr.el (shr-tag-ol): Don't automatically assume
	1-indexing for all ordered lists, use <ol> if given.

	* etc/NEWS: Announce change in shr behavior.

	* test/data/shr/ol.html:
	* test/data/shr/ol.txt: New test data files.

2019-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/diff-mode.el: Reduce redundancy in diff-syntax-fontify code

	(diff--iterate-hunks): New function extracted from diff--font-lock-refined.
	(diff--font-lock-refined, diff--font-lock-syntax): Use it.
	(diff--overlay-auto-delete): Rename from diff--font-lock-refine--refresh.
	(diff--font-lock-syntax--refresh): Delete.
	(diff-syntax-fontify-hunk): Don't completely silence errors.
	(diff-syntax-fontify-props): Remove `no-init` arg, testing if `file` is
	nil instead.  Adjust all callers.
	(diff-syntax-fontify-props): Remove redundant code since we don't
	modify the buffer.

2019-02-21  Mattias Engdegård  <mattiase@acm.org>

	Replace 8-bit-specific case-manipulation

	* lisp/completion.el (cmpl-coerce-string-case):
	Rewrite case-changing code written for ASCII or latin-1 but not valid
	in generally today.

2019-02-20  Michael R. Mauger  <michael@mauger.com>

	Correct implementation of `sql-set-product-feature' (Bug#30494).

	* lisp/progmodes/sql.el (sql-add-product): Correct argument spec.
	(sql-set-product-feature): Handle all cases as intended.
	(sql-get-product-feature): Fetch variable value by `eval'.
	* test/lisp/progmodes/sql-tests.el (sql-test-feature-value-[a-d]):
	New test variables.
	(sql-test-product-feature-harness): New test macro.
	(sql-test-add-product, sql-test-add-existing-product)
	(sql-test-set-feature, sql-test-set-indirect-feature)
	(sql-test-set-existing-feature)
	(sql-test-set-existing-indirect-feature)
	(sql-test-set-missing-product, sql-test-get-feature)
	(sql-test-get-indirect-feature, sql-test-get-missing-product)
	(sql-test-get-missing-feature)
	(sql-test-get-missing-indirect-feature): New ERT tests

2019-02-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	ff9c962 ; * lisp/ldefs-boot.el: Update.
	b4a251c * ; ChangeLog.3 update
	d3104e3 * etc/AUTHORS: Update.
	a19bfb7 Remove .art from the default list of ImageMagick extensions
	6985caa Fix input after setting x-wait-for-event-timeout nil
	715388a Fix two warnings in eshell.texi
	d49cdd9 * lisp/minibuffer.el (completion-table-dynamic): Improve docs...
	5dc4e51 * lisp/emacs-lisp/debug.el (debug-on-variable-change): Doc fi...
	76ef805 Fix a typo in ELisp manual
	b5e66f4 Update citations of Internet RFCs
	57ece2a Fix handling of manpage references divided by hyphenation
	7ad0cd6 * doc/misc/eshell.texi: Fix some @ref's.
	12b7940 Fix a typo in lispref/syntax.texi

	# Conflicts:
	#	lisp/gnus/nnrss.el
	#	lisp/mail/ietf-drums.el

2019-02-20  Tassilo Horn  <tsdh@gnu.org>

	Fix missing interactive spec

	* lisp/json.el (json-pretty-print-buffer-ordered): Add interactive
	  spec "P" which has been missing.

2019-02-20  Michael Albinus  <michael.albinus@gmx.de>

	Improve connection hand-shaking in tramp-adb.el

	* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
	Send an additional RET.

2019-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/sql.el (sql-is-indent-available): Remove

	(sql-indent-enable): Check (fboundp 'sqlind-minor-mode) without
	wondering which file might provide it.
	(sql-read-connection): η-reduce 'car'.

2019-02-20  Martin Rudalics  <rudalics@gmx.at>

	Fix handling of MINIBUF argument in 'walk-window-tree'

	* lisp/window.el (walk-window-tree): Handle MINIBUF argument
	as advertised when FRAME is minibuffer-only.
	(window--resize-apply-p, window--sanitize-window-sizes)
	(delete-other-windows, split-window-sensibly): Call
	'walk-window-tree' with suitable MINIBUF argument.

2019-02-19  Glenn Morris  <rgm@gnu.org>

	* lisp/progmodes/sql.el: Fix use of string-empty-p in recent change.

2019-02-19  Charles A. Roelli  <charles@aurox.ch>

	Simplify easy-mmode-define-navigation

	* lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
	Simplify a one-argument call to "or" and use buffer-narrowed-p instead
	of checking that condition by hand.

2019-02-19  Michael Albinus  <michael.albinus@gmx.de>

	Implement access-file in Tramp

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
	Add `access-file'.

	* lisp/net/tramp-archive.el (tramp-archive-handle-access-file):
	* lisp/net/tramp.el (tramp-handle-access-file): New defun.
	(tramp-condition-case-unless-debug): Add declaration.
	(tramp-handle-insert-directory):
	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
	* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
	Check, whether directory is accessible.

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test17-insert-directory)
	(tramp-archive-test18-file-attributes):
	* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory)
	(tramp-test18-file-attributes): Test error cases.

2019-02-19  João Távora  <joaotavora@gmail.com>

	cycle-sort-function prevails in completion-all-sorted-completions

	* lisp/minibuffer.el (completion-all-sorted-completions): If
	completion table has cycle-sort-function, that prevails over other
	sorting strategies.

2019-02-19  João Távora  <joaotavora@gmail.com>

	switch-to-buffer's completion table uses its own sorting

	* src/minibuf.c (Finternal_complete_buffer): Add
	Qcycle_sort_function to completion table's metadata.
	(syms_of_minibuf): New symbol Qcycle_sort_function.

2019-02-18  Michael R. Mauger  <michael@mauger.com>

	Merge branch 'wallet'

	* lisp/progmodes/sql.el: Added password wallet using
	`auth-source' package.
	(sql-auth-source-search-wallet): New function.
	(sql-password-wallet): New variable.
	(sql-password-search-wallet-function): New variable.
	(sql-get-login): Handle password wallet search.
	(sql-product-interactive): Handle password function.
	* test/lisp/progmodes/sql-tests.el: Test wallet changes.
	(sql-test-login-params): New test variable.
	(with-sql-test-connect-harness): New macro to wrap test
	configuration around calls to `sql-connect'.
	(sql-test-connect, sql-test-connect-password-func)
	(sql-test-connect-wallet-server-database)
	(sql-test-connect-wallet-database)
	(sql-test-connect-wallet-server): New ERT tests.
	* etc/NEWS: Updated SQL Mode descriptions.

2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mh-e/mh-acros.el (mh-defstruct): Minor simplification

	* lisp/erc/erc.el (erc-version-string): Remove, unused

2019-02-18  Michael R. Mauger  <michael@mauger.com>

	* lisp/progmodes/sql.el defensive programming

	(sql-statement-regexp): if 'ansi' dialect is not defined, use "select"
	(sql-interactive-mode): establish process sentinel iff there is a
	process. Default values for :prompt-regexp and :prompt-length.
	(sql-product-interactive): only check process status iff there is a
	process.

2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/elec-pair.el: Do modify+undo more carefully

	(electric-pair-inhibit-if-helps-balance): Use the undo system
	instead of undoing by hand.

2019-02-18  Paul Eggert  <eggert@cs.ucla.edu>

	Speed up cl-list-length

	* lisp/emacs-lisp/cl-extra.el (cl-list-length): Use ‘length’
	to do the real work; this is simpler and uses a better algorithm.

2019-02-18  Paul Eggert  <eggert@cs.ucla.edu>

	Minor profiler improvements

	* src/profiler.c (evict_lower_half, record_backtrace)
	(setup_cpu_timer, cmpfn_profiler, hashfn_profiler):
	Assume C99.  Use bool for boolean.
	(timer_getoverrun): Remove; simplify use to not need it.
	(Fprofiler_cpu_start): Any negative return from setup_cpu_timer fails.
	(Fprofiler_cpu_stop): Simplify initialization.

2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-lib.el (cl-endp): Move to cl-seq.el

	Use 'cl-check-type'.

2019-02-18  Ken Brown  <kbrown@cornell.edu>

	Use 'timer_getoverrun' on Cygwin when possible

	* configure.ac: Add a check for the 'timer_getoverrun' function.

	* src/profiler.c [CYGWIN] : Define 'timer_getoverrun' as a
	macro only on versions of Cygwin where it is not already
	defined as a function.

2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/smerge-mode.el (smerge-change-buffer-confirm): New var

	(smerge-vc-next-conflict): Obey it.  Save buffer before going to
	the next.  Don't emit message when vc-find-conflicted-file can't find
	other conflicted file.

	* lisp/vc/vc-hooks.el: Use lexical-binding.

	* lisp/vc/vc.el: Remove redundant :groups.
	(vc-find-conflicted-file): Autoload.

2019-02-18  Konstantin Kharlamov  <Hi-Angel@yandex.ru>  (tiny change)

	* lisp/vc/smerge-mode.el (smerge-vc-next-conflict): New command

2019-02-18  Michael Albinus  <michael.albinus@gmx.de>

	Increase timeout on emba for Tramp

	* test/lisp/net/tramp-tests.el
	(tramp--test-shell-command-to-string-asynchronously):
	Increase timeout on emba.

2019-02-18  Paul Eggert  <eggert@cs.ucla.edu>

	* src/fns.c: Fix comment.

2019-02-17  Paul Eggert  <eggert@cs.ucla.edu>

	emacs-init-time outputs more digits now

	* lisp/time.el (emacs-init-time): Output more digits;
	formerly this was always outputting "0.0 seconds" for me
	because the number of seconds was less than 0.1.

2019-02-17  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/emacs-lisp/cl-lib.el (cl-endp): Remove stray 'x.

2019-02-17  Juri Linkov  <juri@linkov.net>

	* lisp/tar-mode.el (tar--try-jka-compr): Remove.  (Bug#34251)

	(tar-extract): Call archive-try-jka-compr instead of tar--try-jka-compr.

	* lisp/arc-mode.el (archive-try-jka-compr): Call set-buffer-multibyte
	after erase-buffer.

2019-02-17  Alan Mackenzie  <acm@muc.de>

	Fontify C function identifiers in parentheses correctly (e.g. in lisp.h)

	Fix handling of CC Mode's syntactic WS cache.  Make noise-macro option
	variables buffer local.

	* lisp/progmodes/cc-engine.el (c-put-is-sws, c-put-in-sws, c-remove-is-sws)
	(c-remove-in-sws c-remove-is-and-in-sws): Add edebug specs.
	(c-invalidate-sws-region-before): Add a `beg' parameter.  Handle noise
	macros like other literals.
	(c-invalidate-sws-region-after-del): Move the adjustment of (cdr
	c-sws-lit-limits) due to buffer change to c-invalidate-sws-region-after.
	(c-invalidate-sws-region-after-ins): Move (goto-char end) to the correct
	place.
	(c-invalidate-sws-region-after): Adjust (cdr c-sws-lit-limits) due to buffer
	change.  Handle noise macros.
	(c-backward-sws): Set simple-ws-beg appropriately when the start point is in
	the middle of a noise macro.
	(c-forward-decl-or-cast-1): Recognize a function identifier being declared in
	parentheses.

	* lisp/progmodes/cc-mode.el (c-before-change): Supply a `beg' argument to
	c-invalidate-sws-region-before.

	* lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
	(c-noise-macro-name-re, c-noise-macro-names, c-noise-macro-with-parens-names):
	Make these buffer local variables.

2019-02-17  Alan Mackenzie  <acm@muc.de>

	* Put INLINE and ATTRIBUTE_NO_SANITIZE_UNDEFINED into c-noise-macro-names

	* .dir-locals.el (entry for c-mode): Put the two strings into
	c-noise-macro-names.

2019-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	* src/lread.c (readevalloop): Simplify via suffix_p.

2019-02-16  Eli Zaretskii  <eliz@gnu.org>

	* lisp/startup.el (load--user-init-file): Support early-init.elc as well.

2019-02-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/startup.el: Rename load-user-init-file

	Remove redundant :groups.
	(startup--load-user-init-file): Rename from load-user-init-file.

2019-02-16  Mattias Engdegård  <mattiase@acm.org>

	Prevent over-eager rx character range condensation

	`rx' incorrectly considers character ranges between ASCII and raw bytes to
	cover all codes in-between, which includes all non-ASCII Unicode chars.
	This causes (any "\000-\377" ?Å) to be simplified to (any "\000-\377"),
	which is not at all the same thing: [\000-\377] really means
	[\000-\177\200-\377] (Bug#34492).

	* lisp/emacs-lisp/rx.el (rx-any-condense-range): Split ranges going
	from ASCII to raw bytes.
	* test/lisp/emacs-lisp/rx-tests.el (rx-char-any-raw-byte): Add test case.
	* etc/NEWS: Mention the overall change (Bug#33205).

2019-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	Port tramp-adb to various 'touch' platforms

	* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
	Try nanoseconds first, then plain seconds, then touch -t.

2019-02-15  Eli Zaretskii  <eliz@gnu.org>

	Fix 'early-init-file' value when file is missing

	* lisp/startup.el (command-line): Pass 'early-init.el', with
	an explicit .el extension, to load-user-init-file.
	Reported by Radon Rosborough <radon.neon@gmail.com> in
	https://lists.gnu.org/archive/html/emacs-devel/2019-01/msg00314.html.

2019-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-engine.el: Remove unneeded require of 'cl'

	Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk

	* src/lread.c (readevalloop): Use filename to decide macroexpansion

2019-02-15  Glenn Morris  <rgm@gnu.org>

	* test/lisp/textmodes/conf-mode-tests.el (conf-test-align-assignments):
	Fix whitespace.

2019-02-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	f721084 (origin/emacs-26) Avoid errors in erc-dcc.el when erc-dcc-ver...
	3cba92d Fix faces in compilation messages

2019-02-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	25d9fe2 Work for empty MIME attachments (related to bug#34387)

2019-02-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	3f4b8e9 * src/data.c (Fmake_local_variable): Fix bug#34318
	b384996 Minor fixes in ELisp manual wrt syntax-table properties
	71fc6d2 * admin/notes/emba: New file.
	3aaa2d2 Fix Hunspell invocation for discovering its dictionaries

	# Conflicts:
	#	test/src/data-tests.el

2019-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/compile.el: Remove redundant :groups

	(compilation-shell-minor-mode, compilation-minor-mode): Use :lighter
	rather than the old positional args.
	(compilation-next-error): Make "No error here" into a user-error.

2019-02-15  Eli Zaretskii  <eliz@gnu.org>

	Make ls-lisp.el behave like Posix hosts when directory doesn't exist

	* lisp/ls-lisp.el (ls-lisp-insert-directory): For a directory
	that cannot be accessed, signal an error, like insert-directory
	does on Posix systems.  This causes files-tests.el to pass on
	MS-Windows.

2019-02-15  Eli Zaretskii  <eliz@gnu.org>

	Support ~USER for some names on MS-Windows

	* src/w32.c (getpwnam): Support usernames provided through
	LOGNAME or USERNAME environment variables, to mimic what
	editfns.c:init_editfns does.

2019-02-15  Alex Branham  <alex.branham@gmail.com>

	Add basic conf-mode tests

	* test/lisp/textmodes/conf-mode-tests.el: New file with tests for
	conf-mode.  Mostly taken from conf-mode docstrings.  (Bug#34419)

2019-02-15  Alex Branham  <alex.branham@gmail.com>

	Use lexical binding for conf-mode

	* lisp/textmodes/conf-mode.el: Use lexical binding.
	(conf-align-assignments, conf-quote-normal, conf-mode-initialize):
	Doc fix.  (Bug#34419)

2019-02-15  Eli Zaretskii  <eliz@gnu.org>

	Add documentation for last change in eww.el

	* doc/misc/eww.texi (Basics): Document the prefix arg effect
	on "M-x eww".  (Bug#34374)

	* etc/NEWS: Mention the change in behavior of 'eww'.

2019-02-15  İ. Göktuğ Kayaalp  <self@gkayaalp.com>

	* lisp/net/eww.el (eww): With prefix arg, open url in new buffer.

	Bug#34374

2019-02-14  João Távora  <joaotavora@gmail.com>

	Change scoring strategy for 'flex' completion style

	The previous strategy had problems comparing scores of matches to
	strings of different lengths.  This one seems slightly more sensible,
	and uses a new constant `flex-score-match-tightness' instead of the
	more abstract `flex-score-falloff'.

	It's not completely without problems, and I think it shouldn't count
	"holes" at the front and at the back, but that needs a different
	"pattern-to-regexp" conversion in completion-pcm--hilit-commonality.

	(defun test ()
	  (mapcar (lambda (a)
	            (cons (substring-no-properties a)
	                  (get-text-property 0 'completion-score a)))
	          (sort (completion-pcm--hilit-commonality
	                  '(prefix "f" star "o" star "o" point)
	                  '("foo"
	                    "barfoobaz"
	                    "foobarbaz"
	                    "barbazfoo"
	                    "fabrobazo"
	                    "foot"
	                    "foto"
	                    "fotttttttttttttttttttttttto"))
	      (lambda (a b)
	        (> (get-text-property 0 'completion-score a)
	           (get-text-property 0 'completion-score b))))))

	(let ((flex-score-match-tightness 100)) (test))
	=> (("foo" . 1.0)
	    ("foot" . 0.375)
	    ("foto" . 0.375)
	    ("foobarbaz" . 0.16260162601626016) ;; one hole
	    ("barbazfoo" . 0.16260162601626016) ;; one hole
	    ("barfoobaz" . 0.10964912280701755) ;; two holes
	    ("fabrobazo" . 0.10964912280701755) ;; two holes
	    ("fotttttttttttttttttttttttto" . 0.04982561036372696))

	(let ((flex-score-match-tightness 0.1)) (test))
	=> (("foo" . 1.0)
	    ("foot" . 0.375)
	    ("foto" . 0.375)
	    ("barfoobaz" . 0.007751937984496124) ;; two holes
	    ("fabrobazo" . 0.007751937984496124) ;; two holes
	    ("foobarbaz" . 0.00641025641025641)  ;; one hole
	    ("barbazfoo" . 0.00641025641025641)  ;; one hole
	    ("fotttttttttttttttttttttttto" . 0.0004789272030651341))

	* lisp/minibuffer.el (flex-score-falloff): Rename to
	flex-score-match-tightness.
	(completion-pcm--hilit-commonality): Update function.

2019-02-14  Mattias Engdegård  <mattiase@acm.org>

	Add categories L, R, SPC and . to `rx' doc string

	* lisp/emacs-lisp/rx.el (rx): Add new categories to doc string.

2019-02-14  Mattias Engdegård  <mattiase@acm.org>

	Use lexical-binding in rx.el

	* lisp/emacs-lisp/rx.el: Use lexical-binding.
	(rx-form): Use `let' to bind the dynamic variable `rx-parent' instead
	of binding it as an argument.

2019-02-14  João Távora  <joaotavora@gmail.com>

	* lisp/minibuffer.el (completion-styles-alist): Tweak flex's docstring

2019-02-14  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-adb-handle-set-file-times

	* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
	Use 'touch -d', 'touch -t' does not seem to work.  Use Universal Time.

2019-02-13  Dmitry Gutov  <dgutov@yandex.ru>

	Rename project-query-replace to project-query-replace-regexp

	* lisp/progmodes/project.el (project-query-replace): Rename to
	project-query-replace-regexp.

2019-02-13  Gregor Zattler  <telegraph@gmx.net>

	* doc/misc/eshell.texi (Built-ins): Fix alias description

	Dear emacs developers, eshell's current documentation first states
	that alias definitions are not saved to an alias file, later that
	they are saved to an alias file.  I tested it and the latter is
	correct.

	Please find attached a patch which fixes this.

	Thanks for working on emacs which is really great, Gregor

	>From 1fe51cc769ab7a30d0896fb3d6105c0561243fa7 Mon Sep 17 00:00:00 2001
	From: Gregor Zattler <telegraph@gmx.net>
	Date: Wed, 13 Feb 2019 20:19:38 +0100
	Subject: * doc/misc/eshell.texi (Built-ins): Fix alias description.

	Bring description of built-in 'alias' in line with (info "(eshell) Aliases"),
	which describes the actual behaviur.

2019-02-13  Paul Eggert  <eggert@cs.ucla.edu>

	Add missing dependency to ucs-normalize.el

	* lisp/international/ucs-normalize.el:
	Require regexp-opt when compiling.  Problem reported by hx in:
	https://lists.gnu.org/r/emacs-devel/2019-02/msg00334.html

2019-02-13  João Távora  <joaotavora@gmail.com>

	Score flex-style completions according to match tightness

	The new completion style needs to score completion matches so that we
	can use it later on when sorting the completions.  This is because
	"foo" can flex-match "foobar", "frodo" and "barfromsober" but we
	probably want "foobar" to appear at the top of the completion list.

	This change introduces a scoring formula and adds scoring hints in the
	candidate string's `completion-score' property.

	* lisp/minibuffer.el (completion-pcm--hilit-commonality): Propertize
	completion with 'completion-score
	(flex-score-falloff): New variable.

2019-02-13  João Távora  <joaotavora@gmail.com>

	Add a new 'flex' completion style

	* lisp/minibuffer.el (completion-styles-alist): Add flex.
	(completion-substring--all-completions): Accept
	transform-pattern-fn arg.
	(completion-flex-all-completions, completion-flex-try-completion)
	(completion-flex--make-flex-pattern): New functions.

2019-02-13  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes upon C-g in nested invocations of 'read_char'

	* src/keyboard.c (read_char, read_event_from_main_queue):
	Ensure the global value of getcjmp is restored when the stack
	is unwound by the likes of 'throw', by calling
	record_unwind_protect_ptr instead of restoring the value
	manually.  (Bug#34394)
	(restore_getcjmp): Argument is now 'void *', to match the
	signature of record_unwind_protect_ptr.

2019-02-13  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t assume CURRENT_TIME_LIST

	* lisp/progmodes/cc-cmds.el (c-progress-init)
	(c-progress-update):
	* lisp/progmodes/cperl-mode.el (cperl-time-fontification):
	* lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
	(vhdl-fix-case-region-1):
	Don’t assume (current-time) returns a list.
	Fix unlikely bug if we’re called 65536 seconds apart.

2019-02-13  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t assume CURRENT_TIME_LIST

	* lisp/url/url-util.el (url-lazy-message):
	Don’t assume (current-time) returns a list.
	Fix unlikely bug if we’re called 65536 seconds apart.

2019-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify nnspool-request-newgroups arithmetic

	* lisp/gnus/nnspool.el (nnspool-request-newgroups):
	Simplify by compute time stamps as integers, not floats,
	since integers don’t overflow any more.

2019-02-12  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
	    Felipe Ochoa  <felipe@fov.space>

	Indent arrows’ expression bodies like function bodies (Bug#25904)

	* lisp/progmodes/js.el (js--continued-expression-p): Don’t confuse
	‘=>’ for a ‘>’ operator.
	(js--line-terminating-arrow-re): New variable.
	(js--looking-at-broken-arrow-function-p): New function.
	(js--proper-indentation): Don’t align arrow functions’ expression
	bodies starting on new lines like list continuations, instead align
	them like function bodies (js-indent-align-list-continuation need not
	be nil).

	* test/manual/indent/js.js: Add test for Bug#25904.

2019-02-12  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	js-indent-align-list-continuation: Make variable safe

	* lisp/progmodes/js.el (js-indent-align-list-continuation): Indicate
	variable is safe as a file-local variable.  This fixes the
	js-indent-align-list-continuation-nil test when run with make.

2019-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	Make xterm-mouse-truncate-wrap obsolete

	* lisp/xt-mouse.el (xterm-mouse-truncate-wrap): Now obsolete,
	since we no longer need to worry about integer overflow.
	(xterm-mouse-event): Use plain ‘truncate’ instead.

2019-02-12  Glenn Morris  <rgm@gnu.org>

	* admin/notes/hydra: Small updates.

2019-02-11  Mattias Engdegård  <mattiase@acm.org>

	Add missing categories L, R, . and SPC to rx

	* lisp/emacs-lisp/rx.el (rx-categories):
	Add missing categories L, R, . and SPC.  (Bug#34436)

2019-02-11  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify url-digest-auth-make-cnonce

	* lisp/url/url-auth.el (url-digest-auth-make-cnonce):
	Simplify by using encode-time instead of round-tripping
	through a format-time-string and ‘read’.

2019-02-10  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t assume CURRENT_TIME_LIST

	Use timestamp accessors instead of delving into a timestamp
	format that is planned to change in a future version.
	* lisp/find-lisp.el (find-lisp-format-time):
	* lisp/gnus/gnus-group.el (gnus-group-set-timestamp):
	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-show-org-agenda):
	Use encode-time instead of delving into timestamp format.
	* lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
	Use float-time instead of delving into timestamp format.
	* lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article):
	Use format-time-string instead of delving into timestamp format.
	* lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
	Use time-less-p instead of delving into timestamp format.
	* lisp/ido.el (ido-wash-history, ido-file-name-all-completions):
	Use time-equal-p instead of delving into timestamp format.
	* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
	Use format-time-string to generate POSIX ‘test -t’ format instead
	of timestamp-format-dependent code along with shell arithmetic
	that can’t possibly do the right thing on a POSIX platform.

2019-02-10  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify use of encode-time

	Most uses of (apply #'encode-time foo) can now be replaced
	with (encode-time foo).  Make similar simplifications.
	* lisp/calendar/time-date.el (date-to-time):
	* lisp/calendar/timeclock.el (timeclock-when-to-leave)
	(timeclock-day-base, timeclock-generate-report):
	* lisp/emacs-lisp/timer.el (timer-set-idle-time):
	* lisp/eshell/esh-util.el (eshell-parse-ange-ls):
	* lisp/gnus/gnus-art.el (article-make-date-line):
	* lisp/gnus/gnus-delay.el (gnus-delay-article)
	(gnus-delay-send-queue):
	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--decode-datefield):
	* lisp/gnus/gnus-logic.el (gnus-advanced-date):
	* lisp/gnus/message.el (message-make-expires-date):
	* lisp/gnus/nndiary.el (nndiary-compute-reminders):
	* lisp/mail/ietf-drums.el (ietf-drums-parse-date):
	* lisp/net/tramp-adb.el (tramp-adb-ls-output-time-less-p):
	* lisp/org/org-agenda.el (org-agenda-get-timestamps)
	(org-agenda-get-progress, org-agenda-show-clocking-issues):
	* lisp/org/org-capture.el (org-capture-set-target-location):
	* lisp/org/org-clock.el (org-clock-get-sum-start, org-clock-sum)
	(org-clocktable-steps):
	* lisp/org/org-colview.el (org-colview-construct-allowed-dates)
	* lisp/org/org-macro.el (org-macro--vc-modified-time):
	* lisp/org/org-table.el (org-table-eval-formula):
	* lisp/org/org.el (org-current-time, org-store-link)
	(org-time-today, org-read-date, org-read-date-display)
	(org-display-custom-time, org-time-string-to-time)
	(org-timestamp-change, org-timestamp--to-internal-time):
	* lisp/url/url-dav.el (url-dav-process-date-property):
	* lisp/vc/vc-cvs.el (vc-cvs-annotate-current-time)
	(vc-cvs-parse-entry):
	Simplify use of encode-time.
	* lisp/org/org-clock.el (org-clock-get-clocked-time):
	(org-clock-resolve, org-resolve-clocks, org_clock_out)
	(org-clock-update-time-maybe):
	Avoid some rounding problems with encode-time and float-time.
	* lisp/org/org-clock.el (org-clock-in, org-clock-update-time-maybe):
	* lisp/org/org-colview.el (org-columns--age-to-minutes):
	* lisp/org/org.el (org-get-scheduled-time, org-get-deadline-time)
	(org-add-planning-info, org-2ft, org-time-string-to-absolute)
	(org-closest-date):
	Use org-time-string-to-time instead of doing it by hand with
	encode-time.
	* lisp/org/org.el (org-current-time): Simplify rounding.
	(org-read-date): Avoid extra trip through encode-time.

2019-02-10  Paul Eggert  <eggert@cs.ucla.edu>

	Fix doc string treatment of integer overflow

	* lisp/calendar/cal-dst.el (calendar-dst-find-startend):
	Fix doc string.

2019-02-10  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer encode-time to its alias

	* lisp/calendar/icalendar.el, lisp/calendar/timeclock.el:
	* lisp/emacs-lisp/timer.el, lisp/gnus/gnus-delay.el:
	* lisp/gnus/gnus-sum.el, lisp/gnus/nndiary.el:
	* lisp/gnus/nnrss.el, lisp/net/newst-backend.el:
	* lisp/net/rcirc.el, lisp/obsolete/xesam.el:
	* lisp/org/org-agenda.el, lisp/org/org-clock.el:
	* lisp/org/org-element.el, lisp/org/org-timer.el:
	* lisp/org/org.el, lisp/progmodes/flymake.el:
	* lisp/url/url-cache.el, lisp/url/url-cookie.el:
	Use encode-time instead of its alias seconds-to-time.

2019-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/emacs-lisp/package-tests.el: Allow extra extras

	(package-test--compatible-p): New function.
	(package-test-desc-from-buffer, package-test-install-single): Use it.
	(package-x-test-upload-buffer, package-x-test-upload-new-version):
	Don't burp in presence of extra extras.

2019-02-10  Mattias Engdegård  <mattiase@acm.org>

	Document that [:cntrl:] does not match DEL (Bug#34391)

	* doc/lispref/searching.texi (Character Classes):
	* lisp/emacs-lisp/rx.el (rx):
	Document that [:cntrl:] excludes DEL.
	* test/src/regex-emacs-tests.el (regex-tests-PTESTS-whitelist):
	Swap misplaced comments and fix wrong code for DEL.

2019-02-10  João Távora  <joaotavora@gmail.com>

	Properly remove stale Flymake diagnostics on :region reports

	Among other bugs fixed, modifying a list structure while iterating it
	is a no-no.  This would again cause duplicate diagnostics.  See
	https://github.com/joaotavora/eglot/issues/223 for an example.

	* lisp/progmodes/flymake.el (Version): Bump to 1.0.5
	(flymake--handle-report): Use cl-loop.

2019-02-10  Eli Zaretskii  <eliz@gnu.org>

	Unbreak the Cygw32 build

	* src/emacs.c (main) [HAVE_NTGUI]: Remove code that is only
	for WINDOWSNT or condition it on WINDOWSNT.  (Bug#34409)

2019-02-10  João Távora  <joaotavora@gmail.com>

	Cleanup stale diagnostics on Flymake restart

	Not doing so would cause duplicate diagnostics.  See
	https://github.com/joaotavora/eglot/issues/223 for an example.

	* lisp/progmodes/flymake.el (Version): 1.0.4
	(flymake-mode): Cleanup overlays before starting Flymake.

2019-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/ecomplete.el (ecomplete-add-item): Simplify.

2019-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t assume CURRENT_TIME_LIST

	* lisp/gnus/gnus-delay.el (gnus-delay-send-queue):
	* lisp/gnus/nnmail.el (nnmail-activate):
	* lisp/mh-e/mh-alias.el (mh-alias-tstamp):
	* lisp/net/newst-backend.el (newsticker--cache-item-compare-by-time):
	Use time-less-p instead of assuming timestamp format.

2019-02-08  Alex Branham  <alex.branham@gmail.com>

	Fix byte compile warnings in checkdoc.el

	* lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): Fix
	  byte compile warnings by requiring lisp-mnt top-level, remove XEmacs
	  compatibility code.

	Bug#34290

2019-02-08  Tassilo Horn  <tsdh@gnu.org>

	Impl. json-pretty-print with replace-region-contents + minimization

	* lisp/json.el (json-pretty-print): Use the new
	  replace-region-contents.  Add prefix arg for minimization.
	(json-pretty-print-buffer): Add prefix arg for minimization.
	(json-pretty-print-buffer-ordered): Add prefix arg for minimization.
	(json-pretty-print-ordered): Add prefix arg for minimization.

2019-02-08  Tassilo Horn  <tsdh@gnu.org>

	Add new function replace-buffer-contents

	* src/editfns.c (Freplace_buffer_contents): Use lower value of
	  too_expensive and enable heuristic.
	* lisp/subr.el (replace-region-contents): New convenient wrapper
	  function around replace-buffer-contents.

2019-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el: Improve generated foo-pkg.el

	(package-generate-description-file): Make first line more informative.
	(package-buffer-info): Include keywords, to more closely match
	elpa.git's archive--metadata.

2019-02-08  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	0cd7b52 (origin/emacs-26) Minor improvements to do strings in callproc.c
	b8c7017 Improve documentation of 'date-to-time' and 'parse-time-string'
	46095a7 Fix downloading of URLs that end in a slash
	3b60a0a * doc/misc/eww.texi (Basics): Fix eww keybindings.  (Bug#34291)
	8e22025 Fix process-thread docstring
	459b669 Fix failures of vc-find-revision with non-ASCII file names
	e9ff190 * doc/lispref/tips.texi (Documentation Tips): Fix quotes.  (B...
	3e49a08 ; * src/coding.h (struct coding_system): Fix a typo in a comm...
	b657286 Add documentation for tabulated-list functions in the elisp m...
	6e0f67b Fix URL in ucs-normalize.el
	ce3ae1f * etc/PROBLEMS: Amend entry for profiler bug #34235 to mentio...

	# Conflicts:
	#	doc/lispref/os.texi

2019-02-08  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	9d87ba1 * etc/PROBLEMS: Mention profiler-report bug (Bug#34235).

2019-02-08  Robert Pluim  <rpluim@gmail.com>

	Unify three font info structures

	* src/ftfont.h (struct font_info): New type, unifies similar types
	from ftcrfont.c, ftfont.c and xftfont.c
	* src/xftfont.c (struct xftfont_info): Remove, replace with struct
	font_info.  Adjust all uses.
	* src/ftcrfont.c (struct ftcrfont_info): Likewise.
	* src/ftfont.c (struct ftfont_info): Likewise.

	(cherry picked from commit 9e0d69b5a17a0fa3b0dd099a51584a85f3ddb5bf)

2019-02-08  Robert Pluim  <rpluim@gmail.com>

	Unify three font info structures

	* src/ftfont.h (struct font_info): New type, unifies similar types
	from ftcrfont.c, ftfont.c and xftfont.c
	* src/xftfont.c (struct xftfont_info): Remove, replace with struct
	font_info.  Adjust all uses.
	* src/ftcrfont.c (struct ftcrfont_info): Likewise.
	* src/ftfont.c (struct ftfont_info): Likewise.

2019-02-07  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes for last change

	* etc/NEWS: Announce the change in EWW download behavior.

	* lisp/net/eww.el (eww-download): Doc fix.  (Bug#34291)

2019-02-07  Nick Drozd  <nicholasdrozd@gmail.com>

	Download of URL in EWW falls back on current URL

	* lisp/net/eww.el (eww-download): If there's no URL at point,
	download the current URL instead.  Previous behavior was to
	signal an error if there was no URL at point.  (Bug#34291)
	* doc/misc/eww.texi (Basics): Update documentation.

2019-02-07  Eli Zaretskii  <eliz@gnu.org>

	Minor fix for unexec builds.

	* src/emacs.c (main): Fix assertions and logic for pdump
	loading in builds that can both unexec and pdump.

2019-02-07  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults on MS-Windows in enexec'ed Emacs

	* src/emacs.c (main) [WINDOWSNT]: Fix logic of using dynamic
	heap in unexec case.  (Bug#34277)

2019-02-07  Dmitry Gutov  <dgutov@yandex.ru>

	Avoid unnecessary consing in project--files-in-directory

	* lisp/progmodes/project.el (project--remote-file-names): New function.
	(project--files-in-directory): Use it.

2019-02-07  Ian Dunn  <dunni@gnu.org>

	Add vc-hg-revert-switches

	* lisp/vc/vc-hg.el (vc-hg-revert-switches): New option.
	(vc-hg-revert): Use it.

2019-02-07  Dmitry Gutov  <dgutov@yandex.ru>

	Rename multifile.el to fileloop.el

	* lisp/multifile.el: Rename to fileloop.el as discussed in
	https://lists.gnu.org/r/emacs-devel/2018-12/msg00475.html.
	Update symbol prefixes and all callers

2019-02-07  Aurelien Aptel  <aaptel@suse.com>

	Revert "Fix typo in add-hook doc string"

	This reverts commit 7fd2ad755e7fa599697648ac4c971e834de75bf3.

2019-02-06  Juri Linkov  <juri@linkov.net>
	    João Távora  <joaotavora@gmail.com>

	Make window choice in xref commands configurable

	Previously, it wasn't easy to tell xref.el commands like
	xref-find-definitions or xref-find-definitions-other-window how to
	choose a window for the *xref* buffer or how to find windows for
	displaying the results after choosing a candidate.  This patch makes
	that task easier, but keeps the current behavior intact.


	* lisp/progmodes/xref.el (xref--show-pos-in-buf): Simplify.

2019-02-06  Robert Pluim  <rpluim@gmail.com>

	Add dwim function for inserting @ref variants

	* lisp/textmodes/texinfo.el (texinfo-insert-dwim-@ref): New function.
	Insert @ref variant based on surrounding context.
	(texinfo-mode-map): Add binding for texinfo-insert-dwim-@ref.

	* etc/NEWS: Describe new texinfo dwim reference functionality.

2019-02-06  Aurelien Aptel  <aaptel@suse.com>

	Fix typo in add-hook doc string

	* lisp/subr.el (add-hook): fix typo in doc string.

2019-02-06  Eli Zaretskii  <eliz@gnu.org>

	Unbreak interactive invocation of temacs on MS-Windows

	* src/emacs.c (main) [WINDOWSNT]: Allow to invoke temacs
	interactively without the --temacs= option.

2019-02-06  Eli Zaretskii  <eliz@gnu.org>

	Prevent segfaults when running inside docker

	* src/coding.c (syms_of_coding): New symbol Qus_ascii.
	(reset_coding_after_pdumper_load): Call
	set-safe-terminal-system-internal to set up
	safe_terminal_coding after restoring from pdump file.
	Reported by Philippe Vaucher <philippe.vaucher@gmail.com>.

2019-02-06  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#34196

	* lisp/autorevert.el (auto-revert-buffers): Handle buffers with a
	remote default-directory only, when they are connected.  (Bug#34196)

	* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
	Set "connected" property.

	* lisp/net/tramp.el (tramp-process-actions): Revert change from
	2019-02-04.  Bug#34196 will be solved in autorevert.el.

2019-02-05  Robert Pluim  <rpluim@gmail.com>

	Fix network stream tests

	* test/lisp/net/network-stream-tests.el
	(make-ipv6-tcp-server-with-unspecified-port): Skip if IPv6 is not available.
	(make-ipv6-tcp-server-with-specified-port): Likewise.
	(echo-server-with-local-ipv6): Likewise.

2019-02-04  Glenn Morris  <rgm@gnu.org>

	* make-dist: Prefer a temporary manifest file.

	This prevents the manifest cluttering up the build tree,
	and possibly getting stale if --no-update is used.

2019-02-04  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults due to image cache being cleared during redisplay

	* src/xdisp.c (redisplay_internal): Set the
	inhibit_clear_image_cache flag of a frame while its windows
	are being redisplayed, and reset the flag after the call top
	update_frame returns.
	* src/image.c (clear_image_cache): Do nothing if the frame's
	inhibit_clear_image_cache flag is set.  (Bug#34256)
	* src/frame.h (struct frame): New flag inhibit_clear_image_cache.

2019-02-04  Robert Pluim  <rpluim@gmail.com>

	Don't map imaps to 993 anymore except on old Windows versions

	'open-network-stream' will do the imaps service lookup itself, and
	using 993 forced the user to use the numeric value in .authinfo for
	certificate lookups.

	* lisp/gnus/nnimap.el (nnimap-map-port): Only do mapping for Windows
	XP or earlier.
	* etc/NEWS: Describe imaps mapping change.

2019-02-04  Eli Zaretskii  <eliz@gnu.org>

	Support (locale-info 'paper) on MS-Windows

	* src/w32proc.c (LOCALE_IPAPERSIZE): Define if undefined.
	(nl_langinfo): Support _NL_PAPER_WIDTH and _NL_PAPER_HEIGHT
	like glibc does.
	* src/fns.c (Flocale_info): Update the doc string.

	* nt/inc/langinfo.h: Add _NL_PAPER_WIDTH and _NL_PAPER_HEIGHT
	to the enumeration.
	(_NL_PAPER_WIDTH, _NL_PAPER_HEIGHT): Define namesake macros.
	* nt/mingw-cfg.site (emacs_cv_langinfo__nl_paper_width): Set
	to 'yes'.

	* doc/lispref/nonascii.texi (Locales): Update the
	documentation of 'locale-info' for the argument of 'paper'.

	* etc/NEWS: Update the locale-info entry.

2019-02-04  Federico Tedin  <federicotedin@gmail.com>

	Allow doc-view to open password-protected PDF files (bug#33684)

	* lisp/doc-view.el (doc-view-ghostscript-options): Removed "-sDEVICE"
	option.
	(doc-view-ghostscript-device): New customizable variable, passed as
	"-sDEVICE" option to GhostScript.
	(doc-view-pdf-password-protected-ghostscript-p): New function.
	(doc-view-pdf->png-converter-ghostscript): Can now open
	password-protected PDF files.
	(doc-view-pdfdraw-program-subcommand): New function.
	(doc-view-pdf-password-protected-pdfdraw-p): New function.
	(doc-view-pdf->png-converter-mupdf): Can now open password-protected
	PDF files.
	* etc/NEWS: Mention new doc-view-mode feature.

2019-02-04  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#34196

	* lisp/net/tramp.el (tramp-process-actions): Disable `global-auto-revert-mode'
	temporarily.  (Bug#34196)

2019-02-04  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp host name completion

	* lisp/net/tramp-rclone.el (tramp-default-host-alist): Add empty host.

	* lisp/net/tramp.el (tramp-parse-auth-sources): Require :port.

2019-02-04  Robert Pluim  <rpluim@gmail.com>

	Use IPv6 localhost when family is 'ipv6

	This fixes Bug#34193

	* src/process.c (Fmake_network_process): Explicitly use ::1 when
	using IPv6 with 'local.  Update docstring.

	* test/lisp/net/network-stream-tests.el
	(make-ipv6-tcp-server-with-unspecified-port):
	(make-ipv6-tcp-server-with-specified-port): Test creating ipv6
	local server.
	(make-server): Add optional family argument, default ipv4
	(echo-server-with-local-ipv4): Test connecting to 'local ipv4
	(echo-server-with-local-ipv6): Test connecting to 'local ipv6

	* doc/lispref/processes.texi (Network Processes): Describe
	behavior when using 'local.

	* etc/NEWS: Document new 'make-network-process' behavior when
	connecting to 'local with ipv6.

2019-02-03  Juri Linkov  <juri@linkov.net>

	* lisp/tar-mode.el (tar-extract): Call tar--try-jka-compr (bug#34251)

	* lisp/tar-mode.el (tar--try-jka-compr): New function copied from
	archive-try-jka-compr.

	* lisp/arc-mode.el (archive-try-jka-compr): Set buffer-multibyte to t
	instead of let-binding coding-system-for-read to 'no-conversion.

	* test/data/decompress/tg.tar.gz:
	* test/data/decompress/zg.zip: New fixtures.

	* test/lisp/arc-mode-tests.el (arc-mode-test-zip-extract-gz):
	* test/lisp/tar-mode-tests.el (tar-mode-test-tar-extract-gz): New tests.

	* test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock)
	(diff-mode-test-font-lock-syntax-one-line): Skip unless shell and
	diff executables are found.

2019-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Work on accept-process-output in Tramp

	* lisp/net/tramp.el (tramp-accept-process-output): Rework timer
	handling.
	(tramp-call-process): Adapt VEC if nil.
	(tramp-interrupt-process): Use `tramp-accept-process-output'.
	(tramp-process-lines): New defun.
	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
	* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names): Use it.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
	Use timeout 0 in `tramp-accept-process-output'.

	* test/lisp/net/tramp-tests.el (tramp--test-timeout-handler): Move up.
	(tramp-test29-start-file-process, tramp-test30-make-process)
	(tramp-test32-shell-command)
	(tramp--test-shell-command-to-string-asynchronously): Use it.
	(tramp-test35-remote-path): Suppress warning.
	(tramp--test-asynchronous-requests-timeout): New defconst.
	(tramp-test43-asynchronous-requests): Skip if not the only test.
	Use `tramp--test-asynchronous-requests-timeout'.
	Remove instrumentation.  Use `start-process-shell-command' for
	watchdog.  Add timeout in timer function.  Print status messages.
	Remove file operations from sentinel.  Suppress timers in
	`accept-process-output'.

2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Support (locale-info 'paper) on GNU platforms

	* configure.ac (HAVE_LANGINFO__NL_PAPER_WIDTH): New macro.
	* src/fns.c (Flocale_info) [HAVE_LANGINFO__NL_PAPER_WIDTH]:
	Get paper width and height from locale.

2019-02-02  Juri Linkov  <juri@linkov.net>

	* test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock): New test.

	(diff-mode-test-font-lock-syntax-one-line): New test for one line.

	* test/data/vc/diff-mode/hello_world.c:
	* test/data/vc/diff-mode/hello_world_1.c:
	* test/data/vc/diff-mode/hello_emacs.c:
	* test/data/vc/diff-mode/hello_emacs_1.c: New fixtures.

	* lisp/vc/diff-mode.el (diff-syntax-fontify): Move remove-overlays
	from diff-syntax-fontify-hunk.  (Bug#33567)
	(diff-syntax-fontify-hunk): Remove VISIT arg from insert-file-contents.

2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-02-02 dtoastr, ftoastr, ldtoastr: port to c-strtod changes
	2019-02-01 c-strtod, c-strtold: use the bug fixes
	2019-01-30 strtold: New module
	* doc/misc/texinfo.tex, lib/ftoastr.c, lib/regexec.c, lib/stdlib.in.h:
	* m4/stdlib_h.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* m4/c-strtod.m4: Remove.

2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix unlikely user-full-name integer overflow

	* src/editfns.c (Fuser_full_name):
	Don’t assume uid fits into fixnum.

2019-02-02  Eli Zaretskii  <eliz@gnu.org>

	Prevent segfault in bootstrap-emacs on MinGW

	* src/emacs.c (main) [WINDOWSNT]: Fix logic of determining by
	argv[0] whether to use the static heap.  (Bug#34277)

2019-02-02  Felicián Németh  <felician.nemeth@gmail.com>

	Fix Bug#34221

	* lisp/progmodes/project.el (project--files-in-directory):
	Support remote files.  (Bug#34221)

2019-02-02  Martin Rudalics  <rudalics@gmx.at>

	Fix window splitting behavior of 'display-buffer-at-bottom'

	* lisp/window.el (display-buffer-at-bottom): Never split an
	arbitrary bottom window.  Try to split the frame's main
	window instead (Bug#33870).

2019-02-02  Martin Rudalics  <rudalics@gmx.at>

	Fix bugs caused by running window change functions during redisplay

	* src/xdisp.c (redisplay_internal): Run window change
	functions before updating the display so changes induced by
	these functions can get caught by redisplay (Bug#34138).
	* src/window.c (run_window_change_functions): Bind
	Qinhibit_redisplay to avoid that the minibuffer window gets
	resized while running window change functions (Bug#34179,
	Bug#34260).

2019-02-01  Glenn Morris  <rgm@gnu.org>

	* .gitignore: Add MANIFEST.

	* make-dist: Avoid "Bad fd number" error with dash.

2019-02-01  Glenn Morris  <rgm@gnu.org>

	* make-dist: Remove references to src/stamp-h.in.

	This file was removed two years ago in 2f89350.

2019-02-01  Glenn Morris  <rgm@gnu.org>

	* make-dist: Fix --no-update with no pre-existing MANIFEST.

2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>

	Restore SETFATTR substitution

	* configure.ac (SETFATTR): Restore the AC_SUBST of this
	that was inadvertently removed when pdumper support was added.
	Need for ./configure --with-dumping=unexec on Fedora 29.

2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>

	Make make-dist more automatic

	Simplify make-dist maintenance by having it generate its
	list of files more automatically.  Put the list of distributed
	files into a file MANIFEST that can be used in the unusual
	situations when you’re making a distribution without having
	access to a Git repository.
	* make-dist (top_level_ChangeLog): Now nonempty if the
	distribution tarball will contain a ChangeLog, instead of
	being nonempty when a ChangeLog is requested, Git is present
	and a readable ChangeLog exists.  The new interpretation makes
	the script a bit easier to follow.
	(possibly_non_vc_files, info_files, mkdir_verbose)
	(file_to_skip, MANIFEST_subdir_sed, tempsubdirs):
	New variables.
	(MANIFEST): Update and use this file, which now records what
	files are distributed.
	(top_level, subdir, files, file): Remove.

2019-02-01  Glenn Morris  <rgm@gnu.org>

	* configure.ac (emacs_config_features): Add pdumper and unexec.

2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>

	Rename CANNOT_DUMP to HAVE_UNEXEC

	* configure.ac (CANNOT_DUMP): Remove.  All uses removed,
	or changed to the negative of with_unexec.
	(HAVE_UNEXEC): New macro.  All uses of CANNOT_DUMP changed
	to the negative of this macro.

2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>

	Omit some linker hacks if not doing unexec

	* configure.ac (LDFLAGS, LD_SWITCH_SYSTEM_TEMACS):
	Omit some funky linker flags if not supporting unexec.

	Use macOS linker hacks only if needed
	* configure.ac: On darwin, link with -fno-pie and -headerpad
	only if configuring with unexec.

2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>

	Stop using macOS -prebind option

	* configure.ac (LD_SWITCH_SYSTEM_TEMACS): Remove -prebind,
	which has been obsolete and ineffective since Mac OS X 10.4 (2005),
	which was never necessary for correct operation, and which now
	generates annoying warnings.  Problem reported by Robert Pluim in:
	https://lists.gnu.org/r/emacs-devel/2019-01/msg00761.html

2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	6c6b540711 Correct the docs of inserting kmacro counter
	32555daf4c * doc/misc/calc.texi (Algebraic Tutorial): Fix a typo.  (B...

2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	7ba8f80398 Avoid errors in 'rmail-get-new-mail'
	9c8412a0b8 Fix process-contact bug with TCP connections

	# Conflicts:
	#	src/process.c

2019-02-01  Mattias Engdegård  <mattiase@acm.org>

	Make the rx operators \? and \?? behave correctly

	* lisp/emacs-lisp/rx.el (rx-kleene):
	Treat \? and \?? like ? and ?? (Bug#34100).
	* test/lisp/emacs-lisp/rx-tests.el: Add tests for all repetition operators.

2019-01-31  Dmitry Gutov  <dgutov@yandex.ru>

	js--re-search-backward-inner: Fix infloop

	Fix JS indentation infloop reported in
	https://github.com/mooz/js2-mode/issues/513.

	* lisp/progmodes/js.el (js--re-search-backward-inner): Account for
	multiline string literals.
	* test/manual/indent/js.js: New test example.

2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer static to extern where either will do

	* src/charset.c (charset_table_size):
	* src/pdumper.c (dump_private):
	* src/sysdep.c (init_sigsegv):
	* src/window.c (old_selected_window):
	Now static.
	* src/charset.c (charset_table_size):
	Now int, since the value always fits in int.
	* src/gtkutil.c (xg_gtk_initialized): Now present only if
	HAVE_XWIDGETS, to make it clearer that this is an xwidgets
	hack.  All uses changed.
	* src/lread.c (ndefsubr): Remove; unused.
	* src/pdumper.h: Use usual GNU indenting style for functions,
	since my static-vs-extern checking hack relies on it.
	(dump_public): Always declare; simpler and doesn’t hurt.
	(pdumper_handle_page_fault): Remove unused decl.

2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>

	Widen modiff counts to avoid wraparound

	Widen modification counts to at least 64 bits, to make
	wraparound practically impossible.
	* doc/lispref/buffers.texi (Buffer Modification):
	Don’t say the modification-count can wrap around.
	* src/buffer.c (Frestore_buffer_modified_p, Fbuffer_swap_text)
	(modify_overlay):
	* src/insdel.c (insert_1_both, insert_from_string_1)
	(insert_from_gap, insert_from_buffer_1)
	(adjust_after_replace, replace_range, replace_range_2)
	(del_range_2, modify_text):
	* src/textprop.c (modify_text_properties):
	Use modiff_incr instead of incrementing	directly.
	(Fbuffer_modified_tick, Fbuffer_chars_modified_tick):
	Don’t assume modification counts fit into fixnums.
	* src/buffer.h (struct buffer_text, struct buffer):
	* src/cmds.c (internal_self_insert):
	* src/fileio.c (Finsert_file_contents):
	* src/indent.c (last_known_column_modified):
	* src/keyboard.c (command_loop_1):
	* src/marker.c (cached_modiff):
	* src/syntax.c (find_start_modiff, parse_sexp_propertize)
	(find_defun_start):
	* src/window.h (struct window):
	Use modiff_count for modification counts.
	* src/editfns.c (Fsubst_char_in_region):
	Copy instead of incrementing modification counts,
	since integer overflow checking is not needed here.
	* src/lisp.h (modiff_count): New type.
	(modiff_incr, modiff_to_integer): New inline functions.
	* src/pdumper.c (dump_buffer): Update hash.

2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>

	Minor pdumper simplification

	* src/pdumper.c (dump_roots, pdumper_load): Simplify initialization.
	(dump_bitset_init, pdumper_load): Omit unnecessary assignments.
	(dump_bitset_destroy): Remove; never called.  All callers removed.
	(dump_do_dump_relocation, pdumper_load): Add FIXME comment.
	(pdumper_load): Simplify by assuming C99.  Remove unused local.

2019-01-30  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	b94d767 (origin/emacs-26) Minor copyedits in last manual change
	73508e6 Improve documentation of face numbers
	bf235ce * doc/emacs/custom.texi (Authentication): Refer to the "Help ...
	ceccb3c New node Authentication in the Emacs manual
	9078f34 Fix a loop in c-fl-decl-start.  This fixes bug #34186.
	a177fe7 Fix LaTeX output of month and day from cal-tex.el
	90177d7 Avoid elisp crash for OpenPGP User IDs with no e-mail address
	68e55a0 image-mode: Do not use default scaling (bug#33990)
	b6c762a create-image: Expand documentation (bug#33990)
	928d342 Improve documentation of 'isearch-filter-predicate'
	9034dd6 Fix cursor column positioning on Grep hits

	# Conflicts:
	#	doc/emacs/custom.texi

2019-01-30  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem in filenotify-tests

	* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
	Adapt `accept-process-output' argument.

	* test/lisp/filenotify-tests.el (file-notify--deftest-remote):
	Remove :unstable tag.

2019-01-30  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-rclone.el (tramp-rclone-mounted-p): Fix thinko.

2019-01-30  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el

	(tramp-test43-asynchronous-requests): Tag it :unstable also for
	emba.  Adapt `accept-process-output' arguments.

2019-01-29  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/filenotify-tests.el (file-notify--deftest-remote):

	Tag as :unstable.

2019-01-29  Robert Pluim  <rpluim@gmail.com>

	Move some descriptions to the right section

	* etc/NEWS: Move ibuffer and gnus change descriptions to
	mode-specific section.

2019-01-29  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of pdump file installation

	* doc/lispref/internals.texi (Building Emacs): Correct the
	directory where the pdump file is installed.  (Bug#34244)

2019-01-29  Michael Albinus  <michael.albinus@gmx.de>

	Adapt `accept-process-output' arguments in tramp-tests

	* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
	(tramp-test30-make-process, tramp-test31-interrupt-process)
	(tramp-test32-shell-command)
	(tramp--test-shell-command-to-string-asynchronously)
	(tramp-test43-asynchronous-requests):
	Adapt `accept-process-output' arguments.

2019-01-28  Juri Linkov  <juri@linkov.net>

	Small fixes

	* lisp/generic-x.el (etc-passwd-generic-mode): Add comment.  (Bug#34225)

	* lisp/vc/diff-mode.el (diff-syntax-fontify-hunk): Set overlay
	property 'diff-mode to 'syntax.  (Bug#33567)
	(diff-syntax-fontify-props): Reset buffer-file-name to nil.

2019-01-28  Glenn Morris  <rgm@gnu.org>

	* src/Makefile.in (clean): Delete versioned pdmp files.

	Else build number increments without limit even in clean builds.

2019-01-28  Juri Linkov  <juri@linkov.net>

	More checks for live buffers.

	* lisp/dired-x.el (dired-jump): Check if archive/tar superior buffer
	was killed by the user.

	* lisp/progmodes/ruby-mode.el (ruby-flymake--helper): Check if source buffer
	was killed by the user immediately after visiting and before process finishes.

2019-01-28  Juri Linkov  <juri@linkov.net>

	* lisp/generic-x.el (etc-passwd-generic-mode): Support backups of passwd,

	group and shadow /etc files.  (Bug#34225)

2019-01-28  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in xfaces.c

	* src/xfaces.c (init_xfaces): Don't rely of 'face'
	property of a face to be a natural number.

2019-01-28  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults): Adapt test.

2019-01-28  Michael Albinus  <michael.albinus@gmx.de>

	Adapt accept-process-output timeouts in Tramp

	* lisp/net/tramp.el (tramp-accept-process-output):
	Make timeout optional.  Do not set explicit timer.
	(tramp-action-out-of-band, tramp-process-one-action)
	(tramp-wait-for-regexp, tramp-interrupt-process):
	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
	* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
	* lisp/net/tramp-smb.el (tramp-smb-action-get-acl)
	(tramp-smb-action-set-acl, tramp-smb-wait-for-output):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
	Adapt `accept-process-output' calls wrt timeouts.

2019-01-28  Eli Zaretskii  <eliz@gnu.org>

	Fix bug with face-id after restoring from pdump

	* src/xfaces.c (init_xfaces): New function.
	* src/emacs.c (main) [HAVE_PDUMPER]: If dumped with pdumper,
	call init_xfaces.  (Bug#34226)
	* src/lisp.h (init_xfaces) [HAVE_PDUMPER]: Add prototype.

	* test/lisp/faces-tests.el (faces--test-face-id): New test for
	bug#34226.

2019-01-28  Sam Steingold  <sds@gnu.org>

	links: also link pdmp

2019-01-28  Alan Mackenzie  <acm@muc.de>

	Detect when we hit limit in backward search in c-just-after-func-arglist-p

	This fixes a bug reported by Yasushi SHOJI <yasushi.shoji@gmail.com> to
	emacs-devel on 2018-11-26, where wrong analysis and fontification occurred.

	* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Add new parameter
	HIT-LIM which, if non-nil causes the function to return nil rather than 'same
	when we reach the backward search limit without finding the beginning of
	statement.
	(c-just-after-func-arglist-p): Supply argument t to this new parameter in call
	to c-beginning-of-statement-1.

2019-01-27  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2019-01-26 getloadavg: Add support for Android
	2019-01-24 fchownat: Fix compilation error on Android 4.3
	2019-01-24 mbtowc: Fix compilation error on Android 4.3
	2019-01-24 random: Fix compilation error on Android 4.3
	2019-01-24 renameat: Fix compilation error on Android 4.3
	2019-01-24 unlinkat: Fix compilation error on Android 4.3
	2019-01-19 gettext: support disabling use of VLAs
	2019-01-17 sys_stat: Fix warning on OS/2 kLIBC
	2019-01-17 fcntl: Fix syntax error (regression from 2018-10-05)
	2019-01-10 verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++
	2018-12-22 stdioext: port to newer 32-bit Android
	2018-12-16 libc-config: Support HP-UX cc in C99 mode.
	* build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
	* lib/cdefs.h, lib/fcntl.c, lib/getloadavg.c, lib/gettext.h:
	* lib/regexec.c, lib/stdio-impl.h, lib/stdio.in.h, lib/stdlib.in.h:
	* lib/sys_stat.in.h, lib/unistd.in.h, lib/verify.h, m4/stdlib_h.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2019-01-27  Paul Eggert  <eggert@cs.ucla.edu>

	forward-line now works with bignums

	* src/cmds.c (Fforward_line): Support bignum arg.
	(scan_newline): Return void since no caller was using the
	return value.
	* src/search.c (find_newline, scan_newline_from_point)
	(find_newline1): Return the number of newlines counted, not
	the count shortage, so that the return value always fits in
	ptrdiff_t even if the original count was a bignum.  All
	callers changed.
	* test/src/cmds-tests.el (forward-line-with-bignum): New test.

2019-01-27  Eli Zaretskii  <eliz@gnu.org>

	Improve pdump load diagnostics

	* src/emacs.c (load_pdump): Improve diagnostics when pdump
	file fails to load correctly.

2019-01-26  Eli Zaretskii  <eliz@gnu.org>

	* src/emacs.c (load_pdump): Fix a thinko in last change.

2019-01-26  Eli Zaretskii  <eliz@gnu.org>

	Improve pdump file search and 'pdumper-stats'

	* src/pdumper.c (pdumper_record_wd): New function.
	(pdumper_load): Use xstrdup instead of strdup, as on
	MS-Windows the latter uses the wrong heap.  Don't free a
	NULL pointer.
	* src/emacs.c (load_pdump): Support the use case where the
	Emacs binary was renamed: look in exec-directory for the
	pdump file whose base name is derived from the Emacs binary,
	in addition to just emacs.pdmp.
	(main): Call pdumper_record_wd to prepend CWD to the pdump
	file name.
	* src/fileio.c (file_name_absolute_p): Now extern.
	* src/lisp.h (file_name_absolute_p): Add prototype.
	* src/pdumper.h (pdumper_record_wd): Add prototype.

	* doc/emacs/cmdargs.texi (Initial Options): Update the
	documentation of where Emacs looks for the dump file.

2019-01-26  Eli Zaretskii  <eliz@gnu.org>

	Fix face initializations in pdump'ed Emacs

	* src/dispnew.c (init_display_interactive): Call init_faces_initial
	in the daemon if dumped with pdumper. (Bug#34114)

2019-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/loadup.el (load-file-name): Set back to nil

2019-01-25  João Távora  <joaotavora@gmail.com>

	Adjust previous electric.el and elec-pair.el change

	This fixes a serious bug introduced previously
	electric-pair-inhibit-if-helps-balance and
	electric-pair-skip-if-helps-balance, whereby "innocent" markers were
	being pushed by those function's new save-change-and-restore
	semantics.  The fix can probably still be improved.

	It also adds comments to parts of the code, where deemed necessary.

	* lisp/elec-pair.el (electric-pair--insert): Add comment.
	(electric-pair--save-literal-point-excursion): New helper macro.
	(electric-pair-inhibit-if-helps-balance)
	(electric-pair-skip-if-helps-balance): Don't use
	insert-before-markers since it may hurt other markers that have
	nothing to do with the 'save-excursion'.
	(electric-pair-post-self-insert-function): Use
	electric-pair--save-literal-point-excursion.

	* lisp/electric.el (electric-indent-post-self-insert-function):
	Remove lexical variable.

2019-01-25  João Távora  <joaotavora@gmail.com>

	Use minibuffer-default in completion-all-sorted-completions (bug#34083)

	* lisp/minibuffer.el (completion-all-sorted-completions): Sort with the
	default on top.

2019-01-25  Alex Branham  <alex.branham@gmail.com>

	Make tabulated-list-mode-map inherit from special-mode-map

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Use
	  'make-composed-keymap'.

	Bug #30452

2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>

	image-mode: Make parameters buffer-local

	Image parameters were treated as image specific, but because they
	actually were global variables, their behavior transferred to new
	images.
	* lisp/image-mode.el (image-transform-resize, image-transform-scale)
	(image-transform-rotation): Declare with defvar-local.  (Bug#33990)

2019-01-24  Michael Albinus  <michael.albinus@gmx.de>

	Some fixes in tramp-smb.el

	* lisp/net/tramp-smb.el (tramp-smb-errors):
	Add "NT_STATUS_NOT_A_DIRECTORY".
	(tramp-smb-maybe-open-connection): Respect ´non-essential'.  Do
	not record smbserver-version.
	(tramp-smb-wait-for-output): Improve reading pending output.

2019-01-24  Eli Zaretskii  <eliz@gnu.org>

	Avoid byte-compiler warning in starttls.el

	* lisp/net/network-stream.el (starttls-open-stream): Declare
	to avoid compilation warning.

2019-01-24  Robert Pluim  <rpluim@gmail.com>

	Check for client certificates when using GnuTLS

	This fixes Bug#33780, and extends the documentation to describe how to
	enable use of client certificates.

	* lisp/net/network-stream.el (network-stream-certificate): Correct
	order of parameters to plist-get.
	(network-stream-open-tls): Pass all received parameters to
	open-gnutls-stream as plist, not just :nowait.

	* lisp/net/gnutls.el (open-gnutls-stream): Change optional nowait arg
	to be plist.  Derive nowait and client certificate(s) and keys(s) from
	plist (maybe via auth-source) and pass to gnutls-boot-parameters and
	gnutls-negotiate.
	(network-stream-certificate): Add declare-function form for it.

	* doc/misc/auth.texi (Help for users): Describe format to use for
	client key/cert specification.

	* doc/misc/emacs-gnutls.texi (Help For Developers): Describe usage of
	optional plist argument.  Add crossreference to description of
	.authinfo format for client key/cert specification.

	* etc/NEWS: Describe new client certificate functionality for
	  'open-network-stream'.

	* test/lisp/net/network-stream-tests.el: Add require of network-stream.
	(connect-to-tls-ipv4-nowait): Bind network-security-level to 'low
	in order to bypass nsm prompting.
	(connect-to-tls-ipv6-nowait): Likewise.
	(open-network-stream-tls-wait): New test.
	(open-network-stream-tls-nowait): New test.
	(open-network-stream-tls): New test.
	(open-network-stream-tls-nocert): New test.
	(open-gnutls-stream-new-api-default): New test.
	(open-gnutls-stream-new-api-wait): New test.
	(open-gnutls-stream-old-api-wait): New test.
	(open-gnutls-stream-new-api-nowait): New test.
	(open-gnutls-stream-old-api-nowait): New test.
	(open-gnutls-stream-new-api-errors): New test.
	The new tests exercise 'open-network-stream' and the old and new
	api of 'open-gnutls-stream'.

2019-01-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix error in Tramp's encoding check

	* lisp/net/tramp-sh.el (tramp-find-inline-encoding):
	Use `tramp-get-connection-buffer'.

2019-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	doc-view-presentation, doc-view-fit-window-to-page, and use mutool

	* lisp/doc-view.el (doc-view-pdfdraw-program): Use "mutool" if available.
	(doc-view-mode-map): Keep default 'g' binding of 'revert-buffer'.
	Change 'r' binding to 'revert-buffer'.
	(doc-view-revert-buffer): Make it an obsolete alias.
	(doc-view--revert-buffer): Rename from doc-view-revert-buffer, change
	calling convention for use in add-function.
	(doc-view-fit-window-to-page): New command.
	(doc-view-pdf->png-converter-mupdf): Make it work with "mutool".
	(doc-view-mode): Use add-function for revert-buffer-function.
	(doc-view-presentation-mode-map, doc-view-presentation--src-data):
	New vars.
	(doc-view-presentation-exit, doc-view-presentation-mode)
	(doc-view-presentation--propagate-pn, doc-view-presentation):
	New functions.

2019-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	Avoid having to build src/emacs when we just want to `make tags`

	* Makefile.in (TAGS tags): Remove `src` from the dependencies.
	* src/Makefile.in (ctagsfiles1): Strip macuvs.h and fingerprint.c.

2019-01-23  Eli Zaretskii  <eliz@gnu.org>

	Fix build errors with pdump fingerprint on macOS

	* src/Makefile.in ($(lispsource)/international/charprop.el):
	Remove macuvs.h from the target list, to avoid circular
	dependency on macOS.  Reported by Alan Third <alan@idiocy.org>.

2019-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	Rework last commit to icomplete and minibuffer.el.

	Rather than let minibuffer-force-complete set up cycling and then undoing it,
	better tell it directly not to setup cycling.  Also be a bit more careful
	to remove the transient map.
	Additionally to bug#34077 and bug#34116, this also relates to bug#25644.

	* lisp/minibuffer.el (completion--flush-all-sorted-completions):
	Also take down the transient cycling map if applicable.
	(minibuffer-force-complete): New arg dont-cycle.
	Set completion-cycling to the actual function that takes down the
	transient map rather than just t.
	(minibuffer-force-complete-and-exit):
	* lisp/icomplete.el (icomplete-force-complete): Use new dont-cycle arg.

2019-01-23  João Távora  <joaotavora@gmail.com>

	Force completion in icomplete with C-M-i, but don't cycle (bug#34077)

	Cycling after forcing a completion with C-M-i in icomplete can be
	confusing, as it leaves rotated prospects in the minibuffer.  In C-x
	C-f, for example it is very difficult to understand if the prospects
	refer to subdirectories of the directory being completed to, which
	happens naturally when the completion is unique; or if they are a
	cycled version of prospects that match the new completion pattern, in
	case the completion happens to still match other items.

	To resolve this confusion, never cycle with C-M-i in icomplete:
	non-ambiguous cycling can be achieved with C-. and C-,

	The former behavior can still be restored with:

	(define-key icomplete-minibuffer-map (kbd "C-M-i") 'minibuffer-force-complete)

	* lisp/icomplete.el (icomplete-force-complete): New command.
	(icomplete-minibuffer-map): Bind C-M-i to icomplete-force-complete.

2019-01-23  João Távora  <joaotavora@gmail.com>

	Avoid cycling in minibuffer-force-complete-and-exit (bug#34116)

	* lisp/minibuffer.el (minibuffer-force-complete-and-exit): Check
	completion-cycling before minibuffer-force-complete.

2019-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	* src/keyboard.c (read_char): Use CALLN.

2019-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/emacs.c (load_pdump): Minor simplification.

2019-01-23  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation of pdumper.c with old buggy GCC

	* src/pdumper.c (emacs_ptr_at): Renamed from emacs_ptr, to
	avoid compilation errors with GCC 4.7.  Reported by Martin
	Rudalics <rudalics@gmx.at>.  All callers changed.

2019-01-23  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-set-file-uid-gid): Fix thinko.

	* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
	Adapt docstring.

2019-01-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package--alist): New

	(package-activate-all): Use it so we only initialize the local part of
	package.el (this reduces the impact of bug#24467 and speeds up startup).
	(package-installed-p): Use it so it works even if package is not
	fully initialized.
	(package-delete): Use it so we only initialize the local part of
	package.el.

2019-01-22  Phillip Lord  <phillip.lord@russet.org.uk>

	Add hook for all events

	* lisp/subr.el (input-event-functions): Add input-event-functions
	* src/keyboard.c (read_char): Call input-event-functions on all hooks

2019-01-22  João Távora  <joaotavora@gmail.com>

	electric-layout-mode kicks in before electric-pair-mode

	This aims to solve problems with indentation.  Previously in, say, a
	js-mode buffer with electric-layout-rules set to

	   (?\{ before after)
	   (?\} before)

	would produce an intended:

	   function ()
	   {
	     <indented point>
	   }

	The initial state

	  function () {

	Would go immediately to the following by e-p-m

	  function () {}

	Only then would e-l-m be applied to } first, and then again to {.
	This makes lines indent in the wrong order, which can be a problem in
	some modes.

	The way we fix this is by reversing the order of e-p-m and e-l-m in
	the post-self-insert-hook (and also fixing a number of details that
	this uncovered).  In the end this changes the sequence from

	  function () {

	By way of e-l-m becomes:

	  function () <newline>
	  {
	  <newline>

	The e-p-m inserts the pair

	  function () <newline>
	  {
	  <newline>}

	And then e-l-m kicks in for the pair again, yielding the desired result

	  function () <newline>
	  {
	  <indented point>
	  }

	* lisp/elec-pair.el (electric-pair--insert): Bind
	electric-layout-no-duplicate-newlines.
	(electric-pair-inhibit-if-helps-balance)
	(electric-pair-skip-if-helps-balance): Use insert-before-markers,
	playing nice with save-excurion.
	(electric-pair-post-self-insert-function): Go to correct position
	before checking electric-pair-inhibit-predicate and
	electric-pair-skip-self predicate.
	(electric-pair-post-self-insert-function): Increase priority to
	50.

	* lisp/electric.el (electric-indent-post-self-insert-function):
	Delete trailing space in reindented line only if line was
	really reindented.  Rewrite comment.
	(electric-layout-allow-duplicate-newlines): New variable.
	(electric-layout-post-self-insert-function-1): Rewrite comments.
	Honors electric-layout-allow-duplicate-newlines.  Don't reindent
	previous line because racecar.

	* test/lisp/electric-tests.el: New test.
	(plainer-c-mode): Move up.
	(electric-modes-int-main-allman-style)
	(electric-layout-int-main-kernel-style): Simplify
	electric-layout-rules.
	(electric-layout-for-c-style-du-jour): New helper.
	(electric-layout-plainer-c-mode-use-c-style): New test.

2019-01-22  João Távora  <joaotavora@gmail.com>

	Remove tests of electric-pair-mode and CC-based modes

	The behavior previously observed in cc-mode-based-modes (and every
	other major-mode) when electric-pair-mode or electric-layout-mode is
	turned on may no longer be observed: this because CC-mode goes around
	the generic implementation of electric-pair-mode.

	An alternative is to bind every delimiter key like '{', '}', etc to
	'self-insert-command, like most major modes already do, at the cost of
	losing c-auto-newline functionality (which was incompatible anyway
	before the recent changes of bug#33794).

	* test/lisp/electric-tests.el
	(electric-pair-test-for): No longer set it.
	(define-electric-pair-test): Use js-mode instead of c++ mode,
	which broke recently.
	(whitespace-chomping-2): Add failing C++ test explicitly.
	(electric-layout-int-main-kernel-style): Use plainer-c-mode.
	(electric-layout-int-main-allman-style): Deleted.
	(electric-modes-int-main-allman-style): Renamed from
	electric-layout-int-main-allman-style.

2019-01-22  Alan Mackenzie  <acm@muc.de>

	Extend electric-pair-mode actions to < and >, and also to ( and ) in literals

	* lisp/progmodes/cc-cmds.el (c-electric-lt-gt): Actuate electric-pair-mode if
	a < or > is typed in a context where this is meaningful (#include, or
	template).
	(c-electric-paren): Allow electric-pair-mode activity in a comment or string.

	* lisp/progmodes/cc-defs.el (c-make-keywords-re): Fix a bug where lists of
	source symbols could get overwritten when parameter adorn is set to
	'appendable.

	* lisp/progmodes/cc-langs.el (c-cpp-include-key): New lang const and var.

2019-01-22  Alan Mackenzie  <acm@muc.de>

	Revert "Fix electric-pair-tests by disabling bug#33794's fix with a variable"

	This reverts commit be505726b68d407a44fdcd9c7ac1ef722398532d.

2019-01-22  Michael Albinus  <michael.albinus@gmx.de>

	Make Tramp tests more robust

	* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
	Bind `tramp-default-method'.
	(tramp--test-file-attributes-equal-p): New defsubst.
	(tramp-test19-directory-files-and-attributes): Use it.

2019-01-22  Michael Albinus  <michael.albinus@gmx.de>

	Respect setgid bit of the upper directory in Tramp

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.4.2-pre".

	* lisp/net/tramp.el: Bump version to 2.4.2-pre.
	(tramp-set-file-uid-gid): Respect setgid bit of the upper directory.
	(tramp-default-file-modes, tramp-handle-insert-file-contents)
	(tramp-mode-string-to-int, tramp-make-tramp-temp-file):
	* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
	(tramp-adb-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
	(tramp-sh-handle-write-region): Use octal constants.

2019-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/titdic-cnv.el: Use lexical-binding

	(tit-process-body): Remove unused vars 'template' and 'second'.
	(tsang-quick-converter): Remove unused args 'name' and 'title'.
	Remove unused var 'slot'.
	(tsang-b5-converter, quick-b5-converter, tsang-cns-converter)
	(quick-cns-converter, py-converter, ziranma-converter)
	(ctlau-converter, ctlau-gb-converter, ctlau-b5-converter):
	Remove unused args 'name' and 'title'.
	(miscdic-convert): Remove unused var 'dicbuf'.
	Don't pass 'name' and 'title' to the conversion function.

2019-01-21  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify pdumper-load via timespectod

	Suggested by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2019-01/msg00458.html
	* src/pdumper.c (pdumper_load): Simplify.

2019-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/pdumper.c (dump_string) [CHECK_STRUCTS]: Fix copy&paste error

	* lisp/electric.el: Fix typo in last change.

2019-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	(electric--sort-post-self-insertion-hook): Accept non-symbol functions

	* lisp/electric.el (electric--sort-post-self-insertion-hook):
	Don't burp on non-symbol functions.

2019-01-21  Alan Third  <alan@idiocy.org>

	Fix occasional pdumper/bootstrap error

	* src/Makefile.in (emacs$(EXEEXT)): Copy the new executable over
	bootstrap-emacs.

2019-01-21  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-set-remote-path): Fix usage of tmpfile.

2019-01-21  Michael Albinus  <michael.albinus@gmx.de>

	Use `inhibit-read-only' in Tramp

	* lisp/net/tramp.el (tramp-process-actions, tramp-accept-process-output)
	(tramp-send-string):
	* lisp/net/tramp-adb.el (tramp-adb-handle-make-process)
	(tramp-adb-send-command-and-check, tramp-adb-wait-for-output):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
	(tramp-wait-for-output, tramp-send-command-and-check):
	* lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
	Use `inhibit-read-only'.

2019-01-20  Michael Albinus  <michael.albinus@gmx.de>

	Use POSIX "df" in Tramp, if available

	* lisp/net/tramp-sh.el (tramp-get-remote-df):
	Support also POSIX.1 "df".
	(tramp-sh-handle-file-system-info): Adapt accordingly.

2019-01-20  Eli Zaretskii  <eliz@gnu.org>

	Support native image resizing on MS-Windows

	* src/w32term.c (x_draw_image_foreground): Scale the image if
	the requested dimensions are different from the bitmap
	dimensions.
	* src/image.c (Fimage_scaling_p): Return t when HAVE_NTGUI.
	(x_set_image_size) [HAVE_NTGUI]: Record the scaled dimensions
	in the image struct.
	* src/dispextern.h (HAVE_NATIVE_SCALING): Define when
	HAVE_NTGUI as well.

	* etc/NEWS: Update the announcement of native image scaling.

2019-01-19  Philipp Stephani  <phst@google.com>

	Improve error data when passing a wrong type to 'sort' (Bug#34104)

	* src/fns.c (Fsort): Use 'list-or-vector-p' for error message.
	(syms_of_fns): Define 'list-or-vector-p'.

	* test/src/fns-tests.el (fns-tests-sort): Extend unit test.

2019-01-19  Paul Eggert  <eggert@cs.ucla.edu>

	pdumper-stats now returns s, not ms

	* doc/lispref/internals.texi (pdumper-stats):
	* src/pdumper.c (pdumper_load): Return seconds, not milliseconds.
	Minimize rounding errors in the usual case.

2019-01-19  Eli Zaretskii  <eliz@gnu.org>

	Minor cleanup in pdumper.c

	* src/pdumper.c (subtract_timespec): Function removed.
	(pdumper_load): Use timespec_sub instead of subtract_timespec.

2019-01-19  Eli Zaretskii  <eliz@gnu.org>

	Improve 'pdumper-stats' and its documentation

	* src/pdumper.c (Fpdumper_stats): Improve formatting and
	wording of the doc string.  Decode the pdump file name and
	expand-file-name it.

	* doc/lispref/internals.texi (Building Emacs): Document
	'pdumper-stats'.

2019-01-19  Eli Zaretskii  <eliz@gnu.org>

	Unbreak the macOS NS build

	* src/xdisp.c (expose_window_tree): Declare and define 'f' on
	NS as well.  Reported by Herbert J. Skuhra <herbert@gojira.at>.

2019-01-18  Dmitry Gutov  <dgutov@yandex.ru>

	Misc ignore-related project.el changes

	* lisp/progmodes/project.el (project-ignores): Don't append the
	default ignores list, just use vc-directory-exclusion-list.
	(project--dir-ignores): Use the default ignores if the dir is
	outside of the current project.
	(project-files): Use project--dir-ignores to support external
	roots better.

2019-01-18  João Távora  <joaotavora@gmail.com>

	Revert "Remove leftover from previous electric-layout-rules API"

	This is a backward-incompatible change, and removing it isn't really
	necessary.

	This reverts commit 942dad2b519cabddf6caea7641517507dc06944b.

2019-01-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	(electric-layout-post-self-insert-function-1): Simplify.

	Call electric--after-char-pos right from the start, and take advantage of the
	fact that it guarantees to return the right position or nil.

2019-01-18  João Távora  <joaotavora@gmail.com>

	Ensure fns in electric-layout-rules are called in right position

	* lisp/electric.el (electric-layout-rules): Ensure rules are
	called from right spot.

2019-01-18  João Távora  <joaotavora@gmail.com>

	Remove leftover from previous electric-layout-rules API

	An element of electric-layout-rules is either a function or a pair
	(CHAR . WHERE), and WHERE can't be a function anymore.

	* lisp/electric.el (electric-layout-post-self-insert-function-1):
	Remove leftover line.

2019-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	Port to platforms where NULL is a pointer

	* src/image.c (x_create_x_image_and_pixmap):
	The Picture type is an integer, not a pointer.
	Come to think of it, Picture is really XID, and as
	far as I can tell, all-bits-one is the invalid XID,
	not all-bits-zero.  However that is a bigger issue;
	for now, this patch just unbreaks the build.

2019-01-18  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of portable dumping

	* src/pdumper.c (Fdump_emacs_portable): Improve the doc string
	and the error messages.

	* doc/lispref/internals.texi (Building Emacs): Document
	portable dumping and the 'dump-emacs-portable' function.

2019-01-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	b6d78a0 (origin/emacs-26) Fix a typo in ELisp manual
	c9f6f86 Prevent redrawing if frame is garbaged
	00ba226 Attempt to fix hangs on MS-Windows due to C-g
	b26d637 Fix Calc graph output on MS-Windows
	03818b0 Fix a minor mistake in ELisp manual
	6ac5985 ; Fix some trivial doc typos
	21b9026 * etc/tutorials/TUTORIAL: Fix typo (bug#34049)
	d223727 Fix UI of Buffer-menu
	0f71655 Reinitialize ispell-really-enchant when changing the speller
	9845044 Speed up loading css-mode

2019-01-18  Eli Zaretskii  <eliz@gnu.org>

	Clean up memory allocation and unexec support on MS-Windows

	* src/w32heap.c (report_temacs_memory_usage): Condition on
	!CANNOT_DUMP, in addition to ENABLE_CHECKING.
	(init_heap): Accept an argument, which tells us what heap
	allocation method to use.
	(DUMPED_HEAP_SIZE) [CANNOT_DUMP]: Define to a small value, as
	we don't use dumped_data[] in this case.
	* src/w32heap.h (init_heap): Adjust prototype.
	<using_dynamic_heap>: Remove declaration.
	* src/emacs.c (main) [WINDOWSNT]: Determine heap allocation
	method based on whether we are in temacs and whether unexec
	will be used to dump Emacs.  Pass the heap allocation method
	to init_heap, which is now called after parsing the
	--temacs=METHOD option.
	* src/unexw32.c (unexec): Don't fiddle with using_dynamic_heap.
	<using_dynamic_heap>: Remove definition.
	* src/w32proc.c (malloc_before_init, realloc_before_init)
	(free_before_init): New functions, to catch memory allocation
	before heap allocation method is set up.

2019-01-17  Dmitry Gutov  <dgutov@yandex.ru>

	Rebase project-find-regexp on top of project-files

	* lisp/progmodes/project.el (project--files-in-directory):
	New function.
	(project-files, project-find-regexp): Use it.
	(project--dir-ignores): New function.
	(project--find-regexp-in): Remove.
	(project--process-file-region): New function.
	(project--find-regexp-in-files): New function.
	(project-find-regexp, project-or-external-find-regexp): Use it, and
	project-files as well.

2019-01-17  Dmitry Gutov  <dgutov@yandex.ru>

	Make 'project-files' the "canonical" generic of the two

	* lisp/progmodes/project.el (project-files): Move the actual
	command building and invocation here.
	(project-file-completion-table): Delegate to 'project-files'.

2019-01-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/sgml-mode.el: Try and fix bug#33887.

	Remove redundant :group args.
	(sgml-syntax-propertize-rules): Speed up processing of most double quotes.

2019-01-17  João Távora  <joaotavora@gmail.com>

	Fix electric-pair-tests by disabling bug#33794's fix with a variable

	The variable c--disable-fix-of-bug-33794, which should be removed in
	the short term in favor of a permanent solution, is introduced.

	It is bound to nil by default.  This means that breakage is still
	happening in actual c-mode and c++-mode usage, though the tests no
	longer show it.

	To get around this breakage, put

	   (setq c--disable-fix-of-bug-33794 t)

	In your init file.  Evidently, you will lose the fix for bug#33794,
	but that only affects a small corner case of c-toggle-auto-newline,
	which is not turned on by default.

	See https://lists.gnu.org/r/emacs-devel/2019-01/msg00360.html
	for more information.

	* lisp/progmodes/cc-cmds.el (c--disable-fix-of-bug-33794): New
	variable.
	(c--with-post-self-insert-hook-maybe): New macro.
	(c-electric-pound, c-electric-brace, c-electric-slash)
	(c-electric-star, c-electric-semi&comma, c-electric-colon)
	(c-electric-lt-gt, c-electric-paren): Use it.
	(c-electric-paren, c-electric-brace): Check
	c--disable-fix-of-bug-33794.

	* test/lisp/electric-tests.el (c--disable-fix-of-bug-33794):
	Forward declare.
	(electric-pair-test-for)
	(electric-layout-int-main-kernel-style)
	(electric-modes-in-c-mode-with-self-insert-command): Use it.

2019-01-17  João Távora  <joaotavora@gmail.com>

	Revert "Temporarily comment out CC Mode from tests..."

	This reverts commit 54f297904e0c641fcfd81f16e9a87177124a27be.

2019-01-17  Martin Rudalics  <rudalics@gmx.at>

	Fix wording in Window Hooks section of Elisp manual

	* doc/lispref/windows.texi (Window Hooks): Fix wording in
	description of window change functions.  Suggested by Robert
	Pluim <rpluim@gmail.com>.

2019-01-17  Alan Third  <alan@idiocy.org>

	Be more specific with XRender bit-depths (bug#34051)

	* src/image.c (x_create_x_image_and_pixmap): Fail gracefully if a bit
	depth is requested that XRender doesn't support.

2019-01-17  João Távora  <joaotavora@gmail.com>

	Simplify ignored extensions filtering in Icomplete (bug#34070)

	* lisp/icomplete.el: Use lexical binding.
	(icomplete-completions): Use minibuffer-completion-predicate
	to filter out completion-ignored-extensions.

2019-01-17  João Távora  <joaotavora@gmail.com>

	Revert "Fix icomplete's cycling when filename filtering kicks in"

	This reverts commit cdb082322d4209c5104bc1a98b21bf3dd75e8f17, which
	was a fix for bug#34070.  A much better fix to be added soon.

2019-01-17  João Távora  <joaotavora@gmail.com>

	Fix flymake-proc--delete-temp-directory if temp dir ends in slash

	(Bug#34074)

	Reported by 林宝龙 <lbl52001@gmail.com>.

	* lisp/progmodes/flymake-proc.el
	 (flymake-proc--delete-temp-directory):  Use directory-file-name.

2019-01-17  Alan Mackenzie  <acm@muc.de>

	Temporarily comment out CC Mode from tests which are incompatible with it.

	* test/lisp/electric-tests.el (electric-pair-test-for): comment out c++-mode from the
	list of modes to be used in tests.
	(electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings)
	(ert-deftest electric-layout-int-main-kernel-style)
	(ert-deftest electric-layout-int-main-allman-style): Comment out.

2019-01-17  Glenn Morris  <rgm@gnu.org>

	Fix --enable-profiling builds (bug#34099)

	* src/profiler.c (syms_of_profiler_for_pdumper):
	Only set cpu_log if CPU profiling is enabled.

2019-01-17  Martin Rudalics  <rudalics@gmx.at>

	Expand spectrum of window change functions

	* src/window.c (run_window_change_functions): Run window
	change functions for Qwindow_state_change_functions.
	(resize_frame_windows): Set frame's window_change slot when
	single-window frames change size.
	(Qwindow_state_change_functions): New symbol.
	(Vwindow_state_change_functions): New Lisp variable.
	* doc/lispref/windows.texi (Selecting Windows): Mention
	'window-selection/state-change-functions' and add reference to
	Window Hooks.
	(Window Hooks): Document 'window-state-change-functions'.
	* etc/NEWS: Mention new hook 'window-state-change-functions'.

2019-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	Port pdumper to older GNU/Linux

	Problem reported by Colin Baxter in:
	https://lists.gnu.org/r/emacs-devel/2019-01/msg00321.html
	* src/alloc.c (my_heap_start): Also define if
	GNU_LINUX && CANNOT_DUMP && DOUG_LEA_MALLOC.

2019-01-16  Daniel Colascione  <dancol@dancol.org>

	Fix segfault in profiler after pdump load

	Move initialization of the profiler's hash test to static
	initialization from the syms function so that pdumper doesn't need to
	bother capturing it in any special way.

	* src/profiler.c (cmpfn_profiler, hashfn_profiler):
	forward declare.
	(hashtest_profiler): statically initialize.
	(syms_of_profiler): remove dynamic initialization of
	hashtest_profiler.

2019-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/lispref/processes.texi (Accepting Output): Simplify.

2019-01-16  Daniel Colascione  <dancol@dancol.org>

	Fix previous change: use correct pdumper function

2019-01-16  Daniel Colascione  <dancol@dancol.org>

	Fix crash in charset detection after pdumper load

	* src/coding.c:
	(reset_coding_after_pdumper_load): new function re-init character
	classes after pdumper load.
	(syms_of_coding): Call it.

2019-01-16  Andy Moreton  <andrewjmoreton@gmail.com>

	Avoid compilation warnings in MS-Windows build

	* src/pdumper.c (dump_cold_bignum):
	* src/emacs.c(load_pdump) [WINDOWSNT]: Avoid compiler warnings
	due to 64-bit vs 32-bit data type mismatches.

2019-01-16  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of pdumper; minor code cleanup

	* src/emacs.c (usage_message): Add the --dump-file option.
	(string_starts_with_p, find_argument): Functions removed; use
	'argmatch' instead.
	(PDUMP_FILE_ARG): Macro removed; use literal strings instead,
	as with other command-line options.  Use HAVE_PDUMPER for cpp
	conditionals which used PDUMP_FILE_ARG.
	(load_pdump, main): Use 'argmatch' for "--dump-file" and
	"--temacs" arguments, thus supporting the "-dump-file" and
	"-temacs" variants, for consistency with other options.
	(main): Remove the extra fatal error for using --dump-file in
	unexec'ed Emacs: load_pdump does that anyway.
	(standard_args): Add --dump-file and --temacs, with
	appropriate priorities.

	* etc/NEWS: Expand on the pdumper support.

	* doc/emacs/cmdargs.texi (Initial Options): Document the
	'--dump-file' command-line option.

2019-01-16  Eli Zaretskii  <eliz@gnu.org>

	Fix minor glitch with producing 'emacs' executable

	* src/Makefile.in (LC_ALL) [!DUMPING]: Don't overwrite
	previous emacs-X.Y.Z executables with new ones.

2019-01-16  Michael Albinus  <michael.albinus@gmx.de>

	Some accept-process-output cleanups in Tramp

	* lisp/net/tramp.el (tramp-action-out-of-band): Read process
	output in a loop.
	(tramp-accept-process-output): Return result.
	(tramp-interrupt-process):
	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
	* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
	Remove FIXME.

	* lisp/net/tramp-sh.el (tramp-local-coding-commands): Fix docstring.

	* lisp/net/tramp-smb.el (tramp-smb-wait-for-output): Adapt docstring.
	Simplify code.

	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
	Adapt docstring.  Read process output in a loop.

	* test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests):
	Remove :unstable tag on emba.

2019-01-16  Glenn Morris  <rgm@gnu.org>

	* make-dist: Include src/dmpstruct.awk.

2019-01-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix unlikely races with GnuTLS, datagrams

	Retry some calls if interrupted at inopportune times.
	These were found by code inspection.
	* src/gnutls.c (gnutls_try_handshake): Simplify by using
	new emacs_gnutls_handle_error API.
	(emacs_gnutls_write): Remove GNUTLS_E_AGAIN hack since
	emacs_gnutls_handle_error now does that.
	Use emacs_gnutls_handle_error only on errors.
	(emacs_gnutls_read): Retry if gnutls_record_recv returns
	GNUTLS_E_INTERRUPTED, to be consistent with emacs_read.
	(emacs_gnutls_handle_error): Return 0 on fatal errors,
	-1 (setting errno) on ordinary errors, to simplify callers.
	Assume that ERR is negative, since it always is now.
	Map non-fatal GnuTLS errors to errno values as best we can.
	* src/process.c (read_process_output) [DATAGRAM_SOCKETS]:
	Retry recvfrom if it is interrupted, to be consistent with
	how things are handled when not a datagram channel.
	(send_process) [DATAGRAM_SOCEKTS]: If sendto is interrupted,
	process pending signals and retry it, to be consistent with
	how things are handled when not a datagram channel.

2019-01-15  Daniel Colascione  <dancol@dancol.org>

	Make sure dump-mode is nil after dump

	* lisp/loadup.el (dump-mode): Bind dump-mode to nil before dumping

2019-01-15  Daniel Colascione  <dancol@dancol.org>

	Add NEWS for pdumper

2019-01-15  Daniel Colascione  <dancol@dancol.org>

	Add portable dumper

	Add a new portable dumper as an alternative to unexec.  Use it by default.

	* src/dmpstruct.awk: New file.
	* src/doc.c (get_doc_string): use will_dump_p().
	* src/editfns.c (styled_format): silence compiler warning
	with UNINIT.
	* src/emacs-module.c (syms_of_module): staticpro ltv_mark.
	* src/emacs.c (gflags): new variable.
	(init_cmdargs): unwrap
	(string_starts_with_p, find_argument, dump_error_to_string)
	(load_pdump): new functions.
	(main): detect pdumper and --temacs invocation; actually load
	portable dump when detected; set gflags as appropriate; changes to
	init functions throughout to avoid passing explicit
	'initialized' argument.
	* src/eval.c (inhibit_lisp_code): remove unused variable.
	(init_eval_once_for_pdumper): new function.
	(init_eval_once): call it.
	* src/filelock.c: CANNOT_DUMP -> will_dump_p()
	* src/fingerprint-dummy.c: new file
	* src/fingerprint.h: new file
	* src/fns.c: CANNOT_DUMP -> will_dump_p(), etc.
	(weak_hash_tables): remove
	(hashfn_equal, hashfn_eql): un-staticify
	(make_hash_table): set new 'next_weak' hash table field; drop
	global weak_hash_tables logic.
	(copy_hash_table): drop global weak_hash_tables logic.
	(hash_table_rehash): new function.
	(hash_lookup, hash_put, hash_remove_from_table, hash_clear):
	rehash if needed.
	(sweep_weak_table): un-staticify; explain logic; bool-ify.
	(sweep_weak_hash_tables): remove function.
	* src/font.c (syms_of_font): remember pdumper stuff.
	* src/fontset.c (syms_of_fontset): remember pdumper stuff.
	* src/frame.c (make_initial_frame): don't reset Vframe_list.
	(init_frame_once_for_pdumper, init_frame_once): new functions.
	(syms_of_frame): remove redundant staticpro.
	* src/fringe.c (init_fringe_once_for_pdumper): new function.
	(init_fringe_once): call it.
	* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper): new function.
	(syms_of_ftcrfont): call it.
	* src/ftfont.c (syms_of_ftfont_for_pdumper): new function.
	(syms_of_ftfont): call it.
	* src/ftxfont.c (syms_of_ftxfont_for_pdumper): new function.
	(syms_of_ftxfont): call it.
	* src/gmalloc.c: adjust for pdumper throughout
	(DUMPED): remove weird custom dumped indicator.
	* src/gnutls.c (syms_of_gnutls): pdumper note for
	gnutls_global_initialized.
	* src/image.c (syms_of_image): add pdumper comment,
	initializer note.
	* src/insdel.c (prepare_to_modify_buffer_1): account
	for buffer contents possibly being in dump image.
	* src/keyboard.c (syms_of_keyboard_for_pdumper): new function.
	(syms_of_keyboard): staticpro more; call pdumper syms function.
	* src/lisp.h: add comments throughout
	(gflags): declare.
	(will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p)
	(dumped_with_pdumper_p, will_dump_with_unexec_p)
	(dumped_with_unexec_p, definitely_will_not_unexec_p): new
	functions.
	(POWER_OF_2, ROUNDUP): move macros.
	(PSEUDOVECTOR_TYPE, PSEUDOVECTOR_TYPEP): take vectorlike header
	pointer instead of vector; constify.
	(Lisp_Hash_Table): add comment about need to rehash on access; add
	comment for next_weak.
	(HASH_KEY, HASH_VALUE, HASH_HASH, HASH_TABLE_SIZE): const-ify.
	(hash_table_rehash): declare.
	(hash_rehash_needed_p, hash_rehash_if_needed): new functions.
	(finalizers, doomed_finalizers): declare extern.
	(SUBR_SECTION_ATTRIBUTE): new macro.
	(staticvec, staticidx): un-static-ify.
	(sweep_weak_hash_tables): remove declaration.
	(sweep_weak_table): declare.
	(hashfn_eql, hashfn_equal): declare.
	(number_finalizers_run): new variable.
	(Vdead): externify when ENABLE_CHECKING.
	(gc_root_type): new enumeration.
	(gc_root_visitor): new struct.
	(visit_static_gc_roots): declare.
	(vectorlike_nbytes): declare.
	(vector_nbytes): define as trivial inline function wrapper for
	vectorlike_nbytes.
	(init_obarray_once): change signature.
	(primary_thread): extern-ify.
	(init_buffer): change signature.
	(init_frame_once): declare.
	* src/lread.c (readevalloop): adjust for new dumped predicates.
	(init_obarray_once): new function.
	(ndefsubr): new variable.
	(defsubr): increment it.
	(load_path_check): adjust for pdumper.
	(load_path_default): use pdumper functions; adjust for
	dump search.
	* src/macfont.m (macfont_init_font_change_handler): avoid
	shadowing global.
	(syms_of_macfont_for_pdumper): new function.
	(syms_of_macfont): call it.
	* src/menu.c (syms_of_menu): staticpro more stuff.
	* src/minibuf.c (Ftry_completion): rehash if needed.
	(init_minibuf_once_for_pdumper): new function.
	(init_minibuf_once): call it.
	* src/nsfont.m (syms_of_nsfns): staticpro more.
	* src/nsfont.m (syms_of_nsfont_for_pdumper): new function.
	(syms_of_nsfont): call it.
	* src/nsterm.m (syms_of_nsfont): remember pdumper stuff.
	* src/pdumper.c: new file.
	* src/pdumper.h: new file.
	* src/process.c (init_process_emacs): use new pdumper functions
	instead of CANNOT_DUMP.
	* src/profiler.c (syms_of_profiler_for_pdumper): new function.
	(syms_of_profiler_for_pdumper): call it.
	* src/search.c (syms_of_search_for_pdumper): new function.
	(syms_of_search_for_pdumper): call it.
	* src/sheap.c (bss_sbrk_did_unexec): remove.
	* src/sheap.h (bss_sbrk_did_unexec): remove.
	* src/syntax.c (syms_of_syntax): don't redundantly staticpro
	re_match_object.
	* src/sysdep.c: use will_dump_with_unexec_p() instead of bss
	hack thing.
	* src/syssignal.h (init_sigsegv): declare.
	* src/systime.h (init_timefns): remove bool from signature.
	* src/textprop.c (syms_of_textprop): move staticpro.
	* src/thread.c (main_thread_p): constify.
	* src/thread.h (main_thread_p): constify.
	* src/timefns.c (init_timefns): remove bool from signature.
	(syms_of_timefns_for_pdumper): new function.
	(syms_of_timefns): call it.
	* src/w32.c: rearrange code.
	* src/w32.h (w32_relocate): declare.
	* src/w32fns.c (syms_of_w32fns): add pdumper note.
	* src/w32font.c (syms_of_w32font_for_pdumper): new function.
	(syms_of_w32font): call it.
	* src/w32heap.c (using_dynamic_heap): new variable.
	(init_heap): use it.
	* src/w32menu.c (syms_of_w32menu): add pdumper note.
	* src/w32proc.c
	(ctrl_c_handler, mainCRTStartup, _start, open_input_file)
	(rva_to_section, close_file_data): move here.
	* src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
	new function.
	(syms_of_w32uniscribe): call it.
	* src/window.c (init_window_once_for_pdumper): new function.
	(init_window_once): call it; staticpro more stuff.
	* src/xfont.c (syms_of_xfont_for_pdumper): new function.
	(syms_of_xfont): call it.
	* src/xftfont.c (syms_of_xftfont_for_pdumper): new function.
	(syms_of_xftfont): call it.
	* src/xmenu.c (syms_of_xmenu_for_pdumper): new function.
	(syms_of_xmenu): call it.
	* src/xselect.c (syms_of_xselect_for_pdumper): new function.
	(syms_of_xselect): call it.
	* src/xsettings.c (syms_of_xsettings): add more pdumper notes.
	* src/term.c (syms_of_xterm): add pdumper note.

	* src/dispnew.c (init_faces_initial): new function.
	(init_display_interactive): rename from init_display; use
	will_dump_p instead of !initialized.  Initialize faces early for
	pdumper if needed.
	(init_display): new function.
	(syms_of_display_for_pdumper): new function.
	(syms_of_display): call it.

	* src/dbusbind.c (syms_of_dbusbind): Add TODO for bus reset
	on pdumper load.

	* src/data.c (Fdefalias): Use will_dump_p
	instead of Vpurify_flag.
	(Fmake_variable_buffer_local): silence compiler warning with -Og
	by making valcontents UNINIT.
	(arith_driver): silence compiler warning with UNINIT.

	* src/conf_post.h (ATTRIBUTE_SECTION): new macro.

	* src/composite.c (composition_gstring_put_cache): rehash hash
	table if needed.

	* src/coding.c (init_coding_once, syms_of_coding): remember
	pdumper stuff.

	* src/charset.h (charset_table_size, charset_table_user): declare.

	* src/charset.c (charset_table_used, charset_table_size): un-static.
	(init_charset_oncem, syms_of_charset): remember pdumper stuff.

	* src/category.c (category_table_version): remove obsolete
	variable.

	* src/callint.c (syms_of_callint): staticpro 'preserved_fns'
	(init_callproc): use will_dump_p instead of !CANNOT_DUMP.

	* src/bytecode.c (exec_byte_code): rehash table tables if needed

	* src/buffer.c (alloc_buffer_text, free_buffer_text): account for
	pdumper
	(init_buffer_once): add TODO; remember stuff for pdumper.
	(init_buffer): don't take initialized argument; adjust
	for pdumper.

	* src/atimer.c (init_atimer): initialize subr only if
	!initialized.

	* src/alloc.c: (vector_marked_p, set_vector_marked)
	(vectorlike_marked_p, set_vectorlike_marked, cons_marked_p)
	(set_cons_marked, string_marked_p, set_string_marked)
	(symbol_marked_p, set_symbol_marked, interval_marked_p)
	(set_interval_marked): new accessor routines.  Use them
	instead of raw GC access throughout.
	(Vdead): make non-static when ENABLE_CHECKING.
	(vectorlike_nbytes): rename of 'vector_nbytes'; take a vectorlike
	header as input instead of a vector.
	(number_finalizers_run): new internal C variable.
	(mark_maybe_object): check for pdumper objects.
	(valid_pointer_p): don't be gratuitously inefficient under rr(1).
	(make_pure_c_string): add support for size_byte = -2 mode
	indicating that string data points into Emacs image rodata.
	(visit_vectorlike_root): visits GC roots embedded in
	vectorlike objects.
	(visit_buffer_root): visits GC roots embedded in
	our totally-not-a-buffer buffer global objects.
	(visit_static_gc_roots): visit GC roots in the Emacs data section.
	(mark_object_root_visitor): root callback used for conventional GC
	marking
	(weak_hash_tables): new internal variable for tracking found weak
	hash tables during GC.
	(mark_and_sweep_weak_table_contents): new weak hash table marking.
	(garbage_collect_1): use new GC root visitor machinery.
	(mark_vectorlike): accept a vectorlike_header instead of a
	Lisp_Vector.
	(mark_frame, mark_window, mark_hash_table): new functions.
	(mark_object): initialize 'm'; check for pdumper objects and use
	new mark-bit accessors throughout.  Remove some object-specific
	marking code and move to helper functions above.
	(survives_gc_p): check for pdumper objects.
	(gc-sweep): clear pdumper mark bits.
	(init_alloc_once_for_pdumper): new helper function for early init
	called both during normal init and pdumper load.
	(init_alloc_once): pdumper integration.

	* src/Makefile.in: Rewrite dumping for pdumper; add pdumper.o;
	invoke temacs with --temacs command line option; build dmpstruct.h
	from dmpstruct.awk; stop relying on CANNOT_DUMP; clean up pdumper
	intermediate files during build.

	* nextstep/Makefile.in: build emacs.pdmp into NS packages

	* lisp/startup.el: account for new '--temacs' and '--dump-file'
	command line option.

	* lisp/loadup.el: rewrite early init to account for pdumper; use
	injected 'dump-mode' variable (set via the new '--temacs' option)
	instead of parsing command line.

	* lisp/cus-start.el: Check 'dump-mode' instead of 'purify-flag',
	since the new 'dump-mode'

	* lib-src/make-fingerprint.c: new program

	* lib-src/Makefile.in: built make-fingerprint utility program

	* configure.ac: Add --with-pdumper toggle to control pdumper
	support; add --with-unexec toggle to control unexec support.
	Add --with-dumping option to control which dumping strategy we use
	by default.  Adjust for pdumper throughout.  Check for
	posix_madvise.

	* Makefile.in: Add @DUMPING@ substitution; add pdumper mode.

	* .gitignore: Add make-fingerprint, temacs.in, fingerprint.c,
	dmpstruct.h, and pdumper dump files.

2019-01-15  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid using obsolete accept-process-output arg

	* lisp/gnus/nnheader.el (nnheader-accept-process-output):
	* lisp/net/dns.el (dns-query):
	* lisp/net/imap.el (imap-wait-for-tag):
	* lisp/net/network-stream.el (network-stream-get-response):
	* lisp/net/pop3.el (pop3-accept-process-output):
	* lisp/obsolete/starttls.el (starttls-negotiate-gnutls)
	(starttls-open-stream-gnutls):
	* lisp/server.el (server-eval-at):
	* lisp/textmodes/ispell.el (ispell-accept-output):
	Do not depend on the obsolete milliseconds argument of
	accept-process-output.

2019-01-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix accept-process-output/process-live-p confusion

	* doc/lispref/processes.texi (Accepting Output):
	Document the issue.
	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
	* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
	* lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
	* lisp/net/tramp.el (tramp-interrupt-process):
	* test/src/process-tests.el (make-process/mix-stderr):
	Fix code that uses accept-process-output and process-live-p.
	Add FIXME comments as necessary.
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
	* lisp/net/tramp.el (tramp-action-out-of-band):
	Add FIXME comments as necessary.

2019-01-15  Alan Mackenzie  <acm@muc.de>

	Make CC Mode and electric-pair-mode work together.  This fixes bug #33794

	* lisp/progmodes/cc-cmds.el (c-electric-pound, c-electric-slash)
	(c-electric-star, c-electric-semi&comma, c-electric-colon, c-electric-lt-gt):
	Bind post-self-insert-hook to nil around calls to self-insert-command to
	protect against arbitrary functionality confusing CC Mode.
	(c-do-brace-electrics): New function, extracted from c-electric-brace and
	enhanced.
	(c-electric-brace): Bind post-self-insert-hook to nil around the call to
	self-insert-command.  When electric-pair-mode is configured, call
	electric-pair-post-self-insert-function.  Handle any deletion done by this
	function.  Call c-do-brace-electrics for the inserted brace, and perhaps for a
	brace inserted by electric-pair-self-insert-function.
	(c-electric-paren): Bind post-self-insert-hook to nil around the call to
	self-insert-command.  When electric-pair-mode is configured, call
	electric-pair-post-self-insert-function.

2019-01-14  Philipp Stephani  <phst@google.com>

	Disable electric quotes for most files in the Emacs codebase.

	* .dir-locals.el: Disable electric quotes in comments and strings for
	C, Emacs Lisp, and Texinfo, as the Emacs codebase doesn't use them.

2019-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package-activate-all): Fix last change

	* lisp/emacs-lisp/package.el (package-activate-all): Silence load msg

2019-01-14  João Távora  <joaotavora@gmail.com>

	Fix icomplete's cycling when filename filtering kicks in

	(Bug#34070)

	* lisp/icomplete.el (icomplete--filtered-completions): New variable.
	(icomplete-forward-completions, icomplete-backward-completions):
	Use it.
	(icomplete-completions): Set it.

2019-01-14  Robert Pluim  <rpluim@gmail.com>

	Improve some of the breve/caron/cedilla mappings

	* lisp/leim/quail/latin-pre.el ("latin-prefix"): Describe new 'c with
	cedilla mapping'.  Extend caron description.  Correct dot above
	description.  Add new mappings for 'a with breve' and 'c with caron'.
	Add additional mapping for 'c with cedilla'.  Delete ~o mapping for 'g
	with dot above'.

2019-01-14  Robert Pluim  <rpluim@gmail.com>

	Fix some breve and dot above related doc strings

	* lisp/leim/quail/latin-pre.el ("romanian-prefix"): Correct
	description of 'a with breve'.
	("romanian-alt-prefix"): Correct description of 'a
	with breve'.  Reformat other entries for consistency.
	("latin-3-prefix"): Correct 'dot above' description.

2019-01-13  Paul Eggert  <eggert@cs.ucla.edu>

	Fix translation-region bug with MAX_CHAR

	Also, clean up the code a bit.
	Actually I discovered the bug while cleaning up the code.
	* src/editfns.c (Fsubst_char_in_region)
	(Ftranslate_region_internal): Use bool for booleans.
	(Ftranslate_region_internal): Fix off-by-1 bug when a
	translation table translates the maximum char.  Assume C99
	decl-after-statement, similar minor cleanups.
	* test/src/editfns-tests.el (test-translate-region-internal):
	New test.

2019-01-13  Paul Eggert  <eggert@cs.ucla.edu>

	Minor overflow fix in translate-region-internal

	* src/editfns.c (Ftranslate_region_internal):
	Use ptrdiff_t, not int, for a count that might exceed INT_MAX.

2019-01-12  Pierre Téchoueyres  <pierre.techoueyres@free.fr>

	Check that feature exist in `sql-set-product-feature' (Bug#30494).

	* lisp/progmodes/sql.el (sql-set-product-feature): Add test for
	feature existence.

2019-01-11  Glenn Morris  <rgm@gnu.org>

	Remove some obsolete stub files from etc/

	* etc/CENSORSHIP, etc/FTP, etc/GNU, etc/LINUX-GNU, etc/MORE.STUFF:
	* etc/ORDERS, etc/THE-GNU-PROJECT, etc/WHY-FREE:
	Remove stub files that were marked obsolete 5 years ago.

2019-01-11  Martin Rudalics  <rudalics@gmx.at>

	Run window change functions during redisplay

	* doc/lispref/windows.texi (Window Sizes): Move (and rename)
	descriptions of 'window-pixel-height-before-size-change' and
	'window-pixel-width-before-size-change' to Window Hooks
	section.
	(Window Configurations): Remove warning against use of
	'save-window-excursion' in 'window-size-change-functions'.
	(Window Hooks): Rewrite section according to redesign of
	window change functions.
	* lisp/erc/erc-track.el (erc-window-configuration-change)
	(erc-modified-channels-update): Call latter directly from
	'window-configuration-change-hook' instead via
	'post-command-hook'.
	* lisp/frame.el (frame-size-changed-p): Change nomenclature
	in let bindings.
	* lisp/net/rcirc.el (rcirc-window-configuration-change)
	(rcirc-window-configuration-change-1): Call latter directly
	from 'window-configuration-change-hook' instead via
	'post-command-hook'.
	* lisp/window.el (window-pixel-width-before-size-change)
	(window-pixel-height-before-size-change): Defalias.
	(window--resize-mini-window, window-resize)
	(adjust-window-trailing-edge, delete-window)
	(delete-other-windows, balance-windows): Don't run
	'window-configuration-change-hook' any more from here.
	(split-window): Don't run 'window-configuration-change-hook'
	from here.  'run-window-scroll-functions' from here.
	(window--adjust-process-windows): Run from
	'window-configuration-change-hook' only.
	* src/frame.c (old_selected_frame): New Lisp variable.
	(make_frame): Initialize frame's change_stamp slot.
	(Fold_selected_frame): New function.
	* src/frame.h (struct frame): New slots old_selected_window,
	window_change, change_stamp and number_of_windows.
	(fset_old_selected_window): New inlined function.
	(FRAME_WINDOW_CHANGE, FRAME_OLD_SELECTED_WINDOW): New macros.
	* src/window.c (old_selected_window): New Lisp variable.
	(wset_old_buffer): New inlined function.
	(Fframe_old_selected_window, Fold_selected_window)
	(Fwindow_old_buffer): New functions.
	(Fwindow_old_pixel_width, Fwindow_old_pixel_height): Rename
	from Fwindow_pixel_width_before_size_change and
	Fwindow_pixel_height_before_size_change.  Update doc-strings.
	(Fwindow_old_body_pixel_width, Fwindow_old_body_pixel_height):
	New functions.
	(Fdelete_other_windows_internal): Set frame's window_change
	slot instead of running 'window-configuration-change-hook'.
	(Frun_window_configuration_change_hook): In doc-string tell
	that this function is no more needed.
	(Frun_window_scroll_functions): Amend doc-string.  Run with
	window's buffer current.
	(window_sub_list, window_change_record_windows)
	(window_change_record_frame, window_change_record)
	(run_window_change_functions_1, run_window_change_functions):
	New functions.
	(set_window_buffer): Set frame's window_change slot instead of
	running 'window-configuration-change-hook'.
	(make_window): Don't initialize pixel_width_before_size_change
	and pixel_height_before_size_change slots.
	(window_resize_apply, Fdelete_window_internal): Set frame's
	window_change slot.
	(Fsplit_window_internal): Set frame's window_change slot.
	Don't run 'window-scroll-functions' from here.
	* src/window.h (struct window): New slots old_buffer,
	change_stamp, old_pixel_width (renamed from
	pixel_width_before_size_change), old_pixel_height (renamed
	from pixel_height_before_size_change), old_body_pixel_width
	and old_body_pixel_height.
	* src/xdisp.c (init_iterator): Set frame's window_change slot
	when the body height or width changes.
	(prepare_menu_bars): Don't run_window_size_change_functions.
	(redisplay_internal): Don't run_window_size_change_functions,
	run_window_change_functions instead.

2019-01-10  Paul Eggert  <eggert@cs.ucla.edu>

	List lengths are always fixnums now

	Without this patch, it was theoretically possible for a list
	length to be a bignum, which means that safe-length could
	signal an error (due to generating a too-large bignum) contrary
	to its documentation.  Fix things to remove the theoretical
	possibility, so that list lengths are always fixnums (and so
	that list lengths are always ptrdiff_t values too, since that
	is assumed internally anyway).
	* src/alloc.c (Fcons): Do not allocate so many conses that
	a list length won’t fit into ptrdiff_t or into fixnum.
	This matters only on weird platforms; on typical platforms,
	list lengths always fit anyway.
	* src/fns.c (list_length, Fsafe_length, proper-list-p):
	Remove integer overflow checks that are no longer needed.

2019-01-10  Paul Eggert  <eggert@cs.ucla.edu>

	Minor tweaks to HAVE_NATIVE_SCALING code

	This mostly just reindents.
	* src/image.c (x_set_image_size): Always define, but to a no-op
	if !HAVE_NATIVE_SCALING, to avoid an #ifdef elsewhere.
	(x_create_x_image_and_pixmap): Move decl to avoid an #ifdef.
	(image_create_x_image_and_pixmap): Move #ifdef outside of call.
	* src/xterm.c (x_composite_image): Avoid ‘else #endif’.

2019-01-10  Alan Third  <alan@idiocy.org>

	Add native image scaling (bug#33587)

	* configure.ac: Test for XRender outside of xft checks.
	* src/Makefile.in (XRENDER_LIBS): List XRender libs separately from
	xft libs.
	* lisp/image.el (image--get-imagemagick-and-warn): Allow resizing if
	native scaling is available.
	* src/dispextern.h: Add XRender and image scaling stuff.
	(struct image): Add XRender Pictures.
	* src/image.c (x_create_bitmap_mask):
	(image_create_x_image_and_pixmap): Handle XRender Picture.
	(scale_image_size):
	(compute_image_size): Make available when any form of scaling is
	enabled.
	(x_set_image_size): New function.
	(lookup_image): Set image size.
	(x_create_x_image_and_pixmap): Create XRender Picture when necessary.
	(x_put_x_image): Handle the case where desired size != actual size.
	(free_image): Free XRender Pictures.
	(Fimage_scaling_p): New function.
	(syms_of_image): Add image-scaling-p.
	* src/nsimage.m (ns_load_image): Remove NS specific resizing.
	([EmacsImage setSizeFromSpec:]): Remove method.
	(ns_image_set_size): New function.
	* src/nsterm.m (ns_draw_fringe_bitmap): Cocoa and GNUstep both have
	the same compositing functions, so remove unnecessary difference.
	* src/xterm.c (x_composite_image): New function.
	(x_draw_image_foreground): Use new x_composite_image function.
	* doc/lispref/display.texi (Image Descriptors): Document
	image-scaling-p and add resizing descriptors.
	(ImageMagick Images): Remove resizing descriptors.

2019-01-10  Alan Third  <alan@idiocy.org>

	Fix drag and drop behavior on NS (bug#30929)

	* doc/emacs/macos.texi (Mac / GNUstep Events): Describe the new drag
	and drop behavior.
	* lisp/term/ns-win.el (ns-drag-n-drop): Handle the new event format.
	(ns-drag-n-drop-other-frame):
	(ns-drag-n-drop-as-text):
	(ns-drag-n-drop-as-text-other-frame): Remove functions and key
	bindings.
	* src/nsterm.m ([EmacsView performDragOperation:]): Send Emacs event
	in new format without setting any modifiers.

2019-01-10  Michael Albinus  <michael.albinus@gmx.de>

	New test custom--test-theme-variables

	* test/lisp/custom-tests.el (custom--test-user-option)
	(custom--test-variable): New variables.
	(custom--test-theme-variables): New test.

	* test/lisp/custom-resources/custom--test-theme.el (custom--test):
	New file.

2019-01-10  Martin Rudalics  <rudalics@gmx.at>

	Handle dedicated status in 'window--display-buffer' (Bug#33870)

	* lisp/window.el (display-buffer-record-window): Rewrite
	doc-string.
	(window--display-buffer): Remove fifth argument DEDICATED and
	either directly use a 'dedicated' entry in ALIST or the value
	of 'display-buffer-mark-dedicated' instead.
	(display-buffer-in-atom-window, display-buffer-use-some-frame)
	(display-buffer-pop-up-frame, display-buffer-pop-up-window)
	(display-buffer-below-selected, display-buffer-at-bottom):
	Adjust callers of 'window--display-buffer'.
	(window--make-major-side-window)
	(display-buffer-in-side-window): Handle dedicated status of
	the chosen side window via a 'dedicated' alist entry and
	adjust 'window--display-buffer' call.
	(display-buffer-in-child-frame): Set up TYPE correctly for and
	adjust 'window--display-buffer' call.
	(display-buffer-in-previous-window): Handle dedicated status
	of a previous window already showing BUFFER.
	* doc/lispref/windows.texi (Buffer Display Action Alists): New
	action alist entry 'dedicated'.
	(Dedicated Windows): Mention new buffer display action alist
	entry 'dedicated'.
	* etc/NEWS: Mention new buffer display action alist entry
	'dedicated'.

2019-01-09  Paul Eggert  <eggert@cs.ucla.edu>

	Mention Japanese change in documentation

2019-01-09  Yasuhiro KIMURA  <yasu@utahime.org>

	Change preferred Japanese coding system to UTF-8

	* lisp/language/japan-util.el (setup-japanese-environment-internal):
	Use utf-8 as preferred coding system instead of japanese-iso-8bit when
	system is not MS-Windows. And while I'm at it, fix comment to fit current
	implementation.  (Bug#28705)

2019-01-09  Paul Eggert  <eggert@cs.ucla.edu>

	Use shortcuts for Flength

	When calculating the length of a Lisp object whose type is
	known, use a specialized length operation on it to save a bit
	of runtime overhead.
	* src/callint.c (Fcall_interactively):
	* src/minibuf.c (read_minibuf_unwind):
	Use ASIZE rather than Flength on values that must be vectors.
	* src/charset.c (Fsort_charsets):
	* src/coding.c (detect_coding_sjis):
	(Fdefine_coding_system_internal):
	* src/data.c (wrong_choice):
	* src/eval.c (Flet, eval_sub, Fapply, apply_lambda):
	* src/fns.c (sort_list):
	* src/font.c (font_vconcat_entity_vectors)
	(font_find_for_lface):
	* src/frame.c (Fmodify_frame_parameters):
	* src/fringe.c (get_logical_fringe_bitmap):
	* src/ftfont.c (ftfont_get_open_type_spec):
	* src/gtkutil.c (xg_print_frames_dialog):
	* src/lread.c (read1, read_vector):
	* src/keymap.c (Fkey_description):
	* src/kqueue.c (Fkqueue_add_watch):
	* src/macfont.m (macfont_get_open_type_spec):
	* src/menu.c (parse_single_submenu, x_popup_menu_1):
	* src/minibuf.c (Finternal_complete_buffer):
	* src/nsfont.m (ns_findfonts, nsfont_list_family):
	* src/process.c (Fmake_process):
	* src/search.c (Fset_match_data):
	* src/xfaces.c (Fx_family_fonts):
	Use list_length rather than Flength on values that must be lists.
	* src/fns.c (list_length): New function.
	(Flength): Use it.
	* src/nsfont.m (ns_findfonts):
	Use !NILP (x) rather than XFIXNUM (Flength (x)) != 0.
	* src/xdisp.c (store_mode_line_string):
	Use SCHARS rather than Flength on values that must be strings.

2019-01-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/window.c (save_window_save): Revert part of d82e73f

	...made unnecessary by a058edae.

2019-01-08  Paul Eggert  <eggert@cs.ucla.edu>

	* admin/notes/unicode: Update to match recent changes.

2019-01-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/map.el: Prepare for addition to GNU ELPA

	* lisp/help-fns.el (help--load-prefixes): Demote errors from files.

2019-01-08  Michael Albinus  <michael.albinus@gmx.de>

	Fix nasty cut'n'waste error in Tramp

	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
	Remove weird code, resulting from cut'n'waste.

2019-01-08  Michael Albinus  <michael.albinus@gmx.de>

	Adapt .gitlab-ci.yml

	* .gitlab-ci.yml (variables): Move outside jobs.  Use
	"GIT_STRATEGY: fetch".
	(before_script): Install git.
	(test-all): Rename from test.  Install inotify-tools.  Run "make
	check-expensive".
	(test-filenotify-gio): New job.

2019-01-07  Leo Liu  <sdl.web@gmail.com>

	* lisp/progmodes/js.el: Remove unused (require 'thingatpt).

2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use utf-8 coding system for all our Elisp files

	* lisp/international/ja-dic-cnv.el:
	* lisp/international/ja-dic-utl.el:
	* lisp/international/kinsoku.el:
	* lisp/international/kkc.el:
	* lisp/language/japan-util.el:
	* lisp/language/japanese.el:
	* lisp/leim/quail/cyril-jis.el:
	* lisp/leim/quail/hanja-jis.el:
	* lisp/leim/quail/japanese.el:
	* lisp/leim/quail/py-punct.el:
	* lisp/leim/quail/pypunct-b5.el: Use utf-8 coding system.
	* lisp/international/titdic-cnv.el: Use utf-8-emacs coding system.

2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/titdic-cnv.el: Save generated files with utf-8

	(titdic-convert, miscdic-convert): Use utf-8 when writing and don't
	bother putting a `coding:` tag since utf-8 is the default anyway.

2019-01-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	f1ce72b ; ChangeLog.3 update
	5b59cf0 * etc/AUTHORS: Update.
	2cf20b6 * lisp/textmodes/mhtml-mode.el: Avoid loading flyspell.  (Bug...

	# Conflicts:
	#	ChangeLog.3
	#	lisp/textmodes/mhtml-mode.el

2019-01-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	0ecff00 Improve commentary in font.h
	a058eda Fix definition of Qwindow_point_insertion_type (Bug#33871)

2019-01-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	5f2aa32 Update Unicode copyright notice

2019-01-07  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tests for emba

	* test/lisp/filenotify-tests.el (file-notify-test03-events)
	(file-notify-test05-file-validity)
	(file-notify-test06-dir-validity)
	(file-notify-test07-many-events)
	(file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.

2019-01-06  Paul Eggert  <eggert@cs.ucla.edu>

	Minor INFINITY/NAN cleanup

	* src/lread.c (INFINITY): Use a more-portable way to specify
	this macro on non-C99 platforms that lack it.
	(NAN): Remove; unused.

2019-01-06  Paul Eggert  <eggert@cs.ucla.edu>

	Fix logb on zero, infinite, NaN args

	Change logb to return -infinity, +infinity, and NaN respectively.
	Formerly logb returned an extreme fixnum to represent
	infinity, but this is no longer the right thing to do now that
	we have bignums and there is no extreme integer.
	* doc/lispref/numbers.texi (Float Basics), etc/NEWS: Document.
	* src/floatfns.c (Flogb): Implement this.

2019-01-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Use integers for syntax-pps-stats

	* lisp/emacs-lisp/syntax.el (syntax-ppss-stats):
	Use integers, not floating-point, for stats, now that integers are
	unbounded.  Almost always these should be fixnums.  Add 1 to last
	slot’s car so that this addition need not be done at runtime.
	(syntax-pps-stats, syntax-ppss): Use integers for calculations.
	(syntax-ppss--update-stats): New convenience function.
	(syntax-ppss): Use it.

2019-01-06  Michael Albinus  <michael.albinus@gmx.de>

	Adapt filenotify-tests for emba

	* test/lisp/filenotify-tests.el (file-notify-test03-events)
	(file-notify-test05-file-validity)
	(file-notify-test06-dir-validity)
	(file-notify-test07-many-events)
	(file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.

2019-01-05  Khaled Hosny  <khaledhosny@eglug.org>

	Always set explicit HarfBuzz buffer direction

	If no direction was given by the caller, I assume the text will be drawn
	left to right, if this is not the case then callers must provide
	sensible direction. Letting HarfBuzz guess the direction is not
	appropriate since shaping and drawing must use the same direction.

	Also move hb_buffer_guess_segment_properties() call to the end, so it
	only guessing unset properties, until we completely get rid of it.

2019-01-05  Khaled Hosny  <khaledhosny@eglug.org>

	We need the bidi level not the paragraph direction

2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	Port to platforms where tputs is in libtinfow

	* configure.ac (tputs_library): Also try tinfow, ncursesw (Bug#33977).

2019-01-05  João Távora  <joaotavora@gmail.com>

	New flymake-suppress-zero-counters defcustom

	A feature suggested by Yuri Khan <yurivkhan@gmail.com>.

	* lisp/progmodes/flymake.el (flymake-suppress-zero-counters): New
	variable.  (flymake--mode-line-format): Use it.

2019-01-05  João Távora  <joaotavora@gmail.com>

	Fix Flymake tests for GCC 8.2.0

	(Bug#33872)

	"Now you have two problems..."

	* lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics):
	Adjust regexp.

2019-01-05  John Shahid  <jvshahid@gmail.com>  (tiny change)

	Unbreak Flymake's diagnostics buffer when revisiting source

	(Bug#33881)

	* lisp/progmodes/flymake.el (flymake-show-diagnostics-buffer):
	Set flymake--diagnostics-buffer-source before reverting.

2019-01-05  Drew Adams  <drew.adams@oracle.com>

	Don't signal error from "C-x C-k l" about mouse events

	* lisp/edmacro.el (edmacro-fix-menu-commands): Ignore mouse
	events instead of signaling an error.  Display unsupported
	events in the error message.  (Bug#33930)

2019-01-05  Joel Rosdahl  <joel@rosdahl.net>  (tiny change)

	Fix electric indent bug in python-mode after dedenting colon

	* lisp/progmodes/python.el (python-indent-post-self-insert-function):
	Use markers instead of positions when reindenting statement(s) after
	inserting electric colon to avoid reindenting too many
	statements (bug#22663).

	* test/lisp/progmodes/python-tests.el (python-indent-electric-colon-2):
	Improve test case to also verify the fix of bug#22663.

2019-01-04  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'server-name'

	* doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
	(emacsclient Options):
	* lisp/server.el (server-name): Document the usage of
	'server-name' to specify the server file as an absolute file
	name.  (Bug#33934)

2019-01-03  Michael Albinus  <michael.albinus@gmx.de>

	Mark some filenotify tests unstable on emba

	* .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.

	* test/lisp/filenotify-tests.el (file-notify-test03-events)
	(file-notify-test05-file-validity)
	(file-notify-test06-dir-validity)
	(file-notify-test07-many-events)
	(file-notify-test09-watched-file-in-watched-dir): Mark them as
	:unstable on emba.

2019-01-03  Michael Albinus  <michael.albinus@gmx.de>

	Adapt test/README

	* test/README: Speak about continuous integration tests on hydra
	and emba.

2019-01-03  Andrey Kotlarski  <m00naticus@gmail.com>

	Fix EBROWSE parsing of classes declared final.

2019-01-02  Philipp Stephani  <phst@google.com>

	Avoid a compiler warning on macOS.

	* src/xdisp.c (expose_window_tree): Define variable f only if used.

2019-01-02  Nicolas Petton  <nicolas@petton.fr>

	Document the new functions of seq.el

	* etc/NEWS: New section documenting the addition of `seq-first' and
	`seq-rest'.

2019-01-02  Eli Zaretskii  <eliz@gnu.org>

	Fix text direction of the HarfBuzz shaping buffer

	* src/indent.c (scan_for_column, compute_motion):
	* src/xdisp.c (CHAR_COMPOSED_P): Pass PDIR argument to
	composition_reseat_it.
	* src/composite.c (composition_reseat_it): Accept an
	additional argument PDIR that provides the current paragraph's
	base direction; all callers changed.  Use PDIR to fix
	calculation of the DIRECTION argument to autocmp_chars.
	(Bug#33944)
	* src/composite.h: Include dispextern.h.
	(composition_reseat_it): Update prototype.

2019-01-02  João Távora  <joaotavora@gmail.com>

	Extend electric-layout-mode to handle more complex layouts (bug#33794)

	Entries in electric-layout-rules can specify multiple
	newline-related actions which are executed in order of appearance.

	Also, have it play nice with electric-pair-mode when inserting a
	newlines, particularly with electric-pair-open-newline-between-pairs.

	Entries in electric-layout-rules can also be functions.  Among other
	things, the logic behind electric-pair-open-newline-between-pairs
	could now be moved to electric-layout-mode, but this commit doesn't do
	that yet.

	This change was motivated by bug#33794 and is an alternative solution
	to the problem reported in that bug.

	* lisp/electric.el (electric-layout-rules): Adjust docstring.
	(electric-layout-post-self-insert-function): Call
	electric-layout-post-self-insert-function-1.
	(electric-layout-post-self-insert-function-1): Rename from
	electric-layout-post-self-insert-function.  Redesign.
	(electric-layout-local-mode): New minor mode.

	* test/lisp/electric-tests.el (electric-layout-int-main-kernel-style)
	(electric-layout-int-main-allman-style)
	(electric-modes-in-c-mode-with-self-insert-command)
	(electric-pair-mode-newline-between-parens)
	(electric-layout-mode-newline-between-parens-without-e-p-m)
	(electric-layout-mode-newline-between-parens-without-e-p-m-2): New
	tests.
	(plainer-c-mode): New helper.

2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t limit range error reports to fixnums

	* src/lisp.h (CHECK_RANGED_INTEGER): When signaling an error,
	don’t arbitrarily limit the reported valid range to fixnums.

2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Bignums from garbage-collect, memory-use-counts

	Do not limit the results of garbage-collect and memory-use-counts
	to fixnums, as they might be bignums now on 32-bit hosts.
	* src/lisp.h (byte_ct): New type.
	* src/alloc.c (object_ct): New type.
	(consing_since_gc, gc_relative_threshold)
	(memory_full_cons_threshold, total_string_bytes):
	Now byte_ct, not EMACS_INT.
	(total_conses, total_symbols, total_buffers, total_free_conses)
	(total_free_symbols, total_free_floats, total_floats)
	(total_free_intervals, total_intervals, total_strings)
	(total_free_strings, total_vectors, total_vector_slots)
	(total_free_vector_slots): Now object_ct, not EMACS_INT.
	(bounded_number): Remove.  All uses removed.
	(object_bytes): New function.
	(total_bytes_of_live_objects, garbage_collect_1): Use byte_ct,
	not size_t, to count total GC bytes where multiple objects are
	involved.
	(garbage_collect_1, Fmemory_use_counts):
	Do not limit returned counts to fixnums.
	(sweep_conses, sweep_floats, sweep_intervals, sweep_symbols):
	Use object_ct, not EMACS_INT, to count GC objects.

2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Be consistent about list length fixnum overflow

	* src/fns.c (Flength, Fproper_list_p): Use overflow_error to
	report the (typically impossible) fixnum overflow.

2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix woman.el to not confuse scan-sexps

	* lisp/woman.el (woman-unpadded-space-char):
	Escape the close-bracket (Bug#33940).

2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	decode-time: allow bignum years

	* src/timefns.c (TM_YEAR_BASE):
	Now a constant as it need not be a macro.
	(Fdecode_time): Do not signal an overflow merely because the
	Gregorian year number does not fix in a fixnum (which can
	happen on hosts with 64-bit time_t and with 32-bit int and
	EMACS_INT).

2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	Fix integer overflow check in json code

	* src/json.c (json_to_lisp): Check for ptrdiff_t overflow,
	not fixnum overflow.

2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	Update more copyright years

	Update some other copyright years automatically, by running:
	Run 'UPDATE_COPYRIGHT_YEAR=2019 \
	UPDATE_COPYRIGHT_USE_INTERVALS=1 \
	UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 admin/update-copyright'
	followed by 'admin/merge-gnulib'.

2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates mostly just copyright-year changes, plus
	recent minor updates from glibc for the non-Emacs regular
	expression code.

2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	2fcf2df Fix copyright years by hand
	26bed8b Update copyright year to 2019
	2814292 Fix value of default frame height.  (Bug#33921)

2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	Remove UCHAR typedef

	* src/lisp.h (_UCHAR_T, UCHAR): Remove.  This workaround for
	circa-1993 old-AIX has evidently not been needed for decades.
	Tested on AIX 7.1, the oldest AIX version IBM still supports.

2018-12-31  Michael Albinus  <michael.albinus@gmx.de>

	Reset `tramp-default-proxies-alist' in case of errors

	* lisp/net/tramp-sh.el (tramp-compute-multi-hops):
	Reset `tramp-default-proxies-alist' in case of errors.

2018-12-31  Michael Albinus  <michael.albinus@gmx.de>

	Precise documentation of Tramp ad-hoc proxies

	* doc/misc/tramp.texi (Ad-hoc multi-hops): Remove superfluous
	first entry about %h and %u.  Describe, how to remove ad-hoc proxy
	definitions.
	(Cleanup remote connections): Mention, that also ad-hoc proxy
	definitions are removed.

	* etc/NEWS: Mention default host names in Tramp ad-hoc proxies.

2018-12-31  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/files.el (locate-file, files--splice-dirname-file): Fix docstring.

2018-12-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix assertion-violations on non-integers

	These bugs were introduced after bignums were added.
	* src/data.c (cons_to_unsigned, cons_to_signed):
	* src/xdisp.c (calc_line_height_property):
	Invoke integer_to_intmax and integer_to_uintmax only on integers.

2018-12-30  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	82c82b1 (origin/emacs-26) In user manual fix value of default frame h...
	2e8825d Improve documentation of 'file-local-name' and related APIs
	11f0635 ; Remove comment in esh-proc.el

	# Conflicts:
	#	lisp/simple.el

2018-12-30  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	3abebeb * lisp/files.el (cd): Fix last change.  (Bug#33791)
	7a60a4f Fix remote directories in Eshell on MS-Windows
	822a2d0 Fix :type 'group' in defcustom
	a731c56 Fix NS fringe bitmap drawing bug (bug#33864)
	0c52459 Fix commentary in dispnew.c
	c9fdd1b Improve accept-process-process doc
	9578c2a Fix a simple bug in display-buffer-use-some-frame
	0f9be72 Clarify thread switching while waiting for process output
	24ddea0 Improve process doc. with respect to handling of large input ...
	2931016 ; Cosmetic changes in etc/NEWS
	85516b8 Minor copyedits in landmark.el

	# Conflicts:
	#	etc/NEWS

2018-12-30  Alan Mackenzie  <acm@muc.de>

	CC Mode - use font-lock-comment-delimiter-face on block comment end delimiters

	In particular when the default comment type is currently line comments.  Do
	this by setting font-lock-comment-end-skip.

	* lisp/progmodes/cc-cmds.el (c-font-lock-comment-end-skip): New lang const.
	(font-lock-comment-end-skip): New c-lang-setvar.

2018-12-30  Martin Rudalics  <rudalics@gmx.at>

	Handle 'unbound' like nil for 'window-point-insertion-type' (Bug#33871)

	* src/window.c (save_window_save): When setting the marker
	insertion type of saved window points treat a buffer local
	value of 'unbound' for 'window-point-insertion-type' like
	nil (Bug#33871).

2018-12-29  Dmitry Gutov  <dgutov@yandex.ru>

	Skip 'basic' completion style for project-find-file

	* lisp/minibuffer.el (completion-category-defaults): Skip 'basic'
	for 'project-file', in order not to prefer files at the top of the
	directory tree.

2018-12-29  Mattias Engdegård  <mattiase@acm.org>

	Handle raw bytes, and LF in ranges, in rx `any' argument strings

	* lisp/emacs-lisp/rx.el (rx-check-any-string): Rewrite to handle raw bytes
	in unibyte strings and accept LF as range endpoints (Bug#33205).
	* test/lisp/emacs-lisp/rx-tests.el: Add tests for the above.

2018-12-29  Eli Zaretskii  <eliz@gnu.org>

	Provide text directionality and language to HarfBuzz shaper

	* lisp/language/tv-util.el (tai-viet-composition-function):
	* lisp/language/ethio-util.el (ethio-composition-function):
	* lisp/language/japanese.el (compose-gstring-for-variation-glyph):
	* lisp/language/thai-util.el (thai-composition-function):
	* lisp/language/misc-lang.el (arabic-shape-gstring):
	* lisp/language/lao-util.el (lao-composition-function):
	* lisp/language/hebrew.el (hebrew-shape-gstring):
	* lisp/composite.el (compose-gstring-for-graphic)
	(compose-gstring-for-dotted-circle, auto-compose-chars)
	(compose-gstring-for-terminal): Accept 2nd argument DIRECTION; all
	callers changed.

	* src/composite.c (composition_reseat_it): Call
	auto-composition-function with one more argument DIRECTION.
	(syms_of_composite) <auto-composition-function>: Update the doc
	string.
	* src/ftfont.c (ftfont_shape_by_hb): Compute language and
	direction, and set buffer properties accordingly.
	* src/composite.c (autocmp_chars):
	* src/w32uniscribe.c (uniscribe_shape):
	* src/xftfont.c (xftfont_shape):
	* src/ftfont.c (ftfont_shape, ftfont_shape_by_hb):
	* src/font.c (Ffont_shape_gstring): Accept an additional argument
	DIRECTION.
	* src/macfont.m (lgstring_direction): New enum.
	(mac_font_shape_1, mac_screen_font_shape, mac_font_shape):
	Accept an additional argument specifying text direction.  All
	callers changed.
	* src/font.c (syms_of_font): New symbols QL2R and QR2L.
	* src/font.h (shape): Accept new argument DIRECTION.  All
	implementations changed.  (Bug#33729)
	(ftfont_shape): Update prototype.

2018-12-29  Martin Rudalics  <rudalics@gmx.at>

	Avoid that unwind_format_mode_line messes up buffer points (Bug#32777)

	* src/xdisp.c (format_mode_line_unwind_data): Before
	temporarily selecting a window on another frame, separately save
	the point of that window's buffer too.
	(unwind_format_mode_line): After undoing the temporary
	selection of a window on another frame, separately restore the
	buffer point of that window.  This is needed since the
	operation that deselects that window will have stored back the
	point of that window into its buffer's point which is wrong
	since that window was never "officially" selected (Bug#32777).

2018-12-28  Dmitry Gutov  <dgutov@yandex.ru>

	project-find-file: Move the common parent directory to the prompt

	* lisp/progmodes/project.el (project--completing-read-strict):
	Extract the common parent directory of all files first
	(https://lists.gnu.org/r/emacs-devel/2018-12/msg00444.html).

2018-12-28  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-set-remote-path): Handle platforms
	without getconf.

2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>

	Improve motivations in gomoku messages

	* lisp/play/gomoku.el (gomoku-terminate-game):
	Don't make six-year-old children cry (Bug#33803).

2018-12-27  Paul Pogonyshev  <pogonyshev@gmail.com>

	Accept 1-arg 'substring' calls in byte compiler

	Those have been supported by the function implementation since
	commit 2014-03-31T12:06:34Z!dmantipov@yandex.ru (Bug#33807).
	* lisp/emacs-lisp/bytecomp.el: substring has 1-3 args, not 2-3.

2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	* build-aux/config.guess, lib/regcomp.c, lib/regex.c:
	* lib/regex_internal.h, lib/regexec.c: Copy from Gnulib.

2018-12-27  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violation in directory-files

	* src/dired.c (directory_files_internal): Make sure MATCH is
	either nil or a string.  (Bug#33889)

2018-12-27  Michael Albinus  <michael.albinus@gmx.de>

	Bump Tramp version to 2.4.1

	* doc/misc/trampver.texi:
	* lisp/net/tramp.el:
	* lisp/net/trampver.el: Change version to "2.4.1".

2018-12-27  Martin Rudalics  <rudalics@gmx.at>

	Fix last change of debug.el

	* lisp/emacs-lisp/debug.el (debug): In noninteractive calls do
	the buffer text truncation in the debugger buffer.

2018-12-26  Dmitry Gutov  <dgutov@yandex.ru>

	Tone down diff-refine-removed and diff-refine-added as well

	* lisp/vc/diff-mode.el (diff-refine-removed, diff-refine-added):
	Change backgrounds in light backgrounds themes (bug#33567).

2018-12-26  Paul Eggert  <eggert@cs.ucla.edu>

	Port message-checksum to bignums

	* lisp/gnus/message.el (message--rotate-fixnum-left): New function.
	(message-checksum): Use it instead of assuming fixnum-only arithmetic.
	This should fix Bug#33083.

2018-12-26  Martin Rudalics  <rudalics@gmx.at>

	Set up debugger buffer earlier and fit window to it (Bug#32825)

	* lisp/emacs-lisp/debug.el (debug): Set up debugger buffer
	before displaying it and advise 'display-buffer' to fit the
	window to it (Bug#32825).

2018-12-25  Dmitry Gutov  <dgutov@yandex.ru>

	Tone down diff-added and diff-removed in light themes

	* lisp/vc/diff-mode.el (diff-removed, diff-added): Tone down
	light background colors (bug#33567).

2018-12-25  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-done): Reset isearch-lazy-highlight-last-string

	to nil (bug#33838).
	(isearch-lazy-highlight-new-loop)
	(isearch-lazy-highlight-buffer-update): Don't set arg ELLIPSIS of
	isearch-message to t to not reset the value of isearch-error.

2018-12-25  Juri Linkov  <juri@linkov.net>

	* lisp/vc/diff-mode.el (diff-syntax-fontify-hunk): Add `*' to names

	of ephemeral buffers like in " *org-src-fontification:%s*" from
	`org-src-font-lock-fontify-block'.  (Bug#33567)
	(diff-header, diff-file-header): Tone down light background colors.

2018-12-25  Dmitry Gutov  <dgutov@yandex.ru>

	Prepend 'rubocop' with 'bundle exec' when appropriate

2018-12-25  Dmitry Gutov  <dgutov@yandex.ru>

	Use rubocop --lint when no .rubocop.yml

	* lisp/progmodes/ruby-mode.el (ruby-flymake-rubocop): When no
	config file found, only run lint cops (bug#31760).

2018-12-25  Michael Albinus  <michael.albinus@gmx.de>

	Provide tramp-adb-handle-make-process

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	Add `tramp-adb-handle-make-process' and
	`tramp-handle-start-file-process'.
	(tramp-adb-handle-make-process): New defun, derived from
	`tramp-adb-handle-start-file-process'.  (Bug#28691)

2018-12-24  Michael Albinus  <michael.albinus@gmx.de>

	Provide tramp-sh-handle-make-process

	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
	Add `tramp-sh-handle-make-process' and
	`tramp-handle-start-file-process'.
	(tramp-sh-handle-make-process): New defun, derived from
	`tramp-sh-handle-start-file-process'.  (Bug#28691)

	* lisp/net/tramp.el (tramp-handle-start-file-process): New defun.

	* test/lisp/net/tramp-tests.el (tramp-test30-make-process):
	New test.
	(tramp-test31-interrupt-process, tramp-test32-shell-command)
	(tramp-test33-environment-variables)
	(tramp-test33-environment-variables-and-port-numbers)
	(tramp-test34-explicit-shell-file-name, tramp-test35-exec-path)
	(tramp-test35-remote-path, tramp-test36-vc-registered)
	(tramp-test37-make-auto-save-file-name)
	(tramp-test38-find-backup-file-name)
	(tramp-test39-make-nearby-temp-file)
	(tramp-test40-special-characters)
	(tramp-test40-special-characters-with-stat)
	(tramp-test40-special-characters-with-perl)
	(tramp-test40-special-characters-with-ls, tramp-test41-utf8)
	(tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
	(tramp-test41-utf8-with-ls, tramp-test42-file-system-info)
	(tramp-test43-asynchronous-requests, tramp-test44-auto-load)
	(tramp-test44-delay-load, tramp-test44-recursive-load)
	(tramp-test44-remote-load-path, tramp-test45-unload): Rename.

2018-12-23  Dmitry Gutov  <dgutov@yandex.ru>

	xref-goto-xref: Highlight the exact symbol after the jump

	* lisp/progmodes/xref.el (xref-goto-xref): Bind
	'xref--current-item' to highlight the exact symbol after the jump
	and not the whole line.

2018-12-23  Dmitry Gutov  <dgutov@yandex.ru>

	execute-extended-command: Skip waiting in more cases

	* lisp/simple.el (execute-extended-command): Don't wait when
	there's no binding the current command, and the user doesn't want
	to see "shorter" suggestions, or TYPED is nil anyway.

2018-12-23  Khaled Hosny  <khaledhosny@eglug.org>

	Clarify one FIXME a bit

2018-12-23  Khaled Hosny  <khaledhosny@eglug.org>

	Cache HarfBuzz buffer

	Potentially faster and less memory allocations. I did not do any
	measurements though, so possibly a micro optimization.

2018-12-23  Khaled Hosny  <khaledhosny@eglug.org>

	Remove one more FIXME

2018-12-23  Michael Albinus  <michael.albinus@gmx.de>

	Handle `make-process' in Tramp and ange-ftp

	* doc/lispref/processes.texi (Asynchronous Processes):
	Explain, that not all file name handlers support `make-process'.

	* lisp/net/ange-ftp.el:
	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
	* lisp/net/tramp.el (tramp-file-name-for-operation): Add `make-process'.

	* lisp/vc/ediff-util.el:
	* src/process.c:
	* test/src/process-tests.el: Use "file name handler" consequently.

2018-12-22  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (next-error-no-select): Use save-selected-window.

	Let-bind display alist of display-buffer-overriding-action to
	`(inhibit-same-window . t)'.  (Bug#32607)

2018-12-22  Philipp Stephani  <p.stephani2@gmail.com>

	Add file name handler support for 'make-process' (Bug#28691)

	* src/process.c (Fmake_process): Add new keyword argument
	':file-handler'.
	(syms_of_process) <make-process, :file-handler>: Define new symbols.

	* lisp/files.el (file-name-non-special): Add support for
	'make-process'.

	* test/src/process-tests.el (make-process/file-handler/found)
	(make-process/file-handler/not-found)
	(make-process/file-handler/disable): New unit tests.
	(process-tests--file-handler): New helper function.

	* test/lisp/files-tests.el
	(files-tests-file-name-non-special-make-process): New unit test.

	* doc/lispref/files.texi (Magic File Names): Document that
	'make-process' can invoke file name handlers.

	* doc/lispref/processes.texi (Asynchronous Processes): Document
	':file-handlers' argument to 'make-process'.

	* etc/NEWS (Lisp Changes in Emacs 27.1): Mention new
	:file-handler argument for 'make-process'.

2018-12-22  Eli Zaretskii  <eliz@gnu.org>

	* etc/HELLO: Add missing charset properties for Japanese and Korean.

2018-12-22  Charles A. Roelli  <charles@aurox.ch>

	Macroexpand before evaluating in eval-expression (bis)

	* lisp/simple.el (eval-expression): Macroexpand before
	evaluating.  This repeats the fix made for Bug#20730 in
	another branch of the code a few lines down.

2018-12-22  Khaled Hosny  <khaledhosny@eglug.org>

	Replace another FIXME with a TODO and expanded comment

	Replace a FIXME with an expanded comment

2018-12-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	ldap.el: Do not set process-connection-type

	* lisp/net/ldap.el (ldap-search-internal): Leave
	process-connection-type at its default value.  (Bug#33050)

2018-12-22  Michael Albinus  <michael.albinus@gmx.de>

	Use "file name handler" consequently

	* doc/lispref/files.texi:
	* doc/lispref/processes.texi:
	* doc/misc/ediff.texi:
	* lisp/simple.el:
	* lisp/vc/ediff-ptch.el:
	* src/buffer.c:
	* src/dired.c:
	* src/fileio.c:
	* src/image.c:
	* src/insdel.c:
	* src/w32fns.c: Use "file name handler" consequently.

2018-12-22  Khaled Hosny  <khaledhosny@eglug.org>

	Subclass default HarfBuzz Unicode functions

	Instead of creating new functions from scratch, subclass the default
	implementation and override the selected functions we want/can
	override.  (Bug#33729)

2018-12-22  Khaled Hosny  <khaledhosny@eglug.org>

	Fix previous commit

2018-12-22  Khaled Hosny  <khaledhosny@eglug.org>

	Properly fix building with HarfBuzz and without libotf

	HarfBuzz support does not depend on libotf, the build breakage when
	libotf is missing was because code guarded with:

	 #if defined HAVE_M17N_FLT && defined HAVE_LIBOTF

	was incorrectly changed to:

	 #if defined HAVE_M17N_FLT || defined HAVE_HARFBUZZ

	this is now properly fixed by making it:

	 #if (defined HAVE_M17N_FLT && defined HAVE_LIBOTF) || defined HAVE_HARFBUZZ

	Other changes in previous commits were reverted.

2018-12-21  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33735

	* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter):
	Delete empty lines.  (Bug#33735)
	(tramp-sh-inotifywait-process-filter): Use `string-match'.
	(tramp-set-remote-path): Check for PIPE_BUF but PATH_MAX.

	* test/lisp/filenotify-tests.el: Handle $REMOTE_FILE_NOTIFY_LIBRARY.
	(file-notify--deftest-remote): Suppress vc-handled-backends.
	(file-notify-test08-backup): Do not expect failure on hydra.
	(Bug#33735).

2018-12-21  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/filenotify-tests.el, test/lisp/shadowfile-tests.el:

	Don't require tramp-sh, bug#33781 is fixed.

2018-12-20  Juri Linkov  <juri@linkov.net>

	* lisp/emacs-lisp/debug.el (debug): Add display-buffer-below-selected

	to display actions of pop-to-buffer, and `(window-min-height . 10)'
	to display alist.  (Bug#32825)

2018-12-20  Juri Linkov  <juri@linkov.net>

	* lisp/windmove.el (windmove-delete-in-direction): Change prefix arg C-u

	to kill the buffer.  Add prefix arg M-0 to delete the selected window.
	(Bug#32790)

2018-12-20  Juri Linkov  <juri@linkov.net>

	* lisp/window.el (switch-to-buffer-obey-display-actions): New defcustom.

	(switch-to-buffer): Use it.  (Bug#32790)
	(switch-to-buffer-preserve-window-point):  Mention it in docstring.

	* lisp/windmove.el (windmove-display-in-direction): Mention it in docstring.

	* doc/lispref/windows.texi (Switching Buffers):
	Document switch-to-buffer-obey-display-actions.

2018-12-20  Juri Linkov  <juri@linkov.net>

	* lisp/hi-lock.el (hi-salmon, hi-aquamarine): New faces.  (Bug#33398)

	(hi-lock-face-defaults): Add them.
	(hi-green-b, hi-red-b): Tone down foreground colors.

2018-12-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	081fb69 (origin/emacs-26) Check result from c-backward-token-2 to avo...
	f4ea746 cl-make-random-state was not copying its arg

2018-12-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	4c6c327 Restrict downcasing in elisp xref tests (bug#25534)
	ab8ed41 Avoid test failures if directory name looks like a regexp

2018-12-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	5825279 * doc/lispintro/emacs-lisp-intro.texi (Finding More): Fix xref.

2018-12-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/map.el: Add support for plists

	(map--plist-p, map--plist-delete): New functions.
	(map-elt, map-delete, map-length, map-into, map-put!, map-insert)
	(map-apply, map-do): Handle the plist case.

	* test/lisp/emacs-lisp/map-tests.el (with-maps-do): Add sample plist.
	(test-map-put!): The behavior of map-put! is not the same for plists as
	for alists.

2018-12-20  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp-test32-environment-variables):

	Remove expected failure.

2018-12-20  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33781

	* lisp/net/tramp-sh.el (tramp-set-remote-path): Use a temporary
	file for setting $PATH, if it exceeds PATH_MAX on the remote system.
	(tramp-send-command-and-read): Ignore errors if NOERROR.  (Bug#33781)

	* test/lisp/net/tramp-tests.el (tramp-test34-remote-path): New test.

2018-12-19  Glenn Morris  <rgm@gnu.org>

	Skip rather than fail in flymake tests

	* test/lisp/progmodes/flymake-tests.el
	(flymake-tests--wait-for-backends): Skip rather than fail if
	backends are slow to respond.  This always seems like a temporary
	system glitch and not something that should be reported as a failure.

2018-12-19  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Make gnus-newsgroup-name local var available to gnus-summary-mode

	* lisp/gnus/gnus-sum.el (gnus-summary-mode-group): New defvar for
	  passing gnus-newsgroup-name (a local variable) into the body of
	  gnus-summary-mode, so that it's available to gnus-summary-mode-hook.

2018-12-19  Juri Linkov  <juri@linkov.net>

	* lisp/vc/diff-mode.el (diff-syntax-fontify-props): Use font-lock-ensure

	unconditionally.  (Bug#33798)

2018-12-19  Paul Eggert  <eggert@cs.ucla.edu>

	Minor fixes/simplifications to time functions

	* doc/lispintro/emacs-lisp-intro.texi (Files List): Simplify.
	* doc/lispref/os.texi (Time of Day): Mention format-time-string
	as an alternative to current-time-string.
	* lisp/arc-mode.el (archive-unixdate, archive-unixtime):
	Port better to future versions of Emacs where (COUNT . HZ)
	will take precedence to (HI . LO).
	* lisp/arc-mode.el (archive-unixtime):
	* lisp/calendar/todo-mode.el (todo-insert-item--basic)
	(todo-item-done, todo-read-time):
	Prefer format-time-string to substringing current-time-string.
	* lisp/calc/calc-forms.el (calc-time, calcFunc-now):
	Prefer decode-time to parsing the output of current-time-string.
	* lisp/emacs-lisp/cl-extra.el (cl--random-time):
	Prefer encode-time to hashing the output of current-time-string.
	* lisp/gnus/gnus-score.el (gnus-score-headers)
	(gnus-score-adaptive):
	Avoid stringifying and then reparsing timestamp.
	* src/timefns.c (Fencode_time): Omit redundant assignment.

2018-12-19  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-set-remote-path): Send a warning, if

	$PATH exceeds PATH_MAX on the remote system.

2018-12-19  Nicholas Drozd  <nicholasdrozd@gmail.com>

	* src/editfns.c (Finsert_char): Skip unnecessary fixnum check.

2018-12-18  Glenn Morris  <rgm@gnu.org>

	Skip a remote filenotify test on hydra

	* test/lisp/filenotify-tests.el (file-notify--deftest-remote):
	Add optional argument to skip test.
	(file-notify-test07-many-events-remote): Skip on hydra.nixos.org.

2018-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/font-lock.el: Use lexical-binding

	(font-lock-initial-fontify, font-lock-compile-keywords):
	Silence compiler warning.
	(font-lock-ensure-function): Fix some problems in last commit.

2018-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/font-lock.el (font-lock-ensure-function): Fix bug#33798

2018-12-18  Juri Linkov  <juri@linkov.net>

	More font-lock improvements for diff-mode

	* lisp/vc/diff-mode.el (diff-font-lock-keywords): Use diff-header face
	for git index lines (like already used for bzr index lines).
	Use diff-file-header face for binary file headers.
	(diff-find-source-location): Use expand-file-name for vc-find-revision.
	(diff--font-lock-prettify): Use diff-indicator-* faces for
	left-fringe indicators.
	(diff-syntax-fontify-props): Optimize to not use text-property-not-all
	for font-lock-ensure.

	* lisp/replace.el (occur-engine-line): Simplify to use font-lock-ensure
	without text-property-not-all.

2018-12-18  Juri Linkov  <juri@linkov.net>

	Fontify one-line diffs without the final newline (bug#33567)

	* lisp/vc/diff-mode.el (diff-hunk-text, diff-syntax-fontify-hunk):
	Skip lines beginning with backslash like "\ No newline at end of file".
	(diff-syntax-fontify-hunk): Use string-trim-right.
	For one-line diffs use 1 explicitly in the list of line numbers.

2018-12-18  Paul Eggert  <eggert@cs.ucla.edu>

	Support (ash INTEGER BIGNUM)

	* src/data.c (emacs_mpz_mul_2exp): 2nd arg is now a
	nonnegative EMACS_INT not mp_bitcnt_t, to simplify checking.
	(Fash): Support COUNT values that are bignums or that
	exceed mp_bitcnt_t range.
	* test/src/data-tests.el (data-tests-ash-lsh): Test this.

2018-12-18  Eli Zaretskii  <eliz@gnu.org>

	Fix one last compilation warning in ftfont.c

	* src/ftfont.c (ftfont_get_hb_font): Only define if
	HAVE_LIBOTF is defined.  (Bug#33771)

2018-12-18  Glenn Morris  <rgm@gnu.org>

	Expect tramp environment test to fail on hydra

	* test/lisp/net/tramp-tests.el (tramp-test32-environment-variables):
	Expect failure on hydra.nixos.org.

2018-12-18  Glenn Morris  <rgm@gnu.org>

	A filenotify test now passes on hydra

	* test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
	Remote test now passes on hydra.nixos.org, since PATH
	workaround for bug#33781.

2018-12-18  Eli Zaretskii  <eliz@gnu.org>

	Condition some more hb_* functions on HAVE_LIBOTF.

2018-12-18  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33781

	* lisp/net/tramp-cache.el (tramp-connection-properties):
	* lisp/net/tramp-sh.el (tramp-remote-path)
	(tramp-remote-process-environment, tramp-sh-extra-args):
	Reinsert autoload cookie.  (Bug#33781)

	* test/lisp/net/tramp-tests.el: Do not require tramp-sh before
	changing tramp-remote-path.

2018-12-18  Nicolas Petton  <nicolas@petton.fr>

	New convenience functions in seq.el

	Functions to access the first or all but the first elements of
	sequences have been repeatedly asked for (the last occurrence being
	https://github.com/NicolasPetton/seq.el/issues/9).

	* lisp/emacs-lisp/seq.el (seq-first, seq-rest): New functions.
	* test/lisp/emacs-lisp/seq-tests.el (test-seq-first, test-seq-rest):
	New tests for seq-first and seq-rest.

2018-12-17  Glenn Morris  <rgm@gnu.org>

	Tiny ert-summarize-tests-batch-and-exit improvement

	* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
	Report the details of unexpected passes as well as failures.

2018-12-17  Juri Linkov  <juri@linkov.net>

	Syntactic fontification of diff hunks (bug#33567)

	* lisp/vc/diff-mode.el (diff-font-lock-syntax): New defcustom.
	(diff-default-directory): New buffer-local variable.
	(diff-indicator-removed, diff-indicator-added)
	(diff-indicator-changed): Set foreground to distinctive colors.
	(diff-context): Remove colors to make room for syntax highlighting.
	(diff-font-lock-keywords): Add diff--font-lock-syntax.
	(diff--font-lock-cleanup): Remove diff-mode syntax overlays.
	(diff--font-lock-syntax, diff--font-lock-syntax--refresh)
	(diff-syntax-fontify-revisions, diff-syntax-fontify-hunk)
	(diff-syntax-fontify-props): New functions.

	* lisp/vc/diff.el (diff-no-select): Set diff-default-directory to
	default-directory.

	* doc/emacs/files.texi (Diff Mode): Document diff-font-lock-syntax.

2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	Make org-protocol-flatten always an alias

	* lisp/org/org-protocol.el (org-protocol-flatten):
	Rewrite as top-level alias, as per Stefan’s suggestion,
	to avoid compiler warnings.

2018-12-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/map.el: Avoid special casing lists.

	(map-not-inplace, map-inplace): New errors.
	(map-insert): New generic function.
	(map-put!): Signal map-not-inplace rather than a generic 'error'.
	(map-elt): Use map-not-inplace and map-insert to avoid hardcoding
	a special case for lists.

	* test/lisp/emacs-lisp/map-tests.el (test-map-put!): Rename from
	test-map-put.  Also test the errors signaled.

2018-12-17  Glenn Morris  <rgm@gnu.org>

	Avoid tests failures on hydra due to Tramp autoload changes

	* test/lisp/filenotify-tests.el, test/lisp/shadowfile-tests.el:
	* test/lisp/net/tramp-tests.el: Require tramp-sh before changing
	tramp-remote-path.

2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	One more flatten-tree test

	* test/lisp/subr-tests.el (subr-tests-flatten-tree):
	Add a test for lots of nothing.

2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	Some more flatten-tree aliases

	* lisp/allout.el (allout-flatten):
	* lisp/progmodes/hideif.el (hif-flatten):
	Now an obsolete alias for flatten-tree.  All callers changed.
	* lisp/org/org-protocol.el (org-protocol-flatten):
	Make it an alias for flatten-tree if available.
	* lisp/progmodes/js.el (js--flatten-list):
	Remove alias.  We shouldn’t need obsolete function aliases for
	private functions.

2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	Improve flatten-tree documentation

	* doc/lispref/lists.texi (Building Lists):
	* lisp/subr.el (flatten-tree):
	Don’t imply that flatten-tree modifies its argument.
	Clarify wording.

2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	Improve flatten-tree performance

	* lisp/subr.el (flatten-tree): Improve performance by calling
	‘cons’ once rather than twice when a cons cell is popped.

2018-12-17  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warning in ftfont.c

	* src/ftfont.c (ftfont_shape_by_hb): Compile only if
	HAVE_LIBOTF is defined.  (Bug#33771)

2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	Assume ‘emacs’ is defined in Emacs-only code

	* src/charset.c, src/coding.c, src/coding.h, src/gmalloc.c:
	* src/ralloc.c, src/regex-emacs.c: Simplify slightly by
	assuming that ‘emacs’ is defined.  These modules have long
	been specific to Emacs, and are not used elsewhere.

2018-12-17  Eli Zaretskii  <eliz@gnu.org>

	Fix last change.

2018-12-17  Mike Kupfer  <mkupfer@alum.berkeley.edu>

	* src/ftcrfont.c (ftcrfont_driver): Really commit last change.

2018-12-17  Mike Kupfer  <mkupfer@alum.berkeley.edu>

	More fixes for build without libotf

	* src/xftfont.c (xftfont_driver):
	* src/ftxfont.c (ftxfont_driver):
	* src/ftcrfont.c (ftcrfont_driver): Set the .shape member only
	if HAVE_LIBOTF is defined.  (Bug#33771)

2018-12-17  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation errors when building without libotf

	* src/ftfont.c (ftfont_shape): Only compile if HAVE_LIBOTF is
	defined.
	(ftfont_driver): Set the .shape member only if HAVE_LIBOTF is
	defined.  (Bug#33771)

2018-12-17  Michael Albinus  <michael.albinus@gmx.de>

	Use `flatten-tree' in Tramp

	* lisp/net/tramp-compat.el (tramp-compat-flatten-tree): New defun.
	(tramp-compat-flatten-list): Remove.

	* lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): Use it.

2018-12-17  Alex Branham  <alex.branham@gmail.com>
	    Basil L. Contovounesios  <contovob@tcd.ie>

	New function flatten-tree


	* doc/lispref/lists.texi: Document `flatten-tree'.

	* lisp/progmodes/js.el (js--maybe-join):
	* lisp/printing.el (pr-switches):
	* lisp/lpr.el (lpr-print-region):
	* lisp/gnus/nnimap.el (nnimap-find-wanted-parts):
	* lisp/gnus/message.el (message-talkative-question):
	* lisp/gnus/gnus-sum.el (gnus-remove-thread)
	(gnus-thread-highest-number, gnus-thread-latest-date):
	* lisp/eshell/esh-util.el (eshell-flatten-and-stringify):
	* lisp/eshell/esh-opt.el (eshell-eval-using-options):
	* lisp/eshell/esh-ext.el (eshell-external-command):
	* lisp/eshell/em-xtra.el (eshell/expr):
	* lisp/eshell/em-unix.el (eshell/rm, eshell-mvcpln-template)
	(eshell/cat, eshell/make, eshell-poor-mans-grep, eshell-grep)
	(eshell/du, eshell/time, eshell/diff, eshell/locate):
	* lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
	* lisp/eshell/em-term.el (eshell-exec-visual):
	* lisp/eshell/em-dirs.el (eshell-dirs-substitute-cd, eshell/cd):
	* lisp/eshell/em-basic.el (eshell/printnl):
	Use new flatten-tree.

	* lisp/progmodes/js.el (js--flatten-list):
	* lisp/lpr.el (lpr-flatten-list):
	* lisp/gnus/message.el (message-flatten-list):
	* lisp/eshell/esh-util.el (eshell-flatten-list):
	Obsolete in favor of Emacs-wide `flatten-tree'.

	* lisp/subr.el (flatten-list): Alias to `flatten-tree' for
	discoverability.

	* lisp/subr.el (flatten-tree): New defun.

	* test/lisp/subr-tests.el (subr-tests-flatten-tree): New test.

2018-12-17  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33524

	* lisp/progmodes/flymake-proc.el
	(flymake-proc-create-temp-with-folder-structure):
	Unquote file-name.  (Bug#33524)

2018-12-17  Michael Albinus  <michael.albinus@gmx.de>

	Reduce autoloaded objects in Tramp

	* lisp/net/tramp-adb.el (tramp-adb-program)
	(tramp-adb-connect-if-not-connected, tramp-adb-prompt):
	Remove autoload cookie.

	* lisp/net/tramp-cache.el (tramp-connection-properties)
	(tramp-persistency-file-name): Remove autoload cookie.

	* lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
	Use `tramp-autoload' cookie.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-zeroconf-domain):
	Remove autoload cookie.

	* lisp/net/tramp-rclone.el (tramp-rclone-program): Remove autoload
	cookie.
	(tramp-set-completion-function): Use `tramp--with-startup'.

	* lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
	(tramp-copy-size-limit, tramp-histfile-override)
	(tramp-use-ssh-controlmaster-options, tramp-remote-path)
	(tramp-remote-process-environment, tramp-sh-extra-args):
	Remove autoload cookie.
	(tramp-stat-marker, tramp-stat-quoted-marker): Move to tramp.el.

	* lisp/net/tramp-smb.el (tramp-smb-program)
	(tramp-smb-acl-program, tramp-smb-conf)
	(tramp-smb-winexe-program, tramp-smb-winexe-shell-command)
	(tramp-smb-winexe-shell-command-switch): Remove autoload cookie.

	* lisp/net/tramp-sudoedit.el (server, tramp-sh): Do not require.

	* lisp/net/tramp.el (tramp--startup-hook): Define.
	(tramp-stat-marker, tramp-stat-quoted-marker): New defconsts,
	taken from tramp-sh.el.

	* test/lisp/net/tramp-archive-tests.el (tramp-copy-size-limit)
	(tramp-persistency-file-name): Declare.

	* test/lisp/net/tramp-tests.el (tramp-connection-properties)
	(tramp-display-escape-sequence-regexp)
	(tramp-inline-compress-start-size, tramp-remote-path): Declare.

2018-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/macroexp.el: Don't hide backtrace

	(macroexp--compiler-macro): Use condition-case-unless-debug.

2018-12-16  João Távora  <joaotavora@gmail.com>

	Jsonrpc error handlers can now safely call jsonrpc-shutdown

	Previously, if an error handler called jsonrpc-shutdown, and if that
	error handler was being called from the process sentinel,
	jsonrpc-shutdown would infloop waiting for jsonrpc-sentinel-done to be
	set.

	Rename the process property jsonrpc-sentinel-done to
	jsonrpc-sentinel-cleanup-started, arrange for it to be set earlier
	in the sentinel, and also check for it earlier in jsonrpc-shutdown.

	* lisp/jsonrpc.el (Version): Bump to 1.0.7.
	(jsonrpc--process-sentinel): Set jsonrpc-sentinel-cleanup-started
	a bit earlier than previous jsonrpc-sentinel-done.
	(jsonrpc-shutdown): Query jsonrpc-sentinel-cleanup-started

2018-12-16  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-12-16 regex: propagate fix for glibc bug 18040
	2018-12-16 obstack, libc-config: Support HP-UX cc in C99 mode
	2018-12-15 regex: work around a bug in glibc-2.27 and prior
	2018-12-13 localtime-buffer: Avoid endless recursion
	* build-aux/config.guess, build-aux/config.sub, lib/cdefs.h:
	* lib/gettext.h, lib/localtime-buffer.c, lib/regexec.c, m4/regex.m4:
	Copy from Gnulib.

2018-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/tramp.el: Rework mutual dependencies

	Functionally split tramp-loaddefs.el into two parts: one part run
	while loading it at the very beginning of loading tramp.el (holding plain
	autoloads and declarations), and another run at the very end of loading
	tramp.el (holding setup code).
	This should reduce infinite-recursion problems while loading.

	* lisp/net/tramp.el: Require tramp-loaddefs at beginning.
	Run (new and internal) tramp--startup-hook at the end.
	Remove all tramp-autoloads.  Prefer tramp--with-startup over
	eval-after-load.
	(tramp--with-startup): New macro.
	(tramp-set-syntax): Show the new value rather than the old value in the
	error message.
	(tramp-syntax-values): Explicitly return 'values'.
	(tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
	(tramp-postfix-method-format, tramp-postfix-method-regexp)
	(tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
	(tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
	(tramp-postfix-host-format, tramp-postfix-host-regexp)
	(tramp-remote-file-name-spec-regexp, tramp-file-name-structure)
	(tramp-completion-file-name-regexp): Don't initialize in the declaration,
	since it's recomputed at the end anyway.
	(tramp-time-dont-know, tramp-time-doesnt-exist): Move before first use.

	* lisp/net/tramp-compat.el: Don't require tramp-loaddefs any more.
	(tramp-compat-tramp-syntax): Declare tramp-syntax.

	* lisp/net/tramp-smb.el:
	* lisp/net/tramp-rclone.el:
	* lisp/net/tramp-gvfs.el:
	* lisp/net/tramp-ftp.el:
	* lisp/net/tramp-adb.el: Wrap all autoloaded setup operations within
	tramp--with-startup.

	* lisp/net/tramp-sh.el: Wrap all autoloaded setup operations within
	tramp--with-startup.
	(tramp-display-escape-sequence-regexp)
	(tramp-device-escape-sequence-regexp): Don't tramp-autoload any more.
	(tramp-stat-marker): Use eval-and-compile rather than tramp-autoload.

	* lisp/net/tramp-sudoedit.el: Wrap all autoloaded setup operations within
	tramp--with-startup.
	Require tramp-sh at compile-time to precompute some regexps based on
	tramp-stat-marker.

2018-12-16  Michael Albinus  <michael.albinus@gmx.de>

	Add Tramp sudoedit method

	* doc/misc/tramp.texi (Quick Start Guide): New section "Using sudoedit".
	(External methods) <sudoedit>: Describe.

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
	Add handler.

	* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-uid-gid): Rename from
	`tramp-sh-handle-set-file-uid-gid'.  Handle only remote file names.

	* lisp/net/tramp-sudoedit.el: New file.

	* lisp/net/tramp.el (tramp-file-name-for-operation): Handle also
	`tramp-set-file-uid-gid'.
	(tramp-set-file-uid-gid): New defun.
	(tramp-get-local-uid, tramp-get-local-gid): Cache result.

	* test/lisp/net/tramp-tests.el (tramp--test-sudoedit-p): New defun.
	(tramp-test20-file-modes, tramp-test22-file-times)
	(tramp--test-sudoedit-p): Use it.

2018-12-16  João Távora  <joaotavora@gmail.com>

	Rephrase a confusing sentence in the jsonrpc.el manual

	* doc/lispref/text.texi (JSONRPC Overview): Rephrase first
	sentence on building JSONRPC applications.

2018-12-15  Glenn Morris  <rgm@gnu.org>

	Expect two epg tests to fail on hydra

	* test/lisp/epg-tests.el (epg-decrypt-1, epg-roundtrip-1):
	These currently fail for unknown reasons on hydra.nixos.org.

2018-12-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	fa953b5 (origin/emacs-26) Fix an epg test for recent GnuPG versions (...
	3015636 Document font structure layout constraints
	f14d574 Document font structure layout constraints
	f519aa1 Fix display of line numbers in empty lines beyond EOB
	24b5026 Fix redisplay when a window's scroll bar or fringes are changed
	5d1b158 Tiny markup fix in Elisp manual

2018-12-15  Glenn Morris  <rgm@gnu.org>

	Ensure flymake tests use gcc rather than $CC

	* test/lisp/progmodes/flymake-resources/Makefile: Force use of gcc.
	This seems to be what the tests expect.  (Bug#33735)

2018-12-15  Glenn Morris  <rgm@gnu.org>

	Suppress filenotify remote test failures on hydra.nixos.org

	* test/lisp/filenotify-tests.el (file-notify--deftest-remote):
	Add optional argument to pass expected-result.
	(file-notify-test04-autorevert-remote)
	(file-notify-test08-backup-remote): Expect failure on hydra (bug#33735).

2018-12-15  Glenn Morris  <rgm@gnu.org>

	Fix an eshell ls dired test for non-recent files

	* test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27844):
	Work around an eshell issue with non-recent files.  (Bug#33734)

2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>

	Assume hb_ft_font_create_referenced if HarfBuzz

	* configure.ac (HAVE_HB_FT_FONT_CREATE_REFERENCED):
	Remove test, since we now require 0.9.42 and
	hb_ft_font_create_referenced has been present since 0.9.38.
	* src/ftfont.c (ft_face_destroy, hb_ft_font_create_referenced):
	Remove; no longer needed.

2018-12-14  Glenn Morris  <rgm@gnu.org>

	* configure.ac: Guess at minimum harfbuzz version.  (Bug#33748)

	* make-dist: Improve no-byte-compile check.

2018-12-14  Glenn Morris  <rgm@gnu.org>

	* make-dist: Improve tempfile handling.

	Prompted by /tmp/out existing and being owned by another user.

2018-12-14  Glenn Morris  <rgm@gnu.org>

	* make-dist: Silence test of tar functionality.

2018-12-14  Basil L. Contovounesios  <contovob@tcd.ie>

	* lisp/emacs-lisp/map.el: Fix recent changes

	(map-empty-p): Add method for lists which avoids computing their
	entire length.
	(map-contains-key): Check for alist membership by comparing against
	DEFAULT argument returned by alist-get.
	(map-put!): Reconcile argument name with that used in docstring.

2018-12-14  Ari Roponen  <ari.roponen@gmail.com>

	Fix crash in the Cairo build

	* src/ftcrfont.c (struct ftcrfont_info) [HAVE_HARFBUZZ]: New
	member 'hb_font'.  (Bug#33739)

2018-12-13  Glenn Morris  <rgm@gnu.org>

	* test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27844): Remove debug.

2018-12-13  Stephen Leake  <stephen_leake@stephe-leake.org>

	Get long package description for installed packages from installed files

	* doc/lispref/package.texi (Archive Web Server): New; document web
	server interface.

	* lisp/emacs-lisp/package.el (package--get-description): New; get long
	description from installed files.
	(describe-package-1): Use it, improve comments. No longer writing
	NAME-readme.txt.

	* test/lisp/emacs-lisp/package-tests.el:
	(package-test-describe-package): There is now a description for an
	installed package.
	(package-test-describe-installed-multi-file-package): New test.

2018-12-13  Stephen Leake  <stephen_leake@stephe-leake.org>

	Merge commit 'd08b75abe0f0cf9ade812b189c374809a2c7836e'

2018-12-13  Paul Eggert  <eggert@cs.ucla.edu>

	Fix stray CHECK_FIXNUM_COERCE_MARKER

	* src/xdisp.c (Fbidi_resolved_levels): Don’t allow a marker arg;
	markers are character positions not vertical positions.

2018-12-13  Paul Eggert  <eggert@cs.ucla.edu>

	Default to --with-harfbuzz

	* configure.ac: By default, configure with HarfBuzz if available.

2018-12-13  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify mainline Harfbuzz-using code

	* src/ftfont.c (ft_face_destroy): Omit unnecessary cast.
	(hb_ft_font_create_referenced) [!HAVE_HB_FT_FONT_CREATE_REFERENCED]:
	New function.
	(ftfont_get_hb_font): Use it.

2018-12-13  Glenn Morris  <rgm@gnu.org>

	* test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27844): Add debug.

2018-12-13  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Ad-hoc multi-hops): Reinsert lost line.

2018-12-12  João Távora  <joaotavora@gmail.com>

	Allow per-diagnostic overlay properties in Flymake

	* lisp/progmodes/flymake.el (Version): Bump to 1.0.3.
	(flymake--diag): Add new field overlay-properties.
	(flymake-make-diagnostic): New optional arg overlay-properties.
	(flymake--highlight-line): Use it.

2018-12-12  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc.el (vc-find-revision-no-save): Use decode-coding-inserted-region

	and after-insert-file-set-coding.  Don't let-bind coding-system-for-read
	and coding-system-for-write.  For non-interactive use, let-bind
	enable-local-variables to :safe and ignore errors from set-auto-mode call.
	(Bug#33567)

2018-12-12  Glenn Morris  <rgm@gnu.org>

	Improve em-ls-test-bug27844

	* test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27844):
	Skip if source-directory absent.

2018-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify validate_interval_range and callers

	* src/textprop.c (validate_interval_range):
	Remove useless code.  Fix comment to match current behavior.
	(set_text_properties, copy_text_properties): Simplify, as
	validate_interval_range has not incremented START or END for
	quite some time.
	(copy_text_properties): Assume C99.  Fix an unlikely
	integer overflow bug if WIDE_EMACS_INT.

2018-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	set_text_properties_1 can assume START <= END

	* src/textprop.c (set_text_properties_1):
	Do not swap START and END.  All callers do that already,
	and the test for swapping here is redundant.

2018-12-12  Eli Zaretskii  <eliz@gnu.org>

	Fix regression in expand-file-name with drive-relative HOME

	* src/fileio.c (get_homedir) [DOS_NT]: Expand drive-relative
	$HOME to begin with "X:/".

	* test/src/fileio-tests.el (fileio-tests--relative-HOME): Add
	testing of drive-relative value of $HOME on MS-Windows and
	MS-DOS.

2018-12-12  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33568

	* test/lisp/net/secrets-tests.el (secrets-test02-collections)
	(secrets-test03-items): Do not expect "login" collection to
	exist.  (Bug#33568)

2018-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/map.el: Make the functions generic

	Make them document their delegation relationship, to clarify when
	a method is needed.
	(map--dispatch): Give more info in the error message.
	(map-elt): Make it generic and deprecate the 'testfn' arg.
	(map-put): Make it obsolete.
	(map-length): Make it work on hash-tables.
	(map-apply): Define it in terms of map-do.
	(map-do, map-into): Use cl-generic dispatch instead of map--dispatch.
	(map-empty-p): Define it in terms of map-length.
	(map-contains-key): Deprecate 'testfn'.  Make it return a boolean, so
	it can return non-nil even if 'key' is nil.  Improve implementation to
	avoid constructing an intermediate list of all keys.
	(map-merge-with): Use 'eql' rather than `eq'.
	(map-put!): Rename from map--put and make it generic, to replace map-put.
	(map--apply-alist, map--apply-hash-table, map--apply-array):
	Turn them into methods of map-apply.
	(map--do-alist, map--do-array): Turn them into methods of map-do.
	(map--into-hash-table): Turn it into a method of map-into.

2018-12-11  Stephen Leake  <stephen_leake@stephe-leake.org>

	Fix bug in display-buffer-use-some-frame

	* lisp/window.el (display-buffer-use-some-frame): Pass 'reuse, not
	'frame, to window--display-buffer.

2018-12-10  Martin Rudalics  <rudalics@gmx.at>

	Fix typo in 'dired-restore-positions'

	* lisp/dired.el (dired-restore-positions): Fix typo in last
	change fixing Bug#33458.

2018-12-10  Glenn Morris  <rgm@gnu.org>

	Add test/Makefile machinery to exclude test .el files

	* test/Makefile.in (EXCLUDE_TESTS): New variable.
	(ELFILES): Filter out any specified exclude files.

2018-12-10  Nobuyoshi Nakada  <nobu@ruby-lang.org>

	Support Ruby block arguments ending with , or *

	* lisp/progmodes/ruby-mode.el (ruby-smie--forward-token):
	Recognize punctuation before "closing-|" as a separate token.
	(ruby-smie--backward-token): Same (bug#33487).

	* test/lisp/progmodes/ruby-mode-tests.el
	(ruby-forward-sexp-jumps-do-end-block-with-no-args)
	(ruby-backward-sexp-jumps-do-end-block-with-no-args)
	(ruby-forward-sexp-jumps-do-end-block-with-empty-args)
	(ruby-backward-sexp-jumps-do-end-block-with-empty-args)
	(ruby-forward-sexp-jumps-do-end-block-with-args)
	(ruby-backward-sexp-jumps-do-end-block-with-args)
	(ruby-forward-sexp-jumps-do-end-block-with-any-args)
	(ruby-forward-sexp-jumps-do-end-block-with-expanded-one-arg)
	(ruby-forward-sexp-jumps-do-end-block-with-one-and-any-args)
	(ruby-backward-sexp-jumps-do-end-block-with-one-and-any-args):
	New tests.

2018-12-10  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-pre-command-hook): Support `isearch-move'

	command properties with values `enabled' and `disabled'
	also for the value `shift' of isearch-yank-on-move.  (Bug#15839)

2018-12-10  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc.el (vc-root-version-diff): New command (bug#33650).

	(vc-root-diff): Call it interactively on a prefix argument.

2018-12-10  Matthias Meulien  <orontee@gmail.com>

	Support git commit --no-verify

	* lisp/vc/vc-git.el (vc-git-log-edit-toggle-no-verify): New function.
	(vc-git-log-edit-mode-map): Add binding.
	(vc-git-checkin): Add an entry for that header.

2018-12-10  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug when hashing reversed buffer regions

	* src/fns.c (extract_data_from_object): When checking
	file-coding-system-alist, calculate the coding system
	correctly even if START and END are out of order.
	Use bool for booleans.

2018-12-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	2075864 (origin/emacs-26) CC Mode: stop extra parens on expression ca...

2018-12-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	5a7451c CC Mode: stop wrongly recognizing "func(a * 9)" as "pointer t...
	b0ed9d1 * lisp/emacs-lisp/cursor-sensor.el: Add motivation

2018-12-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	908af9d Indexing followup to recent changes
	505ac9a Improve documentation of cursor-sensor.el (bug#33664)
	d817d2c * doc/lispref/commands.texi (Adjusting Point): Bug#33662
	18442da Tramp multi-hop methods must be inline
	1e3e24d ; * src/xterm.c (x_update_begin): Fix whitespace.
	1d743d2 Fix scaling problem in Cairo builds
	2b9e993 ; * doc/lispref/text.texi (Special Properties): Fix wording. ...
	e568202 * lisp/simple.el (next-line-or-history-element): Use current-...
	c7897c2 A few further fixes of window internals description

	# Conflicts:
	#	doc/misc/tramp.texi

2018-12-10  Glenn Morris  <rgm@gnu.org>

	* admin/gitmerge.el (gitmerge-skip-regexp): Add yet another variant.

2018-12-10  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-compat.el (tramp-compat-flatten-list): New defun.

2018-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/Makefile.in (compile-main): Use a more selective regexp.

2018-12-09  Paul Eggert  <eggert@cs.ucla.edu>

	Remove CHECK_FIXNUM_CAR etc.

	* src/coding.c (CHECK_FIXNAT_CAR, CHECK_FIXNAT_CDR):
	* src/lisp.h (CHECK_FIXNUM_CAR, CHECK_FIXNUM_CDR):
	Remove.  All uses removed.  These seem to have been based on
	the assumption that the argument cons needs to be modified,
	an assumption that is incorrect for fixnums.
	(Fdefine_coding_system_internal): Use CHECK_RANGED_INTEGER
	instead of a special diagnostic for graphic register numbers.

2018-12-09  Glenn Morris  <rgm@gnu.org>

	* test/lisp/eshell/eshell-tests.el (with-temp-eshell):
	Avoid permanently changing HISTFILE.

2018-12-09  Juri Linkov  <juri@linkov.net>

	Fix occur for non-nil list-matching-lines-jump-to-current-line (bug#33476)

	* lisp/replace.el (occur-engine): Move orig-line let-binding higher.
	Don't use start-line in forward-line.

2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>

	Fix uni_combining()

	WIP: implement some Unicode callback functions

2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>

	Set cluster level to one

	Makes to possible to edit combining marks separately as now they get a
	different cluster value from the base glyph.

2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>

	Cache hb_font_t

	Not sure if the xftfont.c changes are really needed, but followed the
	libotf code just in case.

2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>

	Allow turning HarfBuzz off at run time

	Useful for comparing the shaping result with that of m17n.

2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>

	First attempt at HarfBuzz shaping

	Barely works, and unoptimized!

2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>

	Add support for building with HarfBuzz

	Not used yet.

2018-12-09  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):

	Use proper error symbol.

2018-12-09  Alan Mackenzie  <acm@muc.de>

	Don't create *Compile-Log* due to byte-compile.  Amend message to it.

	This fixes bug #33602 and is a partial reversion of a commit from
	2018-11-28T13:15:50.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-log-file): Don't create buffer
	*Compile-Log* because it doesn't already exist.  Amend message "Compiling no
	file" to be clearer (?and less irritating).

2018-12-09  Paul Eggert  <eggert@cs.ucla.edu>

	Add make_vector and make_nil_vector

	This makes the callers a bit easier to read, and doubtless
	improves efficiency very slightly.  It also simplifies
	possible future changes to allow bignum indexes to buffers.
	* src/alloc.c (allocate_vectorlike):
	Prefer ptrdiff_t to size_t when either will do.
	(make_vector): New function.
	(Fmake_vector): Use it.
	* src/buffer.c (syms_of_buffer):
	* src/bytecode.c (syms_of_bytecode):
	* src/category.c (Fmake_category_table, init_category_once):
	* src/ccl.c (syms_of_ccl):
	* src/character.c (syms_of_character):
	* src/charset.c (Fdefine_charset_internal)
	(Ffind_charset_region, Ffind_charset_string):
	* src/chartab.c (copy_char_table):
	* src/coding.c (Fdefine_coding_system_internal, syms_of_coding):
	* src/composite.c (get_composition_id, Fcomposition_get_gstring):
	* src/composite.h (LGLYPH_NEW):
	* src/fns.c (concat, Flocale_info, make_hash_table):
	* src/font.c (font_otf_ValueRecord, font_otf_anchor)
	(build_style_table, syms_of_font):
	* src/fontset.c (RFONT_DEF_NEW, fontset_find_font)
	(dump_fontset, syms_of_fontset):
	* src/image.c (xpm_make_color_table_v):
	* src/keyboard.c (modify_event_symbol, menu_bar_items)
	(parse_menu_item, parse_tool_bar_item, init_tool_bar_items)
	(syms_of_keyboard):
	* src/keymap.c (Fdefine_key, describe_map, describe_vector):
	* src/lread.c (read_vector):
	* src/macfont.m (macfont_shape):
	* src/menu.c (init_menu_items):
	* src/nsfns.m (ns_make_monitor_attribute_list):
	* src/process.c (conv_sockaddr_to_lisp, network_interface_info):
	* src/profiler.c (make_log):
	* src/window.c (Fcurrent_window_configuration):
	* src/xdisp.c (with_echo_area_buffer_unwind_data)
	(format_mode_line_unwind_data):
	* src/xfaces.c (Finternal_make_lisp_face)
	(Fface_attributes_as_vector):
	* src/xfns.c (x_make_monitor_attribute_list)
	(Fx_display_monitor_attributes_list):
	* src/xfont.c (syms_of_xfont):
	* src/xselect.c (x_handle_dnd_message):
	* src/xwidget.c (save_script_callback):
	Prefer make_nil_vector (N) to Fmake_vector (make_fixnum (N), Qnil).
	* src/callint.c (Fcall_interactively):
	* src/charset.c (load_charset_map):
	* src/chartab.c (Fmake_char_table, uniprop_encode_value_numeric):
	* src/composite.c (get_composition_id)
	* src/dispnew.c (Fframe_or_buffer_changed_p)
	(syms_of_display):
	* src/fns.c (make_hash_table, maybe_resize_hash_table):
	* src/font.c (font_style_to_value):
	* src/fontset.c (FONTSET_ADD, fontset_add):
	* src/json.c (json_to_lisp):
	* src/keymap.c (syms_of_keymap):
	* src/lread.c (init_obarray):
	* src/profiler.c (make_log, Fprofiler_cpu_log):
	* src/term.c (term_get_fkeys_1):
	Prefer make_vector (N, V) to Fmake_vector (make_fixnum (N), V).
	* src/font.c (build_style_table):
	* src/macfont.m (macfont_shape):
	* src/process.c (conv_sockaddr_to_lisp, network_interface_info):
	Prefer make_uninit_vector if the vector will be initialized soon.
	* src/lisp.h (make_nil_vector): New function.

2018-12-08  Eli Zaretskii  <eliz@gnu.org>

	Fix resolving symlinks in Eshell history file names

	* lisp/eshell/em-dirs.el (eshell-write-last-dir-ring):
	* lisp/eshell/em-hist.el (eshell-write-history): Don't call
	file-truename with argument of nil.  (Bug#33477)

	* test/lisp/eshell/eshell-tests.el (with-temp-eshell): Remove
	HISTFILE from the environment, to make sure the Eshell history
	file is nil.

2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>

	* src/alloc.c (VECTOR_ELTS_MAX): Make sure it’s signed.

2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>

	Port VECTOR_ELTS_MAX to older GCC etc.

	Problem reported by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2018-12/msg00182.html
	* src/alloc.c (VECTOR_ELTS_MAX): Now a macro.
	Needed for portability to older GCC and non-GCC.

2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>

	Streamline and fix vector-size checks

	* src/alloc.c (VECTOR_ELTS_MAX): New constant.
	(allocate_vectorlike): LEN now must be positive.  Assume LEN
	is in range.  All callers changed.
	(allocate_vector): Arg is now ptrdiff_t, not EMACS_INT.
	All callers changed.  Return zero vector here, not in
	allocate_vectorlike.
	* src/lisp.h (make_uninit_vector): Simplify.
	* src/xwidget.c (webkit_js_to_lisp):
	Check for overflow in ptrdiff_t calculations.

2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>

	Suppress WebKitGTK+ 2.21.1 diagnostics

	* src/xwidget.c: Suppress deprecation warnings (Bug#33679).

2018-12-08  Michael Heerdegen  <michael_heerdegen@web.de>

	Fix quote in the copyright skeleton

	Revert replacing a backquote in the "copyright" skeleton with a quote
	done in "Replace insignificant backquotes" which broke the skeleton.

	* lisp/emacs-lisp/copyright.el (copyright): Restore the correct
	version of the skeleton that used a backquote.

2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix integer overflow in oversize vectors

	* src/alloc.c (allocate_vector): Fix integer overflow when
	allocating very large vectors, by taking large_vector_offset
	into account.  Assume C99.

2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>

	* src/alloc.c (allocate_vectorlike): Simplify.

2018-12-08  Eli Zaretskii  <eliz@gnu.org>

	Honor 'vc-bzr-log-switches' in 'vc-bzr-revision-table'

	* lisp/vc/vc-bzr.el (vc-bzr-revision-table): Honor
	'vc-bzr-log-switches'.

2018-12-08  Steven De Herdt  <steven.deherdt@gmail.com>  (tiny change)

	Honor 'vc-bzr-log-switches' in 'vc-bzr-expanded-log-entry'

	* lisp/vc/vc-bzr.el (vc-bzr-expanded-log-entry): Honor
	'vc-bzr-log-switches'.  (Bug#33494)

2018-12-08  Eli Zaretskii  <eliz@gnu.org>

	Document that Eshell follows symlinks in history file names

	* etc/NEWS: Mention that Eshell now follows symlinks in
	history file names.

2018-12-08  Philip Hudson  <phil.hudson@iname.com>

	Follow links in Eshell last-dir-ring

	* lisp/eshell/em-hist.el (eshell-write-last-dir-ring):
	Follow symlinks in 'eshell-last-dir-ring-file-name'.
	(Bug#33477)

2018-12-08  Philip Hudson  <phil.hudson@iname.com>

	Follow symlink in Eshell history

	* lisp/eshell/em-hist.el (eshell-write-history): Follow
	symlinks in 'eshell-history-file-name'.  (Bug#33460)

2018-12-08  Martin Rudalics  <rudalics@gmx.at>

	New buffer display action alist entry 'window-min-height' (Bug#32825)

	* lisp/window.el (display-buffer-below-selected): Handle
	'window-min-height' action alist entry (Bug#32825).
	* doc/lispref/windows.texi (Buffer Display Action Functions)
	(Buffer Display Action Alists): Add documentation for
	'window-min-height' action alist entries.
	* etc/NEWS: Mention 'window-min-height' action alist entry.

2018-12-08  Martin Rudalics  <rudalics@gmx.at>

	Adjust windows' previous buffers when reverting dired buffers (Bug#33458)

	* lisp/dired.el (dired-save-positions, dired-restore-positions):
	For each window that showed the reverted buffer before, fix the
	point positions in its list of previously shown buffers the way
	these routines handle window point for all windows currently
	showing the buffer (Bug#33458).

2018-12-08  Martin Rudalics  <rudalics@gmx.at>

	Improve how 'balance-windows' handles fixed-size windows (Bug#33254)

	* lisp/window.el (balance-windows-2): When a child window has
	fixed size, don't count it as resizable (Bug#33254).
	Handle case where a window has no resizable child windows.

2018-12-07  Alan Mackenzie  <acm@muc.de>

	CC Mode: Compensate for backward-sexp ignoring trailing commas after {...}

	This fixes bug #32808.

	* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): New variable
	comma-delimited, set when we're about to scan backward over a comma.  Do not
	reckon a brace block as bounding a statement when it is followed or preceded
	by a comma (except when argument comma-delim is non-nil).
	(c-guess-basic-syntax, CASE 9C): Call c-beginning-of-statement-1 with argument
	comma-delim changed to non-nil.

2018-12-07  Michael Albinus  <michael.albinus@gmx.de>

	Refactor some Tramp functions

	* lisp/net/tramp-compat.el (tramp-compat-file-local-name): New defsubst.
	(tramp-compat-file-name-quoted-p, tramp-compat-file-name-quote)
	(tramp-compat-file-name-unquote):
	* lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p)
	(tramp-handle-file-truename, tramp-get-remote-tmpdir):
	* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
	(tramp-adb-handle-rename-file, tramp-adb-handle-exec-path):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
	(tramp-sh-handle-exec-path, tramp-find-inline-encoding)
	(tramp-get-remote-touch): Use it.

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	Use `tramp-handle-expand-file-name'.
	(tramp-adb-handle-expand-file-name): Move to tramp.el.
	(tramp-adb-handle-file-writable-p): Adapt docstring.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	Use `tramp-handle-file-local-copy', `tramp-handle-file-writable-p'
	and `tramp-handle-write-region'.
	(tramp-gvfs-handle-file-local-copy)
	(tramp-gvfs-handle-file-writable-p)
	(tramp-gvfs-handle-write-region): Move to tramp.el.

	* lisp/net/tramp-rclone.el: Don't require `tramp-adb' and
	`tramp-gvfs' anymore.
	(tramp-rclone-file-name-handler-alist):
	Use `tramp-handle-expand-file-name', `tramp-handle-file-local-copy',
	`tramp-handle-file-writable-p' and `tramp-handle-write-region'.
	(tramp-rclone-handle-directory-files): Simplify.

	* lisp/net/tramp.el (tramp-methods): Extend docstring.
	(tramp-parse-netrc): Require `netrc'.
	(tramp-handle-expand-file-name, tramp-handle-file-local-copy)
	(tramp-handle-file-writable-p, tramp-handle-write-region): New defuns.

2018-12-07  Eli Zaretskii  <eliz@gnu.org>

	Fix the value of default-directory upon startup on MS-Windows

	* src/w32.c (w32_get_current_directory): New function.
	(GetCachedVolumeInformation, init_environment): Use it.
	(w32_init_current_directory): New function.
	* src/w32.h (w32_init_current_directory): Add prototype.
	* src/emacs.c (main) [WINDOWSNT]: Use w32_init_current_directory
	to get the accurate value of cwd.  This is needed to record
	the correct directory in emacs_wd, which is now initialized
	way earlier in the startup process, when init_environment was
	not yet called.  For details, see the problems reported in
	https://lists.gnu.org/archive/html/emacs-devel/2018-12/msg00068.html.
	Reported by Angelo Graziosi <angelo.g0@libero.it>.

2018-12-06  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc.el (vc-find-revision-no-save): Add optional arg BUFFER.

	(Bug#33567)

2018-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	Mention EMACS_SOCKET_NAME, not XDG_RUNTIME_DIR.

	Mention unsetting XDG_RUNTIME_DIR in doc.

2018-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: avoid background chatter

	* lib-src/emacsclient.c (process_grouping): New function.
	(act_on_signals, main): Use it.
	(main): Omit "Waiting for Emacs..." and later "\n" messages
	if in background, since that messes up the screen.

2018-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	Fix emacsclient hang when backgrounded

	Problem reported by Kaushal Modi in:
	https://lists.gnu.org/r/emacs-devel/2018-12/msg00083.html
	The tcdrain call replaced an fdatasync call which had no
	effect on the tty, so removing it entirely shouldn’t cause
	problems.  The fdatasync call replaced an fsync call which
	also had no effect on the tty, and the fsync call seems to be
	badly-merged revenant of emacsclient’s old (circa 2004) way of
	communicating to and from Emacs via FILE * streams, where
	fsync was apparently needed when talking to sockets.
	* lib-src/emacsclient.c [!DOS_NT]: Don’t include termios.h.
	(flush_stdout): Remove.  All callers removed.
	(main): Do not drain the tty after "Waiting for Emacs..."
	message.  There should be no need to drain, and draining it
	might send us a SIGTTOU.  Do not fflush stdout just before
	exiting, as exiting does that for us.

2018-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	struct image_type layout is private to image.c

	* src/dispextern.h (struct image_type): Move from here ...
	* src/image.c (struct image_type): ... to here.

2018-12-06  Eli Zaretskii  <eliz@gnu.org>

	Avoid an error on exit in a build without threads

	* lisp/simple.el (list-processes--refresh): Avoid signaling an
	error in a build --without-threads.  (Bug#33629)

2018-12-06  Michael Albinus  <michael.albinus@gmx.de>

	Add missing handler to tramp-rclone.el, improve robustness

	* lisp/net/tramp-rclone.el (tramp-adb): Require.
	(tramp-rclone-file-name-handler-alist):
	Use `tramp-adb-handle-expand-file-name'.
	(tramp-rclone-flush-directory-cache): New defun, derived from
	`tramp-rclone-flush-mount'.
	(tramp-rclone-do-copy-or-rename-file)
	(tramp-rclone-handle-delete-directory)
	(tramp-rclone-handle-delete-file)
	(tramp-rclone-handle-make-directory): Use it.
	(tramp-rclone-handle-directory-files)
	(tramp-rclone-local-file-name):
	Use `tramp-compat-file-name-quoted-p', 	`tramp-compat-file-name-quote'
	and ´tramp-compat-file-name-unquote'.
	(tramp-rclone-handle-file-executable-p)
	(tramp-rclone-handle-file-readable-p): Cache result.
	(tramp-rclone-handle-file-name-all-completions)
	(tramp-rclone-mounted-p, tramp-rclone-remote-file-name)
	(tramp-rclone-maybe-open-connection): Rewrite.

	* test/lisp/net/tramp-tests.el (tramp--test-rclone-p): New defun.
	(tramp-test05-expand-file-name-relative)
	(tramp--test-special-characters): Use it.

2018-12-06  Michael Albinus  <michael.albinus@gmx.de>

	Rework Tramp wrt string-match-p, looking-at-p, save-match-data

	* lisp/net/tramp.el (tramp-find-method, tramp-find-user)
	(tramp-find-host, tramp-dissect-file-name, tramp-make-tramp-file-name)
	(tramp-completion-make-tramp-file-name, tramp-debug-message)
	(tramp-message, tramp-progress-reporter-update)
	(tramp-set-completion-function)
	(tramp-rfn-eshadow-update-overlay)
	(tramp-find-file-name-coding-system-alist)
	(tramp-file-name-for-operation)
	(tramp-use-absolute-autoload-file-names)
	(tramp-get-completion-methods, tramp-get-completion-user-host)
	(tramp-handle-directory-files)
	(tramp-handle-file-name-case-insensitive-p)
	(tramp-handle-file-name-completion, tramp-handle-file-truename)
	(tramp-handle-insert-directory, tramp-handle-load)
	(tramp-handle-shell-command, tramp-action-yesno)
	(tramp-action-yn, tramp-process-actions)
	(tramp-mode-string-to-int, tramp-get-local-locale)
	(tramp-local-host-p):
	* lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info)
	(tramp-adb-handle-directory-files-and-attributes)
	(tramp-adb--gnu-switches-to-ash, tramp-adb-sh-fix-ls-output)
	(tramp-adb-handle-file-name-all-completions)
	(tramp-adb-handle-shell-command)
	(tramp-adb-handle-start-file-process):
	* lisp/net/tramp-archive.el (tramp-archive-dissect-file-name):
	* lisp/net/tramp-cache.el (tramp-get-hash-table)
	(tramp-flush-directory-properties, tramp-flush-file-function):
	* lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
	(tramp-append-tramp-buffers):
	* lisp/net/tramp-compat.el (tramp-compat-process-running-p):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
	(tramp-gvfs-get-file-attributes)
	(tramp-gvfs-handle-file-attributes)
	(tramp-gvfs-monitor-process-filter)
	(tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec-entry)
	(tramp-gvfs-mount-spec, tramp-gvfs-maybe-open-connection):
	* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
	(tramp-do-file-attributes-with-stat)
	(tramp-sh-handle-file-selinux-context)
	(tramp-sh-handle-directory-files-and-attributes)
	(tramp-do-directory-files-and-attributes-with-stat)
	(tramp-sh-handle-file-name-all-completions)
	(tramp-sh-handle-dired-compress-file)
	(tramp-sh-handle-insert-directory)
	(tramp-sh-handle-expand-file-name)
	(tramp-sh-handle-start-file-process)
	(tramp-sh-handle-process-file, tramp-sh-handle-write-region)
	(tramp-sh-handle-file-notify-add-watch)
	(tramp-sh-gio-monitor-process-filter)
	(tramp-sh-gvfs-monitor-dir-process-filter)
	(tramp-sh-inotifywait-process-filter)
	(tramp-sh-handle-file-system-info, tramp-maybe-send-script)
	(tramp-find-executable, tramp-open-shell, tramp-find-shell)
	(tramp-open-connection-setup-interactive-shell)
	(tramp-find-inline-encoding, tramp-call-local-coding-command)
	(tramp-compute-multi-hops, tramp-maybe-open-connection)
	(tramp-convert-file-attributes)
	(tramp-make-copy-program-file-name, tramp-get-remote-locale)
	(tramp-get-test-nt-command, tramp-get-remote-stat)
	(tramp-get-inline-coding):
	* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files)
	(tramp-smb-action-get-acl, tramp-smb-handle-file-attributes)
	(tramp-smb-handle-file-name-all-completions)
	(tramp-smb-handle-file-system-info)
	(tramp-smb-handle-file-writable-p)
	(tramp-smb-handle-insert-directory)
	(tramp-smb-handle-make-directory)
	(tramp-smb-handle-make-directory-internal)
	(tramp-smb-handle-start-file-process, tramp-smb-get-localname)
	(tramp-smb-read-file-entry): Use `string-match-p' and
	`looking-at-p'.  Remove superfluous `save-match-data'.  Apply
	`eval-when-compile' on constant concat data.

	* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p-p):
	Use `string-prefix-p'.
	(tramp-compat-file-name-unquote): Do not use match data.

2018-12-06  Michael Albinus  <michael.albinus@gmx.de>

	Make stronger tests for Tramp multi hops

	* lisp/net/tramp.el (tramp-dissect-file-name, tramp-dissect-hop-name):
	Check, that method is capable of multi hops.

	* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
	(tramp-test02-file-name-dissect-simplified)
	(tramp-test02-file-name-dissect-separate): Suppress check for multihops.
	(tramp-test03-file-name-method-rules): Check for error if multi
	hops cannot be applied.

2018-12-06  João Távora  <joaotavora@gmail.com>

	Keep Flymake compatible with Emacs 26.1 builds --without-x

	* lisp/progmodes/flymake.el (flymake-double-exclamation-mark):
	Don't define if 'define-fringe-bitmap isn't fbound.
	(Version): Bump to 1.0.2

2018-12-05  Glenn Morris  <rgm@gnu.org>

	* admin/unidata/uvs.el (uvs-print-table-ivd): Add more header detail.

2018-12-04  João Távora  <joaotavora@gmail.com>

	Prepare lisp/progmodes/flymake.el for distribution in GNU ELPA

	* lisp/progmodes/flymake.el (Package-Requires): Require Emacs
	26.1.  (Version): Bump to 1.0.1

2018-12-04  João Távora  <joaotavora@gmail.com>

	Allow custom load paths in elisp's byte-compilation Flymake

	* lisp/progmodes/elisp-mode.el
	(elisp-flymake-byte-compile-load-path): New variable.
	(elisp-flymake-byte-compile): Use new variable

2018-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/eldoc.el: Let the user interrupt the search

	(eldoc-print-current-symbol-info): Use while-no-input and non-essential.

2018-12-04  Eli Zaretskii  <eliz@gnu.org>

	Support IBM038 (a.k.a. "EBCDIC-INT") encoding

	* lisp/international/mule-conf.el (ibm038): New charset.
	(ebcdic-int, cp038): Alias charsets of ibm038.
	* lisp/language/english.el (ibm038): New coding-system.
	(ebcdic-int, cp038): Alias coding-systems of ibm038.
	(Bug#33612)

	* etc/NEWS: Announce the new coding system ibm038.

2018-12-04  Glenn Morris  <rgm@gnu.org>

	Skip an autorevert test on hydra.nixos.org (bug#32645)

	* test/lisp/autorevert-tests.el
	(auto-revert-test02-auto-revert-deleted-file): Skip on hydra.

2018-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/shell.el (shell--parse-pcomplete-arguments): Stop at semi-colon

	* test/lisp/shell-tests.el (shell-tests-completion-before-semi):
	New corresponding test.

2018-12-03  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-yank-on-move): New defcustom

	with shift-move related options extracted from `search-exit-option'.
	(isearch-pre-command-hook): Rename search-exit-option to
	isearch-yank-on-move in shift-move related places.
	(isearch-post-command-hook): Check for isearch-pre-move-point
	instead of search-exit-option.  (Bug#15839)

	* doc/emacs/search.texi (Not Exiting Isearch): Rename
	search-exit-option to isearch-yank-on-move.

	* lisp/menu-bar.el (menu-bar-i-search-menu): Add more isearch commands.

2018-12-03  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-allow-scroll): New option `unlimited'.

	(isearch-pre-command-hook): Call isearch-pre-scroll-point unless
	isearch-allow-scroll is 'unlimited'.
	(isearch-post-command-hook): Use `when' instead of `cond'.
	Call isearch-lazy-highlight-new-loop when isearch-allow-scroll is
	'unlimited'.  (Bug#15839)

2018-12-03  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-git.el (vc-git-stash): Call vc-dir-marked-files only

	in vc-dir-mode.

2018-12-03  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: fix typo on recent socket-leak change

	This ports to POSIXish platforms like macOS that lack SOCK_CLOEXEC.
	Fix suggested by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2018-12/msg00055.html
	* lib-src/emacsclient.c (set_local_socket):
	Don’t use SOCK_CLOEXEC; that’s cloexec_socket’s job.

2018-12-03  Eli Zaretskii  <eliz@gnu.org>

	Fix WINDOWSNT/DOS_NT build

	Recent changes in sysdep.c and emacsclient unnecessarily
	removed useful code from DOS_NT builds.  This changeset
	reinstates that code.
	* nt/inc/ms-w32.h (tcdrain): Redirect to _commit.
	(fdatasync): No need to redirect anymore.

	* lib-src/emacsclient.c (flush_stdout): Don't avoid calling
	tcdrain on DOS_NT platforms.

	* src/sysdep.c (reset_sys_modes): Don't ifdef away the call to
	tcdrain on DOS_NT platforms.

2018-12-02  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: don’t leak socket to child processes

	* lib-src/emacsclient.c [!WINDOWSNT]: Include fcntl.h.
	(cloexec_socket): New function.
	(set_tcp_socket, set_local_socket): Use it.

2018-12-02  Paul Eggert  <eggert@cs.ucla.edu>

	Use tcdrain, not fdatasync, to drain ttys

	fdatasync is for storage devices, not ttys.
	* admin/merge-gnulib (GNULIB_MODULES): Remove fdatasync.
	* lib/fdatasync.c, m4/fdatasync.m4: Remove.
	* lib-src/Makefile.in (LIB_FDATASYNC):
	* src/Makefile.in (LIB_FDATASYNC):
	Remove.  All uses removed.
	* lib-src/emacsclient.c [!DOS_NT]:
	Include <termios.h>, for tcdrain.
	* lib-src/emacsclient.c (flush_stdout):
	* src/sysdep.c (reset_sys_modes): On ttys, use tcdrain instead
	of fdatasync (except don’t use either function if DOS_NT).
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2018-12-02  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-11-30 memrchr: port better to clang
	2018-11-21 mktime: add libc-config dependency
	* build-aux/config.guess, build-aux/config.sub, lib/memrchr.c:
	Copy from Gnulib.
	* m4/gnulib-comp.m4: Regenerate.

2018-12-02  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: fix symlink/socket race

	* lib-src/emacsclient.c (socket_status): New arg UID.
	All uses changed.
	(set_local_socket): Don’t create the unbound socket unless the
	initial sanity checks on the socket file succeed; this
	simplifies cleaning it up.  Check socket ownership again
	after connecting, to fix a race (Bug#33366).

2018-12-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	745c9c0 (origin/emacs-26) Revert "Revert "Fix infloop in GC mark_kboa...
	c418c85 Revert "Fix infloop in GC mark_kboards"
	8fa0d96 * lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: acti...

2018-12-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	317b354 ; Add notes about cross-compiling macOS versions
	4b176eb Fix macOS run-time feature check
	c03574b * etc/NEWS-*: Fix capitalization of "Emacs"

	# Conflicts:
	#	etc/NEWS

2018-12-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	e06562c Fix "M-x man" when there's no 'man' program on PATH

2018-12-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	cc3ad9a ; * CONTRIBUTE: Clarify rules for committing to release branc...
	a89dbe2 * doc/misc/dbus.texi (Type Conversion): Fix typo.  (Bug#33551)
	03ee726 ; Add comment to `customize-package-emacs-version-alist'
	bce1d1a Improve documentation of gdb-mi.el

2018-12-01  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: prefer XDG_RUNTIME_DIR (Bug#33367)

	* lib-src/emacsclient.c: Disable -Wformat-truncation=2,
	to avoid false alarms about the new snprintf calls.
	(local_sockname): New function.
	(set_local_socket): Use it.  Prefer XDG_RUNTIME_DIR (if set)
	for location of socket directory.  Avoid unnecessary memory
	allocation by using snprintf to destination.
	* lisp/server.el (server-socket-dir): Prefer XDG_RUNTIME_DIR if set.

2018-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/holidays.el: Use lexical-binding

	Remove redundant :group arguments.
	(holiday-sexp): Bind 'year' and 'date' dynamically for 'sexp' and 'string'.

2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix infloop in GC mark_kboards

	* src/keyboard.c (KBD_BUFFER_SIZE): Now a constant, not a macro.
	(kbd_fetch_ptr, kbd_store_ptr): These now always point somewhere
	into kbd_buffer, instead of sometimes pointing just past the
	end which led to serious bugs (Bug#33547).  All uses changed.
	(kbd_store_ptr): No longer volatile.  This variable has not been
	accessed by a signal handler for some time, it seems.
	(next_kbd_event, prev_kbd_event): New functions.
	(kbd_buffer_nr_stored, process_special_events): Simplify.

2018-11-30  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33556

	* lisp/autorevert.el (auto-revert-notify-add-watch):
	Assert that a key in `auto-revert-notify-watch-descriptor-hash-list'
	is a valid file notification descriptor.  (Bug#33556)

2018-11-29  Robert Pluim  <rpluim@gmail.com>

	Convert NS face colors to RGBA when comparing with frame values

	The NS port uses indexes into a color table to specify the colors of
	faces, whereas frames use RGBA pixel values.  In
	extend_face_to_end_of_line the two needed to be compared to ensure
	that the backgrounds of certain faces are not extended to the edge of
	the window, which was failing because of this difference, thus causing
	a visual difference with other platforms.  Convert from index to RGBA
	when doing such comparisons.

	* src/dispextern.h (FACE_COLOR_TO_PIXEL) [HAVE_NS]: New macro.  Call
	ns_color_index_to_rgba under NS only.

	* src/nsgui.h: Add prototype for ns_color_index_to_rgba.

	* src/nsterm.m (ns_color_index_to_rgba): New function.  Converts a
	color_table entry to corresponding RGBA pixel value.

	* src/xdisp.c (extend_face_to_end_of_line): Call FACE_COLOR_TO_PIXEL
	on face background color when comparing with frame color.

2018-11-29  Filipp Gunbin  <fgunbin@fastmail.fm>

	LDAP: Set process-connection-type to t

	  * lisp/net/ldap.el (ldap-search-internal): Set
	  process-connection-type to t.  (Bug#33050)

2018-11-28  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/bytecomp.el: Don't load compile at runtime.

	It isn't needed and slows down compiling other files.

2018-11-28  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Further small tweaks to Gnus modes cleanup

	* lisp/gnus/gnus-sum.el: Remove explicit definition of
	  `gnus-summary-mode-hook', this is now created automatically.
	* lisp/gnus/nnir.el (nnir-open-server): Attach `nnir-mode' to the
	  `gnus-summary-prepared-hook', instead of
	  `gnus-summary-mode-hook'. The latter no longer has access to the
	  buffer-local value of `gnus-newsgroup-name', which `nnir-mode'
	  needs.

2018-11-28  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	74a3a79 (origin/emacs-26) Fix a typo in a doc string
	911766d Minor markup fix in frames.texi
	19ed1e9 * lisp/net/trampver.el (customize-package-emacs-version-alist...
	d7132ad * lisp/mh-e/mh-e.el (customize-package-emacs-version-alist): ...
	5f39260 * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Pass format to m...
	a291f62 Don't call xwidget functions until GTK has been initialized
	f0531b8 Improve documentation of Ediff wordwise commands
	2925ce5 Support Hunspell 1.7.0 in ispell.el
	03bb7a8 Avoid clearing echo-area message by auto-save-visited-file-name

2018-11-28  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	094fcf6 Fix more drawing bugs in NS port (bug#32932)

2018-11-28  Michael Albinus  <michael.albinus@gmx.de>

	Tramp cleanup

	* lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions)
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
	* lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
	Use `string-match-p'.

	* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
	Set file properties more robust.

	* lisp/net/tramp-sh.el (tramp-stat-marker)
	(tramp-convert-file-attributes): Add tramp-autoload cookie.

2018-11-28  Alan Mackenzie  <acm@muc.de>

	Make compilation mode work with warnings from compiled buffer functions

	In particular, warning messages from compile_defun now contain the source
	buffer name and line and column numbers.  Typing CR on such a warning now
	moves to the pertinent place in the source buffer.

	This fixes bug #33475

	* lisp/emacs-lisp/bytecomp.el (top-level): Require compile.elc?.
	(emacs-lisp-compilation-file-name-or-buffer)
	(emacs-lisp-compilation-parse-errors-filename-function): New
	variables/constants.
	(emacs-lisp-compilation-mode): New mode derived from compilation-mode.
	(byte-compile-log-file): Check byte-compile-current-file for being a string,
	not merely non-nil.  Change wording in message from "buffer" to "in buffer".
	Go into emacs-lisp-compilation-mode rather than the plain compilation-mode.
	(compile-defun): Bind byte-compile-current-file to current-buffer, not nil.

	* lisp/progmodes/compile.el
	(compilation-parse-errors-filename-function): Amend comments to specify that
	this function may return a buffer, and that it need not save the match data.
	(Several places): Amend comments to allow for the use of a buffer rather than
	a file name.
	(compilation-next-error-function): If the "file name" in file struct is
	actually a buffer, use it rather than compilation-find-file's result.
	(compilation-get-file-structure): save-match-data around the call to
	compilation-parse-errors-filename-function.  Only call
	command-line-normalize-file-name when `filename' is a string.

2018-11-27  Paul Eggert  <eggert@cs.ucla.edu>

	Fix core dump in dbus-message-internal

	* src/dbusbind.c (Fdbus_message_internal):
	Don’t go past array end (Bug#33530).

2018-11-27  Michael Albinus  <michael.albinus@gmx.de>

	Fixes in tramp-clone.el

	* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
	Wrap by connection property "rclone-device-names".
	(tramp-rclone-maybe-open-connection): Do not check for `non-essential'.

2018-11-26  Michael Heerdegen  <michael_heerdegen@web.de>

	Revert "Replace insignificant backquotes" for Org files

	Revert everything of commit 1808d254a5 "Replace insignificant
	backquotes" that touches Org source files since these should not have
	been changed.

	* lisp/org/ob-C.el:
	* lisp/org/ob-core.el:
	* lisp/org/ob-exp.el:
	* lisp/org/ob-groovy.el:
	* lisp/org/ob-haskell.el:
	* lisp/org/ob-io.el:
	* lisp/org/ob-lisp.el:
	* lisp/org/ob-lob.el:
	* lisp/org/ob-lua.el:
	* lisp/org/ob-octave.el:
	* lisp/org/ob-perl.el:
	* lisp/org/ob-python.el:
	* lisp/org/ob-ref.el:
	* lisp/org/ob-ruby.el:
	* lisp/org/ob-sql.el:
	* lisp/org/org-agenda.el:
	* lisp/org/org-capture.el:
	* lisp/org/org-clock.el:
	* lisp/org/org-colview.el:
	* lisp/org/org-duration.el:
	* lisp/org/org-element.el:
	* lisp/org/org-entities.el:
	* lisp/org/org-gnus.el:
	* lisp/org/org-indent.el:
	* lisp/org/org-info.el:
	* lisp/org/org-inlinetask.el:
	* lisp/org/org-lint.el:
	* lisp/org/org-list.el:
	* lisp/org/org-mouse.el:
	* lisp/org/org-plot.el:
	* lisp/org/org-src.el:
	* lisp/org/org-table.el:
	* lisp/org/org.el:
	* lisp/org/ox-ascii.el:
	* lisp/org/ox-html.el:
	* lisp/org/ox-latex.el:
	* lisp/org/ox-man.el:
	* lisp/org/ox-md.el:
	* lisp/org/ox-org.el:
	* lisp/org/ox-publish.el:
	* lisp/org/ox-texinfo.el:
	* lisp/org/ox.el: Undo changes made by commit "Replace insignificant
	backquotes".

2018-11-26  Eli Zaretskii  <eliz@gnu.org>

	Unbreak compilation of emacsclient on MS-Windows

	* lib-src/emacsclient.c (main): Make "-suspend" handling
	conditional on !WINDOWSNT, as there's no SIGSTOP nor 'kill'
	there.

2018-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: assume HAVE_INET_SOCKETS

	* configure.ac (HAVE_INET_SOCKETS): Remove.
	* lib-src/emacsclient.c: Simplify by assuming HAVE_SOCKETS and
	HAVE_INET_SOCKETS, which are always true nowadays, except perhaps
	for MS-DOS and if so this program shouldn’t be built there anyway.
	Don’t bother including sys/types.h, as it’s not needed on modern
	systems (and syswait.h does it for us anyway).
	(main): Simplify by assuming SIGSTOP (which is always defined
	if SIGCONT is), and by assuming HAVE_SOCKETS && HAVE_INET_SOCKETS.

2018-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: negate NO_SOCKETS_IN_FILE_SYSTEM

	* lib-src/emacsclient.c (SOCKETS_IN_FILE_SYSTEM): Rename from
	NO_SOCKETS_IN_FILE_SYSTEM, with inverted sense.  All uses changed.
	All uses were of the form ‘#ifndef NO_SOCKETS_IN_FILE_SYSTEM’, and
	it’s easier to read ‘#ifdef SOCKETS_IN_FILE_SYSTEM’.

2018-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: fix some races on POSIX systems

	Fix some longstanding race conditions due to emacsclient’s use of
	‘signal’ instead of ‘sigaction’ and its use of nested signal
	handlers.  These races could cause premature exit or incorrect
	commands sent to Emacs.
	* lib-src/emacsclient.c (signal) [!WINDOWSNT]: Do not undef.
	(emacs_socket): Remove this static variable.  It is now a parameter.
	(send_to_emacs): Do not exit merely because ‘send’ was interrupted.
	Instead, act on the signal if possible, and then retry the ‘send’.
	(pass_signal_to_emacs): Remove; now done by act_on_signals.
	(reinstall_handler_if_needed, handle_sigttou, handle_sigwinch)
	(install_handler): New functions.
	(got_sigcont, got_sigtstp, got_sigttou, got_sigwinch):
	New globals, used for more-portable signal handling.
	(handle_sigcont, handle_sigtstp): Just set the static var; other
	actions are now done later by act_on_signals.
	(install_handler): New function that arranges for signals to
	never be reset to default, on modern POSIX platforms.
	This fixes some races.
	(act_on_signals): New function.  When acting on SIGCONT,
	don’t bother calling getpgrp if tcgetpgrp fails.
	(start_daemon_and_retry_set_socket): Return the socket
	rather than setting a global variable.  All uses changed.
	(flush_stdout): New function that acts on signals received while
	flushing.
	(main): Use it.  emacs_socket is now a local var.
	Act on signals received during recv.

2018-11-26  Michael Albinus  <michael.albinus@gmx.de>

	Rework tramp-rclone-mounted-p

	* lisp/net/tramp-rclone.el (tramp-rclone-mounted-p): Rewrite.
	(tramp-rclone-maybe-open-connection): Set "mounted" file property.

2018-11-26  Wilson Snyder  <wsnyder@wsnyder.org>

	Update verilog-mode with upstream patches.

	* lisp/progmodes/verilog-mode.el (verilog-auto-templated-rel)
	(verilog-load-file-at-point, verilog-read-arg-pins)
	(verilog-read-auto-constants, verilog-read-auto-params)
	(verilog-read-auto-template-middle, verilog-read-decls)
	(verilog-read-includes, verilog-read-inst-pins)
	(verilog-read-instants, verilog-read-sub-decls-gate): Don't copy
	properties when parsing AUTOs.
	(verilog-font-lock-keywords): Fix SystemVerilog font lock keywords to be
	more consistent with IEEE 1364 keywords. Reported by Jeff Riley.
	(verilog-highlight-p1800-keywords): Now ignored.
	(verilog-simplify-range-expression): Simplify shifts in auto wire
	declarations, bug1346.  Reported by Maghawan Punde.
	(verilog-read-always-signals-recurse): Fix AUTORESET with pattern
	assignments. Reported by Bhargava Narumanchi.
	(verilog-at-constraint-p): Fix indentation of replicate with parameter.
	Reported by Yun He.
	(verilog-read-defines, verilog-read-includes)
	(verilog-substitute-include-name): Fix handling define names in includes,
	bug1324. Reported by John DeRoo.
	(verilog-imenu-generic-expression): Fix speedbar for signed functions,
	bug1312. Reported by Ian Perryman.
	(verilog-indent-buffer): Fix verilog-batch-indent not honoring top mode
	line. Reported by James Claffey.
	(verilog-set-auto-endcomments): Fix end comments when have variables
	starting with class_, bug1259. Reported by Andrea Fedeli.
	(verilog-read-decls): Fix AUTOINST for parameterized interfaces,
	bug1253. Reported by David Rogoff.
	(verilog-read-sub-decls-line, verilog-signals-combine-bus): Fix AUTOOUTPUT
	not including nested array references, msg2417.
	(verilog-at-constraint-p): begin/end are illegal inside constraint blocks,
	so use that knowledge to make smarter indentation decisions.
	(verilog-auto-simplify-expressions, verilog-simplify-range-expression):
	Add `verilog-auto-simplify-expressions' to disable range simplifications.
	(verilog-auto-save-check, verilog-batch-execute-func): Fix .* causing
	Emacs batch to always re-save files with no changes, bug1239.  Reported by
	Brian Etscheid.

2018-11-25  Juri Linkov  <juri@linkov.net>

	* lisp/windmove.el: Directional window deletion (bug#32790)

	* lisp/windmove.el (windmove-delete-in-direction)
	(windmove-delete-left, windmove-delete-up)
	(windmove-delete-right, windmove-delete-down)
	(windmove-delete-default-keybindings): New functions.

2018-11-25  Michael Heerdegen  <michael_heerdegen@web.de>

	Replace insignificant backquotes

	Replace most insignificant occurrences of '`' with a straight quote,
	sharp quote or nothing.  This includes backquotes in 'pcase' patterns.

	* admin/admin.el:
	* lisp/apropos.el:
	* lisp/arc-mode.el:
	* lisp/auth-source.el:
	* lisp/avoid.el:
	* lisp/bindings.el:
	* lisp/bs.el:
	* lisp/calculator.el:
	* lisp/calendar/todo-mode.el:
	* lisp/cedet/semantic.el:
	* lisp/cedet/semantic/analyze/debug.el:
	* lisp/cedet/semantic/bovine.el:
	* lisp/cedet/semantic/dep.el:
	* lisp/cedet/semantic/grammar.el:
	* lisp/cedet/semantic/wisent/comp.el:
	* lisp/cedet/semantic/wisent/grammar.el:
	* lisp/cedet/srecode/mode.el:
	* lisp/cus-edit.el:
	* lisp/doc-view.el:
	* lisp/elec-pair.el:
	* lisp/electric.el:
	* lisp/emacs-lisp/autoload.el:
	* lisp/emacs-lisp/benchmark.el:
	* lisp/emacs-lisp/byte-opt.el:
	* lisp/emacs-lisp/bytecomp.el:
	* lisp/emacs-lisp/cconv.el:
	* lisp/emacs-lisp/cl-extra.el:
	* lisp/emacs-lisp/cl-generic.el:
	* lisp/emacs-lisp/cl-macs.el:
	* lisp/emacs-lisp/copyright.el:
	* lisp/emacs-lisp/debug.el:
	* lisp/emacs-lisp/eieio-compat.el:
	* lisp/emacs-lisp/ert.el:
	* lisp/emacs-lisp/generator.el:
	* lisp/emacs-lisp/inline.el:
	* lisp/emacs-lisp/macroexp.el:
	* lisp/emacs-lisp/map.el:
	* lisp/emacs-lisp/package-x.el:
	* lisp/emacs-lisp/package.el:
	* lisp/emacs-lisp/radix-tree.el:
	* lisp/emacs-lisp/smie.el:
	* lisp/epa.el:
	* lisp/erc/erc-dcc.el:
	* lisp/erc/erc-track.el:
	* lisp/erc/erc.el:
	* lisp/eshell/em-ls.el:
	* lisp/eshell/esh-cmd.el:
	* lisp/files.el:
	* lisp/filesets.el:
	* lisp/font-lock.el:
	* lisp/frameset.el:
	* lisp/gnus/gnus-agent.el:
	* lisp/gnus/gnus-art.el:
	* lisp/gnus/gnus-cite.el:
	* lisp/gnus/gnus-group.el:
	* lisp/gnus/gnus-msg.el:
	* lisp/gnus/gnus-salt.el:
	* lisp/gnus/gnus-srvr.el:
	* lisp/gnus/gnus-sum.el:
	* lisp/gnus/gnus-topic.el:
	* lisp/gnus/gnus-util.el:
	* lisp/gnus/gnus.el:
	* lisp/gnus/message.el:
	* lisp/gnus/mm-util.el:
	* lisp/gnus/mml.el:
	* lisp/gnus/nnheader.el:
	* lisp/gnus/nnimap.el:
	* lisp/gnus/nnmairix.el:
	* lisp/gnus/spam.el:
	* lisp/hexl.el:
	* lisp/hi-lock.el:
	* lisp/ibuf-ext.el:
	* lisp/ibuffer.el:
	* lisp/ido.el:
	* lisp/info.el:
	* lisp/international/mule-cmds.el:
	* lisp/international/mule-util.el:
	* lisp/json.el:
	* lisp/jsonrpc.el:
	* lisp/language/cyrillic.el:
	* lisp/language/european.el:
	* lisp/language/georgian.el:
	* lisp/language/tibetan.el:
	* lisp/language/utf-8-lang.el:
	* lisp/language/vietnamese.el:
	* lisp/ldefs-boot.el:
	* lisp/mail/mail-extr.el:
	* lisp/man.el:
	* lisp/menu-bar.el:
	* lisp/mh-e/mh-acros.el:
	* lisp/mh-e/mh-folder.el:
	* lisp/mh-e/mh-mime.el:
	* lisp/mh-e/mh-show.el:
	* lisp/mh-e/mh-speed.el:
	* lisp/minibuffer.el:
	* lisp/mpc.el:
	* lisp/net/ange-ftp.el:
	* lisp/net/hmac-def.el:
	* lisp/net/newst-backend.el:
	* lisp/net/quickurl.el:
	* lisp/net/tramp-archive.el:
	* lisp/net/tramp-compat.el:
	* lisp/notifications.el:
	* lisp/obsolete/pgg-parse.el:
	* lisp/obsolete/vc-arch.el:
	* lisp/obsolete/xesam.el:
	* lisp/org/ob-C.el:
	* lisp/org/ob-core.el:
	* lisp/org/ob-exp.el:
	* lisp/org/ob-groovy.el:
	* lisp/org/ob-haskell.el:
	* lisp/org/ob-io.el:
	* lisp/org/ob-lisp.el:
	* lisp/org/ob-lob.el:
	* lisp/org/ob-lua.el:
	* lisp/org/ob-octave.el:
	* lisp/org/ob-perl.el:
	* lisp/org/ob-python.el:
	* lisp/org/ob-ref.el:
	* lisp/org/ob-ruby.el:
	* lisp/org/ob-sql.el:
	* lisp/org/org-agenda.el:
	* lisp/org/org-capture.el:
	* lisp/org/org-clock.el:
	* lisp/org/org-colview.el:
	* lisp/org/org-duration.el:
	* lisp/org/org-element.el:
	* lisp/org/org-entities.el:
	* lisp/org/org-gnus.el:
	* lisp/org/org-indent.el:
	* lisp/org/org-info.el:
	* lisp/org/org-inlinetask.el:
	* lisp/org/org-lint.el:
	* lisp/org/org-list.el:
	* lisp/org/org-mouse.el:
	* lisp/org/org-plot.el:
	* lisp/org/org-src.el:
	* lisp/org/org-table.el:
	* lisp/org/org.el:
	* lisp/org/ox-ascii.el:
	* lisp/org/ox-html.el:
	* lisp/org/ox-latex.el:
	* lisp/org/ox-man.el:
	* lisp/org/ox-md.el:
	* lisp/org/ox-org.el:
	* lisp/org/ox-publish.el:
	* lisp/org/ox-texinfo.el:
	* lisp/org/ox.el:
	* lisp/play/bubbles.el:
	* lisp/play/gamegrid.el:
	* lisp/progmodes/autoconf.el:
	* lisp/progmodes/cc-defs.el:
	* lisp/progmodes/cc-engine.el:
	* lisp/progmodes/cc-fonts.el:
	* lisp/progmodes/cc-langs.el:
	* lisp/progmodes/cperl-mode.el:
	* lisp/progmodes/ebrowse.el:
	* lisp/progmodes/elisp-mode.el:
	* lisp/progmodes/flymake-cc.el:
	* lisp/progmodes/flymake.el:
	* lisp/progmodes/fortran.el:
	* lisp/progmodes/grep.el:
	* lisp/progmodes/gud.el:
	* lisp/progmodes/idlwave.el:
	* lisp/progmodes/js.el:
	* lisp/progmodes/m4-mode.el:
	* lisp/progmodes/make-mode.el:
	* lisp/progmodes/mixal-mode.el:
	* lisp/progmodes/modula2.el:
	* lisp/progmodes/octave.el:
	* lisp/progmodes/opascal.el:
	* lisp/progmodes/prolog.el:
	* lisp/progmodes/ps-mode.el:
	* lisp/progmodes/python.el:
	* lisp/progmodes/ruby-mode.el:
	* lisp/progmodes/sh-script.el:
	* lisp/progmodes/sql.el:
	* lisp/progmodes/verilog-mode.el:
	* lisp/ps-mule.el:
	* lisp/rtree.el:
	* lisp/ruler-mode.el:
	* lisp/ses.el:
	* lisp/simple.el:
	* lisp/startup.el:
	* lisp/subr.el:
	* lisp/term/ns-win.el:
	* lisp/textmodes/bibtex.el:
	* lisp/textmodes/conf-mode.el:
	* lisp/textmodes/css-mode.el:
	* lisp/textmodes/refill.el:
	* lisp/textmodes/sgml-mode.el:
	* lisp/textmodes/tex-mode.el:
	* lisp/tutorial.el:
	* lisp/url/url-dav.el:
	* lisp/url/url-gw.el:
	* lisp/url/url-http.el:
	* lisp/url/url-methods.el:
	* lisp/url/url-privacy.el:
	* lisp/vc/cvs-status.el:
	* lisp/vc/diff-mode.el:
	* lisp/vc/ediff-init.el:
	* lisp/vc/ediff-ptch.el:
	* lisp/vc/log-edit.el:
	* lisp/vc/log-view.el:
	* lisp/vc/pcvs-info.el:
	* lisp/vc/pcvs.el:
	* lisp/vc/smerge-mode.el:
	* lisp/vc/vc-git.el:
	* lisp/vc/vc-hg.el:
	* lisp/vc/vc-mtn.el:
	* lisp/vc/vc-rcs.el:
	* lisp/whitespace.el:
	* lisp/window.el:
	* test/lisp/electric-tests.el:
	* test/lisp/emacs-lisp/cl-lib-tests.el:
	* test/lisp/emacs-lisp/ert-tests.el:
	* test/lisp/epg-tests.el:
	* test/lisp/jsonrpc-tests.el:
	* test/src/data-tests.el:
	* test/src/json-tests.el: Replace most insignificant backquotes.

2018-11-25  Stephen Berman  <stephen.berman@gmx.net>

	Handle narrowing when marking entries of included diary files

	* lisp/calendar/diary-lib.el (diary-mark-entries): Widen before
	marking entries (bug#33423).

2018-11-24  Juri Linkov  <juri@linkov.net>

	Add new Isearch commands to new Isearch menu (bug#29321, bug#32990)

	* lisp/isearch.el (isearch-menu-bar-map): Add menu items for
	isearch-beginning-of-buffer and isearch-end-of-buffer.
	(isearch-forward): Add them to docstring.

2018-11-24  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	9877c03 (origin/emacs-26) Fix bug #33416, where typing a ) in a comme...

2018-11-24  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	56e3e4f Improve indexing in the ELisp manual
	7a4992a More Symbola-related extensions for default fontset
	4ae0a75 Better support for display of U+1F900..U+1F9FF block
	8f0c788 Improve documentation of 'edit-abbrevs-mode'
	3c643e7 ; NEWS tweak
	477414a Improve documentation of 'dired-do-compress'
	9c09b1d ; * etc/NES: Minor change in the description of Dired's 'Z'.
	52715e3 Improve doc string and display of 'describe-character'
	93242b1 * etc/NEWS: Clarify what 'Z' does in Dired.  (Bug#33450)
	0d59ae3 Update the docs of object internals

	Conflicts:
		etc/NEWS

2018-11-24  Michael Albinus  <michael.albinus@gmx.de>

	Add Tramp rclone method

	* doc/misc/tramp.texi (Top): Remove "History".
	(History): Remove node.
	(Quick Start Guide): New section "Using rclone".
	(External methods) <rclone>: Describe.

	* etc/NEWS: Mention Tramp rclone method.

	* lisp/net/tramp-rclone.el: New file.

2018-11-24  Michael Albinus  <michael.albinus@gmx.de>

	Revert patch in tramp-equal-remote

	* lisp/net/tramp-sh.el (tramp-timeout-session):
	Use `tramp-file-name-equal-p'.

	* lisp/net/tramp.el (tramp-equal-remote): Revert patch.

2018-11-24  Charles A. Roelli  <charles@aurox.ch>

	Add tool-bar and menu-bar menu for Isearch (Bug#32990)

	* etc/NEWS (Search and Replace): Mention this change.

	* lisp/isearch.el: Declare the new, non-autoloaded function
	'tmm-menubar-keymap'.
	(isearch-tmm-menubar): New function.
	(isearch-menu-bar-commands): New variable.
	(isearch-menu-bar-yank-map, isearch-menu-bar-map): New variables.
	(isearch-mode-map): Define a menu-bar search menu and remap
	'tmm-menubar' bindings to point to 'isearch-tmm-menubar'.
	(isearch-tool-bar-old-map): New variable.
	(isearch-tool-bar-image): New function.
	(isearch-tool-bar-map): New variable.
	(minor-mode-map-alist): Add an entry for Isearch so that
	'isearch-menu-bar-map' shows during search.
	(isearch-mode, isearch-done): Save and restore possible
	buffer-local 'tool-bar-map' using 'isearch-tool-bar-old-map'.
	(iseacrh-mouse-commands): New variable.
	(isearch-mouse-leave-buffer): Allow commands in
	isearch-mouse-commands.
	(with-isearch-suspended): Only push changed states of Isearch
	after running the body argument of this macro.
	(isearch-pre-command-hook): Additionally allow bindings in
	'isearch-tool-bar-map' to pass through, as well as commands
	in isearch-menu-bar-commands.
	(isearch-post-command-hook): Call 'force-mode-line-update' at its
	end to make sure the menu- and tool-bars are up-to-date.

	* lisp/tmm.el (tmm-menubar-keymap): New function factored out from
	'tmm-menubar'.
	(tmm-menubar): Use 'tmm-menubar-keymap'.
	(tmm-prompt): New optional argument 'no-execute'.

2018-11-24  Michael Albinus  <michael.albinus@gmx.de>

	Remove find-file-noselect in Tramp, it was handled in XEmacs

	* lisp/net/tramp.el (tramp-file-name-for-operation):
	Remove `find-file-noselect'.

2018-11-23  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Provide new gnus-mode, derive all gnus major modes from this

	* lisp/gnus/gnus.el (gnus-mode): New do-nothing major mode, derived
	  from special mode.
	* lisp/gnus/gnus-sum.el (gnus-summary-mode): Change from a function to
	  a major mode, derive from gnus-mode.
	  (gnus-summary-setup-buffer): Change call a bit -- can no longer pass
	  an argument to the mode function.
	* lisp/gnus/gnus-srvr.el (gnus-browse-mode): Derive from gnus-mode.
	  (gnus-server-setup-buffer): Remove unnecessary function.
	  (gnus-enter-server-buffer): Call gnus-server-mode here, and call it
	  whether the server buffer already existed or not.
	  (gnus-server-mode): Change from a function to a major mode.
	  (gnus-server-mode-hook): Delete custom option, this is automatically
	  created.
	* lisp/gnus/gnus-salt.el (gnus-tree-mode): Derive from gnus-mode.
	  (gnus-tree-mode-hook): Delete custom option, this is automatically
	  created.
	* lisp/gnus/gnus-kill.el (gnus-kill-file-mode-hook): Delete custom
	  option.
	* lisp/gnus/gnus-group.el (gnus-group-mode):
	* lisp/gnus/gnus-art.el (gnus-article-mode):
	* lisp/gnus/gnus-agent.el (gnus-category-mode): Derive from gnus-mode.
	  (gnus-category-mode-hook): Delete custom option.

	(Bug#33263)

2018-11-23  Filipp Gunbin  <fgunbin@fastmail.fm>

	search.texi fix for leftover from C-M-w to C-M-d change

	* doc/emacs/search.texi: Replace C-M-w with C-M-d.

2018-11-23  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warning in emacsclient.c

	* lib-src/emacsclient.c (set_tcp_socket): Avoid compilation
	warning in MS-Windows build.

2018-11-23  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: fix child exit when exec fails

	* lib-src/emacsclient.c (start_daemon_and_retry_set_socket):
	If the execvp of Emacs fails exit instead of having the child
	run on and do the work of the parent.  Coalesce duplicate code.

2018-11-23  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: one ‘main’ function

	* lib-src/emacsclient.c (main): Simplify by having just one
	‘main’ function instead of two.  Don’t assume argc is positive (!).

2018-11-22  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: tidy socket failure cleanup

	* lib-src/emacsclient.c (set_tcp_socket, set_local_socket):
	Close socket (instead of leaking it) when ‘connect’ fails.
	(socket_status): Return errno if stat fails and -1 if we don’t own.
	(set_local_socket): Simplify based on socket_status change.

2018-11-22  Juri Linkov  <juri@linkov.net>

	Add Isearch commands for going to absolute occurrence of matches (bug#29321)

	* lisp/isearch.el (isearch-mode-map): Bind 'M-s M-<' to
	'isearch-beginning-of-buffer' and 'isearch-end-of-buffer' to 'M-s M->'.
	(isearch-beginning-of-buffer, isearch-end-of-buffer): New commands.

2018-11-22  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: coalesce WINDOWSNT-specific code

	* lib-src/emacsclient.c (sock_err_message) [WINDOWSNT]:
	Do nothing if w32_window_app () && alternate_editor.
	Both callers changed.

2018-11-22  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: sockaddr portability fixes

	* lib-src/emacsclient.c (get_server_config, set_tcp_socket)
	(set_local_socket): Initialize any platform-specific extensions
	of struct to zero, just in case.
	(set_tcp_socket, set_local_socket): Don’t assume struct
	layout details that POSIX does not specify.
	Use union to sidestep some problems with strict aliasing.
	Remove unnecessary casts.

2018-11-22  Michael Albinus  <michael.albinus@gmx.de>

	Some minor Tramp cleanups

	* lisp/net/tramp-adb.el (tramp-adb-file-name-p):
	* lisp/net/tramp-ftp.el (tramp-ftp-file-name-p):
	* lisp/net/tramp-smb.el (tramp-smb-file-name-p): Make it more robust.

	* lisp/net/tramp.el (tramp-handle-file-truename): Cache only the
	localname.

2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: getopt minor cleanup

	* lib-src/emacsclient.c (shortopts): New constant.
	(decode_options): Use it.  Do not assume EOF == -1.

2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: omit EXTRA_SPACE guesswork

	* lib-src/emacsclient.c: Include <intprops.h>.
	(EXTRA_SPACE): Remove; code no longer guesses this is enough.
	(open_config): New function.
	(get_server_config): Use it.
	(set_local_socket): Compute upper bound of buffer size
	instead of guessing via EXTRA_SPACE.

2018-11-21  Juri Linkov  <juri@linkov.net>

	Add prefix arg to isearch-forward-symbol-at-point (bug#29321)

	* lisp/isearch.el (isearch-forward-symbol-at-point): Add optional arg.

2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: take more care with int width

	* lib-src/emacsclient.c: Include inttypes.h, stddef.h.
	(emacs_pid, main): Don’t assume pid fits in int.
	(fail): Don’t assume pointer difference fits in int.
	(set_local_socket): Don’t assume uid fits in long.

2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient.c: use C99 to avoid {}

	* lib-src/emacsclient.c (set_local_socket):
	Assume C99 decl-after-statement and reindent.

2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: improve use of locals

	* lib-src/emacsclient.c (main):
	Use smaller scopes for some locals.

2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient: fix unlikely crash with "&"

	* lib-src/emacsclient.c (quote_argument):
	Mention *DATA in comment so it’s clear DATA must be non-null.
	(quote_argument, unquote_argument): Simplify.
	(unquote_argument): Don’t crash if the string ends in "&".

2018-11-21  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix "Allow use of Gnus search groups as notmuch path: search term"

	* lisp/gnus/nnir.el (nnir-notmuch-filter-group-names-function):
	  Default to nil -- getting correct behavior requires user
	  intervention too often to have this enabled by default.
	* lisp/gnus/nnir.el (nnir-run-notmuch): If the user has turned this
	  on, then also hardcode `gnus-group-short-name' as a filter -- things
	  will never work without it. Also move leading space to before the
	  opening parenthesis.
	* doc/misc/gnus.texi: Document option.

	(Bug#33122)

2018-11-21  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Check Gnus group names when reading from browse server

	* lisp/gnus/gnus-srvr.el (gnus-browse-read-group): If the group in
	  question belongs to the native server, the name has to be shortened
	  before we check it with `gnus-get-info'. It might work otherwise
	  with nntp, but for backends like nnmaildir that have their own
	  accounting system, creating an ephemeral group won't work.

2018-11-21  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi: Fix last commit.

2018-11-21  Michael Albinus  <michael.albinus@gmx.de>

	Let Tramp sudo sessions expire after a timeout

	* doc/misc/tramp.texi (Inline methods) <sudo, doas>: Both methods expire
	the underlying session per default.
	(Predefined connection information): Explain "session-timeout".

	* etc/NEWS: Mention Tramp session expiration.

	* lisp/net/tramp-sh.el (tramp-methods) <sudo, doas>:
	Add `tramp-session-timeout'.
	(tramp-timeout-session): New defun.
	(tramp-maybe-open-connection): Handle session timeout.

	* lisp/net/tramp.el (tramp-methods): Adapt docstring.
	(tramp-equal-remote): Extend.

2018-11-20  Juri Linkov  <juri@linkov.net>

	Add prefix arg to isearch-repeat-forward/backward (bug#14563, bug#29321)

	* lisp/isearch.el (isearch-repeat): Add optional arg COUNT.
	Add a while-loop that calls `isearch-search' COUNT times.
	(isearch-repeat-forward, isearch-repeat-backward):
	Add optional prefix ARG passed down to `isearch-repeat'.
	Handle reversed directions.

2018-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	calc.el, calc-(ext|poly), calccomp: Use lexical-binding

	* lisp/calc/calc-ext.el: Use lexical-binding, silence warnings.
	(calc-init-extensions): Remove a few functions which can't be called
	directly since they depend on dynamically scoped vars.
	(calc-embedded-quiet): Declare.
	(math-defcache): Use 'declare'.
	(math-normalize-a): Remove declaration.
	(math-normalize-nonstandard): Receive 'a' as arg instead.
	(math-defintegral): Use 'declare'.
	(math-exp-pos, math-exp-old-pos, math-exp-keep-spaces, math-rb-h2)
	(math-read-big-baseline, math-read-big-h2, math-read-big-err-msg)
	(math-exp-token, math-expr-data, math-exp-str): Declare.
	(math-map-tree, math-read-expr): Avoid dynvars as formal arguments.

	* lisp/calc/calc-poly.el: Use lexical-binding, silence warnings.
	Turn some comments into docstrings.
	(math-poly-div): Avoid dynvars as formal arguments.
	(math-poly-base-top-expr): Move declaration before first use.
	(calcFunc-factors, math-factor-expr, math-factor-expr-try)
	(calcFunc-factor): Avoid dynvars as formal arguments.

	* lisp/calc/calc.el: Use lexical-binding, silence warnings.
	(math-normalize-a): Remove.
	(math-normalize): Use lexical var 'a' instead.
	(math-svo-c): Remove.
	(math-stack-value-offset): Pass 'c' explicitly as arg to
	math-stack-value-offset-fancy instead.

	* lisp/calc/calccomp.el: Use lexical-binding, silence warnings.
	(math-svo-c): Remove.
	(math-stack-value-offset-fancy): Use new arg 'c' instead.
	(math-comp-to-string-flat): Avoid dynvars as formal arguments.

2018-11-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	d667318 (origin/emacs-26) Fix two Edebug defcustoms (bug#33428)

2018-11-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	070e82b ; * src/window.c (window_scroll): Improve commentary.
	60457d7 Improve documentation of the window tree
	ea1a014 Fix window scrolling on TTY frames when there's no mode line
	df7ed10 Fix decoding XML files encoded in ISO-8859
	7851ae8 (tag: emacs-26.1.90) ; ChangeLog.3 update
	1958808 * etc/AUTHORS: Update.
	7252507 Fix description of some window hooks
	88762b4 Run 'window--adjust-process-windows' when frame size changes ...
	d6542ea Avoid errors in zone.el when there's overlay at EOB

2018-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calc/calc-alg.el: Use lexical-binding and silence warnings

	* lisp/calc/calc-alg.el: Use lexical-binding and silence warnings.
	(math-defsimplify): Let-bind 'expr' instead of math-simplify-expr.
	Adjust all users.
	(math-simplify-expr): Don't declare any more.
	(math--simplify-divide-expr): New dynbound var.
	(math-simplify-divide): Bind it when needed.
	(math-simplify-divisor): Use it instead of math-simplify-expr.
	(math-simplify-divisor): Only bind math-simplify-divisor-[nd]over
	around the calls to math-simplify-one-divisor.
	(math-expr-subst, math-is-polynomial): Don't use dynbound vars as
	formal arguments.
	(math-polynomial-base): Move binding of math-poly-base-pred.
	Don't bind math-poly-base-top-expr any more...
	* lisp/calc/calc-poly.el (math-total-polynomial-base): Bind it here instead!

	* lisp/calc/calc-units.el: Use lexical-binding and silence warnings.
	Adjust to the new 'expr' name in math-defsimplify.
	(math-find-base-units, math-to-standard-units, math-convert-units):
	Don't use dynbound vars as formal arguments.
	(math-simplify-expr): Don't declare any more.

2018-11-20  Robert Pluim  <rpluim@gmail.com>

	Remove space from end of coding cookie

	* lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
	Remove unnecessary space from end of coding cookie.

2018-11-19  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* lib-src/emacsclient.c (start_daemon_and_retry_set_socket)
	[!WINDOWSNT]: Condition usage of socket_name on
	NO_SOCKETS_IN_FILE_SYSTEM being undefined.

2018-11-19  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warning in emacsclient.c

	* lib-src/emacsclient.c (socket_name): Define only if
	NO_SOCKETS_IN_FILE_SYSTEM is not defined, to avoid a compiler
	warning.

2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient.c: file name component fixes

	* lib-src/emacsclient.c: Include <dosname.h>.
	(file_name_absolute_p): Remove, as a code duplicate.
	All uses replaced by IS_ABSOLUTE_FILE_NAME.
	(set_local_socket): Don’t treat \ as a file name separator
	on GNU and POSIX hosts.

2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient.c: reindent to fit in 80

	* lib-src/emacsclient.c: Reindent slightly.

2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient.c: use C99 better

	* lib-src/emacsclient.c (get_current_dir_name)
	(send_to_emacs, set_tcp_socket, set_local_socket, main):
	Take advantage of C99 stmt before decl.

2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient.c: use STDOUT_FILENO

	* lib-src/emacsclient.c (find_tty, handle_sigcont, main):
	Use STDOUT_FILENO instead of fileno (stdout) or magic 1.

2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient.c: use bool for boolean

	* lib-src/emacsclient.c (nowait, quiet, suppress_output, eval, tty)
	(decode_options, file_name_absolute_p, get_server_config)
	(strprefix, find_tty, set_socket, main):
	Use bool for boolean.
	(create_frame): New static var, replacing the old current_frame
	and with inverted sense, as this is clearer.

2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient.c: make identifiers more local

	* lib-src/emacsclient.c (progname, main_argc, main_argv):
	(nowait, quiet, suppress_output, eval, current_frame, display):
	(alt_display, parent_id, tty, alternate_editor, socket_name):
	(server_file, tramp_prefix, emacs_pid, frame_parameters):
	(longopts, xstrdup, send_bufffer, sblen, emacs_socket):
	Now static.
	(SEND_BUFFER_SIZE, send_buffer, sblen):
	Now local to send_to_emacs.

2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	emacsclient.c: clean up preprocessing directives

	* lib-src/emacsclient.c [WINDOWSNT]: Omit duplicate stdlib.h include.
	Include min-max.h.
	(EXIT_SUCCESS, EXIT_FAILURE, min): Remove; no longer needed.
	(AUTH_KEY_LENGTH, SEND_BUFFER_SIZE): Now constants instead of macros.

2018-11-19  Ulrich Müller  <ulm@gentoo.org>

	Update the calc units table

	On 2018-11-16, the 26th meeting of the General Conference on Weights
	and Measures (CGPM) has redefined the International System of Units by
	adopting fixed values for the Planck constant, the elementary charge,
	the Boltzmann constant, and the Avogadro constant:
	https://www.bipm.org/utils/en/pdf/CGPM/Draft-Resolution-A-EN.pdf
	* lisp/calc/calc-units.el (math-standard-units): Update according
	to redefinition of the SI in 2018.

2018-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mouse.el (mouse-posn-property): Add comment

2018-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	Remove uses of obsolete 'CUA' symbol property

	* lisp/emulation/cua-base.el (cua-scroll-up, cua-scroll-down):
	* lisp/progmodes/subword.el (subword-forward, subword-backward):
	* lisp/obsolete/crisp.el (crisp-home, crisp-end):
	Remove 'CUA' prop; not used any more.

2018-11-17  Juri Linkov  <juri@linkov.net>

	* lisp/vc/diff-mode.el (diff-find-source-location): Use vc-working-revision

	when diff shows changes in working revision.  (Bug#33319)
	(diff-goto-source): Rename variables to avoid ambiguity.

2018-11-17  Juri Linkov  <juri@linkov.net>

	Don't exit Isearch while resizing windows with mouse (bug#32990)

	* lisp/isearch.el (isearch-mouse-leave-buffer): New function.
	(isearch-mode): Use isearch-mouse-leave-buffer instead of
	isearch-done for mouse-leave-buffer-hook.
	(isearch-done): Remove isearch-mouse-leave-buffer from
	mouse-leave-buffer-hook.
	(enlarge-window-horizontally, shrink-window-horizontally)
	(shrink-window, mouse-drag-mode-line, mouse-drag-vertical-line):
	Put property isearch-scroll with t.
	(isearch-mode): Reset isearch-pre-scroll-point and
	isearch-pre-move-point to nil for the case when Isearch exits
	between isearch-pre-command-hook (that sets these values) and
	isearch-post-command-hook (that used to reset them).

2018-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/cmds.c (Fself_insert_command): Get last-command-event via (new) arg.

2018-11-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	936a8f3 (origin/emacs-26) Document Emacs 26 behavior of Dired's 'Z' o...
	99f99a1 ; Minor editing change in windows.texi
	13bb665 Fix a typo in the Emacs manual

	# Conflicts:
	#	etc/NEWS

2018-11-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	edcd6b7 Small documentation correction.
	168a8c2 * src/coding.c (Fcheck_coding_systems_region): Doc fix.  (Bug...
	3287a7c Fix Bug#33364
	acee0a8 ; Cosmetic changes in etc/NEWS
	a6ef167 * test/README: Explain $REMOTE_TEMPORARY_FILE_DIRECTORY.

	# Conflicts:
	#	etc/NEWS

2018-11-16  Paul Eggert  <eggert@cs.ucla.edu>

	Update from glibc and Gnulib

	This incorporates:
	2018-11-15 mktime: DEBUG_MKTIME cleanup
	2018-11-15 mktime: fix non-EOVERFLOW errno handling
	2018-11-15 mktime: fix bug with Y2038 DST transition
	2018-11-15 mktime: make more room for overflow
	2018-11-15 mktime: simplify offset guess
	2018-11-15 mktime: new test for mktime failure
	2018-11-15 mktime: fix EOVERFLOW bug
	2018-11-13 longlong: fix comment typo
	* lib/gnulib.mk.in: Regenerate.
	* lib/mktime.c, m4/longlong.m4: Copy from Gnulib.

2018-11-16  Michael Albinus  <michael.albinus@gmx.de>

	Mention ELPA packages which add new methods to Tramp

	* doc/misc/tramp.texi (Customizing Methods): Mention ELPA packages
	which add new methods to Tramp.

2018-11-15  Juri Linkov  <juri@linkov.net>

	* lisp/windmove.el: Directional window display (bug#32790)

	* lisp/windmove.el (windmove-display-no-select): New defcustom.
	(windmove-display-in-direction, windmove-display-left)
	(windmove-display-up, windmove-display-right)
	(windmove-display-down, windmove-display-same-window)
	(windmove-display-default-keybindings): New functions.

2018-11-15  Juri Linkov  <juri@linkov.net>

	* lisp/windmove.el: Support more prefix args (bug#32790)

	* lisp/windmove.el (windmove-left, windmove-up, windmove-right)
	(windmove-down): Use prefix-numeric-value to support more prefix args
	like 'C-u' and 'M--'.  Doc fix.

2018-11-15  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33394

	* lisp/net/trampver.el (tramp-repository-branch)
	(tramp-repository-version): Handle out-of-tree builds.  (Bug#33394)

2018-11-14  Juri Linkov  <juri@linkov.net>

	Isearch hit count.  (Bug#29321)

	* lisp/isearch.el (isearch-lazy-count): New defcustom.
	(lazy-count): New defgroup.
	(lazy-count-prefix-format, lazy-count-suffix-format): New defcustom.
	(isearch-lazy-count-format): New function.
	(isearch-message-prefix, isearch-message-suffix): Use it.
	(isearch-lazy-highlight-window-start-changed)
	(isearch-lazy-highlight-window-end-changed)
	(isearch-lazy-count-current, isearch-lazy-count-total)
	(isearch-lazy-count-hash): New variables.
	(isearch-lazy-highlight-new-loop): Reset isearch-lazy-count-total
	and update isearch-lazy-count-current for isearch-message.
	(isearch-lazy-highlight-update): Run full-buffer loop for
	isearch-lazy-count.
	(isearch-lazy-highlight-buffer-update): Count isearch-lazy-count-total.
	Set isearch-lazy-count-current at the end.

2018-11-14  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in documentation of HOME handling

	* etc/NEWS: Reword the recent entry regarding the change in
	how relative file names are interpreted in $HOME.

	* doc/emacs/cmdargs.texi (General Variables): Advise against
	using relative directory names in $HOME.

2018-11-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix probing for pre-1970 DST

	* lisp/calendar/cal-dst.el (calendar-next-time-zone-transition):
	Fix recently-introduced rounding bug when probing for DST
	transitions before 1970 (Bug#33380).

2018-11-14  Paul Eggert  <eggert@cs.ucla.edu>

	Document recent change to HOME handling

	* doc/emacs/cmdargs.texi (General Variables):
	* doc/emacs/custom.texi (Find Init):
	* doc/lispref/files.texi (File Name Expansion):
	* etc/NEWS: Document behavior when HOME is a relative file name.

2018-11-14  Eli Zaretskii  <eliz@gnu.org>

	Fix a thinko in fileio.c

	* src/fileio.c (get_homedir): Fix last change.  Suggested by
	Paul Eggert <eggert@cs.ucla.edu>.

2018-11-13  Juri Linkov  <juri@linkov.net>

	New option vc-find-revision-no-save to not write revision to file

	* lisp/vc/vc.el (vc-find-revision-no-save): New defcustom (bug#33319).
	(vc-find-revision): Depending on vc-find-revision-no-save,
	call either vc-find-revision-no-save or vc-find-revision-save.
	(vc-find-revision-save): Rename from vc-find-revision.
	(vc-find-revision-no-save): New function.

	* lisp/vc/diff-mode.el (diff-find-source-location):
	Let-bind vc-find-revision-no-save to t.

2018-11-13  Juri Linkov  <juri@linkov.net>

	Support VC revisions in diff-goto-source (bug#33319)

	* lisp/vc/diff-mode.el (diff-vc-revisions): New defvar.
	(diff-find-source-location): Call vc-find-revision for
	non-nil values of 'other', diff-vc-backend, diff-vc-revisions.

	* lisp/vc/vc.el (vc-diff-internal): Set buffer-local
	diff-vc-revisions to the list of used revisions.

	* doc/emacs/files.texi (Diff Mode): Update diff-goto-source
	for VC-related prefix argument.

2018-11-13  Eli Zaretskii  <eliz@gnu.org>

	Fix recent change in fileio.c

	* src/fileio.c (get_homedir) [WINDOWSNT]: Convert $HOME to UTF-8.
	(Fexpand_file_name): Don't convert it here.

2018-11-13  Glenn Morris  <rgm@gnu.org>

	No need to pass absolute program name to call-process

	* lisp/doc-view.el (doc-view-revert-buffer):
	* lisp/net/eudcb-mab.el (eudc-mab-query-internal):
	Remove superfluous executable-find.

2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-11-03 nstrftime: simplify test for mktime failure
	2018-11-02 gnulib-common.m4: port _Noreturn to C++
	2018-10-22 std-gnu11: Support Autoconf versions < 2.64
	2018-10-22 Assume Autoconf >= 2.63
	2018-10-16 Remove support for Ultrix
	2018-10-16 getloadavg: Remove support for ConvexOS
	2018-10-16 getloadavg: Remove support for Sony NEWS
	2018-10-16 Remove support for Dynix/ptx
	2018-10-16 fsusage: Remove support for AIX 3
	2018-10-16 fsusage, stat-size, getloadavg: Remove support for AIX PS/2
	2018-10-16 getloadavg: Remove support for HP-UX on m68k
	2018-10-16 fsusage, mountlist: Remove support for DolphinOS
	2018-10-16 getloadavg: Remove support for Alliant FX/2800
	2018-10-16 getloadavg: Remove support for tek4300
	2018-10-16 getloadavg: Remove support for Ardent
	* build-aux/config.guess, build-aux/config.sub, lib/_Noreturn.h:
	* lib/fsusage.c, lib/getgroups.c, lib/getloadavg.c:
	* lib/nstrftime.c, lib/time.in.h, m4/errno_h.m4:
	* m4/fsusage.m4, m4/getgroups.m4, m4/gnulib-common.m4, m4/longlong.m4:
	* m4/std-gnu11.m4, m4/stdint.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate:

2018-11-13  Glenn Morris  <rgm@gnu.org>

	Root emacsclient no longer connects to non-root sockets

	* lib-src/emacsclient.c (set_local_socket): Don't ignore socket
	ownership when run by root.
	Ref: https://lists.gnu.org/r/emacs-devel/2018-11/msg00019.html

2018-11-13  Eli Zaretskii  <eliz@gnu.org>

	Avoid byte-compilation warning in emacsbug.el

	* lisp/mail/emacsbug.el (w32--os-description): Declare it, to
	avoid byte-compilation warning.  Reported by Live System User
	<nyc4bos@aol.com>.

2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	Act like POSIX sh if $HOME is relative

	POSIX says sh ~/foo should act like $HOME/foo even if $HOME is
	relative, so be consistent with that (Bug#33255).
	* admin/merge-gnulib (GNULIB_MODULES): Add dosname.
	* src/buffer.c (init_buffer): Use emacs_wd to get
	initial working directory with slash appended if needed.
	(default-directory): Say it must be absolute.
	* src/emacs.c (emacs_wd): New global variable.
	(init_cmdargs): Dir arg is now char const *.
	(main): Set emacs_wd.
	* src/emacs.c (main) [NS_IMPL_COCOA]:
	* src/fileio.c (Fexpand_file_name):
	Use get_homedir instead of egetenv ("HOME").
	* src/fileio.c: Include dosname.h, for IS_ABSOLUTE_FILE_NAME.
	(splice_dir_file, get_homedir): New functions.
	* src/xrdb.c (gethomedir): Remove.  All callers changed
	to use get_homedir and splice_dir_file.
	* test/src/fileio-tests.el (fileio-tests--relative-HOME): New test.

2018-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/files.el: Justify binding of read-circle with comments

2018-11-13  Noam Postavsky  <npostavs@gmail.com>

	Fix build fail on files.el change (Bug#32352)

	* lisp/files.el (dir-locals-read-from-dir): Reduce scope of
	`read-circle' let-binding to go around the `read' call only.
	Otherwise it can interfere with loading of files which use the
	circular read syntax (e.g., executing the setf expression in
	`dir-locals-set-class-variables' may require loading gv.elc).

2018-11-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	189c49e * etc/AUTHORS: Update.
	9723c21 ; ChangeLog.3 update

2018-11-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	913c001 * lisp/files.el (write-file): Clarify the doc string.  (Bug#3...
	d614b84 Fix typos in midnight.el
	8c2778a Improve documentation of 'move-file-to-trash'
	c7b8a51 ; * doc/lispref/functions.texi (Anonymous Functions): Fix typo.
	92296de * src/data.c (Ftype_of): xwidget objects are possible! (bug#3...
	a3242cc Improve documentation of Diff mode
	39e85a0 Note that lex bound lambda forms are not self-quoting (Bug#33...
	fa605f2 Rewrite buffer display related doc-strings and doc
	aa55659 Fix call to GlobalMemoryStatusEx in w32.c

	# Conflicts:
	#	doc/emacs/files.texi
	#	src/data.c

2018-11-12  Sam Steingold  <sds@gnu.org>

	maybe_disable_address_randomization always returns "int argc"

	maybe_disable_address_randomization needs a consistent signature
	regardless of HAVE_PERSONALITY_ADDR_NO_RANDOMIZE.

2018-11-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix dumping on GNU/Linux ppc64le

	Problem reported by Thomas Fitzsimmons (Bug#33174).
	* src/emacs.c (main): Adjust to sysdep.c changes.
	* src/sysdep.c (exec_personality): New static var.
	(disable_address_randomization): Remove, replacing with ...
	(maybe_disable_address_randomization): ... this new function.
	Do not set or use an environment variable; use a command-line
	argument instead, and set the new static var.  Migrate the emacs.c
	personality-change code to here, where it belongs.
	(emacs_exec_file): Simplify by using new static var.

2018-11-11  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc -Wmaybe-uninitialized without X11-XCB

	I ran into this problem on Ubuntu 18.04.1 LTS.
	* src/xterm.c (get_current_wm_state) [!USE_XCB]:
	Mark reply_data as UNINIT here too.

2018-11-11  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc -Wunused-macros in older GnuTLS

	I ran into this problem on Ubuntu 18.04.1 LTS.
	* src/gnutls.c (HAVE_GNUTLS_CIPHER_GET_IV_SIZE)
	(HAVE_GNUTLS_CIPHER_GET_TAG_SIZE, HAVE_GNUTLS_DIGEST_LIST):
	New macros.  This uses the same style as the other
	macros that depend on GnuTLS version, as opposed to trying
	to do things a bit more cleverly.
	(gnutls_cipher_get_iv_size, gnutls_cipher_get_tag_size)
	(gnutls_digest_list, gnutls_digest_get_name):
	Define these macros only if they will be used.

2018-11-11  Simen Heggestøyl  <simenheg@gmail.com>

	Add masking module to CSS property list

	* lisp/textmodes/css-mode.el (css-property-alist)
	(css-value-class-alist): Add properties and value classes from CSS
	Masking Module.

2018-11-10  Glenn Morris  <rgm@gnu.org>

	* test/src/editfns-tests.el (test-group-name): Improve test.

	Make more portable and hopefully more robust using getent.  (Bug#33195)

2018-11-10  Eli Zaretskii  <eliz@gnu.org>

	Make 'move-file-to-trash' behave according to the documentation

	* lisp/files.el (move-file-to-trash): Behave like the doc
	string says: check whether 'system-move-file-to-trash' is
	defined before testing that 'trash-directory' is non-nil.
	(Bug#33335)

2018-11-10  Glenn Morris  <rgm@gnu.org>

	* test/src/editfns-tests.el (test-group-name): Small fix.

	Do not assume user 1000 has group name = user name.

2018-11-10  Paul Eggert  <eggert@cs.ucla.edu>

	Dissociate controlling tty better on Darwin

	* src/process.c (dissociate_controlling_tty): New function.
	(create_process): Use it to dissociate controlling tty if setsid
	fails, which happens on Darwin after a vfork (Bug#33154).
	Do this on all platforms, not just on Darwin, as a similar
	problem is plausible elsewhere.
	* src/callproc.c (call_process): Use the new function here, too,
	for consistency and to avoid duplicate code.

2018-11-10  Michael Albinus  <michael.albinus@gmx.de>

	Provide branch information for both Emacs and Tramp (Bug#33328)

	* doc/lispref/intro.texi (Version Info):
	Document `emacs-repository-version' and `emacs-repository-branch'.

	* etc/NEWS: Mention `emacs-repository-branch'.

	* lisp/loadup.el: Initialize `emacs-repository-branch'.

	* lisp/version.el (emacs-repository-branch): New variable.
	(emacs-repository-branch-git, emacs-repository-get-branch):
	New defuns.

	* lisp/mail/emacsbug.el (report-emacs-bug):
	Insert `emacs-repository-branch'.

	* lisp/net/tramp.el (tramp-get-local-gid):
	Use `group-name' if available.
	(tramp-debug-message):
	* lisp/net/tramp-cmds.el (tramp-bug): Report also
	`tramp-repository-branch' and `tramp-repository-version'.

	* lisp/net/trampver.el (tramp-repository-branch)
	(tramp-repository-version): New defconst.
	(tramp-repository-get-version): Remove.

2018-11-10  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-get-local-gid): Use `group-name' if available.

2018-11-10  Allen Li  <darkfeline@felesatra.moe>

	Add setter for 'xref-marker-ring-length'

	* lisp/progmodes/xref.el (xref-marker-ring-length): Add setter.
	* etc/NEWS: Document last change.  (Bug#32849)

2018-11-10  Allen Li  <darkfeline@felesatra.moe>

	Add 'ring-resize' function

	* lisp/emacs-lisp/ring.el (ring-resize): New function.  (Bug#32849)
	* doc/lispref/sequences.texi (Rings): Document new function 'ring-resize'.
	* etc/NEWS: Document new function 'ring-resize'.
	* test/lisp/emacs-lisp/ring-tests.el (ring-test-ring-resize): New tests.

2018-11-10  Eli Zaretskii  <eliz@gnu.org>

	Fix last commit

	* doc/lispref/os.texi (User Identification): Fix function name
	of 'group-name'.

2018-11-10  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* src/editfns.c (Fgroup_name): Fix the doc string.  Move
	closer to the "group" functions.
	* src/w32.c (getgrgid): Return NULL if GID is not the group ID
	of the user of this Emacs session

	* test/src/editfns-tests.el (test-group-name): Rename from
	'group-name'.  Add tests for non-Posix hosts.  Test error when
	the argument to group-name is invalid.

	* etc/NEWS: Fix wording of last added entry.

2018-11-10  Jules Tamagnan  <jtamagnan@gmail.com>

	src/editfns.c (group-name): New function.

2018-11-09  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings generated by 'easy-mmode-define-navigation'

	* lisp/emacs-lisp/easy-mmode.el
	(easy-mmode-define-navigation): Include the documentation of
	prefix argument in the generated doc string.

2018-11-08  Pierre-Yves Luyten  <py@luyten.fr>

	Add functions to open a bookmark in another frame

	* lisp/bookmark.el (bookmark-jump-other-frame): New function.
	Bind in bookmark-map.
	(bookmark-bmenu-other-frame): New function.
	Bind in bookmark-bmenu-mode-map.

	Patch applied by Karl Fogel.

2018-11-08  Juri Linkov  <juri@linkov.net>

	* lisp/windmove.el (windmove-create-window): New defcustom (bug#32790).

	(windmove-do-window-select): Use it.

2018-11-08  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Password handling): Explain Ange FTP case.

2018-11-08  Michael Albinus  <michael.albinus@gmx.de>

	Get rid of own netrc parsing implementation in Tramp

	* lisp/net/tramp.el (tramp-parse-netrc): Reimplement, using
	`netrc-parse'.
	(tramp-parse-netrc-group): Remove.

2018-11-07  Juri Linkov  <juri@linkov.net>

	Support VC single file operations from Dired (bug#32596).

	* lisp/vc/vc.el (vc-ensure-vc-buffer): Use dired-get-filename for dired-mode.
	Move error-checking outside of the last branch of cond.
	(vc-dired-deduce-fileset): Remove unused error signaling.

2018-11-07  Juri Linkov  <juri@linkov.net>

	* lisp/vc/log-view.el: Better error handling (bug#33295).

	* lisp/vc/log-view.el (log-view-find-revision)
	(log-view-annotate-version): Add condition to signal an error
	when log-view-vc-fileset contains a directory.
	Use user-error instead of error.

	* lisp/dired.el (dired-get-file-for-visit):
	* lisp/locate.el (locate-do-setup):
	Use user-error instead of error.

2018-11-07  Juri Linkov  <juri@linkov.net>

	Advertise new hi-lock 'M-s h' key prefix in lisp/bindings.el

	https://lists.gnu.org/r/emacs-devel/2015-07/msg00104.html

2018-11-07  Juri Linkov  <juri@linkov.net>

	* lisp/files-x.el (modify-dir-local-variable): Use assoc-delete-all

	instead of assq-delete-all for cases when mode is a subdirectory name.
	(dir-locals-to-string): Call pp-to-string and string-trim-right
	on values.  (Bug#32817)

2018-11-07  Juri Linkov  <juri@linkov.net>

	* lisp/window.el (window-state-put): Create a new window

	to replace the existing one on the same frame in case
	when WINDOW is not live.  (Bug#32850)

	* doc/lispref/windows.texi (Window Configurations):
	Describe changes related to WINDOW arg of window-state-put.

2018-11-07  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-get-debug-buffer): Fix error in setting local map.

2018-11-06  Michael Albinus  <michael.albinus@gmx.de>

	Handle also port and domain in Tramp proxy definitions

	* doc/misc/tramp.texi (Multi-hops): Exclude ports and domains from
	pattern expansion.

	* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections):
	Remove ad-hoc proxies.

	* lisp/net/tramp-sh.el (tramp-compute-multi-hops): Handle also
	port and domain in the proxy.  Propertize ad-hoc proxies.

	* lisp/net/tramp.el (tramp-default-proxies-alist): Adapt docstring.

	* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
	(tramp-test02-file-name-dissect-simplified)
	(tramp-test02-file-name-dissect-separate): Extend tests.

2018-11-05  Juri Linkov  <juri@linkov.net>

	Support lazy-highlight-buffer in Info (bug#29321, bug#29360).

	* lisp/isearch.el (isearch-lazy-highlight-point-min)
	(isearch-lazy-highlight-point-max): New variables.
	(isearch-lazy-highlight-new-loop): When lazy-highlight-buffer is
	non-nil, compare (point-min) with isearch-lazy-highlight-point-min,
	and (point-max) with isearch-lazy-highlight-point-max, for buffers
	like Info where narrowing changes the values point-min and point-max.

2018-11-05  Juri Linkov  <juri@linkov.net>

	* lisp/image-mode.el (image--imagemagick-wanted-p): Check for nil filename.

	(Bug#33241)

2018-11-04  Glenn Morris  <rgm@gnu.org>

	* src/xfaces.c (face_at_buffer_position): Adapt lookup_basic_face call.

2018-11-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	6937c35 (origin/emacs-26) Improve recent changes in documentation of ...
	c04b48c Rewrite documentation of buffer display
	7cadb32 ; * doc/lispref/control.texi (pcase Macro): Fix another typo.
	963f1d9 ; * doc/lispref/control.texi (pcase Macro): Fix a typo.
	e824c91 Improve documentation of destructuring-binding macros

2018-11-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	bd1d617 Avoid race in rcirc process filter (bug#33145)
	88ef31a Avoid file-name errors when viewing PDF from Gnus
	c939042 Avoid crashes with remapped default face in Org mode
	97660fa Doc fix for checkdoc-continue
	96f055b Fix a typo in autoload.el

2018-11-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	9962cf9 * doc/lispref/control.texi (Destructuring patterns): New subs...

2018-11-04  Eli Zaretskii  <eliz@gnu.org>

	A further fix for locally remapped fringe face

	* src/xdisp.c (expose_window): Temporarily switch to the
	window's buffer, in case the fringe face was remapped locally
	in that buffer.  (Bug#33244)

2018-11-04  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33194

	* lisp/autorevert.el (auto-revert-notify-add-watch):
	Handle buffers with same descriptor properly.
	(auto-revert-notify-handler): Handle all buffers with same
	descriptor.  (Bug#33194)

	* lisp/filenotify.el (file-notify-callback): Simplify.

2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>

	Improve time error reporting

	* src/timefns.c (emacs_mktime_z): Remove; no longer needed.
	(time_error): New function, replacing invalid_time.
	All callers changed.
	(decode_float_time, decode_ticks_hz, decode_time_components):
	Return an error number instead of merely a boolean.
	All callers changed.
	(decode_lisp_time): Signal an error based on the error number,
	instead of merely returning a boolean to the caller.
	All callers changed.
	(format_time_string, Fdecode_time, Fencode_time)
	(Fcurrent_time_string):
	Do not assume that a failure of a system time function
	must be due to time overflow.
	(Fencode_time): Don't report an error merely because mktime
	returned ((time_t) -1), as that may be a valid time_t value.
	Use a simpler error check.  See:
	https://www.sourceware.org/ml/libc-alpha/2018-11/msg00062.html

2018-11-03  Eli Zaretskii  <eliz@gnu.org>

	Allow the fringe face to be remapped locally in a buffer

	* src/fringe.c (draw_window_fringes): Switch to window's
	buffer to get the local value of face-remapping-alist, if
	necessary.  (Bug#33244)
	* src/xfaces.c (syms_of_xfaces) <Qface_remapping_alist>: New
	DEFSYM.

2018-11-03  David Edmondson  <dme@dme.org>

	Add URL truncation support to rcirc (bug#33043)

	Suggested by David Edmondson <dme@dme.org>.
	* lisp/net/rcirc.el (rcirc-url-max-length): New user option
	controlling extent of URL truncation, defaulting to none.
	(rcirc-markup-urls): Use it.
	* etc/NEWS: Announce it.

2018-11-03  Pierre Téchoueyres  <pierre.techoueyres@free.fr>

	'minor-mode-menu-from-indicator' now display full minor mode.

	When there is no menu for a mode, display the mode name after the
	indicator instead of just the indicator (which is sometime cryptic).
	Ex:
	before : SP
	now    : SP - Smartparens Mode

	* etc/NEWS: Add en entry for this new feature.
	* lisp/mouse.el (minor-mode-menu-from-indicator): Append the mode name
	  after the indicator when there is no menu defined by the mode.

2018-11-03  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Allow use of Gnus search groups as notmuch path: search term

	* lisp/gnus/nnir.el (nnir-notmuch-filter-group-names-function): New
	option governing whether and how to use Gnus' search groups as path:
	search terms to notmuch.
	(nnir-run-notmuch): Check and possibly use above variable.
	(Bug#33122)

2018-11-03  Daniel Pittman  <slippycheeze@google.com>

	Fix interaction between vc-hg find-file-hook and vc state caching

	Bad assumptions in the `vc-hg-find-file-hook' prevented it from
	working. This correctly them.  (Bug#33129).

2018-10-23  Daniel Pittman  <slippycheeze@google.com>

	* lisp/vc/vc-hg.el (vc-hg-find-file-hook): This function made two
	assumptions about conflicted files that were not accurate,
	preventing conflicts in files ever being detected.

	The first was that the `vc-state' was cache by the time this was
	invoked, which it is not - at least when visiting the file, or
	using `vc-refresh-state'.

	The second was that a file with the ".orig" extension would be
	present, next to the file being visited.  This is the default
	behavior of Mercurial, but can be overridden by the user.

	Since the VC mode-line code will shortly calculate the state for
	display, the optimization of testing for the ".orig" file only
	delayed this work by a few moments.

2018-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Allow empty rules

	* lisp/help-fns.el (describe-symbol): Use help--symbol-completion-table

	* src/data.c (Ffset): Don't signal gratuitous errors

2018-11-02  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Obsolete gnus-correct-length in favor of string-width

	* lisp/gnus/gnus-spec.el: Define an obsolete alias.

2018-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/ruby-mode.el: Cosmetic changes

	Remove redundant :groups.
	(ruby-font-lock-syntax-table): Delete var.
	(ruby-mode): Use font-lock-default's syntax-alist instead.

2018-11-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-mode.el: Silence compiler warnings

	(c-parse-quotes-before-change, c-parse-quotes-after-change):
	Flag unused args according to convention.

2018-10-31  Michael Albinus  <michael.albinus@gmx.de>

	Remote file name completion is also performed by auth-sources search

	* doc/misc/tramp.texi (File name completion): User and host name
	completion is also performed by auth-sources search.

	* etc/NEWS: Document remote file name completion using auth-sources.

	* lisp/net/tramp.el (tramp-completion-use-auth-sources):
	New user option.
	(tramp-parse-auth-sources): New defun.
	(tramp-get-completion-function): Call it.

2018-10-31  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	eb903d8 * lisp/emacs-lisp/pcase.el: Improve docstrings.
	86abbb3 * lisp/emacs-lisp/rx.el (rx): Fix typo in doc string.  (Bug#3...
	ced58d3 Improve doc string of 'call-process'
	38f88a7 Document that generic functions cannot be commands
	5aeddfa * lisp/mail/rmailsum.el (rmail-summary-output): Add lost word...
	10e0fd8 Add index entries for more isearch commands/bindings (Bug#32990)
	de28184 * lisp/simple.el (filter-buffer-substring): Clarify doc (Bug#...
	d192c16 Fix recent change in lispref/processes.texi.

2018-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-generic.el: Clarify we can't define commands

	(cl--generic-lambda): Warn about the presence of interactive specs.

2018-10-30  Paul Eggert  <eggert@cs.ucla.edu>

	Improve fix for Bug#33014

	Although the previously-applied fix worked for its platform,
	it doesn’t suffice in general.
	* src/bytecode.c (exec_byte_code): Save VECTOR into stack slot
	so that it survives GC.  The stack slot was otherwise unused,
	so this doesn’t cost us memory, only a store insn.
	* src/eval.c (Ffuncall): Do not make FUN volatile, reverting
	2018-10-14T19:12:04Z!gazally@runbox.com.  Adding ‘volatile’
	does not suffice, since storage for a volatile local can be
	reclaimed after its last access (e.g., by tail recursion
	elimination), which would make VECTOR invisible to GC.

2018-10-30  Glenn Morris  <rgm@gnu.org>

	* admin/bzrmerge.el: Remove file, long since replaced by gitmerge.el.

2018-10-30  Michael Heerdegen  <michael_heerdegen@web.de>

	Don't quote self-quoting pcase patterns

	* admin/bzrmerge.el:
	* lisp/char-fold.el:
	* lisp/dired.el:
	* lisp/emacs-lisp/derived.el:
	* lisp/emacs-lisp/easy-mmode.el:
	* lisp/emacs-lisp/easymenu.el:
	* lisp/emacs-lisp/eieio-core.el:
	* lisp/emacs-lisp/package.el:
	* lisp/emacs-lisp/smie.el:
	* lisp/faces.el:
	* lisp/filesets.el:
	* lisp/progmodes/modula2.el:
	* lisp/progmodes/octave.el:
	* lisp/progmodes/opascal.el:
	* lisp/progmodes/perl-mode.el:
	* lisp/progmodes/prolog.el:
	* lisp/progmodes/ruby-mode.el:
	* lisp/progmodes/sh-script.el:
	* lisp/server.el:
	* lisp/subr.el:
	* lisp/textmodes/css-mode.el:
	* test/lisp/emacs-lisp/pcase-tests.el: Don't quote self-quoting
	'pcase' patterns.

2018-10-30  Alan Mackenzie  <acm@muc.de>

	Fix C++ Mode dynamic error with string delimiters.

	Fixes bug #33163

	* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings):
	Use the correct variable `end' in place of the wrong `c-new-END'.
	(c-after-change-re-mark-unbalanced-strings): Correct a logic error whilst
	skipping over comments.

2018-10-29  Glenn Morris  <rgm@gnu.org>

	* configure.ac (emacs_config_features): Add notify backends.

2018-10-29  Juri Linkov  <juri@linkov.net>

	* lisp/window.el (window--state-get-1): Check buffer-live-p in next-buffers

	and prev-buffers.  (Bug#32850)

2018-10-29  Gemini Lasswell  <gazally@runbox.com>

	Keep a stack reference to bytecode objects being executed (Bug#33014)

	* src/eval.c (Ffuncall): Make local variable 'fun' volatile.
	* test/src/eval-tests.el
	(eval-tests-byte-code-being-evaluated-is-protected-from-gc):
	Add regression test for Bug#33014.
	(eval-tests-33014-var): New variable.
	(eval-tests-33014-func, eval-tests-33014-redefine): New functions.

2018-10-29  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33006

	* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
	* lisp/progmodes/xref.el (xref-collect-matches)
	(xref--collect-matches): Handle remote files.  (Bug#33006)

2018-10-29  João Távora  <joaotavora@gmail.com>

	Fix Flymake's diagnostic count with custom error types

	(Bug#33187)

	* lisp/progmodes/flymake.el (flymake--mode-line-format): Replace
	cl-union with iterative cl-pushnew.

2018-10-27  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (lazy-highlight-buffer): New defcustom.  (Bug#29360)

	(lazy-highlight-buffer-max-at-a-time): New defcustom.
	(isearch-lazy-highlight-buffer): New defvar.
	(isearch-lazy-highlight-new-loop): Don't check changes in window
	boundaries when lazy-highlight-buffer is non-nil.
	Move code that extends start/end to match whole string at point
	here from isearch-lazy-highlight-search.
	(isearch-lazy-highlight-search): Add args string and bound
	like in other search functions.  Move calculation of bound
	to isearch-lazy-highlight-update.
	(isearch-lazy-highlight-match): New function with code extracted from
	isearch-lazy-highlight-update to be called also from
	isearch-lazy-highlight-buffer-update.
	(isearch-lazy-highlight-update): Reuse the values returned from
	window-group-start and window-group-end.  At the end schedule the
	timer to call isearch-lazy-highlight-buffer-update when
	isearch-lazy-highlight-buffer is non-nil.
	(isearch-lazy-highlight-buffer-update): New function.

2018-10-27  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	df64da8 (origin/emacs-26) * lisp/simple.el (region-extract-function):...
	520c486 * lisp/simple.el (region-bounds): Doc fix.  (Bug#33168)
	9193db0 Improve documentation of 'process-connection-type'
	106b9e1 Unify prompt for gnupg passphrase between GNU/Linux and MS-Wi...
	2a41616 Doc fix of 'gnus-fetch-old-headers'
	29a7644 Deactivate incorrect hyperlinking in gnus-build-sparse-thread...
	53ae90f Minor copyedits in cmdargs.texi
	fc2e65a Improve documentation of X resource loading
	13132b3 * lisp/net/tramp-sh.el (tramp-inline-compress-commands):
	8361292 ; Fix sorting in admin/MAINTAINERS
	92de44f Don't error when indenting malformed Lisp (Bug#30891)
	c3adbc8 Improve 'isearch-delete-char' documentation (Bug#32990)
	6ca71ce ; * lisp/help.el (with-help-window): Remove extra space in doc.
	f5f9583 Improve XPM load failure message (bug#33126)
	f3d01d4 Avoid infloop in CPerl mode fontification
	71a2d50 Fix minibuffer-help-form for lexical binding
	7e8eee6 Fix some NS drawing issues (bug#32932)
	d72975a * lisp/gnus/mm-util.el (mm-decompress-buffer): Fix split-stri...
	c97a5f1 * doc/misc/calc.texi (Summary): The +/- key is 'p', not 'P'.

	# Conflicts:
	#	lisp/gnus/mm-util.el

2018-10-27  Daniel Pittman  <slippycheeze@google.com>  (tiny change)

	Add support in emacsclient for EMACS_SOCKET_NAME

	If the '--socket-name' argument is unspecified, the environment
	variable 'EMACS_SOCKET_NAME' is now consulted with the same
	semantics.  This mirrors the behavior of the '--server-file' argument,
	and allows for easier configuration of emacsclient when the socket is
	in a location other than 'TMPDIR' or '/tmp'.

	* emacsclient.c (set_socket): Add support for the
	EMACS_SOCKET_NAME environment variable.  (Bug#33095)

	* doc/emacs/misc.texi (emacsclient Options):
	* emacsclient.1: Document the EMACS_SOCKET_NAME environment
	variable.

	* etc/NEWS: Announce the new feature.

2018-10-26  Federico Tedin  <federicotedin@gmail.com>

	Subject: (mouse-drag-and-drop-region): Simplify and remove assumptions

	* lisp/mouse.el (mouse-drag-and-drop-region): Use insert-for-yank for
	insertion, remove rectangular-region-specific variables.
	Use text-property-not-all.
	* lisp/rect.el (rectangle-dimensions): New function.
	(rectangle-position-as-coordinates): Use the usual 1-origin for lines.

2018-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/files.el (abbreviate-file-name): Avoid save-match-data

	Also, don't assume homedir doesn't contain special regexp chars.
	And prefer \` ... \' over ^ ... $.
	(recover-file): Use user-error.

2018-10-25  Glenn Morris  <rgm@gnu.org>

	* admin/automerge: Abort if NEWS gets modified.

2018-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el (pcase--u1): Fix bignums

	Use 'eql' to compare integers

2018-10-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33141

	* lisp/net/tramp.el (tramp-make-tramp-file-name): Avoid check for
	empty method with simplified `tramp-syntax'.  (Bug#33141)

2018-10-24  Glenn Morris  <rgm@gnu.org>

	* admin/gitmerge.el (gitmerge-resolve): Check NEWS patch exit status.

2018-10-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	2efd400 (origin/emacs-26) Correct typo in GNU ELPA url
	6239016 * doc/misc/dired-x.texi (Omitting Variables): Fix wording. (B...
	1531bca Fix help-form binding in dired-create-files
	cf79327 Fix a pasto in a Gnus doc string
	a4e40f6 ; * doc/emacs/files.texi (Reverting): Improve wording in last...
	f632ecb Update revert-buffer documentation
	eb67689 * lisp/mail/smtpmail.el (smtpmail-send-queued-mail): Load fil...
	433e364 ; * etc/NEWS: Announce that emacs-module.h is now installed.

	# Conflicts:
	#	lisp/mail/smtpmail.el

2018-10-23  Alan Mackenzie  <acm@muc.de>

	edebug.el: Move window focus switch into edebug-pop-to-buffer

	* lisp/follow.el (edebug-focus-frame): Remove.
	(edebug-pop-to-buffer): Call x-focus-frame for GUI frames.
	(edebug-default-enter, edebug--display-1): Replace call to
	edebug-focus-frame with x-focus-frame.
	(edebug-where, edebug-bounce-point, edebug-visit-eval-list): Remove no longer
	needed calls to edebug-focus-frame.

2018-10-22  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Improve rounding in recent timer fix

	* lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
	Use more-precise arithmetic to handle some boundary cases better
	when rounding errors occur (Bug#33071).
	* test/lisp/emacs-lisp/timer-tests.el:
	(timer-next-integral-multiple-of-time-3):
	New test, to test one of the boundary cases.
	(timer-next-integral-multiple-of-time-2):
	Redo so as to not assume a particular way of rounding 0.01.

2018-10-22  Paul Eggert  <eggert@cs.ucla.edu>

	Fix epg bug with (TICKS . HZ) timestamp

	Problem reported by Joseph Mingrone in:
	https://lists.gnu.org/r/emacs-devel/2018-10/msg00380.html
	* lisp/epg.el (epg--time-from-seconds): Just use a seconds count;
	don’t generate an obsolete-format timestamp.

2018-10-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/minibuf.c (read_minibuf_noninteractive): Remove unused args.

2018-10-22  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp backward compatibility

	* lisp/net/tramp-compat.el: (tramp-unload-file-name-handlers):
	Declare it, for backward compatibility.

2018-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	Always define 'define-fringe-bitmap'

	* lisp/cus-start.el: Test 'fringe-bitmaps' to see if fringe.c was compiled.

	* lisp/fringe.el: Use lexical-binding.
	(define-fringe-bitmap): Provide a fallback implementation.

	* lisp/progmodes/flymake.el (flymake-double-exclamation-mark):
	Define unconditionally.

	* lisp/progmodes/gdb-mi.el (define-fringe-bitmap): Don't declare any more.
	(breakpoint, hollow-right-triangle): Define unconditionally.

2018-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/diff-mode.el: Improve diff-font-lock-prettify

	A few tweaks to the previous code for corner case problems, and a new
	feature, which is to move the +/- signs to the left fringe.

	(diff--font-lock-cleanup, diff--filter-substring): New functions.
	(diff-mode): Use them.
	(diff--font-lock-refined): Mark the overall overlays as `diff-mode
	fine` as well, so they get properly cleaned up when changing mode.
	(diff-fringe-add, diff-fringe-del, diff-fringe-rep, diff-fringe-nul):
	New bitmaps.
	(diff--font-lock-prettify): Move the +/- signs to the fringe.
	(diff-wiggle): Use 'user-error'.

2018-10-20  Michael Albinus  <michael.albinus@gmx.de>

	Expand host names in Tramp's ad-hoc multi-hop file names

	* doc/misc/tramp.texi (Quick Start Guide): Improve wording.
	(Change file name syntax): Say, that `tramp-file-name-regexp' is
	not constant.
	(Ad-hoc multi-hops): Explain host name expansion.

	* etc/NEWS: Mention that host names in Tramp ad-hoc multi-hop file
	names must match the previous hop for methods like "su" or "sudo".
	Fix typos.

	* lisp/net/tramp.el (tramp-find-method, tramp-find-user):
	Adapt docstring.
	(tramp-find-host): Mark default value.
	(tramp-dissect-file-name): Expand host name for hops.
	(tramp-dissect-hop-name, tramp-make-tramp-hop-name): New defuns.
	(tramp-clear-passwd): Simplify.

	* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
	(tramp-test02-file-name-dissect-simplified)
	(tramp-test02-file-name-dissect-separate)
	(tramp-test26-file-name-completion): Extend tests.

2018-10-20  Eli Zaretskii  <eliz@gnu.org>

	Fix 'timer-next-integral-multiple-of-time'

	* lisp/emacs-lisp/timer.el
	(timer-next-integral-multiple-of-time): Fix recent change for
	fractional values of SECS.  (Bug#33071)
	* test/lisp/emacs-lisp/timer-tests.el
	(timer-next-integral-multiple-of-time-2): New test.

2018-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/smtpmail.el: (smtpmail-send-queued-mail): Avoid 'load'

	(smtpmail-send-it): Send metadata directly to the
	files without bothering to write it into a temp buffer.

2018-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package-get-version): Change into a function

	(package-quickstart-refresh): Mangle string so it doesn't turn into
	a false positive for "no-byte-compile: t".

2018-10-19  Alan Mackenzie  <acm@muc.de>

	In edebug in GUIs, move focus to the selected frame.

	Thus when entering edebug, the focus will be moved to the frame with the
	source being debugged, and when its finished, the focus will move back.
	Commands edebug-visit-eval-list (`E') and edebug-bounce-point (`p') have been
	likewise amended.

	* src/keyboard.c (readable_events): Handle FOCUS_OUT_EVENT as an invisible
	event.  This prevents input-pending-p returning t when one of these events
	arrives, and thus obviates an instant termination of sit-for when there's no
	"real" event waiting.

	* lisp/emacs-lisp/edebug.el (edebug-focus-frame): New function.
	(edebug-default-enter, edebug--display-1, edbug-where, edebug-bounce-point)
	(edebug-visit-eval-list): Call edebug-focus-frame to move focus into the
	window newly selected by edebug-pop-to-buffer.

2018-10-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix struct thread alignment on FreeBSD x86

	Problem reported by Joseph Mingrone in:
	https://lists.gnu.org/r/emacs-devel/2018-10/msg00238.html
	While we’re at it, apply a similar fix to struct Lisp_Subr; this
	removes the need for GCALIGNED_STRUCT_MEMBER and thus can shrink
	struct Lisp_Subr a bit.
	* configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Bring back this macro.
	Although used only for performance (not to actually align
	structures), we might as well take advantage of it.
	* src/lisp.h (GCALIGNED_STRUCT_MEMBER): Remove; all uses removed.
	(union Aligned_Lisp_Subr): New type, like struct Lisp_Subr but aligned.
	* src/lisp.h (XSUBR, DEFUN):
	* src/lread.c (defsubr): Use it.  All callers changed.
	* src/thread.c (union aligned_thread_state): New type.
	(main_thread): Now of this type, so it’s aligned.
	All uses changed.
	* src/xmenu.c (syms_of_xmenu) [USE_GTK || USE_X_TOOLKIT]:
	Adjust to union Aligned_Lisp_Subr change.

2018-10-19  Alan Mackenzie  <acm@muc.de>

	In follow mode windows in a GUI, don't display inactive cursors

	This is done by setting cursor-in-non-selected-windows buffer locally.

	* lisp/follow.el (follow-hide-ghost-cursors): New customizable option.
	(follow-mode): Create and set, or kill buffer-local copy of
	cursor-in-non-selected-windows when the mode gets enabled or disabled.
	(follow-prev-buffer): New variable.
	(follow-adjust-window): Manipulate cursor-in-non-selected-windows when the
	current buffer changes, to ensure that cursors stay visible in non-selected
	follow window groups.

	* etc/NEWS: Add an entry for this change.

2018-10-18  Martin Rudalics  <rudalics@gmx.at>

	Have 'split-window' handle 'up' and 'down' values (Bug#32790)

	* lisp/window.el (split-window): Handle values of 'up' and 'down'
	for SIDE argument (Bug#32790).
	(window-in-direction): Amend doc-string as of yesterday's change.

2018-10-18  Juri Linkov  <juri@linkov.net>

	* lisp/emacs-lisp/lisp.el (delete-pair): Add optional prefix arg.

	(Bug#32896)

2018-10-18  Juri Linkov  <juri@linkov.net>

	Use buffer objects for non-writable states in window-state-get.

	* lisp/window.el (window--state-get-1): Use buffer objects for
	buffer, next-buffers, prev-buffers if 'writable' is nil.  (Bug#32850)

2018-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el (package-get-version): New macro

2018-10-18  Martin Rudalics  <rudalics@gmx.at>

	Have 'window-in-direction' handle 'up' and 'down' values (Bug#32790)

	* lisp/window.el (window-in-direction): Handle values of 'up'
	and 'down' for DIRECTION argument (Bug#32790).  Suggested by
	Juri Linkov <juri@linkov.net>.
	* lisp/windmove.el (windmove-find-other-window): Don't convert
	first argument of 'window-in-direction'.

2018-10-17  Paul Eggert  <eggert@cs.ucla.edu>

	Bring back nocombreloc if dumping

	Without this patch, Emacs dumps core on Fedora 28 x86-64
	when configured via "CC='gcc -m32' --enable-gcc-warnings
	--without-imagemagick --without-gif --with-modules
	PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/share/pkgconfig".
	and then when run normally in a windowing system.
	'make check' and 'emacs -nw' work OK even without the patch.
	* configure.ac (LD_SWITCH_SYSTEM_TEMACS): Prepend
	-znocombreloc if supported and if dumping.  This mostly
	reverts 2018-06-15T21:37:39!eggert@cs.ucla.edu "Remove old
	combreloc hack".

2018-10-17  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violation when comparing with main-thread

	* src/thread.c (unmark_main_thread): New function.
	* src/lisp.h (unmark_main_thread): Prototype it.
	* src/alloc.c (garbage_collect_1): Call it after sweeping.
	(Bug#33073)

	* test/src/thread-tests.el (threads-test-bug33073): New test.

2018-10-16  Federico Tedin  <federicotedin@gmail.com>

	Allow two mouse functions to work with Rectangle Mark mode

	* lisp/mouse.el (mouse-save-then-kill): Make
	mouse-save-then-kill work with rectangular regions, including
	when mouse-drag-copy-region is set to t. (Bug#31240)
	(mouse-drag-and-drop-region): Allow dragging and dropping
	rectangular regions. (Bug#31240)
	* lisp/rect.el (rectangle-intersect-p)
	(rectangle-position-as-coordinates): New functions.

2018-10-16  Juri Linkov  <juri@linkov.net>

	Use next-buffers and prev-buffers in window-state-get and window-state-put

	* lisp/window.el (window--state-get-1): Get next-buffers and prev-buffers.
	(window--state-put-2): Set next-buffers and prev-buffers.  (Bug#32850)

2018-10-16  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32983

	* lisp/net/soap-client.el: Bump version to 3.1.5.
	(soap-parse-server-response): Handle also "multipart/related"
	Content-Type.  (Bug#32983)

2018-10-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	73babba (origin/emacs-26) Clarify documentation of fractional vertica...
	b20c51d * lisp/isearch.el (isearch-cmds): Recall absent isearch--stat...
	700acbd doc/lispref/edebug.texi (Specification List) Remove obstrusiv...
	1902450 Fix wording in module API documentation
	e724a8f Fix redisplay of glyphless characters
	8fc892d Update --without-toolkit-scroll-bars doc
	80e0bfa Call GTK functions only on GTK scrollbars
	91c4c46 Update the description of startup in ELisp manual
	18b42c6 Use the 'line-number' face for line-number fields past EOB
	a6ab8db Ensure NS frame is redrawn correctly  after scroll

	Conflicts:
		lisp/isearch.el

2018-10-16  Michael Albinus  <michael.albinus@gmx.de>

	Add process thread to list-processes

	* lisp/simple.el (process-menu-mode, list-processes--refresh):
	Add process thread.

2018-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/display.texi (Fringe Bitmaps): Remove redundant items

	* lisp/image-mode.el (image-toggle-display-image): Avoid string-make-unibyte

2018-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/octave.el: Register on auto-mode-alist

	(octave-maybe-mode): New function.

2018-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/NEWS.18: Tweak header to be more like the others

2018-10-15  Juri Linkov  <juri@linkov.net>

	* lisp/image-mode.el (image--imagemagick-wanted-p): Check for file extension.

	(Bug#32994)
	(image-toggle-display-text): Let-bind create-lockfiles to nil
	like in image-toggle-display-image.

2018-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/tex-mode.el (tex-uptodate-p): Recognize [N.N] pages

2018-10-15  Alan Mackenzie  <acm@muc.de>

	In follow mode, prevent the cursor resting on a partially displayed line

	This fixes bug #32848

	* lisp/follow.el (follow-adjust-window): If point ends up in a partially
	displayed line in a left hand or middle window, move it one line forward, to
	prevent unwanted scrolling should make-cursor-line-fully-visible be non-nil.

2018-10-14  Paul Eggert  <eggert@cs.ucla.edu>

	Update lib/regex from glibc via Gnulib

	This syncs recent refactorings from glibc, and incorporates:
	2018-10-15 libc-config: merge from glibc
	2018-10-15 regex: depend on libc-config
	* .gitignore: Do not ignore m4/_*.m4.
	* lib/cdefs.h: New file, copied from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/libc-config.h, m4/__inline.m4: New files, copied from Gnulib.
	* lib/regcomp.c, lib/regex.c, lib/regex_internal.c:
	* lib/regex_internal.h, lib/regexec.c:
	Copy from glibc via Gnulib.

2018-10-14  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This is minor refactoring that should not affect Emacs builds.
	It incorporates:
	2018-10-12 Make better use of Autoconf
	* m4/environ.m4, m4/fsusage.m4, m4/manywarnings.m4, m4/socklen.m4:
	Copy from Gnulib.

2018-10-14  Alan Mackenzie  <acm@muc.de>

	Add ~44 edebug specs to CC Mode.

	* lisp/progmodes/cc-cmds.el, lisp/progmodes/cc-defs.el
	lisp/progmodes/cc-engine.el, lisp/progmodes/cc-fonts.el
	lisp/progmodes/cc-langs.el: Add lots of edebug specs.

	* lisp/progmodes/cc-engine.el (c-state-maybe-marker): Tidy up so as to
	evaluate an argument only once at runtime.

2018-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/buffer.c (Fmove_overlay): Don't call Fdelete_overlay

	... because the data structure is not in a consistent state.

	* test/src/buffer-tests.el (overlay-evaporation-after-killed-buffer):
	New test.

2018-10-14  Paul Eggert  <eggert@cs.ucla.edu>

	Fix lisp_eval_depth in unwind-protect cleanup

	Problem reported by Paul Pogonyshev (Bug#33034).
	* src/lisp.h (union specbinding): New member unwind.eval_depth.
	* src/eval.c (record_unwind_protect, set_unwind_protect): Set it.
	(do_one_unbind): Use it.

2018-10-13  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>

	Fix sieve-mode font lock

	* lisp/net/sieve-mode.el (sieve-font-lock-keywords): Fix the
	definition of font-lock faces.  (Bug#32881)

2018-10-13  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)

	Fix sieve-upload when sieve-buffer is nil

	* lisp/net/sieve.el (sieve-upload): Don't rely on sieve-buffer being
	non-nil.  (Bug#32880)

2018-10-13  Eli Zaretskii  <eliz@gnu.org>

	Improve 'json-insert' so it doesn't cons a string from JSON

	* src/json.c (struct json_buffer_and_size): New member
	inserted_bytes.
	(json_insert): Instead of creating a string and inserting it
	into the current buffer, copy the unibyte text into the gap.
	(struct json_insert_data): New member inserted_bytes.
	(json_insert_callback): Update commentary.  Pass the
	inserted_bytes value to json_insert and on its return copy the
	updated value back into DATA.
	(Fjson_insert): Decode the unibyte text inserted into the gap.
	Call before-change-functions and after-change-functions only
	once, before and after processing the insertion of the entire
	JSON representation.

	* test/src/json-tests.el (json-insert/throw): Adapt to the
	modified implementation of json-insert: it no longer calls the
	modification hooks once for each inserted chunk of JSON
	representation.

2018-10-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	643df63 (origin/emacs-26) Avoid byte-compiler warning in em-rebind.el
	d0eca49 ; * doc/emacs/mark.texi (Disabled Transient Mark): Fix last c...
	af80b10 Improve indexing of 'C-SPC C-SPC'
	89a7301 ; * doc/lispref/internals.texi (Writing Dynamic Modules): Fix...
	a108eaa Fix bug with precious entries in Gnus registry
	ce8b458 Document in the ELisp manual how to write loadable modules
	a7ebc6b dired-do-shell-command: Notify users after abort the command

	# Conflicts:
	#	lisp/registry.el

2018-10-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	6e54762 Fix Apple Script permissions error
	19f705c Fix typo in 'timerp' documentation

2018-10-12  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):

	Add docstring.  Remove `interactive' call.

2018-10-12  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/trampver.el (customize-package-emacs-version-alist):

	Adapt Tramp version integrated in Emacs 26.2.

2018-10-12  Michael Albinus  <michael.albinus@gmx.de>

	Fix error in Tramp loading, uncovered by tramp-test43-*

	* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
	New defalias.
	(tramp-register-archive-file-name-handler): Use it.

	* lisp/net/tramp.el (tramp-file-name-for-operation): Change it for
	`expand-file-name'.
	(tramp-file-name-handler): Unset `file-name-handler-alist' when
	autoloading a Tramp file name handler.
	(tramp-autoload-file-name-handler): Always unload Tramp file name
	handlers.
	(tramp-register-file-name-handlers)
	(tramp-unload-file-name-handlers): Simplify.

2018-10-12  Allen Li  <darkfeline@felesatra.moe>

	Rework empty abbrev table omitting

	There were two problems with the original implementation:

	1. It changed the behavior of insert-abbrev-table-description when
	READABLE is nil to sometimes insert one Emacs Lisp expression and
	sometimes insert nothing.
	2. It broke the tests.

	This commit reworks this so that insert-abbrev-table-description
	always inserts an expressions even if no abbrevs need to be saved and
	making only write-abbrev-file check that a table has any abbrevs to
	save before calling insert-abbrev-table-description.  This duplicates
	the work of filtering the table for saveable abbrevs, but the benefit
	of keeping the API is worth it.

	* doc/lispref/abbrevs.texi (Abbrev Tables): Update documentation.
	* lisp/abbrev.el (write-abbrev-file): Skip tables without user abbrevs
	(insert-abbrev-table-description): Always insert the define
	expression.
	(abbrev--table-symbols): New function.
	* test/lisp/abbrev-tests.el (abbrev--table-symbols-test):
	Add test for abbrev--table-symbols.

2018-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	Fix mishandling of symbols that look like numbers

	* src/bignum.c (make_neg_biguint): New function.
	* src/lread.c (read1): Do not mishandle an unquoted symbol
	with name equal to something like "1\0x", i.e., a string
	of numeric form followed by a NUL byte.
	Formerly these symbols were misread as numbers.
	(string_to_number): Change last argument from an integer flag
	to a pointer to the length.  This lets the caller figure out
	how much of the prefix was used.  All callers changed.
	Add a fast path if the integer (sans sign) fits in uintmax_t.
	Update comments and simplify now that bignums are present.
	* src/print.c (print_object): Fix quoting of symbols that look
	like numbers, by relying on string_to_number for the tricky
	cases rather than trying to redo its logic, incorrectly.  For
	example, (read (prin1-to-string '\1e+NaN)) formerly returned
	"1e+NaN", which was wrong: a backslash is needed in the output
	to prevent it from being read as a NaN.  Escape NO_BREAK_SPACE
	too, since lread.c treats it like SPACE.
	* test/src/print-tests.el (print-read-roundtrip):
	Add tests illustrating the abovementioned bugs.

2018-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/auth-source.el: Minor simplification

	Remove redundant :group args.
	(auth-source-backend-parse): Use run-hook-with-args-until-success.

2018-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/lisp-mnt.el: Use lexical-binding

	Remove redundant :group

2018-10-09  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	4cf1eb8 (origin/emacs-26) ; * src/data.c (Fkeywordp): Remove inaccura...
	3f1470d * doc/emacs/mark.texi (Mark): Index "(de)activating the mark".

2018-10-09  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	14c032d Avoid assertion violations in nonsensical calls to 'signal'
	b99192f * lisp/simple.el (transient-mark-mode): Correct documentation...
	7e42294 Update the locale and language database
	8c53d9f Fix a typo in a doc string.
	79bda3b Make nneething allow CRLF-encoded files (bug#32940)

2018-10-09  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	86d2169 Avoid ridiculously high stack limit requests on macOS
	ac3622c Improve documentation of 'read-hide-char'

	# Conflicts:
	#	src/emacs.c

2018-10-09  Charles A. Roelli  <charles@aurox.ch>

	* lisp/vc/vc.el (vc-retrieve-tag-hook): Remove autoload cookie.

	See https://lists.gnu.org/r/emacs-devel/2018-10/msg00108.html.

2018-10-09  Paul Eggert  <eggert@cs.ucla.edu>

	Port --enable-gcc-warnings to recent clang

	* configure.ac: Disable -Wnull-pointer-arithmetic if clang (Bug#32924).

2018-10-09  Paul Eggert  <eggert@cs.ucla.edu>

	Fix malfunctioning cursor display on 32-bit Gtk

	This bug on 32-bit platforms was caused by the timespec_hz
	definition going haywire because the C expression
	FIXNUM_OVERFLOW_P (MOST_POSITIVE_FIXNUM) did not work in #if.
	Eventually the numeric problem showed up as a malfunctioning
	cursor (Bug#32992).  Fix the problem with MOST_POSITIVE_FIXNUM.
	By the way, make_fixnum should check for integer overflow when
	debugging; this would have made it easier to track this bug down.
	But one fix at a time.
	* src/lisp.h (INTTYPEBITS): Now a macro, so usable in #if.
	(MOST_POSITIVE_FIXNUM): Mention it’s used in #if.

2018-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/replace.el (occur--garbage-collect-revert-args): New function

	(occur-mode, occur-1): Use it.
	(occur--region-start, occur--region-end, occur--region-start-line)
	(occur--orig-line): Remove vars.
	(occur-engine): Fix left over use of occur--region-start-line.

2018-10-09  Eli Zaretskii  <eliz@gnu.org>

	Revert part of last commit

	* lisp/replace.el (occur-revert-function): Revert last change,
	as it's no longer needed.  (Bug#32987)

2018-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/replace.el: Rework implementation of the occur region

	Put the region info in the "list of buffers" used for multi-occur.

	(occur--parse-occur-buffer): Remove.
	(occur): Pass the region to occur-1 as an overlay.
	(occur-1): 'bufs' is now a list of buffers or overlays.
	(occur-engine): 'buffers' is now a list of buffers or overlays.

2018-10-09  Eli Zaretskii  <eliz@gnu.org>

	Unbreak 'revert-buffer' in Occur buffers

	* lisp/replace.el (occur-revert-function): Use the value of
	occur-revert-function from the correct buffer.  (Bug#32987)

	* test/lisp/replace-tests.el (replace-occur-revert-bug32543)
	(replace-occur-revert-bug32987): New tests.

2018-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/timeclock.el: Use lexical-binding

	Require cl-lib.  Remove redundant :group args.
	(timeclock-status-string): Avoid 'setq'.
	(timeclock-ask-for-project, timeclock-ask-for-reason):
	Completionu tables can be simple lists of strings.
	(timeclock-read-moment): Doesn't deserve to be defsubst (most of the
	others don't either, admittedly).
	(timeclock-entry): New type.
	(timeclock-entry-begin, timeclock-entry-end, timeclock-entry-project)
	(timeclock-entry-comment): Define via 'cl-defstruct'.
	(timeclock-entry-list-projects, timeclock-day-list-projects):
	Avoid add-to-list on lexical vars.
	(timeclock-day-list): Use 'push'.
	(timeclock-log-data): Use 'pcase'.
	(timeclock-mean): Simplify.
	(timeclock-generate-report): Use dotimes.

2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-10-05 explicit_bzero: make it possible to namespace
	2018-10-04 fcntl: make it possible to namespace
	2018-10-01 mkostemp, mkostemps: fix C++ compilation on Mac OS X
	2018-09-19 maint: mktime.c now shared with glibc
	2018-09-18 file-has-acl: fix test failure on Cygwin 2.9
	2018-09-18 gettime: nanotime never existed
	* admin/merge-gnulib (AVOIDED_MODULES): Add mkdir.
	* doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
	* lib/acl_entries.c, lib/explicit_bzero.c, lib/fcntl.c:
	* lib/get-permissions.c, lib/gettime.c, lib/mktime.c:
	* lib/set-permissions.c, lib/stdlib.in.h, m4/acl.m4, m4/gettime.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2018-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/ntlm.el: Use lexical-binding

	(ntlm-string-as-unibyte): Remove.
	(ntlm-build-auth-response): Use encode-coding-string instead.
	(ntlm-build-auth-request, ntlm-build-auth-response, ntlm-ascii2unicode)
	(ntlm-smb-owf-encrypt, ntlm-smb-hash, ntlm-smb-dohash, ntlm-md4hash):
	Use fewer setq more Lisp-style.

2018-10-08  Charles A. Roelli  <charles@aurox.ch>

	New hook 'vc-retrieve-tag-hook' (Bug#32754)

	* etc/NEWS: Mention the new variable.

	* lisp/vc/vc.el (vc-retrieve-tag-hook): New hook.
	(vc-retrieve-tag): Run the new hook and update its
	documentation string.

2018-10-07  Eli Zaretskii  <eliz@gnu.org>

	Fix MinGW compilation problem in timefns.c

	* src/timefns.c (lisp_to_timespec): Fix a mismatch between
	time_t and timespec.tv_sec data types.

2018-10-07  Paul Eggert  <eggert@cs.ucla.edu>

	* src/scroll.c (calculate_scrolling): Remove casts.

2018-10-07  Scott Corley  <scott@scorley.com>  (tiny change)

	Fix overflow lockup with frames > 255 lines

	* src/scroll.c (struct matrix_elt): Change unsigned char fields to
	int to handle frames with more than 255 lines (Bug#32951).

2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	Improvements on (TICKS . HZ)

	This patch is in response to Eli's review (Bug#32902#10).
	* src/systime.h: Doc strings of affected functions now refer
	to format-time-string instead of to Lisp manual, and
	format-time-string's doc string covers time values.
	* test/src/timefns-tests.el (format-time-string-with-zone):
	Check decode-time too.
	(decode-then-encode-time, time-arith-tests): New tests.

2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	New (TICKS . HZ) timestamp format

	This follows on a suggestion by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00991.html
	(Bug#32902).
	* doc/lispref/buffers.texi (Modification Time):
	* doc/lispref/os.texi (Processor Run Time, Time Calculations)
	* doc/lispref/processes.texi (System Processes):
	* doc/lispref/text.texi (Undo):
	Let the "Time of Day" section cover timestamp format details.
	* doc/lispref/os.texi (Time of Day):
	Say that timestamp internal format should not be assumed.
	Document new (ticks . hz) format.  Omit mention of seconds-to-time
	since it is now just an alias for encode-time.
	(Time Conversion): Document encode-time extension.
	* etc/NEWS: Mention changes.
	* lisp/calendar/cal-dst.el (calendar-system-time-basis): Now const.
	* lisp/calendar/cal-dst.el (calendar-absolute-from-time)
	(calendar-time-from-absolute)
	(calendar-next-time-zone-transition):
	* lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
	Simplify by using bignums, (TICKS . HZ), and new encode-time.
	* lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
	Simplify by using bignums and new encode-time.
	* lisp/calendar/parse-time.el (parse-iso8601-time-string):
	Handle DST more accurately, by using new encode-time.
	* lisp/calendar/time-date.el (seconds-to-time):
	* lisp/calendar/timeclock.el (timeclock-seconds-to-time):
	Now just an alias for encode-time.
	* lisp/calendar/time-date.el (days-to-time):
	* lisp/emacs-lisp/timer.el (timer--time-setter):
	* lisp/net/ntlm.el (ntlm-compute-timestamp):
	* lisp/obsolete/vc-arch.el (vc-arch-add-tagline):
	* lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36):
	* lisp/tar-mode.el (tar-octal-time):
	Don't assume timestamps default to list form.
	* lisp/tar-mode.el (tar-parse-octal-long-integer):
	Now an obsolete alias for tar-parse-octal-integer.
	* src/keyboard.c (decode_timer): Adjust to changes to
	time decoding functions elsewhere.
	* src/timefns.c: Include bignum.h, limits.h.
	(FASTER_TIMEFNS): New macro.
	(WARN_OBSOLETE_TIMESTAMPS, CURRENT_TIME_LIST)
	(timespec_hz, trillion, ztrillion):
	New constants.
	(make_timeval): Use TIME_T_MAX instead of its definiens.
	(check_time_validity, time_add, time_subtract):
	Remove.  All uses removed.
	(disassemble_lisp_time): Remove; old code now folded into
	decode_lisp_time.  All callers changed.
	(invalid_hz, s_ns_to_double, ticks_hz_list4, mpz_set_time)
	(timespec_mpz, timespec_ticks, time_hz_ticks)
	(lisp_time_hz_ticks, lisp_time_seconds)
	(time_form_stamp, lisp_time_form_stamp, decode_ticks_hz)
	(decode_lisp_time, mpz_time, list4_to_timespec):
	New functions.
	(decode_float_time, decode_time_components, lisp_to_timespec):
	Adjust to new struct lisp_time, which does not lose
	information like the old one did.
	(enum timeform): New enum.
	(decode_time_components): New arg FORM.  All callers changed.
	RESULT and DRESULT are now mutually exclusive; no callers need
	to change because of this.
	(decode_time_components, lisp_time_struct)
	(lisp_seconds_argument, time_arith, make_lisp_time, Ffloat_time)
	(Fencode_time):
	Add support for (TICKS . HZ) form.
	(DECODE_SECS_ONLY): New constant.
	(lisp_time_struct): 2nd arg is now enum timeform, not int.
	All callers changed.
	(check_tm_member): Support bignums.m
	(Fencode_time): Add new two-arg functionality.
	* src/systime.h (struct lisp_time): Now ticks+hz rather than
	hi+lo+us+ps, since ticks+hz does not lose info.
	* test/lisp/time-stamp-tests.el (time-equal-p-nil-nil):
	New test.

2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	Export converting mpz to [u]intmax

	This refactoring will help improve timestamp handling later
	(Bug#32902).
	* src/bignum.c (mpz_set_uintmax): Move to bignum.h,
	and make inline.
	(mpz_set_uintmax_slow): Now extern.
	(mpz_to_intmax, mpz_to_uintmax): New functions, with
	implementation taken from the old bignum_to_intmax
	and bignum_to_uintmax.
	(bignum_to_intmax, bignum_to_uintmax): Use them.

2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	Coalesce duplicate make_lisp_timeval etc.

	* src/sysdep.c (timeval_to_timespec, make_lisp_timeval):
	Coalesce duplicate definitions (Bug#32902).

2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	Move timestamp-related stuff to timefns.c

	This does not change behavior; it’s just long-overdue
	refactoring (Bug#32902).
	* src/emacs.c (main): Call init_timefns, syms_of_timefns.
	* src/timefns.c: New file, containing timestamp-related stuff
	from editfns.c and sysdep.c.
	* src/Makefile.in (base_obj): Add timefns.o.
	* src/editfns.c: Simplify by moving a big chunk to timefns.c.
	Do not include systime.h, sys/resource.h, sys/param.h,
	strftime.h, coding.h.
	(HAVE_TZALLOC_BUG, TM_YEAR_BASE, HAVE_TM_GMTOFF, tzeqlen)
	(local_tz, utc_tz, emacs_localtime_rz, emacs_mktime_z)
	(invalid_time_zone_specification, xtzfree, tzlookup)
	(TIME_T_MIN, TIME_T_MAX, time_overflow, invalid_time)
	(check_time_validity, hi_time, lo_time, Fcurrent_time)
	(time_add, time_subtract, time_arith, Ftime_add)
	(Ftime_subtract, Ftime_less_p, Fget_internal_run_time)
	(make_lisp_time, disassemble_lisp_time, decode_float_time)
	(lisp_to_timespec, lisp_time_struct, lisp_time_argument)
	(lisp_seconds_argument, Ffloat_time, emacs_nmemftime)
	(Fformat_time_string, format_time_string, Fdecode_time)
	(check_tm_member, Fencode_time, Fcurrent_time_string)
	(tm_gmtoff, Fcurrent_time_zone, Fset_time_zone_rule)
	(emacs_getenv_TZ, emacs_setenv_TZ): Move to timefns.c.
	* src/emacs.c (main): Adjust to initialization changes.
	* src/sysdep.c: Include <sys/resource.h> if it's present.
	Regularize includes a bit.
	(Fget_internal_run_time): Move here from editfns.c.
	(init_timefns, syms_of_timefns): New functions.
	* src/w32.h (w32_get_internal_run_time): Move decl here
	so that it need not be cloned.
	* test/src/editfns-tests.el:
	* test/src/editfns-tests.el (format-time-string-with-zone)
	(format-time-string-with-outlandish-zone)
	(editfns-tests--have-leap-seconds)
	(format-time-string-with-bignum-on-32-bit):
	Move to ...
	* test/src/timefns-tests.el: ... this new file.

2018-10-04  Michael Albinus  <michael.albinus@gmx.de>

	Some reaarangements in tramp*.texi

	* doc/misc/trampver.texi (trampfn): Change check for definition of macro.
	(tramp-bug-report-address): New variable.

	* doc/misc/tramp.texi (Top, Bug Reports): Use it.

2018-10-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix emacs_re_safe_alloca calculation

	Problem and draft fix noted by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2018-10/msg00022.html
	* src/emacs.c (main): Fix arithmetic used in calculation
	of emacs_re_safe_alloca.

2018-10-03  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (uninstall): Remove some stray icon files.

2018-10-03  Glenn Morris  <rgm@gnu.org>

	Tweak Makefile emacs-module.h handling

	* Makefile.in (install-arch-indep, uninstall): Respect DESTDIR.
	Handle whitespace.  Remove non-portable mkdir argument.

2018-10-03  Philipp Stephani  <phst@google.com>

	Install emacs-module.h (Bug#31929)

	* Makefile.in (includedir): New variable.
	(install-arch-indep): Install emacs-module.h.
	(uninstall): Uninstall emacs-module.h.

2018-10-03  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/trampver.texi (trampfn): Call `unmacro' prior defining

	* doc/misc/trampver.texi (trampfn): Call `unmacro' prior
	defining.  trampver.texi is included several times; it raises an
	error otherwise.

2018-10-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	ea77c65 Revert "Temporary workaround for bug #32848 for branch emacs-26"
	2c8ea46 Revert "* etc/NEWS: Note setting make-cursor-line-fully-visib...
	f8df6f2 * etc/NEWS: Note setting make-cursor-line-fully-visible to ni...
	cdca208 Fix note about interactive advice (Bug#32905)
	508c40e Comple fix for Bug#32550

2018-10-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	9c028d6 * lisp/savehist.el (savehist-mode): Doc fix.  (Bug#32889)
	3a2b5a7 ; * lisp/bindings.el (bindings--define-key): Doc fix.  (Bug#3...
	6a7a869 Org manual: Rewrite the Org Mobile section

	# Conflicts:
	#	lisp/savehist.el

2018-10-03  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	7296b6f Improve cl-do, cl-do* docstrings
	d416109 Avoid returning early in 'while-no-input' due to subprocesses
	e8a4d94 Cleanup when opening a new terminal fails. (Bug#32794)

	# Conflicts:
	#	etc/NEWS

2018-10-03  Alan Mackenzie  <acm@muc.de>

	Put follow-mode's engine on pre-redisplay-hook instead of post-command-hook

	This fixes bug #32874.

	* lisp/follow.el (follow-mode): Put follow-pre-redisplay-function onto
	pre-redisplay-function instead of putting follow-post-command-hook onto
	post-command-hook.  Amend the removal operation analogously.
	(follow-pre-redisplay-function): New function.

2018-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/autoload.el (autoload-ignored-definitions): New var

	(autoload-generate-file-autoloads): Use it.

2018-10-02  Michael Albinus  <michael.albinus@gmx.de>

	Rearrangements in tramp*.texi

	* doc/misc/trampver.texi (trampfn): New macro, taken from tramp.texi.

	* doc/misc/tramp.texi (trampfn): Moved to trampver.texi.
	(Top): Add sections `System Requirement' and `Basic Installation'.

2018-10-01  Charles A. Roelli  <charles@aurox.ch>

	* lisp/vc/vc.el (vc-checkin): Simplify 'run-hook' call.

2018-10-01  Michael Albinus  <michael.albinus@gmx.de>

	Use `float-time' in tramp-sh.el where needed

	* lisp/net/tramp-sh.el (tramp-sh-handle-verify-visited-file-modtime):
	Use `float-time'.

2018-10-01  Michael Albinus  <michael.albinus@gmx.de>

	Minor edits in tramp.texi

	* doc/misc/tramp.texi (Password handling): Say "user option".
	(Remote shell setup): Say "environment variable".
	(External packages): Add `non-essential' to variable index.

2018-09-30  Michael R. Mauger  <michael@mauger.com>

	Automate support for `sql-indent' ELPA package

	* lisp/progmodes/sql.el (sql-use-indent-support): New variable.
	(sql-is-indent-available): New function.
	(sql-indent-enable): Use above.
	(sql-mode-hook, sql-interactive-mode-hook): Add `sql-indent-enable'.

2018-09-30  Charles A. Roelli  <charles@aurox.ch>

	* doc/emacs/help.texi (Misc Help): Document 'info-other-window'.

2018-09-30  Sam Steingold  <sds@gnu.org>

	Document 2d54710c36: vc-git-stash & *vc-dir*

2018-09-30  Eli Zaretskii  <eliz@gnu.org>

	Allow 'make-cursor-line-fully-visible' name a function

	* src/xdisp.c (cursor_row_fully_visible_p): Handle the case of
	make-cursor-line-fully-visible being a function.  Accept a 3rd
	argument; if non-zero, assume the caller already tested the
	conditions for the cursor being fully-visible, and don't
	recheck them.  All callers changed.
	(try_cursor_movement, try_window_id): Call
	cursor_row_fully_visible_p instead of testing the value of
	make-cursor-line-fully-visible directly.
	(syms_of_xdisp) <make-cursor-line-fully-visible>: Update the
	doc string.  Define a symbol Qmake_cursor_line_fully_visible.
	(Bug#32848)

	* lisp/cus-start.el (standard): Update the Custom form.

	* etc/NEWS: Mention the change in possible values of
	'make-cursor-line-fully-visible'.

2018-09-29  Alan Third  <alan@idiocy.org>

	Merge from origin/emacs-26

	9ad0f1d15c Fix deprecation warning
	7946445962 Make all NS drawing be done from drawRect
	41fa88b99b ; Fix some doc typos

2018-09-29  Michael Albinus  <michael.albinus@gmx.de>

	Rework time-* functions in Tramp

	* doc/misc/emacs-mime.texi (time-date): Add time-equal-p.

	* lisp/net/tramp-compat.el (tramp-compat-time-equal-p): New defsubst.

	* lisp/net/tramp.el (tramp-file-name-handler): Remove `debug'
	error handler.
	(tramp-half-a-year): Remove.
	(tramp-time-dont-know, tramp-time-doesnt-exist): New defconst.
	(tramp-time-diff): Remove compat code.
	(tramp-handle-set-visited-file-modtime)
	(tramp-handle-verify-visited-file-modtime):
	* lisp/net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls)
	(tramp-adb-handle-set-file-times):
	* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
	(tramp-sh-handle-set-visited-file-modtime)
	(tramp-sh-handle-verify-visited-file-modtime)
	(tramp-sh-handle-set-file-times)
	(tramp-sh-handle-file-newer-than-file-p):
	Use `tramp-time-dont-know', `tramp-time-doesnt-exist' and
	`tramp-compat-time-equal-p'.
	(tramp-sh-handle-verify-visited-file-modtime): Simplify check.

	* lisp/net/tramp-smb.el (tramp-smb-handle-file-attributes)
	(tramp-smb-read-file-entry): Use `tramp-time-dont-know'.
	(tramp-smb-handle-insert-directory): Adapt half-a-year check.

	* src/editfns.c (Ftime_equal_p): Adapt docstring.

	* test/lisp/net/tramp-tests.el
	(tramp-test19-directory-files-and-attributes)
	(tramp-test22-file-times): Use `tramp-compat-time-equal-p' and
	`tramp-time-dont-know'.
	(tramp-test23-visited-file-modtime): Extend test.

2018-09-29  Michael Albinus  <michael.albinus@gmx.de>

	Fix minor problem in tramp-handle-substitute-in-file-name

	* lisp/net/tramp.el (tramp-handle-substitute-in-file-name):
	Suppress cygwin-mount file name handlers.

2018-09-29  Michael Albinus  <michael.albinus@gmx.de>

	Finish fix for Bug#21559

	* lisp/vc/vc-git.el (vc-git--call):
	If `revert-buffer-in-progress-p' flag is set, prepend
	"GIT_OPTIONAL_LOCKS=0" to "process-environment".  (Bug#21559)

2018-09-29  Tino Calancha  <tino.calancha@gmail.com>
	    Noam Postavsky  <npostavs@gmail.com>

	Ibuffer filter by modes: Accept several mode names

	Extend all mode filters so that they handle >1 mode.
	For instance, if the users want to filter all buffers in
	C or C++ mode, then they can call the filter interactively
	with input: 'c-mode,c++-mode' (Bug#32731).

	* lisp/ibuf-macs.el(define-ibuffer-filter): Add key :accept-list.
	If the value of this key is non-nil, then the filter accepts
	either a single qualifier or a list of them; in the latter case,
	the resultant filter is the `or' composition of the individual ones.

	* lisp/ibuf-ext.el (ibuffer-filter-by-used-mode)
	(ibuffer-filter-by-mode, ibuffer-filter-by-derived-mode)
	Set :accept-list value non-nil.
	Interactively, accept a comma separated list of mode names.

	* etc/NEWS(Ibuffer): Announce this change.

2018-09-29  Allen Li  <darkfeline@felesatra.moe>

	Avoid writing empty abbrev tables

	Fixes bug#29923

	'insert-abbrev-table-description' with a non-nil READABLE inserts Lisp
	forms suitable for evaluation to restore the defined abbrevs.  We
	don't have to insert a form for tables that do not have any abbrevs.

	To implement this, we need to filter out system abbrevs before
	checking if a table is empty, because system abbrevs were previously
	skipped in the 'abbrev--write' call, at which point we would already
	have started inserting the beginning of a table definition form.

	* lisp/abbrev.el (insert-abbrev-table-description):
	Skip inserting empty tables when READABLE is non-nil.
	Clarify behavior in documentation string.
	(abbrev--write): Remove system abbrev check.

	* doc/lispref/abbrevs.texi (Abbrev Tables): Document behavior
	with empty tables.

	* etc/NEWS: Mention the change in behavior of
	'insert-abbrev-table-description'.

2018-09-28  Andrew Schwartzmeyer  <andrew@schwartzmeyer.com>  (tiny change)

	Support mode aliases in 'provided-mode-derived-p'

	* lisp/subr.el (provided-mode-derived-p): Check aliases of
	MODES as well as MODES themselves.  (Bug#32795)

	* test/lisp/subr-tests.el (provided-mode-derived-p): New test.

2018-09-28  Trevor Murphy  <trevor.m.murphy@gmail.com>

	Allow user customization to affect display of *Find* buffer.

	* lisp/find-dired.el (find-dired): Use 'pop-to-buffer-same-window'
	instead of 'switch-to-buffer'.

2018-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/NEWS.18: Use outline-mode and a more standard format

	* etc/NEWS.1-17: Use outline-mode and a more standard format

2018-09-28  Paul Eggert  <eggert@cs.ucla.edu>

	Rename time-equal to time-equal-p

	This is for consistency with time-less-p.
	* doc/lispref/os.texi (Time Calculations), etc/NEWS:
	* src/editfns.c (Ftime_equal_p, syms_of_editfns):
	* test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
	Rename.

2018-09-28  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	1908173 (origin/emacs-26) Fix Bug#32828
	7f5086d * lisp/net/shr.el (shr-copy-url): Fix docstring.
	d309994 Fix typos in documentation
	25cdd65 ; Spellcheck two more documentation strings
	c8bda05 ; * lisp/simple.el (save-interprogram-paste-before-kill): Fix...
	dc7fdee * doc/emacs/kmacro.texi (Basic Keyboard Macro): Mention old b...
	17766a1 Improve docs of functions/variables related to 'display-buffer'
	a363931 * lisp/mouse.el (tear-off-window): Fix non-mouse use (bug#32799)
	8b8a4c0 Improve documentation of directory-local variables
	c9c9756 Don't use obsolete variable 'save-place' in documentation
	ca208e8 Use save-place-mode instead of save-place

2018-09-28  Sam Steingold  <sds@gnu.org>

	lisp/vc/vc-git.el (vc-git-stash): Respect vc-dir marked files

2018-09-27  Paul Eggert  <eggert@cs.ucla.edu>

	time-equal, and time values of infinity and NaN

	* doc/lispref/os.texi (Time Calculations):
	Document time-equal, and the behavior on NaNs and infinities of
	time-less-p, time-add, time-subtract.
	* etc/NEWS: Mention the change.
	* src/editfns.c (time_arith): Change last arg from function
	to bool.  All callers changed.  Do the right thing with
	infinities and NaNs.
	(time_cmp): New function, which handlesx infinities and NaNs.
	(Ftime_less_p): Use it.
	(Ftime_equal): New function.
	* test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
	Use it.

2018-09-26  Juri Linkov  <juri@linkov.net>

	* etc/NEWS: Mention syntax change in add-dir-local-variable (bug#32817)

2018-09-26  Charles A. Roelli  <charles@aurox.ch>

	* lisp/vc-bzr.el (log-view-current-tag-function): Remove unused defvar.

2018-09-26  Alan Mackenzie  <acm@muc.de>

	CC Mode: consider tails of compound identifiers when seeking found types.

	* lisp/progmodes/cc-engine.el (c-forward-over-token): New function, extracted
	from ...
	(c-forward-over-token-and-ws): Refactor to use the above.
	(c-forward-type): Use c-check-qualified-type in place of c-check-type
	(twice).
	(c-forward-over-compound-identifier): New function.
	(c-check-qualified-type): New function.

2018-09-25  Juri Linkov  <juri@linkov.net>

	Rename add-dir-local-variables-to-string to dir-locals-to-string (bug#32817)

2018-09-24  Paul Eggert  <eggert@cs.ucla.edu>

	Remove some assumptions about timestamp format

	These changes remove some assumptions of Lisp code on timestamp
	format.  Although we’re not going to change the default format any
	time soon, I went looking for code that was too intimate about
	details of timestamp format and removed assumptions where this was
	easy to do with current Emacs primitives.
	* lisp/ido.el (ido-wash-history):
	Fix test for zero timestamp.
	* lisp/time.el (display-time-event-handler):
	Use time-less-p rather than doing it by hand.
	(display-time-update): Simplify by using float-time
	instead of doing the equivalent by hand.
	* lisp/url/url-auth.el (url-digest-auth-make-cnonce):
	* test/lisp/calendar/parse-time-tests.el (parse-time-tests):
	* test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
	* test/lisp/net/tramp-tests.el:
	(tramp-test19-directory-files-and-attributes)
	(tramp-test22-file-times, tramp-test23-visited-file-modtime):
	Don’t assume detailed format of returned Lisp timestamps.

2018-09-24  Juri Linkov  <juri@linkov.net>

	Output alists with dotted pair notation in .dir-locals.el

	* lisp/files-x.el (add-dir-local-variables-to-string): New function.
	(modify-dir-local-variable): Use it.  (Bug#32817)

2018-09-24  Paul Eggert  <eggert@cs.ucla.edu>

	Fix ‘make clean’ with a file named ‘-.o’

	Problem reported by T.V Raman in:
	https://lists.gnu.org/r/emacs-devel/2018-09/msg00866.html
	* Makefile.in (clean, extraclean):
	* doc/emacs/Makefile.in (mostlyclean):
	* doc/lispintro/Makefile.in (mostlyclean):
	* doc/lispref/Makefile.in (mostlyclean):
	* doc/misc/Makefile.in (mostlyclean, clean):
	* etc/refcards/Makefile (clean):
	* lib-src/Makefile.in (mostlyclean, extraclean):
	* lib/Makefile.in (clean):
	* lwlib/Makefile.in (clean mostlyclean):
	* oldXMenu/Makefile.in (clean mostlyclean):
	* src/Makefile.in (mostlyclean, extraclean):
	* test/Makefile.in (mostlyclean):
	Say ‘rm ./*.o’ instead of ‘rm *.o’ to avoid undesirable failure
	when a file name begins with ‘-’.

2018-09-23  Paul Eggert  <eggert@cs.ucla.edu>

	file-attributes cleanup

	Mostly, this replaces magic-number calls like (nth 4 A) with
	more-informative calls like (file-attribute-access-time A).
	It also fixes some documentation and minor timestamp coding
	issues that I noticed while looking into this.
	* doc/lispref/files.texi (File Attributes):
	* lisp/files.el (file-attribute-size)
	(file-attribute-inode-number, file-attribute-device-number):
	* src/dired.c (Fdirectory_files_and_attributes)
	(Ffile_attributes):
	Mention which attributes must be integers, or nonnegative integers,
	as opposed to merely being numbers.  Remove no-longer-correct
	talk about representing large integers as conses of integers.
	* doc/lispref/files.texi (Magic File Names):
	* doc/misc/gnus.texi (Low-level interface to the spam-stat dictionary):
	* lisp/autorevert.el (auto-revert-find-file-function)
	(auto-revert-tail-mode, auto-revert-handler):
	* lisp/auth-source.el (auth-source-netrc-parse):
	* lisp/cedet/ede/files.el (ede--inode-for-dir):
	* lisp/cedet/semantic/db-file.el (object-write):
	* lisp/cedet/semantic/db-mode.el (semanticdb-kill-hook):
	* lisp/cedet/semantic/db.el (semanticdb-needs-refresh-p)
	(semanticdb-synchronize):
	* lisp/cedet/srecode/table.el (srecode-mode-table-new):
	* lisp/desktop.el (desktop-save, desktop-read):
	* lisp/dired-aux.el (dired-file-set-difference)
	(dired-do-chxxx, dired-do-chmod, dired-copy-file-recursive)
	(dired-create-files):
	* lisp/dired.el (dired-directory-changed-p, dired-readin):
	* lisp/dos-w32.el (w32-direct-print-region-helper):
	* lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads)
	(autoload-find-destination, update-directory-autoloads):
	* lisp/emacs-lisp/shadow.el (load-path-shadows-same-file-or-nonexistent):
	* lisp/epg.el (epg--start, epg-wait-for-completion):
	* lisp/eshell/em-ls.el (eshell-ls-filetype-p)
	(eshell-ls-applicable, eshell-ls-size-string)
	(eshell-ls-file, eshell-ls-dir, eshell-ls-files)
	(eshell-ls-entries):
	* lisp/eshell/em-pred.el (eshell-predicate-alist)
	(eshell-pred-file-type, eshell-pred-file-links)
	(eshell-pred-file-size):
	* lisp/eshell/em-unix.el (eshell-shuffle-files, eshell/cat)
	(eshell-du-sum-directory, eshell/du):
	* lisp/eshell/esh-util.el (eshell-read-passwd)
	(eshell-read-hosts):
	* lisp/files.el (remote-file-name-inhibit-cache)
	(find-file-noselect, insert-file-1, dir-locals-find-file)
	(dir-locals-read-from-dir, backup-buffer)
	(file-ownership-preserved-p, copy-directory)
	(read-file-modes):
	* lisp/find-lisp.el (find-lisp-format):
	* lisp/gnus/gnus-agent.el (gnus-agent-unfetch-articles)
	(gnus-agent-read-agentview, gnus-agent-expire-group-1)
	(gnus-agent-request-article, gnus-agent-regenerate-group)
	(gnus-agent-update-files-total-fetched-for)
	(gnus-agent-update-view-total-fetched-for):
	* lisp/gnus/gnus-cache.el (gnus-cache-read-active)
	(gnus-cache-update-file-total-fetched-for)
	(gnus-cache-update-overview-total-fetched-for):
	* lisp/gnus/gnus-cloud.el (gnus-cloud-file-new-p):
	* lisp/gnus/gnus-score.el (gnus-score-score-files):
	* lisp/gnus/gnus-start.el (gnus-save-newsrc-file)
	(gnus-master-read-slave-newsrc):
	* lisp/gnus/gnus-sum.el (gnus-summary-import-article):
	* lisp/gnus/gnus-util.el (gnus-file-newer-than)
	(gnus-cache-file-contents):
	* lisp/gnus/mail-source.el (mail-source-delete-old-incoming)
	(mail-source-callback, mail-source-movemail):
	* lisp/gnus/nneething.el (nneething-create-mapping)
	(nneething-make-head):
	* lisp/gnus/nnfolder.el (nnfolder-read-folder):
	* lisp/gnus/nnheader.el (nnheader-file-size)
	(nnheader-insert-nov-file):
	* lisp/gnus/nnmail.el (nnmail-activate):
	* lisp/gnus/nnmaildir.el (nnmaildir--group-maxnum)
	(nnmaildir--new-number, nnmaildir--update-nov)
	(nnmaildir--scan, nnmaildir-request-scan)
	(nnmaildir-request-update-info)
	(nnmaildir-request-expire-articles):
	* lisp/gnus/nnmh.el (nnmh-request-list-1)
	(nnmh-request-expire-articles, nnmh-update-gnus-unreads):
	* lisp/gnus/nnml.el (nnml-request-expire-articles):
	* lisp/gnus/spam-stat.el (spam-stat-save, spam-stat-load)
	(spam-stat-process-directory, spam-stat-test-directory):
	* lisp/ido.el (ido-directory-too-big-p)
	(ido-file-name-all-completions):
	* lisp/image-dired.el (image-dired-get-thumbnail-image)
	(image-dired-create-thumb-1):
	* lisp/info.el (info-insert-file-contents):
	* lisp/ls-lisp.el (ls-lisp-insert-directory)
	(ls-lisp-handle-switches, ls-lisp-classify-file)
	(ls-lisp-format):
	* lisp/mail/blessmail.el:
	* lisp/mail/feedmail.el (feedmail-default-date-generator)
	(feedmail-default-message-id-generator):
	* lisp/mail/mailabbrev.el (mail-abbrevs-sync-aliases)
	(mail-abbrevs-setup):
	* lisp/mail/mspools.el (mspools-size-folder):
	* lisp/mail/rmail.el (rmail-insert-inbox-text):
	* lisp/mail/sendmail.el (sendmail-sync-aliases):
	* lisp/mh-e/mh-alias.el (mh-alias-tstamp):
	* lisp/net/ange-ftp.el (ange-ftp-parse-netrc)
	(ange-ftp-write-region, ange-ftp-file-newer-than-file-p)
	(ange-ftp-cf1):
	* lisp/net/eudcb-mab.el (eudc-mab-query-internal):
	* lisp/net/eww.el (eww-read-bookmarks):
	* lisp/net/netrc.el (netrc-parse):
	* lisp/net/newst-backend.el (newsticker--image-get):
	* lisp/nxml/rng-loc.el (rng-get-parsed-schema-locating-file):
	* lisp/obsolete/fast-lock.el (fast-lock-save-cache):
	* lisp/obsolete/vc-arch.el (vc-arch-state)
	(vc-arch-diff3-rej-p):
	* lisp/org/ob-eval.el (org-babel--shell-command-on-region):
	* lisp/org/org-attach.el (org-attach-commit):
	* lisp/org/org-macro.el (org-macro-initialize-templates):
	* lisp/org/org.el (org-babel-load-file)
	(org-file-newer-than-p):
	* lisp/org/ox-html.el (org-html-format-spec):
	* lisp/org/ox-publish.el (org-publish-find-date)
	(org-publish-cache-ctime-of-src):
	* lisp/pcmpl-gnu.el (pcomplete/tar):
	* lisp/pcmpl-rpm.el (pcmpl-rpm-packages):
	* lisp/play/cookie1.el (cookie-snarf):
	* lisp/progmodes/cmacexp.el (c-macro-expansion):
	* lisp/ps-bdf.el (bdf-file-mod-time):
	* lisp/server.el (server-ensure-safe-dir):
	* lisp/simple.el (shell-command-on-region):
	* lisp/speedbar.el (speedbar-item-info-file-helper)
	(speedbar-check-obj-this-line):
	* lisp/thumbs.el (thumbs-cleanup-thumbsdir):
	* lisp/time.el (display-time-mail-check-directory)
	(display-time-file-nonempty-p):
	* lisp/url/url-cache.el (url-is-cached):
	* lisp/url/url-file.el (url-file-asynch-callback):
	* lisp/vc/diff-mode.el (diff-delete-if-empty):
	* lisp/vc/pcvs-info.el (cvs-fileinfo-from-entries):
	* lisp/vc/vc-bzr.el (vc-bzr-state-heuristic):
	* lisp/vc/vc-cvs.el (vc-cvs-checkout-model)
	(vc-cvs-state-heuristic, vc-cvs-merge-news)
	(vc-cvs-retrieve-tag, vc-cvs-parse-status, vc-cvs-parse-entry):
	* lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1)
	(vc-hg--ignore-patterns-valid-p)
	(vc-hg--cached-dirstate-search, vc-hg-state-fast):
	* lisp/vc/vc-hooks.el (vc-after-save):
	* lisp/vc/vc-rcs.el (vc-rcs-workfile-is-newer):
	* lisp/vc/vc-svn.el (vc-svn-merge-news, vc-svn-parse-status):
	* lisp/vc/vc.el (vc-checkout, vc-checkin, vc-revert-file):
	* lisp/xdg.el (xdg-mime-apps):
	Prefer (file-attribute-size A) to (nth 7 A), and similarly
	for other file attributes accessors.
	* doc/lispref/files.texi (File Attributes):
	* doc/lispref/intro.texi (Version Info):
	* doc/lispref/os.texi (Idle Timers):
	* lisp/erc/erc.el (erc-string-to-emacs-time):
	* lisp/files.el (file-attribute-access-time)
	(file-attribute-modification-time)
	(file-attribute-status-change-time):
	* lisp/net/tramp-compat.el:
	(tramp-compat-file-attribute-modification-time)
	(tramp-compat-file-attribute-size):
	* src/buffer.c (syms_of_buffer):
	* src/editfns.c (Fget_internal_run_time):
	* src/fileio.c (Fvisited_file_modtime)
	(Fset_visited_file_modtime):
	* src/keyboard.c (Fcurrent_idle_time):
	* src/process.c (Fprocess_attributes):
	Defer implementation details about timestamp format to the
	section that talks about timestamp format, to make it easier
	to change the documentation later if timestamp formats are
	extended.
	* lisp/gnus/gnus-util.el (gnus-file-newer-than):
	* lisp/speedbar.el (speedbar-check-obj-this-line):
	* lisp/vc/vc-rcs.el (vc-rcs-workfile-is-newer):
	Prefer time-less-p to doing it by hand.
	* lisp/ls-lisp.el (ls-lisp-format): Inode numbers are no longer conses.
	* lisp/vc/vc-bzr.el (vc-bzr-state-heuristic):
	Use eql, not eq, to compare integers that might be bignums.
	* lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
	Prefer float-time to doing time arithmetic by hand.

2018-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/emacs/maintaining.texi: Fix one more occurrence of `next-file`

2018-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/play/bubbles.el: Use lexical-binding

2018-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	Round bignums consistently with other integers

	* src/bignum.c (mpz_bufsize): New function.
	(bignum_bufsize): Use it.
	(mpz_get_d_rounded): New function.
	(bignum_to_double): Use it.
	* src/bignum.c (bignum_to_double):
	* src/data.c (bignum_arith_driver):
	When converting bignums to double, round instead of
	truncating, to be consistent with what happens with fixnums.
	* test/src/floatfns-tests.el (bignum-to-float): Test rounding.

2018-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	Complement to last commit

2018-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/multifile.el: New file, extracted from etags.el

	The main motivation for this change was the introduction of
	project-query-replace.  dired's multi-file query&replace was implemented
	on top of etags.el even though it did not use TAGS in any way, so I moved
	this generic multifile code into its own package, with a nicer interface,
	and then used that in project.el.

	* lisp/progmodes/project.el (project-files): New generic function.
	(project-search, project-query-replace): New commands.

	* lisp/dired-aux.el (dired-do-search, dired-do-query-replace-regexp):
	Use multifile.el instead of etags.el.

	* lisp/progmodes/etags.el: Remove redundant :groups.
	(next-file-list): Remove var.
	(tags-loop-revert-buffers): Make it an obsolete alias.
	(next-file): Don't autoload (it can't do anything useful before some
	other etags.el function setup the multifile operation).
	(tags--all-files): New function, extracted from next-file.
	(tags-next-file): Rename from next-file.
	Rewrite using tags--all-files and multifile-next-file.
	(next-file): Keep it as an obsolete alias.
	(tags-loop-operate, tags-loop-scan): Mark as obsolete.
	(tags--compat-files, tags--compat-initialize): New function.
	(tags-loop-continue): Rewrite using multifile-continue.  Mark as obsolete.
	(tags--last-search-operate-function): New var.
	(tags-search, tags-query-replace): Rewrite using multifile.el.

	* lisp/emacs-lisp/generator.el (iter-end-of-sequence): Use 'define-error'.
	(iter-make): New macro.
	(iter-empty): New iterator.

	* lisp/menu-bar.el (menu-bar-search-menu, menu-bar-replace-menu):
	tags-loop-continue -> multifile-continue.

2018-09-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix (+ bignum float) bug

	* src/data.c (bignum_arith_driver): Fix typo: missing ‘return’.
	* test/src/data-tests.el (data-tests-bignum): Test for the typo.

2018-09-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix ambiguity in nil DST flag

	Formerly nil meant both that DST was not in effect and that
	the DST flag was unknown, and different functions interpreted
	the flag differently.  Now the meaning is consistently nil for
	DST not in effect, and -1 for DST flag not known.
	* doc/lispref/os.texi (Time Conversion): The DST slot is
	now three-valued, not two-.
	* doc/misc/emacs-mime.texi (time-date): Adjust to new behavior.
	* etc/NEWS: Mention this.
	* lisp/calendar/parse-time.el (parse-time-string):
	* src/editfns.c (Fdecode_time):
	Return -1 for unknown DST flag.
	* test/lisp/calendar/parse-time-tests.el (parse-time-tests):
	Adjust tests to match new behavior, and add a new
	test for nil vs -1.

2018-09-21  Philipp Stephani  <phst@google.com>

	Avoid an overflow error in emacs-module.c

	* src/emacs-module.c (Fmodule_load): Allow creating a bignum
	to avoid overflow error

2018-09-21  Philipp Stephani  <phst@google.com>

	Use new function overflow_error in a few places

	* src/emacs-module.c (module_make_global_ref, module_funcall)
	(module_make_string, Fmodule_load):
	* src/json.c (json_to_lisp): Use overflow_error.

2018-09-21  Philipp Stephani  <phst@google.com>

	Support bignums when serializing JSON

	* src/json.c (lisp_to_json): Support bignums.
	* test/src/json-tests.el (json-serialize/bignum): New test.

2018-09-20  Paul Eggert  <eggert@cs.ucla.edu>

	Bindat examples in source, not manual

	* doc/lispref/processes.texi (Bindat Examples): Remove, fixing
	a FIXME in the manual.  The long example had bitrotted to some
	extent, compared to the more-up-to-date example in bindat.el
	commentary, which apparently what people were referring to
	anyway.  The short example was confusing and not that useful
	and will be obsolescent anyway if we change timestamp format.

2018-09-20  Tino Calancha  <tino.calancha@gmail.com>

	Fix a previous commit

	Suggested by Stefan Monnier here:
	https://lists.gnu.org/r/emacs-devel/2018-09/msg00783.html
	* lisp/replace.el (occur--parse-occur-buffer): Since point is at the
	beginning of the buffer, use `point'.

	(occur-revert-function): Prefer `pcase-let' and `point-min'.
	Check whether `region-start' or `region-end' are non-nil.

2018-09-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	d28d54c (origin/emacs-26) More accurate docs for 'text-char-description'
	b3baf99 Document synchronous behavior of eshell/make (Bug#32513)
	98544ea Fix bs-show with wide characters (Bug#17822)
	85af51b Improve Custom menu labels for 2 options
	72a2a36 Improve wording of last change in dired-x.texi
	d4fa83b Fix GnuTLS test suite with GnuTLS versions 3.4.x
	b5bee6b Fix build with gnutls versions 3.0 to 3.2 (Bug#32446)
	67eb80e ; * etc/enriched.txt (hanging-indents): Remove extra indent.
	c71cfb7 Fix the Bubbles game on TTY frames
	3bbf21b Add choice to reshow certificate information (Bug#31877)
	6f2c471 * src/alloc.c (Fbool_vector, Flist, Fvector): Doc tweak.
	39eecb3 * src/alloc.c (vector): Fix grammatical error in doc string: ...

2018-09-20  Bob Newell  <bobnewell@bobnewell.net>

	New input methods hawaiian-postfix and hawaiian-prefix

	* lisp/leim/quail/latin-pre.el ("hawaiian-prefix"):
	* lisp/leim/quail/latin-post.el ("hawaiian-postfix"): New
	input methods.  (Bug#32714)
	* etc/NEWS: Mention the new input methods.

2018-09-18  Tino Calancha  <tino.calancha@gmail.com>

	Fix bug 32543

	Store the region and orig line into the *Occur* header line.
	Retrieve this information in `occur-revert-function'.
	* lisp/replace.el (occur--parse-occur-buffer): New defun.
	(occur-revert-function): Use it.
	(occur-engine): Store region and original position as text properties
	into the *Occur* header line.
	* lisp/replace.el (occur-engine): Add sensible default values for
	(occur--orig-line and nlines.

2018-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/advice.el: Only use defmacro when needed

	(ad-get-advice-info): Mark it inlinable.
	(ad-get-advice-info-macro): Make it an obsolete alias.
	(ad-copy-advice-info, ad-is-advised, ad-get-advice-info-field)
	(ad-find-advice, ad-macrofy, ad-lambdafy, ad-lambda-p, ad-advice-p)
	(ad-compiled-p, ad-compiled-code, ad-get-cache-definition)
	(ad-get-cache-id, ad-set-cache): Turn macros into defsubsts.
	(ad-defadvice-flags): Make it into a plain list.
	(ad-set-advice-info-field): Apply a bit of CSE.

2018-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/advice.el (ad-advised-functions): Make it a plain list

	(ad-read-advised-function, ad-do-advised-functions): Adjust accordingly.
	(ad-pushnew-advised-function, ad-pop-advised-function): Also make them
	into functions.

2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	Move current_timespec decl to timespec.h

	This change was motivated by the desire to remove the weird
	dependency of lib-src/profile.o on src/systime.h.  profile.c
	included systime.h only for current_timespec, and this
	inclusion required systime.h to have #ifdef emacs in multiple
	places and complicated further changes I have in mind.
	The current_timespec decl belongs in timespec.h anyway,
	and the main effect of this change is to move it there.
	* lib-src/profile.c (INLINE): Remove.
	Include timespec.h, not systime.h.
	* lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
	and don’t worry about it failing on a CLOCK_REALTIME arg.
	POSIX requires it to succeed and I don’t know of any
	counterexamples where the fallbacks would work.
	(current_timespec): Move here from src/systime.h.
	Nowadays it seems to be better to not have this function
	be inline.
	* lib/timespec.h: Include arg-nonnull.h.
	(current_timespec): New declaration.
	(gettime, settime): Declare args to be nonnull.
	* lib/gettime.c, lib/timespec.h: Copy from Gnulib.
	* src/systime.h: Simplify by assuming ‘emacs’ is defined,
	which it always is now.
	(current_timespec): Move to lib/timespec.h.

2018-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/delsel.el (minibuffer-keyboard-quit): Remove old redundant code.

	The various minibuffer maps all inherit from minibuffer-local-map nowadays,
	so a single binding in it is all it takes.

2018-09-16  Noam Postavsky  <npostavs@gmail.com>

	Clarify condition-case docstring

	* src/eval.c (Fcondition_case): Note that it handles non-error symbols
	too.

2018-09-16  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)

	Update pconf for compile.el mode-line-process changes

	* lisp/cedet/ede/pconf.el (ede-proj-configure-synchronize): Check the
	first list element of mode-line-process (Bug#32564).

2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	* src/thread.h: Do not include systime.h; no longer needed.

2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t assume obsolescent setitimer function

	* src/atimer.c (start_atimer, debug_timer_callback):
	Don’t assume support for setitimer merely because struct
	itimerspec works.  POSIX no longer requires support for the
	obsolescent setitimer function.

2018-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify get_up_time on GNU/Linux

	* src/sysdep.c (get_up_time) [GNU_LINUX && HAVE_LONG_LONG_INT]:
	Omit unused locals.

2018-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	Go back to old method for nnmaildir names

	* lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article):
	Omit leading 0s after "M" in file name.
	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2018-09/msg00660.html

2018-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix icalendar tests to match new behavior

	* test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
	Do not intrude into or rely upon undocumented internal
	implementation details of icalendar--create-uid.
	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2018-09/msg00660.html

2018-09-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	e133b63 (origin/emacs-26) Avoid adverse side effects of fixing bug#21824
	cc8f334 Document changes called out in NEWS
	20ecc52 ; * etc/NEWS: Document recent change in 'thing-at-point'.
	1fc5283 ; INSTALL: Fix a typo in the last commit.
	24f240d Tiny doc updates re yum/dnf etc
	41c2d25 Remove unused variable
	1e3b3fa Fix (thing-at-point 'list) regression (Bug#31772)
	219893a Clarify meaning of '*'
	41cdda2 * etc/PROBLEMS: Document Ubuntu 16.04 issue.
	1c22f03 Increase default value for imenu-auto-rescan-maxout
	ee84389 Improve recent change to ELisp manual
	ff374e4 * doc/lispref/display.texi (SVG Images): Improve wording.
	3a0caf6 * doc/lispref/display.texi (SVG Images): Fix a typo.  (Bug#32...

	Conflicts:
		doc/lispref/lists.texi
		etc/NEWS

2018-09-15  Noam Postavsky  <npostavs@gmail.com>

	Don't call modification hooks unprepared

	Inhibit modification hooks when performing message coalescing because
	in that case, we aren't doing the necessary preparation for running
	modification hooks (i.e., we pass PREPARE=false for the insert_1_both
	and del_range_both calls).  See also Bug#30823 and Bug#21824.
	* src/xdisp.c (message_dolog): Let-bind inhibit-modification-hooks
	to t around del_range_both calls.

2018-09-15  Wenjamin Petrenko  <wenjamin.petrenko@yandex.ru>  (tiny change)

	Make 'filesets-save-config' save filesets added by 'filesets-add-buffer'

	* lisp/filesets.el (filesets-set-config): Use 'customize-set-variable'
	so that filesets are saved by 'customize-save-customized' in
	'filesets-save-config'.  (Bug#20630)

2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/idlw-shell.el: Use lexical-binding

	(idlwave-shell-source-frame): Remove unused var 'frame'.
	(idlwave-shell): Remove unused arg 'quick'.
	(idlwave-shell-complete-filename, idlwave-shell-edit-default-command-line)
	(idlwave-shell-retall, idlwave-shell-closeall): Remove unused arg 'arg'.
	(idlwave-shell-move-to-bp): Remove unused var 'got-bp'.
	(zmacs-regions): Declare.
	(idlwave-shell-update-bp-overlays): Remove unused var 'win'.
	(idlwave-shell-delete-expression-overlay)
	(idlwave-shell-mouse-nop): Delete function.  Use 'ignore' instead.
	(idlwave-shell-delete-output-overlay): Ignore 'ignore' commands rather
	than idlwave-shell-mouse-nop commands.
	(idlwave-shell-mode-map, idlwave-shell-electric-debug-mode-map):
	Move (part of) the initialization into the declaration.
	(idlwave-shell-electric-debug-mode-on-hook)
	(idlwave-shell-electric-debug-mode-off-hook): Keep them empty, move
	code into the minor mode's definition instead.
	(idlwave-shell-electric-debug-mode): Don't use advice needlessly.

2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/ada-mode.el (comment-region): Avoid defadvice

	Don't load 'advice' if it won't be used!

2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/eshell/em-dirs.el (eshell-expand-multiple-dots): Avoid defadvice.

2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/feedmail.el: Use lexical-binding

	(feedmail-queue-buffer-file-name): Improve advising example.
	(feedmail-vm-mail-mode): Improve auto-mode-alist example.
	(feedmail-queue-runner-prompt): Remove unused function.

2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/js.el (js--fill-c-advice): New function

	(c-forward-sws, c-backward-sws, c-beginning-of-macro): Use it.
	(js-fill-paragraph): Rename from js-c-fill-paragraph.

2018-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify use of timestamps

	* lisp/calendar/icalendar.el (icalendar--create-uid):
	* lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article):
	Simplify by using format-time-string.
	* lisp/gnus/nnmaildir.el (nnmaildir--scan):
	Simplify by using float-time and time-less-p.

2018-09-13  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix (floor 54043195528445955 3.0) bug

	* src/floatfns.c (rounding_driver): Fix rounding error
	that can occur when both args have values exactly
	representable as integers but at least one arg is a float.
	* test/src/floatfns-tests.el (big-round): New test.

2018-09-13  Stephen Berman  <stephen.berman@gmx.net>

	Fix wdired handling of symlinks when restoring filename property

	* lisp/wdired.el (wdired--restore-dired-filename-prop): Use
	dired-permission-flags-regexp instead of dired-filename to test
	whether the file is a symlink, since calling file-symlink-p on the
	latter may fail in wdired-mode (bug#32673).

2018-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	(viper-read-key, viper-read-key-sequence): Remove

	Ever since the time-dependent ESC handling was moved to input-decode-map,
	viper-read-key-sequence has been obsolete.  Clean up accordingly.

	* lisp/emulation/viper-keym.el: Use lexical-binding.
	(viper-overriding-map): Remove.

	* lisp/emulation/viper-macs.el: Use lexical-binding and 'read-key'.

	* lisp/emulation/viper-util.el: Use lexical-binding.
	(viper-read-key, viper-read-key-sequence): Remove.

	* lisp/emulation/viper.el (viper-non-hook-settings): Remove obsolete advice.

2018-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>

	No need to run gnus-article-highlight (bug#32706)

	* lisp/gnus/deuglify.el (gnus-outlook-display-article-buffer):
	No need to run gnus-article-highlight (bug#32706).

2018-09-12  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-git.el (vc-git-grep): Set dir to default-directory

	when it's not available (like it's implemented in lgrep/rgrep)
	to prevent error in case of `C-u C-u vc-git-grep'.

2018-09-12  Juri Linkov  <juri@linkov.net>

	* lisp/dired-x.el (dired-jump): Support archive-subfile-mode

	exactly like tar-subfile-mode is already supported.

2018-09-12  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (next-error-no-select): Set display-buffer-overriding-action

	to display-buffer-reuse-window (bug#32607).

2018-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>

	Don't highlight article if gnus-visual-p is nil (bug#32706)

	* lisp/gnus/deuglify.el (gnus-outlook-display-article-buffer):
	Don't highlight article if gnus-visual-p is nil (bug#32706).

2018-09-11  Filipp Gunbin  <fgunbin@fastmail.fm>

	Fix incorrect spelling of dabbrev-ignored-buffer-regexps in docstrings.

	* lisp/dabbrev.el (dabbrev-check-all-buffers, dabbrev-expand): Fix docstrings.

2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Minor rounding_driver simplification

	* src/floatfns.c (rounding_driver): Omit last arg, which is
	now unused.  All callers changed.

	Signal overflow-error for bignum overflow

2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix (round 1e+INF) core dump

	* src/bignum.c (double_to_integer): Signal an error
	if D cannot be converted, instead of dumping core.
	* test/src/floatfns-tests.el (special-round): New test.

2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Use overflow-error for bignum overflow

	This better corresponds to what emacs-26 did in the
	rare cases where it checked for integer overflow.
	* src/alloc.c (range_error): Remove.
	All uses changed to overflow_error.
	* src/eval.c (overflow_error): New function.

2018-09-11  Michael Albinus  <michael.albinus@gmx.de>

	Precise Secret Service API in auth.texi (Bug#29575)

	* doc/misc/auth.texi (Secret Service API): Item labels are not
	unique.  Document this.  (Bug#29575)

2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	Adjust to TIMESPEC_HZ renaming

	Adjust to lib/timespec.h’s renaming of TIMESPEC_RESOLUTION and
	LOG10_TIMESPEC_RESOLUTION to TIMESPEC_HZ and
	LOG10_TIMESPEC_HZ.  The old names were misnomers.
	All uses changed.

2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-09-10 timespec: fix resolution confusion
	2018-09-09 mktime: simplify in prep for glibc merge
	2018-09-07 intprops: minor clarification of code
	2018-09-06 stddef: Override max_align_t on NetBSD 8.0/x86
	2018-09-06 fcntl: Fix F_DUPFD_CLOEXEC behavior on Haiku
	2018-09-06 strtoll, strtoull: Rely on limits-h module
	2018-09-06 limits-h: Provide numerical limits macros
	2018-09-06 fcntl: Don't access nonexistent optional argument
	2018-09-02 mktime: fix unlikely race+overflow bug
	2018-08-31 mktime, timegm: simplify glibc time64_t
	2018-08-31 mktime, timegm: simplify merge to glibc
	* build-aux/config.guess, build-aux/config.sub:
	* lib/dtotimespec.c, lib/fcntl.c, lib/intprops.h:
	* lib/limits.in.h, lib/mktime-internal.h, lib/mktime.c:
	* lib/stat-time.h, lib/strtol.c, lib/timegm.c:
	* lib/timespec-add.c, lib/timespec-sub.c, lib/timespec.h:
	* lib/utimens.c, m4/limits-h.m4, m4/stddef_h.m4:
	Copy from Gnulib.

2018-09-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	7efcdf7 (origin/emacs-26) Clarify completion text in the ELisp manual
	30b0b0e Fix handling of abbreviated control command in gdb-mi.el
	5cf282d Clarify documentation of functions reading character events
	96281c5 Record :version for built-in variables while dumping
	82160cf * src/process.c (connect_network_socket): Fix memory leak.  (...
	6c616e4 * Makefile.in (appdatadir): Use the non-obsolete location "me...
	9618e16 Better fix for bug#32550
	30d94e4 Fix Bug#32550
	57bcdc7 Don't call XGetGeometry for frames without outer X window (Bu...
	82fc6b6 * lisp/calculator.el: Fix doc typo.
	ddc7c64 Standardize calc bug reporting instructions

	Conflicts:
		lisp/cus-start.el

2018-09-10  Glenn Morris  <rgm@gnu.org>

	* lisp/thread.el: Remove more useless runtime requires.

2018-09-10  Glenn Morris  <rgm@gnu.org>

	Remove useless requires of subr-x at runtime

	* lisp/thread.el, lisp/net/nsm.el, lisp/erc/erc.el:
	Don't require subr-x at runtime.

2018-09-10  Karl Fogel  <kfogel@red-bean.com>

	Fix build error: use string :version in defcustom

	* lisp/textmodes/flyspell.el (flyspell-case-fold-duplications): Use a
	  string value for the :version keyword to `defcustom'.  Otherwise,
	  building Emacs will fail with an error like this:

	    Scanning ./textmodes for custom
	    Scanning ./url for custom
	    Scanning ./vc for custom
	    Generating ./cus-load.el...
	    Version must be a string
	    make[2]: *** [Makefile:152: cus-load.el] Error 255

	This follows up to Reuben Thomas's commit 61f3a4b4fc of 10 Sep 2018.

2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	Fix misleading name ‘double_to_bignum’

	* src/bignum.c (double_to_integer): Rename from double_to_bignum,
	since the result is not necessarily a bignum.  All uses changed.

2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	* src/charset.c (Fencode_char): Tweak comment.

2018-09-10  Reuben Thomas  <rrt@sc3d.org>

	Add flyspell option to ignore duplicates of different case

	* lisp/textmodes/flyspell.el (flyspell-case-fold-duplications): Add
	  option.

2018-09-10  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warnings due to get_proc_addr

	* src/w32common.h (get_proc_addr): Add prototype, to shut up
	GCC compilation warning.  Reported by Martin Rudalics
	<rudalics@gmx.at>.

2018-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/charset.c (Fencode_char): Explain when/why bignums are used

2018-09-10  Martin Rudalics  <rudalics@gmx.at>

	Fix last change of 'run_window_size_change_functions'

	* src/window.c (run_window_size_change_functions): Fix two
	type mixups in last change.  Reported by Michael Albinus
	<michael.albinus@gmx.de> on emacs-devel.

2018-09-10  Martin Rudalics  <rudalics@gmx.at>

	Handle buffer-local 'window-size-change-functions' specially (Bug#32637)

	* src/window.c (run_window_size_change_functions): Run a
	buffer-local value once per each frame and only if at least
	one window showing the buffer on that frame has changed its
	size.  (Bug#32637)
	* doc/lispref/windows.texi (Window Hooks): Describe new
	behavior of buffer-local 'window-size-change-functions'.

2018-09-09  Gemini Lasswell  <gazally@runbox.com>

	Merge branch 'scratch/list-threads'

2018-09-09  Gemini Lasswell  <gazally@runbox.com>

	Use thread-live-p instead of obsolete thread-alive-p

	* lisp/thread.el (thread-list--get-status)
	(thread-list--send-signal, thread-list-pop-to-backtrace)
	(thread-list-backtrace--revert-hook-function)
	(thread-list-backtrace--insert-header): Use thread-live-p instead of
	thread-alive-p.

2018-09-09  Gemini Lasswell  <gazally@runbox.com>

	Improve documentation of thread list buffer

	* doc/lispref/threads.texi (The Thread List): Cross-reference
	'Basic Thread Functions'.  Use defvar for thread-list-refresh-seconds.
	Improve descriptions of the backtrace and signal commands.

2018-09-09  Gemini Lasswell  <gazally@runbox.com>

	Add tests for list-threads and the *Threads* buffer

	* test/lisp/thread-tests.el: New file.

2018-09-09  Gemini Lasswell  <gazally@runbox.com>

	Add check in list-threads for --without-threads configuration

	* lisp/thread.el (list-threads): Signal an error if the Emacs configuration
	doesn't have threads.

2018-09-09  Gemini Lasswell  <gazally@runbox.com>

	Document list-threads and its buffer

	* doc/lispref/threads.texi (Threads): Add menu item.
	(The Thread List): New node.
	* doc/lispref/elisp.texi (Top): Add menu item.

2018-09-09  Gemini Lasswell  <gazally@runbox.com>

	Show backtraces of threads from thread list buffer

	* src/eval.c (backtrace_thread_p, backtrace_thread_top)
	(backtrace_thread_next, Fbacktrace_frames_from_thread): New functions.
	* lisp/thread.el (thread-list-mode-map): Add keybinding and
	menu item for 'thread-list-pop-to-backtrace'.
	(thread-list-mode): Make "Thread Name" column wide enough
	for the result of printing a thread with no name with 'prin1'.
	(thread-list--get-entries): Use 'thread-list--name'.
	(thread-list--send-signal): Remove unnecessary calls to 'threadp'.
	(thread-list-backtrace--thread): New variable.
	(thread-list-pop-to-backtrace): New command.
	(thread-list-backtrace--revert-hook-function)
	(thread-list--make-backtrace-frame)
	(thread-list-backtrace--insert-header, thread-list--name): New
	functions.

2018-09-09  Gemini Lasswell  <gazally@runbox.com>

	Make small fixes to Edebug and debugger documentation

	* doc/lispref/elisp.texi (Top): Update menu.
	* doc/lispref/edebug.texi (Edebug Misc): Index
	edebug-backtrace-show-instrumentation and
	edebug-backtrace-hide-instrumentation.

2018-09-09  Gemini Lasswell  <gazally@runbox.com>

	Make list-threads refresh the *Threads* buffer if it already exists

	* lisp/thread.el (list-threads): Call revert-buffer instead of waiting
	for the timer function to do it.

2018-09-09  Gemini Lasswell  <gazally@runbox.com>

	Improve docstrings of thread-list functions

	* lisp/thread.el (thread-list--timer-func): Change
	argument from 'buf' to 'buffer'.
	(thread-list--get-entries, thread-list--get-status): Improve
	docstring.
	(thread-list--send-signal): Change argument from 'sgnl' to
	'signal'.  Tell the user when the thread is no longer alive.

2018-09-09  Gemini Lasswell  <gazally@runbox.com>

	Make lisp/thread.el the new home for thread-related Lisp functions

	* lisp/emacs-lisp/thread-list.el: Remove.
	* lisp/emacs-lisp/thread.el: Remove.
	* lisp/thread.el: New file.

2018-09-09  Gemini Lasswell  <gazally@runbox.com>

	Add list-threads command and thread-list-mode

	* lisp/emacs-lisp/thread-list.el: New file.

2018-09-08  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation for conversion to bignums

	* src/xselect.c (selection_data_to_lisp_data):
	* src/w32fns.c (Fw32_read_registry):
	* src/process.c (Fprocess_id):
	* src/font.c (Ffont_variation_glyphs, Finternal_char_font):
	* src/fns.c (Fsafe_length):
	* src/editfns.c (Fuser_uid, Fuser_real_uid, Fgroup_gid)
	(Fgroup_real_gid, Femacs_pid):
	* src/dired.c (Ffile_attributes):
	* src/charset.c (Fencode_char): Update commentary and doc
	strings for recent changes that produce bignums where
	previously cons cells of integers were produced.

2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>

	* src/puresize.h (BASE_PURESIZE): Bump to 2000000.

	Needed on Fedora 28 x86.

2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>

	One more GC-aligned struct

	* src/lisp.h (struct Lisp_Sub_Char_Table):
	Mark this with GCALIGNED_STRUCT, too.

2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix overenthusiastic header size check

	Problem reported by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2018-09/msg00222.html
	* doc/lispref/internals.texi (Garbage Collection):
	Document vector sizes and slot counts more accurately.
	* src/lisp.h: Omit header_size sanity check that was too picky.
	Add some less-picky checks.

2018-09-07  Eli Zaretskii  <eliz@gnu.org>

	Read Windows OS info for report-emacs-bug from Registry

	* lisp/w32-fns.el (w32--os-description): New function.
	* lisp/mail/emacsbug.el (report-emacs-bug--os-description):
	Use 'w32--os-description' instead of launching the
	'systeminfo' program, which can be very slow, and is also
	missing on versions of Windows before XP Professional.

2018-09-06  Paul Eggert  <eggert@cs.ucla.edu>

	Shrink pseudovectors a bit

	sizeof (struct Lisp_Marker) was 32 on x86, where 24 would do.
	Problem noted by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2018-09/msg00165.html
	* src/bignum.h (struct Lisp_Bignum):
	* src/frame.h (struct frame):
	* src/lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector)
	(struct Lisp_Char_Table, struct Lisp_Hash_Table)
	(struct Lisp_Marker, struct Lisp_Overlay)
	(struct Lisp_Misc_Ptr, struct Lisp_User_Ptr)
	(struct Lisp_Finalizer, struct Lisp_Float)
	(struct Lisp_Module_Function):
	* src/process.h (struct Lisp_Process):
	* src/termhooks.h (struct terminal):
	* src/thread.h (struct thread_state, struct Lisp_Mutex)
	(struct Lisp_CondVar):
	* src/window.c (struct save_window_data):
	* src/window.h (struct window):
	* src/xterm.h (struct scroll_bar):
	* src/xwidget.h (struct xwidget, struct xwidget_view):
	Add GCALIGNED_STRUCT attribute.
	* src/lisp.h (GCALIGNED_UNION_MEMBER): Renamed from GCALIGNED_UNION.
	All uses changed.
	(GCALIGNED_STRUCT_MEMBER, GCALIGNED_STRUCT, GCALIGNED): New macros.
	All uses of open-coded GCALIGNED changed to use GCALIGNED.
	(union vectorlike_header): No longer GC-aligned.
	(PSEUDOVECSIZE): Yield 0 for pseudovectors without Lisp
	objects that place a member before where the first Lisp object
	member would be.

2018-09-06  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#31704

	* lisp/eshell/esh-proc.el (eshell-gather-process-output): Do not
	let `expand-file-name' prefix remote file names with MS Windows
	volume letter.

	* lisp/net/tramp.el (tramp-eshell-directory-change):
	Use `path-separator' as it does eshell.  (Bug#31704)

2018-09-06  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/autorevert-tests.el

	(auto-revert-test02-auto-revert-deleted-file): Extend test.

2018-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix timer.el minor rounding error

	* lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
	Fix rounding error by using integers rather than floats.
	* test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
	New test.

2018-09-05  Stephen Gildea  <stepheng+emacs@gildea.com>

	Do not call mh-next-msg from mh-junk-process-* fns

	* lisp/mh-e/mh-junk.el (mh-junk-process-blacklist, mh-junk-process-whitelist): Do
	not call mh-next-msg.  Now that these functions are called from
	mh-execute-commands, they should not change the current message pointer.
	The calls to mh-next-msg are probably left over from when blacklist and
	whitelist message processing was done immediately.

2018-09-05  Paul Eggert  <eggert@cs.ucla.edu>

	Improve (round FIXNUM FIXNUM) performance

	* src/floatfns.c (rounding_driver):
	New arg fixnum_divide.  All callers changed.
	(ceiling2, floor2, truncate2, round2): New functions.
	Not that new, actually; these are essentially taken from Emacs 26.
	(Fceiling, Ffloor, Fround, Ftruncate): Use them.

2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix format-time-string bignum bug

	The problem can occur on 32-bit platforms with current timestamps.
	* src/editfns.c (disassemble_lisp_time, decode_time_components):
	Support seconds counts that are bignums.
	* test/src/editfns-tests.el (editfns-tests--have-leap-seconds):
	New function.
	(format-time-string-with-bignum-on-32-bit): New test.

2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify bignum->intmax conversion

	* src/lisp.h (integer_to_intmax, integer_to_uintmax): New functions.
	* src/data.c (cons_to_unsigned, cons_to_signed)
	(arith_driver):
	* src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
	* src/dispnew.c (sit_for):
	* src/editfns.c (styled_format):
	* src/emacs-module.c (module_extract_integer):
	* src/fileio.c (file_offset):
	* src/font.c (font_unparse_xlfd, Fopen_font):
	* src/xdisp.c (calc_line_height_property):
	* src/process.c (handle_child_signal):

2018-09-04  Federico Tedin  <federicotedin@gmail.com>

	Add variable vc-git-grep-template

	* lisp/vc/vc-git.el (vc-git-grep-template): New variable, allows
	changing the default arguments passed to git-grep when using
	'vc-git-grep'.
	* etc/NEWS: Mention 'vc-git-grep-template'.  (Bug#32549)

2018-09-04  Noam Postavsky  <npostavs@gmail.com>

	Handle non-error signals in emacsclient --eval (Bug#10989)

	* lisp/server.el (server-process-filter): Handle any signal, not just
	errors.

2018-09-04  Noam Postavsky  <npostavs@gmail.com>

	Allow t as a catch-all condition-case handler (Bug#24618)

	* src/eval.c (find_handler_clause): Accept a handler of t as always
	matching.
	(Fcondition_case):
	* doc/lispref/control.texi (Handling Errors): Document this.
	* etc/NEWS: Announce it.

2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix (round FLOAT BIGNUM) bug

	* src/floatfns.c (rounding_driver): Fix bug when one
	argument is a float and the other is a bignum.
	* test/src/floatfns-tests.el (bignum-round): Test for the bug.

2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak nthcdr for bignum efficiency

	* src/fns.c (Fnthcdr): Use mpz_tdiv_ui and mpz_tdiv_r
	instead of mpz_mod_ui and mpz_mod, as they are more efficient.
	Suggested by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2018-09/msg00073.html

2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bignum initialization

	Problem reported by Andy Moreton in:
	https://lists.gnu.org/r/emacs-devel/2018-09/msg00072.html
	and crystal-ball diagnosis by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2018-09/msg00075.html
	* src/alloc.c (xrealloc_for_gmp, xfree_for_gmp): Move to bignum.c.
	(init_alloc): Move bignum initialization to init_bignum.
	* src/bignum.c (init_bignum): Rename from init_bignum_once.
	All users changed.
	* src/emacs.c (main): Call init_bignum after init_alloc,
	instead of calling init_bignum_once after init_bignum.

2018-09-03  Paul Eggert  <eggert@cs.ucla.edu>

	Speed up (+ 2 2) by a factor of 10

	Improve arithmetic performance by avoiding bignums until needed.
	Also, simplify bignum memory management, fixing some unlikely leaks.
	This patch improved the performance of (+ 2 2) by a factor of ten
	on a simple microbenchmark computing (+ x 2), byte-compiled,
	with x a local variable initialized to 2 via means the byte
	compiler could not predict: performance improved from 135 to 13 ns.
	The platform was Fedora 28 x86-64, AMD Phenom II X4 910e.
	Performance also improved 0.6% on ‘make compile-always’.
	* src/bignum.c (init_bignum_once): New function.
	* src/emacs.c (main): Use it.
	* src/bignum.c (mpz): New global var.
	(make_integer_mpz): Rename from make_integer.  All uses changed.
	* src/bignum.c (double_to_bignum, make_bignum_bits)
	(make_bignum, make_bigint, make_biguint, make_integer_mpz):
	* src/data.c (bignum_arith_driver, Frem, Flogcount, Fash)
	(expt_integer, Fadd1, Fsub1, Flognot):
	* src/floatfns.c (Fabs, rounding_driver, rounddiv_q):
	* src/fns.c (Fnthcdr):
	Use mpz rather than mpz_initting and mpz_clearing private
	temporaries.
	* src/bignum.h (bignum_integer): New function.
	* src/data.c (Frem, Fmod, Fash, expt_integer):
	* src/floatfns.c (rounding_driver):
	Use it to simplify code.
	* src/data.c (FIXNUMS_FIT_IN_LONG, free_mpz_value):
	Remove.  All uses removed.
	(floating_point_op): New function.
	(floatop_arith_driver): New function, with much of the guts
	of the old float_arith_driver.
	(float_arith_driver): Use it.
	(floatop_arith_driver, arith_driver):
	Simplify by assuming NARGS is at least 2.
	All callers changed.
	(float_arith_driver):
	New arg, containing the partly converted value of the next arg.
	Reorder args for consistency.  All uses changed.
	(bignum_arith_driver): New function.
	(arith_driver): Use it.  Do fixnum-only integer calculations
	in intmax_t instead of mpz_t, when they fit.
	Break out mpz_t calculations into bignum_arith_driver.
	(Fquo): Use floatop_arith_driver instead of float_arith_driver,
	since the op is known to be valid.
	(Flogcount, Fash): Simplify by coalescing bignum and fixnum code.
	(Fadd1, Fsub1): Simplify by using make_int.

2018-09-03  Stephen Berman  <stephen.berman@gmx.net>

	Make todo-show work when adding and deleting a new todo file

	* lisp/calendar/todo-mode.el (todo-add-file): Since
	todo-current-todo-file must be set before calling todo-show, but
	the buffer is not yet in todo-mode, which makes it buffer local,
	explicitly set it buffer locally (bug#32627).

	* test/lisp/calendar/todo-mode-tests.el (todo-test--add-file)
	(todo-test--delete-file): New functions.
	(todo-test-add-and-delete-file): New test.

2018-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/lisp.h: Add explanation in a comment

2018-09-01  Charles A. Roelli  <charles@aurox.ch>

	* src/process.c (send_process): Fix typo in commentary.

2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Rename Emacs-specific INFINITY constants

	Although these constants were not erroneous, as they were
	used only in modules that did not include <math.h>, it's
	less confusing to names that cannot be confused with
	the now-standard INFINITY macro.
	* src/dispextern.h (SCROLL_INFINITY): New constant.
	* src/dispnew.c, src/scroll.c (INFINITY):
	Remove.  All uses replaced with SCROLL_INFINITY.
	* src/process.c (wait_reading_process_output):
	Rename private constant.

2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Port better to non-IEEE platforms

	* src/lread.c (string_to_number) [!IEEE_FLOATING_POINT]:
	Do not use the INFINITY macro, since the C standard requires
	it to provoke a compile-time error on platforms that do not
	support infinities.

2018-08-31  Michael Albinus  <michael.albinus@gmx.de>

	Mark thread-alive-p as obsolete

	* etc/NEWS (thread-alive-p):
	* lisp/emacs-lisp/thread.el (thread-alive-p): Mark it as obsolete.

	* test/src/thread-tests.el (threads-join-error)
	(threads-signal-main-thread): Use `thread-live-p'.

2018-08-31  Michael Albinus  <michael.albinus@gmx.de>

	Merge from origin/emacs-26

	ac7936cb8f Rename thread-alive-p to thread-live-p
	3d09d533d1 rcirc: Document /reconnect as a built-in command (Bug#29656)
	a1e615618d * test/lisp/calc/calc-tests.el (calc-imaginary-i): New test.

2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Several fixes for formatting bignums

	* src/bignum.c: Include stdlib.h, for abs.
	(bignum_bufsize, bignum_to_c_string): New functions.
	* src/bignum.c (bignum_to_string):
	* src/print.c (print_vectorlike): Use them.
	* src/editfns.c (styled_format): Instead of having a separate
	buffer for sprintf (which does not work for bignums), just append
	to the main buffer.  When formatting bignums, add support for the
	standard integer flags -, #, 0, + and space.  Fix some comments.
	Capitalize properly when formatting bignums with %X.  Use
	functions like c_isdigit rather than reinventing the wheel.
	Simplify computation of excess precision.
	* src/print.c: Do not include bignum.h; no longer needed.
	(print_vectorlike): Avoid recalculating string length.
	* test/src/editfns-tests.el (format-bignum):
	Test some of the above fixes.

2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	* src/alloc.c (sweep_vectors): Simplify.

2018-08-31  Michael Albinus  <michael.albinus@gmx.de>

	Construct a thread_event only if THREADS_ENABLED

	* src/thread.c (Fthread_signal): Construct a thread_event only if
	THREADS_ENABLED.

2018-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bignum FIXME in emacs-module.c

	* src/emacs-module.c: Do not include bignum.h; no longer needed.
	(module_extract_integer): Use bignum_to_intmax to avoid
	incorrectly signaling overflow on platforms where intmax_t
	is wider than long int.

2018-08-30  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc.el (vc-log-internal-common): Reuse the buffer object.

	(Bug#32475)

2018-08-30  Juri Linkov  <juri@linkov.net>

	* lisp/gnus/mm-view.el (mm-display-inline-fontify): Carry diff-mode overlays

	to inline MIME attachments from the temp buffer along with text properties.
	(Bug#32474)

2018-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix off-by-1 typo in recent bignum changes

	Problem reported by Yuri D’Elia in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00977.html
	and crucial clue provided by Michael Heerdegen in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg01043.html
	* src/font.c (font_unparse_xlfd): Fix off-by-1 typo.

2018-08-30  Michael Albinus  <michael.albinus@gmx.de>

	Handle thread-signal towards the main thread  (Bug#32502)

	* doc/lispref/threads.texi (Basic Thread Functions):
	* etc/NEWS: Document thread-signal towards the main thread.

	* lisp/emacs-lisp/thread.el: New package.

	* src/keyboard.c (read_char): Check for Qthread_event.
	(kbd_buffer_get_event, make_lispy_event): Handle THREAD_EVENT.
	(syms_of_keyboard): Declare Qthread_event.
	(keys_of_keyboard): Add thread-handle-event to special-event-map.

	* src/termhooks.h (enum event_kind): Add THREAD_EVENT.

	* src/thread.c: Include "keyboard.h".
	(poll_suppress_count) Don't declare extern.
	(Fthread_signal): Raise event if THREAD is the main thread.  (Bug#32502)

	* test/src/thread-tests.el (thread): Require it.
	(threads-signal-main-thread): New test.

2018-08-30  Glenn Morris  <rgm@gnu.org>

	* configure.ac: Fix goofs in my recent ImageMagick change.

2018-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify -Wdouble-promotion in ImageMagick code

	* src/image.c (imagemagick_load_image): Use double division, and
	eliminate a cast.  This avoids a -Wdouble-promotion warning with
	GCC 7.3 on Ubuntu 18.04.

2018-08-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	2670cbf (origin/emacs-26) ; * configure.ac: Remove outdated comment (...
	3b71bef admin.el: respect environment settings for makeinfo etc
	3764ab4 * etc/PROBLEMS: New entry about GTK+ 3 crash with some X serv...
	9d61344 Index profiler commands in elisp manual
	f088817 Fix math-imaginary-i check
	fca935e ; Let pre-commit git hook check merged in changes (Bug#29197)
	fe06fcc Avoid infinite hscrolling loops when line numbers are displayed
	63e59c8 Avoid crashes in malformed defvar
	785682c * configure.ac (emacs_config_features): Add GLIB, XDBE, XIM.
	2695b7e * configure.ac: Doc fixes related to --with-xim.
	d0d162c Small checkdoc quoting fix (bug#32546)

	Conflicts:
		configure.ac

2018-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/keymap.c: Make better use of access_keymap's functionality

	(Flookup_key): Allow `keymap' to be a list of keymaps.
	(Fcommand_remapping, Fkey_binding): Simplify accordingly.
	(shadow_lookup, describe_map_tree): Simplify.

2018-08-29  Michael Albinus  <michael.albinus@gmx.de>

	Improve tramp-convert-file-attributes backward compatibility

	* lisp/net/tramp-sh.el (tramp-convert-file-attributes):
	Use `seconds-to-time' for {access, modification, status change}
	time.  Simplify check for inode.

	* test/lisp/net/tramp-tests.el (tramp-test22-file-times):
	Use `seconds-to-time'.

2018-08-28  Glenn Morris  <rgm@gnu.org>

	* lisp/mail/emacsbug.el (report-emacs-bug--os-description): Add BSD.

	* lisp/mail/emacsbug.el (report-emacs-bug--os-description):
	Add MS Windows.

2018-08-28  Paul Eggert  <eggert@cs.ucla.edu>

	Improve (format "%g" bignum) precision

	* src/editfns.c (styled_format): When formatting bignums with
	floating-point conversions like %g, use long double if that
	would lose less information than double, which is what the
	code was already doing for fixnums.  On Fedora 28 x86-64, for
	example, (format "%.100g" (1- (ash 1 64))) now yields
	"18446744073709551615" instead of the numerically incorrect
	"18446744073709549568".  Also, fix a stray INTEGERP that
	can just be FIXNUMP, since bignums are not possible there.

2018-08-28  Paul Eggert  <eggert@cs.ucla.edu>

	Fix Fnatnump typos

	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00946.html
	* src/floatfns.c (Fexpt):
	* src/xselect.c (cons_to_x_long):
	Don't assume Lisp_Object values are scalars.

2018-08-28  Eli Zaretskii  <eliz@gnu.org>

	Fix a recent change

	* src/dispnew.c (sit_for): Don;t treat nil as zero.  Reported
	by Glenn Morris <rgm@gnu.org>.

2018-08-28  Michael Albinus  <michael.albinus@gmx.de>

	Add bignum support in Tramp

	* lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-system-info):
	* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-stat)
	(tramp-do-directory-files-and-attributes-with-stat)
	(tramp-sh-handle-file-system-info):
	* lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): Do
	not add "e0" to integers.

	* lisp/net/tramp-sh.el (tramp-perl-file-attributes)
	(tramp-convert-file-attributes): Do not use a consp for the inode
	if there is bignum support.

2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	Improve bignum support for system types

	Use bignums when Emacs converts to and from system types like
	off_t for file sizes whose values can exceed fixnum range.
	Formerly, Emacs sometimes generated floats and sometimes ad-hoc
	conses of integers.  Emacs still accepts floats and conses for
	these system types, in case some stray Lisp code is generating
	them, though this usage is obsolescent.
	* doc/lispref/files.texi (File Attributes):
	* doc/lispref/hash.texi (Defining Hash):
	* doc/lispref/nonascii.texi (Character Sets):
	* doc/lispref/os.texi (User Identification):
	* doc/lispref/processes.texi (System Processes):
	* etc/NEWS:
	Document changes.
	* src/bignum.c (mpz_set_uintmax, make_biguint)
	(mpz_set_uintmax_slow, bignum_to_intmax, bignum_to_uintmax):
	New functions.
	(mpz_set_intmax_slow): Implement via mpz_limbs_write,
	to avoid the need for an extra pass through a negative number.
	* src/charset.c (Fencode_char):
	* src/composite.h (LGLYPH_SET_CODE):
	* src/dired.c (file_attributes):
	* src/dosfns.c, src/w32.c (list_system_processes)
	(system_process_attributes):
	* src/editfns.c (init_editfns, Fuser_uid, Fuser_real_uid)
	(Fgroup_gid, Fgroup_real_gid, Femacs_pid):
	* src/emacs-module.c (check_vec_index):
	* src/fns.c (Fsafe_length):
	* src/process.c (record_deleted_pid, Fprocess_id):
	* src/sysdep.c (list_system_processes, system_process_attributes):
	* src/xselect.c (x_own_selection, selection_data_to_lisp_data):
	* src/xterm.c (set_wm_state):
	* src/inotify.c (inotifyevent_to_event, add_watch)
	(inotify_callback):
	If an integer is out of fixnum range, use a bignum
	instead of converting it to a float or a cons of integers.
	* src/coding.c (Fdefine_coding_system_internal):
	* src/frame.c (frame_windows_min_size)
	(x_set_frame_parameters):
	* src/fringe.c (Fdefine_fringe_bitmap):
	* src/nsterm.m (mouseDown:):
	* src/syntax.c (find_defun_start):
	* src/w32fns.c (x_set_undecorated, w32_createwindow)
	(w32_wnd_proc, Fx_create_frame, Fx_show_tip)
	(w32_console_toggle_lock_key):
	* src/w32inevt.c (key_event):
	* src/w32proc.c (Fw32_get_locale_info):
	Do not mishandle floats by treating their addresses as their
	values.
	* src/data.c (store_symval_forwarding):
	* src/gnutls.c (Fgnutls_error_fatalp, Fgnutls_error_string):
	* src/keyboard.c (command_loop_1, make_lispy_event):
	* src/lread.c (read_filtered_event, read1)
	(substitute_object_recurse):
	* src/window.c (Fcoordinates_in_window_p, Fwindow_at)
	(window_resize_apply, Fset_window_vscroll):
	* src/xdisp.c (handle_single_display_spec, try_scrolling)
	(redisplay_window, calc_pixel_width_or_height)
	(calc_line_height_property, on_hot_spot_p):
	* src/xfaces.c (check_lface_attrs):
	* src/xselect.c (x_get_local_selection, cons_to_x_long)
	(lisp_data_to_selection_data, clean_local_selection_data)
	(x_check_property_data, x_fill_property_data):
	(x_send_client_event):
	Do not reject bignums.
	* src/data.c (INTBIG_TO_LISP, intbig_to_lisp)
	(uintbig_to_lisp):
	Remove.  All uses removed.
	* src/data.c (cons_to_unsigned, cons_to_signed):
	* src/dbusbind.c (xd_signature, xd_extract_signed)
	(xd_extract_unsigned):
	* src/dispnew.c (sit_for):
	* src/dosfns.c, src/w32.c (system_process_attributes):
	* src/editfns.c (Fuser_full_name):
	* src/fileio.c (file_offset):
	* src/fileio.c (write_region):
	* src/font.c (font_unparse_xlfd, font_open_for_lface, Fopen_font):
	* src/frame.c (x_set_screen_gamma):
	* src/frame.h (NUMVAL, FRAME_PIXEL_X_FROM_CANON_X)
	(FRAME_PIXEL_Y_FROM_CANON_Y):
	* src/image.c (parse_image_spec, x_edge_detection)
	(compute_image_size):
	* src/json.c (json_to_lisp):
	* src/lcms.c (PARSE_LAB_LIST_FIELD, Flcms_cie_de2000)
	(PARSE_XYZ_LIST_FIELD, PARSE_JCH_LIST_FIELD)
	(PARSE_JAB_LIST_FIELD, PARSE_VIEW_CONDITION_FLOAT)
	(Flcms_temp_to_white_point):
	* src/nsimage.m (ns_load_image, setSizeFromSpec):
	* src/process.c (Fsignal_process, handle_child_signal):
	* src/sysdep.c (system_process_attributes):
	* src/xdisp.c (calc_line_height_property):
	Handle bignums.
	* src/data.c (Fnumber_to_string): Use proper predicate name in
	signal if the argument is not a number.
	* src/lisp.h (make_uint): New function.
	(INT_TO_INTEGER): New macro.
	(FIXED_OR_FLOATP, CHECK_FIXNUM_OR_FLOAT)
	(CHECK_FIXNUM_OR_FLOAT_COERCE_MARKER, INTEGER_TO_CONS)
	(make_fixnum_or_float): Remove; no longer used.
	* src/nsfns.m, src/w32fns.c, src/xfns.c (Fx_create_frame):
	Reject floating-point min-width or min-height.
	* src/process.c (handle_child_signal): Do not worry
	about floating-point pids, as they are no longer generated.

2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	Modularize bignums better

	* src/bignum.c, src/bignum.h: New files.  Only modules that
	need to know how bignums are implemented should include
	bignum.h.  Currently these are alloc.c, bignum.c (of course),
	data.c, emacs.c, emacs-module.c, floatfns.c, fns.c, print.c.
	* src/Makefile.in (base_obj): Add bignum.o.
	* src/alloc.c (make_bignum_str): Move to bignum.c.
	(make_number): Remove; replaced by bignum.c’s make_integer.
	All callers changed.
	* src/conf_post.h (ARG_NONNULL): New macro.
	* src/json.c (json_to_lisp): Use it.
	* src/data.c (Fnatnump):
	Move NATNUMP’s implementation here from lisp.h.
	* src/data.c (Fnumber_to_string):
	* src/editfns.c (styled_format):
	Move conversion of string to bignum to bignum_to_string, and
	call it here.
	* src/emacs-module.c (module_make_integer):
	* src/floatfns.c (Fabs):
	Simplify by using make_int.
	* src/emacs.c: Include bignum.h, to expand its inline fns.
	* src/floatfns.c (Ffloat): Simplify by using XFLOATINT.
	(rounding_driver): Simplify by using double_to_bignum.
	(rounddiv_q): Clarify use of temporaries.
	* src/lisp.h: Move decls that need to know bignum internals to
	bignum.h.  Do not include gmp.h or mini-gmp.h; that is now
	bignum.h’s job.
	(GMP_NUM_BITS, struct Lisp_Bignum, XBIGNUM, mpz_set_intmax):
	Move to bignum.h.
	(make_int): New function.
	(NATNUMP): Remove; all callers changed to use Fnatnump.
	(XFLOATINT): If arg is a bignum, use bignum_to_double, so that
	bignum internals are not exposed here.
	* src/print.c (print_vectorlike): Use SAFE_ALLOCA to avoid the
	need for a record_unwind_protect_ptr.

2018-08-27  Glenn Morris  <rgm@gnu.org>

	* configure.ac, src/image.c: Tweak previous ImageMagick change.

2018-08-27  Karl Otness  <karl@karlotness.com>  (tiny change)

	Support ImageMagick version 7 (bug#25967)

	* configure.ac, src/image.c: Add support for ImageMagick version 7.

2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	* build-aux/config.sub, lib/intprops.h, lib/regex_internal.c:
	* lib/regex_internal.h, lib/unistd.in.h, m4/limits-h.m4:
	* m4/stdint.m4, m4/unistd_h.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2018-08-27  Alex Branham  <alex.branham@gmail.com>

	New commands bibtex-next/previous-entry (Bug#32378)

	* lisp/textmodes/bibtex.el (bibtex-next-entry)
	(bibtex-previous-entry): New commands.
	(bibtex-mode-map): Bind to forward-paragraph and
	backward-paragraph.  Add to menu under "Moving inside an Entry".

2018-08-27  Noam Postavsky  <npostavs@gmail.com>

	shr: Allow skipping tags with aria-hidden (Bug#32348)

	* lisp/net/shr.el (shr-discard-aria-hidden): New option.
	(shr-descend): Suppress aria-hidden=true tags if it's set.
	* doc/misc/eww.texi (Advanced): Document shr-discard-aria-hidden.
	* etc/NEWS: Announce it.

2018-08-27  Noam Postavsky  <npostavs@gmail.com>

	Allow setf of buffer-modified-p without argument (Bug#21201)

	* lisp/emacs-lisp/cl-lib.el (setf buffer-modified-p): Take current
	buffer if optional argument BUF is not passed.

2018-08-27  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix syntactic context of BOD sometimes being 'topmost-intro-cont

	This happened when the type of the previous function was a struct, etc.,
	declaration.

	* lisp/progmodes/cc-mode.el (c-guess-basic-syntax CASE 5N): Check here (for
	'topmost-intro-cont) that the first opening brace after BOD is the opening
	brace preceding the starting point.

2018-08-27  Alan Mackenzie  <acm@muc.de>

	c-where-wrt-brace-construct: deal with point following a struct's semicolon.

	More precisely, when point is right after the terminating semicolon of a
	construct like "struct foo { .... } bar;", the function must return
	'at-function-end.

	* lisp/progmodes/cc-cmds.el (c-where-wrt-brace-construct): Surround an
	existing test for 'at-function-end with an `or' form, the other arm testing
	for being after the semicolon above.

2018-08-27  Gemini Lasswell  <gazally@runbox.com>

	Fix links in backtraces to work on advised built-ins (Bug#25393)

	* lisp/emacs-lisp/backtrace.el (backtrace--print-func-and-args): Make
	links to the original definition of advised functions.  Handle the
	case when the function slot of the backtrace frame contains the
	definition of a built-in function.

2018-08-27  Michael Albinus  <michael.albinus@gmx.de>

	Bump Tramp version to 2.4.1-pre

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.4.1-pre".

	* lisp/net/tramp.el: Add "Package-Requires" header.

2018-08-26  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	54fb383 (origin/emacs-26) Fix detection of freed emacs_values (Bug#32...
	769d0cd ; Fix out-of-tree build for mod-test.so
	9a1329e Avoid crashes with very wide TTY frames on MS-Windows
	9a613d3 Prevent `modify-file-local-variable-prop-line' from adding ex...
	624e7dc Update GNOME bugtracker URLs
	51ef6d5 Clarify in the Emacs manual that ChangeLog files are not used
	6e08019 Recognize codepage 65001 as a valid encoding
	1a350d7 ; * etc/NEWS: Fix format of first lines of some entries.
	22d1f53 Avoid compilation warning in nt/addpm.c
	7bc9ce7 Fix duplicate custom group names in bibtex.el
	a9cf938 Fix outdated text in the Calc manual

	Conflicts:
		etc/NEWS
		etc/PROBLEMS
		src/emacs-module.c
		src/gtkutil.c
		src/image.c
		src/xterm.c
		test/Makefile.in

2018-08-26  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in alloc.c

	* src/alloc.c (Fmemory_use_counts): The list we return now has
	only 7 elements, not 8.  (Bug#32531)

2018-08-26  Alan Mackenzie  <acm@muc.de>

	CC Mode: make c-display-defun-name work with a pointer return type.

	Fixes bug #32403.

	* lisp/progmodes/cc-cmds.el (c-in-function-trailer-p): No longer insist on
	c-beginning-of-decl-1 returning 'same.
	(c-where-wrt-brace-construct): Tighten up the test for looking at a symbol by
	excluding keywords.  When point is after a }, do not return 'at-function-end
	for a struct/union/class/...
	(c-defun-name-1): Considerably simplify, by amalgamating the two cond arms
	which find structs etc., and by using functions like c-forward-declarator
	rather than the faulty analysis of the source by hand.

2018-08-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/tramp.el: Add "Version" header.

2018-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	Improve format-seconds accuracy

	* doc/lispref/os.texi (Time Parsing): It works with bignums.
	* lisp/calendar/time-date.el (format-seconds):
	Take the floor so that the resulting arithmetic is exact.

2018-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer CONSP etc. to XTYPE

	* src/nsmenu.m (process_dialog:):
	(initFromContents:isQuestion:):
	Prefer CONSP (x) to XTYPE (x) == Lisp_Cons,
	and similarly for STRINGP (x).

2018-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	Improve performance of CONSP, FIXNUMP, etc.

	Optimization opportunity noted by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00828.html
	On my platform (Fedora 28 x86-64, AMD Phenom II X4 910e,
	user+system time), this improved ‘make compile-always’
	performance by 0.4% and shrank text size by a similar amount.
	* src/lisp.h (TAGGEDP, lisp_h_TAGGEDP): New macros and function.
	(lisp_h_CONSP, lisp_h_FLOATP, lisp_h_SYMBOLP)
	(lisp_h_VECTORLIKEP, make_lisp_ptr, STRINGP): Use them.
	(lisp_h_FIXNUMP): Use the same idea that lisp_h_TAGGEDP uses.

2018-08-23  Noam Postavsky  <npostavs@gmail.com>

	Detect Chinese sudo password prompts (Bug#31075)

	* lisp/comint.el (comint-password-prompt-regexp): Allow text between
	the prompt prefix and password equivalent.
	* lisp/eshell/esh-mode.el (eshell-password-prompt-regexp): Accept some
	unicode alternatives to ":".
	* test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
	test case.

2018-08-23  Noam Postavsky  <npostavs@gmail.com>

	Fix comint-password-prompt-regexp

	The change from 2017-12-22 "Support French password prompts in shell"
	tried to allow nonbreaking space in addition to whitespace syntax
	characters around the colon, but used square brackets which cause "\s"
	to be interpreted literally rather than as a backslash construct.
	* lisp/comint.el (comint-password-prompt-regexp): Use [[:blank:]]
	instead, which also has the benefit of not relying on the major mode's
	whitespace syntax setting.
	* test/lisp/comint-tests.el (comint-testsuite-password-strings):
	Update French localized entry to have a space before the colon, as
	reported in Bug#29729.

2018-08-23  Charles A. Roelli  <charles@aurox.ch>

	Replace 2 checks in rmailsum.el with 'pos-visible-in-window-p'

	* lisp/mail/rmailsum.el (rmail-summary-scroll-msg-up)
	(rmail-summary-scroll-msg-down): Use 'pos-visible-in-window-p'
	instead of checking the condition by hand.

2018-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix binding error in nnfolder-read-folder

	* lisp/gnus/nnfolder.el (nnfolder-read-folder): Fix previous
	checkin that left `active' unbound before using it.

2018-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	Prune most-positive-fixnum from Lisp source

	I looked through all instances of most-negative-fixnum
	and most-positive-fixnum in the Lisp source code, and
	when it was easy I removed assumptions that integers
	fit in fixnums.  The remaining instances are either
	nontrivial to fix, or are inherent to the algorithm.
	* lisp/arc-mode.el (archive-l-e): Do not convert to float,
	since we have bignums now.  All uses changed.
	* lisp/calc/calc.el (math-bignum):
	Don’t special-case most-negative-fixnum.
	* lisp/calendar/parse-time.el (parse-time-string):
	* lisp/emacs-lisp/edebug.el (edebug-read-special):
	* lisp/emacs-lisp/package.el (package--remove-hidden):
	* lisp/gnus/nnfolder.el (nnfolder-read-folder):
	* lisp/international/mule-util.el (filepos-to-bufferpos--dos):
	* lisp/menu-bar.el (menu-bar-update-buffers):
	* lisp/net/rcirc.el (rcirc-handler-317):
	* lisp/org/org-agenda.el (org-cmp-ts):
	* lisp/window.el (window--resize-child-windows):
	Avoid arbitrary limit to most-positive-fixnum or to
	most-negative-fixnum.
	* lisp/calendar/time-date.el (days-to-time):
	* lisp/erc/erc-dcc.el (erc-unpack-int):
	Don’t worry about integer overflow.
	* lisp/cedet/semantic/wisent/comp.el (wisent-BITS-PER-WORD):
	* lisp/gnus/message.el (message-unique-id):
	* lisp/org/org-footnote.el (org-footnote-new):
	Simplify.
	* lisp/erc/erc-dcc.el (erc-most-positive-int-bytes)
	(erc-most-positive-int-msb): Remove; no longer needed.
	* lisp/net/imap.el (imap-string-to-integer): Remove; unused.
	* lisp/org/org-element.el (org-element--cache-generate-key):
	Document fixnum limitation.

2018-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bugs when rounding to bignums

	Also, since Emacs historically reported a range error when
	rounding operations overflowed, do that consistently for all
	bignum overflows.
	* doc/lispref/errors.texi (Standard Errors):
	* doc/lispref/numbers.texi (Integer Basics): Document range errors.
	* src/alloc.c (range_error): Rename from integer_overflow.
	All uses changed.
	* src/floatfns.c (rounding_driver): When the result of a floating
	point rounding operation does not fit into a fixnum, put it
	into a bignum instead of always signaling an range error.
	* test/src/floatfns-tests.el (divide-extreme-sign):
	These tests now return the mathematically-correct answer
	instead of signaling an error.
	(bignum-round): Check that integers round to themselves.

2018-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	Undo part of previous change

	Issue spotted by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00758.html
	* lisp/vc/vc-hg.el (vc-hg--raw-dirstate-search):
	Go back to using eq on flen, since it must be a fixnum.

2018-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	Make vc-hg safe for bignums

	* lisp/vc/vc-hg.el (vc-hg--raw-dirstate-search):
	Use eql, not eq, on integers that could be bignums.
	(vc-hg--time-to-integer): Rename from vc-hg--time-to-fixnum.
	All uses changed.
	(vc-hg-state-fast): Remove test that 32-bit unsigned values
	must be fixnums.

2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	* src/buffer.h (DECODE_POSITION): Remove; unused.

2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Add bignum support to floor, ceiling, etc.

	Problem reported by Andy Moreton (Bug#32463#35 (d)).
	* src/floatfns.c (rounding_driver): Change the signature
	of the integer rounder to use mpz_t rather than EMACS_INT.
	All uses changed.  Support bignums.
	(ceiling2, floor2, truncate2, round2): Remove.
	All uses changed to rounddiv_q or to a GMP library function.
	(rounddiv_q): New function.
	* test/src/floatfns-tests.el (bignum-round): New test.

2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Move bignump, fixnump from C to Lisp

	* doc/lispref/objects.texi (Integer Type): Mention
	most-negative-fixnum and most-positive-fixnum as alternatives
	to fixnump and bignump.
	* lisp/subr.el (fixnump, bignump): Now written in Lisp.
	* src/data.c (Ffixnump, Fbignump): No longer written in C,
	as these new functions are not crucial for performance.

2018-08-21  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix assertion failure when reading 'BIGNUM.'

	Problem reported by Stefan Monnier (Bug#32476).
	* src/lread.c (string_to_number): Don't pass leading "+"
	or trailing "." or junk to make_bignum_str.
	* test/src/lread-tests.el (lread-string-to-number-trailing-dot):
	New test.

2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Audit use of lsh and fix glitches

	I audited use of lsh in the Lisp source code, and fixed the
	glitches that I found.  While I was at it, I replaced uses of lsh
	with ash when either will do.  Replacement is OK when either
	argument is known to be nonnegative, or when only the low-order
	bits of the result matter, and is a (minor) win since ash is a bit
	more solid than lsh nowadays, and is a bit faster.
	* lisp/calc/calc-ext.el (math-check-fixnum):
	Prefer most-positive-fixnum to (lsh -1 -1).
	* lisp/vc/vc-hg.el (vc-hg-state-fast): When testing fixnum width,
	prefer (zerop (ash most-positive-fixnum -32)) to (zerop (lsh -1
	32)) (Bug#32485#11).
	* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode):
	Tighten sanity-check for bytecode overflow, by checking that the
	result of (ash pc -8) is nonnegative.  Formerly this check was not
	needed since lsh was used and the number overflowed differently.
	* lisp/net/dns.el (dns-write): Fix some obvious sign typos in
	shift counts.  Evidently this part of the code has never been
	exercised.
	* lisp/progmodes/hideif.el (hif-shiftleft, hif-shiftright):
	* lisp/term/common-win.el (x-setup-function-keys):
	Simplify.
	* admin/unidata/unidata-gen.el, admin/unidata/uvs.el:
	* doc/lispref/keymaps.texi, doc/lispref/syntax.texi:
	* doc/misc/calc.texi, doc/misc/cl.texi, etc/NEWS.19:
	* lisp/arc-mode.el, lisp/calc/calc-bin.el, lisp/calc/calc-comb.el:
	* lisp/calc/calc-ext.el, lisp/calc/calc-math.el:
	* lisp/cedet/semantic/wisent/comp.el, lisp/composite.el:
	* lisp/disp-table.el, lisp/dos-fns.el, lisp/edmacro.el:
	* lisp/emacs-lisp/bindat.el, lisp/emacs-lisp/byte-opt.el:
	* lisp/emacs-lisp/bytecomp.el, lisp/emacs-lisp/cl-extra.el:
	* lisp/erc/erc-dcc.el, lisp/facemenu.el, lisp/gnus/message.el:
	* lisp/gnus/nndoc.el, lisp/gnus/nnmaildir.el, lisp/image.el:
	* lisp/international/ccl.el, lisp/international/fontset.el:
	* lisp/international/mule-cmds.el, lisp/international/mule.el:
	* lisp/json.el, lisp/mail/binhex.el, lisp/mail/rmail.el:
	* lisp/mail/uudecode.el, lisp/md4.el, lisp/net/dns.el:
	* lisp/net/ntlm.el, lisp/net/sasl.el, lisp/net/socks.el:
	* lisp/net/tramp.el, lisp/obsolete/levents.el:
	* lisp/obsolete/pgg-parse.el, lisp/org/org.el:
	* lisp/org/ox-publish.el, lisp/progmodes/cc-defs.el:
	* lisp/progmodes/ebnf2ps.el, lisp/progmodes/hideif.el:
	* lisp/ps-bdf.el, lisp/ps-print.el, lisp/simple.el:
	* lisp/tar-mode.el, lisp/term/common-win.el:
	* lisp/term/tty-colors.el, lisp/term/xterm.el, lisp/vc/vc-git.el:
	* lisp/vc/vc-hg.el, lisp/x-dnd.el, test/src/data-tests.el:
	Prefer ash to lsh when either will do.

2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bignum bugs with nth, elt, =

	* src/bytecode.c (exec_byte_code): Support bignums
	when implementing nth, elt, and =.
	* src/lisp.h (SMALL_LIST_LEN_MAX): New constant.
	* src/fns.c (Fnthcdr): Use it.
	(Felt): Do not reject bignum indexes.

2018-08-21  Glenn Morris  <rgm@gnu.org>

	Restore compatibility with Texinfo < 6

	* doc/lispref/numbers.texi (Integer Basics, Bitwise Operations):
	Don't use Texinfo 6.0's "@sup" command.

2018-08-21  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'integer-width'

	* etc/NEWS: Minor rewording of the recent addition.

	* doc/lispref/numbers.texi (Bitwise Operations): Use @dots{}
	for ellipsis.  Improve indexing.

2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid libgmp aborts by imposing limits

	libgmp calls ‘abort’ when given numbers too big for its
	internal data structures.  The numeric limit is large and
	platform-dependent; with 64-bit GMP 6.1.2 it is around
	2**2**37.  Work around the problem by refusing to call libgmp
	functions with arguments that would cause an abort.  With luck
	libgmp will have a better way to do this in the future.
	Also, introduce a variable integer-width that lets the user
	control how large bignums can be.  This currently defaults
	to 2**16, i.e., it allows bignums up to 2**2**16.  This
	should be enough for ordinary computation, and should
	help Emacs to avoid thrashing or hanging.
	Problem noted by Pip Cet (Bug#32463#71).
	* doc/lispref/numbers.texi, etc/NEWS:
	Document recent bignum changes, including this one.
	Improve documentation for bitwise operations, in the light
	of bignums.
	* src/alloc.c (make_number): Enforce integer-width.
	(integer_overflow): New function.
	(xrealloc_for_gmp, xfree_for_gmp):
	Move here from emacs.c, as it's memory allocation.
	(init_alloc): Initialize GMP here, rather than in emacs.c.
	(integer_width): New var.
	* src/data.c (GMP_NLIMBS_MAX, NLIMBS_LIMIT): New constants.
	(emacs_mpz_size, emacs_mpz_mul)
	(emacs_mpz_mul_2exp, emacs_mpz_pow_ui): New functions.
	(arith_driver, Fash, expt_integer): Use them.
	(expt_integer): New function, containing integer code
	that was out of place in floatfns.c.
	(check_bignum_size, xmalloc_for_gmp): Remove.
	* src/emacs.c (main): Do not initialize GMP here.
	* src/floatfns.c (Fexpt): Use expt_integer, which
	now contains integer code moved from here.
	* src/lisp.h (GMP_NUMB_BITS): Define if gmp.h doesn’t.

2018-08-21  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix glitches introduced by nthcdr changes

	* src/fns.c (Fnthcdr): Fix recently-introduced bug when
	nthcdr is supposed to yield a non-nil non-cons.
	Reported by Glenn Morris and by Pip Cet here:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00699.html
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00708.html
	Speed up nthcdr for small N, as suggested by Pip Cet here:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00707.html
	* test/src/fns-tests.el (test-nthcdr-simple): New test.

2018-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	Speed up (nthcdr N L) when L is circular

	Also, fix bug when N is a positive bignum, a problem reported
	by Eli Zaretskii and Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00690.html
	* src/fns.c (Fnthcdr): If a cycle is found, reduce the count
	modulo the cycle length before continuing.  This reduces the
	worst-case cost of (nthcdr N L) from N to min(N, C) where C is
	the number of distinct cdrs of L.  Reducing modulo the cycle
	length also allows us to do arithmetic with machine words
	instead of with GMP.
	* test/src/fns-tests.el (test-nthcdr-circular): New test.

2018-08-20  Andy Moreton  <andrewjmoreton@gmail.com>

	Define get_proc_addr in Cygwin-w32 build

	* src/w32common.h (get_proc_addr, DEF_DLL_FN, LOAD_DLL_FN): Move
	definitions here from src/w32.h.
	* src/decompress.c [WINDOWSNT]:
	* src/gnutls.c [WINDOWSNT]:
	* src/image.c [WINDOWSNT]:
	* src/json.c [WINDOWSNT]:
	* src/lcms.c [WINDOWSNT]:
	* src/w32font.c [WINDOWSNT]:
	* src/w32uniscribe.c:
	* src/xml.c [WINDOWSNT]: Include w32common.h.

2018-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	nthcdr now works with bignums

	Problem reported by Karl Fogel in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00671.html
	* src/fns.c (Fnthcdr): Support bignum counts.

2018-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix expt signedness bug --without-wide-int

	Problem reported by Federico in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00619.html
	* src/floatfns.c (Fexpt): Use TYPE_RANGED_FIXNUMP, not
	RANGED_FIXNUMP, to fix bug with unsigned comparison on
	platforms built --without-wide-int.

2018-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-mode.el: Add version header

2018-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	Add bignum support to expt

	Problem and initial solution reported by Andy Moreton in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00503.html
	* doc/lispref/numbers.texi (Math Functions): expt integer
	overflow no longer causes truncation; it now signals an error
	since bignum overflow is a big deal.
	* src/floatfns.c (Fexpt): Support bignum arguments.
	* test/src/floatfns-tests.el (bignum-expt): New test.

2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug with ‘mod’ and float+bignum

	Problem reported by Andy Moreton in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00442.html
	* src/floatfns.c (fmod_float): Work even if an arg is a bignum.
	* test/src/floatfns-tests.el (bignum-mod): New test.

2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-08-18 Avoid -Wcast-function-type warnings from casts
	* build-aux/config.sub, lib/gettimeofday.c: Copy from Gnulib.

2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak integer division

	* src/data.c (arith_driver): Reorder to remove unnecessary
	FIXNUMP.  Tighten test for whether to convert the divisor from
	fixnum to mpz_t.  Simplify.

2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify float_arith_driver

	* src/data.c (float_arith_driver): Simplify, as we needn’t
	worry about that 30-year-old compiler bug any more.

2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Minor fixups for intmax_t→mpz_t conversion

	* src/alloc.c (mpz_set_intmax_slow): Tighten assertion.
	Work even in the unlikely case where libgmp uses nails.
	* src/data.c (FIXNUMS_FIT_IN_LONG): New constant.
	(arith_driver): Use it to tighten compile-time checks.
	* src/lisp.h (mpz_set_intmax): Do not assume that converting
	an out-of-range value to ‘long’ is harmless, as it might raise
	a signal.  Use simpler expression; compiler can optimize.

2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Improve --with-wide-int mpz_t→fixnum conversion

	These tuneups and minor simplifications should affect only
	platforms with EMACS_INT wider than ‘long’.
	* src/alloc.c (make_number): If the number fits in long but
	not in fixnum, do not attempt to convert to fixnum again.
	Tighten the compile-time check for whether the second attempt
	is worth trying, from sizeof (long) < sizeof (EMACS_INT) to
	LONG_WIDTH < FIXNUM_BITS.  Do not bother computing the sign of
	the value to tighten the bounds for whether to try the second
	attempt, as it’s not worth the effort.  Do not call mpz_size,
	which is unnecessary since the number of bits is already known
	and the loop can iterate over a shift count instead.  Avoid
	unnecessary casts.  Use + instead of | where either will do,
	as + is typically better for optimization.

	Improve mpz_t to fixnum when --with-wide-int
	* src/alloc.c (make_number): Avoid undefined behavior
	when shifting an EMACS_UINT by more than EMACS_UINT_WIDTH bits.
	Check for integer overflow when shifting.

2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Improve bignum comparison (Bug#32463#50)

	* src/data.c (isnan): Remove, as we can assume C99.
	(bignumcompare): Remove, folding its functionality
	into arithcompare.
	(arithcompare): Compare bignums directly here.
	Fix bugs when comparing NaNs to bignums.
	When comparing a bignum to a fixnum, just look at the
	bignum’s sign, as that’s all that is needed.
	Decrease scope of locals when this is easy.
	* test/src/data-tests.el (data-tests-bignum): Test bignum vs NaN.

2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Document that ‘random’ is limited to fixnums

	Problem reported by Pip Cet (Bug#32463#20).
	* doc/lispref/numbers.texi (Random Numbers):
	* src/fns.c (Frandom): Adjust doc.

2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	Restore traditional lsh behavior on fixnums

	* doc/lispref/numbers.texi (Bitwise Operations): Document that
	the traditional (lsh A B) behavior is for fixnums, and that it
	is an error if A and B are both negative and A is a bignum.
	See Bug#32463.
	* lisp/subr.el (lsh): New function, moved here from src/data.c.
	* src/data.c (ash_lsh_impl): Remove, moving body into Fash
	since it’s the only caller now.
	(Fash): Check for out-of-range counts.  If COUNT is zero,
	return first argument instead of going through libgmp.  Omit
	lsh code since lsh is now done in Lisp.  Add code for shifting
	fixnums right, to avoid a round trip through libgmp.
	(Flsh): Remove; moved to lisp/subr.el.
	* test/lisp/international/ccl-tests.el (shift):
	Test for traditional lsh behavior, instead of assuming
	lsh is like ash when bignums are present.
	* test/src/data-tests.el (data-tests-logand)
	(data-tests-logior, data-tests-logxor, data-tests-ash-lsh):
	New tests.

2018-08-17  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warning in w32fns.c

	* src/w32fns.c (Fw32_read_registry): Avoid compiler warning
	regarding possible use of 'rootkey' without initializing it
	first.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.

2018-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	Improve ‘abs’ performance

	* src/floatfns.c (Fabs): Improve performance by not copying
	the argument if it would eql the result.  As a minor detail,
	don't assume fixnums are two’s complement.

2018-08-17  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of bignums

	* etc/NEWS: Enhance the announcement of bignums.

	* doc/lispref/numbers.texi (Integer Basics): Add a missing
	period.  Reported by Basil L. Contovounesios <contovob@tcd.ie>.

2018-08-17  Andy Moreton  <andrewjmoreton@gmail.com>

	Pacify -Wcast-function-type warnings in GCC 8.1

	* src/image.c: Move attributes into DEF_DLL_FN call.
	* src/dynlib.c (dynlib_addr): Use get_proc_addr.
	* src/w32.h: (get_proc_addr): New function.
	(LOAD_DLL_FN): Use it.
	(DEF_DLL_FN): Allow function attributes after argument
	list.  Add function pointer type used by LOAD_DLL_FN.
	* src/w32.c (open_process_token, get_token_information)
	(lookup_account_sid, get_sid_sub_authority)
	(get_sid_sub_authority_count, get_security_info)
	(get_file_security, set_file_security)
	(set_named_security_info)
	(get_security_descriptor_owner, get_security_descriptor_group)
	(get_security_descriptor_dacl, is_valid_sid, equal_sid)
	(get_length_sid, copy_sid, get_native_system_info)
	(get_system_times, create_symbolic_link)
	(is_valid_security_descriptor, convert_sd_to_sddl)
	(convert_sddl_to_sd, get_adapters_info, reg_open_key_ex_w)
	(reg_query_value_ex_w, expand_environment_strings_w)
	(init_environment, create_toolhelp32_snapshot)
	(process32_first, process32_next, open_thread_token)
	(impersonate_self, revert_to_self, get_process_memory_info)
	(get_process_working_set_size, global_memory_status)
	(global_memory_status_ex, init_winsock)
	(maybe_load_unicows_dll, globals_of_w32): Use get_proc_addr.
	* src/w32fns.c (setup_w32_kbdhook, Ffile_system_info)
	(get_dll_version, w32_reset_stack_overflow_guard)
	(w32_backtrace, globals_of_w32fns): Use get_proc_addr.
	* src/w32font.c (get_outline_metrics_w, get_text_metrics_w)
	(get_glyph_outline_w, get_char_width_32_w): Use get_proc_addr.
	* src/w32heap.c (init_heap): Use get_proc_addr.
	* src/w32menu.c (globals_of_w32menu): Use get_proc_addr.
	* src/w32proc.c (init_timers, sys_kill, w32_compare_strings):
	Use get_proc_addr.
	* src/w32uniscribe.c (syms_of_w32uniscribe): Use get_proc_addr.

2018-08-17  Allen Li  <darkfeline@felesatra.moe>

	Don't include text properties when making autoloads

	* lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
	Ignore text properties when finding autoload defs.  Otherwise,
	autoload generation is less deterministic, as the exact format of the
	generated autoloads depends on whether the files are visited in
	Emacs.  (Bug#32395)

2018-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	Fix problems with logxor etc. and fixnums

	These operations incorrectly treated negative fixnums as
	bignums greater than most-positive-fixnum.
	* src/alloc.c (mpz_set_intmax_slow): Avoid undefined
	behavior if signed unary negation overflows, while
	we’re in the neighborhood.
	(mpz_set_uintmax_slow): Remove.  All uses removed.
	* src/data.c (arith_driver): Treat fixnums as signed, not
	unsigned, even for logical operations.
	* src/lisp.h (mpz_set_uintmax): Remove.  All uses removed.
	* test/src/data-tests.el (data-tests-logand)
	(data-tests-logior, data-tests-logxor): New tests.

2018-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	Reject outlandishly-wide bignums

	Do not allow bignums that are so wide that their log base 2
	might not fit into a fixnum, as this will cause problems elsewhere.
	We already have a similar limitation for bool-vectors.
	* src/emacs.c (check_bignum_size, xmalloc_for_gmp): New function.
	(xrealloc_for_gmp): Check for too-large bignum.
	(main): Use xmalloc_for_gmp.

2018-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	Speed up logcount on bignums

	* src/data.c (Flogcount): Speed up by using the mpz equivalent
	of ~X instead of -X-1.

2018-08-16  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32454

	* lisp/files.el (find-alternate-file): Handle the wildcards case.
	(Bug#32454)

2018-08-16  Ken Brown  <kbrown@cornell.edu>

	Pacify GCC with -Wunused-but-set-variable

	* src/unexcw.c (read_exe_header):
	(fixup_executable):
	(unexec): Specify the "unused" attribute for variables that
	are used only in assertions.

2018-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	EUDC: Add more BBDB >= 3 support

	* lisp/net/eudcb-bbdb.el: Declare BBDB >= 3 functions.
	(eudc-bbdb-field): Add translation from company to
	organization.
	(eudc-bbdb-extract-phones, eudc-bbdb-extract-addresses)
	(eudc-bbdb-format-record-as-result): Call BBDB >= 3 functions.

2018-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	EUDC: Remove XEmacs support

	* lisp/net/eudc.el (eudc-mode, eudc-install-menu): Remove
	XEmacs support.
	* lisp/net/eudc-hotlist.el (eudc-hotlist-mode)
	(eudc-hotlist-emacs-menu): Likewise.
	* lisp/net/eudc-bob.el (eudc-bob-toggle-inline-display)
	(eudc-bob-popup-menu, eudc-bob-generic-keymap)
	(eudc-bob-sound-keymap, eudc-bob-url-keymap)
	(eudc-bob-mail-keymap): Likewise.
	* etc/NEWS (EUDC): Mention removal of XEmacs support.

2018-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	EUDC: Shorten eudc-tools-menu autoload

	* lisp/net/eudc.el: Remove XEmacs support from eudc-tools-menu
	autoload.

2018-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	EUDC: Add commentary to eudc-bob.el

	* lisp/net/eudc-bob.el: Add commentary.

2018-08-14  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of last change

	* lisp/hi-lock.el (hi-lock-set-pattern, hi-lock-face-buffer):
	Improve the doc strings.  (Bug#32365)

	* etc/NEWS:
	* doc/emacs/display.texi (Highlight Interactively): Clarify
	wording.

2018-08-14  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)

	Interactive Highlighting: prefix argument to select subexp

	* doc/emacs/display.texi (Highlight Interactively):
	* etc/NEWS: Document the change.
	* lisp/hi-lock.el (hi-lock-face-buffer, hi-lock-set-pattern): Use
	the prefix argument to highlight only the corresponding sub-expression
	of the regexp (Bug#32365).

2018-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	Rename --without-mini-gmp to --with-libgmp

	* configure.ac (HAVE_GMP): Rename ‘configure’ option from
	--without-mini-gmp to --with-libgmp.  All uses changed.
	* doc/lispref/numbers.texi (Predicates on Numbers): Large
	integers are always available.  Clarify how eq works on them.

2018-08-14  Stephen Berman  <stephen.berman@gmx.net>

	Fix last todo-edit-mode change

	* lisp/calendar/todo-mode.el (todo-edit-mode): For editing an item
	instead of the whole file, the current todo-file must be set from
	todo-global-current-todo-file.

	* test/lisp/calendar/todo-mode-tests.el (todo-test-current-file-in-edit-mode):
	New test.

2018-08-14  Stephen Berman  <stephen.berman@gmx.net>

	Fix exiting from editing todo archive file (bug#32437)

	* lisp/calendar/todo-mode.el (todo-edit-file): Make the warning
	also suitable for Todo Archive mode, and add more space to it.
	(todo-edit-quit): On quitting editing an archive file, return to
	the Todo Archive mode buffer editing was invoked in.
	(todo-check-format): Display a warning instead of a message when
	the categories sexp isn't as expected.
	(todo-mode-external-set): Remove.
	(todo-edit-mode): Set buffer local values of
	todo-current-todo-file and todo-categories from the todo or
	archive file being edited.
	(todo-categories-mode): Set buffer local values of
	todo-current-todo-file and todo-categories as before but directly
	instead of using superfluous todo-mode-external-set function.

	* test/lisp/calendar/todo-mode-tests.el (todo-test-edit-quit): New test.

2018-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	Remove more traces of misc (Bug#32405)

	Remove misc-objects-consed and the misc component of
	memory-use-count, since misc objects no longer exist.
	* doc/lispref/internals.texi, etc/NEWS: Mention this,
	and adjust better to recent removal of misc objects.
	* src/alloc.c (MEM_TYPE_MISC): Remove; no longer used.
	(Fmemory_use_counts): Omit misc count, since miscs
	no longer exist.
	(misc-objects-consed): Remove.

2018-08-14  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	34e75c1 Add comment about floating point test
	e73e683 Ibuffer: Add toggle ibuffer-do-toggle-lock
	12f7116 Ibuffer: Detect correctly the buffers running a process

2018-08-14  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	614cc65 ; * lisp/simple.el (line-move-visual): Fix typo.
	d2ad4ba Do not consider external packages to be removable (Bug#27822)
	ec0995c * src/alloc.c: Remove obsolete comments.
	ec6f588 Better support utf-8-with-signature and utf-8-hfs in HTML
	eb026a8 Don't use -Wabi compiler option

2018-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent changes to older GCC

	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00446.html
	* src/lisp.h (make_pointer_integer_unsafe):
	Port to older GCC.

2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Update doc strings for fixnum constants

	* src/data.c (most-positive-fixnum, most-negative-fixnum):
	Update doc strings in the light of fixnums.

2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Fix check for unsafe watch descriptor

	* src/lisp.h (make_pointer_integer_unsafe): New function.
	(make_pointer_integer): Use it.
	* src/gfilenotify.c (dir_monitor_callback): Omit redundant eassert.
	(Fgfile_add_watch): Signal an error instead of failing an
	assertion if the pointer does not work.

2018-08-13  Raimon Grau  <raimonster@gmail.com>

	Add uuid as allowed thingatpt symbol (Bug#32372)

	* etc/NEWS: Mention changes in thingatpt.el.
	* lisp/thingatpt.el (thing-at-point-uuid-regexp): Add regexp for uuid.
	(top-level): Add 'bounds-of-thing-at-point' operation for 'uuid'.
	* test/lisp/thingatpt-tests.el: Add tests for uuid at point.

2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc -Og -Wuninitialized

	This addresses the -Og uninitialized variable warnings I ran
	into on Fedora 28, which uses 8.1.1 20180712 (Red Hat 8.1.1-5).
	It also changes some explicit initializations to UNINIT
	when the variable does not actually need to be initialized.
	* src/process.c (connect_network_socket):
	* src/sysdep.c (system_process_attributes):
	* src/xfns.c (x_real_pos_and_offsets):
	* src/xterm.c (get_current_wm_state) [USE_XCB]:
	Add UNINIT.
	* src/editfns.c (tzlookup):
	* src/fns.c (Fnconc):
	* src/font.c (font_parse_fcname):
	* src/frame.c (x_set_frame_parameters):
	Prefer UNINIT to explicit initialization.

2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	* configure.ac (GMP_LIB): Set to -lgmp if --without-mini-gmp.

2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	Port better to x86 -fexcess-precision=fast

	Problem reported by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00380.html
	* src/data.c (arithcompare): Work around incompatibility
	between gcc -fexcess-precision=fast and the C standard on x86,
	by capturing the results of floating-point comparisons before
	the excess precision spontaneously decays.  Although this fix
	might not work in general, it does work here and is probably
	good enough for the platforms we care about.

2018-08-12  Stephen Berman  <stephen.berman@gmx.net>

	Update and improve todo-mode item insertion and editing code

	* lisp/calendar/todo-mode.el (todo-insert-item--param-key-alist)
	(todo-insert-item--keyof, todo-insert-item--this-key)
	(todo-insert-item--keys-so-far, todo-insert-item--args)
	(todo-insert-item--argleft. todo-insert-item--argsleft)
	(todo-insert-item--newargsleft, todo-insert-item--apply-args)
	(todo-edit-item--param-key-alist, todo-edit-item--prompt)
	(todo-edit-item--date-param-key-alist)
	(todo-edit-done-item--param-key-alist): Remove.
	(todo-insert-item--next-param): Reimplement to take advantage of
	lexical binding.
	(todo-insert-item): Adjust to new implementation of the above.
	(todo-edit-item--next-key): Incorporate now removed global
	variables, adjust signature accordingly, update use of pcase.
	(todo-edit-item): Adjust to changed signature of the above.

2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	Adjust .gdbinit to removal of misc objects

	* src/.gdbinit (xtype, xpr): Adjust.
	(xmisctype, xmiscfree): Remove.

2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	Make mini-gmp safe for --enable-gcc-warnings

	* configure.ac (GMP_OBJ): When building mini-gmp, compile
	mini-gmp-emacs.c, not mini-gmp.c.
	* lib-src/etags.c (NDEBUG): Don't attempt to redefine, in
	case the builder compiles with -DNDEBUG.
	* src/conf_post.h (NDEBUG) [!ENABLE_CHECKING && !NDEBUG]: Define.
	This avoids bloat in mini-gmp-emacs.o.
	* src/mini-gmp-emacs.c: New file, which pacifies --enable-gcc-warnings.

2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	Fix typo caught by zsh

	* lisp/Makefile.in (compile-clean): Fix typo; missing ";" (Bug#32423).

2018-08-12  João Távora  <joaotavora@gmail.com>

	jsonrpc-shutdown's cleanup also kills stderr buffer

	* lisp/jsonrpc.el
	(Version): Bump to 1.0.6
	(jsonrpc-shutdown): Also kill stderr buffer

2018-08-12  João Távora  <joaotavora@gmail.com>

	Revert "Make jsonrpc-shutdown a noop if process isn't running"

	This reverts commit c580443325a3d071625185876a8f28e04793c625.  It
	leads to situations where the sentinel hasn't run yet, which brings
	problems if the normal process isn't running, but the stderr
	pseudo-process still is.

	* lisp/jsonrpc.el (jsonrpc-shutdown): Always enter loop.

2018-08-12  Andreas Schwab  <schwab@linux-m68k.org>

	Ensure no padding after union vectorlike_header

	Instead of increasing GCALIGNMENT align union vectorlike_header by
	adding a Lisp_Object member.

	* src/lisp.h (GCALIGNMENT): Revert last change.
	(union vectorlike_header): Add align member.
	(header_size): Verify the same as sizeof (union
	vectorlike_header)

2018-08-12  Andreas Schwab  <schwab@linux-m68k.org>

	Avoid padding after union vectorlike_header

	The PSEUDOVECTORSIZE macro requires that the first member after union
	vectorlike_header has the same offset in all pseudo vector structures.

	* src/lisp.h (GCALIGNMENT) [!USE_LSB_TAG]: Use alignment of
	Lisp_Object.

2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	New 'configure' arg --with-mini-gmp

	* configure.ac: It lets the builder override default of whether
	mini-gmp is used.  Use AC_SEARCH_LIBS as per Autoconf manual.

2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-08-11 verify: port 'assume' to traditional tools
	* build-aux/config.sub, lib/regcomp.c, lib/verify.h:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Remove stray union Lisp_Misc doc (Bug#32405#35).

2018-08-11  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Simplify mark_object for pseudovectors

	Suggested by Pip Cet (Bug#32405#14).
	* src/alloc.c (mark_object): Remove unnecessary special cases for
	PVEC_MARKER, PVEC_BOOL_VECTOR, PVEC_MISC_PTR, PVEC_USER_PTR, and
	PVEC_FINALIZER.

	change is to free up an enum Lisp_Type tag value, a scarce

2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Turn misc objects into pseudovectors

	Eliminate the category of miscellaneous objects, and turn all
	such objects into pseudovectors.  The immediate motivation
	for this change is to free up an enum Lisp_Type tag value, a
	scarce resource that can be better used elsewhere.  However,
	this change is worthwhile in its own right, as it improves
	performance slightly on my platform, 0.3% faster for 'make
	compile-always' on Fedora 28, and it simplifies the garbage
	collector and interpreter (Bug#32405).
	* doc/lispref/internals.texi (Garbage Collection):
	* etc/NEWS:
	Document change to garbage-collect return value.
	* src/alloc.c (total_markers, total_free_markers):
	(union aligned_Lisp_Misc, MARKER_BLOCK_SIZE)
	(struct marker_block, marker_block, marker_block_index)
	(misc_free_list, allocate_misc, live_misc_holding)
	(live_misc_p, sweep_misc):
	* src/lisp.h (lisp_h_MARKERP, lisp_h_MISCP, MARKERP, MISCP)
	(Lisp_Misc, enum Lisp_Misc_Type, Lisp_Misc_Free)
	(Lisp_Misc_Marker, Lisp_Misc_Overlay, Lisp_Misc_Finalizer)
	(Lisp_Misc_Ptr, Lisp_Misc_User_Ptr, Lisp_Misc_Limit)
	(Lisp_Misc_Bignum)
	(XSETMISC, struct Lisp_Misc_Any, XMISCANY, XMISCTYPE)
	(struct Lisp_Free, union Lisp_Misc, XMISC):
	Remove.  All uses removed.
	(cleanup_vector): Clean up objects that were formerly misc
	and are now pseudovectors.
	(make_misc_ptr, build_overlay, Fmake_marker, build_marker)
	(make_bignum_str, make_number, make_pure_bignum)
	(make_user_ptr, Fmake_finalizer):
	Build as pseudovectors, not as misc objects.
	(mark_finalizer_list, queue_doomed_finalizers)
	(compact_undo_list, mark_overlay, mark_object)
	(unchain_dead_markers):
	Mark as vector-like objects, not as misc objects.
	(mark_maybe_object, mark_maybe_pointer, valid_lisp_object_p)
	(total_bytes_of_live_objects, survives_gc_p):
	* src/fns.c (sxhash):
	No need to worry about misc objects.
	(garbage_collect_1): Do not generate a 'misc' component.
	(syms_of_alloc): No need for 'misc' symbol.
	* src/buffer.c (overlays_at, overlays_in, overlay_touches_p)
	(overlay_strings, recenter_overlay_lists)
	(fix_start_end_in_overlays, fix_overlays_before)
	(Foverlay_lists, report_overlay_modification)
	(evaporate_overlays):
	* src/editfns.c (overlays_around):
	* src/data.c (Ftype_of):
	* src/fns.c (internal_equal):
	* src/lisp.h (mint_ptrp, xmint_pointer, FINALIZERP)
	(XFINALIZER, MARKERP, XMARKER, OVERLAYP, XOVERLAY, USER_PTRP)
	(XUSER_PTR, BIGNUMP, XBIGNUM):
	* src/print.c (print_vectorlike, print_object):
	* src/undo.c (record_marker_adjustments):
	* src/xdisp.c (load_overlay_strings):
	Formerly misc objects are now pseudovectors.
	* src/lisp.h (PVEC_MARKER, PVEC_OVERLAY, PVEC_FINALIZER)
	(PVEC_BIGNUM, PVEC_MISC_PTR, PVEC_USER_PTR):
	New constants, replacing their misc versions.  All uses changed.
	(struct Lisp_Marker, struct Lisp_Overlay, struct Lisp_Misc_Ptr)
	(struct Lisp_Bignum, struct Lisp_User_Ptr, struct Lisp_Finalizer):
	Make usable as a pseudovector by using a pseudovector header,
	replacing any DIY components, and putting Lisp_Object members
	first.  All uses changed.

2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify Oracle Studio 12.6

	* src/xfns.c (Fx_frame_restack):
	* src/xterm.c (x_io_error_quitter): Omit unreachable code.

2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Reject old libgmp that lack mpz_roinit_n

	* configure.ac (HAVE_GMP): Port to RHEL 6.9, which has
	libgmp 3.5, which predates mpz_roinit_n.

2018-08-11  Tom Tromey  <tom@tromey.com>

	Merge branch 'feature/bignum'

2018-08-11  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32226, hopefully

	* test/lisp/shadowfile-tests.el: Set Tramp variables for hydra.

2018-08-11  João Távora  <joaotavora@gmail.com>

	Fix blunder in last commit for lisp/jsonrpc.el

	* lisp/jsonrpc.el (jsonrpc-shutdown): Use jsonrpc--process.

2018-08-11  João Távora  <joaotavora@gmail.com>

	Add option to cleanup buffers to jsonrpc-shutdown

	* lisp/jsonrpc.el (Version): Bump to 1.0.5
	(jsonrpc-shutdown): Add an option to cleanup process buffer.

2018-08-11  João Távora  <joaotavora@gmail.com>

	* lisp/jsonrpc.el (jsonrpc-request): Clarify comment.

2018-08-11  João Távora  <joaotavora@gmail.com>

	Make jsonrpc-shutdown a noop if process isn't running

	* lisp/jsonrpc.el
	(Version): Bump to 1.0.4
	(jsonrpc-shutdown): Noop if server isn't running.

2018-08-11  Andy Moreton  <andrewjmoreton@gmail.com>

	Avoid calling vc backend if 'vc-display-status' is nil

	* lisp/vc/vc-hooks.el (vc-mode-line): Avoid calling VC backend if
	'vc-display-status' is nil.  (Bug#32225)

2018-08-11  Eli Zaretskii  <eliz@gnu.org>

	Give auto-save-no-message a proper version attribute

	* lisp/cus-start.el (standard): Give 'auto-save-no-message' the
	proper version attribute.  (Bug#31039)

2018-08-11  Federico Tedin  <federicotedin@gmail.com>

	Add variable auto-save-no-message

	* src/keyboard.c (auto-save-no-message): New variable, allows
	suppressing auto-saving message.
	* lisp/cus-start.el (standard): Add 'auto-save-no-message' variable.
	* doc/emacs/files.texi (Auto Save): Document 'auto-save-no-message'.
	* etc/NEWS: Mention 'auto-save-no-message'.  (Bug#31039)

2018-08-11  Eli Zaretskii  <eliz@gnu.org>

	Reinstate the 'tis620-2533' character set

	This is a partial revert of "Make 'tis620-2533' character set be an
	alias for 'thai-iso8859-11'" commit from Jul 28, 2018.
	* lisp/international/mule-conf.el (tis620-2533): No longer an
	alias for thai-iso8859-11.  Instead, reinstate the original
	definition of tis620-2533, but without eight-bit-control in
	the :superset attribute.  For the details, see
	https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00117.html
	and the surrounding discussions.
	* lisp/international/fontset.el (font-encoding-alist)
	(font-encoding-charset-alist): Reinstate tis620-2533 charset.
	* lisp/language/thai.el (thai-tis620): Restore the original
	:charset-list.
	("Thai"): Restore the original nonascii-translation.
	* lisp/w32-fns.el: Use tis620-2533 instead of thai-iso8859-11.

2018-08-11  Michael Albinus  <michael.albinus@gmx.de>

	Editorial changes in tramp.texi

	* doc/misc/tramp.texi (Bug Reports): Tramp buffers shall be
	appended as attachments to bug reports.
	(Frequently Asked Questions): New item, determining remote buffers.

2018-08-11  Nikolaus Rath  <Nikolaus@rath.org>

	Make nnimap support IMAP namespaces

	* lisp/gnus/nnimap.el (nnimap-use-namespaces): Introduce new
	server variable.
	(nnimap-group-to-imap, nnimap-get-groups): Transform IMAP group
	names to Gnus group name by stripping / prefixing personal
	namespace prefix.
	(nnimap-open-connection-1): Ask server for namespaces and store
	them.

	* lisp/gnus/nnimap.el (nnimap-request-group-scan)
	(nnimap-request-create-group, nnimap-request-delete-group)
	(nnimap-request-rename-group, nnimap-request-move-article)
	(nnimap-process-expiry-targets)
	(nnimap-request-update-group-status)
	(nnimap-request-accept-article, nnimap-request-list)
	(nnimap-retrieve-group-data-early, nnimap-change-group)
	(nnimap-split-incoming-mail): Use nnimap-group-to-imap.
	(nnimap-group-to-imap): New function to map Gnus group names to
	IMAP folder names.  (Bug#21057)

2018-08-11  Eli Zaretskii  <eliz@gnu.org>

	Improve error message when Hunspell dictionaries are misconfigured

	* lisp/textmodes/ispell.el
	(ispell-find-hunspell-dictionaries): Produce a meaningful
	error message if Hunspell dictionaries are misconfigured.
	(Bug#32319)

2018-08-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	71c92d8 Fix copying text properties by 'format'
	96be6b6 Improve error messages regarding initial-buffer-choice (Bug#2...
	00fb127 * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01):...

	Conflicts:
		lisp/startup.el

2018-08-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	5afbf62 Fix emacsclient check for term.el buffer (Bug#21041)
	5132a58 Improve documentation of 'set-fontset-font'
	cd90325 Improve documentation of M-?
	155a885 Reinterpret Esperanto characters in iso-transl as iso-8859-3.
	a0ef733 Fix Flyspell mode when several languages are mixed in a buffer

2018-08-10  Michael Albinus  <michael.albinus@gmx.de>

	Another try to fix Bug#32226

	* test/lisp/shadowfile-tests.el (shadow-test06-literal-groups)
	(shadow-test07-regexp-groups, shadow-test08-shadow-todo)
	(shadow-test09-shadow-copy-files): Use `set-visited-file-name'
	instead of setting the value in `buffer-file-name' directly.
	(Bug#32226)

2018-08-09  João Távora  <joaotavora@gmail.com>

	Allow completely disabling event logging in jsonrpc.el

	Pretty printing the event sexp can be very slow when very big messages
	are involved.

	* lisp/jsonrpc.el (Version): Bump to 1.0.3
	(jsonrpc-connection): Tweak docstring for
	jsonrpc--event-buffer-scrollback-size.
	(jsonrpc--log-event): Only log if max size is positive.

2018-08-09  Tom Tromey  <tom@tromey.com>

	Fix up for bignums after merge from trunk

	* src/character.c (char_width): Use XFIXNUM.
	* src/editfns.c (styled_format): Use XFIXNUM, XUFIXNUM.
	* src/fns.c (Fproper_list_p): Use make_fixnum.

2018-08-09  Tom Tromey  <tom@tromey.com>

	Merge remote-tracking branch 'origin/master' into feature/bignum

2018-08-09  Tom Tromey  <tom@tromey.com>

	Use mpz_sgn rather than comparisons against 0

	* src/data.c (Fmod): Use mpz_sgn.
	* src/lisp.h (NATNUMP): Use mpz_sgn.

2018-08-09  Andy Moreton  <andrewjmoreton@gmail.com>

	Do not use GMP_NUMB_BITS

	* src/alloc.c (make_number): Use mp_bits_per_limb, not GMP_NUMB_BITS.

2018-08-09  Charles A. Roelli  <charles@aurox.ch>

	Update src/{ns,mac}*.m to use bignum-compatible macros

	* src/nsterm.m:
	* src/nsselect.m:
	* src/nsmenu.m:
	* src/nsimage.m:
	* src/nsfont.m:
	* src/nsfns.m:
	* src/macfont.m: Replace
	"make_number"		-> "make_fixnum",
	"XINT"			-> "XFIXNUM",
	"XFASTINT"		-> "XFIXNAT",
	"TYPE_RANGED_INTEGERP"	-> "TYPE_RANGED_FIXNUMP",
	"RANGED_INTEGERP"	-> "RANGED_FIXNUMP",
	"CHECK_NATNUM"		-> "CHECK_FIXNAT",
	"CHECK_NUMBER"		-> "CHECK_FIXNUM",
	"INTEGERP"		-> "FIXNUMP",
	"NUMBERP"		-> "FIXED_OR_FLOATP",
	as done in the following changes:
	2018-07-06 Rename integerp->fixnum, etc, in preparation
	for bignums (42fe787b)
	2018-08-07 More macro renamings for bignum (d1ec3a0a)

2018-08-09  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32304

	* test/lisp/net/tramp-tests.el (tramp-test45-unload):
	Handle tramp-archive autoloaded objects.  Remove tag :unstable.

2018-08-09  João Távora  <joaotavora@gmail.com>

	Trim JSONRPC events buffer when it's too large

	* lisp/jsonrpc.el (Version): Bump to 1.0.2
	(jsonrpc--events-buffer-scrollback-size): New
	jsonrpc-connection slot.
	(jsonrpc--log-event): Use it to trim buffer.

2018-08-09  João Távora  <joaotavora@gmail.com>

	Synchronous JSONRPC requests can be canceled on user input

	This allows building more responsive interfaces, such as a snappier
	completion backend.

	* lisp/jsonrpc.el (Version): Bump to 1.0.1
	(jsonrpc-connection-receive): Don't warn when continuation isn't
	found.
	(jsonrpc-request): Add parameters CANCEL-ON-INPUT and
	CANCEL-ON-INPUT-RETVAL.

2018-08-08  Paul Eggert  <eggert@cs.ucla.edu>

	Minor pseudovector allocation cleanups

	* src/alloc.c (VECTOR_BLOCK_SIZE, VECTOR_BLOCK_BYTES)
	(VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX):
	Prefer enums to macros where either will do.
	(allocate_vector_from_block): Arg is ptrdiff_t, not size_t.
	Use eassume instead of eassert.
	(PSEUDOVEC_STRUCT): New macro, which verifies the already-existing
	assumption that the vector-like objects are small.
	(cleanup_vector): Use it.  Use if-then-else systematically;
	this lets GCC do a bit better job.

2018-08-08  Paul Eggert  <eggert@cs.ucla.edu>

	* src/alloc.c (VBLOCK_BYTES_MAX): Use vroundup_ct, not
	vroundup, so that can be used in static assertions.

2018-08-08  Tom Tromey  <tom@tromey.com>

	Fix mod-test-sum-test for bignums

	* test/src/emacs-module-tests.el (mod-test-sum-test): Update
	for bignums.

2018-08-08  Tom Tromey  <tom@tromey.com>

	Handle leading "+" when converting string to bignum

	* src/lread.c (string_to_number): Skip leading "+" when calling
	make_bignum_str.

2018-08-08  Tom Tromey  <tom@tromey.com>

	Use mpz_import in mpz_set_uintmax_slow

	* src/alloc.c (mpz_set_uintmax_slow): Use mpz_import.

2018-08-08  Tom Tromey  <tom@tromey.com>

	Make purecopy work for bignums

	* src/alloc.c (make_pure_bignum): New function.
	(purecopy): Use it.

2018-08-08  Michael Albinus  <michael.albinus@gmx.de>

	Fix problems in tramp-tests

	* test/lisp/net/tramp-tests.el (tramp-test45-unload): Filter out
	tramp-archive objects.  (Bug#32304)

	* test/lisp/net/tramp-tests.el (tramp-test43-auto-load):
	Add skip condition.  (Bug#32304)
	(tramp-test43-unload): Tag as :unstable.

2018-08-08  Michael Albinus  <michael.albinus@gmx.de>

	Filter out tramp-archive objects in tramp-test45-unload

	* test/lisp/net/tramp-tests.el (tramp-test45-unload): Filter out
	tramp-archive objects.  (Bug#32304)

2018-08-08  Michael Albinus  <michael.albinus@gmx.de>

	Tag expensive tests in tramp-archive.el  (Bug#30807)

	* test/lisp/net/tramp-archive-tests.el (tramp-archive-test44-auto-load)
	(tramp-archive-test44-delay-load): Rename.
	(tramp-archive-test07-file-exists-p)
	(tramp-archive-test08-file-local-copy)
	(tramp-archive-test09-insert-file-contents)
	(tramp-archive-test11-copy-file)
	(tramp-archive-test15-copy-directory)
	(tramp-archive-test16-directory-files)
	(tramp-archive-test17-insert-directory)
	(tramp-archive-test18-file-attributes)
	(tramp-archive-test19-directory-files-and-attributes)
	(tramp-archive-test20-file-modes)
	(tramp-archive-test21-file-links)
	(tramp-archive-test26-file-name-completion)
	(tramp-archive-test44-auto-load)
	(tramp-archive-test44-delay-load): Tag them as :expensive-test,
	because they run longer than 10 seconds.  (Bug#30807)

2018-08-07  Tom Tromey  <tom@tromey.com>

	More macro renamings for bignum

	* src/alloc.c, src/bidi.c, src/buffer.c, src/buffer.h, src/bytecode.c,
	src/callint.c, src/callproc.c, src/casefiddle.c, src/casetab.c,
	src/category.c, src/ccl.c, src/character.c, src/character.h,
	src/charset.c, src/charset.h, src/chartab.c, src/cmds.c, src/coding.c,
	src/composite.c, src/composite.h, src/data.c, src/dbusbind.c,
	src/decompress.c, src/dired.c, src/dispextern.h, src/dispnew.c,
	src/disptab.h, src/doc.c, src/dosfns.c, src/editfns.c,
	src/emacs-module.c, src/emacs.c, src/eval.c, src/fileio.c,
	src/floatfns.c, src/fns.c, src/font.c, src/font.h, src/fontset.c,
	src/frame.c, src/frame.h, src/fringe.c, src/ftcrfont.c, src/ftfont.c,
	src/gfilenotify.c, src/gnutls.c, src/gtkutil.c, src/image.c,
	src/indent.c, src/insdel.c, src/intervals.c, src/json.c,
	src/keyboard.c, src/keymap.c, src/kqueue.c, src/lcms.c, src/lisp.h,
	src/lread.c, src/macros.c, src/marker.c, src/menu.c, src/minibuf.c,
	src/msdos.c, src/print.c, src/process.c, src/profiler.c, src/search.c,
	src/sound.c, src/syntax.c, src/syntax.h, src/sysdep.c, src/term.c,
	src/termhooks.h, src/textprop.c, src/undo.c, src/w32.c,
	src/w32console.c, src/w32fns.c, src/w32font.c, src/w32inevt.c,
	src/w32proc.c, src/w32select.c, src/w32term.c, src/w32term.h,
	src/w32uniscribe.c, src/window.c, src/xdisp.c, src/xfaces.c,
	src/xfns.c, src/xfont.c, src/xftfont.c, src/xmenu.c, src/xml.c,
	src/xrdb.c, src/xselect.c, src/xsettings.c, src/xterm.c, src/xwidget.c
	Rename XINT->XFIXNUM, XFASTINT->XFIXNAT, XUINT->XUFIXNUM.

2018-08-07  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults in jason-serialize on MS-Windows

	* src/json.c (Fjson_serialize): Free the string with
	'json_free', not 'free', since it was allocated with
	'json_malloc'.  (Bug#32381)

2018-08-06  Stephen Berman  <stephen.berman@gmx.net>

	Fix todo-mode bug involving active region (bug#32379)

	* lisp/calendar/todo-mode.el (todo-forward-category)
	(todo-jump-to-category, todo-toggle-view-done-items)
	(todo-toggle-view-done-only, todo-edit-quit, todo-search)
	(todo-go-to-source-item, todo-diary-goto-entry): Deactivate the
	mark when the region is active.

2018-08-06  Stephen Berman  <stephen.berman@gmx.net>

	Correct and improve part of previous todo-mode.el fix

	* lisp/calendar/todo-mode.el (todo-jump-to-category): Improve code
	by using bound-and-true-p.  This leaves a byte-compiler warning
	unsilenced, but ideally, there shouldn't be a warning here (see
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00131.html).
	(todo--fifiles-history): New variable.
	(todo-find-filtered-items-file): Use it to fix the filtered items
	files history list for completing-read.

2018-08-06  Eli Zaretskii  <eliz@gnu.org>

	Fix the MS-Windows build as followup to Gnulib regex import

	* lib-src/ntlib.c (nl_langinfo): New function.  (Bug#32194)

2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Spruce up some regex-emacs comments

	* src/regex-emacs.c, src/regex-emacs.h: Update comments.

2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Remove always-0 struct re_pattern_buffer members

	* src/regex-emacs.h (struct re_pattern_buffer):
	Remove no_sub, not_bol, not_eol.  They are always zero.
	All uses removed, and code simplified.

2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify regex-emacs by assuming Emacs syntax

	* src/regex-emacs.c (reg_syntax_t)
	(RE_BACKSLASH_ESCAPE_IN_LISTS, RE_BK_PLUS_QM)
	(RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS)
	(RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS)
	(RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE)
	(RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT)
	(RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS)
	(RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES)
	(RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING)
	(RE_NO_GNU_OPS, RE_FRUGAL, RE_SHY_GROUPS)
	(RE_NO_NEWLINE_ANCHOR, RE_SYNTAX_EMACS, RE_TRANSLATE_P):
	Remove.  All uses removed and resulting code simplified.
	(TRANSLATE): Treat nil as an absent translation table, not zero.
	All uses changed.

2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify regex-emacs code by assuming Emacs

	* src/regex-emacs.c: Omit no-longer-needed AIX code.
	Don’t ignore GCC warnings.
	Include regex-emacs.h immediately after config.h,
	to test that it’s independent.
	Omit the "#ifndef emacs" and "#ifdef REGEX_MALLOC" and
	"#if WIDE_CHAR_SUPPORT" or "#ifdef _REGEX_RE_COMP",
	code, as we are no longer interested in compiling outside
	Emacs (with or without debugging or native wide char support)
	or in avoiding alloca.
	(REGEX_EMACS_DEBUG, regex_emacs_debug): Rename from DEBUG and debug,
	to avoid collision with other DEBUGS.  All uses changed.
	In debugging output, change %ld and %zd to %zu when appropriate.
	No need to include stddef.h, stdlib.h, sys/types.h, wchar.h,
	wctype.h, locale/localeinfo.h, locale/elem-hash.h, langinfo.h,
	libintl.h, unistd.h, stdbool.h, string.h, stdio.h, assert.h.
	All uses of assert changed to eassert.
	(RE_DUP_MAX, reg_syntax_t, RE_BACKSLASH_ESCAPE_IN_LISTS)
	(RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS)
	(RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS, RE_DOT_NEWLINE)
	(RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE, RE_INTERVALS)
	(RE_LIMITED_OPS, RE_NEWLINE_ALT, RE_NO_BK_BRACES)
	(RE_NO_BK_PARENS, RE_NO_BK_REFS, RE_NO_BK_VBAR)
	(RE_NO_EMPTY_RANGES, RE_UNMATCHED_RIGHT_PAREN_ORD)
	(RE_NO_POSIX_BACKTRACKING, RE_NO_GNU_OPS, RE_FRUGAL)
	(RE_SHY_GROUPS, RE_NO_NEWLINE_ANCHOR, RE_SYNTAX_EMACS)
	(REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE)
	(REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN)
	(REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT)
	(REG_EEND, REG_ESIZE, REG_ERPAREN, REG_ERANGEX, REG_ESIZEBR)
	(reg_errcode_t, REGS_UNALLOCATED, REGS_REALLOCATE, REGS_FIXED)
	(RE_NREGS, RE_TRANSLATE, RE_TRANSLATE_P):
	Move here from regex-emacs.h.
	(RE_NREGS): Define unconditionally.
	(boolean): Remove.  All uses replaced by bool.
	(WIDE_CHAR_SUPPORT, regfree, regexec, regcomp, regerror):
	(re_set_syntax, re_syntax_options, WEAK_ALIAS, gettext, gettext_noop):
	Remove.  All uses removed.
	(malloc, realloc, free): Do not redefine.  Adjust all callers
	to use xmalloc, xrealloc, xfree instead.
	(re_error_msgid): Use C99 to avoid need to keep in same order
	as reg_error_t.
	(REGEX_USE_SAFE_ALLOCA): Simplify by using USE_SAFE_ALLOCA.
	(REGEX_ALLOCATE, REGEX_REALLOCATE, REGEX_FREE, REGEX_ALLOCATE_STACK)
	(REGEX_REALLOCATE_STACK, REGEX_FREE_STACK): Remove.
	All callers changed to use the non-REGEX_MALLOC version.
	(REGEX_TALLOC): Remove.  All callers changed to use SAFE_ALLOCA.
	(re_set_syntax): Remove; unused.
	(MATCH_MAY_ALLOCATE): Remove; now always true.  All uses simplified.
	(INIT_FAILURE_ALLOC): Define unconditionally.
	(re_compile_fastmap): Now static.
	(re_compile_pattern): Avoid unnecessary cast.
	* src/regex-emacs.h (EMACS_REGEX_H): Renamed from _REGEX_H to
	avoid possible collision with glibc.
	Don’t include sys/types.h.  All uses of ssize_t changed to ptrdiff_t.
	Don’t worry about C++ or VMS.
	Assume emacs is defined and that _REGEX_RE_COMP and WIDE_CHAR_SUPPORT
	are not.
	Define struct re_registers before including lisp.h.
	(REG_ENOSYS, RE_TRANSLATE_TYPE): Remove; all uses replaced by
	Lisp_Object.
	(regoff_t): Remove.  All uses replaced with ptrdiff_t.
	(re_match, regcomp, regexec, regerror, regfree):
	Remove decl of nonexistent functions.
	(RE_DEBUG, RE_SYNTAX_AWK, RE_SYNTAX_GNU_AWK)
	(RE_SYNTAX_POSIX_AWK, RE_SYNTAX_GREP, RE_SYNTAX_EGREP)
	(RE_SYNTAX_POSIX_EGREP, RE_SYNTAX_ED, RE_SYNTAX_SED)
	(_RE_SYNTAX_POSIX_COMMON, RE_SYNTAX_POSIX_BASIC)
	(RE_SYNTAX_POSIX_MINIMAL_BASIC, RE_SYNTAX_POSIX_EXTENDED)
	(RE_SYNTAX_POSIX_MINIMAL_EXTENDED, REG_EXTENDED, REG_ICASE)
	(REG_NEWLINE, REG_NOSUB, REG_NOTBOL, REG_NOTEOL, regmatch_t):
	Remove; unused.
	* src/search.c (Fset_match_data): Simplify range test now that
	we know it’s ptrdiff_t.

2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Use Gnulib regex for lib-src

	Emacs regular expressions forked from everyone else long ago.
	This makes it official and should allow simplification later.
	etags.c now uses the glibc regex API, falling back on a
	Gnulib-supplied substitute lib/regex.c if necessary.
	Emacs proper now uses its own regular expression module.
	Although this patch may look dauntingly large, most of it
	was generated automatically by admin/merge-gnulib
	and contains an exact copy of the glibc regex source,
	and the by-hand changes do not grow the Emacs source code.
	* admin/merge-gnulib (GNULIB_MODULES): Add regex.
	(AVOIDED_MODULES): Add btowc, langinfo, lock, mbrtowc, mbsinit,
	nl_langinfo, wchar, wcrtomb, wctype-h.
	* lib-src/Makefile.in (regex-emacs.o): Remove; Gnulib does it now.
	(etags_deps, etags_libs): Remove regex-emacs.o.
	* lib-src/etags.c: Go back to including regex.h.
	(add_regex): Use unsigned char translation array,
	since glibc regex requires that.
	* lib/Makefile.in (not_emacs_OBJECTS, for_emacs_OBJECTS): New macros.
	(libegnu_a_OBJECTS): Use them, to avoid building e-regex.o.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
	* lib/regex_internal.h, lib/regexec.c, m4/builtin-expect.m4:
	* m4/eealloc.m4, m4/glibc21.m4, m4/mbstate_t.m4, m4/regex.m4:
	New files, copied from Gnulib.
	* src/regex-emacs.h, src/conf_post.h:
	(RE_TRANSLATE_TYPE, RE_TRANSLATE, RE_TRANSLATE_P):
	Move from src/conf_post.h to src/regex-emacs.h,
	so that they don’t interfere with compiling lib/regex.c.

2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Rename src/regex.c to src/regex-emacs.c.

	This is in preparation for using Gnulib regex for etags,
	to avoid collisions in include directives.
	* src/regex-emacs.c: Rename from src/regex.c.
	* src/regex-emacs.h: Rename from src/regex.h.  All uses changed.
	* test/src/regex-emacs-tests.el: Rename from test/src/regex-tests.el.

2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2018-08-05 Fix link error regarding 'rpl_environ'
	* build-aux/config.guess, lib/unistd.in.h, lib/warn-on-use.h:
	* m4/extern-inline.m4: Copy from Gnulib.

2018-08-05  Andy Moreton  <andrewjmoreton@gmail.com>

	Fix test and comment in CCL change

	* lisp/international/ccl.el (ccl-fixnum): Update comment.
	* test/lisp/international/ccl-tests.el (prog-midi-dump): Add
	trailing space to expected result.

2018-08-04  Mike Kupfer  <mkupfer@alum.berkeley.edu>
	    Jeffrey C Honig  <jch@honig.net>

	Fix mh-redistribute to work with nmh 1.5 and identities (SF#268)


	* lisp/mh-e/mh-comp.el (mh-redistribute): Add a non-optional
	identity parameter.  Use mh-bare-components to generate a draft,
	then apply identity-specific settings.  Add more details to the
	"Resent" annotation line.
	(mh-dist-formfile): New.
	(mh-bare-components): Add a formfile argument.
	(mh-edit-again, mh-send-sub): Track the change to
	mh-bare-components.
	* lisp/mh-e/mh-identity.el (mh-select-identity)
	(mh-identity-field): New.

2018-08-04  Tom Tromey  <tom@tromey.com>

	Fix hash functions for bignums

	* src/fns.c (cmpfn_eql, hashfn_eql): Handle bignums.
	(sxhash_bignum): New function.
	(sxhash): Use it.
	* test/src/fns-tests.el (test-bignum-hash): New test.

2018-08-04  Tom Tromey  <tom@tromey.com>

	Fix bignum comparisons with NaN

	* src/data.c (isnan): Move earlier.
	(bignumcompare): Explicitly handle NaN.
	* test/src/data-tests.el (data-tests-min): Add NaN tests
	for bignum.
	(data-check-sign): Fix for previous patch.
	* test/src/fns-tests.el (test-bignum-eql): Add NaN test.

2018-08-04  Andy Moreton  <andrewjmoreton@gmail.com>

	Make bignums work better when EMACS_INT is larger than long

	* lisp/international/ccl.el (ccl-fixnum): New function.
	(ccl-embed-data, ccl-embed-current-address, ccl-dump): Use it.
	* src/alloc.c (make_number): Handle case where EMACS_INT is
	larger than long.
	* src/data.c (bignumcompare): Handle case where EMACS_INT is
	larger than long.
	(arith_driver): Likewise.  Coerce markers.
	(float_arith_driver): Coerce markers.
	(Flogcount): Use mpz_sgn.
	(ash_lsh_impl): Fix bugs.
	(Fsub1): Fix underflow check.
	* src/lisp.h (NUMBERP): Don't check BIGNUMP.
	(CHECK_FIXNUM_OR_FLOAT_COERCE_MARKER): Fix indentation.
	* test/lisp/international/ccl-tests.el: New file.

2018-08-04  Stephen Berman  <stephen.berman@gmx.net>

	Fix assorted todo-mode bugs (bug#32366)

	* lisp/calendar/todo-mode.el (todo-forward-category): Fix
	calculation for skipping backward over archived categories.
	(todo-jump-to-category): When hl-line-mode is enabled, force
	highlighting to compensate for apparent failure of
	post-command-hook to run.
	(todo-insert-item--basic): Prevent inserting a new todo item in an
	archive category.
	(todo-delete-item): Ensure done items separator disappears when
	the last done item is deleted.
	(todo-edit-item--header): Fix calculation for choosing a month
	prior to the current one.
	(todo-find-filtered-items-file): Fix use of completing-read,
	correcting typo in default value passed to it and confining
	history to filtered items files.
	(todo-go-to-source-item): Make a noop when point is not on an item.
	(todo-save-filtered-items-buffer): Make buffer read-only after
	saving and improve buffer name.
	(todo-key-bindings-t+a+f): Remove three mistakenly included bindings.
	(todo-key-bindings-t+a): Add two mistakenly omitted bindings.

2018-08-04  Noam Postavsky  <npostavs@gmail.com>

	Respect non-saved value of `read-short-answer' (Bug#31782)

	* lisp/emacs-lisp/map-ynp.el (read-answer-short): Add an `auto'
	setting.
	(read-answer): Check the function cell of `yes-or-no-p' when
	`read-answer-short' is `auto' rather than calling
	`custom-reevaluate-setting' which would reset the option to its saved
	value.

2018-08-04  Noam Postavsky  <npostavs@gmail.com>

	Merge from emacs-26

	f0b8e64fb7 Avoid assertion violations in maybe_produce_line_number
	7669bf7880 Avoid assertion violations in set_text_properties_1

2018-08-04  Noam Postavsky  <npostavs@gmail.com>

	Merge from emacs-26

	951c5a127f Fix wdired test failure when byte compiled (bug#32318)
	0252f7311f * test/lisp/wdired-tests.el (wdired-test-symlink-name): Ne...
	dd51434714 Fix url's thing-at-point beginning-op (Bug#32028)

2018-08-04  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/international/mule-cmds.el (universal-coding-system-argument):

	Use `current-input-mode' for determining quit char.

2018-08-04  Michael Albinus  <michael.albinus@gmx.de>

	Rename Tramp method "owncloud" to "nextcloud"

	In the spirit of freedom, "nextcloud" is preferred over "owncloud".

	* doc/misc/tramp.texi (Quick Start Guide, GVFS based methods):
	* etc/NEWS: Rename "owncloud" method to "nextcloud".

	* lisp/net/tramp-gvfs.el (tramp-gvfs-methods, tramp-goa-methods)
	(tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
	(tramp-get-goa-accounts): Use "nextcloud" instead of "owncloud".
	(tramp-gvfs-nextcloud-default-prefix)
	(tramp-gvfs-nextcloud-default-prefix-regexp): Rename them.  Adapt
	all callees.

	* test/lisp/net/tramp-tests.el (tramp--test-nextcloud-p):
	Rename from `tramp--test-owncloud-p'.
	(tramp-test11-copy-file, tramp-test12-rename-file): Use it.

2018-08-03  Ken Brown  <kbrown@cornell.edu>

	Fix a filenotify test failure on Cygwin

	* test/lisp/filenotify-tests.el
	(file-notify-test04-autorevert): Increase a sleep-for time
	from 2 to 3 on Cygwin.  This avoids sporadic failures of the
	test.  (Bug#32363)

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Merge branch 'scratch/backtrace-mode'

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Fix some documentation formatting nits

	* doc/misc/ert.texi (Running Tests Interactively): Correct
	Elisp manual title in xref.
	* doc/lispref/edebug.texi (Edebug Misc): Use single argument
	form of xref.
	* doc/lispref/debugging.texi (Backtraces): Add comma and
	period after xref braces.
	(Backtraces): Correct Emacs manual title.
	(Internals of Debugger): Add a space before period.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Fix typo in edebug-backtrace-hide-instrumentation's docstring.

	* lisp/emacs-lisp/edebug.el (edebug-backtrace-hide-instrumentation):
	Fix docstring copypasta.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Give two backtrace-mode commands better names

	* lisp/emacs-lisp/backtrace.el (backtrace-mode-map): Update
	bindings and menu items with new function names.
	(backtrace-collapse, backtrace-pretty-print)
	(backtrace--collapse, backtrace--pretty-print): Remove functions.
	(backtrace-single-line, backtrace-multi-line)
	(backtrace--single-line, backtrace--multi-line): New functions.
	(backtrace--reformat-sexp): Remove 'error-message' argument.
	* test/lisp/emacs-lisp/backtrace-tests.el
	(backtrace-tests--pretty-print-and-collapse): Remove.
	(backtrace-tests--single-and-multi-line): New test.
	(backtrace-tests--verify-pp-and-collapse): Remove.
	(backtrace-tests--verify-single-and-multi-line): New function.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Move 'backtrace' from subr.el to backtrace.el

	* lisp/subr.el (backtrace, backtrace--print-frame): Remove functions.
	* lisp/emacs-lisp/backtrace.el (backtrace-backtrace): Remove function.
	(backtrace): New function.
	(backtrace-to-string): Make argument optional.
	* doc/lispref/debugging.texi (Internals of Debugger): Update
	description of 'backtrace' function.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Add new commands to Edebug backtraces

	Add commands to go to source if available, and to show and hide
	Edebug's instrumentation.  Make Edebug pop to backtraces instead of
	displaying them, which makes Edebug consistent with the behavior of
	ERT and the Lisp Debugger.
	* doc/lispref/edebug.texi (Edebug Misc): Document when and how you can
	jump to source code from an Edebug backtrace.  Document
	'edebug-backtrace-show-instrumentation' and
	'edebug-backtrace-hide-instrumentation'.
	* lisp/emacs-lisp/backtrace.el (backtrace-frame): Add comments to
	describe the fields.
	(backtrace-goto-source-functions): New
	abnormal hook.
	(backtrace-mode-map): Add keybinding and menu item for
	backtrace-goto-source.
	(backtrace--flags-width): New constant.
	(backtrace-update-flags): Use it.
	(backtrace-goto-source): New command.
	(backtrace--print-flags): Print the :source-available flag.
	* lisp/emacs-lisp/edebug.el (edebug-backtrace-frames)
	(edebug-instrumented-backtrace-frames): New variables.
	(edebug-backtrace, edebug--backtrace-frames): Remove functions.
	(edebug-pop-to-backtrace, edebug--backtrace-goto-source)
	(edebug--add-source-info): New functions.
	(edebug-mode-map, edebug-mode-menus): Replace 'edebug-backtrace' with
	'edebug-pop-to-backtrace'.
	(edebug--strip-instrumentation): New function.
	(edebug--unwrap-and-add-info): Remove.
	(edebug-unwrap-frame, edebug-add-source-info): New functions.
	(edebug-backtrace-show-instrumentation)
	(edebug-backtrace-hide-instrumentation): New commands.
	* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-check-keymap):
	Verify keybindings in backtrace-mode-map used by new test.
	Update with binding for 'edebug-pop-to-backtrace'.
	(edebug-tests-backtrace-goto-source): New test.
	* test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el
	(edebug-test-code-range): Add a new stop point.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Add a menu for backtrace-mode

	* lisp/emacs-lisp/backtrace.el (backtrace-mode-map): Add a menu.
	* lisp/emacs-lisp/debug.el (debugger-mode-map): Change menu text for
	'backtrace-help-follow-symbol' to better describe what it does.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	* lisp/emacs-lisp/debug.el (debugger-mode-map): Use easy-menu-define.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Add new command to expand all "..."s in a backtrace frame

	* doc/lispref/debugging.texi (Backtraces): Document new keybinding.
	* lisp/emacs-lisp/backtrace.el (backtrace-line-length): Add the
	option of unlimited line length.
	(backtrace--match-ellipsis-in-string): Add a comment to explain
	why this function is necessary.
	(backtrace-mode-map): Add keybinding for 'backtrace-expand-ellipses'.
	(backtrace-expand-ellipsis): Use 'cl-print-to-string-with-limit'.
	(backtrace-expand-ellipses): New command.
	(backtrace-print-to-string): Use 'cl-print-to-string-with-limit'.
	Tag the printed forms with a gensym instead of the values of
	print-length and print-level.
	(backtrace--print): Add 'stream' argument.
	* test/lisp/emacs-lisp/backtrace-tests.el
	(backtrace-tests--expand-ellipsis): Make the test less dependent
	on the implementation.
	(backtrace-tests--expand-ellipses): New test.

	Move the fitting of a printed representation into a limited number of
	characters using appropriate values of print-level and print-length
	from 'backtrace-print-to-string' to cl-print.el for future use by
	other parts of Emacs.
	* lisp/emacs-lisp/cl-print.el (cl-print-to-string-with-limit): New
	function.
	* test/lisp/emacs-lisp/cl-print-tests.el
	(cl-print-tests-print-to-string-with-limit): New test.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Change keybinding for backtrace-collapse from '=' to '-'

	'+' and '-' make a more intuitive pair of keybindings for
	backtrace-pretty-print and backtrace-collapse than '+' and '='.
	* lisp/emacs-lisp/backtrace.el (backtrace-mode-map):
	* doc/lispref/debugging.texi (Backtraces): Change
	keybinding for backtrace-collapse.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Add more tests for backtrace-mode

	* test/lisp/emacs-lisp/backtrace-tests.el (backtrace-tests--variables)
	(backtrace-tests--backward-frame, backtrace-tests--forward-frame)
	(backtrace-tests--pretty-print-and-collapse)
	(backtrace-tests--verify-pp-and-collapse)
	(backtrace-tests--print-circle, backtrace-tests--make-regexp)
	(backtrace-tests--expand-ellipsis): New tests.
	(backtrace-tests--to-string): Use backtrace-tests--make-backtrace.
	(backtrace-tests--get-substring): New function.

	Change the method of generating sample backtraces in backtrace tests
	to work whether or not the tests are byte-compiled.
	* test/lisp/emacs-lisp/backtrace-tests.el (backtrace-tests--func1)
	(backtrace-tests--func2, backtrace-tests--func3)
	(backtrace-tests--create-backtrace-frames): Remove.
	(backtrace-tests--uncompiled-functions): New constant.
	(backtrace-tests--make-backtrace, backtrace-tests--setup-buffer):
	New functions.
	(backtrace-tests--backtrace-lines)
	(backtrace-tests--backtrace-lines-with-locals): New functions.
	(backtrace-tests--line-count): New constant.
	(backtrace-tests--result, backtrace-tests--result-with-locals):
	New functions.
	(backtrace-tests--header): New constant.
	(backtrace-tests--insert-header): Use backtrace-tests--header.
	(backtrace-tests--with-buffer): Remove.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Add link in backtraces to position in buffer being evaluated (bug#14081)

	* lisp/emacs-lisp/backtrace.el (backtrace-frame): Add buffer field.
	(backtrace-get-frames): Set buffer field of frame.
	(backtrace-buffer-pos): New button type.
	(backtrace--pop-to-buffer-pos): New function.
	(backtrace--print-func-and-args): Create a button for the buffer
	position if it is set.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Add links in backtraces to functions written in C (bug#25393)

	* lisp/emacs-lisp/backtrace.el (backtrace--print-func-and-args):
	Look up file names for built-in functions with evaluated arguments.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Add prefix argument to backtrace-toggle-print-circle

	With prefix argument, toggle print-circle for the whole buffer.
	* lisp/emacs-lisp/backtrace.el (backtrace-toggle-print-circle): Add
	universal prefix argument.
	(backtrace--toggle-feature): Add new argument 'all' to toggle all
	frames.
	(backtrace--set-feature): New function.
	(backtrace-mode): Use indent functions from Lisp modes.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Lazily print backtrace frame local variables

	Instead of printing the local variables for all frames when the
	backtrace buffer is created, print them when they are first made
	visible.  Add a prefix argument to backtrace-toggle-locals to toggle
	local variables display for the entire buffer.
	* lisp/emacs-lisp/backtrace.el (backtrace-view): Mention
	:show-locals in docstring.
	(backtrace-get-section-end): Remove function.
	(backtrace-toggle-locals): Add prefix argument.
	(backtrace--with-output-variables): Move before first use.
	(backtrace--set-frame-locals-visible): New function.
	(backtrace--set-locals-visible-overlay): New function.
	(backtrace--set-locals-visible): Remove function.
	(backtrace-toggle-feature): Remove TODO comment.
	(backtrace--print-locals): Skip printing the locals if they are not
	visible.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Always make buttons from function names in backtraces

	* lisp/emacs-lisp/backtrace.el (backtrace-view)
	(backtrace--print-func-and-args, backtrace-mode): Always
	make buttons.  Remove all uses of ':do-xrefs'.
	* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Modify
	backtrace-view instead of setting it.
	* lisp/emacs-lisp/edebug.el (edebug-backtrace):
	* lisp/emacs-lisp/ert.el
	(ert-results-pop-to-backtrace-for-test-at-point):
	Remove initialization of backtrace-view.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Add backtrace-mode and use it in the debugger, ERT and Edebug

	* doc/lispref/debugging.texi (Using Debugger): Remove explanation of
	backtrace buffer.  Refer to new node.
	(Backtraces): New node.
	(Debugger Commands): Refer to new node.  Remove 'v'.
	* doc/lispref/edebug.texi (Edebug Misc): Refer to new node.
	* doc/misc/ert.texi (Running Tests Interactively): Refer to new node.

	* lisp/emacs-lisp/backtrace.el: New file.
	* test/lisp/emacs-lisp/backtrace-tests.el: New file.

	* lisp/emacs-lisp/debug.el: (debugger-buffer-state): New cl-defstruct.
	(debugger--restore-buffer-state): New function.
	(debug): Use a debugger-buffer-state object to save and restore buffer
	state.  Fix bug#15749 by leaving an unused buffer in debugger-mode,
	empty, instead of in fundamental-mode, and then when reusing a buffer,
	not calling debugger-mode if the buffer is already in debugger-mode.
	(debugger-insert-backtrace): Remove.
	(debugger-setup-buffer): Use backtrace-mode.
	(debugger--insert-header): New function.
	(debugger-continue, debugger-return-value): Change check for flags to
	use backtrace-frames.
	(debugger-frame-number): Determine backtrace frame number from
	backtrace-frames.
	(debugger--locals-visible-p, debugger--insert-locals)
	(debugger--show-locals, debugger--hide-locals)
	(debugger-toggle-locals): Remove.
	(debugger-mode-map): Make a child of backtrace-mode-map.  Move
	navigation commands to backtrace-mode-map.  Bind 'q' to debugger-quit
	instead of top-level.  Make Help Follow menu item call
	backtrace-help-follow-symbol.
	(debugger-mode): Derive from backtrace-mode.
	(debug-help-follow): Remove.  Move body of this function to
	'backtrace-help-follow-symbol' in backtrace.el.
	(debugger-quit): New function.

	* lisp/emacs-lisp/edebug.el (edebug-unwrap-results): Remove warning
	in docstring about circular results.
	(edebug-unwrap): Use pcase.
	(edebug-unwrap1): New function to unwrap circular objects.
	(edebug-unwrap*): Use it.
	(edebug--frame): New cl-defstruct.
	(edebug-backtrace): Call the buffer *Edebug Backtrace* and use
	backtrace-mode.  Get the frames from edebug--backtrace-frames.
	(edebug--backtrace-frames, edebug--unwrap-and-add-info)
	(edebug--symbol-not-prefixed-p): New functions.

	* lisp/emacs-lisp/lisp-mode.el
	(lisp-el-font-lock-keywords-for-backtraces)
	(lisp-el-font-lock-keywords-for-backtraces-1)
	(lisp-el-font-lock-keywords-for-backtraces-2): New constants.

	* lisp/emacs-lisp/ert.el (ert--print-backtrace): Remove.
	(ert--run-test-debugger): Use backtrace-get-frames.
	(ert-run-tests-batch): Use backtrace-to-string.
	(ert-results-pop-to-backtrace-for-test-at-point): Use backtrace-mode.
	(ert--insert-backtrace-header): New function.

	* test/lisp/emacs-lisp/ert-tests.el (ert-test--which-file):
	Use backtrace-frame slot accessor.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Add methods for strings to cl-print

	* lisp/emacs-lisp/cl-print.el (cl-print-object) <string>: New method.
	(cl-print-object-contents) <string>: New method.
	(cl-print--find-sharing): Look in string property lists.

	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-3): Test
	printing of long strings.
	(cl-print-tests-4): Test printing of strings nested in other objects.
	(cl-print-tests-strings, cl-print-tests-ellipsis-string): New
	tests.

2018-08-03  Gemini Lasswell  <gazally@runbox.com>

	Support ellipsis expansion in cl-print

	* lisp/emacs-lisp/cl-print.el (cl-print-object-contents): New
	generic method.
	(cl-print-object-contents) <cons, vector,cl-structure-object>: New
	methods.
	(cl-print-object) <cons>: Use cl-print-insert-ellipsis.
	(cl-print-object) <vector, cl-structure-object>: Elide whole object if
	print-level exceeded.  Use cl-print-insert-ellipsis.
	(cl-print-insert-ellipsis, cl-print-propertize-ellipsis)
	(cl-print-expand-ellipsis): New functions.

	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-4): Test
	printing of objects nested in other objects.
	(cl-print-tests-strings, cl-print-tests-ellipsis-cons)
	(cl-print-tests-ellipsis-vector, cl-print-tests-ellipsis-struct)
	(cl-print-tests-ellipsis-circular): New tests.
	(cl-print-tests-check-ellipsis-expansion)
	(cl-print-tests-check-ellipsis-expansion-rx): New functions.

2018-08-01  Tino Calancha  <tino.calancha@gmail.com>

	New commands to create an empty file

	Similarly as `create-directory', `dired-create-directory',
	the new commands create the parent dirs as needed (Bug#24150).
	* lisp/files.el (make-empty-file): New command.

	* lisp/dired-aux.el (dired-create-empty-file): New command.
	(dired--find-topmost-parent-dir): New function extracted
	from `dired-create-directory'.
	(dired-create-directory, dired-create-empty-file): Use it.

	* lisp/dired.el (dired-mode-map):
	Add menu entry for `dired-create-empty-file'.

	* doc/emacs/dired.texi (Misc Dired Features)
	* doc/lispref/files.texi (Create/Delete Dirs): Update manual.

2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>

	Substitute a <ieee754.h> on hosts lacking it

	* .gitignore: Add lib/ieee754.h.
	* admin/merge-gnulib (GNULIB_MODULES): Add ieee754-h.
	* configure.ac: Remove ieee754.h check, as Gnulib now does that.
	* etc/NEWS: Mention this.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/ieee754.in.h, m4/ieee754-h.m4: New files, from Gnulib.
	* src/lisp.h (IEEE_FLOATING_POINT): Now a macro so that it
	can be used in #if.
	* src/lread.c, src/print.c: Include <ieee754.h> if
	IEEE_FLOATING_POINT, not if HAVE_IEEE754_H.
	* src/lread.c (string_to_number):
	* src/print.c (float_to_string):
	Process NaNs only on IEEE hosts, and assume <ieee754.h>
	in that case.

2018-08-01  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32325

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-directory): In case
	of PARENTS flush also upper directories caches.  (Bug#32325)

2018-08-01  Gemini Lasswell  <gazally@runbox.com>

	Fix Edebug spec for cl-macrolet (bug#29919)

	Add an Edebug matching function for cl-macrolet which keeps track of
	its bindings and treats them as macros without Edebug specs when found
	in the body of the expression.
	* lisp/emacs-lisp/edebug.el (edebug--cl-macrolet-defs): New variable.
	(edebug-list-form-args): Use it.
	(edebug--current-cl-macrolet-defs): New variable.
	(edebug-match-cl-macrolet-expr, edebug-match-cl-macrolet-name)
	(edebug-match-cl-macrolet-body): New functions.
	* lisp/emacs-lisp/cl-macs.el (cl-macrolet): Use cl-macrolet-expr
	for Edebug spec.
	* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-cl-macrolet):
	New test.
	* test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el
	(edebug-test-code-use-cl-macrolet): New function.

2018-08-01  Stephen Berman  <stephen.berman@gmx.net>

	Fix todo-mode commands called on done items separator

	The done items separator is not reachable by todo-mode navigation
	commands, but it is e.g. by C-n and C-p.  Ensure that invoking
	todo-mode commands with point on the separator does not result in
	unexpected results, errors or file corruption (bug#32343).

	* lisp/calendar/todo-mode.el (todo-insert-item--basic): Make
	copying item and inserting item "here" noops when invoked on done
	items separator.  Consolidate error handling of these cases.  Also
	restrict "here" insertion to valid positions in the current
	category, since this is simpler than the previous behavior of
	inserting as the first item, which was moreover undocumented,
	counterintuitive and superfluous.
	(todo-set-item-priority, todo-move-item, todo-item-done)
	(todo-item-start, todo-item-end): Make noops when invoked on done
	items separator.

	* test/lisp/calendar/todo-mode-tests.el: Require ert-x.
	(todo-test--insert-item): Add formal parameters of
	todo-insert-item--basic.
	(todo-test--done-items-separator): New function.
	(todo-test-done-items-separator01-bol)
	(todo-test-done-items-separator01-eol)
	(todo-test-done-items-separator02-bol)
	(todo-test-done-items-separator02-eol)
	(todo-test-done-items-separator03-bol)
	(todo-test-done-items-separator03-eol)
	(todo-test-done-items-separator04-bol)
	(todo-test-done-items-separator04-eol)
	(todo-test-done-items-separator05-bol)
	(todo-test-done-items-separator05-eol)
	(todo-test-done-items-separator06-bol)
	(todo-test-done-items-separator06-eol)
	(todo-test-done-items-separator07): New tests.

2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>

	Read and print NaN significand if <ieee754.h>

	* configure.ac: Check for ieee754.h.
	* doc/lispref/numbers.texi (Float Basics): Document
	that NaN string representation digits are machine-dependent.
	* etc/NEWS: Mention the change.
	* src/lread.c, src/print.c [HAVE_IEEE754_H]: Include ieee754.h.
	* src/lread.c (string_to_number) [HAVE_IEEE754_H]:
	* src/print.c (float_to_string) [HAVE_IEEE754_H]:
	Read and print NaN significand.

2018-07-31  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Simplify by assuming C99 math.h isnan etc.

	These should be portable nowadays.
	* src/data.c (isnan): Remove.
	* src/floatfns.c (isfinite, isnan): Remove.
	* src/print.c: Include math.h, for isinf and isnan.
	(float_to_string): Simplify by using them.

2018-07-31  Stephen Gildea  <stepheng+emacs@gildea.com>

	Reset mh-blacklist and mh-whitelist on folder undo

	* lisp/mh-e/mh-funcs.el (mh-undo-folder): Set mh-blacklist and mh-whitelist
	to nil, as is done with the other lists of pending operations.

2018-07-30  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32304

	* lisp/net/tramp.el (tramp-handle-substitute-in-file-name):
	Handle special cas on Cygwin and MS-Windows.  (Bug#32304)

2018-07-29  Noam Postavsky  <npostavs@gmail.com>

	* lisp/term.el (term-read-noecho): Mark obsolete.

2018-07-29  Eli Zaretskii  <eliz@gnu.org>

	Avoid gettimeofday deprecation warnings with MinGW

	* nt/inc/ms-w32.h (__POSIX_2008_DEPRECATED)
	[__MINGW32_VERSION >= 5001000L]: Define to nothing, to avoid
	deprecation warnings about gettimeofday with mingw.org's MinGW
	runtime 5.1 and later.

2018-07-29  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	39d3e8b Fix last change in 'char_width'
	67679f0 Add initial tests for wdired.el

2018-07-29  Tino Calancha  <tino.calancha@gmail.com>

	Prefer ?* to hide passwords

	It might be argued that a hidden string is more legible when using
	?* as the hidden character instead of ?.
	For example, the following strings have the same length:
	"......"

	"******"

	It's slightly easier to visually count the number of characters in the second
	string (Bug#32220).

	* lisp/subr.el (read-passwd): Prefer ?* as default char instead of ?.
	* doc/lispref/minibuf.texi (Reading a Password): Update manual.

2018-07-29  Stephen Berman  <stephen.berman@gmx.net>

	Handle symlinks in wdired.el when restoring filename property

	* lisp/wdired.el (wdired--restore-dired-filename-prop): If the
	file name is a symbolic link, only propertize the link name.  This
	prevents wdired-create-parentdirs from turning the link into a
	directory.

2018-07-28  Stephen Berman  <stephen.berman@gmx.net>

	Fix bugs in wdired.el involving dired-filename property

	After every change in wdired-mode, put the dired-filename text
	property on the file name.  This ensures that changing some but not
	all characters in the name succeeds with non-nil
	wdired-use-interactive-rename (bug#32173) and it also ensures that
	changed names can be found (e.g. by dired-isearch-filenames) while
	still in wdired-mode.

	* lisp/wdired.el (wdired--restore-dired-filename-prop): New function.
	(wdired-change-to-wdired-mode): Add it to after-change-functions.
	(wdired-change-to-dired-mode): Remove it from after-change-functions.
	(wdired-finish-edit): Move invocation of
	wdired-change-to-dired-mode below invocation of wdired-do-renames,
	so that the latter runs wdired--restore-dired-filename-prop, but
	above the invocation of revert-buffer to avoid using
	wdired-revert, which changes back to wdired-mode.
	(wdired-search-and-rename): Wrap renaming in unwind-protect and if
	user types C-g when prompted to change the file name, make sure we
	return to dired-mode.

2018-07-28  Eli Zaretskii  <eliz@gnu.org>

	Make 'tis620-2533' character set be an alias for 'thai-iso8859-11'

	* lisp/simple.el (what-cursor-position): Revert ad-hoc change
	to work around tis620-2533 charset.
	* lisp/w32-fns.el: Use thai-iso8859-11 instead of tis620-2533.
	* lisp/international/mule-conf.el (tis620-2533): Now an alias
	for thai-iso8859-11, not a separate character set.
	* lisp/international/fontset.el (charset-script-alist): Add
	thai-iso8859-11; fix entries for greek and hebrew.
	(font-encoding-alist, font-encoding-charset-alist): Use
	thai-iso8859-11 instead of tis620-2533.
	* lisp/descr-text.el (describe-char): Remove the ad-hoc code
	that assigns eight-bit-control characters to the eight-bit
	charset.

2018-07-28  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	bd52f37 (origin/emacs-26) ; Fix last change: only MinGW runtime 5.0.2...
	024d20f Fix compilation with mingw.org's MinGW 5.x headers
	38b6748 Update the list of special forms in the ELisp manual
	8579105 Don't fail to indent-sexp before a full sexp (Bug#31984)
	d24c5f2 Fix calls to modifications hooks in replace-buffer-contents
	71a9151 * src/character.c (char_width): Support glyphs with faces.  (...
	0feb673 Display raw bytes as belonging to 'eight-bit' charset
	2e2f00f ; * doc/emacs/mule.texi (International Chars): Fix last change.
	00561b5 Fix inaccurate text in the user manual
	5cfb7a3 Copyedits in tramp.texi, improved example with bash's readline
	6f8f358 Minor Tramp doc update
	2585fcb File Shadowing is not available on MS Windows
	39da592 ; Minor markup change in indent.texi
	2f00ffe ; bookmark-jump: Add comment about last change.

2018-07-28  Phil Sainty  <psainty@orcon.net.nz>

	* lisp/vc/diff.el (diff-buffer-with-file): Support indirect buffers.

	(Bug#32195)

2018-07-28  João Távora  <joaotavora@gmail.com>

	Fix @include directive in Flymake doc again

	Problem was reintroduced by commit titled:
	"Mention use of C-h . (display-local-help) in Flymake manual"

	* doc/misc/flymake.texi: Don't @include a relative path.

2018-07-28  Martin Rudalics  <rudalics@gmx.at>

	Fix problem with 'scroll-bar-adjust-thumb-portion' nil (Bug#32002)

	* lisp/scroll-bar.el (scroll-bar-drag-1): Do not scroll window
	when its buffer is fully visible and
	'scroll-bar-adjust-thumb-portion' is nil (Bug#32002).

2018-07-27  Ken Brown  <kbrown@cornell.edu>

	Fix file-name-case-insensitive-p on non-existent files

	* src/fileio.c (Ffile_name_case_insensitive_p): If the file
	doesn't exist, move up the filesystem tree until an existing
	directory is found.  Then test that directory for
	case-insensitivity.  (Bug#32246)

2018-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (event-apply-modifier): Map control+[ to C-[

2018-07-26  Alan Mackenzie  <acm@muc.de>

	Correctly indent C++ brace lists in member init lists.

	* lisp/progmodes/cc-engine.el (c-guess-basic-syntax; CASE 9B, CASE 9C): Set a
	limit for a backward search to the ":" introducing the member init list, when
	there is one, rather than the enclosing "{" or nil.

2018-07-26  Paul Eggert  <eggert@cs.ucla.edu>

	* src/editfns.c (syms_of_editfns): Fix typo in previous change.

2018-07-26  Paul Eggert  <eggert@cs.ucla.edu>

	%o and %x can now format signed integers

	Optionally treat integers as signed numbers with %o
	and %x format specifiers, instead of treating them as
	a machine-dependent two’s complement representation.
	This option is more machine-independent, allows formats
	like "#x%x" to be useful for reading later, and is
	better-insulated for future changes involving bignums.
	Setting the new variable ‘binary-as-unsigned’ to nil
	enables the new behavior (Bug#32252).
	This is a simplified version of the change proposed in:
	https://lists.gnu.org/r/emacs-devel/2018-07/msg00763.html
	I simplified that proposal by omitting bitwidth modifiers, as
	I could not find an any example uses in the Emacs source code
	that needed them and doing them correctly would have been
	quite a bit more work for apparently little benefit.
	* doc/lispref/strings.texi (Formatting Strings):
	Document that %x and %o format negative integers in a
	platform-dependent way.  Also, document how to format
	numbers so that the same values can be read back in.
	* etc/NEWS: Document the change.
	* src/editfns.c (styled_format): Treat integers as signed
	numbers even with %o and %x, if binary-as-unsigned is nil.
	Support the + and space flags with %o and %x, since they’re
	about signs.
	(syms_of_editfns): New variable binary-as-unsigned.
	* test/src/editfns-tests.el (read-large-integer):
	Test that maximal integers can be read after printing
	with all integer formats, if binary-as-unsigned is nil.

2018-07-25  Lucas Werkmeister  <mail@lucaswerkmeister.de>

	Notify systemd in daemon-initialized and kill-emacs (Bug#31498)

	With --[bg-]daemon and Type=forking, systemd will only consider the
	daemon to have fully started up once the original process exits, and
	will wait until then to start units depending on the Emacs service.  To
	get the same functionality with --fg-daemon, use Type=notify instead of
	Type=simple and explicitly send a readiness notification to systemd at
	the point where the forked process would in --bg-daemon mode notify its
	parent process and cause it to exit.  Similarly, notify systemd at the
	beginning of the shutdown process as well.  (Both of these calls are
	successful no-ops if emacs was not started by systemd.)
	* etc/emacs.service: Update Type.
	* src/emacs.c (daemon-initialized) [HAVE_LIBSYSTEMD]:
	* src/emacs.c (kill-emacs) [HAVE_LIBSYSTEMD]: Call sd_notify().

2018-07-25  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix docstring of gnus-dependencies-add-header

	* lisp/gnus/gnus-sum.el (gnus-dependencies-add-header): Code is
	  correct, but docs had logic of `gnus-summary-ignore-duplicates'
	  backwards: if it's t, the Message-IDs will not be renamed.

2018-07-25  Michael Albinus  <michael.albinus@gmx.de>

	Instrument shadowfile{-tests} for error hunting on hydra.

	* lisp/shadowfile.el (shadow-make-fullname): Use changed
	`tramp-make-tramp-file-name' from Tramp 2.4.

	* test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo):
	Instrument test.  Suppress errors in cleanup.
	(shadow-test09-shadow-copy-files): Suppress errors in cleanup.

2018-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	Move proper-list-p to C

	Since C code can use it and it’s simple, we might as well use C.
	* lisp/subr.el (proper-list-p): Move to C code.
	* src/eval.c (signal_error): Simplify by using Fproper_list_p.
	* src/fns.c (Fproper_list_p): New function, moved here from Lisp.

	Simplify signal_error
	* src/eval.c (signal_error): Simplify by using FOR_EACH_TAIL_SAFE.

2018-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS: Omit bug# when not needed.

2018-07-24  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	f64c277 (origin/emacs-26) Let bookmark-jump override window-point (Bu...
	1208aaa Omit keymap from subword-mode docstring (Bug#32212)
	2b70b54 Prevent line-mode term from showing user passwords
	5de4441 Check for special filenames in eshell (Bug#30724)
	1b4b965 Fix indent-sexp of #s(...) (Bug#31984)
	59e8533 Add save-match-data to abbreviate-file-name (Bug#32201)
	47f75b1 Fix last change in editfns.c
	671dc5a Fix calls to buffer modification hooks from replace-buffer-co...
	cc4ceed ; etc/NEWS: Remove unnecessary reference to a bug number.
	e0f33ea Fix Bug#32226
	7308fa0 Improve doc strings of several variables in keyboard.c

2018-07-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix typo in `find-alternate-file'

	* lisp/files.el (find-alternate-file): Add missing arguments to
	`find-file-noselect' call.

2018-07-23  Paul Eggert  <eggert@cs.ucla.edu>

	(format "%#x" 0) yields "0", not "0x0"

	* doc/lispref/strings.texi (Formatting Strings):
	* src/editfns.c (Fformat): Document this.

2018-07-23  Paul Eggert  <eggert@cs.ucla.edu>

	0x%x → %#x in elisp formats

	* lisp/emacs-lisp/cl-print.el (cl-print-object):
	* lisp/profiler.el (profiler-format-entry):
	* lisp/progmodes/hideif.el (hif-evaluate-macro):
	Prefer %#x to 0x%x in elisp formats when formatting arbitrary
	integers, as it’ll produce more-readable output with negative args
	should we change how negative values are printed with %x.

2018-07-23  Paul Eggert  <eggert@cs.ucla.edu>

	positive → nonnegative doc fixes

	* doc/lispref/numbers.texi (Bitwise Operations)
	(Math Functions):
	* doc/lispref/strings.texi (Formatting Strings):
	* src/editfns.c (Fformat):
	Correct “positive” with “nonnegative” in some documentation.

2018-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make nnimap support IMAP namespaces"

	This reverts commit 7b5b3ddb2dfa98d640aff7b5b160f777e22cc794.

	Insufficiently tested before committing -- bugs out several places
	when not using namespaces.

2018-07-22  Arash Esbati  <arash@gnu.org>

	Add \eqref to RefTeX's reference styles (Bug#32203)

	* lisp/textmodes/reftex-vars.el (reftex-ref-style-alist): Add entry
	for \eqref provided by amsmath.sty and bind it to "e" key.

2018-07-22  Noam Postavsky  <npostavs@gmail.com>

	Preserve nonblank whitespace when indenting (Bug#32200)

	* lisp/indent.el (indent-line-to): Remove only spaces and tabs, not
	any whitespace syntax characters.

2018-07-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Add further clarifications to gnus-blocked-images

	* lisp/gnus/gnus-art.el (gnus-blocked-images): Add further
	clarifications.

2018-07-22  Nikolaus Rath  <nikolaus@rath.org>

	Make nnimap support IMAP namespaces

	* lisp/gnus/nnimap.el (nnimap-use-namespaces): Introduc new
	server variable.
	(nnimap-group-to-imap, nnimap-get-groups): Transform IMAP group
	names to Gnus group name by stripping / prefixing personal
	namespace prefix.
	(nnimap-open-connection-1): Ask server for namespaces and store them.

	* lisp/gnus/nnimap.el (nnimap-request-group-scan)
	(nnimap-request-create-group, nnimap-request-delete-group)
	(nnimap-request-rename-group, nnimap-request-move-article)
	(nnimap-process-expiry-targets)
	(nnimap-request-update-group-status)
	(nnimap-request-accept-article, nnimap-request-list)
	(nnimap-retrieve-group-data-early, nnimap-change-group)
	(nnimap-split-incoming-mail): Use nnimap-group-to-imap.
	(nnimap-group-to-imap): New function to map Gnus group names to
	IMAP folder names.

2018-07-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Make async :family 'local failures fail correctly again

	* src/fileio.c (get_file_errno_data): Refactor out into its own
	function so that we can reuse the error handling from an async
	context (bug#31901).

	* src/process.c (connect_network_socket): When an async :family
	'local client fails (with a file error, for instance), mark the
	process as failed.

2018-07-22  Michael Albinus  <michael.albinus@gmx.de>

	thread-join returns the result of finished thread

	* doc/lispref/threads.texi (Basic Thread Functions):
	* etc/NEWS: Document return value of `thread-join'.

	* src/thread.c (invoke_thread_function, Fmake_thread)
	(init_main_thread): Set result.
	(Fthread_join): Propagate signals, and return result.
	(Vmain_thread): New defvar.

	* src/thread.h (struct thread_state): Add `result' field.

	* test/src/thread-tests.el (threads-join): Test also return value.
	(threads-join-error): New test.
	(threads-mutex-signal): Check for propagation of `quit' signal.

2018-07-21  John Shahid  <jvshahid@gmail.com>

	Avoid destroying match data in 'setenv' (Bug#32201)

	* lisp/env.el (setenv,setenv-internal): Replace string-match with
	string-match-p.

2018-07-21  Ken Brown  <kbrown@cornell.edu>

	Pacify GCC 7 with -Wformat-overflow

	* src/w32term.c (x_draw_glyphless_glyph_string_foreground):
	Force sprintf to write at most 6 bytes, excluding the
	terminating null byte.

2018-07-21  Eli Zaretskii  <eliz@gnu.org>

	Minor rewording of last change

	* lisp/vc/add-log.el (add-log-dont-create-changelog-file)
	(add-log--pseudo-changelog-buffer-name)
	(add-log--changelog-buffer-p, add-change-log-entry): Doc fixes.

	* etc/NEWS: Improve wording of last change.

	* doc/emacs/maintaining.texi (Change Log Commands): Improve
	wording of last change.

2018-07-21  João Távora  <joaotavora@gmail.com>

	New option to make 'C-x 4 a' use file-less ChangeLog buffers

	* doc/emacs/maintaining.texi (Change Log Commands): Document
	add-log-dont-create-changelog-file.

	* etc/NEWS (Change Logs Mode): Mention
	add-log-dont-create-changelog-file.

	* lisp/vc/add-log.el (add-log-file-name): Add comment.
	(add-log-dont-create-changelog-file): New variable.
	(add-log--pseudo-changelog-buffer-name)
	(add-log--changelog-buffer-p): New helpers.
	(add-log-find-changelog-buffer): New function.
	(add-log--pseudo-changelog-buffer-name): Respect
	add-log-dont-create-changelog-file.

	* lisp/vc/log-edit.el (log-edit-changelog-entries): Use
	add-log-find-changelog-buffer.

2018-07-21  Bozhidar Batsov  <bozhidar@batsov.com>

	Make ielm accept an optional buffer name param

	The ielm buffer name was hardcoded which made it hard for programs to
	interactively create ielm buffers with different names and switch to
	them (e.g. perhaps you want to have one ielm buffer for each of the
	Elisp projects you're working on).

2018-07-21  Eli Zaretskii  <eliz@gnu.org>

	Fix recording keyboard macros when input method is active

	* lisp/international/quail.el (quail-start-translation)
	(quail-start-conversion): Bind inhibit--record-char to t for
	the first character of a translated sequence.

	* src/keyboard.c (record_char): Don't record events from
	macros to dribble file, per documentation.
	(Fopen_dribble_file): Doc fix.
	(syms_of_keyboard) <inhibit--record-char>: New variable.
	(record_char): Don't record input event if
	inhibit--record-char is non-nil.  (Bug#32108)

2018-07-21  Paul Eggert  <eggert@cs.ucla.edu>

	Report base of out-of-range input fixnums

	* src/lread.c (string_to_number): Report the base of an
	out-of-range fixnum.  Problem reported by Andy Moreton in:
	https://lists.gnu.org/r/emacs-devel/2018-07/msg00696.html

2018-07-20  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	* src/fns.c (Feql, Fequal): Improve floating-point doc.

2018-07-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	3e72298 Improve documentation of 'pcase-defmacro rx'
	ba9b9bb Fix TTY colors breakage by 'clear-face-cache'
	f56ad42 * admin/MAINTAINERS: Add files maintained by me (Michael Albi...
	7a258fa Adapt shadowfile.el for Tramp  (Bug#4526, Bug#4846)
	cb50077 Fix auth-source-delete (Bug#26184)
	a4767a6 Avoid assertion violations in gnutls.c
	90110f8 Don't use a literal "C-u" in ispell.el  help message text
	f4e7f6d Improve documentation of 'seqp'
	ed13639 Clarify usage and dependencies between several Flyspell features

	Conflicts:
		etc/NEWS
		test/lisp/auth-source-tests.el

2018-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify w32cygwinx.c and pacify GCC (Bug#32189)

	* src/w32cygwinx.c (format_string): New function.
	(Fw32_battery_status): Use it.

2018-07-20  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/trampver.el (customize-package-emacs-version-alist):

	Add Tramp version integrated in Emacs 26.2.

2018-07-19  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer NILP (x) to EQ (x, Qnil)

	This simplifies the code a bit, and also simplifies some
	potential future changes slightly (e.g., altering eq vs eql).
	* src/alloc.c (mark_object):
	* src/callint.c (fix_command):
	* src/chartab.c (Fchar_table_range, Fset_char_table_range):
	* src/dbusbind.c (XD_OBJECT_TO_DBUS_TYPE, xd_signature):
	* src/dired.c (Fsystem_users):
	* src/fileio.c (Fdo_auto_save):
	* src/fns.c (concat):
	* src/frame.c (get_frame_param, frame_inhibit_resize)
	(store_in_alist, store_frame_param, x_set_autoraise)
	(x_set_autolower, x_get_arg):
	* src/image.c (Fclear_image_cache):
	* src/intervals.c (intervals_equal):
	* src/intervals.h (DEFAULT_INTERVAL_P):
	* src/lread.c (substitute_object_recurse):
	* src/menu.c (digest_single_submenu)
	(find_and_call_menu_selection)
	(find_and_return_menu_selection):
	* src/nsfns.m (x_set_icon_name, Fx_create_frame):
	* src/nsmenu.m (ns_menu_show):
	* src/nsselect.m (ns_string_to_pasteboard_internal)
	(Fns_selection_exists_p, Fns_selection_owner_p):
	* src/process.c (Faccept_process_output)
	(wait_reading_process_output):
	* src/terminal.c (store_terminal_param):
	* src/textprop.c (verify_interval_modification):
	* src/xdisp.c (next_element_from_buffer):
	* src/xfaces.c (Finternal_set_lisp_face_attribute):
	* src/xfns.c (x_set_icon_type, Fx_synchronize):
	* src/xmenu.c (x_menu_show):
	* src/xselect.c (Fx_selection_owner_p)
	(Fx_selection_exists_p):
	* src/xwidget.c (xwidget_view_lookup):
	Prefer NILP (x) to EQ (x, Qnil).

2018-07-19  Tom Tromey  <tom@tromey.com>

	Fix bignum creation when EMACS_INT is wider than long

	* src/alloc.c (mpz_set_intmax_slow, mpz_set_uintmax_slow): New
	functions.
	* src/data.c (arith_driver, Frem, Fmod, ash_lsh_impl, Fadd1)
	(Fsub1): Use mpz_set_intmax, mpz_set_uintmax.
	* src/emacs-module.c (module_make_integer): Use mpz_set_intmax.
	* src/floatfns.c (Fabs): Use mpz_set_intmax.
	* src/lisp.h (mpz_set_intmax, mpz_set_uintmax): New inline
	functions.
	(mpz_set_uintmax_slow, mpz_set_intmax_slow): Declare.

2018-07-19  Tom Tromey  <tom@tromey.com>

	Add missing @end defun

	* doc/lispref/numbers.texi (Bitwise Operations): Add missing @end defun.

2018-07-19  Paul Eggert  <eggert@cs.ucla.edu>

	Improve doc for floating point ‘=’ vs ‘eql’

	* doc/lispref/numbers.texi (Float Basics, Comparison of Numbers):
	Improve documentation of ‘=’ vs ‘eq’, ‘eql’ and ‘equal’
	when NaNs and signed zeros are involved.

2018-07-19  Charles A. Roelli  <charles@aurox.ch>

	Add 'font-lock-maximum-decoration' levels for Python

	* etc/NEWS: New entry under Python mode.

	* lisp/progmodes/python.el (python-font-lock-keywords-level-1)
	(python-font-lock-keywords-level-2)
	(python-font-lock-keywords-maximum-decoration): New variables
	based off the incumbent 'python-font-lock-keywords'.
	(python-font-lock-keywords): Change it to a list of the new
	symbols, for use in the 'car' of 'font-lock-defaults'.
	(python-mode): Set the 'car' of 'font-lock-defaults' to the
	value of 'python-font-lock-keywords', instead of the symbol
	'python-font-lock-keywords'.

2018-07-18  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS: Fix eql typo in previous change.

2018-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/comint.el: Clean up namespace

	(shell-strip-ctrl-m): Mark as obsolete.
	(comint-send-invisible): Rename from `send-invisible`.
	(send-invisible): Make it an obsolete alias.
	* lisp/net/rlogin.el: Adjust accordingly; Use lexical-binding.
	* lisp/shell.el: Adjust accordingly.

2018-07-18  Filipp Gunbin  <fgunbin@fastmail.fm>

	Fix imenu--generic-function after fix for Bug#32024.

	* lisp/imenu.el (imenu--generic-function): Restore returning of nconc
	  result from the function.  Move filtering out empty menus so it is
	  done before removing dummy element and splicing main element into
	  index-alist.

2018-07-18  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS: Mention eql etc. NaN fix.

2018-07-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug with eql etc. on NaNs

	Fix a bug where eql, sxhash-eql, memql, and make-hash-table
	were not consistent on NaNs.  Likewise for equal,
	sxhash-equal, member, and make-hash-table.  Some of these
	functions ignored NaN significands, whereas others treated
	them as significant.  It's more logical to treat significands
	as significant, and this typically makes eql a bit more
	efficient on floats, with just one integer comparison instead
	of one to three floating-point comparisons.
	* doc/lispref/numbers.texi (Float Basics): Document that
	NaNs are never numerically equal, but might be eql.
	* src/fns.c (WORDS_PER_DOUBLE): Move to top level of this file.
	(union double_and_words): Now named, and at the top level of this file.
	(same_float): New function.
	(Fmemql, Feql, internal_equal, cmpfn_eql): Use it, so that
	the corresponding functions treat NaNs consistently.
	(sxhash_float): Simplify based on above-mentioned changes.

	* test/src/fns-tests.el (fns-tests-equality-nan): New test.

2018-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/soap-client.el (soap-type-of): Optimize for Emacs≥26

2018-07-17  Alexander Gramiak  <agrambot@gmail.com>

	Remove menu name from emacs-lisp-mode-map (Bug#27114)

	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-map): Don't give a
	menu name to the top-level map, the menu name is only useful for the
	menu-map.

2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2018-07-17 gnulib-tool: limit line length for git send-email
	* lib/gnulib.mk.in: Regenerate.

2018-07-17  Robert Pluim  <rpluim@gmail.com>

	Don't check unibyte hostnames for pure-ASCII

	* src/process.c (network_lookup_address_info_1): Only check multibyte
	hostnames for pure-ASCII.

	* test/src/process-tests.el (unibyte-domain-name): Test unibyte domain
	names with network-lookup-address-info.

2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This causes config.guess to assume support for shell functions,
	a safe assumption nowadays.
	* build-aux/config.guess, build-aux/config.sub: Copy from Gnulib.

2018-07-17  Robert Pluim  <rpluim@gmail.com>

	Add network-lookup-address-info description

	* doc/lispref/processes.texi (Misc Network): Document
	  network-lookup-address-info.

2018-07-17  Robert Pluim  <rpluim@gmail.com>

	Add tests for network-lookup-address-info

	* test/src/process-tests.el (lookup-family-specification): Test
	network-lookup-address-info api.
	(lookup-unicode-domains): Test that unicode domains fail.
	(lookup-google): Test that normal lookups succeed.
	(non-existent-lookup-failure): Check that known non-existent
	domains fail.

2018-07-17  Robert Pluim  <rpluim@gmail.com>

	Refactor getaddrinfo usage

	* src/process.c:
	(network_lookup_address_info_1): New function, does most of the
	work to call getaddrinfo.  Now checks hostname for pure-ASCII.
	(Fmake_network_process): Use it.
	(Fnetwork_lookup_address_info): Likewise.  Error check family
	argument.

2018-07-17  Michael Albinus  <michael.albinus@gmx.de>

	Add variable main-thread, fix Bug#32169

	* doc/lispref/threads.texi (Basic Thread Functions): Add example,
	how to propagate signals to the main thread.  Describe variable
	`main-thread'.  Document optional argument CLEANUP of
	`thread-last-error'.

	* src/thread.c (Fthread_last_error): Add optional argument
	CLEANUP.  (Bug#32169)
	(main-thread): New defvar.

	* test/src/thread-tests.el (thread-last-error): Adapt declaration.
	(main-thread): Declare.
	(threads-main-thread): New test.
	(threads-errors): Extend test.

2018-07-16  Charles A. Roelli  <charles@aurox.ch>

	Improve description of window configs in 'register-val-describe'

	* etc/NEWS: Describe the change.
	* lisp/register.el (register-val-describe)
	[(window-configuration-p (car val))]: Include the shown
	buffers in the return value to make
	'register-read-with-preview' more useful.  (Bug#30863)

2018-07-16  Charles A. Roelli  <charles@aurox.ch>

	* configure.ac [$HAVE_NS]: Correct build instructions.

	Running 'make install' to test a repo build on macOS used to
	be required, but is no longer needed.

2018-07-16  Robert Pluim  <rpluim@gmail.com>

	Implement hostname->ip lookup function

	* src/process.c (conv_sockaddr_to_lisp): Add include_port
	argument.  Don't put a port in the result if this is false.
	(conv_addrinfo_to_lisp, Fprocess_datagram_address)
	(connect_network_socket, network_interface_list)
	(network_interface_info, server_accept_connection)
	(init_process_emacs): Update callers.
	(Fnetwork_lookup_address_info): New function.  Performs hostname to
	ip address lookups.

	* src/w32.c (network_interface_get_info): Update callers of
	  conv_sockaddr_to_lisp

	* etc/NEWS : mention addition of 'network-lookup-address-info'

2018-07-15  Noam Postavsky  <npostavs@gmail.com>

	Reject gpg 2.0 for epg configs by default (Bug#23561)

	Previously, gpg2 2.0 would be rejected, but the same version installed
	as "gpg" would be accepted.

	* lisp/epg-config.el (epg-gpg2-minimum-version): New constant.
	(epg-config--program-alist) <OpenPGP>: Require a version in 1.4.3..2.0
	or 2.1.6+., not just anything above 1.4.3.
	(epg-check-configuration): Accept a list of required version
	intervals, in addition to just a single minimum.

2018-07-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	* lisp/format.el (format-proper-list-p): New alias.

2018-07-15  Noam Postavsky  <npostavs@gmail.com>

	Don't test symmetric operations on gpg 2.0 (Bug#23561)

	On the Hydra test machines, which have gpg 2.0, the symmetric tests
	fail.
	* test/lisp/epg-tests.el (with-epg-tests): Pass REQUIRE-PUBLIC-KEY to
	`epg-tests-find-usable-gpg-configuration' and call it before
	`epg-make-context' so that the latter uses the resulting cached
	config.
	(epg-tests-find-usable-gpg-configuration): Only allow gpg 2.0 for
	symmetric operations.  Clear `epg--configurations' and don't pass
	NO-CACHE to `epg-find-configuration'.
	(epg-tests--config-program-alist): Use copy-tree to avoid modifying
	the epg-config--program-alist cons values.
	* test/lisp/emacs-lisp/package-tests.el (package-test-signed): Allow
	running with gpg 2.0.

2018-07-15  Michael Albinus  <michael.albinus@gmx.de>

	Precise dav/davs in Tramp manual

	* doc/misc/tramp.texi (GVFS based methods): Mention `owncloud'
	method for special `dav'/`davs' file names.

2018-07-15  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32147

	* test/lisp/net/secrets-tests.el (secrets-test02-collections)
	(secrets-test03-items): Test for both "Login" or "login"
	collection.  (Bug#32147)

2018-07-14  Noam Postavsky  <npostavs@gmail.com>

	Update package.el test for message format changes

	* test/lisp/emacs-lisp/package-tests.el (package-test-signed): Update
	the expected message.  The message was changed in 2018-06-25 "Reformat
	package.el message strings for future l10n".
	(with-package-test, with-fake-help-buffer): Add debug declarations.

2018-07-14  Noam Postavsky  <npostavs@gmail.com>

	Fix gpg detection for tests (Bug#23561)

	* test/lisp/emacs-lisp/package-tests.el (package-test-signed): Stop
	using epg-check-configuration and ignore-errors, they're redundant
	because epg-find-configuration already does all that.
	* test/lisp/epg-tests.el (epg-tests-find-usable-gpg-configuration):
	Remove tracing.
	(with-epg-tests): Skip test if no gpg config is found.
	(epg-decrypt-1 epg-roundtrip-1, epg-sign-verify-1, epg-sign-verify-2)
	(epg-import-1): Don't check gpg configuration at top-level, rely on
	`with-epg-tests' instead.  Checking the gpg configuration requires a
	valid HOME (or GNUPGHOME), which is provided by `with-epg-tests'.

2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>

	Show full issuer and subject distinguished names

	CAs like Let's Encrypt do not put O and OU into the Subject's DN.
	Similarly, O and OU are often used to indicate Domain Validated or
	Organization Validation as opposed to the actual OU.

	Issuer CN often contains the issuer's server or as an indication of
	Extended Validation certificate as opposed to the actual issuer
	organization.

	The Hostname part as extracted from the Subject is also confusing, as
	in the case of a hostname mismatch, the Subject's CN, which
	`nsm-format-certificate' naively calls the Hostname, will not actually
	match the hostname in the problem preamble.

	* lisp/net/nsm.el (nsm-format-certificate): Show full DN of Issuer and
	  Subject.  Remove Hostname.
	  (nsm-certificate-part, nsm-parse-subject): Removed.

2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>

	Full certificate chain details for NSM

	* lisp/net/nsm.el (nsm-check-tls-connection): Fix issue with plural
	  problems in message.  Prefix every problem with a bullet.
	  (nsm-query-user): Add new view the full certificate chain by
	  pressing d.
	  (nsm-format-certificate): Improve basic certificate and session info
	  formatting.

	* src/gnutls.c (emacs_gnutls_certificate_export_pem): New function.
	  (gnutls_certificate_details): Rename to
	  emacs_gnutls_certificate_details.  Add :pem to result list.
	  (Fgnutls_format_certificate):  New function for formatting a PEM to
	  human-readable text.

2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>

	Add option to bypass NSM TLS checks on local networks

	* lisp/net/net-utils.el (nslookup-host-ipv4, nslookup-host-ipv6,
	  ipv6-expand): New functions to lookup IPv4 and IPv6 addresses from
	  DNS.

	* lisp/net/nsm.el (nsm-trust-local-network, nsm-should-check,
	  nsm-check-tls-connection, nsm-check-plain-connection): New defcustom
	  `nsm-trust-local-network' lets users customize whether NSM should
	  check for TLS problems when connecting to the hosts on their local
	  networks.  `nsm-should-check' determines whether
	  `nsm-check-tls-connection' and `nsm-check-plain-connection' should
	  perform checks.  localhost is implicitly trusted, thus checks are
	  never performed there.

2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>

	Revamp Network Security manager checks for TLS

	* lisp/net/nsm.el (network-security-level, nsm-level,
	  nsm-new-fingerprint-ok-p): Remove `paranoid' level and related code.

	* lisp/net/nsm.el (nsm-tls-checks, nsm-tls-check-version,
	    nsm-tls-check-compression, nsm-tls-check-renegotiation-info-ext,
	    nsm-tls-check-verify-cert, nsm-tls-check-same-cert,
	    nsm-tls-check-null-suite, nsm-tls-check-export-kx,
	    nsm-tls-check-anon-kx, nsm-tls-check-md5-sig,
	    nsm-tls-check-rc4-cipher, nsm-tls-check-dhe-prime-kx,
	    nsm-tls-check-sha1-sig, nsm-tls-check-ecdsa-cbc-cipher
	    nsm-tls-check-dhe-kx, nsm-tls-check-rsa-kx,
	    nsm-tls-check-3des-cipher, nsm-tls-check-cbc-cipher,
	    nsm-save-fingerprint-maybe, nsm-tls-post-check-functions): New
	    options and functions for checking TLS handshake problems.

	* lisp/net/nsm.el (nsm-check-certificate,
	  network-security-protocol-checks,
	  nsm-protocol-check--diffie-hellman-prime-bits,
	  nsm-protocol-check--3des, nsm-protocol-check--rc4,
	  nsm-protocol-check--signature-sha1,
	  nsm-protocol-check--intermediate-sha1, nsm-protocol-check--ssl,
	  nsm-check-protocol): Remove in favor of `nsm-tls-checks' and
	  `nsm-tls-check-*' functions.

	* lisp/net/nsm.el (nsm-verify-connection): Ensure connection is
	  checked even when `network-security-level' is `low'.

	* lisp/net/nsm.el (nsm-check-tls-connection): Batch all problems found
	  before querying the user.

	* lisp/net/nsm.el (nsm--encryption): Renamed to `nsm-cipher-suite'.

	* lisp/net/nsm.el (nsm-fingerprint-ok-p): No longer prompt when
	  certificate fingerprints mismatch.  Returns a boolean instead when
	  the fingerprint of the certificate received matches the saved
	  fingerprints.

	* lisp/net/nsm.el (nsm-query): Change signature.  Accepts a list of
	  problems and a preformatted message instead of just a message format
	  and the arguments for the message.

	* lisp/net/nsm.el (nsm-query-user): Change signature.  Accepts a
	  preformatted message and the peer status of the handshake instead of
	  a message format, its arguments and the certificate for the host.

	* lisp/net/nsm.el (nsm-save-host): Change signature.  Accepts a list of
	  problems after the WHAT parameter.  Saves multiple fingerprints for
	  the same host in case the host load balances a TLS server with more
	  than one certificates signed with different keys.  Makes sure
	  conditions are not removed when updating a fingerprint.

	* lisp/net/nsm.el (nsm-format-certificate): Display the TLS handshake's
	  renegotiation info extension, compression level, encrypt-then-MAC
	  extension, and key exchange prime bit length.

	* src/gnutls.c (gnutls-peer-status-warning-describe,
	  gnutls-peer-status): Check for certificate verification problems
	  introduced since GnuTLS 3.1.

	* src/gnutls.c (gnutls-peer-status): `:compression', `:encrypt-then-mac'
	  and `:safe-renegotiation' are now contained in the peer status
	  result return value.

2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>

	Set standard value of `gnutls-min-primes-bits' to nil

	* lisp/net/gnutls.el (gnutls-min-prime-bits): Set standard value to
	  nil in order to let GnuTLS manage the minimum DH prime bits
	  accepted.

2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>

	Check TLS certs against CRL

	* lisp/net/gnutls.el (gnutls-boot-parameters): Return
	  `gnutls-crlfiles' in `:crlfiles'.
	  (gnutls-crlfiles): New defcustom.
	  (gnutls--get-files): New defun.
	  (gnutls-trustfiles, gnutls-crlfiles): Delegate to
	  `gnutls--get-files' to return a list of filenames, accepts glob pattern.

2018-07-14  Charles A. Roelli  <charles@aurox.ch>

	Add to documentation of 'jump-to-register'

	* lisp/register.el (jump-to-register):
	* doc/emacs/regs.texi (Position Registers): Document that
	jumping to a register can push the mark.

2018-07-14  Jonathan Kyle Mitchell  <kyle@jonathanmitchell.org>

	Avoid infloop in redisplay due to faulty mode-line properties

	* src/xdisp.c (safe_set_text_properties): New function.
	(display_mode_element): Call Fset_text_properties through
	internal_condition_case_n, using safe_set_text_properties as a
	wrapper.  (Bug#32038)

2018-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/diff-mode.el (diff-font-lock-prettify): New var

	(diff--font-lock-prettify): New function.
	(diff-font-lock-keywords): Use it.

2018-07-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	17ebb6e (origin/emacs-26) Use consistent function names in thread-tes...
	1c86229 Fix format error in Faccept_process_output
	b38b91a Lessen stack consumption in recursive read1
	3eb4603 Match w32 paths in grep sans --null hits (Bug#32051)
	5cc7c4b Fix previous make-network-process change
	d6a1b69 Another documentation improvement in flyspell.el
	9b49a8e Improve documentation of Flyspell
	3744fda Provide feature 'threads
	ef9025f Save the server alias on reconnect (Bug#29657)
	db3874b Refer to "proper lists" instead of "true lists"
	35e0305 Avoid turning on the global-minor-mode recursively
	51bf4e4 Fix Bug#32085

2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Tweak subr-x.el substring functions

	* lisp/emacs-lisp/subr-x.el (string-join): #'-quote function symbol.
	(string-trim-left, string-trim-right):
	Make better use of substring for minor speedup.
	* test/lisp/emacs-lisp/subr-x-tests.el
	(subr-x-test-string-trim-left, subr-x-test-string-trim-right)
	(subr-x-test-string-remove-prefix)
	(subr-x-test-string-remove-suffix): New tests.

2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Minor cus-theme.el simplifications

	* lisp/cus-theme.el (custom-new-theme-mode, customize-themes)
	(custom-theme-choose-mode): Use setq-local.
	(customize-create-theme): Ditto.  Use delete-all-overlays.
	(describe-theme-1, custom-theme-summary): Simplify logic.

2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Minor custom.el simplifications

	* lisp/custom.el (custom-quote): Duplicate macroexp-quote.
	(custom-load-symbol, customize-mark-to-save, customize-mark-as-set)
	(custom-theme-name-valid-p, enable-theme, custom-enabled-themes)
	(disable-theme): Simplify logic.

2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>

	* lisp/cus-theme.el: Use lexical-binding

2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>

	* lisp/custom.el: Use lexical-binding

	Remove duplicate 'Custom Themes' comment heading.
	(deftheme, custom-declare-theme): Fix advertised calling convention.
	(custom-enabled-themes): Fix message grammar.

2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix custom-available-themes file expansion

	For discussion, see thread starting at
	https://lists.gnu.org/r/emacs-devel/2018-05/msg00222.html.
	* lisp/custom.el: (custom-available-themes): Use directory-files
	instead of performing arbitrary wildcard expansion in file names.
	(custom-theme--load-path): Document return value.
	* test/lisp/custom-tests.el: New file.
	(custom-theme--load-path): New test.

2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Disable no-byte-compile in built-in themes

	* etc/themes/adwaita-theme.el:
	* etc/themes/deeper-blue-theme.el:
	* etc/themes/dichromacy-theme.el:
	* etc/themes/leuven-theme.el:
	* etc/themes/light-blue-theme.el:
	* etc/themes/manoj-dark-theme.el:
	* etc/themes/misterioso-theme.el:
	* etc/themes/tango-dark-theme.el:
	* etc/themes/tango-theme.el:
	* etc/themes/tsdh-dark-theme.el:
	* etc/themes/tsdh-light-theme.el:
	* etc/themes/wheatgrass-theme.el:
	* etc/themes/whiteboard-theme.el:
	* etc/themes/wombat-theme.el: Disable no-byte-compile.

	https://lists.gnu.org/r/emacs-devel/2018-01/msg00614.html
	https://lists.gnu.org/r/emacs-devel/2018-02/msg00060.html

2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve loading of byte-compiled custom themes

	* lisp/custom.el (load-theme):
	Load byte-compiled file of safe themes when available.

	https://lists.gnu.org/r/emacs-devel/2018-01/msg00614.html
	https://lists.gnu.org/r/emacs-devel/2018-02/msg00060.html

2018-07-13  Robert Pluim  <rpluim@gmail.com>

	Add GMP to emacs_config_features

	* configure.ac : Add GMP to emacs_config_features.  This allows us
	to determine whether the built-in gmp-mini is being used or not.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Document bignums

	* doc/lispref/numbers.texi (Numbers, Integer Basics)
	(Predicates on Numbers, Comparison of Numbers)
	(Arithmetic Operations, Bitwise Operations): Update for bignums.
	* doc/lispref/objects.texi (Integer Type, Type Predicates):
	Update for bignums.
	* etc/NEWS: Update for bigums.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Bignum fixes for byte-compiler and bytecode interpreter

	* lisp/emacs-lisp/byte-opt.el: Mark bignump and fixnump as
	side-effect-and-error-free-fns.
	* src/bytecode.c (exec_byte_code): Handle bignums.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Use fixnump rather than integerp in some spots

	* src/buffer.c (syms_of_buffer): Use Qfixnump, not Qintegerp.
	* src/data.c (syms_of_data): Define fixnump symbol.
	* src/lisp.h (lisp_h_CHECK_FIXNUM): Use Qfixnump.
	(struct Lisp_Buffer_Objfwd): Update comment.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make ash and lsh handle bignums

	* src/data.c (ash_lsh_impl): Handle bignums.
	* test/src/data-tests.el (data-tests-ash-lsh): New test.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make logb handle bignums

	* src/floatfns.c (Flogb): Handle bignums.
	* test/src/floatfns-tests.el (bignum-logb): New test.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make % and mod handle bignums

	* src/data.c (Frem, Fmod): Handle bignums.
	* src/lisp.h (CHECK_INTEGER_COERCE_MARKER): New macro.
	* test/src/data-tests.el (data-tests-check-sign)
	(data-tests-%-mod): New tests.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Let C modules access bignum values

	* src/emacs-module.c (module_extract_integer, module_make_integer):
	Handle bignums.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make min and max handle bignums

	* src/data.c (minmax_driver): Handle bignums.
	* test/src/data-tests.el (data-tests-minmax): New test.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make logcount handle bignums

	* src/data.c (Flogcount): Handle bignums.
	* test/src/data-tests.el (data-tests-logcount): New test.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make lognot handle bignums

	* src/data.c (Flognot): Handle bignums.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make 1+ and 1- handle bignums

	* src/data.c (Fadd1, Fsub1): Handle bignums.
	* test/src/data-tests.el (data-tests-1+, data-tests-1-): New tests.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make abs handle bignums

	* src/floatfns.c (Fabs): Handle bignums.
	* test/src/floatfns-tests.el (bignum-abs): New test.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Allow conversion of bignums to floats

	* src/floatfns.c (extract_float, Ffloat): Handle bignums.
	* src/lisp.h (XFLOATINT): Handle bignums.
	* test/src/floatfns-tests.el (bignum-to-float): New test.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make format handle bignums

	* src/editfns.c (styled_format): Handle bignums.
	* test/src/editfns-tests.el (read-large-integer): Update.
	(format-bignum): New test.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make number-to-string work for bignums

	* src/data.c (Fnumber_to_string): Handle bignum.
	* test/src/data-tests.el (data-tests-number-to-string): New test.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Add some bignum tests

	* test/src/data-tests.el (data-tests-bignum, data-tests-+)
	(data-tests-/, data-tests-number-predicates): New tests.
	* test/src/fns-tests.el (test-bignum-eql): New test.
	* test/src/lread-tests.el (lread-long-hex-integer): Expect bignum.
	* test/src/print-tests.el (print-bignum): New test.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make arithmetic work with bignums

	* src/data.c (free_mpz_value): New function.
	(arith_driver): Rewrite.
	(float_arith_driver): Handle bignums.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make comparison operators handle bignums

	* src/data.c (bignumcompare): New function.
	(arithcompare): Handle bignums.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make the reader accept bignums

	* src/data.c (Fstring_to_number): Update.
	* src/lisp.h (S2N_OVERFLOW_TO_FLOAT): Remove.
	* src/lread.c (free_contents): New function.
	(read_integer): Handle bignums.
	(read1): Update.
	(string_to_number): Handle bignums.
	(syms_of_lread): Remove read-integer-overflow-as-float.
	* src/process.c (Fsignal_process): Update.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Make eql work for bignums

	* src/fns.c (Feql, internal_equal): Handle bignums.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Provide new functions to create bignums

	* src/alloc.c (make_bignum_str, make_number): New functions.
	* src/lisp.h (make_bignum_str, make_number): Declare.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Introduce the bignum type

	* src/alloc.c (mark_object): Handle Lisp_Misc_Bignum.
	(sweep_misc): Call mpz_clear for Lisp_Misc_Bignum.
	* src/data.c (Ftype_of): Handle Lisp_Misc_Bignum.
	(Fintegerp, Finteger_or_marker_p, Fnatnump, Fnumberp)
	(Fnumber_or_marker_p): Update for bignum.
	(Ffixnump, Fbignump): New defuns.
	(syms_of_data): Update.
	* src/emacs.c (xrealloc_for_gmp, xfree_for_gmp): New functions.
	(main): Call mp_set_memory_functions.
	* src/lisp.h (enum Lisp_Misc_Type) <Lisp_Misc_Bignum>: New constant.
	(struct Lisp_Bignum): New.
	(union Lisp_Misc): Add u_bignum.
	(BIGNUMP, XBIGNUM, INTEGERP, NATNUMP, NUMBERP, CHECK_NUMBER)
	(CHECK_INTEGER, CHECK_NUMBER_COERCE_MARKER): New functions.
	* src/print.c (print_object): Handle Lisp_Misc_Bignum.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Add configury for GMP library

	* configure.ac (GMP_LIB, GMP_OBJ): New substs.
	* src/Makefile.in (GMP_OBJ, GMP_OBJ): New variables.
	(base_obj): Add GMP_OBJ.
	(LIBES): Add GMP_LIB.
	* src/mini-gmp.h: New file.
	* src/mini-gmp.c: New file.

2018-07-12  Tom Tromey  <tom@tromey.com>

	Rename integerp->fixnum, etc, in preparation for bignums

	* src/json.c, src/keyboard.c, src/keyboard.h, src/keymap.c,
	src/kqueue.c, src/lcms.c, src/lisp.h, src/lread.c, src/macros.c,
	src/marker.c, src/menu.c, src/minibuf.c, src/msdos.c, src/print.c,
	src/process.c, src/profiler.c, src/search.c, src/sound.c,
	src/syntax.c, src/sysdep.c, src/term.c, src/terminal.c,
	src/textprop.c, src/undo.c, src/w16select.c, src/w32.c,
	src/w32console.c, src/w32cygwinx.c, src/w32fns.c, src/w32font.c,
	src/w32inevt.c, src/w32proc.c, src/w32select.c, src/w32term.c,
	src/w32uniscribe.c, src/widget.c, src/window.c, src/xdisp.c,
	src/xfaces.c, src/xfns.c, src/xfont.c, src/xftfont.c, src/xmenu.c,
	src/xrdb.c, src/xselect.c, src/xterm.c, src/xwidget.c: Rename
	INTEGERP->FIXNUM, make_number->make_fixnum, CHECK_NUMBER->CHECK_FIXNUM,
	make_natnum->make_fixed_natum, NUMBERP->FIXED_OR_FLOATP,
	NATNUMP->FIXNATP, CHECK_NATNUM->CHECK_FIXNAT.

2018-07-12  Noam Postavsky  <npostavs@gmail.com>

	Speed up smerge-refine-regions by avoiding fsync

	* lisp/vc/smerge-mode.el (smerge-refine-regions): Bind
	write-region-inhibit-fsync to t.  This was reported in
	https://github.com/magit/magit/pull/2834 to give a noticeable speedup.

2018-07-12  Noam Postavsky  <npostavs@gmail.com>

	Don't skip epg-tests even with gpg 2.0 (Bug#23561)

	* test/lisp/epg-tests.el (epg-tests--config-program-alist): New
	constant, which allows gpg2 version 2.0+.
	(epg-tests-find-usable-gpg-configuration): Pass it to
	epg-find-configuration.

2018-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix the bootstrap differently, so zerop can be where it belongs

	Suggested by Robert Pluim <rpluim@gmail.com>.

	* lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Avoid cadr/cddr.
	* lisp/subr.el (zerop): Un-revert 2018-07-10T23:08:58-07:00!contovob@tcd.ie.

2018-07-11  Glenn Morris  <rgm@gnu.org>

	Unbreak bootstrap

	* lisp/subr.el (zerop): Revert previous change, which caused
	bootstrap to fail with void function cadr.

2018-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/diff-mode.el: Perform hunk refinement from font-lock

	Remove redundant :group arguments.
	(diff-font-lock-refine): New var.
	(diff--refine-hunk): New function, extracted from diff-refine-hunk.
	(diff-refine-hunk): Use it.
	(diff--font-lock-refine--refresh): New function.
	(diff--font-lock-refined): New function.
	(diff-font-lock-keywords): Use it.

2018-07-10  Filipp Gunbin  <fgunbin@fastmail.fm>

	Fix Bug#32107

	* lisp/progmodes/sql.el (sql-buffer-live-p): Fix handling of optional
	  connection argument.  (Bug#32107)

2018-07-10  Jonathan Kyle Mitchell  <kyle@jonathanmitchell.org>

	Fix infinite recursion in eshell/clear (Bug#31326)

	* lisp/eshell/esh-mode.el (eshell/clear): Bind
	eshell-input-filter-functions to nil to prevent entries like
	eshell-smart-display-setup from causing infinite recursion.

2018-07-10  Noam Postavsky  <npostavs@gmail.com>

	* lisp/indent.el (indent-line-to): Fix dedenting of tabs.

2018-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/format.el (format-annotate-single-property-change): Simplify.

2018-07-09  Basil L. Contovounesios  <contovob@tcd.ie>

	Add predicate proper-list-p

	For discussion, see emacs-devel thread starting at
	https://lists.gnu.org/r/emacs-devel/2018-04/msg00460.html.

	* lisp/subr.el (proper-list-p): New function.
	Implementation suggested by Paul Eggert <eggert@cs.ucla.edu> in
	https://lists.gnu.org/r/emacs-devel/2018-06/msg00138.html.
	* doc/lispref/lists.texi (List Elements):
	* etc/NEWS: Document proper-list-p.
	* lisp/org/ob-core.el (org-babel-insert-result):
	* lisp/emacs-lisp/byte-opt.el (byte-optimize-if):
	* lisp/emacs-lisp/cl-macs.el (cl--make-usage-args): Use proper-list-p.
	* lisp/emacs-lisp/ert.el (ert--proper-list-p): Remove.
	Replaced by proper-list-p in lisp/subr.el.
	(ert--explain-equal-rec): Use proper-list-length.
	* lisp/format.el (format-proper-list-p): Remove.
	Replaced by proper-list-p in lisp/subr.el.
	(format-annotate-single-property-change): Use proper-list-p.
	* test/lisp/emacs-lisp/ert-tests.el (ert-test-proper-list-p):
	Move from here...
	* test/lisp/subr-tests.el (subr-tests--proper-list-length):
	...to here, mutatis mutandis.

2018-07-09  Noam Postavsky  <npostavs@gmail.com>

	Respect field boundaries in indent-line-to (Bug#32014)

	* lisp/indent.el (indent-line-to): Use the back-to-indentation point
	as the end-point of whitespace removal, rather than
	backward-to-indentation which doesn't respect field boundaries.
	* test/lisp/emacs-lisp/lisp-mode-tests.el
	(lisp-indent-with-read-only-field): Don't expect to fail.

2018-07-09  Noam Postavsky  <npostavs@gmail.com>

	Merge from emacs-26

	db3f779780 ; Test for Bug#32014
	90d95b000c Explicitly reject :server and :nowait (Bug#31903)
	917158f8c9 Fix Bug#32090

	# Conflicts:
	#	src/process.c

2018-07-09  Noam Postavsky  <npostavs@gmail.com>

	Merge from emacs-26

	65889a6d12 Fix bootstrap infloop in GNU/Linux alpha
	48efd1c98b Minor fix of a recent documentation change
	3302b7cd7f Mention the NSM in the gnutls variable doc strings
	40c2ce743b Remove test code from last commit
	e02d8e29c6 Fix Bug#32084
	da5d6dbe39 Fix (length NON-SEQUENCE) documentation

2018-07-09  Sam Steingold  <sds@gnu.org>

	dired-do-find-regexp: Use rgrep-find-ignored-directories.

2018-07-08  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix etc/HELLO searching in grep.el

	* lisp/progmodes/grep.el (grep-compute-defaults):
	Search for "^Copyright", not "^English", as the latter is no
	longer present in etc/HELLO and the former is more likely to
	survive future changes to etc/HELLO (Bug#32093).

2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix floating point exceptions on Alpha (Bug#32086)

	* admin/merge-gnulib (GNULIB_MODULES): Add fpieee.
	* m4/fpieee.m4: New file, copied from Gnulib.
	* m4/gnulib-comp.m4: Regenerate.

2018-07-08  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements in recent NSM documentation changes

	* doc/emacs/misc.texi (Network Security): Improve wording and
	markup of last change.

	* src/gnutls.c (Fgnutls_peer_status): Doc fix.

	* etc/NEWS: Improve wording of last change.

2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in sha1-intermediate check

	* lisp/net/nsm.el (nsm-protocol-check--intermediate-sha1): Allow
	storing the exception with a correct name.

2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Document network-security-protocol-checks better

	* doc/emacs/misc.texi (Network Security): Rearrange the
	network-security-protocol-checks documentation and try to explain
	more what this all means and what checks are triggered.

2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	NSM-related doc fixes

	* src/gnutls.c (Fgnutls_peer_status): Mention :certificates in the
	doc string.

	* etc/NEWS: Mention how to switch off the additional TLS checks.

2018-07-07  Glenn Morris  <rgm@gnu.org>

	* lisp/imenu.el: Require cl-lib, not internal components of same.

	* admin/make-tarball.txt, admin/release-process: Refcard tweaks.

2018-07-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	a427de9 (origin/emacs-26) Fix bug #11732
	3a04e15 Improve documentation of 'emacs-lock-mode'
	9d6ca5a * lisp/imenu.el (imenu-generic-expression): Doc fix.  (Bug#32...
	fdd7e7d Improve indexing of 'eval-defun' in ELisp manual
	10af989 Fix (length CIRCULAR) documentation
	271d1f7 Tramp editorials
	4abf94f Clarify and improve doc strings of 'eval-last-sexp' and friends
	6cfc7a7 Automate upload of Emacs manuals to gnu.org
	b73cde5 Fix MH-E mail composition with GNU Mailutils (SF#485)
	0dce5e5 Speed up 'replace-buffer-contents' some more
	00fdce0 * doc/emacs/docstyle.texi: Avoid messing up the html output.

	Conflicts:
		admin/make-tarball.txt

2018-07-07  Drew Adams  <drew.adams@oracle.com>

	Fix 2 minor bugs in 'imenu--generic-function'

	* lisp/imenu.el (imenu--generic-function): Move point to START
	before checking whether the current item is inside a comment
	or a string.  Remove any empty menus that could have been
	added before returning.  (Bug#32024)

2018-07-07  John Shahid  <jvshahid@gmail.com>

	Keep interactive uses of 'recenter' backward compatible (Bug#31325)

	* src/window.c (Frecenter): Change the interactive spec to always pass
	a non-nil value to the REDISPLAY argument when called interactively.
	* lisp/window.el (recenter-top-bottom): Make sure 'recenter's second
	argument is non-nil everywhere.
	* doc/emacs/windows.texi (Textual Scrolling): Update documentation of
	'recenter'.

2018-07-07  Eli Zaretskii  <eliz@gnu.org>

	Documentation followup for bug#32029

	* etc/NEWS: Mention 'xref-find-definitions-at-mouse'

	* doc/emacs/maintaining.texi (Looking Up Identifiers):
	Document 'xref-find-definitions-at-mouse'.

2018-07-07  Tobias Gerdin  <tgerdin@gmail.com>  (tiny change)

	New function 'xref-find-definitions-at-mouse'

	* lisp/progmodes/xref.el (xref-find-definitions-at-mouse): New
	function.  (Bug32029)

2018-07-07  Eli Zaretskii  <eliz@gnu.org>

	Fix recent change in window.c

	* src/window.c (scroll_command): Fix minor inefficiency in
	last change: don't call Fset_buffer if the buffer is already set to be
	what we want.  (Bug#31988)

2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2018-07-04 gnulib-tool: minor tweaks for --gnu-make
	* build-aux/config.guess, build-aux/config.sub: Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2018-07-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix scrolling

	* src/window.c (scroll_command): Fix scrolling.

2018-07-04  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/shell.el (shell-completion-vars):

	Set `comint-file-name-prefix' to "" for local default directory.

2018-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	Adjust to Gnulib change with -Wswitch-default

	* configure.ac: Simplify by not bothering to omit
	-Wswitch-default, as Gnulib no longer enables it by default.

2018-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-07-01 getloadavg: don't redefine WINDOWS32
	2018-07-01 manywarnings: omit -Wswitch-default
	* build-aux/config.sub, lib/getloadavg.c, m4/manywarnings.m4:
	Copy from Gnulib.

2018-07-03  Tom Tromey  <tom@tromey.com>

	Fix Tcl indentation in a namespace

	Fixes bug#32035
	* lisp/progmodes/tcl.el (tcl-proc-list): Add "namespace".
	* test/lisp/progmodes/tcl-tests.el (tcl-mode-namespace-indent): New
	test.

2018-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/sendmail.el: Use lexical-binding

	(mail-recover-1): Declare dired-trivial-filenames.

2018-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix typo in --with-x-toolkit=no code

	* src/xmenu.c (pop_down_menu) [!USE_X_TOOLKIT && !USE_GTK]:
	Fix type typo introduced by 2018-06-14T22:59:08!eggert@cs.ucla.edu.

2018-07-03  João Távora  <joaotavora@gmail.com>

	Adjust previous jsonrpc change

	(nth 2) is probably a better alternative to caddr, and in Emacs 26.1
	we can pass 0 as :service to automatically find an available port.

	* lisp/jsonrpc.el (jsonrpc--call-deferred): Use cl-caddr.

	* test/lisp/jsonrpc-tests.el
	(jsonrpc--call-with-emacsrpc-fixture): Pass 0 as :service to when
	making the listen server.

2018-07-02  Glenn Morris  <rgm@gnu.org>

	* lisp/mail/sendmail.el (mail-from-style):
	Improve obsolescence message.

2018-07-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	fc5cae7 ; Fix ChangeLog typo.
	e17a5e5 ; make change-history-commit
	f205928 * etc/HISTORY: Cite Brinkoff on early history.
	4e58ca8 Document internal use of 'above-suspended' z-group frame para...
	4bd43b0 Increase max-lisp-eval-depth adjustment while in debugger (bu...
	ab98352 Improve on last change in replace-buffer-contents
	2f149c0 Fix a factual error in Introduction to Emacs Lisp
	8ad50a3 ; * lisp/files.el (buffer-offer-save): Doc fix.  (Bug#32000)
	c80f31f Minor improvements in documentation of imenu.el
	8ebb683 Avoid errors with recentering in 'skeleton-insert'
	e980a3c * src/lisp.h: Omit obsolete comment re bytecode stack.
	eec71eb Speed up replace-buffer-contents
	93c41ce Remove extra process call from vc-git-find-file-hook
	7ea0873 ; Update some commentary
	4a7f423 Speed up vc-git-dir-status-files
	9134c84 Avoid compiler warning using coding.h

	Conflicts:
		src/editfns.c

2018-07-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	d008ef3 * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string ...
	6f6d525 Detect a non-list package archive content properly (Bug#22311)

2018-07-02  João Távora  <joaotavora@gmail.com>

	Make lisp/jsonrpc.el work with Emacs 25.1

	* lisp/jsonrpc.el (Package-Requires): Require Emacs 25.1
	(jsonrpc-lambda): Use cl-gensym.
	(jsonrpc--call-deferred): Caddr doesn't exist in
	emacs 25.1.

	* test/lisp/jsonrpc-tests.el
	(jsonrpc--call-with-emacsrpc-fixture): New function.
	(jsonrpc--with-emacsrpc-fixture): Use it.
	(deferred-action-complex-tests): Adjust test for Emacs 25.1

2018-07-01  John Shahid  <jvshahid@gmail.com>

	Optionally add argument description in minor mode DOC (bug#10754)

	Add a paragraph to minor mode's docstring documenting the mode's ARG
	usage if the supplied docstring doesn't already contain the word "ARG".

	* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): New const.
	(easy-mmode--arg-docstring): New function.
	(define-minor-mode): Use them.

	Remove argument documentation from all minor modes.

2018-07-01  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* src/w32console.c (Fset_screen_color): Call Frecenter with 2
	arguments.  (Bug#31325)

	* etc/NEWS:
	* doc/lispref/windows.texi (Textual Scrolling): Clarify the
	role of the second argument to 'recenter'.

2018-07-01  John Shahid  <jvshahid@gmail.com>

	Add a new argument to 'recenter' to allow finer control of redisplay

	* src/window.c (recenter): Add a new REDISPLAY argument to allow the
	caller to control the redisplay behavior.  'recenter' will only
	redisplay the frame if this new arg and 'recenter-redisplay' are
	both non-nil.
	(recenter-top-bottom): Pass an extra non-nil argument to
	'recenter' to force a redisplay.  (Bug#31325)

2018-07-01  Michael Albinus  <michael.albinus@gmx.de>

	Minor change in tramp-tests.el

	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
	Cleanup before running the test.

2018-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/hexl.el (hexl-follow-ascii-mode): Fix last fix (bug#32021)

2018-06-30  Glenn Morris  <rgm@gnu.org>

	Unbreak bootstrap

	* lisp/jsonrpc.el (jsonrpc-connection, jsonrpc-process-connection):
	Don't autoload defclass, else dumping fails loading loaddefs.el
	due to trying to autoload eieio-defclass-autoload.

2018-06-30  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/text.texi (JSONRPC): Add missing menu.

2018-06-30  João Távora  <joaotavora@gmail.com>

	* lisp/jsonrpc.el (subr-x): Only require when compiling

	* lisp/jsonrpc.el: Add "Package-Requires" and "Version" headers

2018-06-30  João Távora  <joaotavora@gmail.com>

	Add lisp/jsonrpc.el

	* doc/lispref/text.texi (Text): Add JSONRPC.
	(JSONRPC): New node.

	* etc/NEWS (New Modes and Packages in Emacs 27.1): Mention jsonrpc.el

	* lisp/jsonrpc.el: New file.

	* test/lisp/jsonrpc-tests.el: New file.

2018-06-30  Eli Zaretskii  <eliz@gnu.org>

	* lisp/hexl.el (hexl-follow-ascii-mode): Fix a typo.  (Bug#32021)

2018-06-30  Eli Zaretskii  <eliz@gnu.org>

	Speed up reading sub-process output on MS-Windows

	* src/w32proc.c (syms_of_ntproc) <w32-pipe-read-delay>: Set to
	zero.  For the details, see this discussion:
	https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00711.html.
	* src/w32.c (_sys_read_ahead): Update the commentary for
	w32-pipe-read-delay usage.

	* doc/emacs/msdos.texi (Windows Processes): Document
	w32-pipe-read-delay.

	* etc/NEWS: Mention the change of the value of w32-pipe-read-delay.

2018-06-30  Eli Zaretskii  <eliz@gnu.org>

	Speed-up let-binding of automatically-local variables

	* src/data.c (set_default_internal): Use FOR_EACH_LIVE_BUFFER
	when binding variables that don't nominally have a local
	value, to avoid slowing down due to a large number of dead
	buffers.  (Bug#18522) (Bug#31853)

2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-06-29 regex: glibc does not use intprops.h
	2018-06-28 regex: port to recently proposed glibc regex merge
	2018-06-25 Continue to use spaces for indentation, not tabs
	2018-06-25 manywarnings: Don't enable -Wjump-misses-init by default
	2018-06-25 acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
	2018-06-24 manywarnings: accommodate GCC 9: remove -Wchkp and -Wabi
	2018-06-24 maint: clarify comments about sticky EOF
	2018-06-24 af_alg: avoid hangs when reading from streams
	2018-06-17 crypto: use byteswap
	2018-06-17 getloadavg: Return 0 on MS-Windows without Cygwi
	2018-06-17 getloadavg: Allow building on MS-Windows without Cygwin
	* build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
	* lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
	* lib/getloadavg.c, lib/gettimeofday.c, lib/md5.c, lib/pselect.c:
	* lib/set-permissions.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
	* lib/time.in.h, m4/getloadavg.m4, m4/gnulib-common.m4:
	* m4/manywarnings.m4, m4/pthread_sigmask.m4, m4/vararrays.m4:
	Copy from Gnulib.

2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>

	unbind_to performance tuning

	* src/alloc.c (which_symbols):
	* src/dispnew.c (Fredisplay):
	* src/editfns.c (Fsubst_char_in_region):
	* src/fileio.c (Fdo_auto_save):
	* src/indent.c (Fvertical_motion):
	* src/keymap.c (Fcurrent_active_maps):
	* src/lread.c (Feval_buffer):
	* src/minibuf.c (get_minibuffer):
	* src/sysdep.c (system_process_attributes):
	* src/textprop.c (Fnext_single_char_property_change)
	(Fprevious_single_char_property_change):
	* src/window.c (Fscroll_other_window, Fscroll_other_window_down):
	* src/xdisp.c (Fformat_mode_line):
	Help the compiler eliminate tail recursion in call to unbind_to.
	* src/coding.c (decode_coding_gap):
	Omit unnecessary unbind_to, as we’re about to call unbind_to anyway.
	* src/coding.c (Fread_coding_system):
	* src/eval.c (eval_sub):
	* src/xdisp.c (handle_single_display_spec, decode_mode_spec):
	* src/xselect.c (x_get_local_selection):
	Avoid need to save a machine register when calling unbind_to.
	* src/minibuf.c (Ftry_completion, Fall_completions):
	Omit unnecessary assignment.

2018-06-29  Andreas Schwab  <schwab@linux-m68k.org>

	* lisp/url/url-http.el (url-http-create-request): Doc fix.

2018-06-29  Andreas Schwab  <schwab@linux-m68k.org>

	Use a non-proxy request when retrieving https URLs via a proxy

	* lisp/url/url-http.el
	(url-https-proxy-after-change-function): Bind url-http-proxy
	to nil around url-http-create-request.

2018-06-29  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp 2.4.0

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.4.0".

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted):
	Ignore unknown GVFS methods.

	* test/lisp/net/tramp-tests.el (tramp-test42-asynchronous-requests):
	Tag as :unstable.

2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>

	* src/lisp.h: Add comment (Bug#31996#25).

2018-06-28  Noam Postavsky  <npostavs@gmail.com>

	Let ediff '=' compare against ancestor buffer (Bug#11320)

	* lisp/vc/ediff-util.el (ediff-inferior-compare-regions): Ask user
	whether to compare against the ancestor or merge buffer.  Use
	read-multiple-choice for A vs B buffer query.

2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>

	Fix recently-introduced SAFE_FREE bug

	Problem reported by Andy Moreton (Bug#31996).
	* src/lisp.h (union specbinding.unwind_array):
	Remove unused member func.  Move array after nelts, as this is
	likely to generate more efficient code in safe_free, which can
	call xfree with the same value either way.
	(safe_free): Also handle SPECPDL_UNWIND_AWAY.

2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>

	Tune SAFE_FREE

	On my platform (Fedora 28 x86-64, AMD Phenom II X4 910e) this sped
	up a SAFE_FREE-using microbenchmark (string-distance "abc" "abc")
	by about 18%, and shrank the Emacs text size by about 0.1%.
	* src/callint.c (Fcall_interactively):
	* src/callproc.c (call_process):
	* src/doc.c (get_doc_string, Fsnarf_documentation):
	* src/editfns.c (Freplace_buffer_contents):
	* src/emacs-module.c (funcall_module):
	* src/eval.c (Flet):
	* src/process.c (Fmake_process):
	* src/term.c (tty_menu_show):
	* src/xdisp.c (safe__call):
	* src/xmenu.c (x_menu_show):
	Use SAFE_FREE_UNBIND_TO.
	* src/data.c (wrong_choice): No need to call SAFE_FREE here.
	* src/lisp.h (USE_SAFE_ALLOCA):
	* src/regex.c (REGEX_USE_SAFE_ALLOCA):
	Do not declare sa_must_free local; no longer needed.
	All uses removed.
	(SAFE_FREE): Rewrite in terms of safe_free.
	(safe_free): New function, optimized to use xfree.
	(SAFE_FREE_UNBIND_TO): New macro.
	(safe_free_unbind_to): New function.

2018-06-27  João Távora  <joaotavora@gmail.com>

	Respect s-s-b-default-predicate when killing terminal

	Fixes: Bug#31951

	* lisp/server.el (server-save-buffers-kill-terminal): Only pass
	PRED=t to save-some-buffers if ARG in non-nil.

2018-06-27  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Allow 'file:' protocol for Info-follow-nearest-node.

2018-06-26  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	12c77f6 (origin/emacs-26) Add ido-fallback special variable (Bug#31707)
	826e8d1 Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs into...
	c784876 Tighten a cross-reference in documentation
	517dc0b Fix last change in tramp-sh.el
	f43186f Revert previous patch; comment was OK after all.
	4c3306e Fix lead comment for count_trailing_zero_bits
	b419f27 ; * doc/emacs/files.texi (Interlocking): Fix a non-portable @...
	7488de4 * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix docstring q...
	0b69807 Make a minor update to the CSS mode docstring
	9a53b6d Say how to override a primitive interactive spec
	1d77078 Fix Bug#31941

2018-06-25  Jean-Christophe Helary  <brandelune@gmail.com>

	Reformat package.el message strings for future l10n

	* lisp/emacs-lisp/package.el (package-buffer-info)
	(package--download-one-archive, package-install-selected-packages)
	(package-autoremove, describe-package-1, package-menu-toggle-hiding)
	(package-menu-hide-package, package-menu--mark-upgrades-1)
	(package-menu--list-to-prompt, package-menu--prompt-transaction-p)
	(package-menu-execute, package-menu--find-and-notify-upgrades):
	Reformat message strings to remove need for plural computation.  Try
	to put full sentences in source string literals.
	* test/lisp/emacs-lisp/package-tests.el
	(package-test-describe-package): Update to match new message format.

2018-06-25  Noam Postavsky  <npostavs@gmail.com>

	Suppress indent errors during electric indentation (Bug#18764)

	* lisp/electric.el (electric-indent-post-self-insert-function):
	Suppress errors from indent code, but don't suppress errors from
	elsewhere in this function.  That way, if trouble is encountered with
	electric indent "not working", the error should be reproducible by
	calling indent directly (as is the case for Bug#18764), or else it's
	from the electric indent code and will be reported normally.

2018-06-25  Paul Eggert  <eggert@cs.ucla.edu>

	(format "%d" F) now truncates floating F

	Problem reported by Paul Pogonyshev (Bug#31938).
	* src/editfns.c: Include math.h, for trunc.
	(styled_format): For %d, truncate floating-point numbers and
	convert -0 to 0, going back to how Emacs 26 did things.
	* doc/lispref/strings.texi (Formatting Strings):
	Document behavior of %o, %d, %x, %X on floating-point numbers.
	* src/floatfns.c (trunc) [!HAVE_TRUNC]: Rename from emacs_trunc
	and make it an extern function, so that editfns.c can use it.
	All callers changed.
	* test/src/editfns-tests.el (format-%d-float): New test.

2018-06-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix spelling of "intermediate" (it's not "intermediary")

	* doc/emacs/misc.texi (Network Security): Ditto.

	* lisp/net/nsm.el (network-security-protocol-checks): Fix spelling
	on "intermediate".
	(nsm-protocol-check--intermediate-sha1): Ditto.

2018-06-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up redundant code from previous checkins

	* src/gnutls.c (gnutls_verify_boot): Remove redundant setting of
	p->gnutls_certificates, which is now performed by
	gnutls_deinit_certificates.

2018-06-25  João Távora  <joaotavora@gmail.com>

	Mention use of C-h . (display-local-help) in Flymake manual

	Fixes: Bug#31921

	* doc/misc/flymake.texi (Using Flymake): Mention display-local-help.

2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the intermediary-sha1 check work

	* lisp/net/nsm.el (nsm-protocol-check--intermediary-sha1): Make
	the "skip the root cert" logic work (suggested by Noam Postavsky).

2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't use XCAR in possibly-nil situations

	* src/gnutls.c (Fgnutls_peer_status): certs theoretically may be
	nil, so don't use XCAR.

2018-06-24  Noam Postavsky  <npostavs@gmail.com>

	(Network Security): Fix the description of the 3DES weakness

	* doc/emacs/misc.texi (Network Security): Fix the description of
	the 3DES weakness.

2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make more TLS checks trigger on the default `medium' level

	* doc/emacs/misc.texi (Network Security): Update the doc to say
	what's on the different levels.

	* lisp/net/nsm.el (nsm-protocol-check--intermediary-sha1): Check
	intermediary certificates for SHA1.
	(nsm-protocol-check--3des): Check for 3DES ciphers.
	(network-security-protocol-checks): Put most of the checks on
	`medium'.

2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak previous gnutls change for efficiency

	* src/gnutls.c (Fgnutls_peer_status): Minor optimization to avoid
	computing the topmost certificate twice.

2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Return the entire TLS certificate chain back to the caller

	* src/gnutls.c (gnutls_deinit_certificates): New function.
	(Fgnutls_peer_status): Return all certificates in the chain back
	to Lisp land.
	(gnutls_verify_boot): Compute all the x509 certificates in the
	chain.

	* src/process.h (struct Lisp_Process): Adjust gnutls fields so
	that we can keep tracks of all certificates in the chain instead
	of just the host certificate.

2018-06-24  Tom Tromey  <tom@tromey.com>

	Fix two tcl-mode defun-related bugs

	Fixes bug#23565
	* lisp/progmodes/tcl.el (tcl-mode): Set beginning-of-defun-function
	and end-of-defun-function.
	(tcl-beginning-of-defun-function, tcl-end-of-defun-function): New
	defuns.
	* test/lisp/progmodes/tcl-tests.el: New file.

2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix reverse test in previous check-in

	* lisp/net/nsm.el (nsm-check-protocol): Fix reverse test in
	previous check-in.

2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Refactor the protocol NSM checks for flexibility

	* doc/emacs/misc.texi (Network Security): Mention
	network-security-protocol-checks.

	* lisp/net/nsm.el (network-security-protocol-checks): New variable.
	(nsm-check-protocol): Refactor the checks into separate functions
	for greater flexibility.
	(nsm-protocol-check--diffie-hellman-prime-bits)
	(nsm-protocol-check--rc4, nsm-protocol-check--ssl)
	(nsm-protocol-check--signature-sha1): Refactored out of the big
	function.

2018-06-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	bbc9d37 (origin/emacs-26) Fix previous change in minibuffer-default-a...
	7caeef1 * src/editfns.c (Fformat): Make %x easier to spot in doc stri...
	ecc29fb Improve responsiveness while in 'replace-buffer-contents'
	8182d64 Improve documentation of 'server-start' and friends
	decdfed Clarify wording about functions' argument lists
	5abac8b * lisp/doc-view.el: Fix typos in the commentary.  (Bug#31937)

2018-06-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	5cb3991 Fix a typo in emacs-lisp-intro.texi
	d6aa55e Avoid segfaults in replace-buffer-contents with large buffers
	d22b8d1 Adjust for scaling for mode-line popup menus (Bug#31880)
	3d2e3dc Change name of `seqp' argument (Bug#26411)
	40e1db8 Change index of ";" to better reflect it's usage (Bug#31623)
	d289e7e Fix bug of 'mouse-drag-and-drop-region' to detect edges of re...
	e292c09 Fix #'fun handling inside `labels' (Bug#31792)

2018-06-23  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-get-ls-command-with): Fix typo.

2018-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/tramp-sh.el (tramp-sh--quoting-style-options): New function

	(tramp-do-directory-files-and-attributes-with-stat)
	(tramp-do-file-attributes-with-ls): Use it.

2018-06-22  Michael Albinus  <michael.albinus@gmx.de>

	Improve backward compatibility of Tramp

	* lisp/net/tramp-adb.el (tramp-adb-handle-exec-path):
	* lisp/net/tramp-sh.el (tramp-sh-handle-exec-path): Use ´file-remote-p'.
	(tramp-get-ls-command-with): Handle busybox specially.

	* test/lisp/net/tramp-tests.el (tramp-test34-exec-path): Check for
	`fboundp'.  Use `file-remote-p'.  Hide compiler warning for older
	Emacsen.

2018-06-22  Eli Zaretskii  <eliz@gnu.org>

	Document 'major-mode-suspend' and 'major-mode-restore'

	* doc/lispref/modes.texi (Major Modes): Document
	'major-mode-suspend' and 'major-mode-restore'.  (Bug#31551)

	* etc/NEWS: Mark the corresponding entry as documented in
	manuals.

2018-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	New functions to switch back and forth to another major mode

	* lisp/subr.el (major-mode--suspended): New var.
	(major-mode-suspend, major-mode-restore): New funs, extracted from doc-view.
	* lisp/doc-view.el (doc-view--previous-major-mode): Remove.
	(doc-view-mode): Use major-mode-suspend.
	(doc-view-fallback-mode): Use major-mode-restore.
	* lisp/hexl.el: (hexl-mode--minor-mode-p, hexl-mode--setq-local): Remove.
	(hexl-mode): Use major-mode-suspend and hexl-follow-ascii-mode.
	(hexl-mode-exit): Use major-mode-restore.
	(hexl-activate-ruler, hexl-follow-line): Don't bother trying to preserve
	earlier state, now that entering/leaving hexl-mode kills local vars.
	(hexl-follow-ascii-mode): New proper local minor mode.
	(hexl-follow-ascii): Rewrite, using it.
	* lisp/image-mode.el (image-mode-previous-major-mode): Remove.
	(image-mode): Use major-mode-suspend.
	(image-mode-to-text): Use major-mode-restore.

2018-06-21  memeplex  <carlosjosepita@gmail.com>

	Remove broken icon from tooltip (Bug#31884)

	* src/gtkutil.c (xg_show_tooltip): Call gtk_widget_show instead of
	gtk_widget_show_all, the latter displays an extra placeholder icon.

2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	Set group when installing, too

	From a patch by Ulrich Mueller in:
	https://lists.gnu.org/r/emacs-devel/2018-06/msg00687.html
	* Makefile.in (set_installuser): Also set the group, in order
	to match install(1) behavior.  Also, don’t clutter stderr
	with a diagnostic if ‘id’ is missing.

2018-06-20  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of a recent change

	* doc/lispref/processes.texi (Subprocess Creation): Improve
	wording of documentation for the function 'exec-path'.

	* etc/NEWS: Improve wording and formatting of recently added
	entries.

	* lisp/files.el (exec-path): Doc fix.

2018-06-20  Michael Albinus  <michael.albinus@gmx.de>

	Implement command completion in remote shells.  (Bug#31704)

	* doc/lispref/files.texi (Locating Files): Describe optional
	argument REMOTE of `executable-find'.
	(Magic File Names): Add `exec-path'.

	* doc/lispref/processes.texi (Subprocess Creation): Describe
	function `exec-path'.

	* doc/misc/tramp.texi (Remote programs): Explain refresh of search
	paths by `tramp-cleanup-this-connection'.

	* etc/NEWS: Mention 'exec-path' and 'executable-find'.

	* lisp/files.el (exec-path): New defun.
	(executable-find): Add optional argument REMOTE.

	* lisp/shell.el (shell-completion-vars): Set `comint-file-name-prefix'.
	(shell--command-completion-data): Use `(exec-path)'.  (Bug#31704)

	* lisp/net/ange-ftp.el (exec-path):
	* lisp/net/tramp.el (tramp-file-name-for-operation):
	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
	<exec-path>: Add handler.

	* lisp/net/tramp-adb.el (tramp-adb-handle-exec-path): New defun.
	(tramp-adb-maybe-open-connection): Do not set "remote-path"
	connection property.

	* lisp/net/tramp-compat.el (tramp-compat-exec-path): New defun.

	* lisp/net/tramp-sh.el (tramp-sh-handle-exec-path): New defun.

	* lisp/net/tramp.el (tramp-eshell-directory-change): Use it.

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test38-make-nearby-temp-file)
	(tramp-archive-test41-file-system-info)
	(tramp-archive-test43-auto-load)
	(tramp-archive-test43-delay-load): Rename.

	* test/lisp/net/tramp-tests.el (tramp-test34-exec-path): New test.
	(tramp-test36-make-auto-save-file-name)
	(tramp-test37-find-backup-file-name)
	(tramp-test38-make-nearby-temp-file)
	(tramp-test39-special-characters)
	(tramp-test39-special-characters-with-stat)
	(tramp-test39-special-characters-with-perl)
	(tramp-test39-special-characters-with-ls, tramp-test40-utf8)
	(tramp-test40-utf8-with-stat, tramp-test40-utf8-with-perl)
	(tramp-test40-utf8-with-ls, tramp-test41-file-system-info)
	(tramp-test42-asynchronous-requests, tramp-test43-auto-load)
	(tramp-test43-delay-load, tramp-test43-recursive-load)
	(tramp-test43-remote-load-path, tramp-test44-unload): Rename.

2018-06-19  João Távora  <joaotavora@gmail.com>

	Properly ignore stderr in elisp Flymake backend

	Naively passing `null-device' as stderr creates a buffer named
	"/dev/null" instead.  Pass a hidden buffer name instead.  (Bug#31902).

	* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile): Pass
	hidden buffer as make-process :stderr instead of null-device.

2018-06-19  Daniel Colascione  <dancol@dancol.org>

	Fix theme application

	Fix an inverted test.  Patch due to Andy Moreton.

	* lisp/cus-face.el (custom-theme-set-faces): Correct sense of
	`custom--should-apply-setting' test.

2018-06-19  Daniel Colascione  <dancol@dancol.org>

	Unbreak dabbrev

	This commit partially reverts
	edb1f85a27817a3fac38bb85752671414819203b, which results in dabbev
	expansion failing due to trying to switch to the null buffer.

	* lisp/dabbrev.el (dabbrev--progress-reporter): Restore variable.
	(dabbrev--find-expansion): Restore original code.

2018-06-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	lisp/obsolete/*tls.el: Note when obsolescence was decided

2018-06-18  João Távora  <joaotavora@gmail.com>

	Skip a json.c test unless functions being tested exist

	* test/src/json-tests.el
	(json-parse-with-custom-null-and-false-objects): Skip this test
	unless functions being tested exist.

2018-06-18  João Távora  <joaotavora@gmail.com>

	Mark a specific electric-pair-mode test as an expected failure

	See https://lists.gnu.org/r/emacs-devel/2018-06/msg00535.html

	* test/lisp/electric-tests.el
	(electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings):
	Mark as failing.

2018-06-18  Mark Oteiza  <mvoteiza@udel.edu>

	Change errant if to when (Bug#31840)

	* lisp/emacs-lisp/subr-x.el: Expand to 'when' instead of 'if'.

2018-06-18  João Távora  <joaotavora@gmail.com>

	Electric-pair-mode lets modes choose how to skip whitespace

	cc-mode.el-based major-modes with stricter syntax for invalid
	NL-terminated strings might choose to have electric-pair-mode skip
	some of whitespace into non-string-syntax regions, for the sake of
	letting electric-pair-mode chomp that whitespace and make the string
	valid again.

	* lisp/elec-pair.el (electric-pair-post-self-insert-function): Call it.
	(electric-pair-skip-whitespace-function): New buffer-local variable.

2018-06-18  Noam Postavsky  <npostavs@gmail.com>

	Stop assuming .git is a directory in gitmerge.el

	* admin/gitmerge.el (gitmerge-maybe-resume): Use 'git rev-parse
	--git-dir' to find the git directory rather than assuming it is
	.git/ (that assumption fails for separated worktrees).

2018-06-18  Noam Postavsky  <npostavs@gmail.com>

	Default to splash on current frame, if none visible (Bug#31169)

	* lisp/startup.el (fancy-splash-frame): Default to current frame.

2018-06-18  Noam Postavsky  <npostavs@gmail.com>

	Move tls.el and starttls.el to lisp/obsolete/ (Bug#31457)

	* lisp/obsolete/tls.el: Moved from lisp/net/tls.el.
	* lisp/gnus/nnimap.el:
	* lisp/url/url-http.el: Don't require tls, since it's obsolete.
	* lisp/net/network-stream.el: Only require tls if we actually try to
	use it (i.e., when (gnutls-available-p) returns nil).  Declare some
	functions to fix compilation warnings.

	* lisp/obsolete/starttls.el: Moved from lisp/net/starttls.el.
	* lisp/net/sieve-manage.el:
	* lisp/net/network-stream.el: Don't require `starttls' at the
	top-level, declare the variables and functions used instead.
	(network-stream-open-starttls): Only require `starttls' if
	needed (i.e., gnutls-available-p fails).

	* etc/NEWS: Announce obsoletion.

2018-06-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	3673770 (origin/emacs-26) Fix vertical-motion with 'visual' line-numb...
	d8bff53 ; CONTRIBUTE: Add a couple of nits.

2018-06-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	ebe065f Prevent errant scroll on mouse click (Bug#31546)
	ffd2018 Minor documentation fix
	cf4dc95 * lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug...

2018-06-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	63ba73a Fix documentation of ':propertize' in mode-line-format
	22aa665 Reject invalid 5-byte sequences when detecting UTF-8 encoding
	0d3c358 Fix 'replace-buffer-contents' in multibyte buffers
	c79a627 Update etc/NEWS for mail-source-movemail-program change
	63f1dc4 Improve movemail default
	0b1a2ae Delete description of deleted Customize functions
	fcd66d0 Keep vc-print-log from putting point at buffer end (Bug#31764)

	Conflicts:
		etc/NEWS

2018-06-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	a933ebe Improve commentary in info.el
	94e84a9 ; Further wording fix in tramp.texi
	a5a0b11 Fix wording in tramp.texi
	2933242 * doc/misc/tramp.texi (Remote shell setup): Fix typo.

2018-06-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	5bdc344 ; Reduce quoting for SELECTOR in 'make -C test' (Bug#31744)
	b6b793b ; test/Makefile.in: Add TEST_INTERACTIVE option (Bug#31744).
	1aa906f Make 'tags' targets respect --with-silent-rules (Bug#31744)

	Conflicts:
		test/Makefile.in
		test/README

2018-06-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	9c6f35a * doc/lispref/files.texi (Unique File Names): Fix a typo.  (B...

2018-06-18  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of recent changes in Comint

	* lisp/comint.el (comint-insert-previous-argument)
	(comint-arguments, comint-insert-previous-argument-from-end):
	Doc fixes.
	(comint-insert-previous-argument-from-end): Add :version.

	* doc/emacs/misc.texi (Shell Ring): Fix a typo in the name of
	'comint-insert-previous-argument'.  Document
	'comint-insert-previous-argument-from-end'.  (Bug#25271)

	* etc/NEWS: Reformat and rephrase the entry for recent Comint
	changes.

2018-06-18  Richard Stallman  <rms@gnu.org>

	rmail-summary-by-senders defaults to sender

	* etc/NEWS: Mention this.
	* lisp/mail/rmailsum.el (rmail-summary-by-senders):
	Offer From field of current message as a default argument.

2018-06-17  Dima Kogan  <dima@secretsauce.net>

	comint-insert-previous-argument doesn't detect and ignore trailing &

	This function is invoked in shell-mode by the user, and is meant to
	emulate what M-. does in zsh and bash: it inserts an argument from a
	previous command.  Neither zsh nor bash treat a trailing & specially:
	M-. simply inserts it if it is encountered.  Emacs DID have extra
	logic to detect and discard trailing &, but this logic was buggy, and
	a && anywhere in the sequence would confuse it.  This patch simply
	removes that logic to fix the bug and to emulate zsh and bash more
	closely

	* lisp/comint.el (comint-insert-previous-argument): don't detect and
	  ignore trailing &
	  (Bug#25271)
	* etc/NEWS: Document this.

2018-06-17  Dima Kogan  <dima@secretsauce.net>

	comint-insert-previous-argument counts args from start or from end

	This function is invoked in shell-mode by the user, and is meant to
	emulate what M-. does in zsh and bash: it inserts an argument from a
	previous command.  Without a prefix argument, it inserts the last arg
	from the previous command; with an argument INDEX, it inserts the
	INDEX-th argument.  bash counts from the start, while zsh counts from
	the end.  This patch adds a variable
	`comint-insert-previous-argument-from-end' that emulates the zsh
	behavior if non-nil.

	* lisp/comint.el (comint-arguments): can take in negative arguments to count
	  from the end, same as indexing in python.
	  (comint-insert-previous-argument): if
	  comint-insert-previous-argument-from-end is non-nil, INDEX counts
	  arguments from the end; if nil, from the beginning
	  (Bug#25271)
	* etc/NEWS: Document this.

2018-06-17  Glenn Morris  <rgm@gnu.org>

	* test/lisp/simple-tests.el (simple-tests-async-shell-command-30280):
	Use the correct emacs executable, not first in PATH.

2018-06-17  Michael Heerdegen  <michael_heerdegen@web.de>

	Allow floats as 'pcase' QPATS

	* lisp/emacs-lisp/pcase.el (\`): Extend semantics of QPATS to all
	numbers.  Add a comment explaining why we disallow some atoms as
	QPATS.
	* doc/lispref/control.texi (Backquote Patterns): Update the paragraph
	explaining QPATS.  Remove a sentence suggesting an analogy between
	QPATS to self-quoting objects.

2018-06-17  João Távora  <joaotavora@gmail.com>

	Minor Flymake docstring fixes

	* lisp/progmodes/flymake.el (flymake-diagnostic-functions):
	Clarify meaning of :region in docstring.
	(flymake-start): Fix broken docstring.

2018-06-17  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* etc/NEWS: Fix last added entry.

	* lisp/subr.el (dotimes-with-progress-reporter)
	(dolist-with-progress-reporter): Fix the advertised signature.

	* doc/lispref/display.texi (Progress): Fix last change.
	(Bug#31696)  (Bug#31697)

2018-06-17  Tino Calancha  <tino.calancha@gmail.com>

	Add new macro dolist-with-progress-reporter

	* lisp/subr.el (dolist-with-progress-reporter): New macro (Bug#31697).
	* lisp/cus-edit.el (custom-group-value-create): Use it.
	* lisp/dabbrev.el (dabbrev--progress-reporter): Delete variable.
	(dabbrev--find-expansion): Use dotimes-with-progress-reporter.

	* doc/lispref/display.texi: Document the macro.

2018-06-17  Tino Calancha  <tino.calancha@gmail.com>

	dotimes-with-progress-reporter: Polymorphic 2nd argument

	* lisp/subr.el (dotimes-with-progress-reporter): Allow 2nd arg to be
	a string or a progress reporter (Bug#31696).
	* doc/lispref/display.texi (node Progress): Update manual.

2018-06-17  Michael Albinus  <michael.albinus@gmx.de>

	Cleanup secrets-tests

	* test/lisp/net/secrets-tests.el (secrets-test03-items)
	(secrets-test04-search): Cleanup "session" collection initially.

2018-06-17  Eli Zaretskii  <eliz@gnu.org>

	When possible, prefer UTF-8 as the safe encoding for saving

	* lisp/international/mule-cmds.el (select-safe-coding-system):
	If possible, offer UTF-8 as the default encoding.  (Bug#31807)

2018-06-16  Daniel Colascione  <dancol@dancol.org>

	Apply non-user themes only when asked

	Theme settings now generally aren't actually applied until a call to
	`enable-theme-, either one made explicitly or implicitly through
	`load-theme' with NO-ENABLE nil.  This change has the effect of not
	applying theme changes just because we load a lisp file containing a
	theme specification.  The previous behavior is preserved for the
	special case of the `user' theme, which is frequently used for
	ad-hoc customization.

	* lisp/cus-face.el (custom-theme-set-faces): Call
	`custom--should-apply-setting' to decide whether to apply
	a setting.

	* lisp/custom.el (custom--should-apply-setting): New function.
	(custom--inhibit-theme-enable): Add `apply-only-user' option;
	default to it.
	(custom-push-theme, custom-theme-set-variables): Call
	`custom--should-apply-setting' to decide whether to apply
	a setting.

2018-06-16  Noam Postavsky  <npostavs@gmail.com>

	Don't forget to analyze args of lambda lifted functions (Bug#30872)

	* lisp/emacs-lisp/cconv.el (cconv--convert-funcbody): New function.
	(cconv--convert-function): Extracted from here.
	(cconv-convert): Also use it here, in the lambda lifted case, so that
	mutated args are properly accounted for.
	* test/lisp/emacs-lisp/cconv-tests.el: New test.

2018-06-16  Noam Postavsky  <npostavs@gmail.com>

	Fix off by one error in python-mode assertion (Bug#30964)

	* lisp/progmodes/python.el (python-nav-end-of-statement): Don't assert
	that string-start is strictly greater than last-string-end, because
	the string end is a position outside of the string and may therefore
	be the same as the following string's start.
	* test/lisp/progmodes/python-tests.el (python-nav-end-of-statement-2):
	New test.

2018-06-16  Daniel Colascione  <dancol@dancol.org>

	Restore old echo_truncate condition

	* src/keyboard.c (read_key_sequence): Restore old
	echo_truncate condition.

2018-06-16  Daniel Colascione  <dancol@dancol.org>

	Make regex matching reentrant; update syntax during match

	* src/lisp.h (compile_pattern): Remove prototype of
	now-internal function.

	* src/regex.c (POS_AS_IN_BUFFER): Consult gl_state instead of
	re_match_object: the latter can change in Lisp.
	(re_match_2_internal): Switch back to UPDATE_SYNTAX_* FROM
	UPDATE_SYNTAX_FAST*, allowing calls into Lisp.

	* src/regex.h (re_match_object): Uncomment declaration.

	* src/search.c (struct regexp_cache): Add `busy' field.
	(thaw_buffer_relocation): Delete; rely on unbind.
	(compile_pattern_1): Assert pattern isn't busy.
	(shrink_regexp_cache): Don't shrink busy patterns.
	(clear_regexp_cache): Don't nuke busy patterns.
	(unfreeze_pattern, freeze_pattern): New functions.
	(compile_pattern): Return a regexp_cache pointer instead of the
	re_pattern_buffer, allowing callers to use `freeze_pattern' if
	needed.  Do not consider busy patterns as cache hit candidates;
	error if we run out of non-busy cache entries.
	(looking_at_1, fast_looking_at): Snapshot
	Vinhibit_changing_match_data; mark pattern busy while we're
	matching it; unbind.
	(string_match_1, fast_string_match_internal)
	(fast_c_string_match_ignore_case): Adjust for compile_pattern
	return type.
	(search_buffer_re): Regex code from old search_buffer moved here;
	snapshot Vinhibit_changing_match_data; mark pattern busy while
	we're matching it; unbind.
	(search_buffer_non_re): Non-regex code from old search_buffer
	moved here.
	(search_buffer): Split into search_buffer_re,
	search_buffer_non_re.
	(syms_of_search): Staticpro re_match_object, even though we really
	shouldn't have to.

	* src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
	(UPDATE_SYNTAX_TABLE_FAST): Remove.

	* src/thread.h (struct thread_state): Remove m_re_match_object,
	which is global again.  (It never needs to be preserved across
	thread switch.)

2018-06-16  Daniel Colascione  <dancol@dancol.org>

	Decouple dired from regex internals

	* src/dired.c: Remove use of regex.h
	(directory_files_internal): Use higher-level regular
	expression functions.

2018-06-16  Daniel Colascione  <dancol@dancol.org>

	Remove commented-out code in compile_pattern_1

	* src/search.c (compile_pattern_1): Remove commented-out code.

2018-06-16  Daniel Colascione  <dancol@dancol.org>

	Tweak field ordering in re_pattern_buffer

	* src/regex.h (struct re_pattern_buffer): Reorder charset_unibyte
	field to keep bitfields together.

2018-06-16  Bozhidar Batsov  <bozhidar@batsov.com>

	Fix a docstring

	Fix references to RuboCop in ruby-mode.el

2018-06-16  João Távora  <joaotavora@gmail.com>

	Fix bug in elisp-flymake-byte-compile

	* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile): Pass
	keyword args to make-process.

2018-06-16  Paul Eggert  <eggert@cs.ucla.edu>

	Rewrite memory-limit in Lisp

	Have it return Emacs virtual memory size, not the sbrk value
	which is often useless newadays.
	* doc/lispref/internals.texi (Garbage Collection):
	* etc/NEWS: Document this.
	* lisp/subr.el (memory-limit): New implementation in Lisp,
	written in terms of process-attributes, and which returns
	virtual memory size.
	* src/alloc.c (Fmemory_limit): Remove C implementation.

2018-06-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix byte compilation of (eq foo 'default)

	Do not use the symbol ‘default’ as a special marker.
	Instead, use a value that cannot appear in the program,
	improving on a patch proposed by Robert Cochran (Bug#31718#14).
	* lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
	New constant.
	(byte-compile-cond-jump-table-info)
	(byte-compile-cond-jump-table): Use it instead of 'default.
	* test/lisp/emacs-lisp/bytecomp-tests.el:
	(byte-opt-testsuite-arith-data): Add a test for the bug.

2018-06-16  Eli Zaretskii  <eliz@gnu.org>

	Use mint_ptr in w32notify.c

	* src/w32notify.c (Fw32notify_add_watch, Fw32notify_rm_watch)
	(Fw32notify_valid_p, w32_get_watch_object): Use make_mint_ptr and
	xmint_pointer.

2018-06-16  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/text.texi (Parsing JSON): Minor formatting changes.

2018-06-16  Eli Zaretskii  <eliz@gnu.org>

	Minor doc string fixes in json.c

	* src/json.c (Fjson_serialize, Fjson_insert): Fix 'usage'.

2018-06-16  Eli Zaretskii  <eliz@gnu.org>

	Formatting and doc fixes in recent changes

	* src/xfaces.c (evaluate_face_filter): Explain the inner braces.
	(merge_face_ref): Fix whitespace.
	(syms_of_xfaces) <face-filters-always-match>: Doc fix.
	* src/xdisp.c (extend_face_to_end_of_line): Fix whitespace.

2018-06-16  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of several recent changes

	* src/xfaces.c (merge_face_ref): Fix a typo in the commentary.
	(evaluate_face_filter, filter_face_ref): Minor copyedits in
	the commentary.
	* doc/lispref/display.texi (Face Remapping):
	* doc/lispref/text.texi (Special Properties): Document the
	':filter' face specs and their effects.  Document
	'face-filters-always-match'.

	* doc/emacs/files.texi (Visiting): Document the new
	possibility to visit large files literally in response to
	question asked by Emacs.
	* etc/NEWS: Mention the new possibility to visit large files
	literally.
	* lisp/files.el (files--ask-user-about-large-file): Use
	"literally" instead of "raw", for consistency with
	find-file-literally.

	* doc/lispref/frames.texi (Input Focus): Tell explicitly that
	focus-change events are sometimes supported on TTY frames.

2018-06-16  Eli Zaretskii  <eliz@gnu.org>

	Prevent QUIT to top level inside 'while-no-input'

	* lisp/subr.el (while-no-input): Handle the case when BODY
	never tests quit-flag, and runs to completion even though
	input arrives while BODY executes.  (Bug#31692)

2018-06-16  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in xmenu.c

	* src/xmenu.c (x_menu_show): Replace a call to
	record_unwind_protect_pointer with record_unwind_protect_ptr.
	(Bug#31856)

2018-06-16  Ari Roponen  <ari.roponen@gmail.com>

	Fix --with-cairo build

	* src/xterm.c (x_cr_destroy): Remove extra semicolon.
	(x_cr_export_frames): Fix a typo in calling
	record_unwind_protect_ptr.  (Bug#31856)

2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	* src/Makefile.in: Update paxctl comment.

2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Minor CANNOT_DUMP cleanups

	Mostly, this avoids munging executables when CANNOT_DUMP = yes,
	as the munging is needed only for unexec.
	* configure.ac (PAXCTL_dumped, PAXCTL_notdumped) [CANNOT_DUMP]:
	Leave these empty.
	(LD_SWITCH_SYSTEM_TEMACS) [CANNOT_DUMP]:
	Do not append -no-pie or -nopie.
	* src/alloc.c (my_heap_start) [CANNOT_DUMP]: Omit; not used.

2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Remove old combreloc hack

	It has not been needed for many years and gets in the way of
	portable dumping, address sanitization, etc.  See:
	https://lists.gnu.org/r/emacs-devel/2016-12/msg00147.html
	* configure.ac (LDFLAGS_NOCOMBRELOC, emacs_cv_znocombreloc):
	Remove.  All uses removed.
	* etc/PROBLEMS: Remove discussion of combreloc problems.

2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix typo in previous macfont.m change

	* src/macfont.m (macfont_descriptor_entity): Fix typo.
	Problem reported by Clemens Schüller.

2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Restore macfont.m casts to void *

	* src/macfont.m (macfont_set_family_cache): Restore casts
	to void * that were mistakenly removed in my recent change.
	The types in question are pointer-to-const.  Problem
	reported by Clemens Schüller.

2018-06-15  João Távora  <joaotavora@gmail.com>

	Fix a bug in Flymake handling of region-specific reports

	The backend's diagnostic list must be updated too, not just cleared.

	* lisp/progmodes/flymake.el (flymake--diag): Add overlay field.
	(flymake--highlight-line): Return created overlay.
	(flymake--handle-report): Iterate the backend's diagnostics, not
	the overlays.  Set diagnostic overlay.
	(flymake--run-backend): Don't clean diagnostic list here.
	(flymake-mode): Call delete-overlay directly.

2018-06-15  Eli Zaretskii  <eliz@gnu.org>

	Fix building --without-x and similar

	* src/keyboard.c (make_lispy_focus_out): Compile it
	unconditionally, as it is now supported on TTYs as well.
	Reported by Filipp Gunbin <fgunbin@fastmail.fm>.

2018-06-15  João Távora  <joaotavora@gmail.com>

	Flymake and backends exchange hints abouts changed regions

	* lisp/progmodes/flymake.el (flymake--delete-own-overlays): Accept
	BEG and END.  Rename from flymake-delete-own-overlays.
	(flymake-diagnostic-functions): Describe :region, :recent-changes
	in docstring.
	(flymake--handle-report): Accept REGION.
	(flymake--run-backend): Accept optional ARGS to pass to backend
	fn.
	(flymake--recent-changes): New buffer-local variable.
	(flymake-start): Call flymake--run-backend with recent changes.
	(flymake-mode): Initialize flymake--recent-changes.  Call
	flymake--delete-own-overlays.
	(flymake-after-change-function): Collect recent changes.

	* doc/misc/flymake.texi (Backend functions): Describe
	:recent-changes and :region.

	* etc/NEWS (Flymake): Mention improvements in backend communication.

2018-06-15  Tino Calancha  <tino.calancha@gmail.com>

	customize-apropos: Separate package name from its description

	* lisp/cus-edit.el (custom-group-value-create):
	Always insert documentation indented from its package name (Bug#31466).

2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Remove Lisp_Misc_Save_Value

	This type and its associated routines are no longer used.
	* src/alloc.c (voidfuncptr): Move here from src/lisp.h.
	(free_misc, make_save_int_int_int)
	(make_save_obj_obj_obj_obj, make_save_ptr)
	(make_save_ptr_int, make_save_ptr_ptr)
	(make_save_funcptr_ptr_obj, make_save_memory)
	(free_save_value, mark_save_value):
	Remove.
	(mark_object): Remove mention of Lisp_Misc_Save_Value.
	* src/lisp.h (Lisp_Misc_Save_Value, SAVE_SLOT_BITS)
	(SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, enum Lisp_Save_Type)
	(struct Lisp_Save_Value, SAVE_VALUEP, XSAVE_VALUE)
	(save_type, XSAVE_POINTER, set_save_pointer)
	(XSAVE_FUNCPOINTER, XSAVE_INTEGER, set_save_integer)
	(XSAVE_OBJECT): Remove.
	(union Lisp_Misc): Remove u_save_value.
	(voidfuncptr): Move from here to src/alloc.c.
	* src/print.c (print_object):
	Remove support for printing Lisp_Misc_Save_Value.

2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	New type Lisp_Misc_Ptr

	This is a streamlined version of Lisp_Save_Value, which contains just
	a pointer, as that is all Lisp_Save_Values are used for any more.
	With the previous changes, these objects are not primarily used as
	save values, so just call them "Misc" rather than "Save".
	* src/alloc.c (make_misc_ptr): New function.
	(mark_object): Mark Lisp_Misc_Ptr too.
	* src/lisp.h (Lisp_Misc_Ptr): New constant.
	(struct Lisp_Misc_Ptr): New type.
	(make_mint_ptr, mint_ptrp, xmint_pointer):
	Use Lisp_Misc_Ptr, not Lisp_Save_Value.
	(union Lisp_Misc): Add Lisp_Misc_Ptr.
	* src/print.c (print_object): Print Lisp_Misc_Ptr.

2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid allocating Lisp_Save_Value for arrays

	* src/alloc.c (mark_maybe_objects): New function.
	* src/eval.c (default_toplevel_binding)
	(backtrace_eval_unrewind, Fbacktrace__locals):
	Treat array unwindings like other miscellaneous pdl types.
	(record_unwind_protect_array): New function.
	(do_one_unbind): Free the array while unwinding.
	(mark_specpdl): Mark arrays directly.
	* src/lisp.h (SPECPDL_UNWIND_ARRAY): New constant.
	(union specbinding): New member unwind_array.
	(SAFE_ALLOCA_LISP_EXTRA): Use record_unwind_protect_array
	instead of make_save_memory + record_unwind_protect.

2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid allocating Lisp_Save_Value for excursions

	* src/editfns.c (save_excursion_save): New arg PDL,
	specifying where to save the state.  All uses changed.
	(save_excursion_restore): Args are now the marker and info
	rather than a pointer to a Lisp_Save_Value containing them.
	All uses changed.
	* src/eval.c (default_toplevel_binding, Fbacktrace__locals):
	Treat excursions like other miscellaneous pdl types.
	(record_unwind_protect_excursion): Save data directly
	into the pdl rather than creating an object on the heap.
	This avoids the need to allocate and free an object.
	(do_one_unbind, backtrace_eval_unrewind):
	Unwind excursions directly.
	(mark_specpdl): Mark excursions directly.
	* src/lisp.h (SPECPDL_UNWIND_EXCURSION): New constant.
	(union specbinding): New member unwind_excursion.

2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Just use cons in macfont_descriptor_entity

	* src/macfont.m (macfont_descriptor_entity): Use cons instead
	of make_save_ptr_int, as this avoids the need for a special
	type and function for this one-off.

2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid allocating a Lisp_Save_Value in ftfont.c

	* src/ftfont.c (struct ftfont_cache_data): New member face_refcount.
	(ftfont_lookup_cache): Clear it when initializing.
	Use make_mint_ptr, since this typically avoids the need to
	allocate a Lisp_Save_Value as refcount is now stored elsewhere.
	(ftfont_open2, ftfont_close): Manipulate the reference
	count in the struct, not in the save object.

2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Use record_unwind_protect_ptr to avoid allocation

	* src/term.c (struct tty_pop_down_menu): New type.
	(tty_pop_down_menu, tty_menu_show): Use it, along with
	record_unwind_protect_ptr, to avoid allocating a Lisp_Misc.
	* src/xmenu.c (struct pop_down_menu): New type.
	(pop_down_menu, x_menu_show): Use it, likewise.
	* src/xterm.c (x_cr_destroy, x_cr_export_frames):
	Use record_unwind_protect_pointer to avoid possibly allocating
	a Lisp_Misc.

2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid Lisp_Misc allocation if C stack suffices

	* src/fileio.c (union read_non_regular): New type.
	(read_non_regular, Finsert_file_contents):
	Use it to avoid	allocating a Lisp_Misc.
	* src/keymap.c (union map_keymap): New type.
	(map_keymap_char_table_item, map_keymap_internal):
	Use it to avoid	allocating a Lisp_Misc.

2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify init_module_assertions

	* src/emacs-module.c (init_module_assertions): Just use NULL
	instead of allocating a dummy on the stack and then using
	eassert.  Practical platforms check for null pointer
	dereferencing nowadays, so this is good enough.

2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	New mint_ptr representation for C pointers

	* src/lisp.h (make_mint_ptr, mint_ptrp, xmint_pointer): New functions.
	* src/dbusbind.c (xd_lisp_dbus_to_dbus, Fdbus__init_bus):
	* src/emacs-module.c (module_free_global_ref, Fmodule_load)
	(module_assert_runtime, module_assert_env, value_to_lisp)
	(lisp_to_value, initialize_environment)
	(finalize_environment, finalize_runtime_unwind)
	(mark_modules):
	* src/font.c (otf_open, font_put_frame_data)
	(font_get_frame_data):
	* src/macfont.m (macfont_invalidate_family_cache)
	(macfont_get_family_cache_if_present)
	(macfont_set_family_cache):
	* src/nsterm.h (XNS_SCROLL_BAR):
	* src/nsterm.m (ns_set_vertical_scroll_bar)
	(ns_set_horizontal_scroll_bar):
	* src/w32fns.c (w32_monitor_enum)
	(w32_display_monitor_attributes_list):
	* src/xterm.c (x_cr_destroy, x_cr_export_frames):
	* src/xwidget.c (webkit_javascript_finished_cb)
	(save_script_callback, Fxwidget_webkit_execute_script)
	(kill_buffer_xwidgets):
	Use mint pointers instead of merely save pointers.

2018-06-14  João Távora  <joaotavora@gmail.com>

	Also allow custom false and null when serializing to JSON

	* doc/lispref/text.texi (Parsing JSON): Describe new arguments of
	json-serialize and json-insert.

	* src/json.c (enum json_object_type, struct json_configuration):
	Move up in file before first usage.
	(lisp_to_json_toplevel, lisp_to_json_toplevel_1, lisp_to_json):
	Accept a struct json_configuration*.
	(Fjson_serialize, Fjson_insert): Accept multiple args.
	(json_parse_args): Accept new boolean configure_object_type.

	* test/src/json-tests.el
	(json-serialize, json-insert): Update forward decls.
	(json-parse-with-custom-null-and-false-objects): Add assertions for
	json-serialize.

2018-06-14  João Távora  <joaotavora@gmail.com>

	Support custom null and false objects when parsing JSON

	* doc/lispref/text.texi (Parsing JSON): Describe new :null-object
	and :false-object kwargs to json-parse-string and
	json-parse-buffer.

	* src/json.c
	(struct json_configuration): New type.
	(json_to_lisp): Accept a struct json_configuration* param.
	(json_parse_args): Rename from json_parse_object_type.
	(Fjson_parse_string): Rework docstring.
	(Fjson_parse_string, Fjson_parse_buffer): Update call to
	json_to_lisp.
	(syms_of_json): Two new syms, QCnull_object and QCfalse_object.

	* test/src/json-tests.el
	(json-parse-with-custom-null-and-false-objects): New test.

2018-06-14  Damien Cassou  <damien@cassou.me>

	Fix pretty-printing empty objects as null

	* lisp/json.el (json-pretty-print): Force distinction between empty
	  objects and null.
	(json-encode-list): Remove responsibility to print "null" as this
	value is not a list.
	(json-encode): Give higher precedence to lists so that an empty list
	is printed as an empty object, not as "null".

	* test/lisp/json-tests.el (test-json-encode): Add many tests to check
	  the behavior of pretty-printing.

2018-06-13  Paul Eggert  <eggert@cs.ucla.edu>

	Remove some wrong 8-byte alignment assumptions

	Do not assume that 8-byte alignment suffices for all C objects,
	as some platforms require 16-byte alignment for some objects,
	and this will start to bite us as time goes on (e.g., if an
	Emacs module ever uses an object containing a long
	double, which requires 16-byte alignment on x86-64).
	Conversely, on !USE_LSB_TAG platforms, do not insist on
	aligning Lisp objects to a multiple of 8, as this is not
	needed for high-order tag bits.
	* src/alloc.c (LISP_ALIGNMENT, MALLOC_IS_LISP_ALIGNED):
	New constants.
	(XMALLOC_BASE_ALIGNMENT, XMALLOC_HEADER_ALIGNMENT):
	Removed.  All uses replaced by LISP_ALIGNMENT.
	(aligned_alloc, laligned, lmalloc, lrealloc, union aligned_Lisp_Misc)
	(maybe_lisp_pointer, pure_alloc):
	Use LISP_ALIGNMENT rather than GCALIGNMENT.
	(aligned_alloc): Do not worry about an alignment of
	LISP_ALIGNMENT when MALLOC_IS_LISP_ALIGNED, as the code never
	uses aligned_alloc with alignment == LISP_ALIGNMENT in that case.
	(__alignof__): Remove.  All uses removed.
	(MALLOC_IS_GC_ALIGNED): Remove.
	All uses replaced with MALLOC_IS_LISP_ALIGNED.
	(vector_alignment): Remove.
	All uses replaced with LISP_ALIGNMENT.
	* src/alloc.c (mark_maybe_pointer):
	* src/emacs-module.c (value_to_lisp_bits):
	Do not assume GCALIGNMENT == 1 << GCTYPEBITS, as GCALIGNMENT
	is 1 on !USE_LSB_TAG platforms now.
	* src/lisp.h (GCALIGNMENT) [!USE_LSB_TAG]: Now 1.
	(struct Lisp_Symbol, union vectorlike_header, struct Lisp_Cons)
	(struct Lisp_String): Simplify test for verifying alignment.

2018-06-12  Daniel Colascione  <dancol@dancol.org>

	Clarify that enabling a theme does not disable other themes

	Avoid user confusion by explicitly stating that enabling a theme does
	not imply disabling other themes and that theme load functions are not
	theme switch functions.

	* lisp/custom.el (load-theme, enable-theme): Clarify docstrings.

2018-06-12  Daniel Colascione  <dancol@dancol.org>

	Ignore focus events for dead frames

	Frames can die between the time we generate a focus event and the time
	we get around to processing it.  Do run after-focus-change-function,
	since that's idempotent and we want to make sure not to miss
	any changes.

	* lisp/frame.el (handle-focus-in, handle-focus-out): Check for dead frames.

2018-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/ispell.el (ispell-menu-map): Init in declaration

	(ispell-menu-map-needed): Remove, now that the menu doesn't include
	the list of dictionaries any more, so it's basically constant.

2018-06-12  Eli Zaretskii  <eliz@gnu.org>

	Fix initialization of custom-delayed-init-variables

	* lisp/startup.el (command-line): Re-evaluate delayed-init custom
	variables one more time after setting up the initial
	window-system.  (Bug#30994)

	* doc/emacs/custom.texi (Early Init File):
	* etc/NEWS: Warn against using early-init.el as a substitute for
	.emacs.

2018-06-12  Noam Postavsky  <npostavs@gmail.com>

	Give warning if losing value to defvaralias (Bug#5950)

	* src/eval.c (Fdefvaralias): Call `display-warning' if the alias
	target has a non-eq value to the variable being aliased.
	* test/src/eval-tests.el (defvaralias-overwrite-warning): New test.

2018-06-12  Noam Postavsky  <npostavs@gmail.com>

	Let display-warning work during bootstrap

	* lisp/emacs-lisp/warnings.el (display-warning): Only call
	`special-mode' and `newline' if they are `fbound'.

2018-06-11  Michael R. Mauger  <michael@mauger.com>

	* lisp/progmodes/sql.el: Add MariaDB support (Robert Cochran)
	  (sql-product-alist): Add MariaDB entry
	  (sql-mariadb-program, sql-mariadb-options, sql-mariadb-login-params,
	  sql-mode-mariadb-font-lock): New variables, aliases of the MySQL
	  equivalents
	  (sql-mariadb, sql-comint-mariadb): New interaction mode functions
	  for MariaDB
	  (sql-mode-mysql-font-lock-keywords): Updated font-lock for MySQL
	  and MariaDB

2018-06-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
	    Noam Postavsky  <npostavs@gmail.com>

	soap-client: Add byte-code compatibility function (Bug#31742)

	* lisp/net/soap-client.el: Bump version to 3.1.4.
	(soap-type-of): New function.
	(soap-resolve-references, soap-decode-type)
	(soap-encode-attributes, soap-encode-value): Replace aref
	calls with calls to soap-type-of.

	* lisp/net/soap-inspect.el (soap-sample-value, soap-inspect):
	Replace aref calls with calls to soap-type-of.

2018-06-11  Daniel Colascione  <dancol@dancol.org>

	Add after-delete-frame-functions

	Instead of working around the behavior delete-frame-functions, just
	add an after-delete-frame-functions hook.

	* doc/lispref/frames.texi (Deleting Frames): Document
	`after-delete-frame-functions'.

	* etc/NEWS: Mention `after-delete-frame-functions'.

	* lisp/frame.el (blink-cursor--should-blink):
	(blink-cursor--rescan-frames, blink-frame-mode): Get rid of the
	ugly ignored-frame parameter and switch from
	`delete-frame-functions' to `after-delete-frame-functions'.

	* src/frame.c (syms_of_frame): New variable
	`after-delete-frame-functions'.
	(delete_frame): Use it.

2018-06-11  Daniel Colascione  <dancol@dancol.org>

	Make blink-cursor-mode use new focus functions

	* lisp/frame.el (blink-cursor--should-blink): New function.
	(blink-cursor-check): Call it.
	(blink-cursor--rescan-frames): New function.
	(blink-cursor-mode): Wire up `blink-cursor--rescan-frames`; stop
	using `focus-in-hook' and `focus-out-hook'.

2018-06-11  Daniel Colascione  <dancol@dancol.org>

	Losing focus should not stop idleness

	* src/keyboard.c (read_char): Make Qfocus_out not break idle.

2018-06-11  Daniel Colascione  <dancol@dancol.org>

	New focus management interface

	focus-in-hook and focus-out-hook don't accurately reflect actual
	user-visible focus states.  Add a new focus interface and mark the old
	one obsolete.

	* doc/lispref/frames.texi (Input Focus): Document new focus
	functions.  Remove references to the now-obsolete focus hooks.

	* lisp/frame.el (frame-focus-state): New function.
	(after-focus-change-function): New variable.
	(focus-in-hook, focus-out-hook): Move to lisp from C;
	mark obsolete.

	* lisp/term/xterm.el (xterm-translate-focus-in)
	(xterm-translate-focus-out): Track tty focus in `tty-focus-state'
	terminal parameter; call `after-focus-change-function'.
	(xterm--suspend-tty-function): New function.

	* src/frame.c (Fhandle_switch_frame): Update docstring; don't call
	focus hooks.
	(focus-in-hook, focus-out-hook): Remove: moved to lisp.
	(syms_of_frame): Remove unread_switch_frame; add
	Vunread_switch_frame.

	* src/keyboard.c:
	(Finternal_handle_focus_in): New function.
	(make_lispy_event): Always report focus events to lisp; don't
	translate them to switch events sometimes.  Lisp can take care of
	creating synthetic switch-frame events via
	`internal-handle-focus-in'.

	* src/w32term.c (x_focus_changed): Remove switch-avoidance logic:
	just directly report focus changes to lisp.

	* src/xterm.c (x_focus_changed): Remove switch-avoidance logic:
	just directly report focus changes to lisp.

2018-06-11  Daniel Colascione  <dancol@dancol.org>

	Remove code #if-0-ed terminal-local code

	This code hasn't been used since 2005.

	* src/data.c
	(get_terminal, Fterminal_local_value, Fset_terminal_local_value): Remove.

2018-06-11  Daniel Colascione  <dancol@dancol.org>

	Remove obsolete keyboard.c code

	* src/keyboard.c (any_kboard_state, single_kboard_state): Remove
	#if-0-ed functions.

2018-06-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't have shr bug out on degenerate <img> tags

	* lisp/net/shr.el (shr-tag-img): Protect against constructs like
	<img src=" ">.

2018-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Use \' i.s.o $.

2018-06-10  Noam Postavsky  <npostavs@gmail.com>

	Merge from emacs-26

	8a1576cc03 Fix term.el cursor movement at bottom margin (Bug#31690)

2018-06-10  Noam Postavsky  <npostavs@gmail.com>

	Merge from emacs-26

	3434edc731 Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds
	36bbdfc017 Update Unicode data files to version 11.0.0 of Unicode
	b7b7a5f4f3 * etc/NEWS: Belatedly call out vc-hg changes in v26.1.  (B...
	5b6f8b54d1 Clarify the documentation of 'dired-recursive-deletes'
	9db97b49cd ; * etc/DEBUG: Add information about debugging libXft prob...
	0214ffbe60 Clarify doc string of 'update-glyphless-char-display'
	ef35d405b1 Clarify subtle issues with 'eq' in byte-compiled code
	c6ef3c8321 Make cl-print respect print-quoted (bug#31649)
	26b52ac40e Fix unexpected jumps of window-point in 'set-window-config...
	4af077ab4d * etc/emacs.appdata.xml: Update Emacs screenshot.
	e5ab25deae Fix cursor movement by 'next-logical-line' after 'next-line'
	d20beef5f1 Fix prompt in bookmark.el (Bug#24726)
	c57e7eaae8 Improve documentation of 'empty' whitespace-style

	# Conflicts:
	#	etc/NEWS

2018-06-10  Noam Postavsky  <npostavs@gmail.com>

	Merge from emacs-26

	55c9bb9f3c Fix comint-get-old-input-default for output field case (Bu...
	26819cd1c0 ; ChangeLog.3: Fix typo.
	e35a08ea4b Prevent infloop in 'delete-trailing-whitespace'

	* lisp/progmodes/cperl-mode.el:
	* lisp/progmodes/cc-engine.el:
	* lisp/progmodes/cc-mode.el: Fix tabs mixed with space preventing
	commit hook from succeeding.

2018-06-10  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc -Wnull-dereference some more

	* src/keyboard.c (read_char): Use xevent_start in a couple
	more places where it is safe.  This is needed with
	--enable-gcc-warnings --enable-checking on Fedora 28 x86-64.

2018-06-10  Paul Eggert  <eggert@cs.ucla.edu>

	Use native alignment to access Lisp object data

	Instead of using __builtin_assume_aligned (P, GCALIGNMENT) to
	tell GCC that P has alignment 8, use (T *) P where T is the
	type of the pointed-to object, to tell GCC that P has native
	alignment.  This is simpler, matches the intent better, and
	should help simplify future improvements.  Some of these
	changes are to pacify gcc -Wnull-dereference, since GCC is
	smarter about pointers now that Emacs no longer uses
	__builtin_assume_aligned; these minor changes should improve
	code efficiency slightly.  On Fedora 28 x86-64 with default
	optimization this patch shrinks the size of the Emacs text
	segment by 0.36%.
	* src/conf_post.h (__has_builtin, __builtin_assume_aligned):
	Remove; no longer used.
	* src/dbusbind.c (XD_OBJECT_TO_DBUS_TYPE):
	Pacify -Wnull-dereference by using XCAR instead of CAR_SAFE
	and XCDR instead of CDR_SAFE when this is safe.
	* src/fileio.c (Fexpand_file_name):
	* src/font.c (clear_font_cache):
	Pacify -Wnull-dereference by removing unnecessary NILP test.
	* src/keyboard.c (xevent_start): New function.
	(read_char, read_key_sequence): Pacify -Wnull-dereference by
	using xevent_start instead of EVENT_START.
	* src/lisp.h (lisp_h_XUNTAG): Remove; XUNTAG is always a macro
	now, since it can no longer be implemented as a function.
	(XUNTAG): New third argument CTYPE.  All uses changed.
	Cast result to CTYPE * instead of using __builtin_assume_aligned.
	Simplify by using LISP_WORD_TAG.
	(LISP_WORD_TAG): New macro.
	(TAG_PTR): Use it.
	* src/menu.c (x_popup_menu_1):
	Pacify -Wnull-dereference by using XCAR instead of Fcar and
	XCDR instead of Fcdr where this is safe.

2018-06-09  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify read_key_sequence

	* src/keyboard.c (READ_KEY_ELTS): New constant.
	(keyremap_step, read_key_sequence): Omit BUFSIZE arg, since it's
	always READ_KEY_ELTS.  All callers changed.
	(grow_bool_vector): Remove; no longer needed.
	(read_key_sequence): Use a bool array instead of a Lisp bool
	vector, since it's small and this puts less pressure on the GC.

2018-06-09  Daniel Colascione  <dancol@dancol.org>

	Unbreak echoing

	* src/keyboard.c (read_key_sequence): Don't echo_truncate the first time.

2018-06-09  Paul Eggert  <eggert@cs.ucla.edu>

	Fix pointer misuse in JSON parser

	* src/json.c (lisp_to_json_toplevel_1): Fix pointer misuse not
	caught by C type checking (json_t ** converted to void * where
	the program expected json_t *).  Bug caught on Fedora 28 x86-64 via
	'./configure CFLAGS="-g3 -O2 -fsanitize=address" CANNOT_DUMP=yes'.
	Avoid similar problems in the future by rewriting to use
	json_t * instead of json_t **.

2018-06-09  Daniel Colascione  <dancol@dancol.org>

	Correctly set last_nonmenu_event when replaying

	read_key_sequence can, in various circumstances, play back recorded
	events.  Make sure that we set last_nonmenu_event as if we weren't
	replaying.  Without this change, we leave last_nonmenu_event set to
	whatever it was before we started replaying, leading to spurious
	random keymap menu prompts appearing after reading terminal control
	sequences, the translation of which sometimes causes event replays.

	* src/keyboard.c:
	(grow_bool_vector): New function
	(read_key_sequence): Remember menu event history per-event.

2018-06-09  Daniel Colascione  <dancol@dancol.org>

	Add debug facility for formatting in rr sessions

	The existing debug print commands don't work in rr, since they touch
	stderr. The new xfmt command just calls Fformat and doesn't touch the
	stdio streams.

	* src/.gdbinit:
	(xfmt): New GDB command.

	* src/print.c:
	(debug_format): New function.

2018-06-09  Daniel Colascione  <dancol@dancol.org>

	Fix typo in docstring

	* lisp/term/xterm.el: (xterm-paste-ending-sequence): Fix typo

2018-06-09  Paul Eggert  <eggert@cs.ucla.edu>

	Fix read buffer overrun on overflowed integers

	* src/lread.c (read_integer): Fix off-by-1 buffer overrun
	introduced in 2018-04-17T23:23:16Z!eggert@cs.ucla.edu.  The
	bug could occur when Emacs read radixed integers containing
	more than 100 digits.  Bug caught by AddressSanitizer.

2018-06-09  Alan Mackenzie  <acm@muc.de>

	Implement the C++11 "using" type definition.

	Cease using the long obsolete c++-template-syntax-table.

	* lisp/progmodes/cc-align.el (c-lineup-template-args): Cease using
	c++-template-syntax-table.

	* lisp/progmodes/cc-engine.el (c-beginning-of-inheritance-list)
	(c-search-decl-header-end, c-beginning-of-decl-1, c-end-of-decl-1)
	(c-guess-continued-construct, c-guess-basic-syntax): Cease using
	c++-template-syntax-table.
	(c-guess-basic-syntax): Add CASE 5D.6 to handle C++11's "using" type
	definition.

	* lisp/progmodes/cc-langs.el (c++-make-template-syntax-table)
	(c++-template-syntax-table): Remove.
	(c-equals-type-clause-kwds, c-equals-type-clause-key): New language
	constants/variables.

2018-06-09  Daniel Colascione  <dancol@dancol.org>

	Improve robustness xterm event processing

	We used to treat the start of a focus-in, focus-out, and the start of
	a paste sequence as normal events bound in global-map, but this
	approach produces problems when we recognize events in the middle of
	actions that don't immediately dispatch to the command loop.

	Now we handle these events internally inside read-key, translating the
	focus events to nothing and paste-start into an xterm-paste event that
	neatly encapsulates the entire paste sequence.

	* lisp/term/xterm.el:
	(xterm-paste): Accept an event argument; insert text from event.
	(xterm-translate-focus-in,xterm-translate-focus-out)
	(xterm-translate-bracketed-paste): New functions.
	(xterm-handle-focus-in,xterm-handle-focus-out): Remove.
	(xterm-rxvt-function-map): Bind new translation functions.

2018-06-09  Alan Mackenzie  <acm@muc.de>

	CC Mode: In brace lists, anchor an elt on its predecessor, not on first elt

	* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): At the end, accept
	"." as a unary operator (which it now is in brace lists in, e.g., C Mode).
	(c-guess-basic-syntax): Just before CASE 9C, move back to the previous brace
	list entry in the block, rather than to the first one.

2018-06-09  Philipp Stephani  <phst@google.com>

	Make error checking for thread functions stricter.

	* src/systhread.c (sys_thread_create): Change return type to bool.
	Check for errors returned by pthread_attr_setstacksize and
	pthread_attr_destroy.
	(sys_mutex_init): Abort on errors.  Enable mutex checks when checking
	is enabled.
	(sys_cond_init): Abort on errors.
	(sys_mutex_lock, sys_mutex_unlock, sys_cond_wait)
	(sys_cond_signal, sys_cond_broadcast, sys_cond_destroy): Check for
	errors in debug mode.

2018-06-09  Eli Zaretskii  <eliz@gnu.org>

	Allow to reset Deleted flag when exporting messages in Rmail

	* lisp/mail/rmailout.el (rmail-output-reset-deleted-flag): New
	defcustom.
	(rmail-output): When 'rmail-output-reset-deleted-flag' is non-nil,
	reset the Deleted flag of the appended messages, and if COUNT is
	greater than 1, do not ignore deleted messages.  Update the doc
	string accordingly.  (Bug#31271)

	* doc/emacs/rmail.texi (Rmail Output): Document
	'rmail-output-reset-deleted-flag'.

	* etc/NEWS: Mention the new user option.

2018-06-08  Paul Eggert  <eggert@cs.ucla.edu>

	Remove AddressSanitizer bug workaround

	This workaround no longer appears to be needed.
	* src/alloc.c (USE_ALIGNED_ALLOC): Don’t leave undefined
	merely because ADDRESS_SANITIZER is defined, as that bug
	in -fsanitize=address appears to have been fixed.  See:
	https://github.com/google/sanitizers/issues/337
	* src/conf_post.h (vfork): Improve comment.

2018-06-08  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix default candidate of find-face-definition

	* lisp/emacs-lisp/find-func.el (find-function-read): Use
	face-at-point instead of variable-at-point for faces. (bug#31699)

2018-06-08  Daniel Colascione  <dancol@dancol.org>

	Avoid unnecessary readahead early in TTY frame init

	We query some properties of the terminal early in initialization, and
	just before we do, we perform ordinary redisplay.  This redisplay can
	result in unsightly flickering if we change some aspects of the
	display immediately afterward and redisplay again.  By avoiding
	redisplay in xquery--query as long as we get timely responses from the
	terminal, we can avoid this early unwanted redisplay.

	* lisp/term/xterm.el:
	(xterm-query-redisplay-timeout): New variable.
	(xterm--read-event-for-query): New function.
	(xterm--report-background-handler,xterm--version-handler,xterm--query):
	Call it.

2018-06-08  Daniel Colascione  <dancol@dancol.org>

	Support terminal focus notifications

	* lisp/frame.el (handle-focus-in,handle-focus-out): Make event
	argument optional.
	(blink-cursor-check): Make sure that the current frame is a
	window-system frame before restarting the blink timer. TTY frames
	can get focus, but don't need a blink timer because the terminal
	will do the blinking.

	* lisp/term/xterm.el
	(xterm-handle-focus-in,xterm-handle-focus-out): New functions.
	(xterm-rxvt-function-map): Recognize focus notification sequences.
	(xterm--init-focus-tracking): New function.
	(terminal-init-xterm): Call it.

2018-06-08  Daniel Colascione  <dancol@dancol.org>

	Fix formatting in the face filter change

	* src/xfaces.c:
	(evaluate_face_filter,filter_face_ref)
	(merge_face_ref,syms_of_xfaces): Fix comments, formatting.

2018-06-08  Daniel Colascione  <dancol@dancol.org>

	Make setting inhibit-startup-screen in early init work

	* lisp/startup.el (command-line): Bind `inhibit-startup-screen'
	around loading the site file instead of unconditionally
	resetting it.

2018-06-08  João Távora  <joaotavora@gmail.com>

	Describe flymake-start-on-save-buffer in manual and NEWS

	(Bug#31738)

	* doc/misc/flymake.texi (Using Flymake, Customizable variables):
	Mention flymake-start-on-save-buffer.

	* etc/NEWS: Mention flymake-start-on-save-buffer.

2018-06-08  João Távora  <joaotavora@gmail.com>

	New flymake-start-on-save-buffer custom variable

	(Bug#21419)

	* lisp/progmodes/flymake.el (flymake-after-save-hook): Use
	flymake-start-on-save-buffer.
	(flymake-start-on-save-buffer): New custom variable.
	(flymake-start-on-flymake-mode): Tweak docstring.

2018-06-08  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fontify unbalanced quotes in unconstrained multiline strings, etc.

	("Unconstrained" meaning that every string is multiline, without needing such
	special marking as used by Pike Mode.)

	* lisp/progmodes/cc-mode.el (c-pps-to-string-delim): Don't process the char
	before BOB.
	(c-multiline-string-check-final-quote): New function.
	(c-bc-changed-stringiness): New variable.
	(c-before-change-check-unbalanced-strings): Add handling for unconstrained
	multiline strings.
	(c-after-change-re-mark-unbalanced-strings): Add handling for unconstrained
	multiline strings.  Handle escaped double quotes more accurately.

2018-06-08  Paul Eggert  <eggert@cs.ucla.edu>

	Port alignment verification to x86 --with-wide-int

	Problem reported by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2018-06/msg00238.html
	* src/lisp.h (struct Lisp_Symbol, union vectorlike_header)
	(struct Lisp_Cons, struct Lisp_String):
	Do not check alignment if !USE_LSB_TAG, as alignment is
	needed only if we are tagging the low-order bits.

2018-06-07  Daniel Colascione  <dancol@dancol.org>

	Offer to open large files without modes

	* lisp/files.el:
	(files--ask-user-about-large-file): New function.
	(abort-if-file-too-large): Call it.
	(find-file-noselect): Support new raw open.

2018-06-07  Daniel Colascione  <dancol@dancol.org>

	Add support for per-window face remapping

	Extend face specifications to support the notion of filtering to a
	specific context and add a filter that limits a face specification to
	windows having a certain parameter.

	* src/xfaces.c:
	(evaluate_face_filter,filter_face_ref): New functions.
	(merge_face_ref): Ignore filtered face specifications.
	(Fx_list_fonts,get_lface_attributes,merge_face_vectors)
	(merge_named_face,merge_face_ref,merge_face_ref)
	(Finternal_merge_in_global_face,Fface_font,lookup_named_face)
	(lookup_basic_face,Fface_attributes_as_vector)
	(x_supports_face_attributes_p)
	(Fdisplay_supports_face_attributes_p,realize_named_face)
	(compute_char_face,face_at_buffer_position)
	(face_at_buffer_position,face_at_buffer_position)
	(face_at_buffer_position)
	(face_for_overlay_string,face_at_string_position,merge_faces):
	Pass window to face machinery.
	(syms_of_xfaces): Add :window and :filtered

	* src/xdisp.c (init_iterator, handle_face_prop)
	(handle_single_display_spec, merge_escape_glyph_face)
	(merge_glyphless_glyph_face, get_next_display_element)
	(next_element_from_display_vector, append_space_for_newline)
	(extend_face_to_end_of_line,highlight_trailing_whitespace)
	(maybe_produce_line_number)
	(display_line, calc_line_height_property): Pass window to
	face machinery.

	* src/term.c (tty_menu_activate): Adjust to new face core
	function signature.

	* src/msdos.c (XMenuActivate): Adjust to new face core
	function signature.

	* src/fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face):
	Pass window to face machinery.

	* src/font.c (font_range, Finternal_char_font): Pass window to
	face machinery.

	* src/dispnew.c (spec_glyph_lookup_face): Pass window to
	face machinery.

	* src/dispextern.h:
	(lookup_named_face,lookup_basic_face)
	(lookup_derived_face,merge_faces):
	Add struct window arguments to prototypes.

2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fit kill_buffer_xwidgets into 80

	* src/xwidget.c (kill_buffer_xwidgets): Reindent and use C99
	style to fit in 80 columns.

2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Minor cleanup of save_excursion_restore

	* src/editfns.c (save_excursion_restore): Use clearer names
	for locals.  Free earlier, removing the need for a label and goto.

2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	New function record_unwind_protect_excursion

	This simplifies callers a bit, and will simplify future changes.
	* src/eval.c (record_unwind_protect_excursion): New function.
	* src/buffer.c (Fkill_buffer):
	* src/bytecode.c (exec_byte_code):
	* src/editfns.c (Fsave_excursion, Freplace_buffer_contents):
	* src/lread.c (readevalloop, Feval_buffer):
	* src/window.c (scroll_command):
	Use it.

2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	* src/.gdbinit: Omit soon-obsolete comment.

2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix ftfont_open2 failure cleanup

	* src/ftfont.c (ftfont_open2): Don’t increment counter if failing.
	Avoid use-after-free once the increment bug is fixed.

2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t over-align if WIDE_EMACS_INT

	* src/lisp.h (GCALIGNED_UNION): New macro.
	(struct Lisp_Symbol, union vectorlike_header)
	(struct Lisp_Cons, struct Lisp_String):
	Use it to avoid possible over-alignment if !USE_LSB_TAG.

2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix GC-related commentary

	* src/lisp.h: USE_STACK_LISP_OBJECTS is no longer experimental.
	Also, remove confusion about scope vs lifetime.
	And say that stack-allocated strings should not be given
	text properties.

2018-06-07  Noam Postavsky  <npostavs@gmail.com>

	Let isearch-yank-kill enable isearch-mode if needed (Bug#21419)

	* lisp/isearch.el (isearch-yank-kill): Enable isearch-mode if needed.

2018-06-07  João Távora  <joaotavora@gmail.com>

	Accept plists when serializing and parsing JSON

	* doc/lispref/text.texi (Parsing JSON): Mention plist support.

	* src/json.c (lisp_to_json_toplevel_1): Serialize plists to json.
	(Fjson_serialize): Mention plists in docstring.
	(enum json_object_type): Add json_object_plist.
	(json_to_lisp): Parse JSON into plists.
	(json_parse_object_type): Consider plists.
	(Fjson_parse_string): Mention plists in docstring.
	(syms_of_json): New Qplist sym_of_json.
	(lisp_to_json): Update comment.

	* test/src/json-tests.el (json-serialize/object)
	(json-parse-string/object): New plist tests.

2018-06-07  Michael Albinus  <michael.albinus@gmx.de>

	Remove Tramp "obex" and "synce" methods

	* doc/misc/tramp.texi (GVFS based methods): Remove `obex' and `synce'.

	* etc/NEWS: Mention obsolete Tramp "obex" and "synce" methods.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
	Remove "obex" and "synce".
	(top): Do not add defaults for "obex" and "synce".
	(tramp-bluez-service, tramp-bluez-interface-manager)
	(tramp-bluez-interface-adapter)
	(tramp-bluez-discover-devices-timeout, tramp-bluez-discovery)
	(tramp-bluez-devices, tramp-hal-service, tramp-hal-path-manager)
	(tramp-hal-interface-manager, tramp-hal-interface-device)
	(tramp-bluez-address, tramp-bluez-device)
	(tramp-bluez-list-devices, tramp-bluez-property-changed)
	(tramp-bluez-device-found, tramp-bluez-parse-device-names)
	(tramp-synce-list-devices, tramp-synce-parse-device-names): Remove.
	(tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec): Do not
	handle "obex" and "synce".

2018-06-05  João Távora  <joaotavora@gmail.com>

	When navigating Flymake diagnostics, consider their severity

	The FILTER arg of flymake-goto-next-error, a list of types, includes
	every diagnostic with a severity number `eq` to those types.

	* lisp/progmodes/flymake.el (flymake--severity): New helper.
	(flymake-goto-next-error, flymake-goto-prev-error): Clarify
	meaning of FILTER.
	(flymake-goto-next-error): Interpret filter as a severity filter.
	(flymake--mode-line-format): Simplify.

2018-06-05  João Távora  <joaotavora@gmail.com>

	Obsolete Flymake's flymake-diagnostic-types-alist

	That variable was an association between symbols and properties,
	effectively duplicating symbol's property lists.  It is simpler to just
	put properties on symbols.  Backward compatibility to the old variable
	has been kept.

	* doc/misc/flymake.texi (Flymake error types): Don't mention
	flymake-diagnostic-types-alist.
	(Flymake error types): Rework section.
	(Backend functions): Refill a paragraph.
	(Flymake utility functions): Don't mention
	flymake-diagnostic-types-alist.
	(Proc customization variables): Don't mention
	flymake-diagnostic-types-alist.

	* etc/NEWS: Mention obsoletion of flymake-diagnostic-types-alist.

	* lisp/progmodes/flymake-proc.el
	(flymake-proc--diagnostics-for-pattern): Don't use
	flymake-diagnostic-types-alist.

	* lisp/progmodes/flymake.el: Rewrite commentary.
	(flymake-make-diagnostic, flymake-mode, flymake-goto-next-error)
	(flymake-goto-prev-error): Don't mention
	flymake-diagnostic-types-alist in docstring.
	(flymake-diagnostic-types-alist): Make obsolete.
	(:error, :warning, :note): Put flymake-category in these symbols.
	(flymake-error, flymake-warning, flymake-note): Put
	`flymake-bitmap', not `bitmap' in these symbols.
	(flymake--lookup-type-property, flymake--highlight-line): Rewrite.
	Honor flymake-diagnostic-types-alist for backward
	compatibility.

	* lisp/progmodes/python.el (python-flymake-msg-alist): Don't
	mention flymake-diagnostic-types-alist.

2018-06-05  João Távora  <joaotavora@gmail.com>

	Correctly filter Flymake diagnostic types shown in mode-line

	Thus, if a package foo has its own types foo-error and
	foo-warning, and if the buffer has no errors, the mode-line
	will correctly show `[0 0]' (zero errors and warnings) instead
	of `[0 0 0 0]' (zero errors, zero foo-errors, zero warnings,
	zero  foo-warnings).

	* lisp/progmodes/flymake.el
	(flymake--mode-line-format): Coalesce diagnostic types based on
	the severity, not the symbol.

2018-06-05  João Távora  <joaotavora@gmail.com>

	Let Flymake backends attach arbitrary data to diagnostics

	This is easier that setting properties on diagnostics' text.

	* lisp/progmodes/flymake.el (flymake--diag): Add data slot.
	(flymake-make-diagnostic): Add DATA arg.
	(flymake-diagnostic-data): New accessor.

2018-06-05  João Távora  <joaotavora@gmail.com>

	Update version information for Flymake package and manual

	* doc/misc/flymake.texi: Update date and version.
	Make myself the first author.

	* lisp/progmodes/flymake.el: Update Maintainer and Version fields.

	* lisp/progmodes/flymake-proc.el
	(flymake-proc--diagnostics-for-pattern): Update Maintainer and Version fields.

2018-06-05  Damien Cassou  <damien@cassou.me>

	* lisp/auth-source-pass.el: Update version to 4.0.1

2018-06-05  Damien Cassou  <damien@cassou.me>

	Test checking that auth-source-pass backend is correctly installed

	* test/lisp/auth-source-pass-tests.el
	(auth-source-pass-can-start-from-auth-source-search): Add test.

2018-06-05  Damien Cassou  <damien@cassou.me>

	Make sure auth-source-pass is compatible with Emacs 25

	* lisp/auth-source-pass.el: Use `advice-add' for Emacs 25 users as
	`auth-source-backend-parser-functions' does not exist there.

2018-06-05  Damien Cassou  <damien@cassou.me>

	* lisp/auth-source-pass.el: Update version to 4.0.0

2018-06-05  Damien Cassou  <damien@cassou.me>

	Fix prefix messages of auth-source-pass debug messages

	* lisp/auth-source-pass.el (auth-source-pass--do-debug): Fix message
	prefix.

2018-06-05  Damien Cassou  <damien@cassou.me>

	* lisp/auth-source-pass.el: Update version to 3.0.0

2018-06-05  Alex Branham  <branham@utexas.edu>

	Silence byte compiler warning in auth-source-pass

	* lisp/auth-source-pass.el (auth-source-pass-backend): Silence byte
	compiler warning by only passing a parameter to `auth-source-backend'
	in Emacs <= 25.

2018-06-05  Jelle Licht  <jlicht@fsfe.org>

	Fix auth-source-pass.el to properly handle special inputs

	* lisp/auth-source-pass.el (auth-source-pass-search): Warn when
	passing multiple hosts in SPEC. Early return and warn when passing a
	wildcard as host in SPEC. Early return when host is nil.
	* test/lisp/auth-source-pass-tests.el (auth-source-pass-any-host,
	auth-source-pass-undefined-host): Add corresponding tests.

2018-06-05  Damien Cassou  <damien@cassou.me>

	auth-source-pass: Take care of matching hosts when port is provided

	* lisp/auth-source-pass.el (auth-source-pass--find-match): Add PORT
	parameter and reorganize code by extracting `find-match-unambiguous'.
	(auth-source-pass--find-match-unambiguous): New function.
	(auth-source-pass--build-result): Fix the call to `find-match'.
	(auth-source-pass--hostname, auth-source-pass--hostname-with-user,
	auth-source-pass--user): Remove functions.
	* test/lisp/auth-source-pass-tests.el: Fix the calls to `find-match'.
	(auth-source-pass-find-host-without-port) Add corresponding test.

2018-06-05  Damien Cassou  <damien@cassou.me>

	Add missing test cases to auth-source-pass-tests.el

	* test/lisp/auth-source-pass-tests.el
	(auth-source-pass-build-result-passes-full-host-to-find-match): Add
	missing test cases.

2018-06-05  Damien Cassou  <damien@cassou.me>

	Add a test to auth-source-pass-tests.el

	* test/lisp/auth-source-pass-tests.el
	(auth-source-pass-build-result-passes-full-host-to-find-match): Add
	test making sure find-match is called with full host.

2018-06-05  Damien Cassou  <damien@cassou.me>

	Fix indentation in auth-source-pass-tests.el

	* test/lisp/auth-source-pass-tests.el
	(auth-source-pass-only-return-entries-that-can-be-open): Fix indentation.

2018-06-05  Edison Ibañez  <arkhan.xxx@gmail.com>

	* test/lisp/auth-source-pass-tests.el: Add assertions for host:port

2018-06-05  Damien Cassou  <damien@cassou.me>

	* lisp/auth-source-pass.el: Fix headers.

2018-06-05  Michael Albinus  <michael.albinus@gmx.de>

	Fix selinux test in files-tests.el

	* test/lisp/files-tests.el
	(files-tests-file-name-non-special-set-file-selinux-context):
	Adapt test.

2018-06-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	03697e6 Fix remote-host directory tracking for shells in `term' buffers
	16e8541 Update doc string of 'rx'

2018-06-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	defd53a Set accessibility subroles for child frame (bug#31324)
	de6a876 Fix redefinition of child frames on NS

2018-06-04  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#31489

	* lisp/files.el (file-name-unquote-non-special): Remove.
	(file-name-quoted-p, file-name-quote, file-name-unquote):
	Add optional argument TOP.
	(file-name-non-special): Adapt callees.  Finish implementation of
	functions which need a local copy.  (Bug#31489)

2018-06-03  João Távora  <joaotavora@gmail.com>

	Add proper Flymake support to cc-mode.el

	Except for the important detail that it doesn't make temporary files,
	the new flymake-cc backend doesn't yet behave much differently from
	the old flymake-proc-legacy-flymake, i.e. it still needs a special
	`check-syntax' Makefile target to provide the compiler and compilation
	flags.  However, the new infrastructure created should allow less
	intrusive cleverer flag guessers (yet to be written) to replace that
	mechanism.

	* lisp/progmodes/cc-mode.el (c-mode, c++-mode): Add to
	flymake-diagnostic-functions.

	* lisp/progmodes/flymake-cc.el: New file.

2018-06-03  Alan Third  <alan@idiocy.org>

	Add NS style text scale keybindings

	* lisp/term/ns-win.el: Add super-based keybindings for adjusting text
	zoom.

2018-06-03  Michael Albinus  <michael.albinus@gmx.de>

	Extend file-name-non-special

	* lisp/files.el (insert-file-contents-literally):
	Bind `inhibit-file-name-handlers' the default way.
	(file-name-non-special): Rework, mainly for operations with two
	file name arguments.
	(file-name-unquote-non-special): New defsubst.
	(file-name-unquote): Use it.

	* test/lisp/files-tests.el (files-test-bug-18141): Skip if needed.
	(files-tests--with-temp-non-special): Add docstring.  Delete also
	`non-special-name' if the file/directory exists.
	(files-tests--special-file-name-extension)
	(files-tests--special-file-name-regexp): New defconst.
	(files-tests--special-file-name-handler, files-tests--new-name):
	New defuns.
	(files-tests--with-temp-non-special-and-file-name-handler): New macro.
	(files-tests-file-name-non-special-access-file)
	(files-tests-file-name-non-special-add-name-to-file)
	(files-tests-file-name-non-special-byte-compiler-base-file-name)
	(files-tests-file-name-non-special-copy-directory)
	(files-tests-file-name-non-special-copy-file)
	(files-tests-file-name-non-special-delete-directory)
	(files-tests-file-name-non-special-delete-file)
	(files-tests-file-name-non-special-diff-latest-backup-file)
	(files-tests-file-name-non-special-directory-file-name)
	(files-tests-file-name-non-special-directory-files)
	(files-tests-file-name-non-special-directory-files-and-attributes)
	(files-tests-file-name-non-special-dired-compress-handler)
	(files-tests-file-name-non-special-dired-uncache)
	(files-tests-file-name-non-special-expand-file-name)
	(files-tests-file-name-non-special-file-accessible-directory-p)
	(files-tests-file-name-non-special-file-acl)
	(files-tests-file-name-non-special-file-attributes)
	(files-tests-file-name-non-special-file-directory-p)
	(files-tests-file-name-non-special-file-equal-p)
	(files-tests-file-name-non-special-file-executable-p)
	(files-tests-file-name-non-special-file-exists-p)
	(files-tests-file-name-non-special-file-in-directory-p)
	(files-tests-file-name-non-special-file-local-copy)
	(files-tests-file-name-non-special-file-modes)
	(files-tests-file-name-non-special-file-name-all-completions)
	(files-tests-file-name-non-special-file-name-as-directory)
	(files-tests-file-name-non-special-file-name-case-insensitive-p)
	(files-tests-file-name-non-special-file-name-completion)
	(files-tests-file-name-non-special-file-name-directory)
	(files-tests-file-name-non-special-file-name-nondirectory)
	(files-tests-file-name-non-special-file-name-sans-versions)
	(files-tests-file-name-non-special-file-newer-than-file-p)
	(files-tests-file-name-non-special-notify-handlers)
	(files-tests-file-name-non-special-file-ownership-preserved-p)
	(files-tests-file-name-non-special-file-readable-p)
	(files-tests-file-name-non-special-file-regular-p)
	(files-tests-file-name-non-special-file-remote-p)
	(files-tests-file-name-non-special-file-selinux-context)
	(files-tests-file-name-non-special-file-symlink-p)
	(files-tests-file-name-non-special-file-truename)
	(files-tests-file-name-non-special-file-writable-p)
	(files-tests-file-name-non-special-find-backup-file-name)
	(files-tests-file-name-non-special-get-file-buffer)
	(files-tests-file-name-non-special-insert-directory)
	(files-tests-file-name-non-special-insert-file-contents)
	(files-tests-file-name-non-special-load)
	(files-tests-file-name-non-special-make-auto-save-file-name)
	(files-tests-file-name-non-special-make-directory)
	(files-tests-file-name-non-special-make-directory-internal)
	(files-tests-file-name-non-special-make-symbolic-link)
	(files-tests-file-name-non-special-rename-file)
	(files-tests-file-name-non-special-set-file-acl)
	(files-tests-file-name-non-special-set-file-modes)
	(files-tests-file-name-non-special-set-file-selinux-context)
	(files-tests-file-name-non-special-set-file-times)
	(files-tests-file-name-non-special-set-visited-file-modtime)
	(files-tests-file-name-non-special-shell-command)
	(files-tests-file-name-non-special-start-file-process)
	(files-tests-file-name-non-special-substitute-in-file-name)
	(files-tests-file-name-non-special-temporary-file-directory)
	(files-tests-file-name-non-special-unhandled-file-name-directory)
	(files-tests-file-name-non-special-vc-registered)
	(files-tests-file-name-non-special-write-region): Extends tests to
	quoted file names, which would require a file name handler if unquoted.
	(files-test-no-file-write-contents): Make test more robust.

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links): Adapt test.
	(tramp--test-emacs25-p): New defun.
	(tramp-test34-vc-registered): Use it.

2018-06-02  Michael R. Mauger  <michael@mauger.com>

	Improve buffer naming in sql.el (Bug#31446)

2018-06-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	4cfe531 (origin/emacs-26) Improve ELisp documentation of 'clone-indir...
	9089b02 Improve documentation of 'inhibit-message'
	6107e12 Improve documentation of comment styles
	fb45125 Documentation improvements in newcomment.el
	641c94c Imp[rove documentation of 'with-silent-modifications'

2018-06-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	76f692e Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...

2018-06-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	90bea37 ; * etc/PROBLEMS: Fix fvwm version number in last commit
	af82d1f * etc/PROBLEMS: Document stickiness problem with FVWM (Bug#31...
	4a3aed2 Update Emacs Lisp Intro to match current behavior
	21f2247 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
	3257085 Fix previous commit
	6d23525 Fix typos in several manuals (Bug#31610)
	9188291 Add detailed documentation about lock files
	e5471b2 Add commentary for subtle aspect of frame.el

	Conflicts:
		doc/lispintro/emacs-lisp-intro.texi

2018-06-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	ca3f0a8 ; * etc/NEWS: Belated announcement of 2 changes made in Emacs...
	99f92da Improve documentation of 'directory-files-and-attributes'
	df8649a * lisp/gnus/message.el (message-remove-header): Don't remove ...
	b682a7e ; * etc/NEWS: Add headings for Emacs 26.2
	aa175a4 Adapt hexl-mode to native line-number display
	b8e7749 Fix example in Tramp manual
	f212fe5 Handle case where Xft is found but not XRender
	186280f * doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh...
	24ba633 Improve read-multiple-choice docstring (Bug#31628)

	Conflicts:
		etc/NEWS
		src/dired.c

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Un-obsolete 'string-to-unibyte'

	* lisp/subr.el (string-to-unibyte): No longer obsolete.  See the
	emacs-devel discussion around this message:
	https://lists.gnu.org/archive/html/emacs-devel/2018-05/msg00656.html.

	* etc/NEWS: Announce the change.

2018-06-01  John Shahid  <jvshahid@gmail.com>

	Fix column double counting in term.el (Bug#31662)

	* lisp/term.el (term-emulate-terminal): Invalidate
	`term-current-column' after deleting overwritten text.

2018-06-01  João Távora  <joaotavora@gmail.com>

	Minimally support Flymake in Emacs C sources

	The check-syntax target is enabled the use of Flymake's "legacy"
	backend, flymake-proc-legacy-flymake in src/*.c.  It works quite well
	with C sources.  The green light for this change had already been
	given some time ago in

	https://lists.gnu.org/r/emacs-devel/2017-10/msg00385.html

	* src/Makefile.in (check-syntax): New target.
	(.PHONY): Add check-syntax.

2018-06-01  Ville Skyttä  <ville.skytta@iki.fi>  (tiny change)

	Fix a typo in emacs-mime.texi (Bug#31610)

2018-05-31  Robert Pluim  <rpluim@gmail.com>

	Obsolete image-jpeg-p

	* lisp/image.el (image-jpeg-p): Declare obsolete.

2018-05-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Fdirectory_files_and_attributes doc string clarification

	* src/dired.c (Fdirectory_files_and_attributes): Clarify what data
	is returned.

2018-05-31  Alan Mackenzie  <acm@muc.de>

	Amend c-before-change-check-unbalanced-strings to handle a quote at EOB.

	* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Before
	going back a sexp from the \n marked with a string-fence syntax-table text
	property, check that it is indeed a \n.  If not, simply delete that text
	property from the isolated quote, not the quote and the \n which otherwise
	delimit an unterminated string.  Should we encounter a double quote marked
	with a string-fence syntax-table text property at the end of the last line,
	remove that property.

2018-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	Work around GCC bug 81401

	* src/xterm.c (x_draw_glyphless_glyph_string_foreground):
	Make the buffer a byte longer than it needs to be, if
	--enable-gcc-warnings.

2018-05-30  Roland Winkler  <winkler@gnu.org>

	bibtex-search-entry: Reuse the window displaying the buffer.

	* lisp/textmodes/bibtex-style.el (bibtex-reposition-window): New optional arg
	pos.
	(bibtex-search-crossref, bibtex-search-entry): Use it.
	(bibtex-search-entry): If possible, reuse the window displaying
	the buffer that contains the entry found.

2018-05-30  Roland Winkler  <winkler@gnu.org>

	bibtex-mark-entry: Display no message.

	* lisp/textmodes/bibtex.el (bibtex-mark-entry): Display no message.

2018-05-30  Roland Winkler  <winkler@gnu.org>

	bibtex-format-entry: Preserve opt-alt if possible.

	* lisp/textmodes/bibtex.el (bibtex-format-entry):
	Preserve opt-alt unless its removal is selected.
	(bibtex-parse-entry):  New optional arg keep-opt-alt.

2018-05-29  Simen Heggestøyl  <simenheg@gmail.com>

	Add Imenu support to CSS mode and its derivatives

	* lisp/textmodes/css-mode.el (css--join-nested-selectors)
	(css--prev-index-position, css--extract-index-name): New helper
	functions for supporting Imenu.
	(css-mode): Set `imenu-space-replacement',
	`imenu-prev-index-position-function', and
	`imenu-extract-index-name-function'.
	(css-current-defun-name): Reuse `css--prev-index-position' and
	`css--extract-index-name' to support nested selectors.

	* test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name):
	Fix character index.
	(css-test-join-nested-selectors): New tests for
	`css--join-nested-selectors'.

	* etc/NEWS: Add news entry.

2018-05-29  Eli Zaretskii  <eliz@gnu.org>

	Allow access to MS-Windows Registry from Lisp programs

	* src/w32.c (g_b_init_reg_open_key_ex_w)
	(g_b_init_reg_query_value_ex_w)
	(g_b_init_expand_environment_strings_w): New init flags.
	(globals_of_w32): Initialize them at startup.
	(RegOpenKeyExW_Proc, RegQueryValueExW_Proc)
	(ExpandEnvironmentStringsW_Proc): New function typedefs.
	(reg_open_key_ex_w, reg_query_value_ex_w)
	(expand_environment_strings_w): New wrapper function.
	(w32_read_registry): New function.
	* src/w32fns.c (Fw32_read_registry) [WINDOWSNT]: New primitive.
	(syms_of_w32fns) [WINDOWSNT]: Defsubr it.  DEFSYM "HKLM", "HKCU",
	etc. root keys.

	* etc/NEWS: Mention the new primitive.

2018-05-29  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (All): Use @code instead of @option for user options.

2018-05-29  Michael Albinus  <michael.albinus@gmx.de>

	Merge from origin/emacs-26

	13963a3a5c * doc/misc/tramp.texi (All): Use @code instead of @option ...
	6e5f19ada4 Fix Bug#31605

2018-05-29  Michael Albinus  <michael.albinus@gmx.de>

	Merge from origin/emacs-26

	9a7a2e919a ; ChangeLog.3: Remove stray phrase.

2018-05-29  Michael Albinus  <michael.albinus@gmx.de>

	Merge from origin/emacs-26

	9d6a3ac73a Mention pcase as a fifth conditional form
	567cb9046d Overhaul pcase documentation
	4d7e54acff Use EXPVAL in docstrings of patterns defined using pcase-d...
	7e8227ed68 Introduce EXPVAL for pcase, pcase-defmacro docstrings
	e6de5b3d51 Ensure pcase doc shows `QPAT first among extensions

2018-05-27  Gemini Lasswell  <gazally@runbox.com>

	Make cl-print respect print-level and print-length (bug#31559)

	* lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable.
	(cl-print-object) <cons>: Print ellipsis if printing depth greater
	than 'print-level' or length of list greater than 'print-length'.
	(cl-print-object) <vector>: Truncate printing with ellipsis if
	vector is longer than 'print-length'.
	(cl-print-object) <cl-structure-object>: Truncate printing with
	ellipsis if structure has more slots than 'print-length'.
	(cl-print-object) <:around>: Bind 'cl-print--depth'.
	* test/lisp/emacs-lisp/cl-print-tests.el
	(cl-print-tests-3, cl-print-tests-4): New tests.

2018-05-27  Basil L. Contovounesios  <contovob@tcd.ie>

	Place epg-pinentry-mode varalias before defcustom

	This is needed to avoid losing user settings made under the obsolete
	name (Bug#31603).
	* lisp/epa.el (epa-pinentry-mode): Move obsolete varalias from here...
	* lisp/epg-config.el (epg-pinentry-mode): ...to here.

2018-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Port .gdbinit to unsigned-pointer platforms

	* src/.gdbinit (Lisp_Object_Printer.to_string):
	Don’t assume that GDB treats C pointers as signed integers.
	Problem found with GDB Fedora 8.1-15.fc28.

2018-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	GNOME moved URLs for its active bug reports

	* src/emacs.c (main) [USE_GTK]:
	* src/gtkutil.c (xg_display_close):
	* src/xterm.c (x_connection_closed):
	Update GNOME bug report URLs.

2018-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t set EMACS=t if Bash is 4.4 or newer

	(Thanks to Stefan Monnier for improvements to this patch.)
	* lisp/term.el (term--bash-needs-EMACS-status): New var.
	(term--bash-needs-EMACSp): New function.
	(term-exec-1): Use it instead of always setting EMACS.

2018-05-26  Tino Calancha  <tino.calancha@gmail.com>

	replace-tests.el: Refactor undo tests

	* test/lisp/replace-tests.el (replace-tests-bind-read-string): New variable.
	(replace-tests-with-undo): Add helper macro to generate the boilerplate code.
	(replace-tests--query-replace-undo, query-replace-undo-bug31073)
	(query-replace-undo-bug31492, query-replace-undo-bug31538): Use it.

2018-05-26  Michael Albinus  <michael.albinus@gmx.de>

	Make `tramp-make-tramp-file-name' calls consistent.

	* lisp/net/tramp.el (tramp-get-buffer)
	(tramp-handle-file-name-as-directory)
	(tramp-handle-file-name-directory, tramp-handle-file-remote-p)
	(tramp-handle-file-truename, tramp-handle-find-backup-file-name)
	(tramp-handle-insert-file-contents):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
	(tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid)
	(tramp-gvfs-maybe-open-connection):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
	(tramp-sh-handle-expand-file-name, )
	(tramp-sh-handle-process-file, tramp-get-remote-path):
	* lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name)
	(tramp-smb-handle-process-file): Make `tramp-make-tramp-file-name'
	calls consistent.

2018-05-26  Eli Zaretskii  <eliz@gnu.org>

	* etc/HELLO: Add a few more scripts.

2018-05-25  Tino Calancha  <tino.calancha@gmail.com>

	replace-tests.el: Fix broken tests

	After previous commit, all tests using helper function
	`replace-tests-clauses' fail: during the expansion
	of macro `replace-tests-with-undo', the function
	`replace-tests-clauses' is unbound.

	Delete those helpers and reimplement test
	`query-replace-undo-bug31538'.
	* test/lisp/replace-tests.el (query-replace-undo-bug31538):
	Reimplement this test without using any helper function/macro.

2018-05-25  Tino Calancha  <tino.calancha@gmail.com>

	query-replace undo: Handle when user edits the replacement string

	* lisp/replace.el (perform-replace): Update the replacement string
	after the user edit it (Fix Bug#31538).

	* test/lisp/replace-tests.el (replace-tests-clauses): New function.
	(replace-tests-bind-read-string): New variable.
	(replace-tests-with-undo): Macro to create boilerplate code.
	(query-replace-undo-bug31073): Use it.
	(query-replace-undo-bug31538): New test.

2018-05-25  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	07f8f9b (origin/emacs-26) ; * lisp/ldefs-boot.el: Update.
	5cec2b0 * etc/HISTORY: Update for Emacs 26.1 release.
	7c474e1 * etc/AUTHORS: Update.
	ddc7bea ; * ChangeLog.3: Update.
	3557460 ; * admin/authors.el: Update.
	2f44d2d Note caveat for backward regexp searching in docstring (Bug#3...
	3145d08 Update backtrace in Emacs Lisp Intro
	43a9c26 Move window-point in bibtex-search-entry
	4bb2741 More fixes of Intro to Emacs Lisp
	c57c226 ; * doc/emacs/misc.texi (FFAP): Fix a typo.  (Bug#31580)
	0a51113 Add a footnote to Emacs Lisp Intro
	5eabe4a ; * doc/emacs/msdos.texi (ls in Lisp): Fix a typo.  (Bug#31575)
	d5e0ceb * lisp/help.el (with-help-window): Doc fix.  (Bug#31574)
	e7952bd Fix some cross-references in emacs-lisp-intro.texi
	a897959 Minor copyedits in Emacs manual in macos.texi

	Conflicts:
		lisp/ldefs-boot.el

2018-05-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix file name completion in Tramp

	* lisp/net/tramp.el (tramp-handle-file-name-directory): Fix case
	of localname starts without a slash.

	* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
	Extend test.

2018-05-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#31558

	* lisp/net/tramp.el (tramp-mode, tramp-verbose)
	(tramp-backup-directory-alist, tramp-auto-save-directory)
	(tramp-encoding-shell, tramp-encoding-command-switch)
	(tramp-encoding-command-interactive, tramp-default-method)
	(tramp-default-method-alist, tramp-default-user)
	(tramp-default-user-alist, tramp-default-host)
	(tramp-default-host-alist, tramp-default-proxies-alist)
	(tramp-save-ad-hoc-proxies, tramp-restricted-shell-hosts-alist)
	(tramp-local-host-regexp, tramp-local-end-of-line)
	(tramp-rsh-end-of-line, tramp-login-prompt-regexp)
	(tramp-shell-prompt-pattern, tramp-password-prompt-regexp)
	(tramp-wrong-passwd-regexp, tramp-yesno-prompt-regexp)
	(tramp-yn-prompt-regexp, tramp-terminal-prompt-regexp)
	(tramp-operation-not-permitted-regexp, tramp-copy-failed-regexp)
	(tramp-process-alive-regexp, tramp-ignored-file-name-regexp)
	(tramp-chunksize, tramp-process-connection-type)
	(tramp-connection-timeout, tramp-connection-min-time-diff)
	(tramp-completion-reread-directory-timeout)
	* lisp/net/tramp-adb.el (tramp-adb-program)
	(tramp-adb-connect-if-not-connected, tramp-adb-prompt):
	* lisp/net/tramp-cache.el (tramp-connection-properties)
	(tramp-persistency-file-name):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
	(tramp-gvfs-zeroconf-domain)
	(tramp-bluez-discover-devices-timeout):
	* lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
	(tramp-copy-size-limit, tramp-terminal-type)
	(tramp-histfile-override, tramp-use-ssh-controlmaster-options)
	(tramp-remote-path, tramp-remote-process-environment)
	(tramp-sh-extra-args):
	* lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
	(tramp-smb-conf, tramp-smb-winexe-program)
	(tramp-smb-winexe-shell-command)
	(tramp-smb-winexe-shell-command-switch):
	Don't require 'tramp.  (Bug#31558)

	* lisp/net/tramp.el (tramp-ignored-file-name-regexp): Use type regexp.

2018-05-23  Noam Postavsky  <npostavs@gmail.com>

	Honor print-charset-text-property value of nil (Bug#31376)

	* src/print.c (print_check_string_charset_prop): Move check
	for nil Vprint_charset_text_property from here...
	(print_prune_string_charset): ... to here.
	(syms_of_print) <print-charset-text-property>: Clarify that any
	non-boolean values are treated the same as `default'.
	* doc/lispref/streams.texi (Output Variables): Add
	print-prune-string-charset.
	* test/src/print-tests.el (print-charset-text-property-nil)
	(print-charset-text-property-default)
	(print-charset-text-property-t): New tests.
	(print-tests--prints-with-charset-p): New helper function.

2018-05-23  Michael Welsh Duggan  <mwd@md5i.com>

	Avoid messing up buffer list when starting gud (Bug#22374)

	* lisp/progmodes/gud.el (gud-common-init): Use `display-buffer'
	instead of `switch-to-buffer'.

2018-05-23  Noam Postavsky  <npostavs@gmail.com>

	Move epa-pinentry-mode to epg-config (Bug#26298)

	* lisp/epa.el (epa-pinentry-mode): Make into obsolete alias for...
	* lisp/epg-config.el (epg-pinentry-mode): ...this new user option.
	* lisp/epg.el (epg-context): Use it as the default value for
	pinentry-mode.
	* etc/NEWS: Announce name change.

	* lisp/epa-file.el (epa-file-insert-file-contents)
	(epa-file-write-region):
	* lisp/epa.el (epa-decrypt-file, epa-sign-file)
	(epa-encrypt-file, epa-decrypt-region)
	(epa-sign-region, epa-encrypt-region): Don't change
	epg-context-pinentry-mode from the default.

2018-05-23  Noam Postavsky  <npostavs@gmail.com>

	Drop some epg/epa backwards compat code for ancient Emacs versions

	* lisp/epa.el (epa--select-safe-coding-system): Remove,
	`select-safe-coding-system' has been present since Emacs 20.3.
	(epa--encode-coding-string, epa--decode-coding-string):
	* lisp/epg.el (epg--decode-coding-string, epg--encode-coding-string)
	(epg--clear-string): Remove, the corresponding Emacs functions are so
	old they don't show up in NEWS.  Furthermore, the fallback for
	the *-coding-string functions was `identity' which wouldn't have
	worked anyway, since it only takes a single argument.
	(epg--make-temp-file): Remove, `make-temp-file' has been present since
	Emacs 21.1.
	* lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program)
	(epg-gpgconf-program, epg-gpg-home-directory)
	(epg-passphrase-coding-system, epg-debug): Remove unneeded :group
	parameter.

2018-05-23  Tino Calancha  <tino.calancha@gmail.com>

	Fix corner case in query-replace-regexp undo

	This commit fixes Bug#31492.
	* lisp/replace.el (replace-match-maybe-edit): Preserve match data.

	* test/lisp/replace-tests.el (query-replace-undo-bug31492): Add test.

2018-05-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	e3f00f5 (origin/emacs-26) Clarify when to use advice-add vs add-function
	c0f3e6b Minor formatting tweak in the Emacs manual
	fadf653 Update comments in Intro to Emacs Lisp
	52ccb24 ; * doc/os.texi (Batch Mode): use = after --eval
	d65430f * etc/NEWS: Mention change in `edebug-prin1-to-string'.
	ef4aec1 ; * doc/lispref/hash.texi (Defining Hash): Fix typos.
	2981952 Another attempt to fix sql.el
	b1b96d7 Update binding of 'M-.' in Intro to Emacs Lisp
	b239a09 Fix a typo in last change in sql.el
	0d8bae5 Fix capitalization of mail headers
	845fe03 Fix buffer names in sql.el
	a3885f5 Minor fixes in the Emacs manual
	542f830 Fix a typo in rmail.texi
	eb0bc6f * etc/PROBLEMS: Document Bug#31305.

	Conflicts:
		doc/emacs/sending.texi
		etc/NEWS

2018-05-23  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	73bc6f8 Fix a typo in describing input methods
	6b4bafe ; Add a comment to emacs-lisp-intro.texi

2018-05-22  João Távora  <joaotavora@gmail.com>

	More helpful docstrings for tests of electric-tests.el

	* test/lisp/electric-tests.el (electric-pair-define-test-form):
	Improve automatically generated docstring.

2018-05-22  Paul Eggert  <eggert@cs.ucla.edu>

	Work around GCC bug with function attributes

	* src/alloc.c (PNTR_ADD): Put attributes after ‘static’ and before
	returned type.  Problem reported by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2018-05/msg00559.html

2018-05-22  Paul Eggert  <eggert@cs.ucla.edu>

	Fix failed assertion when load-force-doc-strings

	Problem reported by Philipp Stephani (Bug#31556).
	* src/lread.c (read_vector): When load_force_doc_strings, check
	for byte code vectors that are invalid because they are too short.
	* test/src/lread-tests.el (lread-invalid-bytecodes): New test.

2018-05-22  Paul Eggert  <eggert@cs.ucla.edu>

	Minor tweaks to recent fix for Bug#31545

	* src/xwidget.c (webkit_javascript_finished_cb)
	(Fxwidget_webkit_execute_script): Use intptr_t to avoid warnings
	in the (unlikely) event that ptrdiff_t and void * differ in width.
	(save_script_callback): Simplify by using xlispdstrdup and
	larger_vector.

2018-05-22  Michael Albinus  <michael.albinus@gmx.de>

	Extend secrets.el by searching for object paths.

	* lisp/net/secrets.el (secrets-search-item-paths): New function.
	(secrets-search-items): Use it.
	(secrets-create-item): Adapt docstring.

	* test/lisp/net/secrets-tests.el (secrets-test04-search): Extend test.

2018-05-21  Andreas Schwab  <schwab@linux-m68k.org>

	* src/xwidget.c (Fxwidget_webkit_goto_uri): Encode uri.

2018-05-21  Andreas Schwab  <schwab@linux-m68k.org>

	Make xwidget-webkit-execute-script safe against GC (Bug#31545)

	* src/xwidget.h (struct xwidget): Add script_callbacks.
	* src/xwidget.c (save_script_callback): New function.
	(Fxwidget_webkit_execute_script): Use it.  Encode script
	before passing to execution engine.  Always use a callback.
	(webkit_javascript_finished_cb): Deallocate script.
	(kill_buffer_xwidgets): Deallocate remaining scripts.
	(Fxwidget_webkit_zoom): Doc fix.
	(Fxwidget_resize): Doc fix.

2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t assume ordering in make-process/mix-stderr

	* test/src/process-tests.el (process-tests--mixable): New function.
	(make-process/mix-stderr): Don’t assume stdout is merged before
	stderr.  POSIX does not require this, and the assumption failed to
	hold on my Fedora 28 platform.  See Bug#31214.

2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-05-21 crypto: omit stream ops Emacs doesn’t need
	2018-05-13 truncate: Fix compilation error on Android
	2018-05-13 imaxdiv: Fix compilation error on Android
	2018-05-13 Support selective inclusion of recent mingw.org headers
	2018-05-13 Add cross-compilation guesses for Linux systems sans glibc
	2018-05-13 stdioext: Fix compilation errors with newer Android headers
	2018-05-07 af_alg: Pacify --enable-gcc-warnings
	2018-05-06 af_alg: Fix bug with streams that are not at position 0
	2018-05-06 Followup to 'af_alg: New module'
	2018-05-05 crypto/{md5,sha1,sha256,sha512}: simplify
	2018-05-05 af_alg: New module
	2018-05-05 af_alg: Improve function signature
	2018-04-28 md5sum: Use AF_ALG when available
	2018-04-28 sha512sum: Use AF_ALG when available
	2018-04-28 sha256sum: Use AF_ALG when available
	2018-04-28 sha1sum: Use AF_ALG when available
	2018-05-05 all: Replace more http URLs by https URLs
	2018-05-03 maint: port more modules to GCC 8
	2018-05-03 Simplify code; drop support for Borland C++ on Windows
	* admin/merge-gnulib (GNULIB_MODULES): Use crypto/md5-buffer
	rather than crypto/md5, since Emacs doesn’t use the stream
	operations that in recent Gnulib pull in other stuff Emacs doesn’t
	need.  Similarly for crypto/sha1-buffer, crypto/sha256-buffer,
	crypto/sha512-buffer.
	* build-aux/config.guess, build-aux/config.sub, lib/dosname.h:
	* lib/dup2.c, lib/errno.in.h, lib/euidaccess.c, lib/fcntl.c:
	* lib/fcntl.in.h, lib/fpending.c, lib/fsync.c, lib/getdtablesize.c:
	* lib/getopt.c, lib/gettimeofday.c, lib/inttypes.in.h, lib/md5.c:
	* lib/md5.h, lib/open.c, lib/pipe2.c, lib/putenv.c, lib/sha1.c:
	* lib/sha1.h, lib/sha256.c, lib/sha256.h, lib/sha512.c:
	* lib/sha512.h, lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
	* lib/stdlib.in.h, lib/sys_stat.in.h, lib/sys_types.in.h:
	* lib/timespec.h, lib/unistd.in.h, lib/utimens.c, m4/c-strtod.m4:
	* m4/gnulib-common.m4, m4/inttypes.m4, m4/lstat.m4, m4/nocrash.m4:
	* m4/pselect.m4, m4/readlink.m4, m4/stdio_h.m4, m4/symlink.m4:
	* m4/unistd_h.m4, m4/utimens.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2018-05-21  João Távora  <joaotavora@gmail.com>

	Fix Flymake's ruby-mode tests when user has "rubocop" installed

	The Flymake test suite fails if the "rubocop" program is installed,
	because the ruby-flymake-rubocop backend is selected automatically by
	ruby-flymake-auto.  The test was designed for ruby-flymake-simple,
	tough, and fails.

	* test/lisp/progmodes/flymake-tests.el (ruby-backend): Ensure
	this test runs exclusively with the ruby-flymake-simple backend.

2018-05-21  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#31489

	* doc/misc/tramp.texi (Frequently Asked Questions):
	Mention `tramp-ignored-file-name-regexp'.  Improve index.


	* lisp/net/tramp.el (tramp-ignored-file-name-regexp): New defcustom.
	(tramp-tramp-file-p): Use it.  Check also for `tramp-mode'.
	(tramp-file-name-handler): Don't check for `tramp-mode'.  (Bug#31489)

	* test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax):
	Extend test.

2018-05-20  Eli Zaretskii  <eliz@gnu.org>

	Revert part of the previous change

	* doc/misc/message.texi:
	* doc/misc/efaq.texi:
	* doc/emacs/sending.texi:
	* doc/emacs/rmail.texi: Revert the CC => Cc etc. conversions.

2018-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	Use “Cc” for email copies, as per RFC 5322.

	Also fix similar problems with Bcc, Fcc, In-Reply-To,
	and similar email headers.  See thread starting at:
	https://lists.gnu.org/r/emacs-devel/2018-05/msg00463.html

2018-05-20  Noam Postavsky  <npostavs@gmail.com>

	* make-dist: Add '--no-info' option.

2018-05-20  Alan Mackenzie  <acm@muc.de>

	Enhance CC Mode's fontification, etc., of unterminated strings.

	String delimiters, including escaped new lines, of correctly terminated
	strings are left in font-lock-string-face.  All others get
	font-lock-warning-face.  The latter get syntax-table text properties on the
	opening string delim and the "terminating EOL".

	Correct two miscellaneous bugs: the handling of text properties on Java Mode's
	generic delimiters; the handling of c-just-done-before-change.

	* lisp/progmodes/cc-defs.el (c-point): New position 'eoll "end of logical line".
	(c-characterp): New macro.

	* lisp/progmodes/cc-fonts.el (c-font-lock-invalid-string): Removed.
	(c-basic-matchers-before): Use a simple matcher in place of the form around
	c-font-lock-invalid-string.

	* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Add
	c-before-change-check-unbalanced-strings to the value for all modes except AWK
	Mode.  Also add c-before-change-check-<>-operators to Java Mode, correcting an
	error in that mode's handling of generic delimiters.
	(c-before-font-lock-functions): Add c-after-change-re-mark-unbalanced-strings
	to the value for all modes except AWK Mode.
	(c-single-quotes-quote-strings, c-string-delims): New lang variables for
	future enhancements.
	(c-string-innards-re-alist): New lang variable.

	* lisp/progmodes/cc-mode.el (c-just-done-before-change): Do not set this
	variable when a change is the alteration of text properties.
	(c-basic-common-init): Set parse-sexp-lookup-properties (and the XEmacs
	equivalent) also for Pike Mode.
	(c-neutralize-CPP-line): No longer neutralize unbalanced quotes here.
	(c-unescaped-nls-in-string-p, c-multiline-string-start-is-being-detached)
	(c-pps-to-string-delim, c-before-change-check-unbalanced-strings)
	(c-after-change-re-mark-unbalanced-strings): New functions.
	(c-after-change): Fix a bug with the handling of c-just-done-before-change.

2018-05-20  Eli Zaretskii  <eliz@gnu.org>

	* etc/HELLO: More reasonable placement of 'charset' properties.

2018-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	* admin/notes/unicode: HELLO is again UTF-8.

2018-05-19  Eli Zaretskii  <eliz@gnu.org>

	Use Enriched mode in etc/HELLO to keep charset information

	This allows to encode HELLO in UTF-8, thus supporting the entire
	repertory of Unicode, while still keeping the charset info where
	that is important.  Suggested by Michael Welsh Duggan <mwd@md5i.com>.
	* lisp/textmodes/enriched.el (enriched-translations): Add
	translations for 'charset'.
	(enriched-decode-charset, enriched-handle-charset-prop): New
	functions.
	* lisp/facemenu.el (facemenu-special-menu): Add sub-menu for
	'charset' property.
	(facemenu-set-charset): New function.
	(facemenu-remove-special): Remove the 'charset' property as well.

	* etc/NEWS: Announce the new feature of Enriched mode.
	* etc/HELLO: Recode in UTF-8 and place under Enriched mode.

	* doc/emacs/text.texi (Enriched Properties): Mention the support
	for 'charset'.

2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	* src/alloc.c: Fix comment.

2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	Port to GCC 8 -fsanitize=undefined

	In GCC 8, gcc -fsanitize=undefined flags the undefined behavior
	that Emacs relies on in its XPNTR and XSYMBOL low-level functions.
	Disable undefined sanitization in these functions.  Although this
	disabling doesn’t suffice if DEFINE_KEY_OPS_AS_MACROS is true, it
	works for -fsanitize=undefined -DINLINING=0, which is good enough.
	* src/alloc.c (macro_PNTR_ADD): New macro.
	(PNTR_ADD): New function and macro.
	The function disables -fsanitize=undefined.
	(macro_XPNTR): Use it.
	* src/conf_post.h (ATTRIBUTE_NO_SANITIZE_UNDEFINED): New macro.
	* src/lisp.h (XSYMBOL): Disable -fsanitize=undefined.

2018-05-18  Lars Ingebrigtsen  <larsi@gnus.org>

	(gnus-blocked-images): Clarify privacy implications

	* lisp/gnus/gnus-art.el (gnus-blocked-images): Clarify the privacy
	implication of altering the value of this variable.

2018-05-18  Eli Zaretskii  <eliz@gnu.org>

	Fix decoding of directories when "~" includes non-ASCII chars

	* src/fileio.c (Fexpand_file_name): Don't build multibyte strings
	from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
	have different multibyteness, as this adds bytes to the byte
	sequence, and in some situations, e.g., when the home directory
	includes non-ASCII characters, can fail file APIs.  (Bug#30755)

	* lisp/startup.el (normal-top-level): Make sure default-directory
	is set to a multibyte string when decoded on MS-Windows.

2018-05-17  Filipp Gunbin  <fgunbin@fastmail.fm>

	Fix bugs in `auth-source-netrc-parse-one'.

	* lisp/auth-source.el (auth-source-netrc-parse-one): Ensure that match
	  data is not overwritten in `auth-source-netrc-parse-next-interesting'.
	  Ensure that blanks are skipped before and after going over comments
	  and eols.
	* test/lisp/auth-source-tests.el (auth-source-test-netrc-parse-one): New test.

2018-05-16  Michael Albinus  <michael.albinus@gmx.de>

	Fix creation of Secret Service items in auth-source

	* lisp/auth-source.el (auth-source-secrets-create): Use ´apply'.
	(auth-source-secrets-saver): Handle `auth-source-save-behavior'
	equal t.

	* lisp/net/secrets.el (secrets-get-items): Do not call
	`secrets-open-session' here ...
	(top): ... but here.

	* test/lisp/auth-source-tests.el
	(auth-source-test-secrets-create-secret): Bind
	`auth-source-save-behavior' to t.  Cleanup.

	* test/lisp/net/secrets-tests.el (secrets-test00-availability):
	After loading secets.el, a session is already opened.
	(secrets-test02-collections, secrets-test03-items)
	(secrets-test04-search): Open a new session.

2018-05-15  Dima Kogan  <dima@secretsauce.net>

	Give '$' punctuation syntax in make-mode (Bug#24477)

	* lisp/progmodes/make-mode.el (makefile-mode-syntax-table): Set syntax
	of '$' to punctuation.

2018-05-15  Noam Postavsky  <npostavs@gmail.com>

	Simplify eshell arg processing with (pop (nthcdr ...))

	* lisp/eshell/esh-opt.el (eshell--set-option)
	(eshell--process-args): Use (pop (nthcdr ...)) instead of writing it
	out by hand.

2018-05-15  Jay Kamat  <jaygkamat@gmail.com>

	esh-opt.el: Add a :parse-leading-options-only argument (Bug#28323)

	* lisp/eshell/esh-opt.el (eshell-eval-using-options): Add a new
	:parse-leading-options-only argument which ignores dash/switch
	arguments after the first positional argument.
	(eshell--process-args): Abort processing of arguments if we see one
	positional argument and :parse-leading-options-only is set.
	* lisp/eshell/em-tramp.el (eshell/sudo): Use
	:parse-leading-options-only, to avoid parsing subcommand switches as
	switches of sudo itself.
	* test/lisp/eshell/esh-opt-tests.el: Add tests for new and old behavior.

2018-05-15  Jay Kamat  <jaygkamat@gmail.com>

	esh-opt.el: Fix improper parsing of first argument (Bug#28323)

	Examples of broken behavior:

	    sudo -u root whoami
	    Outputs: -u
	    ls -I '*.txt' /dev/null
	    Errors with: *.txt: No such file or directory

	* lisp/eshell/esh-opt.el (eshell--process-args): Refactor usage of
	args to eshell--args, as we rely on modifications from
	eshell--process-option and vice versa.  These modifications were not
	being propagated in the (if (= ai 0)) case, since popping the first
	element of a list doesn't destructively modify the underlying list
	object.

2018-05-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	c2ef847 (origin/emacs-26) Clarify the mode-line indicators in CC Mode

2018-05-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	b98cf9c ; Fix a typo in the Emacs manual
	700fcd7 * doc/emacs/help.texi: Fix paren typo.
	c9c0e40 More minor changes in shell-related nodes of Emacs manual
	e6bf19c Fix inaccuracies in "Shell Ring" node of Emacs manual
	087681b8 Improve documentation of kmacro commands and variables.
	be2e8cb * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
	1d9e66a Don't check non-X frames for z order (Bug#31373)
	7dc028e Check NSWindow is actually a frame

	Conflicts:
		src/nsfns.m

2018-05-15  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#29575

	* lisp/net/secrets.el (secrets-create-item): The new item does not
	need a unique label.
	(secrets-item-path, secrets-get-secret, secrets-get-attributes)
	(secrets-get-attribute, secrets-delete-item): ITEM can also be an
	object path.  (Bug#29575)

	* test/lisp/net/secrets-tests.el (secrets-test03-items):
	Test also creation of two items with same label.  Test
	`secrets-get-secret', `secrets-get-attribute' and
	`secrets-get-attributes' with object path.
	(secrets-test04-search): Harden test.

2018-05-15  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#31068

	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
	Unregister unless `tramp-archive-enabled'.  (Bug#31068)

2018-05-14  Tino Calancha  <tino.calancha@gmail.com>

	Run python test if the python executable is found

	* test/lisp/progmodes/python-tests.el (python-tests--bug31398):
	Skip test when executable python is no found.

2018-05-14  Tino Calancha  <tino.calancha@gmail.com>

	run-python: Make the buffer running python current

	* lisp/progmodes/python.el (run-python, python-shell-make-comint):
	Make the buffer running the inferior python process the current buffer
	(Bug#31398).
	* test/lisp/progmodes/python-tests.el (python-tests--bug31398):
	Add test.

2018-05-14  Basil L. Contovounesios  <contovob@tcd.ie>

	Minor refactoring in shell-command

	* lisp/simple.el (shell-command): Use call-process-shell-command,
	start-process-shell-command, and file-attribute-size. (bug#30280).

2018-05-14  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix a broken test

	* lisp/simple.el (shell-command): Use call-process-shell-command,
	start-process-shell-command, and file-attribute-size. (bug#30280)

2018-05-14  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/ange-ftp.el (ange-ftp-allow-child-lookup):

	Do not use obsolete ´dired-local-variables-file'.

2018-05-14  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#30663

	* lisp/dired.el (dired-revert):
	Call `hack-dir-local-variables-non-file-buffer'.  (Bug#30663)

2018-05-14  Michael Albinus  <michael.albinus@gmx.de>

	Improve `dired-buffer-stale-p' for remote files

	* lisp/dired.el (dired-buffer-stale-p): Check for ´file-remote-p'
	only if `auto-revert-remote-files' is non-nil.

2018-05-14  Michael Albinus  <michael.albinus@gmx.de>

	Remove obsolete objects from dired-x.el

	* doc/misc/dired-x.texi (Local Variables): Remove node.

	* lisp/dired-x.el (dired-enable-local-variables)
	(default-directory-alist, dired-default-directory-alist)
	(dired-default-directory, dired-local-variables-file)
	(dired-hack-local-variables, dired-omit-here-always):
	Remove obsolete variables, constants and functions.

2018-05-11  João Távora  <joaotavora@gmail.com>

	Fix filesystem littering by Flymake's legacy backend

	The Flymake legacy "proc" backend, which is active by default will try
	to syntax-check foo.c/foo.cpp and many other types of files, but on
	failing to find a suitable Makefile target, will fail.  There's
	nothing wrong with that except that it used to leave behind the
	foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
	the filesystem.

	* lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
	Call init-function inside of the unwind-protect.

2018-05-11  Michael Albinus  <michael.albinus@gmx.de>

	Tramp updates

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
	Parse multibyte symlinks correctly.

	* test/lisp/net/tramp-tests.el (tramp--test-utf8):
	Improve backward compatibility.

2018-05-10  Basil L. Contovounesios  <contovob@tcd.ie>

	Rewrite scroll-other-window-down in C (bug#30207)

	* lisp/window.el (scroll-other-window-down):
	Move to src/window.c as Fscroll_other_window_down.
	* src/window.c (scroll_command): Generalize for arbitrary windows.
	(Fscroll_up, Fscroll_down): Use scroll_command with selected_window.
	(Fscroll_other_window, Fscroll_other_window_down):
	Rewrite in terms of scroll_command.
	(syms_of_window): Add Sscroll_other_window_down.

2018-05-10  Basil L. Contovounesios  <contovob@tcd.ie>

	Simplify "other window" bob/eob motion commands

	* lisp/window.el (beginning-of-buffer-other-window)
	(end-of-buffer-other-window):
	Simplify via with-selected-window. (bug#30207)

2018-05-10  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve documentation for "other window" scrolling

	* doc/emacs/windows.texi (Other Window):
	* doc/lispref/windows.texi (Textual Scrolling):
	Document scroll-other-window-down.
	* doc/lispref/minibuf.texi (Minibuffer Misc):
	Cross-reference minibuffer-scroll-window with Textual Scrolling.
	* src/window.c (Fother_window_for_scrolling):
	Clarify how "other window" is determined in docstring.
	(Fscroll_other_window): Simplify docstring, pointing to that of
	Fother_window_for_scrolling. (bug#30207)

2018-05-10  Basil L. Contovounesios  <contovob@tcd.ie>

	Limit "other window" scrolling to current terminal

	* src/window.c (Fother_window_for_scrolling): Limit next-window
	search to visible frames on the current terminal. (bug#30207)

2018-05-07  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	1d732d6 (origin/emacs-26) Fix gud-statement for pdb
	91a68b5 ; * msdos/INSTALL: Add info about GCC versions.
	7ddcc9a Document 'custom-group'
	58f9e15 A minor addition to etc/DEBUG
	4590414 Avoid errors in ispell.el when Enchant returns empty extra chars
	d0d75f9 Make 'ispell-initialize-spellchecker-hook' work again
	b90ce66 Handle selected_window change in prepare_menu_bars (Bug#31312)
	79ad0b3 ; * INSTALL: Fix Emacs version number.  (Bug#31358)
	91de88b Fix report-emacs-bug via mailclient on MS-Windows
	f4b5ff2 Port collation tests to glibc 2.27

2018-05-06  Ari Roponen  <ari.roponen@gmail.com>

	Fix cairo scrolling for side-by-side windows

	* src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling for
	side-by-side split windows.  (Bug#31288)

2018-05-06  Eli Zaretskii  <eliz@gnu.org>

	Don't remove highlight of misspelled word on pdict save

	* lisp/textmodes/ispell.el (ispell-pdict-save): Don't restart
	flyspell-mode, as bug#11963, which this was supposed to fix, is
	fixed better by ispell-command-loop, when the user types 'i' or
	'a'.  Restarting Flyspell mode when the personal dictionary is
	saved caused bug#31372 as side effect.
	(ispell-command-loop): Test 'flyspell-mode', not whether
	flyspell-unhighlight-at is fboundp, to determine whether Flyspell
	mode is turned on in the current buffer.
	(flyspell-unhighlight-at): Add declare-function form for it.

2018-05-06  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#31272

	* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
	(tramp-do-directory-files-and-attributes-with-stat)
	(tramp-sh-handle-insert-directory): Use "--show-control-chars".
	(tramp-convert-file-attributes): Decode multibyte strings,
	produced by "stat".  (Bug#31272)

	* test/lisp/net/tramp-tests.el (tramp--test-utf8): Extend test.

2018-05-05  Michael Hendricks  <michael@ndrix.org>  (tiny change)

	Include narrowing indication in describe-mode

	* lisp/help.el (describe-mode): Include "Narrow", if narrowing is
	active.  (Bug#31139)

2018-05-05  Ari Roponen  <ari.roponen@gmail.com>

	Fix some problems in the Cairo build

	* src/xterm.c (x_begin_cr_clip): Create image surface.
	(x_update_end) [USE_CAIRO]: Remove GTK3-specific code.
	(x_scroll_run) [USE_CAIRO]: Implement scrolling.
	* src/image.c (lookup_rgb_color) [USE_CAIRO]: Support Cairo.
	(jpeg_load_body) [USE_CAIRO]: Support Cairo.  Use USE_CAIRO
	instead of CAIRO for #ifdef's.
	(imagemagick_load_image) [USE_CAIRO]: Support Cairo.
	(Bug#31288)

2018-05-05  Eli Zaretskii  <eliz@gnu.org>

	Avoid infloops in font_open_entity

	* src/font.c (font_open_entity): Fail after 15 iterations through
	the loop that looks for a font whose average_width and height are
	both positive.  This avoids infinite loops for fonts that, e.g.,
	report average_width of zero for any possible size we try.
	(Bug#31316)

2018-05-05  Eli Zaretskii  <eliz@gnu.org>

	Fix encoding of characters when using GB18030 fonts

	* lisp/international/fontset.el (font-encoding-alist): Fix the
	GB18030 entry to encode characters correctly when passing them to
	the xfont back-end.  (Bug#31315)  See also
	https://lists.gnu.org/archive/html/emacs-devel/2008-01/msg00754.html.

2018-05-04  Noam Postavsky  <npostavs@gmail.com>

	* make-dist: Don't fail if building --without-makeinfo.

2018-05-03  Phillip Lord  <phillip.lord@russet.org.uk>

	Fix windows snapshot building

	* admin/nt/dist-build/build-zips.sh: Fix broken if statement

2018-05-03  Phillip Lord  <phillip.lord@russet.org.uk>

	* admin/nt/dist-build/build-zips.sh: Support building of branches

2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	More porting to GCC 8 of --enable-gcc-warnings

	* lwlib/lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
	* lwlib/lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
	* lwlib/lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
	No longer const.
	* src/emacs-module.c: Ignore -Wcast-function-type.

2018-05-02  Marco Wahl  <marcowahlsoft@gmail.com>
	    Noam Postavsky  <npostavs@gmail.com>

	Fix next-page for dired (Bug#31061)

	* lisp/textmodes/page-ext.el (next-page): Don't go back any pages if
	COUNT is 0.  For negative COUNT, end with point just after the last
	delimiter.

2018-05-02  Basil L. Contovounesios  <contovob@tcd.ie>

	Minor simple.el simplifications (Bug#31211)

	* lisp/simple.el (kill-append, push-mark, pop-mark):
	Simplify conditionals and surrounding code.

2018-05-02  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix off-by-one history pruning (bug#31211)

	* lisp/subr.el (add-to-history): Clarify docstring.
	Protect against negative history-length and unnecessary variable
	modification, as per read_minibuf.

	* lisp/ido.el (ido-record-command):
	* lisp/international/mule-cmds.el (deactivate-input-method):
	(set-language-environment-input-method):
	* lisp/isearch.el (isearch-done):
	* lisp/minibuffer.el (read-file-name-default):
	* lisp/net/eww.el (eww-save-history):
	* lisp/simple.el (edit-and-eval-command, repeat-complex-command):
	(command-execute, kill-new, push-mark):
	* src/callint.c (Fcall_interactively):
	* src/minibuf.c (read_minibuf): Delegate to add-to-history.

	* test/lisp/simple-tests.el (command-execute-prune-command-history):
	* test/src/callint-tests.el
	(call-interactively-prune-command-history): New tests.

2018-05-02  Glenn Morris  <rgm@gnu.org>

	* lisp/textmodes/ispell.el (ispell-use-framepop-p): Doc fix.

2018-05-02  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp for auth-source

	* lisp/net/tramp.el (tramp-read-passwd): auth-source could return
	cascaded functions.

2018-05-02  Michael Albinus  <michael.albinus@gmx.de>

	Fix some edge cases of tramp-smb

	* lisp/net/tramp-smb.el (tramp-smb-errors):
	Add "NT_STATUS_REVISION_MISMATCH".
	(tramp-smb-handle-delete-directory): Check, that the directory
	has been removed indeed.
	(tramp-smb-get-localname): Add further checks on filename syntax.

	* lisp/net/tramp.el (tramp-localname-regexp): Do not allow linefeeds.

	* test/lisp/net/tramp-tests.el (tramp-smb-get-localname): Declare.
	(auth-source-save-behavior): Set it to nil.
	(tramp-test01-file-name-syntax): Extend, checking for linefeeds.
	(tramp-test03-file-name-host-rules, tramp--test-utf8): Refine tests.
	(tramp-test03-file-name-method-rules): New test.
	(tramp--test-ignore-add-name-to-file-error): New defmacro.
	(tramp-test21-file-links): Use it.

2018-05-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	71be806 ; * etc/DEBUG: Minor clarification.
	4403f89 Update the Emacs FAQ
	40b3317 * etc/DEBUG: Minor copyedits.
	850ff18 Clarify wording of NS drag n drop documentation
	343d70b1 Improve kill-related documentation (bug#31209)
	0b43224 * lisp/simple.el (region-extract-function): Don't hide the 'n...
	d6e2c59 Fix pre- and post-command-hook errors in term.el
	6cf83131e * doc/lispref/display.texi (Glyphless Chars): Fix grammar.
	88d178c Fix macOS drag n drop event documentation

2018-05-01  Lars Ingebrigtsen  <larsi@gnus.org>

	`url-domain' doc clarification

	* lisp/url/url-util.el (url-domain): Add an example to the doc
	string.

2018-05-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Rewrite `url-domain' to avoid network traffic

	* lisp/url/url-util.el (url-domain): Don't talk DNS to determine
	the domain, because this is slow.

	* test/lisp/url/url-util-tests.el (url-domain-tests): Add tests
	for `url-domain'.

2018-04-30  Glenn Morris  <rgm@gnu.org>

	* test/src/process-tests.el (make-process/mix-stderr): Skip on hydra.

2018-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/socks.el: Use lexical-binding and process properties

	Remove unneeded requires.  Better following commenting conventions.
	(socks-connections): Remove (use process properties instead).
	(socks-wait-for-state-change): Make it a function.
	(open-network-stream): Use an advice when overriding.
	(socks-send-command): Avoid string-make-unibyte.
	(socks--open-network-stream): New function (extracted from
	socks-open-network-stream).
	(socks-open-network-stream): Rewrite using it.

2018-04-29  Paul Eggert  <eggert@cs.ucla.edu>

	Advise CFLAGS= operand, not in environment, when configuring

2018-04-28  Noam Postavsky  <npostavs@gmail.com>

	Replace epg--gv-nreverse with (cl-callf nreverse ...)

	* lisp/epg.el (epg--gv-nreverse): Remove.
	(epg-list-keys): Replace it with (cl-callf nreverse ...).

2018-04-28  Paul Eggert  <eggert@cs.ucla.edu>

	Port --enable-gcc-warnings to GCC 8

	* configure.ac: Do not use GCC 8’s new -Wcast-align flag.
	* lib-src/ebrowse.c (xmalloc):
	* lib-src/emacsclient.c (xmalloc, xstrdup):
	* lib-src/etags.c (xmalloc):
	* lib-src/make-docfile.c (xmalloc):
	* lib-src/movemail.c (xmalloc):
	* src/dispnew.c (new_glyph_pool):
	* src/regex.c (xmalloc):
	* src/term.c (tty_menu_create):
	* src/tparam.h (tparam):
	Use ATTRIBUTE_MALLOC.  Also see GCC bug 85562.
	* lib-src/emacsclient.c (fail):
	Do not dereference a null pointer.
	* src/frame.c (delete_frame):
	Add a decl with UNINIT to work around GCC bug 85563.
	* src/menu.h (finish_menu_items):
	Do not use attribute const.
	* src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.

2018-04-28  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-04-27 manywarnings: port to GCC 8.0
	* build-aux/config.sub, m4/manywarnings.m4: Copy from Gnulib.

2018-04-28  Juri Linkov  <juri@linkov.net>

	* lisp/vc/add-log.el (change-log-mode-syntax-table): New defvar

	that redefines syntax of quotes to "expression quote or prefix operator".
	(Bug#31231)

2018-04-28  Juri Linkov  <juri@linkov.net>

	* lisp/subr.el (dotimes): Deprecate RESULT field.  (Bug#16206)

	* doc/lispref/control.texi (Iteration):
	* doc/misc/cl.texi (Iteration): Document deprecation of its use.
	* doc/lispintro/emacs-lisp-intro.texi (dotimes):
	* test/src/emacs-module-tests.el (multiply-string):
	* test/lisp/filenotify-tests.el (file-notify-test07-many-events):
	Place RESULT field after the form.

2018-04-28  Eli Zaretskii  <eliz@gnu.org>

	* src/fns.c (Fstring_distance): Minor code reformatting.

2018-04-28  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation and tests for 'string-distance'

	* src/fns.c (Fstring_distance): Doc fix.

	* doc/lispref/strings.texi (Text Comparison): Document
	'string-distance'.

	* etc/NEWS: Fix wording and mark as documented in the manuals.

	* test/src/fns-tests.el (test-string-distance): Move from
	subr-tests.el and rename.

2018-04-27  Chen Bin  <chenbin.sh@gmail.com>

	New function 'string-distance'

	* src/fns.c (Fstring_distance): New primitive.
	(syms_of_fns): Defsubr it.

	* test/lisp/subr-tests.el (subr-tests--string-distance): New test.

	* etc/NEWS: Mention 'string-distance'.

2018-04-27  Michael Albinus  <michael.albinus@gmx.de>

	Manual update for Tramp

	* doc/misc/tramp.texi (Password handling): Explain, how passwords
	are saved permanently.

	* etc/NEWS: auth-source Secret Service backend supports :create.
	Tramp saves validated passwords.

2018-04-27  Noam Postavsky  <npostavs@gmail.com>

	* lisp/epa.el (epa-decrypt-file): Apply epa-pinentry-mode (Bug#30363).

2018-04-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Strip most headers when forwarding messages

	* lisp/gnus/message.el (message-forward-included-headers): Change
	the default to exclude most messages.
	(message-remove-ignored-headers): Make
	message-forward-included-headers actually work -- it's a list of
	regexps, not a list of strings.

2018-04-26  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS: Fix minor quoting and spacing bugs.

2018-04-26  Noam Postavsky  <npostavs@gmail.com>

	Add missing calendar-dlet* (Bug#31267)

	* lisp/calendar/calendar.el (calendar-generate-month): Use
	calendar-dlet* around evaluation of calendar-date-echo-text.

2018-04-26  Ivan Shmakov  <ivan@siamics.net>

	Ensure woman2-roff-buffer restores functions on error (Bug#30908)

	* lisp/woman.el (woman2-roff-buffer): Put the fallback paragraph
	processing inside the protected part of the unwind-protect form,
	rather than the cleanup forms.  Attempting to format paragraphs again
	after an error has been signaled is unlikely to be helpful.  The
	fallback processing should be triggered only in case the loop
	terminated normally, but did not reach the end of the buffer for some
	reason.

2018-04-26  Noam Postavsky  <npostavs@gmail.com>

	Fix cl-print for circular sublists (Bug#31146)

	* lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
	element of list being printed onto cl-print--currently-printing.
	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
	test.

2018-04-25  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t set print-escape-newlines in the minibuffer

	This appears to be an unnecessary and possibly-confusing
	revenant from ancient code (Bug#31251).  See thread containing:
	https://lists.gnu.org/r/emacs-devel/2018-04/msg00654.html
	* src/minibuf.c (read_minibuf): Do not set print-escape-newlines.
	* src/print.c (syms_of_print): Do not defsym print-escape-newlines
	or print-escape-control-characters, as these symbols are not used
	in C code.

2018-04-25  Glenn Morris  <rgm@gnu.org>

	* lisp/foldout.el (outline-minor-mode): Remove pointless check.

2018-04-25  Glenn Morris  <rgm@gnu.org>

	speedbar: remove support for missing custom.el

	* lisp/speedbar.el (speedbar-file-regexp)
	(speedbar-ignored-directory-regexp): Remove support for no custom.el.

2018-04-25  Glenn Morris  <rgm@gnu.org>

	* lisp/progmodes/sql.el (comint-line-beginning-position):
	Remove pre-21 fallback definition.

	* lisp/net/eudc.el (split-string): Remove pre-21 fallback definition.

2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>

	Do not call interprogram-paste-function repeatedly

	* lisp/simple.el (current-kill): Disable interprogram-paste-function
	so that kill-new doesn't call it repeatedly when
	save-interprogram-paste-before-kill is enabled.  (bug#31209)

2018-04-24  Glenn Morris  <rgm@gnu.org>

	socks.el: remove pre-21 compatibility code

	* lisp/net/socks.el (socks-split-string): Remove.
	(socks-nslookup-host): Just use split-string.

2018-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	* src/minibuf.c (read_minibuf): Add a FIXME comment.

2018-04-24  Lars Ingebrigtsen  <larsi@gnus.org>

	(add-to-invisibility-spec): Further doc tweak

	* lisp/subr.el (add-to-invisibility-spec): Tweak doc fix from
	previous patch.

2018-04-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix for `*-*-invisibility-spec'

	* lisp/subr.el (add-to-invisibility-spec)
	(remove-from-invisibility-spec): Make the doc string say what
	happens if `buffer-invisibility-spec' is an atom (bug#30171).

2018-04-24  Lars Ingebrigtsen  <larsi@gnus.org>

	libxml-parse-*-region calling convention fix

	* lisp/subr.el (libxml-parse-xml-region)
	(libxml-parse-html-region): Adjust the calling convention to note
	that the final parameter is optional.

2018-04-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make url-http-create-request work with non-ASCII data again

	* lisp/url/url-http.el (url-http-create-request): Ensure that the
	entire request string is unibyte (bug#31248).

2018-04-23  Eli Zaretskii  <eliz@gnu.org>

	Fix recent change in lread.c

	* src/lread.c (openp): Avoid assertion violations in XCDR when
	PATH is nil.  (Bug#31229)

2018-04-23  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Backspace is not a paragraph separator in Texinfo files

	* lisp/textmodes/texinfo.el (texinfo-mode): Omit backspace from
	paragraph separator and start.  Perhaps there was some confusion
	about .texi vs .info files long ago?

2018-04-23  Eli Zaretskii  <eliz@gnu.org>

	* etc/NEWS: Improve wording of next-error entries.

2018-04-23  Michael Albinus  <michael.albinus@gmx.de>

	Let Tramp save passwords

	* lisp/auth-source.el (auth-source-secrets-saver): New defun.
	(auth-source-secrets-create): Use it.

	* lisp/net/secrets.el (secrets-struct-secret-content-type):
	(secrets-create-item): Do not hard-code :xdg:schema.

	* lisp/net/tramp.el (tramp-password-save-function): New defvar.
	(tramp-read-passwd): Set it properly.
	(tramp-process-actions):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
	Save password.

	* lisp/net/tramp-cmds.el (tramp-bug): Don't report
	`tramp-password-save-function'.

	* test/lisp/net/secrets-tests.el (secrets-test03-items):
	Extend test with another :xdg:schema.

2018-04-23  Michael Albinus  <michael.albinus@gmx.de>

	Ensure proper EOL handling for Tramp on macOS

	* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
	Ensure proper EOL handling for Darwin.

2018-04-22  Juri Linkov  <juri@linkov.net>

	Improve Isearch error handling

	* lisp/isearch.el (isearch--momentary-message): Propertize message
	suffix with minibuffer-prompt face.
	(isearch--describe-regexp-mode): Do not omit description in case
	of error in default non-literal search.
	(isearch-message-prefix): Display “case-sensitive” in case of error.
	(isearch-message-suffix): Propertize message suffix with
	minibuffer-prompt face.
	(isearch-search-fun-default): Remove unused error handling.

	* lisp/vc/add-log.el (change-log-next-buffer): Better handle
	errors during wrapping.

2018-04-22  Lars Ingebrigtsen  <larsi@gnus.org>

	(text-property-search-forward): Copy edits in doc string

	* lisp/emacs-lisp/text-property-search.el
	(text-property-search-forward): Copy edits in doc string.

2018-04-22  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements of next-error docs

	* lisp/simple.el (next-error-find-buffer-function)
	(previous-error, next-error-select-buffer): Doc fixes.
	* doc/emacs/maintaining.texi (Change Log Commands):
	* doc/emacs/building.texi (Compilation Mode): Index the new
	commands and variables.  Improve wording.
	(Bug#20493)

2018-04-22  Lars Ingebrigtsen  <larsi@gnus.org>

	(text-property-search-forward): Doc string tweak

	* lisp/emacs-lisp/text-property-search.el
	(text-property-search-forward): Doc string tweak.

2018-04-22  Lars Ingebrigtsen  <larsi@gnus.org>

	(text-property-search-forward): Fix search at the end

	* lisp/emacs-lisp/text-property-search.el
	(text-property-search-forward): Fix search at the end of the
	buffer with no text properties.

2018-04-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a test suite for text-property-search

2018-04-21  Juri Linkov  <juri@linkov.net>

	Update documentation for more next-error features

	* doc/emacs/maintaining.texi (Change Log Commands): Mention
	change-log-goto-source.

	* doc/emacs/building.texi (Compilation Mode): Document
	next-error-find-buffer-function and next-error-select-buffer.

	* doc/emacs/building.texi (Grep Searching):
	* doc/emacs/files.texi (Diff Mode):
	* doc/emacs/search.texi (Other Repeating Search):
	* doc/emacs/windows.texi (Displaying Buffers):
	Prefer ‘M-g M-n’ over ‘C-x `’.

	* lisp/simple.el (next-error-find-buffer-function, next-error)
	(next-error-select-buffer): Elaborate docstrings.  (Bug#20493)

2018-04-20  Glenn Morris  <rgm@gnu.org>

	Tweak recent bytecomp defvaralias change

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defvar-function):
	Respect with-no-warnings.

2018-04-20  Glenn Morris  <rgm@gnu.org>

	More alias-related tedium

	* lisp/comint.el (comint-scroll-to-bottom-on-output):
	* lisp/completion.el (cmpl-syntax-table):
	* lisp/erc/erc-button.el (erc-button-google-url):
	* lisp/font-lock.el (font-lock-reference-face):
	* lisp/hfy-cmap.el (hfy-fallback-colour-map, hfy-rgb-txt-colour-map):
	* lisp/isearch.el (isearch-regexp-function, isearch-new-word):
	* lisp/startup.el (argv):
	* lisp/version.el (emacs-bzr-version):
	* lisp/org/org.el (org-CUA-compatible)
	(org-popup-calendar-for-date-prompt):
	Move aliases before targets, to silence new compiler warning.

2018-04-20  Glenn Morris  <rgm@gnu.org>

	The tedious game of whack-a-mole with compiler warnings continues

	* lisp/abbrev.el (edit-abbrevs-map):
	* lisp/emacs-lock.el (emacs-lock-from-exiting):
	* lisp/htmlfontify.el (hfy-optimisations):
	* lisp/ielm.el (inferior-emacs-lisp-mode-hook)
	(inferior-emacs-lisp-mode-map):
	* lisp/isearch.el (isearch-lazy-highlight-word):
	* lisp/select.el (x-select-enable-clipboard, x-select-enable-primary):
	* lisp/shell.el (shell-dirtrack-mode):
	* lisp/skeleton.el (skeleton-transformation, skeleton-filter):
	* lisp/startup.el (inhibit-splash-screen, inhibit-startup-message):
	* lisp/window.el (even-window-heights):
	* lisp/calendar/timeclock.el (timeclock-modeline-display):
	* lisp/cedet/semantic/db-mode.el (semanticdb-mode-hook)
	(semanticdb-global-mode):
	* lisp/emacs-lisp/edebug.el (gud-inhibit-global-bindings):
	* lisp/emacs-lisp/warnings.el (display-warning-minimum-level)
	(log-warning-minimum-level):
	* lisp/erc/erc-dcc.el (erc-dcc-chat-filter-hook):
	* lisp/gnus/nnspool.el (news-path):
	* lisp/org/org-agenda.el (org-agenda-search-view-search-words-only)
	(org-agenda-remove-tags-when-in-prefix)
	(org-agenda-align-tags-to-column, org-agenda-keymap):
	* lisp/org/org.el (org-special-ctrl-a)
	(org-log-state-notes-into-drawer)
	(org-agenda-multi-occur-extra-files):
	* lisp/progmodes/flymake-proc.el (flymake-err-line-patterns)
	(flymake-check-file-limit):
	* lisp/progmodes/make-mode.el (makefile-query-one-target-method):
	* lisp/progmodes/octave.el (inferior-octave-startup-hook):
	* lisp/progmodes/python.el (python-buffer)
	(python-preoutput-result):
	* lisp/progmodes/sql.el (sql-dialect):
	* lisp/textmodes/artist.el (artist-text-renderer):
	* lisp/textmodes/bibtex.el (bibtex-autokey-name-case-convert)
	(bibtex-autokey-titleword-case-convert):
	* lisp/textmodes/flyspell.el (flyspell-generic-check-word-p):
	* lisp/textmodes/ispell.el (ispell-format-word):
	* lisp/textmodes/rst.el (rst-preferred-decorations):
	* lisp/textmodes/sgml-mode.el (sgml-transformation):
	Move aliases before targets, to silence new compiler warning.
	* lisp/term/ns-win.el (ns-option-modifier, ns-right-option-modifier):
	Silence warning.

2018-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defvar-function):

	Warn about defvaralias that follows instead of precedes its var.

2018-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/url/url-file.el: Use lexical-binding.

2018-04-20  Glenn Morris  <rgm@gnu.org>

	* lisp/net/newst-backend.el (newsticker--sentinel-work):
	Replace obsolete form of libxml-parse-xml-region.

	* lisp/replace.el (query-replace-descr): Silence compiler.

2018-04-20  Michael Albinus  <michael.albinus@gmx.de>

	Revert "* etc/HELLO: Add language Emoji.  Use utf-8 coding."

	This reverts commit c4cfb5d20487f9912f5896b3f1d291fe7ccc9804.

2018-04-20  Michael Albinus  <michael.albinus@gmx.de>

	Revert "* admin/notes/unicode: HELLO is now UTF-8."

	This reverts commit 0585bd643dae2592214e77998b875347e6e59bab.

2018-04-20  Paul Eggert  <eggert@cs.ucla.edu>

	* admin/notes/unicode: HELLO is now UTF-8.

2018-04-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	5de608f (origin/emacs-26) Update the documentation of 'perform-replace'
	06245b6 * etc/NEWS: Another fix for the last change (noted by Juri Li...
	8f6293c Fix use of @key in Texinfo manuals
	f4c9894 Improve documentation of actual arglist
	ce0e253 ; * etc/NEWS: Improve last change as proposed by Phil Sainty
	b89ff0e Don't assume term-current-row cache is valid (Bug#31193)
	326a296 ; * etc/NEWS: Mention 'display-buffer-in-major-side-window' c...
	3bdc9a1 Fix flyspell-auto-correct-previous-word broken by recent change
	a539eb5 * test/src/lread-tests.el (lread-test-bug-31186): New test.
	3fa472b Fix undefined behavior while looking for lexical-binding fil...
	4341aac Minor wording improvement in "Bookmarks"

	Conflicts:
		test/src/lread-tests.el

2018-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/mule-cmds.el (view-hello-file): Avoid duplicate

	Don't hardcode the coding-system, now that it's specified with a "coding:" tag

2018-04-20  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/international/mule-cmds.el (view-hello-file):  Use utf-8 coding.

	* etc/HELLO: Add language Emoji.  Use utf-8 coding.

2018-04-19  Glenn Morris  <rgm@gnu.org>

	* lisp/url/url-util.el (puny-encode-domain): Autoload it.

2018-04-19  Juri Linkov  <juri@linkov.net>

	Mention next-error-select-buffer in etc/NEWS

2018-04-19  Alan Mackenzie  <acm@muc.de>

	Amend c-colon-type-list-re also to handle compound identifiers

	* lisp/progmodes/cc-langs.el (c-colon-type-list-re): Amend to recognize and
	skip over "::" in C++ and "." in Java.

2018-04-19  Juri Linkov  <juri@linkov.net>

	Use text properties to save search parameters.  (Bug#22479)

	* lisp/isearch.el (isearch-update-ring): Call isearch-string-propertize.
	Delete duplicates with possibly different text properties.
	(isearch-string-propertize)
	(isearch-update-from-string-properties): New functions.
	(with-isearch-suspended, isearch-ring-adjust1):
	Call isearch-update-from-string-properties.
	(isearch-edit-string): Let-bind minibuffer-allow-text-properties to t.
	(isearch-query-replace): Use propertized isearch-string.
	(isearch--lax-regexp-function-p): Simplify.

	* lisp/replace.el (query-replace-descr): Rewrite to keep text properties
	non-destructively in the replacement string.
	(query-replace--split-string): Don't remove text properties
	by substring-no-properties.
	(query-replace-read-args): Try to get isearch-regexp-function
	from text-properties.
	(perform-replace): Display parameters in the replacement message.

	* lisp/desktop.el (desktop--v2s): Check if text properties are unreadable.
	(Bug#30786)

2018-04-19  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-mode-map): Restore advertised bindings.

	Remove obsolete comments and code.

	* lisp/replace.el (occur-find-match): Use user-error instead of error.
	(Bug#14912)

2018-04-19  Drew Adams  <drew.adams@oracle.com>

	Add REGION-NONCONTIGUOUS-P arg to other replace.el commands

	* lisp/replace.el (query-replace, query-replace-regexp): Doc fix.
	(query-replace-regexp-eval, map-query-replace-regexp)
	(replace-string, replace-regexp): Add REGION-NONCONTIGUOUS-P arg.
	(perform-replace): Doc fix.  (Bug#27897)

2018-04-19  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
	Sort definition-prefixes, for stability.

2018-04-19  Michael Albinus  <michael.albinus@gmx.de>

	Handle chrooted environments in Tramp

	* doc/misc/tramp.texi (Frequently Asked Questions): New item, chrooted
	environments.

	* lisp/net/tramp.el (tramp-local-host-regexp): Make it a defcustom.
	Allow nil.
	(tramp-local-host-p):
	* lisp/net/tramp-sh.el (tramp-compute-multi-hops): Handle this.

2018-04-18  Glenn Morris  <rgm@gnu.org>

	* test/src/process-tests.el (make-process/mix-stderr): Use bash.

	Not all shells support ">&2".

2018-04-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix botched merge of FQDNs in PROBLEMS

	This text was originally removed in
	2014-12-30T04:42:26Z!eggert@cs.ucla.edu but then was
	mistakenly re-added in the merge in
	2015-03-23T17:30:30Z!eggert@cs.ucla.edu.
	* etc/PROBLEMS: Omit obsolete mention of FQDNs.

2018-04-18  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak mark_object to avoid a conditional branch

	* src/alloc.c (LAST_MARKED_SIZE): Now an enum.  Make it a power of 2.
	(mark_object): Take advantage of the power of 2.

2018-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/gv.el (gv-define-setter): Silence compiler warning

	Code placed in the `gv-expander` property will presumably only be used
	when gv is loaded (bug#14529).

2018-04-18  Paul Eggert  <eggert@cs.ucla.edu>

	Tell user about read-integer-overflow-as-float

	* src/lread.c (string_to_number): Suggest
	read-integer-overflow-as-float in signal message.
	Suggested by Stefan Monnier (Bug#31118#58).

2018-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	Fix signal for large integers with valid syntax

	* src/lread.c (read_integer): If a radixed integer has valid syntax
	but is waayyy too large, signal overflow instead of invalid syntax.
	* test/src/lread-tests.el (lread-long-hex-integer): New test.

2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>

	(sql-stop): Don't bug out if the SQL buffer is killed

	* lisp/progmodes/sql.el (sql-stop): Don't bug out if the SQL
	buffer is killed (bug#30244).

2018-04-17  David Beswick  <dlbeswick@gmail.com>  (tiny change)

	Don't display an initial-buffer-choice buffer twice

	* lisp/startup.el (command-line-1): Don't display an
	initial-buffer-choice buffer twice if the user is also explicitly
	specifying it on the mode line, but shift it to the initial place
	(bug#29999).

2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert hunk mistakenly applied in last patch

2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem in `g' in Info with strings like "(foo)"

	* lisp/info.el (Info-find-file): Add a new parameter to avoid
	jumping to the directory if the user looks for a filename on the
	form "(foo)" that doesn't exist.
	(Info-read-node-name-1): Use it to allow completing over strings
	like "(foo)" without losing focus (bug#30091).

2018-04-17  Basil L. Contovounesios  <contovob@tcd.ie>

	Set :version of shr faces

	* lisp/net/shr.el (shr-strike-through, shr-link, shr-selected-link):
	Set :version tag (bug#31200).

2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>

	shr doc string fix

	* lisp/net/shr.el (shr-strike-through, shr-link)
	(shr-selected-link): Doc string fix.

2018-04-17  Basil L. Contovounesios  <contovob@tcd.ie>

	Modernize face specs and set version tags in eww/shr

	* lisp/net/shr.el (shr-strike-through, shr-link, shr-selected-link):
	Set :version tag (bug#31200).

	* lisp/net/eww.el (eww-form-text, eww-form-textarea):
	* lisp/net/shr.el (shr-strike-through, shr-link, shr-selected-link):
	Use (DISPLAY . PLIST) face spec syntax as recommended in
	'(elisp) Defining Faces'.

2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>

	When undoing a mark-as-read, display the group if it isn't

	* lisp/gnus/gnus-group.el (gnus-group-jump-to-group): Return
	whether we found the group.
	(gnus-info-clear-data): Make the group visible if it wasn't.

	* lisp/gnus/gnus-sum.el (gnus-group-make-articles-read): Ditto.
	(gnus-update-read-articles): Ditto.

2018-04-17  Juri Linkov  <juri@linkov.net>

	Use next-error-found to set next-error-last-buffer.

	https://lists.gnu.org/r/emacs-devel/2018-04/msg00207.html

	* lisp/simple.el (next-error-buffer): New buffer-local variable
	instead of making buffer-local next-error-last-buffer.  (Bug#20489)
	(next-error-found-function): New defcustom.
	(next-error-buffer-on-selected-frame): Use t for avoid-current arg
	of next-error-buffer-p.
	(next-error-find-buffer): Add second rule for using the current
	next-error-buffer if it's not visited by other navigation.
	(next-error, next-error-internal): Call next-error-found.
	(next-error-found): New function with body extracted mostly from
	next-error.

	* lisp/vc/add-log.el (change-log-goto-source-internal): New function
	with body from change-log-goto-source.
	(change-log-goto-source): Call change-log-goto-source-internal and
	next-error-found.
	(change-log-next-error): Call change-log-goto-source-internal
	instead of change-log-goto-source.
	(change-log-mode): Don't set next-error-last-buffer.  (Bug#28864)

	* lisp/vc/diff-mode.el (diff-goto-source): Call next-error-found.

	* lisp/progmodes/xref.el (xref-goto-xref): Call next-error-found.

	* lisp/replace.el (occur-mode-goto-occurrence)
	(occur-mode-goto-occurrence-other-window)
	(occur-mode-display-occurrence): Call next-error-found.
	(occur-next-error): Remove unnecessary with-current-buffer.
	(Bug#27362, bug#30646)

2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak shr window width computation

	* lisp/net/shr.el (shr-insert-document): The computation of the
	window width is apparently one pixel too wide for the shr line
	folding algorithm (bug#31196).

2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>

	(gnus-summary-select-article-buffer): Further point placing tweak

	* lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
	Further tweak for the previous point-placing tweak.

2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak point placement in gnus-summary-select-article-buffer

	* lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
	Ensure that point is where it's supposed to be after switching to
	the article buffer.

2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the `c' command work in a single-article Gnus view

	* lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Make `c'
	work from the article buffer (bug#31195) when no summary buffer is
	shown.

2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Place point consistently in the Gnus group buffer on exit

	* lisp/gnus/gnus-sum.el (gnus-summary-exit): Place point correctly
	when exiting with `q' (and the like) from the article buffer when
	only the article buffer is displayed (bug#31195).  This is
	apparently yet another fall-out from the "preserve-visible-point-
	in-windows" patches of yesteryear...

2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Reimplement `shr-next-link' and `shr-previous-link'

	* lisp/net/shr.el (shr-next-link): Use
	`text-property-search-forward'.
	(shr-previous-link): Use `text-property-search-backward'.

2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Add `text-property-search-forward' and `-backward'

	* doc/lispref/text.texi (Property Search): Document
	`text-property-search-forward' and `text-property-search-backward'.

	* lisp/emacs-lisp/text-property-search.el: New file.

2018-04-17  Tino Calancha  <tino.calancha@gmail.com>

	* lisp/textmodes/artist.el (artist-mode): Ensure we have a font

2018-04-16  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/mail/sendmail.el (mail-sendmail-undelimit-header): Work for
	the case where the mail header separator has already been deleted.

2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>

	(gnus-group-goto-group): Return correct value after previous patch

	* lisp/gnus/gnus-group.el (gnus-group-goto-group): Return the
	correct value after the previous patch.

2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix inconsistent point movement in the Gnus group buffer

	* lisp/gnus/gnus-group.el (gnus-group-goto-group): If we can't
	find the group we're looking for, then don't move point at all
	(bug#23021).

2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>

	(artist-mode): Warn about proportional fonts

	* lisp/textmodes/artist.el (artist-mode): Warn about proportional
	fonts (bug#24175).

2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Make mail-sendmail-undelimit-header actually remove the delimiter

	* lisp/mail/sendmail.el (mail-sendmail-undelimit-header): Actually
	remove the mail header separator (bug#17488).  In all the cases
	where this is called, the separator will probably already have
	been removed, so the only thing this does is place point at the
	end of the headers.

2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>

	(semantic-symref-results-mode-map): Fix typo in previous check-in

	* lisp/cedet/semantic/symref/list.el
	(semantic-symref-results-mode-map): Fix typo in previous check-in.

2018-04-15  Philipp Stephani  <phst@google.com>

	Avoid undefined behavior in 'defvar' (Bug#31072)

	* src/eval.c (Fdefvar): Check that first argument is a symbol.
	* test/src/eval-tests.el (defvar/bug31072): New unit test.

2018-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	EUDC: Enable lexical binding and do some cleanups

	* lisp/net/eudc.el: Enable lexical binding.
	(cl-lib): Always require cl-lib, not only when byte compiling.
	(eudc-mode-map): Set parent keymap within let form.
	(eudc-update-local-variables): Use #' read syntax for function
	argument to map function.
	(eudc-select): Likewise.
	(eudc-format-attribute-name-for-display): Likewise
	(eudc-filter-duplicate-attributes): Likewise.
	(eudc-format-query): Likewise.
	(eudc-expand-inline): Likewise.
	(eudc-query-form): Likewise.
	(eudc-print-attribute-value): Use mapc instead of mapcar.
	(eudc-filter-partial-records): Use cl-every.
	(eudc-distribute-field-on-records): Use delete-dups to
	simplify function.
	(eudc-expand-inline): Replace while with dolist and let form.
	(eudc-query-form): Set inhibit-read-only after switching
	buffers.  Remove useless and call.
	(eudc-load-eudc): Add a FIXME comment.

2018-04-15  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>

	In HTML mode, don't match </ with the wrong /

	* lisp/textmodes/sgml-mode.el (sgml-slash): In HTML mode, don't
	match <br /><h1>...</ with the preceding / (bug#16508).

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Use quit-buffer instead of semantic-symref-hide-buffer

	* lisp/cedet/semantic/symref/list.el
	(semantic-symref-hide-buffer): Removed (bug#15857).
	(semantic-symref-results-mode-map): Use quit-buffer instead.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string update for gnus-extract-address-components

	* lisp/gnus/gnus-util.el (gnus-extract-address-components): Doc
	update.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add an undo command to url-cookie-mode

	* lisp/url/url-cookie.el (url-cookie-undo): New command and
	keystroke (bug#16650).

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the look of the cookie buffer after cookie deletion

	* lisp/url/url-cookie.el (url-cookie--generate-buffer): Factor out
	into its own function.
	(url-cookie-delete): Use it to make the buffer look consistent
	after deleting a cookie.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make eww handle "http://a/../../../g"

	* lisp/net/eww.el (eww): Strip leading elements off URLs on the
	form "http://a/../../../g", because that's what all the other
	browsers do (bug#8622).

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make url-cookie-write-file be more permissive

	* lisp/url/url-cookie.el (url-cookie-write-file): If
	`url-cookie-file' isn't set (due to url.el not being used yet),
	don't error out in this function (bug#23183).

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't warn the user about large files if they are unreadable

	* lisp/files.el (abort-if-file-too-large): There's no point in
	warning the user about a too-large file if we're not able to read
	it (bug#29549).  Hopefully this doesn't introduce a race condition
	between this test and the `file-readable-p' test later.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Only save the mailer choice after sending the mail

	* lisp/mail/sendmail.el (sendmail-query-once): Only save the
	mailer choice after we've sent the mail, so that if that fails,
	the user has an easy way to back out of the choice and make
	another (bug#14487).
	(sendmail-query-user-about-smtp): Return the choice; don't save it.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	(compose-mail): Give a better error message for `mail-user-agent'

	* lisp/simple.el (compose-mail): Give a better error message for
	invalid values for `mail-user-agent' (bug#17979).

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in gnus.texi

	* doc/misc/gnus.texi (Summary Message Commands): Fix typo in last
	change.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Update doc string after previous ietf-drums change

	* lisp/mail/ietf-drums.el (ietf-drums-parse-address): Doc fix
	after previous change.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	mail-extr.el: Mention `mail-header-parse-address' in the doc string

	* lisp/mail/mail-extr.el (mail-extract-address-components):
	Mention `mail-header-parse-address' in the doc string.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow `mail-header-parse-address' to decode encoded words

	* lisp/mail/ietf-drums.el (ietf-drums-parse-address): Take an
	optional parameter to decode the display name.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make mail-extract-address-components return the user name more"

	This reverts commit 8b50ae8b2284b5652c2843a9d0d076f4f657be28.

	According to tests in bug#27656 by OGAWA Hirofumi, this patch
	led to wrong results when binding

	(dolist (addr '("Rasmus <rasmus@gmx.us>" "Rasmus <mbox@gmx.us>"))
	  (dolist (ignore-single '(t nil))
	    (dolist (ignore-same '(t nil))
	      (let ((mail-extr-ignore-single-names ignore-single)
		    (mail-extr-ignore-realname-equals-mailbox-name ignore-same))
		(message "%s" (mail-extract-address-components addr))))))

	in combination.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Query the user whether to increase stack depth in shr

	* lisp/net/shr.el (shr-insert-document): Bind `max-specpdl-size'
	here... (bug#30675).
	(shr-descend): So that we can increase it temporarily here if the
	user wants to.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor copy edit of etc/NEWS

	* src/lread.c (openp): Add a comment before the now-obscure loop.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify menu entry in previous check-in

	* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Menu bar
	entry for it.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new command `gnus-summary-attach-article'

	* doc/misc/gnus.texi (Summary Message Commands): Document it.

	* lisp/gnus/gnus-msg.el (gnus-summary-attach-article): New command
	and keystroke (bug#19788).

	* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Menu bar
	entry for it.

2018-04-15  Daiki Ueno  <ueno@gnu.org>

	Divert to call `gnus-activate-group' with the SCAN argument set

	* lisp/gnus/gnus-group.el (gnus-group-get-new-news-this-group):
	Divert to call `gnus-activate-group' with the SCAN argument set,
	if request-group-scan is not defined for the backend.  Ensure that
	the server is open when calling `gnus-request-group-scan'
	(bug#22649).

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Abort Gnus exit if we have unsaved Message buffers

	* lisp/gnus/gnus-group.el
	(gnus--abort-on-unsaved-message-buffers): New function (bug#28843).
	(gnus-group-exit): Use it to abort exit if we have unsaved Message
	buffers.

2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid an infloop in shr filling when not using fonts

	* lisp/net/shr.el (shr-fill-line): If we have an indentation
	that's wider than the width of what we're trying to fill, just
	give up.  This avoids an infloop when `shr-use-fonts' in nil.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove calls from string-to-multibyte in nnheader/nntp

	* lisp/gnus/nntp.el (nntp-copy-to-buffer): Apparently `insert' now
	behaves more like string-make-multibyte, but it now behaves more
	like string-to-multibyte, so remove that call here.  I'm not quite
	sure I follow that logic, but apparently there are no ill effects.

	* lisp/gnus/nnheader.el (nnheader-insert-buffer-substring): Ditto.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove a string-to-multibyte from nnmh.el

	* lisp/gnus/nnmh.el (nnmh-request-list-1): Remove superfluous
	string-to-multibyte.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove call to string-to-multibyte from nndoc.el

	* lisp/gnus/nndoc.el (nndoc-oe-dbx-type-p): My testing shows that
	no matter whether we're in a unibyte or a multibyte buffer, doing
	the looking-at here without the string-to-multibyte, we'll get a
	match.  We did not get a match with the call in and if we were in
	a unibyte buffer, but we presumably never are.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix calculation in gnus-update-group-mark-positions

	* lisp/gnus/gnus-group.el (gnus-update-group-mark-positions):
	Rewrite a call to string-to-multibyte that didn't even work.
	After the rewrite it gives the correct result and should allow
	people to customize Gnus group process mark positions (but that's
	a pretty obscure feature).

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Removed outdated comment from nnweb.el

	* lisp/gnus/nnweb.el (nnweb-insert-html): Removed ten year old
	comment from Stefan about string-as-multibyte.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Rewrite Gnus calls to compat function mm-multibyte-p

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Rewrite string-as-unibyte/string-as-multibyte logic in nnmail

	* lisp/gnus/nnmail.el (nnmail-insert-xref): Rewrite
	string-as-unibyte/string-as-multibyte logic and confirm that the
	result is the same in both multibyte and unibyte buffers after the
	change.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove call to string-as-unibyte from nnmail

	* lisp/gnus/nnmail.el (nnmail-parse-active): Remove call to
	string-as-unibyte; the alist before and after the change are
	`equal' to each other, so it should presumably have no impact.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove calls to string-as-unibyte from nnir.el

	* lisp/gnus/nnir.el (nnir-get-active): Remove two calls to
	string-as-unibyte from code that seems cargo-culted from Gnus
	functions where it is not needed, so it's presumably not needed
	here, either.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove call to string-as-unibyte in gnus-start.el

	* lisp/gnus/gnus-start.el (gnus-read-newsrc-el-file): Remove
	string-as-unibyte call, which appears not to do anything much in
	modern Emacsen.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove call to string-as-unibyte from gnus-start.el

	* lisp/gnus/gnus-start.el (gnus-update-active-hashtb-from-killed):
	Remove a string-as-unibyte call here, which appears not to be
	necessary: I'm able to complete over non-ASCII names both before
	and after.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Modernize a Gnus function a bit

	* lisp/gnus/gnus-start.el (gnus-update-active-hashtb-from-killed):
	Modernize code a bit.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove two string-as-unibyte in gnus-srvr.el

	* lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): We do not
	seem to need the string-as-unibyte here: We read a multibyte
	string from the *nntpd* buffer and then decode it later, and this
	apparently by some strange magic leads to the correct results in
	my test cases.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix a `string-to-multibyte' in Gnus

	* lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): The
	original article buffer is multibyte, and we're inserting into the
	article buffer, which is also multibyte, so the `string-to-multibyte'
	here should be unnecessary?

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix a string-as-unibyte in Gnus

	* lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Get rid
	of a string-as-unibyte.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Further shr line folding/link continuation tweaks

	* lisp/net/shr.el (shr-fill-line): Tweak the link continuations
	further when folding lines.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Indent after transforming for loop into do/while

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make call-process work if exec-path is nil

	* src/lread.c (openp): If exec-path is nil, no files would be
	found to execute (bug#30564).

	Test cases:

	 (let ((exec-path ()))
	   (call-process "/bin/ls" nil (current-buffer)))

	This would previously fail, but now works.

	 (let ((exec-path '("/bin/")))
	   (call-process "ls" nil (current-buffer)))

	This worked, and still works.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make erc-current-logfile work with explicit parameter

	* lisp/erc/erc-log.el (erc-current-logfile): This function
	apparently refers to buffer-local variables, so switch to the
	buffer given before calculating the file name (bug#16111).

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak shr link text property adjustments when folding

	* lisp/net/shr.el (shr-fill-line): If a link starts at the first
	word on a new folded line, then don't copy the link properties to
	the newline inserted.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/erc/erc-button.el (erc-button-search-url): Doc fix.

	erc build fix for the previous patch

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	erc-truncate-buffer-on-save doc string clarification

	* lisp/erc/erc-log.el (erc-truncate-buffer-on-save): Doc
	clarification (bug#18207) since "truncate" is a word used by
	erc-truncate to mean something else.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Ignore all-whitespace topics in erc

	* lisp/erc/erc.el (erc-cmd-TOPIC): Ignore all-whitespace topics
	(bug#25153).

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename url-button-google-url

	* lisp/erc/erc-button.el (erc-button-search-url): Renamed from
	url-button-google-url (bug#25717).  Suggested by Andrew Robbins.
	(erc-button-alist): Use it.

2018-04-14  John Goerzen  <jgoerzen@complete.org>  (tiny change)

	Subject: Fix problem with erc buffer renames after reconnect

	* lisp/erc/erc.el (erc-generate-new-buffer-name): Solve problem
	with renamed buffers on different servers after reconnect (bug#30639).

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	(libxml-parse-html-region): Make DISCARD-COMMENTS obsolete

	* lisp/subr.el (libxml-parse-xml-region)
	(libxml-parse-html-region): Make DISCARD-COMMENTS obsolete.

	* src/xml.c (Flibxml_parse_html_region)
	(Flibxml_parse_xml_region): Don't mention DISCARD-COMMENTS, since
	it's now no longer part of the advertised signature (bug#27178).

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Revert "Give better errors in signing failures in Gnus""

	This reverts commit 42141da5b0885b199636524c1e57f08ee1723aea.

	This patch was reverted in error.  I misinterpreted an email saying that
	it didn't work, but apparently it worked as it should.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make DISCARD-COMMENTS in `libxml-parse-{html,xml}-region' obsolete

	* doc/lispref/text.texi (Parsing HTML/XML): Mention that
	discard-comments is obsolete.

	* lisp/xml.el (xml-remove-comments): New function (bug#27178).

	* src/xml.c (Flibxml_parse_html_region): Clarify what
	DISCARD-COMMENTS actually does, and say that the parameter is
	obsolete.
	(Flibxml_parse_xml_region): Ditto.

2018-04-14  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	5a6bb01 (origin/emacs-26) Fix building etc/DOC in the MSDOS port
	274c979 * lisp/select.el (gui-get-selection): Doc fix.
	ad731b0 ; * doc/lispref/display.texi (Temporary Displays): Fix typos.
	f1450e9 Complete documentation of syntax flags by adding `c'
	6bdcaec Fix typos and minor wording issues in ELisp manual
	febac27 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
	6c2e21e Avoid segfault in processes of type 'pipe'
	60e10c5 Remove repetitions in documentation strings
	208e752 * lisp/image.el (image-load-path): Doc fix.
	92e0fd8 ; * etc/NEWS: Remove a FIXME.  (Bug#31122)

	Conflicts:
		etc/NEWS

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Change the default From style to `angles' and make obsolete

	* lisp/gnus/message.el (message-from-style): Make `angles' the
	default (bug#29309) and mark as obsolete.

	* lisp/mail/sendmail.el (mail-from-style): Ditto.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Make image-mode respect `imagemagick-types-inhibit'

	* lisp/image-mode.el (image--imagemagick-wanted-p): New function
	(bug#29584).
	(image-toggle-display-image): Use it to see whether we want to use
	imagemagick.

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Give better errors in signing failures in Gnus"

	This reverts commit ef2059e877d104bfe5abd24df05bb09c7295e4fa.

	Apparently this test triggered both when signing was successful
	and unsuccessful (bug#26298).

2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak mailcap precedence so that Emacs values are heeded better

	* lisp/net/mailcap.el (mailcap-parse-mailcaps): Place entries from
	system-wide mailcap files after the values that are distributed
	with Emacs, and the ones from ~/.mailcap before.
	(mailcap-parse-mailcap): Take an optional `after' parameter to
	achieve that.
	(mailcap-add-mailcap-entry): Ditto.

2018-04-14  Tino Calancha  <tino.calancha@gmail.com>

	Subject: Fix circular dependency for mm-decode

	* lisp/gnus/mm-decode.el: Do not require shr.el at the top
	of the file; `mm-shr' already requires shr.el in its body, and
	this function is the only `mm-convert-shr-links' caller (Bug#31151).

2018-04-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Do not destructively modify interprogram paste

	* lisp/simple.el (kill-new, current-kill): Non-destructively reverse list
	returned by interprogram-paste-function. (bug#31097)

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't bind image commands on eww non-image links

	* lisp/net/eww.el (eww-link-keymap): Only inherit the normal shr
	keymap.
	(eww-image-link-keymap): New keymap with the image bindings.
	(eww-tag-a): Use the appropriate one on links (bug#30148).

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Move utility function to mm-util.el

	* lisp/gnus/mm-util.el (mm-images-in-region-p): Move from
	mm-decode.el and renamed, since it is generally useful.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the url file: handler be less clever

	* doc/misc/url.texi (file/ftp): Remove mention of the
	url-directory-index-file variable, which is no longer consulted.

	* lisp/url/url-file.el (url-file-build-filename): Remove the DWIM
	code from the file: handler (bug#30195): It would look for
	index.html in a directory if we asked it to fetch the directory.
	Determining what to do in a directory should be left up to the
	programs that use this low-level library.  If the library decides
	to load a different file than we specified, then things start
	falling apart, as demonstrated by this bug report.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't bind image commands on non-image links in Gnus

	* lisp/gnus/mm-decode.el (mm--images-in-region-p): New utility
	function.
	(mm-convert-shr-links): Only use the shr image map on links that
	contain images.  This avoids binding commands like `r' on links
	that don't need it.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Add colors to faces that lack them."

	This reverts commit 16748a5f6bd57ec0967ecb5e14ffe8af5f43d888.

	From the discussion on the ding mailing list, I said:

	I think the colors should be reverted back to what they were before the
	change.  Normal text should be white on black (if you have a dark
	background), and colors should be used to emphasize or de-emphasize
	certain text.  Following that principle, normal Gnus groups should be
	white, not ... er...  what are they now?  Teal?

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the fonts applied to shr indentation

	* lisp/net/shr.el (shr-fill-line): Don't use fonts (especially
	link fonts) over indentation, because that's ugly..

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Further tweak point placement on gnus-summary-select-article-buffer

	* lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
	Place point in the empty space between headers and body.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak point placement in *Group* on `Q' exit

	* lisp/gnus/gnus-sum.el (gnus-summary-exit-no-update): When
	exiting the summary buffer with `Q', move point to the next unread
	group (which is the same thing that happens on `q' exit.)

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak point placement in gnus-summary-select-article-buffer

	* lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
	Tweak where point is placed because when the user selects the
	article buffer, it's probably to cite something or click on
	something, and not do anything with the headers.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Compute erc line lengths correctly for utf-8 (etc.)

	* lisp/erc/erc-backend.el (erc-split-line): Fold the lines
	according to octet length, not the number of characters (bug#23047).

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up some defvoo doc strings

	* lisp/gnus/nndiary.el: Remove "*" from doc strings from defvoo
	elements (bug#23392).

	* lisp/gnus/nndir.el: Ditto

	* lisp/gnus/nndoc.el: Ditto.

	* lisp/gnus/nnrss.el: Ditto.

	* lisp/gnus/nnspool.el: Ditto.

	* lisp/gnus/nntp.el: Ditto.

2018-04-13  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Further fix to eieio-persistent

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
	  Make handling of hash tables and vectors recursive. This is
	  necessary because the write process, in `eieio-override-prin1' is
	  also recursive. With any luck, this will be the last fix of its
	  kind. If that's true, cherry-pick to Emacs 26.2 later on.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make nnimap parse pathological spam headers better

	* lisp/gnus/nnimap.el (nnimap-transform-headers): Unfold certain
	pathological IMAP headers more correctly (bug#25502).  Perhaps
	this function should be re-implemented.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix syntax error in emacs-mime.texi in last check-in

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Prefer settings from ~/.mailcap over system and Emacs settings

	* doc/misc/emacs-mime.texi (mailcap): Document the variable and
	how mailcap chooses which viewer to use.

	* lisp/net/mailcap.el (mailcap-prefer-mailcap-viewers): New variable.
	(mailcap-mime-info): Use it.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix bug in shr-urlify introduced in previous patch

	* lisp/net/shr.el (shr-urlify): Not all URLs have domains, so
	check for that before doing IDNA.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make shr support inline <div>s

	* lisp/net/shr.el (shr-tag-div): Support display: inline; for
	<div>, since that's a very common thing (bug#25588).

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Notify the user a bit more before clicking IDNA links

	* lisp/net/shr.el (shr-urlify): Show the puny-encoded domain name
	in the mouseover string (bug#25600).

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	(nnimap-sequence): Add comment

	* lisp/gnus/nnimap.el (nnimap-sequence): Add comment.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	(url-http): Ensure that the referrer is all-ASCII

	* lisp/url/url-http.el (url-http): Ensure that the referrer is all-ASCII.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	gnutls.el now needs punycode

	* lisp/net/gnutls.el (puny): Require punycode.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make Unicode domain names work again in URL after recent changes

	* lisp/net/gnutls.el (open-gnutls-stream): IDNA-encode hostnames
	before passing them on to gnutls for verification.

	* lisp/net/network-stream.el (network-stream-open-starttls): Ditto.

	* lisp/url/url-http.el (url-http--get-referer): Be IDNA-aware.
	(url-http-create-request): Don't de-Unicodify host names, because
	they may be IDNA names (that are later encoded).

	* lisp/url/url-util.el (url-domain): Be IDNA-aware when doing
	domain name computations.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Update defcustom version for last patch to url-vars.el

	* lisp/url/url-vars.el (url-lastloc-privacy-level): Update
	defcustom version.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Use a separate history for the eww prompt

	* lisp/net/eww.el (eww-prompt-history): A separate history
	variable for the interactive eww prompt.
	(eww): Use it.

2018-04-13  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#30246

	* lisp/auth-source.el (auth-source-secrets-search): Do not
	suppress creation.
	(auth-source-secrets-create): Implement it.  (Bug#30246)

	* lisp/net/secrets.el (secrets-debug): Set default to nil.

	* test/lisp/auth-source-tests.el (secrets): Require it.
	(auth-source-test-secrets-create-secret): New test.

2018-04-13  Peder O. Klingenberg  <peder@klingenberg.no>

	Change gnutls-verify-error to be first-match

	* doc/misc/url.texi (Customization): Describe the new user
	option url-lastloc-privacy-level.

	* lisp/net/eww.el (eww-render): Set url-current-lastloc to the
	url we are rendering, to get the referer header right on
	subsequent requests.

	* lisp/url/url-http.el (url-http--get-referer): New function
	to determine which referer to send, if any, considering the
	users privacy settings and the target url we are visiting.
	(url-http-referer): New variable keeping track of the referer
	computed by url-http--get-referer
	(url-http-create-request): Use url-http-referer instead of the
	optional argument to set up the referer header.  Leave
	checking of privacy settings to url-http--get-referer.
	(url-http): Set up url-http-referer by using
	url-http--get-referer.

	* lisp/url/url-queue.el (url-queue): New struct member
	context-buffer for keeping track of the context a queued job
	started from.
	(url-queue-retrieve): Store the current buffer in the queue
	object.
	(url-queue-start-retrieve): Make sure url-retrieve is called
	in the context of the original buffer, if available.

	* lisp/url/url-util.el (url-domain): New function to determine
	the domain of a given URL.

	* lisp/url/url-vars.el (url-current-lastloc): New variable to
	keep track of the desired "last location" (referer header).
	(url-lastloc-privacy-level): New custom setting for more
	fine-grained control over how lastloc (referer) is sent to
	servers (Bug#27012).

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make #anchors work again in eww

	* lisp/net/eww.el (eww-render): When we have a #link link, then
	url.el will say that we have a redirect to a non-#link link, so
	get the anchor before url.el mangles the URL (bug#28441).
	(eww-display-html): ... and don't get it here, because it's gone
	by now.

	Test URL: https://www.gnu.org/s/hyperbole/#summary

2018-04-13  Robert Pluim  <rpluim@gmail.com>

	Doc fix after previous gnutls patch

	* lisp/net/gnutls.el (gnutls-verify-error): Mention that the
	matching is first-match (bug#29977).

2018-04-13  Robert Pluim  <rpluim@gmail.com>

	Change gnutls-verify-error to be first-match

	* lisp/net/gnutls.el (gnutls-boot-parameters): Convert to
	first-match for gnutls-verify-error rather than any-match
	(bug#29977).

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the new `shr-selected-link' face

	Clean up the double Gnus section

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	When opening external links in eww, blink the link

	* lisp/net/eww.el (eww-follow-link): Ditto.

	* lisp/net/shr.el (shr-selected-link): New face (bug#25096).
	(shr--blink-link): New function to blink links.
	(shr--current-link-region): New utility function.
	(shr-browse-url): Use it to blink external links.

	Blinking the link allows the user to get immediate feedback that the
	action has been performed.  Opening the external browser may take a
	while, and may not be obvious that is going on.

2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak nnimap sequence numbers to avoid reuse

	* lisp/gnus/nnimap.el (nnimap-sequence): Start the sequence at a
	higher number to avoid reusing the sequence number used by
	`open-network-stream' (bug#30022).

2018-04-13  martin rudalics  <rudalics@gmx.at>

	* lisp/gnus/gnus-art.el (gnus-article-prepare): Fix previous commit,
	in which selecting the article window is not necessary (bug#25526).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove unused local variable

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Treat 302 redirects as if they were 303 redirects

	* lisp/url/url-http.el (url-http-parse-headers): Treat 302 as 303,
	since this is what the standards recommend these days (bug#25703).
	See https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Make eww render <select> elements again

	* lisp/net/eww.el (eww-tag-select): Actually render <select>
	elements (bug#25703).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	<label> shouldn't introduce a line break

	* lisp/net/shr.el (shr-tag-label): Remove so that labels don't
	break lines (because they shouldn't: They're usually part of a
	selection interface) (bug#30557).

2018-04-12  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/gnus/gnus-art.el (gnus-article-prepare): Make sure the article
	begins with the top of the header (bug#25526).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak the eww readability function

	* lisp/net/eww.el (eww-highest-readability): Require that the
	readable bit is at least 100 words (bug#30445).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	(dom-texts): Don't return contents of <script> as text

	From: Lars Ingebrigtsen <larsi@gnus.org>

	* lisp/dom.el (dom-texts): Don't return contents of <script> as
	text, because it isn't and makes reasoning about textual parts
	more difficult.

2018-04-12  Basil L. Contovounesios  <contovob@tcd.ie>

	Support list of default values in completing-read-multiple

	* lisp/emacs-lisp/crm.el (completing-read-multiple):
	Consider head of DEF argument when specified as a list,
	as per completing-read-default. (bug#30072)

2018-04-12  Jonathan Marten  <jjm@keelhaul.me.uk>  (tiny change)

	From: Lars Ingebrigtsen <larsi@gnus.org>

	* lisp/gnus/nnimap.el (nnimap-login): Allow anonymous logins
	(bug#24704).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Default message-forward-as-mime to nil

	* doc/misc/gnus.texi (Summary Mail Commands): Ditto.

	* doc/misc/message.texi (Forwarding): Note the new default.

	* lisp/gnus/message.el (message-forward-as-mime): Default to nil
	since it's been reported that many recipients can't read MIME
	digest forwards (bug#24878).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Load w3m in Gnus if required

	* lisp/gnus/gnus-art.el (gnus-article-show-images): Ensure that
	w3m is loaded if the user requests that we use it.

2018-04-12  Tim Landscheidt  <tim@tim-landscheidt.de>

	Don't autoload function from w3m

	* lisp/gnus/gnus-art.el (w3m-toggle-inline-images): Don't use
	autoload for packages that may not be installed (bug#25604).

2018-04-12  Oleg Pykhalov  <go.wigust@gmail.com>

	From: Lars Ingebrigtseb <larsi@gnus.org>

	* lisp/gnus/gnus-sum.el (gnus-summary-limit-to-score): Allow limit
	to articles that have a score below the stated number, too
	(bug#30356).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	message-forward-as-mime doc clarification

	* lisp/gnus/message.el (message-forward-as-mime): Doc
	clarification (bug#27714).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	message-forward-ignored-headers doc clarification

	* lisp/gnus/message.el (message-forward-ignored-headers): Doc
	clarification (bug#27715).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore point in summary buffer after sorting

	* lisp/gnus/gnus-sum.el (gnus-summary-sort): Keep point on the
	current article when sorting (bug#30615).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	nil is no longer an allowed value for mm-inline-text-html

	* doc/misc/emacs-mime.texi (Display Customization): Remove the doc
	for the nil case of mm-inline-text-html.

	* doc/misc/mh-e.texi (HTML): Ditto.

	* lisp/gnus/mm-view.el (mm-inline-text-html): If no
	mm-text-html-renderer is specified, just insert the raw text
	instead of erroring out (bug#30870).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure that non-QRESYNC nnimap can proceed after a QRESYNC fail

	* lisp/gnus/nnimap.el (nnimap-update-info): If we don't have a
	start-article in the non-QRESYNC case, then the start has to be 1
	(bug#23241).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Make it possible to exit Gnus without saving .newsrc.eld

	* lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Don't error out
	here so that we can proceed with shutting down Gnus without saving
	the .newsrc.eld file when it has been updated externally (bug#23761).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Make nnml save the .overview file when used as an expiry target

	* lisp/gnus/nnmail.el (nnmail-expiry-target-group): Always pass in
	the `last' parameter to the acceptance function so that backends
	like nnml save the .overview file (bug#24499).  This may slow down
	some use cases.

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify Gnus doc string

	* lisp/gnus/gnus-cite.el (gnus-article-fill-cited-article):
	Clarify doc string (bug#24578).

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Elide XEmacs-relevant comment

	* lisp/gnus/gnus-cite.el (gnus-article-fill-cited-article): Remove
	mention of XEmacs, since we no longer support XEmacs.

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Make message-simplify-recipients obsolete

	* lisp/gnus/message.el (message-simplify-recipients)
	(message-recipients-without-full-name): Made obsolete since
	Message now simplifies all addresses by default.

2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove repetitions from recipient addresses in Message

	* lisp/gnus/message.el (message--alter-repeat-address): New function.
	(message-get-reply-headers): Use it to remove repetitions on the
	form "foo@bar.com" <foo@bar.com>.

2018-04-11  Damien Cassou  <damien@cassou.me>

	* etc/NEWS: Fix entry regarding automatic encryption of (Bug#31124) messages

2018-04-11  Shanavas M  <shanavas@disroot.org>

	Add tests for buffer-base-buffer function (Bug#30905)

	* test/src/buffer-tests.el (test-buffer-base-buffer-indirect)
	(test-buffer-base-buffer-non-indirect): New tests for
	`buffer-base-buffer'.

2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>

	make-dist: fix bug with top-level ChangeLog

	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2018-04/msg00307.html
	* make-dist (top_level_ChangeLog): New var.  Use it to link
	top-level ChangeLog only when desired.

2018-04-11  Alain Schneble  <a.s@realize.ch>

	Support port number in Gnus X-Message-SMTP-Method header

	* lisp/gnus/message.el (message-multi-smtp-send-mail): Try to parse
	service as port number.  If it succeeds, use parsed number, else use
	supplied service name as before (bug#24653).  (This only matters
	on some operating systems.)

2018-04-11  Daniel Dehennin  <daniel.dehennin@baby-gnu.org>

	Gnus Group Mail Splitting on mailing-list headers

	* doc/misc/gnus.texi: Document the new `list' split abbreviation and
	`match-list' group parameter (bug#25346).

	* lisp/gnus/gnus-mlspl.el: Use the `list' abbreviation when the new
	`match-list' group parameter is set to `t'.
	The split regexp is modified to match either `@` or `.` as domain
	separator to comply with RFC2919 IDs too.

	* lisp/nnmail.el: Add new `list' split abbreviation matching common
	mailing-list headers.

2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak previous patch to respect quiet next group selection again

	* lisp/gnus/gnus-sum.el (gnus-summary-next-article): Tweak
	previous patch to be quieter if the user has requested `quietly'
	next group selection.

2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Display "No more ... articles" on `n' in Gnus

	* lisp/gnus/gnus-sum.el (gnus-summary-next-article): Display the
	"No more"... messages if gnus-auto-select-next is nil and the user
	has default messaging levels (bug#25582).

2018-04-11  Łukasz Stelmach  <l.stelmach@samsung.com>  (tiny change)

	Rung new-news-hook from `M-g' in the Gnus summary buffer

	* lisp/gnus/gnus-group.el (gnus-group-get-new-news-this-group):
	Run `gnus-after-getting-new-news-hook' when doing `M-g' in the
	summary buffer, too (bug#25892).  This makes `M-g' in both group
	and summary buffers work more similar.

2018-04-11  Noam Postavsky  <npostavs@users.sourceforge.net>

	Give better errors in signing failures in Gnus

	* lisp/gnus/mml1991.el (mml1991-epg-sign): Give better error
	messages when signing fails (bug#26298).

	* lisp/gnus/mml2015.el (mml2015-epg-sign): Ditto.

2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the Gmane backend from nnir

	* lisp/gnus/nnir.el (nnir-engines): Remove Gmane backend, which no
	longer exists.
	(nnir-method-default-engines): Ditto.
	(nnir-run-gmane): Removed function (bug#28234).

2018-04-11  Basil L. Contovounesios  <contovob@tcd.ie>

	Heed switch-function argument in gnus-user-agent

	* lisp/gnus/gnus-msg.el (gnus-msg-mail): Heed switch-action argument
	when falling back to message-user-agent because Gnus is not
	running (bug#28992).

2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Always rescale images in gnus-rescale-image

	* lisp/gnus/gnus-util.el (gnus-rescale-image): Rescale images even
	if we don't have a visible article buffer.  Reported and fix
	suggested by Kevin Brubeck Unhammer.

2018-04-11  Michael Albinus  <michael.albinus@gmx.de>

	Some minor Tramp changes

	* lisp/net/tramp-sh.el (tramp-get-ls-command-with):
	New defun, replacing ...
	(tramp-get-ls-command-with-dired)
	(tramp-get-ls-command-with-quoting-style)
	(tramp-get-ls-command-with-w-option): Removed.
	(tramp-do-file-attributes-with-ls)
	(tramp-do-directory-files-and-attributes-with-stat)
	(tramp-sh-handle-insert-directory): Adapt callees.

	* lisp/net/tramp-smb.el (tramp-smb-errors):
	Add "NT_STATUS_CONNECTION_RESET".

2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't kill off LibreOffice when selecting the next article in Gnus

	* lisp/gnus/mm-decode.el (mm-keep-viewer-alive-types): Add the
	media types that LibreOffice uses to the list, since we don't want
	to kill off LibreOffice willy-nilly.

2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix for mm-keep-viewer-alive-types

	* lisp/gnus/mm-decode.el (mm-keep-viewer-alive-types): Clarify doc
	string.

2018-04-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	c267421 (tag: emacs-26.1-rc1, origin/emacs-26) ; * ChangeLog.3: Update.
	aa77415 * etc/AUTHORS: Regenerate.
	c8ffca5 * lisp/files.el (kept-new-versions): Improve documentation st...
	3a798f6 Fix a minor mistake in the ELisp manual
	6afa868 ; * src/dispextern.h (struct it): Fix a typo in a comment.
	5659b2f * lisp/files.el (find-file-literally): Doc fix.
	9b24a79 Fix typos in doc strings

2018-04-10  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	f674c89 ; * ChangeLog.3: Update.
	80d868e * lisp/emacs-lisp/inline.el: Clarify apparent typos
	9f54f28 ; * lisp/auth-source.el (auth-sources): Update the :version tag.

2018-04-09  Paul Eggert  <eggert@cs.ucla.edu>

	make-dist: check exit statuses more carefully

	* make-dist: Do a better job checking for subprocess failure.

2018-04-08  Tino Calancha  <tino.calancha@gmail.com>

	Preserve case in query-replace undo

	If the user query and replaces 'foo' with 'BAR', then
	undo must comeback to 'foo', not to 'FOO' (Bug#31073).
	* lisp/replace.el (perform-replace): Bind nocasify to non-nil
	value during undo/undo-all actions.
	* test/lisp/replace-tests.el (query-replace-undo-bug31073): Add test.

2018-04-08  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/auth-source.el (auth-source-secrets-search): Fix docstring.

2018-04-08  nitishch  <nitishchandrachinta@gmail.com>  (tiny change)

	Fix python-shell-send-defun at start of buffer (Bug#30822)

	* lisp/progmodes/python.el (python-shell-send-defun): Handle the case
	when we hit the beginning of buffer.

2018-04-07  Philipp Stephani  <phst@google.com>

	Document that 'make-process' mixes the output streams

	* doc/lispref/processes.texi (Asynchronous Processes):
	* src/process.c (Fmake_process): Document that standard error is mixed
	with standard output if STDERR is nil.

	* test/src/process-tests.el (make-process/mix-stderr): New unit test.

2018-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (undo-auto--undoable-change): Avoid leak

2018-04-07  Marco Wahl  <marcowahlsoft@gmail.com>

	Fix goto page from page directory (Bug#28909)

	* lisp/textmodes/page-ext.el (pages-directory-goto): Use the
	interactive spec as in `occur-mode-goto-occurrence'.

2018-04-07  Michal Nazarewicz  <mina86@mina86.com>

	Handle quotation marks and apostrophes in ‘sgml-quote’

	To be able to use text in an HTML argument, quotation marks need
	to be replaced with an appropriate character reference.  Make
	‘sgml-quote’ do that.

	While at it, fix entiteis not being unquoted if they lack closing
	semicolon (e.g. ‘&amp’) occurring at the very end of a region.
	Even though unlikely, make ‘sgml-quote’ handle this scenario.

	* lisp/textmodes/sgml-mode.el (sgml-quote): Handle quotation marks and
	apostrophes.  Match entities lacking semicolon at the end of regions.
	* test/lisp/textmodes/sgml-mode-tests.el (sgml-quote-works): New test
	case for ‘sgml-quote’ function.

2018-04-06  Michael Albinus  <michael.albinus@gmx.de>

	Make dbus.el fitter for Emacs configured --without-dbus

	* lisp/net/dbus.el (dbus-error, dbus-debug): Define if not exist.

	* test/lisp/net/secrets-tests.el: Revert 51c8369fa2 and 79a3ad9592.

2018-04-05  Tino Calancha  <tino.calancha@gmail.com>

	Require secrets.el if Emacs has dbusbind support

	* test/lisp/net/secrets-tests.el: Require secrets.el if
	and only if, Emacs has been compiled with dbusbind support.

2018-04-05  Tino Calancha  <tino.calancha@gmail.com>

	Run secrets suite test when Emacs has dbus support

	* test/lisp/net/secrets-tests.el (secrets-test00-availability)
	(secrets-test01-sessions, secrets-test02-collections)
	(secrets-test03-items, secrets-test04-search): Skip test
	unless Emacs is compiled with dbus support.

2018-04-05  Michael Albinus  <michael.albinus@gmx.de>

	Add tests for secrets.el

	* lisp/net/secrets.el (secrets-lock-collection): New defun.
	(secrets-search-items, secrets-create-item): Fix structure of :dict-entry.

	* test/lisp/net/secrets-tests.el: New package.

2018-04-05  Glenn Morris  <rgm@gnu.org>

	* test/lisp/gnus/message-tests.el (message-all-epg-keys-available-p):
	Add skip condition.

2018-04-04  Tino Calancha  <tino.calancha@gmail.com>

	Honor dired-create-destination-dirs if copying/renaming >1 files

	Check `dired-create-destination-dirs' when the user wants to
	copy/rename several files.
	* lisp/dired-aux.el (dired-do-create-files):
	Call `dired-maybe-create-dirs' right before bind `into-dir' (Bug#30624).
	* test/lisp/dired-aux-tests.el (dired-test-bug30624): Add test.

2018-04-04  Paul Eggert  <eggert@cs.ucla.edu>

	Move password-word-equivalents defn to mule-conf

	* lisp/international/mule-conf.el (password-word-equivalents):
	Move here ...
	* lisp/simple.el (password-word-equivalents): ... from here.
	This variable belongs in an i18n file somewhere, not in simple.el,
	since it’s i18n-related.  Also, having it in simple.el tickles
	Emacs performance bugs on some platforms when developers visit
	simple.el.  Problem reported by Drew Adams in, for example:
	https://lists.gnu.org/r/emacs-devel/2018-04/msg00124.html

2018-04-04  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-pre-command-hook): Default to shift-translated

	move commands that can be enabled by the `isearch-move' property `enabled',
	and disabled by `disabled'.
	(search-exit-option): Doc fix.
	(isearch-post-command-hook): Check for isearch-forward.
	https://lists.gnu.org/r/emacs-devel/2018-03/msg00438.html

2018-04-04  Juri Linkov  <juri@linkov.net>

	* lisp/shell.el (shell-mode): Check if buffer has a live process.

	(Bug#31028)

2018-04-04  Damien Cassou  <damien@cassou.me>

	Detect if a message can be encrypted and add an MML tag

	* lisp/gnus/message.el (message-all-recipients): Return a list of
	pairs, one for each recipient in To, Cc, Bcc.
	(message-all-epg-keys-available-p): Check that there is a public key
	in epg for each recipient of the current message.
	(message-sign-encrypt-if-all-keys-available): Add MML tag to sign and
	encrypt current message if there is a public key for every recipient
	in current message.

	* test/lisp/gnus/message-tests.el (message-all-recipients): Test for
	message-all-recipients.

2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>

	* lisp/auth-source.el (auth-sources): Allow sexp customization type

2018-04-04  Paul Eggert  <eggert@cs.ucla.edu>

	Improve GC+Cairo workaround

	Suggested by Eli Zaretskii (Bug#20890#31).
	* src/font.h (font_data_structures_may_be_ill_formed): New function.
	* src/ftfont.c (ftfont_close):
	* src/ftcrfont.c (ftcrfont_close): Use it.

2018-04-04  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	3109d2b (origin/emacs-26) ; * lisp/ldefs-boot.el: Update.
	86825c4 * etc/NEWS: Remove temporary markup.
	737d0a2 * Update etc/AUTHORS
	fbd03ba * ChangeLog.3: Update
	56794ac Fix Bug#31022
	a231c33 Update "Calendrical Calculations" cites
	1527235 ; * doc/lispref/compile.texi (Compilation Functions): Fix wor...
	b07decd ; * doc/lispref/compile.texi (Compilation Functions): Fix typo
	a64c11a Fix term.el rendering following a window resize (Bug#30544)
	1e6f09a * files.el (auto-save-visited-mode): Don't prompt for filenames.
	eb8b13f ; * etc/NEWS: Improve the entry about pinentry.el removal.
	52501ec Quote a few backticks in docstrings.

	Conflicts:
		etc/NEWS
		lisp/ldefs-boot.el

2018-04-03  Martin Rudalics  <rudalics@gmx.at>

	* etc/NEWS: Mention that output of 'help-for-help' is searchable now

2018-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/emerge.el: Use lexical-binding

	Replace all `(lambda ...) with closures.  Use inhibit-read-only.
	(emerge-mode): Use define-minor-mode.
	(emerge-setup, emerge-setup-with-ancestor):
	Don't use 'run-hooks' on local var.
	(emerge-files, emerge-files-with-ancestor):
	Don't use 'add-hook' on local var.
	(emerge-convert-diffs-to-markers): Remove unused var 'B-point-min'.
	Simplify 'offset'.
	(emerge--current-beg, emerge--current-end): New macros.
	(emerge-select-version): Pass 'diff-vector' to the function it calls.
	Change all callers to use it instead of dyn-bound vars.

2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC when --enable-profiling

	* src/conf_post.h (PROFILING): Undef if not on a platform that
	supports it.  Simplify uses accordingly.
	* src/emacs.c (etext) [PROFILING]:
	Declare at top level to avoid GCC warning.

2018-04-03  Alan Mackenzie  <acm@muc.de>

	Put combine-change-calls around comment-region and uncomment-region

	* lisp/newcomment.el (comment-combine-change-calls): New buffer local
	variable.
	(uncomment-region-default-1, comment-region-default-1): Functions renamed from
	uncomment-region-default and comment-region-default.
	(uncomment-region-default, comment-region-default): New functions, which call
	the above either enclosed in combine-change-calls or not.

2018-04-03  Alan Mackenzie  <acm@muc.de>

	Introduce new macro combine-change-calls

	This macro is a bit like combine-after-change-calls, but also works with a
	non-null before-change-functions.  It suppresses the operation of the change
	hooks on a possibly large sequence of buffer modifications, replacing them
	with a single invocation of before-change-functions at the start, and a single
	invocation of after-change-functions at the end.

	* lisp/subr.el (undo--combining-change-calls): New variable.
	(combine-change-calls-1, undo--wrap-and-run-primitive-undo): New functions.
	(combine-change-calls): New macro.

	* doc/lispref/text.texi (Change Hooks): Document combine-change-calls.

	* etc/NEWS: Add an entry under "Lisp Changes" for combine-change-calls.

2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>

	Work around GC+Cairo bug

	Workaround suggested by Robert Pluim (Bug#20890#13).
	* src/ftfont.c (ftfont_close) [USE_CAIRO]:
	Do nothing if GC is in progress.

2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>

	Port FC_COLOR change to older fontconfig

	Problem reported by John ff in:
	https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html
	* src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]:
	Don’t use FC_COLOR on older fontconfigs that don’t have it.

2018-04-03  Robert Pluim  <rpluim@gmail.com>

	Ignore color fonts when using Xft

	* src/font.c (syms_of_font): New configuration variable
	xft-ignore-color-fonts, default t.
	* src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore
	color fonts if xft-ignore-color-fonts is t.  (Bug#30874, Bug#30045)
	* etc/NEWS: Document xft-ignore-color-fonts.

2018-04-03  Eli Zaretskii  <eliz@gnu.org>

	Document custom-variable-history

	* etc/NEWS:
	* doc/lispref/minibuf.texi (Minibuffer History): Document
	'custom-variable-history'.

2018-04-02  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-defs.el:
	* lisp/progmodes/cc-engine.el:
	* lisp/progmodes/cc-langs.el:
	* lisp/progmodes/cc-vars.el: Comment the use of "a\\`"

2018-04-02  Paul Eggert  <eggert@cs.ucla.edu>

	Clarify eq on floats

	* doc/lispref/objects.texi (Equality Predicates):
	Say that two floats with the same values might or might not be eq.

2018-04-02  Gemini Lasswell  <gazally@runbox.com>

	Fix Testcover bug in handling of vectors containing dotted lists

	* lisp/emacs-lisp/testcover.el (testcover-analyze-coverage-compose):
	Handle dotted lists. Fix bug#30909.
	* test/lisp/emacs-lisp/testcover-resources/testcases.el:
	(dotted-list-in-vector-bug-30909): New test case.
	(quotes-within-backquotes-bug-25316, dotted-backquote)
	(quoted-backquote, backquoted-vector-bug-25316)
	(vector-in-macro-spec-bug, backquoted-dotted-alist): Change
	docstrings to mention analyzing code instead of reinstrumenting
	it.

2018-04-02  Charles A. Roelli  <charles@aurox.ch>

	Add a history variable for `read-variable'

	* src/minibuf.c (Fread_variable): Use the history variable when
	calling Fcompleting_read.
	(syms_of_minibuf): New history variable, custom-variable-history.

2018-04-02  Alan Mackenzie  <acm@muc.de>

	Optimize c-syntactic-skip-backward, c-determine-limit for large comment blocks

	* lisp/progmodes/cc-engine.el (c-ssb-lit-begin): Remove.
	(c-syntactic-skip-backward): Remove the surrounding c-self-bind-state-cache.
	Use the standard function c-literal-start in place of the special purpose
	c-ssb-lit-begin.  With a suitable skip-chars argument (the usual case),
	optimize by invoking c-backward-syntactic-ws to move back over comment blocks.
	(c-determine-limit-get-base): Inovke an early c-backward-syntactic-ws.
	(c-determine-limit): Use c-forward-comment whilst moving forward.  Cope with
	an empty position stack whilst looking for non-literals (bug fix).  In the
	recursive call, double try-size to prevent Lisp stack overflow.

2018-04-02  Simona Arizanova  <simonikane@hotmail.fr>  (tiny change)

	Make help-for-help window searchable (Bug#19655)

	* lisp/help.el (help-map): Map C-s to new function
	search-forward-help-for-help.
	(help-for-help-internal): In doc-string add entry for C-s.
	(search-forward-help-for-help): New function.

2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/debug.el (debug): Don't hang upon error in initial-frame.

2018-04-01  Paul Eggert  <eggert@cs.ucla.edu>

	Further improve advice in make-tarball.txt

	See comments by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2018-03/msg00968.html
	* admin/make-tarball.txt: Bring back refcard advice.

2018-04-01  Paul Eggert  <eggert@cs.ucla.edu>

	Port make-dist to tar 1.27 and earlier

	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2018-03/msg00984.html
	* make-dist: Use --sort=name only if Tar supports it.

2018-04-01  Glenn Morris  <rgm@gnu.org>

	* lisp/nxml/nxml-mode.el (nxml-sexp-element-flag): Set :version.

2018-04-01  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	af1624f * lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)
	3a451bd ; * doc/emacs/msdos.texi: Fix wording of last change.
	3bc1e2f Mention `key-description' as inverse of `kbd' (Bug#30942)
	e50196e Document return value of pcase (Bug#30425)
	8a2466f * doc/emacs/macos.texi: Tweak grammar and capitalization.
	9db62bf Distinguish free from non-free OSes
	ff49d86 * doc/emacs/misc.texi (Amusements): Avoid non-printing charac...
	5bab671 Fix xrefs in pdf Emacs manual

2018-04-01  Eli Zaretskii  <eliz@gnu.org>

	Followup to last change

	* etc/NEWS: Mark nxml-sexp-element-flag entry as not needing
	documentation updates.

	* lisp/nxml/nxml-mode.el (nxml-mode, nxml-forward-balanced-item):
	Doc fixes.

2018-04-01  Jostein Kjønigsen  <jostein@kjonigsen.net>

	Change the default value of nxml-sexp-element-flag.

	* lisp/nxml/nxml-mode.el (nxml-sexp-element-flag): Default value
	is now t.

2018-04-01  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits of completion-at-point-functions documentation

	* lisp/minibuffer.el (completion-at-point-functions):
	* doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
	and filling.

2018-03-31  Eli Zaretskii  <eliz@gnu.org>

	Support more separators in rmail-retry-failure

	* lisp/mail/rmail.el (mail-unsent-separator): Add a form of
	separator that confused rmail-retry-failure due to additional
	lines that start with a series of dashes.  (Bug#30965)

2018-03-30  Paul Eggert  <eggert@cs.ucla.edu>

	Improve doc for web pages; reproducible tarballs

	* admin/make-tarball.txt: Make the tarballs more reproducible.
	Fix instructions for web pages as best I can (they are still
	incomplete).
	* make-dist (default_gzip): Add --no-name for gzip.
	(taropt): Add options to make the build more reproducible.

2018-03-30  Paul Eggert  <eggert@cs.ucla.edu>

	Do not assume --with-file-notification

	* src/fileio.c (report_file_notify_error) [!USE_FILE_NOTIFY]: Omit.

2018-03-30  Paul Eggert  <eggert@cs.ucla.edu>

	Centralize Bug#30931 fix

	* src/marker.c (detach_marker): New function.
	* src/editfns.c (save_restriction_restore):
	* src/insdel.c (signal_before_change): Use it.

2018-03-30  Noam Postavsky  <npostavs@gmail.com>

	Fix another case of freed markers in the undo-list (Bug#30931)

	* src/alloc.c (free_marker): Remove.
	* src/editfns.c (save_restriction_restore):
	* src/insdel.c (signal_before_change): Detach the markers from the
	buffer when we're done with them instead of calling free_marker on
	them.
	* test/src/editfns-tests.el (delete-region-undo-markers-1)
	(delete-region-undo-markers-2): New tests.

2018-03-30  Eli Zaretskii  <eliz@gnu.org>

	Add Capital sharp s to 2 more Latin input methods

	* lisp/leim/quail/latin-pre.el ("latin-prefix"):
	* lisp/leim/quail/latin-post.el ("latin-postfix"): Support Capital
	sharp s.  (Bug#30988)

2018-03-30  Eli Zaretskii  <eliz@gnu.org>

	Fix C-p and C-n when wrap-prefix is too wide

	* src/xdisp.c (move_it_in_display_line_to): Avoid looping in
	previous/next-line when wrap-prefix is set to a too-wide
	stretch of whitespace.  (Bug#30432)

2018-03-30  Alan Third  <alan@idiocy.org>

	Simplify represented filename handling (bug#30800)

	* src/nsfns.m (ns_set_represented_filename): Move function from
	nsterm.m and set represented filename directly.
	* src/nsterm.h (ns_set_represented_filename): Remove definition.
	* src/nsterm.m (ns_set_represented_filename): Move function to
	nsfns.m.
	(x_free_frame_resources): Remove references to represented_frame.
	(sendEvent): Don't set represented filename.

2018-03-30  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp test performance

	* lisp/net/tramp.el (tramp-backtrace): Improve performance.

	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
	Skip for older Emacsen.
	(tramp-test39-utf8): Remove instrumentation.

2018-03-29  Paul Eggert  <eggert@cs.ucla.edu>

	Fix CHECK_ALLOCATED_AND_LIVE abort during GC

	* src/editfns.c (save_restriction_restore):
	Wait for the GC to free the temporary markers (Bug#30931).

2018-03-29  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer \... to control chars in .el literals

2018-03-29  Noam Postavsky  <npostavs@gmail.com>

	* src/xterm.c (x_make_frame_visible): Fix typo in previous change.

2018-03-29  Noam Postavsky  <npostavs@gmail.com>

	Don't wait for visible frames to become visible

	For discussion, see thread starting at
	https://lists.gnu.org/r/emacs-devel/2018-03/msg00807.html.
	* src/xterm.c (x_make_frame_visible): Check FRAME_VISIBLE_P before
	calling x_wait_for_event.

2018-03-29  Paul Eggert  <eggert@cs.ucla.edu>

	New experimental variable read-integer-overflow-as-float.

	Following a suggestion by Eli Zaretskii (Bug#30408#46).
	* etc/NEWS: Mention it.
	* src/lread.c (syms_of_lread): Add it.
	(read1): Treat out-of-range integers as floats if
	read-integer-overflow-as-float is non-nil.

2018-03-29  Paul Eggert  <eggert@cs.ucla.edu>

	Lisp reader now checks for integer overflow

	* doc/lispref/numbers.texi (Integer Basics), etc/NEWS:
	Document this.
	* src/lisp.h (S2N_IGNORE_TRAILING, S2N_OVERFLOW_TO_FLOAT):
	New constants.
	* src/lread.c (string_to_number): Change trailing bool arg to
	integer argument with flags, to support S2N_OVERFLOW_TO_FLOAT.
	All uses changed.
	* test/src/editfns-tests.el (read-large-integer): New test.

2018-03-29  Eli Zaretskii  <eliz@gnu.org>

	Support Capital sharp S in German input methods

	* lisp/leim/quail/latin-post.el ("german-postfix"):
	* lisp/leim/quail/latin-pre.el ("german-prefix"): Add Capital
	sharp S.  (Bug#30988)

	* etc/NEWS: Mention the support of Capital sharp S.

2018-03-29  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#30946

	* doc/misc/tramp.texi (Multi-hops): Mention host name checks.

	* lisp/net/tramp.el (tramp-set-syntax, tramp-dissect-file-name)
	(tramp-debug-message, tramp-handle-shell-command):
	* lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler)
	(tramp-archive-dissect-file-name):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler): Adapt callees.

	* lisp/net/tramp-compat.el (tramp-compat-user-error): Move defsubst ---

	* lisp/net/tramp-sh.el (tramp-compute-multi-hops): Check for proper
	host names in multi-hop.  (Bug#30946)

	* lisp/net/tramp.el (tramp-user-error): ... here.  Make it a defun.

	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
	New test.

2018-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/keyboard.c (record_char, read_key_sequence): Copy raw events

2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>

	Test notify handlers only if file notification

	* test/lisp/files-tests.el:
	(files-file-name-non-special-notify-handlers):
	Skip if file notification is not available.

2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent org-clock fix to POSIX time_t

	* lisp/org/org-clock.el (org-clock-special-range):
	Don't assume support for time_t values less than 0, or less than
	-2**31 for that matter (Bug#27736).

2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-03-28 time_rz: fix workaround for Mac OS X 10.6 infloop
	* m4/time_rz.m4: Copy from Gnulib.

2018-03-28  Alan Mackenzie  <acm@muc.de>

	Handle C++17's constexpr keyword in if statements

	* lisp/progmodes/cc-engine.el (c-after-conditional): Test for matches to
	c-block-stmt-hangon-key.

	* lisp/progmodes/cc-langs.el (c-block-stmt-hangon-kwds): New lang const.
	(c-block-stmt-hangon-key): New lang const/var matching any element of the
	above.

2018-03-28  Alan Mackenzie  <acm@muc.de>

	Replace faulty non-matching regexp "\\<\\>" with "a\\`"

	The regexp "\\<\\>", which is supposed never to match, actually matches, for
	instance, where a Chinese character is directly followed by an ASCII letter.
	So, replace it with "a\\`".

	* lisp/progmodes/cc-defs.el (cc-fix, c-make-keywords-re)
	* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1)
	(c-forward-<>-arglist-recur, c-forward-decl-or-cast-1)
	(c-looking-at-decl-block)
	* lisp/progmodes/cc-langs.el (c-assignment-op-regexp)
	(c-block-comment-ender-regexp, c-block-comment-start-regexp)
	(c-line-comment-start-regexp, c-doc-comment-start-regexp)
	(c-decl-start-colon-kwd-re, c-type-decl-prefix-key)
	(c-type-decl-operator-prefix-key, c-pre-id-bracelist-key)
	(c-enum-clause-introduction-re, c-nonlabel-token-2-key)
	* lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
	(c-make-noise-macro-regexps):
	Replace "\\<\\>" by "a\\`".

2018-03-28  Michael Albinus  <michael.albinus@gmx.de>

	Remove unstable tags in Tramp

	* test/lisp/net/tramp-tests.el (tramp-test39-utf8)
	(tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
	(tramp-test39-utf8-with-ls): Remove :unstable tag.

2018-03-28  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	9bff405 (origin/emacs-26) * doc/misc/org.texi (Installation): Fix clo...
	613c9a5 Update Org to v9.1.9
	1b075a9 ; Fix some tiny doc typos
	441fe20 De-obsolete `if-let' and `when-let'
	8696038 * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
	930f7b1 * doc/lispref/functions.texi (Defining Functions): Improve in...
	95ccf50 Fix crash after frame is freed on macOS (bug#30800)
	45d0475 More manual editing
	2acb9f0 Minor manual changes changes
	d481cba * lisp/calculator.el (calculator-paste-decimals): Add version.
	7d6c7d0 ; Use GNU not Gnu in docs
	1bc4def More proofreading of the Emacs manual

	Conflicts:
		doc/misc/org.texi
		etc/NEWS
		lisp/org/org-clock.el

2018-03-28  Michael Albinus  <michael.albinus@gmx.de>

	Improve tramp--test-utf8

	* test/lisp/net/tramp-tests.el (tramp--test-check-files):
	Encode string when testing environment variables.
	(tramp--test-utf8): Remove "TaiViet" test.

2018-03-28  Phillip Lord  <phillip.lord@russet.org.uk>

	Reduce parallelism to Windows build

	* admin/nt/dist-build/build-zips.sh: Reduce make parallelism to 2.

2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid using unportable integer in org-clock

	* lisp/org/org-clock.el (org-clock--oldest-date): Avoid use of an
	integer outside portable Emacs range.  Go back to using a simple
	check, since decode-time should no longer infloop.

2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This incorporates:
	2018-03-26 time_rz: work around Mac OS X 10.6 infloop
	2018-03-20 euidaccess: Port to native Windows.
	* lib/euidaccess.c, lib/time_rz.c, m4/time_rz.m4: Copy from Gnulib.

2018-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	(benchmark-run-compiled): Make it work like 'benchmark-run' again

	* lisp/emacs-lisp/benchmark.el (benchmark-run): Add special case for
	nil repetitions.

2018-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	(completion-at-point-functions): Improve doc

2018-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	(read_key_sewuence): Use POSN in second event when needed (bug#30955)

	* src/keyboard.c (active_maps): Add arg 'second_event'.
	(read_key_sequence): Pass it.

	* lisp/mouse.el (mouse--click-1-maybe-follows-link): Modify event in place.

2018-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mouse.el: Remove redundant ':group's.

2018-03-26  Glenn Morris  <rgm@gnu.org>

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-test-featurep-warnings): New.

2018-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/benchmark.el (benchmark-run): Allow variable.

	(benchmark-run): Allow `repetitions` to be a variable rather than a constant.

2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix constant folding of overflows

	This suppresses some byte-code optimizations that were invalid in
	the presence of integer overflows, because they meant that .elc
	files assumed the runtime behavior of the compiling platform, as
	opposed to the runtime platform.  Problem reported by Pip Cet in:
	https://lists.gnu.org/r/emacs-devel/2018-03/msg00753.html
	* lisp/emacs-lisp/byte-opt.el (byte-opt--portable-max)
	(byte-opt--portable-min): New constants.
	(byte-opt--portable-numberp, byte-opt--arith-reduce)
	(byte-optimize-1+, byte-optimize-1-): New functions.
	(byte-optimize-plus, byte-optimize-minus, byte-optimize-multiply)
	(byte-optimize-divide):	Avoid invalid optimizations.
	(1+, 1-): Use new optimizers.
	(byte-optimize-or, byte-optimize-cond): Simplify by using
	remq instead of delq and copy-sequence.

2018-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	Trivial fixes for last changes to package.el and marker.c

	* lisp/emacs-lisp/package.el (package-quickstart): Add missing version.
	* src/marker.c (verify_bytepos): Fix typo.

2018-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el: New quickstart feature

	(package--quickstart-pkgs): New var.
	(package-activate-1): Obey and fill it.
	(package-activate-all): New function.
	(package-initialize): Call it.
	Set package-initialized before activating the packages.
	(package-installed-p): Make it work before package.el is initialized in
	the case where min-version is not specified.
	(package-install, package-delete): Refresh the quickstart if applicable.
	(package-quickstart, package-quickstart-file): New vars.
	(package--quickstart-maybe-refresh, package-quickstart-refresh):
	New functions.

	* lisp/startup.el (command-line): Use package-activate-all rather than
	package-initialize.

	* doc/lispref/package.texi (Packaging Basics):
	* doc/emacs/package.texi (Package Installation):
	* doc/lispref/os.texi (Startup Summary): Refer to package-activate-all.

2018-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/marker.c: Try and speed up byte<->char conversion with many markers.

	When considering markers (to find a starting point for the conversion),
	typically one of the two bounds is nearby (coming from
	cached_(byte|char)pos) but the other is far (point-min or point-max),
	so change the exit condition so we stop as soon as *one* of the bounds
	is near.

	(BYTECHAR_DISTANCE_INITIAL, BYTECHAR_DISTANCE_INCREMENT): New constants.
	(buf_charpos_to_bytepos, buf_bytepos_to_charpos): Use them to try and
	reduce the number of markers we consider.

2018-03-26  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem with trailing slash in Tramp

	* lisp/net/tramp.el (tramp-handle-file-truename):
	* lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
	Fix problem with trailing slash.

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
	Test also quoted directories.

2018-03-26  Phillip Lord  <phillip.lord@russet.org.uk>

	Remove architecture dependent source downloads

	* admin/nt/dist-build/build-dep-zips.py:

2018-03-25  Eric Skoglund  <eric@pagefault.se>

	Make eshell/kill handle -<signal> and -<SIGNALNAME> (Bug#29156)

	* lisp/eshell/esh-proc.el (eshell/kill): Handle the argument parsing
	and numeric conversion in function in order to parse -signal and
	-SIGNALNAME correctly.
	* doc/misc/eshell.texi (kill): Update docs to reflect new function
	behavior.
	* etc/NEWS: Mention new eshell/kill behavior.

2018-03-25  Noam Postavsky  <npostavs@gmail.com>

	Allow `&rest' or `&optional' without following variable (Bug#29165)

	This is sometimes convenient when writing macros, so that the empty
	variable case doesn't need to be handled specially.  Older versions of
	Emacs accepted this in some cases (especially the interpreter in Emacs
	25 and below was very accepting).

	                            |   interpreted/compiled   |
	| arglist                   | 25 & earlier | 26  | 27  |
	|---------------------------+--------------+-----+-----|
	| (&rest)                   | y/n          | n/n | y/y |
	| (&rest &rest)             | y/n          | n/n | n/n |
	| (&rest &rest x)           | y/n          | n/n | n/n |
	| (&rest x &rest)           | y/n          | n/n | n/n |
	| (&rest x &rest y)         | y/n          | n/n | n/n |
	|---------------------------+--------------+-----+-----|
	| (&optional)               | y/n          | n/n | y/y |
	| (&optional &optional)     | y/n          | n/n | n/n |
	| (&optional x &optional)   | y/n          | n/n | n/n |
	| (&optional x &optional y) | y/y          | n/n | n/n |
	|---------------------------+--------------+-----+-----|
	| (&optional &rest)         | y/n          | n/n | y/y |
	| (&optional x &rest)       | y/n          | n/n | y/y |
	| (&optional &rest y)       | y/y          | n/n | y/y |
	|---------------------------+--------------+-----+-----|
	| (&rest &optional)         | y/n          | n/n | n/n |
	| (&rest &optional y)       | y/n          | n/n | n/n |
	| (&rest x &optional y)     | y/n          | n/n | n/n |

	The values in the table above can be produced with the following code:

	(with-current-buffer (get-buffer-create "*ck-args*")
	  (erase-buffer)
	  (dolist (arglist '((&rest)
	                     (&rest &rest)
	                     (&rest &rest x)
	                     (&rest x &rest)
	                     (&rest x &rest y)
	                     (&optional)
	                     (&optional &optional)
	                     (&optional x &optional)
	                     (&optional x &optional y)
	                     (&optional &rest)
	                     (&optional x &rest)
	                     (&optional &rest y)
	                     (&rest &optional)
	                     (&rest &optional y)
	                     (&rest x &optional y)))
	    (insert
	     (format "%c/%c\n"
	             (condition-case err
	                 (progn (funcall `(lambda ,arglist 'ok))
	                        ?y)
	               (error ?n))
	             (condition-case err
	                 (progn (byte-compile-check-lambda-list arglist)
	                        ?y)
	               (error ?n))))
	    (display-buffer (current-buffer))))

	* src/eval.c (funcall_lambda):
	* lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Don't
	check for missing variables after `&rest' and `&optional'.
	* test/src/eval-tests.el (eval-tests--bugs-24912-and-24913)
	(eval-tests-accept-empty-optional-rest): Update tests accordingly.
	* etc/NEWS: Update announcement accordingly.
	* doc/lispref/functions.texi (Argument List): Update manual to
	indicate that variable names are optional.

2018-03-24  Vibhav Pant  <vibhavp@gmail.com>

	Fix byte-optimize-memq incorrectly optimizing some memq forms.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): Call
	  byte-optimize-and only for memq forms that can be optimized, use
	  byte-optimize-predicate to optimize the final form.

2018-03-24  Vibhav Pant  <vibhavp@gmail.com>

	Optimize certain memq forms during byte-compilation.

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): New function.
	  Set the byte optimizer function for memq to byte-optimize-memq.

2018-03-24  Phillip Lord  <phillip.lord@russet.org.uk>

	Reduce build load

	* admin/nt/dist-build/build-zips.sh: Reduce parallelism to 8

2018-03-23  Glenn Morris  <rgm@gnu.org>

	* lisp/emulation/viper.el (viper-set-hooks): Replace obsolete func.

	* lisp/vc/vc.el (vc-initial-comment): Remove var unused since 23.2.

2018-03-23  Glenn Morris  <rgm@gnu.org>

	Remove some unused gnus-registry variables

	* lisp/gnus/gnus-registry.el (gnus-registry-clean-empty)
	(gnus-registry-use-long-group-names)
	(gnus-registry-max-track-groups, gnus-registry-entry-caching)
	(gnus-registry-trim-articles-without-groups):
	Remove variables labeled as obsolete since 23.4 that do nothing.

2018-03-23  Glenn Morris  <rgm@gnu.org>

	Remove variables labeled as obsolete that do nothing

	* lisp/allout.el (allout-passphrase-verifier-string)
	(allout-passphrase-hint-string):
	* lisp/w32-vars.el (w32-list-proportional-fonts):
	Remove variables that are unused since Emacs 23.x.

2018-03-23  Phillip Lord  <phillip.lord@russet.org.uk>

	Limit build load

	* admin/nt/dist-build/build-zips.sh: Limit build load.

2018-03-23  Phillip Lord  <phillip.lord@russet.org.uk>

	Ensure configure is running if necessary

	* admin/nt/dist-build/build-zips.sh: Check for missing Makefile.

2018-03-23  Glenn Morris  <rgm@gnu.org>

	* lisp/progmodes/cc-langs.el: Silence compiler.

2018-03-23  Glenn Morris  <rgm@gnu.org>

	Quieten lisp/obsolete compilation

	* lisp/obsolete/vi.el (vi-mark-region):
	* lisp/obsolete/vip.el (vip-delete-backward-char): Silence compiler.

2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>

	Clarify syntax of radixed integers

	* doc/lispref/numbers.texi (Integer Basics): Specify what digits
	are allowed in radixed integers, and that there is no initial sign
	or final period.

2018-03-23  Glenn Morris  <rgm@gnu.org>

	Remove some declare-function stub definitions

	* lisp/emulation/viper-cmd.el, lisp/emulation/viper-keym.el:
	* lisp/emulation/viper-util.el, lisp/net/newst-plainview.el:
	* lisp/net/newst-treeview.el, lisp/ps-def.el, lisp/vc/ediff.el:
	* lisp/vc/ediff-util.el, lisp/vc/ediff-wind.el:
	Remove stub declare-function definitions.
	It exists since Emacs 22.2, released 10 years ago.
	Most of these files are using even newer features, such as
	lexical-binding and cl-lib anyway, making the stubs pointless.

2018-03-23  Glenn Morris  <rgm@gnu.org>

	Replace some uses of cl with cl-lib

	* lisp/progmodes/idlw-toolbar.el: No need for cl.
	* lisp/progmodes/antlr-mode.el, lisp/progmodes/idlw-shell.el:
	* lisp/progmodes/idlwave.el: Replace cl with cl-lib.

2018-03-23  Glenn Morris  <rgm@gnu.org>

	Replace cl in some obsolete files

	* lisp/obsolete/assoc.el, lisp/obsolete/fast-lock.el:
	* lisp/obsolete/mouse-sel.el: No need for cl.
	* lisp/obsolete/lazy-lock.el, lisp/obsolete/pgg-gpg.el:
	* lisp/obsolete/pgg-parse.el, lisp/obsolete/pgg-pgp.el:
	* lisp/obsolete/pgg-pgp5.el, lisp/obsolete/pgg.el:
	* lisp/obsolete/sregex.el: Replace cl with cl-lib.

2018-03-23  Glenn Morris  <rgm@gnu.org>

	cedet: replace cl with cl-lib

	* lisp/cedet/ede/linux.el, lisp/cedet/semantic/decorate/mode.el:
	* lisp/cedet/semantic/wisent/comp.el: Replace cl with cl-lib.
	* lisp/cedet/cedet.el, lisp/cedet/mode-local.el:
	* lisp/cedet/ede/dired.el, lisp/cedet/ede/pmake.el:
	* lisp/cedet/ede/proj-comp.el, lisp/cedet/ede/proj-misc.el:
	* lisp/cedet/ede/proj-obj.el, lisp/cedet/ede/proj-prog.el:
	* lisp/cedet/ede/speedbar.el, lisp/cedet/semantic/analyze.el:
	* lisp/cedet/semantic/complete.el:
	* lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/debug.el:
	* lisp/cedet/semantic/wisent/python.el:
	* lisp/cedet/srecode/compile.el, lisp/cedet/srecode/dictionary.el:
	* lisp/cedet/srecode/srt.el: No need for cl.

2018-03-23  Glenn Morris  <rgm@gnu.org>

	gnus: replace cl with cl-lib

	* lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
	* lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
	* lisp/gnus/gnus-demon.el, lisp/gnus/gnus-group.el:
	* lisp/gnus/gnus-icalendar.el, lisp/gnus/gnus-logic.el:
	* lisp/gnus/gnus-msg.el, lisp/gnus/gnus-picon.el:
	* lisp/gnus/gnus-registry.el, lisp/gnus/gnus-salt.el:
	* lisp/gnus/gnus-score.el, lisp/gnus/gnus-spec.el:
	* lisp/gnus/gnus-srvr.el, lisp/gnus/gnus-start.el:
	* lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
	* lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
	* lisp/gnus/mail-source.el, lisp/gnus/mm-decode.el:
	* lisp/gnus/mm-encode.el, lisp/gnus/mm-url.el, lisp/gnus/mm-view.el:
	* lisp/gnus/mml-smime.el, lisp/gnus/mml.el, lisp/gnus/mml2015.el:
	* lisp/gnus/nnbabyl.el, lisp/gnus/nndoc.el, lisp/gnus/nneething.el:
	* lisp/gnus/nnheader.el, lisp/gnus/nnimap.el, lisp/gnus/nnmail.el:
	* lisp/gnus/nnmaildir.el, lisp/gnus/nnoo.el, lisp/gnus/nnrss.el:
	* lisp/gnus/nnspool.el, lisp/gnus/nntp.el, lisp/gnus/nnvirtual.el:
	* lisp/gnus/nnweb.el, lisp/gnus/spam.el: Replace cl with cl-lib.
	* lisp/gnus/canlock.el, lisp/gnus/gnus-bcklg.el:
	* lisp/gnus/gnus-cite.el, lisp/gnus/gnus-cloud.el:
	* lisp/gnus/gnus-draft.el, lisp/gnus/gnus-dup.el:
	* lisp/gnus/gnus-fun.el, lisp/gnus/gnus-html.el:
	* lisp/gnus/gnus-int.el, lisp/gnus/gnus-kill.el, lisp/gnus/gnus-ml.el:
	* lisp/gnus/gnus-mlspl.el, lisp/gnus/gnus-range.el:
	* lisp/gnus/gnus-undo.el, lisp/gnus/gnus-vm.el:
	* lisp/gnus/mm-partial.el, lisp/gnus/mm-uu.el, lisp/gnus/mml1991.el:
	* lisp/gnus/nnagent.el, lisp/gnus/nndiary.el, lisp/gnus/nndir.el:
	* lisp/gnus/nndraft.el, lisp/gnus/nnfolder.el, lisp/gnus/nngateway.el:
	* lisp/gnus/nnmairix.el, lisp/gnus/nnmbox.el, lisp/gnus/nnmh.el:
	* lisp/gnus/nnml.el, lisp/gnus/score-mode.el, lisp/gnus/smiley.el:
	No need for cl.

2018-03-23  Glenn Morris  <rgm@gnu.org>

	* lisp/gnus/gnus-vm.el (vm-mode, vm-save-message):
	Declare rather than autoload.

2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>

	* src/process.c (Fsignal_process): Simplify.

2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>

	Fix too-large integer in Hg backend

	* lisp/vc/vc-hg.el (vc-hg-state-fast):
	Don’t assume that 2**32 - 1 is representable as a fixnum.

2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid Fortran-style floating-point optimization

	When optimizing arithmetic operations, avoid optimizations that
	are valid for mathematical numbers but invalid for floating-point.
	For example, do not optimize (+ 1 v 0.5) to (+ v 1.5), as they may
	not be the same due to rounding errors.  In general,
	floating-point numbers cannot be constant-folded, since that would
	make .elc files platform-dependent.
	* lisp/emacs-lisp/byte-opt.el (byte-optimize-associative-math):
	Do not optimize floats.
	(byte-optimize-nonassociative-math, byte-optimize-approx-equal)
	(byte-optimize-delay-constants-math, byte-compile-butlast)
	(byte-optimize-logmumble):
	Remove; no longer used.
	(byte-optimize-minus): Do not optimize (- 0 x) to (- x).
	(byte-optimize-multiply): Do not optimize (* -1 x) to (- x).
	(byte-optimize-divide): Do not optimize (/ x -1) to (- x).
	(logand, logior, logxor): Optimize with byte-optimize-predicate
	instead of with byte-optimize-logmumble.
	* test/lisp/emacs-lisp/bytecomp-tests.el:
	(byte-opt-testsuite-arith-data): Add a couple of test cases.

2018-03-23  Michael Albinus  <michael.albinus@gmx.de>

	Instrument tramp-test39-utf8

	* test/lisp/net/tramp-tests.el (tramp--test-expensive-test):
	Add the test name to the template.
	(tramp-test39-utf8): Instrument test.

2018-03-23  Glenn Morris  <rgm@gnu.org>

	sql.el defcustom fixes

	* lisp/progmodes/sql.el (sql-login-params): Update.
	Avoids type mismatch with postgres and sqlite login params.
	(sql-postgres-login-params): Bump version.

2018-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix bug#30846, along with misc cleanups found along the way

	* test/src/data-tests.el (data-tests-kill-all-local-variables): New test.

	* src/buffer.c (swap_out_buffer_local_variables): Remove.
	Fuse the body of its loop into that of reset_buffer_local_variables.
	(Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
	(reset_buffer_local_variables): Make sure the buffer's local binding
	is swapped out before removing it from the alist (bug#30846).
	Call watchers before actually killing the var.

	* src/data.c (Fmake_local_variable): Simplify.
	Use swap_in_global_binding to swap out any local binding, instead of
	a mix of find_symbol_value followed by messing with where&found.
	Don't call swap_in_symval_forwarding since the currently swapped
	binding is never one we've modified.
	(Fkill_local_variable): Use swap_in_global_binding rather than messing
	with where&found to try and trick find_symbol_value into doing the same.

	* src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.

2018-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/alloc.c: Avoid O(N²) complexity when unchaining markers (bug#24548).

	Unchain all dead markers with a single scan of the markers list,
	instead of calling the O(N) 'unchain_marker' N times.

	(unchain_dead_markers): New function.
	(sweep_buffers): Use it.
	(gc_sweep): Sweep buffers before markers.
	(sweep_misc): Check that markers have been unchained when reclaiming them.

2018-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	Merge from origin/emacs-26

	b8ebf5fb64 * src/lisp.h (struct Lisp_Buffer_Local_Value): Update comm...
	8c92a37cb4 * doc/emacs/trouble.texi: Fix location of `emacs-version' ...
	10b1f2fdd5 Explain more about (defvar foo) form (Bug#18059)
	68c2f336b1 * doc/lispref/buffers.texi (Buffer List): Fix grammar.
	7e720c6851 * doc/lispref/anti.texi (Antinews): Fix grammar.
	a6a821d29b * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.

2018-03-23  Robert Pluim  <rpluim@gmail.com>

	Make update_autogen work in git worktrees

	* admin/update_autogen: Make it work in a git worktree

2018-03-22  Glenn Morris  <rgm@gnu.org>

	Quieten cl-lib related compiler warnings

	* lisp/completion.el (cl-set-difference):
	* lisp/files.el (map-merge-with, map-merge):
	* lisp/emacs-lisp/radix-tree.el (map-apply): Declare.
	* lisp/emacs-lisp/thunk.el: Load cl-lib at run-time, not
	cl-macs at compile.
	* lisp/gnus/gnus-group.el: Load cl-lib at run-time, not cl at compile.
	* lisp/emacs-lisp/checkdoc.el, lisp/emacs-lisp/package.el
	* lisp/gnus/gnus-sum.el, lisp/gnus/message.el, lisp/net/shr.el:
	Load cl-lib at run-time.
	* lisp/gnus/mml-sec.el (mml-signencrypt-style)
	(mml-secure-cust-record-keys): Replace cl with cl-lib,
	and load it at run-time.
	* lisp/cedet/ede/linux.el, lisp/vc/vc-hg.el: Reorder requires.

2018-03-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	Try and fix the more obvious sources of bug#30635

	* lisp/files.el (dir-locals-read-from-dir): Handle the easy cases
	without loading `map`.

	* lisp/emacs-lisp/bytecomp.el: Don't require cl-lib at run-time.
	(byte-compile-and-folded): Avoid cl-every.

2018-03-22  Charles A. Roelli  <charles@aurox.ch>

	Add new command vc-git-stash-delete

	* lisp/vc/vc-git.el (vc-git-stash-delete): New command, in line with
	vc-git-stash-delete-at-point.
	(vc-git-extra-menu-map): Add menu entry.

2018-03-22  Paul Eggert  <eggert@cs.ucla.edu>

	Fix byte-opt lists of pure functions etc.

	This fixes a bug where a byte-compiler running on 64-bit Emacs
	optimized (lsh -1 -1) to #x1fffffffffffffff, an optimization
	that is incorrect for .elc files intended for either 32- or
	64-bit Emacs.  While I was in the neighborhood, I noticed other
	glitches in the lists of pure and side-effect-free functions, and
	fixed the errors that I found.
	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
	Move some functions here from side-effect-and-error-free-fns,
	since they can now signal errors.  The affected functions are
	current-time-string, current-time-zone,
	line-beginning-position, line-end-position.  Rename langinfo
	to locale-info.  Add logcount.  Remove string-to-int.
	(side-effect-and-error-free-fns): Remove minibuffer-window, a
	function that can signal errors, and that is already in
	side-effect-free-fns.
	(pure-fns): Remove ash, lsh, and logb, since they are
	platform-dependent and .elc files should be
	platform-independent.  Add %, logand, logcount.  Sort.
	Clarify what is meant by “pure”.

2018-03-22  Paul Eggert  <eggert@cs.ucla.edu>

	Port emacs-module-tests to 32-bit Emacs

	Fix a portability bug when emacs-module-tests.el is byte-compiled
	with a 32-bit Emacs (where #x20000000 evaluates to a
	floating-point number) and then is run on a 64-bit Emacs (where
	the floating-point number causes a test failure).
	* test/src/emacs-module-tests.el (mod-test-sum-test):
	Don’t assume #x20000000 can be represented as an Emacs integer.

2018-03-22  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	8ac621b (origin/emacs-26) Document DEFUN attributes
	16d0cc7 * etc/NEWS: Add an entry for auth-source-pass.
	cc1702f Fix the MSDOS build
	daa9e85 Improve warning and error messages
	7612dd1 Adjust eieio persistence tests for expected failure
	f0cf4dc Let eieio-persistent-read read what object-write has written
	40ad1ff Handle possible classtype values in eieio-persistent-read
	4ec935d Add new tests for eieio persistence
	47917d8 * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc ...
	e32f352 * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix t...
	5268f30 * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
	143b485 * doc/lispref/internals.texi (Writing Emacs Primitives): Fix ...
	4ab4551 Firm up documentation of generalized variables
	a5bf099 Improve documentation of Auto-Revert mode
	ed05eaa Improvements in dired.texi

	Conflicts:
		etc/NEWS

2018-03-22  Michael Albinus  <michael.albinus@gmx.de>

	Fix commit c24c5dc4a4

	* lisp/net/tramp.el (tramp-handle-substitute-in-file-name): Drop volume
	letter of localname substitution.  Reported by Chris Zheng
	<chriszheng99@gmail.com>.

2018-03-22  Michael Albinus  <michael.albinus@gmx.de>

	Tag tramp-test39-utf8* as :unstable

	* test/lisp/net/tramp-tests.el (tramp-test39-utf8)
	(tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
	(tramp-test39-utf8-with-ls): Tag the tests as :unstable.

2018-03-22  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#30904

	* lisp/net/tramp.el (tramp-dissect-file-name): Adapt docstring.  (Bug#30904)

2018-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	Port data-tests-popcnt to 32-bit Emacs

	* test/src/data-tests.el (data-tests-popcnt):
	Don’t assume Emacs integers can represent 32-bit quantities.
	Change to a simple and straightforward approach, since runtime
	performance is not important here.

2018-03-21  Glenn Morris  <rgm@gnu.org>

	* lisp/play/fortune.el (fortune-in-buffer): Revert previous nonsense.

2018-03-21  Charles A. Roelli  <charles@aurox.ch>

	Provide completion in vc-git-stash-* commands

	* lisp/vc/vc-git.el (vc-git-stash-read-history)
	(vc-git-stash-read): New history variable and function.
	(vc-git-stash-show, vc-git-stash-apply, vc-git-stash-pop): Update
	their interactive specifications.

2018-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	Add tests for Bug#30408

	* test/src/editfns-tests.el (format-%d-large-float)
	(format-%x-large-float, format-%o-invalid-float): New tests.

2018-03-21  Glenn Morris  <rgm@gnu.org>

	Quieten eieio-test compilation

	* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:
	* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
	* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el:
	Remove obsolete name args where not being explicitly tested.

2018-03-21  Glenn Morris  <rgm@gnu.org>

	* lisp/play/fortune.el (fortune-in-buffer): Unadvertise no-op arg.

	* lisp/play/fortune.el (fortune-message):
	Avoid trailing newline.  (Bug#30887)

2018-03-20  Glenn Morris  <rgm@gnu.org>

	* lisp/isearch.el (isearch-pre-command-hook): Replace cl-lib function.

	As a preloaded file, isearch.el cannot require cl-lib at runtime.

2018-03-20  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Remove pessimization

2018-03-20  Eli Zaretskii  <eliz@gnu.org>

	Avoid redisplay problems with too wide wrap-prefix

	* src/xdisp.c (display_line): Avoid looping in redisplay when
	wrap-prefix is set to a too-wide stretch of whitespace.
	(Bug#30432)

2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	Port to 32-bit sparc64

	Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
	and Andreas Schwab (Bug#30855).
	* src/alloc.c (mark_memory): Call mark_maybe_object only on
	pointers that are properly aligned for Lisp_Object.

2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	Autoupdate from Gnulib

2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	23527013c7 ; Rewrap doc string
	4328d5f744 Correct Info link markup
	2fb52abd9e Improve documentation of 'with-help-window'
	ec08c62f03 Minor improvements in building.texi
	663aafe1ff * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
	05781b2e88 ; Spelling fix
	aa40014ba3 * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
	23072e468f Yet more proofreading of the Emacs manual
	ba5a372540 * doc/emacs/rmail.texi: Fix broken link.
	6b2210cc29 ; Spelling fix
	067c8c4f5b Fix recently-added POP doc glitch
	fb3dc0e8aa More proofreading of the Emacs manual
	a776ce7be6 Fix typo in the Emacs manual's VC chapter
	7f27d42f0b Pass json-readtable-error data as a list (bug#30489)
	10bd3b3af8 Improve word motion docs (Bug#30815)
	2b8507fbdc Replace "carriage-return" by "carriage return" in manuals
	2616cd94f1 Minor copyedits in mule.texi
	36a1d52814 Fix problems caused by fontconfig-2.13.0

2018-03-20  Michael Albinus  <michael.albinus@gmx.de>

	Extend Tramp's UTF8 tests

	* test/lisp/net/tramp-tests.el (tramp--test-utf8):
	Apply more exhaustive tests.

2018-03-20  Aaron Jensen  <aaronjensen@gmail.com>

	Better support for 'transpose-chars' in Flyspell mode

	* lisp/textmodes/flyspell.el (flyspell-post-command-hook): Check
	word  before previous point location after 'transpose-chars'.
	(Bug#30813)

2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Improve port to NetBSD tzalloc

	Problem reported by Valery Ushakov (Bug#30738#22).
	* src/editfns.c (HAVE_TZALLOC_BUG): New macro.
	(tzlookup): Use it.  Compile on all platforms, not just on NetBSD.

2018-03-19  Glenn Morris  <rgm@gnu.org>

	* test/lisp/info-xref-tests.el (info-xref-test-emacs-manuals): New.

2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Tune time zone 0

	* src/editfns.c (tzlookup): Treat time zone 0 like t, for speed.
	Suggested by Valery Ushakov (Bug#30738#19).

2018-03-19  Charles A. Roelli  <charles@aurox.ch>

	Normalize and fix some mistakes in NS-related commentary

	* lisp/term/ns-win.el (ns-insert-working-text): Normalize
	commentary.
	(x-file-dialog): Fix indentation.

	* src/nsfns.m (ns_get_window, interpret_services_menu)
	(x_set_background_color, x_set_icon_name, x_set_tool_bar_lines)
	(x_set_icon_type, x_set_mouse_color, Fx_create_frame)
	(ns_window_is_ancestor, Fns_popup_font_panel)
	(Fx_display_visual_class, Fns_font_name, Fns_do_applescript)
	(ns_screen_name, compute_tip_xy, Fns_mouse_absolute_pixel_position)
	(handlePanelKeys): Normalize commentary (also in top-level
	declarations) and remove two outdated comments (one in
	Fx_create_frame, the other in compute_tip_xy).

	* src/nsterm.h (NSApplication, NSWindow, ns_bitmap_record):
	* src/nsselect.m:
	* src/nsmenu.m (ns_update_menubar, addItemWithWidgetValue:)
	(runMenuAt:forFrame:keymaps:, ns_menu_show, free_frame_tool_bar)
	(update_frame_tool_bar, init)
	(initWithContentRect:styleMask:backing:defer:)
	(initFromContents:isQuestion:, timeout_handler:)
	(Fmenu_or_popup_active_p):
	* src/nsimage.m (initFromXBM, initFromXBMWithDepth):
	* src/nsgui.h:
	* src/nsfont.m (ns_spec_to_descriptor, ns_descriptor_to_entity)
	(ns_charset_covers, ns_get_req_script, ns_findfonts)
	(nsfont_list_family, nsfont_open, nsfont_encode_char)
	(nsfont_draw, ns_uni_to_glyphs, ns_glyph_metrics)
	(syms_of_nsfont): Normalize commentary (also in top-level
	declarations).

	* src/nsterm.m (ns_init_locale, ns_retain_object)
	(ns_screen_margins_ignoring_hidden_dock, ns_unfocus, NSImageView)
	(x_make_frame_visible, x_iconify_frame, x_destroy_window)
	(x_set_undecorated, x_set_no_focus_on_map, x_set_z_group)
	(ns_index_color, ns_get_color, ns_lisp_to_color)
	(note_mouse_movement, scrollbar, ns_scroll_run)
	(ns_draw_fringe_bitmap, ns_draw_window_cursor)
	(ns_draw_text_decoration, ns_draw_relief)
	(ns_dumpglyphs_box_or_relief, ns_dumpglyphs_image)
	(ns_dumpglyphs_stretch, ns_draw_glyph_string, ns_send_appdefined)
	(ns_check_menu_open, ns_read_socket, ns_select, ns_run_loop_break)
	(ns_set_vertical_scroll_bar, ns_set_horizontal_scroll_bar)
	(ns_string_to_lispmod, ns_default, ns_initialize_display_info)
	(ns_delete_display, ns_term_init, sendEvent:)
	(applicationDidFinishLaunching:, applicationDidBecomeActive:)
	(fd_handler:, setWindowClosing:, keyDown:, insertText:)
	(mouseDown:, mouseMoved:, updateFrameSize:)
	(windowWillResize:toSize:, windowDidResize:, windowDidResignKey:)
	(initFrameFromEmacs:, toggleFullScreen:, toolbarClicked:)
	(writeSelectionToPasteboard:types:, setMiniwindowImage:)
	(scrollerWidth, initFrame:window:, setFrame:, repeatScroll:)
	(ns_xlfd_to_fontname, syms_of_nsterm): Normalize commentary (also in
	top-level declarations), and in ns_get_color, replace a Gmane link
	with one from lists.gnu.org, which does not require JS to view the
	message.

2018-03-19  Karl Fogel  <kfogel@red-bean.com>

	Revert move of interactive `transpose-regions' to Lisp

	This reverts my commit 3a3aa0e056a of 2018-03-18 at 21:43:18 UTC.
	I thought consensus had been reached, but it had not: Eli Zaretskii
	felt the pre-3a3aa0e056a situation was fine and would not like to
	see it changed without at least further discussion.

2018-03-19  Alan Third  <alan@idiocy.org>

	Fix frame resize flicker on macOS (bug#30699)

	* src/nsterm.h (ns_enable_screen_updates): New function.
	* src/nsterm.m (ns_enable_screen_updates):
	(ns_disable_screen_updates): New functions.
	(disable_screen_updates_count): Count of number of times we've called
	NSDisableScreenUpdates.
	(x_set_window_size): Disable screen updates when not in a live resize
	loop.
	* src/xdisp.c (redisplay_internal): Reenable screen updates when
	redisplay doesn't complete due to a popup.
	(unwind_redisplay): Reenable screen updates.

2018-03-19  Michael Albinus  <michael.albinus@gmx.de>

	Print top time consuming tests if advised

	* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
	New argument HIGH.  Print top-running tests.

	* test/Makefile.in (check-doit): Use ${SUMMARIZE_TESTS}.

	* test/README: Explain SUMMARIZE_TESTS.

2018-03-19  Eli Zaretskii  <eliz@gnu.org>

	Followup to last change in browse-url.el

	* lisp/net/browse-url.el (browse-url-emacs): Doc fix to follow up
	the previous change.  (Bug#30673)

	* etc/NEWS: Mention the change in 'browse-url-emacs'.

2018-03-19  Pierre Téchoueyres  <pierre.techoueyres@free.fr>

	Allow 'browse-url-emacs' to fetch URL in the selected window

	* lisp/net/browse-url.el (browse-url-emacs): Use same-window argument.
	(Bug#30673)

2018-03-19  Radon Rosborough  <radon.neon@gmail.com>

	Various follow-ups for early init file changes

	* doc/emacs/custom.texi (Early Init File): Add more details about
	which variables must be set in the early init file rather than the
	regular init file.  See
	https://lists.nongnu.org/archive/html/bug-gnu-emacs/2018-02/msg00827.html

	* lisp/emacs-lisp/package.el (package-enable-at-startup): Update
	docstring to note that packages are now made available before loading
	the init file, rather than afterwards.  See
	https://lists.gnu.org/r/emacs-devel/2018-02/msg00632.html
	(package-load-list): Refer to "making available" rather than "loading"
	for packages.  See
	https://lists.gnu.org/r/emacs-devel/2018-02/msg00298.html

	* lisp/startup.el (command-line): Call `custom-reevaluate-setting' on
	predefined variables before loading the early init file and before
	`package-initialize' is called.  This prevents
	`Info-default-directory-list' from being unbound when
	`package-initialize' tries to access it during startup.  See
	https://lists.gnu.org/r/emacs-devel/2018-02/msg00545.html

	* lisp/emacs-lisp/package.el (package-initialize): Issue a warning
	if called twice.
	See: https://lists.gnu.org/r/emacs-devel/2018-02/msg00626.html
	     https://lists.gnu.org/r/emacs-devel/2018-03/msg00301.html

2018-03-18  Glenn Morris  <rgm@gnu.org>

	* lisp/url/url-handlers.el: No need for subr-x at run-time.

2018-03-18  Karl Fogel  <kfogel@red-bean.com>

	Move interactive `transpose-regions' to Lisp

	Define `transpose-regions' in Lisp, because its complex interactive
	spec was ungainly in C, and change the C version to non-interactive
	`transpose-regions-internal'.  The Lisp function is just a wrapper
	around the C function, which still does all the work.

	* lisp/simple.el (transpose-regions): New wrapper function, with
	  interactive spec taken from old C `transpose-regions'.

	* src/editfns.c (Ftranspose_regions): Rename to...
	  (Ftranspose_regions_internal): ...here, and remove interactive spec.

	Discussion on Emacs Devel:

	  From: Karl Fogel
	  To: Emacs Development
	  Cc: Richard Copley, Charles A. Roelli
	  Subject: Re: [Emacs-diffs] master b88e7c8: \
	           Make transpose-regions interactive (Bug#30343)
	  Date: Fri, 16 Mar 2018 10:23:31 -0500
	  Message-ID: <87po44jb7w.fsf@red-bean.com>

	  https://lists.gnu.org/r/emacs-devel/2018-03/msg00555.html

2018-03-18  Nicolas Petton  <nicolas@petton.fr>

	Fix compilation warnings in subr-x-tests.el

	* test/lisp/emacs-lisp/subr-x-tests.el (subr-x-test-if-let*-false)
	(subr-x-test-when-let*-false): Make tests simpler and compiler warning
	free.

2018-03-18  Nicolas Petton  <nicolas@petton.fr>

	* lisp/url/url-handlers.el: Require subr-x.

2018-03-18  Nicolas Petton  <nicolas@petton.fr>

	Add URL handler for file-name-directory  (Bug#30444)

	* lisp/url/url-handlers.el (url-handler-file-name-directory): New
	function which handles special cases for `file-name-directory' and
	URLs.
	* test/lisp/url/url-handlers-test.el: New file.  Add tests for
	`url-handler-file-name-directory'.

2018-03-18  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/emacs-lisp/ert.el (ert-run-tests-batch): Print selector.

2018-03-17  Michael Albinus  <michael.albinus@gmx.de>

	Optimize tramp-tests.el

	* test/lisp/net/tramp-tests.el (tramp--test-expensive-test):
	Make it a defsubst.  Adapt all callees.
	(tramp--test-print-duration): New defmacro.
	(tramp-test11-copy-file, tramp-test12-rename-file)
	(tramp-test21-file-links, tramp--test-special-characters):
	Run some parts only if expensive tests are enabled.  (Bug#30807)

2018-03-17  Aaron Jensen  <aaronjensen@gmail.com>

	In frameset save pixel values with frame-resize-pixelwise non-nil  (Bug#30141)

	* lisp/frameset.el (frameset--record-relationships): Replace
	check for text width/height and replace with check for
	frame-resize-pixelwise.  (Bug#30141)

2018-03-17  Michael Albinus  <michael.albinus@gmx.de>

	Print test timings unconditionally

	* lisp/emacs-lisp/ert.el (ert-batch-print-duration): Remove.
	(ert-run-tests-batch): Adapt accordingly.

	* test/Makefile.in:
	* test/README: Remove TEST_PRINT_TEST_DURATION.

2018-03-16  Glenn Morris  <rgm@gnu.org>

	Explicitly require cl-lib where needed

	Rather than relying on the byte-compiler happening to use it.
	* lisp/completion.el, lisp/ffap.el, lisp/loadhist.el:
	* lisp/userlock.el, lisp/emacs-lisp/debug.el, lisp/emacs-lisp/rx.el:
	* lisp/emacs-lisp/testcover.el, lisp/mail/rfc2231.el:
	* lisp/net/newst-treeview.el, lisp/net/puny.el:
	* lisp/net/tramp-archive.el, lisp/net/tramp-gvfs.el:
	* lisp/net/tramp-sh.el, lisp/net/tramp-smb.el, lisp/org/org-ctags.el:
	* lisp/org/org-macs.el, lisp/progmodes/grep.el:
	* lisp/progmodes/perl-mode.el, lisp/progmodes/ruby-mode.el:
	* lisp/textmodes/dns-mode.el, lisp/textmodes/mhtml-mode.el:
	* lisp/vc/pcvs-parse.el: Explicitly require cl-lib as needed.

2018-03-16  Glenn Morris  <rgm@gnu.org>

	cedet: remove obsolete name args to constructors

	* lisp/cedet/ede/proj-archive.el, lisp/cedet/ede/proj-aux.el:
	* lisp/cedet/ede/proj-elisp.el, lisp/cedet/ede/proj-info.el:
	* lisp/cedet/ede/proj-misc.el, lisp/cedet/ede/proj-obj.el:
	* lisp/cedet/ede/proj-shared.el, lisp/cedet/ede/simple.el:
	* lisp/cedet/ede/source.el, lisp/cedet/semantic/:
	* lisp/cedet/semantic/analyze.el, lisp/cedet/semantic/complete.el:
	* lisp/cedet/semantic/db-javascript.el:
	* lisp/cedet/semantic/db-ref.el, lisp/cedet/semantic/debug.el:
	* lisp/cedet/semantic/ede-grammar.el:
	* lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/scope.el:
	* lisp/cedet/semantic/texi.el, lisp/cedet/semantic/bovine/:
	* lisp/cedet/semantic/bovine/c.el:
	* lisp/cedet/semantic/bovine/debug.el, lisp/cedet/srecode/:
	* lisp/cedet/srecode/extract.el, lisp/cedet/srecode/map.el:
	* lisp/cedet/srecode/srt-mode.el:
	Remove obsolete name args to constructors.

2018-03-16  Glenn Morris  <rgm@gnu.org>

	Quieten semantic re-compilation when .elc already exist

	* lisp/cedet/semantic/db-find.el, lisp/cedet/semantic/util.el:
	Add some function declarations.

2018-03-16  Glenn Morris  <rgm@gnu.org>

	* lisp/gnus/gnus-registry.el: Add missing compile-time requirement.

2018-03-16  Eli Zaretskii  <eliz@gnu.org>

	Fix 'posn-at-point' when line numbers are displayed

	* src/xdisp.c (pos_visible_p): For the leftmost glyph, adjust the X
	coordinate due to line-number display.  (Bug#30834)

2018-03-16  Eli Zaretskii  <eliz@gnu.org>

	Another followup to fixing 'window-text-pixel-width'

	* src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
	when we stop one buffer position short of TO.  (Bug#30746)

2018-03-16  Michael Albinus  <michael.albinus@gmx.de>

	Optimize "make check" and "make check-maybe"

	* lisp/emacs-lisp/ert.el (ert-run-tests-batch): Print summary duration.

	* test/Makefile.in (TEST_LOAD_EL): Set default to "no" for
	targets all, check, and check-maybe.  (Bug#30807)

	* test/README: Reflect recent changes in Makefile.

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test99-libarchive-tests): Tag it :unstable.

2018-03-16  Reuben Thomas  <rrt@sc3d.org>

	Call enchant-lsmod correctly when Enchant is installed with a suffix

	* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Cope with a
	version suffix on the binary name, so enchant-2 is converted to
	enchant-lsmod-2, not enchant-2-lsmod.

2018-03-15  Glenn Morris  <rgm@gnu.org>

	Suppress warnings about obsolete generics (bug#25556)

	* lisp/Makefile.in (MAIN_FIRST): New variable.
	(compile-main): Put some files at the head of the queue.

2018-03-15  Glenn Morris  <rgm@gnu.org>

	Replace some obsolete uses of filter-buffer-substring-functions

	* lisp/org/org-agenda.el (org-agenda-mode):
	* lisp/org/org-indent.el (org-indent-mode):
	Replace filter-buffer-substring-functions, obsolete since 24.4.

2018-03-15  Glenn Morris  <rgm@gnu.org>

	* lisp/gnus/nnmaildir.el (nnmaildir-close-server):
	Remove unused locals.

	* lisp/emulation/cua-base.el (cua-paste): Quieten compilation.

	* lisp/progmodes/verilog-mode.el (verilog-mode): Quieten compilation.

2018-03-15  Paul Eggert  <eggert@cs.ucla.edu>

	Improve port to NetBSD tzalloc

	Problem reported by Valery Ushakov (Bug#30738#13).
	* src/editfns.c (tzlookup) [__NetBSD_Version__ < 700000000]:
	If tzalloc fails for any reason other than memory exhaustion,
	assume it’s because NetBSD 6 does not support tzalloc on
	POSIX-format TZ strings, and fall back on tzdb if possible.

2018-03-15  Glenn Morris  <rgm@gnu.org>

	* test/lisp/ses-tests.el: Quieten compilation.

	* lisp/pcomplete.el (pcomplete-here): Move before first reference.

2018-03-15  Michael Albinus  <michael.albinus@gmx.de>

	Improve robustness in tramp-sh.el

	* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
	Wrap both echo calls in parentheses, in order to avoid double prompt.

2018-03-15  Eli Zaretskii  <eliz@gnu.org>

	Support variable-unquoting syntax in bat-mode

	* lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fontify
	argument numbers in %~n.  Suggested by Jostein Kjønigsen
	<jostein@secure.kjonigsen.net> in emacs-devel.

	* test/lisp/progmodes/bat-mode-tests.el
	(bat-test-fontification-iter-var-1): Update the test to check also
	the %~n construct.

2018-03-15  Eli Zaretskii  <eliz@gnu.org>

	Fix mouse-set-point when line numbers are displayed

	* src/xdisp.c (move_it_to): Initialize the line_number_produced_p
	flag before iterating on a new line.  (Bug#30818)

2018-03-15  Michael Albinus  <michael.albinus@gmx.de>

	Fix an error in tramp-archive-test42-auto-load

	* test/lisp/net/tramp-archive-tests.el (tramp-archive-test42-auto-load):
	Do not use "/ssh::" as test directory, it could harm.  (Bug#30807)

2018-03-14  Glenn Morris  <rgm@gnu.org>

	More hydra.nixos.org logging for unfinished tests

	* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
	Dump contents of any unfinished log files on hydra.nixos.org.

2018-03-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/desktop.el: Make use some "new" functionality

	(desktop-files-not-to-save, desktop-clear):
	Use \` and \' when we don't intend to match newlines.
	(desktop-minor-mode-table): Remove auto-fill-function entry.
	(desktop-buffer-info): Use :minor-mode-function instead.
	(desktop--v2s): Use a closure rather than a backquoted lambda.
	(desktop-save): Set 'lexical-binding' in the saved file.
	Use 'utf-8-emacs' encoding rather than the old 'emacs-mule'.
	(desktop-read): Use 'default-value' to get the global part of a hook.

2018-03-14  Michael Albinus  <michael.albinus@gmx.de>

	Extend ert to print duration of single tests

	* lisp/emacs-lisp/ert.el (ert-test-result): New slot ´duration'.
	(ert-run-or-rerun-test): Set it.
	(ert-batch-print-duration): New defvar.
	(ert-run-tests-batch): Print duration if needed.

	* test/Makefile.in (TEST_PRINT_TEST_DURATION): New variable.

	* test/README: Explain TEST_PRINT_TEST_DURATION.

2018-03-13  Noam Postavsky  <npostavs@gmail.com>

	Fix line-wrapping for term.el (Bug#30775)

	* lisp/term.el (term-emulate-terminal): Leave line-wrapping state if
	point was moved after we entered it.
	* test/lisp/term-tests.el (term-line-wrapping-then-motion): New test.

2018-03-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	675edec (origin/emacs-26) Fix some allout.el aliases
	b2c069a * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving)...
	2f5420c Doc fixes re obsolete items
	9edf82a Replace an obsolete alias in tpu-mapper
	a643792 Doc fixes re obsolete items
	3060fb8 Minor changes in mule.texi
	3e39897 Avoid assertion violation under visual-order-cursor-movement
	e4b73ab Stop mentioning options.el in doc
	05669f0 ; * lisp/minibuffer.el (completion-cycle-threshold): Fix last...
	758597f * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
	62f0a2b * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
	761845c Fix last change in Xref documentation
	5186675 More changes in the Emacs manual
	b1aaa72 Improve documentation of Xref

	Conflicts:
		lisp/w32-fns.el

2018-03-13  Glenn Morris  <rgm@gnu.org>

	Try to stop tramp test hangs on hydra

	* test/lisp/net/tramp-tests.el (tramp-test41-asynchronous-requests):
	Use fewer processes on hydra.

2018-03-13  Eli Zaretskii  <eliz@gnu.org>

	* src/xdisp.c (Fwindow_text_pixel_size): Fix last change.

2018-03-12  Glenn Morris  <rgm@gnu.org>

	* lisp/subr.el (focus-frame, unfocus-frame): Remove obsolete no-ops.

	* lisp/vc/ediff-util.el (ediff-recenter):
	Don't try focus-frame on Emacs.

2018-03-12  Glenn Morris  <rgm@gnu.org>

	* lisp/obsolete/options.el: Remove file.

	* lisp/loadhist.el (unload-hook-features-list): Remove obsolete alias.

2018-03-12  Glenn Morris  <rgm@gnu.org>

	Make compiler warn about use of obsolete hooks

	* lisp/emacs-lisp/bytecomp.el (byte-compile-form):
	Warn about using obsolete hooks.

2018-03-12  Glenn Morris  <rgm@gnu.org>

	Replace use of the obsolete write-contents-hooks

	* lisp/play/gametree.el (gametree-mode):
	Replace write-contents-hooks, obsolete since 22.1,
	with write-contents-functions.

2018-03-12  Paul Eggert  <eggert@cs.ucla.edu>

	Revert overenthusiastic procfs fixup

	Also, be more systematic in calls to string_to_number.
	* src/sysdep.c (list_system_processes) [HAVE_PROCFS]: Allow pids
	to be floating-point if they exceed fixnum range.  This partially
	reverts my patch 2018-03-09T20:06:05Z!eggert@cs.ucla.edu, which
	went too far in fixing string-to-number mishandling.

2018-03-11  Charles A. Roelli  <charles@aurox.ch>

	Allow toggling Grep command abbreviation, and rename related symbols

	* lisp/progmodes/grep.el (grep-find-hide): Rename 'grep-find-hide'
	to 'grep-find-abbreviate'.
	(grep-find-hide-properties): Rename to
	'grep-find-abbreviate-properties'.
	(grep-mode-font-lock-keywords): Even when 'grep-find-abbreviate'
	is nil, fontify the verbose command options with property
	'abbreviated-command', so that the toggling command can later find
	these parts without refontifying.
	(grep-find-show): Rename to 'grep-find-toggle-abbreviation',
	simplify the code, and permit toggling the hidden command options.
	(grep-mode-map): Add a menu-bar item and new separator for
	'grep-find-toggle-abbreviation', and fix the incumbent separators
	in the "Grep" menu-bar, of which only one was showing before this
	commit, even though two were specified.
	* etc/NEWS (grep):
	* doc/emacs/building.texi (Grep Searching): Document these
	changes, and mention 'grep-find-toggle-abbreviation'.

2018-03-11  Charles A. Roelli  <charles@aurox.ch>

	Document 'transpose-sentences' and 'transpose-paragraphs'

	* doc/emacs/fixit.texi (Transpose): Add documentation and index
	entries for 'transpose-sentences' and 'transpose-paragraphs'
	(Bug#30343 in passing).

2018-03-11  Charles A. Roelli  <charles@aurox.ch>

	Make transpose-regions interactive (Bug#30343)

	* doc/emacs/fixit.texi (Transpose): Mention and explain the new
	command.
	* src/editfns.c (Ftranspose_regions): Add an interactive calling
	specification, and add documentation for it.

2018-03-11  Charles A. Roelli  <charles@aurox.ch>

	Unify documentation on 'save-some-buffers'

	* doc/emacs/files.texi (Save Commands): Include some more keys
	that can be used in 'save-some-buffers'.

	* lisp/files.el (save-some-buffers): Include the same keys as
	above, and document all missing ones.

2018-03-11  Charles A. Roelli  <charles@aurox.ch>

	* lisp/simple.el (mark-whole-buffer): Clarify its behavior.

2018-03-11  Charles A. Roelli  <charles@aurox.ch>

	Improve and make use of 'image--get-image'

	* lisp/image.el (image--get-image): Add documentation, and
	check overlays for images too (since function 'put-image' from
	the same library uses overlays to insert images).
	(image-save): Use 'image--get-image'.

2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>

	Port to NetBSD tzalloc

	Problem reported by Valery Ushakov (Bug#30738).
	* src/editfns.c (xtzalloc): Remove.
	(invalid_time_zone_specification): New function.
	(tzlookup): Port to NetBSD, where tzalloc can fail when the TZ
	string has an invalid value.

2018-03-10  Glenn Morris  <rgm@gnu.org>

	Remove many items obsolete since Emacs 22.1

	Emacs 22.1 was five major releases and over decade ago.
	In bug reporting statistics, it's been absent for around 5 years.
	Ref: https://debbugs.gnu.org/stats/emacs.html
	This list can be reviewed before to the next release, but for
	now hopefully this motivates any needed external updates.
	* lisp/arc-mode.el (archive-mouse-extract):
	* lisp/bookmark.el (bookmark-exit-hooks):
	* lisp/comint.el (comint-use-prompt-regexp-instead-of-fields):
	* lisp/cus-edit.el (custom-face-save-command):
	* lisp/descr-text.el (describe-char-after):
	* lisp/desktop.el (desktop-enable, desktop-basefilename)
	(desktop-buffer-modes-to-save, desktop-buffer-misc-functions)
	(desktop-buffer-handlers, desktop-load-default):
	* lisp/dired-x.el (dired-omit-files-p):
	* lisp/frame.el (new-frame, set-default-font, delete-frame-hook)
	(blink-cursor):
	* lisp/generic-x.el (generic-define-mswindows-modes)
	(generic-define-unix-modes):
	* lisp/help.el (describe-project, view-todo):
	* lisp/hilit-chg.el (highlight-changes-colours):
	* lisp/ibuffer.el (ibuffer-elide-long-columns, ibuffer-hooks)
	(ibuffer-mode-hooks):
	* lisp/imenu.el (imenu-always-use-completion-buffer-p):
	* lisp/isearch.el (isearch-lazy-highlight-cleanup)
	(isearch-lazy-highlight-initial-delay)
	(isearch-lazy-highlight-interval)
	(isearch-lazy-highlight-max-at-a-time)
	(isearch-lazy-highlight-cleanup):
	* lisp/mwheel.el (mouse-wheel-down-button)
	(mouse-wheel-up-button, mouse-wheel-click-button):
	* lisp/novice.el (disabled-command-hook):
	* lisp/recentf.el (recentf-menu-append-commands-p):
	* lisp/savehist.el (savehist-load):
	* lisp/speedbar.el (speedbar-ignored-path-expressions)
	(speedbar-ignored-path-regexp, speedbar-add-ignored-path-regexp)
	(speedbar-line-path, speedbar-buffers-line-path, speedbar-path-line):
	* lisp/subr.el (assoc-ignore-case, assoc-ignore-representation)
	(x-lost-selection-hooks, x-sent-selection-hooks)
	(process-kill-without-query):
	* lisp/calendar/icalendar.el (icalendar-convert-diary-to-ical)
	(icalendar-extract-ical-from-buffer):
	* lisp/emacs-lisp/autoload.el (update-autoloads-from-directories):
	* lisp/emacs-lisp/derived.el (derived-mode-class):
	* lisp/emacs-lisp/generic.el (generic-font-lock-defaults):
	* lisp/emacs-lisp/timer.el (timer-set-time-with-usecs):
	* lisp/gnus/spam.el (spam-list-of-processors):
	* lisp/international/latin1-disp.el (latin1-char-displayable-p):
	* lisp/mail/rmail.el (rmail-pop-password, rmail-pop-password-required):
	* lisp/net/goto-addr.el (goto-address-at-mouse):
	* lisp/net/net-utils.el (ipconfig-program, ipconfig-program-options):
	* lisp/obsolete/iswitchb.el (iswitchb-use-fonts):
	* lisp/play/dunnet.el (dungeon-mode-map):
	* lisp/progmodes/compile.el (compilation-finish-function)
	* lisp/progmodes/cperl-mode.el (cperl-vc-header-alist)
	* lisp/progmodes/gud.el (tooltip-gud-modes, tooltip-gud-display)
	(tooltip-gud-toggle-dereference):
	* lisp/progmodes/pascal.el (pascal-outline):
	* lisp/progmodes/perl-mode.el (electric-perl-terminator):
	* lisp/textmodes/nroff-mode.el (count-text-lines)
	(forward-text-line, backward-text-line, electric-nroff-newline)
	(electric-nroff-mode):
	* lisp/vc/log-edit.el (vc-comment-ring, vc-comment-ring-index)
	(vc-previous-comment, vc-next-comment)
	(vc-comment-search-reverse, vc-comment-search-forward)
	(vc-comment-to-change-log):
	* lisp/vc/pcvs-info.el (cvs-display-full-path)
	(cvs-fileinfo->full-path):
	* lisp/vc/vc.el (vc-diff-switches-list):
	Remove items, obsolete since Emacs 22.1.
	* lisp/ibuffer.el (ibuffer-cached-elide-long-columns):
	Remove internal variable.
	(ibuffer-compile-make-eliding-form, ibuffer-check-formats):
	(ibuffer-mode): Remove support for ibuffer-elide-long-columns.
	* lisp/cedet/semantic/sb.el (semantic-sb-token-jump):
	Remove support for speedbar-line-path.
	* lisp/emacs-lisp/unsafep.el (assoc-ignore-case):
	Stop marking as side-effect-free.
	* lisp/gnus/spam.el (spam-group-processor-p):
	Remove support for spam-list-of-processors.
	* lisp/progmodes/compile.el (define-compilation-mode)
	(compilation-handle-exit):
	Remove support for compilation-finish-function.
	* lisp/progmodes/cperl-mode.el (cperl-mode):
	Remove support for cperl-vc-header-alist.

2018-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	eshell-eval-using-options: Avoid compiler warning differently

	* lisp/eshell/em-unix.el (eshell/time):
	* lisp/eshell/em-tramp.el (eshell/sudo):
	* lisp/eshell/esh-var.el (eshell/env): Remove artificial use of `args'.

	* lisp/eshell/esh-opt.el (eshell-eval-using-options): Silence warning
	when `args' is not used by `body-forms'.

2018-03-10  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	5c91ca8 Fix create_process bug breaking eudc-expand-inline
	e244fed Clarify that nil doesn't match itself as a cl-case clause (Bu...
	df0e7e2 Improve SVG documentation
	a34ef52 Document the "URL" keyword in library headers
	fbc7f9a * test/lisp/international/mule-tests.el: Avoid local variable...
	16faff6 ; * lisp/org/org-table.el: Replace obsolete alias in comment.

2018-03-10  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	6af509e Replace the obsolete process-kill-without-query in documentation
	4df0d15 ; Tiny fix for recent doc change

2018-03-10  Noam Postavsky  <npostavs@gmail.com>

	Let warning about (:foo) be suppressible (Bug#30499)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Check
	byte-compile-warning-enabled-p before warning about funcalling const
	symbol.

2018-03-10  Dmitry Safronov  <saf.dmitry@gmail.com>

	Fix wrong behavior of 'outline-headers-as-kill' command (Bug#30209)

	* lisp/outline.el (outline-headers-as-kill): Fix heading duplication.

2018-03-10  Eli Zaretskii  <eliz@gnu.org>

	Improve support for desktop restoration in daemon mode

	* lisp/server.el (server-after-make-frame-hook): New hook.
	(server-execute): Call it after creating a new frame or before
	switching to a buffer shown in a client frame.  (Bug#30421)

	* doc/emacs/misc.texi (Saving Emacs Sessions): Adjust advice for
	restoring desktop in daemon mode to the new hook.
	* doc/lispref/frames.texi (Creating Frames, Standard Hooks):
	Document server-after-make-frame-hook.

	* etc/NEWS: Mention server-after-make-frame-hook.

2018-03-10  Aaron Jensen  <aaronjensen@gmail.com>

	Allow underline position variables be buffer-local

	* src/nsterm.m (ns_draw_text_decoration):
	* src/w32term.c (x_draw_glyph_string):
	* src/xterm.c (x_draw_glyph_string): Allow underline-minimum-offset,
	underline-at-descent-line, and x-use-underline-position-properties
	be buffer local variables.  (Bug#30553)
	* src/xdisp.c (syms_of_xdisp) <underline-minimum-offset>: Add DEFSYM.

2018-03-09  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (check-declare): Also check test/ directory.

	* test/Makefile.in (check-declare): New PHONY rule.

2018-03-09  Glenn Morris  <rgm@gnu.org>

	Quieten --without-json compilation of json-tests.el

	* test/src/json-tests.el (json-serialize, json-insert)
	(json-parse-string, json-parse-buffer): Declare.

2018-03-09  Glenn Morris  <rgm@gnu.org>

	* test/lisp/vc/vc-tests.el (w32-application-type): Fix declaration.

2018-03-09  Paul Eggert  <eggert@cs.ucla.edu>

	Fix string-to-number C-level mishandling

	* src/sysdep.c (list_system_processes):
	* src/xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
	Defend against Fstring_to_number returning a float or a nonsense
	integer.

2018-03-09  Glenn Morris  <rgm@gnu.org>

	Quieten compilation of some test/lisp files

	* test/lisp/dired-tests.el (dired-test-bug27243-02)
	(dired-test-bug27243-03, dired-test-bug27899)
	(dired-test-with-temp-dirs): Remove unused local variables.
	* test/lisp/hi-lock-tests.el (hi-lock-bug26666)
	(hi-lock-test-set-pattern): Mark unused arguments.
	* test/lisp/ses-tests.el (ses-tests-renamed-cells-row-insertion):
	Remove unused global "ses-tests-trigger".
	* test/lisp/simple-tests.el (line-number-at-pos-when-passing-point):
	Remove unused local "pos".
	* test/lisp/emacs-lisp/benchmark-tests.el (benchmark-tests):
	Pacify compiler.
	* test/lisp/emacs-lisp/package-tests.el (package-test-signed):
	Replace obsolete function epg-configuration.
	* test/lisp/ls-lisp-tests.el:
	* test/lisp/eshell/em-ls-tests.el: Require dired.
	* test/lisp/progmodes/ruby-mode-tests.el
	(ruby-forward-sexp-skips-method-calls-with-keyword-names):
	* test/lisp/vc/diff-mode-tests.el
	(diff-mode-test-ignore-trailing-dashes): Replace interactive funcs.

2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid losing info when formatting integers

	* doc/lispref/numbers.texi (Integer Basics): Clarify that
	out-of-range integers are treated as floating point only when the
	integers are decimal.
	* etc/NEWS: Mention changes.
	* src/editfns.c (styled_format): Use %.0f when formatting %d or %i
	values outside machine integer range, to avoid losing info.
	Signal an error for %o or %x values that are too large to be
	formatted, to avoid losing info.

2018-03-08  Glenn Morris  <rgm@gnu.org>

	Replace uses of the obsolete local-write-file-hooks

	* lisp/net/quickurl.el (quickurl-reread-hook-postfix):
	* lisp/progmodes/ebrowse.el (ebrowse-tree-mode)
	(ebrowse-write-file-hook-fn):
	* lisp/progmodes/glasses.el (glasses-mode):
	* lisp/progmodes/vhdl-mode.el (vhdl-write-file-hooks-init):
	* lisp/vc/ediff-merg.el (ediff-set-merge-mode):
	* lisp/vc/ediff-util.el (ediff-setup):
	Replace local-write-file-hooks, obsolete since 22.1,
	with write-file-functions.

2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This includes:
	2018-03-08 fflush: be more paranoid about libio.h change
	* lib/fpending.c: Copy from Gnulib.

2018-03-08  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (search-exit-option): Add option 'append'.

	(isearch-pre-command-hook): Use it.

	* doc/emacs/search.texi: Replace search-exit-option option nil with append.

	https://lists.gnu.org/r/emacs-devel/2018-03/msg00202.html

2018-03-08  Charles A. Roelli  <charles@aurox.ch>

	Add to "Completion Commands" Info node

	* doc/emacs/mini.texi (Completion Commands): Mention other keys
	for 'next-completion' and 'previous-completion', and explain 'q'
	and 'z' which are relatively new additions.

2018-03-08  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	cb0d40e (origin/emacs-26) Minor change in the manual
	7e26d83 More minor changes in the manual
	6851754 Replace some obsolete aliases in code
	6bcb48c Replace some obsolete aliases in documentation
	317da2a Minor improvements in manuals
	61c1f80 Minor copyedits in display.texi
	d523e4a Remove some unused spam.el variables
	501808c Replace some obsolete aliases in code
	19afff3 Replace some obsolete aliases in documentation
	c797bc9 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
	0efe0bd Obsolete eshell-cmpl-suffix-list
	add48d2 More minor changes in the Glossary of the Emacs manual
	f6bd7e0 Revert last commit
	af4697f Define if-let* and derivatives as aliases for if-let etc
	ec79bdc Minor fix in Emacs manual's Glossary

2018-03-08  Eli Zaretskii  <eliz@gnu.org>

	Fix 'window-text-pixel-size' when display properties are around

	* src/xdisp.c (Fwindow_text_pixel_size): Correct the result when
	there's a display property at the  TO position, and the call to
	move_it_to overshoots.  (Bug#30746)

2018-03-08  Michael Albinus  <michael.albinus@gmx.de>

	Add OpenDocument formats to Tramp file archives

	* doc/misc/tramp.texi (Archive file names):
	* lisp/net/tramp-archive.el (tramp-archive-suffixes):
	Add OpenDocument formats.

2018-03-07  Mike Kupfer  <mkupfer@alum.berkeley.edu>

	* lisp/mh-e/mh-e.el (mh-variant-set): Tweak failure message.

	* lisp/mh-e/mh-utils.el (mh-find-path): Add missing part of previous.

2018-03-07  Glenn Morris  <rgm@gnu.org>

	Suppress "No MH variant found" message (bug#30669)

	* lisp/mh-e/mh-e.el (mh-variant): Don't try to detect till needed.
	* lisp/mh-e/mh-e.el (mh-version, mh-variant-p):
	* lisp/mh-e/mh-comp.el (mh-insert-x-mailer):
	Ensure mh-variant-in-use is set.

2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	Update from Gnulib

	This includes:
	2018-03-07 maint: write-file-hooks -> before-save-hook
	2018-03-05 binary-io: pacify gcc -Wunused-parameter
	2018-03-05 fflush: adjust to glibc 2.28 libio.h removal
	* build-aux/config.guess, build-aux/config.sub:
	* build-aux/gitlog-to-changelog, build-aux/install-sh:
	* build-aux/move-if-change, build-aux/update-copyright:
	* doc/misc/texinfo.tex, lib/binary-io.h, lib/fpending.c:
	* lib/stdio-impl.h: Copy from Gnulib.

2018-03-07  Eli Zaretskii  <eliz@gnu.org>

	Fix display of TABs in hscrolled windows with line numbers

	* src/dispextern.h (struct it): New members tab_offset and
	line_number_produced_p.
	* src/xdisp.c (display_line): Don't set row->x to a negative value
	if line numbers are being displayed.  (Bug#30582)
	Reset the line_number_produced_p flag before laying out the glyph
	row.
	(x_produce_glyphs): Use the line_number_produced_p flag to decide
	whether to offset the X coordinate due to line-number display.
	Use the tab_offset member to restore the original TAB width for
	alignment purposes.
	(move_it_in_display_line_to): Don't produce line numbers when moving
	in hscrolled window to the left of first_visible_x.
	(maybe_produce_line_number): Set the line_number_produced_p flag.
	(Bug#30584)
	* src/term.c (produce_glyphs): Correct TAB width only when
	line_number_produced_p flag is set.

2018-03-06  Glenn Morris  <rgm@gnu.org>

	Condition em-cmpl's setting of pcomplete-suffix-list

	* lisp/eshell/em-cmpl.el (eshell-cmpl-initialize):
	Only set pcomplete-suffix-list if it is defined.

2018-03-05  Glenn Morris  <rgm@gnu.org>

	Suppress some font-lock-fontify-buffer compiler warnings

	* lisp/htmlfontify.el (hfy-force-fontification):
	* lisp/progmodes/idlw-help.el (idlwave-help-fontify):
	Suppress compiler warning from backwards compatibility branch.

2018-03-05  Glenn Morris  <rgm@gnu.org>

	Small auth-source-netrc-create fix

	* lisp/auth-source.el (auth-source-netrc-create):
	Fix handling of auth-source-netrc-use-gpg-tokens being a list.

2018-03-05  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/ewoc.el (ewoc-goto-node):
	Simplify and quieten compiler.

2018-03-05  Glenn Morris  <rgm@gnu.org>

	Suppress some unused lexical variable warnings in eshell

	* lisp/eshell/em-tramp.el (eshell/sudo):
	* lisp/eshell/em-unix.el (eshell/time):
	* lisp/eshell/esh-var.el (eshell/env):
	Pretend to use "args" to quieten compiler.

2018-03-05  Glenn Morris  <rgm@gnu.org>

	Suppress some compiler warnings about pcomplete

	* lisp/erc/erc-dcc.el, lisp/eshell/em-xtra.el:
	Load pcomplete at run-time too, to silence compiler.

2018-03-05  Glenn Morris  <rgm@gnu.org>

	* lisp/pcmpl-rpm.el (pcmpl-rpm-all-query): Fix typo in previous.

2018-03-04  Paul Eggert  <eggert@cs.ucla.edu>

	uniqify -> uniquify

	The latter spelling is more common both within Emacs and in
	English-language sources in general (Bug#10048).
	* lisp/eshell/esh-util.el (eshell-uniquify-list):
	Rename from eshell-uniqify-list.  All callers changed.
	* lisp/pcomplete.el (pcomplete-uniquify-list):
	Rename from pcomplete-uniqify-list.  All callers changed.

2018-03-04  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling fixes (Bug#10068)

	* lisp/gnus/gnus-score.el (gnus-score-find-favorite-words):
	Rename from gnus-score-find-favourite-words.
	* lisp/hfy-cmap.el (hfy-fallback-color-map)
	(hfy-rgb-txt-color-map, hfy-fallback-color-values):
	* lisp/htmlfontify.el (hfy-color-vals, hfy-color):
	Rename from names that used 'colour' instead of 'color'.

2018-03-04  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	f2caf08ca6 ; Spelling fixes
	f0e5f220b6 * lisp/progmodes/grep.el (zrgrep):
	a0f71260f8 Minor copyedits in doc/emacs/text.texi
	adfe2f580f Remove outdated comment in syntax.el
	b80e15b6a6 Prevent Flyspell from changing unrelated words
	e385599457 Avoid errors in flymake in builds --without-x
	d691e30cb0 More improvements of the Emacs manual

2018-03-04  Daniel Colascione  <dancol@dancol.org>

	Rename marker_free_list to misc_free_list

	* src/alloc.c: 'marker_free_list' -> 'misc_free_list' throughout

2018-03-03  Glenn Morris  <rgm@gnu.org>

	* lisp/epa-mail.el (epa-mail-default-recipients): Replace obsolete func.

2018-03-03  Glenn Morris  <rgm@gnu.org>

	Replace some obsolete functions in gnus

	* lisp/gnus/mml-sec.el (mml-secure-epg-encrypt):
	* lisp/gnus/smime.el (smime-ask-passphrase): Replace obsolete functions.

2018-03-03  Bill Wohler  <wohler@newt.com>

	Add missing findex entries for recently removed kindex entries

	* doc/misc/mh-e.texi:

2018-03-03  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (search-exit-option): Add options ‘shift-move’ and ‘move’.

	Change type from ‘boolean’ to ‘choice’.  Extend docstring.
	(isearch-pre-move-point): New variable.
	(isearch-pre-command-hook, isearch-post-command-hook):
	Handle search-exit-option for values ‘move’ and ‘shift-move’.

	* doc/emacs/search.texi (Not Exiting Isearch): Document new
	values ‘shift-move’ and ‘move’ of search-exit-option.

	https://lists.gnu.org/r/emacs-devel/2018-03/msg00013.html

2018-03-03  Glenn Morris  <rgm@gnu.org>

	Quieten gud.el and gdb-mi.el compilation

	* lisp/progmodes/gud.el (gud-gdb):
	* lisp/progmodes/gdb-mi.el (gdb):
	Suppress "unused lexical argument" warning.

2018-03-03  Eli Zaretskii  <eliz@gnu.org>

	Improve commentary in simple,el

	* lisp/simple.el (next-error-last-buffer): Improve commentary.
	(Bug#20489)

2018-03-03  Evgeni Kolev  <evgenysw@gmail.com>

	Fix font-lock in perl-mode

	* lisp/progmodes/perl-mode.el (perl-font-lock-keywords-1): Prevent
	the regexp from matching keywords if they start with a Perl sigil.
	(Bug#30549)

2018-03-02  Glenn Morris  <rgm@gnu.org>

	Quieten eshell compilation

	* lisp/eshell/em-dirs.el (eshell-dirs-initialize, eshell/pwd):
	* lisp/eshell/em-script.el (eshell-script-initialize):
	* lisp/eshell/em-unix.el (eshell/whoami):
	* lisp/eshell/esh-proc.el (eshell/jobs): Mark unused arguments.

2018-03-02  Glenn Morris  <rgm@gnu.org>

	* lisp/gnus/gnus.el (image-load-path): Declare for without-x builds.

2018-03-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	0213c8b (origin/emacs-26) mwheel minor consistency fix
	82f12b2 * src/window.c (Frecenter): Improve commentary.
	04da8f4 Fix downloading non-text files in EWW
	832b9ec ; Spelling fixes
	dd88499 ; Spelling fixes
	3968f72 Rename some mwheel options, for consistency
	d6e78de * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete...
	5fe0387 Improve the Emacs manual
	56ab8e3 * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#3...

	Conflicts:
		etc/NEWS
		lisp/mwheel.el

2018-03-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	304278c Further improvements on manuals

2018-03-01  Noam Postavsky  <npostavs@gmail.com>

	Fix issues turned up by previous python.el change

	See [1] for more discussion.
	* lisp/progmodes/python.el (python--prettify-symbols-alist): Define
	the obsolete alias before the variable proper, so that we correctly
	get the user's settings regardless of which name they set.
	(python-nav-end-of-statement): Add missing backslash.
	(python-shell-send-file): Call `expand-file-name' before
	`file-local-name', the expansion of "~" could be different on remote
	filenames.
	(python-mode): Declare prettify-symbols-alist instead of checking if
	it's bound.  Use the non-obsolete python-prettify-symbols-alist name,
	rather than checking if the obsolete name is bound (it always is too,
	but the Emacs 24 byte compiler doesn't recognize that
	define-obsolete-variable-alias defines a variable).

	[1]: https://lists.gnu.org/r/emacs-devel/2018-02/msg00826.html

2018-03-01  Glenn Morris  <rgm@gnu.org>

	* admin/automerge: Quieten initial reset.

2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	Arrange for loaddefs files to be greppable

	Without this change, ldefs-boot.el contains a couple of stray NUL
	bytes, which cause it to be considered to be a non-text file by
	tools like GNU grep.
	* lisp/emacs-lisp/autoload.el (autoload-print-form):
	Set print-escape-control-characters to t.

2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	Improve octal-escape output in bool vectors and strings

	* src/print.c (octalout): New function.
	(print_vectorlike): When printing bool vectors, use
	octal escapes for control characters when
	print-escape-control-characters is non-nil, so that
	the printed representation avoids encoding issues.
	Rename locals to avoid byte-vs-char confusion.
	(print_object): Don't output unnecessary zeros when
	printing octal escapes.  Simplify by using octalout.

2018-03-01  Glenn Morris  <rgm@gnu.org>

	Quieten nnir.el compilation

	* lisp/gnus/nnir.el (gnus-inhibit-demon, gnus-article-decode-hook):
	Declare dynamic variables.
	(nnir-request-group, nnir-retrieve-headers)
	(nnir-request-move-article, nnir-request-update-mark)
	(nnir-run-swish++, nnir-run-swish-e, nnir-run-namazu)
	(nnir-run-notmuch, nnir-registry-action)
	(nnir-request-create-group, nnir-request-delete-group)
	(nnir-request-list, nnir-request-scan): Mark unused arguments.
	(nnir-warp-to-article, nnir-run-imap, nnir-run-gmane)
	(nnir-get-active): Remove unused local variables.

2018-03-01  Glenn Morris  <rgm@gnu.org>

	* lisp/progmodes/sql.el (sql-comint-oracle): Silence compiler.

2018-03-01  Glenn Morris  <rgm@gnu.org>

	Quieten url-auth.el compilation

	* lisp/url/url-auth.el (url-digest-auth-nonce-count):
	Mark unused argument.

2018-03-01  Glenn Morris  <rgm@gnu.org>

	Quieten ses.el compilation

	* lisp/ses.el (ses--edit-cell-completion-at-point-function)
	(ses--read-printer-completion-at-point-function):
	Mark unused arguments.

2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	make-docfile: minor fixes and cleanups

	* lib-src/make-docfile.c: Include c-ctype.h.
	(read_c_string_or_comment, write_c_args, scan_c_stream, skip_white)
	(read_lisp_symbol, scan_lisp_file):
	Prefer c_isspace etc. to listing characters by hand.
	(read_c_string_or_comment): Simplify.
	(scan_c_stream, read_lisp_symbol): Use true for boolean 1.
	(scan_c_stream): Fix typo (c >= 'Z' && c <= 'Z').
	Minor rewrites to avoid duplicate code.
	(scan_c_stream, read_lisp_symbol, scan_lisp_file):
	Avoid infloop if at EOF.
	(skip_white, read_lisp_symbol): Don’t stuff getc result into
	‘char’, as this mishandles EOF.

2018-03-01  Glenn Morris  <rgm@gnu.org>

	* lisp/emulation/viper-ex.el (ex-cmd-read-exit): Silence compiler.

2018-03-01  Glenn Morris  <rgm@gnu.org>

	Quieten defun-mh compilation

	* lisp/mh-e/mh-acros.el (defun-mh):
	Rewrite so the compiler can see it always defines target function.

2018-03-01  Glenn Morris  <rgm@gnu.org>

	Quieten mh-compat compilation

	* lisp/mh-e/mh-compat.el (mh-assoc-string)
	(mh-replace-regexp-in-string): Silence compiler warnings.

2018-03-01  Glenn Morris  <rgm@gnu.org>

	Simplify mh-thread-set-tables

	* lisp/mh-e/mh-thread.el (mh-thread-set-tables):
	Rewrite to simplify and remove compiler warning.

2018-03-01  Glenn Morris  <rgm@gnu.org>

	Use select-message-coding-system in mh-comp

	* lisp/mh-e/mh-comp.el (mh-send-letter):
	Use select-message-coding-system.  (Bug#30060)

2018-03-01  Eli Zaretskii  <eliz@gnu.org>

	Remove redundant test in fns.c

	* src/fns.c (extract_data_from_object): Remove redundant
	CHECK_BUFFER test.

2018-02-28  Glenn Morris  <rgm@gnu.org>

	Quieten without-x org compilation

	* lisp/org/org.el (image-refresh):
	* lisp/org/ox-odt.el (clear-image-cache, image-size): Declare.

2018-02-28  Glenn Morris  <rgm@gnu.org>

	Quieten compilation of octave.el

	* lisp/progmodes/octave.el (compilation-forget-errors): Redeclare.

2018-02-28  Glenn Morris  <rgm@gnu.org>

	* configure.ac (with_gconf): Respect --without-all.

2018-02-28  Glenn Morris  <rgm@gnu.org>

	Quieten eshell compilation

	* lisp/eshell/em-tramp.el: Require esh-cmd.
	* lisp/eshell/esh-ext.el: Require esh-io at runtime too.

2018-02-28  Glenn Morris  <rgm@gnu.org>

	* lisp/url/url-handlers.el (mm-charset-to-coding-system): Declare.

2018-02-28  Glenn Morris  <rgm@gnu.org>

	Fix header comment in generated bovine grammar file

	* lisp/cedet/semantic/bovine/grammar.el (bovine--make-parser-1):
	Fix header comment in generated scm-by.el.

2018-02-28  Glenn Morris  <rgm@gnu.org>

	Quieten cedet "might not be defined at runtime" compile warnings

	* admin/grammars/scheme.by (semantic-parse-region):
	* lisp/cedet/ede.el (ede--project-inode):
	* lisp/cedet/semantic/texi.el (semantic-analyze-context):
	Declare.

2018-02-28  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	fd50238 (origin/emacs-26) * doc/lispref/streams.texi (Output Variable...
	769ea57 Use "GTK+" where applicable in the manual
	5e69219 Document print-escape-control-characters
	c00fea9 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
	a2ab0d0 * doc/emacs/killing.texi (Rectangles): Don't use @key for cha...
	6288c3d * lisp/emulation/viper.el: Unbreak it.
	bf3535e More fixes in the Emacs manual
	c87d04e Avoid aborts in 'md5'
	9743f48 Mark keys consistently in manuals
	ce557a9 Remove @key{} markups from @kindex entries in manuals
	71243f0 * doc/emacs/display.texi (Standard Faces): Fix markup of inde...
	7a069f3 Fix @kindex entries in manuals
	6218933 Fix @cindex entries in manuals
	57c9f12 Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs into...
	e415309 Fix @cindex entries in org.texi
	560a23e Document reserved keys
	105d085 * doc/misc/ebrowse.texi: Use @key{} for keys.

	Conflicts:
		doc/misc/tramp.texi
		etc/NEWS

2018-02-28  Michael Albinus  <michael.albinus@gmx.de>

	Some minor Tramp tweaks

	* lisp/net/tramp-adb.el (tramp-adb-get-ls-command): Fix docstring.

	* lisp/net/tramp-sh.el (tramp-vc-registered-read-file-names):
	Quote file.

	* lisp/net/tramp.el (tramp-handle-substitute-in-file-name):
	Make it more robust.

2018-02-28  Dmitry Gutov  <dgutov@yandex.ru>

	Support PREDICATE in ido-read-buffer

	* lisp/ido.el (ido-predicate): New variable.
	(ido-read-buffer): Bind it.
	(ido-make-buffer-list): Use it.

2018-02-27  Dmitry Gutov  <dgutov@yandex.ru>

	xref--next-error-function: Move xref's window point

	* lisp/progmodes/xref.el (xref--next-error-function): Move
	xref's window point if it's visible.  When we don't do that,
	navigation can start looping after a while.

2018-02-27  Dmitry Gutov  <dgutov@yandex.ru>

	Fix xref--next-error-function behavior WRT current buffer

	* lisp/progmodes/xref.el (xref--show-location): Make sure to
	make the target window selected at the end, and its buffer
	current (bug#20489).

2018-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/mm-decode.el: Use lexical-binding and use cl-lib

	(mm-display-parts): Remove unused arg 'no-default'.  Use 'cond'.
	(mm-display-external): Use closures rather than `(lambda ...).
	Don't bother with 'lexical-let'.
	(mm-insert-part): No need for string-to-multibyte now that
	'insert' will do that for us now (it used to behave more like
	string-make-multibyte).
	(mm-pipe-part): Remove unused var 'name'.
	(shr-width, shr-content-function, shr-inhibit-images): Declare.
	(mm-shr): Use a closure rather than `(lambda ...).

2018-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/mm-extern.el: Use lexical-binding

	Don't require 'cl'.
	(mm-extern-anon-ftp): Remove unused var 'mode'.

2018-02-27  Noam Postavsky  <npostavs@gmail.com>

	Fix python.el for Emacs 24, bump ELPA version to 0.26.1 (Bug#30633)

	Since python.el is distributed via GNU ELPA, it should be functional
	in earlier Emacs versions.  Also fix some compile warnings.
	* lisp/progmodes/python.el: Bump version to 0.26.1.  Define
	`prog-first-column' and `file-local-name' also at compile time, as
	needed.
	(inferior-python-mode-hook): Declare for the benefit of Emacs 24.3.
	(python-nav-end-of-statement): Fix format string for assertion error.
	(python-shell-tramp-refresh-process-environment): Don't `function'
	quote a symbol which might not be fbound.
	(python-mode): Only use prettify-symbols settings if they're bound.

2018-02-27  Glenn Morris  <rgm@gnu.org>

	* lisp/nxml/nxml-mode.el (nxml-mode): Remove warning due to #'.

2018-02-27  Glenn Morris  <rgm@gnu.org>

	Quieten without-x gnus compilation

	* lisp/gnus/gnus-group.el (image-load-path-for-library):
	* lisp/gnus/gnus-sum.el (image-load-path-for-library):
	* lisp/gnus/message.el (image-load-path-for-library): Declare.
	* lisp/gnus/gnus-cloud.el (gnus-group-refresh-group):
	* lisp/gnus/mml.el (image-property): Autoload.

2018-02-27  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (next-error-find-buffer-function): Set default to #'ignore.

	(next-error-find-buffer): Don't check next-error-find-buffer-function
	for nil.  (Bug#20489)

2018-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/dired.el (dired-get-filename): Don't string-to-multibyte

	We don't need to convert manually to multibyte now that Emacs doesn't silently
	convert (uni)bytes into latin-N chars depending on locale any more.

2018-02-27  Glenn Morris  <rgm@gnu.org>

	Remove last vestiges of obsolete font-lock-face-attributes

	* lisp/ps-print.el (ps-font-lock-face-attributes): Remove function.
	(ps-build-reference-face-lists):
	No longer call ps-font-lock-face-attributes.
	* lisp/font-lock.el (font-lock-face-attributes):
	Remove stale declaration.

2018-02-27  Glenn Morris  <rgm@gnu.org>

	Remove free variable warning when compiling viper using .el files

	* lisp/emulation/viper-cmd.el (viper-saved-mark): Move definition...
	* lisp/emulation/viper-util.el (viper-saved-mark): ... to here.

2018-02-27  Aaron Jensen  <aaronjensen@gmail.com>

	Require a larger stack size for threads (bug#30364)

	* src/systhread.c (sys_thread_create) [THREADS_ENABLED && HAVE_PTHREAD]:
	Require at least 8MB stack size for x64 and 4MB for x86.

2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This includes:
	2018-02-27 environ: fix link error on 32-bit Cygwin
	* doc/misc/texinfo.tex, lib/unistd.in.h: Copy from gnulib.

2018-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/mm-util.el: Use lexical-binding and use cl-lib

	(mm-iso-8859-x-to-15-region): Remove unused var 'charset'.
	(mm-with-unibyte-buffer, mm-with-multibyte-buffer): Use 'declare'.
	(mm-with-unibyte-current-buffer): Remove.

2018-02-27  Michael Albinus  <michael.albinus@gmx.de>

	Add ".msu" to Tramp file archives

	* doc/misc/tramp.texi (Archive file names):
	* lisp/net/tramp-archive.el (tramp-archive-suffixes):  Add ".msu".

2018-02-26  Glenn Morris  <rgm@gnu.org>

	* lisp/dired-aux.el (dired-create-destination-dirs): Doc fix.

2018-02-26  Mathieu Othacehe  <mathieu.othacehe@parrot.com>  (tiny change)

	Add coreutils 'ls' support for tramp adb

	* lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Allow '.'
	character in file permissions. It indicates an SELinux security
	context.
	(tramp-adb-get-ls-command): Detect Coreutils version of 'ls'.
	Use 'ls -1' instead of passing COLUMNS=1 env variable. This is
	isofunctional.  (Bug#30594)

2018-02-26  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem in tramp-handle-substitute-in-file-name

	* lisp/net/tramp.el (tramp-handle-substitute-in-file-name): Concat "/"
	only for local file "~".

2018-02-26  Glenn Morris  <rgm@gnu.org>

	Remove leading * from two defcustom doc strings

	* lisp/gnus/mm-util.el (mm-extra-numeric-entities):
	* lisp/progmodes/cperl-mode.el (cperl-indent-subs-specially):
	Remove obsolete leading * from defcustom doc string.

2018-02-26  Glenn Morris  <rgm@gnu.org>

	Quieten without-x, without-xml2 builds

	* lisp/help.el (x-display-pixel-height, x-display-pixel-width):
	* lisp/image.el (image-flush, image-size):
	* lisp/textmodes/sgml-mode.el (libxml-parse-html-region):
	Declare for compiler.

2018-02-26  Glenn Morris  <rgm@gnu.org>

	Quieten without-x mwheel.el compilation

	* lisp/mwheel.el (mwheel-tilt-scroll-p, mwheel-flip-direction)
	(mwheel-scroll-left-function, mwheel-scroll-right-function)
	(mouse-wheel-left-event, mouse-wheel-right-event):
	Move definitions before use.

2018-02-26  Glenn Morris  <rgm@gnu.org>

	* lisp/net/zeroconf.el (dbus-debug): Declare for builds without dbus.

2018-02-26  Glenn Morris  <rgm@gnu.org>

	Quieten without-x lisp compilation

	* lisp/international/fontset.el (fontset-alias-alist):
	* lisp/term/ns-win.el (mouse-wheel-scroll-amount)
	(mouse-wheel-progressive-speed): Declare for without-x builds.

2018-02-26  Glenn Morris  <rgm@gnu.org>

	* lisp/net/rcirc.el (rcirc-prompt-start-marker): Define before using.

	* lisp/term/ns-win.el (ns-version-string): Declare for non-ns builds.

2018-02-26  Glenn Morris  <rgm@gnu.org>

	Remove compiler warnings due to #'

	* lisp/gnus/mm-decode.el (mm-convert-shr-links):
	* lisp/ps-print.el (ps-print-region-function):
	Remove compiler warnings due to #'.

2018-02-26  Glenn Morris  <rgm@gnu.org>

	Update some lisp function declarations

2018-02-26  Daniel Colascione  <dancol@dancol.org>

	Make bare "make" in src actually build emacs again

	* src/Makefile.in (all): Move target ahead of dep-file inclusion.

2018-02-26  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	* build-aux/config.guess, build-aux/config.sub: Copy from gnulib.

2018-02-24  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	560a23e (origin/emacs-26) Document reserved keys
	b0be19b ; * doc/emacs/xresources.texi (Table of Resources): Fix last ...

2018-02-24  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	7e7f2ea (origin/emacs-26) * src/keyboard.c (syms_of_keyboard): Doc fi...
	c0676d4 Improve documentation of X resources
	d806d69 ; Use @minus for negative numbers in some texi files
	4a8ea7d * lisp/international/mule.el (keyboard-coding-system): Doc fix.
	8a73b80 Minor doc fixes, mostly for timestamp issues
	361a8b9 * doc/emacs/mini.texi (Completion Styles): Improve indexing.
	2dc24d5 Fix @findex and @vindex entries in manuals
	76f5242 Document, in the Elisp manual, how to get a character's raw s...
	5fb2957 Improvements in the Emacs manual
	de17b8e Tiny doc/misc markup fixes

2018-02-24  Robert Pluim  <rpluim@gmail.com>

	Describe 'view-lossage' changes in its docstring and NEWS

	* lisp/help.el (view-lossage): Mention that this now uses the same
	format as `edit-last-kbd-macro'.  (Bug#30560)

	* etc/NEWS: Improve the wording of the entry.

2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	* .gitignore: revert latest change; not currently needed

2018-02-23  Glenn Morris  <rgm@gnu.org>

	* lisp/vc/vc-git.el: Silence compiler.

	* admin/automerge: Quieten initial pull if start with reset.

2018-02-22  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation from recent changes

	* lisp/isearch.el (isearch-yank-symbol-or-char): Doc fix.

	* doc/emacs/search.texi (Isearch Yank): Fix wording.
	* doc/emacs/building.texi (Grep Searching): Fix last change.

2018-02-22  Daniel Colascione  <dancol@dancol.org>

	Add more build outputs to .gitignore

	* .gitignore: Add more generated files

2018-02-22  Daniel Colascione  <dancol@dancol.org>

	Add isearch-yank-symbol-or-char

	* doc/emacs/search.texi (Isearch Yank): Document new
	function, keybindings.

	* etc/NEWS: Mention isearch changes.

	* lisp/isearch.el (isearch--yank-char-or-syntax): New function.
	(isearch-yank-word-or-char): Call it.
	(isearch-yank-symbol-or-char): New function.
	(isearch-mode-map): Change 'C-M-w' binding from
	'isearch-del-char' to isearch-yank-symbol-or-char; add 'C-M-d'
	binding for 'isearch-del-char'.

2018-02-22  Daniel Colascione  <dancol@dancol.org>

	Remove unnecessary explicit subword-mode use from isearch

	* lisp/isearch.el (isearch-yank-word-or-char): Remove explicit
	use of subword-mode. These days, subword-mode use is an
	automatic side effect of forward-word.

2018-02-22  Glenn Morris  <rgm@gnu.org>

	* lisp/vc/vc-git.el: Avoid bootstrap errors since recent grep change.

	The introduction of grep-find-hide-properties caused an
	"invalid read syntax" failure when saving ja-dic.el,
	when vc-git.el loaded grep.el.  Fortunately, vc-git doesn't
	actually need to load grep when being compiled.

2018-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/emacs-lisp/package-tests.el: Improve signature tests

	(package-test-signed): Don't rely on return value of 'package-install'.
	Make sure 'package-install' does indeed install the package.

2018-02-22  Juri Linkov  <juri@linkov.net>

	* lisp/help.el (view-lossage): Use the same format as in edit-last-kbd-macro.

	Call comment-indent with let-bound comment-start and comment-column.
	(Bug#30560)

2018-02-22  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/grep.el (grep-find-hide): New defcustom (bug#30503).

	(grep-find-hide-properties): New variable.
	(grep-mode-font-lock-keywords): Put grep-find-hide-properties
	on part of grep command line.
	(grep-find-show): New function.
	* doc/emacs/building.texi (Grep Searching): Document grep-find-hide.

2018-02-22  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	83187cd (origin/emacs-26) Skip mouse-face overlap check when mouse-fa...
	a6d8f2b Fix capitalization of "Mail-Followup-To"
	f9640f9 * lisp/progmodes/grep.el (grep-compute-defaults):
	3a26c8a Semantic manual fixes
	106a9f6 More improvements in the Emacs manual
	244db85 * doc/misc/viper.texi (File and Buffer Handling): Add missing...
	f0d6a16 Fix documentation of 'x-underline-at-descent-line'
	69a8f45 * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
	05214c6 Correct variable markup in manuals
	355c644 Improve the "Sending Mail" chapter of Emacs manual

	Conflicts:
		src/nsterm.m
		src/w32term.c

2018-02-22  Alexei Khlebnikov  <alexei.khlebnikov@gmail.com>

	Fix for: "25.0.50; auto-revert-mode breaks git rebase" (Bug#21559)

	* lisp/autorevert.el (auto-revert-handler):
	Set "revert-buffer-in-progress-p" flag before calling
	"vc-refresh-state".

	* lisp/vc/vc-git.el (vc-git-command):
	If "revert-buffer-in-progress-p" flag is set, prepend
	"GIT_OPTIONAL_LOCKS=0" to "process-environment".  (Bug#21559)

2018-02-22  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#30533

	* lisp/net/ange-ftp.el (ange-ftp-file-regular-p)
	(ange-ftp-real-file-regular-p): New defuns.  (Bug#30533)

2018-02-21  Glenn Morris  <rgm@gnu.org>

	* admin/automerge (merge): Report no. of commits if too few.

2018-02-21  Glenn Morris  <rgm@gnu.org>

	Speed up parallel make check by testing slower files first

	* test/Makefile.in (SLOW_TESTS): New variable.
	(ELFILES): Move slow tests to the front.

2018-02-21  Glenn Morris  <rgm@gnu.org>

	* admin/automerge: Speed up check phase.

2018-02-21  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (next-error-find-buffer-function): New defcustom.

	(next-error-last-buffer): Make variable buffer-local.
	(next-error-buffer-on-selected-frame): New function.
	(next-error-find-buffer): Use next-error-find-buffer-function
	at the first step instead of ad-hoc logic of using one window
	on the selected frame.
	(next-error, next-error-internal): Set default value of
	next-error-last-buffer.  Display message with the name of last
	next-error buffer.
	(next-error-select-buffer): New command.
	(Bug#20489)

2018-02-21  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-dispatcher.el (vc-do-command): Bind message-truncate-lines to t

	to keep entire commands in *Messages* but avoid resizing the echo area.
	Rephrase messages in a such way that the important parts are
	at the beginning.  (Bug#19045)

2018-02-21  Eli Zaretskii  <eliz@gnu.org>

	Another fix for cross-references

	* doc/emacs/package.texi (Package Installation): Fix references to
	"Early Init".  (Bug#30552)

2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent MAX_RW_COUNT checks to POSIX

	* src/sysdep.c (MAX_RW_COUNT): Verify that it fits in POSIX standard
	types, to go along with already-existing checks for MS-Windows types.
	(emacs_intr_read): eassert on all platforms, not just MS-Windows.

2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This includes:
	2018-02-18 warnings: Add support for Objective C
	2018-02-03 stdlib: Fix compilation error on OpenIndiana
	* lib/gnulib.mk.in: Regenerate.
	* lib/stdlib.in.h, m4/getloadavg.m4, m4/stdlib_h.m4, m4/warnings.m4:
	Copy from gnulib.

2018-02-20  Sam Steingold  <sds@gnu.org>

	command-history-mode inherits from special-mode

	(command-history-mode-map): Add `special-mode-map' to parents.
	(command-history-mode): Parent is `special-mode', not
	`fundamental-mode', set `revert-buffer-function'.
	(command-history-revert): Define for `revert-buffer-function'.

2018-02-20  Eli Zaretskii  <eliz@gnu.org>

	Fix reference in Emacs manual

	* doc/emacs/custom.texi (Early Init File): Fix reference to ELisp
	manual.  (Bug#30552)

2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix false alarm with recent GCC x86

	* src/lread.c (Fload): Use UNINIT to pacify -Wmaybe-uninitialized
	false alarm on Fedora 27 x86 with GCC 7.3.1 20180130 (Red Hat 7.3.1-2).

2018-02-20  Sam Steingold  <sds@gnu.org>

	ns_appsrc is not disjoint with srcdir/ns_appsrc

	(links): Avoid "file already exists" errors
	by removing the existing file.

2018-02-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	226aca3 (origin/emacs-26) Fix documentation of 'flyspell-auto-correct...
	a8c8434 * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
	275e735 More changes in the Emacs manuals
	d962be5 More fixes in the Emacs manual
	6dc2846 * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
	36e729f Minor edit in tramp.texi
	6537f99 ; Fix oversight from last commit
	eb94588 ; * doc/emacs/maintaining.texi: Fix two typos.
	258135f More improvements in the Emacs manual
	f138bca Improve documentation of 'electric-pair-mode'
	f74ab96 ; Spelling and grammar fixes.
	42f9dc4 ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ...

2018-02-19  Eli Zaretskii  <eliz@gnu.org>

	Add assertion to guard 'read' calls on MS-Windows

	* src/sysdep.c (emacs_intr_read): Assert that NBYTES never
	overflows a 32-bit int.

2018-02-19  Michael Albinus  <michael.albinus@gmx.de>

	Add ".xpi" to Tramp file archives

	* doc/misc/tramp.texi (Archive file names):
	* lisp/net/tramp-archive.el (tramp-archive-suffixes): Add ".xpi".

2018-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/elisp-mode.el (eval-sexp-add-defvars): Don't macroexpand.

	Otherwise it breaks C-M-x on (progn (defmacro x ..) (... (x ...))).
	Furthermore, many callers do their own macroexpansion anyway.
	(elisp--eval-last-sexp): Do macroexpansion to make up for it.

2018-02-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/diff-mode.el (diff-wiggle): New command.

2018-02-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/startup.el (load-user-init-file): Use condition-case-unless-debug.

	(argv, argi): Silence compiler warning.

2018-02-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/icalendar.el: Fix compilation warnings

	(icalendar-export-region): Remove unused vars 'start', 'sum', and
	'contents-n-summary'.
	(icalendar--parse-summary-and-rest): Remove unused var 'pos-sum' and 'sum'.
	(icalendar--convert-float-to-ical): Use calendar-let* to bind vars
	'date' and 'entry'.
	(icalendar--convert-non-recurring-all-day-to-diary):
	Remove 'event' arg.  Update callers.
	(icalendar--convert-non-recurring-not-all-day-to-diary): Remove 'event'
	and 'dtend-dec' args.  Update callers.

2018-02-17  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/package.texi (Packaging Basics): Fix xref.

2018-02-17  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	e5a2933 (origin/emacs-26) lisp/vc/: documentation fixes
	f21f8e6 Document 'desktop-files-not-to-save'
	d8917eb Improve documentation of Profiling features
	b228839 Improve indexing of "performance" in ELisp manual
	ab67b3e Minor change in Emacs manual's VC chapter
	c352434 Avoid memory corruption with specpdl overflow + edebug (Bug#3...
	593bbda Document comment-fill-column in the manual (Bug#11636)
	bd4cc8d * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
	69107f3 ; Fix doc typos related to indefinite articles
	aaad1e6 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
	5906418 More fixes for the Emacs manual
	9ab3df1 ; Fix doc typos related to indefinite articles
	66a4e65 ; Fix doc typos related to indefinite articles
	35e5c57 ; Fix doc typos related to indefinite articles

2018-02-17  Noam Postavsky  <npostavs@gmail.com>

	Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)

	* configure.ac: Use EMACS_CHECK_MODULES fors LCMS2 rather than
	AC_SEARCH_LIBS.
	* src/Makefile.in: Get LCMS2_LIBS and LCMS2_CFLAGS from configure,
	instead of just LIBLCMS2.

2018-02-17  Allen Li  <darkfeline@felesatra.moe>

	Preserve special abbrev properties when writing

	Fixes bug#29924

	* lisp/abbrev.el (abbrev--write): Write abbrev properties when set.

2018-02-17  Alan Third  <alan@idiocy.org>

	Fix modifier key handling on macOS

	* configure.ac: Use the Carbon framework on macOS.
	* src/nsterm.m (ns_get_shifted_character) [NS_IMPL_COCOA]: New function.
	(EmacsView::keyDown) [NS_IMPL_COCOA]: Use ns_get_shifted_character
	when we have shift style modifiers.

2018-02-17  Eli Zaretskii  <eliz@gnu.org>

	Make echo-area buffers  almost always multibyte

	* src/xdisp.c (setup_echo_area_for_printing, set_message_1): Ensure
	the echo-area buffer is multibyte, unless
	unibyte-display-via-language-environment is non-nil, and the text
	we are to display is or could be unibyte.  (Bug#30405)

2018-02-17  Radon Rosborough  <radon.neon@gmail.com>

	Add early init file, stop package-initialize insertion

	Discussion on emacs-devel leading up to this change (approximately 150
	messages):

	- https://lists.gnu.org/r/emacs-devel/2017-08/msg00154.html
	- https://lists.gnu.org/r/emacs-devel/2017-08/msg00433.html
	- https://lists.gnu.org/r/emacs-devel/2017-09/msg00023.html
	- https://lists.gnu.org/r/emacs-devel/2017-09/msg00599.html
	- https://lists.gnu.org/r/emacs-devel/2017-10/msg00332.html

	* lisp/startup.el (early-init-file): New variable.
	(load-user-init-file): New function.
	(command-line): Load the early init file using `load-user-init-file'.
	Move the check for an invalid username to just before that, and move
	the initialization of the package system to just after.  Load the
	regular init file using `load-user-init-file'.
	* lisp/emacs-lisp/package.el (package--ensure-init-file): Remove
	definition, usage, and documentation.
	(package--init-file-ensured): Remove definition and usage.

	* src/lread.c (Vuser_init_file): Note change in semantics due to its
	usage while loading the early init file.

	* doc/emacs/custom.texi: Document early init file.
	* doc/emacs/package.texi: Document changes to when package-initialize
	is called.  Change terminology for package 'loading'.
	* doc/lispref/os.texi: Document early init file.  Update startup
	summary.
	* doc/lispref/package.texi: Document changes to when
	package-initialize is called, and advise against calling it in the
	init file.  Change terminology for package 'loading'.
	* doc/misc/org.texi: Don't recommend to call package-initialize in the
	init file.

2018-02-17  Alan Mackenzie  <acm@muc.de>

	Fix the change from 2018-02-15 which didn't mention literals

	* doc/emacs/programs.texi (Left Margin Paren): Document that opening
	delimiters at column 0 which are inside strings or comments aren't regarded as
	defun starts.

2018-02-16  Glenn Morris  <rgm@gnu.org>

	Quieten compilation of icalendar.el

	* lisp/calendar/icalendar.el (icalendar-import-buffer)
	(icalendar--convert-ical-to-diary, icalendar--add-diary-entry):
	Eliminate "Lexical argument shadows the dynamic variable" warning.

2018-02-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	a06a8ed (origin/emacs-26) ; * lisp/vc/vc-git.el (vc-git--program-vers...
	edc06ad Make 'byte-compile-error-on-warn' a safe file variable
	9f5d8da ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ...
	f73905a Fix the doc string of flyspell-auto-correct-word
	e9c7ddc Improve the MS-Windows appendix of the Emacs manual
	6ddb4bd Fix 'vc-git--program-version'
	63c93f7 Fix typos and wording in the Emacs manual
	42f15b0 * doc/emacs/programs.texi (Semantic): Order programming langu...
	b46be29 More improvements for the Emacs manual
	874c0ed Minor wording change in Emacs manual
	53511f9 Another set of changes for the manual
	78426b8 Improvements on tramp.texi
	0dca618 Tramp minor doc fixes

	Conflicts:
		doc/misc/tramp.texi

2018-02-16  Matthias Dahl  <matthias.dahl@binary-island.eu>

	Fix wait_reading_process_output wait_proc hang

	* src/process.c (read_process_output): Track bytes read from
	a process.
	(wait_reading_process_output): If called recursively through
	timers and/or process filters via accept-process-output, it is
	possible that the output of wait_proc has already been read by
	one of those recursive calls, leaving the original call hanging
	forever if no further output arrives through that fd and no
	timeout has been set.  Fix that by using the process read
	accounting to keep track of how many bytes have been read and
	use that as a condition to break out of the infinite loop and
	return to the caller as well as to calculate the proper return
	value (if a wait_proc is given that is).

	* src/process.h (struct Lisp_Process): Add nbytes_read to track
	bytes read from a process.

2018-02-16  Aaron Jensen  <aaronjensen@gmail.com>

	Don't flash previous buffer when connecting with emacsclient

	* lisp/server.el (server-execute): Accept lambda for creating
	frame rather than frame.  Ensure newly created tty frame
	initially shows the correct buffer.
	(server-process-filter): Pass a lambda to server-execute to create
	a frame.  (Bug#24218)

2018-02-15  Alan Mackenzie  <acm@muc.de>

	Document open-paren-in-column-0-is-defun-start being of less importance

	* doc/emacs/programs.texi (Left Margin Paren): Update to reflect the recent
	change in syntax.c, whereby a paren at column 0 is no longer taken as a
	beginning of defun in moving backwards over comments.

2018-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/diary-lib.el (diary-remind): Fix bug#30455.

	(diary-remind): Bind `days' as documented for diary-remind-message.

2018-02-13  Glenn Morris  <rgm@gnu.org>

	Stop keeping multiple doc copies for items defined multiple times

	It was always a nuisance to keep all the copies in sync.
	* src/doc.c (Fsnarf_documentation): Don't skip entire files.
	Instead, skip individual doc strings starting with "SKIP".
	* doc/lispref/internals.texi (Writing Emacs Primitives):
	Mention this skipping.
	* lisp/term/ns-win.el, lisp/term/pc-win.el, src/dosfns.c:
	* src/frame.c, src/nsfns.m, src/nsmenu.m, src/nsterm.m:
	* src/w16select.c, src/w32fns.c, src/w32menu.c, src/w32select.c:
	* src/w32term.c, src/xmenu.c: Remove duplicated doc strings.
	* src/xfns.c: Merge in information from doc string duplicates.

2018-02-13  Glenn Morris  <rgm@gnu.org>

	Doc tweak for x-use-underline-position-properties

	* src/xterm.c (syms_of_xterm) <x-use-underline-position-properties>:
	Remove ancient information from doc.
	* etc/PROBLEMS: Related edit.

2018-02-13  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	333d6f4 (origin/emacs-26) More changes in the Emacs manual
	52ca0d1 * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
	69e8046 Don't signal error in vc-deduce-backend
	f568c91 * doc/misc/tramp.texi: Index more user options.
	92ca881 Minor change in the Emacs manual
	e055a12 NEWS update about 'string-trim'
	96b6e24 Clarify TRAMP process-environment interaction (Bug#30419)
	4fa467e * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
	a22820a Avoid aborts in cm.c due to too small TTY frame
	26f6441 Another set of improvements in the Emacs manual
	cef3b42 Fix help in mode-line-mode-menu
	f8a493c Improve documentation of desktop restoring
	10637af Improve the Emacs manual's chapter "Frames"
	d924953 Fix unbound mm-uu-entry in mm-uu
	cb2487b Improve Emacs user manual in fixit.texi
	66e9527 Another minor change in the manual
	6a1c03d More minor changes in the Emacs manual
	32fb8c4 Avoid printing garbled error message from image.el

	Conflicts:
		etc/NEWS
		lisp/image.el

2018-02-13  Philipp Stephani  <phst@google.com>

	Fix NS-related compilation errors.

	* src/nsterm.m (ns_set_represented_filename): Remove unused variable
	'view'.

	* src/nsfns.m (x_implicitly_set_name, syms_of_nsfns): The type of a
	variable defined with DEFVAR_BOOL is 'bool', not 'Lisp_Object'.

2018-02-12  Rami Ylimäki  <rami.ylimaki@vincit.fi>

	Expand direct color description in Emacs FAQ

	* doc/misc/efaq.texi (Colors on a TTY): Show how to list direct
	mode TERM definitions.  (Bug#30429)

2018-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el (message-ecomplete-capf): Fix call convention.

2018-02-12  Noam Postavsky  <npostavs@gmail.com>

	* lisp/progmodes/python.el: Bump package version to 0.26.

2018-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	Work if libpng is in /usr/local (2nd try)

	Problem reported by Werner Lemberg in:
	https://lists.gnu.org/r/emacs-devel/2018-02/msg00304.html
	with a further fix suggested by Glenn Morris in Bug#30431#14.
	* configure.ac: Try pkg-config before libpng-config.
	Adjust LIBPNG accordingly, and append -lz regardless of
	whether it was pkg-config.

2018-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	Finish renaming to internal--daemon-sockname

	* doc/lispref/processes.texi (Misc Network): Omit discussion of
	internal--daemon-sockname, as non-Emacs code shouldn't rely on it.
	* src/process.c (syms_of_process): Rename internal-daemon-sockname
	to internal--daemon-sockname.  All uses changed.

2018-02-12  Matthew Leach  <matthew@mattleach.net>

	Rename internal--external-sockname and document (Bug#24218)

	* lisp/server.el: Rename `internal--external-sockname' to
	  `internal-daemon-sockname'.
	* src/process.c: Likewise.
	* doc/lispref/processes.texi: Document `internal-daemon-sockname'.

2018-02-12  Matthew Leach  <matthew@mattleach.net>

	Update `server-name' :version & document sockname (Bug#24218)

	* lisp/server.el: (server-name): Update :version tag.
	* etc/NEWS: Document that `server-name' and `server-socket-dir'
	  automatically update.
	* doc/emacs/misc.texi: (Emacs Server): Likewise.

2018-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	Minor cleanups for server-name fix (Bug#24218)

	* lisp/server.el (server--external-socket-initialized): Rename
	from server-external-socket-initialised, since it should be
	private and Emacs uses American spelling.  All uses changed.
	* src/emacs.c, src/lisp.h: Revert previous changes, as the
	initialization is now done in src/process.c, which already
	includes the relevant files.
	* src/process.c (union u_sockaddr): Move decl to top level.
	(external_sock_name, Fget_external_sockname): Remove, replacing
	with Vinternal__external_sockname.  All uses changed.
	(init_process_emacs): Deduce socket name ourselves rather than
	have main.c do it.  Use conv_sockaddr_to_lisp instead of doing
	it by hand.  Conditionalize it on HAVE_GETSOCKNAME.

2018-02-12  Matthew Leach  <matthew@mattleach.net>

	Fix `server-name' and `server-socket-dir' for (Bug#24218)

	* lisp/server.el: (server-external-socket-initialised): New
	(server-name): Compute server name from `get-external-sockname'.
	(server-socket-dir): Compute socket dir from
	`get-external-sockname'.
	(server-start): Don't check for existing server when an
	uninitialized external socket has been passed to Emacs.
	* src/emacs.c: (main): Obtain socket name via getsockname and pass
	to `init_process_emacs'.
	* src/lisp.h: (init_process_emacs): Add second parameter.
	* src/process.c: (external_sock_name): New.
	(get-external-sockname): New.
	(init_process_emacs): Set `external_sock_name' to `sockname'
	parameter.

2018-02-12  Tom Tromey  <tom@tromey.com>

	Minor fixes to .gdbinit

	* src/.gdbinit (xcompiled): Emit a final newline.
	(python): Define "long" if not already defined.  Use casts to long,
	not int.

2018-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	Revert libpng /usr/local patch

	It broke builds on Arch, Debian, OpenSuSE; see thread containing:
	https://lists.gnu.org/r/2018-02/msg00330.html
	* configure.ac: Don't try pkg-config; just use libpng-config.

2018-02-11  Paul Eggert  <eggert@cs.ucla.edu>

	Work even if libpng is installed in /usr/local

	Problem reported by Werner Lemberg in:
	https://lists.gnu.org/r/emacs-devel/2018-02/msg00304.html
	* configure.ac: Try pkg-config before libpng-config.

2018-02-11  Dmitry Gutov  <dgutov@yandex.ru>

	Fix an infloop in python-nav-beginning-of-statement

	* lisp/progmodes/python.el (python-nav-beginning-of-statement):
	Fix an infloop (bug#30277).

2018-02-11  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from pkg-config

	* m4/pkg.m4: Copy from pkg-config 0.29.2.

2018-02-11  Alan Third  <alan@idiocy.org>

	Fix modifier keys on NS port

	* src/nsterm.m (EV_MODIFIERS_OPTION):
	(EV_MODIFIERS_CONTROL):
	(EV_MODIFIERS_COMMAND): New macros.
	(ev_modifiers_helper): New function.
	(EV_MODIFIERS2): Use new helper function.
	(EmacsView::keyDown): Remove duplicate functionality and handle fn key
	correctly.

2018-02-11  Alan Third  <alan@idiocy.org>

	Tidy up NS keybindings

	* lisp/term/ns-win.el: Remove unneeded mappings to super-shifted keys.

2018-02-11  Alan Third  <alan@idiocy.org>

	Remove NS special handling of 'frame-title-format'

	* lisp/term/ns-win.el (frame-title-format, icon-title-format): Change
	default format to just the filename.
	* src/nsfns.m (ns-use-proxy-icon): New variable.
	(ns_set_name_as_filename): Remove function.
	(x_implicitly_set_name): Get rid of special handling of
	frame-title-format.
	* src/nsterm.h (ns_set_represented_filename): Use new definition.
	* src/nsterm.m (ns_set_represented_filename): Move some of the logic
	from ns_set_name_as_filename into this function.

2018-02-11  Paul Eggert  <eggert@cs.ucla.edu>

	* src/xdisp.c (Vmessage_stack): Fix comment to match code.

2018-02-11  Michael Albinus  <michael.albinus@gmx.de>

	Fix handling of file notifications in tramp-gvfs.el

	* lisp/net/tramp-archive.el (tramp-archive-dissect-file-name):
	Fix docstring.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
	Use consequently "gio monitor".
	(tramp-gvfs-monitor-process-filter): Rename from
	`tramp-gvfs-monitor-file-process-filter'.  Adapt implementation.

	* lisp/net/tramp-sh.el (tramp-gio-events): Move this ...
	* lisp/net/tramp.el (tramp-gio-events): ... here.

2018-02-10  Juri Linkov  <juri@linkov.net>

	* lisp/window.el (display-buffer--maybe-at-bottom): New function (bug#30314).

	(display-buffer--maybe-pop-up-frame)
	(display-buffer--maybe-pop-up-window): New functions created from
	display-buffer--maybe-pop-up-frame-or-window.
	(display-buffer--maybe-pop-up-frame-or-window): Call
	display-buffer--maybe-pop-up-frame or
	display-buffer--maybe-pop-up-window.
	(display-buffer-at-bottom): Fix parens.

	* lisp/minibuffer.el (minibuffer-completion-help): Use
	display-buffer--maybe-pop-up-frame instead of let-binding
	pop-up-windows to nil.

	* lisp/files.el (hack-local-variables-confirm)
	(save-buffers-kill-emacs): Use display-buffer--maybe-at-bottom.

2018-02-10  Juri Linkov  <juri@linkov.net>

	* lisp/comint.el (comint-after-pmark-p): Check if buffer has a live process.

	Return nil if not.
	(comint-history-isearch-setup): Don't check if process is live.
	Always check if shell prompt is empty regardless of the value
	of comint-history-isearch. (Bug#30187)

2018-02-10  Rami Ylimäki  <rami.ylimaki@vincit.fi>

	Support standard Terminfo direct mode terminals

	Latest Terminfo introduces terminal definitions that support direct
	color mode.  The "Co"/"colors" capability is set to 0x1000000 on these
	terminals and Emacs is already compatible with them.
	However, if used Terminfo library hasn't been compiled with 32-bit
	value support, "Co"/"colors" is truncated to 0x7fff.  In this case
	direct color mode support can be detected from the "RGB" capability
	flag.
	There are some minor problems if the color count isn't corrected from
	0x7fff.  First eight standard colors defined in xterm-standard-colors
	are shown correctly.  However, their RGB values match the terminal
	settings, not the RGB values defined in xterm-standard-colors.  Bright
	versions of these colors are shown incorrectly.  They are interpreted
	as pixels #000008 - #000015, which are very dark shades of blue.

	* src/term.c (init_tty): Force terminal color count to 0x1000000 if
	"RGB" capability is present.
	* src/tparam.h: Define prototype for tigetflag.  (Bug#30308)

	* doc/misc/efaq.texi (Colors on a TTY): Add information about direct
	mode terminals supported by Terminfo.

2018-02-10  Eli Zaretskii  <eliz@gnu.org>

	Avoid infinite recursion in file_directory_p

	* src/fileio.c (file_directory_p) [DOS_NT]: Call faccessat on
	MS-DOS as well, to avoid infinite recursion introduced by last
	change in this function.

2018-02-10  Martin Rudalics  <rudalics@gmx.at>

	Make tooltip code handle scenarios from Bug#30182 and Bug#30399

	Move calculation of the mode line default help echo from
	note_mode_line_or_margin_highlight to display_mode_lines
	(Bug#30182).  Fix cursor type for dragging the mode line.
	Normalize FRAME argument of Fx_show_tip before assigning it to
	tip_last_frame and handle the transition from GTK+ to Emacs
	tooltips and vice-versa in x_hide_tip (Bug#30399).

	* src/window.h (struct window): New Lisp member
	mode_line_help_echo.
	(wset_mode_line_help_echo): New function.
	* src/w32fns.c (Fx_show_tip): Normalize the FRAME argument
	before storing it in tip_last_frame (Bug#30399).
	* src/xdisp.c (display_mode_lines): Calculate mode line
	default help echo string here and store it in the window's
	mode_line_help_echo slot (Bug#30182).
	(note_mode_line_or_margin_highlight): Use value in window's
	mode_line_help_echo slot as mode line default help echo.  When
	the window is resizable show a vertical drag cursor instead of
	the vertical scroll bar cursor.
	* src/xfns.c (x_hide_tip): Rewrite the GTK+ part to correctly
	handle the transition from GTK+ system to Emacs tooltips and
	vice-versa (Bug#30399).
	(Fx_show_tip): Normalize the FRAME argument before storing it
	in tip_last_frame (Bug#30399).

2018-02-10  Michael Albinus  <michael.albinus@gmx.de>

	Handle "gio monitor" in tramp-sh.el

	* lisp/net/tramp-sh.el (tramp-gio-events): New defconst.
	(tramp-sh-handle-file-notify-add-watch): Handle "gio monitor" extra.
	(tramp-sh-gio-monitor-process-filter)
	(tramp-get-remote-gio-monitor): New defuns.
	(tramp-sh-gvfs-monitor-dir-process-filter)
	(tramp-get-remote-gvfs-monitor-dir): Do not check for gio anymore.

2018-02-09  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	0276743 (origin/emacs-26) Doc string fix in latin-alt.el
	c9269af Minor improvements in package.texi
	898a3e4 Minor improvement in Emacs user manual
	8f7d718 * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
	989d0af Improve documentation of mini-window resizing
	923e415 More changes in the Emacs manual
	565adf2 Clarify that text-quoting-style doesn't affect *Info* (Bug#24...
	2dd273b Mention that shell quoting of % on w32 may fail (Bug#19350)
	19fa6d5 Fix --no-build-details for w32 and macOS
	979944c * doc/lispref/anti.texi (Antinews): Add some more antinews.
	c2727e3 Fix crashes when run with --no-build-details
	dc08490 More changes for the manual
	04c5bd5 Doc fixes for process functions (Bug#30349)
	e209034 Fix shr and CSS 4 color maps
	5fe8192 Yet another round of improvements in the manual

	Conflicts:
		doc/emacs/files.texi
		test/lisp/subr-tests.el

2018-02-08  Daniel Colascione  <dancol@dancol.org>

	Fix iswitchb highlighting: don't mutate buffer name

	* lisp/obsolete/iswitchb.el (iswitchb-completions): Copy buffer name
	  before applying face

2018-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Handle lambda!

	(cl--old-macroexpand): Remove.
	(cl--sm-macroexpand): Change its calling convention, so it can use
	advice-add.  Extend re-binding treatment of vars so it applies to all
	var-introducing forms rather than only to 'let'.
	(cl-symbol-macrolet): Use advice-add rather than fset.

2018-02-08  Glenn Morris  <rgm@gnu.org>

	Remove unused duplicate of minibuffer-completion-contents

	* src/minibuf.c (Fminibuffer_completion_contents): Remove.
	Unused since introduction of minubuffer.el 2008-04-09.
	(syms_of_minibuf): Remove Sminibuffer_completion_contents.
	* lisp/minibuffer.el (minibuffer-completion-contents): Doc tweak.

2018-02-06  Juri Linkov  <juri@linkov.net>

	* lisp/comint.el (comint-history-isearch-setup): Check if process is live.

	Don't activate comint-history isearch when shell prompt is empty
	like in all *Async Shell Command* buffers. (Bug#30187)

2018-02-06  Juri Linkov  <juri@linkov.net>

	* lisp/dired.el (dired-get-marked-files): Add new optional arg 'error'.

	Call user-error when it's non-nil and result is empty (bug#30285).

	* lisp/dired-aux.el (dired-do-chxxx, dired-do-chmod)
	(dired-do-print, dired-do-async-shell-command)
	(dired-do-shell-command, dired-do-compress-to)
	(dired-mark-confirm, dired-do-create-files)
	(dired-do-isearch, dired-do-isearch-regexp)
	(dired-do-query-replace-regexp, dired-do-find-regexp):
	* lisp/dired-x.el (dired-do-find-marked-files):
	Set arg 'error' of dired-get-marked-files call to t.

2018-02-06  Juri Linkov  <juri@linkov.net>

	Support occur command operating on the region from Isearch.

	* lisp/isearch.el (isearch-occur): Use region-bounds as region arg of occur.
	(isearch-query-replace): Use use-region-p.

	* lisp/replace.el (occur--region-start-line): Rename from
	occur--matches-threshold.
	(occur): Use complete lines when region is active for line-oriented occur.
	(occur-engine): Count lines either from occur--region-start-line or 1.

2018-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	Work around macOS faccessat bug

	* src/fileio.c (file_accessible_directory_p): Append an
	extra "/" to work around macOS bug in faccessat (Bug#30350).

2018-02-05  Juri Linkov  <juri@linkov.net>

	Support list-matching-lines-jump-to-current-line for context lines.

	* lisp/replace.el (occur--orig-line-str): Remove.
	(occur): Remove occur--orig-line-str.
	(occur-engine): Use add-face-text-property to add the face
	list-matching-lines-current-line-face to the current line.
	Use previous-single-property-change to find occur--final-pos.
	(occur-context-lines): New args orig-line and multi-occur-p.
	Find the current line in context lines and add face to it.
	(Bug#30281)

2018-02-05  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	c787a49 (origin/emacs-26) * lisp/vc/vc-git.el (vc-git-print-log): Res...
	b654791 * doc/emacs/misc.texi (Interactive Shell): Refer to node "Min...
	f1102d2 Yet another round of fixing the Emacs manual
	76b5a68 * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
	b4ff8cc Two minor fixes in Antinews
	aafcd12 * etc/NEWS: Rename image-dired-thumb-job-limit
	a893924 * lisp/simple.el (async-shell-command, shell-command): Fix gr...
	699081f Fix deferred display of async shell-command buffers
	d2d5e54 Mention remote file name completion in Emacs manual
	f589f5a Yest another round of manual copyedits
	1ed4089 Update xdisp.c commentary
	e23de39 Fix Bug#30324
	e1a9dc0 Recognize Org as builtin package (bug#30310)

	Conflicts:
		etc/NEWS

2018-02-05  Michael Albinus  <michael.albinus@gmx.de>

	Fix inconsistency expanding "//" in Tramp

	* doc/misc/tramp.texi (File name completion): Adapt example
	expanding "//".

	* lisp/net/tramp.el (tramp-handle-substitute-in-file-name): "//" shall
	expand the localname only, even when on top of the local part.

	* test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
	Adapt test.

2018-02-04  Philipp Stephani  <phst@google.com>

	Fix handling of modifier keys on macOS

	* src/nsterm.m (keyDown:): Distinguish between shift-like and
	control-like modifier keys.  Allow treating ⌘ as shift-like
	modifier (e.g. for the Gujarati – QUERTY input method, where ⌘
	switches to QUERTY.)

	* lisp/cus-start.el (standard): Change nil to none for
	ns-command-modifier; update description.

	* etc/NEWS: Add NEWS entry.

2018-02-04  Michael Albinus  <michael.albinus@gmx.de>

	Make tramp-archive fit for older Emacsen

	* lisp/net/tramp-archive.el (tramp-archive-enabled)
	(tramp-archive-file-name-handler-alist)
	(tramp-archive-file-name-handler): Adapt docstring.
	(tramp-register-archive-file-name-handler): Remove it from
	`after-init-hook' when unloading.
	(tramp-archive-gvfs-host): New defsubst.
	(tramp-archive-dissect-file-name): Use it.

	* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections):
	Check that `tramp-archive-enabled' is bound.

	* test/lisp/net/tramp-archive-tests.el (tramp-archive-test42-auto-load):
	Check also that tramp-archive is not loaded when Tramp is loaded.
	(tramp-archive-test42-delay-load): Adapt test messages.

2018-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid EOVERFLOW problems with file-directory-p

	This fixes a bug where (file-directory-p FOO) would fail if FOO
	had an inode number out of range for ‘stat’.
	* src/fileio.c (file_directory_p): Accept a Lisp string instead of
	a C string.  All callers changed.  On non-MS-Windows hosts, use
	openat with O_PATH|O_DIRECTORY if available, otherwise
	file_accessible_directory_p unless it fails due to EACCESS,
	otherwise stat.

2018-02-03  Philipp Stephani  <phst@google.com>

	Add tests to verify error propagation in 'json-insert'.

	* test/src/json-tests.el (json-tests--error): New error symbol.
	(json-insert/signal, json-insert/throw): New tests.

2018-02-03  Noam Postavsky  <npostavs@gmail.com>

	Don't require all file-attributes to be equal (Bug#30327)

	* test/lisp/files-tests.el (files-tests-file-attributes-equal): New
	function.
	(files-tests-file-name-non-special-directory-files-and-attributes)
	(files-tests-file-name-non-special-file-attributes): Use it instead of
	`equal'.

2018-02-03  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/files-tests.el (files-tests--with-temp-non-special):

	Expand `temporary-file-directory' by `file-truename', in case
	it is located on a symlinked directory.  (Bug#30327)

2018-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Prevent loading tramp-archive when it cannot be used

	* lisp/files.el (locate-dominating-file): Check, that FILE is
	a directory when traversing the tree.

	* lisp/net/tramp-archive.el (tramp-archive-enabled): New defvar.
	(tramp-archive-file-name-regexp): Protect against errors.
	(tramp-archive-file-name-handler)
	(tramp-register-archive-file-name-handler): Use it.
	(all) Call `tramp-register-archive-file-name-handler'.

	* lisp/net/tramp.el (tramp-register-file-name-handlers):
	Use `tramp-archive-enabled'.

	* test/lisp/net/tramp-archive-tests.el (all):
	Use `tramp-archive-enabled' instead of `tramp-gvfs-enabled'.
	(tramp-archive--test-emacs27-p): New defun.
	(tramp-archive-test42-auto-load): Skip for older Emacsen.
	(tramp-archive-test42-delay-load): Skip for older Emacsen.
	Test also behavior when `tramp-archive-enabled' is nil.

2018-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Autoload tramp-archive

	* doc/misc/tramp.texi (Archive file names): Do not require to
	load Tramp explicitly, this is autoloaded now also for file archives.

	* lisp/net/tramp-archive.el (tramp-archive-suffixes)
	(tramp-archive-compression-suffixes): Autoload them.
	(tramp-archive-autoload-file-name-regexp): New defmacro.
	(tramp-archive-file-name-regexp): Use it.
	(tramp-register-archive-file-name-handler): New defun.  Call
	it in `after-init-hook'.

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test40-file-system-info): Rename from
	`tramp-archive-test40-archive-file-system-info.
	(tramp-archive-test42-auto-load)
	(tramp-archive-test42-delay-load): New tests.

2018-02-02  Glenn Morris  <rgm@gnu.org>

	Try to work around intermittent autogen failure on hydra.nixos.org

	* autogen.sh (check_version): Try to handle odd systems where
	/bin/sh does not define the "command" builtin.

2018-02-02  Glenn Morris  <rgm@gnu.org>

	* autogen.sh: Remove temporary debug statements.

	* autogen.sh: Add some temporary debug statements, for hydra.nixos.org.

2018-02-02  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix an enum intro being parsed as defun-block-intro

	* lisp/progmodes/cc-engine.el (c-inside-bracelist-p): Return a bufpos rather
	than t for the enum case.
	(c-add-stmt-syntax, c-guess-continued-construct): Replace
	c-looking-at-or-maybe-in-bracelist by c-inside-bracelist-p, since the former
	does not recognize enum brace lists, but the latter does.

	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): Replace
	c-looking-at-or-maybe-in-bracelist by c-inside-bracelist-p.

2018-02-02  Philipp Stephani  <phst@google.com>

	Properly integrate modules into the loading process (Bug#30164).

	* src/lread.c (Fload): Don't defer to module-load immediately when
	encountering a module, but use the normal loading machinery to
	properly set up load-history, check for recursive loads, print
	messages, etc.

	* test/src/emacs-module-tests.el (module/load-history): New test.
	(module/describe-function-1): Adapt test.

	* etc/NEWS: Mention fixed behavior.

2018-02-02  Philipp Stephani  <phst@google.com>

	Use 'defalias' in test module instead of 'fset'.

	This puts functions defined in the module into the 'load-history'.

	* test/data/emacs-module/mod-test.c (bind_function): Use 'defalias'
	instead of 'fset'.

	* test/src/emacs-module-tests.el (module/describe-function-1): Adapt
	unit test.

2018-02-02  Philipp Stephani  <phst@google.com>

	Add support for module functions to C-h f (Bug#30163).

	* lisp/help-fns.el (help-fns-function-description-header): Handle
	module functions.

	* test/src/emacs-module-tests.el (module/describe-function-1): New
	test.

2018-02-02  Michael Albinus  <michael.albinus@gmx.de>

	Handle quoted remote file names for file notifications

	* lisp/filenotify.el (file-notify-add-watch): Do not suppress
	other file name handlers when FILE is quoted.

	* test/lisp/filenotify-tests.el
	(file-notify-test-remote-temporary-file-directory):
	Beware quoted `temporary-file-directory'.

	* test/lisp/files-tests.el
	(files-tests-file-name-non-special-quote-unquote): Improve test.

2018-02-02  Michael Albinus  <michael.albinus@gmx.de>

	Minor tweaks in tramp-archive.el

	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
	Bind `tramp-unknown-id-integer' and `tramp-unknown-id-string'
	in order to have minimal ownership information.

2018-02-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	6f495ab (origin/emacs-26) Another round of manual fixups
	59344c4 * doc/lispref/customize.texi (Custom Themes): Clarify .el pre...
	6386efc * doc/emacs/entering.texi (Entering Emacs): Another wording fix.
	e21f018 * doc/lispref/functions.texi (Inline Functions): Fix typo (Bu...
	1c2fb04 * lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug...
	b90e91c Fix last change of @key markup
	f180075 * doc/emacs/entering.texi (Entering Emacs): Fix markup.

2018-02-02  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	56c37bb Use @key{} where it is missing in the manuals
	25c0198 Another round of manual fixes from proofreading

2018-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cconv.el (cconv-convert): Fix compiling compiled code

	Don't conv-convert the docstring arg of defvar/defconst.

2018-02-02  Michael Albinus  <michael.albinus@gmx.de>

	Fix quoting in tramp-find-inline-compress for w32

	* lisp/net/tramp-sh.el (tramp-find-inline-compress): Improve command
	quoting for w32.  Reported by Chris Zheng <chriszheng99@gmail.com>.

2018-02-01  Michael Albinus  <michael.albinus@gmx.de>

	Handle quoted file names in filenotify.el

	* lisp/filenotify.el (file-notify-add-watch): Do not save
	quoted file names in `file-notify-descriptors'.

	* test/lisp/files-tests.el
	(files-file-name-non-special-notify-handlers): Do not expect
	to fail.

2018-02-01  Michael Albinus  <michael.albinus@gmx.de>

	Use file-name-quote{,d-p} in files-tests.el

	* test/lisp/files-tests.el
	(files-tests-file-name-non-special-quote-unquote): New test.
	(files-tests--file-name-non-special--subprocess): Simplify.
	(files-tests--file-name-non-special--buffers)
	(files-tests--with-temp-non-special)
	(files-tests-file-name-non-special-directory-file-name)
	(files-tests-file-name-non-special-file-in-directory-p)
	(files-tests-file-name-non-special-file-name-all-completions)
	(files-tests-file-name-non-special-file-name-as-directory)
	(files-tests-file-name-non-special-file-name-completion)
	(files-tests-file-name-non-special-file-name-directory)
	(files-tests-file-name-non-special-find-backup-file-name)
	(files-tests-file-name-non-special-make-nearby-temp-file):
	Use `file-name-quote' and `file-name-quoted-p', respectively.

2018-02-01  Noam Postavsky  <npostavs@gmail.com>

	Test and fix "/:" quoted file name handlers (Bug#30243)

	Some w32 specific problems were discovered, but only worked around, as
	these are not serious, and not the focus of this bug fix:
	    - The w32 implementation of `insert-directory doesn't handle a nil
	    SWITCHES argument.
	    - `dired-compress-file' does not operate correctly if the unquoted
	    filename contains a ":" (e.g., C:/foo/bar).

	* lisp/files.el (file-name-non-special): Strip the "/:" from
	`default-directory' for `temporary-file-directory' operation; both
	arguments to `file-name-completion', `file-name-all-completion', and
	`file-equal-p' operations; `buffer-file-name' for
	`make-auto-save-file-name' and 'set-visited-file-modtime' operations.
	Don't touch any operands of `file-notify-rm-watch' and
	`file-notify-valid-p' as they receive descriptors; not file
	names (this is not sufficient to fix these operations for "/:" quoted
	file names though, these are fixed in a later commit).

	* test/lisp/files-tests.el (files-tests--with-temp-file): Give it a
	`debug' property.
	(files-tests--with-temp-non-special): New helper macro.
	(files-tests--file-name-non-special--subprocess): Simplify.
	(files-tests-file-name-non-special-quote-unquote)
	(files-file-name-non-special-notify-handlers)
	(files-file-name-non-special-handlers)
	(files-tests-file-name-non-special-access-file)
	(files-tests-file-name-non-special-add-name-to-file)
	(files-tests-file-name-non-special-byte-compiler-base-file-name)
	(files-tests-file-name-non-special-copy-directory)
	(files-tests-file-name-non-special-copy-file)
	(files-tests-file-name-non-special-delete-directory)
	(files-tests-file-name-non-special-delete-file)
	(files-tests-file-name-non-special-diff-latest-backup-file)
	(files-tests-file-name-non-special-directory-file-name)
	(files-tests-file-name-non-special-directory-files)
	(files-tests-file-name-non-special-directory-files-and-attributes)
	(files-tests-file-name-non-special-dired-uncache)
	(files-tests-file-name-non-special-dired-compress-handler)
	(files-tests-file-name-non-special-expand-file-name)
	(files-tests-file-name-non-special-file-accessible-directory-p)
	(files-tests-file-name-non-special-file-acl)
	(files-tests-file-name-non-special-file-attributes)
	(files-tests-file-name-non-special-file-directory-p)
	(files-tests-file-name-non-special-file-equal-p)
	(files-tests-file-name-non-special-file-executable-p)
	(files-tests-file-name-non-special-file-exists-p)
	(files-tests-file-name-non-special-file-in-directory-p)
	(files-tests-file-name-non-special-file-local-copy)
	(files-tests-file-name-non-special-file-modes)
	(files-tests-file-name-non-special-file-name-all-completions)
	(files-tests-file-name-non-special-file-name-as-directory)
	(files-tests-file-name-non-special-file-name-case-insensitive-p)
	(files-tests-file-name-non-special-file-name-completion)
	(files-tests-file-name-non-special-file-name-directory)
	(files-tests-file-name-non-special-file-name-nondirectory)
	(files-tests-file-name-non-special-file-name-sans-versions)
	(files-tests-file-name-non-special-file-newer-than-file-p)
	(files-tests-file-name-non-special-file-ownership-preserved-p)
	(files-tests-file-name-non-special-file-readable-p)
	(files-tests-file-name-non-special-file-regular-p)
	(files-tests-file-name-non-special-file-remote-p)
	(files-tests-file-name-non-special-file-selinux-context)
	(files-tests-file-name-non-special-file-symlink-p)
	(files-tests-file-name-non-special-file-truename)
	(files-tests-file-name-non-special-file-writable-p)
	(files-tests-file-name-non-special-find-backup-file-name)
	(files-tests-file-name-non-special-get-file-buffer)
	(files-tests-file-name-non-special-insert-directory)
	(files-tests-file-name-non-special-insert-file-contents)
	(files-tests-file-name-non-special-load)
	(files-tests-file-name-non-special-make-auto-save-file-name)
	(files-tests-file-name-non-special-make-directory)
	(files-tests-file-name-non-special-make-directory-internal)
	(files-tests-file-name-non-special-make-nearby-temp-file)
	(files-tests-file-name-non-special-make-symbolic-link)
	(files-tests-file-name-non-special-rename-file)
	(files-tests-file-name-non-special-set-file-acl)
	(files-tests-file-name-non-special-set-file-modes)
	(files-tests-file-name-non-special-set-file-selinux-context)
	(files-tests-file-name-non-special-set-file-times)
	(files-tests-file-name-non-special-set-visited-file-modtime)
	(files-tests-file-name-non-special-shell-command)
	(files-tests-file-name-non-special-start-file-process)
	(files-tests-file-name-non-special-substitute-in-file-name)
	(files-tests-file-name-non-special-temporary-file-directory)
	(files-tests-file-name-non-special-unhandled-file-name-directory)
	(files-tests-file-name-non-special-vc-registered)
	(files-tests-file-name-non-special-write-region): New tests.

2018-02-01  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This includes:
	2018-01-31 environ: Fix link error on 64-bit Cygwin
	2018-01-27 Fix malfunction of socket functions on HP-UX in 64-bit mode
	2018-01-26 manywarnings: fix maintainer comment
	2018-01-23 Merge strftime.c changes from glibc
	* build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
	* lib/gnulib.mk.in, lib/nstrftime.c, lib/unistd.in.h, m4/extensions.m4:
	* m4/manywarnings.m4: Update.

2018-02-01  Paul Eggert  <eggert@cs.ucla.edu>

	* src/xfns.c: Make some non-exported vars static.

2018-02-01  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-tests.el according to Bug#30243

	* test/lisp/net/tramp-tests.el (tramp--test-emacs27-p): New defun.
	(tramp-test11-copy-file, tramp-test12-rename-file)
	(tramp-test21-file-links, tramp-test24-file-acl)
	(tramp-test25-file-selinux, tramp--test-check-files): Use it.

2018-01-31  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/files.el (get-free-disk-space): Wrap body with `save-match-data'.

	Several `*-insert-directory' functions could fail otherwise.

2018-01-31  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-archive.el (tramp-archive-run-real-handler): New defun.

	(tramp-archive-file-name-handler): Use it.

2018-01-31  Glenn Morris  <rgm@gnu.org>

	automerge: adjust meaning of -d option

	* admin/automerge (nocd): New variable, replacing $dir.
	(usage, -d): Option -d no longer takes an argument.

2018-01-31  Glenn Morris  <rgm@gnu.org>

	automerge: add option to work in specific directory

	* admin/automerge (usage): Mention -d.
	(dir): New variable.
	(-d): New option.
	(main): If requested, cd to specified directory.

2018-01-31  Glenn Morris  <rgm@gnu.org>

	automerge: add option to start with a reset

	* admin/automerge (usage): Mention -r.
	(reset): New variable.
	(-r): New option.
	(main): If requested, do a reset and pull.

2018-01-31  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	22922c7 (origin/emacs-26) * doc/emacs/entering.texi (Entering Emacs):...
	59657c4 Document 'window-at-side-p' in the Elisp manual
	2b35ed0 Document external-debugging-output in the Elisp Manual (Bug#2...
	db6564c Fix scroll-margin docstring (Bug#13791)
	732d1b9 Clarify that `ansi-term' is almost the same as `term' (Bug#18...
	f706c59 Update manual description of locate-file (Bug#23650)
	1602262 Clarify effect of print-gensym (Bug#27776)
	53e9fa2 * lisp/custom.el (defcustom): Fix docstring (Bug#27891).
	607cc4e Define cl-type-definition button type as needed (Bug#28899)
	9e6889c Emphasize that GPG passphrase caching is temporary (Bug#29907)
	4b5711b Fix @examples in cc-mode.info, where lines were getting glued...
	71961f1 Minor change in "Mode Line" section of Emacs manual
	55a2b76 More fixes in the Emacs manual

2018-01-31  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#30293

	* lisp/net/tramp-archive.el (tramp-archive-file-name-for-operation):
	New defsubst.
	(tramp-archive-file-name-archive, tramp-archive-file-name-localname):
	New defuns.
	(tramp-archive-file-name-handler, tramp-archive-dissect-file-name)
	(tramp-archive-handle-not-implemented): Use them.  (Bug#30293)

	* test/lisp/net/tramp-archive-tests.el (tramp-archive-test-directory):
	New defconst.
	(tramp-archive-test01-file-name-syntax): Extend test.
	(tramp-archive-test05-expand-file-name-non-archive-directory):
	New test.  (Bug#30293)

	* test/lisp/net/tramp-archive-resources/foo.iso/foo: New file.

2018-01-30  Glenn Morris  <rgm@gnu.org>

	automerge: handle upstream changes during operation

	* admin/automerge (merge): New function, split from pre-existing code.
	(main): If upstream changed during building and testing,
	reset local and try merging again.

2018-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/mouse-tests.el: Fix tests broken by mouse.el change

	* test/lisp/mouse-tests.el (bug23288-use-return-value)
	(bug23288-translate-to-mouse-2): Don't rely as much on details of the
	implementation, so it also works with the new code.

2018-01-30  Michael Albinus  <michael.albinus@gmx.de>

	Simplify last change in tramp-archive

2018-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mouse.el: Rework the mouse-1-click remapping

	Avoid peeking ahead at the next event because this had undesirable effects,
	such as making 'this-single-command-raw-keys' return bogus information.

	(mouse--last-down): New variable.
	(mouse--down-1-maybe-follows-link): Don't do the remapping here.
	Instead, just keep track of the time when the down happened.
	(mouse--down-1-maybe-follows-link): Do the remapping here.
	(key-translation-map): Add bindings for (double-)mouse-1.

2018-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/help.el: Rework describe-key's handling of up and double clicks

	Use lexical-binding.
	(help--binding-undefined-p): New function, extracted from help--analyze-key.
	(help--analyze-key): Use it.
	(help--filter-info-list): New function.
	(describe-key-briefly): Change calling convention.
	Handle a list of key sequences now.
	(help--binding-locus): Remove unused var 'found'.
	(help--read-key-sequence): Rename from help-read-key-sequence.
	Almost complete rewrite, with a different return value.
	(help-downify-mouse-event-type): Remove.
	(describe-key): Change calling convention.
	Handle a list of key sequences now.

2018-01-30  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#30262

	* lisp/net/tramp-archive.el (tramp-archive-hash): Document (changed)
	layout.
	(tramp-archive-dissect-file-name): Merge with
	`tramp-archive-local-copy', which has been removed by this.
	(tramp-archive-cleanup-hash): Adapt to changed
	`tramp-archive-hash'.  (Bug#30262)

	* lisp/net/tramp-gvfs.el (tramp-gvfs-unmount): Flush
	connection properties.

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test01-file-name-syntax)
	(tramp-archive-test02-file-name-dissect)
	(tramp-archive-test16-directory-files)
	(tramp-archive-test26-file-name-completion): Adapt to changed
	test file.
	(tramp-archive-test08-file-local-copy): Be more robust in cleanup.

	* test/lisp/net/tramp-archive-resources/foo.tar.gz: Adapt to
	extended test.

2018-01-30  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	bc8dc37 (origin/emacs-26) Minor copyedits in "Distribution" chapter o...
	1c7a936 Minor copyedits in "Entering" chapter of Emacs manual.
	1d4498b Minor wording change in the Emacs manual
	2bf49e7 Fix a typo in the Emacs manual
	f3546a2 Improve the "Basic" chapter of the Emacs manual
	691431e Resurrect lost text in lispref
	956807b * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.
	7d90d2e Proofread os.texi and files.texi
	490c736 Minor improvements in the "International" chapter of Emacs ma...
	79252d3 Minor improvement in "Text" chapter of Emacs manual

2018-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (atomic-change-group): Fix return value

	Suggested by Jarosław Rzeszótko <jrzeszotko@gmail.com>.

2018-01-29  Glenn Morris  <rgm@gnu.org>

	Recognize more system descriptions in report-emacs-bug

	* lisp/mail/emacsbug.el (report-emacs-bug--os-description):
	New function, split from report-emacs-bug.  Also parse the
	standard /etc files that can contain release information.
	(report-emacs-bug): Call report-emacs-bug--os-description.

2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify Fcall_interactively

	* src/callint.c (Fcall_interactively): Use C99 constructs to
	simplify the code a bit.  Stop worrying about circa-1990
	compiler bugs.

2018-01-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	8d45000 (origin/emacs-26) Fix some issues in the emacs/lispref manuals
	194ded5 Fix multiple spaces in Emacs manual
	57a5461 * lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)
	231474f Adjudicate comments to "International" chapter of Emacs manual

2018-01-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	6415b2d Allow read-passwd to hide characters inserted by C-y.  (Secure...
	8cb4ffb * etc/PROBLEMS: Document issues with double-buffering.  (Bug#...
	fd10070 * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
	e1a4403 Minor changes in the Emacs manual
	372fda6 Improve the "Files" chapter of the Emacs manual
	9afc86d Improve the "Search" chapter of the Emacs manual
	22f98b3 * src/indent.c (Findent_to): Doc fix.  (Bug#30260)
	085ee43 Improve documentation of 'edebug-defun'
	4dd1b33 Mention crashes due to Noto Serif Kannada fonts

2018-01-29  tino calancha  <tino.calancha@gmail.com>

	* test/lisp/simple-tests.el (simple-tests-async-shell-command-30280): Add test

2018-01-28  Glenn Morris  <rgm@gnu.org>

	* configure.ac: Improve recent libtof version test.

2018-01-28  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el: Move definitions shell-command-saved-pos

	and shell-command-dont-erase-buffer closer to their usage.

2018-01-28  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (upcase-dwim, downcase-dwim): Add region-noncontiguous-p

	to the calls of region functions to support rectangular regions.

2018-01-28  Juri Linkov  <juri@linkov.net>

	* lisp/tar-mode.el (tar-summarize-buffer): Let-bind `create-lockfiles' to nil

	instead of `buffer-file-truename'.  (Bug#30215)

	* lisp/image-mode.el (image-toggle-display-image): Idem.

2018-01-28  Philipp Stephani  <phst@google.com>

	Add missing module types to cl--typeof-types.

	* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add module
	types.

	* test/src/emacs-module-tests.el (emacs-module-tests--generic): New
	helper function.
	(module-function-object, mod-test-userptr-fun-test): Test that type
	dispatching works with module types.

2018-01-28  Philipp Stephani  <phst@google.com>

	Test that module functions are functions.

	* test/src/emacs-module-tests.el (module-function-object): Verify that
	a module function is treated as a function.

2018-01-28  Philipp Stephani  <phst@google.com>

	* src/lisp.h: Tell developers to add new types to cl--typeof-types.

2018-01-28  Philipp Stephani  <phst@google.com>

	Prevent name clashes between CL structures and builtin types

	* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Don't allow
	structures with the same names as builtin types.
	(cl--typeof-types, cl--all-builtin-types): Move from cl-generic.el and
	rename.
	(cl--struct-name-p): New helper function.

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't allow structures
	with the same names as builtin types.

	* lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-generalizer)
	(cl-generic-generalizers): Adapt to name change.

	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/builtin-type):
	* test/lisp/emacs-lisp/cl-preloaded-tests.el
	(cl-struct-define/builtin-type): New unit tests.

	* etc/NEWS: Document changed behavior.

2018-01-28  Alan Mackenzie  <acm@muc.de>

	Fix some errors in c-display-defun-name when the type is "struct {..}", etc.

	Also fix some errors with c-display-defun-name when there are nested classes.

	* lisp/progmodes/cc-cmds.el (c-in-function-trailer-p): Deal with a struct {..}
	being merely the type of a function.
	(c-where-wrt-brace-construct): Deal with a struct {..} being merely the type
	of a function.  Rearrange the order of some Lisp forms.  Insert a check for
	c-protection-key ("private", etc.) alongside the checking for a label.
	(c-defun-name-1): New function extracted form c-defun-name, which works within
	the existing restriction.  Don't regard 'at-function-end as being within the
	defun any more.  Recognize "struct", etc., with the new
	c-defun-type-name-decl-key rather than c-type-prefix-key.  Make the
	recognition of a normal function more accurate.
	(c-defun-name): Part left after extracting the above function.  It now just
	widens and calls c-defun-name-1.
	(c-declaration-limits-1): New function extracted from c-declaration-limits,
	which works within the existing restriction.  Move LIM back one block to
	account for the possibility of struct {..} as a function type.  Check we're
	not inside a declaration without braces.
	(c-declaration-limits): Part left after extracting the above function.  It now
	just narrows to an enclosing decl block and calls c-declaration-limits-1.
	(c-defun-name-and-limits): New function which identifies the name and limits
	of the most nested enclosing declaration or macro.
	(c-display-defun-name): Use c-defun-name-and-limits rather than two separate
	functions (which didn't always agree on which function).

	* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): If we have struct
	{..} as the type of a function, go back over this, too.

	* lisp/progmodes/cc-langs.el (c-defun-type-name-decl-kwds)
	(c-defun-type-name-decl-key): New lang const/var.

2018-01-28  Noam Postavsky  <npostavs@gmail.com>

	Fix round tripping of read->print for symbols with strange quotes

	Since 2017-07-22 "Signal error for symbol names with strange
	quotes (Bug#2967)", symbol names beginning with certain quote
	characters require an escaping backslash.  However, the corresponding
	change for printing missed, so that (eq (read (prin1-to-string SYM))
	SYM) does not give `t' for such symbols.
	* src/character.c (confusable_symbol_character_p): New function,
	extracted from test `read1'.
	* src/lread.c (read1): Use it.
	* src/print.c (print_object): Use it to print a backslash for symbols
	starting with characters that `read1' requires to be escaped.
	* test/src/print-tests.el (print-read-roundtrip): New test.
	* etc/NEWS.26:
	* etc/NEWS: Clarify the announcement for the earlier reader
	change (Bug#30217).

2018-01-28  Simen Heggestøyl  <simenheg@gmail.com>

	Shorten CSS hex colors when possible

	* lisp/textmodes/css-mode.el (css--format-hex): New function for
	shortening CSS hex colors when possible.
	(css--named-color-to-hex, css--rgb-to-named-color-or-hex): Use it.

	* test/lisp/textmodes/css-mode-tests.el (css-test-format-hex): New
	tests for 'css--format-hex'.
	(css-test-named-color-to-hex, css-test-cycle-color-format): Adjust for
	the changes to 'css--named-color-to-hex' and
	'css--rgb-to-named-color-or-hex'.

2018-01-28  Simen Heggestøyl  <simenheg@gmail.com>

	Fix off-by-one error in 'css--hex-to-rgb'

	* lisp/textmodes/css-mode.el (css--hex-to-rgb): Fix off-by-one error.

	* test/lisp/textmodes/css-mode-tests.el (css-test-hex-to-rgb): Add
	regression tests for the above fix.

2018-01-27  tino calancha  <tino.calancha@gmail.com>

	Code refactoring assoc-delete-all assq-delete-all

	* lisp/subr.el (assoc-delete-all): Add optional arg TEST.
	(assq-delete-all): Use assoc-delete-all.

	* test/lisp/subr-tests.el (subr-tests--assoc-delete-all)
	(subr-tests--assq-delete-all): New tests.

	* doc/lispref/lists.texi (Association Lists): Document
	assoc-delete-all in the manual.

2018-01-27  Simen Heggestøyl  <simenheg@gmail.com>

	Fix indentation bug with multi-line CSS values

	* lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
	multi-line CSS values that are separated by spaces.

	* test/manual/indent/css-mode.css: Add a test case for the fix.

2018-01-27  Alan Third  <alan@idiocy.org>

	Allow configure to find Homebrew installed imagemagick

	* configure.ac: Add the imagemagick pkgconfig dir to pkg-config's
	search path.

2018-01-26  Martin Rudalics  <rudalics@gmx.at>

	In bindings.el fix check whether mode line can be dragged

	* lisp/bindings.el (mode-line-default-help-echo): Use check
	whether mode line can be dragged from 'mouse-drag-mode-line'.

2018-01-26  Glenn Morris  <rgm@gnu.org>

	Workaround a libotf crash with Kannada font (bug#30193)

	* configure.ac (HAVE_OTF_KANNADA_BUG): New define.
	* src/xfaces.c (syms_of_xfaces) <Vface_ignored_fonts>:
	Add problematic Kannada font if necessary.

2018-01-26  Noah Friedman  <friedman@splode.com>

	Bring emacs-buffer.gdb up to date with recent lisp.h changes.

2018-01-26  Noam Postavsky  <npostavs@gmail.com>

	Raise limit of regexp repetition (Bug#24914)

	* src/regex.h (RE_DUP_MAX): Raise limit to 2^16-1.
	* etc/NEWS: Announce it.
	* doc/lispref/searching.texi (Regexp Backslash): Document it.
	* test/src/regex-tests.el (regex-repeat-limit): Test it.

	* src/regex.h (reg_errcode_t): Add REG_ESIZEBR code.
	* src/regex.c (re_error_msgid): Add corresponding entry.
	(GET_INTERVAL_COUNT): Return it instead of the more generic REG_EBADBR
	when encountering a repetition greater than RE_DUP_MAX.

	* lisp/isearch.el (isearch-search): Don't convert errors starting with
	"Invalid" into "incomplete".  Such errors are not incomplete, in the
	sense that they cannot be corrected by appending more characters to
	the end of the regexp.  The affected error messages are:

	- REG_BADPAT "Invalid regular expression"
	  - \\(?X:\\) where X is not a legal group number
	  - \\_X where X is not < or >

	- REG_ECOLLATE "Invalid collation character"
	  - There is no code to throw this.

	- REG_ECTYPE "Invalid character class name"
	  - [[:foo:] where foo is not a valid class name

	- REG_ESUBREG "Invalid back reference"
	  - \N where N is referenced before matching group N

	- REG_BADBR "Invalid content of \\{\\}"
	  - \\{N,M\\} where N < 0, M < N, M or N larger than max
	  - \\{NX where X is not a digit or backslash
	  - \\{N\\X where X is not a }

	- REG_ERANGE "Invalid range end"
	  - There is no code to throw this.

	- REG_BADRPT "Invalid preceding regular expression"
	  - We never throw this.  It would usually indicate a "*" with no
	    preceding regexp text, but Emacs allows that to match a literal
	    "*".

2018-01-26  Noam Postavsky  <npostavs@gmail.com>

	Merge from emacs-26

	463f96b481 * doc/lispref/searching.texi: Document regexp repetition l...
	08a6195571 ; test/README: Document TEST_LOAD_EL parameter.
	7bbea90b1a * src/syntax.c (char-syntax): Warn about ignoring text pro...
	50fcbb5f61 ; * src/process.c (Fprocess_contact): Fix docstring typo.
	81ae9c8c05 Load mm-util as needed for url-file and url-data (Bug#30258)
	5a1ee67ae1 Another minor copyedit in the manual's "Scroll Bars"
	226a651e9e Minor fix in documentation of 'equal'
	b26786c8d9 * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix....
	5699a824f0 Minor rewording in Emacs manual's "Help Mode" node
	f35ff0156e Fixes for Emacs manual in frames.texi
	6cd4e8dcc5 * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 t...
	1412cf3edd Fix a few issues with latest GTK scaling changes
	59db8dca03 Use scaled coordinates when calling into GTK
	2892f05792 Scale monitor dimensions obtained from GTK

2018-01-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-preloaded.el: Update cl-slot-descriptor name.

2018-01-26  Francesco Potortì  <pot@gnu.org>

	Fix a typo in rmail.el

	* lisp/mail/rmail.el (rmail-simplified-subject): Fix a typo in the
	regexp.  (Bug#29659)

2018-01-26  Eli Zaretskii  <eliz@gnu.org>

	Minor fix for "M-x pdb"

	* lisp/progmodes/gud.el (gud-pdb-marker-regexp): Add @ and SPC to
	the regexp.  (Bug#30208)

2018-01-26  Andy Moreton  <andrewjmoreton@gmail.com>

	Fix emacs-module-tests to work out of build tree

	* test/Makefile.in (test_module_dir): Build the test module library in
	a subdirectory of the build directory (not the source tree).
	(MODULE_CFLAGS): Fix location of emacs-module.h header file.
	(test_module): Move built library out of the source tree.
	* test/src/emacs-module-tests.el (mod-test-file): Locate the test module
	library relative to the running Emacs executable.

2018-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/gv.el (char-table-range): Add gv-setter.

2018-01-25  Juri Linkov  <juri@linkov.net>

	* lisp/arc-mode.el (archive-extract): Let-bind `create-lockfiles' to nil

	to prevent directory time modification by lock_file on visiting
	a file from archive.  (Bug#30215)
	(archive-summarize): Let-bind `create-lockfiles' to nil
	instead of `buffer-file-truename'.

2018-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	Replace (default-value 'enable-multibyte-characters) with t

	Since Emacs-24, (default-value 'enable-multibyte-characters) can't be
	changed any more, so we can remove all code which checks this value.

	* lisp/x-dnd.el (x-dnd-handle-file-name):
	* lisp/w32-fns.el (w32-set-default-process-coding-system):
	* lisp/textmodes/ispell.el (ispell-send-string):
	* lisp/term/internal.el (dos-codepage-setup):
	* lisp/tar-mode.el (tar-header-block-tokenize, tar--extract):
	* lisp/startup.el (command-line):
	* lisp/server.el (server-process-filter):
	* lisp/net/browse-url.el (browse-url-file-url):
	* lisp/menu-bar.el (menu-bar-options-menu, menu-bar-describe-menu):
	* lisp/mail/sendmail.el (mail-setup):
	* lisp/mail/rmail.el (rmail-mode, rmail-get-new-mail):
	* lisp/mail/rfc2047.el (rfc2047-encode-message-header):
	* lisp/mail/emacsbug.el (report-emacs-bug):
	* lisp/international/mule-diag.el (mule-diag):
	* lisp/files.el (find-file-noselect-1):
	* lisp/dos-fns.el (dos-set-default-process-coding-system):
	* lisp/arc-mode.el (archive-mode):
	* lisp/international/mule-cmds.el (mule-menu-keymap)
	(set-default-coding-systems, set-language-info)
	(set-language-environment, standard-display-european-internal)
	(set-locale-environment): Simplify code.

2018-01-25  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/simple.el (shell-command-to-string):

	Call `shell-command' in order to respect file name handlers.

2018-01-25  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/trampver.el: Simplify version check.

2018-01-24  Juri Linkov  <juri@linkov.net>

	* lisp/dired.el (dired-internal-do-deletions): Remove nreverse

	to compensate the changes that added nreverse to dired-do-delete
	and dired-do-flagged-delete in 9ecbdee (bug#30162)

2018-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/tramp.el: Require trampver here instead of...

	* lisp/net/tramp-compat.el: ... there.

2018-01-24  Glenn Morris  <rgm@gnu.org>

	* admin/automerge: Disable rebasing.

2018-01-24  Marcin Borkowski  <mbork@mbork.pl>

	Merge branch 'fix/bug-20871-cur'

2018-01-23  Glenn Morris  <rgm@gnu.org>

	Avoid kill-emacs-hook errors hanging batch mode

	* src/emacs.c (Fkill_emacs): Prevent errors from kill-emacs-hook
	hanging Emacs in batch mode.  (Bug#29955)

2018-01-23  Philipp Stephani  <phst@google.com>

	Add unit test for Bug#30005.

	* test/src/callint-tests.el (call-interactively/embedded-nulls): New
	unit test.

2018-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	Remove final uses of 'cl' in lisp/net

	* lisp/net/pop3.el: Use lexical-binding and cl-lib.
	(pop3-write-to-file): Remove unused var 'start'.
	(pop3-make-date): Remove unused var 'sign'.

	* lisp/net/rfc2104.el: Use lexical-binding and cl-lib.

	* lisp/net/shr-color.el: Use lexical-binding and cl-lib.

	* lisp/net/sieve-manage.el: Use lexical-binding and cl-lib.

2018-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/imap.el: Use lexical-binding and cl-lib

	Require packages instead of autoloading their functions.
	(imap-send-command): Remove unused vars 'stream' and 'eol'.
	(imap-parse-response): Use pcase.
	(imap-parse-fetch): Remove unused arg 'response'.

	* lisp/format-spec.el: Don't require CL.

2018-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el: Tweak header font-lock and ecomplete completion

	(message-font-lock-make-header-matcher): Delete.
	(message-match-to-eoh): New function to replace it.
	(message-font-lock-keywords): Use it.
	(message-strip-forbidden-properties): Remove redundant binding.
	(message-goto-body): Avoid called-interactively-p, only use
	push-mark when called interactively.
	(message-goto-body-1): Merge into message-goto-body.  Redefine as alias.
	(message-goto-eoh): Call message-goto-body interactively.
	(message--in-tocc-p): New function, extracted from message-display-abbrev.
	(message-ecomplete-capf): New function.

2018-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/ecomplete.el: Add completion-table; use lexical-binding and cl-lib

	Also remove redundant :group args.
	(ecomplete-database-file): Use locate-user-emacs-file.
	(ecomplete-completion-table): New completion table.
	(completion-category-defaults): Set default behavior for that table.

2018-01-23  Eli Zaretskii  <eliz@gnu.org>

	Support null characters in interactive specs

	* src/callint.c (Fcall_interactively): Support 'interactive'
	specifications with embedded null characters.  (Bug#30005)

2018-01-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/ert.el (describe-symbol-backends): Add ourselves

	(ert-describe-test): Return the description text as well.
	Remove left over version check.
	* lisp/help-mode.el (describe-symbol-backends): Add docstring.

2018-01-22  Philipp Stephani  <phst@google.com>

	Add a regression test for Bug#30004.

	* test/src/callint-tests.el
	(call-interactively/incomplete-multibyte-sequence): New unit test.

2018-01-22  Philipp Stephani  <phst@google.com>

	* src/nsterm.m (x_set_offset): Remove unused variable 'screens'.

2018-01-22  Juri Linkov  <juri@linkov.net>

	Restore isearch correctly after M-e in special modes (bug#30187)

	* lisp/isearch.el (isearch-suspended): New defvar.
	(with-isearch-suspended): Set isearch-suspended to t
	at the beginning, then set it back to nil at the end.

	* lisp/comint.el (comint-history-isearch-backward)
	(comint-history-isearch-backward-regexp): Set global value of
	comint-history-isearch to t.
	(comint-history-isearch-end): Reevaluate
	comint-history-isearch when isearch-edit-string finishes.

	* lisp/dired-aux.el (dired-isearch-filenames)
	(dired-isearch-filenames-regexp): Set global value of
	dired-isearch-filenames to t.
	(dired-isearch-filenames-end): Reevaluate
	dired-isearch-filenames when isearch-edit-string finishes.

2018-01-22  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	1fc98ed073 ; Spelling fix
	bb396a369c Update Org to v9.1.6
	fa582153f7 Use text-pixels values only when saving framesets (Bug#30141)
	6b01b9475d Minor improvement in section "Pages" of the user manual
	e8c8bd3de2 Minor improvements in user manual
	26b8b92e63 Improve the "Mark" chapter of the user manual
	759569fe40 Improve the "Buffers" chapter of the user manual
	c2e6d121ff * lisp/term.el (term-send-input): Fix text duplication in ...
	854a1c0a61 Improve "Buffers" in the user manual

	# Conflicts:
	#	etc/NEWS

2018-01-22  Michael Albinus  <michael.albinus@gmx.de>

	Fix byte-compiler warning in tramp-sh.el

	* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
	Use `set-process-coding-system' rather than interactive
	`set-buffer-process-coding-system'.

	* lisp/net/tramp.el (tramp-default-user-alist)
	(tramp-default-host-alist): Fix docstring.

2018-01-22  Michael Albinus  <michael.albinus@gmx.de>

	Finish changes in autorevert from commit 530bb2dc68

	* lisp/autorevert.el (auto-revert-buffers):
	Check `auto-revert-timer' being a timerp.

	* test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
	Adapt test in order to cover changed behavior of autorevert.

2018-01-21  Juri Linkov  <juri@linkov.net>

	* lisp/vc/add-log.el (change-log-next-buffer): Check file for nil.

2018-01-21  Juri Linkov  <juri@linkov.net>

	New function read-answer (bug#30073)

	* lisp/emacs-lisp/map-ynp.el (read-answer): New function.
	(read-answer-short): New defcustom.

	* lisp/dired.el (dired-delete-file): Use read-answer.
	(dired--yes-no-all-quit-help): Remove function.
	(dired-delete-help): Remove defconst.

	* lisp/subr.el (assoc-delete-all): New function.

2018-01-21  Lars Ingebrigtsen  <larsi@gnus.org>

	(archive-rar-summarize): Adjust parsing to be more permissive

	* lisp/arc-mode.el (archive-rar-summarize): Adjust parsing to
	be more permissive.

	The previous code would stop parsing if we had a directory entry or a
	negative ratio as seen from the output of lsar on Debian jessie:

	  0. D----    16221659  -----  Nr20  2005-12-24 19:30  foo/
	  4. -----      466509  -0.0%  Nr20  2005-12-24 19:19  foo/bar.jpg

2018-01-21  Alan Mackenzie  <acm@muc.de>

	Handle C99 Compound Literals in return statements and argument lists.

	* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Recognize
	a brace list when preceded by "return" or inside parentheses, either
	immediately after the "(" or following a comma.
	(c-looking-at-inexpr-block): Test c-has-compound-literals rather than hard
	coded C++ Mode.
	(c-guess-basic-syntax, CASE 7B): Test additionally for not being just inside a
	parenthesis or being at a Java "new" keyword.  CASE 9: Remove the simple
	minded test on the contents of a block to determine a brace list.

	* lisp/progmodes/cc-langs.el (c-has-compound-literals): New lang const and lang var.

2018-01-21  Simen Heggestøyl  <simenheg@gmail.com>

	Parse percent values in CSS alpha components

	* lisp/textmodes/css-mode.el (css--rgb-color): Support parsing percent
	values in the alpha component.

	* test/lisp/textmodes/css-mode-tests.el
	(css-test-rgb-to-named-color-or-hex, css-test-rgb-parser): Update for
	the above changes.

2018-01-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix tempfile creation when byte compiling

	This improves on the recent fix for master failing to build
	on FreeBSD.  Suggested by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
	* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
	Put tempfile next to the target file, as was the original intent.

2018-01-20  Michael Albinus  <michael.albinus@gmx.de>

	Extend tramp-test02-file-name-dissect* tests

	* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
	(tramp-test02-file-name-dissect-simplified)
	(tramp-test02-file-name-dissect-separate): Test also
	`tramp-default-method-alist', `tramp-default-user-alist' and
	`tramp-default-host-alist'.

2018-01-20  Jarosław Rzeszótko  <jrzeszotko@gmail.com>  (tiny change)

	* lisp/ielm.el: Bring up the debugger when requested


	(ielm-eval-input): Don't catch errors during evaluation
	of the expression if debug-on-error is set.

2018-01-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	cfc94fd (origin/emacs-26) Don't mention 'vc-stay-local' in the user m...
	8ce430b Fix a typo in calendar.texi
	bb748b3 Minor improvement in wording of the Emacs manual
	b603aff Revert "Fix tempfile creation when byte compiling"
	4fd446e Fix tempfile creation when byte compiling
	7f48a11 Improve the Emacs manual as suggested in emacs-manual-bugs
	728ded0 * lisp/emacs-lisp/bytecomp.el: Tweak last change
	c6c05e2 Unbreak building Emacs on FreeBSD
	a41ad3d Don't unnecessarily use non-ASCII characters in C sources
	c28d4b6 Portability fixes in emacs-module-tests
	1d50c18 Add tests for term.el

2018-01-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	297dc41 * configure.ac (emacs_config_features): Add threads.

	Conflicts:
		configure.ac

2018-01-20  Michael Albinus  <michael.albinus@gmx.de>

	Use file notification in autorevert also for recreated files

	* lisp/autorevert.el (auto-revert-mode)
	(global-auto-revert-mode, auto-revert-notify-add-watch)
	(auto-revert-notify-handler, auto-revert-handler): Do not use
	buffer local `auto-revert-use-notify' anymore.

	* test/lisp/autorevert-tests.el
	(auto-revert-test02-auto-revert-deleted-file): Adapt test in
	order to check, that file notification is reenabled when possible.

2018-01-20  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi: Highlight @cindex entries properly.

2018-01-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve and simplify 'map-y-or-n-p'

	* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Do not follow a
	definite article with an action verb in C-h help text.  Use
	'with-help-window' instead of 'with-output-to-temp-buffer'.
	Simplify string concatenation.  (Bug#30064)

2018-01-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Use map-y-or-n-p in bibtex.el

	* lisp/textmodes/bibtex.el (bibtex-reformat): Use map-y-or-n-p.
	(Bug#30065)

2018-01-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Reverse bibtex-reference-keys in 'bibtex-parse-keys'

	* lisp/textmodes/bibtex.el (bibtex-parse-keys): Reverse
	bibtex-reference-keys.  (Bug#30048)

2018-01-19  Michael Albinus  <michael.albinus@gmx.de>

	Add new entry in tramp-smb-errors

	* lisp/net/tramp-smb.el (tramp-smb-errors):
	Add "NT_STATUS_RESOURCE_NAME_NOT_FOUND".

2018-01-19  Eli Zaretskii  <eliz@gnu.org>

	Fix posn-at-point in Flycheck buffers

	* src/dispnew.c (buffer_posn_from_coords): Improve commentary.

	* src/xdisp.c (move_it_in_display_line_to): Don't exit the loop
	under truncate-lines if the glyph at TO_CHARPOS was not yet
	produced.  This avoids bailing out too early when we are at
	TO_CHARPOS, but didn't yet produce glyphs for that buffer
	position, because the last call to PRODUCE_GLYPHS at this position
	was for an object other than the buffer.  For further details, see
	https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00537.html.

2018-01-19  Reuben Thomas  <rrt@sc3d.org>

	etags(1): fix formatting problem

	* doc/man/etags.1: Remove spurious space.

2018-01-19  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/filenotify-tests.el (file-notify-test03-events): Cleanup subtests.

2018-01-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/calendar.el: Use lexical-binding

	(calendar-generate-window): Remove unused variable `day'.
	(calendar-generate-month): Use calendar-dlet* to provide the dynbind
	vars promised by the respective docstrings.
	(calendar-update-mode-line): Use calendar-dlet* to provide `date' to
	calendar-mode-line-format.  Don't call `eval' here since it's called in
	calendar-string-spread anyway!
	(calendar-date-string): Use calendar-dlet* to provide the dynbind
	vars promised by the docstring of calendar-date-display-form.

	* lisp/calendar/diary-lib.el (diary--date-string): Rename from date-string.

2018-01-18  Noam Postavsky  <npostavs@gmail.com>

	Switch term.el to lexical binding, and clean up code a bit

	* lisp/term.el (term-terminal-state): Remove.
	(term-do-line-wrapping): New variable, equivalent to state 1.
	(term-terminal-previous-parameter, term-terminal-parameter)
	(term-terminal-more-parameters)
	(term-terminal-previous-parameter-2)
	(term-terminal-previous-parameter-3)
	(term-terminal-previous-parameter-4): Remove.
	(term-move-to-column): New function, for absolute column movement.
	(term-control-seq-regexp, term-control-seq-prefix-regexp): New
	constants.
	(term-emulate-terminal, term-pager-discard): Use them via string-match
	instead of implementing a state machine in elisp.  Handle all
	unprocessed input via term-terminal-undecoded-bytes (this solves
	Bug#17231).
	(term-handle-ansi-escape): Take a list of escape sequence parameters
	as an argument, rather than via dynamic variables.
	(term-erase-in-display): Consult the argument, not the dynamically
	bound term-terminal-parameter (which happened to be the same as the
	argument up until now).

2018-01-18  Glenn Morris  <rgm@gnu.org>

	* admin/automerge: New script.

2018-01-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	76040d1 (origin/emacs-26) Handle case-insensitive filenames for load-...
	0c9b050 ; * test/file-organization.org: Fix typo.

2018-01-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	779b2ac Use recommended long options syntax in man page
	c433e87 An overdue update of GNUstep emacs.tiff
	188a9d9 Add some test skip conditions

2018-01-18  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	7efb366 ; * etc/AUTHORS: Regenerate.
	3dc7f68 * admin/authors.el (authors-aliases): Tighten more entries.
	7428062 ; * lisp/vc/vc.el: Comment fixes.
	f4e6b6e Small startup fix for current-load-list
	5b776bf ; * etc/AUTHORS: Regenerate.
	d80295c authors-aliases is based on regexps, not literals

2018-01-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/vc-hg.el, lisp/vc/vc-git.el: Flush the 'vc-functions' cache.

2018-01-18  Juri Linkov  <juri@linkov.net>

	Improve "*Process List*" and "*Local Variables*".  (Bug#30016)

	* lisp/files.el (save-buffers-kill-emacs): Display "*Process List*"
	buffer at bottom.
	(hack-local-variables-confirm): Display "*Local Variables*" buffer
	at bottom.

	* lisp/simple.el (process-menu-mode): Increase buffer column width
	from 15 to 25.

2018-01-18  Philipp Stephani  <p.stephani2@gmail.com>

	Fix module support if threads are disabled (Bug#30106)

	* src/systhread.c (sys_thread_equal): New function.
	* src/thread.c (in_current_thread): Move from emacs-module.c; use
	sys_thread_equal.

2018-01-18  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/message.texi (Mail Aliases): Mention also down and up keys.

2018-01-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Bind up/down in ecomplete

	* lisp/ecomplete.el (ecomplete-display-matches): Allow using
	up/down in addition to M-p/M-n.

2018-01-18  Martin Rudalics  <rudalics@gmx.at>

	Fix some tooltip related problems

	Replace 'tooltip' frame parameter with a 'tooltip' member in
	the frame structure.  For GTK+ builds use 'tip_last_frame' to
	find the frame for which the currently visible tooltip was
	made.  For modeline help-echoing have tooltips show applicable
	actions only.

	* lisp/bindings.el (mode-line-default-help-echo): New function
	as default value of homonymous option.
	* src/dispextern.h (tip_frame, tip_window): Remove
	declarations.
	* src/frame.c (make_frame): Initialize new frame structure
	member 'tooltip'.
	(Fframe_list, other_frames): Rewrite with new macro
	FRAME_TOOLTIP_P.
	* src/frame.h (struct frame): New member 'tooltip'.
	(FRAME_TOOLTIP_P): New macro.
	* src/gtkutil.c (xg_prepare_tooltip, xg_hide_tooltip): Rewrite
	using boolean return values.
	* src/nsfns.m (tip_frame): Remove declaration.
	* src/w32fns.c (w32_display_monitor_attributes_list)
	(w32_display_monitor_attributes_list_fallback): Rewrite with
	new macro FRAME_TOOLTIP_P.
	(tip_last_string, tip_last_frame, tip_last_parms): New Lisp
	scalars replacing Lisp vector last_show_tip_args.
	(x_create_tip_frame): Set new frame's 'tooltip' structure
	member to true.
	(x_hide_tip): Additionally test tip_frame for liveness.
	(Fx_show_tip): Handle last_show_tip_args to tip_last_frame,
	tip_last_string and tip_last_parms conversion.
	(syms_of_w32fns): staticpro tip_last_frame, tip_last_string
	and tip_last_parms instead of last_show_tip_args.
	* src/w32term.c (w32_read_socket, x_new_font): Rewrite with
	new macro FRAME_TOOLTIP_P.
	* src/w32term.h (tip_window): Add external declaration.
	* src/xdisp.c (x_consider_frame_title, prepare_menu_bars)
	(should_produce_line_number): Rewrite with new macro
	FRAME_TOOLTIP_P.
	(note_mode_line_or_margin_highlight): If
	`mode-line-default-help-echo' specifies a function, call it to
	produce help echo string.
	* src/xfns.c (x_make_monitor_attribute_list)
	(Fx_display_monitor_attributes_list): Rewrite with
	new macro FRAME_TOOLTIP_P.
	(tip_last_string, tip_last_frame, tip_last_parms): New Lisp
	scalars replacing Lisp vector last_show_tip_args.
	(x_create_tip_frame): Set new frame's 'tooltip' structure
	member to true.
	(x_hide_tip): Rewrite with additional tests of frames for
	liveness and taking into account that for GTK+ tips the
	reference frame is now stored in tip_last_frame instead of
	tip_frame.
	(Fx_show_tip): Handle last_show_tip_args to tip_last_frame,
	tip_last_string and tip_last_parms conversion.  For GTK+ store
	FRAME argument in tip_last-frame.
	(syms_of_xfns): staticpro tip_last_frame, tip_last_string
	and tip_last_parms instead of last_show_tip_args.
	* src/xterm.c (x_update_begin, handle_one_xevent, x_new_font)
	(x_set_window_size): Rewrite with new macro FRAME_TOOLTIP_P.
	* src/xterm.h (tip_window): Add external declaration.
	* etc/NEWS: Mention new modeline tooltips behavior.

2018-01-16  Glenn Morris  <rgm@gnu.org>

	Small cus-start fix for custom-delayed-init-variables

	* lisp/cus-start.el (custom-delayed-init-variables):
	Only modify it during startup.

2018-01-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Introduce a variable to control ecomplete sorting

	* lisp/ecomplete.el (ecomplete-sort-predicate): New variable.
	(ecomplete-get-matches): Use it.

2018-01-16  Alan Mackenzie  <acm@muc.de>

	C++ Mode: Fontify correctly uniform initialization with inner parentheses.

	E.g.: someStruct x ( (nullptr != y) ? 3 : 4 )
	Also fontify declarations of function pointers correctly.

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While testing for a
	typeless declaration, additionally test the variable `got-prefix' to
	recognize a function pointer in parentheses.  Allow c-fdoc-shift-type-backward
	to be invoked when we have nested parens.

2018-01-16  Lars Ingebrigtsen  <larsi@gnus.org>

	Add documentation to ecomplete.el

	* lisp/ecomplete.el: Add doc strings and document the format.

2018-01-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix macOS breakage in make_lispy_event

	Problem reported by John Wiegley in:
	https://lists.gnu.org/r/emacs-devel/2018-01/msg00499.html
	* src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]:
	Act on used_mouse_menu here...
	(make_lispy_event) [HAVE_NS]: ... instead of here.

2018-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/ielm.el (ielm-eval-input): Use cl-print.

2018-01-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	98e5fb9bf3 (origin/emacs-26) Remove incorrect documentation in comint.el
	8ba5b85161 An overdue update of src/emacs-icon.h
	155b211133 Minor copyedit in ELisp manual

2018-01-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	c9c1add6a4 * doc/lispref/variables.texi (File Local Variables): Fix l...
	752fba992b (tag: emacs-26.0.91) ; * Update ldefs-boot.el
	4f46a5098d * ChangeLog.3: Update
	8f705ba44d Update etc/AUTHORS
	6c63204b8c Fix an entry in authors-aliases
	5dd0e5c54d Mention trace.el facilities in the ELisp manual
	97b0e41c5d Improve documentation of safe values of variables
	a502ee9dc4 ; * doc/emacs/misc.texi (Amusements): Really add "games" t...
	106bf8adc3 Improve the Emacs manual's "Misc" node
	47aa85c7ec In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
	e9e32d3475 ; * Update ldefs-boot.el

2018-01-15  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	2c0cfa6455 * ChangeLog.3: Update
	4387bb44ae Update authors
	bce51bd6f7 * lisp/gnus/message.el (message-do-auto-fill): Prevent do-...
	bd2a2a1e84 Improve documentation of etags
	7ba75b9637 Teach etags new interpreters for some languages
	1f7f03742d * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-stri...
	dbb4aac212 * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#2...
	80463a43da Improve documentation of fill-separate-heterogeneous-words...
	4bd2416d55 Fix documentation of some x-* functions
	9c2b11484f Inherit query-on-exit flag to stderr process (Bug#30031)
	3efb1e7def Fix Bug#30057
	a9b884c60f Tag some unstable tests, and skip by default (bug#24503)

	# Conflicts:
	#	test/lisp/emacs-lisp/eieio-tests/eieio-tests.el

2018-01-15  Nicolas Petton  <nicolas@petton.fr>

	* admin/authors.el (authors-aliases): Additions.

2018-01-15  Nicolas Petton  <nicolas@petton.fr>

	Update authors.el

	* admin/authors.el (authors-valid-file-names)
	(authors-renamed-files-alist): Additions.

2018-01-15  Glenn Morris  <rgm@gnu.org>

	Small improvement for noninteractive gitmerge

	* admin/gitmerge.el (gitmerge-resolve-unmerged):
	In batch mode, report conflicted files.

2018-01-15  Glenn Morris  <rgm@gnu.org>

	Small gitmerge-skip-regexp fix

	* admin/gitmerge.el (gitmerge-skip-regexp): Update for new format
	of "bump version" message that seems to have appeared.

2018-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/print.c (syms_of_print) <print_quoted>: Set default to true

2018-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/smtpmail.el (smtpmail-send-data-1): No string-as-multibyte

	This is not needed any more since unibyte strings will be sent as-is
	anyway by process-send-string.
	(smtpmail-via-smtp): Avoid set-buffer-process-coding-system.

2018-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	(set-buffer-process-coding-system): Mark as interactive-only.

	* lisp/international/mule.el (set-buffer-process-coding-system):
	Mark as interactive-only.

2018-01-15  Jeremie Courreges-Anglas  <jca@wxcvbn.org>

	Use fcntl.h in kqueue.c

	* src/kqueue.c: Use fcntl.h (specified by POSIX) instead of
	non-standard sys/file.h to access O_* open(2) flags.

2018-01-14  Marcin Borkowski  <mbork@mbork.pl>

	Add simple tests for the `fill-polish-nobreak-p' function

	* test/lisp/textmodes/fill-tests.el:
	(fill-test-no-fill-polish-nobreak-p): New test

2018-01-14  Marcin Borkowski  <mbork@mbork.pl>

	Add the function `fill-polish-nobreak-p'

	* lisp/textmodes/fill.el (fill-polish-nobreak-p): Prevent
	line-breaking after a single-letter word even if this word is not
	preceded by a space.  Fixes bug #20871.

2018-01-13  Ken Brown  <kbrown@cornell.edu>

	Add battery support to all Cygwin builds

	It already exists in the Cygwin-w32 build.
	* src/w32fns.c (Fw32_battery_status): Move to...
	* src/w32cygwinx.c: New file, to be used for functions common to
	the MS Windows and Cygwin builds.
	(syms_of_w32cygwinx): New function.
	* src/lisp.h: Add prototype of syms_of_w32cygwinx.
	* src/emacs.c (main) [HAVE_NTGUI or CYGWIN]: Call syms_of_w32cygwinx.
	* src/Makefile.in (SOME_MACHINE_OBJECTS):
	* configure.ac (W32_OBJ) [HAVE_W32]: Add w32cygwinx.o.
	(W32_LIBS) [CYGWIN]: Set equal to "-lkernel32" in non-w32 build.
	(W32_OBJ) [CYGWIN]: Set equal to "w32cygwinx.o" in non-w32 build.
	* etc/NEWS: Document the new battery support.

2018-01-13  Shuguang Sun  <shuguang@gmail.com>

	Fix Bug#29149 in dired-aux.el

	* lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
	commands on w32 properly.  (Bug#29149)

2018-01-13  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#29149 in shell.el

	* lisp/shell.el (shell): Change order of `file-local-name' and
	`expand-file-name' calls.  Otherwise, the local file name
	would be extended by a drive letter, even when it is a remote
	file, seen from w32.  (Bug#29149)

2018-01-13  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp robustness

	* lisp/net/tramp.el (tramp-message, tramp-process-actions)
	(tramp-read-passwd, tramp-interrupt-process):
	* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch)
	(tramp-gvfs-maybe-open-connection):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
	(tramp-process-sentinel)
	(tramp-sh-handle-file-notify-add-watch)
	(tramp-barf-if-no-shell-prompt, tramp-maybe-open-connection)
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
	(tramp-smb-maybe-open-connection): Use process property rather
	than connection property "vector".

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
	Fix scoping error.  Let error traces use process buffer.

	* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
	Move "inotifywait" up.  GVFS based monitoring is not stable.
	Let error traces use process buffer.
	(tramp-sh-gvfs-monitor-dir-process-filter): Check more error
	messages.
	(tramp-get-remote-gvfs-monitor-dir): Search also for "gio".

	* lisp/net/tramp.el (tramp-get-debug-buffer):
	Use `special-mode-map' as parent map in debug buffer.
	(tramp-message): Ensure, that proper process buffer is dumped
	in error case.

2018-01-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/keyboard.c: Consolidate code into make_lispy_event

	(clear_event): Change arg type.  Adjust callers.
	(kbd_buffer_get_event): Move most special event handling to
	make_lispy_event.
	(make_lispy_event): Add missing cases, taken from kbd_buffer_get_event.
	<SAVE_SESSION_EVENT>: Change return value to match what used to be built
	in kbd_buffer_get_event.

2018-01-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/keyboard.c (kbd_buffer_get_event): Use 'switch' ...

	...rather than a sequence of else-if.

2018-01-12  Alan Mackenzie  <acm@muc.de>

	Make Fzlib_decompress_region always call the change hooks in a balanced way.

	This means there will be exactly one call of each of before- and
	after-change-functions, regardless of whether or not the decompression
	succeeds, and these calls will refer to corresponding buffer regions.

	src/decompress.c (struct decompress_unwind_data): add a new field, orig.
	(unwind_decompress): Use del_range_2 and update_compositions in place of
	del_range, to avoid unwanted change hook calls.  Call signal_after_change for
	the failed case.
	(Fzlib_decompress_region): Call modify_txt for a before-change-functions.  Set
	the new field orig of unwind_data to the region's start.  Use del_range_2 and
	update_compositions in place of del_range to avoid unwanted change hook
	calls.  Call signal_after_change for the successful case.

2018-01-11  Juri Linkov  <juri@linkov.net>

	* lisp/frame.el (toggle-frame-maximized/fullscreen): Add frame arg.

	(Bug#29986)

2018-01-11  Juri Linkov  <juri@linkov.net>

	* lisp/windmove.el (windmove-default-keybindings): Allow list of modifiers.

	(Bug#29985)

2018-01-11  Ken Brown  <kbrown@cornell.edu>

	Unbreak the Cygwin-w32 build

	* src/keyboard.c (input_polling_used) [CYGWIN]: Restore.  This was
	removed on Cygwin in the commit "On non-MS-Windows, omit unnecessary
	polling functions".  But it is used in w32fns.c:x_make_frame_visible
	in the Cygwin-w32 build.

2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/smtpmail.el: Use lexical-binding and cl-generic

	(smtpmail-auth-supported): Mark it as non-constant.
	(smtpmail-try-auth-methods): Remove unused var 'ret'.
	Test non-nullness of mech user and password before calling
	smtpmail-try-auth-method.
	(smtpmail-try-auth-method): Make it into a generic function.
	(smtpmail-via-smtp): Remove unused var 'response-code'.

2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/org/org-element.el: Add comment about use of internal functions

2018-01-10  Glenn Morris  <rgm@gnu.org>

	Remove some more face aliases obsolete since 22.1

	* lisp/generic-x.el (show-tabs-tab-face, show-tabs-space-face):
	* lisp/eshell/em-prompt.el (eshell-prompt-face):
	* lisp/vc/smerge-mode.el (smerge-base-face, smerge-markers-face):
	Remove face "-face" aliases, obsolete since 22.1.

2018-01-10  Glenn Morris  <rgm@gnu.org>

	Remove message.el face aliases obsolete since 22.1

	* lisp/gnus/message.el: Remove face "-face" aliases,
	obsolete since 22.1.

2018-01-10  Glenn Morris  <rgm@gnu.org>

	Remove Gnus face aliases obsolete since 22.1

	* lisp/gnus/gnus-art.el, lisp/gnus/gnus-cite.el:
	* lisp/gnus/gnus-srvr.el, lisp/gnus/gnus.el:
	* lisp/gnus/spam.el: Remove face "-face" aliases, obsolete since 22.1.

2018-01-10  Glenn Morris  <rgm@gnu.org>

	Remove obsolete variable sun-raw-prefix-hooks

	* lisp/term/sun.el (sun-raw-prefix-hooks): Remove, obsolete since 21.1.
	(terminal-init-sun): No longer consult sun-raw-prefix-hooks.

2018-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/appt.el: Use lexical-binding

	(appt-display-message): Remove unused variable 'err'.
	(appt-check): Fix typo in search for a function on a hook.
	(number, original-date): Move declaration into 'appt-make-list'.

2018-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/diary-lib.el: Fix bug#30051

	(diary-list-entries): Dynamically bind 'number' and 'original-date' around
	diary-hook as documented in the docstring.

2018-01-09  Glenn Morris  <rgm@gnu.org>

	Remove some obsolete calendar functions and variables

	* lisp/calendar/cal-tex.el (cal-tex-list-holidays):
	Remove alias, obsolete since 24.4.
	* lisp/calendar/calendar.el (calendar-mode):
	No longer use calendar-font-lock-keywords.
	(calendar-font-lock-keywords): Delete variable, obsolete since 24.4.

2018-01-09  Glenn Morris  <rgm@gnu.org>

	Remove some obsolete compat code in supercite.el

	* lisp/mail/supercite.el (sc-ask, sc-cite-original):
	Remove obsolete compat code.  This file uses modern features.

2018-01-09  Glenn Morris  <rgm@gnu.org>

	Remove some obsolete compat code in f90.el

	* lisp/progmodes/f90.el (f90-mark-subprogram, f90-indent-region)
	(f90-fill-region): Remove obsolete compat code.
	This file uses modern features.

2018-01-09  Glenn Morris  <rgm@gnu.org>

	Remove some obsolete compat code in fortran.el

	* lisp/progmodes/fortran.el (fortran-abbrev-start):
	Remove obsolete compat code.  This file uses modern features.

2018-01-09  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	7668717d6f Merge from Gnulib
	9e4d523427 * lisp/epg.el (epg-start-sign): Replace obsolete functions.
	26c58f31a8 Small fix for erc-logging-enabled
	34b41e3bc6 Quieten semantic normal usage
	e25f961e37 Avoid irrelevant hyperlink in doc string of 'epa-pinentry-...
	ec2636513c * doc/misc/tramp.texi (Remote processes): Mention gdb rest...
	918a052a42 Query background for gnome terminal version 3.22 (Bug#29716)
	1dfc27576a Make pixel-wise scrolling less laggy
	f92264fc2a Fix child frame placement issues (bug#29953)
	a5f718c4c5 ; * doc/lispref/text.texi (Change Hooks): Fix last change.
	e876f5f9fb Describe the precise interaction of complex primitives with...
	3a22097cf6 Fix valgrind report in call-interactively
	d5f1c87bfe * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
	b8d74c4578 Fix mark-defun when there's no spaces between successive d...
	a377c652b5 Fix Dired display and operations on file names with raw bytes
	d9d6e8a04c ; Comments related to src/termcap.c
	f8a07fa6b1 Improve documentation of 'gdb-many-windows'
	f82400798e Fix failures in smerge-mode on MS-Windows

2018-01-09  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	d382d2bfc5 * etc/DEBUG (Getting control to the debugger): Fix grammar.
	687af4c8e8 * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset h...
	43e2aafae3 Don't bind dframe events on load (Bug#29599)
	ab31bf3c5f * lisp/textmodes/picture.el (picture-mode-exit): Doc fix. ...
	ed44d92fa6 * lisp/textmodes/picture.el (picture-open-line): Doc fix. ...
	b87a772612 Fix description of 'emacs-internal'
	a5256da588 Update PROBLEMS with selection-related issues
	c59ecb005e New customization variable for python-mode indentation (Bu...
	4e20c8f220 Fix menu keyboard shortcuts on macOS (Bug#29595)

	# Conflicts:
	#	etc/NEWS

2018-01-09  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#30038

	* lisp/net/tramp.el (tramp-make-tramp-file-name): Check, that
	method is not empty.  (Bug#30038)

2018-01-08  Tino Calancha  <tino.calancha@gmail.com>

	cl-loop: Add missing guard condition

	Consider the expansion of `cl-loop' with a `for' clause and more
	than one internal variables, X, Y, processed in parallel.
	Each step updates X and Y right after update the loop variable, K; if
	either X or Y depend on K, then some forms of the body are
	evaluated with the wrong K (Bug#29799).

	For instance, consider the following code:
	(cl-loop for k below 2
	         for x = (progn (message "k = %d" k) 1)
	         and y = 1)

	This code should show in *Messages*:
	k = 0
	k = 1

	Instead, the code shows:
	k = 0
	k = 1
	k = 2

	To prevent this we must ensure that the loop condition is still
	satisfied right after update the loop variable.
	In the macro expansion of the example above, right after:
	(setq k (+ k 1))

	evaluate the rest of the body forms if the condition
	(< k 2)
	is still valid.

	* lisp/emacs-lisp/cl-macs.el (cl--loop-guard-cond): New variable.
	(cl--parse-loop-clause): Set it non-nil if the loop contains
	a for/as clause.
	(cl-loop): After update the loop variable, evaluate the remaining of
	the body forms just if the loop condition is still valid (Bug#29799).

	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-for-as-equals-and):
	New test.

2018-01-07  Alan Third  <alan@idiocy.org>

	Add macOS character-palette (bug#29837)

	* lisp/term/ns-win.el (ns-do-show-character-palette): New function.
	* src/nsfns.m (Sns_show_character_palette): New function.
	* src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.

2018-01-07  Alan Third  <alan@idiocy.org>

	Fix build issues on macOS (bug#29931)

	* configure.ac: On darwin add check for Homebrew texinfo install, and
	fix incorrect quoting of libxml2 includes.

2018-01-07  Philipp Stephani  <phst@google.com>

	Allow inserting non-BMP characters

	* src/coding.h (UTF_16_HIGH_SURROGATE_P, UTF_16_LOW_SURROGATE_P): Move
	from coding.c and document.
	(surrogates_to_codepoint): New function.

	* src/nsterm.m (insertText:): Properly handle surrogate pairs.

2018-01-07  Michael Albinus  <michael.albinus@gmx.de>

	Make tramp-tests.el more robust on w32

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
	Do not call `make-symbolic-link' on w32.
	(tramp-test36-find-backup-file-name): Call also
	`convert-standard-filename' due to w32.
	(tramp--test-windows-nt): New defun.
	(tramp-test42-auto-load, tramp-test42-delay-load)
	(tramp-test42-recursive-load, tramp-test42-remote-load-path):
	Quote command due to w32.

2018-01-07  Philipp Stephani  <phst@google.com>

	Remove incorrect use of AUTO_STRING

	* src/lread.c (load_error_old_style_backquotes): Remove incorrect use
	of AUTO_STRING.

2018-01-07  Tino Calancha  <tino.calancha@gmail.com>

	cl-loop: Calculate the array length just once

	* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause):
	Don't calculate the array length on each iteration (Bug#29866).

2018-01-07  Philipp Stephani  <phst@google.com>

	Improve error message for old-style backquotes

	* src/lread.c (load_error_old_style_backquotes): Improve error message
	if no file is being loaded.

	* test/src/lread-tests.el (lread-tests--force-new-style-backquotes):
	Adapt test.

2018-01-07  Philipp Stephani  <phst@google.com>

	Add new variable to force new-style backquote interpretation.

	* src/lread.c (syms_of_lread): Add new variable
	'force-new-style-backquotes'.
	(read_internal_start): Use it.

	* test/src/lread-tests.el (lread-tests--force-new-style-backquotes):
	New test.

	* etc/NEWS: Document new variable.

2018-01-07  Philipp Stephani  <phst@google.com>

	Revert "Prevent name clashes between CL structures and builtin types"

	This reverts commit 151496a4b96430924bc148f85b9c8471d1e132b1.
	That commit breaks bootstrap builds due to a cyclic dependency.

2018-01-07  Philipp Stephani  <phst@google.com>

	Ignore escape characters for context-sensitive quotes (Bug#29812)

	* lisp/electric.el (electric-quote-post-self-insert-function): Skip
	over escape characters when determining whether a context-sensitive
	quote should be opening or closing.

	* test/lisp/electric-tests.el
	(electric-quote-replace-double-escaped-open)
	(electric-quote-replace-double-escaped-close): New unit tests.

2018-01-07  Philipp Stephani  <phst@google.com>

	Fix a small bug in electric quoting.

	Before this commit, if 'electric-quote-replace-double' is non-nil,
	typing " '" turned into " ‘" even if
	'electric-quote-context-sensitive' was nil.

	* lisp/electric.el (electric-quote-post-self-insert-function): Insert
	context-sensitive double quote only if the last character is actually
	a double quote character.

	* test/lisp/electric-tests.el
	(electric-quote-replace-double-no-context-single): New unit test.

2018-01-07  Philipp Stephani  <phst@google.com>

	Prevent name clashes between CL structures and builtin types

	* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Don't allow
	structures with the same names as builtin types.
	(cl--struct-name-p): New helper function.

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't allow structures
	with the same names as builtin types.

	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/builtin-type):
	* test/lisp/emacs-lisp/cl-preloaded-tests.el
	(cl-struct-define/builtin-type): New unit tests.

	* etc/NEWS: Document changed behavior.

2018-01-07  Alan Mackenzie  <acm@muc.de>

	* src/fns.c (base64-decode-region): Add signal_after_change call for insertion.

2018-01-06  Noam Postavsky  <npostavs@gmail.com>

	Revert "Fix command repetition with lexical-binding (Bug#29334)"

	It does not work with more complicated interactive forms, because
	byte-compile-lambda actually receives an intermediate form of code
	rather than valid lisp source (Bug#29988).
	* src/callint.c (Fcall_interactively):
	* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Revert previous
	change, and update commentary.

2018-01-06  Alan Third  <alan@idiocy.org>

	Allow setting tooltip colors in NS port

	* src/nsfns.m (Fx_show_tip): Get face colors and apply them to the
	tooltip.
	* src/nsmenu.m (EmacsTooltip::setBackgroundColor):
	(EmacsTooltip::setForegroundColor): New functions.
	* src/nsterm.h (EmacsTooltip::setBackgroundColor):
	(EmacsTooltip::setForegroundColor): New function prototypes.

2018-01-06  Alan Mackenzie  <acm@muc.de>

	Make transpose-regions invoke before-change-functions only once.

	In the case of two non-contiguous regions the same size, transpose-regions has
	been calling before-change-functions twice, once for each region.  It now
	calls it just once, for the minimal region spanning both single regions.

	* src/editfns.c (Ftranspose_regions): Combine two calls of modify_text into
	one.

2018-01-06  Michael Albinus  <michael.albinus@gmx.de>

	Minor tramp-gvfs.el cleanup

	* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Move up.
	(top): Delete goa methods only when `tramp-gvfs-enabled' is not nil.

2018-01-05  Michael Albinus  <michael.albinus@gmx.de>

	Add new Tramp connection method "owncloud"

	* doc/misc/tramp.texi (all): Use @acronym{GNOME} thoroughly.
	(Using GNOME Online Accounts based methods): Rename from
	"Using Google Drive".  Add `owncloud'.
	(GVFS based methods): Add `owncloud'.

	* etc/NEWS: Add Tramp connection method "owncloud".

	* lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "owncloud".
	Remove goa methods if not supported.
	(tramp-goa-methods, tramp-goa-service, tramp-goa-path)
	(tramp-goa-path-accounts, tramp-goa-interface-documents)
	(tramp-goa-interface-printers, tramp-goa-interface-files)
	(tramp-goa-interface-contacts, tramp-goa-interface-calendar)
	(tramp-goa-interface-oauth2based)
	(tramp-goa-interface-account, tramp-goa-identity-regexp)
	(tramp-goa-interface-mail, tramp-goa-interface-chat)
	(tramp-goa-interface-photos, tramp-goa-path-manager)
	(tramp-goa-interface-documents)
	(tramp-gvfs-owncloud-default-prefix)
	(tramp-gvfs-owncloud-default-prefix-regexp): New defconst.
	(tramp-goa-name): New defstruct.
	(tramp-gvfs-stringify-dbus-message): Handle all consp messages.
	(tramp-dbus-function, tramp-gvfs-get-remote-prefix)
	(tramp-get-goa-accounts): New defun.
	(with-tramp-dbus-call-method): Use it.
	(with-tramp-dbus-get-all-properties): New defmacro.
	(tramp-gvfs-url-file-name)
	(tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
	Map between "owncloud" and "davs".
	(tramp-gvfs-maybe-open-connection): Set "vector" connection property.

	* test/lisp/net/tramp-tests.el (tramp-gvfs-handler-askquestion):
	Suppress run in tests.
	(tramp--test-owncloud-p): New defun.
	(tramp-test11-copy-file, tramp-test12-rename-file): Use it.

2018-01-05  Jay Kamat  <jaygkamat@gmail.com>

	Make eshell history expansion more like bash (Bug#29821)

	- Prevent expansion of quick substitutions when the initial "^" is not
	  at start of line (Bug#29157).
	- Allow spaces inside substitutions, so "^foo bar^baz" works.
	- Allow trailing characters after substitution, so "^foo^bar^trailing"
	  works.
	- Throw an error when substitution does not match.

	* lisp/eshell/em-hist.el (eshell-expand-history-references): Expand
	history substitution before other types of expansions, and expand them
	with the whole line.
	(eshell-history-substitution): New function to expand only
	substitutions, taking in the entire typed line rather than individual
	arguments.

2018-01-04  Michael Albinus  <michael.albinus@gmx.de>

	Improve backward compatibility in tramp-archive

	* lisp/net/tramp-archive.el
	(tramp-archive-handle-temporary-file-directory):
	Use `tramp-compat-temporary-file-directory'.

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test37-make-nearby-temp-file):
	Wrap `temporary-file-directory' call with `with-no-warnings'.

2018-01-04  Michael Albinus  <michael.albinus@gmx.de>

	Write proper `write-region' message in Tramp backends

	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
	Write proper message.

	* lisp/net/tramp.el (tramp-message-show-message): Change default.

	* test/lisp/net/tramp-tests.el (ert-x): Require it.
	(tramp-test10-write-region): Extend test.

2018-01-03  Noam Postavsky  <npostavs@gmail.com>

	Fix command repetition with lexical-binding (Bug#29334)

	`call-interactively' relies on analyzing the source of `interactive'
	forms in order to preserve arguments like (region-end) in the command
	history, rather than just storing the resulting position.  However,
	the byte-compiler does not preserve the source of the interactive form
	when lexical-binding is in effect, because `call-interactively' would
	evaluate the form with dynamic binding in that case.

	To fix this, change `call-interactively' so that it checks compiled
	functions for lexical-binding as well.  Then the byte-compiler can
	preserve the source of interactive forms regardless of the value of
	lexical-binding.

	* src/callint.c (Fcall_interactively): Functions compiled with
	lexical-binding have their arglist encoded as an integer, use this to
	choose the right kind of binding for compiled functions too.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Preserve the
	uncompiled form of the interactive form when lexical-binding is
	enabled too.

2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix .gdbinit to work with Lisp_Word

	Problem reported by Stefan Monnier (Bug#29957).
	* src/.gdbinit (xgetptr, xgetint, xgettype):
	Cast Lisp_Word value to EMACS_INT, since it might be a pointer now.

2018-01-02  Stephen Leake  <stephen_leake@stephe-leake.org>

	Fix description of 'struct' generic function specializer

	* doc/lispref/functions.texi (Generic Functions): Fix description of
	'struct' specializer; it must be the named struct or a child, not a
	parent.

2018-01-02  Michael Albinus  <michael.albinus@gmx.de>

	Remove superfluous test data for Tramp

2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS: Improve -fcheck-pointer-bounds wording.

	Merge from gnulib, mostly to fix copyright years

2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Update copyright year to 2018

	Run admin/update-copyright.

2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	63b04c11d5 Fix copyright years by hand
	5c7dd8a783 Update copyright year to 2018
	220a9ecba1 Merge from Gnulib
	312c565566 Don't add empty keyboard macro to macro ring (Bug#24992)
	39ca289a7a Allow customization of decoding of "man" command
	f8240815ea * etc/NEWS: Add security consideration note on passphrase ...
	0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ...
	acd289c5a4 Fix problems with indexing in User manual
	b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh...
	e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
	81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ...
	7175496d7a Fix doc string of 'enable-recursive-minibuffers'
	5b38406491 Fix documentation of delsel and of killing text

	# Conflicts:
	#	etc/NEWS
	#	etc/refcards/ru-refcard.tex

2017-12-30  Philipp Stephani  <phst@google.com>

	Improve error reporting when serializing non-Unicode strings to JSON

	* src/coding.c (utf8_string_p): New helper function.
	(syms_of_coding) <utf-8-unix>: Move from json.c.

	* src/json.c (json_check_utf8): New helper function.
	(lisp_to_json_toplevel_1, lisp_to_json): Use it.  To save a bit of
	time, check for invalid UTF-8 strings only after encountering an
	error, since Jansson already rejects them.

	* test/src/json-tests.el (json-serialize/invalid-unicode): Adapt
	expected error symbol.

2017-12-30  David McFarland  <corngood@gmail.com>  (tiny change)

	Fix regex stack overflow in gdb-mi.el when parsing complex locals

	* lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer): Skip string
	literals with (forward-sexp) instead of matching with regex.
	(Bug#29868)

2017-12-30  Sebastian Reuße  <seb@wirrsal.net>  (tiny change)

	Fix output alignment in 'find-dired' for "ls -h"

	* lisp/find-dired.el (find-dired-filter): Fix alignment of
	the file size column when the -h ls option is used in
	'find-ls-option'.  (Bug#29803)

2017-12-28  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Make gnus-alter-articles-to-read-function a constant lambda

	* lisp/gnus/gnus-sum.el (gnus-alter-articles-to-read-function):
	  Default to a no-op lambda form, mention the use of `add-function' in
	  the docstring.
	* lisp/gnus/gnus-sum.el (gnus-articles-to-read): Check if the option
	  value is callable.

2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/ange-ftp.el: Use lexical-binding

2017-12-28  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#29874

	* lisp/net/ange-ftp.el (ange-ftp-file-accessible-directory-p)
	(ange-ftp-real-file-accessible-directory-p): New defuns.
	(ange-ftp-nslookup-host, ange-ftp-start-process):
	Use `ange-ftp-real-file-accessible-directory-p'.
	(file-accessible-directory-p): Put `ange-ftp' property.  (Bug#29874)

2017-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	Remove uses of `cl` from test/ subdirectory

	* test/lisp/gnus/gnus-tests.el: Remove unneeded (require 'cl).

	* test/lisp/net/gnutls-tests.el: Use cl-lib and pcase.

2017-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	(delayed-after-hook-functions): Tighten the code a bit

	* lisp/subr.el (delayed-mode-hooks, delayed-after-hook-functions):
	Use defvar-local.
	(run-mode-hooks): Reset delayed-after-hook-functions before running
	those functions, in case an error is signaled.

	* lisp/emacs-lisp/derived.el (define-derived-mode): Don't duplicate code.

2017-12-27  Glenn Morris  <rgm@gnu.org>

	Fix recent rfc2231 avoidance of cl

	* lisp/mail/rfc2231.el (rfc2231-parse-string)
	(rfc2231-encode-string): Replace cl forms with cl-lib versions.

2017-12-27  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	fd35804971 (origin/emacs-26) * doc/lispref/strings.texi (Case Convers...
	89e257d71b * doc/misc/speedbar.texi (Top): Fix grammar.
	a31ab5ffb5 * lisp/subr.el (with-silent-modifications): Doc fixes.
	2ebc8dc3b6 Fix curved quotes in printed manual
	e4a881b5cf Say that "gnus-cloud" is a parody name
	13c59d0a83 More improvements for text.texi
	7850b7620e Adjudicate review comments for the "Text" chapter of user ...
	d7d3b14a99 * lisp/url/url-http.el (url-http-wait-for-headers-change-f...
	f3819ad13e In C-h k <mouse-n>, alert user to existence of any matching...
	99054fbef9 * net/eww.el (eww): Handle URLs without host part.
	de89c0b641 Make C-h c/k S-mouse-1 display message for mouse-appearanc...
	720ed0b533 Avoid crashes when ':eval' deletes our frame
	9105c9aa34 Fix scrolling up in pixel-scroll.el
	b882d4ef11 Fix problems with ligatures in PDF version of ELisp manual
	289dd53bb3 (elisp-flymake-byte-compile): Handle killed buffer in sent...
	cf36c82127 Avoid some overfull lines in PDF lispref
	b07b56a351 Avoid some overfull lines in PDF manual
	6b3118f025 * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer M...
	7ffb7b1e01 ; lispref nil/t markup fixes

	# Conflicts:
	#	doc/emacs/text.texi

2017-12-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	Eliminate last uses of 'cl' in lisp/mail/

	* lisp/mail/binhex.el: Use lexical-binding and avoid cl.
	(binhex-push-char): Remove unused arg 'count'.
	(binhex-decode-region-external): Remove unused var 'status'.

	* lisp/mail/flow-fill.el: Use lexical-binding and avoid cl.

	* lisp/mail/footnote.el: Reduce redundancy.
	(footnote-roman-lower-regexp, footnote-roman-upper-regexp)
	(footnote-roman-upper-list): Auto-generate from footnote-roman-lower-list.
	(footnote-hebrew-numeric-regex): Auto-generate from footnote-hebrew-numeric.
	(footnote--hebrew-numeric): Simplify.
	(footnote-hebrew-symbolic-regex): Generate from footnote-hebrew-symbolic.

	* lisp/mail/hashcash.el: Use lexical-binding and avoid cl.
	(hashcash-verify-payment): Use pcase.

	* lisp/mail/ietf-drums.el: Use lexical-binding and avoid cl.
	(ietf-drums-token-to-list): Remove unused var 'e'.

	* lisp/mail/rfc2231.el: Use lexical-binding and avoid cl.

	* lisp/mail/uudecode.el: Use lexical-binding and avoid cl.
	(uudecode-char-int): Remove unused 'eval-and-compile' wrapper.
	(uudecode-decode-region-external): Remove unused 'status' var.
	(uudecode-string-to-multibyte): Remove.
	(uudecode-decode-region-internal): Use decode-coding-string instead.

	* lisp/mail/yenc.el: Use lexical-binding and avoid cl.

2017-12-26  Charles A. Roelli  <charles@aurox.ch>

	Fix highlighting in query-replace with non-nil replace-char-fold

	* lisp/replace.el (replace-highlight): Bind
	'isearch-regexp-function' in the same way that function
	'replace-search' does, so as to respect the value of
	'replace-char-fold'.  (Bug#24356)

2017-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/footnote.el: Reduce redundancy in roman&hebrew defs

	(footnote-roman-lower-regexp, footnote-roman-upper-regexp)
	(footnote-roman-upper-list): Auto-generate from footnote-roman-lower-list.
	(footnote-hebrew-numeric-regex): Auto-generate from footnote-hebrew-numeric.
	(footnote--hebrew-numeric): Simplify.
	(footnote-hebrew-symbolic-regex): Generate from footnote-hebrew-symbolic.

2017-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/footnote.el: Use lexical-binding

	(footnote--renumber): Mark arg 'from' as unused.
	(footnote-add-footnote, footnote-renumber-footnotes)
	(footnote-back-to-message): Remove unused argument 'arg'.

2017-12-25  Boruch Baum  <boruch_baum@gmx.com>

	* lisp/mail/footnote.el: Replace "Footnote-" prefix with "footnote--"

	(footnote-section-tag): Remove trailing space.

2017-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/register.el: Use cl-generic

	(registerv): Make it a "normal"struct.
	(registerv-make): Declare obsolete.
	(register-val-jump-to, register-val-describe, register-val-insert):
	New generic functions.
	(jump-to-register, describe-register-1, insert-register): Use them.

	* lisp/emacs-lisp/cl-generic.el: Prefill a combination of struct+typeof.
	(cl--generic-prefill-dispatchers): Allow a list of specializers.

2017-12-25  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)

	Fix MS-Windows build broken by recent changes in json.c

	* src/json.c [WINDOWSNT] (fn_json_object_get): Define.
	(init_json_functions) [WINDOWSNT]: Load json_object_get from DLL.
	(Bug#29848)

2017-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/rtree.el: Use lexical-binding and not 'cl'.

2017-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	lisp/net/mailcap.el (mailcap-file-name-to-mime-type): New function.

	* lisp/net/mailcap.el (mailcap-file-name-to-mime-type): New function.

2017-12-25  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#29822

	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
	Fix handling of restricted shells.  (Bug#29822)

2017-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	Make main_thread_id private

	* src/sysdep.c (main_thread_id) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
	Now static.

2017-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	On non-MS-Windows, omit unnecessary polling functions

	* src/keyboard.c (poll_for_input_1) [!CYGWIN && !DOS_NT]: Remove.
	(input_polling_used) [!DOS_NT]: Remove.

2017-12-24  Philipp Stephani  <phst@google.com>

	Add more Unicode test cases for JSON conversion

	* test/src/json-tests.el (json-parse-string/string)
	(json-serialize/string, json-serialize/invalid-unicode)
	(json-parse-string/invalid-unicode): Add more Unicode test cases.

2017-12-24  Philipp Stephani  <phst@google.com>

	Accept alists when serializing JSON

	* src/json.c (lisp_to_json_toplevel_1): Also accept alists
	representing objects.

	* src/json.c (Fjson_serialize): Update docstring.

	* test/src/json-tests.el (json-serialize/object): Add unit tests for
	serializing alists.

	* doc/lispref/text.texi (Parsing JSON): Document that serialization
	functions accept alists.

2017-12-24  Philipp Stephani  <phst@google.com>

	JSON serialization: reject duplicate keys in hashtables

	* src/json.c (lisp_to_json_toplevel_1): Reject duplicate keys in
	hashtables.

	* test/src/json-tests.el (json-serialize/object-with-duplicate-keys):
	Add unit tests.

2017-12-22  Boruch Baum  <boruch_baum@gmx.com>

	* lisp/mail/footnote.el (footnote-align-to-fn-text): New config var

	(footnote-mode): Declare.
	(Footnote--get-area-point-min): Fix last change to use 'car` instead of
	the undefined 'first'.
	(Footnote--calc-fn-alignment-column, Footnote--fill-prefix-string)
	(Footnote--adaptive-fill-function): New functions.
	(footnote-mode): Use them.

2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/fill.el (adaptive-fill-function): Change default

	Use 'ignore' rather than nil since they behave identically, except that
	'ignore' interacts correctly with add/remove-function.

2017-12-22  Boruch Baum  <boruch_baum@gmx.com>

	* lisp/mail/footnote.el: Misc changes in preparation for more

	(footnote-section-tag-regexp): Don't require the trailing space.
	(Footnote--point-in-body-p, Footnote--get-area-point-min)
	(Footnote--get-area-point-max): New functions.
	(Footnote-narrow-to-footnotes, Footnote-text-under-cursor): Use them.

2017-12-22  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	34fcfc5 (origin/emacs-26, emacs-26) * lisp/emacs-lisp/inline.el (defi...
	f7a62c2 Fix doc string of 'footnote-style-alist'
	c3b6742 Improve documentation of selecting windows
	861d110 Improve documentation of records
	22b3075 * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
	689526b Fix interactive spec of 'semantic-ia-show-variants'
	90ca37f Fix documentation of 'mouse-drag-and-drop-region' and friends
	d60faf3 Improve detection of speller version in ispell.el
	a0e3b06 Document 'mouse-drag-and-drop-region' options and mention the...
	164e84c Fix uses of 'nil' and 'non-nil' in manuals and a few more min...
	798f07f Document that mode commands should be idempotent.
	ad2a47c ; * src/xdisp.c (extend_face_to_end_of_line): Fix last change.
	88ddf53 Fontify a CPP construct correctly when a comment follows with...
	de7de9c Prevent infloop in redisplay on TTY frames
	293720e Fix loss of documentation face in certain CC Mode doc comment...

	# Conflicts:
	#	etc/NEWS
	#	lisp/mail/footnote.el

2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cperl-mode.el: Split table for electric kwd abbrevs

	(cperl-mode-electric-keywords-abbrev-table): New abbrev table.
	(cperl-mode-abbrev-table): Use it.

2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cperl-mode.el: Use cl-lib.  Fix comment convention

	(defgroup, defcustom, defface, x-color-defined-p, uncomment-region)
	(ps-extend-face-list, eval-after-load, turn-on-font-lock):
	Assume defined.
	(cperl-calculate-indent): Use 'functionp' to test if a value is a function.

2017-12-22  Boruch Baum  <boruch_baum@gmx.com>

	Support Hebrew-style footnotes in footnote.el

	* lisp/mail/footnote.el (footnote-hebrew-numeric-regex)
	(footnote-hebrew-symbolic-regex): New defconsts.
	(Footnote-hebrew-numeric, Footnote-hebrew-symbolic): New functions.
	(footnote-style-alist): Add new Hebrew styles.  Doc fix.
	(footnote-style): Add new Hebrew styles.  (Bug#29759)

2017-12-22  Ian Johnson  <ianprime0509@gmail.com>  (tiny change)

	Support French password prompts in shell

	French punctuation rules require a space (preferably non-breaking)
	before the colon.

	* lisp/comint.el (comint-password-prompt-regexp): Support
	spaces (including non-breaking spaces) before and after password
	prompt colon.  (Bug#29729)

2017-12-22  Ted Zlatanov  <tzz@lifelogs.com>

	* lisp/registry.el (registry-collect-prune-candidates): Skip invalid entries

2017-12-22  Francesco Potortì  <pot@gnu.org>

	Improve Rmail Subject normalization when replying

	* lisp/mail/rmail.el (rmail-simplified-subject): A more thorough
	implementation which removes more prefixes from Subject.
	(Bug#29659)

2017-12-22  Eli Zaretskii  <eliz@gnu.org>

	Improve the description of 'electric-quote-replace-double'

	* etc/NEWS: Improve the description of 'electric-quote-replace-double'.
	(Bug#29806)

2017-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cperl-mode.el: Use lexical-binding

	Drop some support code for Emacs-19.  Remove unused args and vars.
	(cperl-mark-active): Remove, use region-active-p.
	(cperl-use-region-p): Remove, use use-region-p.
	(cperl-can-font-lock, cperl-enable-font-lock, cperl-emacs-can-parse):
	Remove, obsolete.
	(cperl-mode-map): Move initialization into declaration.

2017-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cperl-mode.el: Merge from Jonathan Rockway's version

	(cperl-indent-subs-specially): New var.
	(cperl-mode-abbrev-table): Add '=begin'.  Obey cperl-electric-keywords.
	(cperl-sub-keywords, cperl-sub-regexp): New vars.
	(cperl-char-ends-sub-keyword-p): New function.
	(cperl-mode): Use them.
	(cperl-db): Pass `-d` arg to perl.
	(cperl-electric-keyword, cperl-linefeed): Accept also '=end'.
	(cperl-sniff-for-indent): Obey cperl-indent-parens-as-block and
	cperl-indent-subs-specially.
	(cperl-calculate-indent): Fix handling of numbers in
	cperl-indent-rules-alist, and add a case for functions.
	(cperl-find-pods-heres): Use cperl-sub-regexp and allow =begin/=end.
	Also recognize 'say'.
	(cperl-block-p): Use cperl-sub-regexp
	(cperl-after-block-p): Use cperl-char-ends-sub-keyword-p and
	cperl-sub-regexp.
	(cperl-after-block-and-statement-beg): Accept 'say'.
	(cperl-indent-exp): Accept 'state'.
	(cperl-fix-line-spacing): Accept 'state'.
	(cperl-init-faces): Add 'given', 'when', 'default', 'break', 'try',
	'catch', 'finally', 'evalbytes', 'state', '__SUB__', 'fc', 'sysseek'.
	Use cperl-sub-regexp.
	(cperl-etags): Use cperl-sub-regexp.
	(cperl-not-bad-style-regexp): Add '//'.
	(cperl-short-docs): Add ~~, UNITCHECK, 'break', 'default', 'evalbytes',
	'given', 'say', 'state', //, 'fc', 'prototype', =begin', and '=end'.

2017-12-21  Philipp Stephani  <phst@google.com>

	Add a few more unit tests for JSON

	* test/src/json-tests.el (json-serialize/invalid-unicode)
	(json-parse-string/null): Add more tests.
	(json-parse-string/invalid-unicode): New test.

2017-12-21  Philipp Stephani  <phst@google.com>

	JSON: improve some comments

	* src/json.c (json_make_string, json_build_string): Document why
	these functions are OK as-is.

2017-12-21  Philipp Stephani  <phst@google.com>

	Simplify a JSON test

	* test/src/json-tests.el (json-serialize/invalid-unicode):
	Simplify test.  Hexadecimal escape sequences allow putting
	non-Unicode characters in strings directly.

2017-12-21  Philipp Stephani  <phst@google.com>

	Fix bugs in JSON test

	* test/src/json-tests.el (json-serialize/invalid-unicode): Fix two
	bugs that canceled each other out.  "a\xCCb" is actually a valid
	Unicode string because the hexadecimal character escape isn't
	terminated by the "b".  But this was masked by an incorrect
	closing parentheses, causing an unrelated error.

2017-12-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	b3f4a3a (origin/emacs-26) Special-case %DUMBFW for GnuTLS between 3.2...
	c2ae057 Work around GnuTLS version issues with %DUMBFW (tiny change)
	2f9d9ef ; Remove the mention of "plain C code" in the docstring as well
	aca827b Merge branch 'widen-less' into emacs-26
	87548f5 ; Rephrase NEWS entry a bit
	da0d773 (emacs-26) ; * lisp/erc/erc.el: Update URL.
	3a60515 * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler...
	471b6c1 ; Replace non-ascii quote characters in doc strings etc
	7af7f5e Fix some more aliases to user options
	79fb4b5 Fix some flymake aliases
	b9fbc03 (origin/widen-less) Widen in indent-for-tab-command in the no...
	446faf3 Replace the mention of c-indent-defun with js-indent-line
	7e9eef0 Consolidate 'widen' calls

	# Conflicts:
	#	etc/NEWS
	#	lisp/progmodes/flymake-proc.el

2017-12-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	4122d54 Fix updating scrollbar sizes when scaling is in effect
	21a212f Collect GnuTLS extensions and use them to set %DUMBFW if supp...
	936136e * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste lefto...
	07b7fb9 * lisp/subr.el (delayed-after-hook-functions): Rename from .....
	a5b0a4e * lisp/net/shr.el (shr-string-pixel-width): Return pixel-widt...
	c51e797 python.el doc fixes
	c62ced5 Make 'mouse-drag-and-drop-region' more robust and customizable

2017-12-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	89cfdbf Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
	c5061d8 * etc/emacs.appdata.xml: Update file format.
	080f227 Use utf-8-hfs-unix on macOS (Bug#29712)
	28e0261 * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
	ac53084 Improve fix for Bug#29712
	ffd4771 * doc/lispref/sequences.texi (Sequence Functions): Improve in...
	f274cbd Avoid reordering of output in 'shr-insert-document'
	7890864 Improve documentation of 'invisible-p'
	a1327bb Remove one more check that Vframe_list is non-nil
	63b6281 Fix off-by-one error in 'css--hex-color'
	804b37c Save and restore text-pixel height and width of frames (Bug#2...
	777fe94 Partially revert "Mention new strictness for &optional, &rest...
	ad17db7 * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-m...
	5a7d009 * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete al...
	e019c35 FOR_EACH_FRAME no longer assumes frame-list
	d64b88d * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
	92b2604 Modernize message.el face spec syntax
	b1efbe6 Update message.el obsolete face aliases
	2494c14 ; * lisp/comint.el (comint-terminfo-terminal): Add a :version...
	12ad276 Improve documentation of TERM environment variable
	8ed529f Add option to configure comint TERM
	889f07c Better support utf-8-with-signature and utf-8-hfs in XML/HTML
	a2697fa * lisp/menu-bar.el (menu-bar-mode): Doc fix.
	ffb50ea ; * etc/NEWS: Fix last change.
	95606af Fix Bug#29712 in tramp-tests.el
	9bf66c6 Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
	c2a88ec * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loada...
	b178870 Remember password change for IMAP in Gnus (Bug#29692)
	a21dac1 Add %DUMBFW to the default GnuTLS priority strings
	780407c Small fixes prompted by make check-declare
	541a601 Fix some custom groups
	e220d6e Fix fontification of first declaration within a C++ lambda form.
	aa66da2 * src/data.c (Fadd_variable_watcher): Doc fix.
	f838210 Fix misfontification of C++ member initialization list after ...
	232c646 Fix doc-string of Fbuffer_list
	3f9aac6 Don't raise an extraneous frame (bug#29696)
	e7b1111 Mention new strictness for &optional, &rest in arglists (Bug#...
	4cb8696 Don't misfontify "foo ()" inside C++ initialization parenthes...
	ce31e72 Fixes for defcustoms, prompted by cus-test-opts
	aacd1e1 * lisp/net/newst-backend.el (newsticker--raw-url-list-default...
	7e2f4d3 * lisp/htmlfontify.el (hfy-which-etags): Fix it.
	52d2a69 Add missing :version tags revealed by cusver-check
	f5d0360 Escape column-zero doc parens
	45099bb Remove ObjC blocks (Bug#23753)
	b0369d0 Import the latest IVD_Sequences.txt
	cd53b63 Fix dired-do-compress when tar doesn't default to stdin (Bug#...
	51911da Suppress warnings during elisp completion macroexpansion
	a36a090 * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bu...
	6a6e8e6 Make tramp-interrupt-process more robust
	5bcd468 Make quail-input-method work when inhibit-read-only is non-ni...
	87baf12 Fix 'fontset-name-p'
	d231587 Fix fontset documentation inconsistencies for bug#29630
	a829cb8 Remove sentence from child frames section in Elisp manual
	ad491c8 Avoid crashes in 'font-at' after 'set-fontset-font'
	c73d2cd * lisp/files-x.el (connection-local-set-profile-variables): F...
	cefca2b Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
	122e726 Fix tool-tip display when display margins are non-zero by def...
	e1cc203 Handle hash tables and vectors when reading/writing EIEIO obj...
	cda219c Improve interactive debugging commands in xdisp.c
	1056b3c Fix calculation of continuation_pixel_width in display engine
	90e2080 Improve documentation of 'save-abbrevs'.
	14f0230 Improve documentation of Dired
	161b0e5 * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
	7eea314 Minor Tramp fixes
	c0a670a * lisp/help-mode.el (help-function-def): Allow help-make-xref...
	0572016 Fix doc-string of 'display-buffer-in-side-window'
	a1bbc49 Fix Bug#29579
	cb3d979 ; NEWS: Update Org version number
	445eefd Backport: Update Org to v9.1.4
	5381c70 In windows.texi mention special splitting behavior of side an...
	46d62b9 * lisp/gnus/gnus-group.el (gnus-group-mode-map): Bind [follow...
	1ef1dbd Avoid compilation warning in xterm.c
	5cf3c26 * README: Document all the top-level directories.  (Bug#29558)
	e9ea206 Don't enable erc modules on simply loading erc.el
	4b06af0 Allow shr to use data: URLs without encoding
	1fdac2d Don't add newlines in minibuffer history
	de68f33 modhelp.py: Support Python 3 (Bug#24954)
	afb04f7 Use forward slashes for python w32 config example (Bug#21656)
	04e5b28 Fix bug in i18n/l10n optimization
	8227087 Let autoload-compute-prefix be set file-locally (Bug#29471)
	98ca7d5 Improve edit-kbd-macro prompting in case of remapped keys (Bu...
	c02c1f6 Add tests on electric-indentation and Python multiline string...
	946bb6d Disable electric indent for python strings (Bug#29305)
	35f1ed1 ; ChangeLog.2: Fix bug reference.
	ac31663 Fix buffer overflow in fontname conversion (Bug#29523)
	bf9b972 Fix byte compilation of files with leading directories
	ac144dc * lisp/files.el (make-backup-file-name-1): Fix scoping error.
	1b351c8 Revert Tramp commit from 2017-11-20
	77cf972 Improve documentation of buffer-list commands and features
	66ec92a Fix backing up remote files in local directories on MS-Windows
	7e61e74 * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
	1e25cd7 Revert "Fix backing up remote files in local directories on M...
	f52d795 Fix a typo in ELisp manual
	bf26fc3 * lisp/composite.el (find-composition): Fix a typo in the doc...
	34a21c3 ; Auto-commit of loaddefs files.
	8c8b673 Fix backing up remote files in local directories on MS-Windows
	8eb6870 Fix vertical cursor motion in pixel-scroll.el
	625e84f Fix typos in doc strings of message.el
	9292276 Fix a typo in the Emacs manual
	42509c0 Improve the documentation of 'table-insert-sequence'
	93dc7ae Port better to QNX
	ad99550 Make tramp-test42-auto-load more robust
	af0ce33 ; * lisp/composite.el (find-composition): Fix a typo in last ...
	bdbcdba Avoid assertions in find-composition
	408862f ; * lisp/emacs-lisp/bytecomp.el: Tweak message formatting in ...
	9964db4 Restore obsolete method of changing byte-compile-dest-file
	3dd25ae Some minor Tramp corrections
	d670a15 * doc/misc/url.texi (http/https): Fix typo
	99d07e8 Remove some bogus definition-prefixes from loaddefs

2017-12-20  Charles A. Roelli  <charles@aurox.ch>

	Fix vc-region-history when narrowed

	* lisp/vc/vc.el (vc-region-history): Fix behavior when narrowed, by using
	line numbers starting from (point-min).

2017-12-20  Charles A. Roelli  <charles@aurox.ch>

	Ensure current buffer is version-controlled in vc-region-history

	* lisp/vc/vc.el (vc-region-history): Ensure buffer is
	version-controlled.  Otherwise if a user runs it in a
	non-version-controlled buffer, they get the error:

	  Cannot open load file: No such file or directory, vc-nil

2017-12-20  Philipp Stephani  <phst@google.com>

	Define helper functions only if needed

	* src/json.c (JSON_HAS_ERROR_CODE): New define.
	(json_parse_error): Use it.
	(json_has_prefix, json_has_suffix): Define only if needed.

2017-12-20  Philipp Stephani  <phst@google.com>

	* src/json.c (json_parse_error): Fix embarrassing bug.

2017-12-20  Philipp Stephani  <phst@google.com>

	Fix a few compiler warnings in auth-source.el

	* lisp/auth-source.el (json): Add missing require.
	(auth-source-json-search): Remove unused argument.

2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>

	* lisp/auth-source.el (auth-source-backends-parser-file): Fix missing stringp.

2017-12-19  Philipp Stephani  <phst@google.com>

	Use Jansson's error code support if available

	* src/json.c (json_parse_error): Use Jansson's error code support if
	available.

2017-12-19  Glenn Morris  <rgm@gnu.org>

	* doc/misc/auth.texi: Fix use of {} and wrapping in previous change.

2017-12-19  Philipp Stephani  <phst@google.com>

	Allow JSON parser functions to return alists

	* src/json.c (Fjson_parse_string, Fjson_parse_buffer): Give these
	functions a keyword argument to specify the return type for JSON
	objects.
	(json_to_lisp): Convert objects to alists if requested.
	(json_parse_object_type): New helper function to parse keyword
	arguments.

	* test/src/json-tests.el (json-parse-string/object): Add a unit test.

	* doc/lispref/text.texi (Parsing JSON): Document new functionality.

2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>

	* doc/misc/auth.texi (Help for users): Mention JSON backend.

2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>

	auth-source: support JSON backend with .json extension

	* lisp/auth-source.el (auth-source-backends-parser-file): Look
	for .gpg extension and make backend decision without it. Add
	JSON case to backends.

	(auth-source-json-check): Parse JSON data.

2017-12-18  Glenn Morris  <rgm@gnu.org>

	Add a Makefile rule for running gitmerge

	* Makefile.in (GITMERGE_EMACS, GITMERGE_NMIN): New variables.
	(gitmerge): New phony target.

2017-12-18  Glenn Morris  <rgm@gnu.org>

	Set minimum number of commits for gitmerge in batch mode

	* admin/gitmerge.el (gitmerge-minimum-missing): New variable.
	(gitmerge): In batch mode, respect gitmerge-minimum-missing.

2017-12-18  Glenn Morris  <rgm@gnu.org>

	* admin/gitmerge.el (gitmerge-skip-regexp): Be stricter in batch mode.

2017-12-18  Glenn Morris  <rgm@gnu.org>

	Make gitmerge usable in batch mode

	* admin/gitmerge.el (gitmerge-missing): Add progress messages.
	(gitmerge-maybe-resume): In batch mode, never resume.
	(gitmerge): Handle batch mode.

2017-12-18  Philipp Stephani  <phst@google.com>

	JSON: Add tests for Unicode edge cases

	* test/src/json-tests.el (json-serialize/string): Add test for
	serializing the null character.
	(json-parse-string/null): Add test for parsing the null character.
	(json-serialize/invalid-unicode): Add tests for invalid Unicode
	strings.
	(json-serialize/roundtrip): Add Unicode
	noncharacter, non-BMP characters, and syntactic characters.

2017-12-18  Charles A. Roelli  <charles@aurox.ch>

	Fix infinite loop in vc-dir-mark-unmark

	* lisp/vc/vc-dir.el (vc-dir-mark-unmark): Prevent from getting
	stuck on the same line in an infinite loop.  (Bug#24017)

2017-12-18  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix Gnus registry header extraction

	* lisp/gnus/gnus-registry.el (gnus-registry-fetch-recipients-fast,
	  gnus-registry-fetch-sender-fast): First, delete
	  `gnus-registry-fetch-header-fast'. It was being called with reversed
	  arguments, and thus always returned nil, but even if the argument
	  order was correct it would have raised an error, as it was trying to
	  `assq' a string in a vector. Instead, just have these two functions
	  do their own work, as they're doing fairly different things.

2017-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	Default CHECK_LISP_OBJECT_TYPE to "no"

	* configure.ac: Go back to not defining CHECK_LISP_OBJECT_TYPE by
	default for developer builds, since it is no longer that useful.
	We can make it a no-op entirely later, if in practice it's not
	that helpful to enable it.

2017-12-17  Michael Albinus  <michael.albinus@gmx.de>

	Minor fixes in Tramp

	* lisp/net/tramp-archive.el
	(tramp-archive-handle-temporary-file-directory): New defun.
	(tramp-archive-file-name-handler-alist): Use it.

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test99-libarchive-tests): Rename it.

	* test/lisp/net/tramp-tests.el (tramp-test34-vc-registered):
	Skip for older Emacsen.

2017-12-17  Simen Heggestøyl  <simenheg@gmail.com>

	Add command for cycling between CSS color formats

	* lisp/textmodes/css-mode.el (css-mode-map): Add keybinding for
	'css-cycle-color-format'.
	(css--rgb-color): Add support for extracting alpha component.
	(css--hex-alpha, css--color-to-4-dpc, css--named-color-to-hex)
	(css--format-rgba-alpha, css--hex-to-rgb)
	(css--rgb-to-named-color-or-hex): New functions.
	(css-cycle-color-format): New command for cycling between color
	formats.

	* test/lisp/textmodes/css-mode-tests.el (css-test-color-to-4-dpc):
	(css-test-named-color-to-hex, css-test-format-rgba-alpha)
	(css-test-hex-to-rgb, css-test-rgb-to-named-color-or-hex)
	(css-test-cycle-color-format, css-test-hex-alpha): New tests for the
	changes mentioned above.

	* etc/NEWS: Mention the new command.

2017-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/css-mode.el (css--hex-color): Trivial simplification

2017-12-16  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	28e0261890 * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
	ac53084f9b Improve fix for Bug#29712
	ffd4771560 * doc/lispref/sequences.texi (Sequence Functions): Improve...
	f274cbd185 Avoid reordering of output in 'shr-insert-document'
	7890864413 Improve documentation of 'invisible-p'
	a1327bbc64 Remove one more check that Vframe_list is non-nil
	63b6281fdd Fix off-by-one error in 'css--hex-color'
	804b37ca63 Save and restore text-pixel height and width of frames (Bu...
	777fe94661 Partially revert "Mention new strictness for &optional, &r...
	ad17db7964 * lisp/vc/smerge-mode.el (smerge-refine): Respect font-loc...
	5a7d0095a4 * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete...
	e019c35df6 FOR_EACH_FRAME no longer assumes frame-list
	d64b88da2f * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
	92b2604a7f Modernize message.el face spec syntax
	b1efbe6564 Update message.el obsolete face aliases
	2494c14e76 ; * lisp/comint.el (comint-terminfo-terminal): Add a :vers...
	12ad276d15 Improve documentation of TERM environment variable
	8ed529f0f3 Add option to configure comint TERM
	889f07c352 Better support utf-8-with-signature and utf-8-hfs in XML/HTML
	a2697fac0e * lisp/menu-bar.el (menu-bar-mode): Doc fix.
	ffb50eace6 ; * etc/NEWS: Fix last change.
	95606af8b0 Fix Bug#29712 in tramp-tests.el
	9bf66c6bee Don't run FOR_EACH_FRAME when there's no frame left (Bug#2...
	c2a88ec8e8 * lisp/textmodes/tex-mode.el: Ensure uncompiled file is lo...
	b178870528 Remember password change for IMAP in Gnus (Bug#29692)
	a21dac18bb Add %DUMBFW to the default GnuTLS priority strings
	780407cff1 Small fixes prompted by make check-declare
	541a60108d Fix some custom groups
	e220d6e112 Fix fontification of first declaration within a C++ lambda...
	aa66da220c * src/data.c (Fadd_variable_watcher): Doc fix.
	f838210b01 Fix misfontification of C++ member initialization list aft...
	232c6465ce Fix doc-string of Fbuffer_list
	3f9aac68d7 Don't raise an extraneous frame (bug#29696)
	e7b1111155 Mention new strictness for &optional, &rest in arglists (B...
	4cb8696e47 Don't misfontify "foo ()" inside C++ initialization parent...
	ce31e726ad Fixes for defcustoms, prompted by cus-test-opts
	aacd1e14fc * lisp/net/newst-backend.el (newsticker--raw-url-list-defa...
	7e2f4d3d41 * lisp/htmlfontify.el (hfy-which-etags): Fix it.
	52d2a690f6 Add missing :version tags revealed by cusver-check
	f5d0360234 Escape column-zero doc parens

	# Conflicts:
	#	etc/NEWS

2017-12-16  Philipp Stephani  <phst@google.com>

	Remove two unused variables in macfont.m

	* src/macfont.m (macfont_get_glyph_for_character): Remove two unused
	variables.

2017-12-16  Alan Third  <alan@idiocy.org>

	Use utf-8-hfs-unix on macOS (Bug#29712)

	* lisp/term/ns-win.el: Use utf-8-hfs-unix instead of utf-8-hfs.

2017-12-16  Alan Third  <alan@idiocy.org>

	Silence macOS 10.13 deprecation notices (Bug#29643)

	* src/nsfns.m (Fx_display_backing_store):
	(Fx_display_save_under): Don't use NSBackingStoreRetained or
	NSBackingStoreNonretained on macOS 10.13+.
	* src/nsselect.m (symbol_to_nsstring):
	(ns_string_to_symbol):
	(nxatoms_of_nsselect): Replace NSGeneralPboard with
	NSPasteboardNameGeneral.
	* src/nsterm.h: #define NSPasteboardNameGeneral to NSGeneralPboard on
	GNUstep and macOS < 10.13.
	* src/nsterm.m (EmacsView::resetCursorRects):
	(EmacsScroller::resetCursorRects): Don't use setOnMouseEntered on
	macOS 10.13+.

2017-12-16  Michael Albinus  <michael.albinus@gmx.de>

	Suppress timers in Tramp operations

	* lisp/net/tramp.el (tramp-accept-process-output):
	* lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
	(tramp-sh-handle-start-file-process):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
	(tramp-smb-handle-set-file-acl)
	(tramp-smb-handle-start-file-process): Suppress timers.

	* test/lisp/net/tramp-tests.el (tramp-test41-asynchronous-requests):
	Use $REMOTE_PARALLEL_PROCESSES.  Flush cache prior file operations.
	Add instrumentation messages.

2017-12-15  Oscar Fuentes  <ofv@wanadoo.es>

	Don't compare arguments that can be nil

	copy-region-as-kill can be called passing nil as `beg' and
	`end'. Magit does that, which caused an error when this advice was in
	effect.

	* lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
	  unless `beg' and `end' are non-nil.

2017-12-15  Glenn Morris  <rgm@gnu.org>

	Automatically evaluate top-level define-obsolete-function-alias etc

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-make-obsolete):
	New handler.

2017-12-14  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling fix

	* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
	Fix misspelling of ‘delete-directory’.

2017-12-14  Glenn Morris  <rgm@gnu.org>

	Make w32-fns.el loadable on any platform (bug#6997)

	* lisp/w32-fns.el (find-file-visit-truename): Only set on MS Windows.
	(set-message-beep, w32-charset-info-alist): Check bound before using.

2017-12-14  Glenn Morris  <rgm@gnu.org>

	Improve Custom's treatment of obsolete options (bug#5742)

	* lisp/cus-edit.el (custom-variable-obsolete): New face.
	(custom-variable-documentation): Include obsolescence information.
	(custom-variable-value-create): Use different face for obsolete items.
	(custom-face-documentation): New function.
	(custom-face): Use custom-face-documentation.
	* lisp/info-look.el (info-lookup-guess-custom-symbol):
	Add custom-variable-obsolete face.

2017-12-14  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Clarify manual section on &context specializer for methods

	* doc/lispref/functions.texi (Generic Functions): Provide a little
	  more information on how they work.

2017-12-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	Don't get fooled by open parens in column 0 within strings

	* lisp/emacs-lisp/lisp.el (beginning-of-defun-raw):
	Skip defun-prompt-regexp and open-paren-in-0 within strings and comments.

2017-12-12  Glenn Morris  <rgm@gnu.org>

	* admin/gitmerge.el (gitmerge-missing):
	Don't get confused by decorations.

2017-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/syntax.c (find_defun_start): Use syntax-ppss

	(syms_of_syntax): New variable comment-use-syntax-ppss.

2017-12-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	b0369d0536 Import the latest IVD_Sequences.txt
	cd53b6399b Fix dired-do-compress when tar doesn't default to stdin (B...
	51911dae14 Suppress warnings during elisp completion macroexpansion
	a36a090a95 * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo ...
	6a6e8e6e8d Make tramp-interrupt-process more robust
	5bcd468a9e Make quail-input-method work when inhibit-read-only is non...
	87baf1242e Fix 'fontset-name-p'
	d23158777d Fix fontset documentation inconsistencies for bug#29630
	a829cb8c8b Remove sentence from child frames section in Elisp manual
	ad491c80e4 Avoid crashes in 'font-at' after 'set-fontset-font'
	c73d2cdfd7 * lisp/files-x.el (connection-local-set-profile-variables)...
	cefca2b8ac Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
	122e7264b8 Fix tool-tip display when display margins are non-zero by ...
	e1cc2037a9 Handle hash tables and vectors when reading/writing EIEIO ...
	cda219c3df Improve interactive debugging commands in xdisp.c
	1056b3cbcd Fix calculation of continuation_pixel_width in display engine
	90e20804f5 Improve documentation of 'save-abbrevs'.
	14f0230a48 Improve documentation of Dired
	161b0e5493 * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)

2017-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (backtrace--print-frame): Use cl-prin1

	* lisp/emacs-lisp/cl-print.el (cl-prin1): Catch errors, since callers
	generally don't expect errors.

2017-12-12  Glenn Morris  <rgm@gnu.org>

	Fix gitmerge handling of automatic conflict resolution

	* admin/gitmerge.el (gitmerge-resolve): Reenable NEWS handling.
	(gitmerge-resolve-unmerged): Commit after successful resolution.
	(gitmerge-commit): New function, extracted from gitmerge-maybe-resume.
	(gitmerge-maybe-resume): Use gitmerge-commit.

2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	Fix recently-introduced cast typo

	* src/alloc.c (SDATA_OF_STRING): Put cast in right spot.
	This matters only if GC_CHECK_STRING_BYTES, which is sort
	of a coals-to-Newcastle situation if pointer bounds checking
	is also enabled.

2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	Port --fcheck-pointer-bounds to --with-wide-int

	* src/lisp (XSYMBOL) [__CHKP__ && !USE_LSB_TAG]:
	Bypass pointer bounds checking here,
	instead of failing the entire build.
	(make_lisp_symbol): Improve comment.

2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	Narrow pointer bounds when appropriate

	This typically occurs in a storage manager, where the caller
	is expected to access only the newly-allocated object,
	instead of using the returned value to access unrelated
	parts of the heap.
	* src/alloc.c (allocate_string, allocate_string_data)
	(compact_small_strings, find_string_data_in_pure)
	(sweep_strings, setup_on_free_list, allocate_vectorlike
	(pure_alloc):
	* src/bytecode.c (exec_byte_code):
	* src/callint.c (Fcall_interactively):
	* src/dispnew.c (scrolling):
	* src/editfns.c (styled_format):
	* src/frame.c (xrdb_get_resource, x_get_resource_string):
	* src/fringe.c (Fdefine_fringe_bitmap):
	* src/gmalloc.c (malloc, realloc, aligned_alloc):
	Narrow pointer bounds when appropriate.
	* src/alloc.c (SDATA_OF_STRING):
	* src/lisp.h (make_lisp_symbol) [__CHKP__]:
	Widen bounds here, though.
	* src/bytecode.c, src/callint.c, src/dispnew.c, src/editfns.c:
	* src/emacs.c, src/frame.c, src/fringe.c:
	Include ptr-bounds.h.
	* src/ptr-bounds.h (ptr_bounds_clip): New function.

2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	Port to gcc -fcheck-pointer-bounds

	This is a minimal port, just to get Emacs running;
	it does not attempt to make the pointer bounds at all tight.
	* src/ptr-bounds.h: New file.
	* src/alloc.c, src/gmalloc.c: Include it.
	* src/alloc.c (live_string_holding, live_cons_holding)
	(live_symbol_holding, live_misc_holding, garbage_collect_1)
	(sweep_conses, sweep_floats):
	* src/gmalloc.c (malloc_initialize_1, _free_internal_nolock)
	(_realloc_internal_nolock):
	Widen pointer bounds as necessary.
	We're in a memory allocator so this is OK.
	* src/lisp.h (lisp_h_XSYMBOL, make_lisp_symbol) [__CHKP__]:
	Do not convert from pointer to integer and back again, so
	that GCC does not lose track of pointer bounds.
	(XSYMBOL) [__CHKP__ && !USE_LSB_TAG]: Now a compile-time error.
	Although it's possible to support both -fcheck-pointer-bounds and
	--with-wide-int, it's more work; keep things simple for now.
	(DEFINE_LISP_SYMBOL) [__CHKP__]: Now a no-op, to avoid
	trouble with unbounded pointers.

2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	Reimplement Lisp_Object as pointer-to-incomplete

	This makes Lisp_Object values opaque pointers instead of integers,
	which helps avoid the same sort of typos that
	CHECK_LISP_OBJECT_TYPE helps to avoid, without having to wrap
	pointers inside structures.  This also looks forward to supporting
	-fcheck-pointer-bounds.
	* etc/DEBUG:
	* src/.gdbinit (Lisp_Object_Printer.to_string):
	Lisp_Object can be a pointer type now.
	* src/alloc.c (macro_XPNTR, XPNTR):
	* src/emacs-module.c (value_to_lisp_bits, lisp_to_value_bits):
	* src/lisp.h (lisp_h_XLI, lisp_h_XIL):
	(lisp_h_XUNTAG) [USE_LSB_TAG]:
	(XUNTAG) [!USE_LSB_TAG]:
	(Lisp_Object, TAG_PTR, make_lisp_symbol):
	Support new Lisp_Object implementation as a pointer to an
	incomplete type.  Keep pointers pointers, as much as possible.
	* src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, XPNTR_OR_SYMBOL_OFFSET):
	Remove.  All uses replaced by plain XPNTR.
	* src/emacs-module.c: Work around GCC bug 83162.
	* src/lisp.h (LISP_WORDS_ARE_POINTERS, lisp_h_XLP, lisp_h_XPL):
	(XLP, XPL) [DEFINE_KEY_OPS_AS_MACROS]:
	New macros.
	(Lisp_Word, untagged_ptr, Lisp_Word_tag): New types.
	(XLP, XPL): New inline functions.
	(TAG_PTR): Now expands to an initializer, not an expression.
	All uses changed.
	(TAG_SYMOFFSET, XLI_BUILTIN_LISPSYM): Remove.  All uses removed.
	(LISPSYM_INITIALLY): Redo in terms of the new TAG_PTR.
	(NIL_IS_ZERO): Redo without XLI_BUILTIN_LISPSYM.
	* src/xwidget.c (webkit_javascript_finished_cb): Use XPL
	instead of XIL with a non-EMACS_INT arg.
	(Fxwidget_webkit_execute_script): Use XLP instead of XLI
	followed by two conversions.

2017-12-12  Ted Zlatanov  <tzz@lifelogs.com>

	Rename gnus-cloud method setter

	* lisp/gnus/gnus-srvr.el (gnus-server-set-cloud-method-server)
	  (gnus-server-make-menu-bar, gnus-server-mode-map): Rename
	  `gnus-server-toggle-cloud-method-server' to
	  `gnus-server-set-cloud-method-server' (Bug#28845).
	  (gnus-server-toggle-cloud-server): Use "toggle" in docstring.

	* lisp/gnus/gnus-cloud.el: Fix docstring.

2017-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (run-mode-hooks): Fix last change

2017-12-12  Alan Third  <alan@idiocy.org>

	Remove ObjC blocks (Bug#23753)

	* src/macfont.m (macfont_get_glyph_for_character):
	(mac_font_get_glyphs_for_variants): Inline Objective-C blocks.

2017-12-12  Michael Albinus  <michael.albinus@gmx.de>

	Extend tramp-cache.el interface

	* lisp/net/tramp.el (tramp-handle-add-name-to-file)
	(tramp-handle-dired-uncache):
	* lisp/net/tramp-adb.el (tramp-adb-handle-make-directory)
	(tramp-adb-handle-delete-directory, tramp-adb-handle-delete-file)
	(tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
	(tramp-adb-handle-set-file-times, tramp-adb-handle-copy-file)
	(tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
	(tramp-adb-handle-start-file-process, tramp-adb-get-device)
	(tramp-adb-maybe-open-connection):
	* lisp/net/tramp-cache.el (tramp-flush-file-properties)
	(tramp-flush-directory-properties, tramp-flush-file-function):
	* lisp/net/tramp-cmds.el (tramp-cleanup-connection):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
	(tramp-gvfs-handle-delete-directory, tramp-gvfs-handle-delete-file)
	(tramp-gvfs-handle-file-system-info, tramp-gvfs-handle-make-directory)
	(tramp-gvfs-handle-write-region, tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-send-command):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
	(tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
	(tramp-sh-handle-set-file-selinux-context, tramp-sh-handle-set-file-acl)
	(tramp-sh-handle-add-name-to-file, tramp-sh-handle-copy-directory)
	(tramp-do-copy-or-rename-file, tramp-do-copy-or-rename-file-out-of-band)
	(tramp-sh-handle-make-directory, tramp-sh-handle-delete-directory)
	(tramp-sh-handle-delete-file, tramp-sh-handle-dired-compress-file)
	(tramp-process-sentinel, tramp-sh-handle-start-file-process)
	(tramp-sh-handle-process-file, tramp-sh-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
	(tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
	(tramp-smb-handle-delete-directory, tramp-smb-handle-delete-file)
	(tramp-smb-handle-file-acl, tramp-smb-handle-make-directory-internal)
	(tramp-smb-handle-make-symbolic-link, tramp-smb-handle-process-file)
	(tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
	(tramp-smb-handle-set-file-modes, tramp-smb-handle-start-file-process)
	(tramp-smb-handle-write-region, tramp-smb-maybe-open-connection):
	Use them.

	* lisp/net/tramp-cache.el (tramp-flush-file-properties)
	(tramp-flush-directory-properties, tramp-flush-connection-properties):
	Rename from `tramp-flush-file-property',`tramp-flush-directory-property'
	and `tramp-flush-connection-property', respectively.
	(tramp-flush-file-property, tramp-flush-connection-property):
	New defuns.

2017-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (run-mode-hooks): Set parse-sexp-lookup-properties

	if syntax-propertize-function is set (bug#24749).
	* lisp/progmodes/sh-script.el (sh-set-shell):
	* lisp/textmodes/texinfo.el (texinfo-mode):
	* lisp/textmodes/mhtml-mode.el (mhtml-mode):
	* lisp/progmodes/js.el (js-mode): Don't set parse-sexp-lookup-properties.

2017-12-12  Glenn Morris  <rgm@stanford.edu>

	Make functions invocation-directory and invocation-name obsolete

	* lisp/subr.el (invocation-directory, invocation-name):
	Mark the function versions as obsolete.  (Bug#10476)
	* lisp/startup.el (tty-handle-args):
	* lisp/term/common-win.el (x-handle-xrm-switch, x-handle-name-switch):
	* lisp/term/ns-win.el (top-level):
	* lisp/term/pc-win.el (top-level):
	* lisp/term/w32-win.el (window-system-initialization):
	* lisp/term/x-win.el (top-level, x-handle-parent-id)
	(x-handle-smid, window-system-initialization):
	* test/lisp/htmlfontify-tests.el (htmlfontify-bug25468):
	Use invocation-directory and invocation-name as variables.

2017-12-11  Glenn Morris  <rgm@gnu.org>

	* lisp/mail/emacsbug.el (report-emacs-bug): Try "sw_vers" on Darwin.

	* admin/gitmerge.el (gitmerge-resolve): Disable buggy NEWS handling.

2017-12-10  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Obsolete gnus-remove-if and gnus-remove-if-not

	Use seq-remove and seq-filter, respectively, instead.

	* lisp/gnus/gnus-util.el: Remove functions and replace with
	  define-obsolete-function-alias calls.
	* lisp/gnus/gnus.el: Require seq here.
	* lisp/gnus/gnus-art.el (gnus-mime-view-part-as-type):
	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--get-attendee-names):
	* lisp/gnus/gnus-score.el (gnus-summary-score-effect):
	* lisp/gnus/gnus-sum.el (gnus-read-move-group-name):
	* lisp/gnus/gnus-topic.el (gnus-group-prepare-topics):
	* lisp/gnus/gnus-win.el (gnus-get-buffer-window):
	* lisp/gnus/nnmail.el (nnmail-purge-split-history):
	* lisp/gnus/nnmaildir.el (nnmaildir-request-scan):
	* lisp/gnus/nnrss.el (nnrss-make-hash-index): Replace calls in all
	  these locations.

2017-12-10  Philipp Stephani  <phst@google.com>

	Skip tests for json.c unless compiled with native JSON support.

	* test/src/json-tests.el (json-serialize/roundtrip)
	(json-serialize/object, json-parse-string/object)
	(json-parse-string/string, json-serialize/string)
	(json-parse-string/incomplete, json-parse-string/trailing)
	(json-parse-buffer/incomplete, json-parse-buffer/trailing): Skip if
	JSON functions aren't available.

2017-12-10  Eli Zaretskii  <eliz@gnu.org>

	Support dynamic loading of libjansson on MS-Windows

	* src/json.c [WINDOWSNT]: Define fn_* function pointers to jansson
	functions.
	(json_delete) [WINDOWSNT]: A wrapper around fn_json_delete, needed
	by json_decref.
	(init_json_functions) [WINDOWSNT]: New function.
	(Fjson_serialize, Fjson_insert, Fjson_parse_string)
	(Fjson_parse_buffer) [WINDOWSNT]: Call init_json_functions if
	needed, and record JSON in Vlibrary_cache.
	* src/emacs.c (main): Don't call init_json on WINDOWSNT.
	* src/w32fns.c (syms_of_w32fns): DEFSYM "json".

	* lisp/term/w32-win.el (dynamic-library-alist): Add JSON DLL to
	the list.

	* configure.ac (HAVE_JSON): Empty JSON_LIBS for MinGW.

	* nt/INSTALL.W64:
	* nt/INSTALL: Add information about libjansson.

2017-12-10  Philipp Stephani  <phst@google.com>

	* configure.ac: Fix minimum Jansson version requirement.

2017-12-10  Wilfred Hughes  <me@wilfred.me.uk>

	Ensure that we can find definitions when buffer is narrowed

	find-function-search-for-symbol will reuse the existing buffer if
	we've already opened the file that contains this symbol. However, if
	the user has narrowed that buffer, we can't find definitions outside
	the narrowed area.

	Instead, search the whole file to find definitions, and teach the help
	buttons to widen if necessary.

	* lisp/emacs-lisp/find-func.el (find-function-search-for-symbol):
	  Search the whole buffer for the target symbol.

	* lisp/help-mode.el: Help buttons now widen the target buffer, if
	  narrowing is in effect and the target position is not in that range.

2017-12-10  Philipp Stephani  <phst@google.com>

	Implement native JSON support using Jansson

	* configure.ac: New option --with-json.

	* src/json.c (Fjson_serialize, Fjson_insert, Fjson_parse_string)
	(Fjson_parse_buffer): New defuns.
	(json_malloc, json_free, json_has_prefix, json_has_suffix)
	(json_make_string, json_build_string, json_encode)
	(json_out_of_memory, json_parse_error)
	(json_release_object, check_string_without_embedded_nulls, json_check)
	(lisp_to_json, lisp_to_json_toplevel, lisp_to_json_toplevel_1)
	(json_insert, json_insert_callback, json_to_lisp)
	(json_read_buffer_callback, Fjson_parse_buffer, define_error): New
	helper functions.
	(init_json, syms_of_json): New file.

	* src/lisp.h: Declaration for init_json and syms_of_json.

	* src/emacs.c (main): Enable JSON functions.

	* src/eval.c (internal_catch_all, internal_catch_all_1): New helper
	functions to catch all signals.
	(syms_of_eval): Add uninterned symbol to signify out of memory.

	* src/Makefile.in (JSON_LIBS, JSON_CFLAGS, JSON_OBJ, EMACS_CFLAGS)
	(base_obj, LIBES): Compile json.c if --with-json is enabled.

	* test/src/json-tests.el (json-serialize/roundtrip)
	(json-serialize/object, json-parse-string/object)
	(json-parse-string/string, json-serialize/string)
	(json-parse-string/incomplete, json-parse-string/trailing)
	(json-parse-buffer/incomplete, json-parse-buffer/trailing): New unit
	tests.

	* doc/lispref/text.texi (Parsing JSON): New manual section.

2017-12-10  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Archive file names): Precise example.

2017-12-09  Glenn Morris  <rgm@gnu.org>

	* test/lisp/net/tramp-archive-tests.el
	(tramp-archive-test06-directory-file-name): Add skip condition.

2017-12-09  Philipp Stephani  <phst@google.com>

	* lisp/emacs-lisp/advice.el: Stop using old-style backquotes

2017-12-09  Philipp Stephani  <phst@google.com>

	Raise an error when detecting old-style backquotes.

	They have been deprecated for a decade now.

	* src/lread.c (Fload): Don't use record_unwind_protect to warn about
	old-style backquotes any more.  They now generate a hard error.
	(read1): Signal an error when detecting old-style backquotes.  Remove
	unused label.
	(syms_of_lread): Remove unused internal variable
	'lread--old-style-backquotes'.
	(load_error_old_style_backquotes): Rename from
	'load_warn_oldstyle_backquotes'.  Signal an error.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Remove check
	from byte compiler.  It isn't triggered any more.

	* test/src/lread-tests.el (lread-tests--old-style-backquotes): Adapt
	unit test.

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests--old-style-backquotes)
	(bytecomp-tests-function-put): Adapt unit tests.

	* etc/NEWS: Document change.

2017-12-09  Philipp Stephani  <phst@google.com>

	Work around reader limitations for old-style backquotes.

	See Bug#28759.

	* admin/grammars/make.by: Escape ,@ to avoid old-style backquote
	detection

2017-12-09  Michael Albinus  <michael.albinus@gmx.de>

	Support for archive file names

	* doc/misc/tramp.texi (Top, Usage): Add entry "Archive file names".
	(History): Mention archive file names.
	(GVFS based methods): Mentio "http" and "https" methods.
	(Archive file names): New node.
	(Frequently Asked Questions): Add Emacs 27 as supported version.

	* etc/NEWS: Mention tramp-archive.el.

	* lisp/net/tramp.el (tramp-run-real-handler)
	(tramp-register-file-name-handlers)
	(tramp-register-file-name-handlers, tramp-unload-file-name-handlers):
	Add `tramp-archive-file-name-handler'.
	(tramp-handle-file-name-completion): Do not insist in Tramp
	file names.

	* lisp/net/tramp-archive.el: New package.

	* lisp/net/tramp-cache.el (tramp-dump-connection-properties): Check for
	"archive" method.

	* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections): Cleanup also
	local copies of archives.

	* lisp/net/tramp-compat.el (tramp-compat-use-url-tramp-p): New defconst.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "http" and "https".
	(tramp-gvfs-gio-mapping): Add "gvfs-mount".
	(tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
	Handle "uri" and "http".
	(tramp-gvfs-unmount): New defun.

	* test/lisp/net/tramp-archive-tests.el: New package.

2017-12-09  Michael Albinus  <michael.albinus@gmx.de>

	* test/Makefile.in (url-tramp-test.log): Do not handle special.

2017-12-09  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp 2.4.0-pre

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.4.0-pre".

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	Use `tramp-handle-file-directory-p'.
	(tramp-adb-parse-device-names)
	(tramp-adb-handle-expand-file-name)
	(tramp-adb-handle-file-truename, tramp-adb-handle-process-file):
	Adapt `tramp-make-tramp-file-name' call.
	(tramp-adb-handle-file-directory-p): Remove.
	(tramp-adb-maybe-open-connection): Do not set
	tramp-current-*.

	* lisp/net/tramp-cache.el (tramp-get-hash-table):
	Adapt `tramp-make-tramp-file-name' call.

	* lisp/net/tramp-cmds.el (tramp-cleanup-connection): Do not set
	tramp-current-*.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	Use `tramp-handle-file-directory-p'.
	(tramp-gvfs-dbus-event-error): Trace with verbosity 6.
	(tramp-gvfs-do-copy-or-rename-file): Use `file-truename'.
	(tramp-gvfs-handle-file-directory-p): Remove.
	(tramp-gvfs-handler-askpassword): Do not set tramp-current-*.

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
	(tramp-sh-handle-start-file-process)
	(tramp-maybe-open-connection, tramp-get-remote-path): Do not
	set tramp-current-*.
	(tramp-maybe-open-connection): Set "password-vector" property.

	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
	Use `tramp-handle-file-accessible-directory-p' and
	`tramp-handle-file-directory-p'.
	(tramp-smb-handle-copy-directory, tramp-smb-handle-file-acl)
	(tramp-smb-handle-set-file-acl)
	(tramp-smb-maybe-open-connection): Do not set tramp-current-*.
	(tramp-smb-handle-file-directory-p): Remove.
	(tramp-smb-handle-make-symbolic-link):
	Use `tramp-get-connection-buffer' rather than `buffer-name'.

	* lisp/net/tramp.el (tramp-current-method, tramp-current-user)
	(tramp-current-domain, tramp-current-host)
	(tramp-current-port): Remove.
	(tramp-dissect-file-name): No special handling of localname anymore.
	(tramp-make-tramp-file-name): Reimplemnt with new signature.
	(tramp-completion-make-tramp-file-name): Fix docstring.
	(tramp-get-buffer, tramp-handle-file-name-as-directory)
	(tramp-handle-file-name-directory)
	(tramp-check-cached-permissions, tramp-local-host-p)
	(tramp-get-remote-tmpdir, tramp-clear-passwd):
	Adapt `tramp-make-tramp-file-name' call.
	(tramp-completion-handle-file-name-all-completions)
	(tramp-action-login, tramp-read-passwd): Do not set
	tramp-current-*.
	(tramp-handle-file-directory-p): New defun.
	(tramp-handle-verify-visited-file-modtime): Remove superfluous
	`with-parsed-tramp-file-name'.
	(tramp-process-actions, tramp-read-passwd):
	Use "password-vector" property.
	(tramp-call-process, tramp-call-process-region): No special
	setting of vec.
	(tramp-read-passwd): Handle "login-as" property.

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
	Special code for "smb".

2017-12-09  Michael Albinus  <michael.albinus@gmx.de>

	Minor Tramp fixes

	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
	Fix a bug when renaming.

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
	(tramp-test42-delay-load, tramp-test42-remote-load-path):
	Skip unless Emacs >= 26.

2017-12-09  Glenn Morris  <rgm@gnu.org>

	* lisp/help-mode.el (help-function-def):
	Allow help-make-xrefs to call with one argument.  (Bug#29611)

2017-12-09  Martin Rudalics  <rudalics@gmx.at>

	Fix doc-string of 'display-buffer-in-side-window'

	* lisp/window.el (display-buffer-in-side-window): In doc-string
	clarify why the window returned gets dedicated to its buffer.

2017-12-09  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#29579

	* lisp/files.el (file-name-non-special):
	Inhibit `file-name-handler-alist' only for some operations.
	Add missing operations.  (Bug#29579)

	* lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
	Do not quote if it is quoted already.

	* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
	Use `copy-tree' but `copy-sequence'.

	* lisp/net/tramp.el (tramp-handle-file-truename): Handle several
	trailing slashes correctly.

	* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
	(tramp-test12-rename-file, tramp-test24-file-acl)
	(tramp-test25-file-selinux, tramp--test-check-files):
	Handle also quoted file names.
	(tramp-test21-file-links): Fix file name quoting test.
	(tramp-test24-file-acl): Be more robust for "smb" method.
	(tramp-test35-make-auto-save-file-name): Enable hidden test cases.

2017-12-09  Michael Albinus  <michael.albinus@gmx.de>

	Merge from origin/emacs-26

	7eea3144d4 Minor Tramp fixes
	c0a670a8b5 * lisp/help-mode.el (help-function-def): Allow help-make-x...
	05720162c1 Fix doc-string of 'display-buffer-in-side-window'
	a1bbc49015 Fix Bug#29579
	cb3d979b74 ; NEWS: Update Org version number

2017-12-09  Michael Albinus  <michael.albinus@gmx.de>

	Merge from origin/emacs-26

	5381c70b7a In windows.texi mention special splitting behavior of side...
	46d62b9f36 * lisp/gnus/gnus-group.el (gnus-group-mode-map): Bind [fol...
	1ef1dbdbc5 Avoid compilation warning in xterm.c
	5cf3c26f2d * README: Document all the top-level directories.  (Bug#29...
	e9ea2065a8 Don't enable erc modules on simply loading erc.el

2017-12-09  Michael Albinus  <michael.albinus@gmx.de>

	Merge from origin/emacs-26

	1fdac2d65c Don't add newlines in minibuffer history
	de68f337e3 modhelp.py: Support Python 3 (Bug#24954)
	afb04f7f3c Use forward slashes for python w32 config example (Bug#21656)

2017-12-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix core dump from (format "%#08x" n) patch

	Problem reported by Glenn Morris (Bug#29609#13).
	* src/editfns.c (styled_format): Null-terminate output,
	as later code now expects this.

2017-12-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix daylight-saving inference for Irish time

	* lisp/calendar/cal-dst.el (calendar-dst-find-data): Do not assume
	that daylight-saving time has a greater UT offset than standard
	time.  The reverse is true in Ireland, where standard time "IST"
	is UTC +01 in summer and daylight-saving time "GMT" is UTC +00 in
	winter.  The current Irish rules are given by the POSIX setting
	TZ='IST-1GMT0,M10.5.0,M3.5.0/1'.

2017-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix zero-padding bug with (format "%#08x" n)

	Problem reported by Gustaf Waldemarson (Bug#29609).
	* src/editfns.c (styled_format):
	Put zero padding after a leading "0x", not before.
	* test/src/editfns-tests.el (format-sharp-0-x): New test.

2017-12-06  Rasmus  <rasmus@gmx.us>

	Revert "; Add entry for new Org version in NEWS file"

	This reverts commit 793ba92c50d69e1796ea2122520dea872007bca7.

2017-12-06  Rasmus  <rasmus@gmx.us>

	Update Org to v9.1.4

	Please note this is a bugfix release. See etc/ORG-NEWS for details.

2017-12-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/files.el (find-alternate-file): Use selected-window even if dedicated

2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/diary-lib.el: Use lexical-binding

	(diary-pull-attrs): Avoid let...setq.
	(diary-list-entries-2, diary-mark-entries-1)
	(diary-font-lock-date-forms, diary-fancy-date-pattern):
	Use calendar-dlet* around uses of diary-date-forms.
	(list-only, number, date, entry): Don't declare globally.
	(diary-including): Declare.
	(diary-saved-point, date-string): Move before first use.
	(diary-list-entries): Use calendar-dlet* around
	diary-nongregorian-listing-hook and 'diary-list-entries-hook.
	(displayed-year, displayed-month): Move before first use.
	(diary-sexp-entry): Use calendar-let* around evaluation of the sexp.
	(diary-remind): Use calendar-let* around evaluation of sexp.

2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/cal-dst.el: Use lexical-binding

	(calendar-time-zone-daylight-rules, calendar-dst-starts)
	(calendar-dst-ends, dst-in-effect): Bind `year' explicitly around `eval'.

2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/todo-mode.el: Use calendar-dlet*

	(dayname, monthname, day, month, year): Don't declare globally.
	(todo-date-pattern, todo-edit-item--header)
	(todo-convert-legacy-date-time, todo-read-date):
	Use calendar-dlet* around uses of calendar-date-display-form.

2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/solar.el: Use lexical-binding

	(date): Don't declare globally.
	(solar-time-string): Use calendar-dlet*.

	* lisp/calendar/calendar.el (calendar-dlet*): New macro.

2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/faceup.el: Don't require CL

	(faceup-markup-start-char, faceup-markup-end-char): Use char immediates.

2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/elint.el (elint-init-form): Remove outdated CL hack

2017-12-04  Eli Zaretskii  <eliz@gnu.org>

	Fix an omission in lookup_basic_face

	* src/xfaces.c (lookup_basic_face): Handle 'vertical-border' face
	as well.  (Bug#29557)

2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>

	allocate_vectorlike minor cleanup

	* src/alloc.c (allocate_vectorlike): Move a bit of code out of the
	critical section.  Although this doesn’t really help performance,
	it cleans up the code a bit and should make it easier to add
	pointer bounds checking.

2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>

	Omit exprintf if modules but no X

	* src/doprnt.c (exprintf): Do not define if HAVE_MODULES &&
	!(have_X_WINDOWS || USE_X_TOOLKIT), as the modules code no longer
	uses exprintf.

2017-12-03  Paul Eggert  <eggert@union>

	Pacify GCC on Ubuntu 17.10 x86-64

	* src/xfns.c (x_real_pos_and_offsets): Pull out parent frame
	into a local, so that GCC doesn't warn about dereferencing
	a possibly-null pointer.

2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow shr to use data: URLs without encoding

	* lisp/net/shr.el (shr-image-from-data): Don't bug out on
	image data: URLs that have no base64 encoding like
	(shr-image-from-data
	"text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").

2017-12-03  Alan Third  <alan@idiocy.org>

	Add image resizing and rotation to NS port

	* lisp/image.el (image--get-imagemagick-and-warn): Bypass imagemagick
	check when using NS.
	* src/nsimage.m (ns_load_image): Add rotation and resizing
	functionality. Move the getMetaData call to before the resize/rotation
	so it returns correct metadata.
	(EmacsImage::setSizeFromSpec, EmacsImage::rotate): New functions.
	* src/nsterm.h (EmacsImage): Add new function prototypes.
	(NSCompositingOperationCopy): Add define to older equivalent for
	GNUstep and pre-10.12 macOS.
	* configure.ac: Don't use libjpeg on Cocoa.

2017-12-03  Noam Postavsky  <npostavs@gmail.com>

	Disable history expansion in eshell (Bug#29157)

	History expansion is not so useful since interactive history commands
	are already provided.  It can produce surprising errors when the user
	is not aware of the history designator syntax.
	* lisp/eshell/em-hist.el (eshell-hist-initialize): Don't add
	eshell-expand-history-references to eshell-expand-input-functions.
	* etc/NEWS: Announce it.

2017-12-03  Noam Postavsky  <npostavs@gmail.com>

	* lisp/emacs-lisp/package.el (package-read-from-string): Simplify.

2017-12-03  Noam Postavsky  <npostavs@gmail.com>

	Fix faceup tests when run from elc

	String literals may be shared by the compiler, so the test string
	needs to be copied before adding properties to it.  For single
	properties, just use a string literal with properties.
	* test/lisp/emacs-lisp/faceup-tests/faceup-test-basics.el
	(faceup-markup): Split into...
	(faceup-markup-basics, faceup-markup-escaping, faceup-markup-plain)
	(faceup-markup-plain-full-text, faceup-markup-anonymous-face)
	(faceup-markup-anonymous-face-2keys, faceup-markup-anonymous-nested)
	(faceup-markup-nested, faceup-markup-overlapping)
	(faceup-markup-multi-face, faceup-markup-multi-property): New tests.

2017-12-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	04e5b28ff1 Fix bug in i18n/l10n optimization
	8227087194 Let autoload-compute-prefix be set file-locally (Bug#29471)
	98ca7d5f26 Improve edit-kbd-macro prompting in case of remapped keys ...
	c02c1f6be7 Add tests on electric-indentation and Python multiline str...
	946bb6d225 Disable electric indent for python strings (Bug#29305)
	35f1ed10e4 ; ChangeLog.2: Fix bug reference.
	ac316634e4 Fix buffer overflow in fontname conversion (Bug#29523)
	bf9b972843 Fix byte compilation of files with leading directories
	ac144dc835 * lisp/files.el (make-backup-file-name-1): Fix scoping error.
	1b351c8a47 Revert Tramp commit from 2017-11-20
	77cf972592 Improve documentation of buffer-list commands and features
	66ec92af00 Fix backing up remote files in local directories on MS-Win...
	7e61e74da7 * doc/emacs/mule.texi (Output Coding): Clarify sendmail co...
	1e25cd79ff Revert "Fix backing up remote files in local directories o...
	f52d79500b Fix a typo in ELisp manual
	bf26fc3656 * lisp/composite.el (find-composition): Fix a typo in the ...

2017-12-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	8c8b673288 Fix backing up remote files in local directories on MS-Win...
	8eb6870be6 Fix vertical cursor motion in pixel-scroll.el
	625e84f156 Fix typos in doc strings of message.el
	9292276a44 Fix a typo in the Emacs manual
	42509c0649 Improve the documentation of 'table-insert-sequence'
	93dc7ae4a4 Port better to QNX
	ad99550610 Make tramp-test42-auto-load more robust
	af0ce33d08 ; * lisp/composite.el (find-composition): Fix a typo in la...
	bdbcdbac43 Avoid assertions in find-composition

2017-12-02  Alan Mackenzie  <acm@muc.de>

	For help commands, ensure all keys of a mouse sequence are reported.

	This solves the problem where read_key_sequence initializes and uses a global
	buffer raw_keybuf, yet is called recusrsively.  The initialization is now done
	elsewhere, avoiding the reinitialization of that global buffer.

	* src/keyboard.c (command_loop_1, read_key_sequence_vs): Initialize
	raw_event_count before calling read_key_sequence.
	(read_char_x_menu_prompt): Call x_popup_menu_1 in place of Fx_popup_menu.
	(init_raw_keybuf_count): New function.
	(read_key_sequence): Remove initialization of raw_event_count.  Add a missing
	GROW_RAW_KEYBUF invocation.

	* src/keyboard.h: (init_raw_keybuf_count): New declaration.

	* src/menu.c: (x_popup_menu_1): New function with the functionality of the
	former Fx_popup_menu.
	(Fx_popup_menu): Replace with function which initializes raw_event_count then
	calls x_popup_menu_1.

	* src/menu.h: (x_popup_menu_1): New declaration.

2017-12-01  Vibhav Pant  <vibhavp@gmail.com>

	lisp/erc/erc.el: Use inline-letevals for when args are buffer local.

	* lisp/erc/erc.el: (erc-get-server-user, erc-add-server-user,
	  erc-remove-server-user): Use inline-letevals for when the arguments
	  refer to buffer-local variables.

2017-12-01  Glenn Morris  <rgm@gnu.org>

	* admin/gitmerge.el (gitmerge-resolve): Handle NEWS.  (Bug#29366)

2017-12-01  Glenn Morris  <rgm@gnu.org>

	Don't hard-code gitmerge.el's default merge branch

	* admin/gitmerge.el (gitmerge-default-branch): Make it a variable,
	defaulting to nil.
	(gitmerge-emacs-version, gitmerge-default-branch): New functions.
	(gitmerge): Guess the branch to merge from.

2017-12-01  Glenn Morris  <rgm@gnu.org>

	* admin/gitmerge.el (gitmerge-resolve):
	Fix treatment of generated files.

2017-11-30  Michael Heerdegen  <michael_heerdegen@web.de>

	Add macros `thunk-let' and `thunk-let*'

	* lisp/emacs-lisp/thunk.el (thunk-let, thunk-let*): New macros.
	* test/lisp/emacs-lisp/thunk-tests.el:
	(thunk-let-basic-test, thunk-let*-basic-test)
	(thunk-let-bound-vars-cant-be-set-test)
	(thunk-let-laziness-test, thunk-let*-laziness-test)
	(thunk-let-bad-binding-test): New tests for `thunk-let' and
	`thunk-let*.

	* doc/lispref/eval.texi (Deferred Eval): New section.
	* doc/lispref/elisp.texi: Update menu.

2017-11-30  Phillip Lord  <phillip.lord@russet.org.uk>

	Add date to dependency and source zips for snapshots

	* admin/nt/dist-build/build-zips.sh,
	  admin/nt/dist-build/build-dep-zips.py: Support snapshot naming

2017-11-30  Glenn Morris  <rgm@gnu.org>

	Make truncate-lines permanently local (bug#15396)

	Width of lines relative to display is rarely a function of major mode.
	* src/buffer.c (init_buffer_once) <truncate-lines>:
	Flag as permanently local.
	* lisp/bindings.el (truncate-lines): Add permanent-local property.

2017-11-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	408862f02a (origin/emacs-26) ; * lisp/emacs-lisp/bytecomp.el: Tweak m...
	9964db4c34 Restore obsolete method of changing byte-compile-dest-file
	3dd25aeecb Some minor Tramp corrections
	d670a15f25 * doc/misc/url.texi (http/https): Fix typo
	99d07e8d5e Remove some bogus definition-prefixes from loaddefs
	6067f0c702 Shell-quote wildcards when invoking 'vc-git-grep'
	0540df10e6 Update documentation of '.dir-locals-2.el'
	f2441ab320 ; Fix some tiny doc and comment typos
	22ff46e6d8 ; Fix some comment typos

	# Conflicts:
	#	etc/NEWS

2017-11-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	f2e6961a1b ; * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file): ...
	1c8bd8a119 A few small doc fixes for bytecomp.el

2017-11-29  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	02d114d6b8 * lisp/tree-widget.el (tree-widget-end-guide): Escape it. ...
	0a85d12474 Fix ELisp "Warning Tips"
	06d05fec84 Fix Bug#29163
	ac64fdb248 Harden exec_byte_code against redefining 'error'
	700f74e4c8 Fix Edebug specs for if-let* and and-let* (Bug#29236)
	0ded1b41a9 Fix Edebug's handling of dotted specs (bug#6415)
	16358d4fcb Improve documentation of "constant" symbols

2017-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el: Use pcase and cl-lib

	(message-check-news-body-syntax): Avoid string-to-multibyte.

2017-11-28  Glenn Morris  <rgm@gnu.org>

	Put most erc autoloads in a dedicated file erc-loaddefs.el

	These are features that are only useful after erc.el is loaded.
	* lisp/erc/erc.el (top-level): Load erc-loaddefs.
	* lisp/erc/erc-autoaway.el, lisp/erc/erc-button.el:
	* lisp/erc/erc-capab.el, lisp/erc/erc-compat.el:
	* lisp/erc/erc-dcc.el, lisp/erc/erc-desktop-notifications.el:
	* lisp/erc/erc-ezbounce.el, lisp/erc/erc-fill.el:
	* lisp/erc/erc-identd.el, lisp/erc/erc-imenu.el:
	* lisp/erc/erc-join.el, lisp/erc/erc-list.el, lisp/erc/erc-log.el:
	* lisp/erc/erc-match.el, lisp/erc/erc-menu.el:
	* lisp/erc/erc-netsplit.el, lisp/erc/erc-notify.el:
	* lisp/erc/erc-page.el, lisp/erc/erc-pcomplete.el:
	* lisp/erc/erc-replace.el, lisp/erc/erc-ring.el:
	* lisp/erc/erc-services.el, lisp/erc/erc-sound.el:
	* lisp/erc/erc-speedbar.el, lisp/erc/erc-spelling.el:
	* lisp/erc/erc-stamp.el, lisp/erc/erc-track.el:
	* lisp/erc/erc-truncate.el, lisp/erc/erc-xdcc.el:
	Set generated-autoload-file to "erc-loaddefs.el".

2017-11-27  Glenn Morris  <rgm@gnu.org>

	Fix probable typo in elisp-mode constant name

	* lisp/progmodes/elisp-mode.el (emacs-lisp-byte-code-comment-re):
	Rename from emacs-list-byte-code-comment-re.  Add doc string.
	(elisp--byte-code-comment, elisp-byte-code-syntax-propertize):
	Update for the above.

2017-11-27  Phillip Lord  <phillip.lord@russet.org.uk>

	Update Build files for Emacs-27

	* admin/nt/dist-build/README-windows-binaries,
	  admin/nt/dist-build/build-dep-zips.py,
	  admin/nt/dist-build/build-zips.sh: Update Version

2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el: Fix bug#26073.

	* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand):
	Implement Common-Lisp's behavior for symbol-macro's let-rebindings.
	(cl--letf, cl-letf): Don't get fooled into using a plain `let` for
	symbol-macros.

	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet-hide):
	New test.

2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el: Fix &key with no key arg

	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-empty-keyargs): New test.
	* lisp/emacs-lisp/cl-macs.el (cl--do-arglist): Fix it.

2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5.

2017-11-26  Paul Eggert  <eggert@union>

	Pacify --enable-gcc-warnings on Ubuntu 17.10 x86-64

	* src/process.c (Fmake_network_process):
	Avoid duplicate test of NILP (host), which apparently confuses
	GCC into thinking that portstringlen might be used uninitialized.

2017-11-26  Charles A. Roelli  <charles@aurox.ch>

	* src/process.c (wait_reading_process_output): Deduplicate check.

	(Bug#29454)

2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	a89f0b6f33 maint: shorten https://lists.gnu.org/r/... links
	8be3aee281 Merge from Gnulib
	265cee553f Work around GCC bug 80776 on Fedora 27 x86
	dc7a97fb84 Tweak copy-file, rename-file doc
	cfa2a944d4 Change font-lock-extend-region-multiline handling in mhtml...
	a8664cc998 Minor cleanup in tramp-gvfs-handle-file-local-copy
	55c5b12fa0 Add test for Bug#29423 in Tramp.
	3198a1646e Avoid jumbled order in HTML rendered by shr.el
	23bfc2d2db Make sure 'dired-filename' property is always put by ls-lisp
	f7fdaea4c0 A better solution for bug#29347
	86e6ed8521 ; * src/thread.c (acquire_global_lock): Fix thinko in last...
	f300852037 Avoid a hang after C-g while sit-for on a Unix TTY
	d7fc719ff1 Improve the doc string of 'list-packages'
	b4f67ebb92 Improve discoverability of 'defvar' for suppressing warnings
	8a2b204e64 Improve discoverability of 'read-buffer-completion-ignore-...
	eea4e9194c Improve documentation of self-insert-uses-region-functions
	e6e41dac87 Reflect changes in copy-file and rename-file in doc strings
	0ec534070f * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (...
	1d0dbdff6c Reorder type predicates in ELisp manual
	b081ec9dd7 Fix backward scrolling in buffers with header-line
	8e40429c96 ; Fix some doc typos
	ed2c542920 * lisp/bindings.el (buffer-file-coding-system): Add explic...
	d82474e452 * src/fns.c (syms_of_fns) <overriding-plist-environment>: ...
	292c09ff6d Fix incorrect interaction of drag/drop and double click (b...
	d6fadb1d26 * lisp/menu-bar.el (menu-bar-options-save): Add display-li...
	daa959efbc * lisp/menu-bar.el (menu-bar-options-save): Add global-dis...
	17fc74d1b9 * lisp/follow.el (follow-mode): Restore mode line lighter....
	f20c2e2f3d ; Compare process status against 127 exactly
	2d203ffb7e Extract the common part of ruby-flymake-simple and ruby-fl...
	09944d499a Add Rubocop Flymake backend
	c65a0ae7c4 ; Fix a typo
	7ab7603125 Update nt/INSTALL.W64 (Bug#28601)
	11db253c08 Remove incorrect NEWS item about VC state indicator (Bug#2...
	2fdc01c036 * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
	735c8b516e Make c-defun-name analyze more thoroughly a function type ...
	92f0c4cd56 Avoid bogus abbreviated file names if HOME changes
	8d450453fa * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
	37a3b4ea40 Fix erc keep-place module with new defaults (Bug#29111)
	6c312605bf Add window divider faces to NS (bug#29353)

	# Conflicts:
	#	etc/NEWS
	#	lisp/ruler-mode.el

2017-11-24  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Obsolete gnus-copy-sequence and gnus-last-element

	(Bug#28856, Bug#28867)

	* lisp/gnus/gnus-range.el: Leave gnus-last-element in place, but
	  obsolete it and point to car of last. Remove gnus-copy-sequence and
	  define as an obsolete alias for copy-tree.
	  (gnus-remove-from-range):
	* lisp/gnus/gnus-cache.el (gnus-cache-generate-active):
	* lisp/gnus/gnus-sum.el (gnus-summary-insert-articles,
	  gnus-select-newsgroup, gnus-summary-read-group-1,
	  gnus-select-newsgroup, gnus-update-marks,
	  gnus-summary-insert-articles, gnus-summary-insert-new-articles):
	  Replace calls in these locations.
	* lisp/gnus/gnus-agent.el (gnus-agent-catchup,
	  gnus-agent-summary-fetch-series, gnus-category-copy):
	* lisp/gnus/gnus-cus.el (gnus-group-customize):
	* lisp/gnus/gnus-group.el (gnus-group-edit-group-done,
	  gnus-group-make-useful-group):
	* lisp/gnus/gnus-score.el (gnus-score-adaptive):
	* lisp/gnus/gnus-srvr.el (gnus-server-copy-server): Replace calls in
	  these locations.

2017-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/data.c: Fix regression in last clone-buffer change

	* src/data.c (Fmake_local_variable, Fmake_variable_buffer_local):
	Signal more precise error when applied to read-only variable.

2017-11-24  Sam Steingold  <sds@gnu.org>

	Fix last patch: ensure the return value of tags-verify-table.

	* lisp/progmodes/etags.el (tags-verify-table): Since `(tags-table-mode)'
	always return nil now that it is a derived mode, call
	`verify-tags-table-function' explicitly.

2017-11-24  Pip Cet  <pipcet@gmail.com>

	Use NULL for NULL rather than false

	* src/xdisp.c (x_draw_bottom_divider): Fix type typo.

2017-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/macros.el (insert-kbd-macro): Recognize kmacros reliably

	* lisp/macros.el (name-last-kbd-macro): Make it an alias of
	kmacro-name-last-macro.
	(insert-kbd-macro): Use kmacro-keyboard-macro-p so it also works for
	kmacros that fail to have a `kmacro' property.
	(see https://emacs.stackexchange.com/questions/37065, for an example).

	* lisp/kmacro.el: Remove redundant :group args.
	(kmacro-insert-counter): Simplify.
	(kmacro-extract-lambda): Use car/cdr-safe.
	(kmacro-p, kmacro-keyboard-macro-p): New functions.
	(kmacro-name-last-macro): Use them.

2017-11-24  Daiki Ueno  <ueno@gnu.org>

	Remove pinentry.el

	* lisp/epg.el (epg--start): Remove the use of pinentry.el.
	* lisp/net/pinentry.el: Remove (bug#27445).

2017-11-24  Jaesup Kwak  <veshboo@gmail.com>  (tiny change)

	Avoid unnecessary xwidget_view creations

	* src/xwidget.c (x_draw_xwidget_glyph_string): Don't create new
	xwidget view if we have a usable one already.

2017-11-24  Alex Branham  <branham@utexas.edu>

	More informative error when autosave file is not available

	* lisp/files.el (recover-file): Distinguish in error messages
	between autosave file not existing and not being current.
	(Bug#29179)

2017-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (clone-buffer): Adjust `mark-ring'

2017-11-22  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Marked groups should always be visible in *Group* buffer

	* lisp/gnus/gnus-group.el (gnus-group-prepare-flat): Check for the
	  mark in these two locations.
	* lisp/gnus/gnus-topic.el (gnus-topic-find-groups)

2017-11-22  Sam Steingold  <sds@gnu.org>

	Use special-mode for read-only buffers.

	* lisp/progmodes/etags.el (tags-table-mode): Define using
	`define-derived-mode', inheriting from `special-mode'.
	Not only the buffer is now read-only, but you can bury it with "q".
	(select-tags-table-mode): No need to set `buffer-read-only'
	explicitly, `special-mode' takes care of that.
	* lisp/vc/log-edit.el (log-edit-show-files): Use `special-mode'
	instead of setting `buffer-read-only' explicitly.

2017-11-22  Sam Steingold  <sds@gnu.org>

	Remove variable alias executing-macro, obsolete since before 19.34.

2017-11-22  Sam Steingold  <sds@gnu.org>

	Remove *-yank-hooks aliases for -citation-hook, obsolete since 19.34.

	* lisp/simple.el (compose-mail): Use `mail-citation-hook'
	instead of `mail-yank-hooks'.
	* lisp/mail/sendmail.el (mail-yank-hooks): Remove.
	(mail-yank-original, mail-yank-region): Drop `mail-yank-hooks'.
	* lisp/mh-e/mh-letter.el (mh-yank-hooks): Remove.
	(mh-insert-prefix-string): Drop `mh-yank-hooks'.

2017-11-20  Phillip Lord  <phillip.lord@russet.org.uk>

	Fix lower case installer name

	* admin/nt/dist-build/build-zips.sh (build_installer):

2017-11-20  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Use message instead of gnus-message in gnus-summary-current-score

	* lisp/gnus/gnus-score.el (gnus-summary-current-score): The only point
	  of this function is to display the score to the user, there's no
	  need to do gnus-message filtering.

2017-11-20  Phillip Lord  <phillip.lord@russet.org.uk>

	Add date to snapshot file

	* admin/nt/dist-build/build-zips.sh: Add date to all out files.
	* admin/nt/dist-build/emacs.nsi: Lower case and date installer.

2017-11-20  Alan Mackenzie  <acm@muc.de>

	read_key_sequence: correct the handling of raw_keybuf in recursive calls

	This fixes bug #29349.

	* src/keyboard.c (raw_keybuf_buffer, raw_keybuf_count_buffer): New variables
	pointed to by ...
	(raw_keybuf, raw_keybuf_count): Variables converted to pointers.
	(GROW_RAW_KEYBUF): enhance with a length argument.
	(command_loop_1): Initialize the above two pointers to their canonical values.

	(read_key_sequence): In recursive calls (for menus) the function was
	overwriting the raw event buffer of the outer call.  Correct this by
	introducing a local buffer for each level of call, and setting this up to be
	used by the call to read_char.  Any contents of this local buffer are appended
	to the global buffer afterwards.

2017-11-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	fc5b8f1 Fix Bug#29149
	5622b2e Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs into...
	4da8799 (emacs-26) Fix misbehavior when drawing three-pixel high hori...
	1b082c8 MH-E: don't automatically download external-body parts
	069f978 ; * lisp/emacs-lisp/byte-run.el: Fix a typo in a comment.
	504a56c ; Fix last commit
	a34e44e ; Fix last commit
	a8892b4 Further fix for Bug#29291
	d14923b Fix divider frame params on NS (bug#29352)
	b2518ac Spelling fixes

	# Conflicts:
	#	etc/NEWS
	#	test/lisp/net/tramp-tests.el

2017-11-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	6e6bf60 Don't let delete_frame select a tooltip frame (Bug#27647)
	e9dd580 Filter obtrusive events in help-read-key-sequence.
	90075e8 Fix symlink flag in tramp-gvfs-handle-file-attributes
	c355529 Fix bug in tramp-handle-file-truename
	4c21d04 Fix a typo in doc string of electric-indent-functions-without...
	319c2de Avoid assertion violations in echo_area_display
	63c7733 ; * lisp/ido.el (ido-find-alternate-file): Doc fix.  (Bug#29278)
	cbd319a Fix case-folding in Occur
	29520b0 Fix quick-calc in C mode with hex values
	3e80124 Improve documentation of dired-next/prev-marked-file
	90add18 Prevent aborts in line-move-visual
	648c128 More fixes in src/.gdbinit
	104f3e5 Document how to enter whitespace when using grep-read-files

2017-11-20  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	42c8768 Fix .gdbinit following lisp.h changes
	720322a ; Spelling fixes
	617c556 * lisp/simple.el (shell-command): Doc fixes.
	1faade8 Fix marker adjustment for undo (Bug#29118)

2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/erc/erc-services.el: Use lexical-binding

2017-11-20  Olaf Rogalsky  <olaf.rogalsky@t-online.de>  (tiny change)

	* src/keyboard.c: Make xterm-mouse clicks on mode-line work


	(read_key_sequence): Recompute first_event
	after replay_sequence, since it might have changed (bug#29104).

2017-11-19  Johan Bockgård  <bojohan@gnu.org>

	copyright.el: Avoid inadvertent point motion

	* lisp/emacs-lisp/copyright.el (copyright-update-year): Enlarge the
	scope of save-excursion. Reported in:
	https://lists.gnu.org/r/emacs-devel/2017-04/msg00271.html

2017-11-19  Vibhav Pant  <vibhavp@gmail.com>

	lisp/erc/erc-services.el: Fix arg eval order of inline functions.

	* lisp/erc/erc-services.el (erc-nickserv-alist-sender,
	  erc-nickserv-alist-regexp, erc-nickserv-alist-nickserv,
	  erc-nickserv-alist-ident-keyword, erc-nickserv-alist-use-nick-p,
	  erc-nickserv-alist-ident-command,
	  erc-nickserv-alist-identified-regexp): Use `inline-letevals' to make
	  sure that `network' is evaluated first and independently of `entry'.

2017-11-18  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Further fixes to writing of object names

	Pursuant to 1ef6d2b0e6

	* lisp/emacs-lisp/eieio.el (object-write): Only write the name in the
	  comment when the comment's also present. Newline should only be
	  printed if the name is.

2017-11-18  Vibhav Pant  <vibhavp@gmail.com>

	Reimplement inline functions in ERC with define-inline.

	* lisp/erc/erc-backend.el: (erc-server-reconnect-p): Reimplement using
	  define-inline.

	* lisp/erc/erc-dcc.el: (erc-dcc-unquote-filename, erc-dcc-get-parent):
	  Reimplement using define-inline.

	* lisp/erc/erc-services.el: (erc-nickserv-alist-sender,
	  erc-nickserv-alist-regexp, erc-nickserv-alist-nickserv,
	  erc-nickserv-alist-ident-keyword, erc-nickserv-alist-use-nick-p,
	  erc-nickserv-alist-ident-command,
	  erc-nickserv-alist-identified-regexp): Reimplement using define-inline.

	* lisp/erc/erc.el: (erc-get-channel-user, erc-get-server-user,
	  erc-add-server-user, erc-remove-server-user, erc-channel-user-owner-p,
	  erc-channel-user-admin-p, erc-channel-user-op-p,
	  erc-channel-user-halfop-p, erc-channel-user-voice-p, erc-log):
	  Reimplement using define-inline.

2017-11-17  Phillip Lord  <phillip.lord@russet.org.uk>

	Rebrand Uninstaller

	* admin/nt/dist-build/emacs.nsi: Add MUI_UNICON

2017-11-17  Phillip Lord  <phillip.lord@russet.org.uk>

	Fix install location for windows installer

2017-11-15  Phillip Lord  <phillip.lord@russet.org.uk>

	Rebrand Windows installer

	 * admin/nt/dist-build/emacs.nsi: Use two icons.
	 * etc/images/splash.bmp,etc/images/icons/hicolor/scalable/apps/emacs.ico:
	   New files.

2017-11-14  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	796c7f7 (origin/emacs-26) ; Fix last fix of 'mouse-drag-and-drop-region'
	40d41dd (emacs-26) Fix Bug#28139
	a5ec644 Fix Bug#29291
	8b900e5 Fix Bug#2928
	ff7bd84 Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect...
	0491de8 * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
	caa39f4 Fix cookie handling (bug#29282)
	93304e3 Improve documentation of Edebug and macros

2017-11-13  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix name of gnus-summary-sort-by-mark(s)

	* lisp/gnus/gnus-sum.el (gnus-summary-sort-by-marks): Needs the
	  "s", according to docs and keymap both.

2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	79108894db Port to IBM xlc 12.01
	d14956099d Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
	b1573a97e1 Use alignas to fix GCALIGN-related bugs
	5d68dc9a2f Change vectorlike from struct to union
	6aa0a26b46 Don't enable cursor-sensor-mode in mhtml-mode
	2b8ef8dddf * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
	fe85ce1e16 Unbreak interactive run of a flymake test (bug#29267)
	48ad00390d Fix Bug#29225
	42daf83f08 CC Mode: Fix defun-open being recognized as brace-list-ope...
	7775c47298 Merge from Gnulib
	e470d16448 Pacify GCC when configured --with-x-toolkit=no
	49450d0951 * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
	e286b3381f Fix more flymake-diag-region eob corner cases and add test...

	# Conflicts:
	#	src/lisp.h

2017-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-srvr.el: Avoid custom-set-variables

	* lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
	Prefer customize-set-variable.

2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>

	Rename Man-build-section-alist (bug#28998)

	The defsubst Man-build-section-alist builds and returns a list of
	strings, so rename it to Man-build-section-list and make it a defun.

	* lisp/man.el (Man-build-section-alist): Do it and reduce syntax.
	(Man-goto-page):
	* lisp/woman.el (woman-find-file): Use it.

2017-11-10  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Provide more control over writing of objects in object-write

	* lisp/emacs-lisp/eieio.el (eieio-print-indentation,
	  eieio-print-object-name): New variables controlling whether an
	  object name is printed for each object, and whether an object's
	  contents are indented or not. Object names are obsoleted; omitting
	  indentation reduces the size of persistence files.

2017-11-08  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	9e59de9449 Use GCALIGNED properly for GCC
	b9d7c90260 In f90.el, set fill-paragraph-function to a useful value

	# Conflicts:
	#	src/lisp.h

2017-11-08  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	6c3031399b * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc t...
	98288ecaff Further workaround for faulty localtime() under macOS 10.6

2017-11-08  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	255ba01148 Fix handling of nil PRED2 arg for completion-table-with-pr...
	949b70a7d8 ; Minor comment copyedit in window.c
	20f9bf30f0 Describe Lao rendering problem
	3d61657694 Fix docstring of arabic-shaper-ZWNJ-handling
	db949166ec Handle single-line comments correctly (Bug#26049)
	795bb233a5 * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-w...
	ba00ea7d0d * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
	4a6015811e ; In text.texi fix typo spotted by Štěpán Němec
	93cd8415b2 Document new treatment of 'comment-auto-fill-only-comments'
	ca2d94ba61 Do not load Tramp unless `tramp-mode' is non-nil
	709478eaa8 Prefer `customize-set-variable' in tramp.texi
	5d36f2227f Fix last change in hscroll_window_tree
	72d07d1950 Ediff: add some missing documentation
	18af404ef3 Support python virtualenv on w32 (Bug#24464)
	efd0371c23 Improve dired deletion error handling (Bug#28797)
	5d744e032f Don't replace user input when completion prefix is empty (...
	ec6cf35c5f ; Describe xt-mouse problems with Evil mode
	c572e1f329 Return non-nil from gnutls-available-p under GnuTLS 2.x
	a2cc6d74c5 Fix Flymake help-echo functions across windows (bug#29142)
	58bb3462ee Add tests for Flymake backends for Ruby and Perl
	58e742b21d Add a Flymake backend for Perl
	9dee764165 Add a Flymake backend for Ruby
	3ad712ebc9 Add a Flymake backend for Python (bug#28808)
	8db2b3a79b Allow "%" in Tramp host names
	8c50842790 ; Fix typo in test/file-organization.org
	00fa4449cd ; Fix typo
	918a2dda07 Use hybrid malloc for FreeBSD (Bug#28308)
	725ab635d9 Add html-, mhtml- and python-mode support to semantic symref
	369da28702 Improve documentation of 'window-scroll-functions'
	93818eed8a Fix subtle problems in tabulated-list-mode with line numbers
	1f1de8e872 Make gdb-non-stop-setting default to nil on MS-Windows
	680e8e119b Fix gdb-mi prompt after "attach PID" command
	ff33074546 Fix doc string of 'window-configuration-change-hook'
	787b75ad71 Improve documentation of window hooks
	d9be8704ae Fix hscroll suspension after cursor motion
	6f43d29d29 ; * CONTRIBUTE, admin/make-tarball.txt: Doc tweaks re 'ema...
	a0d30d6369 Introduce a function to CC Mode which displays the current...
	383abc8898 ; Fix some comment typos
	b02c2714c3 Fix typos in ediff-wind.el
	4f38bdec74 Examine tex-chktex--process in the correct buffer
	94b490529a * nt/INSTALL.W64: Update to current mingw64 install instru...
	c25113d4ac Don't resignal errors in flymake-diag-region
	e950f329c0 New xref-quit-and-goto-xref command bound to TAB (bug#28814)
	5d34e1b288 Allow split-window-sensibly to split threshold in further ...
	2a973edeac Honor window-switching intents in xref-find-definitions (b...
	78e9065e9f * lisp/emacs-lisp/generator.el (iter-do): Add a debug decl...
	caa63cc96c * lisp/progmodes/flymake.el (flymake-start): Fix dead buff...
	9f4f130b79 Fix buffer name comparison in async shell-command

	# Conflicts:
	#	etc/NEWS
	#	lisp/vc/ediff-wind.el

2017-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/tramp-cmds.el, lisp/allout.el: Avoid custom-set-variables

	* lisp/net/tramp-cmds.el (tramp-change-syntax):
	* lisp/allout.el (allout-init): Avoid custom-set-variables.

2017-11-07  John Mastro  <john.b.mastro@gmail.com>

	Increase DUMPED_HEAP_SIZE in w32heap.c

	* src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]: Bump
	up DUMPED_HEAP_SIZE to 22 MiB.  (Bug#29180)

2017-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el: Put completions-common-part on all common parts

	(completion-pcm--pattern-point-idx): New function.
	(completion-pcm--hilit-commonality): Use it.
	Put completions-common-part on all the common parts.

2017-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/filecache.el: Use lexical-binding.  Simplify.

	Remove redundant :group args, use with-tmep-buffer and let
	completion-all-completions do its work.

	(file-cache-minibuffer-complete): Skip `completion-hilit-commonality`
	since `completion-all-completions' already highlighted its output.
	Call our setup function directly rather than via `completion-setup-hook`.
	(file-cache-buffer): Remove variable.
	(file-cache-buffer-default-regexp): Make it a defvar.
	(file-cache--add-from-buffer): Rename from
	file-cache-add-from-file-cache-buffer and use current-buffer and
	match-string-no-properties.
	(file-cache-add-directory-using-find)
	(file-cache-add-directory-using-locate): Adjust accordingly and use
	with-temp-buffer.

2017-11-07  Chris Feng  <chris.w.feng@gmail.com>

	Handle unread-command-events consistently (bug#23980)

	* src/keyboard.c (read_char): Events put into `unread-command-events'
	with the form (t . EVENT) should always have the t stripped when read
	out.
	* test/src/keyboard-tests.el: New tests for `unread-command-events'.

2017-11-07  Sam Steingold  <sds@gnu.org>

	Mark flymake-diagnostic-functions as save to set locally to nil.

	* lisp/progmodes/flymake.el (flymake-diagnostic-functions): Set
	`safe-local-variable' property to `null'.
	Now one can disable flymake-mode locally in a file by setting
	`flymake-diagnostic-functions' to nil, see `(Emacs)File Variables'.

2017-11-06  Juri Linkov  <juri@linkov.net>

	Override possible change of next-error-last-buffer in next-error-function

	* lisp/simple.el (next-error, next-error-internal):
	Setq next-error-last-buffer after next-error-function call.
	(Bug#28864)

2017-11-05  Phillip Lord  <phillip.lord@russet.org.uk>

	Add support for Windows installer build

	* etc/images/slash.bmp:
	* admin/nt/dist-build/emacs.nsi: New files
	* admin/nt/dist-build/build-zips.sh: Support building installer

2017-11-04  Andreas Politz  <politza@hochschule-trier.de>

	Make filecache use extended completion

	* lisp/filecache.el (file-cache-minibuffer-complete): Use
	completion-try-completion and completion-all-completions.

	* etc/NEWS: Add news entry.

2017-11-04  Eli Zaretskii  <eliz@gnu.org>

	Allow 'make-string' callers force creation of multibyte strings

	* src/alloc.c (Fmake_string): Accept additional argument
	MULTIBYTE, and produce a multibyte string if it is non-nil.
	(make_event_array):
	* src/lread.c (read0):
	* src/editfns.c (Ftranslate_region_internal):
	* src/coding.c (Fdefine_coding_system_internal):
	* src/cmds.c (internal_self_insert):
	* src/xdisp.c (build_desired_tool_bar_string)
	(store_mode_line_string): All C callers changed.

	* doc/lispref/strings.texi (Creating Strings): Document the new
	optional argument.

	* etc/NEWS: Mention the new optional argument.

	* lisp/ruler-mode.el (ruler-mode-ruler): Call make-string with the
	3rd argument non-nil.

2017-11-04  Łukasz Jędrzejewski  <jedrzejewskiluk@gmail.com>  (tiny change)

	Extract user from host when searching for entries in auth-source-pass

	* lisp/auth-source-pass.el (auth-source-pass--user): New function.
	(auth-source-pass--find-match): Use it.  When the user is not
	explicitly specified and no entry is found, extract the user from
	the host and then search again.  (Bug#29045)
	* test/lisp/auth-source-pass-tests.el
	(auth-source-pass-find-match-matching-extracting-user-from-host):
	Add a new test case.

2017-11-03  Sam Steingold  <sds@gnu.org>

	Finish the Bug#11728 work: hg & git

	* lisp/vc/vc-git.el (vc-git--pushpull): Make `extra-args' a list.
	Do not set `compilation-error-regexp-alist', this is done in
	`vc-compilation-mode'.
	(vc-git-error-regexp-alist): Tweak the regexp.
	* lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Make non-trivial.
	(vc-hg--pushpull): Accept `post-processing' argument.
	Call them after the `command'.
	(vc-hg-pull): Pass the `post-processing' commands that show which
	are to be modified by the `update', and then run `update'.

2017-11-03  Sam Steingold  <sds@gnu.org>

	Add colors to faces that lack them.

	(gnus-group-news-X-empty): Add colors for X=3,4,5.

2017-11-03  Robert Pluim  <rpluim@gmail.com>

	New function 'libxml-available-p'

	* src/emacs.c (main): Call syms_of_xml unconditionally.
	* src/lisp.h: Provide syms_of_xml prototype even when
	HAVE_LIBXML2 is not defined.
	* src/xml.c (Flibxml_available_p): New function, cloned from
	Fgnutls_available_p.
	(syms_of_xml): Provide Slibxml_available_p.

	* doc/lispref/text.texi (Parsing HTML/XML): Document libxml-available-p.
	(GnuTLS Cryptography, Format of GnuTLS Cryptography Inputs)
	(Document Object Model): Fix indentation of the first paragraph.

	* etc/NEWS (libxml-available-p): Mention libxml-available-p.

2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	c911b27 Change GCALIGNMENT back to an integer literal

2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify by assuming !_MSC_VER.

	Emacs has not been portable to MSVC for some time (Bug#29040#57).
	* admin/CPP-DEFINES (_MSC_VER): Remove.
	* src/lisp.h (ENUM_BF, DEFUN):
	* src/regex.c (re_char):
	Simplify by assuming _MSC_VER is not defined.
	* src/regex.c (const_re_char): Remove.
	All uses replaced by re_char.

2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS.26: Copy from emacs-26/etc/NEWS.

2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	a87ce5c4b4 * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
	8a31e9993f ; etc/NEWS: Add cpp-message-min-time-interval.  (Bug#28961)
	ac0bb9a192 Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
	36400c7dc9 Fix mouse-scrollbar offset on GNUstep and old macOS (bug#2...
	04bc1410c2 Merge from Gnulib
	6b08ad5263 Fix alignment portability problems
	a9f8706fa8 Fix completion of colon after CSS property (Bug#29056)
	9031dec527 ; * src/alloc.c (sweep_symbols): Fix last change.
	fdd3dcfa4e * src/alloc.c (sweep_symbols): Tweak last change
	27964af438 In frame parameters documentation mention desktop saving/r...
	1bd4e7c243 ; Fix typo in ChangeLog.3
	4182a60d31 Don't have frameset save the 'client' parameter (Bug#29067)
	9d31a97092 ; Spelling fixes
	460a25f212 Handle generic variables in cl-defgeneric Edebug spec
	dc0a25c2f9 Give a more sensible message if file-attributes fails (Bug...
	8453423c7c Avoid wrong value from file-attributes on Linux kernel bef...
	70621e2571 Fix customization of debugger-print-function (Bug#29077)

	# Conflicts:
	#	etc/NEWS

2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	460fe4a1bc ; Doc fixes
	41adf3281e Avoid duplicate calls to xfree for the same pointer
	3e7ebbe1bd Don't clobber docstrings of explicitly-defined mode hook v...
	9c8fe0248b Avoid fullscreen ediff control frames by default (Bug#29026)
	7d32176acc Fix the bug#24034 change (revno 9eb028f) causing infloop (...
	ee493663ba Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
	ca5eb0d0b7 Fix a typo in the ELisp manual
	d10c9479ca Fix doc and doc-strings for minibuffer window related func...
	18331d00da Fix "Args out of range" error in c-determine-limit.  Fixes...
	edde35e6f8 * lisp/progmodes/perl-mode.el: Fix electric indentation wi...
	056587c45f Extend mhtml submode region when in comment
	4c4ad80848 Fix mthml submode lighting at end of buffer
	557e252aa2 Remember more variables in mhtml-mode
	336cd0a11a ; * lisp/select.el (select-enable-primary): Add missing pe...
	134099bc90 ; * etc/NEWS (EUDC): Mark as not requiring documentation.
	1a340274bf * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
	4189d0ef7b Fix minibuffer window related docs and strings (Bug#28978)
	2ebdde6e9c Add ChkTeX flymake backend for latex-mode
	5b59841791 Fix doc typos
	82a16c547b Fix some duplicate word typos
	266888b1d7 * doc/lispref/commands.texi (Adjusting Point): Fix wording...
	00c3c6d88d Avoid segfaults in 64-bit Windows builds
	a8e6741066 Fix conversion of pixel coordinates to buffer position
	d43b486f6c Fix doc strings in desktop.el
	9102fb603e Add Index to ERT manual
	68182a4710 Make manuals and NEWS consistent
	451823b0e5 Don't allow (minibuffer-window-active-p nil) to return t
	cc8f72ca22 Clarify obsolescence message for 'whitespace-tab'
	50f711e7fa Fix some duplicate words typos
	8bd9524a7c * lisp/button.el (button-activate): Fix doc typo.
	0b0d91e60a * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix ...
	e6b4e5ffdf Fix some doc typos
	e8636ac8cc Fix startup display on Cygwin
	3926c5ad83 * src/fileio.c (Fset_default_file_modes): Fix typo in doc ...
	9715317dfd * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bu...
	9e442a001a Improve documentation of how faces are applied to display ...
	1bda71ec3b Improve pixel-scroll-mode
	196106d37d Support Certification Authority Authorization in dns-mode.el
	ec08d70b4f Improve documentation of set-default-file-modes

	# Conflicts:
	#	etc/NEWS

2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	7f089aa5f6 Require seq in rmc.el
	53aaad1dfc Make an example code introduced in the Gnus info work (bug...
	7b29db222f Enable gnus-read-ephemeral-* to run multiple times (bug#29...
	015f0bb2d8 Port thread.c to OpenBSD ARM
	ad68bbd0da Fix another "wrong side of point" error in CC Mode.
	646e56e150 Fix Bug#28959
	685fd77959 Fix duplicate .o file on QNX
	e562356c3f Fix two js indentation problems
	b8cf159bbc Update documentation for windows build
	46540a1c7a Fix a "wrong side of point" error in CC Mode.  Fixes bug #...
	57ca409111 Fix autoload of flymake from elisp-mode during bootstrap (...
	aee0bc8775 Fix non-native fullscreen on NS (bug#28872)
	d6c1a9cb8a ; Fix author email address in test/lisp/url/url-tramp-test...
	761c630766 Fix Bug#28982
	628b653209 Fix windows build errors
	e8a06a5f9a Fix compile warning for non-w32 builds
	0c536a20fb Display commit in package description, if available (Bug#2...
	1d83257a1d Port to QNX
	19667f44ef * configure.ac: Tweak libcurses diagnostic.
	3fc05cfaec Scripts to automate windows binary distribution
	928a106939 Fix Edebug specs for map-let and with-maps-do
	46f2ee0d4c * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): ...
	b51009d7f0 * admin/authors.el (authors-canonical-author-name): Ignore...
	a015db90e3 * test/lisp/progmodes/sql-tests.el (sql-tests-postgres-lis...
	529a9c09d3 Further work on Bug#28889
	c6deabaf4d Improve Tramp backward compatibility
	8093e82e42 Improve backward compatibility of tramp-tests.el
	46cdc01daa Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
	6360611457 Port to OpenIndiana
	a012ec766c Don't fill keywords after Emacs Lisp docstring
	b7c4aa951c Refactor c-forward-token-2 with new function c-forward-ove...
	3aee7be62e Avoid unnecessary rounding errors in timestamps
	2bfa42855b Fix xdg timestamp error on 32-bit Emacs
	237e96bc52 Test that advice doesn't trigger bytecomp warnings (Bug#28...
	d719ea6ad5 Another fix for unsafe directory error message (Bug#865)
	b060e091c3 Handle https url for debbugs mbox (Bug#28831)
	9e4265ef91 Ignore string properties when saving eshell history (Bug#2...
	0f286ca85a Fix Bug#28889

2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus.el: Use lexical-binding and cl-lib

	Remove unneeded use of `eval-when' for gnus-splash hack.
	(gnus-find-subscribed-addresses): Don't use `add-to-list' with local var.
	(gnus-info-buffer): Declare var.
	(gnus-interactive): Remove unused arg `params'.
	(gnus-symbolic-argument): Remove unused arg `arg`.
	(gnus-sloppily-equal-method-parameters): Use \' to match end of string.
	(gnus-short-group-name): Remove unused var `name'.

2017-11-02  Sam Steingold  <sds@gnu.org>

	make all related faces inherit from each other

	* lisp/gnus/gnus.el (gnus-group-A-B): Inherit from `gnus-group-A-B-empty',
	where "A" is "mail" and "news" and "B" is "1".."6" and "low".
	(gnus-summary-high-A, gnus-summary-low-A): Inherit from
	`gnus-summary-normal-A', where "A" is "ticked", "ancient",
	"undownloaded", "unread", "read".

2017-11-01  Sam Steingold  <sds@gnu.org>

	Fix Bug#11728: show files updated by git

	* lisp/vc/vc-git.el (vc-git--pushpull): Accept extra-args and set
	`compilation-error-regexp-alist' to `vc-git-error-regexp-alist'.
	(vc-git-pull): Pass "--stat" as `extra-args' to `vc-git--pushpull'.
	(vc-git-push): Pass "" as `extra-args' to `vc-git--pushpull'.

2017-11-01  Michael Heerdegen  <michael_heerdegen@web.de>

	* lisp/emacs-lisp/thunk.el: Assert lexical-binding

	This fixes Bug#28990.  Also add a note to the file header that
	creating thunks requires lexical-binding.
	(thunk-delay): `cl-assert' lexical-binding.

2017-11-01  Sam Steingold  <sds@gnu.org>

	User can specify files never subject to flymake.

	* lisp/progmodes/flymake-proc.el (flymake-proc-ignored-file-name-regexps):
	Add user customization option.
	(flymake-proc--get-file-name-mode-and-masks): Check it before
	`flymake-proc-allowed-file-name-masks'.

2017-10-31  Sam Steingold  <sds@gnu.org>

	The user can now specify the time stamp format.

	* lisp/textmodes/remember.el (remember-time-format): New user variable.
	(remember-append-to-file): Pass it to `format-time-string' instead of
	calling `current-time-string'.

2017-10-31  Sam Steingold  <sds@gnu.org>

	Highlight CL `with-' (context) and `do-' (iteration)

	* lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2):
	Highlight the Common Lisp conventional names as described in
	https://www.cliki.net/Naming+conventions.
	(lisp-el-font-lock-keywords-2): Remove the already commented out
	code for `do-' and `with-' because Emacs Lisp does not have a similar
	convention.

2017-10-31  Sam Steingold  <sds@gnu.org>

	Highlight uninterned symbols.

	* lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2):
	Highlight uninterned symbols, often used as string designators to
	avoid namespace pollution (https://stackoverflow.com/a/46981940/850781).

2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/ebnf2ps.el: Use lexical-binding; fix warnings

	(ebnf-eps-executing): Declare var.
	(ebnf-eps-string): Clarify regexp; don't use string-as-unibyte since we're
	manipulating chars rather than bytes.
	(ebnf-tree): Move declaration before first use.
	(ebnf-generate-eps, ebnf-generate): Don't use dyn-var as argument.
	(ebnf-generate-eps): Use cl-letf and unwind-protect.
	(ebnf-eps-production-list): Get a ref rather than a symbol.
	(ebnf-generate-eps): Adjust call accordingly.

2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/newst-backend.el: Use lexical scoping and fix warnings

	(newsticker-stop, newsticker-get-all-news)
	(newsticker--decode-rfc822-date, newsticker--lists-intersect-p)
	(newsticker--update-process-ids, newsticker--cache-read)
	(newsticker-opml-export, newsticker--run-auto-mark-filter)
	(newsticker--do-run-auto-mark-filter): Use dolist.
	(newsticker--insert-bytes): New function, to avoid string-to-multibyte.
	(newsticker--get-news-by-funcall, newsticker--get-news-by-url-callback)
	(newsticker--image-download-by-url-callback): Use it.
	(newsticker--parse-rss-0.91, newsticker--parse-rss-0.92):
	Remove unused var `pub-date`.
	(newsticker--parse-generic-feed): Remove unused var `old-item`.
	(newsticker--parse-generic-items): Use dolist and let rather than mapc
	and setq.
	(newsticker--image-download-by-url-callback): Simplify boolean expression.

2017-10-30  viniciusjl  <viniciusjl.gnu@gmail.com>

	Remove last entry.

2017-10-29  viniciusjl  <viniciusjl.gnu@gmail.com>

	Email replacement.

2017-10-28  Paul Pogonyshev  <pogonyshev@gmail.com>

	Add 'ert-quiet' variable

	* lisp/emacs-lisp/ert.el (ert-quiet): New variable.
	(ert-run-tests-batch): When 'ert-quiet' is non-nil, don't
	print non-important information.  (Bug#29025)

	* doc/misc/ert.texi (Running Tests in Batch Mode): Document it.

	* etc/NEWS: Mention the new variable.

2017-10-27  Ulf Jasper  <ulf.jasper@web.de>

	Fix documentation of `newsticker-new-item-functions' (bug#29023).

	* lisp/net/newst-backend.el (newsticker-new-item-functions),
	(newsticker-new-item-functions-sample),
	(newsticker-download-enclosures): Fix docstring, rename
	variable feed to feedname (bug#29023).

	* doc/misc/newsticker.texi (Automatic Processing)
	(Automatic Processing): Fix documentation of
	`newsticker-new-item-functions' (bug#29023).

2017-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/ediff-wind.el: Don't pop spurious frame in corner case

	(ediff-setup-windows-multiframe-compare): Clarify control-flow.
	Postpone the initial call to ediff-skip-unsuitable-frames until we're
	sure it's needed to avoid creating a spurious new frame.
	(ediff-setup-windows, ediff-setup-windows-plain)
	(ediff-setup-windows-plain-merge, ediff-setup-control-frame)
	(ediff-setup-windows-plain-compare, ediff-setup-windows-multiframe)
	(ediff-setup-windows-multiframe-merge): Use with-current-buffer.

2017-10-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up svg text encoding

	* lisp/svg.el (svg--encode-text): The SVG driver doesn't like
	it if we use &apos; for apostrophe, so use our own encoding
	function instead of relying on the xml one.

2017-10-26  Anders Lindgren  <andlind@gmail.com>

	New package, `faceup'

	`faceup' is a framework for regression testing of font-lock
	keywords in ert.  It is based on a human-readable markup
	language.  (Bug#16063 and bug#28311).

	* lisp/emacs-lisp/faceup.el:
	* test/lisp/emacs-lisp/faceup-tests/faceup-test-basics.el:
	* test/lisp/emacs-lisp/faceup-tests/faceup-test-files.el:
	* test/lisp/emacs-lisp/faceup-resources/faceup-test-mode.el:
	* test/lisp/emacs-lisp/faceup-resources/faceup-test-this-file-directory.el:
	* test/lisp/emacs-lisp/faceup-resources/files/test1.txt:
	* test/lisp/emacs-lisp/faceup-resources/files/test1.txt.faceup:
	New files.

2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix misleading error during autoload (bug#28994)

	* src/eval.c (Fautoload_do_load): Don't silence `load` errors when
	autoloading a macro.  If silencing load errors, also silence the
	subsequent check.

2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/play/gamegrid.el: Use lexical-binding to silence warnings

	(gamegrid-init-buffer): Silence another warning.

2017-10-24  Gemini Lasswell  <gazally@runbox.com>

	Make Snake, Tetris and Pong adjust to display DPI

	Replace gamegrid's constant 16x16 glyph with a generated one based
	on display dimensions (bug#24658).
	* lisp/play/gamegrid.el (gamegrid-glyph-height-mm): New variable.
	(gamegrid-glyph-height): Deleted.
	(gamegrid-xpm, gamegrid-xbm): Constants replaced with functions.
	(gamegrid-colorize-glyph): Use new functions instead of constants.
	(gamegrid-calculate-glyph-size, gamegrid-insert-xbm-bits): New
	functions.

2017-10-23  Glenn Morris  <rgm@gnu.org>

	* configure.ac (AC_INIT): Use https for package url.

	* lisp/format.el (format-alist): Use internal rot13.

2017-10-22  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix to 2fddfb7ce7

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
	  Fix bogus paren wrapping.

2017-10-22  Gemini Lasswell  <gazally@runbox.com>

	Change Edebug's behavior-changing hooks to variables

	* lisp/emacs-lisp/edebug.el (edebug-after-instrumentation-functions)
	(edebug-new-definition-functions): Deleted.
	(edebug-after-instrumentation-function)
	(edebug-new-definition-function): New variables.
	(edebug-behavior-alist): Update docstring.
	(edebug-read-and-maybe-wrap-form1, edebug-make-form-wrapper): Use new
	variables.

	* lisp/emacs-lisp/testcover.el (testcover-start)
	(testcover-this-defun): Use `edebug-after-instrumentation-function' and
	`edebug-new-definition-function'.
	(testcover-after-instrumentation): Return passed form.
	(testcover-init-definition): Use argument instead of `edebug-def-name'.

	* doc/lispref/edebug.texi (Edebug Options): Replace descriptions of
	`edebug-after-instrumentation-functions' and `edebug-new-definition-functions'
	with `edebug-after-instrumentation-function' and
	`edebug-new-definition-function'.

2017-10-22  Masatake YAMATO  <yamato@redhat.com>

	Put cpp config file to ~/.emacs.d/cpp.el if possible (Bug#28685)

	If `cpp-config-file` starts with '.', remove the '.'
	when putting the file to ~/.emacs.d.
	Suggested by Noam Postavsky <npostavs@users.sourceforge.net>

	* lisp/progmodes/cpp.el (cpp-locate-user-emacs-file): New
	function wrapping `locate-user-emacs-file`.
	(cpp-edit-load, cpp-edit-save): Use it.

2017-10-22  Masatake YAMATO  <yamato@redhat.com>

	Fix reading and writing cpp-config-file under home directory (Bug#28685)

	* lisp/progmodes/cpp.el (cpp-edit-load): Load ~/.cpp.el when
	it is readable.
	(cpp-edit-save): Write to ~/.cpp.el when it is wriable.

2017-10-22  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Handle object string name in eieio-persistent-convert-list-object

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
	  Starting to phase out the printing of object names in
	  `object-write', handle either case.

2017-10-21  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-26

	888e51f220 (origin/emacs-26) Update describe-function for recent Fdoc...
	75bb482763 Make flymake's mouse-wheel interaction portable (Bug#28732)
	035d7ac7e4 Prevent eldoc from changing the mode line
	c9d71b31bf Fix doc strings in simple.el
	0d8e4f45d6 Avoid creating inconsistent buffer states in term-char-mode
	79d57f4b7a New input method 'usbek-cyrillic'
	4587d8e0ef Document 'minibuffer-with-setup-hook'

	# Conflicts:
	#	etc/NEWS

2017-10-20  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS.26: Sync from emacs-26 etc/NEWS.

2017-10-20  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	868eb74f91 Simplify make-progress-reporter vs float-time
	83db9a1bba Fix two more minor Gnus typos
	e655946ce0 Fix two minor Gnus typos
	6a00914d6d Tweak Fdocumentation's error for an undefined function
	7c63655e39 Tweak format of list of old files in NEWS header

	# Conflicts:
	#	etc/NEWS

2017-10-20  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	11bd8aa24b Fix flymake's loading of subr-x
	b500e06f4d Fix Bug#28896
	d815de017b Skip a Flymake test for old gcc versions
	fd3d8610b2 Make :align-to account for display-line-numbers
	831eafc8ae Augment Flymake API for third-party extensions
	ddd547fada Improve treatment of Fortran's "class default"
	234b1e3864 Flymake backends must check proc obsoleteness in source bu...
	3ea6a4d4ba Skip an rsync test in tramp-tests.el
	25f83fa7c5 ; Indentation fixes
	4d578d432d On Windows default a frame's border width to zero (Bug#28873)
	6f1dea5c74 Spelling fixes
	b8433b0954 Use pop-to-buffer-same-window instead of switch-to-buffer
	2f7163fb72 Fix the MSDOS build.
	2551d28fe8 Fix line number display after 'widen'
	dc8812829b Remove resizable attribute on macOS undecorated frames (bu...
	b970a4a52a Fix handling of `border-width' in `frameset--restore-frame...
	445e92658f Mention how to send CC to > 1 address in a bug report
	8ca6fa585a Improve format-time-string doc
	2e1b3522b8 Improve documentation of 'line-number-display-width'
	5b6e59cfdb Implement vc-default-dir-extra-headers for vc-rcs
	22adeca42a In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
	2c3e6f1ddc Don't update primary selection with winner-undo
	b38724ab67 Work around ImageMagick bug 825
	20cc68e871 Document rectangle-preview option more (Bug#27974)
	a0b7b301dd Do not reject https://gnu.org in commit messages
	fb4200a875 Fix Edebug spec for cl-defun (bug#24255)
	db68cefe72 Fix errors in kmacro.el post-command-hook
	c63b344c3d Fix range-error in image-dired.el
	081d2187c4 Fix 'line-number-display-width' in hscrolled windows
	16e85456e7 Fix error in tramp-smb-handle-insert-directory
	613db8d35c Don't reject PBM header whitespace unnecessarily
	3205b12a78 Fix regression in display of PPM images
	1ca9ae7069 Require subr-x when compiling nnimap.el
	de60992053 Fix ert-test finding by symbol (Bug#28849)
	51615a8082 Don't remember old debugger window (Bug#17882)
	5980de3727 Disable python native completion on w32 (Bug#28580)
	616b4c5956 Let select-frame-by-name choose any frame when called from...
	8eb3c01dbd * lisp/dired-aux.el (dired-create-directory): Doc fix.
	325dfdae13 Avoid compilation warnings in optimized builds
	f79382819c ; * src/composite.c (Fclear_composition_cache): Fix last c...
	f95cd5cd70 Improve customization of arabic-shaper-ZWNJ-handling.
	a7f154688d Improve customization type of 'mouse-drag-and-drop-region'
	864734d112 ; Prefer https: to http: in GNU URLs
	3c78960a47 Encourage https: in commit messages
	def9715282 ; Cleanup of etc/NEWS
	4e59ecc646 Fix wording in Elisp manual's child frames section (Bug#28...
	eda9f5018c Another fix for C mode fontification of w32 source files
	05aadd8990 Fix fontification of ALIGN_STACK functions
	aa0c38f358 Make sure thread stack is properly aligned on MS-Windows
	d7038020aa Do not under-align pseudovectors
	ff33053012 Fix indentation bug in multi-line CSS selectors
	8968be822e ; * etc/NEWS: Grammar and spelling fixes
	716b84034d gnutls_mac_get_nonce_size has been added in gnutls 3.3
	55e313f7be ; * CONTRIBUTE: More suggestions for using US English.
	622c675648 * CONTRIBUTE: Suggest American English.

	# Conflicts:
	#	etc/NEWS
	#	msdos/sed2v2.inp

2017-10-20  Tino Calancha  <tino.calancha@gmail.com>

	Allow to copy/rename file into a non-existent dir

	* lisp/dired-aux.el (dired-create-destination-dirs): New option.
	(dired-maybe-create-dirs): New defun.
	(dired-copy-file-recursive, dired-rename-file): Use it (Bug#28834).
	* test/lisp/dired-aux-tests.el (dired-test-bug28834): Add test.
	* doc/emacs/dired.texi (Operating on Files): Update manual.
	* etc/NEWS (Changes in Specialized Modes and Packages in Emacs 27.1)
	Announce this change.

2017-10-20  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer nil to (current-time) when either works

	* doc/misc/gnus.texi (Category Syntax):
	* lisp/allout-widgets.el (allout-widgets-post-command-business):
	* lisp/cedet/ede/detect.el (ede-detect-qtest):
	* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay)
	(pulse-tick):
	* lisp/cedet/semantic.el (bovinate):
	* lisp/cedet/semantic/analyze.el:
	(semantic-analyze-current-symbol-default, semantic-adebug-analyze):
	* lisp/cedet/semantic/analyze/refs.el (semantic-analyze-current-tag):
	* lisp/cedet/semantic/lex.el (semantic-lex-test):
	* lisp/cedet/semantic/symref/filter.el:
	(semantic-symref-test-count-hits-in-tag):
	* lisp/cedet/srecode/dictionary.el (srecode-adebug-dictionary):
	* lisp/cedet/srecode/map.el (srecode-adebug-maps):
	* lisp/desktop.el (desktop-create-buffer):
	* lisp/emacs-lisp/benchmark.el (benchmark-elapse):
	* lisp/emacs-lisp/elp.el (elp--make-wrapper):
	* lisp/epa.el (epa--show-key):
	* lisp/erc/erc.el (erc-lurker-cleanup, erc-lurker-p):
	* lisp/gnus/gnus-agent.el (gnus-agent-fetch-articles)
	(gnus-agent-expire-group-1, gnus-agent-store-article):
	* lisp/gnus/gnus-art.el (article-lapsed-string):
	* lisp/gnus/gnus-cloud.el (gnus-cloud-update-newsrc-data)
	(gnus-cloud-collect-full-newsrc):
	* lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
	* lisp/gnus/gnus-html.el (gnus-html-cache-expired):
	* lisp/gnus/gnus-score.el (gnus-score-load-file)
	(gnus-decay-scores):
	* lisp/gnus/nndiary.el (nndiary-expired-article-p):
	* lisp/gnus/nnmail.el (nnmail-expired-article-p):
	* lisp/gnus/nnmaildir.el (nnmaildir--scan):
	* lisp/gnus/score-mode.el (gnus-score-edit-insert-date):
	* lisp/image/gravatar.el (gravatar-cache-expired):
	* lisp/net/newst-backend.el (newsticker--image-get)
	(newsticker--cache-mark-expired):
	* lisp/nxml/rng-maint.el (rng-time-function):
	* lisp/org/org-agenda.el (org-agenda-to-appt):
	* lisp/org/org-clock.el (org-clock-resolve-clock)
	(org-clock-resolve, org-resolve-clocks-if-idle):
	* lisp/org/org-colview.el (org-columns-edit-value, org-columns)
	(org-columns-compute-all, org-agenda-columns):
	* lisp/org/org-element.el (org-element--cache-interrupt-p)
	(org-element--cache-sync):
	* lisp/org/org-habit.el (org-habit-get-faces)
	(org-habit-insert-consistency-graphs):
	* lisp/org/org-indent.el (org-indent-add-properties):
	* lisp/org/org-timer.el (org-timer-start)
	(org-timer-pause-or-continue, org-timer-seconds)
	(org-timer-show-remaining-time, org-timer-set-timer):
	* lisp/org/org.el (org-babel-load-file, org-current-time)
	(org-today, org-auto-repeat-maybe, org-read-date-analyze)
	(org-small-year-to-year, org-goto-calendar):
	* lisp/org/ox.el (org-export-insert-default-template):
	* lisp/time.el (emacs-uptime):
	* lisp/type-break.el (type-break-mode, type-break)
	(type-break-time-warning-schedule, type-break-check):
	* lisp/url/url-cache.el (url-cache-expired):
	* lisp/url/url.el (url-retrieve-synchronously):
	* test/lisp/char-fold-tests.el (char-fold--speed-test):
	* test/manual/cedet/semantic-ia-utest.el:
	(semantic-symref-test-count-hits-in-tag):
	* test/manual/cedet/semantic-tests.el (semantic-idle-pnf-test)
	(semantic-lex-test-full-depth):
	Use nil instead of (current-time) where either will do, as nil is
	a bit more efficient and should have less timing error.

2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/debug.el: Use cl-print more systematically

	(debugger-return-value, debugger-eval-expression, debugger--insert-locals):
	Use debugger--print.

2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/eieio.el (eieio-object-name-string): De-obsolete

	This is apparently the advertised method to use for `eieio-named' objects.
	Also use sxhash-eq to get a more precise default "object name".
	(eieio-object-set-name-string): Clarify obsolescence message.

	* lisp/emacs-lisp/eieio-base.el (eieio-object-name-string): Delegate to
	the default method when applicable.

2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/help-fns.el (describe-function-1): Fix help-fns-test-dangling-alias.

2017-10-20  Wilfred Hughes  <me@wilfred.me.uk>

	css-mode: Don't confuse variable names with class names

	This fixes highlighting for class names that contain --, for example:

	.foo--bar {
	    display: none;
	}

	* lisp/textmodes/css-mode.el (css--font-lock-keywords): Make regular
	  expression stricter.

2017-10-20  Tino Calancha  <tino.calancha@gmail.com>

	ibuffer: new filter to list buffers running a process

	* lisp/ibuf-ext.el (ibuffer-filter-by-process): Add new filter (Bug#28825).
	* lisp/ibuffer.el (ibuffer-mode-map): Bound it to '/E'.

2017-10-20  Tino Calancha  <tino.calancha@gmail.com>

	Make ibuffer filters idempotent

	* lisp/ibuf-ext.el (ibuffer-push-filter): Check if the
	filter is already in effect (Bug#28826).
	* lisp/ibuf-macs.el (define-ibuffer-filter):
	Report to user if the filter was already enabled.

2017-10-18  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/svg.el (svg--encode-text): Fix off-by-one error in previous patch.

2017-10-18  Lars Ingebrigtsen  <larsi@gnus.org>

	(svg--encode-text): Make strings even more valid

	* lisp/svg.el (svg--encode-text): Quote &<>, too.

2017-10-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Encode non-ASCII SVG texts

	* lisp/svg.el (svg--encode-text): Encode non-ASCII texts.

2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Documentation and error-message edits re gnus-server-alist

	* lisp/gnus/gnus.el (gnus-server-alist): Expand docstring.
	* lisp/gnus/gnus-srvr.el (gnus-server-kill-server,
	  gnus-server-edit-server): Return error messages that tell the user
	  what the actual problem is.
	* doc/misc/gnus.texi (Server Commands): Note that not all servers are
	  editable via the server buffer.

2017-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/debug.el: Don't bail on errors inside cl-print

	(debugger--print): New function.
	(debugger-insert-backtrace, debugger-setup-buffer): Use it.

2017-10-12  Thien-Thi Nguyen  <ttn@gnu.org>

	[admin] Add some notes on US-v-UK spelling; nfc.

2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	59b5dc60d6 Fix this-command-keys for "M-x foo" commands
	2f4bd2fbda Let rename-file rename dirs across filesystems
	413978727c Simplify Flymake user documentation
	6ff18c3995 * etc/NEWS: Mention the new version of Org.
	b78332c3c6 Don't use (format "%s" ...) for string copying (Bug#28774)
	078fb7f6df Make frame-list-z-order on NS match Windows behavior (bug...

	# Conflicts:
	#	etc/NEWS

2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	05d0c0f802 ; * ChangeLog.3: ChangeLog fixes.
	fbabae6b24 * ChangeLog.3: Update.
	eab051991e Fix docstring style for 'functionp'
	e8a7c41b4e Format shell commands in tramp.texi
	0526aac4eb Unbreak the button in the Flymake diagnostics buffer again
	c89f001de1 Add mode map to Flymake diagnostic button
	f9cd8ee681 Tweak the Flymake diagnostics buffer again
	0e83f5f279 Simplify Flymake diagnostics buffer UX
	cf4a15b9b6 First stab at a Flymake diagnostics buffer
	e4a1556392 * etc/NEWS (Flymake): Rewrite entry.
	00adeb43e9 Improve the Flymake manual
	44c6401733 ; * etc/NEWS: Clarify the description of "---" and "+++".
	042b3cfbd2 Fix two Flymake bugs
	3dfa2ca4dc Don't log "emergencies" in the Flymake legacy backend
	1c2e188440 Add full documentation on new Flymake API
	0f7f677f82 Fix some Flymake docstrings and messages
	21e7075781 Make three new Flymake commands for debugging common problems
	c9be9a3678 ; INSTALL.REPO: Add -d to "thorough cleaning" suggestion.
	5d51403ceb ; Typo fixes, mostly repeated words
	0d004ed01a ; Spelling fixes
	0485aa76c9 ; * src/lread.c (syms_of_lread) <module-file-suffix>: Fix ...
	ba7fb37d6a * admin/authors.el (authors-renamed-files-alist): addition.
	14dca4a79a ; ChangeLog.3 fixes
	f352d0257c Fix PWD check on DOS_NT
	934f08f3de Fix unlikely overflows with wd length
	6c2b1e89ef * lisp/gnus/message.el: Improve last commit
	7ed7360855 Fix problems when editing raw undecoded message (Bug#28671)
	aca5f0072b Avoid encoding errors in message.el
	0c36663db5 Improve doc string and prompt of 'grep-read-files'
	2da83c9d36 Avoid assertion violations when line numbers are displayed
	5b81f65ad0 ; * lisp/emacs-lisp/rmc.el: Minor fix for copyright and li...
	11b37b4a9f Be lazy when starting Flymake checks
	36ed9a9ede Fix last change in frameset.el
	62e5c119af Describe how window dividers can replicate vertical border...
	e2150d994a Add line-number faces to the display-line-numbers group
	89b0023044 Increase xterm click count only within double-click-fuzz
	745aea2296 Change pause in fullscreen toggling for NS port (bug#28496)
	1cd334cd47 Handle PARENTS properly in tramp-*-handle-make-directory
	f1c73de47d ; Merge from Gnulib (comment changes only)
	7c2c117c91 Improve test for unreachable dirs
	2202952b83 * src/xsmfns.c (x_session_initialize): Fix memory leak.
	a9b72976de Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs i...
	64baaff8c5 New option for handling ZWNJ in Arabic text rendering
	c194fb61c6 Make python prettify symbols into a defvar (Bug#28713)
	6dfc778d54 Fix fullscreen crash on macOS (bug#28496)
	3db0dc2168 Fix crash when closing fullscreen frame on macOS (bug#28661)
	bc80da5bd3 Support gio tool in Tramp
	349e0eb5ff Fix flymake-goto-next-error when message has %-constructs
	0fa353b504 * src/gnutls.c (syms_of_gnutls): Remove duplicated call to...
	dc6ae15a8d Move the entry about 'format' into Incompatible Lisp Changes
	75174a632d Fix glitches in displaying TTY menus
	238fbcb20e Create new Edebug spec for docstrings and use it in closures
	2d58d51329 Avoid byte-compilation warnings in message.el

	# Conflicts:
	#	etc/NEWS

2017-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el (message-check-recipients): Bogus adr is a user error.

	* test/lisp/help-fns-tests.el (help-fns-test-dangling-alias): New test.

	* lisp/ansi-color.el (ansi-color-make-extent): Let overlays evaporate.

2017-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/url/url-cookie.el: Fix warning and miscompilation

	(url-cookie-parse-file-netscape): Remove unused var `match', fix
	undefined `incf' misuse.

2017-10-10  Aurelien Aptel  <aaptel@suse.com>

	Add parser for Netscape/Mozilla cookie file format

	* lisp/url/url-cookie.el (url-cookie-parse-file-netscape): New function.

2017-10-09  Philipp Stephani  <phst@google.com>

	Revert "Raise an error when detecting old-style backquotes."

	This reverts commit 9613690f6e51e2f2aa2bcbbede3e209d08cfaaad.

2017-10-09  Mark Oteiza  <mvoteiza@udel.edu>

	Disable XTerm titles (Bug#28591)

	* etc/NEWS: Mention it.
	* lisp/term/xterm.el (xterm-set-window-title): Disable it.

2017-10-08  Gemini Lasswell  <gazally@runbox.com>

	Stop Testcover from producing spurious 1value errors

	Fix bug#25351 by copying results of form evaluations for later
	comparison.
	* lisp/emacs-lisp/testcover.el (testcover-after): Copy the result
	of a form's first evaluation and compare subsequent evaluations to
	the copy. Improve the error message used when a form's value
	changes.
	(testcover--copy-object, testcover--copy-object1): New functions.
	* test/lisp/emacs-lisp/testcover-resources/testcases.el
	(by-value-vs-by-reference-bug-25351): Remove expected failure tag.
	(circular-lists-bug-24402): Add another circular list case.

2017-10-08  Gemini Lasswell  <gazally@runbox.com>

	Rewrite Testcover's internals, fixing several bugs

	* lisp/emacs-lisp/testcover.el: Rewrite the internals of Testcover
	to analyze instrumented code instead of reinstrumenting it.  Use new
	hooks in Edebug to collect code coverage information at runtime
	using Edebug's instrumentation.
	Includes fixes for: (bug#11307) (bug#24509) (bug#24688) (bug#24743)
	(bug#25316) (bug#25326).
	(testcover-compose-functions): Remove mapcar.
	(testcover-start, testcover-this-defun): Analyze code instead of
	reinstrumenting it. Set edebug-behavior for each definition.
	(testcover--read, testcover-1value, testcover-reinstrument)
	(testcover-reinstrument-list, testcover-reinstrument-compose):
	Deleted.
	(testcover-after-instrumentation, testcover-init-definition)
	(testcover-before): New functions.
	(testcover-enter): Change call signature to match edebug-enter.
	(testcover-after, testcover-mark): Add handling of 'maybe and
	'noreturn.
	(testcover-analyze-coverage, testcover-analyze-coverage-progn)
	(testcover-analyze-coverage-edebug-after)
	(testcover-analyze-coverage-wrapped-form)
	(testcover-analyze-coverage-wrapped-application)
	(testcover-analyze-coverage-compose)
	(testcover-analyze-coverage-backquote)
	(testcover-analyze-coverage-backquote-form)
	(testcover-coverage-combine): New functions to analyze instrumented
	code.

	* lisp/emacs-lisp/gv.el: Modify edebug-after's gv-expander to
	instrument in the setter as well as the getter.

	* test/lisp/emacs-lisp/testcover-tests.el
	(testcover-tests-run-test-case): Use `edebug-default-enter'
	instead of `edebug-enter' to detect Edebug invocation
	during tests.

	* test/lisp/emacs-lisp/testcover-resources/testcases.el
	(constants-bug-25316)
	(customize-defcustom-bug-25326)
	(1-value-symbol-bug-25316)
	(quotes-within-backquotes-bug-25316)
	(backquote-1value-bug-24509)
	(pcase-bug-24688)
	(defun-in-backquote-bug-11307-and-24743)
	(closure-1value-bug)
	(backquoted-vector-bug-25316)
	(vector-in-macro-spec-bug-25316)
	(mapcar-is-not-compose): Remove expected failure tags.
	(function-with-edebug-spec-bug-25316): Remove expected failure tag
	and modify expected result.
	(quoted-backquote): New test.

	* lisp/textmodes/rst.el: Remove workarounds for bugs in Testcover.
	(rst-testcover-defcustom): Deleted.

	* lisp/subr.el (1value): Remove incorrect description of
	testcover-1value from docstring, replace with description of
	Testcover's treatment of 1value.

2017-10-08  Gemini Lasswell  <gazally@runbox.com>

	Allow Edebug's instrumentation to be used for other purposes

	* lisp/emacs-lisp/edebug.el:
	(edebug-after-instrumentation-functions)
	(edebug-new-definition-functions): New hook variables.
	(edebug-behavior-alist): New variable.
	(edebug-read-and-maybe-wrap-form): Run a hook after a form is
	wrapped.
	(edebug-make-form-wrapper): Run a hook after a definition is
	wrapped. Remove message for each definition.
	(edebug-announce-definition): New function.
	(edebug-enter): Rewritten to change behavior of Edebug based
	on symbol property `edebug-behavior' and `edebug-behavior-alist'.
	(edebug-default-enter): New function which does what `edebug-enter'
	used to do.
	(edebug-run-slow, edebug-run-fast): Modify edebug-behavior-alist.
	(edebug-before, edebug-after): Function definitions are now set by
	`edebug-enter'.

2017-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/checkdoc.el: cl-defstruct + minor simplifications

	(checkdoc-make-overlay, checkdoc-overlay-put, checkdoc-delete-overlay)
	(checkdoc-overlay-start, checkdoc-overlay-end, checkdoc-char=)
	(checkdoc-mode-line-update): Remove old compatibility aliases.
	(checkdoc, checkdoc-interactive-loop):
	Consolidate common code in if branches.
	(checkdoc-error): New struct type.
	(checkdoc-error-text, checkdoc-error-start, checkdoc-error-end)
	(checkdoc-error-unfixable): Now defined by cl-defstruct.

2017-10-08  Philipp Stephani  <phst@google.com>

	Raise an error when detecting old-style backquotes.

	They have been deprecated for a decade now.

	* src/lread.c (Fload): Don't use record_unwind_protect to warn about
	old-style backquotes any more.  They now generate a hard error.
	(read1): Signal an error when detecting old-style backquotes.  Remove
	unused label.
	(syms_of_lread): Remove unused internal variable
	'lread--old-style-backquotes'.
	(load_error_old_style_backquotes): Rename from
	'load_warn_oldstyle_backquotes'.  Signal an error.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Remove check
	from byte compiler.  It isn't triggered any more.

	* test/src/lread-tests.el (lread-tests--old-style-backquotes): Adapt
	unit test.

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests--old-style-backquotes)
	(bytecomp-tests-function-put): Adapt unit tests.

	* etc/NEWS: Document change.

2017-10-08  Philipp Stephani  <phst@google.com>

	Say that side effect-free functions don't change the matchd data

	* lisp/help-fns.el (describe-function-1): Add note if a function is
	known not to change the match data.

2017-10-07  Eli Zaretskii  <eliz@gnu.org>

	New defcustom 'tooltip-resize-echo-area'

	* lisp/tooltip.el (tooltip-resize-echo-area): New defcustom.
	(tooltip-show-help-non-mode): Use it to avoid truncating the
	tooltip text in the echo area.  (Bug#28724)

	* etc/NEWS: Mention 'tooltip-resize-echo-area'.

2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	9226cf3254 Fix bug in recent styled_format change
	fa92f0c447 Cleanup emacs-lisp-mode's use of Flymake
	0d0265bf50 Fix @include directive in Flymake doc
	295457ae52 Move read-multiple-choice to its own library
	560dd9b573 * src/process.c (syms_of_process): Remove duplicated call ...

2017-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	Merge emacs-26

2017-10-03  Michael Albinus  <michael.albinus@gmx.de>

	Add file name handler support for file-system-info

	* doc/lispref/files.texi (Magic File Names): Add file-system-info.

	* etc/NEWS: Mention get-free-disk-space working on remote systems.

	* lisp/files.el (get-free-disk-space): Do not block on remote systems.

	* src/w32fns.c (Ffile_system_info):
	* src/fileio.c (Ffile_system_info): Call file name handler if exists.
	(syms_of_fileio): Add Qfile_system_info.

2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from Gnulib

	This incorporates:
	2017-10-02 fsusage: fix typo in previous change
	* lib/fsusage.c: Copy from Gnulib.

2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>

	Port file-system-info to non-Microsoft

	* admin/merge-gnulib (GNULIB_MODULES): Add fsusage.
	* doc/emacs/files.texi (Directories): Remove documentation of
	now-obsolete directory-free-space-program and
	directory-free-space-args.
	* etc/NEWS: Mention change.
	* etc/PROBLEMS: Slow df is no longer a problem.
	* lib/fsusage.c, lib/fsusage.h, m4/fsusage.m4:
	New files, copied from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lisp/dired.el (dired-free-space-program)
	(dired-free-space-args): These aliases are now obsolete.
	* lisp/files.el (directory-free-space-program)
	(directory-free-space-args): Now obsolete.
	(get-free-disk-space): Just call file-system-info instead
	of the now-obsolete directory-free-space-program.
	* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_fsusage): New macro.
	* src/fileio.c: Include fsusage.h.
	(blocks_to_bytes, Ffile_system_info) [!DOS_NT]: New functions.
	(syms_of_fileio) [!DOS_NT]: Defsubr file-system-info.

2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	5172fa02cc Prefer HTTPS to HTTP for gnu.org
	8cdd8b920a Merge from Gnulib
	60b7668b89 Keep eww buffer current when looking up CSS on MDN
	bd49b6f1b3 Workaround for faulty localtime() under macOS 10.6
	913808e224 Doc amendment for syntax-ppss.
	98dc91fda8 Remove incorrect NEWS entry about 'find-library'
	539d8626cd Remove inadvertent changes to syntax.texi in last commit.
	8c18dcbc78 Amend documentation for text-quoting-style becoming a user...
	5f76ac150a Make the value nil in text-quoting-style mean what it does...
	d5e4e004fa Make text-quoting-style customizable.  Introduce t and new...
	1ba3471b9b eshell.texi improvements
	7abb5c3960 Fix ns-win.el on GNUstep
	07ea5ef99a Fix reference style in org.texi
	b03b4f6d79 Improve handling of iconification of child frames (Bug#28611)
	ba9139c501 Revert "Don't lose arguments to eshell aliases (Bug#27954)"
	43fac3beae Make "unsafe directory" error message more informative (Bu...
	c59ddb2120 Fix slot typecheck in eieio-persistent
	8b2ab5014b Fix semantic-ia-fast-jump
	5b45e7e1c3 Bind vc-region-history
	f172894595 Exit macro definition on undefined keys
	289fe6c0d1 Reset bidi-paragraph-direction on article rendering
	a4f7518817 Fix url-http use of url-current-object
	4a755ed421 Avoid assertions in vc-hg.el on MS-Windows
	cb93a6ce72 Improve documentation of 'copy-sequence'
	200ef6f721 Minor update of ack.texi
	cb407d3e87 * doc/emacs/emacs.texi (Acknowledgments): Add more contrib...
	82b6c765ff Improve indexing of multi-file/buffer Isearch commands
	645ff6c702 Add CAM02 JCh and CAM02-UCS J'a'b' conversions
	157007b58e Fix uses of @kindex in the Emacs manual
	63a45e8837 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
	3ab2f9bbb9 Merge from gnulib
	cbc8324488 Prefer HTTPS to HTTP for gnu.org
	bbda601d1d ; Spelling fixes
	695cf5300b Wait for frame visibility with timeout in w32term too
	e1f6e3127a Bring back the busy wait after x_make_frame_visible (Bug#2...
	bccf635217 ; * src/gtkutil.c (xg_check_special_colors): Add another G...
	f428757cdb Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
	26d58f0c58 ; Standardize license notices
	73dba0f466 Fix last doc string change in simple.el

2017-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/electric.el: Break recursive loading loop

	(electric-pair-text-pairs): Declare instead of requiring elec-pair.

2017-10-01  Philipp Stephani  <phst@google.com>

	* src/editfns.c (Fchar_after): Small optimization.

2017-10-01  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warning in electric.el

	* lisp/electric.el: Require 'elec-pair' when compiling, to avoid a
	compiler warning.

2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>

	Make logcount act like CL on negative arg

	Behaving like Common Lisp is less likely to lead to surprises,
	as it yields the same answers on 32- vs 64-bit machines.
	* doc/lispref/numbers.texi (Bitwise Operations):
	Document behavior on negative integers.
	* src/data.c (Flogcount):
	Behave like Common Lisp for negative arguments.
	* test/src/data-tests.el (data-tests-popcnt)
	(data-tests-logcount): Test negative args too.

2017-09-30  Philipp Stephani  <phst@google.com>

	Electric quote mode: Conditionally replace " (Bug#24710)

	* lisp/electric.el (electric-quote-replace-double): New user option.
	(electric-quote-post-self-insert-function): Use it.

	* test/lisp/electric-tests.el (electric-quote-replace-double-disabled)
	(electric-quote-replace-double-bob)
	(electric-quote-replace-double-bol)
	(electric-quote-replace-double-after-space)
	(electric-quote-replace-double-after-letter)
	(electric-quote-replace-double-after-paren): New unit tests.

	* doc/emacs/text.texi (Quotation Marks): Document
	'electric-quote-replace-double'.

2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify logcount implementation

	* src/data.c (HAVE_BUILTIN_POPCOUNTLL, logcount32, logcount64):
	Remove.
	(Flogcount): Simplify by using count_one_bits.

2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>

	Add logcount (Bug#22689)

	* doc/lispref/numbers.texi (Bitwise Operations): Add documentation.
	* etc/NEWS: Mention.
	* src/data.c (logcount32, logcount64): New functions.
	(logcount): New Lisp function.
	(syms_of_data): Declare it.
	* test/src/data-tests.el (data-tests-popcnt, data-tests-logcount): New
	test.

2017-09-29  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	3ab2f9bbb9 Merge from gnulib
	cbc8324488 Prefer HTTPS to HTTP for gnu.org
	bbda601d1d ; Spelling fixes
	695cf5300b Wait for frame visibility with timeout in w32term too
	e1f6e3127a Bring back the busy wait after x_make_frame_visible (Bug#2...
	bccf635217 ; * src/gtkutil.c (xg_check_special_colors): Add another G...
	26d58f0c58 ; Standardize license notices
	61225964ed Revert "bug#28609: simple.el"
	a75ab3b3fb bug#28609: simple.el
	c7a21430c1 ; * etc/NEWS: Fix last change.
	33401b26b1 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
	d4b2bbdc73 Merge branch 'emacs-26' into scratch/org-mode-merge
	c1ac8c170f Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
	af130f900f Fix ert backtrace saving for non-`signal'ed errors (Bug#28...
	7476eeaa23 Revert "Fix build on macOS (bug#28571)"
	fec63089d5 Fix build on macOS (bug#28571)
	0f9a78e770 Add tests for `css-current-defun-name'
	88a0dd71f1 In w32fullscreen_hook don't add decorations to undecorated...
	18073beb14 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
	1eef11b7be Fix doc string of 'dired-listing-switches'
	eaefbc26d5 ; Add files missing in ab351d442d7
	ab351d442d Update Org to v9.1.1

2017-09-29  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	a3f647c5c8 * src/editfns.c (styled_format): Fix typo in previous change.
	0e82fa3416 Avoid some unnecessary copying in Fformat etc.

2017-09-29  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	1e5949642a ; * src/gtkutil.c (xg_create_frame_widgets): Add FIXME re....
	e7c8da4d05 bug#28609: simple.el
	827db6b559 Use a separate syntax-ppss cache for narrowed buffers
	a2244f417a Improve python3-compatibility of fallback completion (Bug#...
	79162cb0db Fix subr-x-tests when running from elc
	66d35ae49d * lisp/eshell/esh-util.el (eshell-condition-case): Add deb...
	f5e72b04d9 Make sh-indentation into an alias for sh-basic-offset (Bug...
	a58d0c590a Fix loading of smie-config rules (Bug#24848)
	3a68dec327 ; Update NEWS for the change in eldoc-message
	5a41dd0a1f Reset default-directory inside *xref-grep* buffer
	49cd561dc6 * test/lisp/tramp-tests.el (tramp-test21-file-links): Spec...
	b719f6b20b Loosen strict parsing requirement for desktop files
	c7a0c13777 * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
	dc6b3560e5 Fix documentation of `make-frame' and related variables an...
	3d3778d82a Accept new `always' value for option `buffer-offer-save'
	638f64c40a Improve new NS scrolling variable names
	d93301242f Document 'replace-buffer-contents' in the manual.
	00e4e3e9d2 Fix undecorated frame resizing issues on NS (bug#28512)
	820739bbb5 ; * doc/emacs/display.texi (Display Custom): Fix wording.
	f2b2201594 ; Spelling and URL fixes
	0e143b1fc5 Documentation improvements for 'display-line-numbers'
	f656ccdb43 ; Fix typo
	d64da52d57 Fix last change in bat-mode.el
	908af46abd Fix restoring in GUI sessions desktop saved in TTY sessions
	51cbd85454 Improve syntax highlighting in bat-mode
	0273916618 Document the 'list-FOO' convention
	d24ec58540 Expose viewing conditions in CAM02-UCS metric
	a81d5a3d3f Revert "Set frame size to actual requested size (bug#18215)"
	0bf066d4b2 Add tests for Edebug
	68baca3ee1 Catch more messages in ert-with-message-capture
	28e0c410c9 ; * lisp/mouse.el (secondary-selection-exist-p): Doc fix.
	31e1d9ef2f Support setting region from secondary selection and vice v...
	047f02f00f Fix new copy-directory bug with empty dirs
	fbd15836af * doc/lispref/strings.texi (Formatting Strings): Improve i...
	f16a8d5dbd Fix 2 testsuite tests for MS-Windows
	965cffd89c Rename timer-list to list-timers
	a5fec62b51 Provide native touchpad scrolling on macOS
	7b3d1c6beb Fix MinGW64 build broken by recent MinGW64 import libraries
	c83d0c5fdf Fix crashes in 'move-point-visually' in minibuffer windows
	7f3d5f929d * src/emacs.c (usage_message): Don't mention 'find-file'.
	6845282200 Fix a minor inaccuracy in the Emacs manual
	74d7bb9498 Fix errors in flyspell-post-command-hook
	40fdbb01d0 Work on Tramp's file-truename
	1a01423b3c Fix bug with make-directory on MS-Windows root
	066efb8666 Fix log-view-diff-common when point is after last entry
	3f006b56cd Adapt fileio-tests--symlink-failure to Cygwin
	ee512e9a82 Ignore buffers whose name begins with a space in save-some...
	9e1b5bd92c Improve tramp-interrupt-process robustness
	8d4223e61b Minor Tramp doc update
	331d0e520f Fix gensym
	466df76f7d Cleanup in files-tests.el
	6359fe630a Remove old cl-assert calls in 'newline'
	059184e645 Avoid crash with C-g C-g in GC
	541006c536 Fix format-time-string %Z bug with negative tz
	679e05eeb9 message-citation-line-format %Z is now tz name
	4e8888d438 Use doc-view or pdf-tools on any window-system
	5f28f0db73 Fix bug with min and max and NaNs
	37b5e661d2 Fix recently-introduced copy-directory bug
	6bbbc38b34 Merge from Gnulib
	57249fb297 Fix compatibility problem in Tramp
	411bec82c4 Avoid GCC 7 compilation warning in eval.c
	34a6774daa ; Partially revert c3445aed5194
	3003ac0469 Adapt Tramp version.  Do not merge
	48d39c39e8 Search for Syntax section when viewing MDN
	9d101376b4 Allow smerge-keep-current to work for empty hunks
	13aba24add Call vc-setup-buffer in vc-git-log-{in,out}going
	1d599df5e0 Fix last change to textmodes/page-ext.el
	a726e09a9a * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcm...
	546413e1ac * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 ...
	96aaeaaffa ; * src/lcms.c: Minor stylistic changes in comments.
	c3df816585 Fix compilation warning in etags.c

2017-09-29  Philipp Stephani  <phst@google.com>

	Revert "GTK+: Stop querying for background colors."

	This reverts commit f6818e761eaafe095e07249180dc8f9a329f1473.

2017-09-28  Charles A. Roelli  <charles@aurox.ch>

	Fix 'point-to-register' prompt with prefix arg

	* lisp/register.el (point-to-register): Fix prompt when a prefix
	argument is given.

2017-09-28  Mark Oteiza  <mvoteiza@udel.edu>

	Add indent spec to easy-mmode macros

	Ideally these macros should expand to the proper code instead of
	relegating all the work to a function call.
	* lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap):
	(easy-mmode-define-syntax): Add indent spec.

2017-09-27  Mark Oteiza  <mvoteiza@udel.edu>

	Mark some functions as pure

	* lisp/emacs-lisp/byte-opt.el: Add some functions that return integral
	values to the builtin list of pure functions.

2017-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/page-ext.el: Misc cleanup, add RET binding

	Use lexical-binding.
	Remove redundant :group args.
	(pages-directory-mode-map): Bind RET.
	(pages-buffer, pages-pos-list): Define as buffer-local.
	(pages-directory-map): Define as alias *before* the defvar.
	Mark as obsolete.
	(pages-buffer-original-position, pages-buffer-original-page):
	Move declaration to before the first use.
	(pages-directory): Remove unused var `linenum`.
	(pages-directory-goto): Add optional `event` arg and make it work when
	bound to mouse events.
	(pages-directory-goto-with-mouse): Make it an obsolete alias.

2017-09-26  Mark Oteiza  <mvoteiza@udel.edu>

	Add MIME apps spec utilities

	Facilitates finding associations between MIME types and desktop files
	that report an association with that type.  Combined with mailcap.el's
	MIME facilities, it should be easy to use desktop files.
	* lisp/xdg.el (xdg-mime-table): New variable.
	(xdg-mime-apps-files, xdg-mime-collect-associations, xdg-mime-apps):
	New functions.
	* test/data/xdg/mimeapps.list: New file.
	* test/data/xdg/mimeinfo.cache: New file.
	* test/lisp/xdg-tests.el (xdg-mime-associations): New test.

2017-09-26  John Wiegley  <johnw@newartisans.com>

	lisp/simple.el: Indicate when a list of pairs is meant in a docstring

2017-09-26  Philipp Stephani  <phst@google.com>

	Revert "Don't attempt to disable double buffering in newer GTK+ versions"

	This reverts commit c0af83b6ccf2dab9a515dd7f52eb9d4500275ae3.

2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>

	bug#28609: simple.el

	Correct grammar; also, call a pair a pair.

2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS.26: Copy from emacs-26/etc/NEWS.

2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	49cd561dc6 * test/lisp/tramp-tests.el (tramp-test21-file-links): Spec...
	b719f6b20b Loosen strict parsing requirement for desktop files
	c7a0c13777 * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
	dc6b3560e5 Fix documentation of `make-frame' and related variables an...
	3d3778d82a Accept new `always' value for option `buffer-offer-save'
	638f64c40a Improve new NS scrolling variable names
	d93301242f Document 'replace-buffer-contents' in the manual.
	00e4e3e9d2 Fix undecorated frame resizing issues on NS (bug#28512)
	820739bbb5 ; * doc/emacs/display.texi (Display Custom): Fix wording.
	f2b2201594 ; Spelling and URL fixes
	0e143b1fc5 Documentation improvements for 'display-line-numbers'
	f656ccdb43 ; Fix typo
	d64da52d57 Fix last change in bat-mode.el
	908af46abd Fix restoring in GUI sessions desktop saved in TTY sessions
	51cbd85454 Improve syntax highlighting in bat-mode
	0273916618 Document the 'list-FOO' convention
	d24ec58540 Expose viewing conditions in CAM02-UCS metric
	a81d5a3d3f Revert "Set frame size to actual requested size (bug#18215)"
	0bf066d4b2 Add tests for Edebug
	68baca3ee1 Catch more messages in ert-with-message-capture
	28e0c410c9 ; * lisp/mouse.el (secondary-selection-exist-p): Doc fix.
	31e1d9ef2f Support setting region from secondary selection and vice v...
	047f02f00f Fix new copy-directory bug with empty dirs
	fbd15836af * doc/lispref/strings.texi (Formatting Strings): Improve i...
	f16a8d5dbd Fix 2 testsuite tests for MS-Windows
	965cffd89c Rename timer-list to list-timers
	a5fec62b51 Provide native touchpad scrolling on macOS
	7b3d1c6beb Fix MinGW64 build broken by recent MinGW64 import libraries
	c83d0c5fdf Fix crashes in 'move-point-visually' in minibuffer windows
	7f3d5f929d * src/emacs.c (usage_message): Don't mention 'find-file'.
	6845282200 Fix a minor inaccuracy in the Emacs manual
	74d7bb9498 Fix errors in flyspell-post-command-hook
	40fdbb01d0 Work on Tramp's file-truename
	1a01423b3c Fix bug with make-directory on MS-Windows root
	066efb8666 Fix log-view-diff-common when point is after last entry
	3f006b56cd Adapt fileio-tests--symlink-failure to Cygwin
	ee512e9a82 Ignore buffers whose name begins with a space in save-some...
	9e1b5bd92c Improve tramp-interrupt-process robustness
	8d4223e61b Minor Tramp doc update
	331d0e520f Fix gensym
	466df76f7d Cleanup in files-tests.el
	6359fe630a Remove old cl-assert calls in 'newline'
	059184e645 Avoid crash with C-g C-g in GC
	541006c536 Fix format-time-string %Z bug with negative tz
	679e05eeb9 message-citation-line-format %Z is now tz name
	4e8888d438 Use doc-view or pdf-tools on any window-system
	5f28f0db73 Fix bug with min and max and NaNs
	37b5e661d2 Fix recently-introduced copy-directory bug
	6bbbc38b34 Merge from Gnulib
	57249fb297 Fix compatibility problem in Tramp
	411bec82c4 Avoid GCC 7 compilation warning in eval.c
	34a6774daa ; Partially revert c3445aed5194

2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	48d39c39e8 Search for Syntax section when viewing MDN
	9d101376b4 Allow smerge-keep-current to work for empty hunks
	13aba24add Call vc-setup-buffer in vc-git-log-{in,out}going
	1d599df5e0 Fix last change to textmodes/page-ext.el
	a726e09a9a * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcm...

2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-26

	96aaeaaffa ; * src/lcms.c: Minor stylistic changes in comments.
	c3df816585 Fix compilation warning in etags.c
	5490ccc5eb Add lisp variable lcms-d65-xyz
	dee96f4a17 * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (b...
	12e864eb30 Avoid MinGW64 compiler warnings in unexw32.c
	625cee5316 Start emacs-26 release branch

	# Conflicts:
	#	README
	#	configure.ac
	#	msdos/sed2v2.inp
	#	nt/README.W32

2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	emacs-25 → emacs-26

	* admin/gitmerge.el (gitmerge-default-branch): Now emacs-26.

2017-09-24  Mark Oteiza  <mvoteiza@udel.edu>

	Expand recognized time intervals for MPC seeking

	Now accepts [+-]H:M:S and subsets.  Also accepts some odd variations of
	it since the regexp is not strict.  One unpleasant caveat is that
	string-to-number simply returns zero on failure instead of signaling an
	error.  At the moment, there are cases where instead of getting
	a user-error, the seek may simply not go where one expects it.
	* lisp/mpc.el (mpc-read-seek): New function.
	(mpc-seek-current): Use it.

2017-09-24  Philipp Stephani  <phst@google.com>

	Add configuration for clang-format.

	This allows developers to auto-format the C code with clang-format.
	It’s not 100% accurate, but works pretty well for most of the C code.

2017-09-24  Philipp Stephani  <phst@google.com>

	Make FILENAME argument of 'file-name-base' mandatory

	* lisp/files.el (file-name-base): Make FILENAME argument mandatory.

	* lisp/autoinsert.el (auto-insert-alist):
	* lisp/progmodes/cperl-mode.el (cperl-electric-pod):
	* lisp/progmodes/idlwave.el (idlwave-parse-definition):
	* lisp/textmodes/reftex-ref.el (reftex-replace-prefix-escapes): Fix
	all callers.

2017-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/newcomment.el (comment-search-backward): Obey the docstring (bug#28428)

2017-09-23  Philipp Stephani  <phst@google.com>

	Don't attempt to disable double buffering in newer GTK+ versions

	* src/gtkutil.c (xg_create_frame_widgets): Stop calling deprecated
	function gtk_widget_set_double_buffered.

2017-09-23  Philipp Stephani  <phst@google.com>

	GTK+: Stop querying for background colors.

	* src/gtkutil.c (xg_check_special_colors): Don't call deprecated
	function gtk_style_context_get_background_color in newer versions of
	GTK+.

2017-09-23  Philipp Stephani  <phst@google.com>

	GTK+: stop calling 'gtk_window_set_wmclass' in new versions

	* src/gtkutil.c (xg_create_frame_widgets): Stop calling deprecated
	function 'gtk_window_set_wmclass' in GTK+ 3.22.

2017-09-23  Philipp Stephani  <phst@google.com>

	GTK+: Use a style provider instead of deprecated function

	* src/gtkutil.c (xg_set_widget_bg): Use a CSS style provider instead
	of the deprecated gtk_widget_override_background_color.

2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>

	Teach Emacs to set XTerm window titles

	* lisp/term/xterm.el (terminal-init-xterm): Add initialization.
	(xterm--init-frame-title, xterm-set-window-title-flag):
	(xterm-unset-window-title-flag, xterm-set-window-title): New functions.
	(xterm-window-title-flag): New variable.
	(xterm-set-window-title): New custom variable.
	* etc/NEWS: Mention it.

2017-09-19  Philipp Stephani  <phst@google.com>

	Don't call deprecated GTK function gtk_adjustment_changed

	* src/gtkutil.c (xg_set_toolkit_scroll_bar_thumb)
	(xg_set_toolkit_horizontal_scroll_bar_thumb): Remove calls to
	deprecated function gtk_adjustment_changed.  This function has been
	deprecated since GTK+ 3.18.

2017-09-18  Sam Steingold  <sds@gnu.org>

	Fix bug#28435: "all" score file is ignored

	(gnus-score-find-bnews): Fix removing the empty suffix.

2017-09-18  Sam Steingold  <sds@gnu.org>

	Add define-thing-chars and use it for filename.

	(define-thing-chars): New defmacro.
	(filename): Define this thing using `define-thing-chars'.

2017-09-18  Philipp Stephani  <phst@google.com>

	Revert "Implement native JSON support using Jansson"

	This reverts commit cb99cf5a99680af7dc2c49fdf5b840d1ff4dd928.

2017-09-18  Philipp Stephani  <phst@google.com>

	Implement native JSON support using Jansson

	* configure.ac: New option --with-json.

	* src/json.c (Fjson_serialize, Fjson_insert, Fjson_parse_string)
	(Fjson_parse_buffer): New defuns.
	(json_out_of_memory, json_parse_error, json_release_object)
	(check_string_without_embedded_nulls, json_check, lisp_to_json)
	(json_insert, json_insert_callback, json_to_lisp)
	(json_read_buffer_callback, Fjson_parse_buffer, define_error): New
	helper function.
	(syms_of_json): New file.

	* src/lisp.h: Declaration for syms_of_json.

	* src/emacs.c (main): Enable JSON functions.

	* src/Makefile.in (JSON_LIBS, JSON_CFLAGS, JSON_OBJ, EMACS_CFLAGS)
	(base_obj, LIBES): Compile json.c if --with-json is enabled.

	* test/src/json-tests.el (json-serialize/roundtrip)
	(json-serialize/object, json-parse-string/object): New unit tests.

2017-09-18  Alan Mackenzie  <acm@muc.de>

	Fix irregularities with CC Mode fontification, particularly with "known types"

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
	optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
	type.
	(c-font-lock-single-decl): New variable template-class, set to non-nil when we
	have a construct like the above.  Pass this as argument to
	c-font-lock-declarators.
	(c-font-lock-cut-off-declarators): Check more rigorously that a declaration
	being processed starts before the function's starting position.
	(c-complex-decl-matchers): Remove the redundant clause which fontified "types
	preceded by, e.g., "struct"".

	* lisp/progmodes/cc-langs.el (c-template-typename-kwds)
	(c-template-typename-key): New lang defconsts and defvar.

2017-09-17  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/trampver.el (customize-package-emacs-version-alist):

	Add Tramp version integrated in Emacs 26.1.

2017-09-16  Glenn Morris  <rgm@gnu.org>

	* test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.

2017-09-16  Eli Zaretskii  <eliz@gnu.org>

	Increment Emacs version to 27.0.50

	* README:
	* configure.ac:
	* nt/README.W32:
	* src/msdos.c (internal_terminal_init):
	* msdos/sed2v2.inp:
	* etc/refcards/ru-refcard.tex: Increment Emacs version to 27.0.50.
	* etc/NEWS: New file with sections for Emacs 27.1.
	* etc/NEWS.26: Renamed from etc/NEWS.

2019-08-29  Nicolas Petton  <nicolas@petton.fr>

	* etc/AUTHORS: Update.

2019-08-29  Nicolas Petton  <nicolas@petton.fr>

	* etc/NEWS: Delete temporary markup.

2019-08-29  Noam Postavsky  <npostavs@gmail.com>

	Fix process filter documentation (Bug#13400)

	* doc/lispref/processes.texi (Asynchronous Processes): Note that input
	may read when sending data as well.
	(Output from Processes): Note that functions which send data may also
	trigger reading from processes.
	(Input to Processes, Filter Functions): Note that filter functions may
	be called recursively.

2019-08-29  Tino Calancha  <tino.calancha@gmail.com>

	Fix query-replace-regexp undo feature

	Ensure that non-regexp strings used with `looking-at' are quoted.
	* lisp/replace.el (perform-replace): Quote regexp (Bug#37073).
	* test/lisp/replace-tests.el (replace-tests-perform-replace-regexp-flag):
	New variable.
	(replace-tests-with-undo): Use it.
	(query-replace-undo-bug37073): Add tests.

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Support the new Japanese era name

	* admin/unidata/NormalizationTest.txt:
	* admin/unidata/UnicodeData.txt: Add U+32FF SQUARE ERA NAME REIWA.
	Do not merge to master.

	* test/lisp/international/ucs-normalize-tests.el
	(ucs-normalize-tests--failing-lines-part1)
	(ucs-normalize-tests--failing-lines-part2): Update.  Do not
	merge to master.

	* etc/NEWS: Mention the change.

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in char-width-table

	* lisp/international/characters.el (char-width-table): Fix a
	typo in zero-width characters.

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Minor update in admin/notes/unicode

	* admin/notes/unicode: Mention changes to be done in
	setup-default-fontset in fontset.el.  (Bug#14461)

2019-08-29  Noam Postavsky  <npostavs@gmail.com>

	Fix lisp indent infloop on unfinished strings (Bug#37045)

	* lisp/emacs-lisp/lisp-mode.el (lisp-indent-calc-next): Stop trying to
	skip over strings if we've hit the end of buffer.
	* test/lisp/emacs-lisp/lisp-mode-tests.el
	(lisp-indent-unfinished-string): New test.

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Improve commentary in composite.el

	* lisp/composite.el (compose-gstring-for-graphic)
	(compose-gstring-for-terminal): Add comments that explain
	Unicode General Category mnemonics in human-readable terms.
	(Bug#14461)

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Fix markup in dired-x.texi

	* doc/misc/dired-x.texi (Omitting Variables)
	(Local Variables, Shell Command Guessing)
	(Advanced Cleaning Variables, Special Marking Function): Fix
	markup and indexing.  (Bug#14212)

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	* src/callproc.c (Fcall_process): Doc fix.

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of features that use the fringes

	* doc/emacs/display.texi (Fringes): Add cross-reference to
	where indicate-empty-lines is described.
	(Useless Whitespace): Add an @anchor for a more accurate
	cross-reference in "Fringes".

2019-08-29  Mauro Aranda  <maurooaranda@gmail.com>

	Fix docstrings in pong

	* lisp/play/pong.el (pong-move-left pong-move-right): Refer to the
	right bats and directions of movement.  (Bug#36959)

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings of 'append-to-buffer' and friends

	* lisp/simple.el (append-to-buffer, prepend-to-buffer)
	(copy-to-buffer): Doc fixes.

2019-08-29  Mauro Aranda  <maurooaranda@gmail.com>

	Fix octave-mode ElDoc support

	* lisp/progmodes/octave.el (octave-eldoc-function-signatures): Fix the
	regexp used, so no match happens when there is no defined function FN.
	Also, tweak the regexp to support GNU Octave 4.2.x and newer.  (Bug#36459)

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Avoid Groff hanging on MS-Windows when invoked by "M-x man"

	* lisp/man.el (Man-build-man-command): On MS-Windows, redirect
	stdin of 'man' to the null device, to make sure Groff exits
	immediately after formatting the man page.

2019-08-29  Philipp Stephani  <p.stephani2@gmail.com>

	Ignore pending_signals when checking for quits.

	pending_signals is often set if no quit is pending.  This results in
	bugs in module code if the module returns but no quit is actually
	pending.

	* src/emacs-module.c (module_should_quit): Use QUITP macro to check
	whether the caller should quit.

	* src/eval.c: Remove obsolete comment.

2019-08-29  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix nnmail-expiry-wait docs and custom :types

	* doc/misc/gnus.texi (Group Parameters, Expiring Mail):
	* lisp/gnus/gnus-cus.el (gnus-group-parameters): Clarify
	descriptions of nnmail-expiry, nnmail-expiry-wait, and
	nnmail-expiry-wait-function.
	* lisp/gnus/nnmail.el (nnmail-expiry-wait)
	(nnmail-expiry-wait-function): Clarify docstrings and fix custom
	:types (bug#36850).

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	* lisp/simple.el (kill-do-not-save-duplicates): Doc fix.  (Bug#36827)

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of debugging Lisp syntax error

	* doc/lispref/debugging.texi (Syntax Errors, Excess Open)
	(Excess Close): Name the commands invoked by the key
	sequences.  Add cross-references to appropriate sections of
	the Emacs manual.  (Bug#21385)

	(cherry picked from commit faafd467a374c9398ee4668cdc173611d35693ed)

2019-08-29  Noam Postavsky  <npostavs@gmail.com>

	Add index for "\( in strings" (Bug#25195)

	* doc/emacs/programs.texi (Left Margin Paren): Add index for "\( in
	strings".
	* doc/lispref/positions.texi (List Motion): Add index, and cross
	reference.

2019-08-29  Martin Rudalics  <rudalics@gmx.at>

	Fix doc-string of 'fit-window-to-buffer' (Bug#36848)

	* lisp/window.el (fit-window-to-buffer): Fix doc-string.

	Suggested by Drew Adams <drew.adams@oracle.com>

2019-08-29  Tino Calancha  <tino.calancha@gmail.com>

	Update view-mode docstring

	Not all the kill commands save the text in the kill ring
	by default (e.g. `kill-rectangle').
	It is more precise to just say that the kill commands save
	the text and do not change the buffer (Bug#36741).
	* lisp/view.el (view-mode): Update docstring.

2019-08-29  Noam Postavsky  <npostavs@gmail.com>

	Fix subproc listening when setting filter to non-t (Bug#36591)

	* src/process.c (Fset_process_filter): Call add_process_read_fd
	according to the state of process filter before it's updated.  This
	restores the correct functioning as it was before 2016-02-16 "Allow
	setting the filter masks later".  Inline the set_process_filter_masks
	call instead of fixing it that function, because it is also called
	from connect_network_socket, and we don't want to change the behavior
	of that function so close to release.
	* test/src/process-tests.el (set-process-filter-t): New test.

2019-08-29  Noam Postavsky  <npostavs@gmail.com>

	* etc/NEWS.25: Belatedly announce rcirc-reconnect-delay.

2019-08-29  Noam Postavsky  <npostavs@gmail.com>

	Mention term.el's \032 dir tracking in commentary (Bug#19524)

	* lisp/term.el: Mention both forms of directory tracking in
	commentary.  Remove obsolete ChangeLog comments.  Move more relevant
	summary comments to the top.

2019-08-29  Stefan Kangas  <stefankangas@gmail.com>

	Remove upload functionality of package-x from the elisp manual

	Suggested by Stefan Monnier.
	Ref: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19537#8

	* doc/lispref/package.texi (Package Archives): Don't document
	package-x upload functions in the elisp manual, since they are not
	very commonly used.  (Bug#19537)
	* lisp/emacs-lisp/package-x.el (package-archive-upload-base)
	(package-upload-buffer, package-upload-file): Add to the doc strings
	any details removed from the elisp manual that would otherwise be
	missing.

2019-08-29  Nicolas Petton  <nicolas@petton.fr>

	* etc/AUTHORS: Update.

2019-08-29  Basil L. Contovounesios  <contovob@tcd.ie>

	Clarify Gravatar docs

	For discussion, see the following thread:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00528.html
	* doc/misc/gnus.texi (X-Face): Fix cross-reference.
	(Gravatars):
	* lisp/gnus/gnus-gravatar.el (gnus-gravatar-too-ugly):
	* lisp/image/gravatar.el (gravatar-cache-ttl, gravatar-rating)
	(gravatar-size): Clarify user option descriptions.
	(gravatar-retrieve, gravatar-retrieve-synchronously): Document
	return value.

2019-08-29  Alan Mackenzie  <acm@muc.de>

	* doc/lispref/display.texi (Defining Faces): Say a face can't be undefined.

2019-08-29  Noam Postavsky  <npostavs@gmail.com>

	Handle completely undecoded input in term (Bug#29918)

	* lisp/term.el (term-emulate-terminal): Avoid errors if the whole
	decoded string is eight-bit characters.  Don't attempt to save the
	string for next iteration in that case.
	* test/lisp/term-tests.el (term-decode-partial)
	(term-undecodable-input): New tests.

2019-08-29  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)

	* doc/misc/forms.texi (Control File Format): Fix a doc error.

	(Bug#36693)

2019-08-29  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix typo in package-alist docstring

	Pointed out by Michael Heerdegen <michael_heerdegen@web.de>.
	* lisp/emacs-lisp/package.el (package-alist): Fix docstring
	grammar (bug#17403).

2019-08-29  Markus Triska  <triska@metalevel.at>

	* doc/lispref/text.texi (Mode-Specific Indent): Fix a typo (bug#36646).

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string of 'bidi-display-reordering'

	* src/buffer.c (syms_of_buffer) <bidi-display-reordering>:
	Further doc fix.

2019-08-29  Stefan Kangas  <stefankangas@gmail.com>

	Add warning to bidi-display-reordering doc string

	This explanation was given by Eli Zaretskii on emacs-devel.
	For discussion, see:
	https://lists.gnu.org/r/emacs-devel/2019-07/msg00294.html

	* src/buffer.c (syms_of_buffer): Add warning to doc string of
	bidi-display-reordering to explain that it should only be used for
	debugging.

2019-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Raise required librsvg version so as to match the current use

	* configure.ac: Set RSVG_REQUIRED to 2.14.0 as rsvg_handle_get_dimensions
	needs it.

2019-08-29  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-inline-compress-start-size): Set nil on w32.

2019-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/verilog-mode.el: One more ELPA Version:

2019-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/svg.el, lisp/progmodes/ada-mode.el: Fix bug#36360.

	Tell package.el their version number, for better behavior w.r.t the
	versions available in GNU ELPA

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedit of "Font Lock" in user manual

	* doc/emacs/display.texi (Font Lock): Make the wording about
	"enabling Font Lock" crystal clear.  (Bug#36529)

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Improve description of image descriptors

	* doc/lispref/display.texi (Image Descriptors): More accurate
	description of where image files are looked up.  (Bug#36523)

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of secondary selections

	* doc/emacs/killing.texi (Secondary Selection): Improve
	wording.  Mention that 'M-mouse-1' can be used to cancel
	secondary selections.  (Bug#36365)

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	* src/fns.c (Fmapconcat): Doc fix.  (Bug#36418)

2019-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Avoid crash inside CFCharacterSetIsLongCharacterMember (Bug#36507)

	* src/macfont.m (macfont_supports_charset_and_languages_p)
	(macfont_has_char): Don't pass integers outside the Unicode codespace to
	CFCharacterSetIsLongCharacterMember.  Do not merge to master.

2019-08-29  Noam Postavsky  <npostavs@gmail.com>

	Fix python.el docstring (Bug#36458)

	* lisp/progmodes/python.el (python-shell--prompt-calculated-output-regexp):
	python-shell-set-prompt-regexp doesn't exist, presumably
	python-shell-prompt-set-calculated-regexps was meant.

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	* lisp/hi-lock.el (hi-lock-line-face-buffer): Doc fix.  (Bug36448)

2019-08-29  Stefan Kangas  <stefankangas@gmail.com>

	Fix typo in doc string of file-exists-p (bug#36408)

	* src/fileio.c (Ffile_exists_p): Fix typo in doc string.

2019-08-29  Juanma Barranquero  <lekktu@gmail.com>

	* test/lisp/url/url-file-tests.el (url-file): Fix for POSIX filenames.

2019-08-29  Stefan Kangas  <stefankangas@gmail.com>

	Fix typo in windows.texi

	* doc/lispref/windows.texi (Window History): Fix typo.  (Bug#36412)

2019-08-29  Basil L. Contovounesios  <contovob@tcd.ie>

	Clarify & update (elisp) Writing Emacs Primitives

	* doc/lispref/internals.texi (Writing Emacs Primitives): Update some
	of the sample code listings, fixing argument lists and parentheses.
	Replace ... with @dots{}.  Describe UNEVALLED special forms as
	taking a single argument. (bug#36392)

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Clarify a subtle issue in the Internals chapter of lispref

	* doc/lispref/internals.texi (Writing Emacs Primitives):
	Clarify the issue with relocation of buffer or string text as
	side effect of Lisp evaluation.  (Bug#36392)

2019-08-29  Noam Postavsky  <npostavs@gmail.com>

	Fix sgml-mode handling of quotes within parens (Bug#36347)

	* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize): Use
	syntax-ppss-table if set.  This is only needed on the release branch,
	on master the caller (syntax-propertize) already does this.
	(sgml-mode): Set syntax-ppss-table to sgml-tag-syntax-table.  This
	correctly classifies parens as punctuation, so they won't confuse the
	parser.
	* test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
	New test copied from master, with two cases added for this bug.

2019-08-29  Juanma Barranquero  <lekktu@gmail.com>

	Rename 'make-symbolic-link' argument NEWNAME to LINKNAME

	* src/fileio.c (Fmake_symbolic_link): Fix docstring.
	* doc/lispref/files.texi (Changing Files): Doc fix.

2019-08-29  Robert Pluim  <rpluim@gmail.com>

	Check that length of data returned by sysctl is non-zero

	The length of the data returned by sysctl can be zero, which was not
	checked for.  This could cause crashes, e.g. when querying
	non-existent processes.  (Bug#36279)

	* src/sysdep.c (list_system_processes) [DARWIN_OS || __FreeBSD__]:
	(system_process_attributes) [__FreeBSD__]:
	(system_process_attributes) [DARWIN_OS]:
	* src/filelock.c (get_boot_time) [CTL_KERN && KERN_BOOTTIME]: Check
	  for zero length data returned by sysctl.

2019-08-29  Juanma Barranquero  <lekktu@gmail.com>

	* test/lisp/progmodes/python-tests.el (python-virt-bin): Doc fix.

2019-08-29  Juanma Barranquero  <lekktu@gmail.com>

	Fix Python tests depending on system-type

	* test/lisp/progmodes/python-tests.el (python-virt-bin): New function.
	(python-shell-calculate-exec-path-2)
	(python-shell-calculate-exec-path-3)
	(python-shell-calculate-exec-path-4)
	(python-shell-with-environment-1, python-shell-with-environment-2):
	Use it.

2019-08-29  Juanma Barranquero  <lekktu@gmail.com>

	Fix problem with wdired test when symlinks cannot be created.

	* test/lisp/wdired-tests.el (wdired-test-symlink-name):
	Skip test if 'make-symbolic-link' fails for whatever reason;
	that's not what's being tested.

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Improve wording of documentation of click events

	* doc/lispref/commands.texi (Click Events, Accessing Mouse):
	Improve and clarify wording.  (Bug#36232)

2019-08-29  Mattias Engdegård  <mattiase@acm.org>

	Backport: Fix typo in regexp-opt example code

	* doc/lispref/searching.texi (Regexp Functions):
	Fix typo in example code (Bug#34596).

2019-08-29  Stefan Kangas  <stefankangas@gmail.com>

	Remove outdated comment in winner.el (Bug#36185)

	* lisp/winner.el: Remove outdated comment.

2019-08-29  Michael Albinus  <michael.albinus@gmx.de>

	Fix accidental change in tramp-tests; do not merge with master

	* lisp/net/trampver.el: Change version to "2.3.5.26.3".
	(customize-package-emacs-version-alist): Add Tramp version
	integrated in Emacs 26.3.

	* test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
	Add skip for w32.

2019-08-29  Juanma Barranquero  <lekktu@gmail.com>

	tramp-test42-auto-load: Add expected-result.

	* test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
	Expect a failed result if remote file access is not enabled,
	as it happens while doing the test on Windows.

2019-08-29  Juanma Barranquero  <lekktu@gmail.com>

	* test/lisp/url/url-file-tests.el (url-file): Use file:///, not file://.

2019-08-29  Juanma Barranquero  <lekktu@gmail.com>

	Fix doc of srecompile-compile-split-code (Bug#36200)

	* lisp/cedet/srecode/compile.el (srecode-compile-split-code):
	Remove leftover text from docstring.

2019-08-29  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Make sure Gnus imap group names are decoded before searching

	do not merge (fix unnecessary in Emacs 27)

	* lisp/gnus/nnir.el (nnir-run-imap): Ensure that non-ascii group names
	  have been fully decoded before passing them to imap search.

2019-08-29  Eli Zaretskii  <eliz@gnu.org>

	Remove failing test erroneously added in backport

	* test/src/thread-tests.el (threads-test-bug33073): Remove
	test which cannot work on the emacs-26 branch.  Do not merge
	to master.  Reported by Juanma Barranquero <lekktu@gmail.com>.

2019-08-29  Juanma Barranquero  <lekktu@gmail.com>

	* lisp/net/sieve-manage.el (sieve-manage-parse-capability): Doc fix.

2019-08-29  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 26.2.90

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version.

2019-08-29  Nicolas Petton  <nicolas@petton.fr>

	* etc/AUTHORS: Update.

2019-08-29  Martin Rudalics  <rudalics@gmx.at>
2019-06-15  Martin Rudalics  <rudalics@gmx.at>

	Fix description of 'display-buffer-in-previous-window' again (Bug#36161)

	* lisp/window.el (display-buffer-in-previous-window): Make
	doc-string more explicit (Bug#36161).
	* doc/lispref/windows.texi (Buffer Display Action Functions):
	Make description of 'display-buffer-in-previous-window' more
	explicit.
	(Buffer Display Action Alists): Mention
	'display-buffer-in-previous-window' in description of
	'reusable-frames' entry.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Consistently use @minus{} for negative arguments

	* doc/emacs/mark.texi (Marking Objects):
	* doc/misc/gnus.texi (Selecting a Group):
	* doc/emacs/programs.texi (Comment Commands):
	* doc/emacs/killing.texi (Deletion):
	* doc/emacs/display.texi (Recentering):
	* doc/lispref/display.texi (Face Attributes):
	* doc/lispref/searching.texi (String Search, Regexp Search):
	Make the markup of "-N" use @minus{} uniformly.  (Bug#35885)

2019-06-15  Martin Rudalics  <rudalics@gmx.at>

	Fix doc of 'display-buffer-in-previous-window' (Bug#36161)

	* doc/lispref/windows.texi (Buffer Display Action Functions):
	* lisp/window.el (display-buffer-in-previous-window): Tell
	that 'display-buffer-in-previous-window' prefers
	non-selected windows (Bug#36161).

2019-06-15  Juanma Barranquero  <lekktu@gmail.com>

	lisp/*.el: Minor docstring fixes

	* lisp/subr.el (definition-prefixes): Reflow docstring.

	* lisp/svg.el (svg-create): Doc fix to allow arg highlighting.
	(svg-gradient, svg-rectangle): Improve docstring formatting.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violation when comparing with main-thread

	* src/thread.c (unmark_main_thread): New function.
	* src/lisp.h (unmark_main_thread): Prototype it.
	* src/alloc.c (garbage_collect_1): Call it after sweeping.
	(Bug#33073)

	* test/src/thread-tests.el (threads-test-bug33073): New test.

2019-06-15  Andreas Schwab  <schwab@linux-m68k.org>

	Revert "Don't mark main_thread (Bug#36155)"

	This reverts commit 1877b7b4d79b3434379fd5a4abd85906c25df00c.

2019-06-15  Andreas Schwab  <schwab@linux-m68k.org>

	Don't mark main_thread (Bug#36155)

	* src/thread.c (mark_threads_callback): Don't mark main_thread.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	More quotation fixes (Bug#35885)

	* doc/emacs/text.texi (Quotation Marks): Fix a typo.
	* doc/emacs/modes.texi (Minor Modes): Fix another case of
	showing quotations.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in efaq-w32

	* doc/misc/efaq-w32.texi (Grep, Recursive grep): More accurate
	description of using 'findstr' as a poor-man's replacement for
	'grep'.  Reported by 范凯 <m_pupil@163.com>

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Tiny improvement of documentation of major mode conventions

	* doc/lispref/modes.texi (Major Mode Conventions): More
	accurate advice regarding customization of 'C-M-a' by major
	modes.

2019-06-15  Juanma Barranquero  <lekktu@gmail.com>

	* nt/addpm.c (main): Fix buffer overflow

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Resurrect display-line-number-mode in client frames

	* lisp/linum.el (linum-on): Mention bug#35726 in a comment.
	* lisp/display-line-numbers.el
	(display-line-numbers--turn-on): Don't check for daemon.
	(Bug#35726)

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	* src/fns.c (Fmapconcat): Doc fix.  (Bug#35710)

2019-06-15  Phillip Lord  <phillip.lord@russet.org.uk>

	Fix typo

	* nt/README.W32:

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	* lisp/term/w32-win.el ([noname]): Bind to 'ignore'.  (Bug#36083)

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Fix styling of Unicode codepoints in manuals

	* doc/lispref/nonascii.texi (Character Properties):
	* doc/lispref/display.texi (Glyphless Chars)
	(Bidirectional Display):
	* doc/emacs/search.texi (Lax Search):
	* doc/emacs/text.texi (Quotation Marks):
	* doc/emacs/basic.texi (Inserting Text): Canonicalize the
	style of "U+NNNN CHARACTER NAME".  (Bug#35885)

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Fix a few uses of quotes in user manual

	* doc/emacs/text.texi (Quotation Marks):
	* doc/emacs/display.texi (Text Display):
	* doc/emacs/basic.texi (Inserting Text): Fix some more
	quotes.  (Bug#35885)

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	More minor copyedits in the Emacs manual

	* doc/emacs/basic.texi (Arguments):
	* doc/emacs/display.texi (Recentering, Text Display):
	* doc/emacs/regs.texi (Text Registers, Rectangle Registers):
	* doc/emacs/mark.texi (Disabled Transient Mark): Fix
	inaccuracies and typos.  (Bug#35885)

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Fix minor issues in the Emacs manual

	* doc/emacs/search.texi (Regexp Replace, Regexps):
	* doc/emacs/kmacro.texi (Keyboard Macro Query)
	(Save Keyboard Macro): Fix inaccuracies and typos.
	(Bug#35885)

2019-06-15  Martin Rudalics  <rudalics@gmx.at>

	Try to improve text on atomic windows in Elisp manual

	* doc/lispref/windows.texi (Deleting Windows): Mention how
	'delete-window' and 'delete-other-windows' handle atomic
	windows.  Minor rewrite.
	(Quitting Windows): Mention how 'quit-restore-window' handles
	atomic windows and that it tries to avoid raising an error.
	(Atomic Windows): Tell how to dissolve atomic windows.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Don't recommend insert-before-markers in process filters

	See <https://lists.gnu.org/r/emacs-devel/2019-05/msg00062.html> and
	Bug#35334.
	* doc/lispref/processes.texi (Filter Functions): Go back to using
	plain insert in the example filter.  Add note about updating window
	point.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Disable byte-compile-cond-use-jump-table (Bug#35770)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table): Set
	to nil by default.

	Don't merge to master, the bug is already fixed there.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Allow macros autoloaded as functions during bytecomp (Bug#36022)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn): Don't pass
	symbols which don't have a known definition to
	byte-compile--function-signature, it fails to compile code which
	previously compiled successfully (for example, gnus.el until
	2019-06-01 "* lisp/gnus/gnus.el: Mark autoloaded macros as such" which
	autoloads some macros as if they were functions).

2019-06-15  Glenn Morris  <rgm@gnu.org>

	* lisp/gnus/gnus.el: Mark autoloaded macros as such.

	This avoids a build failure.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Speed up redisplay of HELLO

	* etc/HELLO: Set 'inhibit-compacting-font-caches' non-nil
	locally.  (Bug#36032)

	* lisp/files.el: Add 'inhibit-compacting-font-caches' to the
	list of built-in variables for which we set up
	'safe-local-variable' properties.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'safe-local-variable' property

	* doc/lispref/variables.texi (File Local Variables): Document
	how to define 'safe-local-variable' properties for built-in
	variables.

2019-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el: Obey buffer-file-coding-system (bug#35739)

	`url-insert-file-contents` saves in buffer-file-coding-system
	the coding-system used to decode the contents.  Preserve this
	as the contents is moved from buffer to string to buffer, and use
	it when saving the contents to file, so as to try and better preserve
	the original byte sequence.

	(package--buffer-string, package--cs): New functions.
	(package--check-signature): Encode `string` if a coding-system
	was specified in buffer-file-coding-system.
	(package--download-one-archive, package-install-from-archive):
	Obey and preserve the buffer-file-coding-system if specified.

	Do not merge.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Warn about wrong number of args for subrs (Bug#35767)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn): Don't
	assume byte-compile-fdefinition will return non-nil.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-warn-wrong-args)
	(bytecomp-warn-wrong-args-subr): New tests.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Use plain symbols for eieio type descriptors (Bug#29220)

	Since Emacs 26, eieio objects use a class record (with circular
	references) as the type descriptor of the object record.  This causes
	problems when reading back an object from a string, because the class
	record is not `eq' to the canonical one (which means that read objects
	don't satisfy the foo-p predicate).
	* lisp/emacs-lisp/eieio.el (make-instance): As a (partial) fix, set
	the record's type descriptor to a plain symbol for the type descriptor
	when eieio-backward-compatibility is non-nil (the default).
	* lisp/emacs-lisp/eieio-core.el (eieio--object-class): Call
	eieio--class-object on the type tag when eieio-backward-compatibility
	is non-nil.
	(eieio-object-p): Use eieio--object-class instead of
	eieio--object-class-tag.
	* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
	(eieio-test-persist-hash-and-vector)
	(eieio-test-persist-interior-lists): Make into functions.
	(eieio-persist-hash-and-vector-backward-compatibility)
	(eieio-persist-hash-and-vector-no-backward-compatibility)
	(eieio-test-persist-interior-lists-backward-compatibility)
	(eieio-test-persist-interior-lists-no-backward-compatibility): New
	tests which call them, eieio-backward-compatibility let-bound.

2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC 9 -Wredundant-decls

	* src/gmalloc.c (_fraghead) [!HYBRID_MALLOC]:
	Make it static in this case, too.  This avoids having both
	‘extern struct list _fraghead[];’ and
	‘static struct list _fraghead[BLOCKLOG];’, which
	GCC 9 complains about.

2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify librsvg 2.45.1 and later

	* src/image.c (svg_load_image): Pacify librsvg 2.45.1 and later,
	and add a FIXME comment about the deprecated librsvg functions.
	Backport from master.

2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify xd_signature to pacify GCC 9

	* src/dbusbind.c (xd_signature): Use simpler way to set up
	the subsignature.  This also pacifies GCC 9 on Fedora 30 x86-64.
	Backport from master.

2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC when compiling unexelf.c on Fedora 30

	* src/unexelf.c (unexec): Pacify GCC 9.

2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Suppress GCC 9 “no longer supported” messages

	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wchkp.
	This suppresses a boatload of warnings of the form
	“gcc: warning: switch ‘-Wchkp’ is no longer supported”.
	when using GCC 9.  Do not merge to master.

2019-06-15  Stefan Kangas  <stefankangas@gmail.com>

	Fix docstring of bookmark-get-bookmark

	* lisp/bookmark.el (bookmark-get-bookmark): Document optional
	argument NOERROR. (bug#20148)

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Avoid infloop in read-multiple-choice (Bug#32257)

	* lisp/emacs-lisp/rmc.el (read-multiple-choice): When `read-char'
	signals an error "Non-character input-event", call `read-event' to
	take the non-character event out of the queue.  Don't merge to master,
	we just use `read-event' directly there, rather than this solution
	which relies a particular error message.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of decoding into a unibyte buffer

	* doc/lispref/nonascii.texi (Explicit Encoding): Document what
	happens when DESTINATION of decoding is a unibyte buffer.

	* src/coding.c (Fdecode_coding_region)
	(Fdecode_coding_string): Document what happens if DESTINATION
	is a unibyte buffer.

2019-06-15  Mauro Aranda  <maurooaranda@gmail.com>

	Remove redundants "See" before @xref or @pxref (Bug#35793)

	* doc/lispref/control.texi (Control Structures):
	* doc/lispref/modes.texi (Search-based Fontification):
	* doc/misc/cc-mode.texi (Filling and Line Breaking Commands)
	(Auto-newline Insertion, Other Special Indentations):
	* doc/misc/dbus.texi (Errors and Events):
	* doc/misc/dired-x.texi (Find File At Point):
	* doc/misc/eudc.texi (Display of Query Results, Inline Query Expansion):
	* doc/misc/gnus-faq.texi (FAQ 3-11):
	* doc/misc/gnus.texi (Group Parameters, Posting Styles)
	(Spam Package Introduction):
	* doc/misc/org.texi (LaTeX fragments, Previewing LaTeX fragments):
	* doc/misc/reftex.texi (Commands):
	Remove redundant "See" before cross references.
	* doc/lispref/functions.texi (Function Safety): Redundant "see" is in
	ignored text, but remove it anyway.
	* doc/lispref/positions.texi (Skipping Characters): Remove redundant
	"See" before cross references.  Change @xref to @pxref, which is
	more suitable when at the end of a sentence.

	Most of the redundants "See" found by Noam Postavsky.

2019-06-15  Dario Gjorgjevski  <dario.gjorgjevski@gmail.com>

	Fix customization type of recentf-max-saved-items

	Change the customization type of recentf-max-saved-items to include
	nil, as it is an allowed value (Bug#35771).
	* lisp/recentf.el (recentf-max-saved-items): Change the customization
	type in the defcustom.

2019-06-15  Tom Levy  <tomlevy93@gmail.com>  (tiny change)

	Fix a typo in ELisp manual

	* doc/lispref/sequences.texi (Sequence Functions): Fix a typo.
	(Bug#35817)

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Add option to disable help completion autoloading (Bug#28607)

	* lisp/help-fns.el (help-enable-completion-auto-load): New option.
	(help--symbol-completion-table): Consult it.
	* doc/emacs/building.texi (Lisp Libraries): Document it.
	* etc/NEWS: Announce it.
	* doc/lispref/loading.texi (Autoload by Prefix): New section.
	(Autoload): Reference it.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Don't segfault on force-window-update of deleted window

	* src/window.c (Fforce_window_update): Do nothing for deleted
	windows (Bug#35784).

2019-06-15  Mauro Aranda  <maurooaranda@gmail.com>

	Fix typo in ELisp manual

	* doc/lispref/variables.texi (Directory Local Variables): Fix typo in
	dir-locals-set-class-variables description.  (Bug#35799)

2019-06-15  Mauro Aranda  <maurooaranda@gmail.com>

	Remove repeated function call in picture.el

	* lisp/textmodes/picture.el (picture-mode-map):  Remove repeated
	define-key call.  (Bug#35772)

2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix Hideshow key binding typo in Emacs manual

	* doc/emacs/programs.texi (Hideshow): Add missing function and key
	index entries.  Fix hs-toggle-hiding binding typo. (bug#35798)

2019-06-15  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Backport: Fix name of gnus-summary-sort-by-mark(s)

	* lisp/gnus/gnus-sum.el (gnus-summary-sort-by-marks): Needs the
	  "s", according to docs and keymap both. (bug#35765)

	(cherry picked from commit 13248f7444630508cfc3b78a07e8d96613af11c8)

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Remove from docs references to obsolete MULE variables

	* src/search.c (search_buffer): Remove obsolete text from a
	comment.
	* src/fns.c (Fstring_make_unibyte): Remove obsolete text from
	a doc string.

2019-06-15  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	Do potentially destructive operations in prepare-commit-msg

	* build-aux/git-hooks/prepare-commit-msg: If someone occasionally puts
	Signed-off line, it will likely get there through -s option of git.
	Exploit this fact to abort before a user got a chance to type commit
	message.  (Bug#35368)

2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Backport: fix broken build on m68k

	The GCC + valgrind fix caused the m68k build to fail (Bug#35711).
	Simplify string allocation a bit to make similar problems less
	likely in the future.
	* src/alloc.c (sdata, SDATA_NBYTES, SDATA_DATA) [GC_CHECK_STRING_BYTES]:
	Use the same implementation as with !GC_CHECK_STRING_BYTES,
	as the special case is no longer needed.
	(SDATA_ALIGN): New constant.
	(SDATA_SIZE): Remove this macro, replacing with ...
	(sdata_size): ... this new function.  All uses changed.
	Properly account for sizes and alignments even in the m68k case,
	and even if GC_CHECK_STRING_BYTES is not defined.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Handle GNUTLS_E_AGAIN in emacs_gnutls_read (Bug#34341)

	Don't merge to master, this has already been fixed there by 2019-01-15
	"Fix unlikely races with GnuTLS, datagrams".
	* src/gnutls.c (emacs_gnutls_read): Similar to emacs_gnutls_write,
	when gnutls_record_recv returns GNUTLS_E_AGAIN set errno to EGAIN.

2019-06-15  Neil Roberts  <bpeeluk@yahoo.co.uk>

	Let dir locals for more specific modes override those from less

	The list of dir local variables to apply is now sorted by the number
	of parent modes of the mode used as the key in the association list.
	That way when the variables are applied in order the variables from
	more specific modes will override those from less specific modes.

	If there are directory entries in the list then they are sorted in
	order of name length.  The list of modes for that dir is then
	recursively sorted with the same mechanism.  That way variables tied
	to a particular subdirectory override those in a parent directory.

	Previously the behavior didn’t seem to be well defined anyway and was
	dependent on the order they appeared in the file.  However this order
	was changed in version 26.1 and it probably also depended on the
	number of dir-local files that are merged.

	Bug#33400

	* lisp/files.el (dir-locals-get-sort-score, dir-locals-sort-variables)
	(dir-locals-read-from-dir): Sort the dir locals so that more precise
	modes and directory-specific entries have override lesser ones.
	* doc/emacs/custom.texi (Directory Variables): Document the priority.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Hexl mode

	* doc/emacs/misc.texi (Editing Binary Files): Clarify
	"insertion".  Improve wording.  Add a few Hexl commands.
	(Bug#35580)

2019-06-15  Alan Mackenzie  <acm@muc.de>

	Fix description of (move-to-column <n> t) when column <n> is inside a tab

	This fixes bug #35647.  State that when indent-tabs-mode is non-nil, spaces
	are inserted before the tab rather than the tab being replaced by spaces.

	* doc/lispref/text.texi (columns)
	* src/indent.c (move-to-column): Make the above documentation amendment.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Recognize single quote attribute values in nxml and sgml (Bug#35381)

	* lisp/textmodes/sgml-mode.el (sgml-specials): Add single quote.
	(sgml-syntax-propertize-rules): Handle single quote.
	* test/lisp/nxml/nxml-mode-tests.el (nxml-mode-font-lock-quotes): New
	test.
	* test/lisp/textmodes/sgml-mode-tests.el
	(sgml-delete-tag-bug-8203-should-not-delete-apostrophe): Now passes.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Disable extra display of &#10; in nxml-mode (Bug#32897)

	* lisp/nxml/nxml-mode.el (nxml-char-ref-display-extra): Don't put
	display for the newline, it makes the indentation look wrong.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Fix nxml-get-inside (Bug#32003)

	The change from 2016-01-16 "lisp/nxml: Use syntax-tables for comments"
	made nxml-get-inside return non-nil for any string or comment,
	including attribute strings.  This caused incorrect and therefore
	indentation.
	* lisp/nxml/nxml-rap.el: Update commentary to reflect changes to
	nxml-mode parsing.
	(nxml-get-inside): Only return non-nil when inside comments and
	generic strings, not normal quote-delimited strings.
	* test/lisp/nxml/nxml-mode-tests.el: New tests.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Fix positioning client buffer as instructed by emacsclient

	* lisp/server.el (server-switch-buffer): Let-bind
	switch-to-buffer-preserve-window-point to nil when switching
	to the client buffer, when the client requested a specific
	position.  (Bug#35602)

2019-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/package-keyring.gpg: Add the 2019 key (backport)

2019-06-15  Vitalie Spinu  <spinuvit@gmail.com>

	Fix incorrect cloning of eieio-instance-inheritor objects (Bug#34840)

	* lisp/emacs-lisp/eieio-base.el (clone): Unbound slots of
	  eieio-instance-inheritor objects as documented in the docs string
	  and implemented in the original eieio implementation.

2019-06-15  Vitalie Spinu  <spinuvit@gmail.com>

	Fix cloning of eieio-named objects (Bug#22840)

	* lisp/emacs-lisp/eieio-base.el (clone): Correctly set the name of the
	  cloned objects from eieio-named instances.

2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix ibuffer-unmark-backward synopsis (bug#35572)

	* lisp/ibuffer.el (ibuffer-mode): Fix synopsis of
	ibuffer-unmark-backward along with other minor copy-edits.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Clarify handling of long options (Bug#24949)

	* doc/emacs/cmdargs.texi (Emacs Invocation): Note that space can be
	used instead of "=" only if an option requires an argument.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of the daemon and emacsclient

	* doc/emacs/misc.texi (emacsclient Options):
	* doc/emacs/cmdargs.texi (Initial Options): Document that
	using --daemon=NAME will need to specify the same NAME when
	invoking 'emacscilent'.  (Bug#35547)

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	* etc/NEWS.24: Belatedly announce delete-consecutive-dups.

2019-06-15  Glenn Morris  <rgm@gnu.org>

	* admin/update_autogen: Handle git worktree.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Update process filter example (Bug#35044)

	* doc/lispref/processes.texi (Filter Functions): Use
	insert-before-markers in the "ordinary" filter example, like
	internal-default-process-filter does.

2019-06-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/macfont.m (macfont_shape): Use convenient LGLYPH_NEW.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Recommend using font-lock-face over face (Bug#35044)

	* doc/lispref/modes.texi (Precalculated Fontification): Explain
	advantages of using font-lock-face over face.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Check if mouse_face_overlay was deleted (Bug#35273)

	* src/xdisp.c (note_mouse_highlight): Check if the mouse_face_overlay
	actually points to a buffer, before calling
	mouse_face_overlay_overlaps on it.

2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Port to platforms where tputs is in libtinfow

	* configure.ac (tputs_library): Also try tinfow, ncursesw (Bug#33977).

	(cherry picked from commit a3d52b3057c98bce581bc94912ef3ced6fad6f14)

2019-06-15  Glenn Morris  <rgm@gnu.org>

	* admin/admin.el (set-version): Check for increase in version length,
	rather than a .50 version.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Be more careful about indent-sexp going over eol (Bug#35286)

	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only go over multiple
	sexps if the end of line is within a sexp.
	* test/lisp/emacs-lisp/lisp-mode-tests.el
	(indent-sexp-stop-before-eol-comment)
	(indent-sexp-stop-before-eol-non-lisp): New tests.

2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>

	Backport: Improve pure and side-effect-free docs

	For discussion, see thread starting at:
	https://lists.gnu.org/r/emacs-devel/2019-04/msg00316.html
	* doc/lispref/customize.texi (Composite Types): Do not overspecify
	:match-alternatives predicates.
	* doc/lispref/eval.texi (Intro Eval): Anchor definition of "side
	effect" for cross-referencing...
	* doc/lispref/functions.texi (What Is a Function): ...from here.
	Define what a pure function is.
	* doc/lispref/internals.texi (Writing Emacs Primitives): Describe
	currently preferred approach to marking primitives as pure and
	side-effect-free.
	* doc/lispref/symbols.texi (Standard Properties): Expand description
	of pure and side-effect-free properties.

	(cherry picked from commit 4430a9b54fca266e48d0eb8b72d83706910f10b8)

2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>

	Backport: Avoid using obsolete indent-relative-maybe

	* lisp/electric.el (electric-indent-functions-without-reindent):
	* lisp/indent.el (indent-according-to-mode): Check for
	indent-relative-first-indent-point in addition to its obsolete alias
	indent-relative-maybe.
	* lisp/obsolete/vi.el (vi-com-map): Use
	indent-relative-first-indent-point in place of its obsolete alias
	indent-relative-maybe.

	(cherry picked from commit 0e468a620458fecd003c396050aa6deb722982c1)

2019-06-15  Mauro Aranda  <maurooaranda@gmail.com>

	Avoid false positives and false negatives of Info-quoted face

	* lisp/info.el (Info-mode-font-lock-keywords): Modify the regexp, for
	matching single quotes of opening single quote and closing single
	quote, and avoid matching text followed by a curly quote when it is
	not quoting. (Bug#35202)

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Fix markup related to quoting in Info

	* doc/misc/sc.texi (Citations): Fix markup of '>'.
	* doc/misc/mh-e.texi (Speedbar): Fix markup in a @table.
	* doc/misc/calc.texi (Yacas Language Mode): Fix a typo.
	* doc/emacs/mark.texi (Setting Mark): Remove duplicate
	quoting.  (Bug#35202)

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)

	* configure.ac: Use EMACS_CHECK_MODULES fors LCMS2 rather than
	AC_SEARCH_LIBS.
	* src/Makefile.in: Get LCMS2_LIBS and LCMS2_CFLAGS from configure,
	instead of just LIBLCMS2.

	(cherry picked from commit cb3863370cbe574810f796726faa39ba0de0a429)

2019-06-15  Glenn Morris  <rgm@gnu.org>

	Add a package: line to c-submit-bug-report.

	* lisp/progmodes/cc-mode.el (c-submit-bug-report):
	Add a Package: line for mail clients that do not support X- headers.

2019-06-15  Glenn Morris  <rgm@gnu.org>

	* admin/admin.el (set-version): Add NEWS headers for a .50 version.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Backport doc improvement in ELisp manual

	* doc/lispref/processes.texi (Accepting Output): Backport:
	document how do avoid race conditions while waiting for all of
	the process's output to arrive.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Document insert-image-file's return value (Bug#32978)

	* lisp/image-file.el (insert-image-file): Document return value.

2019-06-15  Braun Gábor  <braungb88@gmail.com>  (tiny change)

	Autoload cua-toggle-rectangle-mark (Bug#34947)

	* lisp/emulation/cua-base.el (cua-toggle-rectangle-mark): Autoload it.
	Library cua-base.el binds cua-toggle-rectangle-mark to a key in the
	:set function in (defcustom cua-rectangle-mark-key ...), so it should
	ensure that the command is defined.

2019-06-15  Noam Postavsky  <npostavs@gmail.com>

	Tell xclip not to expect job-control under eshell (Bug#35257)

	* lisp/eshell/esh-proc.el (eshell-needs-pipe): Add "xclip" and other
	programs that xclip.el (in GNU ELPA) calls with
	`process-connection-type' bound to nil.

2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix off-by-one-link error in image--set-property

	* lisp/image.el (image--set-property): Ensure new value is set even
	in the unlikely case that the plist is empty.  Fix off-by-one-link
	error when deleting a property. (bug#35285)
	* test/lisp/image-tests.el: New file.
	(image--set-property): New test.

2019-06-15  Glenn Morris  <rgm@gnu.org>

	* admin/admin.el (make-manuals-dist--1):
	Update for incompatible copy-file change re "directories".

2019-06-15  Robert Pluim  <rpluim@gmail.com>

	Document some compilation-mode faces

	* doc/emacs/building.texi (Compilation Mode): Describe faces
	available to affect appearance of compilation-mode buffers.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Mention the assignment form in "Copyright Assignment"

	* doc/emacs/trouble.texi (Copyright Assignment): Mention the
	copyright assignment form explicitly.  Suggested by Konstantin
	Kharlamov <hi-angel@yandex.ru>.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Fix confusing wording in the user manual

	* doc/emacs/maintaining.texi (VC Undo): Remove a potentially
	inaccurate, outdated, and/or confusing sentence.  (Bug#35290)

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	Fix the MSDOS build when running under CWSDPMI

	* src/msdos.c (the_only_tty_output): Define.
	* src/msdos.h (the_only_tty_output): Declare.
	* src/frame.c (make_terminal_frame) [MSDOS]:
	* src/dispnew.c (init_display) [MSDOS]: Set up
	f->output_data.tty pointer using the_only_tty_output, before
	dereferencing the pointer.  This prevents crashes with DPMI
	servers that provide NULL pointer protection.

2019-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/python.el: Be more careful about temp file removal

	(python-shell-prompt-detect): Use unwind-protect to try and not leave
	file behind in case of error.

2019-06-15  Alexander Gramiak  <agrambot@gmail.com>

	Backport: Plug memory leak in GTK x-display-monitor-attributes-list

	* src/frame.c (free_monitors) [USE_GTK]: Define in the GTK case as
	well.

	* src/xfns.c (x-display-monitor-attributes-list) [USE_GTK]: Plug
	memory leak. Use dupstring over xstrdup as gdk_monitor_get_model may
	return NULL.

2019-06-15  Alexander Gramiak  <agrambot@gmail.com>

	Backport: * lisp/frame.el (frame--size-history): Fix infloop. (Bug#35272)

2019-06-15  Robert Pluim  <rpluim@gmail.com>

	Downcase charset

	RFC 2046 specifies that the charset parameter is case-insensitive.

	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-with-decoded-handle):
	Downcase charset.  Suggested by Christophe TROESTLER
	<Christophe.TROESTLER@umons.ac.be>.  (Bug#35265).

2019-06-15  Phillip Lord  <phillip.lord@russet.org.uk>

	Update for Emacs-26

	* nt/README.W32: Update details about packaging which changed for
	  Emacs-26.

2019-06-15  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/display.texi (Showing Images): Fix a typo.  (Bug#35240

2019-06-15  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 26.2

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version to 26.2.

2019-06-15  Nicolas Petton  <nicolas@petton.fr>

	* etc/HISTORY: Update for Emacs 26.2 release.

	* etc/AUTHORS: Update.
2019-05-25  Eric S. Raymond <esr@thyrsus.com>

	Implement and document XDG-style startup files under ~/.config.

	* lisp/startup.el (command-line): Allow XDG-style as well as old
	style paths.
	* doc/emacs/custom.texi: Document the above change.

2019-04-11  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'read-command'

	* src/minibuf.c (Fread_command): Document the return value
	when DEFAULT-VALUE is nil and the user enters nothing.
	* doc/lispref/minibuf.texi (High-Level Completion): Document
	the printed representation of a symbol whose name is empty.
	(Bug#3522)

2019-04-11  Eli Zaretskii  <eliz@gnu.org>

	Fix an outdated URL in a comment

	* src/emacs.c: Fix reference to Cocoa CoreFoundation Release
	Notes.  (Bug#35225)

2019-04-11  Basil L. Contovounesios  <contovob@tcd.ie>

	Backport: Fix comment-empty-lines docstring (bug#35152)

	* lisp/newcomment.el (comment-empty-lines): Consistently use US
	commas in docstring.  Fix indentation of and typo in custom :type.

	(cherry picked from commit 690c678fb6c1fb5b2f828f9bb90782bd0b01c399)

2019-04-11  Alex Branham  <alex.branham@gmail.com>

	Backport: Update documentation for indent-relative functions

	* lisp/indent.el (indent-relative): Document what happens when there
	  is no previous nonblank line.
	* doc/lispref/text.texi (Relative Indent): Document
	  indent-relative-first-indent-point instead of obsolete
	  indent-relative-maybe. Fix documentation of which argument from
	  'indent-relative' is used.

	Bug#34858

	(cherry picked from commit 10cd65878c741d2a22a1f2c36c54fcad4e516f72)

2019-04-11  Noam Postavsky  <npostavs@gmail.com>

	Update nxml-mode.texi: completion now gives xmlns="-!-"

	* doc/misc/nxml-mode.texi (Completion): As of 2016-01-16 "* lisp/nxml:
	Use standard completion; it also works for company-mode", completing
	an attribute when there is only one candidate inserts both quotes.
	Update the example accordingly.

2019-04-10  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Note that choose-completion-string-functions funcs take four args

	* lisp/simple.el (choose-completion-string-functions): Functions in
	  this list actually need to accept four arguments, though the fourth
	  should be ignored.

2019-04-10  Gemini Lasswell  <gazally@runbox.com>

	Address name conflicts in EIEIO documentation (bug#31660)

	* doc/misc/eieio.texi (Quick Start): Rename the class used in the
	example from 'record' to 'person'.
	(Building Classes): Advise user to check for name conflicts before
	naming a class.  Add a missing apostrophe.
	(Making New Objects): Correct grammar.  Rename the class used in the
	example from 'record' to 'my-class'.

2019-04-09  Mattias Engdegård  <mattiase@acm.org>

	Clarify the TESTFN argument to `alist-get'

	* lisp/subr.el (alist-get):
	Rephrase the initial text to clarify the meaning of the TESTFN argument.
	It's an equality predicate, not a look-up function (Bug#35206).

	(cherry picked from commit c81465580fe262f28ce47502c00f4afcbe3b8f8d)

2019-04-08  Eli Zaretskii  <eliz@gnu.org>

	* src/editfns.c (Fnarrow_to_region): Doc fix.  (Bug#35163)

2019-04-06  Eli Zaretskii  <eliz@gnu.org>

	Fix doc strings of 'vc-version-diff' and 'vc-version-ediff'

	* lisp/vc/vc.el (vc-version-diff, vc-version-ediff): Describe
	arguments in the doc strings.  (Bug#35019)

2019-04-06  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of set-window-start

	* doc/lispref/windows.texi (Window Start and End):
	* src/window.c (Fset_window_start): Document that reliable
	setting of a window start position requires to adjust point to
	be visible.  (Bug#34038)

2019-04-06  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of window parameters

	* doc/lispref/windows.texi (Cyclic Window Ordering): Describe
	the effect of the 'other-window' window parameter.
	(Window Parameters): Improve the descriptions of window
	parameters.  Move the detailed description of the
	'quit-restore' window parameter from here...
	(Quitting Windows): ...to here.  (Bug#35063)

2019-04-06  Eli Zaretskii  <eliz@gnu.org>

	Improve commentary in frame.el

	* lisp/frame.el: Improve commentary for display-* functions.
	(Bug#35058)

2019-04-06  Mauro Aranda  <maurooaranda@gmail.com>

	Fix typo in a doc string

	* lisp/autorevert.el (global-auto-revert-mode): Fix a typo.
	(Bug#35165)

2019-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	Say which regexp ranges should be avoided

	* doc/lispref/searching.texi (Regexp Special): Say that
	regular expressions like "[a-m-z]" and "[[:alpha:]-~]" should
	be avoided, for the same reason that regular expressions like
	"+" and "*" should be avoided: POSIX says their behavior is
	undefined, and they are confusing anyway.  Also, explain
	better what happens when the bound of a range is a raw 8-bit
	byte; the old explanation appears to have been obsolete
	anyway.  Finally, say that ranges like "[\u00FF-\xFF]" that
	mix non-ASCII characters and raw 8-bit bytes should be
	avoided, since it’s not clear what they should mean.

2019-03-20  Nicolas Petton  <nicolas@petton.fr>

	* etc/AUTHORS: Update.

	* ; ChangeLog.3 update

2019-03-20  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing of the user manual

	* doc/emacs/search.texi (Word Search): Improve indexing of
	"M-s M-w".

2019-03-19  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix url-copy-file arglist

	* lisp/url/url-handlers.el: Silence byte-compiler.
	(url-copy-file): Add 6th argument following change to copy-file in
	2012-12-16T19:22:27+01:00!romain@orebokech.com. (bug#4410)

2019-03-19  Eli Zaretskii  <eliz@gnu.org>

	Fix downloading updates for packages with non-ASCII descriptions

	* lisp/emacs-lisp/package.el (package--download-one-archive):
	Make sure archive contents are written using UTF-8 encoding.
	(Bug#34909)
	(list-packages): Set buffer's encoding to UTF-8.

2019-03-18  Nicolas Petton  <nicolas@petton.fr>

	* etc/NEWS: Remove temporary markers.

2019-03-15  Alan Mackenzie  <acm@muc.de>

	* doc/misc/cc-mode.texi (Config Basics): in @itemize, @asis -> @w{}

2019-03-15  Eli Zaretskii  <eliz@gnu.org>

	Don't clobber 'comint-input-autoexpand' in 'read-shell-command'

	* lisp/shell.el (shell-completion-vars): Set only the
	buffer-local value of 'comint-input-autoexpand'.  (Bug#34815)

2019-03-13  Martin Rudalics  <rudalics@gmx.at>

	Document restrictions when setting window margins, fringes or scroll bars

	* src/window.c (Fset_window_margins, Fset_window_fringes)
	(Fset_window_scroll_bars): In doc-strings tell that a window
	must be large enough to accommodate fringes, scroll bars and
	margins of the desired size.
	* doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
	(Display Margins): Tell that windows must be large enough to
	accommodate fringes, scroll bars and margins of the desired
	size.

2019-03-10  Eli Zaretskii  <eliz@gnu.org>

	More improvements for 'read-buffer's doc string

	* src/minibuf.c (Fread_buffer): Further improve the doc
	string.  (Bug#347694)

2019-03-10  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-defs.el: Update c-version to 5.33.2 for Emacs 26.2

2019-03-09  Eli Zaretskii  <eliz@gnu.org>

	* src/minibuf.c (Fread_buffer): Minor doc fixes.  (Bug#34749)

2019-03-09  Eli Zaretskii  <eliz@gnu.org>

	Fix markup of fake keys in the ELisp manual

	* doc/lispref/keymaps.texi (Menu Bar, Tool Bar): Fix markup of
	fake keys.  (Bug#34785)

2019-03-09  Eli Zaretskii  <eliz@gnu.org>

	Avoid errors in Auto Revert mode

	* lisp/autorevert.el (auto-revert-buffers): Cancel
	auto-revert-timer only if it is non-nil.  This avoids errors
	on first invocation of Auto-Revert mode.

2019-03-09  Michael Albinus  <michael.albinus@gmx.de>

	Mention empty strings in file name expansion, emacs lisp reference

	* doc/lispref/files.texi (Files, File Name Expansion):
	Mention also empty strings.

2019-03-08  Alan Mackenzie  <acm@muc.de>

	cc-mode.texi: Work around makeinfo alignment bug.  Fix problem with ss index

	* doc/misc/cc-mode.texi (top level): Using txicommandconditionals to
	differentiate between the C and perl versions of Texinfo, create an "ss
	index" unless we are both using the C Texinfo and are building the .dvi output
	format.
	(Config Basics): Work around a perl Texinfo alignment bug by writing a
	separate version of an item list structure for this version, simplifying it
	considerably.

2019-03-08  Martin Rudalics  <rudalics@gmx.at>

	Warn against recursive invocations of 'buffer-list-update-hook' (Bug#34765)

	* src/buffer.c (Vbuffer_list_update_hook):
	* doc/lispref/buffers.texi (Buffer List): Warn against
	recursive invocations of 'buffer-list-update-hook' (Bug#34765).

2019-03-08  Martin Rudalics  <rudalics@gmx.at>

	Provide more details in doc-string of 'delete-windows-on' (Bug#34749)

	* lisp/window.el (delete-windows-on): Provide more details in
	doc-string (Bug#34749).

2019-03-08  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'delete-windows-on'

	* doc/emacs/windows.texi (Change Window): Document
	'delete-windows-on'.

	* lisp/window.el (delete-windows-on): Doc fix.  (Bug#34749)

2019-03-08  Eli Zaretskii  <eliz@gnu.org>

	* lisp/frame.el (make-frame-command): Doc fix.  (Bug#34715)

2019-03-07  Eli Zaretskii  <eliz@gnu.org>

	Avoid undefined behavior in gdb-mi.el

	* lisp/progmodes/gdb-mi.el (gdb-send): Don't call match-string
	if this is not a control command.  (Bug#34769)

2019-03-06  Martin Rudalics  <rudalics@gmx.at>

	* lisp/window.el (fit-frame-to-buffer): Make doc-string more accurate.

2019-03-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Minor spelling and grammar fixes (bug#34756)

	doc/misc/cc-mode.texi (Style Variables, Customizing Indentation):
	doc/misc/ede.texi (Extending EDE, ede-project-placeholder)
	(ede-target, ede-proj-target, ede-compilation-program, ede-compiler)
	(ede-linker): Remove apostrophe from possessive "it's".
	doc/lispintro/emacs-lisp-intro.texi (Find a File):
	doc/misc/gnus-faq.texi (FAQ 2-2): Write "an other" as a single word.
	doc/misc/gnus.texi (Article Buttons):
	lisp/gnus/gnus-art.el (gnus-button-mid-or-mail-heuristic-alist)
	(gnus-button-mid-or-mail-heuristic): Write singular number of
	Message-IDs, rather than plural.
	lisp/gnus/message.el (message-user-fqdn): Capitalize initialism.

2019-03-04  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement of documentation of '(when CONDITION . SPEC)'

	* doc/lispref/display.texi (Other Display Specs): Add a caveat
	to using the '(when CONDITION . SPEC)' display specs.

2019-03-02  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'auto-coding-functions'

	* doc/lispref/nonascii.texi (Default Coding Systems): Clarify
	that the functions in 'auto-coding-functions' are called both
	for decoding and for encoding.

	* lisp/international/mule.el (auto-coding-functions): Doc fix.

2019-03-02  Eli Zaretskii  <eliz@gnu.org>

	Fix visiting XML files with non-Unix EOL format

	* lisp/international/mule.el (sgml-xml-auto-coding-function)
	(sgml-html-meta-auto-coding-function): Don't use
	'buffer-file-coding-system' if the buffer is unibyte.
	(Bug#34704)

2019-03-02  Basil L. Contovounesios  <contovob@tcd.ie>

	Update example major mode code in Elisp manual

	* doc/lispref/modes.texi (Example Major Modes): Update code examples
	to reflect current state of lisp/textmodes/text-mode.el and
	lisp/emacs-lisp/lisp-mode.el. (bug#34671)

2019-03-01  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in the Calc manual

	* doc/misc/calc.texi (Algebraic Tutorial): Fix parentheses in
	@example.  (Bug#34689)

2019-03-01  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement in cross-references of the ELisp manual

	* doc/lispref/modes.texi (Minor Mode Conventions): Add
	cross-references to related major-mode descriptions.  (Bug#34678)

2019-03-01  Tobias Bading  <tbading@web.de>  (tiny change)

	Fix last change on 'compilation-parse-errors'

	* lisp/progmodes/compile.el (compilation-parse-errors): Fix
	previous change in this function.  (Bug#34479)

2019-02-25  Dmitry Gutov  <dgutov@yandex.ru>

	Backport: js--re-search-backward-inner: Fix infloop

	Fix JS indentation infloop reported in
	https://github.com/mooz/js2-mode/issues/513.

	* lisp/progmodes/js.el (js--re-search-backward-inner): Account for
	multiline string literals.
	* test/manual/indent/js.js: New test example.

	(cherry picked from commit b01a4295c2f9bb58858880e4e28b05cc8396791c)

2019-02-23  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement for docs of completion

	* doc/lispref/minibuf.texi (Completion Commands)
	(Completion in Buffers, Programmed Completion): Add to text
	that references completion tables a cross-reference to where
	"completion table" is described.
	(Programmed Completion): Fix the description of
	'completion-table-dynamic'.  Add more cross-references.

2019-02-22  Ken Brown  <kbrown@cornell.edu>

	Disable the timerfd interface on Cygwin

	* configure.ac (emacs_cv_have_timerfd): Set to "no" on Cygwin.

2019-02-22  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in the doc string of 'regex-opt'

	* lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix example in
	the doc string.  (Bug#34596)

2019-02-21  Michael Albinus  <michael.albinus@gmx.de>

	Document bash 5.0.0 misbehavior in tramp.texi (Bug#34192)

	* doc/misc/tramp.texi (Frequently Asked Questions): Warn about
	bash 5.0.0 and HISTSIZE=0.  (Bug#34192)

2019-02-20  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 26.1.92

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version to 26.1.92.

2019-02-20  Nicolas Petton  <nicolas@petton.fr>

	* ; ChangeLog.3 update

	* etc/AUTHORS: Update.

2019-02-20  Glenn Morris  <rgm@gnu.org>

	Remove .art from the default list of ImageMagick extensions

	It seems that .art files can be non-image files that
	ImageMagick mistakenly treats as extremely large images.
	Real .art images seem rare.
	* lisp/image.el (imagemagick-enabled-types): Remove ART.  (Bug#22289)

2019-02-19  Eli Zaretskii  <eliz@gnu.org>

	Fix input after setting x-wait-for-event-timeout nil

	* src/w32term.c (x_make_frame_visible): Call unblock_input
	before returning early.  (Bug#34575)

2019-02-19  Martin Rudalics  <rudalics@gmx.at>

	Fix two warnings in eshell.texi

	* doc/misc/eshell.texi (Built-ins, Globbing): Fix `.' or `,'
	must follow @xref, not `f' warnings.

2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el (completion-table-dynamic): Improve docstring

2019-02-18  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)

	* lisp/emacs-lisp/debug.el (debug-on-variable-change): Doc fix.  (Bug#34518)

2019-02-17  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in ELisp manual

	* doc/lispref/abbrevs.texi (Abbrev Table Properties): Fix a
	typo.  (Bug#34508)

2019-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	Update citations of Internet RFCs

	For example, RFC 822 has been obsoleted by RFC 2822, which in
	turn has been obsoleted by RFC 5322.
	* doc/emacs/ack.texi, doc/lispref/os.texi:
	* doc/misc/emacs-mime.texi, doc/misc/gnus-coding.texi:
	* doc/misc/gnus.texi, doc/misc/sc.texi:
	* lisp/calendar/parse-time.el, lisp/gnus/gnus-cite.el:
	* lisp/gnus/gnus-util.el, lisp/gnus/message.el:
	* lisp/gnus/mm-bodies.el, lisp/gnus/nnrss.el:
	* lisp/mail/feedmail.el, lisp/mail/ietf-drums.el:
	* lisp/mail/mail-extr.el, lisp/mail/mail-utils.el:
	* lisp/mail/mailclient.el, lisp/mail/mailheader.el:
	* lisp/mail/rfc2047.el, lisp/mail/rfc822.el, lisp/mail/rmail.el:
	* lisp/mail/sendmail.el, lisp/mail/smtpmail.el:
	* lisp/mail/supercite.el, lisp/mh-e/mh-e.el:
	* lisp/mh-e/mh-utils.el, lisp/net/imap.el:
	* lisp/net/newst-backend.el, lisp/org/org-id.el:
	* lisp/ps-samp.el, lisp/simple.el, lisp/url/url-util.el:
	Update RFC citations.

2019-02-16  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of manpage references divided by hyphenation

	* lisp/man.el (Man-reference-regexp): Accept a newline as part
	of a manpage name only if it's preceded by a hyphen.  (Bug#34286)
	(Man-translate-references): Adapt to change in
	'Man-reference-regexp'.
	(Man-default-man-entry): Support references divided between
	two lines by an ASCII hyphen.  This is a left-over from fixing
	bug#6289.

2019-02-16  Gregor Zattler  <telegraph@gmx.net>  (tiny change)

	* doc/misc/eshell.texi: Fix some @ref's.

2019-02-16  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in lispref/syntax.texi

	* doc/lispref/syntax.texi (Syntax Table Internals): Fix a
	typo.  (Bug#34495)

2019-02-15  Victor J. Orlikowski  <vjo@duke.edu>  (tiny change)

	Avoid errors in erc-dcc.el when erc-dcc-verbose is non-nil

	* lisp/erc/erc-dcc.el (erc-dcc-get-filter): Don't assume STR
	is always a string.  Use 'buffer-name' to get the DCC file
	name, as buffer-file-name is not set in the process buffer.

2019-02-15  Daniel Lopez  <daniel.lopez999@gmail.com>  (tiny change)

	Fix faces in compilation messages

	* lisp/progmodes/compile.el (compilation-parse-errors): Don't
	clobber the value of TYPE inside the loop.  (Bug#34479)

2019-02-15  Gregor Zattler  <telegraph@gmx.net>

	* doc/misc/eshell.texi (Built-ins): Fix alias description

	Dear emacs developers, eshell's current documentation first states
	that alias definitions are not saved to an alias file, later that
	they are saved to an alias file.  I tested it and the latter is
	correct.

	Please find attached a patch which fixes this.

	Thanks for working on emacs which is really great, Gregor

	>From 1fe51cc769ab7a30d0896fb3d6105c0561243fa7 Mon Sep 17 00:00:00 2001
	From: Gregor Zattler <telegraph@gmx.net>
	Date: Wed, 13 Feb 2019 20:19:38 +0100
	Subject: * doc/misc/eshell.texi (Built-ins): Fix alias description.

	Bring description of built-in 'alias' in line with (info "(eshell) Aliases"),
	which describes the actual behaviur.

	(cherry picked from commit a48099ce7ff63cda416a870766fe61f5b8ac7c2c)

2019-02-14  Katsumi Yamaoka  <yamaoka@jpl.org>

	Work for empty MIME attachments (related to bug#34387)

	* lisp/gnus/mm-view.el (mm-inline-text):
	Make undisplayer do nothing if the part is empty.

	* lisp/gnus/mm-decode.el (mm-copy-to-buffer): Work for empty MIME part.
	* lisp/gnus/mml.el (mime-to-mml): Ditto.

2019-02-14  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>

	Backport: js-indent-align-list-continuation: Make variable safe

	* lisp/progmodes/js.el (js-indent-align-list-continuation): Indicate
	variable is safe as a file-local variable.  This fixes the
	js-indent-align-list-continuation-nil test when run with make.

	(cherry picked from commit dd319f2711f895eec87c1017b82cd9d88d9ecd0a)

2019-02-13  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes upon C-g in nested invocations of 'read_char'

	* src/keyboard.c (read_char, read_event_from_main_queue):
	Ensure the global value of getcjmp is restored when the stack
	is unwound by the likes of 'throw', by calling
	record_unwind_protect_ptr instead of restoring the value
	manually.  (Bug#34394)
	(restore_getcjmp): Argument is now 'void *', to match the
	signature of record_unwind_protect_ptr.

	(cherry picked from commit 10527fca66e39d7067986904161fa33741abcd26)

2019-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/data.c (Fmake_local_variable): Fix bug#34318

	Revert part of ed962f2b8a.

	* test/src/data-tests.el (data-tests-make-local-forwarded-var):
	Add corresponding test.

2019-02-12  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes in ELisp manual wrt syntax-table properties

	* doc/lispref/syntax.texi (Syntax Properties): Fix reference
	to syntax-table properties.  (Bug#34455)
	(Control Parsing): Remove redundant @vindex entry.

2019-02-12  Michael Albinus  <michael.albinus@gmx.de>

	* admin/notes/emba: New file.

2019-02-11  Eli Zaretskii  <eliz@gnu.org>

	Fix Hunspell invocation for discovering its dictionaries

	* lisp/textmodes/ispell.el
	(ispell-find-hunspell-dictionaries): Invoke Hunspell with the
	-a switch, to prevent it from initializing its curses UI.
	(Bug#34272)

2019-02-08  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements to do strings in callproc.c

	* src/callproc.c (Fcall_process, Fcall_process_region): Minor
	fixes to doc strings.  Suggested by Nicholas Drozd
	<nicholasdrozd@gmail.com>.  (Bug#34274)

2019-02-08  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'date-to-time' and 'parse-time-string'

	* doc/lispref/os.texi (Time Parsing): Document
	'parse-time-string', and refer to it for the description of
	the argument of 'date-to-time'.

	* lisp/calendar/time-date.el (date-to-time): Refer in the doc
	string to 'parse-time-string' for more information about the
	format of the DATE argument.  (Bug#34303)

2019-02-08  Nick Drozd  <nicholasdrozd@gmail.com>

	Fix downloading of URLs that end in a slash

	* lisp/net/eww.el (eww-download-callback): Fix download URL
	file name.  Previously this wasn't handling download URLs
	correctly, resulting in all downloaded pages being named
	"!", "!(1)", etc.  (Bug#34291)

2019-02-08  Nick Drozd  <nicholasdrozd@gmail.com>

	* doc/misc/eww.texi (Basics): Fix eww keybindings.  (Bug#34291)

2019-02-08  Robert Pluim  <rpluim@gmail.com>

	Fix process-thread docstring

	* src/process.c (Fprocess_thread): Correct docstring.

2019-02-08  Eli Zaretskii  <eliz@gnu.org>

	Fix failures of vc-find-revision with non-ASCII file names

	* lisp/vc/vc.el (vc-find-revision): Instead of binding
	coding-system-for-write, make the buffer-file-coding-system of
	the temporary buffer be no-conversion.  This avoids the
	unwanted side effect of not encoding the command-line
	arguments of the VCS commands invoked by the backend.
	(Bug#34350)

2019-02-07  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/tips.texi (Documentation Tips): Fix quotes.  (Bug#34372)

2019-02-05  Alex Branham  <alex.branham@gmail.com>

	Add documentation for tabulated-list functions in the elisp manual

	* doc/lispref/modes.texi: Add documentation for
	  'tabulated-list-delete-entry', 'tabulated-list-get-id',
	  'tabulated-list-get-entry', 'tabulated-list-header-overlay-p',
	  'tabulated-list-put-tag', and 'tabulated-list-set-col'.

	Bug#21074

2019-02-03  Jean-Christophe Helary  <brandelune@gmail.com>

	Fix URL in ucs-normalize.el

	* lisp/international/ucs-normalize.el: Fix URL of the HFS
	normalization reference.  (Bug#34300)

2019-02-03  Alan Mackenzie  <acm@muc.de>

	* etc/PROBLEMS: Amend entry for profiler bug #34235 to mention kernel 4.14.97

2019-02-02  Glenn Morris  <rgm@gnu.org>

	* make-dist: Remove references to src/stamp-h.in.

	This file was removed two years ago in 2f89350.
	No need to merge to master.

2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/PROBLEMS: Mention profiler-report bug (Bug#34235).

2019-02-01  Eli Zaretskii  <eliz@gnu.org>

	Correct the docs of inserting kmacro counter

	* doc/emacs/kmacro.texi (Keyboard Macro Counter): Correct the
	description of the affect "C-u" has on inserting the macro
	counter.  Define "previous counter value".

	* lisp/kmacro.el (kmacro-insert-counter)
	(kmacro-start-macro-or-insert-counter): Fix the doc strings
	regarding the effect of "C-u".  (Bug#34263)

2019-02-01  Nicholas Drozd  <nicholasdrozd@gmail.com>

	* doc/misc/calc.texi (Algebraic Tutorial): Fix a typo.  (Bug#34273)

2019-02-01  Eli Zaretskii  <eliz@gnu.org>

	Avoid errors in 'rmail-get-new-mail'

	* lisp/mail/rmail.el (rmail-insert-inbox-text): Don't assume
	the Rmail protocol is always a string when calling
	'rmail-remote-proto-p'.  (Bug#34252)

2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>

	Fix process-contact bug with TCP connections

	This fixes a regression from Emacs 25.3 (Bug#34134).
	* src/process.c (server_accept_connection):
	Set host correctly, fixing a bug introduced in
	2017-09-16T21:29:18Z!eggert@cs.ucla.edu
	when working around a GCC bug.

2019-01-29  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in last manual change

	* doc/emacs/custom.texi (Authentication): Improve markup,
	indexing, and wording.

2019-01-29  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of face numbers

	* doc/lispref/display.texi (Face Functions): Mention where the
	face number is used and that it depends on the 'face' property
	of the face symbol.  Improve indexing.

2019-01-27  Michael Albinus  <michael.albinus@gmx.de>

	* doc/emacs/custom.texi (Authentication): Refer to the "Help for users" node.

2019-01-26  Michael Albinus  <michael.albinus@gmx.de>

	New node Authentication in the Emacs manual

	* doc/emacs/custom.texi (Customization):
	* doc/emacs/emacs.texi (Top): Add node Authentication.

2019-01-25  Alan Mackenzie  <acm@muc.de>

	Fix a loop in c-fl-decl-start.  This fixes bug #34186.

	* lisp/progmodes/cc-mode.el (c-fl-decl-start) In the pair of operations
	c-syntactic-skip-backward and c-forward-syntactic-ws, ensure the latter
	doesn't come back to the position before the former, and break out of the
	enclosing loop if it does.

2019-01-25  Eli Zaretskii  <eliz@gnu.org>

	Fix LaTeX output of month and day from cal-tex.el

	* lisp/calendar/cal-tex.el (cal-tex-cursor-week-iso)
	(cal-tex-week-hours): Escape a lone blank, to make it through
	LaTeX.  (Bug#34148)

2019-01-25  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>  (tiny change)

	Avoid elisp crash for OpenPGP User IDs with no e-mail address

	* lisp/gnus/mml-sec.el (mml-secure-check-user-id): Verify that
	there is an e-mail address in the current User ID before trying
	to downcase it.  (Bug#34121)

2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>

	image-mode: Do not use default scaling (bug#33990)

	* lisp/image-mode.el (image-toggle-display-image): Set :scale == 1 so
	that create-image does not apply additional scaling.

2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>

	create-image: Expand documentation (bug#33990)

	* lisp/image.el (create-image): Discuss default for :scale in the doc
	string.

2019-01-21  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'isearch-filter-predicate'

	* lisp/isearch.el (isearch-filter-predicate)
	(isearch-filter-visible): Doc fixes.  (Bug#34150)

2019-01-19  Trevor Spiteri  <tspiteri@ieee.org>  (tiny change)

	Fix cursor column positioning on Grep hits

	* lisp/progmodes/grep.el (grep-match-face): Move before first
	use, to avoid byte-compilation warning.
	(grep-regexp-alist): Don't quote grep-match-face.  (Bug#34068)

2019-01-18  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in ELisp manual

	* doc/lispref/nonascii.texi (Converting Representations): Fix
	inconsistency between @defun and the argument description of
	'byte-to-string'.  (Bug#34119)

2019-01-15  Alan Third  <alan@idiocy.org>

	Prevent redrawing if frame is garbaged

	* src/nsterm.m ([EmacsView viewWillDraw]): Cancel drawing if the frame
	has been garbaged.
	* src/xdisp.c (expose_window_tree, expose_frame): Remove NS only
	exceptions.

2019-01-14  Eli Zaretskii  <eliz@gnu.org>

	Attempt to fix hangs on MS-Windows due to C-g

	* src/w32uniscribe.c (uniscribe_otf_capability): Set
	inhibit-quit around calls to otf_features, because the latter
	cons Lisp data structures while we are in a critical section.
	* src/xdisp.c (ALLOCATE_HDC) [HAVE_NTGUI]: Set inhibit-quit.
	(RELEASE_HDC) [HAVE_NTGUI]: Restore inhibit-quit.
	(OPTIONAL_HDC, DECLARE_HDC): Remove macros, their job is now
	done by ALLOCATE_HDC and by a single #ifdef.
	(draw_glyphs): Adapt to the above changes in macros.
	(Bug#34059)

2019-01-13  Eli Zaretskii  <eliz@gnu.org>

	Fix Calc graph output on MS-Windows

	The previous code relied on "pgnuplot" executable, which is
	no longer provided with Gnuplot 5.x.
	* lisp/calc/calc.el (calc-gnuplot-name): Set to "pgnuplot" on
	MS-Windows only if such an executable exists.
	* lisp/calc/calc-graph.el (calc-graph-w32-p): New defsubst.
	(calc-graph-plot, calc-graph-command, calc-gnuplot-command)
	(calc-graph-init): Call calc-graph-w32-p wherever we need to
	do something special for invoking gnuplot on MS-Windows,
	instead of comparing against calc-gnuplot-name.
	(calc-graph-plot): Set the terminal to "qt" on MS-Windows when
	pgnuplot.exe is not available.
	(calc-graph-kill): Delete the temporary files only after
	killing the gnuplot process, otherwise the deletion might fail
	on MS-Windows because the files are still in use.

2019-01-13  Eli Zaretskii  <eliz@gnu.org>

	Fix a minor mistake in ELisp manual

	* doc/lispref/buffers.texi (Modification Time): Fix
	documentation of 'visited-file-modtime'.  (Bug#34055)

2019-01-12  Stephen Berman  <stephen.berman@gmx.net>

	* etc/tutorials/TUTORIAL: Fix typo (bug#34049)

2019-01-12  Devon Sean McCullough  <Emacs-Hacker2018@jovi.net>

	Fix UI of Buffer-menu

	* lisp/buff-menu.el (Buffer-menu-execute): Don't remove
	entries of buffers whose killing the user didn't confirm.
	(Bug#33669)

2019-01-12  Philip K  <philip@warpmail.net>  (tiny change)

	Reinitialize ispell-really-enchant when changing the speller

	* lisp/textmodes/ispell.el (ispell-check-version): Reset also
	ispell-really-enchant.  (Bug#34019)

2019-01-07  Leo Liu  <sdl.web@gmail.com>

	Speed up loading css-mode

	lisp/textmodes/css-mode.el: Remove (require 'eww) which is redundant
	and slow.  (Bug#33939)

2019-01-07  Michael Albinus  <michael.albinus@gmx.de>

	Adapt filenotify-tests for emba

	* .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.

	* test/lisp/filenotify-tests.el (file-notify-test03-events)
	(file-notify-test05-file-validity)
	(file-notify-test06-dir-validity)
	(file-notify-test07-many-events)
	(file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.

2019-01-07  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 26.1.91

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version to 26.1.91.

2019-01-07  Nicolas Petton  <nicolas@petton.fr>

	* etc/AUTHORS: Update.

2019-01-07  Leo Liu  <sdl.web@gmail.com>

	* lisp/textmodes/mhtml-mode.el: Avoid loading flyspell.  (Bug#33939)

2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	Improve GC+Cairo workaround

	Suggested by Eli Zaretskii (Bug#20890#31).
	* src/font.h (font_data_structures_may_be_ill_formed): New function.
	* src/ftfont.c (ftfont_close):
	* src/ftcrfont.c (ftcrfont_close): Use it.

	(cherry picked from commit d02fd482fbeaf6ed551e78223b538495cb0c3541)

2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	Work around GC+Cairo bug

	Workaround suggested by Robert Pluim (Bug#20890#13).
	* src/ftfont.c (ftfont_close) [USE_CAIRO]:
	Do nothing if GC is in progress.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Improve commentary in font.h

	* src/font.h (struct font, struct font_driver): Fix typos and
	wording in comments.  Document all driver methods.

2019-01-07  Martin Rudalics  <rudalics@gmx.at>

	Fix definition of Qwindow_point_insertion_type (Bug#33871)

	* src/window.c (Qwindow_point_insertion_type): Fix definition
	(Bug#33871).

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'server-name'

	* doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
	(emacsclient Options):
	* lisp/server.el (server-name):  Document the usage of
	'server-name' to specify the server file as an absolute file
	name.  Do not merge to master.  (Bug#33934)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Update Unicode copyright notice

	* admin/unidata/copyright.html: Updated version from the
	Unicode Consortium's site.

2019-01-07  Michael Albinus  <michael.albinus@gmx.de>

	Handle quoted file names in filenotify.el

	* lisp/filenotify.el (file-notify-add-watch): Do not save
	quoted file names in `file-notify-descriptors'.

	* test/lisp/files-tests.el
	(files-file-name-non-special-notify-handlers): Do not expect
	to fail.

2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix copyright years by hand

	These are dates that admin/update-copyright did not update, or
	updated incorrectly.

2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	Update copyright year to 2019

	Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	* doc/man/emacs.1.in: Fix value of default frame height.  (Bug#33921)

2019-01-07  Martin Rudalics  <rudalics@gmx.at>

	In user manual fix value of default frame height (Bug#33921)

	* doc/emacs/cmdargs.texi (Window Size X): Fix value of default
	frame height (Bug#33921).

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'file-local-name' and related APIs

	* doc/lispref/files.texi (Unique File Names)
	(Magic File Names, File Name Expansion): Improve documentation
	of the "local part" of a remote file name.
	* doc/lispref/processes.texi (Synchronous Processes)
	(Asynchronous Processes): State explicitly that program and
	file names passed to functions that start remote processes
	need to be relative or obtained by 'file-local-name'.

	* lisp/files.el (file-local-name):
	* lisp/simple.el (start-file-process, process-file): Improve
	the documentation of the "local part" of a remote file name,
	and its use in APIs that start remote processes.

2019-01-07  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#31704.  Do not merge

	* lisp/net/tramp.el (tramp-eshell-directory-change):
	Use `path-separator' as it does eshell.  (Bug#31704)

2019-01-07  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#31704.  Do not merge

	* lisp/eshell/esh-proc.el (eshell-gather-process-output): Do not
	let `expand-file-name' prefix remote file names with MS Windows
	volume letter.

	* lisp/net/tramp.el (tramp-eshell-directory-change):
	Use `path-separator' as it does eshell.  (Bug#31704)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	* lisp/files.el (cd): Fix last change.  (Bug#33791)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Fix remote directories in Eshell on MS-Windows

	* lisp/files.el (cd): Support remote directory names on
	MS-Windows.  (Bug#33791)

2019-01-07  Drew Adams  <drew.adams@oracle.com>

	Fix :type 'group' in defcustom

	* lisp/wid-edit.el (group): Fix the :format spec.  (Bug#33566)

2019-01-07  Alan Third  <alan@idiocy.org>

	Fix NS fringe bitmap drawing bug (bug#33864)

	* src/nsterm.m (ns_draw_fringe_bitmap): Check the rectangle to clear
	correctly.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Fix commentary in dispnew.c

	* src/dispnew.c (buffer_posn_from_coords): Fix inaccuracies in
	the commentary.

2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	Improve accept-process-process doc

	* doc/lispref/processes.texi (Accepting Output):
	* src/process.c (Faccept_process_output):
	Document that (accept-process-output P) can return non-nil
	even after P has exited, and that it can return nil even if P
	is still running (Bug#33839).

2019-01-07  Stephen Leake  <stephen_leake@stephe-leake.org>

	Fix a simple bug in display-buffer-use-some-frame

	* lisp/window.el (display-buffer-use-some-frame): Simplify the
	predicate, fix TYPE arg to window--display-buffer.

2019-01-07  Michael Albinus  <michael.albinus@gmx.de>

	Clarify thread switching while waiting for process output

	* doc/lispref/threads.texi (Threads): Clarify, that thread
	switching happens when waiting for process output from
	asynchronous processes.

2019-01-07  Charles A. Roelli  <charles@aurox.ch>

	Improve process doc. with respect to handling of large input (Bug#33191)

	* src/process.c (Fprocess_send_region, Fprocess_send_string):
	Document that process input longer than the process input
	buffer may be split into bunches.  Remove an outdated
	reference to a 500 character split boundary.
	* doc/lispref/processes.texi (Asynchronous Processes): Remove
	mention of "stray character injections" in PTY processes.  See
	also the comment about ICANON in src/sysdep.c, function
	child_setup_tty.

2019-01-07  Terrence Brannon  <metaperl@gmail.com>

	Minor copyedits in landmark.el

	* lisp/obsolete/landmark.el: Fix author's email and commentary.

2019-01-07  Alan Mackenzie  <acm@muc.de>

	Check result from c-backward-token-2 to avoid infinite loop

	This fixes bug #33784.

	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): While moving back
	over enclosing parentheses, check that c-backward-token-2 actually moves.

2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	cl-make-random-state was not copying its arg

	Problem reported by Xu Chunyang (Bug#33731).
	* lisp/emacs-lisp/cl-extra.el (cl-make-random-state):
	Use copy-sequence, not copy-tree, so that the record is copied.
	* test/lisp/emacs-lisp/cl-extra-tests.el:
	(cl-extra-test-cl-make-random-state): New test.

2019-01-07  Glenn Morris  <rgm@gnu.org>

	Skip a vc-bzr test if run as root

	* test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-faulty-bzr-autoloads):
	Skip this test when run as root.  This works around a race
	condition in root-specific code in vc-mode-line when deleting a file.

2019-01-07  Chris Feng  <chris.w.feng@gmail.com>

	Backport: Handle unread-command-events consistently (bug#23980)

	* src/keyboard.c (read_char): Events put into `unread-command-events'
	with the form (t . EVENT) should always have the t stripped when read
	out.
	* test/src/keyboard-tests.el: New tests for `unread-command-events'.

	(cherry picked from commit 1f3f4b1296613b8cdc0632a68fde86e86ddad866)

2019-01-07  Glenn Morris  <rgm@gnu.org>

	Restrict downcasing in elisp xref tests (bug#25534)

	The tests happen to not fail at the moment because find-library-name
	now has an extra feature, find-library--from-load-history, which
	happens to do a case-insensitive regexp match; but still it seems
	better not to rely on this.

	* test/lisp/progmodes/elisp-mode-tests.el (xref--case-insensitive):
	New variable.
	(xref-elisp-test-run, emacs-test-dir): Only downcase if the
	filesystem seems to be case-insensitive.

2019-01-07  Rob Browning  <rlb@defaultvalue.org>

	Avoid test failures if directory name looks like a regexp

	Taken from <https://sources.debian.org/patches/emacs/1:26.1+1-1>
	* test/lisp/ibuffer-tests.el (ibuffer-filter-inclusion-3):
	* test/lisp/net/tramp-tests.el (tramp-test42-remote-load-path):
	Regexp-quote file names to avoid failures with directory names
	of the form "build/emacs-i87jK3/emacs-26.1+1/...".

2019-01-07  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33524

	* lisp/progmodes/flymake-proc.el
	(flymake-proc-create-temp-with-folder-structure):
	Unquote file-name.  (Bug#33524)

2019-01-07  Glenn Morris  <rgm@gnu.org>

	* doc/lispintro/emacs-lisp-intro.texi (Finding More): Fix xref.

2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	More porting to GCC 8 of --enable-gcc-warnings

	Backport from master.
	I ran into this when building Emacs 26 with GCC 8 on Fedora 29 x86.
	* lwlib/lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
	* lwlib/lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
	* lwlib/lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
	No longer const.
	* src/emacs-module.c: Ignore -Wcast-function-type.

2019-01-07  Glenn Morris  <rgm@gnu.org>

	Fix an epg test for recent GnuPG versions (bug#33439)

	* test/lisp/epg-tests.el (epg-decrypt-1):
	Tell recent GnuPG (e.g. 2.2.11) not to worry about missing MDC.

2019-01-07  Robert Pluim  <rpluim@gmail.com>

	Document font structure layout constraints

	This has to be the same as in src/ftcrfont.c and src/ftfont.c

	* src/xftfont.c (struct xftfont_info): Document layout constraints.

2019-01-07  Robert Pluim  <rpluim@gmail.com>

	Document font structure layout constraints

	The layout of the initial members of ftcrfont_info must match
	ftfont_info

	* src/ftcrfont.c (struct ftcrfont_info): Likewise.

	* src/ftfont.c (struct ftfont_info): Document layout constraints.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Fix display of line numbers in empty lines beyond EOB

	* src/xdisp.c (maybe_produce_line_number): When the current
	line is at EOB, use the 'line-number-current-line' face only
	on that single line, but not on the rest of empty lines beyond
	EOB.  (Bug#33732)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Fix redisplay when a window's scroll bar or fringes are changed

	* src/window.c (set_window_fringes, set_window_scroll_bars):
	Set windows_or_buffers_changed flag to cause immediate
	thorough redisplay of a window when scroll bars or fringes are
	changed.  (Bug#33694)

2019-01-07  Martin Rudalics  <rudalics@gmx.at>

	Tiny markup fix in Elisp manual

	* doc/lispref/lists.texi (Building Lists): Use '@var' instead
	of '@code' for argument.

2019-01-07  Alan Mackenzie  <acm@muc.de>

	CC Mode: stop extra parens on expression causing false fontification as type

	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): recognize
	arithmetic operator followed by several open parentheses, not just one, as not
	being an argument list.

2019-01-07  Ari Roponen  <ari.roponen@gmail.com>

	Fix cairo scrolling for side-by-side windows

	Backport: Fixes Bug#33442.

	* src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling for
	side-by-side split windows.  (Bug#31288)

	(cherry picked from commit 6e362a32bc9d21f73a0f29ca6f45481edeea6f29)

2019-01-07  Alan Mackenzie  <acm@muc.de>

	CC Mode: stop wrongly recognizing "func(a * 9)" as "pointer to type a"

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): When testing for an
	identifier after "a *", on failure additionally check for a digit, setting a
	new flag variable got-number if one is found.  In the test for CASE 18, check
	this flag.

2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cursor-sensor.el: Add motivation

2019-01-07  Raimon Grau  <raimonster@gmail.com>

	Guard occur against an undefined orig-line

	* lisp/replace.el (occur-engine): Avoid inserting the current line if
	orig-line is nil.  This happens, for example, when reverting an occur
	buffer with `list-matching-lines-jump-to-current-line' set to t.
	(Bug#33476)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Indexing followup to recent changes

	* doc/lispref/text.texi (Special Properties): Index
	'cursor-sensor-inhibit'.  (Bug#33664)

2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	Improve documentation of cursor-sensor.el (bug#33664)

	* doc/lispref/text.texi (Special Properties): Mention cursor-sensor-inhibit.
	* lisp/emacs-lisp/cursor-sensor.el (Commentary): Add cursor-sensor-mode.
	(cursor-sensor-inhibit): Add docstring.

2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/commands.texi (Adjusting Point): Bug#33662

	Tweak text to clarify intangibility.

2019-01-07  Michael Albinus  <michael.albinus@gmx.de>

	Tramp multi-hop methods must be inline

	* doc/misc/tramp.texi (Ad-hoc multi-hops): Involved methods must
	be inline methods.

2019-01-07  Ari Roponen  <ari.roponen@gmail.com>

	Fix scaling problem in Cairo builds

	* src/xterm.c (x_begin_cr_clip) [USE_GTK]:
	(x_update_begin) [USE_CAIRO && USE_GTK]: Support scaling.
	(Bug#33442)

2019-01-07  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (next-line-or-history-element): Use current-column

	in all position calculations.
	(previous-line-or-history-element): Idem.  (Bug#33640)

2019-01-07  Martin Rudalics  <rudalics@gmx.at>

	A few further fixes of window internals description

	* doc/lispref/internals.texi (Window Internals): Add a few
	more items and clarify description of some others.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Revert "Revert "Fix infloop in GC mark_kboards""

	This reverts commit c418c85617babbe7b63730fefb71e2c87a0141af.
	This reinstates the original fix, as it had nothing to do
	with the behavior reported in bug#33571, which seems to be
	the expected behavior.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Revert "Fix infloop in GC mark_kboards"

	This reverts commit af914fc26db273d8788e7efa57c569f0f778d037,
	since it caused unintended adverse effects on echoing of keys.
	(Bug#33571)

2019-01-07  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: active voice.

2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix infloop in GC mark_kboards

	Do not merge to master, as I have a more systematic fix there.
	* src/keyboard.c (mark_kboards): Fix infloop (Bug#33547).

2019-01-07  Alan Third  <alan@idiocy.org>

	Fix macOS run-time feature check

	* src/nsterm.m (x_set_parent_frame) [NS_IMPL_COCOA]: Fix run-time
	feature check.

2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/NEWS-*: Fix capitalization of "Emacs"

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Fix "M-x man" when there's no 'man' program on PATH

	* lisp/man.el (Man-bgproc-sentinel): Make sure the process
	buffer is not read-only when inserting a message into it.
	(Bug#33510)

2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix core dump in dbus-message-internal

	Backport from master.
	* src/dbusbind.c (Fdbus_message_internal):
	Don’t go past array end (Bug#33530).

2019-01-07  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/dbus.texi (Type Conversion): Fix typo.  (Bug#33551)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of gdb-mi.el

	* lisp/progmodes/gdb-mi.el (gdb-show-changed-values)
	(gdb-max-children): Doc fixes.

	* doc/emacs/building.texi (Source Buffers, Stack Buffer)
	(GDB User Interface Layout): Mention some additional
	customizable variables.  (Bug#33548)

2019-01-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	LDAP: Set process-connection-type to t on Darwin

	* lisp/net/ldap.el (ldap-search-internal): Set
	process-connection-type to t on Darwin.  Do not merge to
	master.  (Bug#33050)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in a doc string

	* lisp/emacs-lisp/map-ynp.el (read-answer-short): Fix typo.
	(Bug#33528)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Minor markup fix in frames.texi

	* doc/lispref/frames.texi (Frame Layout): Fix markup of @table
	entries.  (Bug#33531)

2019-01-07  Glenn Morris  <rgm@gnu.org>

	* lisp/net/trampver.el (customize-package-emacs-version-alist):
	Add 2.3.3.

	* lisp/mh-e/mh-e.el (customize-package-emacs-version-alist): Additions.

2019-01-07  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Pass format to message.

2019-01-07  Robert Pluim  <rpluim@gmail.com>

	Don't call xwidget functions until GTK has been initialized

	Follow up fix to Bug#33294.

	* src/gtkutil.c: Define xg_gtk_initialized.
	(xg_initialize): Set it when GTK has finished initializing.

	* src/gtkutil.h: Declare xg_gtk_initialized.

	* src/xwidget.c (Fmake_xwidget): Error out if GTK has not been
	initialized.
	(xwidget_init_view): Likewise.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Ediff wordwise commands

	* lisp/vc/ediff.el (ediff-windows-wordwise)
	(ediff-windows-linewise, ediff-regions-wordwise): Update and
	clarify the doc strings.

	* doc/misc/ediff.texi (Major Entry Points): Update and clarify
	the documentation of 'ediff-windows-wordwise' and
	'ediff-regions-wordwise'.  See the discussion starting at
	https://lists.gnu.org/r/help-gnu-emacs/2018-11/msg00197.html
	for the details.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Support Hunspell 1.7.0 in ispell.el

	* lisp/textmodes/ispell.el
	(ispell-find-hunspell-dictionaries): Invoke Hunspell with an
	additional command-line argument, to work around a misfeature
	in Hunspell 1.7.0 that prevents it from reporting the loaded
	dictionary.  (Bug#33493)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Avoid clearing echo-area message by auto-save-visited-file-name

	* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Record the
	previous echo-area message, if any, and restore it before
	exiting.  (Bug#33490)

2019-01-07  Alan Third  <alan@idiocy.org>

	Set tooltip text color (bug#33452)


	* src/nsmenu.m: ([EmacsTooltip init]): Set text color to black.

2019-01-07  Alan Third  <alan@idiocy.org>

	Fix more drawing bugs in NS port (bug#32932)

	* src/nsterm.m (ns_row_rect): New function.
	(ns_clip_to_row): Remove function.
	(ns_copy_bits): Fix mistake.
	(ns_shift_glyphs_for_insert): Mark the frame as dirty instead of
	directly copying.
	(ns_draw_fringe_bitmap): Stop using ns_clip_to_row.
	(ns_draw_window_cursor): Stop using ns_clip_to_row and perform a
	display when not in redisplay.
	(ns_update_window_begin): Remove redundant code that never executes.
	([EmacsView drawRect:]): Show the rectangle being exposed in NSTRACE.
	* src/xdisp.c (expose_window_tree) [HAVE_NS]:
	(expose_frame) [HAVE_NS]: Redraw even if the frame is garbaged.

2019-01-07  Alan Mackenzie  <acm@muc.de>

	Fix bug #33416, where typing a ) in a comment at EOB caused a loop (CC Mode).

	* lisp/progmodes/cc-mode.el (c-fl-decl-start): A c-forward-syntactic-ws leaves
	point inside whitespace when moving over a comment at EOB which has no
	terminating LF.  Check this possibility and correct for it.

2019-01-07  Ulrich Müller  <ulm@gentoo.org>

	Update the calc units table

	On 2018-11-16, the 26th meeting of the General Conference on Weights
	and Measures (CGPM) has redefined the International System of Units by
	adopting fixed values for the Planck constant, the elementary charge,
	the Boltzmann constant, and the Avogadro constant:
	https://www.bipm.org/utils/en/pdf/CGPM/Draft-Resolution-A-EN.pdf

	* lisp/calc/calc-units.el (math-standard-units): Update according
	to redefinition of the SI in 2018.  (Bug#33412)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing in the ELisp manual

	* doc/lispref/control.texi (Control Structures, Sequencing)
	(Conditionals, Iteration, Catch and Throw, Handling Errors)
	(Cleanups):
	* doc/lispref/eval.texi (Self-Evaluating Forms)
	(Symbol Forms, Function Forms, Macro Forms, Special Forms)
	(Quoting, Backquote): Add index entries that begin with
	"forms".  (Bug#33440)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	More Symbola-related extensions for default fontset

	* lisp/international/fontset.el (setup-default-fontset): Add
	few more blocks of symbols and punctuation supported by	latest
	Symbola.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Better support for display of U+1F900..U+1F9FF block

	* lisp/international/fontset.el (setup-default-fontset): Add
	the [#x1F900..#x1F9FF] block to those supported by Symbola.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'edit-abbrevs-mode'

	* lisp/abbrev.el (edit-abbrevs-mode): Refer to 'edit-abbrevs'
	for more detailed usage information.  (Bug#33443)
	(edit-abbrevs): Doc fix.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'dired-do-compress'

	* lisp/dired-aux.el (dired-do-compress): Describe in the doc
	string the effect on directories and on compressed archive.
	(Bug#33450)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string and display of 'describe-character'

	* lisp/descr-text.el (describe-char): Explain how does the
	function obtain the various data about the character.  Don't
	display "preferred" before "charset": it tends to confuse
	people.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	* etc/NEWS: Clarify what 'Z' does in Dired.  (Bug#33450)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Update the docs of object internals

	* doc/lispref/internals.texi (Buffer Internals)
	(Window Internals, Process Internals): Update the descriptions
	of Lisp objects.

2019-01-07  Stephen Berman  <stephen.berman@gmx.net>

	Fix two Edebug defcustoms (bug#33428)

	* lisp/emacs-lisp/edebug.el (edebug-print-length)
	(edebug-print-level): Fix customization type to allow setting
	the documented valid value nil via the Customize interface.

2019-01-07  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33141

	* lisp/net/tramp.el (tramp-make-tramp-file-name): Avoid check for
	empty method with simplified `tramp-syntax'.  (Bug#33141)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of the window tree

	* doc/lispref/windows.texi (Windows and Frames): More accurate
	wording regarding the relation of a mini-window to its frame's
	window tree.

	* src/window.h (struct window): Improve commentary to some
	fields.

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Fix window scrolling on TTY frames when there's no mode line

	* src/window.c (window_internal_height): Remove tests for
	next, prev, and parent pointers, as they are unrelated to
	whether a window has a mode line.  (Bug#33363)

2019-01-07  Eli Zaretskii  <eliz@gnu.org>

	Fix decoding XML files encoded in ISO-8859

	* lisp/international/mule.el (sgml-xml-auto-coding-function):
	Avoid signaling an error from coding-system-equal when the XML
	encoding tag specifies an encoding whose type is 'charset'.
	(Bug#33429)

2019-01-07  Nicolas Petton  <nicolas@petton.fr>

	* etc/AUTHORS: Update.

2018-11-18  Martin Rudalics  <rudalics@gmx.at>

	Fix description of some window hooks

	* doc/lispref/windows.texi (Window Hooks): Remove text that
	warns against using 'save-window-excursion' while running
	'window-size-change-functions', it's no more relevant.
	Clarify description of 'window-configuration-change-hook'.

2018-11-18  Gary Fredericks  <fredericksgary@gmail.com>  (tiny change)

	Run 'window--adjust-process-windows' when frame size changes (Bug#32720)

	* lisp/window.el (window-size-change-functions): Run
	'window--adjust-process-windows' from
	'window-size-change-functions' too (Bug#32720, "another issue"
	in Bug#33230).

2018-11-16  Eli Zaretskii  <eliz@gnu.org>

	Avoid errors in zone.el when there's overlay at EOB

	* lisp/play/zone.el (zone): Make sure the window-end position
	is calculated accurately, to avoid errors from
	buffer-substring.  (Bug#33384)

2018-11-16  Eli Zaretskii  <eliz@gnu.org>

	Document Emacs 26 behavior of Dired's 'Z' on directories

	* doc/emacs/dired.texi (Operating on Files): Document behavior
	of 'Z' on directories.

	* etc/NEWS: Belatedly announce the new behavior of Dired's 'Z'
	on directory names and on .tar.gz archives.

2018-11-15  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in the Emacs manual

	* doc/emacs/rmail.texi (Rmail Deletion): Fix a typo.
	Reported by Jorge P. de Morais Neto <jorge+list@disroot.org>
	in emacs-manual-bugs@gnu.org

2018-11-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix tempfile creation when byte compiling

	This improves on the recent fix for master failing to build
	on FreeBSD.  Suggested by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
	* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
	Put tempfile next to the target file, as was the original intent.

	(cherry picked from commit 64c846738617d1d037eac0cefb6586c04317b0a1)

2018-11-14  Markus Triska  <triska@metalevel.at>

	Small documentation correction.

	* doc/lispref/windows.texi (Textual Scrolling): In the description of
	scroll-up-aggressively, refer to scroll-down-aggressively instead of
	a recursive reference to scroll-up-aggressively.  (Bug#33369)

2018-11-14  Eli Zaretskii  <eliz@gnu.org>

	* src/coding.c (Fcheck_coding_systems_region): Doc fix.  (Bug#33372)

2018-11-14  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#33364

	* lisp/net/tramp.el (tramp-parse-sconfig-group): Support also
	"Host host1 host2 ..." syntax.  (Bug#33364)

2018-11-13  Michael Albinus  <michael.albinus@gmx.de>

	* test/README: Explain $REMOTE_TEMPORARY_FILE_DIRECTORY.

2018-11-12  Glenn Morris  <rgm@gnu.org>

	Avoid kill-emacs-hook errors hanging batch mode

	* src/emacs.c (Fkill_emacs): Prevent errors from kill-emacs-hook
	hanging Emacs in batch mode.  (Bug#29955)

	(cherry picked from commit 109da684c5124e22505917fe0255ca66f2a6bfc9)

2018-11-12  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 26.1.90

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version to 26.1.90.

2018-11-12  Nicolas Petton  <nicolas@petton.fr>

	* etc/AUTHORS: Update.

2018-11-12  Paul Eggert  <eggert@cs.ucla.edu>

	Work around dumping bug on GNU/Linux ppc64le

	Problem reported by Thomas Fitzsimmons (Bug#33174).
	Do not merge to master, as we have a better fix there.
	* src/Makefile.in (emacs$(EXEEXT)):
	(bootstrap-emacs$(EXEEXT)):
	Unset EMACS_HEAP_EXEC before invoking temacs.

2018-11-11  Eli Zaretskii  <eliz@gnu.org>

	* lisp/files.el (write-file): Clarify the doc string.  (Bug#33339)

2018-11-11  Simen Heggestøyl  <simenheg@gmail.com>

	Fix typos in midnight.el

	* lisp/midnight.el (clean-buffer-list-delay-general)
	(clean-buffer-list-kill-regexps)
	(clean-buffer-list-kill-buffer-names): Fix docstring typos.

2018-11-10  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'move-file-to-trash'

	* doc/emacs/files.texi (Misc File Ops): Index
	move-file-to-trash.  State that the way to restore trashed
	files is system-dependent.

2018-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/data.c (Ftype_of): xwidget objects are possible! (bug#33294)

	(syms_of_data): Define Qwidget here.
	* src/xwidget.c (syms_of_xwidget): Instead of here.

2018-11-09  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Diff mode

	* doc/emacs/files.texi (Diff Mode): Document the effect of
	prefix argument on the Diff mode's commands.  Document
	'diff-jump-to-old-file'.

2018-11-09  Noam Postavsky  <npostavs@gmail.com>

	Note that lex bound lambda forms are not self-quoting (Bug#33199)

	* doc/lispref/functions.texi (Anonymous Functions):
	* lisp/subr.el (lambda): Note that under lexical binding a lambda form
	yields a closure object (Bug#33199).

2018-11-08  Martin Rudalics  <rudalics@gmx.at>

	Rewrite buffer display related doc-strings and doc

	* lisp/window.el (display-buffer-overriding-action)
	(display-buffer-alist, display-buffer-base-action)
	(display-buffer-fallback-action, display-buffer-assq-regexp)
	(display-buffer): Rewrite doc-strings using suggestions by
	Alan Mackenzie <acm@muc.de>.
	(display-buffer-use-some-frame): Adjust doc-string and
	reformat code.
	* doc/lispref/windows.texi (Buffer Display Action Alists):
	Make docs on 'window-height', 'window-width' and
	'preserve-size' entries more accurate.

2018-11-06  Eli Zaretskii  <eliz@gnu.org>

	Fix call to GlobalMemoryStatusEx in w32.c

	* src/w32.c (system_process_attributes): Initialize the size
	of the data structure passed to GlobalMemoryStatusEx,
	otherwise it fails.

2018-11-04  Eli Zaretskii  <eliz@gnu.org>

	Improve recent changes in documentation of window handling

	* doc/lispref/windows.texi (Displaying Buffers)
	(Choosing Window, Buffer Display Action Functions)
	(Buffer Display Action Alists, Choosing Window Options)
	(Precedence of Action Functions, The Zen of Buffer Display):
	Fix wording, punctuation, and markup.  Remove redundant
	cross-references.

	* doc/emacs/windows.texi (Window Choice, Temporary Displays):
	Fix wording and punctuation.

2018-11-04  Martin Rudalics  <rudalics@gmx.at>

	Rewrite documentation of buffer display

	* doc/emacs/windows.texi (Window Choice): Rewrite, replacing
	references to older buffer display options with references to
	and examples of buffer display actions.
	(Temporary Displays): Rewrite display of *Completions*
	example.

	* doc/lispref/elisp.texi (Top): New Windows section
	'Displaying Buffers'.
	* doc/lispref/frames.texi (Child Frames): Adjust cross
	reference.
	* doc/lispref/windows.texi (Windows): New section 'Displaying
	Buffers'.  Move sections 'Choosing Window', 'Display Action
	Functions' and 'Choosing Window Options' there and adjust
	namings.  Preferably write 'Buffer Display Action' instead of
	'Display Action'.  More consistently use @w{} to make key
	binding specifications unsplittable.
	(Displaying Buffers): New section.
	(Choosing Window): Make it a subsection of 'Displaying
	Buffers'.  More explicitly describe how 'display-buffer'
	compiles its list of action functions and the action alist.
	(Buffer Display Action Functions): Rename from 'Display Action
	Functions', make it a subsection of 'Displaying Buffers' and
	rewrite it.  Elide more detailed descriptions of action alist
	entries; these are now in the new section 'Buffer Display
	Action Functions'.  Remove example.
	(Buffer Display Action Alists): New subsection of 'Displaying
	Buffers' giving a comprehensive description of recognized
	action alist entries with appropriate indexing.  Contents were
	partially moved here from the old 'Display Action Functions'
	section.
	(Choosing Window Options): Make it a subsection of 'Displaying
	Buffers'.  Add examples of how to rewrite old buffer display
	options with the help of buffer display actions.
	(Precedence of Action Functions): New subsection of
	'Displaying Buffers' explaining the execution order of action
	functions with the help of a detailed example.
	(The Zen of Buffer Display): New subsection of 'Displaying
	Buffers' supplying guidelines on how to write and use buffer
	display actions with examples.
	(Side Windows, Displaying Buffers in Side Windows)
	(Frame Layouts with Side Windows, Atomic Windows): Update
	references to the 'Displaying Buffers' subsections.

2018-11-03  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of destructuring-binding macros

	* lisp/emacs-lisp/pcase.el (pcase-dolist, pcase-let)
	(pcase-let*): Improve the doc strings.

	* doc/lispref/sequences.texi (Sequence Functions): Improve
	wording and rename arguments of seq-let to be more
	descriptive.  Add a cross-reference to "Destructuring with
	pcase Patterns".
	* doc/lispref/control.texi (Pattern-Matching Conditional):
	Improve wording and the menu.
	(pcase Macro): Incorporate patch suggested by Paul Eggert
	<eggert@cs.ucla.edu>.  Reformat text.
	(Destructuring with pcase Patterns): Rename from
	"Destructuring patterns", and improve wording and indexing.

2018-11-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid byte compilation warning in rcirc.el

	* lisp/net/rcirc.el (rcirc-prompt-start-marker): Move
	definition before 1st use to avoild byte-compiler warning.

2018-11-03  Basil L. Contovounesios  <contovob@tcd.ie>

	Avoid race in rcirc process filter (bug#33145)

	* lisp/net/rcirc.el (rcirc-filter): Clear rcirc-process-output
	before processing its constituent lines.  Otherwise, if rcirc-filter
	runs again before the last rcirc-process-server-response is
	finished, the contents of rcirc-process-output could be duplicated.

2018-11-03  Jordan Wilson  <jordan.t.wilson@gmx.com>  (tiny change)

	Avoid file-name errors when viewing PDF from Gnus

	* lisp/doc-view.el (doc-view-mode): Run the output file name
	through 'convert-standard-filename', to avoid problems with
	characters that are not allowed in file names on some
	systems.  (Bug#32989)

2018-11-02  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes with remapped default face in Org mode

	* src/xfaces.c (face_at_buffer_position): Look up BASE_FACE_ID
	anew if it is not in the frame's face cache.  This avoids
	crashes when Org mode sets up for a new major mode in embedded
	code fragment, and the default face is remapped.  (Bug#33222)

2018-11-01  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Doc fix for checkdoc-continue

	* lisp/emacs-lisp/checkdoc.el (checkdoc-continue): There is no second
	  optional argument, and the function always starts from point.

2018-11-01  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in autoload.el

	* lisp/emacs-lisp/autoload.el (update-directory-autoloads):
	Remove stray backslashes.  (Bug#33231)

2018-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/control.texi (Destructuring patterns): New subsection.

2018-10-31  Gemini Lasswell  <gazally@runbox.com>

	Add regression test for Bug#33014

	Backport from master.
	* test/src/eval-tests.el:
	(eval-tests-byte-code-being-evaluated-is-protected-from-gc): New test.
	(eval-tests-33014-var): New variable.
	(eval-tests-33014-func, eval-tests-33014-redefine): New functions.

2018-10-31  Paul Eggert  <eggert@cs.ucla.edu>

	Refer to bytecode constant vectors (Bug#33014)

	Backport from master.
	* src/bytecode.c (exec_byte_code): Save VECTOR into stack slot
	so that it survives GC.  The stack slot was otherwise unused,
	so this doesn’t cost us memory, only a store insn.

2018-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el: Improve docstrings.

2018-10-30  Eli Zaretskii  <eliz@gnu.org>

	* lisp/emacs-lisp/rx.el (rx): Fix typo in doc string.  (Bug#33205)

2018-10-30  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string of 'call-process'

	* src/callproc.c (Fcall_process): Clarify DESTINATION in the
	doc string.

2018-10-30  Eli Zaretskii  <eliz@gnu.org>

	Document that generic functions cannot be commands

	* doc/lispref/commands.texi (Defining Commands):
	* doc/lispref/functions.texi (Generic Functions): Document
	that generic functions cannot be turned into commands.
	(Bug#33170)

2018-10-28  Charles A. Roelli  <charles@aurox.ch>

	* lisp/mail/rmailsum.el (rmail-summary-output): Add lost word to doc.

2018-10-28  Charles A. Roelli  <charles@aurox.ch>

	Add index entries for more isearch commands/bindings (Bug#32990)

	* doc/emacs/search.texi (Basic Isearch): Index isearch-exit,
	isearch-abort, isearch-cancel, isearch-repeat-forward,
	isearch-repeat-backward and their bindings.
	(Repeat Isearch): Index isearch-ring-advance,
	isearch-ring-retreat and isearch-edit-string.
	(Special Isearch): Index isearch-quote-char,
	isearch-char-by-name and their bindings.  Index
	isearch-query-replace and isearch-query-replace-regexp, and
	the latter's binding.  Explain what
	isearch-query-replace-regexp does.  Index isearch-complete.
	(Word Search): Index isearch-toggle-word.

2018-10-27  Noam Postavsky  <npostavs@gmail.com>

	* lisp/simple.el (filter-buffer-substring): Clarify doc (Bug#33179).

2018-10-27  Eli Zaretskii  <eliz@gnu.org>

	Fix recent change in lispref/processes.texi.

	* doc/lispref/processes.texi (Asynchronous Processes): Clarify
	wording.  Suggested by Thomas Fitzsimmons <fitzsim@fitzsim.org>.
	(Bug#33050)

2018-10-27  Eli Zaretskii  <eliz@gnu.org>

	* lisp/simple.el (region-extract-function): Doc fix.  (Bug#33167)

	* lisp/simple.el (region-bounds): Doc fix.  (Bug#33168)

2018-10-27  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'process-connection-type'

	* doc/lispref/processes.texi (Asynchronous Processes): Clarify
	better when it is advisable to use pipes for communicating
	with subprocesses.  (Bug#33050)

2018-10-27  Pierre Téchoueyres  <pierre.techoueyres@free.fr>

	Unify prompt for gnupg passphrase between GNU/Linux and MS-Windows.

	* lisp/epg.el (epg--start): Use 'raw-text' for coding system instead
	of 'binary', in order to avoid spurious carriage return on Microsoft
	Windows and MS-DOS when prompting for a password.  (Bug#33040)

2018-10-27  Eli Zaretskii  <eliz@gnu.org>

	Doc fix of 'gnus-fetch-old-headers'

	* lisp/gnus/gnus-sum.el (gnus-fetch-old-headers): Avoid
	treating 'some' and 'invisible' as symbols that need to be
	hyperlinked.  Reported by Robert Pluim <rpluim@gmail.com>.
	(Bug#33090)

2018-10-27  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Deactivate incorrect hyperlinking in gnus-build-sparse-threads doc

	* lisp/gnus/gnus-sum.el (gnus-build-sparse-threads): Add the word
	"symbol" so it doesn't link to the `some' function.  (Bug#33090)

2018-10-27  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in cmdargs.texi

	* doc/emacs/cmdargs.texi (Initial Options): Document '-nsl'.
	Add a cross-reference to "Writing Dynamic Modules".

2018-10-27  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of X resource loading

	* doc/emacs/cmdargs.texi (Initial Options):
	* doc/emacs/frames.texi (Frame Parameters):
	* doc/emacs/xresources.texi (Resources): Document the
	'--no-x-resources' command-line option and the fact that X
	resources override .emacs settings of frame parameters.
	(Bug#32975)

2018-10-27  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-inline-compress-commands):

	Suppress warnings about obsolete environment variable GZIP.

2018-10-25  Noam Postavsky  <npostavs@gmail.com>

	Don't error when indenting malformed Lisp (Bug#30891)

	* lisp/emacs-lisp/lisp-mode.el (lisp-indent-calc-next): If we run out
	of indent stack, reset the parse state.

2018-10-25  Charles A. Roelli  <charles@aurox.ch>

	Improve 'isearch-delete-char' documentation (Bug#32990)

	* doc/emacs/search.texi (Basic Isearch): Index
	'isearch-delete-char', its keybinding and the isearch "input
	item" concept, and define the latter.
	(Error in Isearch): Clarify the different uses of DEL and
	C-M-w during isearch.

	* lisp/isearch.el (isearch-delete-char): Correct its
	documentation and link to the Info node '(emacs)Basic Isearch'
	which explains less technically how this function works in
	everyday usage.

2018-10-25  Alan Third  <alan@idiocy.org>

	Improve XPM load failure message (bug#33126)

	* src/image.c (xpm_load_image): Only XPM3 is supported, so make that
	explicit.

2018-10-25  Eli Zaretskii  <eliz@gnu.org>

	Avoid infloop in CPerl mode fontification

	* lisp/progmodes/cperl-mode.el
	(cperl-font-lock-fontify-region-function): Stop the loop at
	EOB, to avoid inflooping there.  (Bug#33114)

2018-10-25  Andreas Schwab  <schwab@suse.de>

	Fix minibuffer-help-form for lexical binding

	* lisp/simple.el (set-variable): Substitute var into
	minibuffer-help-form.
	* lisp/cus-edit.el (custom-prompt-variable): Likewise.

2018-10-24  Alan Third  <alan@idiocy.org>

	Fix some NS drawing issues (bug#32932)

	* src/nsterm.m (ns_clip_to_rect):
	(ns_reset_clipping): Remove gsaved variable and associated code.
	(ns_flush_display): Remove function.
	(ns_copy_bits): use translateRectsNeedingDisplayInRect:by: to copy any
	pending drawing actions along with the image.
	([EmacsView windowWillResize:toSize:]): Remove unneeded call.
	([EmacsView drawRect:]): Remove redundant call to ns_clear_frame_area,
	and optimize the exposed rectangles.
	(ns_draw_window_cursor): Remove unneeded disabling of screen updates.

2018-10-24  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/gnus/mm-util.el (mm-decompress-buffer): Fix split-string args.

2018-10-24  Noam Postavsky  <npostavs@gmail.com>

	* doc/misc/calc.texi (Summary): The +/- key is 'p', not 'P'.

2018-10-23  Robert Pluim  <rpluim@gmail.com>

	Correct typo in GNU ELPA url

	* doc/misc/efaq.texi (Packages that do not come with Emacs):
	Correct typo in GNU ELPA url (Bug#33072).  Change other url
	references to use https scheme.

2018-10-22  Eli Zaretskii  <eliz@gnu.org>

	* doc/misc/dired-x.texi (Omitting Variables): Fix wording. (Bug#33112)

2018-10-20  Michael Heerdegen  <michael_heerdegen@web.de>

	Fix help-form binding in dired-create-files

	This fixes Bug#32630: since "dired-aux" moved to lexical binding mode,
	the free variable TO in the constructed HELP-FORM got out of scope of
	the surrounding 'let'.

	* lisp/dired-aux.el (dired-create-files): Make the binding of
	HELP-FORM a string.

2018-10-20  Eli Zaretskii  <eliz@gnu.org>

	Fix a pasto in a Gnus doc string

	* lisp/gnus/gnus-art.el (gnus-article-treat-fold-newsgroups):
	Doc string fix.  (Bug#33081)

2018-10-19  Mauro Aranda  <maurooaranda@gmail.com>  (tiny change)

	Update revert-buffer documentation

	* doc/emacs/files.texi (Reverting): Document that revert-buffer
	does keep undo history.  (Bug#33084)

2018-10-18  Juri Linkov  <juri@linkov.net>

	* lisp/mail/smtpmail.el (smtpmail-send-queued-mail): Load file with .el suffix.

	For the case when load-prefer-newer is t, ensure loading the right file
	by explicitly adding the .el suffix.  Use the same variable names
	as in the function smtpmail-send-it.  (Bug#33055)

2018-10-16  Glenn Morris  <rgm@gnu.org>

	Tweak Makefile emacs-module.h handling

	* Makefile.in (install-arch-indep, uninstall): Respect DESTDIR.
	Handle whitespace.  Remove non-portable mkdir argument.

	(cherry picked from commit c1d0dbd6ca92cb221024382b19654e4fbf1d1ed3)

2018-10-16  Philipp Stephani  <phst@google.com>

	Install emacs-module.h (Bug#31929)

	* Makefile.in (includedir): New variable.
	(install-arch-indep): Install emacs-module.h.
	(uninstall): Uninstall emacs-module.h.

	(cherry picked from commit 00ea749f2af44bff6ea8c1259477fbf0ead8a306)

2018-10-15  Alan Mackenzie  <acm@muc.de>

	Clarify documentation of fractional vertical scrolling and some doc strings

	* doc/lispref/windows.texi (vertical scrolling): Clarify the meaning of
	vertical scrolling by referring to tall screen lines, images, and the display
	action.  Clarify an ambiguous English tense.

	* src/window.c (window-vscroll, set-window-vscroll): Amend doc strings to
	refer to display.

2018-10-15  Charles A. Roelli  <charles@aurox.ch>

	* lisp/isearch.el (isearch-cmds): Recall absent isearch--state slot.

2018-10-14  Alan Mackenzie  <acm@muc.de>

	doc/lispref/edebug.texi (Specification List) Remove obstrusive blank line

2018-10-14  Eli Zaretskii  <eliz@gnu.org>

	Fix wording in module API documentation

	* doc/lispref/internals.texi (Module Functions): Fix confusing
	wording.  Reported by Basil L. Contovounesios <contovob@tcd.ie>.

2018-10-13  Eli Zaretskii  <eliz@gnu.org>

	Fix redisplay of glyphless characters

	* src/conf_post.h (bool_bf): Use 'unsigned int' in the MinGW
	builds.  Suggested by Tom Tromey <tom@tromey.com>.  (Bug#33017)
	* src/dispnew.c (scrolling_window): Update commentary
	regarding xwidget builds.

2018-10-13  Robert Pluim  <rpluim@gmail.com>

	Update --without-toolkit-scroll-bars doc

	* configure.ac (--without-toolkit-scroll-bars): Update list of
	affected toolkits.

2018-10-13  Robert Pluim  <rpluim@gmail.com>

	Call GTK functions only on GTK scrollbars

	* src/gtkutil.c (xg_set_background_color) [USE_TOOLKIT_SCROLL_BARS]:
	Don't call GTK functions on non-GTK scrollbars (Bug#32975).

2018-10-13  Eli Zaretskii  <eliz@gnu.org>

	Update the description of startup in ELisp manual

	* doc/lispref/os.texi (Startup Summary): Remove stale
	reference to window-system-initialization-alist.  Reported by
	Zhang Haijun <ccsmile2008@outlook.com>.

2018-10-13  Eli Zaretskii  <eliz@gnu.org>

	Use the 'line-number' face for line-number fields past EOB

	* src/xdisp.c (get_phys_cursor_geometry): Treat rows at and
	beyond ZV specially.  Don't let the cursor exceed the
	vertical dimensions of the row.
	(maybe_produce_line_number): Use the 'line-number' face
	instead of 'default' for blank fields beyond ZV.  Don't update
	the IT metrics when displaying blank line-number fields beyond
	ZV.  (Bug#32337)

2018-10-12  Alan Third  <alan@idiocy.org>

	Ensure NS frame is redrawn correctly  after scroll

	* src/nsterm.m (ns_copy_bits): Set needsDisplay so the previous cursor
	position is redrawn.

2018-10-12  Alex Branham  <alex.branham@gmail.com>

	Avoid byte-compiler warning in em-rebind.el

	* lisp/eshell/em-rebind.el (eshell-delete-backward-char): Use
	'delete-char' instead of delete-backward-char.  (Bug#32945)

2018-10-12  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing of 'C-SPC C-SPC'

	* doc/emacs/mark.texi (Disabled Transient Mark): Fix
	indexing.  (Bug#32959)

2018-10-11  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix bug with precious entries in Gnus registry

	* lisp/registry.el (registry-collect-prune-candidates): This `cdr' was
	  an error: it meant that the last key in the precious list, would be
	  considered a nil. Since the precious list only contains the symbol
	  'mark by default, marks were never considered precious.
	* doc/misc/gnus.texi (Store arbitrary data): Fix typo: "marks" should
	  be "mark".

2018-10-11  Eli Zaretskii  <eliz@gnu.org>

	Document in the ELisp manual how to write loadable modules

	* doc/lispref/internals.texi (Writing Dynamic Modules)
	(Module Initialization, Module Functions, Module Values)
	(Module Misc, Module Nonlocal): New nodes.
	* doc/lispref/loading.texi (Dynamic Modules): Add
	cross-reference to the new node.
	* doc/lispref/internals.texi (GNU Emacs Internals):
	* doc/lispref/elisp.texi (Top): Update menus for the new nodes.

2018-10-11  Tino Calancha  <tino.calancha@gmail.com>

	dired-do-shell-command: Notify users after abort the command

	* lisp/dired-aux.el (dired-do-shell-command):  Notify users that
	the command have aborted when they answer 'n' to the prompt (Bug#32969).

2018-10-11  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp version.  Do not merge with master

	* lisp/net/trampver.el: Change version to "2.3.5.26.2".
	(customize-package-emacs-version-alist): Add Tramp version
	integrated in Emacs 26.2.

2018-10-10  Alan Third  <alan@idiocy.org>

	Fix Apple Script permissions error

	* nextstep/templates/Info.plist.in: Add NSAppleEventsUsageDescription
	message to enable AppleEvents usage.

2018-10-10  Mauro Aranda  <maurooaranda@gmail.com>  (tiny change)

	Fix typo in 'timerp' documentation

	* doc/lispref/os.texi (Timers): Fix typo in 'timerp' documentation.
	(Bug#32999)

2018-10-08  Charles A. Roelli  <charles@aurox.ch>

	* doc/emacs/mark.texi (Mark): Index "(de)activating the mark".

	(Bug#32956)

2018-10-08  Scott Corley  <scott@scorley.com>  (tiny change)

	Fix overflow lockup with frames > 255 lines

	Backport from master.
	* src/scroll.c (struct matrix_elt): Change unsigned char fields to
	int to handle frames with more than 255 lines (Bug#32951).

2018-10-07  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in nonsensical calls to 'signal'

	* src/eval.c (Fsignal): If both arguments are nil, replace the
	first one with 'error', to avoid assertion violations further
	down the line.  (Bug#32961)

2018-10-06  Charles A. Roelli  <charles@aurox.ch>

	* lisp/simple.el (transient-mark-mode): Correct documentation.  (Bug#32956)

2018-10-06  Eli Zaretskii  <eliz@gnu.org>

	Update the locale and language database

	* lisp/international/mule-cmds.el (locale-language-names):
	Update the list of supported locales.  Use existing language
	names where available.

2018-10-05  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in a doc string.

	* lisp/window.el (display-buffer-alist): Fix a typo in a doc string.
	Reported by Michael Heerdegen <michael_heerdegen@web.de>.

2018-10-05  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make nneething allow CRLF-encoded files (bug#32940)

	* lisp/gnus/nneething.el (nneething-request-article):
	Bind coding system to raw-text instead of binary when reading a file,
	that may be CRLF-encoded (bug#32940).

2018-10-04  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Further fix to eieio-persistent

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
	  Make handling of hash tables and vectors recursive. This is
	  necessary because the write process, in `eieio-override-prin1' is
	  also recursive. With any luck, this will be the last fix of its
	  kind. If that's true, cherry-pick to Emacs 26.2 later on.

2018-10-04  Eli Zaretskii  <eliz@gnu.org>

	Avoid ridiculously high stack limit requests on macOS

	* src/emacs.c (main): Avoid wraparound in subtraction of
	rlim_t values, in case rlim_t is an unsigned type.  (Bug#32338)

2018-10-03  Charles A. Roelli  <charles@aurox.ch>

	Improve documentation of 'read-hide-char'

	* src/minibuf.c (syms_of_minibuf) <Vread_hide_char>: Clarify
	documentation and mention where else the variable is used.
	* doc/lispref/minibuf.texi (Reading a Password): Add an index
	entry for 'read-hide-char'.

2018-10-03  Alan Mackenzie  <acm@muc.de>

	In follow mode, prevent the cursor resting on a partially displayed line

	Don't merge to master.  This fixes bug #32848

	* lisp/follow.el (follow-adjust-window): If point ends up in a partially
	displayed line in a left hand or middle window, move it one line
	forward, to
	prevent unwanted scrolling should make-cursor-line-fully-visible be
	non-nil.

2018-10-03  Alan Mackenzie  <acm@muc.de>

	Revert "Temporary workaround for bug #32848 for branch emacs-26"

	This reverts commit 6650751ce73413d05599df07a9c5bc70744260f3.

2018-10-03  Alan Mackenzie  <acm@muc.de>

	Revert "* etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode"

	This reverts commit f3c8f4bde2de2b9d42c44f5e44f34c427bebdc58.

2018-10-03  Alan Mackenzie  <acm@muc.de>

	* etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode

	Also re-insert the "temporary note" explaining --- and +++.

2018-10-03  Noam Postavsky  <npostavs@gmail.com>

	Fix note about interactive advice (Bug#32905)

	* doc/lispref/functions.texi (Core Advising Primitives): Add missing
	':', and finish the sentence fragment.

2018-10-01  Michael Albinus  <michael.albinus@gmx.de>

	Comple fix for Bug#32550

	* lisp/net/tramp.el (tramp-rfn-eshadow-update-overlay):
	Use `save-excursion'.  This completes the fix of Bug#32550.

2018-10-01  Eli Zaretskii  <eliz@gnu.org>

	* lisp/savehist.el (savehist-mode): Doc fix.  (Bug#32889)

2018-09-30  Nicolas Goaziou  <mail@nicolasgoaziou.fr>

	Org manual: Rewrite the Org Mobile section

	* doc/misc/org.texi (Org Mobile): Rewritten from "MobileOrg" section.
	Remove all references to non-free software.
	Moved into "Miscellaneous", much like Org Crypt library. No longer an
	appendix.
	(Footnotes): Remove a reference to "MobileOrg".
	(Bug#32722)

2018-09-30  Alan Mackenzie  <acm@muc.de>

	Temporary workaround for bug #32848 for branch emacs-26

	Do not merge with master.

	* lisp/follow.el (follow-mode): Set make-cursor-line-fully-visible to nil
	buffer locally whilst follow-mode is active.

2018-09-29  Tino Calancha  <tino.calancha@gmail.com>

	Improve cl-do, cl-do* docstrings

	* lisp/emacs-lisp/cl-macs.el(cl-do, cl-do*):
	Improve docstring (Bug#32803).

2018-09-29  Eli Zaretskii  <eliz@gnu.org>

	Avoid returning early in 'while-no-input' due to subprocesses

	* src/keyboard.c (kbd_buffer_store_buffered_event): Support
	also the internal buffer-switch events.
	(syms_of_keyboard) <Qbuffer_switch>: New DEFSYM.

	* lisp/subr.el (while-no-input-ignore-events): Ignore
	'buffer-switch' events.  Reported by Michael Heerdegen
	<michael_heerdegen@web.de>.

	* etc/NEWS: Mention the change in behavior of 'while-no-input'

2018-09-29  John Shahid  <jvshahid@gmail.com>

	Cleanup when opening a new terminal fails. (Bug#32794)

	* src/term.c (init_tty): Call delete_terminal_internal if emacs_open
	fail.
	* src/terminal.c (delete_terminal): Move some code into
	delete_terminal_internal and call it.
	(delete_terminal_internal): New function.
	* src/termhooks.h: Prototype for delete_terminal_internal.

2018-09-28  Alan Third  <alan@idiocy.org>

	Fix deprecation warning

	* src/nsterm.m (ns_term_init): Use writeToFile or writeToURL as
	required.

2018-09-28  Alan Third  <alan@idiocy.org>

	Make all NS drawing be done from drawRect

	See bug#31904 and bug#32812.

	* src/nsterm.m (ns_update_begin): Don't lock focus, only clip if there
	is already a view focused.
	(ns_update_end): Don't mess with view focusing any more.
	(ns_focus): Only clip drawing if there is already a focused view,
	otherwise mark area dirty for later drawing.  Renamed ns_clip_to_rect.
	All callers changed.
	(ns_unfocus): Don't unfocus the view any more.  Renamed
	ns_reset_clipping. All callers changed.
	(ns_clip_to_row): Update to match ns_clip_to_rect.
	(ns_clear_frame):
	(ns_clear_frame_area):
	(ns_draw_fringe_bitmap):
	(ns_draw_window_cursor):
	(ns_draw_vertical_window_border):
	(ns_draw_window_divider):
	(ns_dumpglyphs_stretch):
	(ns_draw_glyph_string): Only draw if ns_focus or ns_clip_to_row
	return YES.
	(ns_copy_bits): Remove superfluous calls to ns_(un)focus.
	(ns_flush_display): New function.

2018-09-28  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32828

	* lisp/net/dbus.el (dbus-init-bus): Return number of connections,
	as promised by the docstring.  (Bug#32828)

2018-09-28  Noam Postavsky  <npostavs@gmail.com>

	* lisp/net/shr.el (shr-copy-url): Fix docstring.

2018-09-27  Eli Zaretskii  <eliz@gnu.org>

	Fix typos in documentation

	* doc/misc/vhdl-mode.texi (Custom Indentation Functions):
	* doc/misc/url.texi (Customization):
	* doc/misc/tramp.texi (Overview):
	* doc/misc/srecode.texi (Developing Template Functions):
	* doc/misc/sieve.texi (Sieve Mode):
	* doc/misc/reftex.texi (Options - Creating Citations):
	* doc/misc/org.texi (Cooperation, Conflicts):
	* doc/misc/gnus.texi (Misc Group Stuff):
	* doc/misc/eshell.texi (Bugs and ideas):
	* doc/misc/calc.texi (Summary):
	* doc/man/emacsclient.1:
	* doc/lispref/os.texi (Security Considerations):
	* doc/lispref/control.texi (pcase Macro):
	* CONTRIBUTE: Fix typos.  Reported by Mak Kolybabi
	<mak@kolybabi.com>  (Bug#32853)

2018-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/emacs/kmacro.texi (Basic Keyboard Macro): Mention old bindings

	According to Apple gospel, function keys are partly going the way of the dodo
	so F3/F4 can, like in the good old days, be hard to reach for some users.

2018-09-24  Eli Zaretskii  <eliz@gnu.org>

	Improve docs of functions/variables related to 'display-buffer'

	* lisp/window.el (display-buffer, pop-to-buffer-same-window)
	(display-buffer-same-window, display-buffer-in-side-window)
	(same-window-p, display-buffer-overriding-action)
	(display-buffer-base-action)
	(display-buffer--same-window-action)
	(display-buffer--other-frame-action)
	(with-current-buffer-window, with-displayed-buffer-window)
	(display-buffer-alist, display-buffer-assq-regexp)
	(display-buffer-other-frame): Clarify and improve the doc
	strings.  (Bug#32798)

2018-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mouse.el (tear-off-window): Fix non-mouse use (bug#32799)

2018-09-22  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of directory-local variables

	* lisp/files.el (hack-local-variables, normal-mode)
	(after-find-file, find-file-hook): Mention directory-local
	variables in the doc strings.  Suggested by Marcin Borkowski
	<mbork@mbork.pl>.

	* doc/emacs/custom.texi (File Variables, Directory Variables):
	Clarify that directory-local variables are overridden by
	file-local ones.

2018-09-22  Eli Zaretskii  <eliz@gnu.org>

	Don't use obsolete variable 'save-place' in documentation

	* doc/lispref/customize.texi (Variable Definitions): Replace
	example of saveplace defcustom with a fictitious one, which
	will not bit-rot with time.  (Bug#32741)

2018-09-22  Mark A. Hershberger  <mah@everybody.org>

	Use save-place-mode instead of save-place

	* lisp/menu-bar.el (menu-bar-options-save, menu-bar-options-menu):
	* lisp/saveplace.el (save-place-to-alist, save-places-to-alist)
	(save-place-find-file-hook, save-place-dired-hook): Use
	save-place-mode instead of the obsolete save-place.

2018-09-20  Eli Zaretskii  <eliz@gnu.org>

	More accurate docs for 'text-char-description'

	* src/keymap.c (Ftext_char_description):
	* doc/lispref/help.texi (Describing Characters): More accurate
	description of 'text-char-description'.  Remove incorrect
	examples from the ELisp manual.  (Bug#32743)

2018-09-20  Noam Postavsky  <npostavs@gmail.com>

	Document synchronous behavior of eshell/make (Bug#32513)

	* doc/misc/eshell.texi (Built-ins):
	* lisp/eshell/em-unix.el (eshell/make): Mention that it falls back to
	the external 'make' command when called synchronously.

2018-09-20  Shigeru Fukaya  <shigeru.fukaya@gmail.com>

	Fix bs-show with wide characters (Bug#17822)

	* lisp/bs.el (bs--insert-one-entry, bs-show-in-buffer): Use
	string-width instead of length.

2018-09-19  Eli Zaretskii  <eliz@gnu.org>

	Improve Custom menu labels for 2 options

	* lisp/dired.el (dired-use-ls-dired):
	* lisp/progmodes/xref.el (xref-prompt-for-identifier): Improve
	the doc string and the defcustom menu/tags text.  (Bug#32756)

2018-09-19  Eli Zaretskii  <eliz@gnu.org>

	Improve wording of last change in dired-x.texi

	* doc/misc/dired-x.texi (Shell Command Guessing): Clarify
	wording in description of 'dired-guess-shell-alist-user'.
	Avoid passive tense.  (Bug#32733)

2018-09-18  Eli Zaretskii  <eliz@gnu.org>

	Fix GnuTLS test suite with GnuTLS versions 3.4.x

	* src/gnutls.c (gnutls_cipher_get_tag_size): Make it return
	zero only for versions of GnuTLS < 3.2.2, where
	gnutls_cipher_get_tag_size was introduced.  This fixes the
	GnuTLS test suite, which assumes that any cipher whose tag
	size is non-zero is AEAD-capable, and doesn't test such ciphers
	if AEAD is not available, i.e. for GnuTLS < 3.5.1.  (Bug#32446)

2018-09-17  Noam Postavsky  <npostavs@gmail.com>

	Fix build with gnutls versions 3.0 to 3.2 (Bug#32446)

	We previously used functions available only in 3.2+ for all 3.x
	versions.
	* src/gnutls.c [GNUTLS_VERSION_NUMBER < 0x030501]: Replace calls to
	gnutls_cipher_get_tag_size with 0.
	[GNUTLS_VERSION_NUMBER < 0x030200]: Alias gnutls_cipher_get_iv_size
	to gnutls_cipher_get_block_size, gnutls_digest_list to
	gnutls_mac_list, and gnutls_digest_get_name to gnutls_mac_get_name.
	[WINDOWSNT]: Adjust DLL function definitions and declarations
	accordingly.

2018-09-17  Eli Zaretskii  <eliz@gnu.org>

	Fix the Bubbles game on TTY frames

	* lisp/play/bubbles.el (bubbles--col-offset)
	(bubbles--row-offset): Doc fixes.
	(bubbles--compute-offsets): Conflate the GUI and TTY code into
	a single common version.  Set the offsets to simple numbers,
	not to lists.
	(bubbles--initialize, bubbles--show-scores): Wrap offset
	values in a list, so that they are interpreted as pixel
	values, not as units of character width.  This fixes the game
	on TTY frames.  (Bug#32744)

2018-09-17  Allen Li  <darkfeline@felesatra.moe>

	Add choice to reshow certificate information (Bug#31877)

	In various situations, the window displaying the certificate
	information can be hidden (such as if the user accidentally presses ?,
	which causes the read-multiple-choice help window to replace it).
	Instead of leaving the user to make a choice blindly, add a choice to
	reshow the certification information.

	* lisp/net/nsm.el (nsm-query-user): Add reshow choice.

2018-09-16  Glenn Morris  <rgm@gnu.org>

	* src/alloc.c (Fbool_vector, Flist, Fvector): Doc tweak.

	Use a simpler, consistent form.

2018-09-15  Alan Mackenzie  <acm@muc.de>

	* src/alloc.c (vector): Fix grammatical error in doc string: "are" -> "is".

2018-09-15  Eli Zaretskii  <eliz@gnu.org>

	Avoid adverse side effects of fixing bug#21824

	* test/src/buffer-tests.el
	(overlay-modification-hooks-deleted-overlay): New test.

	* src/buffer.c (report_overlay_modification): Don't bypass all
	the overlay-modification hooks; instead, invoke each function
	only if the buffer associated with the overlay is the current
	buffer.  (Bug#30823)

2018-09-15  Eli Zaretskii  <eliz@gnu.org>

	Document changes called out in NEWS

	* doc/lispref/lists.texi (Association Lists): Document
	'assoc-delete-all'.
	* doc/lispref/minibuf.texi (Minibuffers): Adapt menu.
	(Multiple Queries): Document 'read-answer'.

	* etc/NEWS: Reflect the above documentation in the respective
	entries.

2018-09-14  Glenn Morris  <rgm@gnu.org>

	Tiny doc updates re yum/dnf etc

	* INSTALL: Mention dnf and Debian unversioned emacs package.
	* doc/misc/efaq.texi (Installing Emacs): Mention dnf.

2018-09-14  Leo Liu  <sdl.web@gmail.com>

	Remove unused variable

	* lisp/progmodes/prolog.el (prolog-hungry-delete-key-flag): Remove.

2018-09-14  Leo Liu  <sdl.web@gmail.com>

	Fix (thing-at-point 'list) regression (Bug#31772)

	* lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point): Revert
	  to pre 26.1 behavior.  Return whole sexp at point if no enclosing
	  list.
	  (list-at-point): New optional arg to ignore comments and strings.

	* test/lisp/thingatpt-tests.el
	  (thing-at-point-bounds-of-list-at-point): Fix and augment tests.

2018-09-14  Robert Pluim  <rpluim@gmail.com>

	Clarify meaning of '*'

	* doc/misc/dired-x.texi (Shell Command Guessing): Clarify meaning
	of '*'. (Bug#32733)

2018-09-12  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/PROBLEMS: Document Ubuntu 16.04 issue.

2018-09-12  Alex Branham  <alex.branham@gmail.com>  (tiny change)

	Increase default value for imenu-auto-rescan-maxout

	* lisp/imenu.el (imenu-auto-rescan-maxout): Increase default value to
	  600000.  (Bug#18426)
	* doc/emacs/programs.texi (imenu-auto-rescan-maxout): Add
	  documentation for imenu-auto-rescan-maxout.

2018-09-11  Eli Zaretskii  <eliz@gnu.org>

	Improve recent change to ELisp manual

	* doc/lispref/commands.texi (Keyboard Events): Add index entry
	for "character event".  (Bug#32562)

2018-09-11  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/display.texi (SVG Images): Improve wording.

	* doc/lispref/display.texi (SVG Images): Fix a typo.  (Bug#32690)

2018-09-10  Eli Zaretskii  <eliz@gnu.org>

	Clarify completion text in the ELisp manual

	* doc/lispref/minibuf.texi (Programmed Completion): Clarify
	text.  Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.

2018-09-10  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of abbreviated control command in gdb-mi.el

	* lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp):
	Support unambiguous abbreviations of commands.  (Bug#32576)

2018-09-10  Eli Zaretskii  <eliz@gnu.org>

	Clarify documentation of functions reading character events

	* doc/lispref/help.texi (Describing Characters):
	* doc/lispref/commands.texi (Keyboard Events)
	(Reading One Event, Classifying Events): Make the distinction
	between characters and character events more explicit.

	* src/keymap.c (Ftext_char_description)
	(Fsingle_key_description):
	* src/lread.c (Fread_char, Fread_char_exclusive): Doc fixes,
	to make a clear distinction between a character input event
	and a character code.  (Bug#32562)

2018-09-07  Eli Zaretskii  <eliz@gnu.org>

	Record :version for built-in variables while dumping

	* lisp/cus-start.el (standard): Record the ':version; of the
	symbols when dumping, so that 'describe-variable' could tell
	which built-in variables were added/changed in recent
	versions.

2018-09-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/process.c (connect_network_socket): Fix memory leak.  (Bug#32604)

2018-09-05  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (appdatadir): Use the non-obsolete location "metainfo".

2018-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	Better fix for bug#32550

	* lisp/rfn-eshadow.el (rfn-eshadow-overlay): Give it a global default.

	* lisp/net/tramp.el (rfn-eshadow-overlay): Declare it as dynamically scoped.
	(tramp-rfn-eshadow-update-overlay): Revert the corresponding part of
	last change.

2018-09-04  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32550

	* lisp/net/tramp.el (tramp-rfn-eshadow-setup-minibuffer): Do not
	use `symbol-value'.
	(tramp-rfn-eshadow-update-overlay): Do not use `symbol-value'.  Do
	not let-bind `rfn-eshadow-overlay', assign it directly (due to
	lexical binding).  (Bug#32550)

2018-09-04  Martin Rudalics  <rudalics@gmx.at>

	Don't call XGetGeometry for frames without outer X window (Bug#32615)

	* src/xfns.c (frame_geometry): Don't call XGetGeometry when
	FRAME has no outer X window; return nil instead.  (Bug#32615)

2018-09-03  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/calculator.el: Fix doc typo.

2018-09-03  Glenn Morris  <rgm@gnu.org>

	Standardize calc bug reporting instructions

	* doc/misc/calc.texi (Reporting Bugs): Use standard commands.
	* lisp/calc/calc-misc.el (report-calc-bug, calc-report-bug):
	* lisp/calc/calc.el (calc-bug-address): Change to be
	obsolete aliases for standard Emacs bug reporting items.

2018-08-31  Michael Albinus  <michael.albinus@gmx.de>

	Rename thread-alive-p to thread-live-p

	* doc/lispref/threads.texi (Basic Thread Functions): Use thread-live-p.

	* etc/NEWS: 'thread-alive-p' has been renamed to 'thread-live-p'.

	* src/thread.c (thread_live_p): Rename from thread_alive_p.  Adapt
	all callees.
	(Fthread_live_p): Rename from Fthread_alive_p.
	(syms_of_threads): Make thread-alive-p an alias of thread-live-p.

	* test/src/thread-tests.el (all): Replace `thread-alive-p' by
	`thread-live-p'.
	(threads-live): Rename from `threads-alive'.

2018-08-30  Miciah Masters  <miciah.masters@gmail.com>  (tiny change)

	rcirc: Document /reconnect as a built-in command (Bug#29656)

	The change "New command rcirc-cmd-reconnect" from 2014-04-09 (shipped
	in Emacs 25.1) added a /reconnect command to rcirc but did not
	document it and did not delete the example /reconnect command
	definition in the manual.
	* doc/misc/rcirc.texi (rcirc commands): Document the built-in /reconnect
	command.
	(Hacking and Tweaking): Delete example reconnect command.

2018-08-30  Noam Postavsky  <npostavs@gmail.com>

	* test/lisp/calc/calc-tests.el (calc-imaginary-i): New test.

2018-08-28  Glenn Morris  <rgm@gnu.org>

	admin.el: respect environment settings for makeinfo etc

	* admin/admin.el (manual-makeinfo, manual-texi2pdf, manual-texi2dvi):
	New variables.
	(manual-html-mono, manual-html-node, manual-pdf, manual-ps): Use them.

2018-08-28  Glenn Morris  <rgm@gnu.org>

	* etc/PROBLEMS: New entry about GTK+ 3 crash with some X servers.

2018-08-28  Noam Postavsky  <npostavs@gmail.com>

	Index profiler commands in elisp manual

	* doc/lispref/debugging.texi (Profiling): Add index entries for
	profiler-start, profiler-report, profiler-stop.

2018-08-28  Noam Postavsky  <npostavs@gmail.com>

	Fix math-imaginary-i check

	Reported by Bastian Erdnüß at
	<https://lists.gnu.org/r/emacs-devel/2018-08/msg00300.html>.
	* lisp/calc/calc-cplx.el (math-imaginary-i): Check for a value
	of (polar 1 <quarter-circle>).

2018-08-28  Eli Zaretskii  <eliz@gnu.org>

	Avoid infinite hscrolling loops when line numbers are displayed

	* src/xdisp.c (maybe_produce_line_number): Don't produce line
	numbers if we don't have enough screen estate.  (Bug#32351)

2018-08-28  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes in malformed defvar

	* src/eval.c (Fdefvar): Don't call XSYMBOL on something that
	might not be a symbol.  This avoids crashes due to malformed
	'defvar' forms.  (Bug#32552)

2018-08-28  Glenn Morris  <rgm@gnu.org>

	* configure.ac (emacs_config_features): Add GLIB, XDBE, XIM.

	* configure.ac: Doc fixes related to --with-xim.

2018-08-28  Glenn Morris  <rgm@gnu.org>

	Small checkdoc quoting fix (bug#32546)

	* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
	Fix quoting thinko.

2018-08-26  Sergey Vinokurov  <serg.foo@gmail.com>

	Fix detection of freed emacs_values (Bug#32479)

	* src/emacs-module.c (module_free_global_ref): Compare a value to be
	freed with all entries of the list.

	* test/data/emacs-module/mod-test.c (Fmod_test_globref_free): New
	function.
	(emacs_module_init): Make it accessible from Lisp.
	* test/src/emacs-module-tests.el (mod-test-globref-free-test): New
	test which uses it.

2018-08-25  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes with very wide TTY frames on MS-Windows

	* src/w32console.c <glyph_base>: Reduce the number of elements
	to 80.
	<glyphs, glyphs_len>: New static variables.
	(w32con_clear_end_of_line): If the line is wider than the
	current size of the "empty row" in 'glyphs', reallocate
	'glyphs' to support the full width of the frame.  This
	avoids segfaults when the frame is wider than 256 columns.
	(Bug#32445)

2018-08-25  Wenjamin Petrenko  <wenjamin.petrenko@yandex.ru>  (tiny change)

	Prevent `modify-file-local-variable-prop-line' from adding extra ';'

	* lisp/files-x.el (modify-file-local-variable-prop-line): Handle
	whitespace when checking if there's already a ';' before the
	variable (Bug#23294).

2018-08-24  Glenn Morris  <rgm@gnu.org>

	Update GNOME bugtracker URLs

	* configure.ac, admin/notes/multi-tty, etc/PROBLEMS:
	* src/emacs.c (main):
	* src/xterm.c (x_connection_closed): Update GNOME bugtracker URLs.

2018-08-23  Eli Zaretskii  <eliz@gnu.org>

	Clarify in the Emacs manual that ChangeLog files are not used

	* doc/emacs/trouble.texi (Sending Patches): Use "commit log"
	instead of "change log", to avoid the interpretation that we
	are talking about literal ChangeLog files.  (Bug#32359)

2018-08-21  Eli Zaretskii  <eliz@gnu.org>

	Recognize codepage 65001 as a valid encoding

	* lisp/international/mule-conf.el (cp65001): Define it as an
	alias for UTF-8.

2018-08-18  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warning in nt/addpm.c

	* nt/addpm.c [!MINGW_W64]: Undefine _WIN32_IE before
	redefining it, to avoid compilation warnings.

2018-08-17  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix duplicate custom group names in bibtex.el

	* lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
	Change :group from BibTeX to bibtex.  (bug#32436)

2018-08-17  Eli Zaretskii  <eliz@gnu.org>

	Fix outdated text in the Calc manual

	* doc/misc/calc.texi (Internals): Don't advertise
	'calc-extensions' which no longer exists.  Reported by Francis
	Wright <francis.j.wright@gmail.com>.

2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Port better to x86 -fexcess-precision=fast

	Problem reported by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2018-08/msg00380.html
	* src/data.c (arithcompare): Work around incompatibility
	between gcc -fexcess-precision=fast and the C standard on x86,
	by capturing the results of floating-point comparisons before
	the excess precision spontaneously decays.  Although this fix
	might not work in general, it does work here and is probably
	good enough for the platforms we care about.

	(cherry picked from commit a84cef90957f2379cc0df6bd908317fc441971ce)

2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Add comment about floating point test

	* test/src/data-tests.el (data-tests--float-greater-than-fixnums):
	New constant.
	(data-tests-=, data-tests-<, data-tests->, data-tests-<=)
	(data-tests->=, data-tests-min): Use it.

2018-08-13  Tino Calancha  <tino.calancha@gmail.com>

	Ibuffer: Add toggle ibuffer-do-toggle-lock

	Toggle the locked status in marked buffers or the buffer
	at point (Bug#32421).
	* lisp/ibuffer.el (ibuffer-do-toggle-lock): New command.
	(ibuffer-mode-map): Bind it to 'L'.
	(ibuffer-mode-operate-map): Add entries for
	`ibuffer-do-toggle-read-only' and `ibuffer-do-toggle-lock'.
	* etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.2):
	Announce the change.

2018-08-13  Tino Calancha  <tino.calancha@gmail.com>

	Ibuffer: Detect correctly the buffers running a process

	* lisp/ibuffer.el (filename-and-process): Store the process buffer
	as a text property; check for such property to detect a buffer
	with a process (Bug#32420).

2018-08-12  Michael Albinus  <michael.albinus@gmx.de>

	Backport fix for Bug#32226

	* test/lisp/shadowfile-tests.el: Set Tramp variables for hydra.
	(shadow-test06-literal-groups, shadow-test07-regexp-groups)
	(shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
	Use `set-visited-file-name' instead of setting the value in
	`buffer-file-name' directly.
	(shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
	Test for writable temporary directory.  Suppress errors in
	cleanup.  (Bug#32226)

2018-08-12  Yuri D'Elia  <wavexx@thregr.org>

	Do not consider external packages to be removable (Bug#27822)

	Packages which are not directly user-installed shouldn't be autoremoved,
	since they can be setup through a different path (via
	`package-directory-list') where we have no authority over.
	* lisp/emacs-lisp/package.el (package--user-installed-p): New
	function.
	(package--removable-packages): Use it.

2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	* src/alloc.c: Remove obsolete comments.

2018-08-11  Eli Zaretskii  <eliz@gnu.org>

	Better support utf-8-with-signature and utf-8-hfs in HTML

	* lisp/international/mule.el (sgml-html-meta-auto-coding-function):
	Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
	obey the buffer's encoding if it is one of these variants, instead
	of re-encoding in UTF-8 proper.  (Bug#20623)

2018-08-11  Eli Zaretskii  <eliz@gnu.org>

	Don't use -Wabi compiler option

	* configure.ac: Add -Wabi to the list of disabled warning
	options.  For the details, see
	https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00123.html.

2018-08-10  Filipp Gunbin  <fgunbin@fastmail.fm>

	Fix bugs in `auth-source-netrc-parse-one'.

	* lisp/auth-source.el (auth-source-netrc-parse-one): Ensure that match
	  data is not overwritten in `auth-source-netrc-parse-next-interesting'.
	  Ensure that blanks are skipped before and after going over comments
	  and eols.
	* test/lisp/auth-source-tests.el (auth-source-test-netrc-parse-one): New test.

	(cherry picked from commit 60ff8101449eea3a5ca4961299501efd83d011bd)

2018-08-09  Eli Zaretskii  <eliz@gnu.org>

	Fix copying text properties by 'format'

	* src/editfns.c (styled_format): Add the spec beginning index
	to the info recorded for each format spec, and use it to
	detect the case that a format spec and its text property end
	where the next spec with another property begins.  (Bug#32404)

	* test/src/editfns-tests.el (format-properties): Add tests for
	bug#32404.

2018-08-09  Alexander Gramiak  <agrambot@gmail.com>

	Improve error messages regarding initial-buffer-choice (Bug#29098)

	* lisp/startup.el (command-line-1) <initial-buffer-choice>: Make the
	messages conform to Emacs conventions, and show the invalid return
	value in the message.

2018-08-09  Glenn Morris  <rgm@gnu.org>

	* test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01): Fix typo.

2018-08-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Make async :family 'local failures fail correctly again

	* src/fileio.c (get_file_errno_data): Refactor out into its own
	function so that we can reuse the error handling from an async
	context (bug#31901).

	* src/process.c (connect_network_socket): When an async :family
	'local client fails (with a file error, for instance), mark the
	process as failed.

	(cherry picked from commit 92ba34d89ac4f5b5bbb818e1c39a3cc12a405790)

2018-08-09  Noam Postavsky  <npostavs@gmail.com>

	Fix emacsclient check for term.el buffer (Bug#21041)

	* lib-src/emacsclient.c (find_tty): Check for any TERM value with
	prefix of "eterm", not just "eterm" itself.  Also check for ",term:"
	in INSIDE_EMACS value.

2018-08-08  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'set-fontset-font'

	* doc/lispref/display.texi (Fontsets): Fix description of
	'set-fontset-font'.
	* src/fontset.c (Fset_fontset_font): Doc fix.  (Bug#32401)

2018-08-07  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of M-?

	* doc/emacs/maintaining.texi (Identifier Search):
	* lisp/progmodes/xref.el (xref-find-references): Improve
	documentation of xref-find-references and
	xref-prompt-for-identifier.  (Bug#32389)

2018-08-07  Ivan Shmakov  <ivan@siamics.net>

	Reinterpret Esperanto characters in iso-transl as iso-8859-3.

	* lisp/international/iso-transl.el (iso-transl-language-alist):
	Reinterpret Esperanto characters as iso-8859-3 (were: iso-8859-1).
	(Bug#32371)

2018-08-07  Eli Zaretskii  <eliz@gnu.org>

	Fix Flyspell mode when several languages are mixed in a buffer

	* lisp/textmodes/flyspell.el (flyspell-external-point-words):
	Handle "misspelled" words that actually belong to a language
	unsupported by the current dictionary.  (Bug#32280)  Fix the test
	for Ispell the program.

2018-08-04  Juri Linkov  <juri@linkov.net>

	New function read-answer (Bug#31782)

	* lisp/emacs-lisp/map-ynp.el (read-answer-short): New defcustom.
	(read-answer): New function.
	* lisp/subr.el (assoc-delete-all): New function.
	* etc/NEWS: Announce them.

	* lisp/dired.el (dired-delete-file): Use read-answer.
	(dired--yes-no-all-quit-help): Remove function.
	(dired-delete-help): Remove defconst.

	(backported from master, "New function read-answer (bug#30073)" and
	"Respect non-saved value of `read-short-answer' (Bug#31782)")

2018-08-02  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in maybe_produce_line_number

	* src/xdisp.c (redisplay_window): Make sure desired_matrix is
	cleared before calling try_window.  This is important when
	display-line-numbers is non-nil, because line-number display code
	assumes each glyph row is completely cleared when it is called to
	produce a line number.  (Bug#32358)

2018-08-02  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in set_text_properties_1

	* src/textprop.c (set_text_properties): If the call to
	modify_text_properties modifies the interval tree as side effect,
	recalculate the correct interval for START and END.  (Bug#32265)

2018-07-31  Stephen Berman  <stephen.berman@gmx.net>

	Fix wdired test failure when byte compiled (bug#32318)

	* test/lisp/wdired-tests.el: Require wdired.  Defvar dired-query
	to silence byte-compiler.

2018-07-30  Stephen Berman  <stephen.berman@gmx.net>

	* test/lisp/wdired-tests.el (wdired-test-symlink-name): New test.

2018-07-29  Raimon Grau  <raimonster@gmail.com>

	Fix url's thing-at-point beginning-op (Bug#32028)

	* lisp/thingatpt.el (url): Fix beginning-op making.

2018-07-29  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in 'char_width'

	* src/character.c (char_width): Make sure variable C is always
	initialized.  (Bug#32276)

2018-07-29  Stephen Berman  <stephen.berman@gmx.net>

	Add initial tests for wdired.el

	* test/lisp/wdired-tests.el: New file.

2018-07-28  Stephen Berman  <stephen.berman@gmx.net>

	Fix use of non-nil wdired-use-interactive-rename

	This is a fairly minimal fix for the release branch; a more
	comprehensive fix is on master, so do not merge this to master.

	* lisp/wdired.el (wdired-search-and-rename): Remove dired-filename
	text property in order to find new filename when it only partially
	replaces old filename (bug#32173).  If user quits before renaming
	succeeds, restore the dired-filename text property.

2018-07-28  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation with mingw.org's MinGW 5.x headers

2018-07-28  Eli Zaretskii  <eliz@gnu.org>

	Update the list of special forms in the ELisp manual

	* doc/lispref/eval.texi (Special Forms):
	* doc/lispref/frames.texi (Mouse Tracking): 'track-mouse' is
	nowadays a macro.  (Bug#32284)

2018-07-28  Noam Postavsky  <npostavs@gmail.com>

	Don't fail to indent-sexp before a full sexp (Bug#31984)

	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only signal error if the
	initial forward-sexp fails.  Suppress scan-error forn any of the
	forward-sexp calls after that.
	* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-cant-go): New
	test.

2018-07-27  Eli Zaretskii  <eliz@gnu.org>

	Fix calls to modifications hooks in replace-buffer-contents

	* src/editfns.c (Freplace_buffer_contents): Call the modification
	hooks on the entire region where replacements could have taken
	place.  The previous attempts of being more accurate just
	introduced bugs.  (Bug#32278)

2018-07-27  Eli Zaretskii  <eliz@gnu.org>

	* src/character.c (char_width): Support glyphs with faces.  (Bug#32276)

2018-07-27  Eli Zaretskii  <eliz@gnu.org>

	Display raw bytes as belonging to 'eight-bit' charset

	* lisp/descr-text.el (describe-char):
	* lisp/simple.el (what-cursor-position): Display characters in the
	range #x3FFF80..#x3FFF9F as belonging to charset 'eight-bit', not
	'tis620-2533'.
	* lisp/international/mule-diag.el (describe-character-set):
	Improve description of :supplementary-p.

2018-07-26  Eli Zaretskii  <eliz@gnu.org>

	Fix inaccurate text in the user manual

	* doc/emacs/mule.texi (International Chars): Correct inaccurate
	description of raw bytes display by "C-x =".

2018-07-26  Michael Albinus  <michael.albinus@gmx.de>

	Copyedits in tramp.texi, improved example with bash's readline

	* doc/misc/tramp.texi (all): Unify some wordings.
	(Frequently Asked Questions): Update example with bash's readline.

2018-07-25  Michael Albinus  <michael.albinus@gmx.de>

	Minor Tramp doc update

	* doc/misc/tramp.texi (Frequently Asked Questions): Disable bash's
	INPUTRC.

2018-07-25  Michael Albinus  <michael.albinus@gmx.de>

	File Shadowing is not available on MS Windows

	* doc/emacs/files.texi (File Shadowing): File Shadowing is not
	available on MS Windows.

	* test/lisp/shadowfile-tests.el (shadow-test00-clusters)
	(shadow-test01-sites, shadow-test02-files)
	(shadow-test03-expand-cluster-in-file-name)
	(shadow-test04-contract-file-name, shadow-test05-file-match)
	(shadow-test06-literal-groups, shadow-test07-regexp-groups)
	(shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
	Skip under MS Windows.

2018-07-24  Noam Postavsky  <npostavs@gmail.com>

	Let bookmark-jump override window-point (Bug#31751)

	* lisp/bookmark.el (bookmark-jump): Use pop-to-buffer-same-window
	instead of switch-to-buffer, the latter obeys
	switch-to-buffer-preserve-window-point and so loses the bookmark's
	point.

2018-07-23  Noam Postavsky  <npostavs@gmail.com>

	Omit keymap from subword-mode docstring (Bug#32212)

	* lisp/progmodes/subword.el (subword-mode): Remove listing of
	subword-mode-map bindings, since it is empty as of 2014-03-23 "Merge
	capitalized-words-mode and subword-mode".

2018-07-23  Tino Calancha  <tino.calancha@gmail.com>
	    Noam Postavsky  <npostavs@gmail.com>

	Prevent line-mode term from showing user passwords

	For buffers whose mode derive from comint-mode, the user password is
	read from the minibuffer and it's hidden.  A buffer in term-mode and
	line submode, instead shows the passwords.  Make buffers in line
	term-mode to hide passwords too (Bug#30190).

	* lisp/term.el (term-send-invisible): Prefer the more robust
	`read-passwd' instead of `term-read-noecho'.
	(term-watch-for-password-prompt): New function.
	(term-emulate-terminal): Call it each time we receive non-escape
	sequence output.

2018-07-22  Jonathan Kyle Mitchell  <kyle@jonathanmitchell.org>

	Check for special filenames in eshell (Bug#30724)

	* lisp/eshell/esh-cmd.el (eshell-lisp-command): Check for "~"
	in lisp commands with the eshell-filename-arguments property
	(Bug#30724).

	* lisp/eshell/em-dirs.el (eshell/cd, eshell/pushd, eshell/popd):
	* lisp/eshell/em-ls.el (eshell/ls):
	* lisp/eshell/em-unix.el (eshell/rm, eshell/mkdir, eshell/rmdir)
	(eshell/mv, eshell/cp, eshell/ln, eshell/cat, eshell/du, eshell/diff):
	* lisp/eshell/esh-ext.el (eshell/addpath): Add
	eshell-filename-arguments to symbol plist.

2018-07-22  Noam Postavsky  <npostavs@gmail.com>

	Fix indent-sexp of #s(...) (Bug#31984)

	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Look for a sexp that
	ends after the current line.
	* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-go): New test.

2018-07-22  Noam Postavsky  <npostavs@gmail.com>

	Add save-match-data to abbreviate-file-name (Bug#32201)

	* lisp/files.el (abbreviate-file-name): Save match-data around
	expand-file-name; it is not guaranteed to preserve match-data, and may
	well do so depending on what file handlers and hooks are in effect.

2018-07-21  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in editfns.c

	* src/editfns.c (Freplace_buffer_contents): Fix last change: always
	call buffer modification hooks, even if nothing was deleted/inserted.
	(bug#32237)

2018-07-21  Eli Zaretskii  <eliz@gnu.org>

	Fix calls to buffer modification hooks from replace-buffer-contents

	* src/editfns.c (Freplace_buffer_contents): Don't call buffer
	modification hooks if nothing was deleted/inserted.  (Bug#32237)

2018-07-21  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32226

	* lisp/shadowfile.el (shadow-site-name, shadow-name-site):
	Use "[-.[:word:]]+" as hostname regexp.  (Bug#32226)

	* test/lisp/shadowfile-tests.el (shadow-test06-literal-groups)
	(shadow-test07-regexp-groups, shadow-test08-shadow-todo)
	(shadow-test09-shadow-copy-files): Skip if needed.

2018-07-21  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings of several variables in keyboard.c

	* src/keyboard.c (syms_of_keyboard) <debug-on-event>
	<attempt-stack-overflow-recovery>
	<attempt-orderly-shutdown-on-fatal-signal>: Make sure the first
	sentence of the doc string fits on a single line.

2018-07-20  Michael Albinus  <michael.albinus@gmx.de>

	Fix (Bug#32218).  Do not merge with master

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.3.4.26.2".
	(customize-package-emacs-version-alist): Add Tramp version
	integrated in Emacs 26.2.

	* lisp/net/tramp.el (tramp-handle-file-truename):
	* lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename): Fix problem
	with trailing slash.  (Bug#32218)

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
	Remove `tramp--test-emacs27-p' check.

2018-07-20  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'pcase-defmacro rx'

	* lisp/emacs-lisp/rx.el (rx): Clarify and improve the doc string.
	For the details, see the discussion starting at
	https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00399.html.

2018-07-19  Eli Zaretskii  <eliz@gnu.org>

	Fix TTY colors breakage by 'clear-face-cache'

	Without examining the right frame, 'tty-color-24bit' was erroneously
	treating a GUI frame as a 24-bit TTY frame.
	* lisp/term/tty-colors.el (tty-color-24bit): Accept optional
	argument DISPLAY and pass it to display-color-cells.  Doc fix.
	(tty-color-define, tty-color-desc): Pass the FRAME argument to
	tty-color-24bit.  (Bug#32072)

2018-07-18  Michael Albinus  <michael.albinus@gmx.de>

	* admin/MAINTAINERS: Add files maintained by me (Michael Albinus).

2018-07-18  Michael Albinus  <michael.albinus@gmx.de>

	Adapt shadowfile.el for Tramp  (Bug#4526, Bug#4846)

	* etc/NEWS: Mention changes in shadowfile.el.

	* lisp/shadowfile.el (top): Require 'tramp instead of 'ange-ftp.
	(shadow-cluster): New defstruct.
	(shadow-make-cluster, shadow-cluster-name, shadow-cluster-primary)
	(shadow-cluster-regexp, shadow-get-user)
	(shadow-parse-fullname): Remove.
	(shadow-info-file, shadow-todo-file, shadow-system-name)
	(shadow-homedir, shadow-regexp-superquote, shadow-suffix)
	(shadow-set-cluster, shadow-get-cluster, shadow-site-name)
	(shadow-name-site, shadow-site-primary, shadow-site-cluster)
	(shadow-read-site, shadow-parse-name, shadow-make-fullname)
	(shadow-replace-name-component, shadow-local-file)
	(shadow-expand-cluster-in-file-name, shadow-contract-file-name)
	(shadow-same-site, shadow-file-match, shadow-define-cluster)
	(shadow-define-literal-group, shadow-define-regexp-group)
	(shadow-make-group, shadow-shadows-of-1, shadow-read-files)
	(shadow-write-info-file, shadow-write-todo-file)
	(shadow-initialize): Adapt variables and functions.

	* test/lisp/shadowfile-tests.el: New file.

2018-07-18  Noam Postavsky  <npostavs@gmail.com>

	Fix auth-source-delete (Bug#26184)

	* lisp/auth-source.el (auth-source-delete): Fix `auth-source-search'
	call.
	* test/lisp/auth-source-tests.el (auth-source-delete): New test.

2018-07-17  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in gnutls.c

	* src/gnutls.c (Fgnutls_hash_digest, gnutls_symmetric)
	(Fgnutls_hash_mac): Check CONSP before invoking XCDR.  (Bug#32187)
	Report values of invalid arguments when signaling an error.

2018-07-14  Eli Zaretskii  <eliz@gnu.org>

	Don't use a literal "C-u" in ispell.el  help message text

	* lisp/textmodes/ispell.el (ispell-command-loop): Use
	"\\[universal-argument]" instead of a literal "C-u".  (Bug#32142)

2018-07-14  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'seqp'

	* doc/lispref/sequences.texi (Sequence Functions): Add text to
	explain the relation between 'seqp' and 'sequencep'.  (Bug#32125)

2018-07-14  Eli Zaretskii  <eliz@gnu.org>

	Clarify usage and dependencies between several Flyspell features

	* lisp/textmodes/flyspell.el (flyspell-region)
	(flyspell-small-region, flyspell-persistent-highlight):
	Documentation improvements.  (Bug#32142)

2018-07-13  Michael Albinus  <michael.albinus@gmx.de>

	Use consistent function names in thread-tests.el

	* test/src/thread-tests.el (threads-call-error, threads-custom)
	(threads-errors, threads-sticky-point, threads-signal-early):
	Rename, using naming convention to prefix with "threads-".

2018-07-13  Michael Albinus  <michael.albinus@gmx.de>

	Fix format error in Faccept_process_output

	* src/process.c (Faccept_process_output): Do not use format spec
	"%p", it isn't valid for error().

2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	Lessen stack consumption in recursive read1

	* src/lread.c (read1): Shrink local buffer size from
	MAX_ALLOCA to 128 (Bug#31995).

2018-07-13  Noam Postavsky  <npostavs@gmail.com>

	Match w32 paths in grep sans --null hits (Bug#32051)

	* lisp/progmodes/grep.el (grep-regexp-alist): Add an optional part to
	match paths starting with C: (other drive letters).
	* test/lisp/progmodes/compile-tests.el
	(compile-tests--grep-regexp-testcases)
	(compile-tests--grep-regexp-tricky-testcases)
	(compile-test-grep-regexps): New tests.
	(compile--test-error-line): Return `compilation-message'.

2018-07-13  Noam Postavsky  <npostavs@gmail.com>

	Fix previous make-network-process change

	* src/process.c (Fmake_network_process): On 2018-07-09 "Explicitly
	reject :server and :nowait (Bug#31903)", the sense of the SERVER check
	was accidentally reversed so that we ended up looking for the wrong
	ADDRESS.  Reported by T.V Raman in
	<https://lists.gnu.org/r/emacs-devel/2018-07/msg00437.html>.

2018-07-12  Eli Zaretskii  <eliz@gnu.org>

	Another documentation improvement in flyspell.el

	* lisp/textmodes/flyspell.el (flyspell-persistent-highlight): Doc
	fix.

2018-07-12  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Flyspell

	For the background, see
	https://lists.gnu.org/archive/html/help-gnu-emacs/2018-07/msg00099.html.

	* doc/emacs/fixit.texi (Spelling): Add a couple of caveats.
	* lisp/textmodes/flyspell.el: Update commentary.

2018-07-12  Michael Albinus  <michael.albinus@gmx.de>

	Provide feature 'threads

	* src/thread.c (syms_of_threads): Provide feature "threads".

	* test/src/thread-tests.el (top): Declare the functions.
	(all): Use (featurep 'threads) check.

2018-07-11  Miciah Masters  <miciah.masters@gmail.com>  (tiny change)

	Save the server alias on reconnect (Bug#29657)

	rcirc does not retain the server alias on reconnect.  As a result, rcirc
	fails to reuse server and channel buffers when an alias is used.  Further
	problems may ensue when aliases are used to differentiate multiple
	connections to the same host, for example when using a single IRC bouncer
	or proxy to connect to multiple IRC networks.

	Save the server alias when connecting to a server so that reconnect will
	retain the alias.
	* lisp/net/rcirc.el (rcirc-connect): Include server-alias when setting
	rcirc-connection-info.

2018-07-11  Basil L. Contovounesios  <contovob@tcd.ie>

	Refer to "proper lists" instead of "true lists"

	* doc/lispref/lists.texi (Cons Cells, Building Lists):
	* doc/lispref/sequences.texi (Vector Functions): Use the more
	popular term "proper", rather than "true", to qualify nil-terminated
	lists.

	For discussion, see the following emacs-devel subthreads:
	https://lists.gnu.org/r/emacs-devel/2018-06/msg00112.html
	https://lists.gnu.org/r/emacs-devel/2018-06/msg00138.html

2018-07-10  John Shahid  <jvshahid@gmail.com>

	Avoid turning on the global-minor-mode recursively

	* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Clear
	the buffer-list inside MODE-enable-in-buffers to avoid enabling the
	mode recursively.  (Bug#31793)

2018-07-10  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32085

	* doc/misc/tramp.texi (GVFS based methods): `dav' and `davs' do
	not support paths in the volume name.  (Bug#32085)

2018-07-10  Noam Postavsky  <npostavs@gmail.com>

	Stop using indent-line-to in lisp-indent-line (Bug#32014)

	This is partial revert of "Remove ignored argument from
	lisp-indent-line", because `indent-line-to' doesn't respect field
	boundaries.
	* lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Use delete-region
	and indent-to instead of `indent-line-to'.
	* test/lisp/emacs-lisp/lisp-mode-tests.el
	(lisp-indent-with-read-only-field): Expect to pass.

	Don't merge to master, we will fix indent-line-to there instead.

2018-07-10  Noam Postavsky  <npostavs@gmail.com>

	Explicitly reject :server and :nowait (Bug#31903)

	* src/process.c (Fmake_network_process): Explicitly check for and
	signal an error when passed both :server and :nowait non-nil.  In
	Emacs 25, :nowait would be ignored in this case, but as of Emacs 26.1
	this gives an error, albeit an unclear one.  Also remove obsolete
	comment regarding configurations lacking non-blocking mode, the
	corresponding code was removed in 2012-11-17 "Assume POSIX 1003.1-1988
	or later for fcntl.h."

2018-07-09  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32090

	* lisp/files-x.el (connection-local-normalize-criteria): Do not
	use PROPERTIES anymore.
	(connection-local-get-profiles): Rewrite, in order to accept any
	property as optional.  (Bug#32090)
	(connection-local-set-profiles):
	Adapt ´connection-local-normalize-criteria' call.

	* test/lisp/files-x-tests.el
	(files-x-test-connection-local-set-profiles)
	(files-x-test-hack-connection-local-variables-apply): Extend tests.

2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix floating point exceptions on Alpha (Bug#32086)

	Backport from master.
	* admin/merge-gnulib (GNULIB_MODULES): Add fpieee.
	* m4/fpieee.m4: New file, copied from Gnulib.
	* m4/gnulib-comp.m4: Regenerate.

2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bootstrap infloop in GNU/Linux alpha

	* src/emacs.c (main): Do not re-exec if EMACS_HEAP_EXEC
	is already set (Bug#32083).

2018-07-08  Eli Zaretskii  <eliz@gnu.org>

	Minor fix of a recent documentation change

	* lisp/net/gnutls.el (gnutls-algorithm-priority): Clarify the doc
	string.

2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the NSM in the gnutls variable doc strings

	* lisp/net/gnutls.el (gnutls-algorithm-priority): Mention the Network
	Security Manager here since this variable is an obvious place
	for people concerned about network security to look.
	(gnutls-verify-error): Ditto.
	(gnutls-min-prime-bits): Ditto.

2018-07-08  Michael Albinus  <michael.albinus@gmx.de>

	Remove test code from last commit

2018-07-08  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#32084

	* test/lisp/net/dbus-tests.el (dbus-test02-register-service-own-bus):
	Unset $DISPLAY when calling dbus-launch, in order to avoid
	possible X11 authentication errors.  (Bug#32084)

2018-07-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix (length NON-SEQUENCE) documentation

	Suggested by Eli Zaretskii <eliz@gnu.org> in the following threads:
	https://lists.gnu.org/r/emacs-devel/2018-07/msg00171.html
	https://lists.gnu.org/r/emacs-devel/2018-07/msg00206.html

	* doc/lispref/sequences.texi (Sequence Functions): Mention that
	'length' signals a 'wrong-type-argument' also when given a
	non-sequencep argument.

2018-07-07  Eli Zaretskii  <eliz@gnu.org>

	Fix bug #11732

	* src/w32fns.c (w32_wnd_proc): Fix handling of Windows input
	methods.  (Bug#11732)

2018-07-07  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'emacs-lock-mode'

	* lisp/emacs-lock.el (emacs-lock-mode): Mention in the doc string
	the special handling of some major modes due to
	'emacs-lock-unlockable-modes'.

2018-07-07  Eli Zaretskii  <eliz@gnu.org>

	* lisp/imenu.el (imenu-generic-expression): Doc fix.  (Bug#32016)

2018-07-07  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing of 'eval-defun' in ELisp manual

	* doc/lispref/display.texi (Defining Faces):
	* doc/lispref/debugging.texi (Explicit Debug):
	* doc/lispref/customize.texi (Variable Definitions):
	* doc/lispref/variables.texi (Defining Variables): Add index
	entries for 'eval-defun'.  (Bug#32066)

2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	Fix (length CIRCULAR) documentation

	* doc/lispref/sequences.texi (Sequence Functions):
	Correct documentation of what (length X) does when
	X is a circular list.

2018-07-06  Michael Albinus  <michael.albinus@gmx.de>

	Tramp editorials

	* doc/misc/tramp.texi (Android shell setup): Mention Termux.

	* lisp/net/tramp-sh.el (tramp-remote-process-environment):
	Use proper spelling "Tramp" in docstring.

2018-07-06  Eli Zaretskii  <eliz@gnu.org>

	Clarify and improve doc strings of 'eval-last-sexp' and friends

	* lisp/simple.el (eval-expression, eval-expression-print-format):
	* lisp/progmodes/elisp-mode.el (eval-last-sexp): Doc fixes.
	(Bug#32064)

2018-07-06  Glenn Morris  <rgm@gnu.org>

	Automate upload of Emacs manuals to gnu.org

	* admin/make-manuals, admin/upload-manuals: New scripts.
	* admin/admin.el (make-manuals, make-manuals-dist): Handle batch mode.
	* admin/make-tarball.txt: Update web-page details.

2018-07-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>

	Fix MH-E mail composition with GNU Mailutils (SF#485)

	* lisp/mh-e/mh-comp.el (mh-bare-components): Recursively delete
	the temporary folder.

2018-07-03  Eli Zaretskii  <eliz@gnu.org>

	Speed up 'replace-buffer-contents' some more

	* src/editfns.c (EXTRA_CONTEXT_FIELDS): New members beg_a and beg_b.
	(Freplace_buffer_contents): Set up ctx.beg_a and ctx.beg_b.
	(buffer_chars_equal): Use ctx->beg_a and ctx->beg_b instead of
	calling BUF_BEGV, which is expensive.  This speeds up the recipe
	in bug#31888 by 30%.

2018-07-03  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/docstyle.texi: Avoid messing up the html output.

	Previously the @hyphenation commands somehow caused the <head>
	section to go missing, with makeinfo 4.13 at least.

2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/HISTORY: Cite Brinkhoff on early history.

2018-07-01  Martin Rudalics  <rudalics@gmx.at>

	Document internal use of 'above-suspended' z-group frame parameter

	* src/w32fns.c (w32_dialog_in_progress, x_set_z_group):
	* src/xterm.c (x_set_z_group): Clarify the internal use of
	'above-suspended' when setting a frame's 'z-group' parameter.

2018-06-30  Gemini Lasswell  <gazally@runbox.com>

	Increase max-lisp-eval-depth adjustment while in debugger (bug#31919)

	* src/eval.c (call_debugger): Increase the amount of extra Lisp
	evaluation depth given to the debugger to allow it to call cl-print.
	* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Add a comment
	to suggest updating call_debugger when changing print-level.

2018-06-30  Eli Zaretskii  <eliz@gnu.org>

	Improve on last change in replace-buffer-contents

	* src/editfns.c (Freplace_buffer_contents): Call modification
	hooks only for the actual region where changes are made.
	(Bug#31888)

2018-06-30  Eli Zaretskii  <eliz@gnu.org>

	Fix a factual error in Introduction to Emacs Lisp

	* doc/lispintro/emacs-lisp-intro.texi (Buffer Names): Update the
	key that exits the splash screen.  (Bug#32019)

2018-06-30  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements in documentation of imenu.el

	* lisp/imenu.el (imenu-generic-skip-comments-and-strings)
	(imenu--generic-function): Doc fixes.  (Bug#31962)

2018-06-30  Eli Zaretskii  <eliz@gnu.org>

	Avoid errors with recentering in 'skeleton-insert'

	* lisp/skeleton.el (skeleton-insert): Don't recenter if we are
	running in a buffer other than the one displayed in the selected
	window.  (Bug#31950)

2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>

	* src/lisp.h: Omit obsolete comment re bytecode stack.

2018-06-29  Eli Zaretskii  <eliz@gnu.org>

	Speed up replace-buffer-contents

	* src/editfns.c (EXTRA_CONTEXT_FIELDS): Add a_unibyte and
	b_unibyte members.
	(rbc_quitcounter): New static variable.
	(Freplace_buffer_contents): Initialize a_unibyte, b_unibyte, and
	rbc_quitcounter.  Inhibit modification hooks if they were not
	already inhibited.  Use rarely_quit to allow user to quit, to
	avoid calling maybe_quit too frequently (which hurts performance).
	Remove redundant assertions (which hurt performance too much).
	Call signal_after_change and update_compositions after all the
	changes are done.
	(buffer_chars_equal): Remove redundant assertions (which hurt
	performance).  Avoid using BUF_FETCH_CHAR_AS_MULTIBYTE, which
	hurts performance by referencing Lisp symbols; instead, use
	lower-level macros with explicit tests to select which macro to
	use.  (Bug#31888)

2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>

	Remove extra process call from vc-git-find-file-hook

	* lisp/vc/vc-git.el (vc-git-find-file-hook): Resolve FIXMEs.

2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>

	Speed up vc-git-dir-status-files

	* lisp/vc/vc-git.el (vc-git-dir-status-goto-stage): Call 'git
	ls-files -u' for the ls-files-conflict stage
	(https://lists.gnu.org/r/emacs-devel/2018-06/msg00885.html).

2018-06-27  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warning using coding.h

	* src/coding.h: Add INLINE_HEADER_BEGIN..INLINE_HEADER_END, since
	this header now has an extern INLINE function.

2018-06-27  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp 2.3.4.  Do not merge with master

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.3.4".

	* lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
	Check, that the directory has been removed indeed.

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links): Adapt test.
	(tramp--test-emacs25-p): New defun.
	(tramp-test34-vc-registered): Use it.

2018-06-27  Martin Rudalics  <rudalics@gmx.at>

	* src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string (Bug#31975)

2018-06-26  Noam Postavsky  <npostavs@gmail.com>

	Detect a non-list package archive content properly (Bug#22311)

	* lisp/emacs-lisp/package.el (package--download-one-archive): Use
	`read' instead of `read-from-string'; the latter always returns a
	cons, so the `listp' check on its return value doesn't make sense.  It
	was changed from `read' to `read-from-string' in 2015-04-01 "*
	emacs-lisp/package.el: Implement asynchronous refreshing", but that
	change was not needed because `read' works fine on strings as well as
	buffers.

2018-06-25  Christophe Junke  <junke.christophe@gmail.com>  (tiny change)

	Add ido-fallback special variable (Bug#31707)

	Before ido.el switch to lexical-binding, it was possible for other
	packages to modify the 'fallback' variables declared inside
	'ido-file-internal' and 'ido-buffer-internal'.
	* lisp/ido.el (ido-fallback): New variable.
	(ido-buffer-internal, ido-file-internal): Reset ido-fallback to nil
	before prompting user.  Use ido-fallback when ido-exit is 'fallback'.
	(ido-fallback-command): Add optional FALLBACK-COMMAND argument.

2018-06-25  Karl Fogel  <kfogel@red-bean.com>

	Tighten a cross-reference in documentation

	* doc/lispref/internals.texi (Writing Emacs Primitives): Switch to
	  a simple parenthetical cross-reference, following up to my
	  commit 9a53b6d426 of 2018-06-24.

	See discussion:

	  https://lists.gnu.org/r/emacs-devel/2018-06/msg00826.html
	  From: Eli Zaretskii
	  Subject: Re: [Emacs-diffs] \
	           emacs-26 9a53b6d: Say how to override a primitive interactive spec
	  To: Karl Fogel
	  CC: Stefan Monnier, Emacs Devel
	  Date: Mon, 25 Jun 2018 17:41:53 +0300
	  Message-Id: <83r2kvrkr2.fsf@gnu.org>

2018-06-25  Michael Albinus  <michael.albinus@gmx.de>

	Fix last change in tramp-sh.el

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly):
	Use "-R" rather than "-r" for recursive copy of directories.

2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>

	Revert previous patch; comment was OK after all.

2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>

	Fix lead comment for count_trailing_zero_bits

	* src/data.c (count_trailing_zero_bits): Fix comment to match code.

2018-06-24  Noam Postavsky  <npostavs@gmail.com>

	* lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix docstring quotes.

2018-06-24  Simen Heggestøyl  <simenheg@gmail.com>

	Make a minor update to the CSS mode docstring

	* lisp/textmodes/css-mode.el (css-mode): Mention 'fill-paragraph'.

2018-06-24  Karl Fogel  <kfogel@red-bean.com>

	Say how to override a primitive interactive spec

	* doc/lispref/internals.texi (Writing Emacs Primitives): Mention that
	  the `interactive-form' property can be used to override a primitive
	  interactive specification, and refer to the detailed documentation
	  for setting that property.

	From this thread on Emacs Devel:

	  https://lists.gnu.org/r/emacs-devel/2018-03/msg00923.html
	  From: Eli Zaretskii
	  To: Karl Fogel
	  CC: Juri Linkov, Emacs Devel
	  Subject: Re: [Emacs-diffs] \
	           master b88e7c8: Make transpose-regions interactive (Bug#30343)
	  Date: Thu, 29 Mar 2018 14:38:15 +0300
	  Message-Id: <834lkzdsd4.fsf@gnu.org>

2018-06-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#31941

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): In case of
	FILENAME being a directory, check whether `copy-directory' could
	be avoided.  Suggested by Stephen Nutt <stnutt@gmail.com>.  (Bug#31941)
	(tramp-do-copy-or-rename-file-directly): Call "cp" with "-r".

2018-06-23  Leo Liu  <sdl.web@gmail.com>

	Fix previous change in minibuffer-default-add-dired-shell-commands

	The mailcap minibuffer completion used dynamic binding.  Locally set
	a dynamic variable.
	* lisp/dired-aux.el (minibuffer-default-add-dired-shell-commands):
	Store list of files in 'minibuffer-completion-table'.  (Bug#31794)

2018-06-23  Eli Zaretskii  <eliz@gnu.org>

	* src/editfns.c (Fformat): Make %x easier to spot in doc string.  (Bug#31945)

2018-06-23  Eli Zaretskii  <eliz@gnu.org>

	Improve responsiveness while in 'replace-buffer-contents'

	* src/editfns.c (buffer_chars_equal): Avoid calling
	buf_charpos_to_bytepos when the buffer is plain-ASCII.
	Suggested by Milan Stanojević <mstanojevic@janestreet.com>.
	Call maybe_quit to improve responsiveness.
	(Freplace_buffer_contents): Call maybe_quit.  Warn in the doc
	string that the function could be slow.  (Bug#31888)

2018-06-23  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'server-start' and friends

	* lisp/server.el (server-start, server-running-p): Document how to
	reliably check that the current Emacs process started the server.
	(Bug#31859)

2018-06-23  Eli Zaretskii  <eliz@gnu.org>

	Clarify wording about functions' argument lists

	* doc/lispref/functions.texi (Argument List): Clarify the
	wording.  (Bug#31872)

2018-06-23  Eli Zaretskii  <eliz@gnu.org>

	* lisp/doc-view.el: Fix typos in the commentary.  (Bug#31937)

2018-06-22  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in emacs-lisp-intro.texi

	* doc/lispintro/emacs-lisp-intro.texi (kill-ring-yank-pointer):
	Add a missing quote.  Reported by Jean-Christophe Helary
	<brandelune@gmail.com> in emacs-devel.

2018-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	Fix doc typo: missing double-quote

2018-06-22  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults in replace-buffer-contents with large buffers

	* src/editfns.c (Freplace_buffer_contents): Don't release
	malloc'ed memory as long as we are using it.  (Bug#31888)

2018-06-22  Robert Pluim  <rpluim@gmail.com>

	Adjust for scaling for mode-line popup menus (Bug#31880)

	* src/xmenu.c (menu_position_func) [HAVE_GTK3]: Take scaling
	into account when calculating screen size.

2018-06-21  Simen Heggestøyl  <simenheg@gmail.com>

	Change name of `seqp' argument (Bug#26411)

	* lisp/emacs-lisp/seq.el (seqp): Change argument name.

	* doc/lispref/sequences.texi: Update the documentation for seqp.

2018-06-20  Noam Postavsky  <npostavs@gmail.com>

	Change index of ";" to better reflect it's usage (Bug#31623)

	* doc/lispref/objects.texi (Comments): "; for commenting" fits better
	with the following text about how a semicolon begins a comment.  Also
	mention that only unescaped semicolons start a comment.

2018-06-20  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Fix bug of 'mouse-drag-and-drop-region' to detect edges of region (Bug#31905)

	* lisp/mouse.el (mouse-drag-and-drop-region): Detect both the
	beginning and the end of character of region during dragging
	text.

2018-06-19  Noam Postavsky  <npostavs@gmail.com>

	Fix #'fun handling inside `labels' (Bug#31792)

	* lisp/emacs-lisp/cl.el (labels): Apply the equivalent of the
	cl-labels change from 2015-01-16 "* lisp/emacs-lisp/cl-macs.el: Fix
	last change".
	* test/lisp/emacs-lisp/cl-tests.el (labels-function-quoting): New
	test.
	* lisp/emacs-lisp/cl-macs.el (cl-flet, cl-labels): Improve docstring,
	link to relevant manual page.
	* doc/misc/cl.texi (Function Bindings): Don't imply that function
	cells of symbols are modified by cl-flet.  Don't claim that cl-flet or
	cl-labels affect references of the form (quote FUNC).

2018-06-18  Eli Zaretskii  <eliz@gnu.org>

	Fix vertical-motion with 'visual' line-number display

	* src/indent.c (Fvertical_motion): Don't exempt 'visual' sty;e of
	line-number display from X coordinate adjustments.  (Bug#31875)

2018-06-17  Alan Third  <alan@idiocy.org>

	Handle NSAttributedString inputs (bug#29837)


	* src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.

2018-06-17  Philipp Stephani  <phst@google.com>

	Allow inserting non-BMP characters

	* src/coding.h (UTF_16_HIGH_SURROGATE_P, UTF_16_LOW_SURROGATE_P): Move
	from coding.c and document.
	(surrogates_to_codepoint): New function.

	* src/nsterm.m (insertText:): Properly handle surrogate pairs.

	(cherry picked from commit 703ac3ea1c1ce381f385469a0e88bc29d3fe83c2)

2018-06-17  Aaron Jensen  <aaronjensen@gmail.com>

	Prevent errant scroll on mouse click (Bug#31546)

	* src/nsterm.m (ns_mouse_position): Use correct frame when determining
	  mouse position.
	* lisp/mouse.el (mouse-drag-track): Only account for mode-line height
	  if `mode-line-format' is non-nil.

2018-06-17  Eli Zaretskii  <eliz@gnu.org>

	Minor documentation fix

	* doc/lispref/windows.texi (Window Start and End): Improve
	documentation and indexing of window-end.

2018-06-16  Eli Zaretskii  <eliz@gnu.org>

	* lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug#31858)

2018-06-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix byte compilation of (eq foo 'default)

	Backport from master.
	Do not use the symbol ‘default’ as a special marker.
	Instead, use a value that cannot appear in the program,
	improving on a patch proposed by Robert Cochran (Bug#31718#14).
	* lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
	New constant.
	(byte-compile-cond-jump-table-info)
	(byte-compile-cond-jump-table): Use it instead of 'default.
	* test/lisp/emacs-lisp/bytecomp-tests.el:
	(byte-opt-testsuite-arith-data): Add a test for the bug.

2018-06-16  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#31846.  Do not merge with master

	* lisp/net/secrets.el (secrets-search-items)
	(secrets-create-item): Fix format of :dict-entry values.  (Bug#31846)

2018-06-16  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of ':propertize' in mode-line-format

	* doc/lispref/modes.texi (Mode Line Data): Make the description of
	':propertize' more accurate.  (Bug#26291)

2018-06-15  Eli Zaretskii  <eliz@gnu.org>

	Reject invalid 5-byte sequences when detecting UTF-8 encoding

	* src/coding.c (detect_coding_utf_8): Reject multibyte sequences
	whose leading byte is greater than MAX_MULTIBYTE_LEADING_CODE.
	(Bug#31829)
	* src/character.h (MAX_MULTIBYTE_LEADING_CODE): Add commentary
	about the connection between the value of this macro and MAX_CHAR.

2018-06-15  Eli Zaretskii  <eliz@gnu.org>

	Fix 'replace-buffer-contents' in multibyte buffers

	* src/editfns.c (buffer_chars_equal): Pass a byte position to
	BUF_FETCH_CHAR_AS_MULTIBYTE, not a character position.
	(Bug#31837)

	* test/src/editfns-tests.el (replace-buffer-contents-bug31837):
	New test.

2018-06-15  Robert Pluim  <rpluim@gmail.com>

	Update etc/NEWS for mail-source-movemail-program change

	* etc/NEWS: Describe change in how we search for
	mail-source-movemail-program.

2018-06-15  Robert Pluim  <rpluim@gmail.com>

	Improve movemail default

	* lisp/gnus/mail-source.el (mail-source-movemail-program):
	Change default to "movemail".
	(mail-source-movemail): Pass just mail-source-movemail-program to
	call-process instead of fully specifying it relative to
	exec-directory.  Ensures that we will find Mailutils movemail if
	it is installed.  (Bug#31737)

2018-06-15  Eli Zaretskii  <eliz@gnu.org>

	Delete description of deleted Customize functions

	* doc/lispref/customize.texi (Variable Definitions): Remove the
	description of 'custom-initialize-safe-set' and
	'custom-initialize-safe-default', which were deleted in Emacs
	23.2, and replace with the description of
	'custom-initialize-delay'.

2018-06-14  Noam Postavsky  <npostavs@gmail.com>

	Keep vc-print-log from putting point at buffer end (Bug#31764)

	* lisp/vc/vc.el (vc-print-log-internal): Use `save-excursion' around
	`vc-print-log-setup-buttons'.

2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t set EMACS=t if Bash is 4.4 or newer

	(Backport from master.)
	(Thanks to Stefan Monnier for improvements to this patch.)
	* lisp/term.el (term--bash-needs-EMACS-status): New var.
	(term--bash-needs-EMACSp): New function.
	(term-exec-1): Use it instead of always setting EMACS.

2018-06-14  Eli Zaretskii  <eliz@gnu.org>

	Improve commentary in info.el

	* lisp/info.el: Explain in commentary why some commands start with
	"info-" and others with "Info-".  See also
	https://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00482.html.

2018-06-13  Michael Albinus  <michael.albinus@gmx.de>

	Fix wording in tramp.texi

	* doc/misc/tramp.texi (Frequently Asked Questions):
	Fix wording for abbreviations.

2018-06-13  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Remote shell setup): Fix typo.

2018-06-12  Sam Steingold  <sds@gnu.org>

	Finish the Bug#11728 work: hg & git

	* lisp/vc/vc-git.el (vc-git--pushpull): Make `extra-args' a list.
	Do not set `compilation-error-regexp-alist', this is done in
	`vc-compilation-mode'.
	(vc-git-error-regexp-alist): Tweak the regexp.
	* lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Make non-trivial.
	(vc-hg--pushpull): Accept `post-processing' argument.
	Call them after the `command'.
	(vc-hg-pull): Pass the `post-processing' commands that show which
	are to be modified by the `update', and then run `update'.

2018-06-12  Sam Steingold  <sds@gnu.org>

	Fix Bug#11728: show files updated by git

	* lisp/vc/vc-git.el (vc-git--pushpull): Accept extra-args and set
	`compilation-error-regexp-alist' to `vc-git-error-regexp-alist'.
	(vc-git-pull): Pass "--stat" as `extra-args' to `vc-git--pushpull'.
	(vc-git-push): Pass "" as `extra-args' to `vc-git--pushpull'.

2018-06-12  Noam Postavsky  <npostavs@gmail.com>

	Make 'tags' targets respect --with-silent-rules (Bug#31744)

	* lwlib/Makefile.in (TAGS):
	* lisp/Makefile.in (TAGS):
	* src/Makefile.in (TAGS): Use AM_V_GEN and AM_V_at.
	* src/Makefile.in: Note that TAGS are generated in build dir.

2018-06-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
	    Noam Postavsky  <npostavs@gmail.com>

	soap-client: Add byte-code compatibility function (Bug#31742)

	* lisp/net/soap-client.el: Bump version to 3.1.4.
	(soap-type-of): New function.
	(soap-resolve-references, soap-decode-type)
	(soap-encode-attributes, soap-encode-value): Replace aref
	calls with calls to soap-type-of.

	* lisp/net/soap-inspect.el (soap-sample-value, soap-inspect):
	Replace aref calls with calls to soap-type-of.


	Backport: (cherry picked from commit
	1feb2e221349f26ec26bc684e0cce2acecbed3ca)

2018-06-11  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/files.texi (Unique File Names): Fix a typo.  (Bug#31784)

2018-06-10  Noam Postavsky  <npostavs@gmail.com>

	Fix term.el cursor movement at bottom margin (Bug#31690)

	* lisp/term.el (term-handle-ansi-escape) <\E[B cud>: Allow moving the
	cursor to the bottom margin line, rather than stopping one line
	before.

2018-06-10  Reuben Thomas  <rrt@sc3d.org>

	Call enchant-lsmod correctly when Enchant is installed with a suffix

	* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Cope with a
	version suffix on the binary name, so enchant-2 is converted to
	enchant-lsmod-2, not enchant-2-lsmod.  (Bug#31761)

	(cherry picked from commit a402d9aacbecf4bf0b9afde592a3b90c71f96832)

2018-06-09  Eli Zaretskii  <eliz@gnu.org>

	Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds

	* src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 23MB.  Reported by
	Andy Moreton <andrewjmoreton@gmail.com>.

2018-06-09  Eli Zaretskii  <eliz@gnu.org>

	Update Unicode data files to version 11.0.0 of Unicode

	* admin/unidata/UnicodeData.txt:
	* admin/unidata/SpecialCasing.txt:
	* admin/unidata/NormalizationTest.txt:
	* admin/unidata/copyright.html:
	* admin/unidata/BidiMirroring.txt:
	* admin/unidata/BidiBrackets.txt: Import from Unicode 11.0.
	* admin/notes/unicode: Update the URL for OTF script tags.

	* lisp/international/mule-cmds.el (ucs-names): Update unused ranges.
	* lisp/international/fontset.el (script-representative-chars): Add
	hanifi-rohingya, old-sogdian, sogdian, dogra, gunjala-gondi,
	makasar, and medefaidrin.
	(otf-script-alist): Add old-hungarian.
	* lisp/international/characters.el (tbl): Add syntax entries for
	Supplemental Mathematical Operators, Miscellaneous Symbols and
	Arrows, and Supplemental Punctuation.
	Update the list of wide characters.

	* test/lisp/international/ucs-normalize-tests.el
	(ucs-normalize-tests--failing-lines-part2): Update to match
	admin/unidata/NormalizationTest.txt.

	* doc/lispref/nonascii.texi (Character Properties): Update the
	reference to the Unicode Standard.
	* doc/misc/efaq.texi (New in Emacs 26):
	* etc/NEWS: Mention compatibility with Unicode 11.0.

2018-06-09  Eli Zaretskii  <eliz@gnu.org>

	* etc/NEWS: Belatedly call out vc-hg changes in v26.1.  (Bug#31759)

2018-06-09  Eli Zaretskii  <eliz@gnu.org>

	Clarify the documentation of 'dired-recursive-deletes'

	* doc/emacs/dired.texi (Dired Deletion): Clarify text regarding
	recursive deletion of non-empty directories.  (Bug#31529)

2018-06-08  Eli Zaretskii  <eliz@gnu.org>

	Clarify doc string of 'update-glyphless-char-display'

	* lisp/international/characters.el
	(update-glyphless-char-display): Doc fix.  (Bug#31730)

2018-06-08  Eli Zaretskii  <eliz@gnu.org>

	Clarify subtle issues with 'eq' in byte-compiled code

	* doc/lispref/objects.texi (Equality Predicates): Explain why
	byte-compiled code might compare literal objects with identical
	contents as 'eq'.  (Bug#31688)

2018-06-07  Gemini Lasswell  <gazally@runbox.com>

	Make cl-print respect print-quoted (bug#31649)

	* lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Observe
	print-quoted when printing quote and its relatives.  Add printing of
	'function' as #'.

2018-06-07  Martin Rudalics  <rudalics@gmx.at>

	Fix unexpected jumps of window-point in 'set-window-configuration' (Bug#31695)

	* src/window.c (Fset_window_configuration): Prevent that the
	fix for Bug#12208 affects restoration of window points when
	using separate minibuffer frames (Bug#31695).

2018-06-06  Nicolas Petton  <nicolas@petton.fr>

	* etc/emacs.appdata.xml: Update Emacs screenshot.

2018-06-06  Eli Zaretskii  <eliz@gnu.org>

	Fix cursor movement by 'next-logical-line' after 'next-line'

	* src/indent.c (Fvertical_motion): Adjust TO_X when line-numbers
	are being displayed.  Remove unneeded "correction" of TO_X at the
	goal line.

	* lisp/simple.el (last--line-number-width): Remove unneeded
	variable.
	(line-move-visual): Account for line-number display width by
	adjusting the pixel X coordinate that gets converted into
	canonical columns passed to vertical-motion, instead of adjusting
	temporary-goal-column (which then affects next commands, including
	next-logical-line).  (Bug#31723)

2018-06-05  Allen Li  <darkfeline@felesatra.moe>

	Fix prompt in bookmark.el (Bug#24726)

	* lisp/bookmark.el (bookmark-set-internal): Conform to the standard
	default prompt format (per `minibuffer-electric-default-mode') which
	does not use a colon.

2018-06-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve documentation of 'empty' whitespace-style

	* doc/emacs/display.texi (Useless Whitespace): Clarify that the
	'empty' whitespace-style option highlights empty lines only at
	BOB/EOB, as per the docstring of whitespace-style. (bug#31713)

2018-06-05  Paul Eggert  <eggert@cs.ucla.edu>

	Port FC_COLOR change to older fontconfig

	Problem reported by John ff in:
	https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html
	* src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]:
	Don’t use FC_COLOR on older fontconfigs that don’t have it.

2018-06-05  Robert Pluim  <rpluim@gmail.com>

	Ignore color fonts when using Xft

	* src/font.c (syms_of_font): New configuration variable
	xft-ignore-color-fonts, default t.
	* src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore
	color fonts if xft-ignore-color-fonts is t.  (Bug#30874, Bug#30045)
	* etc/NEWS: Document xft-ignore-color-fonts.

2018-06-04  Noam Postavsky  <npostavs@gmail.com>

	Fix comint-get-old-input-default for output field case (Bug#25028)

	* lisp/comint.el (comint-get-old-input-default): Don't return whole
	field when point was on an output field.

2018-06-04  Eli Zaretskii  <eliz@gnu.org>

	Prevent infloop in 'delete-trailing-whitespace'

	* lisp/simple.el (delete-trailing-whitespace): Avoid inflooping
	when some region of trailing whitespace is unmodifiable.
	(Bug#31557)

2018-06-04  Gemini Lasswell  <gazally@runbox.com>

	Make cl-print respect print-level and print-length (bug#31559)

	* lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable.
	(cl-print-object) <cons>: Print ellipsis if printing depth greater
	than 'print-level' or length of list greater than 'print-length'.
	(cl-print-object) <vector>: Truncate printing with ellipsis if
	vector is longer than 'print-length'.
	(cl-print-object) <cl-structure-object>: Truncate printing with
	ellipsis if structure has more slots than 'print-length'.
	(cl-print-object) <:around>: Bind 'cl-print--depth'.
	* test/lisp/emacs-lisp/cl-print-tests.el
	(cl-print-tests-3, cl-print-tests-4): New tests.

	(cherry picked from commit 0f48d18fd2a30f29cc3592a835d2a2254c9b0afb)

2018-06-03  Phil Sainty  <psainty@orcon.net.nz>

	Fix remote-host directory tracking for shells in `term' buffers

	* lisp/term.el (term-handle-ansi-terminal-messages): Use an explicit
	tramp method when constructing the tramp path for a non-local host,
	as this is now mandatory.  "-" is a pseudo-method for the user's
	`tramp-default-method'.  (Bug#31355)

	Specify the remote username explicitly in all cases, as
	`tramp-default-user' and `tramp-default-user-alist' could cause the
	previous logic to fail.

	Minor related improvements to the commentary.

2018-06-03  Eli Zaretskii  <eliz@gnu.org>

	Update doc string of 'rx'

	* lisp/emacs-lisp/rx.el (rx): Update the description of some
	character classes.

2018-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix bug#30846, along with misc cleanups found along the way

	* test/src/data-tests.el (data-tests-kill-all-local-variables): New test.

	* src/buffer.c (swap_out_buffer_local_variables): Remove.
	Fuse the body of its loop into that of reset_buffer_local_variables.
	(Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
	(reset_buffer_local_variables): Make sure the buffer's local binding
	is swapped out before removing it from the alist (bug#30846).
	Call watchers before actually killing the var.

	* src/data.c (Fmake_local_variable): Simplify.
	Use swap_in_global_binding to swap out any local binding, instead of
	a mix of find_symbol_value followed by messing with where&found.
	Don't call swap_in_symval_forwarding since the currently swapped
	binding is never one we've modified.
	(Fkill_local_variable): Use swap_in_global_binding rather than messing
	with where&found to try and trick find_symbol_value into doing the same.

	* src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.

	(cherry picked from commit 3ddff080341580eb6fc18d907181e9cc2301f62d)

2018-06-03  Jay Kamat  <jaygkamat@gmail.com>

	esh-opt.el: Fix improper parsing of first argument (Bug#28323)

	Examples of broken behavior:

	    sudo -u root whoami
	    Outputs: -u
	    ls -I '*.txt' /dev/null
	    Errors with: *.txt: No such file or directory

	* lisp/eshell/esh-opt.el (eshell--process-args): Refactor usage of
	args to eshell--args, as we rely on modifications from
	eshell--process-option and vice versa.  These modifications were not
	being propagated in the (if (= ai 0)) case, since popping the first
	element of a list doesn't destructively modify the underlying list
	object.

	(cherry picked from commit 92a8230e49a65be48442ee95cf50c90514e48f99)

2018-06-03  Noam Postavsky  <npostavs@gmail.com>

	* lisp/epa.el (epa-decrypt-file): Apply epa-pinentry-mode (Bug#30363).

	(cherry picked from commit 217202c084232f36d4fa0fead0f3aca21396d074)

2018-06-03  Noam Postavsky  <npostavs@gmail.com>

	Fix cl-print for circular sublists (Bug#31146)

	* lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
	element of list being printed onto cl-print--currently-printing.
	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
	test.

	(cherry picked from commit b8aa7ecf54c9b164a59f1b0e9f9fe90531dadd20)

2018-06-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Make mail-extract-address-components return the user name more"

	This reverts commit 8b50ae8b2284b5652c2843a9d0d076f4f657be28.

	According to tests in bug#27656 by OGAWA Hirofumi, this patch
	led to wrong results when binding

	(dolist (addr '("Rasmus <rasmus@gmx.us>" "Rasmus <mbox@gmx.us>"))
	  (dolist (ignore-single '(t nil))
	    (dolist (ignore-same '(t nil))
	      (let ((mail-extr-ignore-single-names ignore-single)
		    (mail-extr-ignore-realname-equals-mailbox-name ignore-same))
		(message "%s" (mail-extract-address-components addr))))))

	in combination.

	(cherry picked from commit a3a9d5434d56f8736cc47e379a1d011d4c779b7c)

2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>

	Centralize Bug#30931 fix

	* src/marker.c (detach_marker): New function.
	* src/editfns.c (save_restriction_restore):
	* src/insdel.c (signal_before_change): Use it.

	(cherry picked from commit 6f66a43d7ad6cada2b7dbb6d07efe36be1dc7ecb)

2018-06-03  Noam Postavsky  <npostavs@gmail.com>

	Fix another case of freed markers in the undo-list (Bug#30931)

	* src/alloc.c (free_marker): Remove.
	* src/editfns.c (save_restriction_restore):
	* src/insdel.c (signal_before_change): Detach the markers from the
	buffer when we're done with them instead of calling free_marker on
	them.
	* test/src/editfns-tests.el (delete-region-undo-markers-1)
	(delete-region-undo-markers-2): New tests.

	(cherry picked from commit 96b8747d5c5d747af13fd84d8fe0308ef2a0ea7a)

2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix CHECK_ALLOCATED_AND_LIVE abort during GC

	* src/editfns.c (save_restriction_restore):
	Wait for the GC to free the temporary markers (Bug#30931).

	(cherry picked from commit 670f2ffae718046c0fb37313965a51c040ed096f)

2018-06-03  Noam Postavsky  <npostavs@gmail.com>

	Don't wait for visible frames to become visible

	For discussion, see thread starting at
	https://lists.gnu.org/r/emacs-devel/2018-03/msg00807.html.
	* src/xterm.c (x_make_frame_visible): Check FRAME_VISIBLE_P before
	calling x_wait_for_event.

	(cherry picked from commits 2a192e21cf3b04b7f830b4971c1508c611e13a3c
	and 00c1f771f2a51ffa675ec5a07ea330f2605cd302)

2018-06-03  Tino Calancha  <tino.calancha@gmail.com>

	query-replace undo: Handle when user edits the replacement string

	* lisp/replace.el (perform-replace): Update the replacement string
	after the user edit it (Fix Bug#31538).

	* test/lisp/replace-tests.el (query-replace-undo-bug31538): New test.

	Backport: (cherry picked from commits
	ea133e04f49afa7928e49a3ac4a85b47f6f13f01
	and
	7dcfdf5b14325ae7996f272f14c72810d7c84944)

2018-06-03  Tino Calancha  <tino.calancha@gmail.com>

	Backport: Fix corner case in query-replace-regexp undo

	This commit fixes Bug#31492.
	* lisp/replace.el (replace-match-maybe-edit): Preserve match data.

	* test/lisp/replace-tests.el (query-replace-undo-bug31492): Add test.

	(cherry picked from commit bab73230d1be1fe394b7269c1365ef6fb1a5d9b3)

2018-06-03  Tino Calancha  <tino.calancha@gmail.com>

	Backport: Preserve case in query-replace undo

	If the user query and replaces 'foo' with 'BAR', then
	undo must comeback to 'foo', not to 'FOO' (Bug#31073).
	* lisp/replace.el (perform-replace): Bind nocasify to non-nil
	value during undo/undo-all actions.
	* test/lisp/replace-tests.el (query-replace-undo-bug31073): Add test.

	(cherry picked from commit 32dc0cb1b5ae895d237c7118ccaeb084715934fd)

2018-06-02  Alan Third  <alan@idiocy.org>

	Set accessibility subroles for child frame (bug#31324)


	* src/nsterm.m (x_set_parent_frame): Set subrole depending on whether
	frame is a child or not.

2018-06-02  Alan Third  <alan@idiocy.org>

	Fix redefinition of child frames on NS

	* src/nsterm.m (x_set_parent_frame): If the NSWindow has an existing
	parent frame, remove it.

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Improve ELisp documentation of 'clone-indirect-buffer'

	* doc/lispref/buffers.texi (Indirect Buffers): Be more explicit
	about the value of DISPLAY-FLAG in interactive usage.  (Bug#31648)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'inhibit-message'

	* src/xdisp.c (syms_of_xdisp) <inhibit-message>: Warn against
	setting it non-nil globally.  (Bug#31627)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of comment styles

	* doc/lispref/syntax.texi (Syntax Flags): Define the "a" style.
	(Bug#31624)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Documentation improvements in newcomment.el

	* lisp/newcomment.el (uncomment-region)
	(uncomment-region-default): Doc fixes.  (Bug#31615)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Imp[rove documentation of 'with-silent-modifications'

	* doc/lispref/buffers.texi (Buffer Modification): Document
	'with-silent-modifications'.  (Bug#31613)
	* doc/lispref/text.texi (Changing Properties): Add a
	cross-reference to "Buffer Modification".  Improve wording.

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix decoding of directories when "~" includes non-ASCII chars

	* src/fileio.c (Fexpand_file_name): Don't build multibyte strings
	from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
	have different multibyteness, as this adds bytes to the byte
	sequence, and in some situations, e.g., when the home directory
	includes non-ASCII characters, can fail file APIs.  (Bug#30755)

	* lisp/startup.el (normal-top-level): Make sure default-directory
	is set to a multibyte string when decoded on MS-Windows.

	(cherry picked from commit 3aab8626ba5080bb04d0fdae52d99c850a842a52)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Don't remove highlight of misspelled word on pdict save

	* lisp/textmodes/ispell.el (ispell-pdict-save): Don't restart
	flyspell-mode, as bug#11963, which this was supposed to fix, is
	fixed better by ispell-command-loop, when the user types 'i' or
	'a'.  Restarting Flyspell mode when the personal dictionary is
	saved caused bug#31372 as side effect.
	(ispell-command-loop): Test 'flyspell-mode', not whether
	flyspell-unhighlight-at is fboundp, to determine whether Flyspell
	mode is turned on in the current buffer.
	(flyspell-unhighlight-at): Add declare-function form for it.

	(cherry picked from commit 91e582a31ada28fab5ae55bdbf959a9d30796587)

2018-06-02  Ari Roponen  <ari.roponen@gmail.com>

	Fix some problems in the Cairo build

	* src/xterm.c (x_begin_cr_clip): Create image surface.
	(x_update_end) [USE_CAIRO]: Remove GTK3-specific code.
	(x_scroll_run) [USE_CAIRO]: Implement scrolling.
	* src/image.c (lookup_rgb_color) [USE_CAIRO]: Support Cairo.
	(jpeg_load_body) [USE_CAIRO]: Support Cairo.  Use USE_CAIRO
	instead of CAIRO for #ifdef's.
	(imagemagick_load_image) [USE_CAIRO]: Support Cairo.
	(Bug#31288)

	(cherry picked from commit 2d0eff42b8f1122e00f948759ed01a3be1a8c3fc)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Avoid infloops in font_open_entity

	* src/font.c (font_open_entity): Fail after 15 iterations through
	the loop that looks for a font whose average_width and height are
	both positive.  This avoids infinite loops for fonts that, e.g.,
	report average_width of zero for any possible size we try.
	(Bug#31316)

	(cherry picked from commit e2879c1f837059335af89022b2a9ac9bc861e96d)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix encoding of characters when using GB18030 fonts

	* lisp/international/fontset.el (font-encoding-alist): Fix the
	GB18030 entry to encode characters correctly when passing them to
	the xfont back-end.  (Bug#31315)  See also
	https://lists.gnu.org/archive/html/emacs-devel/2008-01/msg00754.html.

	(cherry picked from commit bbe2cadc544e63e9378350621887f8fb9bbcc236)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix C-p and C-n when wrap-prefix is too wide

	* src/xdisp.c (move_it_in_display_line_to): Avoid looping in
	previous/next-line when wrap-prefix is set to a too-wide
	stretch of whitespace.  (Bug#30432)

	(cherry picked from commit 842b3d7412eaed6b2c9f90c3361abb4932ec0b1d)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Avoid redisplay problems with too wide wrap-prefix

	* src/xdisp.c (display_line): Avoid looping in redisplay when
	wrap-prefix is set to a too-wide stretch of whitespace.
	(Bug#30432)

	(cherry picked from commit 2a1fe08307402d6217d073f8ab7737750d253dd4)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix 'posn-at-point' when line numbers are displayed

	* src/xdisp.c (pos_visible_p): For the leftmost glyph, adjust the X
	coordinate due to line-number display.  (Bug#30834)

	(cherry picked from commit 4a20174d7949028f66b18a92a75d6b74194242a8)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Another followup to fixing 'window-text-pixel-width'

	* src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
	when we stop one buffer position short of TO.  (Bug#30746)

	(cherry picked from commit 33cba5405c724566673cf023513bfb1faa963bea)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix mouse-set-point when line numbers are displayed

	* src/xdisp.c (move_it_to): Initialize the line_number_produced_p
	flag before iterating on a new line.  (Bug#30818)

	(cherry picked from commit 5c585b8b994aad4e6844f8eed80bdfbb396e91bf)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	* src/xdisp.c (Fwindow_text_pixel_size): Fix last change.

	(cherry picked from commit 06911714ef66ea81380b1eda75a9f7cfbc9e0b65)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix 'window-text-pixel-size' when display properties are around

	* src/xdisp.c (Fwindow_text_pixel_size): Correct the result when
	there's a display property at the  TO position, and the call to
	move_it_to overshoots.  (Bug#30746)

	(cherry picked from commit 50e2c0fb5180a757d8d533518f68837ffe5909be)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix display of TABs in hscrolled windows with line numbers

	* src/dispextern.h (struct it): New members tab_offset and
	line_number_produced_p.
	* src/xdisp.c (display_line): Don't set row->x to a negative value
	if line numbers are being displayed.  (Bug#30582)
	Reset the line_number_produced_p flag before laying out the glyph
	row.
	(x_produce_glyphs): Use the line_number_produced_p flag to decide
	whether to offset the X coordinate due to line-number display.
	Use the tab_offset member to restore the original TAB width for
	alignment purposes.
	(move_it_in_display_line_to): Don't produce line numbers when moving
	in hscrolled window to the left of first_visible_x.
	(maybe_produce_line_number): Set the line_number_produced_p flag.
	(Bug#30584)
	* src/term.c (produce_glyphs): Correct TAB width only when
	line_number_produced_p flag is set.

	(cherry picked from commit 1ac190553886ff20817d3dd218464e2fc6f9e42a)

2018-06-02  Matthias Dahl  <matthias.dahl@binary-island.eu>

	Fix wait_reading_process_output wait_proc hang

	* src/process.c (read_process_output): Track bytes read from
	a process.
	(wait_reading_process_output): If called recursively through
	timers and/or process filters via accept-process-output, it is
	possible that the output of wait_proc has already been read by
	one of those recursive calls, leaving the original call hanging
	forever if no further output arrives through that fd and no
	timeout has been set.  Fix that by using the process read
	accounting to keep track of how many bytes have been read and
	use that as a condition to break out of the infinite loop and
	return to the caller as well as to calculate the proper return
	value (if a wait_proc is given that is).

	* src/process.h (struct Lisp_Process): Add nbytes_read to track
	bytes read from a process.

	(cherry picked from commit 4ba32858d61eee16f17b51aca01c15211a0912f8)

2018-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix posn-at-point in Flycheck buffers

	* src/dispnew.c (buffer_posn_from_coords): Improve commentary.

	* src/xdisp.c (move_it_in_display_line_to): Don't exit the loop
	under truncate-lines if the glyph at TO_CHARPOS was not yet
	produced.  This avoids bailing out too early when we are at
	TO_CHARPOS, but didn't yet produce glyphs for that buffer
	position, because the last call to PRODUCE_GLYPHS at this position
	was for an object other than the buffer.  For further details, see
	https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00537.html.

	(cherry picked from commit c0154ac7c3423f68d8f3a2e85a756c9759219039)

2018-06-02  Martin Rudalics  <rudalics@gmx.at>

	* etc/PROBLEMS: Document stickiness problem with FVWM (Bug#31650)

2018-06-01  Eli Zaretskii  <eliz@gnu.org>

	Update Emacs Lisp Intro to match current behavior

	* doc/lispintro/emacs-lisp-intro.texi (Wrong Type of Argument)
	(debug, debug-on-entry, Void Function, Void Variable): Update the
	*Backtrace* buffer display to current Emacs.  (Bug#31654)

2018-06-01  Robert Pluim  <rpluim@gmail.com>

	Fix previous commit

	* doc/emacs/files.texi (Interlocking): Two spaces at end of sentence

2018-06-01  Ville Skyttä  <ville.skytta@iki.fi>  (tiny change)

	Fix typos in several manuals (Bug#31610)

2018-06-01  Robert Pluim  <rpluim@gmail.com>

	Add detailed documentation about lock files

	* doc/emacs/files.texi (Interlocking): Point user at detailed
	file locking description in lisp reference manual.  Add index
	entry for '.#' to improve disoverability of information about locking.

	* doc/lispref/files.texi (File Locks): Describe in detail what
	the form of the lock file is.  Add index entry for '.#' to
	improve disoverability of information about locking.

	* src/filelock.c (create-lockfiles): Add cross reference to
	file locking in user manual and to 'lock-buffer'.  Add string
	'.#' to help users find the doc string.

2018-06-01  Eli Zaretskii  <eliz@gnu.org>

	Add commentary for subtle aspect of frame.el

	* lisp/frame.el: Explain why we use symbol-function when adding
	watchers for certain variables that need to trigger redisplay.

2018-06-01  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'directory-files-and-attributes'

	* doc/lispref/files.texi (Contents of Directories): Fix inaccurate
	description of the return value of directory-files-and-attributes.

	* src/dired.c (Fdirectory_files_and_attributes): Describe the
	function's value in more detail.

2018-05-30  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/gnus/message.el (message-remove-header): Don't remove things
	not looking like header (bug#31651).

2018-05-30  Eli Zaretskii  <eliz@gnu.org>

	Adapt hexl-mode to native line-number display

	* lisp/hexl.el (hexl-mode-ruler): When display-line-numbers is in
	effect, adjust offsets and columns to account for the line-number
	display.  (Bug#31595)

2018-05-30  Michael Albinus  <michael.albinus@gmx.de>

	Fix example in Tramp manual

	* doc/misc/tramp.texi (Frequently Asked Questions): Fix wording
	for the zsh example.

2018-05-29  Robert Pluim  <rpluim@gmail.com>

	Handle case where Xft is found but not XRender

	* configure.ac (XFT_LIBS): Ensure that HAVE_XFT is no if
	XRender is not found.  (Bug#31634)

2018-05-29  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh example.

2018-05-29  Damien Cassou  <damien@cassou.me>

	Improve read-multiple-choice docstring (Bug#31628)

	* lisp/emacs-lisp/rmc.el (read-multiple-choice): Improve docstring.

2018-05-29  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (All): Use @code instead of @option for user options.

2018-05-29  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#31605

	* doc/misc/tramp.texi (All): Add @vindex entries for
	environment variables.
	(Remote shell setup): New items `tramp-terminal-type' and
	"Determining a Tramp session".
	(Frequently Asked Questions): Adapt zsh example.  (Bug#31605)

2018-05-29  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp 2.3.4-pre

	* doc/misc/trampver.texi: Change version to "2.3.4-pre

	* lisp/net/tramp.el (tramp-mode, tramp-verbose)
	(tramp-backup-directory-alist, tramp-auto-save-directory)
	(tramp-encoding-shell, tramp-encoding-command-switch)
	(tramp-encoding-command-interactive, tramp-default-method)
	(tramp-default-method-alist, tramp-default-user)
	(tramp-default-user-alist, tramp-default-host)
	(tramp-default-host-alist, tramp-default-proxies-alist)
	(tramp-save-ad-hoc-proxies, tramp-restricted-shell-hosts-alist)
	(tramp-local-end-of-line, tramp-rsh-end-of-line)
	(tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
	(tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
	(tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
	(tramp-terminal-prompt-regexp)
	(tramp-operation-not-permitted-regexp, tramp-copy-failed-regexp)
	(tramp-process-alive-regexp, tramp-chunksize)
	(tramp-process-connection-type, tramp-connection-timeout)
	(tramp-connection-min-time-diff)
	(tramp-completion-reread-directory-timeout):
	* lisp/net/tramp-adb.el (tramp-adb-program)
	(tramp-adb-connect-if-not-connected, tramp-adb-prompt):
	* lisp/net/tramp-cache.el (tramp-connection-properties)
	(tramp-persistency-file-name):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
	(tramp-gvfs-zeroconf-domain, tramp-bluez-discover-devices-timeout):
	* lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
	(tramp-copy-size-limit, tramp-terminal-type)
	(tramp-histfile-override, tramp-use-ssh-controlmaster-options)
	(tramp-remote-path, tramp-remote-process-environment)
	(tramp-sh-extra-args):
	* lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
	(tramp-smb-conf, tramp-smb-winexe-program)
	(tramp-smb-winexe-shell-command)
	(tramp-smb-winexe-shell-command-switch):
	Don't require 'tramp.  (Bug#31558)

	* lisp/net/tramp.el (tramp-accept-process-output):
	* lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
	(tramp-sh-handle-start-file-process):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
	(tramp-smb-handle-set-file-acl)
	(tramp-smb-handle-start-file-process): Suppress timers.

	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
	Write proper message.

	* lisp/net/tramp-cmds.el (tramp-change-syntax):
	Use `customize-set-variable'.

	* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
	Ensure proper EOL handling for Darwin.
	(tramp-find-inline-compress): Improve command quoting for w32.
	Reported by Chris Zheng <chriszheng99@gmail.com>.
	(tramp-open-connection-setup-interactive-shell): Wrap both echo
	calls in parentheses, in order to avoid double prompt.

	* lisp/net/tramp-smb.el (tramp-smb-errors):
	Add "NT_STATUS_RESOURCE_NAME_NOT_FOUND".

	* lisp/net/tramp.el (tramp-default-user-alist)
	(tramp-default-host-alist): Fix docstring.
	(tramp-dissect-file-name): Adapt docstring.  (Bug#30904)
	(tramp-make-tramp-file-name): Check, that method is
	not empty.  (Bug#30038)
	(tramp-message-show-message): Change default.

	* lisp/net/trampver.el: Change version to "2.3.4-pre".

	* test/lisp/net/tramp-tests.el (ert-x): Require it.
	(tramp-test10-write-region): Extend test.
	(tramp--test-emacs27-p, tramp--test-windows-nt): New defuns.
	(tramp-test11-copy-file, tramp-test12-rename-file)
	(tramp-test21-file-links, tramp-test24-file-acl)
	(tramp-test25-file-selinux, tramp--test-check-files): Use them.
	(tramp-test21-file-links): Do not call `make-symbolic-link' on w32.
	Fix file name quoting test.
	(tramp-test32-environment-variables-and-port-numbers):
	Adapt check for systems which do not support "echo -n".  (Bug#29712)
	(tramp-test36-find-backup-file-name): Call also
	`convert-standard-filename' due to w32.
	(tramp-test41-asynchronous-requests):
	Use $REMOTE_PARALLEL_PROCESSES.  Flush cache prior file operations.
	(tramp-test42-auto-load, tramp-test42-delay-load)
	(tramp-test42-recursive-load, tramp-test42-remote-load-path):
	Quote command due to w32.

2018-05-28  Eli Zaretskii  <eliz@gnu.org>

	Bump Emacs version to 26.1.50

	* msdos/sed2v2.inp:
	* nt/README.W32:
	* configure.ac:
	* README: Bump Emacs version to 26.1.50.

2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>

	Mention pcase as a fifth conditional form

	* doc/lispref/control.texi (Conditionals): ...here,
	in first para, with xref to "Pattern-Matching Conditional".

2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>

	Overhaul pcase documentation

	Suggested by Drew Adams (Bug#31311).

	* doc/lispref/control.texi (Control Structures):
	Add "Pattern-Matching Conditional" to menu, before "Iteration".
	(Conditionals): Delete menu.
	(Pattern matching case statement): Delete node/subsection,
	by actually moving, renaming, and overhauling it to...
	(Pattern-Matching Conditional): ...new node/section.
	(pcase Macro): New node/subsection.
	(Extending pcase): Likewise.
	(Backquote Patterns): Likewise.
	* doc/lispref/elisp.texi (Top) In @detailmenu, add
	"Pattern-Matching Conditional" under "Control Structures"
	section and delete "Conditionals" section.
	* lisp/emacs-lisp/pcase.el (pcase): Rewrite docstring.
	(pcase-defmacro \` (qpat) ...): Likewise.

2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>

	Use EXPVAL in docstrings of patterns defined using pcase-defmacro

	Suggested by Drew Adams (Bug#31311).

	* lisp/emacs-lisp/cl-macs.el (cl-struct): ...here.
	* lisp/emacs-lisp/eieio.el (eieio): Likewise.
	* lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Likewise.
	* lisp/emacs-lisp/rx.el (rx): Likewise.

2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>

	Introduce EXPVAL for pcase, pcase-defmacro docstrings

	Suggested by Drew Adams (Bug#31311).

	* lisp/emacs-lisp/pcase.el (pcase): Use EXPVAL in
	docstring to stand for the result of evaluating EXP.
	(pcase-defmacro): Add (fn ...) form in docstring
	that includes [DOC], and the EXPVAL convention.

2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>

	Ensure pcase doc shows `QPAT first among extensions

	* lisp/emacs-lisp/pcase.el (pcase--make-docstring):
	Split extensions display into two phases, collection
	and display, separated by a reordering step that
	ensures backquote is the first.

2018-05-25  Nicolas Petton  <nicolas@petton.fr>

	* etc/HISTORY: Update for Emacs 26.1 release.

	* etc/AUTHORS: Update.

2018-05-25  Noam Postavsky  <npostavs@gmail.com>

	Note caveat for backward regexp searching in docstring (Bug#31584)

	* src/search.c (Fre_search_backward): Emphasize that backwards
	searches may give shorter than expected matches.
	* doc/lispref/searching.texi (Regexp Search): Add an anchor for
	re-search-backward to reference.

2018-05-25  Eli Zaretskii  <eliz@gnu.org>

	Update backtrace in Emacs Lisp Intro

	* doc/lispintro/emacs-lisp-intro.texi (Making Errors): Update the
	backtrace to match Emacs 26.  (Bug#31589)

2018-05-24  Roland Winkler  <winkler@gnu.org>

	Move window-point in bibtex-search-entry

	* lisp/textmodes/bibtex.el (bibtex-search-entry): Move window-point
	to record found.

2018-05-24  Eli Zaretskii  <eliz@gnu.org>

	More fixes of Intro to Emacs Lisp

	* doc/lispintro/emacs-lisp-intro.texi (Finding More): Tell the
	reader how to invoke 'M-.' without a tags table.  Add a
	cross-reference to the Emacs manual for when a tags table does
	need to be created.
	(append save-excursion): Rephrase a confusing sentence.
	(Bug#31578)

2018-05-24  Eli Zaretskii  <eliz@gnu.org>

	Add a footnote to Emacs Lisp Intro

	* doc/lispintro/emacs-lisp-intro.texi (Run a Program): Describe
	the detailed output of integer value evaluation in a footnote, to
	prevent confusion.  (Bug#31579)

2018-05-24  Eli Zaretskii  <eliz@gnu.org>

	* lisp/help.el (with-help-window): Doc fix.  (Bug#31574)

2018-05-23  Eli Zaretskii  <eliz@gnu.org>

	Fix some cross-references in emacs-lisp-intro.texi

	* doc/lispintro/emacs-lisp-intro.texi (List Processing)
	(Determining the Element, graph-body-print): Fix cross-references
	to subsections that don't exist in the printed version of the
	manual.  (Bug#31567)

2018-05-23  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in Emacs manual in macos.texi

	* doc/emacs/macos.texi (Mac / GNUstep Basics)
	(Mac / GNUstep Events): Fix markup and capitalization.
	(Bug#31568)

2018-05-23  Noam Postavsky  <npostavs@gmail.com>

	Clarify when to use advice-add vs add-function

	* lisp/emacs-lisp/nadvice.el (add-function): Note in docstring that
	advice-add should be used for named functions.

2018-05-22  Eli Zaretskii  <eliz@gnu.org>

	Minor formatting tweak in the Emacs manual

	* doc/emacs/custom.texi (Directory Variables): Don't have 2
	footnotes back to back, it looks bad in HTML.  (Bug#31555)

2018-05-22  Eli Zaretskii  <eliz@gnu.org>

	Update comments in Intro to Emacs Lisp

	* doc/lispintro/emacs-lisp-intro.texi: Explain in the comments
	what are roman page numbers in Preface about.  (Bug#31541)

2018-05-21  Noam Postavsky  <npostavs@gmail.com>

	* etc/NEWS: Mention change in `edebug-prin1-to-string'.

2018-05-21  Eli Zaretskii  <eliz@gnu.org>

	Another attempt to fix sql.el

	* lisp/progmodes/sql.el (sql-product-interactive): Fix calculation
	of the SQL buffer name.  (Bug#31446)

2018-05-21  Eli Zaretskii  <eliz@gnu.org>

	Update binding of 'M-.' in Intro to Emacs Lisp

	* doc/lispintro/emacs-lisp-intro.texi (On Reading this Text)
	(Finding More, Buffer Related Review, Buffer Exercises)
	(Find a File, Conclusion): 'M-.' is now bound to
	'xref-find-definitions'.  (Bug#31542)

2018-05-21  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in last change in sql.el

	* lisp/progmodes/sql.el (sql-product-interactive): Use 'null',
	not 'zerop'.  (Bug#31446)

2018-05-20  Eli Zaretskii  <eliz@gnu.org>

	Fix capitalization of mail headers

	* doc/emacs/sending.texi (Mail Format, Mail Headers)
	(Mail Aliases, Header Editing): Use consistent capitalization of
	CC, BCC, and FCC.  (Bug#31532)

2018-05-20  Eli Zaretskii  <eliz@gnu.org>

	Fix buffer names in sql.el

	* lisp/progmodes/sql.el (sql-product-interactive): Fix the way the
	buffer name is determined by prefix arg.  (Bug#31446)

2018-05-20  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes in the Emacs manual

	* doc/emacs/misc.texi (Gnus Group Buffer): Fix a typo.  (Bug#31534)
	(Single Shell): Rephrase an unclear sentence.  (Bug#31535)
	(Remote Host): Use @command where appropriate.  (Bug#31536)

2018-05-19  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in rmail.texi

	* doc/emacs/rmail.texi (Rmail Summary Edit): Add markup to 'nil'.
	(Bug#31533)

2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/PROBLEMS: Document Bug#31305.

2018-05-18  Lars Ingebrigtsen  <larsi@gnus.org>

	(gnus-blocked-images): Clarify privacy implications

	* lisp/gnus/gnus-art.el (gnus-blocked-images): Clarify the privacy
	implication of altering the value of this variable.

	(cherry picked from commit f4d9fd3dd45f767eca33fbf1beee40da790fa74e)

2018-05-18  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in describing input methods

	* lisp/help-mode.el (help-make-xrefs): Fix a typo.  (Bug#31448)

2018-05-14  Eli Zaretskii  <eliz@gnu.org>

	Clarify the mode-line indicators in CC Mode

	* doc/emacs/programs.texi (Electric C): Explain '*' and '/' in the
	CC Mode mode-line.  (Bug31445)

2018-05-12  João Távora  <joaotavora@gmail.com>

	Fix filesystem littering by Flymake's legacy backend

	The Flymake legacy "proc" backend, which is active by default will try
	to syntax-check foo.c/foo.cpp and many other types of files, but on
	failing to find a suitable Makefile target, will fail.  There's
	nothing wrong with that except that it used to leave behind the
	foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
	the filesystem.

	* lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
	Call init-function inside of the unwind-protect.

2018-05-12  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/emacs/help.texi: Fix paren typo.

2018-05-11  Eli Zaretskii  <eliz@gnu.org>

	More minor changes in shell-related nodes of Emacs manual

	* doc/emacs/misc.texi (Interactive Shell): Clarify how the window
	that displays "*shell*" is selected.
	(Shell Prompts): Fix a typo.  Reported by Jorge
	<jorge+list@disroot.org> in emacs-manual-bugs.

2018-05-11  Eli Zaretskii  <eliz@gnu.org>

	Fix inaccuracies in "Shell Ring" node of Emacs manual

	* doc/emacs/misc.texi (Shell Ring): Don't mention 'M-s' and don't
	insist on Shell history commands being "just like" similar
	commands that operate on minibuffer history.  Reported by Jorge
	<jorge+list@disroot.org> in emacs-manual-bugs.

2018-05-11  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of kmacro commands and variables.

	* lisp/kmacro.el (kmacro-start-macro-or-insert-counter)
	(kmacro-counter, kmacro-set-format, kmacro-set-counter)
	(kmacro-add-counter, kmacro-counter-format)
	(kmacro-insert-counter): Clarify and improve the doc strings.
	(Bug#31243)

2018-05-11  Noam Postavsky  <npostavs@gmail.com>

	* doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.

2018-05-08  Noam Postavsky  <npostavs@gmail.com>

	Don't check non-X frames for z order (Bug#31373)

	* src/xfns.c (x_frame_list_z_order): Only use frames with
	`output_method' set to `output_x_window'.

2018-05-07  Alan Third  <alan@idiocy.org>

	Check NSWindow is actually a frame

	* src/nsfns.m (Fns_frame_list_z_order): Check NSWindow is an instance
	of EmacsView before treating it as one.

2018-05-06  Xu Chunyang  <mail@xuchunyang.me>

	Fix gud-statement for pdb

	* lisp/progmodes/gud.el (pdb): Fix the gud-print implementation.
	(Bug#31363)

2018-05-04  Eli Zaretskii  <eliz@gnu.org>

	Document 'custom-group'

	* doc/lispref/customize.texi (Group Definitions): Document the
	'custom-group' property.

2018-05-04  Eli Zaretskii  <eliz@gnu.org>

	A minor addition to etc/DEBUG

	* etc/DEBUG: Add a note for macOS users who get error messages
	when trying to run GDB.

2018-05-04  Daniel Pittman  <slippycheeze@google.com>  (tiny change)

	Avoid errors in ispell.el when Enchant returns empty extra chars

	* lisp/textmodes/ispell.el (ispell--get-extra-word-characters):
	Handle the case of empty extra characters returned by the
	Enchant '-lsmod' command. (Bug#31344)

2018-05-04  Eli Zaretskii  <eliz@gnu.org>

	Make 'ispell-initialize-spellchecker-hook' work again

	* lisp/textmodes/ispell.el (ispell-base-dicts-override-alist):
	Defvar it to allow dynamic binding.  (Bug#31341)

2018-05-04  Noam Postavsky  <npostavs@gmail.com>

	Handle selected_window change in prepare_menu_bars (Bug#31312)

	* src/xdisp.c (redisplay_internal): Check selected_window after
	calling prepare_menu_bars, since it can call lisp hooks.

2018-05-03  Eli Zaretskii  <eliz@gnu.org>

	Fix report-emacs-bug via mailclient on MS-Windows

	* lisp/net/browse-url.el (browse-url-default-windows-browser):
	On MS-Windows, call url-unhex-string only for file:// URLs.
	(Bug#31351)

2018-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	Port collation tests to glibc 2.27

	* test/src/fns-tests.el (fns-tests-collate-strings)
	(fns-tests-collate-sort): Don’t make unportable assumptions
	about how en_US.UTF-8 collation works.  These assumptions
	are not true on Fedora 28, which ships with glibc 2.27.

2018-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	Port --enable-gcc-warnings to GCC 8

	Backport from master.
	* lib-src/emacsclient.c (fail):
	Do not dereference a null pointer.
	* src/frame.c (delete_frame):
	Add a decl with UNINIT to work around GCC bug 85563.
	* src/menu.h (finish_menu_items):
	Do not use attribute const.
	* src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.

2018-04-30  Paul Eggert  <eggert@cs.ucla.edu>

	Advise CFLAGS= operand, not in environment, when configuring

	Backport from master.

2018-04-28  Eli Zaretskii  <eliz@gnu.org>

	Update the Emacs FAQ

	* doc/misc/efaq.texi (Latest version of Emacs): Update versions.
	(New in Emacs 26): New node.

	* admin/release-process: Mention the FAQ update as part of the
	release.

2018-04-28  Eli Zaretskii  <eliz@gnu.org>

	* etc/DEBUG: Minor copyedits.

2018-04-26  Alan Third  <alan@idiocy.org>

	Clarify wording of NS drag n drop documentation

	* doc/emacs/macos.texi (Mac / GNUstep Events): Clarify wording of
	ns-drag-n-drop description.

2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>

	Improve kill-related documentation (bug#31209)

	* doc/lispref/text.texi (Low-Level Kill Ring): Fix typo under
	current-kill.  Mention interprogram-paste-function under kill-new
	and kill-append.
	* lisp/simple.el (save-interprogram-paste-before-kill, kill-new)
	(kill-append-merge-undo, kill-append): Touch-up docstrings.

2018-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (region-extract-function): Don't hide the 'nil' case.

2018-04-22  Karl Otness  <karl@karlotness.com>  (tiny change)

	Fix pre- and post-command-hook errors in term.el

	Before this patch, after the terminal process dies the command
	hooks added in term-mode's char mode would produce errors.
	This fix removes these hooks when the process dies.
	* lisp/term.el (term-handle-exit): Remove pre-command-hook and
	post-command-hook because the process is dead.  (Bug#31236)

2018-04-22  Charles A. Roelli  <charles@aurox.ch>

	* doc/lispref/display.texi (Glyphless Chars): Fix grammar.

2018-04-21  Alan Third  <alan@idiocy.org>

	Fix macOS drag n drop event documentation

	* doc/emacs/macos.texi (Mac / GNUstep Customization): Remove
	references to color panel.
	(Mac / GNUstep Events): Remove ns-drag-file, and add ns-drag-n-drop.

2018-04-20  Eli Zaretskii  <eliz@gnu.org>

	Update the documentation of 'perform-replace'

	* doc/lispref/searching.texi (Search and Replace): Update the
	documentation of 'perform-replace'.

2018-04-20  Martin Rudalics  <rudalics@gmx.at>

	* etc/NEWS: Another fix for the last change (noted by Juri Linkov)

2018-04-19  Eli Zaretskii  <eliz@gnu.org>

	Fix use of @key in Texinfo manuals

	* doc/misc/efaq-w32.texi (Location of init file):
	* doc/misc/org.texi (Editing source code, Export settings)
	(Closing items, Drawers, Structure editing):
	* doc/misc/gnus.texi (Spam and Ham Processors, Terminology):
	* doc/misc/calc.texi (Keypad Functions Menu, Keypad Binary Menu)
	(Keypad Vectors Menu, Keypad Main Menu, Basic Arithmetic)
	(Symbolic Mode):
	* doc/misc/sc.texi (Electric References):
	* doc/misc/info.texi (Help-^L):
	* doc/misc/reftex.texi (Reference Styles):
	* doc/misc/idlwave.texi (Troubleshooting, Examining Variables)
	(Lesson III---User Catalog, Using the Shell):
	* doc/misc/eshell.texi (Bugs and ideas):
	* doc/misc/ada-mode.texi (Automatic Casing):
	* doc/misc/ediff.texi (Selective Browsing):
	* doc/misc/vip.texi (Customizing Constants):
	* doc/misc/pcl-cvs.texi (Selected files):
	* doc/misc/efaq.texi (Replying to the sender of a message)
	(Basic keys, No Meta key, Matching parentheses)
	(Origin of the term Emacs, Installing Texinfo documentation)
	(Learning how to do something, Emacs manual, Extended commands):
	* doc/misc/viper.texi (Rudimentary Changes):
	* doc/misc/tramp.texi (Frequently Asked Questions):
	* doc/emacs/kmacro.texi (Basic Keyboard Macro):
	* doc/emacs/frames.texi (Frame Commands):
	* doc/emacs/msdos.texi (Windows Keyboard):
	* doc/emacs/search.texi (Query Replace):
	* doc/lispintro/emacs-lisp-intro.texi (Keybindings)
	(Note for Novices):
	* doc/lispref/tips.texi (Key Binding Conventions): Fix use of
	@key.  For the details, see
	https://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00390.html.

2018-04-19  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of actual arglist

	* doc/lispref/functions.texi (Function Documentation): Advise
	against using '(fn ARGLIST)' method of advertising a calling
	convention when the old calling convention is deprecated.
	(Bug#31191)

2018-04-18  Noam Postavsky  <npostavs@gmail.com>

	Don't assume term-current-row cache is valid (Bug#31193)

	* lisp/term.el (term-down): Call `term-current-row' instead of
	directly accessing the variable `term-current-row.  Following a resize
	of the terminal's window, `term-current-row' is reset to nil, so it is
	not safe to assume it is a number.

2018-04-17  Eli Zaretskii  <eliz@gnu.org>

	Fix flyspell-auto-correct-previous-word broken by recent change

	* lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Keep
	flyspell-auto-correct-region also when repeatedly invoking
	flyspell-auto-correct-previous-word.  (Bug#31188)

2018-04-17  Eli Zaretskii  <eliz@gnu.org>

	* test/src/lread-tests.el (lread-test-bug-31186): New test.

2018-04-17  Andreas Schwab  <schwab@suse.de>

	Fix undefined behavior while looking for lexical-binding file
	variable (bug 31186).

	* src/lread.c (lisp_file_lexically_bound_p): Reset
	beg_end_state before reading variable or value.

2018-04-15  Eli Zaretskii  <eliz@gnu.org>

	Minor wording improvement in "Bookmarks"

	* doc/emacs/regs.texi (Bookmarks): Improve wording.  Suggested by
	"Siraphob (Ben) Phipathananunth" <siraben@disroot.org>.

2018-04-14  Eli Zaretskii  <eliz@gnu.org>

	Fix building etc/DOC in the MSDOS port

	* msdos/sed1v2.inp (lisp.mk): Fix escaping in Sed commands.

2018-04-14  Eli Zaretskii  <eliz@gnu.org>

	* lisp/select.el (gui-get-selection): Doc fix.

2018-04-13  Alan Mackenzie  <acm@muc.de>

	Complete documentation of syntax flags by adding `c'

	* doc/lispref/syntax.texi ("Syntax Table Internals"): Add entry for `c'
	as `(1 lsh 23)'.

2018-04-13  Eli Zaretskii  <eliz@gnu.org>

	Fix typos and minor wording issues in ELisp manual

	* doc/lispref/internals.texi (Writing Emacs Primitives):
	* doc/lispref/display.texi (Temporary Displays): Fix typos.
	* doc/lispref/text.texi (Filling, Changing Properties)
	(Transposition): Clarify and fix typos.
	* doc/lispref/positions.texi (Screen Lines): Improve wording.
	* doc/lispref/modes.texi (Minor Mode Conventions)
	(Font Lock Multiline): Fix typos.
	* doc/lispref/variables.texi (Dynamic Binding Tips): Fix a
	cross-reference.  Fix a typo.
	* doc/lispref/sequences.texi (Sequence Functions): Fix typos.
	(Bug#31143)

2018-04-13  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfault in processes of type 'pipe'

	* src/process.c (Fmake_pipe_process): Set up the decoding and
	encoding buffers.  For the details, see
	https://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00295.html.

2018-04-13  Robert Pluim  <rpluim@gmail.com>

	Remove repetitions in documentation strings

	* lisp/bindings.el (right-word): Remove repetition
	(left-word): Likewise.

	* lisp/image-mode.el (image-mode-as-hex): Likewise.

	* lisp/cedet/semantic/tag-ls.el (semantic-tag-similar-p): Likewise.

	* lisp/textmodes/reftex-vars.el (reftex-view-crossref-extra): Likewise

2018-04-12  Eli Zaretskii  <eliz@gnu.org>

	* lisp/image.el (image-load-path): Doc fix.

2018-04-09  Nicolas Petton  <nicolas@petton.fr>

	* etc/AUTHORS: Regenerate.

2018-04-09  Charles A. Roelli  <charles@aurox.ch>

	* lisp/files.el (kept-new-versions): Improve documentation string.

2018-04-09  Eli Zaretskii  <eliz@gnu.org>

	Fix a minor mistake in the ELisp manual

	* doc/lispref/files.texi (Reading from Files): Fix copy/paste
	mistake.  (Bug#31107)

2018-04-06  Eli Zaretskii  <eliz@gnu.org>

	* lisp/files.el (find-file-literally): Doc fix.

2018-04-05  Eli Zaretskii  <eliz@gnu.org>

	Fix typos in doc strings

	* lisp/simple.el (undo-auto--boundary-timer)
	(undo-auto--boundary-ensure-timer): Fix typos in doc strings.

2018-04-05  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 26.1

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version to 26.1.

2018-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/inline.el: Clarify apparent typos

2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>

	Allow sexp customization type in auth-sources

	* lisp/auth-source.el (auth-sources): Allow sexp customization type.
	Update the :version tag.

	(cherry picked from commit 447da5b0d49b7aa14fa5d6969015770fdf9b9f92)

2018-04-03  Nicolas Petton  <nicolas@petton.fr>

	* etc/NEWS: Remove temporary markup.

	* etc/AUTHORS: Update.

	* ChangeLog.3: Update.

2018-04-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#31022

	* lisp/cus-start.el (temporary-file-directory): Suppress file name
	handlers when calling `shell-command-to-string'.  (Bug#31022)

2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>

	Update "Calendrical Calculations" cites

	* lisp/calendar/calendar.el: Update citations to the book
	"Calendrical Calculations" and its predecessors.

2018-04-02  Noam Postavsky  <npostavs@gmail.com>

	Fix term.el rendering following a window resize (Bug#30544)

	* lisp/term.el (term-reset-size): Reset cached row and column values
	before changing point.

2018-04-02  Philipp Stephani  <phst@google.com>

	* lisp/files.el (auto-save-visited-mode): Don't prompt for filenames.

2018-04-01  Philipp Stephani  <phst@google.com>

	Quote a few backticks in docstrings.

	* lisp/emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*)
	(macroexp-if): Quote backtick in docstrings.

2018-04-01  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits of completion-at-point-functions documentation

	* lisp/minibuffer.el (completion-at-point-functions):
	* doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
	and filling.

	(cherry picked from commit a8ddd05d7d32946b892b9faaba6c9736ed2ad847)

2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	(completion-at-point-functions): Improve doc

	(cherry picked from commit b56c56f203f8b066dd71e6ae6a254121b3ac3f08)

2018-04-01  Eli Zaretskii  <eliz@gnu.org>

	* lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)

2018-03-31  Hong Xu  <hong@topbug.net>

	Mention `key-description' as inverse of `kbd' (Bug#30942)

	* lisp/subr.el (kbd): Add `key-description' as inverse of `kbd' in the
	doc.

2018-03-31  Noam Postavsky  <npostavs@gmail.com>

	Document return value of pcase (Bug#30425)

	* doc/lispref/control.texi (Pattern matching case statement):
	* lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no
	patterns match.
	(pcase-exhaustive): State that an error is signaled if no patterns
	match.

2018-03-31  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/emacs/macos.texi: Tweak grammar and capitalization.

2018-03-31  Richard Stallman  <rms@gnu.org>

	Distinguish free from non-free OSes

2018-03-28  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/misc.texi (Amusements): Avoid non-printing character.

2018-03-28  Glenn Morris  <rgm@gnu.org>

	Fix xrefs in pdf Emacs manual

	* doc/emacs/fortran-xtra.texi (ForIndent Cont, ForIndent Num)
	(Fortran Columns):
	* doc/emacs/picture-xtra.texi (Rectangles in Picture):
	Fix recent changes that neglected the splitting of the pdf manuals.

2018-03-28  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/org.texi (Installation): Fix clone commands.

2018-03-27  Rasmus  <rasmus@gmx.us>

	Update Org to v9.1.9

	Please note this is a bugfix release. See etc/ORG-NEWS for details.

2018-03-27  Michael Heerdegen  <michael_heerdegen@web.de>

	De-obsolete `if-let' and `when-let'

	For the following release it is planned to make `if-let*' and
	`when-let*' aliases for `if-let' and `when-let'.  For now we revert
	declaring `if-let' and `when-let' obsolete and tweak the docstrings.

	* lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings
	refer to those of `if-let' and `when-let'.
	(if-let, when-let): De-obsolete.  Rewrite documentation.

2018-03-26  Glenn Morris  <rgm@gnu.org>

	* lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.

2018-03-26  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/functions.texi (Defining Functions): Improve indexing.

2018-03-25  Aaron Jensen  <aaronjensen@gmail.com>

	Fix crash after frame is freed on macOS (bug#30800)

	* src/nsterm.m (x_free_frame_resources): Clear represented_frame.
	(bug#30800)

2018-03-25  Michael Albinus  <michael.albinus@gmx.de>

	More manual editing

	* doc/emacs/basic.texi:
	* doc/emacs/calendar.texi:
	* doc/emacs/display.texi:
	* doc/emacs/mini.texi:
	* doc/emacs/misc.texi:
	* doc/emacs/picture-xtra.texi:
	* doc/misc/info.texi: Prefer <PageDown> and <PageUp> over
	<next> and <prior>.  Add missing @kindex entries.

	* doc/emacs/custom.texi (Function Keys): Fix and add missing
	key symbols.

2018-03-25  Michael Albinus  <michael.albinus@gmx.de>

	Minor manual changes changes

	* doc/emacs/misc.texi (FFAP): Complete commands.
	(Amusements): Add some @cindex entries.  Add "M-x butterfly".

2018-03-24  Glenn Morris  <rgm@gnu.org>

	* lisp/calculator.el (calculator-paste-decimals): Add version.

2018-03-23  Eli Zaretskii  <eliz@gnu.org>

	More proofreading of the Emacs manual

	* doc/emacs/trouble.texi (DEL Does Not Delete): Improve wording.
	(Screen Garbled): Mention the command name.
	(Bug Criteria): Mention that problems in packages should first be
	reported to the respective maintainers.
	(Checklist): Fix wording.
	(Contributing, Copyright Assignment): Minor copyedits.
	* doc/emacs/misc.texi (Amusements): Remove Landmark.
	* doc/emacs/picture-xtra.texi (Tabs in Picture): Improve wording.
	(Rectangles in Picture): Add a cross-reference to "Registers".
	* doc/emacs/misc.texi (Gnus Group Buffer, Gnus Summary Buffer):
	Mention command names in parentheses.
	(Gnus Summary Buffer): Document "M-r".
	(Network Security): Document that current NSM works with TLS
	encryption.  Fix markup.
	(Document View): Improve wording and fix a typo.
	(DocView Conversion): Rephrase description of
	doc-view-cache-directory.
	(Single Shell): Mention variables that control when shell output
	appears in the echo area.
	(Shell Mode): Improve wording.
	(Shell Prompts): Fix a typo.
	(Shell Ring, Term Mode): Mention command names.
	(History References): Add a cross-reference to "Rebinding".
	(Remote Host): Mention SSH.
	(TCP Emacs server): Improve wording.
	(emacsclient Options): Minor improvements.
	(PostScript): Fix wording.
	(PostScript Variables): Mention that ps-font-size could be a cons.
	(Sorting): Minor improvements.  Suggested by Michael Albinus
	<michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org

2018-03-23  Noam Postavsky  <npostavs@gmail.com>

	* src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary.

	* doc/emacs/trouble.texi: Fix location of `emacs-version' index.

2018-03-23  Noam Postavsky  <npostavs@gmail.com>

	Explain more about (defvar foo) form (Bug#18059)

	* doc/lispref/variables.texi (Defining Variables)
	(Using Lexical Binding):
	* doc/lispref/compile.texi (Compiler Errors): Emphasize that omitting
	VALUE for `defvar' marks the variable special only locally.
	* doc/lispref/variables.texi (Using Lexical Binding): Add example of
	using `defvar' without VALUE.

2018-03-22  Charles A. Roelli  <charles@aurox.ch>

	* doc/lispref/buffers.texi (Buffer List): Fix grammar.

	* doc/lispref/anti.texi (Antinews): Fix grammar.

2018-03-22  Glenn Morris  <rgm@gnu.org>

	* lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.

	Avoids type mismatch when relevant library is not present/loaded.

2018-03-22  Glenn Morris  <rgm@gnu.org>

	sql.el defcustom fixes

	* lisp/progmodes/sql.el (sql-login-params): Update.
	Avoids type mismatch with postgres and sqlite login params.
	(sql-postgres-login-params): Bump version.

2018-03-22  Eli Zaretskii  <eliz@gnu.org>

	Document DEFUN attributes

	* doc/lispref/internals.texi (Writing Emacs Primitives): Document
	specification of function attributes in DEFUN.

2018-03-22  Nicolas Petton  <nicolas@petton.fr>

	* etc/NEWS: Add an entry for auth-source-pass.

2018-03-22  Eli Zaretskii  <eliz@gnu.org>

	Fix the MSDOS build

	* msdos/sed2v2.inp (HAVE_SBRK): Define to 1.

2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Improve warning and error messages

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-read,
	  (eieio-persistent-validate/fix-slot-value): Indicate exactly what
	  went wrong.

2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Adjust eieio persistence tests for expected failure

	* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
	 (eieio-test-persist-hash-and-vector,
	  eieio-test-persist-interior-lists): Persistence does not currently
	 handle deeply-nested objects. Expect current failures, and mark for
	 future fixes.

2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Let eieio-persistent-read read what object-write has written

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
	  `object-write' may quote lists inside hash tables and vectors, so
	  unquote those lists here.

	This patch allows the eieio-persistent write/restore process to
	perform a clean round trip. It only handles a very specific and
	limited range of object structures, but at least the write and read
	procedures match.

2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Handle possible classtype values in eieio-persistent-read

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
	  The function `eieio-persistent-slot-type-is-class-p' could return
	  either a single class, or a list of classes.

2018-03-22  Pierre Téchoueyres  <pierre.techoueyres@free.fr>

	Add new tests for eieio persistence

	* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
	  (hash-equal): New comparison test for hash-tables.
	  (persist-test-save-and-compare): Use test for hash-tables.
	  (eieio-test-persist-hash-and-vector,
	  eieio-test-persist-interior-lists): New tests.

2018-03-22  Glenn Morris  <rgm@gnu.org>

	* lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type.

	* lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type.

2018-03-21  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/windows.texi (Selecting Windows): Fix a typo.

2018-03-21  Charles A. Roelli  <charles@aurox.ch>

	* doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar.

2018-03-21  Alan Mackenzie  <acm@muc.de>

	Firm up documentation of generalized variables

	* doc/lispref/variables.texi (Generalized Variables)
	(Setting Generalized Variables): Define a generalized variable as something
	setf can write to.  Remove the insinuation that hackers have poor memories.
	State explicitly that the list of GVs given is complete.  Remove the
	suggestion that `setf' has superseded, or is in the process of superseding,
	`setq'.  Make minor corrections to the English.

2018-03-21  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Auto-Revert mode

	* doc/emacs/files.texi (Reverting): Mention that Aut-Revert
	applies to Dired buffers as well.  Suggested by Michael Albinus
	<michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.

2018-03-21  Eli Zaretskii  <eliz@gnu.org>

	Improvements in dired.texi

	* doc/emacs/dired.texi (Dired): Mention that Dired works with
	remote directories.
	(Dired Enter): ls-lisp is used on some remote systems as well.
	(Dired Navigation): Mention and index the command names.
	(Dired Deletion): Document the 'always' value of
	dired-recursive-deletes.  Mention the alternative deletion method.
	(Marks vs Flags): Fix spelling of Auto-Revert mode.  Document what
	marking does on a subdirectory header line.
	(Operating on Files): Document that 'Z' uses gzip or compress.
	(Comparison in Dired): Mention ediff-files.
	(Misc Dired Features): Fix a typo.  Suggested by Michael Albinus
	<michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.

2018-03-21  Noam Postavsky  <npostavs@gmail.com>

	Revert "Support all perl variable declarators and prefixes"

	It highlights normal variable names in perl programs (Bug#30812).
	* lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
	(perl-font-lock-keywords-2): Restore values prior to Bug#27613 fix.

	Don't merge to master, we will fix Bug#27613 properly there (it's too
	close to release to do that on emacs-26).

2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	Port to 32-bit sparc64

	Backport from master.
	Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
	and Andreas Schwab (Bug#30855).
	* src/alloc.c (mark_memory): Call mark_maybe_object only on
	pointers that are properly aligned for Lisp_Object.

2018-03-20  Robert Pluim  <rpluim@gmail.com>

	Correct Info link markup

	* lisp/gnus/gnus-agent.el (gnus-agent-auto-agentize-methods):
	Correct markup for Info link.
	* src/minibuf.c (Fcompleting_read): Likewise.

2018-03-20  Nick Helm  <nick@tenpoint.co.nz>

	Improve documentation of 'with-help-window'

	* doc/lispref/help.texi (Help Functions): Change variable name
	to 'buffer-or-name'.

	* lisp/help.el (with-help-window): Change variable name to
	'buffer-or-name' and rewrite the doc string, adding reference
	to 'help-window-setup'.  (Bug#30792)

2018-03-20  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements in building.texi

	* doc/emacs/building.texi (Compilation Shell): Mention that this
	section is for local compilation buffers.
	(Compilation, Compilation Mode): Mention that 'g' is bound to
	'recompile' in compilation buffers.
	(Grep Searching): Add a cross-reference to "Compilation Mode".
	Suggested by Michael Albinus <michael.albinus@gmx.de> in
	emacs-manual-bugs@gnu.org.

2018-03-20  Alex Branham  <branham@utexas.edu>

	* lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark

2018-03-19  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/building.texi (Starting GUD): Mention 'guiler'.

2018-03-19  Eli Zaretskii  <eliz@gnu.org>

	Yet more proofreading of the Emacs manual

	* doc/emacs/building.texi (Compilation, Grep Searching)
	(Debuggers, GUD Customization, Source Buffers)
	(Breakpoints Buffer, Threads Buffer): Minor fixes and updates.
	Suggested by Michael Albinus <michael.albinus@gmx.de> in
	emacs-manual-bugs@gnu.org.

2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/emacs/rmail.texi: Fix broken link.

2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix recently-added POP doc glitch

	* doc/emacs/rmail.texi (Remote Mailboxes):
	POP3 → POP, when talking about POP in general.

2018-03-19  Eli Zaretskii  <eliz@gnu.org>

	More proofreading of the Emacs manual

	* doc/emacs/macos.texi (Mac / GNUstep Basics): Fix typos.  Improve
	indexing.
	(Mac / GNUstep Basics, Mac / GNUstep Customization)
	(Mac / GNUstep Events): Improve indexing.

	* doc/emacs/rmail.texi (Rmail): Mention Gnus.
	(Rmail Basics, Rmail Scrolling): Improve cross-references and
	indexing.
	(Rmail Motion): Minor improvements.
	(Rmail Inbox): Remove outdated text about Babyl format.
	(Rmail Files): Formatting changes.  Comment out
	set-rmail-inbox-list in the table of commands, as it is commented
	out in the text that follows.
	(Rmail Output, Rmail Labels, Rmail Reply, Rmail Make Summary):
	Minor copyedits.
	(Rmail Summary Edit): Document
	rmail-summary-scroll-between-messages.
	(Rmail Editing): Improve indexing.
	(Movemail): Fix typos.
	(Remote Mailboxes): Use "POP3" rather than "POP".

2018-03-19  Simen Heggestøyl  <simenheg@gmail.com>

	Fix typo in the Emacs manual's VC chapter

	* doc/emacs/maintaining.texi (VC Directory Buffer): Fix a typo.

2018-03-19  Basil L. Contovounesios  <contovob@tcd.ie>

	Pass json-readtable-error data as a list (bug#30489)

	* lisp/json.el (json-readtable-dispatch): Fix error data.
	* test/lisp/json-tests.el (test-json-read): Check error data is a
	list.

2018-03-17  Noam Postavsky  <npostavs@gmail.com>

	Improve word motion docs (Bug#30815)

	* doc/lispref/positions.texi (Word Motion): Fix reference to
	`char-script-table'.
	* lisp/simple.el (backward-word):
	* src/syntax.c (forward-word): Mention `char-script-table' and add
	link to the 'Word Motion' manual section.

2018-03-15  Michael Albinus  <michael.albinus@gmx.de>

	Replace "carriage-return" by "carriage return" in manuals

	* doc/emacs/msdos.texi:
	* doc/emacs/mule.texi:
	* doc/emacs/screen.texi:
	* doc/lispref/nonascii.texi:
	* doc/misc/calc.texi: Replace "carriage-return" by "carriage
	return".  Suggested by Richard Stallman <rms@gnu.org> in
	emacs-manual-bugs@gnu.org.

2018-03-15  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in mule.texi

	* doc/emacs/mule.texi (Recognize Coding, Fontsets): Minor changes
	in wording.  Suggested by Richard Stallman <rms@gnu.org> in
	emacs-manual-bugs@gnu.org.

2018-03-14  Eli Zaretskii  <eliz@gnu.org>

	Fix problems caused by fontconfig-2.13.0

	* src/xterm.c (x_term_init): Call fixup_locale after
	xg_initialize, to countermand the call to setlocale in some
	versions of fontconfig.  (Bug#30788)

2018-03-13  Glenn Morris  <rgm@gnu.org>

	Fix some allout.el aliases

	* lisp/allout.el (allout-passphrase-verifier-string)
	(allout-passphrase-hint-string): Fix alias.

2018-03-13  Glenn Morris  <rgm@gnu.org>

	* lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving): Doc fix.

2018-03-13  Glenn Morris  <rgm@gnu.org>

	Doc fixes re obsolete items

	* doc/emacs/mini.texi (Completion Commands): Small update re mouse.
	* doc/misc/htmlfontify.texi (Customization): Replace obsolete alias.

2018-03-13  Glenn Morris  <rgm@gnu.org>

	Replace an obsolete alias in tpu-mapper

	* lisp/obsolete/tpu-mapper.el (tpu-map-key, tpu-mapper):
	Replace obsolete alias.

2018-03-13  Glenn Morris  <rgm@gnu.org>

	Doc fixes re obsolete items

	* doc/emacs/maintaining.texi (VC Undo):
	* doc/misc/efaq-w32.texi (Font names): Replace obsolete aliases.
	* doc/misc/url.texi (Customization):
	Don't mention url-temporary-directory, it essentially does nothing.
	* lisp/hilit-chg.el
	(highlight-changes-global-changes-existing-buffers): Doc fix.

2018-03-13  Eli Zaretskii  <eliz@gnu.org>

	Minor changes in mule.texi

	* doc/emacs/mule.texi (International, Coding Systems)
	(Bidirectional Editing): Minor wording changes and typo fixes.
	Suggested by Michael Albinus <michael.albinus@gmx.de> in
	emacs-manual-bugs@gnu.org.

2018-03-13  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violation under visual-order-cursor-movement

	* src/xdisp.c (Fmove_point_visually): Don't let point exceed the
	BEGV..ZV range.  Signal Beginning of buffer error when there's a
	before-string at BEGV.  (Bug#30787)

2018-03-13  Glenn Morris  <rgm@gnu.org>

	Stop mentioning options.el in doc

	* doc/misc/calc.texi (Customizing Embedded Mode):
	Remove mentions of the obsolete (since 22.1) options.el.
	* lisp/progmodes/meta-mode.el: Comment fix.

2018-03-12  Charles A. Roelli  <charles@aurox.ch>

	* lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.

2018-03-12  Eli Zaretskii  <eliz@gnu.org>

	* lisp/minibuffer.el (completion-cycle-threshold): Doc fix.

2018-03-12  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in Xref documentation

	* doc/emacs/maintaining.texi (Looking Up Identifiers): More
	accurate wording for the description of xref-etags-mode.

2018-03-11  Eli Zaretskii  <eliz@gnu.org>

	More changes in the Emacs manual

	* doc/emacs/text.texi (Words, Foldout, Table Conversion): Clarify
	text.  Reported by Gijs Hillenius <gijs@hillenius.net> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/msdos.texi (Windows Keyboard):
	* doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
	* doc/emacs/macos.texi (Mac / GNUstep Basics):
	* doc/emacs/glossary.texi (Glossary):
	* doc/emacs/custom.texi (Function Keys, Init Syntax):
	* doc/emacs/commands.texi (User Input):
	* doc/emacs/basic.texi (Arguments): Fix capitalization of "Meta".
	* doc/emacs/msdos.texi (Windows Keyboard):
	* doc/emacs/dired.texi (Dired Updating):
	* doc/emacs/custom.texi (Init Rebinding): Fix misuses of @key.
	Suggested by Richard Stallman <rms@gnu.org>.

2018-03-11  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Xref

	* doc/emacs/maintaining.texi (Looking Up Identifiers): Document
	xref-etags-mode.

2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix create_process bug breaking eudc-expand-inline

	Problem reported by Thomas Fitzsimmons (Bug#30762).
	* src/process.c (create_process) [HAVE_PTYS]:
	Call setsid even if !PTY_FLAG.

2018-03-10  Noam Postavsky  <npostavs@gmail.com>

	Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)

	* lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM
	=> (ATOM) short form is only for non-nil ATOMs.

2018-03-10  Charles A. Roelli  <charles@aurox.ch>

	Improve SVG documentation

	* doc/lispref/display.texi (ImageMagick Images): Remove an
	outdated comment that references a fixed bug.
	(SVG Images): Fix grammar, and call functions functions (there are
	no commands in lisp/svg.el).

2018-03-10  Eli Zaretskii  <eliz@gnu.org>

	Document the "URL" keyword in library headers

	* doc/lispref/tips.texi (Library Headers): "URL" is an alias for
	"Homepage".  Suggested by Peter Oliver <p.d.oliver@mavit.org.uk>.
	(Bug#30571)

2018-03-09  Glenn Morris  <rgm@gnu.org>

	* test/lisp/international/mule-tests.el:
	Avoid local variables confusion.

2018-03-09  Bill Wohler  <wohler@newt.com>

	Add missing findex entries for recently removed kindex entries

	* doc/misc/mh-e.texi:

	(cherry picked from commit a56a3fc6849b89a71c9a00afcb088021ccbe94e5)

2018-03-09  Glenn Morris  <rgm@gnu.org>

	Replace the obsolete process-kill-without-query in documentation

	* lisp/comint.el (comint-exec-hook):
	* lisp/term.el (term-exec-hook):
	* lisp/eshell/esh-proc.el (eshell-exec-hook):
	Doc fixes re the obsolete process-kill-without-query.

2018-03-08  Michael Albinus  <michael.albinus@gmx.de>

	Minor change in the manual

	* doc/emacs/display.texi (Useless Whitespace):
	Don't upcase "TAB" and "SPC" when alluding to characters.

2018-03-08  Eli Zaretskii  <eliz@gnu.org>

	More minor changes in the manual

	* doc/emacs/display.texi (Useless Whitespace): Don't upcase "TAB"
	and "SPC" when alluding to characters.  Suggested by Richard
	Stallman <rms@gnu.org>.

	* doc/emacs/buffers.texi (Misc Buffer): Clarify what "read-only"
	means for buffers.
	(Buffers): Define and describe "buffer contents".  Suggested by
	Richard Stallman <rms@gnu.org>.  (Bug#30685)

2018-03-07  Glenn Morris  <rgm@gnu.org>

	Replace some obsolete aliases in code

	* lisp/net/eudc-bob.el (eudc-bob-mail-keymap):
	* lisp/textmodes/reftex-toc.el (reftex-make-separate-toc-frame):
	Replace obsolete aliases.

2018-03-07  Glenn Morris  <rgm@gnu.org>

	Replace some obsolete aliases in documentation

	* doc/misc/efaq-w32.texi (Incoming mail with Rmail):
	* doc/misc/speedbar.texi (Major Display Modes):
	* lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer):
	Doc fixes re obsolete aliases.

2018-03-07  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements in manuals

	* doc/lispref/variables.texi (Local Variables): Make more clear
	that local bindings of 'let' are in effect only within the body.
	Suggested by Marcin Borkowski <mbork@mbork.pl>, see
	https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00217.html
	for the details.

	* doc/emacs/programs.texi (Matching): Fix a typo.  Reported by
	Alex Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
	Improve indexing.

2018-03-07  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in display.texi

	* doc/emacs/display.texi (Highlight Interactively)
	(Useless Whitespace, Line Truncation, Visual Line Mode): Minor
	changes of wording and typo corrections.  Suggested by Michael
	Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.

2018-03-07  Glenn Morris  <rgm@gnu.org>

	Remove some unused spam.el variables

	* lisp/gnus/spam.el (spam-ifile-path, spam-ifile-database-path)
	(spam-bogofilter-path, spam-bsfilter-path)
	(spam-spamassassin-path, spam-sa-learn-path):
	Remove variables that are described as obsolete, but are
	really completely unused, and have been for years.

2018-03-07  Glenn Morris  <rgm@gnu.org>

	Replace some obsolete aliases in code

	* lisp/emulation/viper.el (viper-set-hooks):
	* lisp/epa-hook.el (auto-encryption-mode):
	* lisp/term/pc-win.el (set-frame-font): Replace obsolete aliases.
	* lisp/net/quickurl.el (quickurl--assoc-function): New.
	(quickurl-assoc-function): Use it.

2018-03-07  Glenn Morris  <rgm@gnu.org>

	Replace some obsolete aliases in documentation

	* doc/emacs/text.texi (Nroff Mode):
	* doc/misc/efaq.texi (How to add fonts):
	* lisp/gnus/nnheader.el (nnheader-insert-file-contents):
	* lisp/progmodes/pascal.el (pascal-outline-mode):
	Doc fixes re obsolete aliases.

2018-03-06  Glenn Morris  <rgm@gnu.org>

	Obsolete eshell-cmpl-suffix-list

	* lisp/eshell/em-cmpl.el (eshell-cmpl-suffix-list):
	Make obsolete, to match pcomplete-suffix-list.

2018-03-06  Eli Zaretskii  <eliz@gnu.org>

	More minor changes in the Glossary of the Emacs manual

	* doc/emacs/glossary.texi (Glossary): Improve cross-references for
	modifier keys.  Fix typos.  Suggested by Gijs Hillenius
	<gijs@hillenius.net> in emacs-manual-bugs@gnu.org.

2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>

	Revert last commit

	This reverts commit af4697faa1f5b643f63a9ea61aa205a4c1432e23.  It's
	too late for this to be in the release.

2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>

	Define if-let* and derivatives as aliases for if-let etc

	This commit reverts declaring `if-let' and `when-let' obsolete in
	favor of the new `if-let*' and `when-let*' versions because of the
	compiler warning mess (Bug#30039).  Instead we make foo-let* aliases
	for foo-let.  The old single-tuple variable spec case is still
	supported for backward compatibility.
	* lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare
	obsolete.  Tweak edebug specs.
	(and-let): Renamed from `and-let*' for compatibility with the names
	`if-let' and `when-let'.
	(if-let*, when-let*, and-let*): Define as aliases for `if-let',
	`when-let' and `and-let'.
	* test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test)
	(when-let-single-tuple-case-test): New tests for the single-binding
	tuple case.
	In the whole file, prefer the names without "*".

2018-03-05  Eli Zaretskii  <eliz@gnu.org>

	Minor fix in Emacs manual's Glossary

	* doc/emacs/glossary.texi (Glossary): Fix outdated text about
	primary selection.  Reported by Gijs Hillenius
	<gijs@hillenius.net> in emacs-manual-bugs@gnu.org.

2018-03-03  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/grep.el (zrgrep):

	Let-bind grep-use-null-filename-separator to nil (bug#30559).

2018-03-03  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in doc/emacs/text.texi

	* doc/emacs/text.texi (TeX Mode): Use @code for command markup.
	(HTML Mode): Add a note about "C-x C-v" binding in HTML mode.

2018-03-03  Eli Zaretskii  <eliz@gnu.org>

	Remove outdated comment in syntax.el

	* lisp/emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): Remove
	outdated comment.  (Bug#30617)

2018-03-03  Eli Zaretskii  <eliz@gnu.org>

	Prevent Flyspell from changing unrelated words

	* lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Avoid
	using stale cached data from previous invocations of this command.
	(Bug#30462)

2018-03-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid errors in flymake in builds --without-x

	* lisp/progmodes/flymake.el: Require 'mwheel'.  (Bug#28732)

2018-03-03  Eli Zaretskii  <eliz@gnu.org>

	More improvements of the Emacs manual

	* doc/emacs/rmail.texi (Rmail Reply, Rmail Sorting): Improve
	wording.  Suggested by Daniel Chakraborty
	<danielmchakraborty@gmail.com>.

	* doc/emacs/glossary.texi (Glossary): Add cross-references.
	Improve and clarify wording.  Suggested by Gijs Hillenius
	<gijs@hillenius.net> in emacs-manual-bugs@gnu.org.

	* doc/emacs/text.texi (Org Authoring): Add more supported formats
	to the list.
	(TeX Print): Improve wording.  Slightly rearrange stuff.
	(TeX Misc): Mention doctex-mode-hook.
	(Two-Column): Minor rearrangement of text.  Suggested by Michael
	Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.

	* doc/emacs/misc.texi (Saving Emacs Sessions):
	* doc/emacs/programs.texi (Program Modes): Remove redundant text
	and index entries.

2018-03-03  Dmitry Gutov  <dgutov@yandex.ru>

	Backport: xref--next-error-function: Move xref's window point

	* lisp/progmodes/xref.el (xref--next-error-function): Move
	xref's window point if it's visible.  When we don't do that,
	navigation can start looping after a while.

	(cherry picked from commit 108ce84432d597f92637ea74bd0a094224d157de)

2018-03-02  Glenn Morris  <rgm@gnu.org>

	mwheel minor consistency fix

	* lisp/mwheel.el (mwheel-scroll-left-function)
	(mwheel-scroll-right-function):
	Change from defcustom to defvar, for consistency with pre-existing.

2018-03-02  Eli Zaretskii  <eliz@gnu.org>

	* src/window.c (Frecenter): Improve commentary.

2018-03-02  Eli Zaretskii  <eliz@gnu.org>

	Fix downloading non-text files in EWW

	* lisp/net/eww.el (eww-download-callback): Bind
	coding-system-for-read to 'no-conversion', to avoid any code- or
	EOL-conversions in downloaded files.  (Bug#30664)

2018-03-02  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Rename some mwheel options, for consistency

	* lisp/mwheel.el (mouse-wheel-tilt-scroll)
	(mouse-wheel-flip-direction): Rename from mwheel-tilt-scroll-p,
	mwheel-flip-direction.
	(mwheel-scroll): Update for option renaming.
	* doc/emacs/frames.texi (Mouse Commands):
	Update for option renaming.

2018-03-01  Glenn Morris  <rgm@gnu.org>

	* lisp/vc/add-log.el (add-change-log-entry): Replace obsolete alias.

2018-03-01  Eli Zaretskii  <eliz@gnu.org>

	Improve the Emacs manual

	* doc/emacs/xresources.texi (Table of Resources): Mention that
	some resources are ignored by toolkit builds.
	* doc/emacs/custom.texi (Key Bindings): Improve indexing.
	(Bug#30530)

2018-03-01  Eli Zaretskii  <eliz@gnu.org>

	* lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#30634)

2018-03-01  Michael Albinus  <michael.albinus@gmx.de>

	Further improvements on manuals

	* doc/emacs/xresources.texi:
	* doc/lispref/display.texi:
	* doc/lispref/keymaps.texi:
	* doc/misc/dbus.texi:
	* doc/misc/efaq-w32.texi: Use "GTK+" where applicable.

	* doc/emacs/xresources.texi (Resources): Mention several use
	of "-xrm".
	(Table of Resources) [verticalScrollBars]: Add reference to Scroll Bars.

2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	Require a larger stack size for threads on macOS (bug#30364)

	* src/systhread.c (sys_thread_create)
	[THREADS_ENABLED && HAVE_PTHREAD && DARWIN_OS]:
	Require at least 8MB stack size for x64 and 4MB for x86 on macOS.
	Do not merge to master.

2018-02-28  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/streams.texi (Output Variables): Fix previous.

2018-02-28  Michael Albinus  <michael.albinus@gmx.de>

	Use "GTK+" where applicable in the manual

	* doc/emacs/display.texi (Standard Faces, Standard Faces):
	* doc/emacs/emacs.texi (Top):
	* doc/emacs/files.texi (Visiting):
	* doc/emacs/frames.texi (Scroll Bars):
	* doc/emacs/xresources.texi: Use "GTK+" where applicable.

2018-02-28  Paul Eggert  <eggert@cs.ucla.edu>

	Document print-escape-control-characters

	* doc/lispref/streams.texi, etc/NEWS: Add doc.

2018-02-27  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/killing.texi (Rectangles): Don't use @key for characters.

2018-02-27  Glenn Morris  <rgm@gnu.org>

	* lisp/emulation/viper.el: Unbreak it.

	Since 2017-03-19, M-x viper failed with function void cl-member-if.
	Perhaps it isn't used much.

2018-02-27  Eli Zaretskii  <eliz@gnu.org>

	More fixes in the Emacs manual

	* doc/emacs/xresources.texi (Table of Resources, Lucid Resources):
	Sort the resources.
	(Lucid Resources): Add cross-references.
	(GTK Resource Basics): Fix wording.
	(GTK styles): Add empty lines in a @table.  Suggested by Michael
	Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.

2018-02-27  Eli Zaretskii  <eliz@gnu.org>

	Avoid aborts in 'md5'

	* src/fns.c (extract_data_from_object): Don't crash if called with
	an invalid object.  (Bug#30627)

2018-02-26  Michael Albinus  <michael.albinus@gmx.de>

	Mark keys consistently in manuals

	* doc/emacs/killing.texi:
	* doc/lispintro/emacs-lisp-intro.texi:
	* doc/misc/calc.texi:
	* doc/misc/cc-mode.texi:
	* doc/misc/dired-x.texi:
	* doc/misc/ede.texi:
	* doc/misc/edt.texi:
	* doc/misc/efaq.texi:
	* doc/misc/erc.texi:
	* doc/misc/eshell.texi:
	* doc/misc/gnus-faq.texi:
	* doc/misc/gnus-news.texi:
	* doc/misc/idlwave.texi:
	* doc/misc/ido.texi:
	* doc/misc/mairix-el.texi:
	* doc/misc/message.texi:
	* doc/misc/mh-e.texi:
	* doc/misc/newsticker.texi:
	* doc/misc/org.texi:
	* doc/misc/pcl-cvs.texi:
	* doc/misc/ses.texi:
	* doc/misc/sieve.texi:
	* doc/misc/smtpmail.texi:
	* doc/misc/speedbar.texi:
	* doc/misc/srecode.texi:
	* doc/misc/vhdl-mode.texi:
	* doc/misc/vip.texi:
	* doc/misc/viper.texi: Mark keys consistently.

2018-02-26  Michael Albinus  <michael.albinus@gmx.de>

	Remove @key{} markups from @kindex entries in manuals

	* doc/emacs/basic.texi:
	* doc/emacs/buffers.texi:
	* doc/emacs/building.texi:
	* doc/emacs/calendar.texi:
	* doc/emacs/custom.texi:
	* doc/emacs/dired.texi:
	* doc/emacs/display.texi:
	* doc/emacs/files.texi:
	* doc/emacs/frames.texi:
	* doc/emacs/help.texi:
	* doc/emacs/indent.texi:
	* doc/emacs/killing.texi:
	* doc/emacs/kmacro.texi:
	* doc/emacs/mark.texi:
	* doc/emacs/mini.texi:
	* doc/emacs/misc.texi:
	* doc/emacs/modes.texi:
	* doc/emacs/msdos-xtra.texi:
	* doc/emacs/msdos.texi:
	* doc/emacs/mule.texi:
	* doc/emacs/picture-xtra.texi:
	* doc/emacs/programs.texi:
	* doc/emacs/regs.texi:
	* doc/emacs/rmail.texi:
	* doc/emacs/screen.texi:
	* doc/emacs/search.texi:
	* doc/emacs/sending.texi:
	* doc/emacs/text.texi:
	* doc/emacs/trouble.texi:
	* doc/misc/calc.texi:
	* doc/misc/cc-mode.texi:
	* doc/misc/ediff.texi:
	* doc/misc/ert.texi:
	* doc/misc/eww.texi:
	* doc/misc/forms.texi:
	* doc/misc/gnus.texi:
	* doc/misc/idlwave.texi:
	* doc/misc/info.texi:
	* doc/misc/message.texi:
	* doc/misc/mh-e.texi:
	* doc/misc/newsticker.texi:
	* doc/misc/org.texi:
	* doc/misc/pcl-cvs.texi:
	* doc/misc/rcirc.texi:
	* doc/misc/reftex.texi:
	* doc/misc/sc.texi:
	* doc/misc/sieve.texi:
	* doc/misc/vhdl-mode.texi:
	* doc/misc/vip.texi:
	* doc/misc/viper.texi:
	* doc/misc/woman.texi: Remove @key{} markups from @kindex entries.

2018-02-25  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/display.texi (Standard Faces): Fix markup of index entry.

2018-02-25  Michael Albinus  <michael.albinus@gmx.de>

	Fix @kindex entries in manuals

	* doc/emacs/basic.texi:
	* doc/emacs/buffers.texi:
	* doc/emacs/building.texi:
	* doc/emacs/calendar.texi:
	* doc/emacs/custom.texi:
	* doc/emacs/dired.texi:
	* doc/emacs/display.texi:
	* doc/emacs/files.texi:
	* doc/emacs/frames.texi:
	* doc/emacs/help.texi:
	* doc/emacs/indent.texi:
	* doc/emacs/killing.texi:
	* doc/emacs/kmacro.texi:
	* doc/emacs/mark.texi:
	* doc/emacs/mini.texi:
	* doc/emacs/misc.texi:
	* doc/emacs/modes.texi:
	* doc/emacs/msdos-xtra.texi:
	* doc/emacs/msdos.texi:
	* doc/emacs/mule.texi:
	* doc/emacs/picture-xtra.texi:
	* doc/emacs/programs.texi:
	* doc/emacs/regs.texi:
	* doc/emacs/rmail.texi:
	* doc/emacs/screen.texi:
	* doc/emacs/search.texi:
	* doc/emacs/sending.texi:
	* doc/emacs/text.texi:
	* doc/emacs/trouble.texi:
	* doc/lispref/files.texi:
	* doc/misc/calc.texi:
	* doc/misc/cc-mode.texi:
	* doc/misc/ediff.texi:
	* doc/misc/epa.texi:
	* doc/misc/ert.texi:
	* doc/misc/eww.texi:
	* doc/misc/forms.texi:
	* doc/misc/gnus.texi:
	* doc/misc/info.texi:
	* doc/misc/mairix-el.texi:
	* doc/misc/message.texi:
	* doc/misc/mh-e.texi:
	* doc/misc/newsticker.texi:
	* doc/misc/org.texi:
	* doc/misc/pcl-cvs.texi:
	* doc/misc/rcirc.texi:
	* doc/misc/sc.texi:
	* doc/misc/sieve.texi:
	* doc/misc/vhdl-mode.texi:
	* doc/misc/vip.texi:
	* doc/misc/viper.texi:
	* doc/misc/woman.texi: Fix @kindex entries.  Mark keys consistently.

2018-02-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix @cindex entries in manuals

	* doc/emacs/custom.texi:
	* doc/emacs/dired.texi:
	* doc/emacs/display.texi:
	* doc/emacs/files.texi:
	* doc/emacs/frames.texi:
	* doc/emacs/killing.texi:
	* doc/emacs/maintaining.texi:
	* doc/emacs/misc.texi:
	* doc/emacs/msdos-xtra.texi:
	* doc/emacs/msdos.texi:
	* doc/emacs/search.texi:
	* doc/emacs/text.texi:
	* doc/emacs/trouble.texi:
	* doc/lispintro/emacs-lisp-intro.texi:
	* doc/lispref/strings.texi:
	* doc/lispref/text.texi:
	* doc/misc/cc-mode.texi:
	* doc/misc/efaq.texi:
	* doc/misc/eieio.texi:
	* doc/misc/emacs-mime.texi:
	* doc/misc/gnus.texi:
	* doc/misc/htmlfontify.texi:
	* doc/misc/idlwave.texi:
	* doc/misc/message.texi:
	* doc/misc/mh-e.texi:
	* doc/misc/sem-user.texi:
	* doc/misc/ses.texi:
	* doc/misc/tramp.texi:
	* doc/misc/vhdl-mode.texi: Fix @cindex entries.

2018-02-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix @cindex entries in org.texi

	* doc/misc/org.texi: Fix @cindex entries.  Use consistently
	@code{} for keywords.

2018-02-24  Eli Zaretskii  <eliz@gnu.org>

	Document reserved keys

	* doc/emacs/custom.texi (Key Bindings): Mention keys reserved for
	users.  (Bug#30530)

2018-02-24  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/ebrowse.texi: Use @key{} for keys.

2018-02-24  Eli Zaretskii  <eliz@gnu.org>

	* src/keyboard.c (syms_of_keyboard): Doc fix.  (Bug#30588)

2018-02-24  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of X resources

	* doc/emacs/xresources.texi (Table of Resources): Add menu-related
	resources.  Add cross-references to "GTK Resources".

2018-02-23  Glenn Morris  <rgm@gnu.org>

	* lisp/international/mule.el (keyboard-coding-system): Doc fix.

	Since multi-tty, this is always set.

2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	Minor doc fixes, mostly for timestamp issues

2018-02-23  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/mini.texi (Completion Styles): Improve indexing.

2018-02-23  Michael Albinus  <michael.albinus@gmx.de>

	Fix @findex and @vindex entries in manuals

	* doc/emacs/building.texi:
	* doc/emacs/calendar.texi:
	* doc/emacs/cmdargs.texi:
	* doc/emacs/mini.texi:
	* doc/emacs/misc.texi:
	* doc/emacs/trouble.texi:
	* doc/emacs/windows.texi:
	* doc/lispintro/emacs-lisp-intro.texi:
	* doc/lispref/edebug.texi:
	* doc/lispref/frames.texi:
	* doc/lispref/os.texi:
	* doc/lispref/windows.texi:
	* doc/misc/cc-mode.texi:
	* doc/misc/dired-x.texi:
	* doc/misc/ediff.texi:
	* doc/misc/mh-e.texi:
	* doc/misc/pcl-cvs.texi:
	* doc/misc/reftex.texi:
	* doc/misc/sc.texi:
	* doc/misc/vhdl-mode.texi:
	* doc/misc/viper.texi: Fix @findex and @vindex entries.

2018-02-22  Alan Mackenzie  <acm@muc.de>

	Document, in the Elisp manual, how to get a character's raw syntax descriptor

	* doc/lispref/syntax.texi (Syntax Table internals): mention the use of `aref'
	to get a character's raw syntax descriptor.

2018-02-22  Eli Zaretskii  <eliz@gnu.org>

	Improvements in the Emacs manual

	* doc/emacs/custom.texi (Customization Groups)
	(Changing a Variable, Browsing Custom, Customizing Faces): Fix
	markup of keys.
	(Changing a Variable, Saving Customizations): Update the
	description of buttons in the Custom buffer.
	(Face Customization): More accurate description.
	(Specific Customization, Examining, Locals): Add blank lines in
	the @table.  Reported by Michael Albinus <michael.albinus@gmx.de>
	in emacs-manual-bugs@gnu.org.

2018-02-22  Glenn Morris  <rgm@gnu.org>

	Tiny doc/misc markup fixes

	* doc/misc/ediff.texi (Patch and Diff Programs):
	* doc/misc/viper.texi (File and Buffer Handling): Fix markup typos.

2018-02-22  Martin Rudalics  <rudalics@gmx.at>

	Skip mouse-face overlap check when mouse-face is hidden (Bug#30519)

	* src/xdisp.c (note_mouse_highlight): Skip check whether
	mouse-face highlighting overlay overlaps other mouse-face
	overlays when mouse-face highlighting is hidden (Bug#30519).

2018-02-22  Eli Zaretskii  <eliz@gnu.org>

	Fix capitalization of "Mail-Followup-To"

	* doc/emacs/sending.texi (Header Editing, Mail Headers):
	Standardize on "Mail-Followup-To" as the capitalization.

2018-02-21  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/grep.el (grep-compute-defaults):

	Add grep-use-null-filename-separator to grep-host-defaults-alist.
	(Bug#30559)

2018-02-21  Charles A. Roelli  <charles@aurox.ch>

	Semantic manual fixes

	* doc/misc/semantic.texi (Tools): Fix wording and grammar, and
	remove a reference to "document-vars.el" which, in the Emacs
	repository, is part of lisp/cedet/srecode/document.el.

2018-02-21  Eli Zaretskii  <eliz@gnu.org>

	More improvements in the Emacs manual

	* doc/emacs/help.texi (Misc Help):
	* doc/emacs/m-x.texi (M-x):
	* doc/emacs/mini.texi (Minibuffer File, Repetition): Prevent
	breaking of command sequences between lines.  Reported by Wojciech
	Politarczyk <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.

	* doc/emacs/sending.texi (Header Editing): Fix capitalization.

2018-02-21  tino calancha  <tino.calancha@gmail.com>

	* doc/misc/viper.texi (File and Buffer Handling): Add missing '@'

2018-02-21  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of 'x-underline-at-descent-line'

	* doc/emacs/display.texi (Display Custom):
	* src/nsterm.m (syms_of_nsterm):
	* src/xterm.c (syms_of_xterm):
	* src/w32term.c (syms_of_w32term): Mention the effect of
	'line-spacing' on the underline position.  (Bug#30553)

2018-02-21  Glenn Morris  <rgm@gnu.org>

	* lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.

2018-02-20  Robert Pluim  <rpluim@gmail.com>

	Correct variable markup in manuals

	* doc/lispref/minibuf.texi (Completion in Buffers): Fix markup.
	* doc/lispref/text.texi (Filling): Likewise.
	* doc/misc/dired-x.texi (Advanced Mark Commands): Likewise.
	* doc/misc/epa.texi (Encrypting/decrypting gpg files): Likewise.
	(Encrypting/decrypting gpg files): Likewise.
	* doc/misc/tramp.texi (External methods): Likewise.
	(Default Method): Likewise.
	* doc/misc/viper.texi (Editing in Insert State): Likewise.
	(File and Buffer Handling): Likewise.
	* doc/misc/gnus.texi (Mail Source Customization): Likewise.
	* doc/misc/url.texi (Customization): Likewise.  Note obsolete
	status of url-temporary-directory.

2018-02-20  Eli Zaretskii  <eliz@gnu.org>

	Improve the "Sending Mail" chapter of Emacs manual

	* doc/emacs/sending.texi (Mail Format, Header Editing)
	(Mail Aliases): Fix capitalization of mail headers.
	(Mail Aliases): Use ~/.mailrc consistently.
	(Mail Misc): More accurate description of disposition.  Suggested
	by Michael Albinus <michael.albinus@gmx.de> in
	emacs-manual-bugs@gnu.org.

2018-02-20  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of 'flyspell-auto-correct-word'

	* lisp/textmodes/flyspell.el (flyspell-get-word): Elaborate in the
	doc string on how the function looks for the word to spell-check.
	(flyspell-word, flyspell-auto-correct-word): Refer to
	'flyspell-get-word' for details about finding the word.
	(Bug#30462)

2018-02-19  Robert Pluim  <rpluim@gmail.com>

	* doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.

2018-02-19  Eli Zaretskii  <eliz@gnu.org>

	More changes in the Emacs manuals

	* doc/emacs/custom.texi (Customization Groups, Browsing Custom)
	(Custom Themes, Keymaps, Prefix Keymaps, Modifier Keys)
	(Function Keys, Named ASCII Chars, Mouse Buttons, Init Examples):
	Fix punctuation.  Suggested by Stefan Kamphausen
	<stefan.kamphausen@acrolinx.com> in emacs-manual-bugs@gnu.org.

	* doc/emacs/basic.texi (Arguments, Repeating): Avoid breaking
	commands between lines.  Reported by Wojciech Politarczyk
	<w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.

	* doc/emacs/custom.texi (Init Rebinding): Move index entries about
	rebinding keys from "Init File".  (Bug#30528)

2018-02-18  Eli Zaretskii  <eliz@gnu.org>

	More fixes in the Emacs manual

	* doc/emacs/abbrevs.texi (Defining Abbrevs, Expanding Abbrevs)
	(Editing Abbrevs, Saving Abbrevs): Insert blank lines between
	@item's.
	(Expanding Abbrevs): Add 'unexpand-abbrev' to the list of
	commands.  Suggested by Michael Albinus <michael.albinus@gmx.de>
	in emacs-manual-bugs@gnu.org.

2018-02-18  Eli Zaretskii  <eliz@gnu.org>

	* src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)

2018-02-18  Michael Albinus  <michael.albinus@gmx.de>

	Minor edit in tramp.texi

	* doc/misc/tramp.texi (Remote shell setup, Windows setup hints):
	Improve @cindex entries.

2018-02-17  Eli Zaretskii  <eliz@gnu.org>

	More improvements in the Emacs manual

	* doc/emacs/maintaining.texi (Xref Commands, Identifier Search)
	(List Identifiers): Insert blank lines between @item's in a
	@table.
	(Etags Regexps): More accurate description of escape sequences.
	(Select Tags Table): Prefer "~/emacs.d/init.el" to "~/.emacs".
	Suggested by Michael Albinus <michael.albinus@gmx.de> in
	emacs-manual-bugs@gnu.org.

2018-02-17  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'electric-pair-mode'

	* lisp/elec-pair.el (electric-pair-mode):
	* doc/emacs/programs.texi (Matching): Document the operation of
	electric-pair-mode when there's an active region.  (Bug#30502)

2018-02-17  Charles A. Roelli  <charles@aurox.ch>

	lisp/vc/: documentation fixes

	* lisp/vc/vc.el (vc-region-history): Clarify documentation.
	* lisp/vc/add-log.el (change-log-get-method-definition):
	Indent documentation.

2018-02-17  Robert Pluim  <rpluim@gmail.com>

	Document 'desktop-files-not-to-save'

	* doc/emacs/misc.texi (Saving Emacs Sessions): Add description
	of 'desktop-files-not-to-save'.

	* lisp/desktop.el (desktop-files-not-to-save): Explain that
	the default value excludes buffers visiting remote files.

2018-02-17  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Profiling features

	* doc/lispref/debugging.texi (Profiling): Improve the description
	of elp.el.  Improve wording of the rest of the section.  (Bug#30491)

	* lisp/emacs-lisp/elp.el (elp-instrument-list): Make the
	interactive invocation work.  Doc fix.

2018-02-17  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing of "performance" in ELisp manual

	* doc/lispref/debugging.texi (Profiling):
	* doc/lispref/edebug.texi (Coverage Testing): Improve indexing of
	features useful for performance analysis.  (Bug#30490)

2018-02-17  Eli Zaretskii  <eliz@gnu.org>

	Minor change in Emacs manual's VC chapter

	* doc/emacs/maintaining.texi (Log Buffer): Mention the "Summary"
	header.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
	emacs-manual-bugs@gnu.org.

2018-02-17  Noam Postavsky  <npostavs@gmail.com>

	Avoid memory corruption with specpdl overflow + edebug (Bug#30481)

	If grow_specpdl fails due to outgrowing max_specpdl_size, it will
	signal an error *before* growing the specpdl array.  Therefore, when
	handling the signal, specpdl_ptr points past the end of the specpdl
	array and any further use of specpdl before unwinding (e.g., if
	edebug binds signal-hook-function) will cause memory corruption.
	* src/eval.c (signal_or_quit): Don't call `signal-hook-function' if
	the specpdl_ptr is already past the end of the specpdl array.
	* test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
	(eval-exceed-specbind-with-signal-hook): New test & helper function.

2018-02-17  Noam Postavsky  <npostavs@gmail.com>

	Document comment-fill-column in the manual (Bug#11636)

	* doc/emacs/programs.texi (Comment Commands)
	(Options for Comments): Mention comment-fill-column.

2018-02-17  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/dired.texi (Marks vs Flags): Copyedits.

2018-02-16  Eli Zaretskii  <eliz@gnu.org>

	More fixes for the Emacs manual

	* doc/emacs/vc1-xtra.texi (Customizing VC): Update the list of
	backends.
	* doc/emacs/maintaining.texi (Version Control): Add SRC to the
	list of VCS.  Remove the description of vc-state-refresh.
	(Version Control Systems): Update the description of CVS.
	(VC Change Log): Amend the list of VCS that don't support
	vc0print-root-log.
	(VCS Changesets, VCS Repositories, Advanced C-x v v)
	(VC Change Log): Mention SRC with RCS where appropriate.
	(VC Directory Commands): More accurate description of
	vc-dir-hide-up-to-date.  Suggested by Michael Albinus
	<michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.

2018-02-16  Robert Cochran  <robert@cochranmail.com>

	Make 'byte-compile-error-on-warn' a safe file variable

	* lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark
	as a safe local variable for boolean values.

2018-02-16  Eli Zaretskii  <eliz@gnu.org>

	Fix the doc string of flyspell-auto-correct-word

	* lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Doc
	fix.  (Bug#30462)

2018-02-16  Eli Zaretskii  <eliz@gnu.org>

	Improve the MS-Windows appendix of the Emacs manual

	* doc/emacs/msdos.texi (Windows Startup): Describe the pinned
	shortcuts for starting Emacs.
	(Text and Binary): Minor wording changes.
	(Windows Files): Mention 'read-file-name-completion-ignore-case'.
	(ls in Lisp): Update the list of supported 'ls' switches.
	Document 'ls-lisp-use-string-collate' and
	'ls-lisp-UCA-like-collation'.
	(Windows HOME): Mention warnings displayed at startup when
	deprecated locations of HOME and/or deprecated names for init
	files are used.
	(Windows Keyboard): Mention delete-selection-mode.

2018-02-16  Eli Zaretskii  <eliz@gnu.org>

	Fix 'vc-git--program-version'

	* lisp/vc/vc-git.el (vc-git--program-version): Fix the function to
	work with Git for Windows.

2018-02-16  Eli Zaretskii  <eliz@gnu.org>

	Fix typos and wording in the Emacs manual

	* doc/emacs/dired.texi (Marks vs Flags, Hiding Subdirectories):
	* doc/emacs/maintaining.texi (Tag Syntax):
	* doc/emacs/building.texi (Commands of GUD, Threads Buffer)
	(Lisp Libraries):
	* doc/emacs/windows.texi (Temporary Displays): Fix typos.
	* doc/emacs/files.texi (Backup Copying): Fix wording.  Reported by
	Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
	emacs-manual-bugs@gnu.org.

2018-02-16  Michael Albinus  <michael.albinus@gmx.de>

	* doc/emacs/programs.texi (Semantic): Order programming languages.

2018-02-15  Eli Zaretskii  <eliz@gnu.org>

	More improvements for the Emacs manual

	* doc/emacs/programs.texi (Basic Indent, Comment Commands): Fix
	typos.
	* doc/emacs/text.texi (TeX Print, HTML Mode, Enriched Faces): Fix
	typos.
	* doc/emacs/help.texi (Help Files): Improve @uref usage.  Reported
	by Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/fortran-xtra.texi (ForIndent Commands): Fix a typo.
	(ForIndent Commands, Fortran Columns): Add empty lines between
	@items in a @table.
	(ForIndent Cont, ForIndent Num, Fortran Columns): Mention
	'column-number-indicator-zero-based'.
	(ForIndent Vars): Fix a typo.
	(Fortran Comments): Fix punctuation.
	(ForIndent Cont, Fortran Autofill): Fix markup of keyboard input.
	* doc/emacs/programs.texi (Comments): Fix a typo.
	(Comment Commands): More accurate description of the commands.
	(Options for Comments): Don't mention "hook".
	(Man Page): Prefer "M-x man" if available.
	(Hideshow): Fix the command key sequence.
	(Semantic): Update supported languages.
	(Semantic, Hungry Delete, Other C Commands): Fix markup of
	commands.
	(Misc for Programs): Fix a typo.
	(Electric C, Hungry Delete): More accurate description of
	mode-line lighters of CC submodes.
	(Asm Mode): Add empty lines between @items in a @table.
	* doc/emacs/programs.texi (Program Modes): Add a few more modes.
	Reported by Michael Albinus <michael.albinus@gmx.de> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/msdos.texi (Windows Misc): A minor rewording.
	Suggested by Isaac Carter <icarter1391@gmail.com> in
	emacs-manual-bugs@gnu.org.

2018-02-14  Eli Zaretskii  <eliz@gnu.org>

	Minor wording change in Emacs manual

	* doc/emacs/killing.texi (Accumulating Text): Fix spelling.
	Reported by lyr3 <lyr3@protonmail.com> in
	emacs-manual-bugs@gnu.org.

2018-02-14  Eli Zaretskii  <eliz@gnu.org>

	Another set of changes for the manual

	* doc/emacs/programs.texi (Program Indent): Add a cross-reference
	to elisp's description of 'pp'.
	(Program Modes): Add a few more programming modes.  Add index
	entries.
	(Basic Indent, Multi-line Indent, C Indent, Comment Commands)
	(Manipulating Comments): Fix markup of keyboard commands.
	* doc/emacs/search.texi (Regexps): Add an example with non-ASCII
	characters.  Suggested by Michael Albinus <michael.albinus@gmx.de>
	in emacs-manual-bugs@gnu.org.

	* doc/lispref/display.texi (Display Tables): Fix the description
	of the 5th extra slot of the display table.  (Bug#13473)

	* doc/emacs/regs.texi (Registers): Simplify wording.

	* doc/emacs/custom.texi (Init Non-ASCII): Remove outdated text
	about perils of encoded keyboard input.

2018-02-14  Michael Albinus  <michael.albinus@gmx.de>

	Improvements on tramp.texi

	* doc/misc/tramp.texi: Use Tramp version in title.  Further
	improvements on user option indexing.  Finish command examples
	with @key{RET} where appropriate.
	(Remote processes): Use 'M-&' for invocation of async shell.
	(Frequently Asked Questions): Add example with simplified syntax.

2018-02-13  Paul Eggert  <eggert@cs.ucla.edu>

	Tramp minor doc fixes

	* doc/misc/tramp.texi (Remote processes): Spelling fix and minor
	wording improvement.

2018-02-13  Eli Zaretskii  <eliz@gnu.org>

	More changes in the Emacs manual

	* doc/emacs/search.texi (Regexp Backslash): Say that
	symbol-constituent characters are determined by the syntax table.
	(Lax Search): Fix example of case-insensitive search.  Fix a
	typo.
	(Unconditional Replace): Improve wording.
	(Regexp Replace): More consistent wording.  Reported by Michael
	Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.

	* doc/emacs/msdos.texi (Windows HOME): Avoid enumerating all the
	Windows versions.  Reported by Isaac Carter
	<icarter1391@gmail.com> in emacs-manual-bugs@gnu.org.

2018-02-13  Andreas Schwab  <schwab@suse.de>

	* lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.

2018-02-13  Andreas Schwab  <schwab@suse.de>

	Don't signal error in vc-deduce-backend

	* lisp/vc/vc.el (vc-deduce-backend): Return nil if
	vc-responsible-backend signals an error.

2018-02-13  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi: Index more user options.

2018-02-13  Eli Zaretskii  <eliz@gnu.org>

	Minor change in the Emacs manual

	* doc/emacs/building.texi (Lisp Libraries): Explain why nil in
	load-path is not a good idea.  Suggested by James Yoo
	<james.yoo@gmail.com> in emacs-manual-bugs@gnu.org.

2018-02-13  Eli Zaretskii  <eliz@gnu.org>

	NEWS update about 'string-trim'

	* etc/NEWS: Mention changes in string-trim family of functions.
	(Bug#30442)

2018-02-13  Noam Postavsky  <npostavs@gmail.com>

	Clarify TRAMP process-environment interaction (Bug#30419)

	* doc/misc/tramp.texi (Remote processes): Index the
	tramp-remote-process-environment description.  Clarify the effects of
	let-binding process-environment and the motivation for that behavior.

2018-02-12  Juri Linkov  <juri@linkov.net>

	* lisp/progmodes/grep.el (grep-num-matches-found): New variable.

	(grep-mode-line-matches): New defconst.
	(grep-mode-font-lock-keywords): Update the regexp for “Grep finished”
	to include the number of matches found.
	(grep-process-setup): Set grep-num-matches-found to 0.
	(grep-exit-message): New function with body moved from lambda
	in grep-process-setup.  Use grep-num-matches-found to return
	the number of matches found.
	(grep-filter): Increment grep-num-matches-found.
	(grep-mode): Set compilation-mode-line-errors to grep-mode-line-matches.
	(Bug#30397, bug#14017)

2018-02-12  Eli Zaretskii  <eliz@gnu.org>

	Avoid aborts in cm.c due to too small TTY frame

	* src/frame.c (frame_windows_min_size): Limit TTY frames to a
	minimum height large enough to allow for a menu bar, the mode
	line, one text line and one echo-area line.  This avoids aborts in
	cm.c:cmcheckmagic.  (Bug#30320)

2018-02-12  Eli Zaretskii  <eliz@gnu.org>

	Another set of improvements in the Emacs manual

	* doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
	* doc/emacs/msdos.texi (Windows Keyboard):
	* doc/emacs/mark.texi (Using Region):
	* doc/emacs/frames.texi (Menu Mouse Clicks):
	* doc/emacs/macos.texi (Mac / GNUstep Basics): Fix spelling of
	keys.  Reported by Michael Albinus <michael.albinus@gmx.de> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/glossary.texi (Glossary): Document that "c.f." is a
	misspelling.  Reported by Robert Pluim <rpluim@gmail.com>.
	Various minor wording improvements.  Suggested by Toon Claes
	<toon@iotcl.com> in emacs-manual-bugs@gnu.org.
	More minor changes.  Suggested by Michael Albinus
	<michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.

	* doc/emacs/cmdargs.texi (Title X): Improve wording.

	* doc/emacs/building.texi (Grep Searching, Compilation): Avoid
	passive tense.

	* doc/emacs/basic.texi (Moving Point): Move the description of the
	bidi-related effects of the arrow keys from here ...
	* doc/emacs/mule.texi (Bidirectional Editing): ... to here.
	Explain the behavior of arrow keys between paragraphs.

2018-02-12  Michael Albinus  <michael.albinus@gmx.de>

	Fix help in mode-line-mode-menu

	* lisp/bindings.el (mode-line-mode-menu) [auto-revert-tail-mode]:
	Fix help string.

2018-02-11  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of desktop restoring

	* doc/emacs/misc.texi (Saving Emacs Sessions): Document
	'desktop-auto-save-timeout', 'desktop-load-locked-desktop', and
	how to restore desktop in daemon mode.  (Bug#30421)

2018-02-11  Eli Zaretskii  <eliz@gnu.org>

	Improve the Emacs manual's chapter "Frames"

	* doc/emacs/frames.texi (Creating Frames): Add a cross-reference
	to where frame visibility is described.
	(Word and Line Mouse): Clarify wording.
	(Scroll Bars): Qualify scroll-bar behavior.  Reported by Dmitry
	Gutov <dgutov@yandex.ru> in emacs-manual-bugs@gnu.org.

2018-02-10  Andreas Schwab  <schwab@linux-m68k.org>

	Fix unbound mm-uu-entry in mm-uu

	* lisp/gnus/mm-uu.el (mm-uu-dissect): Rename entry to mm-uu-entry.

2018-02-10  Eli Zaretskii  <eliz@gnu.org>

	Improve Emacs user manual in fixit.texi

	* doc/emacs/fixit.texi (Undo): Clarify inaccurate description of
	repeated undo.
	(Transpose): Describe explicitly what happens at EOL.
	(Spelling): Use "spell-checking" consistently.  Clarify wording.
	Suggested by Toon Claes <toon@iotcl.com> in
	emacs-manual-bugs@gnu.org.

2018-02-10  Eli Zaretskii  <eliz@gnu.org>

	Another minor change in the manual

	* doc/emacs/glossary.texi (Glossary): Add popular Latin
	abbreviations, such as "e.g.".

2018-02-10  Eli Zaretskii  <eliz@gnu.org>

	More minor changes in the Emacs manual

	* doc/emacs/xresources.texi (GTK resources):
	* doc/emacs/trouble.texi (Contributing):
	* doc/emacs/frames.texi (Fonts): Use HTTPS URLs instead of HTTP.

	* doc/emacs/docstyle.texi: Add a few @hyphenation directives,
	based on reports in emacs-manual-bugs@gnu.org about incorrect
	hyphenation.

2018-02-10  Eli Zaretskii  <eliz@gnu.org>

	Avoid printing garbled error message from image.el

	* lisp/image.el (image--get-imagemagick-and-warn): Don't use
	apostrophe in the error message, as that message is shown from a
	unibyte buffer, and will run afoul of the default style of showing
	quote characters.  (Bug#30405)

2018-02-09  Eli Zaretskii  <eliz@gnu.org>

	Doc string fix in latin-alt.el

	* lisp/leim/quail/latin-alt.el ("dutch"): Doc fix.  Reported by
	Robert Pluim <rpluim@gmail.com>.

2018-02-09  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements in package.texi

	* doc/emacs/package.texi (Package Menu): Minor wording change.
	(Package Installation): Use HTTPS.  A better @xref to GnuPG
	manual.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
	emacs-manual-bugs@gnu.org.

2018-02-09  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement in Emacs user manual

	* doc/emacs/files.texi (Directories): Document that
	'directory-free-space-program' and 'directory-free-space-args' are
	only for local filesystems.  Suggested by Michael Albinus
	<michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.

2018-02-09  Michael Albinus  <michael.albinus@gmx.de>

	* doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.

2018-02-09  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of mini-window resizing

	* doc/lispref/minibuf.texi (Minibuffer Windows): Mention
	'message-truncate-lines' for preventing resizing of minibuffer
	windows.  (Bug#19045)
	(Minibuffer Misc): Remove redundant description of
	'max-mini-window-height'.
	* doc/lispref/display.texi (Echo Area Customization): Adjust
	cross-reference.

2018-02-09  Eli Zaretskii  <eliz@gnu.org>

	More changes in the Emacs manual

	* doc/emacs/fixit.texi (Undo): Mention 'revert-buffer'.
	(Fixing Case): Fix punctuation.
	(Spelling): Fix a typo.  Suggested by Toon Claes <toon@iotcl.com>
	in emacs-manual-bugs@gnu.org.

	* doc/emacs/modes.texi (Major Modes): Break a long sentence into
	2.  Reported by Stefan Kamphausen <stefan.kamphausen@acrolinx.com>
	in emacs-manual-bugs@gnu.org.

	* doc/emacs/indent.texi (Just Spaces): Yet another minor
	rewording.

	* doc/emacs/building.texi (Watch Expressions): Improve wording.
	(Multithreaded Debugging): Spell "tool bar" as 2 words.  Reported
	by Alberto Sartori <alberto.sartori@sissa.it> in
	emacs-manual-bugs@gnu.org.
	(Grep Searching): Mention the effect of
	'compilation-mode-line-errors'.  (Bug#30397)

	* doc/emacs/basic.texi (Moving Point): Minor reformatting and
	rewording of what <LEFT> and <RIGHT> do.

2018-02-09  Noam Postavsky  <npostavs@gmail.com>

	Clarify that text-quoting-style doesn't affect *Info* (Bug#24519)

	* src/doc.c (syms_of_doc) <text-quoting-style>: Clarify that info
	manual display is unaffected.

2018-02-09  Noam Postavsky  <npostavs@gmail.com>

	Mention that shell quoting of % on w32 may fail (Bug#19350)

	* doc/lispref/os.texi (Security Considerations): Mention that quoting
	of '%' assumes no '^' in variable names.
	* test/lisp/subr-tests.el (shell-quote-argument-%-on-w32): New test,
	demonstrating what doesn't work.

2018-02-09  Noam Postavsky  <npostavs@gmail.com>

	Fix --no-build-details for w32 and macOS

	* src/w32term.c (w32_initialize_display_info): Handle nil system-name.
	* lisp/term/ns-win.el (window-system-initialization): Don't pass nil
	to `x-open-connection'.

2018-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/lispref/anti.texi (Antinews): Add some more antinews.

2018-02-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix crashes when run with --no-build-details

	* src/xrdb.c (get_environ_db):
	* src/xterm.c (same_x_server, x_term_init):
	Don’t assume Fsystem_name returns a string.

2018-02-08  Eli Zaretskii  <eliz@gnu.org>

	More changes for the manual

	* doc/emacs/anti.texi (Antinews): Replace 25.2 with 25.3.
	Reported by Michael Albinus <michael.albinus@gmx.de> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/custom.texi (Function Keys): Improve wording.
	Suggested by clemens.radermacher@posteo.de in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/misc.texi (History References): Improve punctuation.
	(Terminal emulator): Fix a typo.
	(Term Mode): Remove redundant repeated text.
	(Invoking emacsclient): Improve wording.  Suggested by Alberto
	Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.

	* doc/emacs/files.texi (Visiting): Fix last change.

2018-02-08  Noam Postavsky  <npostavs@gmail.com>

	Doc fixes for process functions (Bug#30349)

	* doc/lispref/processes.texi (Asynchronous Processes): Explain what
	the 'stopped' state means for a pipe process.
	* src/process.c (Fmake_process, Fmake_pipe_process)
	(Fmake_serial_process, Fmake_network_process):
	* lisp/subr.el (start-process):
	* lisp/net/tls.el (open-tls-stream):
	* lisp/net/starttls.el (starttls-open-stream):
	* lisp/net/gnutls.el (open-gnutls-stream): Remove meaningless phrase
	"specify an output stream" phrase from docstring.

2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix shr and CSS 4 color maps

	* lisp/net/shr-color.el (shr-color-html-colors-alist): Fix typos.
	Add RebeccaPurple.
	* lisp/textmodes/css-mode.el (css--color-map): Add fuchsia-magenta
	and aqua-cyan aliases.
	* test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
	Bump color count.

2018-02-07  Eli Zaretskii  <eliz@gnu.org>

	Yet another round of improvements in the manual

	* doc/emacs/misc.texi (Document View): Improve wording.  Reported
	by lyr3 <lyr3@protonmail.com> in emacs-manual-bugs@gnu.org.

	* doc/emacs/files.texi (Recover): Fix a typo.  Reported by Jorge
	<jorge+list@disroot.org> in emacs-manual-bugs@gnu.org.

	* doc/emacs/anti.texi (Antinews): Fix typos.  Reported by Justin
	Heyes-Jones <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.

	* doc/emacs/mini.texi (Basic Minibuffer): Clarify wording.
	Reported by Vivishek Sudhir <vivishek.sudhir@gmail.com> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/cmdargs.texi (MS-Windows Registry): Improve wording
	regarding registry keys.

	* doc/emacs/macos.texi (Mac OS / GNUstep): Sayu "NeXT Inc."
	Reported by Cena Mayo <cenazoic@gmail.com> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/screen.texi (Screen): More accurate wording.
	Suggested by Miloš Polakovič <milos@alphamail.org> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/indent.texi (Just Spaces): Minor wording change.
	Suggested by David Bonnafous <dbonnafo@gmail.com> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/text.texi (TeX Mode, TeX Editing): Improve and
	simplify wording.  Suggested by root@vxid.pw <root@vxid.pw> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/cmdargs.texi (Window Size X): Minor wording change.

	* doc/emacs/display.texi (Highlight Interactively): Fill text.
	(Optional Mode Line): Fix typos.  Suggested by Alberto Sartori
	<alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.

	* doc/emacs/building.texi (Debugger Operation): Clarify wording.

	* doc/emacs/files.texi (Directories, Comparing Files, Diff Mode)
	(Remote Files, File Names, Visiting, Backup Deletion)
	(Customize Save, Interlocking): Improve wording and accuracy of
	the text.
	* doc/emacs/maintaining.texi (VC With A Merging VCS): Don't say
	"his".
	* doc/emacs/arevert-xtra.texi (Auto Reverting Dired): Minor
	wording changes.
	(Supporting additional buffers): Moved to ...
	* doc/lispref/backups.texi (Reverting): ... here.
	* doc/emacs/emacs.texi (Top): Remove "Supporting additional
	buffers" from master menu.
	* doc/emacs/files.texi (Reverting): Mention use of file
	notifications.  Suggested by Michael Albinus
	<michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.

	* doc/emacs/rmail.texi (Rmail Motion): Clarify what '-' does to
	'M-s'.  Suggested by Arthur Milchior <arthur@milchior.fr> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/cmdargs.texi (Initial Options): Capitalize "Emacs".
	(Action Arguments): Fix a typo.
	(Emacs Invocation): Replace em-dash with a comma.  Suggested by
	Justin Heyes-Jones <justinhj@gmail.com> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/m-x.texi (M-x): Add an example.  Suggested by Alberto
	Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.

	* doc/emacs/calendar.texi (Calendar/Diary, Calendar Unit Motion):
	Minor wording changes.

2018-02-04  Juri Linkov  <juri@linkov.net>

	* lisp/vc/vc-git.el (vc-git-print-log): Restrict file scope to a single file

	when vc-git-print-log-follow is non-nil (bug#19045).
	(vc-git-print-log-follow): Doc fix.

	* etc/NEWS: Mention 'vc-git-print-log-follow'.

2018-02-04  Michael Albinus  <michael.albinus@gmx.de>

	* doc/emacs/misc.texi (Interactive Shell): Refer to node "Minibuffer File"

	for hints how to type remote file names effectively.

2018-02-04  Eli Zaretskii  <eliz@gnu.org>

	Yet another round of fixing the Emacs manual

	* doc/emacs/cmdargs.texi (Action Arguments): Rearrange text
	describing what happens when Emacs is invoked with several file
	arguments.  Suggested by Grant Rettke <gcr@wisdomandwonder.com> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/xresources.texi (GTK styles):
	* doc/emacs/mini.texi (Passwords):
	* doc/emacs/frames.texi (Scroll Bars): Use "cannot" instead of
	"can not".

	* doc/emacs/macos.texi (Mac / GNUstep Basics): Clarify the effect
	of ns-right-alternate-modifier when its value is 'none'.
	Suggested by Wanderson Ferreira <iagwanderson@gmail.com> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/calendar.texi (Importing Diary, Appointments): Now
	sub-sections of Diary.
	* doc/emacs/emacs.texi (Top):
	* doc/emacs/calendar.texi (Diary): Adjust menus to the above
	change.  Suggested by Isaac Carter <icarter1391@gmail.com> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/anti.texi (Antinews): Fix grammar.

2018-02-04  Alan Mackenzie  <acm@muc.de>

	* etc/NEWS: Expunge the solecism "allow(s)" + infinitive

2018-02-04  Martin Rudalics  <rudalics@gmx.at>

	Two minor fixes in Antinews

	* doc/emacs/anti.texi (Antinews): Two minor fixes.

2018-02-03  Juri Linkov  <juri@linkov.net>

	* etc/NEWS: Rename image-dired-thumb-job-limit

	to image-dired-queue-active-limit (bug#30279)

2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>

	* lisp/simple.el (async-shell-command, shell-command): Fix grammar

2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix deferred display of async shell-command buffers

	* lisp/simple.el (shell-command): Display async shell buffer on
	process output for every, not just first, command invocation.  Check
	buffer liveness, not name, before displaying. (bug#30213, bug#30280)

2018-02-03  Eli Zaretskii  <eliz@gnu.org>

	Mention remote file name completion in Emacs manual

	* doc/emacs/mini.texi (Minibuffer File): Describe the behavior of
	"//" with remote file names.  (Bug#29149)

2018-02-03  Eli Zaretskii  <eliz@gnu.org>

	Yest another round of manual copyedits

	* doc/emacs/fixit.texi (Transpose, Spelling): Minor stylistic
	changes.  Suggested by myq larson <myqlarson@gmail.com> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/calendar.texi (Appointments, Time Intervals): Mention
	relevant Org features.  Suggested by Alex Branham
	<alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.

	* doc/emacs/dired.texi (Operating on Files)
	(Shell Commands in Dired, Image-Dired): Minor stylistic edits.
	Suggested by Francis Wright <f.j.wright@live.co.uk> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/commands.texi (User Input): Explain "C-M-a".
	Suggested by Martin Luethi <martin.luethi@geo.uzh.ch> in
	emacs-manual-bugs@gnu.org.

2018-02-03  Eli Zaretskii  <eliz@gnu.org>

	Update xdisp.c commentary

	* src/xdisp.c: Update commentary regarding "asynchronous" entry
	into redisplay.  (Bug#30182)

2018-02-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#30324

	* lisp/net/rlogin.el (rlogin, rlogin-directory-tracking-mode):
	Adapt to changed remote file name syntax.  (Bug#30324)

2018-02-03  Glenn Morris  <rgm@gnu.org>

	Recognize Org as builtin package (bug#30310)

	* lisp/org/org.el: Add Version header so detected as builtin package.
	* test/lisp/org/org-tests.el: New file.

2018-02-02  Eli Zaretskii  <eliz@gnu.org>

	Another round of manual fixups

	* doc/emacs/killing.texi (Killing by Lines): Clarify wording.
	Reported by David Bonnafous <dbonnafo@gmail.com> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/windows.texi (Other Window): Improve wording.
	Reported by Rasmus Sjostrom <ras.sjostrom@gmail.com> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/display.texi (Display Custom): Mention that line
	numbers are not displayed in the minibuffer and tooltips.

	* doc/emacs/mini.texi (Basic Minibuffer): Improve wording.
	* doc/emacs/regs.texi (Registers): More comma removal.  Suggested
	by "root@vxid.pw root@vxid.pw" <root@vxid.pw> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/display.texi (Auto Scrolling): Fix a typo.  Reported
	by Kevin Foley <kfoley15@gmail.com> in emacs-manual-bugs@gnu.org.

	* doc/emacs/display.texi (Scrolling): Fix grammar.
	(Horizontal Scrolling): Mention reasonable limits for hscroll-step
	float values.  Suggested by Jerome Truong <jerometruong@gmail.com>
	in emacs-manual-bugs@gnu.org.

	* doc/emacs/mini.texi (Minibuffer Edit): Add a missing comma.
	* doc/emacs/basic.texi (Position Info, Arguments, Repeating):
	Remove redundant commas.  Suggested by oldgaro
	<oldgaro@protonmail.com> in emacs-manual-bugs@gnu.org.

	* doc/emacs/kmacro.texi (Save Keyboard Macro): Clarify wording.
	Suggested by clemens.radermacher@posteo.de in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/building.texi (Compilation Mode): Improve and simplify
	wording.  Suggested by drone <yoorobot@gmail.com> in
	emacs-manual-bugs@gnu.org.

	* doc/emacs/dired.texi (Dired Enter): Clarify wording.
	(Dired Deletion): Fix a typo.
	(Marks vs Flags): Mention that M-DEL in Dired asks for the mark
	character.  Fix typos.
	* doc/emacs/basic.texi (Moving Point, Erasing, Basic Undo)
	(Arguments): Some additional information about keys.  Reported by
	Francis Wright <f.j.wright@live.co.uk> in
	emacs-manual-bugs@gnu.org.

2018-02-02  Basil L. Contovounesios  <contovob@tcd.ie>  (tiny change)

	* doc/lispref/customize.texi (Custom Themes): Clarify .el preference.


	https://lists.gnu.org/r/emacs-devel/2018-01/msg00824.html.

2018-02-02  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/entering.texi (Entering Emacs): Another wording fix.

2018-02-02  Noam Postavsky  <npostavs@gmail.com>

	* doc/lispref/functions.texi (Inline Functions): Fix typo (Bug#30238).

	* lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug#30294).

2018-02-01  Eli Zaretskii  <eliz@gnu.org>

	Fix last change of @key markup

	* doc/lispref/display.texi (Specified Space):
	* doc/emacs/programs.texi (C Modes):
	* doc/emacs/killing.texi (Rectangles):
	* doc/emacs/emacs.texi (Top):
	* doc/emacs/display.texi (Useless Whitespace): Don't use @key
	markup for characters and commands, only for keys.

2018-02-01  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/entering.texi (Entering Emacs): Fix markup.

2018-02-01  Michael Albinus  <michael.albinus@gmx.de>

	Revert a1bbc49015 (Bug#30243), do not merge

	* lisp/files.el:
	* test/lisp/net/tramp-tests.el: Revert a1bbc49015.  (Bug#30243)

2018-01-31  Michael Albinus  <michael.albinus@gmx.de>

	Use @key{} where it is missing in the manuals

2018-01-31  Eli Zaretskii  <eliz@gnu.org>

	Another round of manual fixes from proofreading

	* doc/emacs/search.texi (Incremental Search)
	(Nonincremental Search): Mention the menu bar and fix typos.
	Reported by David Bonnafous <dbonnafo@gmail.com> in
	emacs-manual-bugs@gnu.org.
	* doc/emacs/building.texi (Compilation): Improve wording.
	Suggested by drone <yoorobot@gmail.com> in
	emacs-manual-bugs@gnu.org.
	* doc/emacs/kmacro.texi (Basic Keyboard Macro): Clarify text.
	Suggested by Robert Pluim <rpluim@gmail.com> in
	emacs-manual-bugs@gnu.org.
	* doc/emacs/display.texi (Highlight Interactively, Fringes):
	Improve wording.  Suggested by Justin Heyes-Jones
	<justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
	* doc/emacs/commands.texi (User Input, Commands): Add missing
	commas.
	* doc/emacs/screen.texi (Menu Bar): Mention keyboard keys to
	navigate menus.  Suggested by oldgaro <oldgaro@protonmail.com> in
	emacs-manual-bugs@gnu.org.
	* doc/emacs/search.texi (Not Exiting Isearch): Fix a typo.
	Reported by "Kocken, I.J. (Ilja)" <I.J.Kocken@uu.nl> in
	emacs-manual-bugs@gnu.org.
	* doc/emacs/basic.texi (Inserting Text): Mention one more label of
	RET.  Suggested by Francis Wright <f.j.wright@live.co.uk> in
	emacs-manual-bugs@gnu.org.
	* doc/emacs/text.texi (Paragraphs): Clarify text.  Reported by
	Marcin Borkowski <mbork@mbork.pl> in emacs-manual-bugs@gnu.org.
	* doc/emacs/maintaining.texi (Introduction to VC)
	(Why Version Control?, VCS Merging): Fix typos and section
	capitalization.  Suggested by "R. P. Dillon"
	<rpdillon@killring.org> in emacs-manual-bugs@gnu.org.
	* doc/emacs/modes.texi (Major Modes, Choosing Modes): Fix typos.
	Reported by clemens.radermacher@posteo.de in
	emacs-manual-bugs@gnu.org.

2018-01-31  Eli Zaretskii  <eliz@gnu.org>

	* doc/emacs/entering.texi (Entering Emacs): Fix last change.

2018-01-31  Martin Rudalics  <rudalics@gmx.at>

	Document 'window-at-side-p' in the Elisp manual

	* doc/lispref/windows.texi (Windows and Frames): Document
	'window-at-side-p'.

2018-01-31  Noam Postavsky  <npostavs@gmail.com>

	Document external-debugging-output in the Elisp Manual (Bug#24051)

	* doc/lispref/streams.texi (Output Streams): List
	external-debugging-output.
	* src/print.c (Fexternal_debugging_output): Quote `print' in
	docstring.

2018-01-31  Noam Postavsky  <npostavs@gmail.com>

	Fix scroll-margin docstring (Bug#13791)

	* src/xdisp.c (syms_of_xdisp) <scroll-margin>: Explain that entering
	the margin may trigger any sort of auto scrolling, not recentering
	specifically.

2018-01-31  Noam Postavsky  <npostavs@gmail.com>

	Clarify that `ansi-term' is almost the same as `term' (Bug#18106)

	* lisp/term.el (ansi-term): Clarify that it's almost the same as `term'.

2018-01-31  Noam Postavsky  <npostavs@gmail.com>

	Update manual description of locate-file (Bug#23650)

	* doc/lispref/files.texi (Locating Files): Add example of predicate
	when searching for a directory.

2018-01-31  Noam Postavsky  <npostavs@gmail.com>

	Clarify effect of print-gensym (Bug#27776)

	* src/print.c (syms_of_print) <print-gensym>: Clarify that use of #N#
	and #N= constructs depends on the value of `print-circle'.

2018-01-31  Noam Postavsky  <npostavs@gmail.com>

	* lisp/custom.el (defcustom): Fix docstring (Bug#27891).

2018-01-31  Noam Postavsky  <npostavs@gmail.com>

	Define cl-type-definition button type as needed (Bug#28899)

	* lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Require
	`cl-extra' before using the `cl-type-definition' button type.

2018-01-31  Noam Postavsky  <npostavs@gmail.com>

	Emphasize that GPG passphrase caching is temporary (Bug#29907)

	* doc/misc/epa.texi (Caching Passphrases): Clarify that caching is
	temporary.
	(GnuPG version compatibility): Fix typo.

2018-01-30  Alan Mackenzie  <acm@muc.de>

	Fix @examples in cc-mode.info, where lines were getting glued together.

	This happened because of false @c's in macro lines.

	* doc/misc/cc-mode.texi (Line-up Functions): Remove the unneeded @c from
	macros sssTBasicOffset, sssTsssTBasicOffset, and hereFn.

2018-01-30  Eli Zaretskii  <eliz@gnu.org>

	Minor change in "Mode Line" section of Emacs manual

	* doc/emacs/screen.texi (Mode Line): Mention tooltips shown when
	hovering the mouse over the mode line.  Suggested by Eduardo
	Mercovich <eduardo@mercovich.net> in emacs-manual-bugs@gnu.org.

2018-01-30  Eli Zaretskii  <eliz@gnu.org>

	More fixes in the Emacs manual

	* doc/emacs/screen.texi (Mode Line): Fix markup and
	cross-references.
	(Menu Bar): Correct inaccurate description.
	* doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Events):
	* doc/emacs/frames.texi (Scroll Bars):
	* doc/emacs/emacs.texi (Top):
	* doc/emacs/ack.texi (Acknowledgments): Fix spelling of "macOS".
	* doc/emacs/misc.texi (Invoking emacsclient)
	(emacsclient Options): Fix markup of 'emacsclient'.  Suggested by
	Michael Albinus <michael.albinus@gmx.de> in
	emacs-manual-bugs@gnu.org.

2018-01-30  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in "Distribution" chapter of the Emacs manual

	* doc/emacs/emacs.texi (Distrib): Minor wording changes.
	Suggested by oldgaro <oldgaro@protonmail.com> in
	emacs-manual-bugs@gnu.org.

2018-01-30  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in "Entering" chapter of Emacs manual.

	* doc/emacs/entering.texi (Entering Emacs): Add a cross-reference
	to MS-Windows startup procedures.  Clarify wording.  Suggested by
	Francis Wright <f.j.wright@live.co.uk> in emacs-manual-bugs@gnu.org.

2018-01-30  Eli Zaretskii  <eliz@gnu.org>

	Minor wording change in the Emacs manual

	* doc/emacs/screen.texi (Screen): Minor wording change.  Suggested
	by Wesley Ellis <ellisgen@gmail.com> in emacs-manual-bugs@gnu.org.

2018-01-30  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in the Emacs manual

	* doc/emacs/custom.texi (Customization Groups): Fix a typo.
	Reported by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org> in
	emacs-manual-bugs@gnu.org.

2018-01-30  Eli Zaretskii  <eliz@gnu.org>

	Improve the "Basic" chapter of the Emacs manual

	* doc/emacs/basic.texi (Inserting Text): De-confuse text.
	(Position Info): Add a cross-reference to where
	display-line-numbers-mode is described.  Reported by Joshua
	Branson <jbranso@fastmail.com> in emacs-manual-bugs@gnu.org.

2018-01-30  Eli Zaretskii  <eliz@gnu.org>

	Resurrect lost text in lispref

	* doc/lispref/files.texi (File Attributes): Resurrect
	inadvertently lost text.

2018-01-30  Philipp Stephani  <phst@google.com>

	* lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.

2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>

	Proofread os.texi and files.texi

2018-01-29  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements in the "International" chapter of Emacs manual

	* doc/emacs/mule.texi (File Name Coding): Stop enumerating all the
	versions of MS-Windows.
	(Modifying Fontsets, Unibyte Mode, Bidirectional Editing): Improve
	wording.  Reported by Francis Wright <f.j.wright@live.co.uk> in
	emacs-manual-bugs@gnu.org.

2018-01-29  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement in "Text" chapter of Emacs manual

	* doc/emacs/text.texi (Words): Improve wording.  Reported by
	Marcin Borkowski <mbork@mbork.pl> in
	https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00784.html.

2018-01-28  Martin Rudalics  <rudalics@gmx.at>

	Fix some issues in the emacs/lispref manuals

	* doc/emacs/basic.texi (Continuation Lines):
	* doc/emacs/building.texi (GDB User Interface Layout):
	* doc/emacs/dired.texi (Misc Dired Features):
	* doc/emacs/maintaining.texi (Identifier Search):
	* doc/emacs/mark.texi (Using Region):
	* doc/emacs/misc.texi (Document View, DocView Conversion):
	* doc/emacs/modes.texi (Major Modes):
	* doc/emacs/mule.texi (Input Methods, Unibyte Mode):
	* doc/emacs/sending.texi (Mail Methods): Replace @code by
	@kbd.
	* doc/emacs/frames.texi (Text-Only Mouse):
	* doc/lispref/maps.texi (Standard Keymaps): Replace @kbd by
	@key.
	* doc/lispref/compile.texi (Compiler Errors): Write
	non-@code{nil} instead of non-nil.
	* doc/lispref/debugging.texi (Internals of Debugger):
	'backtrace' is not a command.  'debugger-stack-frame-as-list'
	is an option.
	* doc/lispref/display.texi (Size of Displayed Text):
	'window-lines-pixel-dimensions' has a last argument 'left'.
	* doc/lispref/display.texi (Attribute Functions):
	'set-face-underline' and 'set-face-inverse-video' are
	commands.
	(Tooltips): 'tooltip-frame-parameters' is an option.
	(Bidirectional Display): 'bidi-paragraph-direction' is an
	option.
	* doc/lispref/frames.texi (Cursor Parameters): 'cursor-type'
	is an option.
	(Input Focus): Argument FRAME of 'x-focus-frame' is not
	optional.
	(Child Frames): Both arguments of 'frame-ancestor-p' are
	non-optional.  'iconify-child-frame' is an option.
	* doc/lispref/os.texi (Killing Emacs):
	'kill-emacs-query-functions' is an option.
	* doc/lispref/windows.texi (Mouse Window Auto-selection):
	'mouse-autoselect-window' is an option.

2018-01-28  Eli Zaretskii  <eliz@gnu.org>

	Fix multiple spaces in Emacs manual

	* doc/emacs/search.texi (Lax Search): Fix multiple consecutive
	spaces in printed manual.

2018-01-28  Eli Zaretskii  <eliz@gnu.org>

	* lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)

2018-01-28  Eli Zaretskii  <eliz@gnu.org>

	Adjudicate comments to "International" chapter of Emacs manual

	* doc/emacs/mule.texi (International Chars)
	(Language Environments, Input Methods, Defining Fontsets)
	(Modifying Fontsets): Minor wording changes and typo fixes.
	Reported by Francis Wright <f.j.wright@live.co.uk> in
	emacs-manual-bugs@gnu.org.

2018-01-28  Noam Postavsky  <npostavs@gmail.com>

	Revert "Signal error for symbol names with strange quotes (Bug#2967)"

	That commit did not make the corresponding change to printing, thus
	breaking the (eq (read (prin1-to-string SYM)) SYM) invariant for those
	symbols.  It's too late in the release cycle to change printing
	behavior, therefore revert the reader change.

	Don't merge to master, the print function will be updated there (see
	"Fix round tripping of read->print for symbols with strange quotes").

2018-01-27  Alan Mackenzie  <acm@muc.de>

	Allow read-passwd to hide characters inserted by C-y.  (Security fix.)

	This fixes bug #30186.  The with-silent-modifications was there to prevent
	records of text property manipulations being put into buffer-undo-list.  These
	had been causing a significant slowdown in CC Mode with C-_ after a large
	C-y.  This CC Mode problem has since been solved by a different workaround.

	* lisp/subr.el (remove-yank-excluded-properties): Remove the invocation of
	with-silent-modifications around the text property manipulations.

2018-01-27  Eli Zaretskii  <eliz@gnu.org>

	* etc/PROBLEMS: Document issues with double-buffering.  (Bug#30088)

2018-01-27  Charles A. Roelli  <charles@aurox.ch>

	* lisp/window.el (window-largest-empty-rectangle): Fix grammar.

2018-01-27  Eli Zaretskii  <eliz@gnu.org>

	Minor changes in the Emacs manual

	* doc/emacs/search.texi (Search Customizations): Minor wording
	change.
	* doc/emacs/files.texi (Customize Save): Add a cross-reference
	for batch mode.

2018-01-27  Eli Zaretskii  <eliz@gnu.org>

	Improve the "Files" chapter of the Emacs manual

	* doc/emacs/files.texi (File Shadowing): Rearrange text to explain
	the notion of shadowing before describing the commands.  Suggested
	by Will Korteland <emacs-devel@korte.land> in
	emacs-manual-bugs@gnu.org.

2018-01-27  Eli Zaretskii  <eliz@gnu.org>

	Improve the "Search" chapter of the Emacs manual

	* doc/emacs/search.texi (Regexps, Regexp Backslash): Improve and
	clarify wording.
	(Search Customizations): Fix a typo.  Reported by Will Korteland
	<emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.

2018-01-27  Eli Zaretskii  <eliz@gnu.org>

	* src/indent.c (Findent_to): Doc fix.  (Bug#30260)

2018-01-27  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'edebug-defun'

	* doc/lispref/edebug.texi (Instrumenting): Document a workaround
	for a failure to instrument due to unknown macros.  (Bug#30243)
	(Bug#10577)

2018-01-27  Eli Zaretskii  <eliz@gnu.org>

	Mention crashes due to Noto Serif Kannada fonts

	* etc/PROBLEMS: Mention crashes due to Noto Serif Kannada fonts,
	and the respective workarounds.  (Bug#30193)

2018-01-27  Noam Postavsky  <npostavs@gmail.com>

	* doc/lispref/searching.texi: Document regexp repetition limit.

	* src/syntax.c (char-syntax): Warn about ignoring text properties (Bug#22765).

2018-01-27  Noam Postavsky  <npostavs@gmail.com>

	Load mm-util as needed for url-file and url-data (Bug#30258)

	* lisp/url/url-file.el (url-file):
	* lisp/url/url-misc.el (url-data): Require `mm-util' before calling
	`mm-disable-multibyte'.
	* test/lisp/url/url-file-resources/file.txt:
	* test/lisp/url/url-file-tests.el:
	* test/lisp/url/url-misc-tests.el: New tests.

2018-01-26  Eli Zaretskii  <eliz@gnu.org>

	Another minor copyedit in the manual's "Scroll Bars"

	* doc/emacs/frames.texi (Scroll Bars): Mention that up/down and
	left/right buttons may be absent from the toolkit scroll bars.
	Reported by Robert Pluim <rpluim@gmail.com> in
	emacs-manual-bugs@gnu.org.

2018-01-26  Eli Zaretskii  <eliz@gnu.org>

	Minor fix in documentation of 'equal'

	* doc/lispref/objects.texi (Equality Predicates): Correct the
	conditions for equality of unibyte and multibyte strings.
	(Bug#30218)

2018-01-26  Eli Zaretskii  <eliz@gnu.org>

	* lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix.  (Bug#30192)

2018-01-26  Eli Zaretskii  <eliz@gnu.org>

	Minor rewording in Emacs manual's "Help Mode" node

	* doc/emacs/help.texi (Help Mode): Minor rewording of description
	of 'help-follow-symbol'.  Suggested by Richard Stallman
	<rms@gnu.org> in emacs-manual-bugs@gnu.org.

2018-01-26  Eli Zaretskii  <eliz@gnu.org>

	Fixes for Emacs manual in frames.texi

	* doc/emacs/frames.texi (Scroll Bars, Mouse Commands)
	(Window Dividers): Minor clarifications and spelling/markup
	changes.  Suggested by Robert Pluim <rpluim@gmail.com> in
	emacs-manual-bugs@gnu.org.

2018-01-24  Glenn Morris  <rgm@gnu.org>

	* doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 typo.

2018-01-24  Robert Pluim  <rpluim@gmail.com>

	Fix a few issues with latest GTK scaling changes

	* src/xfns.c (Fx_display_monitor_attributes_list): Call
	gdk_screen_get_monitor_scale_factor only for GTK versions
	3.10..3.21.
	* src/xterm.c (x_set_offset): Call xg_get_scale for GTK only.

2018-01-24  Robert Pluim  <rpluim@gmail.com>

	Use scaled coordinates when calling into GTK

	This is part two of a two part fix for the GTK scaling
	problems.  See the thread starting at
	https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
	for an explanation of why it has been added to Emacs 26.

	* src/gtkutil.c (xg_set_geometry): Scale down the coordinates that we
	pass to gtk_window_move and to gtk_window_parse_geometry.
	* src/xterm.c (x_set_offset): Likewise.

2018-01-24  Robert Pluim  <rpluim@gmail.com>

	Scale monitor dimensions obtained from GTK

	This is part one of a two part fix for the GTK scaling
	problems.  See the thread starting at
	https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
	for an explanation of why it has been added to Emacs 26.

	* src/xfns.c (Fx_display_monitor_attributes_list): Take scaling factor
	into account when using GTK to query the monitor dimensions, which
	allows frameset-restore to position frames correctly.

2018-01-22  Rasmus  <rasmus@gmx.us>

	Update Org to v9.1.6

	Please note this is a bugfix release. See etc/ORG-NEWS for details.

2018-01-22  Aaron Jensen  <aaronjensen@gmail.com>

	Use text-pixels values only when saving framesets (Bug#30141)

	* lisp/frameset.el (frameset-persistent-filter-alist): Specify
	that text-pixels values are by default only saved by framesets
	so the parameter is not set when restoring (Bug#30141).

2018-01-21  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement in section "Pages" of the user manual

	* doc/emacs/text.texi (Pages): Improve wording.  Suggested by Will
	Korteland <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.

2018-01-21  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements in user manual

	* doc/emacs/trouble.texi (Emergency Escape, Contributing): Clarify
	text.  Suggested by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org>
	in emacs-manual-bugs@gnu.org

2018-01-21  Eli Zaretskii  <eliz@gnu.org>

	Improve the "Mark" chapter of the user manual

	* doc/emacs/mark.texi (Setting Mark, Marking Objects): Improve and
	clarify wording.  Suggested by John Cummings <john@rootabega.net>
	in emacs-manual-bugs@gnu.org.

2018-01-21  Eli Zaretskii  <eliz@gnu.org>

	Improve the "Buffers" chapter of the user manual

	* doc/emacs/buffers.texi (Several Buffers): Correct description of
	prefix arguments.  Clarify "bury".
	(Buffer Menus): Clarify wording.  Reported by John Cummings
	<john@rootabega.net> in emacs-manual-bugs@gnu.org.

2018-01-21  tino calancha  <tino.calancha@gmail.com>

	* lisp/term.el (term-send-input): Fix text duplication in docstring

2018-01-20  Eli Zaretskii  <eliz@gnu.org>

	Improve "Buffers" in the user manual

	Suggested by John Cummings <john@rootabega.net> in
	emacs-manual-bugs@gnu.org:
	* doc/emacs/buffers.texi (Select Buffer): Add cross-references to
	"Windows" and "Frames".
	(Misc Buffer, Kill Buffer): Use BUFFER consistently in commands
	that accept buffer names.
	(Select Buffer): Improve description of "M-g M-g".  Improve
	wording.
	(Misc Buffer, Kill Buffer): Improve wording.
	(Kill Buffer): Fix the response required by kill-some-buffers.
	Mention customizable options that control what clean-buffer-list
	does.
	(Several Buffers): More detail about
	'Buffer-menu-unmark-all-buffers'.

2018-01-20  Eli Zaretskii  <eliz@gnu.org>

	Don't mention 'vc-stay-local' in the user manual

	* doc/emacs/vc1-xtra.texi (CVS Options):
	* doc/emacs/maintaining.texi (VC Directory Buffer): Remove
	references to 'vc-stay-local', which no longer exists.
	(Bug#30138)

2018-01-20  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in calendar.texi

	* doc/emacs/calendar.texi (Writing Calendar Files): Capitalize
	"Filofax".  Reported by Will Korteland <emacs-devel@korte.land>
	in emacs-manual-bugs@gnu.org.

2018-01-20  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement in wording of the Emacs manual

	* doc/emacs/killing.texi (CUA Bindings): Improve wording.
	Suggested by Will Korteland <emacs-devel@korte.land> in
	emacs-manual-bugs@gnu.org.

2018-01-20  Eli Zaretskii  <eliz@gnu.org>

	Revert "Fix tempfile creation when byte compiling"

	This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8:
	* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
	Put tempfile next to the target file, as was the original intent.

2018-01-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix tempfile creation when byte compiling

	This improves on the recent fix for master failing to build
	on FreeBSD.  Suggested by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
	* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
	Put tempfile next to the target file, as was the original intent.

2018-01-19  Eli Zaretskii  <eliz@gnu.org>

	Improve the Emacs manual as suggested in emacs-manual-bugs

	* doc/emacs/killing.texi (Deletion and Killing): Add
	cross-reference to "Kill Ring".
	* doc/emacs/help.texi (Help Mode, Package Keywords): Improve
	wording.  Suggested by Will Korteland <emacs-devel@korte.land> in
	emacs-manual-bugs@gnu.org.

2018-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bytecomp.el: Tweak last change

	(byte-compile-file): Move comment closer to the code it describes.

2018-01-19  Eli Zaretskii  <eliz@gnu.org>

	Unbreak building Emacs on FreeBSD

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create
	the temporary file under temporary-file-directory if the file
	being compiled is specified by an absolute file name.  This avoids
	problems with ACL copying from temporary-file-directory on
	FreeBSD.  For the details, see
	https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.

2018-01-19  Eli Zaretskii  <eliz@gnu.org>

	Don't unnecessarily use non-ASCII characters in C sources

	* src/xwidget.c (webkit_javascript_finished_cb):
	* src/gtkutil.c (xg_check_special_colors):
	* src/emacs-module.c (module_make_string):
	* src/alloc.c (SET_STACK_TOP_ADDRESS): Don't use non-ASCII quote
	characters.

2018-01-19  Eli Zaretskii  <eliz@gnu.org>

	Portability fixes in emacs-module-tests

	* test/Makefile.in (abs_top_srcdir): Add variable, needed by
	CPPFLAGS.
	* test/data/emacs-module/mod-test.c: Include <limits.h>.
	(pT, pZ, T_TYPE, Z_TYPE): Compatibility macros, for systems that
	don't support %td and %zu format specs.
	(emacs_module_init): Use compatibility macros to make the error
	messages print meaningful values (and avoid compiler warnings).

2018-01-19  Noam Postavsky  <npostavs@gmail.com>

	Add tests for term.el

	* lisp/term.el (term-mode): Add `name' attribute to
	window-adjust-process-window-size-function value, so that it can be
	removed easily by tests.
	* test/lisp/term-tests.el: New tests.

2018-01-19  Callum Cameron  <cjcameron7@gmail.com>  (tiny change)

	Handle split AnSiT messages for term.el (Bug#17231)

	Check to see if there is an incomplete command at the end of
	term-emulate-terminal's input string, and, if so, save it so the whole
	command can be processed when the next string arrives.
	* lisp/term.el (term-partial-ansi-terminal-message): New variable.
	(term-mode): Make it buffer local.
	(term-handle-ansi-terminal-messages): Prepend it to the received
	message, and set it if a partial message was received.


	Do not merge to master, it will be solved differently there, see
	"Switch term.el to lexical binding, and clean up code a bit".

2018-01-19  Glenn Morris  <rgm@gnu.org>

	* configure.ac (emacs_config_features): Add threads.

2018-01-18  Noam Postavsky  <npostavs@gmail.com>

	Handle case-insensitive filenames for load-path shadows (Bug#5845)

	* lisp/emacs-lisp/shadow.el (load-path-shadows-find): Check for
	shadowing with case-insensitive matching for files of case-insensitive
	directories (as determined by `file-name-case-insensitive-p').
	* test/lisp/emacs-lisp/shadow-tests.el: New test.
	* test/lisp/emacs-lisp/shadow-resources/p1/foo.el:
	* test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: New test files.

2018-01-18  Alan Mackenzie  <acm@muc.de>

	CC Mode: stop distinguishing brace blocks from defun blocks by content.

	Don't merge to master; this is a quick fix for the emacs-26 branch.  This is
	essentially a reversion of the patch from 2017-11-10 which attempted to handle
	C99's compound literals.

	The bug here was triggered when a defun block contained a declaration ending
	in a comma, yet without a semicolon.

	* lisp/progmodes/cc-engine.el (c-guess-basic-syntax): At the CASE 9 test,
	remove from the `or' form the test of a block's contents.

2018-01-17  Philipp Stephani  <phst@google.com>

	Use recommended long options syntax in man page

	* doc/man/emacs.1.in: Specify equals sign for long options, as
	recommended in the manual.

2018-01-17  Glenn Morris  <rgm@gnu.org>

	An overdue update of GNUstep emacs.tiff

	* nextstep/GNUstep/Emacs.base/Resources/emacs.tiff:
	Update to the Emacs 25 icon.
	Converted from hicolor/scalable/apps/emacs.svg using Gimp.
	* nextstep/GNUstep/Emacs.base/Resources/README: Update.

2018-01-17  Glenn Morris  <rgm@gnu.org>

	Add some test skip conditions

	* test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
	(vc-bzr-test-bug9781): Skip if bzr is faulty.
	* test/src/thread-tests.el: Skip if not compiled with threads.

2018-01-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Add documentation to ecomplete.el

	* lisp/ecomplete.el: Add doc strings and document the format.

2018-01-17  Glenn Morris  <rgm@gnu.org>

	* admin/authors.el (authors-aliases): Tighten more entries.

2018-01-17  Glenn Morris  <rgm@gnu.org>

	Small startup fix for current-load-list

	* lisp/startup.el (command-line):
	Avoid current-load-list being non-nil after startup ends.

2018-01-17  Glenn Morris  <rgm@gnu.org>

	authors-aliases is based on regexps, not literals

	* admin/authors.el (authors-aliases): Replace overly-broad entries.

2018-01-15  Charles A. Roelli  <charles@aurox.ch>

	Remove incorrect documentation in comint.el

	* lisp/comint.el (comint-interrupt-subjob, comint-kill-subjob)
	(comint-quit-subjob, comint-stop-subjob): Remove incorrect
	documentation.  (Bug#30079)

2018-01-15  Glenn Morris  <rgm@gnu.org>

	An overdue update of src/emacs-icon.h

	* src/emacs-icon.h: Update to the Emacs 25 icon.  (Bug#30047)
	Converted from hicolor/scalable/apps/emacs.svg using Gimp.

2018-01-14  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedit in ELisp manual

	* doc/lispref/variables.texi (File Local Variables): Improve
	wording of last change.

2018-01-14  Shuguang Sun  <shuguang@gmail.com>

	Fix Bug#29149 in dired-aux.el

	* lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
	commands on w32 properly.  (Bug#29149)

2018-01-14  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#29149 in shell.el

	* lisp/shell.el (shell): Change order of `file-local-name' and
	`expand-file-name' calls.  Otherwise, the local file name
	would be extended by a drive letter, even when it is a remote
	file, seen from w32.  (Bug#29149)

2018-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/variables.texi (File Local Variables): Fix last change

2018-01-13  Nicolas Petton  <nicolas@petton.fr>

	* ChangeLog.3: Update

	Update etc/AUTHORS

2018-01-13  Nicolas Petton  <nicolas@petton.fr>

	Fix an entry in authors-aliases

	* admin/authors.el (authors-aliases): Replace regexp from "Max", which
	is too broad, to an email address ("mu@magi.net.ru").

2018-01-13  Eli Zaretskii  <eliz@gnu.org>

	Mention trace.el facilities in the ELisp manual

	* doc/lispref/debugging.texi (Debugging): Mention the trace.el
	library.

2018-01-13  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of safe values of variables

	* doc/lispref/variables.texi (File Local Variables): Mention the
	autoload cookie as a means of defining safe values for variables.
	See https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html
	for the details.
	* doc/lispref/compile.texi (Compiler Errors): Document
	'byte-compile-error-on-warn'.

2018-01-13  Eli Zaretskii  <eliz@gnu.org>

	Improve the Emacs manual's "Misc" node

	* doc/emacs/misc.texi (Gnus): A more descriptive section name.
	(Invoking emacsclient): Mention how to avoid errors when there's
	no Emacs server.
	(EWW, Embedded WebKit Widgets): Now subsections under
	"Hyperlinking and Web Navigation Features".
	(Amusements): Add "games" to the section name.  Suggested by Alex
	Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.

	* doc/emacs/emacs.texi (Top): Adjust the top-level menus to the
	above changes.

	* doc/lispref/os.texi (Security Considerations): Fix typos.

2018-01-13  Martin Rudalics  <rudalics@gmx.at>

	In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)

	* src/nsterm.m (x_set_parent_frame): Call FRAME_NS_P instead
	of FRAME_X_P (Bug#30019).

2018-01-12  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 26.0.91

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version.

2018-01-12  Nicolas Petton  <nicolas@petton.fr>

	* ChangeLog.3: Update

2018-01-12  Nicolas Petton  <nicolas@petton.fr>

	Update authors

	* admin/authors.el (authors-aliases, authors-valid-file-names): Additions.
	* etc/AUTHORS: Update AUTHORS file.

2018-01-12  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
	adding extra citation mark (bug#29767, but it is a different bug).

2018-01-11  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of etags

	* doc/emacs/maintaining.texi (Tag Syntax, Create Tags Table):
	Improve documentation of etags options and of source language
	detection.

2018-01-11  Eli Zaretskii  <eliz@gnu.org>

	Teach etags new interpreters for some languages

	* lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
	(Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
	static variables.
	(lang_names): Use them to set interpreters for Erlang, Lua,
	Prolog, Python, and Ruby.
	(find_entries): Support "/usr/bin/env FOO" form of specifying an
	interpreter.

	* test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
	line to test the "env FOO" interpreter spec.  (Bug#30075)
	* test/manual/etags/ETAGS.good_1:
	* test/manual/etags/ETAGS.good_2:
	* test/manual/etags/ETAGS.good_3:
	* test/manual/etags/ETAGS.good_4:
	* test/manual/etags/ETAGS.good_5:
	* test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
	files.

2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.

	* lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767

2018-01-10  Charles A. Roelli  <charles@aurox.ch>

	Improve documentation of fill-separate-heterogeneous-words-with-space

	* lisp/textmodes/fill.el
	(fill-separate-heterogeneous-words-with-space): Fix grammar.

2018-01-10  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of some x-* functions

	* lisp/term/pc-win.el (x-display-pixel-width)
	(x-display-pixel-height, x-display-planes)
	(x-display-color-cells, x-server-max-request-size)
	(x-server-vendor, x-server-version, x-display-screens)
	(x-display-mm-height, x-display-mm-width)
	(x-display-backing-store, x-display-visual-class): Provide doc
	strings, so that 'makedoc' produces non-empty documentation in
	etc/DOC for these functions.  (Bug#30068)

2018-01-10  Philipp Stephani  <phst@google.com>

	Inherit query-on-exit flag to stderr process (Bug#30031)

	* src/process.c (Fmake_process): Have the pipe process honor the
	parent's query-on-exit flag.

	* test/src/process-tests.el (make-process/noquery-stderr): New test.

2018-01-10  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#30057

	* test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
	(file-notify--test-cleanup, file-notify--test-make-temp-name)
	(file-notify-test01-add-watch, file-notify-test03-events)
	(file-notify-test05-file-validity)
	(file-notify-test09-watched-file-in-watched-dir)
	(file-notify-test10-sufficient-resources): Use it.  (Bug#30057)

2018-01-10  Glenn Morris  <rgm@gnu.org>

	Tag some unstable tests, and skip by default (bug#24503)

	* Makefile.in (check-all): New phony target.
	* test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
	Also skip unstable tests.
	(SELECTOR_ALL): New variable.
	(check-all): New phony target.
	* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
	(eieio-test-method-order-list-6):
	* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
	(eieio-test-37-obsolete-name-in-constructor):
	Mark as unstable rather than skipping on hydra.nixos.org.

2018-01-10  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from Gnulib

	This incorporates:
	2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
	2018-01-04 update-copyright: Handle use of ©
	2018-01-04 pthread_sigmask: Avoid compilation error on mingw
	2018-01-02 stat-time: silence -Wunused-parameter regression
	* build-aux/config.guess, build-aux/config.sub:
	* build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
	* lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
	* lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
	* lib/stat-time.h: Copy from Gnulib, or regenerate.

2018-01-09  Glenn Morris  <rgm@gnu.org>

	* lisp/epg.el (epg-start-sign): Replace obsolete functions.

2018-01-09  Glenn Morris  <rgm@gnu.org>

	Small fix for erc-logging-enabled

	* lisp/erc/erc-log.el (erc-logging-enabled):
	Respect buffer-locality of erc-enable-logging variable.

2018-01-09  Glenn Morris  <rgm@gnu.org>

	Quieten semantic normal usage

	* lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
	compile time in the normal way, not at run-time.  (Bug#30035)

2018-01-08  Eli Zaretskii  <eliz@gnu.org>

	Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'

	* lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)

2018-01-08  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.

2018-01-08  Noam Postavsky  <npostavs@gmail.com>

	Query background for gnome terminal version 3.22 (Bug#29716)

	* lisp/term/xterm.el (xterm--version-handler): Use
	xterm--report-background-handler for terminals reporting minor version
	4000 and above.

2018-01-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Make pixel-wise scrolling less laggy

	* lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
	New variables.
	(pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
	'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)

2018-01-07  Alan Third  <alan@idiocy.org>

	Fix child frame placement issues (bug#29953)

	* src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
	(NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
	struct as invisible child windows are detached from their parents in
	NS.
	* src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
	value, so handle that gracefully.  Child frames with negative left and
	top should be positioned relative to the bottom right of the parent
	frame.

2018-01-06  Alan Mackenzie  <acm@muc.de>

	Describe the precise interaction of complex primitives with the change hooks

	* doc/lispref/text.texi (Change Hooks): Document that most buffer changing
	primitives call before- and after-change-functions in balanced pairs, but that
	some complex primitives call b-c-f once, and a-c-f zero, one, or several
	times.

2018-01-06  Eli Zaretskii  <eliz@gnu.org>

	Fix valgrind report in call-interactively

	* src/callint.c (Fcall_interactively): Don't try to access more
	bytes than are available in the interactive spec.  (Bug#30004)

2018-01-06  Eli Zaretskii  <eliz@gnu.org>

	* src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)

2018-01-06  Alan Mackenzie  <acm@muc.de>

	Fix mark-defun when there's no spaces between successive defuns.

	The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
	argument to detect non-syntactic WS.  This fails on a "}", which does not
	begin a sexp.

	* lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p): Enhance to
	handle BOL being in a string.
	(beginning-of-defun-comments): Call the above function in place of the call
	to parse-partial-sexp.

2018-01-06  Eli Zaretskii  <eliz@gnu.org>

	Fix Dired display and operations on file names with raw bytes

	* src/coding.c (decode_coding): When flushing remaining raw bytes
	from multibyte text, copy 2-byte forms of eight-bit-*
	characters as single characters, not as 2 raw bytes.  (Bug#29189)

2018-01-05  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'gdb-many-windows'

	* doc/emacs/building.texi (GDB User Interface Layout): Add advice
	for using a separate frame for 'gdb-many-windows'.

2018-01-05  Eli Zaretskii  <eliz@gnu.org>

	Fix failures in smerge-mode on MS-Windows

	* lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
	utf-8-emacs-unix, not emacs-internal, to make the forced EOL
	convention explicit.
	(smerge-refine-regions): Use utf-8-emacs instead of
	emacs-internal, to allow decoding of non-Unix EOL conventions.
	(Bug#29916)

2018-01-04  Stephen Leake  <stephen_leake@stephe-leake.org>

	Fix description of 'struct' generic function specializer
	Backport:

	* doc/lispref/functions.texi (Generic Functions): Fix description of
	'struct' specializer; it must be the named struct or a child, not a
	parent.

	(cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)

2018-01-04  Charles A. Roelli  <charles@aurox.ch>

	* etc/DEBUG (Getting control to the debugger): Fix grammar.

2018-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!

2018-01-03  Noam Postavsky  <npostavs@gmail.com>

	Don't bind dframe events on load (Bug#29599)

	* lisp/dframe.el (dframe-setup-hook): New hook.
	(dframe-set-special-events): New function, containing previous
	top-level key binding code.
	(top-level): Add it to dframe-setup-hook.
	(dframe-frame-mode): Run the hook.

2018-01-02  Eli Zaretskii  <eliz@gnu.org>

	* lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)

	* lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)

2018-01-01  Eli Zaretskii  <eliz@gnu.org>

	Fix description of 'emacs-internal'

	* doc/lispref/nonascii.texi (Coding System Basics): Correct
	inaccuracy in description of 'emacs-internal'.  (Bug#29916)

2018-01-01  Eli Zaretskii  <eliz@gnu.org>

	Update PROBLEMS with selection-related issues

	* etc/PROBLEMS: Update the entry about large selections and
	klipper.  (Bug#29661)

2018-01-01  Ross Donaldson  <gastove@gmail.com>  (tiny change)

	New customization variable for python-mode indentation (Bug#28475)

	* lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
	(python-indent--calculate-indentation): Let it control how many indent
	levels are inserted for multi-line function signatures.

2018-01-01  Alan Third  <alan@idiocy.org>

	Fix menu keyboard shortcuts on macOS (Bug#29595)

	* src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
	macOS 10.13 no longer ignores long modifier strings, so explicitly use
	an empty string.

2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix copyright years by hand

	These are dates that admin/update-copyright did not update, or
	updated incorrectly.

2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Update copyright year to 2018

	Run admin/update-copyright.

2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from Gnulib

	This incorporates:
	2018-01-01 maint: Run 'make update-copyright'
	2017-12-29 Add cross-compilation results for GNU/Hurd.
	2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0

2017-12-31  Gemini Lasswell  <gazally@runbox.com>

	Don't add empty keyboard macro to macro ring (Bug#24992)

	* lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
	macro if it is empty.

	* test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
	Remove expected failure tag.

2017-12-31  Eli Zaretskii  <eliz@gnu.org>

	Allow customization of decoding of "man" command

	* lisp/man.el (Man-coding-system): New defcustom.
	(Man-start-calling): Use it, and also pay attention to user
	overriding coding-system-for-read.  (Bug#29872)

2017-12-31  Daiki Ueno  <ueno@gnu.org>

	* etc/NEWS: Add security consideration note on passphrase input

2017-12-29  Eli Zaretskii  <eliz@gnu.org>

	Fix subtle problem with scroll-down when scroll-margin is nonzero

	* src/window.c (window_scroll_pixel_based): Account for
	scroll-margin when scrolling down, i.e. moving window-start
	towards the beginning of the buffer.  Reported by zhang cc
	<ccsmile2008@outlook.com> in
	https://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.

2017-12-29  Eli Zaretskii  <eliz@gnu.org>

	Fix problems with indexing in User manual

	* doc/emacs/basic.texi (Continuation Lines, Inserting Text)
	(Moving Point):
	* doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
	* doc/emacs/trouble.texi (Quitting):
	* doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
	* doc/emacs/custom.texi (Modifier Keys, Init Examples)
	(Creating Custom Themes):
	* doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
	(Basic Indent, Info Lookup, Symbol Completion):
	* doc/emacs/screen.texi (Echo Area):
	* doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
	* doc/emacs/display.texi (Line Truncation, Cursor Display):
	* doc/emacs/files.texi (File Names, Backup, File Archives):
	* doc/emacs/dired.texi (Operating on Files, Dired Enter):
	* doc/emacs/commands.texi (User Input):
	* doc/emacs/mule.texi (International, Unibyte Mode)
	(International Chars):
	* doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
	(CVS Options):
	* doc/emacs/modes.texi (Major Modes, Minor Modes):
	* doc/emacs/indent.texi (Just Spaces):
	* doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
	(Frame Commands):
	* doc/emacs/cmdargs.texi (Initial Options):
	* doc/emacs/abbrevs.texi (Dabbrev Customization):
	* doc/emacs/mini.texi (Completion Example, Completion Commands):
	* doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
	(From Other Calendar):
	* doc/emacs/regs.texi (Text Registers, Bookmarks):
	* doc/emacs/buffers.texi (Several Buffers, Select Buffer):
	* doc/emacs/maintaining.texi (Xref Commands):
	* doc/emacs/windows.texi (Pop Up Window):
	* doc/emacs/text.texi (Text, Org Mode):
	* doc/emacs/killing.texi (Other Kill Commands):
	* doc/emacs/misc.texi (Document View, Gnus Group Buffer)
	(Gnus Summary Buffer, Shell Mode):
	* doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
	redundant identical index entries.
	* doc/emacs/custom.texi (Mouse Buttons)
	* doc/emacs/files.texi (Reverting): Fix hyphenation.
	* doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
	* doc/emacs/files.texi (File Conveniences):
	* doc/emacs/programs.texi (MixedCase Words): Make entries that
	belong to Concept Index be indexed with @cindex.  (Bug#29888)

2017-12-29  Alan Mackenzie  <acm@muc.de>

	* lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.

2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846

	Don't mess with the lock file when inhibit_modification_hooks is set,
	just like we do in prepare_to_modify_buffer_1.

2017-12-28  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'inhibit-modification-hooks' and friends

	* src/buffer.c (Fset_buffer_modified_p)
	(Frestore_buffer_modified_p): Doc fixes.
	* src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
	Document in the doc string that this variable also inhibits file
	locks and active region handling.  (Bug#29846)

2017-12-28  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)

	Fix doc string of 'enable-recursive-minibuffers'

	* src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
	Doc fix.  (Bug#29873)

2017-12-27  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of delsel and of killing text

	* doc/emacs/killing.texi (Appending Kills): Make sure the text
	with 2 spaces is not broken between 2 lines.
	* doc/emacs/mark.texi (Using Region): Remove the sentence about
	delsel mode that describes behavior which exists even without
	delsel mode turned on.  Suggested by Petteri Hintsanen
	<petterih@iki.fi> in emacs-manual-bugs@gnu.org.

	* lisp/delsel.el (delete-selection-mode): Doc fix.

2017-12-27  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/strings.texi (Case Conversion):
	Use a TeX font that support ligatures.

2017-12-27  Charles A. Roelli  <charles@aurox.ch>

	* doc/misc/speedbar.texi (Top): Fix grammar.

	* lisp/subr.el (with-silent-modifications): Doc fixes.

2017-12-26  Eli Zaretskii  <eliz@gnu.org>

	Fix curved quotes in printed manual

	* doc/emacs/text.texi (Quotation Marks): Fix curved quote
	characters in the printed version of the manual.

2017-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	Say that "gnus-cloud" is a parody name

2017-12-25  Eli Zaretskii  <eliz@gnu.org>

	More improvements for text.texi

	* doc/emacs/text.texi (Outline Motion): Avoid unneeded
	repetition.  Suggested by Petteri Hintsanen <petterih@iki.fi> in
	emacs-manual-bugs@gnu.org.

2017-12-24  Eli Zaretskii  <eliz@gnu.org>

	Adjudicate review comments for the "Text" chapter of user manual

	* doc/emacs/text.texi (Text): Rearrange text for clarity.  Add
	cross-reference to the Org manual.  Make the cross-reference to
	Outline Mode appear in online manuals as well (the conditional was
	a forgotten remnant from time immemoriam).
	(Paragraphs): Add a note that 'paragraph-start' and
	'paragraph-separate' should not be anchored.
	(Auto Fill): Remove redundant text.  Suggested by Petteri
	Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.

2017-12-24  Andreas Schwab  <schwab@linux-m68k.org>

	* lisp/url/url-http.el
	(url-http-wait-for-headers-change-function): Change message to
	url-http-debug.

2017-12-24  Alan Mackenzie  <acm@muc.de>

	In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event

	, and instruct her to hold the mouse button to display its documentation.

	* lisp/help.el (help-downify-mouse-event-type): New function.
	(help-read-key-sequence, describe-key): handle double-click-time being nil or
	t.
	(describe-key): Print out instructions for displaying documentation of
	matching mouse down key sequence command when such exists.

2017-12-23  Andreas Schwab  <schwab@linux-m68k.org>

	* net/eww.el (eww): Handle URLs without host part.

2017-12-23  Alan Mackenzie  <acm@muc.de>

	Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.

	Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
	that S-down-mouse-1 is bound.  We fix this by reporting on the "latest" mouse
	event of a sequence which is bound.

	* lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
	a list.  Return the latest one which has a binding.

2017-12-23  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes when ':eval' deletes our frame

	* src/xdisp.c (display_mode_element): Signal an error if
	':eval' somehow deletes the frame whose window we are
	redisplaying. (Bug#29726)

2017-12-23  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Fix scrolling up in pixel-scroll.el

	* lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
	down when EOB is shown at the top.  This function is reverted to
	commit 1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)

2017-12-23  Eli Zaretskii  <eliz@gnu.org>

	Fix problems with ligatures in PDF version of ELisp manual

	* doc/lispref/strings.texi (Case Conversion): Avoid problems with
	ligatures in printed versions of the manual.  (Bug#29818)

2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	(elisp-flymake-byte-compile): Handle killed buffer in sentinel

	* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
	Don't burp if the source-buffer has been killed.

2017-12-22  Glenn Morris  <rgm@gnu.org>

	Avoid some overfull lines in PDF lispref

	* doc/lispref/commands.texi (Reading One Event):
	* doc/lispref/display.texi (SVG Images):
	* doc/lispref/frames.texi (Size Parameters):
	* doc/lispref/syntax.texi (Categories):
	* doc/lispref/windows.texi (Frame Layouts with Side Windows):
	Avoid overfull lines.

2017-12-22  Glenn Morris  <rgm@gnu.org>

	Avoid some overfull lines in PDF manual

	* doc/emacs/display.texi (Display Custom):
	* doc/emacs/search.texi (Other Repeating Search):
	* doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.

2017-12-22  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
	Fix ref.

2017-12-22  Eli Zaretskii  <eliz@gnu.org>

	* lisp/emacs-lisp/inline.el (define-inline): Add a doc string.

2017-12-22  Eli Zaretskii  <eliz@gnu.org>

	Fix doc string of 'footnote-style-alist'

	* lisp/mail/footnote.el (footnote-style-alist): Remove a reference
	to non-existing files from doc string.  (Bug#29759)

2017-12-22  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of selecting windows

	* doc/lispref/windows.texi (Basic Windows, Selecting Windows):
	Clarify what selecting a window means for keyboard input, and that
	input focus may need to be considered when selecting windows on
	other frames.  See
	https://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
	for more details.

2017-12-22  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of records

	* doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
	* doc/lispref/records.texi (Records): Recommend that record type
	names use package-naming conventions.

	* etc/NEWS: Add the naming convention recommendation for record
	types.

2017-12-22  Eli Zaretskii  <eliz@gnu.org>

	* etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)

2017-12-22  Eli Zaretskii  <eliz@gnu.org>

	Fix interactive spec of 'semantic-ia-show-variants'

	* lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
	interactive spec to match the function's expectations.  (Bug#29770)

2017-12-22  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of 'mouse-drag-and-drop-region' and friends

	* doc/emacs/frames.texi (Drag and Drop): Index
	'mouse-drag-and-drop-region-cut-when-buffers-differ',
	'mouse-drag-and-drop-region-show-tooltip', and
	'mouse-drag-and-drop-region-show-cursor'.

	* etc/NEWS: Fix the format of the related entries.

2017-12-22  Eli Zaretskii  <eliz@gnu.org>

	Improve detection of speller version in ispell.el

	* lisp/textmodes/ispell.el (ispell-check-version): Accept more
	general forms of version numbers for Aspell, Hunspell, and
	Enchant, to include various beta and prereleases.  (Bug#29801)

2017-12-22  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Document 'mouse-drag-and-drop-region' options and mention them in NEWS

	* doc/emacs/frames.texi (Drag and Drop):
	* etc/NEWS (times): Document options for
	'mouse-drag-and-drop-region' and mention them in NEWS.

2017-12-22  Martin Rudalics  <rudalics@gmx.at>

	Fix uses of 'nil' and 'non-nil' in manuals and a few more minor issues

	* doc/emacs/building.texi (Grep Searching): Fix doc of
	'grep-save-buffers'.
	(Drag and Drop): Reorder paragraphs.  Fix doc of
	'mouse-drag-and-drop-region'.
	* doc/emacs/frames.texi (Word and Line Mouse):
	* doc/emacs/search.texi (Other Repeating Search):
	* doc/lispref/compile.texi (Compilation Functions):
	* doc/lispref/files.texi (Directory Names):
	* doc/lispref/functions.texi (Advising Named Functions):
	* doc/lispref/keymaps.texi (Controlling Active Maps):
	* doc/lispref/lists.texi (Association Lists):
	* doc/lispref/windows.texi (Quitting Windows): Fix uses of
	'non-nil' and 'nil'.

2017-12-21  Philipp Stephani  <phst@google.com>

	Document that mode commands should be idempotent.

	* doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
	Conventions): Document that the mode commands should be idempotent.

2017-12-21  Alan Mackenzie  <acm@muc.de>

	Fontify a CPP construct correctly when a comment follows without spaces

	Do this by removing a broken optimization in the state cache which put
	category text properties on a character between the end of the CPP construct
	and the beginning of the comment.  This can't work when there's no such
	character.

	* lisp/progmodes/cc-defs.el (c-cpp-delimiter, c-set-cpp-delimiters)
	(c-clear-cpp-delimiters, c-comment-out-cpps, c-with-cpps-commented-out)
	(c-with-all-but-one-cpps-commented-out): Remove.

	* lisp/progmodes/cc-engine.el (c-no-comment-end-of-macro): Return the comment
	start position rather than one character before it.
	(c-invalidate-state-cache, c-parse-state): Remove the invocations of
	c-with-all-but-one-cpps-commented-out and c-with-cpps-commented-out.

	* lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Rename to
	c-neutralize-syntax-in-CPP and remove the bits which applied category
	properties.

	* lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Incorporate the
	new name of the function c-neutralize-syntax-in-CPP.

2017-12-21  Eli Zaretskii  <eliz@gnu.org>

	Prevent infloop in redisplay on TTY frames

	* src/xdisp.c (extend_face_to_end_of_line): Avoid infloop when
	filling up display margins with the default face's background.
	(Bug#29789)

2017-12-21  Alan Mackenzie  <acm@muc.de>

	Fix loss of documentation face in certain CC Mode doc comment situations

	* lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Take into account
	the possibility of font-lock-comment-delimiter-face.  Test rigorously for
	"/**" (etc.) being itself inside a literal, rather than just depending on the
	face of the previous character.

2017-12-21  Daiki Ueno  <ueno@gnu.org>

	Remove pinentry.el

	* lisp/epg.el (epg--start): Remove the use of pinentry.el.
	* lisp/net/pinentry.el: Remove (bug#27445).

2017-12-21  Ted Zlatanov  <tzz@lifelogs.com>

	Special-case %DUMBFW for GnuTLS between 3.2.5 and 3.5.1

	* src/gnutls.c: Introduce HAVE_GNUTLS_EXT__DUMBFW for GnuTLS >= 3.2.5.
	(Fgnutls_available_p): Use it.

2017-12-21  Andy Moreton  <andrewjmoreton@gmail.com>

	Work around GnuTLS version issues with %DUMBFW (tiny change)

	* src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
	(init_gnutls_functions): Use it.
	(Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.

2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>

	Merge branch 'widen-less' into emacs-26

2017-12-20  Glenn Morris  <rgm@gnu.org>

	* lisp/erc/erc.el (erc-shorten-server-name): Silence compiler warning.

2017-12-20  Glenn Morris  <rgm@gnu.org>

	Fix some more aliases to user options

	* lisp/cus-edit.el (custom-mode-hook):
	* lisp/erc/erc.el (erc-default-coding-system):
	* lisp/progmodes/python.el (python-indent, python-guess-indent)
	(python-shell-virtualenv-path)
	(python-shell-completion-module-string-code)
	(python-shell-completion-pdb-string-code, python-use-skeletons):
	Define aliases to user options before the options are defined.

2017-12-20  Glenn Morris  <rgm@gnu.org>

	Fix some flymake aliases

	* lisp/progmodes/flymake-proc.el (flymake-xml-program)
	(flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
	(flymake-master-file-count-limit, flymake-allowed-file-name-masks):
	* lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
	Define aliases to user options before the options are defined.

2017-12-20  Glenn Morris  <rgm@gnu.org>

	Unbreak a fileio test on non-Mac OS X systems

	* test/src/fileio-tests.el (fileio-tests--symlink-failure):
	Don't use an undefined coding system.

2017-12-20  Robert Pluim  <rpluim@gmail.com>

	Fix updating scrollbar sizes when scaling is in effect

	* src/gtkutil.c (xg_update_scrollbar_pos): Update width of
	scrollbar when scaling is in effect.
	(xg_update_horizontal_scrollbar_pos): Update scrollbar size
	when scaling is in effect.

2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>

	Widen in indent-for-tab-command in the normal case, too

	Fixing this obvious omission.
	* lisp/indent.el (indent--funcall-widened): New function.
	(indent-for-tab-command): Use it.

2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>

	Collect GnuTLS extensions and use them to set %DUMBFW if supported

	* lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
	only when it's supported as "ClientHello Padding" (Bug#25061).

	* src/gnutls.c (Fgnutls_available_p): Get extension names and
	put them in the GnuTLS capabilities, using a hard-coded limit
	of 100 since GnuTLS MAX_EXT_TYPES is not exported.

2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste leftovers

2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (delayed-after-hook-functions): Rename from ...-forms

	(run-mode-hooks): `funcall` the functions instead of `eval`ing the forms.
	* lisp/emacs-lisp/derived.el (define-derived-mode): Push functions
	rather than forms (bug#29679).

2017-12-18  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/net/shr.el (shr-string-pixel-width): Return pixel-width,
	not position (bug#29734).

2017-12-18  Dmitry Gutov  <dgutov@yandex.ru>

	Replace the mention of c-indent-defun with js-indent-line

	* doc/lispref/text.texi (Mode-Specific Indent):
	Avoid mentioning c-indent-defun in the context of multi-mode
	indentation.

2017-12-17  Charles A. Roelli  <charles@aurox.ch>

	python.el doc fixes

	* lisp/progmodes/python.el (python-shell-accept-process-output):
	(python-shell-comint-end-of-output-p):
	(python-shell-first-prompt-hook):
	(python-info-beginning-of-backslash): Doc fixes.

2017-12-17  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Make 'mouse-drag-and-drop-region' more robust and customizable

	* lisp/mouse.el
	(mouse-drag-and-drop-region-cut-when-buffers-differ): New option
	to permit 'mouse-drag-and-drop-region' to cut text also when source
	and destination buffers differ.
	(mouse-drag-and-drop-region-show-tooltip): New option to toggle
	display of tooltip during mouse dragging on graphic displays.
	(mouse-drag-and-drop-region-show-cursor): New option to toggle
	moving point with mouse cursor during mouse dragging of region.
	(mouse-drag-and-drop-region): New face to highlight original
	text while dragging.
	(mouse-drag-and-drop-region): Make use of new options and face.
	Ignore errors during tracking.

2017-12-17  Oscar Fuentes  <ofv@wanadoo.es>

	Backport: Don't compare arguments that can be nil (Bug#28039)

	copy-region-as-kill can be called passing nil as `beg' and
	`end'. Magit does that, which caused an error when this advice was in
	effect.

	* lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
	  unless `beg' and `end' are non-nil.

2017-12-17  Noam Postavsky  <npostavs@gmail.com>

	Don't mess up syntax-ppss cache in electric-pair (Bug#29710)

	In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
	similar may update the syntax-ppss cache if
	`parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
	any of these functions with a different than normal syntax-table, the
	cache must be cleaned afterwards.
	* lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
	(electric-pair--syntax-ppss, electric-pair--balance-info): Use it.

2017-12-17  Glenn Morris  <rgm@gnu.org>

	* etc/emacs.appdata.xml: Update file format.

2017-12-16  Alan Third  <alan@idiocy.org>

	Use utf-8-hfs-unix on macOS (Bug#29712)

	This is a quick fix for the Emacs 26 release. Do not merge to master.

	* test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
	file-name-coding-system to utf-8-hfs-unix to prevent test failure.

2017-12-16  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.

2017-12-16  Michael Albinus  <michael.albinus@gmx.de>

	Improve fix for Bug#29712

	* test/lisp/net/tramp-tests.el
	(tramp-test32-environment-variables-and-port-numbers):
	Adapt check for systems which do not support "echo -n".  (Bug#29712)

2017-12-16  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/sequences.texi (Sequence Functions): Improve indexing.

2017-12-16  Eli Zaretskii  <eliz@gnu.org>

	Avoid reordering of output in 'shr-insert-document'

	* lisp/net/shr.el (shr-string-pixel-width): Preserve point across
	shr-pixel-column invocations.  (Bug#29734)

2017-12-16  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'invisible-p'

	* doc/lispref/display.texi (Invisible Text): Document the return
	value of 'invisible-p'.

	* src/xdisp.c (Finvisible_p): Rename the argument POS.  Doc fix.
	(Bug#29721)

2017-12-16  Martin Rudalics  <rudalics@gmx.at>

	Remove one more check that Vframe_list is non-nil

	* src/dispnew.c (check_glyph_memory): Remove no-longer-needed
	check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
	assumes that.

2017-12-16  Simen Heggestøyl  <simenheg@gmail.com>

	Fix off-by-one error in 'css--hex-color'

	* lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.

	* test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
	for 'css--hex-color'.

2017-12-16  Aaron Jensen  <aaronjensen@gmail.com>

	Save and restore text-pixel height and width of frames (Bug#28442)

	* lisp/frameset.el (frameset--record-relationships): Record
	text-pixel-height and text-pixel-width of frame.
	(frameset--restore-frame): Restore text-pixel-height and
	text-pixel-width of frame if available.  (Bug#28442)

2017-12-16  Noam Postavsky  <npostavs@gmail.com>

	Partially revert "Mention new strictness for &optional, &rest..."

	The changes to cl argument parsing are not backwards compatible, and
	cause inconvenience when writing macros (e.g., instead of doing '&aux
	,@auxargs', some more complicated conditionals would be required).
	The `cl-defstruct' macro makes use of this convenience when defining
	empty structs (Bug#29728).
	* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
	(cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
	and &aux.
	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
	test.

2017-12-15  Glenn Morris  <rgm@gnu.org>

	* lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.

	* lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.

2017-12-15  Paul Eggert  <eggert@cs.ucla.edu>

	FOR_EACH_FRAME no longer assumes frame-list

	This cleans up a recent fix related to Bug#29661.
	Suggested by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
	* src/frame.c (next_frame, prev_frame, delete_frame):
	Restore debugging checks that Vframe_list is non-nil,
	as FOR_EACH_FRAME no longer has these checks.
	(delete_frame): Remove no-longer-needed checks that Vframe_list is
	non-nil, as FOR_EACH_FRAME no longer assumes that.
	* src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.

2017-12-15  Eli Zaretskii  <eliz@gnu.org>

	* src/font.c (Ffont_info): Doc fix.  (Bug#29682)

2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>

	Modernize message.el face spec syntax

	* lisp/gnus/message.el (message-header-to, message-header-cc)
	(message-header-subject, message-header-newsgroups)
	(message-header-other, message-header-name, message-header-xheader)
	(message-separator, message-cited-text, message-mml):
	Use (DISPLAY . PLIST) face spec syntax as recommended in
	`(elisp) Defining Faces'.  (Bug#29405)

2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>

	Update message.el obsolete face aliases

	* lisp/gnus/message.el: (message-header-to, message-header-cc)
	(message-header-subject, message-header-newsgroups)
	(message-header-other, message-header-name, message-header-xheader)
	(message-separator, message-cited-text, message-mml):
	Use define-obsolete-face-alias.  (Bug#29405)

2017-12-15  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of TERM environment variable

	* doc/emacs/trouble.texi (Checklist):
	* doc/emacs/building.texi (Compilation Shell):
	* doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
	* doc/emacs/building.texi (Compilation Shell): Mention
	'comint-terminfo-terminal' in conjunction with the TERM value.

2017-12-15  Allen Li  <darkfeline@felesatra.moe>

	Add option to configure comint TERM

	* lisp/comint.el (comint-terminfo-terminal): New defcustom.
	(comint-term-environment): New function for setting terminal options
	(comint-exec-1): Use comint-term-environment.  (Bug#29583)
	* lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.

	* etc/NEWS:
	* doc/emacs/misc.texi (Shell Options): Document the new option.

2017-12-15  Eli Zaretskii  <eliz@gnu.org>

	Better support utf-8-with-signature and utf-8-hfs in XML/HTML

	* lisp/international/mule.el (sgml-xml-auto-coding-function):
	Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
	obey the buffer's encoding if it is one of these variants, instead
	of re-encoding in UTF-8 proper.  (Bug#20623)

2017-12-15  Eli Zaretskii  <eliz@gnu.org>

	* lisp/menu-bar.el (menu-bar-mode): Doc fix.

2017-12-15  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#29712 in tramp-tests.el

	* test/lisp/net/tramp-tests.el
	(tramp-test32-environment-variables-and-port-numbers):
	Skip for macOS.  (Bug#29712)

2017-12-15  Martin Rudalics  <rudalics@gmx.at>

	Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)

	This does not fix Bug#29961 but avoids that Emacs segfaults when
	trying to shut down because it lost connection to the X server.

	* src/dispnew.c (check_glyph_memory):
	* src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
	there's no frame left (Bug#29961).

2017-12-15  Glenn Morris  <rgm@gnu.org>

	* lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.

2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>

	Remember password change for IMAP in Gnus (Bug#29692)

	Reported by Trey Jackson <trey_jackson@mentor.com>.

	* lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
	`mail-source-password-cache' for password.

2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>

	Add %DUMBFW to the default GnuTLS priority strings

	* lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
	the default priority strings (Bug#25061).

	* etc/NEWS: Mention it.

	* doc/misc/emacs-gnutls.texi (Help For Users): Point to the
	GnuTLS priority string documentation URL.

2017-12-15  Glenn Morris  <rgm@gnu.org>

	Small fixes prompted by make check-declare

	* lisp/frame.el (x-focus-frame): Update declaration.
	(ns-mouse-absolute-pixel-position): Fix declaration.
	* lisp/vc/diff-mode.el (diff-refine-hunk):
	Use smerge-refine-regions rather than obsolete alias.
	(smerge-refine-subst): Remove declaration, no longer relevant.

2017-12-15  Glenn Morris  <rgm@gnu.org>

	Fix some custom groups

	* lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
	* lisp/vc/cvs-status.el (cvs-status): Unused, remove.

2017-12-14  Alan Mackenzie  <acm@muc.de>

	Fix fontification of first declaration within a C++ lambda form.

	* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
	spuriously recognizing the braces of a lambda form as a brace list when there
	is an "=" preceding the introductory brackets.

2017-12-14  Charles A. Roelli  <charles@aurox.ch>

	* src/data.c (Fadd_variable_watcher): Doc fix.

2017-12-14  Alan Mackenzie  <acm@muc.de>

	Fix misfontification of C++ member initialization list after "throw"

	* lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
	starting with "throw", by using c-opt-type-modifier-prefix-key.

	* lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
	which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
	(c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
	any keyword in the previous lang const.

2017-12-14  Dmitry Gutov  <dgutov@yandex.ru>

	Consolidate 'widen' calls

	* lisp/progmodes/prog-mode.el (prog-indentation-context):
	Un-document all elements but the first.
	(prog-widen): Remove.
	(https://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00321.html)

	* doc/lispref/text.texi (Mode-Specific Indent): Update.

	* lisp/progmodes/ruby-mode.el (ruby-calculate-indent):
	Don't call widen.

	* lisp/progmodes/python.el
	(python-indent-guess-indent-offset)
	(python-info-current-defun): Replace prog-widen with widen;
	these functions are not called during indentation.
	(python-indent-context)
	(python-indent--calculate-indentation)
	(python-info-dedenter-opening-block-message)
	(python-info-line-ends-backslash-p)
	(python-info-beginning-of-backslash)
	(python-info-continuation-line-p)
	(python-info-current-defun): Remove 'widen' calls.

	* lisp/indent.el (indent-according-to-mode)
	(indent-for-tab-command, indent-region): Move them here.

	* lisp/textmodes/mhtml-mode.el (mhtml-indent-line):
	Bind prog-indentation-context to one-element list.

2017-12-14  Martin Rudalics  <rudalics@gmx.at>

	Fix doc-string of Fbuffer_list

	* src/buffer.c (Fbuffer_list): Fix doc-string.

2017-12-14  Basil L. Contovounesios  <contovob@tcd.ie>

	Don't raise an extraneous frame (bug#29696)

	* lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
	summary buffer keys from article buffer without affecting window
	configuration (bug#29696).

2017-12-13  Noam Postavsky  <npostavs@gmail.com>

	Mention new strictness for &optional, &rest in arglists (Bug#29165)

	* etc/NEWS: Explain that '&optional' not followed by a variable is now
	an error.
	* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
	(cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
	followed by a variable for consistency.
	* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
	test.

2017-12-13  Alan Mackenzie  <acm@muc.de>

	Don't misfontify "foo ()" inside C++ initialization parentheses as a type

	Also recognize and handle function names introduced by "extern" inside a
	function.

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
	the result list which is t when our declaration is, or is to be treated as,
	being at top level.

	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
	inside a C++ uniform initialization and return (not-decl nil) for this case.
	(c-font-lock-declarations): Use the new element 4 of the result of
	c-forward-decl-or-cast-1.

	* lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
	New lang consts/vars.

2017-12-13  Glenn Morris  <rgm@gnu.org>

	Fixes for defcustoms, prompted by cus-test-opts

	* lisp/files.el (save-some-buffers-default-predicate):
	* lisp/time.el (display-time-world-list):
	* lisp/gnus/gnus-art.el (gnus-article-show-cursor):
	* lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
	* lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
	* lisp/textmodes/less-css-mode.el (less-css-output-directory)
	(less-css-output-file-name, less-css-input-file-name):
	* lisp/vc/emerge.el (emerge-metachars):
	* lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
	Fix :types.
	* lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.

2017-12-13  Glenn Morris  <rgm@gnu.org>

	* lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
	Update.

	* lisp/htmlfontify.el (hfy-which-etags): Fix it.

2017-12-13  Glenn Morris  <rgm@gnu.org>

	Add missing :version tags revealed by cusver-check

	* lisp/comint.el (comint-move-point-for-matching-input):
	* lisp/epa.el (epa-replace-original-text):
	* lisp/image-dired.el (image-dired-cmd-optipng-program)
	(image-dired-cmd-optipng-options):
	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
	* lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
	(gnus-cloud-interactive):
	* lisp/net/mailcap.el (mailcap-user-mime-data):
	* lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
	(c-noise-macro-names, c-noise-macro-with-parens-names):
	* lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
	(flymake-wrap-around):
	* lisp/progmodes/grep.el (grep-use-null-filename-separator):
	* lisp/progmodes/js.el (js-indent-align-list-continuation):
	* lisp/progmodes/perl-mode.el (perl-flymake-command):
	* lisp/progmodes/python.el (python-flymake-command)
	(python-flymake-command-output-pattern, python-flymake-msg-alist):
	* lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
	(ruby-rubocop-config):
	* lisp/textmodes/less-css-mode.el (less-css):
	* lisp/textmodes/tex-mode.el (tex-chktex-program)
	(tex-chktex-extra-flags): Add missing :version tags.

2017-12-13  Glenn Morris  <rgm@gnu.org>

	Escape column-zero doc parens

	* lisp/htmlfontify.el (hfy-display-class):
	* lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
	* lisp/net/shr.el (shr-external-rendering-functions):
	* lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
	* lisp/textmodes/tildify.el (tildify-tildify):
	Escape column-zero doc parens.  A shame bug#21871 remains unfixed.

2017-12-12  Alan Third  <alan@idiocy.org>

	Remove ObjC blocks (Bug#23753)

	* src/macfont.m (macfont_get_glyph_for_character):
	(mac_font_get_glyphs_for_variants): Inline Objective-C blocks.

	(cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)

2017-12-12  Eli Zaretskii  <eliz@gnu.org>

	Import the latest IVD_Sequences.txt

	* admin/unidata/IVD_Sequences.txt: New version from
	https://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
	Ideographic Variation Database.

	* src/macuvs.h: Regenerated.

2017-12-11  Max  <mu@magi.net.ru>  (tiny change)

	Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)

	* lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
	to write to stdout rather than relying on the default (the choice of
	default is decided when compiling tar, BSD systems usually set it to a
	tape drive).  Drop '-v', since the output is not used anywhere.

2017-12-11  Noam Postavsky  <npostavs@gmail.com>

	Suppress warnings during elisp completion macroexpansion

	Errors are already suppressed, therefore it is logical to suppress
	warnings as well.  Some macros (e.g., use-package) may produce
	warnings when given the `elisp--witness--lisp' symbol.
	* lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
	warning-minimum-log-level to :emergency.

2017-12-11  Chunyang Xu  <xuchunyang.me@gmail.com>

	* lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).

2017-12-11  Michael Albinus  <michael.albinus@gmx.de>

	Make tramp-interrupt-process more robust

	* lisp/net/tramp.el (tramp-interrupt-process): Fall back to
	the default implementation if there's no success.

2017-12-11  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)

	* lisp/international/quail.el (quail-input-method): Work not only
	when buffer-read-only is nil but also when inhibit-read-only is non-nil
	(bug#29504).

2017-12-10  Eli Zaretskii  <eliz@gnu.org>

	Fix 'fontset-name-p'

	* lisp/international/fontset.el (fontset-name-p): Make the
	function work with full fontset names and fontset alias names.

2017-12-10  Eli Zaretskii  <eliz@gnu.org>

	Fix fontset documentation inconsistencies for bug#29630

	* doc/lispref/display.texi (Face Attributes): Don't document
	:family as accepting a fontset.  Document that :font accepts a
	fontset.

	* lisp/faces.el (set-face-attribute): Doc fix.

2017-12-10  Martin Rudalics  <rudalics@gmx.at>

	Remove sentence from child frames section in Elisp manual

	* doc/lispref/frames.texi (Child Frames): Remove one sentence.
	Suggested by Bob Weiner <rsw@gnu.org>.

2017-12-10  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes in 'font-at' after 'set-fontset-font'

	* src/fontset.c (free_realized_fontsets): Call
	recompute_basic_faces, so that the basic faces are available to
	any Lisp that calls this function, e.g. via set-fontset-font.
	(Bug#29632)

2017-12-10  Ted Zlatanov  <tzz@lifelogs.com>

	* lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.

2017-12-09  Ted Zlatanov  <tzz@lifelogs.com>

	Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS

	Problem reported by Mark Ferlatte (Bug#28603).
	* lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.

2017-12-09  Eli Zaretskii  <eliz@gnu.org>

	Fix tool-tip display when display margins are non-zero by default

	* src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
	New inline functions.
	* src/xfns.c (Fx_show_tip):
	* src/w32fns.c (Fx_show_tip): Force display margins of the tip
	buffer to zero, as it will be displayed in a pseudo-window, which
	doesn't support display margins.  (Bug#29627)

2017-12-09  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Handle hash tables and vectors when reading/writing EIEIO objects

	* lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
	  printed with `prin1' can no longer be read with `read'. Make sure
	  they are printed with object-write instead, even when they're inside
	  hash tables and vectors.
	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
	  Check for written representations of objects inside hash tables and
	  vectors, and reconstruct them.

2017-12-09  Eli Zaretskii  <eliz@gnu.org>

	Improve interactive debugging commands in xdisp.c

	* src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
	specify ROW via prefix argument.  Fix the doc strings.

2017-12-09  Eli Zaretskii  <eliz@gnu.org>

	Fix calculation of continuation_pixel_width in display engine

	* src/xdisp.c (display_line): Remove incorrect increment of
	it->continuation_pixel_width when word-wrap is used.  (Bug#29594)

2017-12-09  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'save-abbrevs'.

	* doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
	value of 'save-abbrevs'.  Suggested by Alex Branham
	<alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.

2017-12-09  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Dired

	* doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
	be made modifiable in Wdired.  Suggested by Alex Branham
	<alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.

2017-12-09  Eli Zaretskii  <eliz@gnu.org>

	* lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)

2017-12-08  Michael Albinus  <michael.albinus@gmx.de>

	Minor Tramp fixes

	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
	Fix a bug when renaming.

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
	(tramp-test42-delay-load, tramp-test42-remote-load-path):
	Skip unless Emacs >= 26.

2017-12-08  Glenn Morris  <rgm@gnu.org>

	* lisp/help-mode.el (help-function-def):
	Allow help-make-xrefs to call with one argument.  (Bug#29611)

2017-12-07  Martin Rudalics  <rudalics@gmx.at>

	Fix doc-string of 'display-buffer-in-side-window'

	* lisp/window.el (display-buffer-in-side-window): In doc-string
	clarify why the window returned gets dedicated to its buffer.

2017-12-06  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#29579

	* lisp/files.el (file-name-non-special):
	Inhibit `file-name-handler-alist' only for some operations.
	Add missing operations.  (Bug#29579)

	* lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
	Do not quote if it is quoted already.

	* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
	Use `copy-tree' but `copy-sequence'.

	* lisp/net/tramp.el (tramp-handle-file-truename): Handle several
	trailing slashes correctly.

	* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
	(tramp-test12-rename-file, tramp-test24-file-acl)
	(tramp-test25-file-selinux, tramp--test-check-files):
	Handle also quoted file names.
	(tramp-test21-file-links): Fix file name quoting test.
	(tramp-test24-file-acl): Be more robust for "smb" method.
	(tramp-test35-make-auto-save-file-name): Enable hidden test cases.

2017-12-06  Rasmus  <rasmus@gmx.us>

	Backport: Update Org to v9.1.4

	Please note this is a bugfix release. See etc/ORG-NEWS for details.

	(cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)

2017-12-06  Martin Rudalics  <rudalics@gmx.at>

	In windows.texi mention special splitting behavior of side and atomic windows

	* doc/lispref/windows.texi (Splitting Windows): Add note about
	and links to side and atomic windows.

2017-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/gnus/gnus-group.el (gnus-group-mode-map):
	Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).

2017-12-04  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warning in xterm.c

	* src/xterm.c (x_draw_underwave): Move the declaration of
	'thickness' to the non-USE_CAIRO branch, to avoid compiler
	warning.  (Bug#29567)

2017-12-04  Eli Zaretskii  <eliz@gnu.org>

	* README: Document all the top-level directories.  (Bug#29558)

2017-12-04  Glenn Morris  <rgm@gnu.org>

	Don't enable erc modules on simply loading erc.el

	* lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)

2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow shr to use data: URLs without encoding

	* lisp/net/shr.el (shr-image-from-data): Don't bug out on
	image data: URLs that have no base64 encoding like
	(shr-image-from-data
	"text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").

2017-12-03  E. Choroba  <choroba@matfyz.cz>  (tiny change)

	Don't add newlines in minibuffer history

	* lisp/simple.el (next-line-or-history-element): Bind
	next-line-add-newlines to nil.  (Bug#29529)

2017-12-03  Syohei YOSHIDA  <syohex@gmail.com>

	modhelp.py: Support Python 3 (Bug#24954)

	* modules/modhelp.py: 'print' statement was removed in Python
	3.  'print' function should be used instead of 'print' statement.

2017-12-03  Noam Postavsky  <npostavs@gmail.com>

	Use forward slashes for python w32 config example (Bug#21656)

	* lisp/progmodes/python.el: Use forward slashes for Windows path
	example, it doesn't require doubling of slashes which reduces chances
	of confusion.

2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug in i18n/l10n optimization

	This fixes a off-by-one buffer overrun bug introduced in
	2017-06-04T15:39:37Z!eggert@cs.ucla.edu.  Problem uncovered by an
	experimental version of Emacs built with -fcheck-pointer-bounds
	and running on Intel MPX hardware.
	* src/editfns.c (styled_format): Avoid overrunning internal buffers.

2017-12-02  Noam Postavsky  <npostavs@gmail.com>

	Let autoload-compute-prefix be set file-locally (Bug#29471)

	* lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark
	boolean values as safe.

2017-12-02  Noam Postavsky  <npostavs@gmail.com>

	Improve edit-kbd-macro prompting in case of remapped keys (Bug#29399)

	* lisp/edmacro.el (edit-kbd-macro): Use substitute-command-keys to
	present the current bindings in the prompt.  Check the
	non-remapped binding of the entered key sequence as well.

2017-12-02  Lele Gaifax  <lele@metapensiero.it>

	Add tests on electric-indentation and Python multiline strings (Bug#29305)

	* test/lisp/progmodes/python-tests.el
	(python-indent-electric-comma-inside-multiline-string,
	python-indent-electric-comma-after-multiline-string): New tests.

2017-12-02  Noam Postavsky  <npostavs@gmail.com>

	Disable electric indent for python strings (Bug#29305)

	* lisp/progmodes/python.el (python-indent-post-self-insert-function):
	Do nothing when point or beginning of line is in string.

2017-12-02  Yuuki Harano  <masm-emacs@masm11.ddo.jp>  (tiny change)

	Fix buffer overflow in fontname conversion (Bug#29523)

	* src/nsterm.m (ns_xlfd_to_fontname): Fix sscanf format.

2017-12-02  Eli Zaretskii  <eliz@gnu.org>

	Fix byte compilation of files with leading directories

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename
	of target-file to make-temp-file, in case target-file includes a
	leading directory that might not exist under TMPDIR.  See
	https://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html
	for the details.

2017-12-02  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/files.el (make-backup-file-name-1): Fix scoping error.

2017-12-02  Michael Albinus  <michael.albinus@gmx.de>

	Revert Tramp commit from 2017-11-20

	* lisp/net/tramp.el (tramp-drop-volume-letter)
	(tramp-handle-find-backup-file-name): Revert change from
	2017-11-20.  Emacs' `make-backup-file-name-1' handles this
	case now.

2017-12-02  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of buffer-list commands and features

	* doc/emacs/buffers.texi (List Buffers): Add a cross-reference to
	"Several Buffers", to establish a relation between the two
	sections.
	(Buffer Menus): Expand on customizability of alternative buffer
	menu offered by bs.el.  Mention IBuffer.
	Suggested by Alex Branham <alex.branham@gmail.com> in
	emacs-manual-bugs@gnu.org.

2017-12-02  Eli Zaretskii  <eliz@gnu.org>

	Fix backing up remote files in local directories on MS-Windows

	* lisp/files.el (make-backup-file-name-1): Support remote file
	names correctly when they are backed up into a local directory on
	MS-Windows and MS-DOS.  (Bug#29440)

2017-12-02  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.

2017-12-01  John Wiegley  <johnw@newartisans.com>

	Revert "Fix backing up remote files in local directories on MS-Windows"

	This reverts commit 8c8b6732882248df4ca3b687e0a4b4e5e4ab3777.

2017-12-01  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in ELisp manual

	* doc/lispref/sequences.texi (Sequence Functions): Fix the example
	of using 'seq-uniq'.  (Bug#29524)

2017-12-01  Eli Zaretskii  <eliz@gnu.org>

	* lisp/composite.el (find-composition): Fix a typo in the doc string.

2017-12-01  Eli Zaretskii  <eliz@gnu.org>

	Fix backing up remote files in local directories on MS-Windows

	* lisp/files.el (make-backup-file-name-1): Support remote file
	names correctly when they are backed up into a local directory on
	MS-Windows and MS-DOS.  (Bug#29440)

2017-12-01  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Fix vertical cursor motion in pixel-scroll.el

	* lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down
	regardless of whether EOB is shown at the top.
	(pixel-scroll-down) Move cursor up regardless of whether BOB
	is shown at the top.  (Bug#29374)

2017-12-01  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix typos in doc strings of message.el

	* lisp/gnus/message.el (message-header-to)
	(message-header-subject, message-header-newsgroups)
	(message-header-other): Fix typos in doc strings.  (Bug#29405)

2017-12-01  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in the Emacs manual

	* doc/emacs/abbrevs.texi (Abbrev Concepts): Fix a typo.  Reported
	by clemens.radermacher@posteo.de in emacs-manual-bugs@gnu.org.

2017-12-01  Eli Zaretskii  <eliz@gnu.org>

	Improve the documentation of 'table-insert-sequence'

	* doc/emacs/text.texi (Table Misc): Fix the description of
	'table-insert-sequence'.  Reported by jack <jackh@gmx.co.uk> in
	emacs-manual-bugs@gnu.org.

2017-12-01  Paul Eggert  <eggert@cs.ucla.edu>

	Port better to QNX

	Problem reported by Elad Lahav on emacs-devel.
	* configure.ac: On QNX, default CC to qcc (a GCC wrapper),
	and default LDFLAGS to -N2MB so that the initial stack size
	is not too small.  Also, fix misspelling of ‘qnxnto’.

2017-11-30  Michael Albinus  <michael.albinus@gmx.de>

	Make tramp-test42-auto-load more robust

	* test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
	Make it more robust.  Don't skip.

2017-11-30  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertions in find-composition

	* src/font.c (font_range): If called with STRING non-nil and FACE
	a NULL pointer, compute face by calling face_at_string_position.
	(Bug#29506)

	* lisp/composite.el (find-composition): Doc fix.

2017-11-29  Glenn Morris  <rgm@gnu.org>

	Restore obsolete method of changing byte-compile-dest-file

	* lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
	Restore seven-year obsolete feature that was removed for six months,
	since automake uses it.

2017-11-29  Michael Albinus  <michael.albinus@gmx.de>

	Some minor Tramp corrections

	* lisp/net/tramp.el (tramp-handle-directory-file-name):
	Handle several trailing slashes correctly.
	(tramp-handle-file-selinux-context): New defun.

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
	Use `tramp-handle-file-selinux-context'.

	* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
	Extend test.
	(tramp-test17-insert-directory): Make check more robust.
	(tramp-test42-auto-load): Combine several let forms.
	(tramp-test42-delay-load, tramp-test42-recursive-load)
	(tramp-test42-remote-load-path, tramp-test43-unload): Rename.

2017-11-29  Tino Calancha  <tino.calancha@gmail.com>

	* doc/misc/url.texi (http/https): Fix typo

2017-11-29  Glenn Morris  <rgm@gnu.org>

	Remove some bogus definition-prefixes from loaddefs

	* lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
	Don't register a definition prefix from define-erc-module,
	which adds an erc- prefix to its argument.

2017-11-28  Robert Pluim  <rpluim@gmail.com>

	Shell-quote wildcards when invoking 'vc-git-grep'

	* lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
	filename wildcards to ensure globbing is done by git rather
	than the shell.  (Bug#29303)

2017-11-28  Kaushal Modi  <kaushal.modi@gmail.com>

	Update documentation of '.dir-locals-2.el'

	See https://lists.gnu.org/r/emacs-devel/2017-11/msg00649.html
	for more details.
	* lisp/files.el (dir-locals-file-2): Remove unused constant.
	* lisp/files.el (dir-locals-file): Mention ".dir-locals-2.el" in
	the doc string.
	* doc/lispref/variables.texi (Directory Local Variables): Mention
	".dir-locals-2.el".
	* etc/NEWS: Replace `dir-locals-file-2' mention with
	`dir-locals-file'.

2017-11-27  Noam Postavsky  <npostavs@gmail.com>

	* src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64]: Bump to 22 MiB.

2017-11-27  Glenn Morris  <rgm@gnu.org>

	A few small doc fixes for bytecomp.el

	* lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp)
	(byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.

2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5

2017-11-27  Glenn Morris  <rgm@gnu.org>

	* lisp/tree-widget.el (tree-widget-end-guide): Escape it.  (Bug#27797)

2017-11-27  Eli Zaretskii  <eliz@gnu.org>

	Fix ELisp "Warning Tips"

	* doc/lispref/tips.texi (Warning Tips): Clarify when to use
	'require' wrapped by 'eval-when-compile'.  (Bug#29462)

2017-11-27  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#29163

	* lisp/net/tramp.el (tramp-autoload-file-name-regexp):
	Do not use "\\'" in regexp.  (Bug#29163)
	(top) Do not run (tramp-register-autoload-file-name-handlers)
	when loading tramp.el.

	* test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
	(tramp-test32-environment-variables-and-port-numbers)
	(tramp-test41-asynchronous-requests): Use it.
	(tramp-test42-auto-load): New test.
	(tramp-test43-recursive-load, tramp-test44-remote-load-path)
	(tramp-test45-delay-load, tramp-test46-unload): Rename.

2017-11-27  Paul Eggert  <eggert@union>

	Harden exec_byte_code against redefining 'error'

	Problem discovered by configuring with --enable-gcc-warnings on
	Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3).
	* src/bytecode.c (exec_byte_code): Call the C error function
	instead of the Lisp one, so that the Emacs interpreter does not go
	haywire if the user redefines the Lisp error function.

2017-11-27  Gemini Lasswell  <gazally@runbox.com>

	Fix Edebug specs for if-let* and and-let* (Bug#29236)

	* test/lisp/emacs-lisp/subr-x-tests.el (if-let*, if-let):
	Change Edebug spec to cause Edebug to instrument tests the
	results of which are not bound to symbols (the (VALUEFORM)
	case).
	(and-let*): Change Edebug spec to allow empty body.

	*test/lisp/emacs-lisp/subr-x-tests.el:
	(subr-x-and-let*-test-group-1): Add missing quote to erroneous
	form so Edebug will work on this test.

2017-11-26  Gemini Lasswell  <gazally@runbox.com>

	Fix Edebug's handling of dotted specs (bug#6415)

	* lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
	cl-macro-list1 instead of cl-macro-list in Edebug spec.

	* lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
	unused variable.
	(edebug-dotted-spec): Add docstring.
	(edebug-match-specs): Allow &optional and &rest specs to
	match nothing at the tail of a dotted form. Handle matches of
	dotted form tails which return non-lists.

	* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
	New test.

	* test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
	(edebug-test-code-use-destructuring-bind): New function.

2017-11-26  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of "constant" symbols

	* src/font.c (syms_of_font) <font-weight-table, font-slant-table>
	<font-width-table>:
	* src/data.c (syms_of_data) <most-positive-fixnum>
	<most-negative-fixnum>:
	* src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
	Mention in the doc strings that these variables are read-only.

	* doc/lispref/variables.texi (Creating Buffer-Local): Document
	that making a constant variable buffer-local signals an error.
	* doc/lispref/variables.texi (Constant Variables):
	* doc/lispref/errors.texi (Standard Errors): More accurate and
	up-to-date documentation of which symbols cannot be assigned
	values.

2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	maint: shorten https://lists.gnu.org/r/... links

2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from Gnulib

	This incorporates:
	2017-11-23 stat: work around Solaris bug with tv_nsec < 0
	2017-11-12 maint: shorten https://lists.gnu.org/r/... links
	* build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
	* lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
	* lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
	* lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
	* m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
	* m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
	* m4/vararrays.m4:
	Copy from Gnulib.

2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	Work around GCC bug 80776 on Fedora 27 x86

	* src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
	20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
	using XINT rather than XFASTINT and by adding an eassume.  This
	works around GCC bug 80776.

2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak copy-file, rename-file doc

	* src/fileio.c (Fcopy_file, Frename_file): Tweak the recent change
	slightly, as NEWNAME is treated as a directory name depending only
	on the contents of the NEWNAME string, and independently of
	whether NEWNAME names a directory (i.e., whether the directory
	exists) (Bug#29362).

2017-11-25  Tom Tromey  <tom@tromey.com>

	Change font-lock-extend-region-multiline handling in mhtml-mode

	Bug#29159
	* lisp/textmodes/mhtml-mode.el (mhtml-mode): Remove
	font-lock-extend-region-multiline from
	font-lock-extend-region-functions.
	(mhtml--extend-font-lock-region): Call font-lock-extend-region-multiline.

2017-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Minor cleanup in tramp-gvfs-handle-file-local-copy

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy):
	Move error message up.

2017-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Add test for Bug#29423 in Tramp.

	* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
	Add test for Bug#29423.

2017-11-25  Eli Zaretskii  <eliz@gnu.org>

	Avoid jumbled order in HTML rendered by shr.el

	* lisp/net/shr.el (shr-render-td): Preserve point, as
	shr-render-td-1 might move it as a side effect of
	save-window-excursion.  (Bug#29348)

2017-11-25  Eli Zaretskii  <eliz@gnu.org>

	Make sure 'dired-filename' property is always put by ls-lisp

	* lisp/ls-lisp.el (ls-lisp-classify): Do not put the
	'dired-filename' text property on the file name here...
	(ls-lisp-classify-file): ...put it here instead.  (Bug#29423)

2017-11-24  Eli Zaretskii  <eliz@gnu.org>

	A better solution for bug#29347

	* src/thread.c (really_call_select): Don't try to take the global
	lock if the same thread is already holding it.  (Bug#29347)

2017-11-24  Eli Zaretskii  <eliz@gnu.org>

	Avoid a hang after C-g while sit-for on a Unix TTY

	* src/thread.c (acquire_global_lock): Don't try to take the global
	lock if the same thread is already holding it.  (Bug#29347)

2017-11-24  Eli Zaretskii  <eliz@gnu.org>

	Improve the doc string of 'list-packages'

	* lisp/emacs-lisp/package.el (list-packages): Describe in the doc
	string the columns shown by the command.  (Bug#29420)

2017-11-24  Eli Zaretskii  <eliz@gnu.org>

	Improve discoverability of 'defvar' for suppressing warnings

	* doc/lispref/compile.texi (Compiler Errors): Add index entries.
	* doc/lispref/variables.texi (Defining Variables): Mention that
	defvar with no value is used for suppressing compiler warnings.
	(Bug#29400)

2017-11-24  Eli Zaretskii  <eliz@gnu.org>

	Improve discoverability of 'read-buffer-completion-ignore-case'

	* lisp/window.el (switch-to-buffer)
	(switch-to-buffer-other-window, switch-to-buffer-other-frame):
	Mention 'read-buffer' in the doc string.  (Bug#29389)

	* doc/emacs/buffers.texi (Select Buffer): Add a cross-reference to
	where 'read-buffer-completion-ignore-case' is documented.

2017-11-24  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of self-insert-uses-region-functions

	* lisp/simple.el (self-insert-uses-region-functions): Clarify the
	doc string.
	* lisp/delsel.el (delete-selection-uses-region-p): Mention
	'self-insert-command' in the doc string.  (Bug#29373)

	* doc/lispref/text.texi (Commands for Insertion): Mention
	'self-insert-uses-region-functions'.
	* doc/lispref/modes.texi (Keymaps and Minor Modes): Add a
	cross-reference to "Commands for Insertion".

2017-11-24  Eli Zaretskii  <eliz@gnu.org>

	Reflect changes in copy-file and rename-file in doc strings

	* src/fileio.c (Fcopy_file, Frename_file): Mention in the doc
	strings that directory names must end in a slash.  (Bug#29362)

2017-11-24  Eli Zaretskii  <eliz@gnu.org>

	* lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (Bug#29407)

2017-11-24  Eli Zaretskii  <eliz@gnu.org>

	Reorder type predicates in ELisp manual

	* doc/lispref/objects.texi (Type Predicates): Restore alphabetical
	order of listed predicates.  (Bug#29411)

2017-11-23  Eli Zaretskii  <eliz@gnu.org>

	Fix backward scrolling in buffers with header-line

	* src/window.c (window_scroll_pixel_based): Account for the
	header-line when comparing Y coordinate with the last_visible_y.
	(Bug#29325)

2017-11-22  Glenn Morris  <rgm@gnu.org>

	* lisp/bindings.el (buffer-file-coding-system):
	Add explicit permanent-local mark.

	* src/fns.c (syms_of_fns) <overriding-plist-environment>: Doc fix.

2017-11-22  Alan Third  <alan@idiocy.org>

	Fix incorrect interaction of drag/drop and double click (bug#29121)

	* src/nsterm.m (EmacsView::performDragOperation): Drag and drop
	doesn't use ns-input-file.

2017-11-22  Glenn Morris  <rgm@gnu.org>

	* lisp/menu-bar.el (menu-bar-options-save):
	Add display-line-numbers-type.

	* lisp/menu-bar.el (menu-bar-options-save):
	Add global-display-line-numbers-mode.  (Bug#28396)

	* lisp/follow.el (follow-mode): Restore mode line lighter.  (Bug#28495)

2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>

	Extract the common part of ruby-flymake-simple and ruby-flymake-rubocop

	* lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
	(ruby-flymake-rubocop):
	Extract the common part as ruby-flymake--helper.
	(ruby--rubocop-flymake-proc): Remove.  Use the first proc
	variable instead.

2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>

	Add Rubocop Flymake backend

	* lisp/progmodes/ruby-mode.el (ruby-flymake-command):
	Inline the value.  There are no known substitutes.
	(ruby-flymake): Rename to `ruby-flymake-simple' and simplify
	the docstring.
	(ruby-flymake-use-rubocop-if-available): New option.
	(ruby--rubocop-flymake-proc): New variable.
	(ruby-rubocop-config): New option.
	(ruby-flymake-rubocop, ruby-flymake-auto): New functions.
	(ruby-mode): Use `ruby-flymake-auto'.

2017-11-21  Noam Postavsky  <npostavs@gmail.com>

	Update nt/INSTALL.W64 (Bug#28601)

	* nt/INSTALL.W64 (Download and install MinGW-w64 and MSYS2): Move
	suggestion about modifying PATH to...
	(Test Emacs): ... here.
	(Run configure): Remove the unnecessary setting of PKG_CONFIG_PATH.
	(Troubleshooting): New section, includes suggestion to check
	PKG_CONFIG_PATH.

2017-11-21  Charles A. Roelli  <charles@aurox.ch>

	Remove incorrect NEWS item about VC state indicator (Bug#28817)

	* etc/NEWS (VC and related modes): Remove news item about the VC
	state indicator.  This should have been done with commit 7882dc6
	of 2016-03-06 'Revert "Use colors in the VC mode lines"'.

2017-11-21  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.

2017-11-21  Alan Mackenzie  <acm@muc.de>

	Make c-defun-name analyze more thoroughly a function type which is a struct

	This fixes bug #29293.

	* lisp/progmodes/cc-cmds.el (c-defun-name): When a struct (etc.) type is
	encountered, check whether it is the return type of a function rather than a
	declaration of the struct itself.  Similarly adapt the cond arm which deals
	with functions properly to recognize struct return types.

2017-11-21  Glenn Morris  <rgm@gnu.org>

	Avoid bogus abbreviated file names if HOME changes

	* lisp/files.el (abbreviate-file-name):
	If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
	* test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.

2017-11-21  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/byte-run.el (inline): Give it a doc.

2017-11-21  Jay Kamat  <jaygkamat@gmail.com>  (tiny change)

	Fix erc keep-place module with new defaults (Bug#29111)

	* lisp/erc/erc-goodies.el (erc-keep-place): Allow erc
	keep-place to continue working with
	switch-to-buffer-preserve-window-point set to t, the new default.

2017-11-20  Alan Third  <alan@idiocy.org>

	Add window divider faces to NS (bug#29353)

	* src/nsterm.m (ns_draw_window_divider): Use
	window-divider-first-pixel and window-divider-last-pixel faces.

2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/keyboard.c: Undo last change, meant for master only

2017-11-20  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#29149

	* lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
	backup file names.
	(tramp-handle-find-backup-file-name):
	Call `tramp-drop-volume-letter' on the results.  (Bug#29149)

2017-11-20  Martin Rudalics  <rudalics@gmx.at>

	Fix misbehavior when drawing three-pixel high horizontal dividers (Bug#29353)

	* src/xterm.c (x_draw_window_divider):
	* src/w32term.c (w32_draw_window_divider): Fix misbehavior when
	drawing three-pixel high horizontal dividers (Bug#29353).

	The misbehavior was noted by Keith David Bershatsky and analyzed by Alan
	Third.

2017-11-19  Mike Kupfer  <mkupfer@alum.berkeley.edu>

	MH-E: don't automatically download external-body parts

	* lisp/mh-e/mh-mime.el (mh-mime-display-single): Use
	mm-automatic-display-p to verify that a part should be
	displayed before doing the inline checks (SF#475).

2017-11-19  Michael Albinus  <michael.albinus@gmx.de>

	Further fix for Bug#29291

	* test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
	Check for local ACL support.  (Bug#29291)

2017-11-19  Alan Third  <alan@idiocy.org>

	Fix divider frame params on NS (bug#29352)

	* src/nsfns.m (Fx_create_frame): Set right-divider-width and
	bottom-divider-width parameters.

2017-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling fixes

	* lisp/help-fns.el (help-fns--analyze-function):
	Rename from help-fns--analyse-function.
	All uses changed.

2017-11-19  Olaf Rogalsky  <olaf.rogalsky@t-online.de>

	* src/keyboard.c: Make xterm-mouse clicks on mode-line work

	(read_key_sequence): Recompute first_event
	after replay_sequence, since it might have changed (bug#29104).

2017-11-18  Martin Rudalics  <rudalics@gmx.at>

	Don't let delete_frame select a tooltip frame (Bug#27647)

	* src/frame.c (delete_frame): Don't select a tooltip
	frame. (Bug#27647)

2017-11-18  Alan Mackenzie  <acm@muc.de>

	Filter obtrusive events in help-read-key-sequence.

	This fixes most of bug #29272.

	* lisp/help.el (help-read-key-sequence): After a mouse event, pause for 0.01s,
	discarding any events (such as <help-echo>) received in this time, before
	polling for the double-click (etc.) events which may follow.  This fixes the
	infinite loop which occurred whwn <help-echo> events triggered a sit-for
	whilst handling menu events.

2017-11-18  Michael Albinus  <michael.albinus@gmx.de>

	Fix symlink flag in tramp-gvfs-handle-file-attributes

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
	Set proper symlink file mode flag.

2017-11-18  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug in tramp-handle-file-truename

	* lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
	relative symbolic links.

2017-11-18  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in doc string of electric-indent-functions-without-reindent

	* lisp/electric.el (electric-indent-functions-without-reindent):
	Doc fix.  (Bug#29304)

2017-11-18  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in echo_area_display

	* src/xdisp.c (echo_area_display): Don't try redisplaying the echo
	area if the selected-frame's mini-window is nil.  (Bug#27647)

2017-11-18  Eli Zaretskii  <eliz@gnu.org>

	Fix case-folding in Occur

	* lisp/replace.el (occur-engine): Bind case-fold-search in each
	buffer we search.  (Bug#29254)

2017-11-18  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)

	Fix quick-calc in C mode with hex values

	* lisp/calc/calc-aent.el (math-read-token): Make sure the match
	against "0[xX][0-9a-fA-F]+" is found at math-exp-pos.  See
	https://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00174.html
	for the details.

2017-11-18  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of dired-next/prev-marked-file

	* lisp/dired.el (dired-next-marked-file, dired-prev-marked-file):
	Doc fixes.  (Bug#29340)

2017-11-17  Eli Zaretskii  <eliz@gnu.org>

	Prevent aborts in line-move-visual

	* src/indent.c (line_number_display_width): Avoid assertion
	violations in init_iterator when the window's buffer was
	temporarily switched without updating window-start.  (Bug#29326)

2017-11-17  Eli Zaretskii  <eliz@gnu.org>

	More fixes in src/.gdbinit

	* src/.gdbinit (pwinx): Update to match 'struct window'.
	(pcursorx): Use "." instead of "->" because the argument is a
	struct, not a pointer.

2017-11-17  Robert Pluim  <rpluim@gmail.com>

	Document how to enter whitespace when using grep-read-files

	* lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
	how to enter whitespace when using grep-read-files.  (Bug#29303)
	* lisp/progmodes/project.el (project-find-regexp): Likewise.
	* lisp/vc/vc-git.el (vc-git-grep): Likewise.

2017-11-17  Eli Zaretskii  <eliz@gnu.org>

	Fix .gdbinit following lisp.h changes

	* src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
	(xprintstr): Adapt to latest changes in Lisp object C structures.
	(Bug#29332)

2017-11-15  Charles A. Roelli  <charles@aurox.ch>

	* lisp/simple.el (shell-command): Doc fixes.

2017-11-15  Noam Postavsky  <npostavs@gmail.com>

	Fix marker adjustment for undo (Bug#29118)

	* lisp/simple.el (primitive-undo): Compare marker against absolute
	value of POS, because the sign of POS is irrelevant to markers.

2017-11-14  Daniel Pittman  <slippycheeze@google.com>

	Fix Bug#28139

	* lisp/net/tramp-sh.el: Set TERM and INSIDE_EMACS environment earlier.
	(tramp-remote-process-environment): Remove TERM and INSIDE_EMACS.
	(tramp-remote-process-environment): Document their special handling.
	(tramp-open-shell): Set TERM and INSIDE_EMACS prior to starting the
	initial remote shell, so that it is also aware of the environment
	in which it is operating.  (Bug#28139)

2017-11-14  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#29291

	* test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
	Preserve permissions when copying.  (Bug#29291)

2017-11-14  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#2928

	* test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
	Enhance test.  (Bug#29287)
	(tramp-test44-delay-load): Fix for older Emacsen.

2017-11-14  Martin Rudalics  <rudalics@gmx.at>

	Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect-window' non-nil

	* lisp/mouse.el (mouse-drag-and-drop-region): Ignore
	'select-window' events to make it work with
	'mouse-autoselect-window'.

2017-11-14  Alexander Gramiak  <agrambot@gmail.com>

	* etc/PROBLEMS: Remove fixed xterm-mouse-mode problems

	See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29143#26

2017-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>

	Fix cookie handling (bug#29282)

	* lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
	Regard a Set-Cookie header as it contains a single cookie;
	prefer Max-Age to Expires and convert it to Expires;
	remove support for old time string styles (bug#29282).

2017-11-13  Gemini Lasswell  <gazally@runbox.com>

	Improve documentation of Edebug and macros

	* doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
	discussion of when it might be necessary to find and evaluate macro
	specifications before instrumenting.
	(Specification List): Clarify what "defining form" means to Edebug
	and when 'def-form' or 'def-body' should be used instead of 'form'
	or 'body'.

2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	Port to IBM xlc 12.01

	Work around a compiler bug by using a separate enum for alignment.
	* src/alloc.c (roundup_size): Declare in a separate enum.

2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED

	* configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
	needed, since we no longer rely on __attribute__ ((aligned (8))).
	All uses removed.
	* src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
	(lisp_to_value): Simplify now that we no longer need to worry
	whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.

2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	Use alignas to fix GCALIGN-related bugs

	Use alignas and unions to specify alignments of objects needing
	addresses that are at least a multiple of GCALIGNMENT.  Using
	these standard C facilities should be safer than relying on ad hoc
	and poorly-understood features like GCC’s __attribute__
	((aligned (N))), the root cause for recent porting bugs like
	Bug#29040.  The alignas macro was standardized by C11 and Gnulib
	supports alignas for pre-C11 platforms.  I have tested this on Sun
	Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
	more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
	x86-64 and x86).
	* lib-src/make-docfile.c (close_emacs_globals): lispsym is now
	just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
	now properly aligned.  All uses changed.
	* src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
	member; this is simpler and safer than casting a pointer that
	might not be aligned properly.
	(aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
	Lisp_Symbol is aligned properly.  All uses replaced with struct
	Lisp_Symbol.
	* src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
	it can cause the natural alignment to be ignored.  All uses
	replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
	described below.
	(struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
	Change definition from ‘struct TAG { MEMBERS };’ to
	‘struct TAG { union { struct { MEMBERS } s; char alignas
	(GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
	to have an alignment that at least max (GCALIGNMENT, N) where N is
	its old alignment.  All uses like ‘PTR->MEMBER’ changed to
	‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
	anyway.  Verify that the resulting ‘struct TAG’ is properly
	aligned for Emacs.
	(union vectorlike_header): New member ‘gcaligned’ to guarantee
	that this type, and its containing types like ‘struct Lisp_Subr’,
	‘struct buffer’ and ‘struct thread_state’, are all properly
	aligned for Emacs.
	(struct Lisp_String): New union member ‘next’, for the benefit
	of NEXT_FREE_LISP_STRING.
	(union Aligned_Cons, union Aligned_String): Remove.  All uses
	replaced by struct Lisp_Cons and struct Lisp_String, since they
	are now properly aligned.
	(USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
	assume struct Lisp_Cons and struct Lisp_String are properly
	aligned.

2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	Change vectorlike from struct to union

	* src/lisp.h (vectorlike_headed): Change from struct to union.
	All uses changed.  Since it has only one member, this does not
	change semantics.  This is designed to simplify future changes
	needed to fix bugs like Bug#29040.  All uses changed.

2017-11-12  Tom Tromey  <tom@tromey.com>

	Don't enable cursor-sensor-mode in mhtml-mode

	* lisp/textmodes/mhtml-mode.el (mhtml--last-submode): Update doc
	string.
	(mhtml-mode): Don't call cursor-sensor-mode.

2017-11-12  Eli Zaretskii  <eliz@gnu.org>

	* lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)

2017-11-12  João Távora  <joaotavora@gmail.com>

	Unbreak interactive run of a flymake test (bug#29267)

	See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
	technique used here.

	* test/lisp/progmodes/flymake-tests.el (ruby-backend):
	Let-bind abbreviated-home-dir.

2017-11-12  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#29225

	* src/fileio.c (Fset_file_acl): Report error only when
	acl_errno_valid returns true.  (Bug#29225)

	* test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
	(tramp-test25-file-selinux): New tests.
	(tramp-test26-file-name-completion, tramp-test27-load)
	(tramp-test28-process-file, tramp-test29-start-file-process)
	(tramp-test30-interrupt-process, tramp-test31-shell-command)
	(tramp-test32-environment-variables)
	(tramp-test32-environment-variables-and-port-numbers)
	(tramp-test33-explicit-shell-file-name)
	(tramp-test34-vc-registered)
	(tramp-test35-make-auto-save-file-name)
	(tramp-test36-find-backup-file-name)
	(tramp-test37-make-nearby-temp-file)
	(tramp-test38-special-characters)
	(tramp-test38-special-characters-with-stat)
	(tramp-test38-special-characters-with-perl)
	(tramp-test38-special-characters-with-ls, tramp-test39-utf8)
	(tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
	(tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
	(tramp-test41-asynchronous-requests)
	(tramp-test42-recursive-load, tramp-test43-remote-load-path)
	(tramp-test44-delay-load, tramp-test45-unload): Rename.

2017-11-12  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix defun-open being recognized as brace-list-open at EOB.

	* lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling
	for an open brace at EOB and nested braces inside an unclosed brace block.

2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from Gnulib

	This incorporates:
	2017-11-11 faccessat: port to macOS (Bug#29231)
	2017-11-05 fstatat: pacify GCC on unusual platform
	* build-aux/config.guess, build-aux/config.sub:
	* doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
	* lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC when configured --with-x-toolkit=no

	Without these changes, Emacs does not build on Fedora 26 x86-64
	when configured --with-x-toolkit=no --enable-gcc-warnings.
	* oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
	* src/xterm.c (x_dispatch_event): Define only if
	USE_X_TOOLKIT || USE_MOTIF || USE_GTK.

2017-11-12  Eli Zaretskii  <eliz@gnu.org>

	* lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)

2017-11-12  João Távora  <joaotavora@gmail.com>

	Fix more flymake-diag-region eob corner cases and add tests (bug#29201)

	* lisp/progmodes/flymake.el (flymake-diag-region): Correct
	more eob corner cases.

	* test/lisp/progmodes/flymake-tests.el
	(eob-region-and-trailing-newline): New test.

2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>

	Keep Man sections in natural order (bug#28998)

	* lisp/man.el (Man-build-section-alist): Reverse sections.

2017-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/minibuffer.el: Install a workaround for bug#16274

	* lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
	error when `md` is applied to another table.

2017-11-11  Eli Zaretskii  <eliz@gnu.org>

	Fix comparisons with tip_frame in GTK builds

	* src/xterm.c (x_update_begin, x_new_font):
	* src/xfns.c (Fx_display_monitor_attributes_list):
	* src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
	tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)

2017-11-11  Eli Zaretskii  <eliz@gnu.org>

	Improve the documentation of M-n for entering file names

	* lisp/files.el (find-file, find-file-other-window)
	(find-file-other-frame): Mention file-name-at-point-functions in
	the doc string.  Reported by Florian Weimer <fw@deneb.enyo.de> in
	https://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00224.html.

	* doc/emacs/mini.texi (Minibuffer History): Document
	file-name-at-point-functions and its effect on M-n when typing
	file names in the minibuffer.
	* doc/emacs/files.texi (File Names):
	* doc/emacs/mini.texi (Minibuffer File): Add a cross-reference to
	"Minibuffer History", where special features of M-n regarding
	files are described.

2017-11-11  Eli Zaretskii  <eliz@gnu.org>

	Fix desktop auto-save timer when linum-mode is used

	* lisp/desktop.el (desktop-read): Use toplevel value of
	window-configuration-change-hook when deciding whether desktop
	auto-saving is enabled.  Suggested by Peter Neidhardt
	<pe.neidhardt@googlemail.com>.  (Bug#28945)

2017-11-11  Olaf Rogalsky  <olaf.rogalsky@t-online.de>

	Fix "C-h k" in xterm-mouse-mode

	* lisp/help.el (help-read-key-sequence): Support "C-h k" for
	xterm-mouse-mode by calling read-key-sequence-vector instead of
	read-event.  (Bug#29150)

2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix off-by-1 bug in --enable-checking=stringbytes

	Evidently nobody builds Emacs with --enable-checking=all,
	which is no surprise as it is so slow as to be unusable nowadays.
	Perhaps we should remove the slowest checks, or move them into
	another category, or speed them up, or something.
	* src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
	error in size calculation, which caused a failure when
	--enable-checking=stringbytes was used.  I introduced this bug in
	2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
	members to GCC + valgrind".

2017-11-10  Alan Mackenzie  <acm@muc.de>

	Correct the indentation of C99's compound literals.

	* lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Amend so that
	if there is only syntactic whitespace in a brace block, it is regarded as a
	statement block.  Also, if there is no semicolon or comma delimiter, treat as
	a statement block when there is a keyword.
	(c-guess-basic-syntax): CASE 9 test: Regard a brace as starting a brace block
	when its contents indicate a brace block.

2017-11-10  Eli Zaretskii  <eliz@gnu.org>

	Improve the doc string of 'dired-isearch-filter-filenames'

	* lisp/dired-aux.el (dired-isearch-filter-filenames): Doc fix.
	(Bug#29215)

2017-11-10  Eli Zaretskii  <eliz@gnu.org>

	* lisp/isearch.el (search-invisible): Doc fix.  (Bug#29222)

2017-11-10  Eli Zaretskii  <eliz@gnu.org>

	Fix display of line numbers in GTK builds

	* src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
	tip_frame is indeed a tooltip frame, before disabling line numbers
	on it.  (Bug#27647)

	* src/dispextern.h (tip_frame): Add commentary describing the
	kludgey usage of this variable in GTK builds.

2017-11-10  João Távora  <joaotavora@gmail.com>

	Fix previous change to flymake-diag-region (bug#29174)

	* lisp/progmodes/flymake.el (flymake-diag-region):
	Pass line and col to commit.

2017-11-09  João Távora  <joaotavora@gmail.com>

	flymake-diag-region really returns nil if region is invalid (bug#29174)

	Reported by Lele Gaifax <lele@metapensiero.it>.

	* lisp/progmodes/flymake.el (flymake-diag-region): Really
	return nil if the region is invalid.

2017-11-09  João Távora  <joaotavora@gmail.com>

	Flymake correctly highlights whole last line if eob (bug#29201)

	If a line/column pair indicates an end-of-buffer position, flymake
	should behave like the case where the last line of the buffer is
	referenced without a column indication.  This behavior is currently
	to highlight the whole last line.

	* lisp/progmodes/flymake.el (flymake-diag-region): Correct
	conditions of fallback to the fallback-eol local function.

2017-11-09  João Távora  <joaotavora@gmail.com>

	Protect Flymake checkdoc backend against checkdoc errors (bug#29176)

	The function checkdoc-current-buffer may error if there are unbalanced
	parens, for example, but this shouldn't disable the
	elisp-flymake-checkdoc backend.

	* lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Use
	ignore-errors.

2017-11-09  João Távora  <joaotavora@gmail.com>

	Sort entries of the Flymake diagnostics buffer (bug#29175)

	Reported by Lele Gaifax <lele@metapensiero.it>.

	* lisp/progmodes/flymake.el
	(flymake--diagnostics-buffer-entries): Sort results of flymake-diagnostics.

2017-11-09  Alan Mackenzie  <acm@muc.de>

	Correctly indent C++14 brace lists which are a second argument to a function.

	In particular, don't indent contained brace lists in "staircase" fashion.
	This fixes bug #28623.

	* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
	testing for being enclosed in parens, recognize also a brace directly
	following a comma, as well as a brace being the first thing inside the paren.
	Enhance the return value, by indicating when we're directly inside an open
	paren.
	(c-inside-bracelist-p): Add an extra argument ACCEPT-IN-PARAM which indicates
	whether we will accept a bracelist directly inside an open parenthesis.
	Simplify the manipulation of PAREN-STATE by dispensing with variable LIM and
	using c-pull-open-brace.  Enhance the return value, respecting the new argument.
	(c-guess-basic-syntax): Save a copy of the initial parse-state in the new
	variable STATE-CACHE.  Use this variable in place of C-STATE-CACHE throughout
	the function.  At CASE 7B, call c-inside-bracelist-p with extra argument nil.
	At CASE 9, call that function with extra argument t.

2017-11-09  Eli Zaretskii  <eliz@gnu.org>

	Fix redisplay of overlay-arrows on GUI frames

	* src/xdisp.c (try_window_reusing_current_matrix)
	(try_cursor_movement): Disallow these optimizations if the buffer
	has overlay arrow(s) shown on the fringe(s).  (Bug#29198)

2017-11-09  João Távora  <joaotavora@gmail.com>

	Protect Flymake tests against older Ruby and Perl (bug#29187)

	* test/lisp/progmodes/flymake-tests.el (perl-backend): Search
	for the error from the bottom.
	(ruby-backend): Protect against situation of bug#29187

2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>

	Fix URL cookie expiration bug

	Problem reported by Damien Cassou (Bug#29223).
	* lisp/url/url-cookie.el (url-cookie-expired-p):
	Fix typo in previous change, which caused unexpired cookies
	to be treated as expired and vice versa.

2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>

	Use GCALIGNED properly for GCC

	Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
	immediately follow the ‘struct’ keyword when aligning a structure.
	The attribute silently does not work if it follows a tag after the
	‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
	fix a SIGSEGV problem reported by John Mastro (Bug#29183).
	* lib-src/make-docfile.c (close_emacs_globals):
	* src/buffer.c (buffer_defaults, buffer_local_symbols):
	* src/lisp.h (DEFUN):
	* src/thread.c (main_thread):
	Put 'GCALIGNED' immediately after 'struct'.

2017-11-09  Glenn Morris  <rgm@gnu.org>

	In f90.el, set fill-paragraph-function to a useful value

	* lisp/progmodes/f90.el (f90-mode-map) <menu>: Add fill-paragraph.
	(f90-mode): Set fill-paragraph-function.
	(f90-fill-paragraph): New command.

2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix to 2fddfb7ce7

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
	  Fix bogus paren wrapping.

2017-11-08  Glenn Morris  <rgm@gnu.org>

	* admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc typo.

2017-11-08  Charles A. Roelli  <charles@aurox.ch>

	Further workaround for faulty localtime() under macOS 10.6

	* lisp/org/org-clock.el (org-clock--oldest-date): Fix an issue
	when compiling on macOS 10.6 with a western time zone (a
	continuation of Bug#27736).  In particular, see:

	https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27736#74

	and the first commit that attempted to work around this problem,
	"Workaround for faulty localtime() under macOS 10.6", bd49b6f1 of
	2017-09-30.

2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Handle object string name in eieio-persistent-convert-list-object

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
	  Starting to phase out the printing of object names in
	  `object-write', handle either case.

2017-11-08  Ryan C. Thompson  <rct@thompsonclan.org>

	Fix handling of nil PRED2 arg for completion-table-with-predicate

	* lisp/minibuffer.el (completion-table-with-predicate): Don't act as
	if strict is non-nil when pred2 is nil (Bug#27841).
	* test/lisp/minibuffer-tests.el
	(completion-table-with-predicate-test): Add a test for Bug#27841.

2017-11-07  K. Handa  <handa@gnu.org>

	Describe Lao rendering problem

	* etc/PROBLEMS: Describe a workaround for the problem of Lao rendering
	by OpenTyype font.

2017-11-07  K. Handa  <handa@gnu.org>

	Fix docstring of arabic-shaper-ZWNJ-handling

	* lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
	the doctstring for addition of :set (bug#28312).

2017-11-07  Antonin Houska  <ah@melesmeles.cz>  (tiny change)

	Handle single-line comments correctly (Bug#26049)

	* lisp/newcomment.el (comment-region-internal): Previously, the
	comment text had to contain at least one line break character for the
	ending extra line to be added.  Make the behavior more consistent by
	looking for end of line instead.
	(comment-region-internal): Remove trailing white space from the
	comment's initial line.

2017-11-07  Glenn Morris  <rgm@gnu.org>

	* test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
	Clean up properly.

2017-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug

2017-11-06  Martin Rudalics  <rudalics@gmx.at>

	Document new treatment of 'comment-auto-fill-only-comments'

	* doc/lispref/text.texi (Auto Filling): Add reference to Emacs
	manual.  Add description of 'comment-auto-fill-only-comments'.
	* etc/NEWS: Mention new treatment of
	'comment-auto-fill-only-comments'.

2017-11-05  Michael Albinus  <michael.albinus@gmx.de>

	Do not load Tramp unless `tramp-mode' is non-nil

	* lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
	`tramp-mode' is non-nil.
	(tramp-unload-file-name-handlers): Unload also
	`tramp-autoload-file-name-handler'.

	* test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.

2017-11-05  Michael Albinus  <michael.albinus@gmx.de>

	Prefer `customize-set-variable' in tramp.texi

	* doc/misc/tramp.texi (Configuration, Default Method, Default User)
	(Default Host, Remote shell setup, Auto-save and Backup)
	(Ad-hoc multi-hops, Frequently Asked Questions):
	Prefer `customize-set-variable' over `custom-set-variables'.

2017-11-05  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in hscroll_window_tree

	* src/xdisp.c (hscroll_window_tree): When hscroll suspension is
	being disabled, set the frame's garbaged flag less eagerly.
	(Bug#29002)

2017-11-05  Philipp Stephani  <phst@google.com>

	Ediff: add some missing documentation

	* lisp/vc/ediff.el (ediff-files, ediff-files3, ediff-buffers)
	(ediff-buffers3, ediff-merge-directories)
	(ediff-merge-directories-with-ancestor)
	(ediff-merge-directory-revisions)
	(ediff-merge-directory-revisions-with-ancestor)
	(ediff-windows-wordwise, ediff-windows-linewise)
	(ediff-regions-wordwise, ediff-regions-linewise)
	(ediff-merge-files, ediff-merge-files-with-ancestor)
	(ediff-merge-buffers, ediff-merge-buffers-with-ancestor)
	(ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
	(ediff-patch-file, ediff-revision): Document missing arguments.
	(ediff-patch-buffer, ediff-revision): Add second space after
	period.
	(ediff-files-command, ediff3-files-command, ediff-merge-command)
	(ediff-merge-with-ancestor-command, ediff-directories-command)
	(ediff-directories3-command, ediff-merge-directories-command): Add
	documentation for the command line functions.

2017-11-05  Justin Timmons  <justinmtimmons@gmail.com>  (tiny change)

	Support python virtualenv on w32 (Bug#24464)

	According to the virtualenv docs only POSIX systems follow the
	structure "/path/to/venv/bin/", while windows systems use
	"/path/to/venv/Scripts" for the location of the binary files, most
	importantly including the python interpreter (see:
	https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
	* lisp/progmodes/python.el (python-shell-calculate-exec-path): Use the
	"/path/to/venv/Scripts" for `windows-nt' machines.

2017-11-05  Noam Postavsky  <npostavs@gmail.com>

	Improve dired deletion error handling (Bug#28797)

	* lisp/dired.el (dired-internal-do-deletions): Use
	`error-message-string' to produce a human readable error message.

2017-11-05  Noam Postavsky  <npostavs@gmail.com>

	Don't replace user input when completion prefix is empty (Bug#18951)

	* lisp/pcomplete.el (pcomplete-parse-arguments): Only replace user
	input if we produced a non-empty common completion stub.

2017-11-05  Eli Zaretskii  <eliz@gnu.org>

	Return non-nil from gnutls-available-p under GnuTLS 2.x

	* doc/misc/emacs-gnutls.texi (Help For Users): Update the
	documentation of 'gnutls-available-p'.

	* etc/NEWS (GnuTLS): Mention the change in the value returned by
	'gnutls-available-p'.

	* src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
	2.x is available.  (Bug#29147)

2017-11-05  João Távora  <joaotavora@gmail.com>

	Fix Flymake help-echo functions across windows (bug#29142)

	* lisp/progmodes/flymake.el (flymake--highlight-line): Use
	with-selected-window.
	(flymake-goto-next-error): Call help-echo with a window and an
	overlay.

2017-11-05  João Távora  <joaotavora@gmail.com>

	Add tests for Flymake backends for Ruby and Perl

	* test/lisp/progmodes/flymake-tests.el (perl-backend)
	(ruby-backend): New tests.
	(warning-predicate-rx-perl, warning-predicate-function-perl):
	Delete tests.

	* test/lisp/progmodes/flymake-resources/test.pl: Include an
	error the test file.

	* test/lisp/progmodes/flymake-resources/test.rb: file.

2017-11-05  João Távora  <joaotavora@gmail.com>

	Add a Flymake backend for Perl

	Define a simple backend in perl-mode.el, which cperl-mode.el also
	uses.

	* lisp/progmodes/cperl-mode.el (cperl-mode): Add to
	flymake-diagnostic-functions.

	* lisp/progmodes/flymake-proc.el
	(flymake-proc-allowed-file-name-masks): Disable legacy backend
	for perl files.

	* lisp/progmodes/perl-mode.el (perl-flymake-command): New
	defcustom.
	(perl--flymake-proc): New buffer-local variable.
	(perl-flymake): New function.
	(perl-mode): Add to flymake-diagnostic-functions.

2017-11-05  João Távora  <joaotavora@gmail.com>

	Add a Flymake backend for Ruby

	* lisp/progmodes/ruby-mode.el (ruby-flymake-command): New
	defcustom.
	(ruby--flymake-proc): New buffer-local variable.
	(ruby-flymake): New function.
	(ruby-mode): Add flymake-diagnostic-functions.

2017-11-05  Lele Gaifax  <lele@metapensiero.it>

	Add a Flymake backend for Python (bug#28808)

	Implement new Flymake backend with related customizable settings.

	* lisp/progmodes/python.el (python-flymake-command)
	(python-flymake-command-output-pattern)
	(python-flymake-msg-alist): New defcustom.
	(python--flymake-parse-output): New function, able to parse
	python-flymake-command output accordingly to
	python-flymake-command-output-pattern.
	(python-flymake): New function implementing the backend
	interface using python--flymake-parse-output for the real
	work.
	(python-mode): Add python-flymake to flymake-diagnostic-functions.

2017-11-05  Michael Albinus  <michael.albinus@gmx.de>

	Allow "%" in Tramp host names

	* lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name): Hexify also host.

	* lisp/net/tramp.el (tramp-host-regexp): Allow "%" in host names.

2017-11-04  Noam Postavsky  <npostavs@users.sourceforge.net>

	Use hybrid malloc for FreeBSD (Bug#28308)

	FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
	using system malloc dumping does not work correctly (allocated data is
	invalid after dumping).
	* configure.ac: Set hybrid_malloc for freebsd.
	* src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.

2017-11-04  Charles A. Roelli  <charles@aurox.ch>

	Add html-, mhtml- and python-mode support to semantic symref

	* lisp/cedet/semantic/symref/grep.el
	(semantic-symref-filepattern-alist): Fix the entry for
	'html-mode', which used a regexp-like syntax where only glob
	syntax is permitted.  As a result, 'xref-find-references' (M-?)
	can now find references in HTML files.  Also duplicate the same
	entry for the sake of 'mhtml-mode', and add a new one for
	'python-mode'.
	(semantic-symref-derive-find-filepatterns): In the documentation,
	clarify that returned patterns must follow the glob syntax.  Fix
	an 'if' test that always evaluates to nil.
	(semantic-symref-tool-grep):
	(semantic-symref-perform-search): Fix typos.

2017-11-04  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'window-scroll-functions'

	* doc/lispref/windows.texi (Window Hooks): Clarify the values of
	arguments of 'window-scroll-functions' functions.

	* src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.

2017-11-04  Eli Zaretskii  <eliz@gnu.org>

	Fix subtle problems in tabulated-list-mode with line numbers

	* lisp/emacs-lisp/tabulated-list.el
	(tabulated-list-watch-line-number-width): Call
	tabulated-list-init-header instead of tabulated-list-revert.
	(tabulated-list-window-scroll-function): New function.
	(tabulated-list-mode): Put 'tabulated-list-window-scroll-function'
	on the buffer-local 'window-scroll-functions' list.

2017-11-04  Eli Zaretskii  <eliz@gnu.org>

	Make gdb-non-stop-setting default to nil on MS-Windows

	* lisp/progmodes/gdb-mi.el (gdb-non-stop-setting): Now nil on
	MS-Windows.

2017-11-04  Mike Gulick  <mike.gulick@mathworks.com>  (tiny change)

	Fix gdb-mi prompt after "attach PID" command

	* lisp/progmodes/gdb-mi.el (gdbmi-bnf-console-stream-output): Set
	gdb-first-done-or-error non-nil.  (Bug#29020)

2017-11-04  Eli Zaretskii  <eliz@gnu.org>

	Fix doc string of 'window-configuration-change-hook'

	* src/window.c (syms_of_window) <window-configuration-change-hook>:
	Doc fix.  (Bug#29049)

2017-11-04  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of window hooks

	* doc/lispref/windows.texi (Window Hooks): Fix the description of
	window-configuration-change-hook.  (Bug#29049)
	<run-window-scroll-functions, run-window-configuration-change-hook>:
	Document these functions.

2017-11-04  Eli Zaretskii  <eliz@gnu.org>

	Fix hscroll suspension after cursor motion

	* src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
	of the window when temporary suspension of hscrolling is
	disabled.  (Bug#29002)

2017-11-03  Alan Mackenzie  <acm@muc.de>

	Introduce a function to CC Mode which displays the current function name

	Remove an erroneous interactive specification from two functions.

	* lisp/progmodes/cc-cmds.el (c-display-defun-name): New command.
	(c-defun-name, c-cpp-define-name): Remove interactive specification.

	* lisp/progmodes/cc-mode.el (c-mode-base-map): Add binding C-c C-z for the new
	command.

	* doc/misc/cc-mode.texi (Other Commands): Add documentation for the new
	command.

2017-11-03  Eli Zaretskii  <eliz@gnu.org>

	Fix typos in ediff-wind.el

	* lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
	Fix typos in commentary.  (Bug#29138)

2017-11-03  João Távora  <joaotavora@gmail.com>

	Examine tex-chktex--process in the correct buffer

	As in other Flymake backends, the process sentinel might run in
	arbitrary buffers where this variable's value doesn't make sense.

	For a way to trigger a problem due to this, see discussion starting in
	https://lists.gnu.org/r/emacs-devel/2017-10/msg00645.html

	* lisp/textmodes/tex-mode.el (tex-chktex): Use
	with-current-buffer.

2017-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>

	* nt/INSTALL.W64: Update to current mingw64 install instructions

2017-11-03  João Távora  <joaotavora@gmail.com>

	Don't resignal errors in flymake-diag-region

	* lisp/progmodes/flymake.el (flymake-diag-region): Use
	flymake-log instead of flymake-error.

2017-11-03  João Távora  <joaotavora@gmail.com>

	New xref-quit-and-goto-xref command bound to TAB (bug#28814)

	This is like xref-goto-xref, but quits the *xref* window just before
	the user jump to ref.

	* lisp/progmodes/xref.el (xref--show-location): Handle 'quit
	value for SELECT.
	(xref-goto-xref): Take optional QUIT arg.
	(xref-quit-and-goto-xref): New command.
	(xref--xref-buffer-mode-map): Bind "Q" and "TAB" to
	xref-quit-and-goto-xref.

	* doc/emacs/maintaining.texi (Xref Commands): Describe new bindings in
	*xref*.

	* etc/NEWS (Xref): Describe new binding.

2017-11-03  João Távora  <joaotavora@gmail.com>

	Allow split-window-sensibly to split threshold in further edge case

	As a fallback, and to avoid creating a frame, split-window-sensibly
	would previously disregard split-height-threshold if the window to be
	split is the frame's root window.

	This change generalizes that: it disregards the threshold if the
	window to be split is the frame's only _usable_ window (it is either
	the only one, as before, or all the other windows are dedicated to
	some buffer and thus cannot be touched).

	This is required for the fix to bug#28814.

	* lisp/window.el (split-height-threshold): Adjust doc to match
	split-window-sensibly.
	(split-window-sensibly): Also disregard threshold if all other
	windows are dedicated.

2017-11-03  João Távora  <joaotavora@gmail.com>

	Honor window-switching intents in xref-find-definitions (bug#28814)

	When there is more than one xref to jump to, and an *xref* window
	appears to help the user choose, the original intent to open a
	definition in another window or frame is remembered when the choice to
	go to or show a reference is finally made.

	* lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
	(xref--original-window-intent): New variable.
	(xref--original-window): Rename from xref--window and move up
	here for clarity.
	(xref--show-pos-in-buf): Rewrite.  Don't take SELECT arg here.
	(xref--show-location): Handle window selection decision here.
	(xref--window): Rename to xref--original-window.
	(xref-show-location-at-point): Don't attempt window management here.
	(xref--show-xrefs): Ensure display-action intent is saved.

2017-11-03  Paul Pogonyshev  <pogonyshev@gmail.com>

	* lisp/emacs-lisp/generator.el (iter-do): Add a debug declaration.

2017-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case

	Don't try to flymake-start within a buffer that doesn't exist any more.

2017-11-03  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix buffer name comparison in async shell-command

	* lisp/simple.el (shell-command): Keep track of output-buffer
	by its name, not by its object.  (Bug#28997)

2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>

	Change GCALIGNMENT back to an integer literal

	* src/lisp.h (GCALIGNMENT): Change it back to a macro
	that expands to a literal integer constant, for older GCC.
	I had mistakenly thought that only MSVC had the problem.
	Problem reported by Eli Zaretskii (Bug#29040#69).

2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>

	* src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).

2017-11-03  Hong Xu  <hong@topbug.net>

	Improve the doc of eshell-cmpl-* custom variables (Bug#25069)

	* lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
	function to generate the docstring for custom variables derived from
	pcomplete-* variables.
	(eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
	(eshell-cmpl-ignore-case, eshell-cmpl-autolist)
	(eshell-cmpl-suffix-list, eshell-cmpl-recexact)
	(eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
	(eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
	(eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
	(eshell-command-completion-function, eshell-cmpl-command-name-function)
	(eshell-default-completion-function, eshell-cmpl-use-paring): Use it
	to set the docstring.

2017-11-02  Alan Third  <alan@idiocy.org>

	Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)

	* src/nsterm.m (EmacsScroller::mouseDown,
	EmacsScroller::mouseDragged): Take scroller buttons into account when
	calculating scroller knob position.

2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from Gnulib

	This incorporates:
	2017-10-29 timespec: prefer ‘assume’ to ‘assure’
	2017-10-27 timespec.h: use "assure" to avoid a spurious warning
	2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
	* build-aux/config.guess, build-aux/config.sub:
	* lib/timespec.h, lib/unistd.in.h:
	Copy from Gnulib.

2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix alignment portability problems

	Do not assume that the natural alignment of Lisp objects is a
	multiple of GCALIGNMENT.  This improves on the portability of the
	recent fix for Bug#29040.
	* lib-src/make-docfile.c (close_emacs_globals):
	* src/buffer.c (buffer_defaults, buffer_local_symbols):
	* src/lisp.h (DEFUN):
	* src/thread.c (main_thread):
	Use GCALIGNED, not alignas (GCALIGNMENT).
	* src/alloc.c (COMMON_MULTIPLE):
	Move back here from lisp.h, since it is no longer used elsewhere.
	* src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
	worry about MSVC.  Omit no-longer-needed consistency check.
	* src/thread.c (THREAD_ALIGNMENT): Remove.

2017-11-02  Simen Heggestøyl  <simenheg@gmail.com>

	Fix completion of colon after CSS property (Bug#29056)

	* lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
	": ;" after completing a CSS property unless the rest of the line is
	empty.

2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/alloc.c (sweep_symbols): Tweak last change

	Avoid the double-free without the extra check.  Add an explanatory comment.

2017-11-02  Martin Rudalics  <rudalics@gmx.at>

	In frame parameters documentation mention desktop saving/restoring

	* doc/lispref/frames.texi (Frame Parameters): Mention that
	applications have to care about which parameters they want to
	get saved and restored by the desktop library.

2017-11-02  Martin Rudalics  <rudalics@gmx.at>

	Don't have frameset save the 'client' parameter (Bug#29067)

	* lisp/frameset.el (frameset-persistent-filter-alist): Never
	save 'client' parameter (Bug#29067).

2017-11-02  Gemini Lasswell  <gazally@runbox.com>

	Handle generic variables in cl-defgeneric Edebug spec

	*lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix Edebug spec to
	match (setf name) and replace incorrect cl-lambda-list with listp
	(Bug#27747).

2017-11-02  Noam Postavsky  <npostavs@gmail.com>

	Give a more sensible message if file-attributes fails (Bug#29070)

	* lisp/server.el (server-ensure-safe-dir): Don't claim the directory
	is a file if we fail to get anything from `file-attributes'.

2017-11-01  Andreas Schwab  <schwab@linux-m68k.org>

	Avoid wrong value from file-attributes on Linux kernel before 3.6

	* src/dired.c (file_attributes): Handle unsupported fstat on O_PATH
	descriptors.  (bug#29070)

2017-11-01  Noam Postavsky  <npostavs@gmail.com>

	Fix customization of debugger-print-function (Bug#29077)

	* lisp/emacs-lisp/debug.el (debugger-print-function): The :options
	keyword has no effect for :type 'function, use :type '(choice ...)
	instead.

2017-10-31  Eli Zaretskii  <eliz@gnu.org>

	Avoid duplicate calls to xfree for the same pointer

	* src/alloc.c (sweep_symbols): Avoid freeing an already freed
	pointer to a symbol's buffer-local value.  (Bug#29066)

2017-10-31  Phil Sainty  <psainty@orcon.net.nz>

	Don't clobber docstrings of explicitly-defined mode hook variables

	* lisp/emacs-lisp/derived.el (define-derived-mode):
	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
	mode hook variable, do not clobber pre-existing docstrings.

2017-10-31  Martin Rudalics  <rudalics@gmx.at>

	Avoid fullscreen ediff control frames by default (Bug#29026)

	* lisp/vc/ediff-wind.el (ediff-control-frame-parameters):
	Add parameter to avoid fullscreen control frames (Bug#29026).

2017-10-31  Katsumi Yamaoka  <yamaoka@jpl.org>

	Fix the bug#24034 change (revno 9eb028f) causing infloop (bug#29047)

	* lisp/net/shr.el (shr-fill-line): Copy only face and image-displayer
	properties to gaps (bug#29047).

2017-10-30  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in the ELisp manual

	* doc/lispref/functions.texi (Obsolete Functions): Fix a typo.
	(Bug#29068)

2017-10-30  Martin Rudalics  <rudalics@gmx.at>

	Fix doc and doc-strings for minibuffer window related functions (Bug#28978)

	These fixes were suggested by Drew Adams.

	* src/window.c (Fminibuffer_selected_window): Disambiguate
	doc-string.
	* doc/lispref/minibuf.texi (Intro to Minibuffers)
	(Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
	the term "currently active minibuffer window".  Disambiguate
	documentation of `minibuffer-selected-window'.

2017-10-30  Alan Mackenzie  <acm@muc.de>

	Fix "Args out of range" error in c-determine-limit.  Fixes bug #28598.

	* lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
	position for BASE is below point-min, scan forward to the end of the current
	literal.
	(c-determine-limit): Add an extra arm to the final cond form, testing for BASE
	being at point-min.

2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/perl-mode.el: Fix electric indentation with RET

	(perl-electric-noindent-p): The `eolp' check should not apply to RET.
	Reported in https://emacs.stackexchange.com/questions/36337.

2017-10-29  Tom Tromey  <tom@tromey.com>

	Extend mhtml submode region when in comment

	* lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
	submode when start happens to be in a comment.

2017-10-29  Tom Tromey  <tom@tromey.com>

	Fix mthml submode lighting at end of buffer

	* lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
	buffer correctly.

2017-10-29  Tom Tromey  <tom@tromey.com>

	Remember more variables in mhtml-mode

	* lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
	"completion-" and "major-mode".
	(mhtml--variable-prefix): Remove "major-mode".

2017-10-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	* etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.

2017-10-29  Martin Rudalics  <rudalics@gmx.at>

	Fix minibuffer window related docs and strings (Bug#28978)

	* src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
	* src/window.c (Fminibuffer_selected_window): Fix doc-string.
	* doc/lispref/frames.texi (Buffer Parameters): Rewrite
	description of `minibuffer' parameter.
	* doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
	entries and partly rewrite section.
	(Minibuffer Misc): Clarify description of
	`minibuffer-selected-window'.
	* etc/NEWS: Mention new semantics of 'minibuffer' frame
	parameter.

2017-10-29  Mark Oteiza  <mvoteiza@udel.edu>

	Add ChkTeX flymake backend for latex-mode

	* lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
	(tex-chktex-program, tex-chktex-extra-flags): New custom variables.
	(latex-mode): Add backend to flymake-diagnostic-functions.
	(tex-chktex--process): New variable.
	(tex-chktex-command, tex-chktex): New functions.

2017-10-29  Glenn Morris  <rgm@gnu.org>

	Fix doc typos

	* lisp/simple.el (line-move-ignore-invisible):
	* lisp/sort.el (sort-regexp-fields):
	* lisp/cedet/ede.el (project-add-file):
	* lisp/gnus/message.el (message-bogus-recipient-p):
	* lisp/international/mule.el (define-coding-system):
	* lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
	* lisp/progmodes/xscheme.el (xscheme-allow-output-p)
	(scheme-interaction-mode, scheme-debugger-mode)
	(xscheme-yank-pop, xscheme-yank-push): Doc fixes.

2017-10-29  Glenn Morris  <rgm@gnu.org>

	Fix some duplicate word typos

	* doc/misc/ede.texi (ede-target):
	* doc/misc/flymake.texi (Using Flymake):
	* doc/misc/gnus.texi (The namazu Engine): Fix typos.

2017-10-28  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/commands.texi (Adjusting Point): Fix wording. (Bug#29042)

2017-10-28  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults in 64-bit Windows builds

	* src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
	* src/thread.c (THREAD_ALIGNMENT): New macro.
	(main_thread): Use THREAD_ALIGNMENT to align properly.  (Bug#29040)

2017-10-28  Eli Zaretskii  <eliz@gnu.org>

	Fix conversion of pixel coordinates to buffer position

	* src/dispnew.c (buffer_posn_from_coords): Adapt to
	auto-hscroll-mode == current-line.

2017-10-28  Eli Zaretskii  <eliz@gnu.org>

	Fix doc strings in desktop.el

	* lisp/desktop.el (desktop-auto-save-timeout)
	(desktop-auto-save-set-timer): Doc fixes.  (Bug#28945)

2017-10-28  Eli Zaretskii  <eliz@gnu.org>

	Add Index to ERT manual

	* doc/misc/ert.texi: Add @syncodeindex directives.
	(Index): New node.
	(Top): Add Index to the top-level menus.
	Add index entries to all nodes.

2017-10-28  Eli Zaretskii  <eliz@gnu.org>

	Make manuals and NEWS consistent

	* etc/NEWS: Fix markings on several entries, and rearrange others
	as needed.

	* doc/emacs/programs.texi (Hideshow): Document the new
	outline-like bindings.
	* doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.

2017-10-28  Martin Rudalics  <rudalics@gmx.at>

	Don't allow (minibuffer-window-active-p nil) to return t

	* lisp/window.el (minibuffer-window-active-p): Return t
	only if WINDOW is a live window.

2017-10-28  Eli Zaretskii  <eliz@gnu.org>

	Clarify obsolescence message for 'whitespace-tab'

	* lisp/whitespace.el (whitespace-tab): Make the obsolescence
	message more clear about the replacement.

2017-10-28  Glenn Morris  <rgm@gnu.org>

	Fix some duplicate words typos

	* lisp/erc/erc.el (erc-hide-current-message-p):
	* lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
	* doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
	* doc/lispref/functions.texi (Defining Functions):
	* doc/lispref/os.texi (Terminal-Specific):
	* doc/misc/sem-user.texi (Analyzer Debug):
	* doc/misc/srecode.texi (Special Variables): Fix typos.

2017-10-28  Glenn Morris  <rgm@gnu.org>

	* lisp/button.el (button-activate): Fix doc typo.

	* lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix doc typo.

2017-10-28  Glenn Morris  <rgm@gnu.org>

	Fix some doc typos

	* lisp/calendar/todo-mode.el (todo-next-item)
	(todo-previous-item, todo-toggle-item-header):
	* lisp/window.el (move-to-window-group-line):
	* src/editfns.c (Fformat):
	* test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
	Fix doc typos.

2017-10-27  Ken Brown  <kbrown@cornell.edu>

	Fix startup display on Cygwin

	* src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
	forces input to be read.  (Bug#24091)

2017-10-27  Eli Zaretskii  <eliz@gnu.org>

	* src/fileio.c (Fset_default_file_modes): Fix typo in doc string.

	* lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bug#28963)

2017-10-27  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of how faces are applied to display strings

	* doc/lispref/display.texi (Displaying Faces): Describe how the
	faces of the "underlying" text affect overlay and display strings.
	(Display Margins): Add a cross-reference to "Displaying Faces".

2017-10-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Improve pixel-scroll-mode

	Scroll vertically by number of pixels returned by
	'frame-char-height' with or without horizontally scrolled.
	(Bug#28922)

	* lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
	by number of pixels returned by 'frame-char-height'.
	(pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
	move cursor to avoid unexpected jump.
	(pixel-scroll-down): Scroll by 'frame-char-height'.
	(pixel-bob-at-top-p): Consider number of pixels that is about to
	scroll.
	(pixel-posn-y-at-point): Consider existence of an overlay string.
	Return nil when horizontally scrolled.
	(pixel-point-at-top-p): Consider number of pixels that is about to
	scroll. Use different algorithm when horizontally scrolled.
	(pixel-point-at-bottom-p): Consider number of pixels that is about
	to scroll. Return nil when horizontally scrolled.
	(pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
	(pixel--whistlestop-line-up): Change cosmetics and move cursor when
	horizontally scrolled.
	(pixel-line-height): Call 'pixel-visual-line-height' instead of
	'line-pixel-height'.
	(pixel-visual-line-height): New function to return height in pixels
	of text line where cursor is with or without horizontally scrolled,
	considering response of display engine.
	(pixel-visible-pos-in-window): New function to return position of
	a char shown on text line where cursor is on screen with or without
	horizontally scrolled.

2017-10-27  Daniel Lublin  <daniel@lublin.se>  (tiny change)

	Support Certification Authority Authorization in dns-mode.el

	* lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
	(Bug#28911)

2017-10-27  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of set-default-file-modes

	* src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)

	* doc/lispref/files.texi (Changing Files): Clarify how the bits in
	the argument of set-default-file-modes are used for setting file
	permissions.

2017-10-27  Ulf Jasper  <ulf.jasper@web.de>

	Fix documentation of `newsticker-new-item-functions' (bug#29023).

	* lisp/net/newst-backend.el (newsticker-new-item-functions),
	(newsticker-new-item-functions-sample),
	(newsticker-download-enclosures): Fix docstring, rename
	variable feed to feedname (bug#29023).

	* doc/misc/newsticker.texi (Automatic Processing)
	(Automatic Processing): Fix documentation of
	`newsticker-new-item-functions' (bug#29023).

2017-10-27  Tino Calancha  <tino.calancha@gmail.com>

	Require seq in rmc.el

	* lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
	* test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.

2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make an example code introduced in the Gnus info work (bug#29008)

	You can find it in the bottom of (info "(gnus)Foreign Groups").
	NOTE: this change is worth being merged to the trunk.

	* lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
	Allow a string for bug# (bug#29008).

2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>

	Enable gnus-read-ephemeral-* to run multiple times (bug#29008)

	NOTE: *DO NOT* merge this change to the trunk.

	* lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
	(gnus-read-ephemeral-bug-group): Make it work for any number of times
	for the case `url-automatic-caching' is set (bug#29008).

2017-10-27  Paul Eggert  <eggert@cs.ucla.edu>

	Port thread.c to OpenBSD ARM

	Problem reported by Jeremie Courreges-Anglas (Bug#29005).
	* src/thread.c (main_thread): Align to GCALIGNMENT.

2017-10-26  Alan Mackenzie  <acm@muc.de>

	Fix another "wrong side of point" error in CC Mode.

	This fixes (a follow-up to) bug #28850.
	A internal generated form for scanning text to fontify had a LIMIT parameter.
	It also locally bound LIMIT to a value possibly beyond the original LIMIT,
	allowing point to move beyond the original LIMIT, and to create the wrong side
	error.  Fix it by checking point is not beyond LIMIT in the outer context
	before using it.

	* lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
	parameter CHECK-POINT which, when non-nil, directs the function to generate a
	check on point.
	(c-make-font-lock-context-search-function): Invoke the above function with new
	argument value t.

2017-10-26  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#28959

	* lisp/net/tramp.el (tramp-handle-find-backup-file-name):
	Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
	hop to backup file name.  (Bug#28959)

	* test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
	New test.
	(tramp-test35-make-nearby-temp-file)
	(tramp-test36-special-characters)
	(tramp-test36-special-characters-with-stat)
	(tramp-test36-special-characters-with-perl)
	(tramp-test36-special-characters-with-ls, tramp-test37-utf8)
	(tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
	(tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
	(tramp-test39-asynchronous-requests)
	(tramp-test40-recursive-load, tramp-test41-remote-load-path)
	(tramp-test42-delay-load, tramp-test43-unload): Rename.

2017-10-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix duplicate .o file on QNX

	* configure.ac (CYGWIN_OBJ): Leave empty on QNX.
	Problem reported by Elad Lahav in:
	https://lists.gnu.org/r/emacs-devel/2017-10/msg00750.html

2017-10-26  Dmitry Gutov  <dgutov@yandex.ru>

	Fix two js indentation problems

	Fix indentation problems reported in
	https://github.com/mooz/js2-mode/issues/463.
	* lisp/progmodes/js.el (js--continued-expression-p):
	Check syntax state after /.
	(js--multi-line-declaration-indentation):
	Check syntax state before "const".

2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>

	Update documentation for windows build

	* admin/nt/dist-build/README-scripts: New File.

2017-10-25  Alan Mackenzie  <acm@muc.de>

	Fix a "wrong side of point" error in CC Mode.  Fixes bug #28850.

	The cause was a scanning over a bracket pair taking us beyond the supplied
	LIMIT parameter in c-forward-declarator.

	* lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
	(point) limit) whilst dealing with tokens after the declared identifier.

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
	argument to `c-forward-declarator' (twice), since we want to fontify up till
	the end of a declarator, not an arbitrary jit-lock chunk end.

2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)

	* lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
	* lisp/kmacro.el: Require `replace` since we use query-replace-map.
	* lisp/replace.el: Require `text-mode` since we use text-mode-map.

2017-10-25  Alan Third  <alan@idiocy.org>

	Fix non-native fullscreen on NS (bug#28872)

	* src/nsterm.m (EmacsView::updateFrameSize): Handle case where
	FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
	of frame.

2017-10-25  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#28982

	* admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.

	* lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
	(url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.

	* test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)

2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>

	Fix windows build errors

	* admin/nt/dist-build/build-zips.sh: Correct name of zip file, build
	  64 bit first

2017-10-25  Noam Postavsky  <npostavs@gmail.com>

	Fix compile warning for non-w32 builds

	Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
	binding", the non-w32 builds would treat the undeclared
	w32-collate-ignore-punctuation variable as lexical.
	* lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.

2017-10-25  David Glasser  <glasser@davidglasser.net>  (tiny change)

	Display commit in package description, if available (Bug#28637)

	MELPA includes a :commit field in its
	packages (https://github.com/melpa/package-build/pull/6).  You can use
	this to tell if MELPA has processed a recently-merged change.  This
	commit adds that metadata to the package description buffer.

	* lisp/emacs-lisp/package.el: Display commit in package description.

2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	Port to QNX

	Simplified version of a patch proposed by Elad Lahav in:
	https://lists.gnu.org/r/emacs-devel/2017-10/msg00716.html
	which is based on a previous patch I proposed in:
	https://lists.gnu.org/r/emacs-devel/2017-10/msg00707.html
	* configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
	(system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
	Set appropriately for QNX.
	* src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
	(unexec): Check for sbrk failure, and fall back on old BSS end.

2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	* configure.ac: Tweak libcurses diagnostic.

2017-10-24  Phillip Lord  <phillip.lord@russet.org.uk>

	Scripts to automate windows binary distribution

	* admin/nt/dist-build/README-windows-binaries,
	  admin/nt/dist-build/build-dep-zips.py,
	  admin/nt/dist-build/build-zips.sh: New Files

2017-10-24  Gemini Lasswell  <gazally@runbox.com>

	Fix Edebug specs for map-let and with-maps-do

	* lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
	* test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.

2017-10-24  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.

	(tramp-test42-unload): Rename.

2017-10-24  Glenn Morris  <rgm@gnu.org>

	* admin/authors.el (authors-canonical-author-name):
	Ignore name issues in "lax" ChangeLogs.

	* test/lisp/progmodes/sql-tests.el
	(sql-tests-postgres-list-databases-error): Silence compiler.

2017-10-23  Michael Albinus  <michael.albinus@gmx.de>

	Further work on Bug#28889

	* lisp/net/tramp.el (tramp-set-syntax): New defun.
	(tramp-syntax): Use it.  Change :package-version.  (Bug#28889)

2017-10-23  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp backward compatibility

	* lisp/net/tramp-compat.el (tramp-compat-tramp-file-name-slots):
	New defmacro.
	* lisp/net/tramp.el (with-parsed-tramp-file-name): Use it.

2017-10-23  Michael Albinus  <michael.albinus@gmx.de>

	Improve backward compatibility of tramp-tests.el

	* test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
	(tramp-test41-unload): Skip unless Emacs >= 26.

2017-10-23  Martin Rudalics  <rudalics@gmx.at>

	Fix some ‘window-normalize-’ prefixed functions (Bug#28947)

	* lisp/window.el (window-normalize-buffer): Fix case where
	BUFFER-OR-NAME is a string specifying a dead buffer.  Fix
	doc-string (Bug#28947).
	(window-normalize-frame, window-normalize-window): Fix
	doc-strings (Bug#28947).

2017-10-23  Paul Eggert  <eggert@cs.ucla.edu>

	Port to OpenIndiana

	Problem reported by Nelson H. F. Beebe (Bug#28893).
	Also see Bug#23748, Bug#9736, and Bug#5735.
	* configure.ac (tputs_library): Prefer libcurses to libtermcap,
	since OpenIndiana libtermcap lacks tparm.

2017-10-22  Alexander Gramiak  <agrambot@gmail.com>

	Don't fill keywords after Emacs Lisp docstring

	This approach does mean that keywords that have spaces before them
	inside of docstrings aren't filled, but I think this is should be fine
	until Bug#28937 is fixed.

	* lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
	paragraph-start unconditionally, but require that it follows at least
	one space.  (Bug#24622)
	* test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
	Bug#7751.

2017-10-22  Alan Mackenzie  <acm@muc.de>

	Refactor c-forward-token-2 with new function c-forward-over-token-and-ws.

	Use the new function directly in several places where c-forward-token-2
	wouldn't move over the last token in the buffer.  This caused an infinite loop
	in c-restore-<>-properties.

	* lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
	extracted from c-forward-token-2.
	(c-forward-token-2): Refactor, calling the new function.
	(c-restore-<>-properties): Fix infinite loop.
	(c-forward-<>-arglist-recur, c-in-knr-argdecl)
	(c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
	of c-forward-token-2.

	* lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
	place of c-forward-token-2.

	* lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
	function directly in place of c-forward-token-2.

2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid unnecessary rounding errors in timestamps

	Avoid the rounding errors of float-time when it’s easy.  E.g.,
	replace (< (float-time a) (float-time b)) with (time-less-p a b).
	* lisp/desktop.el (desktop-save):
	* lisp/ecomplete.el (ecomplete-add-item):
	* lisp/epg.el (epg-wait-for-completion):
	* lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
	* lisp/image-dired.el (image-dired-get-thumbnail-image)
	(image-dired-create-thumb-1):
	* lisp/info.el (info-insert-file-contents):
	* lisp/ls-lisp.el (ls-lisp-format-time):
	* lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
	(ange-ftp-verify-visited-file-modtime):
	* lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
	* lisp/textmodes/remember.el (remember-store-in-mailbox):
	* lisp/url/url-cookie.el (url-cookie-expired-p):
	Bypass float-time to avoid rounding errors.

	* lisp/files.el (dir-locals-find-file):

2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>

	Fix xdg timestamp error on 32-bit Emacs

	* lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
	not an integer.  This avoids signaling an error on 32-bit
	Emacs, where timestamps typically do not fit into fixnums
	(Bug#28921).

2017-10-22  John Williams  <jrw@pobox.com>  (tiny change)

	Test that advice doesn't trigger bytecomp warnings (Bug#28803)

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests--test-no-warnings-with-advice): New test.

2017-10-21  Noam Postavsky  <npostavs@gmail.com>

	Another fix for unsafe directory error message (Bug#865)

	* lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
	current user's for the wrong owner case.  Show expanded file name in
	error message.

2017-10-21  Noam Postavsky  <npostavs@gmail.com>

	Handle https url for debbugs mbox (Bug#28831)

	In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
	gnus-bug-group-download-format-alist was updated to use https for the
	debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
	http links.
	* lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
	url-parse functions to get the host name, instead of ad-hoc regexps.

2017-10-21  Noam Postavsky  <npostavs@gmail.com>

	Ignore string properties when saving eshell history (Bug#28700)

	* lisp/eshell/em-hist.el (eshell-write-history): Remove properties
	before inserting history strings.
	(eshell-read-history): Remove obsolete comment.
	* test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
	New test.

2017-10-21  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#28889

	* lisp/net/tramp.el: Change autoload cookie to tramp-autoload cookie.
	(tramp-completion-file-name-regexp-default)
	(tramp-completion-file-name-handler-alist)
	(tramp-completion-file-name-handler): Remove autoload cookie.
	(tramp-initial-completion-file-name-regexp): Remove.
	(tramp-autoload-file-name-regexp): New defconst.
	(tramp-register-autoload-file-name-handlers): Use it.
	(with-parsed-tramp-file-name): Adapt docstring.  Compute
	`tramp-file-name' slots.  (Bug#28889)

2017-10-21  Glenn Morris  <rgm@gnu.org>

	Update describe-function for recent Fdocumentation change

	* lisp/help-fns.el (describe-function-1):
	Handle Fdocumentation returning either void or invalid.

2017-10-21  Charles A. Roelli  <charles@aurox.ch>

	Make flymake's mouse-wheel interaction portable (Bug#28732)

	* lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
	'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
	'mouse-4' and 'mouse-5'.  Update the tooltip text accordingly, and
	remove a stray newline in it.

2017-10-21  Nick Helm  <nick@tenpoint.co.nz>

	Prevent eldoc from changing the mode line

	* lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
	change the mode line if it is not displayed.  (Bug#28697)

2017-10-21  Eli Zaretskii  <eliz@gnu.org>

	Fix doc strings in simple.el

	* lisp/simple.el (shell-command-saved-pos)
	(region-extract-function, region-bounds): Doc fixes.  (Bug#28609)

2017-10-21  Phil Sainty  <psainty@orcon.net.nz>

	Avoid creating inconsistent buffer states in term-char-mode

	* lisp/term.el (term-mode, term-char-mode, term-line-mode)
	(term-emulate-terminal): Make buffer read-only in 'term-char-mode',
	except for the process filter's output.  Use 'read-only-mode-hook' to
	track and restore the user-set state of 'buffer-read-only' for
	'term-line-mode'.  (Bug#24837)
	(term-char-mode-buffer-read-only): New user option.
	(term-line-mode-buffer-read-only): New buffer-local variable.
	(term-line-mode-buffer-read-only-update): New function.
	(term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
	in pre-command-hook, and 'term-goto-process-mark-maybe' in
	post-command-hook to counter-act unexpected changes to point when
	using 'term-char-mode'.
	(term-char-mode-point-at-process-mark): New user option.
	(term-goto-process-mark): New buffer-local variable.
	(term-set-goto-process-mark): New function.
	(term-goto-process-mark-maybe): New function.
	(term-process-mark): New function.

	* etc/NEWS: Mention the new behavior and user options.

2017-10-21  Bahodir Mansurov  <bahodir@mansurov.org>  (tiny change)

	New input method 'usbek-cyrillic'

	* lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
	(Bug#28848)

	* etc/NEWS: Mention the new input method.

2017-10-21  Eli Zaretskii  <eliz@gnu.org>

	Document 'minibuffer-with-setup-hook'

	* doc/lispref/minibuf.texi (Minibuffer Misc): Document
	minibuffer-with-setup-hook.  (Bug#28877)

2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify make-progress-reporter vs float-time

	* lisp/subr.el (make-progress-reporter): Remove no-longer-needed
	doc and code for the case where float-time is not supported,
	since float-time is always present now.

2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix two more minor Gnus typos

	* lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
	The old code had two minor bugs: first, it multiplied by 1/65536
	instead of by 1/86400.  Second, it called current-time twice and
	glued part of the two results together, resulting in a race.
	Fix both bugs by simplifying the code and using
	time-to-number-of-days.

2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix two minor Gnus typos

	* lisp/gnus/gnus-sum.el (gnus-summary-import-article):
	Remove unused local, and fix use of local that was never assigned to.

2017-10-21  Glenn Morris  <rgm@gnu.org>

	Tweak Fdocumentation's error for an undefined function

	* src/doc.c (Fdocumentation): Restore the pre-25 behavior
	of signaling a void-function error for an undefined function.
	This seems cleaner than Emacs 25's "invalid-function: nil" error,
	which was (probably) an unintended consequence of changes to
	Findirect_function.

2017-10-21  Glenn Morris  <rgm@gnu.org>

	Tweak format of list of old files in NEWS header

	* etc/NEWS: Stop list of old NEWS files growing without limit.
	* admin/admin.el (set-version): Handle either NEWS header format.

2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/help-fns.el (describe-function-1):
	Fix help-fns-test-dangling-alias.  (Bug#28918)

	(cherry picked from commit e1d42f8f4a945669ff8b5159a569cb4b18f56e18)

2017-10-20  Glenn Morris  <rgm@gnu.org>

	Fix flymake's loading of subr-x

	* lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
	No need to load subr-x at run-time.

2017-10-20  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#28896

	* lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
	being a directory.  (Bug#28896)

	* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
	(tramp-test12-rename-file): Test also FILENAME being a directory.

2017-10-20  João Távora  <joaotavora@gmail.com>

	Skip a Flymake test for old gcc versions

	Fixes: 28906

	* test/lisp/progmodes/flymake-tests.el
	(different-diagnostic-types): Skip this test for gcc versions
	< 5.

2017-10-20  Eli Zaretskii  <eliz@gnu.org>

	Make :align-to account for display-line-numbers

	These changes also update the various bundled packages to use
	new feature, and better support customizations of the line-number
	face.
	* src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
	Make :align-to count from the end of the line-number display when
	the offset or the width form reference that of the text area.
	(Bug#28855)

	* src/indent.c (Fline_number_display_width): Implement support for
	the PIXELWISE argument being 'columns'.  Update the doc string.
	(syms_of_indent): New symbol 'columns'.

	* lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
	Call line-number-display-width with last argument 'columns'.

	* lisp/proced.el (proced-header-line): Call
	line-number-display-width with 2nd arg 'columns', which also fixes
	a problem when display-line-numbers is nil.

	* lisp/emacs-lisp/tabulated-list.el
	(tabulated-list-line-number-width): Call line-number-display-width
	with 2nd arg 'columns.
	(tabulated-list-entry-lnum-width): Remove unneeded defvar.
	(tabulated-list-print, tabulated-list-print-entry): No need to
	account for the value of tabulated-list-entry-lnum-width.
	(tabulated-list--current-lnum-width): New defvar.
	(tabulated-list-watch-line-number-width): New function.
	(tabulated-list-mode): Bind tabulated-list--current-lnum-width
	locally, and set up tabulated-list-watch-line-number-width as
	pre-redisplay-functions hook.

	* doc/lispref/display.texi (Size of Displayed Text): Document the
	'columns' value of the PIXELWISE argument.
	(Pixel Specification): Update and improve the documentation of the
	supported forms.

2017-10-20  João Távora  <joaotavora@gmail.com>

	Augment Flymake API for third-party extensions

	See
	https://lists.gnu.org/r/emacs-devel/2017-10/msg00619.html

	* doc/misc/flymake.texi (Flymake error types): Rewrite
	example.
	(Flymake utility functions): Augment with new API.

	* lisp/progmodes/flymake.el (flymake-diagnostics): New function.
	(flymake--diag-accessor): New helper macro.
	(flymake-diagnostic-buffer, flymake-diagnostic-text)
	(flymake-diagnostic-beg, flymake-diagnostic-end)
	(flymake-diagnostic-backend): Accessors for diagnostic objects.
	(flymake--overlays): Use flymake-diagnostic property.
	(flymake--highlight-line): Simplify.  Only set
	flymake-diagnostic property.
	(flymake--handle-report, flymake-goto-next-error): Use
	flymake-diagnostic property.
	(flymake-show-diagnostic): Use diagnostic object.
	(flymake--diagnostics-buffer-entries): Use
	flymake-diagnostics.

2017-10-20  Glenn Morris  <rgm@gnu.org>

	Improve treatment of Fortran's "class default"

	* lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
	Handle "class default".  (Bug#28786)
	* test/automated/f90.el (f90-test-bug25039): Add "class default".

2017-10-20  João Távora  <joaotavora@gmail.com>

	Flymake backends must check proc obsoleteness in source buffer

	Flymake backends that rely on sentinels running asynchronously and
	checking buffer-local variables that hold running processes should
	check for obsoleteness in the correct buffers, otherwise a (harmless)
	warning might be triggered.

	* doc/misc/flymake.texi (An annotated example backend):
	Check buffer-local proc in the current buffer.

	* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
	Check buffer-local proc in the current buffer.

2017-10-19  Michael Albinus  <michael.albinus@gmx.de>

	Skip an rsync test in tramp-tests.el

	* test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
	Skip for "rsync".

2017-10-19  Martin Rudalics  <rudalics@gmx.at>

	On Windows default a frame's border width to zero (Bug#28873)

	* src/w32fns.c (Fx_create_frame): Default `border-width' to zero
	as everywhere else, see Bug#28873.

2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling fixes

	* lisp/cedet/semantic/analyze/refs.el:
	(semantic-analyze-proto-impl-toggle): Fix recently-introduced
	misspelling of pop-to-buffer-same-window.

2017-10-19  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)

	Use pop-to-buffer-same-window instead of switch-to-buffer

	* lisp/cedet/semantic/decorate/include.el
	(semantic-decoration-include-visit):
	Use pop-to-buffer-same-window instead of switch-to-buffer
	(bug#28645).

	* lisp/cedet/semantic/analyze/refs.el
	(semantic-analyze-proto-impl-toggle): Same.

	* lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
	Same.

	* lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
	Same.

	* lisp/cedet/semantic/complete.el (semantic-complete-jump):
	Same.

2017-10-18  Eli Zaretskii  <eliz@gnu.org>

	Fix the MSDOS build.

	* msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
	(XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
	(LIBSYSTEMD_LIBS): Edit to empty.
	(LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
	(PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
	Remove editing of lines that are no longer present in
	src/Makefile.in.
	* msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
	(NEED_MKTIME_WORKING): Define to 1.
	(HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
	DJGPP >= 2.05.
	(HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
	Define PACKAGE_VERSION, not VERSION.
	(FLEXIBLE_ARRAY_MEMBER): Define to empty.
	(HAVE_DECL_*_UNLOCKED): Define to 0.
	(HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
	(PENDING_*): Don't define, as Gnulib no longer supports that.
	Instead, define _IOERR as it is in libc/file.h.
	* msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
	determine the current directory.
	(UPDATE_MANIFEST, UTILITIES): Don't edit.
	* msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
	* msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
	(HYBRID_MALLOC): Edit to empty.
	(am__cd): Don't edit.
	(../config.status): Replaces $(top_builddir)/config.status.
	Define OMIT_GNULIB_MODULE_foo = true for modules not built for
	MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
	GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
	* msdos/mainmake.v2 (src): Use 'compile-one-process', and make
	the command line shorter to fit into 126-char limit of
	command.com.
	* config.bat: Generate src/deps/*.d files.  Rename more files
	like djtar on plain DOS would.
	Don't rename src/dir.h: it is long gone.  Edit
	lib/gnulib.mk.in using the same scripts as for
	lib/Makefile.in.
	* msdos/depfiles.bat: Create *.d files, not *.Po.

	* src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
	error message.
	* src/thread.h [MSDOS]: Include <signal.h>.
	* src/sysselect.h (select) [MSDOS]: Undefine, to avoid
	compilation errors.
	* src/sysdep.c (block_interrupt_signal, restore_signal_mask):
	Expose to MSDOS build.
	* src/process.c (update_processes_for_thread_death)
	[!subprocess]: No-op implementation.
	[HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
	declaration of nofile_limit outside "#ifdef subprocesses", as
	it's needed for MSDOS.
	* src/msdos.c (faccessat): Declare fullname[].
	* src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
	Include termhooks.h.
	* src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
	WINDOWSNT, not DOS_NT.

	* admin/admin.el (set-version): Set version on PACKAGE_VERSION.

2017-10-18  Eli Zaretskii  <eliz@gnu.org>

	Fix line number display after 'widen'

	* src/xdisp.c (maybe_produce_line_number): Don't use data cached
	by line-number-mode on the first redisplay after the buffer is
	widened.  (Bug#28879)

2017-10-18  Alan Third  <alan@idiocy.org>

	Remove resizable attribute on macOS undecorated frames (bug#28512)

	* src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
	(initFrameFromEmacs): Remove Cocoa specific window style attributes.

2017-10-18  Martin Rudalics  <rudalics@gmx.at>

	Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)

	* lisp/frameset.el (frameset--restore-frame): Don't process
	`border-width' parameter via ‘modify-frame-parameters’
	(Bug#28873).

2017-10-18  Tino Calancha  <tino.calancha@gmail.com>

	Mention how to send CC to > 1 address in a bug report

	* admin/notes/bugtracker (* More detailed information):
	mention how to CC to more than 1 address (Bug#28833).

2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>

	Improve format-time-string doc

	* doc/lispref/os.texi (Time Parsing): Fix some errors in the
	documentation for format-time-string.  Document ^, #, %s, and %z
	with colons.  Say that unrecognized sequences are output as-is.
	* src/editfns.c (Fformat_time_string): %S can stand for 60.
	Also mention unrecognized sequences.

2017-10-17  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'line-number-display-width'

	* doc/lispref/display.texi (Size of Displayed Text): Document the
	additional 2 columns used for line-number display.

	* src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)

2017-10-17  İ. Göktuğ Kayaalp  <self@gkayaalp.com>

	Implement vc-default-dir-extra-headers for vc-rcs

	Add a do-nothing implementation for vc-rcs to suppress the message which
	the default function adds to the vc-dir buffer (Bug#28570).
	* lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.

2017-10-17  Martin Rudalics  <rudalics@gmx.at>

	In NEWS give advice on use of `switch-to-buffer' (Bug#28645)

	* etc/NEWS: Mention that applications should prefer
	`pop-to-buffer-same-window' to `switch-to-buffer'.  (Bug#28645)

2017-10-17  Tino Calancha  <tino.calancha@gmail.com>
	    Noam Postavsky  <npostavs@gmail.com>

	Don't update primary selection with winner-undo

	* lisp/winner.el (winner-set):
	Don't update primary selection when select-enable-primary
	is non-nil (Bug#28631).

2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>

	Work around ImageMagick bug 825

	This should fix several bugs reported recently against Emacs
	(Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
	* src/image.c (imagemagick_load_image):
	Do not call MagickWandTerminus.

2017-10-17  Noam Postavsky  <npostavs@gmail.com>

	Document rectangle-preview option more (Bug#27974)

	* lisp/rect.el (string-rectangle):
	* etc/NEWS.25: Mention `rectangle-preview'.

2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>

	Do not reject https://gnu.org in commit messages

	* build-aux/git-hooks/commit-msg: Do not reject commit messages
	containing http: or ftp: URLs to gnu.org or fsf.org.  Instead,
	rewrite the messages to use https: URLs.

2017-10-16  Gemini Lasswell  <gazally@runbox.com>

	Fix Edebug spec for cl-defun (bug#24255)

	* lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
	`cl-lambda-list' to support destructuring argument lists.
	(cl-defun, cl-defmacro): Fix spelling errors in docstrings.
	* lisp/textmodes/rst.el: Remove alternate version of Edebug
	specs for `cl-lambda-list' and `cl-type-spec'.

2017-10-16  Eli Zaretskii  <eliz@gnu.org>

	Fix errors in kmacro.el post-command-hook

	* lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
	avoid 'void-variable' errors.  (Bug#28818)
	* test/lisp/kmacro-tests.el
	(kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)

2017-10-16  Eli Zaretskii  <eliz@gnu.org>

	Fix range-error in image-dired.el

	* lisp/image-dired.el (image-dired-create-thumb-1): Avoid
	overflowing an Emacs integer on 32-bit hosts.  (Bug#28809)

2017-10-16  Eli Zaretskii  <eliz@gnu.org>

	Fix 'line-number-display-width' in hscrolled windows

	* src/indent.c (line_number_display_width): Make sure a line
	number is generated even when the first line of the window is
	completely hscrolled out of view.  (Bug#28854)

2017-10-16  Michael Albinus  <michael.albinus@gmx.de>

	Fix error in tramp-smb-handle-insert-directory

	* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
	Insert size information only when FULL-DIRECTORY-P is non-nil.

2017-10-16  Andy Moreton  <andrewjmoreton@gmail.com>

	Don't reject PBM header whitespace unnecessarily

	* lisp/image.el (image-type-header-regexps):
	Allow two or more CRs or LFs in initial whitespace sequences.  See:
	https://netpbm.sourceforge.net/doc/pbm.html

2017-10-16  Paul Eggert  <eggert@cs.ucla.edu>

	Fix regression in display of PPM images

	Problem reported by Roland Winkler (Bug#28824#35).
	Based on a patch proposed by Andy Moreton (Bug#28824#38).
	* src/image.c (pbm_scan_index): New function.
	(pbm_load): Use it to decode raw data correctly when its top bit
	is set.

2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Require subr-x when compiling nnimap.el

	* lisp/gnus/nnimap.el (require): For the when-let* macro.

2017-10-15  Noam Postavsky  <npostavs@gmail.com>

	Fix ert-test finding by symbol (Bug#28849)

	In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
	symbol used for ert tests in load-history was changed from
	`ert-deftest' to `ert--test', but a couple of other places were not
	updated accordingly.
	* lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
	`ert--test' as the TYPE to `find-function-do-it'.
	(top-level): Use `ert--test' as the key to the
	`find-function-regexp-alist' entry.

2017-10-15  Noam Postavsky  <npostavs@gmail.com>

	Don't remember old debugger window (Bug#17882)

	* lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
	when `debugger-will-be-back' is nil.

2017-10-15  Noam Postavsky  <npostavs@gmail.com>

	Disable python native completion on w32 (Bug#28580)

	* lisp/progmodes/python.el
	(python-shell-completion-native-disabled-interpreters): For windows-nt
	systems, put an empty string to match interpreters.

2017-10-15  Noam Postavsky  <npostavs@gmail.com>

	Let select-frame-by-name choose any frame when called from lisp (Bug#25521)

	* lisp/frame.el (select-frame-by-name): Choose from the whole list of
	frames in the non-interactive part, if not found on the current
	display.

2017-10-15  Eli Zaretskii  <eliz@gnu.org>

	* lisp/dired-aux.el (dired-create-directory): Doc fix.

2017-10-15  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warnings in optimized builds

	* src/process.c (Fmake_network_process):
	* src/image.c (xbm_scan, gif_load):
	* src/fileio.c (Frename_file):
	* src/data.c (Fmake_local_variable):
	* src/buffer.c (fix_start_end_in_overlays):
	* lib-src/etags.c (process_file_name): Mark variables with UNINIT
	to avoid compiler warnings in optimized builds.

2017-10-15  K. Handa  <handa@gnu.org>

	Improve customization of arabic-shaper-ZWNJ-handling.

	Make the effect of customizing arabic-shaper-ZWNJ-handling appear
	immediately.
	* lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
	value.
	* src/composite.c (Fclear_composition_cache): New function.
	(syms_of_composite): Defsubr it.

2017-10-15  Charles A. Roelli  <charles@aurox.ch>

	Improve customization type of 'mouse-drag-and-drop-region'

	* lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
	precise customization type.

2017-10-15  Paul Eggert  <eggert@day>

	Encourage https: in commit messages

	* CONTRIBUTE: Prefer https: when citing.
	* build-aux/git-hooks/commit-msg:
	Diagnose http: and ftp: URLs to FSF or GNU hosts.

2017-10-14  Martin Rudalics  <rudalics@gmx.at>

	Fix wording in Elisp manual's child frames section (Bug#28819)

	* doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).

2017-10-14  Eli Zaretskii  <eliz@gnu.org>

	Another fix for C mode fontification of w32 source files

	* .dir-locals.el (c-mode) <c-noise-macro-names>: Add
	"CALLBACK", to correctly fontify functions with this attribute.

2017-10-14  Eli Zaretskii  <eliz@gnu.org>

	Fix fontification of ALIGN_STACK functions

	* .dir-locals.el (c-mode) <c-noise-macro-names>: Add
	"ALIGN_STACK", to correctly fontify functions with this attribute.

2017-10-14  Eli Zaretskii  <eliz@gnu.org>

	Make sure thread stack is properly aligned on MS-Windows

	* src/systhread.c: Include w32term.h instead of windows.h.
	(w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
	the thread's stack is correctly aligned.
	* src/w32term.h (ALIGN_STACK): Update commentary.

2017-10-14  Paul Eggert  <eggert@cs.ucla.edu>

	Do not under-align pseudovectors

	Problem reported by Fabrice Popineau in:
	https://lists.gnu.org/r/emacs-devel/2017-10/msg00357.html
	Also see diagnosis by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2017-10/msg00476.html
	* src/alloc.c (vector_alignment):
	Now a multiple of alignof (max_align_t).

2017-10-13  Simen Heggestøyl  <simenheg@gmail.com>

	Fix indentation bug in multi-line CSS selectors

	* lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
	indentation of multi-line CSS selectors that include both a
	pseudo-class and parenthesis.

	* test/manual/indent/css-mode.css: Add test for the above change.

2017-10-13  Andreas Schwab  <schwab@linux-m68k.org>

	gnutls_mac_get_nonce_size has been added in gnutls 3.3

	* src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
	[GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
	(gnutls_mac_get_nonce_size): Depend on
	HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
	(Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
	!HAVE_GNUTLS_MAC_GET_NONCE_SIZE.

2017-10-13  Paul Eggert  <eggert@cs.ucla.edu>

	* CONTRIBUTE: Suggest American English.

2017-10-12  Eli Zaretskii  <eliz@gnu.org>

	Fix this-command-keys for "M-x foo" commands

	* src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
	unibyte string.  (Bug#28798)

2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>

	Let rename-file rename dirs across filesystems

	Problem diagnosed by Andreas Schwab (Bug#28792#65).
	This fixes a bug that I introduced in
	2017-09-10T22:39:24@eggert@cs.ucla.edu
	"Fix race with rename-file etc. with dir NEWNAME".
	* src/fileio.c (Frename_file): Copy a source directory across
	file system boundaries even if its name does not end in slash.

2017-10-12  João Távora  <joaotavora@gmail.com>

	Simplify Flymake user documentation

	Fix some confusing parts of Flymake user documentation, like a
	repeated listing of situations leading to a syntax check.
	Documentation is now divided into three chapters only: "Using
	Flymake", "Extending Flymake", and a chapter for the legacy backend.

	Obsolete mention of "errors" and "lines" is replaced by
	"diagnostics/problems" and "regions" where appropriate.

	* doc/misc/flymake.texi (Overview of Flymake): Delete chapter.
	(Using Flymake): Merge with chapter "Overview of Flymake".
	(Installing Flymake): Delete chapter.
	(Flymake mode, Running the syntax check)
	(Navigating to error lines): Delete sections.
	(Syntax check statuses): Review and augment with x-references.
	(Backend exceptions): Mention shortcut in menu.

	* lisp/progmodes/flymake.el (flymake-menu): Tweak minor mode
	menu to not speak of "errors".
	(flymake-goto-next-error, flymake-goto-prev-error): Fix
	wording.

2017-10-12  Eli Zaretskii  <eliz@gnu.org>

	* etc/NEWS: Mention the new version of Org.

2017-10-12  Noam Postavsky  <npostavs@gmail.com>

	Don't use (format "%s" ...) for string copying (Bug#28774)

	As of 2017-10-04 'Speed up (format "%s" STRING) and the like', (format
	"%s" STRING) no longer produces a new string.
	* lisp/ido.el (ido-completions): Use `copy-sequence' to make a new
	string, so that we can add text properties to (copies of) symbol
	names.

2017-10-11  Alan Third  <alan@idiocy.org>

	Make frame-list-z-order on NS match Windows behavior (bug#28788)

	* src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
	ignore it rather than returning nil.

2017-10-11  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 26.0.90

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version.

2017-10-11  Nicolas Petton  <nicolas@petton.fr>

	Update authors.el

	* admin/authors.el (authors-valid-file-names)
	(authors-renamed-files-alist): Additions.

2017-10-11  Nicolas Petton  <nicolas@petton.fr>

	* admin/authors.el (authors-aliases): Additions.

	* ChangeLog.3: Update.

2017-10-11  Radon Rosborough  <radon.neon@gmail.com>

	Fix docstring style for 'functionp'

	* src/eval.c (functionp): Make docstring start with verb.
	(Bug#28781)

2017-10-11  Michael Albinus  <michael.albinus@gmx.de>

	Format shell commands in tramp.texi

	* doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
	Format shell commands better.

2017-10-10  João Távora  <joaotavora@gmail.com>

	Unbreak the button in the Flymake diagnostics buffer again

	Adding the 'keymap' property enabled RET but broke the mouse-action.

	* lisp/progmodes/flymake.el
	(flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.

2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>

	Add mode map to Flymake diagnostic button

	* lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
	keymap property.

2017-10-10  João Távora  <joaotavora@gmail.com>

	Tweak the Flymake diagnostics buffer again

	* lisp/progmodes/flymake.el
	(flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
	(flymake-show-diagnostic): Rename from
	flymake-show-diagnostic-at-point.  Really use another window.
	(flymake-goto-diagnostic): Rename from
	flymake-goto-diagnostic-at-point.
	(flymake--diagnostics-buffer-entries): Use a button just for
	the message bit.

2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>

	Simplify Flymake diagnostics buffer UX

	Don't create text-buttons unnecessarily, just bind RET and SPC in the
	diagnostics buffer to a command that figures out which diagnostic it
	was invoked on.

	* lisp/progmodes/flymake.el
	(flymake--diagnostics-buffer-mode-keymap): Renamed from
	flymake--diagnostics-buffer-button-keymap.
	(flymake-show-diagnostic-at-point): Don't take a button.
	(flymake-goto-diagnostic-at-point): Don't pass button to
	flymake-show-diagnostic-at-point.
	(flymake--diagnostics-buffer-entries): Simplify.

2017-10-10  João Távora  <joaotavora@gmail.com>

	First stab at a Flymake diagnostics buffer

	The diagnostics buffer summarizes the diagnostics of a buffer in a
	tabulated list and is permanently updated after each Flymake check.

	* lisp/progmodes/flymake.el (flymake--handle-report): Call
	flymake-show-diagnostics-buffer under certain conditions.
	(flymake-menu, flymake--diagnostics-buffer-source)
	(flymake--diagnostics-buffer-button-keymap)
	(flymake-show-diagnostic-at-point)
	(flymake-goto-diagnostic-at-point)
	(flymake--diagnostics-buffer-entries)
	(flymake-diagnostics-buffer-mode)
	(flymake--diagnostics-buffer-name)
	(flymake-show-diagnostics-buffer): New definitions.

2017-10-10  João Távora  <joaotavora@gmail.com>

	* etc/NEWS (Flymake): Rewrite entry.

2017-10-10  Eli Zaretskii  <eliz@gnu.org>

	Improve the Flymake manual

	* doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
	@syncodeindex directive for @vindex.  Use 2 spaces between
	sentences.  Lower-case @cindex entries.
	(Overview of Flymake): Fix use of @itemize and @pxref.  Fix
	punctuation and markup.
	(Backend exceptions): Use @emph instead of @dfn.  Add more
	indexing.
	(Customizable variables, Extending Flymake): Improve wording.
	(Flymake error types): Fix usage of @itemize.  Improve wording.
	(Backend functions): Fix punctuation.  Fix markup.  Add a
	cross-reference to ELisp manual.
	(Flymake utility functions): Add a cross-reference to ELisp manual.
	(An annotated example backend): Fix punctuation and typos.
	(Flymake mode, Running the syntax check)
	(Navigating to error lines, Backend exceptions)
	(Customizable variables, Flymake error types, Backend functions)
	(Flymake utility functions, Proc customization variables)
	(Locating a master file, Locating the buildfile)
	(Starting the syntax check process, Parsing the output)
	(Interaction with other modes): Fix indexing.  Add index entries
	for functions, variables, and concepts.

2017-10-10  João Távora  <joaotavora@gmail.com>

	Fix two Flymake bugs

	* lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
	against --without-x.
	(flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
	in their own windows.

2017-10-10  João Távora  <joaotavora@gmail.com>

	Don't log "emergencies" in the Flymake legacy backend

	* lisp/progmodes/flymake-proc.el (flymake-proc--panic)
	(flymake-proc-legacy-flymake): Don't log "emergencies"

2017-10-10  João Távora  <joaotavora@gmail.com>

	Add full documentation on new Flymake API

	Also, as a minor addition to this API, set flymake-text
	on the diagnostic overlay.  This enables a good example in
	the section "Customization Flymake annotations".

	* doc/misc/flymake.texi (Overview of Flymake)
	(Syntax check statuses): Rework.
	(Backend exceptions): Rename from "Troubleshooting"
	(Customizable variables): Add flymake-start-on-flymake-mode. Rework.
	(Extending Flymake): Write chapter.
	(Customizing Flymake annotations, Flymake backends)
	(Flymake utility functions, An annotated example backend):
	New sections and subsections

	* lisp/progmodes/flymake.el (flymake-diagnostic-functions)
	(flymake-diagnostic-types-alist): Rework docstring.
	(flymake--highlight-line): Set and use flymake-text property in overlay.
	(flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.

2017-10-10  João Távora  <joaotavora@gmail.com>

	Fix some Flymake docstrings and messages

	* lisp/progmodes/flymake.el
	(flymake-start-on-flymake-mode): fix typo.
	(flymake-mode): Add docstring.
	(flymake-mode-line-format): Fix help-echo indications. mouse-2
	describes flymake-mode.

2017-10-10  João Távora  <joaotavora@gmail.com>

	Make three new Flymake commands for debugging common problems

	* lisp/progmodes/flymake.el (flymake-running-backends)
	(flymake-disabled-backends)
	(flymake-reporting-backends): Make interactive.
	(flymake--collect): Take optional arg.

2017-10-09  Nicolas Petton  <nicolas@petton.fr>

	* admin/authors.el (authors-renamed-files-alist): addition.

2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>

	Fix PWD check on DOS_NT

	* src/sysdep.c (get_current_dir_name_or_unreachable):
	Do not consider a file name like "a:b" to be absolute on DOS_NT.

2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>

	Fix unlikely overflows with wd length

	* src/sysdep.c (get_current_dir_name_or_unreachable):
	Avoid integer overflow if working directory name is absurdly long.
	When allocating memory for getcwd, do not exceed MAXPATHLEN.

2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/message.el: Improve last commit

	(message-clone-locals): Don't mistakenly match other variables whose
	name happens to include "message-default-charset".

2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>

	Fix problems when editing raw undecoded message (Bug#28671)

	* lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
	is set, meaning that we are editing the raw message, do not
	encode it again.  Delete old body after, not before, inserting
	new, to avoid moving marker at beginning of next message.

2017-10-09  Eli Zaretskii  <eliz@gnu.org>

	Avoid encoding errors in message.el

	* lisp/gnus/message.el (message-clone-locals): Don't clone
	message-default-charset.  (Bug#25645)

2017-10-09  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string and prompt of 'grep-read-files'

	* lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
	string and in the prompt that shell wildcards can be used.
	Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)

2017-10-09  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations when line numbers are displayed

	* src/xdisp.c (redisplay_window): Clear the window's desired glyph
	matrix before calling try_window with the same starting	point.
	This avoids assertion violations when switching from a buffer
	without line numbers to a buffer with line numbers.  (Bug28710)

2017-10-09  João Távora  <joaotavora@gmail.com>

	Be lazy when starting Flymake checks

	Don't start the check immediately if the buffer is not being
	displayed.  Wait until it is, using window-configuration-change-hook.

	This enables the user to batch-enable flymake-mode on many buffers and
	not have that operation exhaust system resources for checking each
	one.  Likewise, an editing or save operation in a currently
	non-displayed buffer does not immediately start a check.

	* lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
	Rename from flymake-start-syntax-check-on-find-file.
	(flymake-start-syntax-check-on-find-file): Obsolete alias for
	flymake-start-on-flymake-mode.
	(flymake-start): Redesign.  Affect the global post-command-hook
	and local window-configuration-change-hook.
	(flymake--schedule-timer-maybe)
	(flymake-after-change-function, flymake-after-save-hook): Pass
	t to flymake-start.

	* test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
	(dummy-backends, recurrent-backend): Start flymake check
	explicitly and immediately.

2017-10-09  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in frameset.el

	* lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
	filtering the 'font' parameter.  (Bug#17352)

2017-10-09  Martin Rudalics  <rudalics@gmx.at>

	Describe how window dividers can replicate vertical borders (Bug#27830)

	* doc/emacs/frames.texi (Scroll Bars): Describe how window
	dividers can be used to replicate vertical borders when scroll
	bars are disabled (Bug#27830).
	* doc/emacs/frames.texi (Window Dividers): Mention their use
	in replicating vertical borders.

2017-10-09  Alexander Gramiak  <agrambot@gmail.com>

	Add line-number faces to the display-line-numbers group

	See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
	and its resulting thread.

	* lisp/display-line-numbers.el (display-line-numbers): Add to the
	convenience group.
	* lisp/faces.el (line-number):
	(line-number-current-line): Add to the display-line-numbers group.

2017-10-09  Alexander Gramiak  <agrambot@gmail.com>

	Increase xterm click count only within double-click-fuzz

	* lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
	and check it against the current click's position.  (Bug#28658)

2017-10-08  Alan Third  <alan@idiocy.org>

	Change pause in fullscreen toggling for NS port (bug#28496)

	* lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
	sleep-for, and reduce time.

2017-10-08  Michael Albinus  <michael.albinus@gmx.de>

	Handle PARENTS properly in tramp-*-handle-make-directory

	* lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
	Handle PARENTS properly.

	* test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
	Extend test.

2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>

	Improve test for unreachable dirs

	* src/sysdep.c (get_current_dir_name_or_unreachable):
	New function, with most of the old contents of
	emacs_get_current_dir_name.
	(emacs_get_current_dir_name): Use it.  Use a simpler
	test for unreachable directory strings, and also apply
	it to getcwd etc. (Bug#27871)

2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>

	* src/xsmfns.c (x_session_initialize): Fix memory leak.

2017-10-08  K. Handa  <handa@gnu.org>

	New option for handling ZWNJ in Arabic text rendering

	Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
	to display ZWNJ in Arabic text rendering (Bug#28339).
	* lisp/language/misc-lang.el: Register arabic-shape-gstring in
	composition-function-table.
	(arabic-shaper-ZWNJ-handling): New variable.
	(arabic-shape-log): New variable.
	(arabic-shape-gstring): New function.
	* lisp/composite.el (lgstring-remove-glyph): New function.

2017-10-08  Noam Postavsky  <npostavs@gmail.com>

	Make python prettify symbols into a defvar (Bug#28713)

	* lisp/progmodes/python.el (python-prettify-symbols-alist): New
	variable.
	(python--prettify-symbols-alist): Make into obsolete alias for
	`python-prettify-symbols-alist'.

2017-10-07  Alan Third  <alan@idiocy.org>

	Fix fullscreen crash on macOS (bug#28496)

	* lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
	complete on macOS.

2017-10-07  Alan Third  <alan@idiocy.org>

	Fix crash when closing fullscreen frame on macOS (bug#28661)

	* src/nsterm.m (EmacsView::windowWillResize): Return new frame size
	unmodified if the frame isn't live.

2017-10-07  Michael Albinus  <michael.albinus@gmx.de>

	Support gio tool in Tramp

	"gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
	must use "gio <command>" tool instead.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
	(tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
	(tramp-gvfs-gio-tool-p): New defun.
	(tramp-gvfs-send-command): Use it.  Call gio tool if available.

2017-10-07  João Távora  <joaotavora@gmail.com>

	Fix flymake-goto-next-error when message has %-constructs

	* lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
	message call.  Add missing period in docstring.

2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>

	* src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.

2017-10-07  Eli Zaretskii  <eliz@gnu.org>

	Move the entry about 'format' into Incompatible Lisp Changes

	* etc/NEWS: Move the entry about 'format' refraining from allocating
	new strings into Incompatible Lisp Changes.  (Bug#28625)

2017-10-07  Eli Zaretskii  <eliz@gnu.org>

	Fix glitches in displaying TTY menus

	* src/dispnew.c (update_frame_line): Accept an additional argument
	UPDATING_MENU_P; if non-zero, home the cursor before updating a
	frame's line.  All callers changed.
	(update_frame_1): Accept an additional argument UPDATING_MENU_P,
	and pass it to update_frame_line.  All callers changed.
	(update_frame_with_menu): Call update_frame_1 with last argument
	non-zero.  (Bug#17497)

2017-10-06  Gemini Lasswell  <gazally@runbox.com>

	Create new Edebug spec for docstrings and use it in closures

	Since (:documentation FORM) can be used to create a docstring
	when lexical-binding is on, allow for that possibility in Edebug
	specs (bug#24773).
	* lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
	called lambda-doc and modify the Edebug specs for defun and
	defmacro to use it.
	(edebug-instrument-function): Check for generic functions first,
	to fix bug where edebug-step-in didn't work on methods now that
	cl-defgeneric has an Edebug spec.
	* lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
	* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
	(bug#27747).
	(cl-defmethod): Use lambda-doc in Edebug spec.
	* lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
	cl-declarations-or-string to use lambda-doc, and modify Edebug
	spec for cl-lambda-expr to use cl-declarations-or-string.
	* lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
	use lambda-doc, as well as &define and def-body which are
	necessary for using Edebug on code wrapped by lambda.
	* lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
	Edebug specs.

2017-10-06  Eli Zaretskii  <eliz@gnu.org>

	Avoid byte-compilation warnings in message.el

	* lisp/gnus/message.el: Require 'subr-x' when compiling, to
	avoid compiler warnings.

2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug in recent styled_format change

	Problem reported by Kaushal Modi in:
	https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
	* src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
	not always followed by SAFE_FREE.  This bug was introduced in my
	patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
	unnecessary copying in Fformat etc."

2017-10-06  João Távora  <joaotavora@gmail.com>

	Cleanup emacs-lisp-mode's use of Flymake

	* lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
	Delete.
	(elisp-flymake-checkdoc): Incorporate old
	elisp-flymake--checkdoc-1.
	(elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
	here.
	(elisp-flymake-byte-compile): Remove spurious interactive spec.
	Simplify.  Cleanup on every possible exit.

2017-10-06  João Távora  <joaotavora@gmail.com>

	Fix @include directive in Flymake doc

	* doc/misc/flymake.texi: Don't @include a relative path.

2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>

	Move read-multiple-choice to its own library

	* lisp/emacs-lisp/rmc.el: New file.
	* lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
	* lisp/gnus/message.el:
	* lisp/net/nsm.el: Change required library.

2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>

	* src/process.c (syms_of_process): Remove duplicated call to DEFSYM.

	Fixes: Bug#28721

2017-10-06  Lele Gaifax  <lele@metapensiero.it>

	Fix typos in Flymake documentation

	* doc/misc/flymake.texi (Syntax check statuses)
	(Adding support for a new syntax check tool)
	(Implementation overview, Locating the buildfile): Fix typos.

	* lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
	(flymake-proc--find-possible-master-files):Fix typos.
	(flymake-proc--panic)
	(flymake-proc-legacy-flymake): Fix function reference in doc.

	* lisp/progmodes/flymake.el (flymake-error)
	(flymake-diagnostic-functions): Fix typos.
	(flymake-diagnostic-types-alist): Rephrase and fix typos.
	(flymake--backend-state): Fix typos and rephrase.
	(flymake--handle-report): Delete empty line.
	(flymake--disable-backend)
	(flymake--run-backend): Fix typos.
	(flymake-goto-next-error, flymake-goto-prev-error): Rephrase.

2017-10-06  Eli Zaretskii  <eliz@gnu.org>

	Revert last change in 'shr-descend'

	* lisp/net/shr.el (shr-descend): Revert the part of the last
	change which introduced calls to shr-indirect-call into this
	function.  Add a comment explaining the rationale for that.
	(Bug#28402)

2017-10-06  João Távora  <joaotavora@gmail.com>

	Don't error when turning on Flymake with no known backends

	Leave it to the mode line indicator to inform the user that there
	is still some configuration to do.

	* lisp/progmodes/flymake.el (flymake-mode): Simplify.

2017-10-06  João Távora  <joaotavora@gmail.com>

	Delete a Flymake obsolete alias that can't possibly work

	The function `flymake-ler-make-ler' can't possibly work as an backward
	compatible interface to existing extensinos (even purely hypothetical
	ones, since none are known).  This is because every diagnostic
	considered by Flymake has to passed to a report-fn function.

	* lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.

2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug with unmounted directory on GNU/Linux

	* src/sysdep.c (emacs_get_current_dir_name): Do not use
	get_current_dir_name result unless it is absolute (Bug#27871).


2017-10-05  Nicolas Petton  <nicolas@petton.fr>

	Update authors.el

	* admin/authors.el (authors-renamed-files-alist)
	(authors-valid-file-names): Additions.

2017-10-05  Gemini Lasswell  <gazally@runbox.com>

	Fix dynamic binding wrapper in iter-lambda (bug#25965)

	* lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
	Remove extra evaluation of form.
	* test/lisp/emacs-lisp/generator-tests.el
	(cps-iter-lambda-with-dynamic-binding): New test.

2017-10-05  Rasmus  <rasmus@gmx.us>

	Update Org to v9.1.2

	Please note this is a bugfix release.  See etc/ORG-NEWS for details.

2017-10-05  Alan Mackenzie  <acm@muc.de>

	Fix irregularities with CC Mode fontification, particularly with "known types"

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
	optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
	type.
	(c-font-lock-single-decl): New variable template-class, set to non-nil when we
	have a construct like the above.  Pass this as argument to
	c-font-lock-declarators.
	(c-font-lock-cut-off-declarators): Check more rigorously that a declaration
	being processed starts before the function's starting position.
	(c-complex-decl-matchers): Remove the redundant clause which fontified "types
	preceded by, e.g., "struct"".

	* lisp/progmodes/cc-langs.el (c-template-typename-kwds)
	(c-template-typename-key): New lang defconsts and defvar.

2017-10-05  Eli Zaretskii  <eliz@gnu.org>

	Fix breakage due to recent change in tabulated-list-print-entry

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
	Update the doc string.
	(tabulated-list-print-entry): Revert to using only 2 arguments.
	Update the doc string.
	(tabulated-list-entry-lnum-width): New defvar.
	(tabulated-list-print): Compute the width of line-number display
	once, then store that value in tabulated-list-entry-lnum-width,
	for tabulated-list-printer to use.  (Bug#28704)

2017-10-05  Gemini Lasswell  <gazally@runbox.com>

	* lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)

2017-10-05  Alexander Gramiak  <agrambot@gmail.com>

	Set xterm click count to 1 even with no last click

	* lisp/xt-mouse.el (xterm-mouse-event): Move the check for
	the last click so that click-count is initialized properly.
	Handle the value of t for double-click-time.
	(Bug#28658)

2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>

	Support indirection for all shr-tag-* calls

	The 'shr-external-rendering-functions' variable was previously only
	honored in the shr-descend function, now all direct calls to the
	shr-tag-* functions have been replaced by a call to
	'shr-indirect-call' which tries using an alternative rendering
	function first.

	* lisp/net/shr.el (shr-indirect-call): New helper function.
	(shr-descend, shr-tag-object, shr-tag-video):
	(shr-collect-extra-strings-in-table): Fix callers to call via
	shr-indirect-call.  (Bug#28402)

2017-10-05  Eli Zaretskii  <eliz@gnu.org>

	Speed up list-packages when 'visual' line numbers are displayed

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
	Update the doc string.
	(tabulated-list-print-entry): Accept an additional optional
	argument INDENT.  Update the doc string.
	(tabulated-list-print): Compute the width of line-number display
	once, then call tabulated-list-printer with that value as 3rd
	argument.  (Bug#28704)

2017-10-05  João Távora  <joaotavora@gmail.com>

	Misc. minor adjustments to Flymake

	- Add a half-decent minor-mode menu;
	- Fix "waiting for backends" mode line message;
	- Adjust the flymake-diag-region API;
	- Autoload the flymake-log macro;
	- Auto-disable the legacy backend in more situations;
	- Fix a couple of warnings in legacy backend.

	* lisp/progmodes/flymake-proc.el
	(flymake-proc--diagnostics-for-pattern): Use new
	flymake-diag-region.

	* lisp/progmodes/flymake-proc.el
	(flymake-proc-legacy-flymake): Do error when no
	buffer-file-name or not writable.
	(flymake-proc-legacy-flymake)
	(flymake-proc-simple-cleanup): Don't reference flymake-last-change-time

	* lisp/progmodes/flymake.el (flymake-diag-region):
	Autoload.  Take buffer as first argument.

	* lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
	New command.
	(flymake-menu): Add a simple menu.
	(flymake--mode-line-format): Use menu.  Fix message.  Switch to
	log buffer when clicking exceptional warnings.

2017-10-05  Johan Bockgård  <bojohan@gnu.org>

	Fix search for ~/.Xdefaults-HOSTNAME

	* src/xrdb.c (get_environ_db): Fix typo when handling
	~/.Xdefaults-HOSTNAME (Bug#28708).

2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Speed up (format "%s" STRING) and the like

	Although the Lisp manual said that ‘format’ returns a
	newly-allocated string, this was not true for a few cases like
	(format "%s" ""), and fixing the documentation to allow reuse of
	arguments lets us improve performance in common cases like
	(format "foo") and (format "%s" "foo") (Bug#28625).
	* doc/lispref/strings.texi (Formatting Strings):
	* etc/NEWS:
	Say that the result of ‘format’ might not be newly allocated.
	* src/callint.c (Fcall_interactively):
	* src/dbusbind.c (XD_OBJECT_TO_STRING):
	* src/editfns.c (Fmessage, Fmessage_box):
	* src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
	Just use Fformat or Fformat_message, as that’s simpler and no
	longer makes unnecessary copies.
	* src/editfns.c (styled_format): Remove last argument, as it
	is no longer needed: all callers now want it to behave as if it
	were true.  All remaining callers changed.  Make this function
	static again.  Simplify the function now that we no longer
	need to worry about whether the optimization is allowed.

2017-10-04  Alan Mackenzie  <acm@muc.de>

	Fontify untyped function declarations in C Mode correctly.

	Also correct two bugs where deleting WS at a BOL could leave an untyped
	function declaration unfontified.

	* lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
	"top-level" when we're in a macro.
	(c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
	Mode as a implicitly typed function declaration.
	(c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
	macro.  It's not a function plus arglist.

	* lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
	defvar.

	* lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
	over any following parenthesis expression (i.e. parameter list).
	(c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
	the returned region, to cope with deletions at column 0.

2017-10-04  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.

	Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.

2017-10-04  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes on C-g when several threads wait for input

	* src/thread.h (m_getcjmp): New member of 'struct thread_state'.
	(getcjmp): Define to current thread's 'm_getcjmp'.
	* src/thread.c (maybe_reacquire_global_lock): Switch to main
	thread, since this is called from a SIGINT handler, which always
	runs in the context of the main thread.
	* src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
	definitions before thread.h is included, as thread.h now uses
	sys_jmp_buf.
	* src/keyboard.c (getcjmp): Remove declaration.
	(read_char): Don't call maybe_reacquire_global_lock here.
	(handle_interrupt): Call maybe_reacquire_global_lock here, if
	invoked from the SIGINT handler, to make sure
	quit_throw_to_read_char runs with main thread's Lisp bindings and
	uses the main thread's jmp_buf buffer.  (Bug#28630)

2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	Warn if --without-pop is now the default

	* configure.ac (with_pop): Set to no-by-default if defaulting to "no".
	Warn about the change if defaulting to "no".  Update URLs.

2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	--with-pop is now the default only on MS-Windows

	Problem reported by N. Jackson (Bug#28597).
	This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
	* INSTALL, configure.ac, etc/NEWS:
	Make --with-pop the default only on native MS-Windows.

2017-10-03  Michael Albinus  <michael.albinus@gmx.de>

	Add support for `file-system-info' in Tramp

	* lisp/net/tramp.el (tramp-file-name-for-operation):
	Add `file-system-info'.

	* lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
	(tramp-adb-file-name-handler-alist): Use it.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
	(tramp-gvfs-file-system-attributes-regexp): New defconst.
	(tramp-gvfs-handle-file-system-info): New defun.
	(tramp-gvfs-file-name-handler-alist): Use it.
	(tramp-gvfs-get-directory-attributes): Fix property name.
	(tramp-gvfs-get-root-attributes): Support also file system attributes.

	* lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
	(tramp-sh-file-name-handler-alist): Use it.
	(tramp-sh-handle-insert-directory): Insert size information.
	(tramp-get-remote-df): New defun.

	* lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
	(tramp-smb-file-name-handler-alist): Use it.
	(tramp-smb-handle-insert-directory): Insert size information.

	* test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
	New test.
	(tramp-test38-asynchronous-requests)
	(tramp-test39-recursive-load, tramp-test40-remote-load-path)
	(tramp-test41-unload): Rename.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26

2017-10-03  João Távora  <joaotavora@gmail.com>

	Start rewriting Flymake manual

	Missing the parts pertaining to the new customization API.

	* doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
	(Installing Flymake): Delete most of this.
	(Running the syntax check): Mention flymake-start.
	(Navigating to error lines): Rewrite.
	(Viewing error messages): Commente out.
	(Syntax check statuses, Troubleshooting): Rewrite a bit.
	(Customizable variables): New section under "Using
	Flymake".  Don't mention any proc variables here.
	(Configuring Flymake): Delete
	(Proc backend): New chapter
	(Proc customization variables): New chapter.

	* doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
	(Installing Flymake): Mostly scratch. Flymake comes with Emacs.
	(Running the syntax check): Simplify.
	(Viewing error messages): Delete.
	(Syntax check statuses): Rewrite.
	(Troubleshooting): Simplify.
	(Customizable variables): Rewrite.
	(Extending Flymake): New chapter, empty for now.
	(The legacy Proc backend): New chapter.
	(Proc customizable variables)
	(Adding support for a new syntax check tool)
	(Implementation overview)
	(Making a temporary copy)
	(Locating a master file)
	(Getting the include directories)
	(Locating the buildfile)
	(Starting the syntax check process)
	(Parsing the output)
	(Interaction with other modes)
	(Example---Configuring a tool called via make)
	(Example---Configuring a tool called directly): Rewrite a bit.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Minimal tweak as an attempt to future-proof Flymake API

	Discussed with Stefan that this should allow Flymake to request more
	from backends in the future, while also allowing backends to report
	more accurately.

	* lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
	(elisp-flymake-byte-compile): Adjust to new API.

	* lisp/progmodes/flymake-proc.el ()
	(flymake-proc-legacy-flymake): Adjust to new API.

	* lisp/progmodes/flymake.el (flymake-diagnostic-functions):
	Review API again.
	(flymake--handle-report): Allow other keys.  Change ACTION to
	REPORT-ACTION.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Integrate Flymake elisp checkers into elisp-mode.el directly

	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
	elisp-flymake-checkdoc and elisp-flymake-byte-compile.
	(elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
	(elisp-flymake--byte-compile-done)
	(elisp-flymake--byte-compile-process)
	(elisp-flymake-byte-compile): Rename from flymake-elisp
	counterparts in deleted flymake-elisp.el
	(elisp-flymake--batch-compile-for-flymake): New helper.
	(checkdoc-create-error-function)
	(checkdoc-autofix-flag)
	(checkdoc-generate-compile-warnings-flag)
	(checkdoc-diagnostic-buffer): Forward declare.

	* lisp/progmodes/flymake-elisp.el: Delete.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Hook Flymake onto proper checkdoc and byte-compile interfaces

	The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
	with little knowledge of actual internals or thought given to the
	usefulness of said interfaces in contexts other than Flymake's.

	* lisp/emacs-lisp/bytecomp.el
	(byte-compile-log-warning-function): New variable.
	(byte-compile-log-warning): Use it.
	(byte-compile--log-warning-for-byte-compile): New function.

	* lisp/emacs-lisp/checkdoc.el
	(checkdoc-create-error-function): New variable.
	(checkdoc-create-error): Use it.
	(checkdoc--create-error-for-checkdoc): New function.xo

	* lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
	Use checkdoc-create-error-function.
	(flymake-elisp--batch-byte-compile): Use
	byte-compile-log-warning-function.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Tweak Flymake autoloads and dependencies

	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
	flymake-diagnostic-functions here.

	* lisp/progmodes/flymake-elisp.el[top]: Don't add to
	emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
	every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
	Autoload.  (flymake-elisp-setup-backends): Remove.

	* lisp/progmodes/flymake.el: Add some top-level comments.
	(flymake-make-diagnostic)
	(flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads

	Where to fixup this shit?

2017-10-03  João Távora  <joaotavora@gmail.com>

	Capitalize "Flymake" in docstrings and comments

	* lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
	(flymake-elisp-setup-backends): Capitalize "Flymake"

	* lisp/progmodes/flymake-proc.el:
	(flymake-proc-reformat-err-line-patterns-from-compile-el)
	(flymake-proc--panic, flymake-proc-legacy-flymake)
	(flymake-start-syntax-check, flymake-proc-compile)
	(define-obsolete-variable-alias): Capitalize "Flymake"

	* lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
	(flymake-make-diagnostic, flymake-delete-own-overlays)
	(flymake-diagnostic-functions)
	(flymake-diagnostic-types-alist, flymake-is-running)
	(flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
	(flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"

2017-10-03  João Távora  <joaotavora@gmail.com>

	Flymake backends can report multiple times per check

	Rewrote a significant part of the Flymake backend API.  Flymake now
	ignores the return value of backend functions: a function can either
	returns or errors.  If it doesn't error, a backend is no longer
	constrained to call REPORT-FN exactly once.  It may do so any number
	of times, cumulatively reporting diagnostics.  Flymake keeps track of
	outdated REPORT-FN instances and disconsiders obsolete reports.
	Backends should avoid reporting obsolete data by canceling any
	ongoing processing at every renewed call to the backend function.

	Consolidated flymake.el internal data structures to require less
	buffer-local variables.  Adjusted Flymake's mode-line indicator to the
	new semantics.

	Adapted and simplified the implementation of elisp and legacy
	backends, fixing potential race conditions when calling backends in
	rapid succession.

	Added a new test for a backend that calls REPORT-FN multiple
	times.  Simplify test infrastructure.

	* lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
	(flymake-elisp-byte-compile): Error instead of returning nil
	if not in emacs-lisp-mode.
	(flymake-elisp--byte-compile-process): New buffer-local variable.
	(flymake-elisp-byte-compile): Mark (and kill) previous process
	obsolete process before starting a new one.  Don't report if
	obsolete process.

	* lisp/progmodes/flymake-proc.el
	(flymake-proc--current-process): New buffer-local variable.
	(flymake-proc--processes): Remove.
	(flymake-proc--process-filter): Don't bind
	flymake-proc--report-fn.
	(flymake-proc--process-sentinel): Rewrite.  Don't report if
	obsolete process.
	(flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
	previous process obsolete process before starting a new
	one.  Integrate flymake-proc--start-syntax-check-process
	helper.
	(flymake-proc--start-syntax-check-process): Delete.
	(flymake-proc-stop-all-syntax-checks): Don't use
	flymake-proc--processes, iterate buffers.
	(flymake-proc-compile):

	* lisp/progmodes/flymake.el (subr-x): Require it
	explicitly.
	(flymake-diagnostic-functions): Reword docstring.
	(flymake--running-backends, flymake--disabled-backends)
	(flymake--diagnostics-table): Delete.
	(flymake--backend-state): New buffer-local variable and new defstruct.
	(flymake--with-backend-state, flymake--collect)
	(flymake-running-backends, flymake-disabled-backends)
	(flymake-reporting-backends): New helpers.
	(flymake-is-running): Use flymake-running-backends.
	(flymake--handle-report): Rewrite.
	(flymake-make-report-fn): Ensure REPORT-FN runs in the correct
	buffer or not at all.
	(flymake--disable-backend, flymake--run-backend): Rewrite.
	(flymake-start): Rewrite.
	(flymake-mode): Set flymake--backend-state.
	(flymake--mode-line-format): Rewrite.

	* test/lisp/progmodes/flymake-tests.el
	(flymake-tests--wait-for-backends): New helper.
	(flymake-tests--call-with-fixture): Use it.
	(included-c-header-files): Fix whitespace.
	(flymake-tests--diagnose-words): New helper.
	(dummy-backends): Rewrite for new semantics.  Use cl-letf.
	(flymake-tests--assert-set): Use quote.
	(recurrent-backend): New test.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Flymake uses proper idle timers

	Also, flymake-no-changes-timeout can be set to nil to disable
	automatic periodic checks.  But even in that situation the idle timer
	still runs at a reduced rate to detect changes in the variable and
	revert that decision.

	* lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
	(flymake-last-change-time): Delete.
	(flymake--schedule-timer-maybe): New helper.
	(flymake-after-change-function): Use it.
	(flymake-on-timer-event): Delete
	(flymake-mode): Don't scheduler timer.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Flymake variable flymake-diagnostic-functions now a special hook

	* lisp/progmodes/flymake-proc.el: Use add-hook to affect
	flymake-diagnostic-functions.

	* lisp/progmodes/flymake-elisp.el
	(flymake-elisp-setup-backends): Use add-hook.

	* lisp/progmodes/flymake.el (flymake-diagnostic-functions):
	Revise docstring.
	(flymake-start): Use run-hook-wrapped.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Batch of minor Flymake cleanup actions agreed to with Stefan

	Discussed with Stefan, in no particular order

	- Remove aliases for symbols thought to be internal to flymake-proc.el
	- Don’t need :group in defcustom and defface in flymake.el
	- Fix docstring of flymake-make-diagnostic
	- Fix docstring of flymake-diagnostic-functions to clarify keywords.
	- Mark overlays with just the property ’flymake, not ’flymake-overlay
	- Tune flymake-overlays for performance
	- Make flymake-mode-on and flymake-mode-off obsolete
	- Don’t use hash-table-keys unless necessary.
	- Copyright notice in flymake-elisp.

	Added some more

	- Clarify docstring of flymake-goto-next-error
	- Clarify a comment in flymake--run-backend complaining about ert-deftest.
	- Prevent compilation warnings in flymake-proc.el
	- Remove doctring from obsolete aliases

	Now the changelog:

	* lisp/progmodes/flymake-elisp.el: Proper copyright notice.

	* lisp/progmodes/flymake-proc.el (flymake-warning-re)
	(flymake-proc-diagnostic-type-pred)
	(flymake-proc-default-guess)
	(flymake-proc--get-file-name-mode-and-masks): Move up to
	beginning of file to shoosh compiler warnings
	(define-obsolete-variable-alias): Delete many obsolete aliases.

	* lisp/progmodes/flymake.el (flymake-error-bitmap)
	(flymake-warning-bitmap, flymake-note-bitmap)
	(flymake-fringe-indicator-position)
	(flymake-start-syntax-check-on-newline)
	(flymake-no-changes-timeout, flymake-gui-warnings-enabled)
	(flymake-start-syntax-check-on-find-file, flymake-log-level)
	(flymake-wrap-around, flymake-error, flymake-warning)
	(flymake-note): Don't need :group in these defcustom and defface.
	(flymake--run-backend): Clarify comment
	(flymake-mode-map): Remove.
	(flymake-make-diagnostic): Fix docstring.
	(flymake--highlight-line, flymake--overlays): Identify flymake
	overlays with just ’flymake.
	(flymake--overlays): Reverse order of invocation for
	cl-remove-if-not and cl-sort.
	(flymake-mode-on)
	(flymake-mode-off): Make obsolete.
	(flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
	(flymake-diagnostic-functions): Clarify keyword arguments in
	docstring.

	Maybe squash in that one where I remove many obsoletes

2017-10-03  João Távora  <joaotavora@gmail.com>

	Explicitly add a(n empty) keymap for Flymake

	Too early to decide what will be in it, if anything.  Though "M-n" and
	"M-p" would be great.

	* lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable

2017-10-03  João Távora  <joaotavora@gmail.com>

	Flymake uses some new fringe bitmaps

	Also fix behavior whereby flymake wouldn't react to a change in the
	variable.

	* lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
	(flymake-warning-bitmap): Update bitmaps.
	(flymake-note-bitmap): New defcustom.
	(flymake-double-exclamation-mark): New bitmap.
	(flymake-error, flymake-warning, flymake-note)
	(flymake--highlight-line): 'bitmap property must be a symbol.
	Also set default face to flymake-error.
	(flymake--fringe-overlay-spec): Bitmap property can be a
	variable symbol.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Remove old flymake-display-err-menu-for-current-line, it's useless

	See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html

	* lisp/progmodes/flymake-ui.el
	(flymake-popup-current-error-menu): Remove.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Treat Flymake errors as just another type of diagnostic

	* lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
	(flymake--handle-report, flymake-popup-current-error-menu):
	Don't use it.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Fix three Flymake bugs when checking C header files

	The first of these problems is longstanding: if an error-less B.h is
	included from error-ridden A.h, flymake's legacy parser will panic
	(and disable itself) since it sees a non-zero exit for a clean file.
	To fix this, recommend returning 'true' in the documentation for the
	check-syntax target.

	Another problem was introduced by the parser rewrite.  For error
	patterns spanning more than one line, point may be left in the middle
	of a line and thus render other patterns useless.  Those patterns were
	written for the old line-by-line parser.  To make them useful again,
	move to the beginning of line in those situations.

	The third problem was also longstanding and happened on newer GCC's:
	The "In file included from" prefix confused
	flymake-proc-get-real-file-name.  Fix this.

	Also updated flymake--diag-region to fallback to highlighting a full
	line less often.

	Add automatic tests to check this.

	* lisp/progmodes/flymake-proc.el
	(flymake-proc--diagnostics-for-pattern): Fix bug when patterns
	accidentally spans more than one line.  Don't create
	diagnostics without error messages.
	(flymake-proc-real-file-name-considering-includes): New
	helper.
	(flymake-proc-allowed-file-name-masks): Use it.

	* lisp/progmodes/flymake.el (flymake-diag-region): Make COL
	argument explicitly optional.  Only fall back to full line in extreme
	cases.

	* test/lisp/progmodes/flymake-tests.el
	(included-c-header-files): New test.
	(different-diagnostic-types): Update.

	* test/lisp/progmodes/flymake-resources/Makefile
	(check-syntax): Always return success (0) error code.
	(CC_OPTS): Add -Wextra

	* test/lisp/progmodes/flymake-resources/errors-and-warnings.c
	(main): Rewrite comments.

	* test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
	Include some dummy header files.

	* test/lisp/progmodes/flymake-resources/no-problems.h: New file.

	* test/lisp/progmodes/flymake-resources/some-problems.h: New file.

	* doc/misc/flymake.texi (Example---Configuring a tool called
	via make): Recommend adding "|| true" to the check-syntax target.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Add interactive flymake-start function

	* lisp/progmodes/flymake.el (flymake-on-timer-event)
	(flymake-after-change-function, flymake-mode): Call
	flymake-start.
	(flymake-start): Rename from flymake--start-syntax-check.

2017-10-03  João Távora  <joaotavora@gmail.com>

	A couple of Flymake backends for emacs-lisp-mode

	Loading flymake-elisp.el doesn't setup flymake-mode to turn on
	automatically, but it affects emacs-lisp-mode-hook so that
	flymake-diagnostic-functions is setup with a suitable buffer-local
	value.  The variable flymake-diagnostic-functions in every live
	emacs-lisp-mode buffer is also adjusted.

	* lisp/progmodes/flymake.el (top): Require flymake-elisp.

	* lisp/progmodes/flymake-elisp.el: New file.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Fancy Flymake mode-line construct displays status

	Imitates compilation-mode's mode-line a bit, and uses its faces.

	* lisp/progmodes/flymake.el
	(flymake-error, flymake-warning, flymake-note): Add
	mode-line-face to these flymake error types.
	(flymake-note): Notes don't need a noisy fringe bitmap.
	(flymake-lighter): Delete.
	(flymake--update-lighter): Delete.
	(flymake--mode-line-format): New function and variable.
	(flymake--diagnostics-table): New buffer-local variable.
	(flymake--handle-report): Don't update "lighters".  Affect
	flymake--diagnostics-table.
	(flymake--run-backend): Init flymake--diagnostics-table for backend.
	(flymake-mode): Use flymake--mode-line-format.
	(flymake-mode): Don't update lighter.
	(flymake--highlight-line): Be more careful when overriding a
	nil default overlay property.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Tweak Flymake commands flymake-goto-[next/prev]-error

	Add filters, useful for backends like the upcoming
	flymake-elisp-checkdoc backend, for example, which litters everything
	with low-priority notes.

	Also re-implement wraparound for flymake-goto-next-error. Manual
	mentions this, so it's probably a good idea to keep it.  Added a new
	customization variable flymake-wrap-around to control it.

	* lisp/progmodes/flymake.el (flymake-goto-prev-error)
	(flymake-goto-next-error): Accept FILTER argument.
	(flymake-wrap-around): New variable.
	(flymake-goto-next-error): Wrap around according to flymake-wrap-around.

	* test/lisp/progmodes/flymake-tests.el
	(different-diagnostic-types, dummy-backends): Pass FILTER to
	flymake-goto-prev-error.
	(different-diagnostic-types)
	(dummy-backends): Use flymake-wrap-around.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Flymake's flymake-proc.el backend slightly easier to debug

	Misc cleanup in flymake-proc.el

	Improve description of what this file contains.

	Better name for the backend function.  Fix the case where it is run
	interactively.

	Keep the output buffer alive iff the external process panics.

	* lisp/progmodes/flymake-proc.el
	(flymake-proc-legacy-flymake): Rename from
	flymake-proc-start-syntax-check.  Allow running interactively.
	(flymake-start-syntax-check): Obsolete alias for
	flymake-proc-legacy-flymake.
	(flymake-proc-start-syntax-check): Delete.
	(flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
	(flymake-proc--process-sentinel): Keep output buffer alive.
	Clarify with comments.
	(flymake-proc--diagnostics-for-pattern)
	(flymake-proc--process-sentinel)
	(flymake-proc--safe-delete-directory)
	(flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Simplify Flymake logging and erroring

	Use display-warning and a dedicated *Flymake log* buffer.

	To ease readability, flymake log messages are now prefixed with a
	common prefix and the buffer that originated them.

	Some situations of over-zealous logging are fixed.

	Use byte-compiler info, if available, to determine whence the
	flymake-related log message is coming.

	* lisp/progmodes/flymake-proc.el
	(flymake-proc--diagnostics-for-pattern): Improve log message.
	(flymake-proc--panic): Always flymake-log an error
	(flymake-proc--safe-delete-file)
	(flymake-proc--safe-delete-directory):
	Downgrade warning
	(flymake-proc-start-syntax-check): Simplify slightly.
	(flymake-proc--start-syntax-check-process): Simplify.
	(flymake-proc--init-find-buildfile-dir)
	(flymake-proc--init-create-temp-source-and-master-buffer-copy):
	No need to warn twice.

	* lisp/progmodes/flymake.el (flymake-log): Convert to macro.
	(flymake--log-1): New helper.
	(flymake-log-level): Deprecate.
	(flymake-error): New helper.
	(flymake-ler-make-ler, flymake--handle-report, flymake-mode):
	Use flymake-error.
	(flymake-on-timer-event)
	(flymake--handle-report, flymake--disable-backend)
	(flymake--run-backend, flymake-start, flymake-mode-on)
	(flymake-mode-off, flymake-after-change-function)
	(flymake-after-save-hook, flymake-find-file-hook): Adjust
	flymake-log calls.

	* test/lisp/progmodes/flymake-tests.el
	(flymake-tests--call-with-fixture): Only log errors.

2017-10-03  Philipp Stephani  <phst@google.com>

	Work around deprecation of gtk_style_context_get_background_color

	* src/gtkutil.c (xg_check_special_colors): Replace call to
	gtk_style_context_get_background_color with its definition.

2017-10-03  João Távora  <joaotavora@gmail.com>

	New Flymake API variable flymake-diagnostic-functions

	Lay groundwork for multiple active backends in the same buffer.

	Backends are lisp functions called when flymake-mode sees fit.  They
	are responsible for examining the current buffer and telling
	flymake.el, via return value, if they can syntax check it.
	Backends should return quickly and inexpensively, but they are also
	passed a REPORT-FN argument which they may or may not call
	asynchronously after performing more expensive work.

	REPORT-FN's calling convention stipulates that a backend calls it with
	a list of diagnostics as argument, or, alternatively, with a symbol
	denoting an exceptional situation, usually some panic resulting from a
	misconfigured backend.  In keeping with legacy behavior,
	flymake.el's response to a panic is to disable the issuing backend.

	The flymake--diag object representing a diagnostic now also keeps
	information about its source backend.  Among other uses, this allows
	flymake to selectively cleanup overlays based on which backend is
	updating its diagnostics.

	* lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
	New dynamic variable.
	(flymake-proc--process): New variable.
	(flymake-can-syntax-check-buffer): Remove.
	(flymake-proc--process-sentinel): Simplify.  Use
	unwind-protect.  Affect flymake-proc--processes here.
	Bind flymake-proc--report-fn.
	(flymake-proc--process-filter): Bind flymake-proc--report-fn.
	(flymake-proc--post-syntax-check): Delete
	(flymake-proc-start-syntax-check): Take mandatory
	report-fn.  Rewrite.  Bind flymake-proc--report-fn.
	(flymake-proc--process-sentinel): Rewrite and simplify.
	(flymake-proc--panic): New helper.
	(flymake-proc--start-syntax-check-process): Record report-fn
	in process.  Use flymake-proc--panic.
	(flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
	flymake-proc--processes here.  Record interruption reason.
	(flymake-proc--init-find-buildfile-dir)
	(flymake-proc--init-create-temp-source-and-master-buffer-copy):
	Use flymake-proc--panic.
	(flymake-diagnostic-functions): Add
	flymake-proc-start-syntax-check.
	(flymake-proc-compile): Call
	flymake-proc-stop-all-syntax-checks with a reason.

	* lisp/progmodes/flymake.el (flymake-backends): Delete.
	(flymake-check-was-interrupted): Delete.
	(flymake--diag): Add backend slot.
	(flymake-delete-own-overlays): Take optional filter arg.
	(flymake-diagnostic-functions): New user-visible variable.
	(flymake--running-backends, flymake--disabled-backends): New
	buffer-local variables.
	(flymake-is-running): Now a function, not a variable.
	(flymake-mode-line, flymake-mode-line-e-w)
	(flymake-mode-line-status): Delete.
	(flymake-lighter):  flymake's minor-mode "lighter".
	(flymake-report): Delete.
	(flymake--backend): Delete.
	(flymake--can-syntax-check-buffer): Delete.
	(flymake--handle-report, flymake--disable-backend)
	(flymake--run-backend, flymake--run-backend):  New helpers.
	(flymake-make-report-fn): Make a lambda.
	(flymake--start-syntax-check): Iterate
	flymake-diagnostic-functions.
	(flymake-mode): Use flymake-lighter.  Simplify.  Initialize
	flymake--running-backends and flymake--disabled-backends.
	(flymake-find-file-hook): Simplify.

	* test/lisp/progmodes/flymake-tests.el
	(flymake-tests--call-with-fixture): Use flymake-is-running the
	function.  Check if flymake-mode already active before activating it.
	Add a thorough test for flymake multiple backends

	* lisp/progmodes/flymake.el (flymake--start-syntax-check):
	Don't use condition-case-unless-debug, use condition-case

	* test/lisp/progmodes/flymake-tests.el
	(flymake-tests--assert-set): New helper macro.
	(dummy-backends): New test.

2017-10-03  João Távora  <joaotavora@gmail.com>

	More Flymake cleanup before advancing to backend redesign

	Diagnostics are reported for buffers, not necessarily files.  It’s the
	backend’s responsibility to compute the buffer where the diagnostic is
	applicable.  For now, this has to match the buffer where flymake-mode
	is active and which is at the origin of the backend call.

	flymake.el knows nothing about line/column diagnostics (except for
	backward-compatible flymake-ler-make-ler, which must yet be tested).
	It’s also the backend’s responsibility to compute a BEG and END
	positions for the diagnostic in the relevant buffer.

	* lisp/progmodes/flymake-proc.el
	(flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
	region here.  Check file buffer here.
	(flymake-proc--process-sentinel): Don’t kill output buffer if
	high enough log level.

	* lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
	function.  (flymake--highlight-line): Diagnostic has region now.
	(flymake-popup-current-error-menu): Don’t add file and line numbers to
	already this silly menu.  (flymake--fix-line-numbers): Remove.
	(flymake-report): No need to fix diagnostics here.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Protect Flymake's eager checks against commands like fill-paragraph

	If flymake-start-syntax-check-on-newline is t, check should start as
	soon as a newline is seen by after-change-functions.  But don't rush
	it: since the buffer state might not be final, we might end up with
	invalid diagnostic regions after some commands silently insert and
	delete newlines (looking at you, fill-paragraph).

	* lisp/progmodes/flymake.el (flymake-after-change-function): Pass
	`deferred' to flymake--start-syntax-check.
	(flymake--start-syntax-check): Take optional `deferred' arg.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Flymake highlights GCC info/notes as detected by flymake-proc.el

	* lisp/progmodes/flymake-proc.el
	(flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
	honor more sophisticated flymake-proc-diagnostic-type-pred.
	(flymake-warning-re): Is now an obsolete alias for
	flymake-proc-diagnostic-type-pred.
	(flymake-proc-diagnostic-type-pred): Rename and augment from
	flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
	Delete.

	* lisp/progmodes/flymake.el (flymake-note): New face.
	(flymake-diagnostic-types-alist): Simplify.
	(flymake-note): New overlay category.
	(flymake--lookup-type-property): Only lookup single keys, not lists.
	(flymake--diag-errorp): Rewrite.
	(flymake--highlight-line): Use flymake--lookup-type-property.

	* test/lisp/progmodes/flymake-tests.el
	(different-diagnostic-types): Rename from errors-and-warnings.
	Check notes.
	(flymake-tests--call-with-fixture): Use
	flymake-proc-diagnostic-type-pred.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Flymake checks file names before considering diagnostics

	The error patterns for gcc picked up errors for the Makefile itself,
	for example.  These shouldn't count as actual errors.

	* lisp/progmodes/flymake.el (flymake-report): Check
	matching file names.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Echo Flymake error messages when navigating errors interactively

	Perhaps binding M-n and M-p to flymake-goto-next-error and
	flymake-goto-prev-error also wouldn't be a bad idea.

	* lisp/progmodes/flymake.el (flymake-goto-next-error): Use
	target overlay's help-echo.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Add a new Flymake test for multiple errors and warnings

	* test/lisp/progmodes/flymake-tests.el
	(flymake-tests--call-with-fixture): Save excursion.
	(errors-and-warnings): New test.

	* test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
	New test fixture.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Flymake warning face easier to distinguish

	A orange wavy underline is very hard to tell from a red wavy
	underline.

	* lisp/progmodes/flymake.el (flymake-warning): Change color to
	"deep sky blue"

2017-10-03  João Távora  <joaotavora@gmail.com>

	Flymake's flymake-proc.el parses column numbers from gcc/javac errors

	Column numbers are not a great way of marking diagnostic regions, but
	that's probably all that can be expected from the flymake-proc.el
	backend.  For now, try (end-of-thing 'sexp) to discover the
	diagnostic's end position.

	* lisp/progmodes/flymake-proc.el ()
	(flymake-proc-err-line-patterns): Also parse column numbers,
	if available, for gcc/javac warnings.

2017-10-03  João Távora  <joaotavora@gmail.com>

	New Flymake variable flymake-diagnostic-types-alist and much cleanup

	A new user-visible variable is introduced where different diagnostic
	types can be categorized.  Flymake backends can also contribute to
	this variable.  Anything that doesn’t match an existing error type
	is considered.

	The variable’s alists are used to propertize the overlays pertaining
	to each error type.  The user can override the built-in properties by
	either by modifying the alist, or by modifying the properties of a
	special "category" symbol, named by the `flymake-category' entry in
	the alist.

	The `flymake-category' entry is especially useful for, say, the author
	of foo-flymake-backend, who issues diagnostics of type :foo-note, that
	should behave like notes, except with no fringe bitmap:

	   (add-to-list 'flymake-diagnostic-types-alist
	                '(:foo-note
	                  . ((flymake-category . flymake-note)
	                     (bitmap . nil))))

	For essential properties like `severity', `priority', etc, a default
	value is produced.  Some properties like `evaporate' cannot be
	overridden.

	* lisp/progmodes/flymake.el (flymake--diag): Rename from
	flymake-ler.
	(flymake-ler-make): Obsolete alias for flymake-diagnostic-make
	(flymake-ler-errorp): Rewrite using flymake--severity.
	(flymake--place-overlay): Delete.
	(flymake--overlays): Now a cl-defun with &key args.  Document.
	Use `overlays-at' if BEG is non-nil and END is nil.
	(flymake--lookup-type-property): New helper.
	(flymake--highlight-line): Rewrite.
	(flymake-diagnostic-types-alist): New API variable.
	(flymake--diag-region)
	(flymake--severity, flymake--face)
	(flymake--fringe-overlay-spec): New helper.
	(flymake-popup-current-error-menu): Use new flymake-overlays.
	(flymake-popup-current-error-menu, flymake-report): Use
	flymake--diag-errorp.
	(flymake--fix-line-numbers): Use flymake--diag-line.
	(flymake-goto-next-error): Pass :key to flymake-overlays

	* lisp/progmodes/flymake-proc.el
	(flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Refactor Flymake tests in preparation for more tests

	Introduce a slightly more generic fixture macro.

	Also make flymake-tests.el friendlier to interactive runs, by not
	killing buffers visited by the user.

	* test/lisp/progmodes/flymake-tests.el
	(flymake-tests--call-with-fixture): New helper from
	flymake-tests--current-face.  Don't kill file buffers already
	being visited before the test starts.
	(flymake-tests--with-flymake): New macro.
	(flymake-tests--current-face): Delete.
	(warning-predicate-rx-gcc, warning-predicate-function-gcc)
	(warning-predicate-rx-perl, warning-predicate-function-perl):
	Use flymake-test--with-flymake.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Allow running Flymake tests from interactive sessions

	* test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
	Expand to reasonable value if no
	EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
	"weirdness" of bug 17647 with read-event.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Flymake diagnostics now apply to arbitrary buffer regions

	Make Flymake UI some 150 lines lighter

	Strip away much of the original implementation's complexity in
	manipulating objects representing diagnostics as well as creating and
	navigating overlays.

	Lay some groundwork for a more flexible approach that allows for
	different classes of diagnostics, not necessarily line-based.
	Importantly, one overlay per diagnostic is created, whereas the
	original implementation had one per line, and on it concatenated
	the results of errors and warnings.

	This means that currently, an error and warning on the same line are
	problematic and the warning might be overlooked but this will soon be
	fixed by setting appropriate priorities.

	Since diagnostics can highlight arbitrary regions, not just lines, the
	faces were renamed.

	Tests pass and backward compatibility with interactive functions is
	maintained, but probably any third-party extension or customization
	relying on more than a trivial set of flymake.el internals has stopped
	working.

	* lisp/progmodes/flymake-proc.el
	(flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
	constructor syntax.

	* lisp/progmodes/flymake.el (flymake-ins-after)
	(flymake-set-at, flymake-er-make-er, flymake-er-get-line)
	(flymake-er-get-line-err-info-list, flymake-ler-set-file)
	(flymake-ler-set-full-file, flymake-ler-set-line)
	(flymake-get-line-err-count, flymake-get-err-count)
	(flymake-highlight-err-lines, flymake-overlay-p)
	(flymake-make-overlay, flymake-region-has-flymake-overlays)
	(flymake-find-err-info)
	(flymake-line-err-info-is-less-or-equal)
	(flymake-add-line-err-info, flymake-add-err-info)
	(flymake-get-first-err-line-no)
	(flymake-get-last-err-line-no, flymake-get-next-err-line-no)
	(flymake-get-prev-err-line-no, flymake-skip-whitespace)
	(flymake-goto-line, flymake-goto-next-error)
	(flymake-goto-prev-error, flymake-patch-err-text): Delete
	functions no longer used.
	(flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
	(flymake-report): Rewrite.
	(flymake-popup-current-error-menu): Rewrite.
	(flymake--highlight-line): Rename from
	flymake-highlight-line.  Call `flymake--place-overlay.
	(flymake--place-overlay): New function.
	(flymake-ler-errorp): New predicate.
	(flymake-ler): Simplify.
	(flymake-error): Rename from
	flymake-errline.
	(flymake-warning): Rename from flymake-warnline.
	(flymake-warnline, flymake-errline): Obsoletion aliases.

	* test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
	(warning-predicate-function-gcc, warning-predicate-rx-perl)
	(warning-predicate-function-perl): Use face `flymake-warning'.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Move symbols in flymake-proc.el to separate namespace

	Every symbol in this flymake now starts with the prefix flymake-proc-.

	Make obsolete aliases for (almost?) every symbol.

	Furthermore, many flymake-proc.el symbols are prefixed with
	"flymake-proc--", that is they were considered internal.

	Some customization variables, interactive functions, and other symbols
	considered useful to user customizations or third-party libraries are
	considered "public" or "external" and so use a "flymake-proc-" prefix.

	* lisp/progmodes/flymake-proc.el: Every symbol renamed.

	* test/lisp/progmodes/flymake-tests.el
	(flymake-tests--current-face): Use
	flymake-proc-warning-predicate, not flymake-warning-predicate.

	* lisp/progmodes/flymake-proc.el
	(flymake-proc--get-project-include-dirs-function)
	(flymake-proc--get-project-include-dirs-imp)
	(flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
	(flymake-proc--find-make-buildfile)
	(flymake-proc--get-syntax-check-program-args)
	(flymake-proc--init-create-temp-source-and-master-buffer-copy)
	(flymake-proc--init-find-buildfile-dir)
	(flymake-proc--get-full-nonpatched-file-name)
	(flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
	flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
	(flymake-proc--temp-source-file-name)
	(flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
	(flymake-proc--start-syntax-check-process)
	(flymake-proc--compilation-is-running)
	(flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
	(flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
	(flymake-proc--clear-project-include-dirs-cache)
	(flymake-proc--project-include-dirs-cache)
	(flymake-proc--get-system-include-dirs)
	(flymake-proc--get-project-include-dirs)
	(flymake-proc--add-project-include-dirs-to-cache)
	(flymake-proc--get-project-include-dirs-from-cache)
	(flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
	(flymake-proc--process-filter) (flymake-proc--create-master-file)
	(flymake-proc--find-buffer-for-file)
	(flymake-proc--copy-buffer-to-temp-buffer)
	(flymake-proc--read-file-to-temp-buffer)
	(flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
	flymake-proc--check-include)
	(flymake-proc--check-patch-master-file-buffer)
	(flymake-proc--master-file-compare)
	(flymake-proc--find-possible-master-files)
	(flymake-proc--included-file-name, flymake-proc--same-files)
	(flymake-proc--fix-file-name, flymake-proc--find-buildfile)
	(flymake-proc--clear-buildfile-cache)
	(flymake-proc--add-buildfile-to-cache)
	(flymake-proc--get-buildfile-from-cache)
	(flymake-proc--find-buildfile-cache)
	(flymake-proc--get-real-file-name-function)
	(flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
	(flymake-proc--get-file-name-mode-and-masks)
	(flymake-proc--processes): Rename to internal symbol from
	flymake-proc- version.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Completely rewrite Flymake's subprocess output processing

	Instead of parsing and matching regexps line-by-line, insert
	subprocess output in a separate buffer and parse using
	`search-forward-regexp'.  This eventually enables multi-line error
	patterns and simplifies code all around.  Store per-check information
	in the subprocess using `process-get' and `process-put'.  Treat error
	messages, warnings, etc. more generically as "diagnostics".  Create
	these objects as soon as possible, reusing existing `flymake-ler'
	structure.  Fix some whitespace.

	* lisp/progmodes/flymake.el (cl-lib): Require also when
	loading.
	(flymake--fix-line-numbers): Rename from
	flymake-fix-line-numbers.  Simplify.
	(flymake-report): Call flymake--fix-line-numbers.  Rearrange
	plain diagnostics list into alist format expected by
	flymake-highlight-err-lines.

	* lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
	process output and parse in dedicated output buffer.
	(flymake-proc--diagnostics-for-pattern): New helper function.
	(flymake-process-sentinel): Call flymake-post-syntax-check with
	collected diagnostics.  Kill output buffer.
	(flymake-post-syntax-check): Receive diagnostics as third argument.
	(flymake-parse-output-and-residual, flymake-new-err-info)
	(flymake-parse-residual, flymake-parse-err-lines)
	(flymake-split-output, flymake-proc-parse-line)
	(flymake-output-residual): Delete.
	(flymake-start-syntax-check-process): Use make-process.	 Setup
	dedicated an output buffer

2017-10-03  João Távora  <joaotavora@gmail.com>

	Flymake provides flymake-report re-entry point for backends

	* lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
	Simplify.  Call flymake-report.

	* lisp/progmodes/flymake.el (flymake-report): New function.

2017-10-03  João Távora  <joaotavora@gmail.com>

	Split Flymake into flymake.el into flymake-proc.el (again!)

	After deciding that this work would continue on master only, which
	caused two commits named

	   Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"

	and

	   Revert "Add flymake-backends defcustom"

	to be added to the emacs-26 branch, further discussion reversed that
	decision.

	   See:

	     https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
	     https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html

	This means that those two commits MUST be merged to master AFTER ALL.

	flymke-proc.el contains the main syntax-checking backend, while
	flymake.el keeps mostly the UI part.

	* lisp/progmodes/flymake-proc.el: New file.  Require flymake.

	* lisp/progmodes/flymake.el: Require flymake-proc.el at the end.

2017-10-03  Nicolas Petton  <nicolas@petton.fr>

	Update authors.el

	* admin/authors.el (authors-ignored-files, authors-valid-file-names)
	(authors-renamed-files-alist): Additions.

2017-10-03  Noam Postavsky  <npostavs@gmail.com>

	Give more helpful messages for python completion setup failures

	* lisp/progmodes/python.el (python-shell-completion-native-setup): In
	case the completion setup failed with some exception, print out the
	exception type and message.  If libedit is detected, raise an
	exception, since this is known to fail.

2017-10-02  Eli Zaretskii  <eliz@gnu.org>

	Fix the --without-x build

	* src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
	frame_parent only in GUI builds to avoid compilation errors in
	--without-x builds.  (Bug#28611)

2017-10-02  Paul Eggert  <eggert@day>

	Fix customization of zoneinfo-style-world-list

	A customizable variable's initial value cannot depend on that of
	another customizable variable, since the variables are initialized
	in other than textual order.  Problem reported by N. Jackson
	(Bug#24291).
	* lisp/time.el (display-time-world-list): Default to t,
	a special value that expands to zoneinfo-style-word-list
	if that works, and to legacy-style-word-list otherwise.
	(time--display-world-list): New function.
	(display-time-world, display-time-world-timer): Use it.

2017-10-02  Alan Mackenzie  <acm@muc.de>

	Fix a CC Mode brace stack cache bug.

	* lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
	c-beginning-of-current-token after a failing search operation, to ensure we
	don't cache a point inside a token.

2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/PROBLEMS: Document Bug#26638.

2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer HTTPS to HTTP for gnu.org

	This fixes some URLs I omitted from my previous pass,
	notably those in lists.gnu.org.  Although lists.gnu.org
	does not yet support TLS 1.1, TLS 1.0 is better than nothing.
	* lisp/erc/erc.el (erc-official-location):
	* lisp/mail/emacsbug.el (report-emacs-bug):
	Use https:, not http:.

2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from Gnulib

	This is mostly to change http: to https: in licenses.
	* COPYING, build-aux/config.guess, build-aux/config.sub:
	* doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
	* doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
	* doc/lispref/gpl.texi, doc/misc/doclicense.texi:
	* doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
	* lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
	* msdos/COPYING, nt/COPYING, src/COPYING:
	Copy from Gnulib.

2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>

	Keep eww buffer current when looking up CSS on MDN

	* lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
	current when looking up CSS documentation on MDN.  This fixes a bug
	where the eww buffer's content sometimes get mangled when switching
	buffers mid-render.

2017-10-01  Charles A. Roelli  <charles@aurox.ch>

	Workaround for faulty localtime() under macOS 10.6

	* lisp/org/org-clock.el (org-clock--oldest-date): Only execute
	'decode-time' on times later than year -2**31 under macOS 10.6.
	See Bug#27706.

2017-10-01  Alan Mackenzie  <acm@muc.de>

	Doc amendment for syntax-ppss.

	* doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
	equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
	buffer.  Final part of the fix for bug #22983.

2017-10-01  Charles A. Roelli  <charles@aurox.ch>

	Remove incorrect NEWS entry about 'find-library'

	* etc/NEWS (Changes in Emacs 26.1): Remove an entry about
	'find-library' taking a prefix argument to pop to a different
	window.  This behavior was added in "Allow a prefix argument to
	find-library to pop to a different window" (commit e1f2d14a), and
	then removed in "New commands: find-library-other-window,
	find-library-other-frame" (commit 021430f4).

2017-10-01  Alan Mackenzie  <acm@muc.de>

	Remove inadvertent changes to syntax.texi in last commit.

	* doc/lispref/syntax.texi (Position Parse): revert changes.

2017-10-01  Alan Mackenzie  <acm@muc.de>

	Amend documentation for text-quoting-style becoming a user option.

	* doc/lispref/control.texi (Signaling Errors):
	* doc/lispref/display.texi (Displaying Messages):
	* doc/lispref/strings.texi (Formatting Strings):
	Edit for brevity, farming out the details to the new
	Text Quoting Style node.
	* doc/lispref/help.texi (Text Quoting Style): New section.
	Move detailed discussion of text-quoting-style here.
	Add discussion about how to output grave accent and apostrophe in
	documentation and messages.  Adjust xrefs to point to this section
	when appropriate.
	* etc/NEWS: text-quoting-style semantics have not changed.

2017-10-01  Alan Mackenzie  <acm@muc.de>

	Make the value nil in text-quoting-style mean what it does in Emacs 25.

	This is a partial reversion of yesterday's commit by the same author, which
	changed the meaning of nil and introduced the new value t.

	* src/doc.c (text_quoting_style, text-quoting-style)
	(internal--text-quoting-flag): Revert yesterday's changes.

	* lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.

	* etc/NEWS: Amend the entry for text-quoting-style.

	* doc/lispref/control.texi (Signalling Errors)
	* doc/lispref/display.texi (Displaying Messages)
	* doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
	grave rather than nil to inhibit translation of quotes.

	* doc/lispref/help.texi (Keys in Documentation): Revert the description of the
	proposed new default, t.

2017-10-01  Alan Mackenzie  <acm@muc.de>

	Make text-quoting-style customizable.  Introduce t and new meaning for nil.

	A value of nil for text-quoting-style now means "no translation".  t means
	"Use curved quotes if displayable".

	* src/doc.c (text-quoting-style (function)): modify for new semantics.
	(text-quoting-style (variable)): Amend the doc string, set the default value
	to t.

	* lisp/cus-start.el: (top level): Create a customize entry for
	text-quoting-style in group display.

	* etc/NEWS: Amend the entry for text-quoting-style.

	* doc/emacs/display.texi (Text Display): Describe the translation of ASCII
	quotes to curved quotes, and how to influence or inhibit it.

	* doc/lispref/control.texi (Signalling Errors)
	* doc/lispref/display.texi (Displaying Messages)
	* doc/lispref/strings.texi (Formatting Strings): Describe binding
	text-quoting-style to nil to inhibit unwanted quote translation.

	* doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
	from a variable to a user option.  Describe its changed set of values.  State
	that it can be customized freely.

2017-10-01  Michael Albinus  <michael.albinus@gmx.de>

	eshell.texi improvements

	* doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
	Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
	(Aliases): Add $*, $1, $2, ... to the variable index.

2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>

	Fix ns-win.el on GNUstep

	* lisp/term/ns-win.el: Appkit version check only works on macOS, so
	don't try it when not using Cocoa.

2017-10-01  Martin Rudalics  <rudalics@gmx.at>

	Fix reference style in org.texi

	* doc/misc/org.texi (A Texinfo example): Fix reference style.

2017-10-01  Martin Rudalics  <rudalics@gmx.at>

	Improve handling of iconification of child frames (Bug#28611)

	* src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
	(syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
	(iconify_child_frame): New option.
	* lisp/cus-start.el (iconify-child-frame): Add customization
	properties.
	* doc/lispref/frames.texi (Child Frames): Describe new option
	`iconify-child-frame'.  Don't index "top-level frame" twice.

2017-10-01  Noam Postavsky  <npostavs@gmail.com>

	Revert "Don't lose arguments to eshell aliases (Bug#27954)"

	It broke the established argument handling methods provided by eshell
	aliases (Bug#28568).
	* doc/misc/eshell.texi (Aliases): Fix example, call out use of
	arguments in aliases.
	* lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
	ARGS.

2017-10-01  Noam Postavsky  <npostavs@gmail.com>

	Make "unsafe directory" error message more informative (Bug#865)

	* lisp/server.el (server-ensure-safe-dir): Produce a description for
	each "unsafe" condition.

2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Fix slot typecheck in eieio-persistent

	* lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
	  An `or' form can specify multiple potential classes (or null) as
	  valid types for a slot, but previously only the final element of the
	  `or' was actually checked. Now returns all valid classes in the `or'
	  form.
	  (eieio-persistent-validate/fix-slot-value): Check if proposed value
	  matches any of the valid classes.
	* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
	  (eieio-test-multiple-class-slot): Test this behavior.

2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>

	Fix semantic-ia-fast-jump

	* lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
	Use `pop-to-buffer-same-window' (bug#28645).

2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>

	Bind vc-region-history

	* lisp/vc/vc-hooks.el (vc-prefix-map):
	Bind `vc-region-history' to 'C-x v h', which was earlier bound to
	`vc-insert-headers' (Bug#27644).
	* doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
	* doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
	'C-x v h' with `vc-insert-headers'.
	(https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)

2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)

	Exit macro definition on undefined keys

	* lisp/subr.el (undefined): Error out of kmacro definition, if any.
	(Bug#28008)

2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)

	Reset bidi-paragraph-direction on article rendering

	* lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
	bidi-paragraph-direction on article rendering.  (Bug#28454)

2017-09-30  Eli Zaretskii  <eliz@gnu.org>

	Fix url-http use of url-current-object

	* lisp/url/url-http.el (url-http): Bind url-current-object before
	calling url-http-find-free-connection.  (Bug#28515)

2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>

	Avoid assertions in vc-hg.el on MS-Windows

	* lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
	(vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
	(vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
	instead of relying on Unix file-name syntax.  This avoids
	assertion violations on MS-Windows.

2017-09-30  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'copy-sequence'

	* src/fns.c (Fcopy_sequence):
	* doc/lispref/sequences.texi (Sequence Functions): Mention the
	exception when copying an empty sequence.  (Bug#28627)

2017-09-30  Eli Zaretskii  <eliz@gnu.org>

	Minor update of ack.texi

	* doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
	contributions.

2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)

	* doc/emacs/emacs.texi (Acknowledgments): Add more contributors.

2017-09-30  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing of multi-file/buffer Isearch commands

	* doc/emacs/maintaining.texi (Identifier Search): Change wording
	of index entries to make them different from those for multi-file
	isearch commands.  (Bug#28584)
	* doc/emacs/search.texi (Other Repeating Search): Index the
	multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
	each index entry close to its subject.

2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>

	Add CAM02 JCh and CAM02-UCS J'a'b' conversions

	* src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
	(jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
	(lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
	functions.
	(lcms-cam02-ucs): Refactor.
	(syms_of_lcms2): Declare new functions.
	* test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
	(lcms-jmh->cam02-ucs-silver): New tests.
	* etc/NEWS: Mention new functions.

2017-09-30  Eli Zaretskii  <eliz@gnu.org>

	Fix uses of @kindex in the Emacs manual

	* doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
	* doc/emacs/mark.texi (Global Mark Ring)
	(Disabled Transient Mark):
	* doc/emacs/buffers.texi (Select Buffer):
	* doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
	which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.

2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-09-28 string: code style
	2017-09-25 sys_types: update URL
	2017-09-23 install-sh: do not assume / = //
	2017-09-21 mktime: port to OpenVMS
	* build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
	* m4/sys_types_h.m4: Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer HTTPS to HTTP for gnu.org

	This catches some URLs I missed in my previous scan,
	or perhaps were added after the scan.

2017-09-30  Noam Postavsky  <npostavs@gmail.com>

	Wait for frame visibility with timeout in w32term too

	* src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
	variable.
	(x_make_frame_visible): Wait for frame to become visible according to
	its value.
	(input_signal_count): Remove.

2017-09-30  Noam Postavsky  <npostavs@gmail.com>

	Bring back the busy wait after x_make_frame_visible (Bug#25521)

	But wait specifically for a MapNotify event, and only for a
	configurable amount of time.
	* src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
	variable.
	(x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
	(x_make_frame_visible): Call x_wait_for_event at the end.
	* etc/NEWS: Announce x_wait_for_event.

2017-09-29  Eli Zaretskii  <eliz@gnu.org>

	Fix last doc string change in simple.el

	* lisp/simple.el (shell-command-saved-pos)
	(region-extract-function, region-bounds): Doc fixes.  (Bug#28609)

2017-09-29  Eli Zaretskii  <eliz@gnu.org>

	Revert "bug#28609: simple.el"

	This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.

2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>

	bug#28609: simple.el

	Correct grammar; also, call a pair a pair.

	(cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)

2017-09-29  Rasmus  <rasmus@gmx.us>

	Merge branch 'emacs-26' into scratch/org-mode-merge

2017-09-29  Noam Postavsky  <npostavs@gmail.com>

	Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)

	* lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
	above the `debugger' frame, rather than assuming there will be a
	`signal' frame.

2017-09-28  Alan Third  <alan@idiocy.org>

	Revert "Fix build on macOS (bug#28571)"

	This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.

	Prematurely pushed.

2017-09-28  Alan Third  <alan@idiocy.org>

	Fix build on macOS (bug#28571)

	* src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
	[DARWIN_OS]: Undefine.

2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>

	Add tests for `css-current-defun-name'

	* test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
	(css-test-current-defun-name-nested)
	(css-test-current-defun-name-complex): New tests for
	`css-current-defun-name'.

2017-09-28  Martin Rudalics  <rudalics@gmx.at>

	In w32fullscreen_hook don't add decorations to undecorated frames

	* src/w32term.c (w32fullscreen_hook): Do not add (or try to
	remove) decorations for undecorated frames.

2017-09-28  João Távora  <joaotavora@gmail.com>

	Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"

	In other words, re-coalesce the two files,
	lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
	into a single one, lisp/progmodes/flymake.el.

	The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
	"allow nil init in flymake-allowed-file-name-masks to disable flymake"
	are kept in place in the new lisp/progmodes/flymake.el.

	This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.

	Don't merge this back to master as development happening there builds
	upon this work. See also
	https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.

2017-09-28  João Távora  <joaotavora@gmail.com>

	Revert "Add flymake-backends defcustom"

	This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.

	Don't merge this back to master as development happening there builds
	upon this work. See also
	https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html

2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>

	* src/editfns.c (styled_format): Fix typo in previous change.

2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid some unnecessary copying in Fformat etc.

	This patch is just for performance; it should not affect behavior.
	On my platform, it made the microbenchmark (format "%S" load-path)
	run about 45% faster.  It should also speed up calls like (message
	"%s" STRING).
	* src/callint.c (Fcall_interactively):
	* src/dbusbind.c (XD_OBJECT_TO_STRING):
	* src/editfns.c (Fmessage, Fmessage_box):
	* src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
	Use styled_format instead of Fformat or Fformat_message,
	to avoid unnecessary copying.
	* src/editfns.c (styled_format): New arg NEW_RESULT.
	All uses changed.  Reuse an input string if it has the
	right value and if !NEW_RESULT.
	* src/lisp.h (style_format): New decl.

2017-09-26  John Wiegley  <johnw@newartisans.com>

	lisp/simple.el: Indicate when a list of pairs is meant in a docstring

2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>

	bug#28609: simple.el

	Correct grammar; also, call a pair a pair.

2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>

	Use a separate syntax-ppss cache for narrowed buffers

	* lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
	New variable, to contain the data from `syntax-ppss-last' and
	`syntax-ppss-cache'.
	(syntax-ppss-cache, syntax-ppss-last): Remove.
	(syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
	(syntax-ppss-flush-cache): Flush both caches.
	(syntax-ppss--data): Return the appropriate last result and
	buffer cache for the current restriction.
	(syntax-ppss, syntax-ppss-debug): Use it (bug#22983).

2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)

	Improve python3-compatibility of fallback completion (Bug#28499)

	* lisp/progmodes/python.el (python-eldoc-setup-code): Use
	inspect.getfullargspec instead of inspect.getargspec to avoid a
	deprecation warning on every usage of eldoc in python-mode.

2017-09-26  Noam Postavsky  <npostavs@gmail.com>

	Fix subr-x-tests when running from elc

	* test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
	Use `eval' around the `should-error' cases.

2017-09-26  Noam Postavsky  <npostavs@gmail.com>

	* lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.

2017-09-26  Noam Postavsky  <npostavs@gmail.com>

	Make sh-indentation into an alias for sh-basic-offset (Bug#21751)

	* lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
	variable alias for `sh-basic-offset'.
	(sh-mode, sh-smie--indent-continuation)
	(sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
	with `sh-basic-offset'.

2017-09-26  Noam Postavsky  <npostavs@gmail.com>

	Fix loading of smie-config rules (Bug#24848)

	* lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
	instead of `setq-default'.
	(smie-config): Use `custom-initialize-set' instead of
	`custom-initialize-default' as the :initialize argument.

	* lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
	we call `smie-config-guess' so that the user will have a chance to
	find the correct docstring to consult.  Remove hedging comments
	regarding use of abnormal hooks.

2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>

	Reset default-directory inside *xref-grep* buffer

	* lisp/progmodes/xref.el (xref-collect-matches):
	Reset default-directory, too. (Bug#28575)

2017-09-25  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
	code for smb.

2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>

	Loosen strict parsing requirement for desktop files

	There are other desktop-looking files, for instance those having to do
	with MIME types, that would benefit from being able to be read by this
	function.  It helps to have some flexibility.
	* lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
	* test/lisp/xdg-tests.el: Remove a test.

2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/xdg.el (xdg-thumb-uri): Fix doc string.

2017-09-25  Martin Rudalics  <rudalics@gmx.at>

	Fix documentation of `make-frame' and related variables and hooks

	* lisp/frame.el (before-make-frame-hook)
	(after-make-frame-functions, frame-inherited-parameters)
	(make-frame): Fix doc-strings.
	* doc/lispref/frames.texi (Creating Frames): Fix description
	of `make-frame' and related variables and hooks.

2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Accept new `always' value for option `buffer-offer-save'

	Also revert ee512e9a82

	* lisp/files.el (buffer-offer-save): In addition to nil and t, now
	  allows a third symbol value, `always'. A buffer where this option is
	  set to `always' will always be offered for save by
	  `save-some-buffers'.
	  (save-some-buffers): Check the exact value of this buffer-local
	  variable. No longer check the buffer name, or the value of
	  `write-contents-functions'.
	* doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
	* doc/lispref/files.texi (Saving Buffers): Remove note about buffer
	  names.
	* etc/NEWS: Mention in NEWS.

2017-09-24  Alan Third  <alan@idiocy.org>

	Improve new NS scrolling variable names

	* src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
	'ns-use-mwheel-acceleration'.
	(ns-touchpad-scroll-line-height): Replace with
	'ns-mwheel-line-height'.
	(ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
	* etc/NEWS: Change variable names.

2017-09-24  Philipp Stephani  <phst@google.com>

	Document 'replace-buffer-contents' in the manual.

	* doc/lispref/text.texi (Replacing): New node.

2017-09-23  Alan Third  <alan@idiocy.org>

	Fix undecorated frame resizing issues on NS (bug#28512)

	* src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
	toolbar on undecorated frames.
	(EmacsView::initFrameFromEmacs): Group window flags correctly.

2017-09-23  Eli Zaretskii  <eliz@gnu.org>

	Fix doc string of 'dired-listing-switches'

	* lisp/dired.el (dired-listing-switches): Fix the quoting
	example.  (Bug#28569)

2017-09-23  Eli Zaretskii  <eliz@gnu.org>

	Documentation improvements for 'display-line-numbers'

	* doc/emacs/display.texi (Display Custom): Document a few more
	options for display-line-numbers.  (Bug#28533)  Fix a typo.

2017-09-22  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in bat-mode.el

	* lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
	change.  (Bug#28311)

2017-09-22  Eli Zaretskii  <eliz@gnu.org>

	Fix restoring in GUI sessions desktop saved in TTY sessions

	* lisp/frameset.el (frameset-filter-font-param): New function.
	(frameset-persistent-filter-alist): Use it for processing the
	'font' frame parameter.  (Bug#17352)

2017-09-22  Eli Zaretskii  <eliz@gnu.org>

	Improve syntax highlighting in bat-mode

	* lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
	font-locking of environment variables.  Suggested by Achim Gratz
	<Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)

2017-09-22  Eli Zaretskii  <eliz@gnu.org>

	Document the 'list-FOO' convention

	* doc/lispref/tips.texi (Coding Conventions): Document the
	list-FOO convention.

2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>

	Expose viewing conditions in CAM02-UCS metric

	Also add tests from the colorspacious library.  Finally, catch an
	errant calculation, where degrees were not being converted to radians.
	* src/lcms.c (deg2rad, default_viewing_conditions):
	(parse_viewing_conditions): New functions.
	(lcms-cam02-ucs): Add comments pointing to references used.  Expand
	the docstring and explain viewing conditions.  JCh hue is given in
	degrees and needs to be converted to radians.
	(lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
	API needlessly impure.
	* test/src/lcms-tests.el: Reword commentary.
	(lcms-rgb255->xyz): New function.
	(lcms-cri-cam02-ucs): Fix let-binding.
	(lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.

2017-09-21  Alan Third  <alan@idiocy.org>

	Revert "Set frame size to actual requested size (bug#18215)"

	This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.

	See bug#28536. I misunderstood bug#18215. It wasn't a bug.

2017-09-21  Gemini Lasswell  <gazally@runbox.com>

	Add tests for Edebug

	* test/lisp/emacs-lisp/edebug-tests.el: New file.
	* test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.

2017-09-21  Gemini Lasswell  <gazally@runbox.com>

	Catch more messages in ert-with-message-capture

	* lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
	messages from prin1, princ and print.
	(ert--make-message-advice): New function.
	(ert--make-print-advice): New function.

2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Support setting region from secondary selection and vice versa

	* lisp/mouse.el (secondary-selection-exist-p): New function to
	allow callers to tell existence of the secondary selection
	in current buffer.
	(secondary-selection-to-region): New function to set
	beginning and end of the region from those of the secondary
	selection.
	(secondary-selection-from-region): New function to set
	beginning and end of the secondary selection from those of
	the region.  (Bug#27530)

	* etc/NEWS: Mention the new functions.

2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix new copy-directory bug with empty dirs

	Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
	(Bug#28483#34).  This is another bug that I introduced in my
	recent copy-directory changes.
	* lisp/files.el (copy-directory): Work with empty subdirectories, too.
	* test/lisp/files-tests.el (files-tests--copy-directory):
	Test for this bug.

2017-09-20  Eli Zaretskii  <eliz@gnu.org>

	* doc/lispref/strings.texi (Formatting Strings): Improve indexing.

2017-09-20  Eli Zaretskii  <eliz@gnu.org>

	Fix 2 testsuite tests for MS-Windows

	* test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
	create files with "*" in their names.
	* test/src/editfns-tests.el (format-time-string-with-zone): Adapt
	results to MS-Windows build.  Reported by Fabrice Popineau
	<fabrice.popineau@gmail.com>.

2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>

	Rename timer-list to list-timers

	* doc/emacs/anti.texi (Antinews):
	* doc/lispref/os.texi (Timers):
	* etc/NEWS:
	* lisp/emacs-lisp/timer-list.el:
	(timer-list-mode): Rename timer-list to list-timers.

2017-09-19  Alan Third  <alan@idiocy.org>

	Provide native touchpad scrolling on macOS

	* etc/NEWS: Describe changes.
	* lisp/term/ns-win.el (mouse-wheel-scroll-amount,
	mouse-wheel-progressive-speed): Set to smarter values for macOS
	touchpads.
	* src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
	calculate scrolling for touchpads and mouse wheels.
	(syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
	'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
	* src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
	* src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
	* lisp/mwheel.el (mwheel-scroll): Use line count.
	* lisp/subr.el (event-line-count): New function.

2017-09-19  Eli Zaretskii  <eliz@gnu.org>

	Fix MinGW64 build broken by recent MinGW64 import libraries

	* configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
	MinGW64 import libraries require that.  (Bug#28493)

	* src/Makefile.in: Adjust commentary to the new order of w32
	libraries.

2017-09-19  Eli Zaretskii  <eliz@gnu.org>

	Fix crashes in 'move-point-visually' in minibuffer windows

	* src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
	comparing against the last valid glyph_row of a window glyph
	matrix.  (Bug#28505)

2017-09-19  Eli Zaretskii  <eliz@gnu.org>

	* src/emacs.c (usage_message): Don't mention 'find-file'.

2017-09-19  Eli Zaretskii  <eliz@gnu.org>

	Fix a minor inaccuracy in the Emacs manual

	* doc/emacs/cmdargs.texi (Action Arguments): Don't mention
	'find-file', as the implementation has changed.  Reported by
	Everton J. Carpes <everton.carpes@gmail.com> in
	https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.

2017-09-19  Eli Zaretskii  <eliz@gnu.org>

	Fix errors in flyspell-post-command-hook

	* lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
	case of a nil Nth element of the language dictionary slot.  This
	avoids errors in 'flyspell-post-command-hook' when switching
	dictionaries with some spell-checkers.  (Bug#28501)

2017-09-19  Michael Albinus  <michael.albinus@gmx.de>

	Work on Tramp's file-truename

	* lisp/net/tramp-sh.el (tramp-perl-file-truename):
	Check also for symlinks.
	(tramp-sh-handle-file-truename): Move check for a symlink
	cycle to the end.  Do not blame symlinks which look like a
	remote file name.

	* lisp/net/tramp.el (tramp-handle-file-truename): Expand result.

2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug with make-directory on MS-Windows root

	* lisp/files.el (files--ensure-directory): Treat any error, not
	just file-already-exists, as an opportunity to check whether DIR
	is already a directory (Bug#28508).

2017-09-19  Tom Tromey  <tom@tromey.com>

	Fix log-view-diff-common when point is after last entry

	Bug#28466
	* lisp/vc/log-view.el (log-view-diff-common): If point is after last
	entry, look at the previous revision.

2017-09-18  Ken Brown  <kbrown@cornell.edu>

	Adapt fileio-tests--symlink-failure to Cygwin

	* test/src/fileio-tests.el (fileio-tests--symlink-failure)
	[CYGWIN]: Skip the case of a symlink target starting with '\';
	this is treated specially on Cygwin.

2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Ignore buffers whose name begins with a space in save-some-buffers

	* lisp/files.el (save-some-buffers): Consider these buffers
	  "internal", and don't prompt the user to save them.
	* doc/lispref/files.texi: Document.

2017-09-18  Michael Albinus  <michael.albinus@gmx.de>

	Improve tramp-interrupt-process robustness

	* lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
	process has disappeared.

2017-09-18  Michael Albinus  <michael.albinus@gmx.de>

	Minor Tramp doc update

	* doc/misc/tramp.texi (Frequently Asked Questions):
	Mention `vc-handled-backends'.

2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>

	Fix gensym

	* lisp/subr.el (gensym): Actually implement the default prefix.
	* test/lisp/subr-tests.el (subr-tests--gensym): New test.

2017-09-18  Rasmus  <rasmus@gmx.us>

	Update Org to v9.1.1

	Please see etc/ORG-NEWS for major changes.

2017-09-18  Michael Albinus  <michael.albinus@gmx.de>

	Cleanup in files-tests.el

	* test/lisp/files-tests.el (files-tests--make-directory)
	(files-tests--copy-directory): Cleanup temporary directories.

2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	Remove old cl-assert calls in 'newline'

	* lisp/simple.el (newline): Remove cl-assert calls
	that didn't seem to be helping us debug Bug#18913,
	and that caused problems as reported in Bug#28280.
	Suggested by Glenn Morris (Bug#28280#8).

2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid crash with C-g C-g in GC

	Problem reported by Richard Stallman (Bug#17406).
	Based on fix suggested by Eli Zaretskii (Bug#28279#16).
	* src/term.c (tty_send_additional_strings):
	Use only safe accessors, to avoid crash when C-g C-g in GC.

2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix format-time-string %Z bug with negative tz

	* src/editfns.c (tzlookup): Fix sign error in %Z when a purely
	numeric zone is negative (Bug#28746).
	* test/src/editfns-tests.el (format-time-string-with-zone):
	Add test for this bug.

2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	message-citation-line-format %Z is now tz name

	* etc/NEWS:
	* lisp/gnus/message.el (message-citation-line-format):
	Fix doc to match new behavior (Bug#28476).

2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>

	Use doc-view or pdf-tools on any window-system

	* lisp/net/mailcap.el (mailcap-mime-data): Simply check for
	window-system.

2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug with min and max and NaNs

	* src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
	mistakenly yielded 0.  Also, pacify GCC in a better way.
	* test/src/data-tests.el (data-tests-min): Test for the bug.

2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>

	Fix recently-introduced copy-directory bug

	Problem reported by Andrew Christianson (Bug#28451):
	* lisp/files.el (copy-directory): If COPY-CONTENTS, make the
	destination directory if it does not exist, even if it is a
	directory name.  Simplify, and omit unnecessary test for an
	already-existing non-directory target, since make-directory
	diagnoses that for us now.
	* test/lisp/files-tests.el (files-tests--copy-directory):
	Test for this bug.

2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from Gnulib

	This incorporates:
	2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
	2017-09-13 all: Replace many more http URLs by https URLs
	* build-aux/config.guess, build-aux/config.sub:
	* build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
	* lib/allocator.h, lib/count-leading-zeros.h:
	* lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
	* lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
	* lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
	* lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
	* m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
	* m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2017-09-17  Michael Albinus  <michael.albinus@gmx.de>

	Fix compatibility problem in Tramp

	* lisp/net/tramp.el (tramp-interrupt-process): Better error handling.

	* lisp/net/tramp-compat.el (default-toplevel-value): Move up.
	(top): Do not call `tramp-change-syntax' anymore.
	(tramp-compat-directory-name-p): New defalias.

	* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
	* lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-copy-file): Use it.

	* test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
	Modify test.

2017-09-17  Eli Zaretskii  <eliz@gnu.org>

	Avoid GCC 7 compilation warning in eval.c

	* src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
	GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
	in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.

2017-09-17  Michael Albinus  <michael.albinus@gmx.de>

	Adapt Tramp version.  Do not merge

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.3.3.26.1".
	(customize-package-emacs-version-alist): Add Tramp version
	integrated in Emacs 26.1.

2017-09-17  Tom Tromey  <tom@tromey.com>

	Search for Syntax section when viewing MDN

	* lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
	"Syntax" section.

2017-09-17  Tom Tromey  <tom@tromey.com>

	Allow smerge-keep-current to work for empty hunks

	Bug#25555
	* lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
	match-end.
	* test/lisp/vc/smerge-mode-tests.el: New file.

2017-09-17  Tom Tromey  <tom@tromey.com>

	Call vc-setup-buffer in vc-git-log-{in,out}going

	Bug#28427:
	* lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
	vc-setup-buffer.

2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix last change to textmodes/page-ext.el

	* lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
	while we build it (bug#28431).

2017-09-16  Glenn Morris  <rgm@gnu.org>

	* test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.

2017-09-16  Glenn Morris  <rgm@gnu.org>

	* test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.

	(cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)

2017-09-16  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation warning in etags.c

	* lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
	pointer.  Reported by Richard Copley <rcopley@gmail.com>.

2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>

	Add lisp variable lcms-d65-xyz

	This serves as the default optional argument for functions in this
	library.
	* src/lcms.c (lcms-d65-xyz): New variable.
	(lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
	color1 -> color2.
	* test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
	(lcms-colorspacious-d65): New variable.

2017-09-16  Gemini Lasswell  <gazally@runbox.com>

	* lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)

2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>

	Avoid MinGW64 compiler warnings in unexw32.c

	* src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
	64-bit build.

2017-09-16  Eli Zaretskii  <eliz@gnu.org>

	Start emacs-26 release branch

	* configure.ac:
	* nt/README.W32:
	* README:
	* msdos/sed2v2.inp: Increment Emacs version to 26.0.60.

	* lisp/cus-edit.el (customize-changed-options-previous-release):
	Update value to "25.3".

2017-09-16  Alan Mackenzie  <acm@muc.de>

	Cope better with C++ and Objective-C protection keywords in class declarations

	This fix fixes the fontification of a method inside a class at the time it is
	typed, when there is a protection keyword clause preceding it.

	* lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
	keywords.
	(c-looking-at-decl-block): Avoid scanning forward over protection keyword
	clauses too eagerly.

	* lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
	lang defconsts and defvars.

	* lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
	keyword following a semicolon or brace, move forward over it before attempting
	to parse a type.

2017-09-16  Eli Zaretskii  <eliz@gnu.org>

	Fix order of sorted overlays returned by 'overlays-at'

	* src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
	list of results, to have their order as per the documentation.
	(Bug#28390)

	* etc/NEWS: Mention the change in the behavior of overlays-at.

2017-09-16  Eli Zaretskii  <eliz@gnu.org>

	Disable execution of unsafe Lisp by Enriched Text mode

	* src/xdisp.c (handle_display_spec): If the display property is
	wrapped in 'disable-eval' form, disable Lisp evaluation while
	processing this property.
	(handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
	If that argument is false, don't evaluate Lisp while processing
	display properties.

	* lisp/textmodes/enriched.el
	(enriched-allow-eval-in-display-props): New defcustom.
	(enriched-decode-display-prop): If
	enriched-allow-eval-in-display-props is nil, wrap the display
	property with 'disable-eval' to disable Lisp evaluation when the
	display property is processed for display.  (Bug#28350)
	* lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
	enriched text.

	* doc/lispref/display.texi (Display Property): Document the
	'disable-eval' wrapping of 'display' properties.
	* doc/emacs/text.texi (Enriched Properties): Document
	'enriched-allow-eval-in-display-props'.

	* etc/NEWS: Describe the security issues with Enriched Text mode
	and their solution.

2017-09-16  Eli Zaretskii  <eliz@gnu.org>

	Avoid MinGW64 compilation warning in w32.c

	* src/w32.c (sys_strerror): Provide a prototype for MinGW64.

2017-09-16  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows build broken by recent changes in lcms.c

	* src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
	and cmsxyY2XYZ function pointers.
	(init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
	cmsxyY2XYZ from liblcms2.
	(cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
	corresponding function pointers.
	(Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
	(syms_of_lcms2): Defsubr Slcms_temp_to_white_point.

2017-09-16  Eli Zaretskii  <eliz@gnu.org>

	Avoid GCC 7 compilation warning in data.c

	* src/data.c (minmax_driver): Use UNINIT to avoid compilation
	warnings.  Reported by Fabrice Popineau
	<fabrice.popineau@centralesupelec.fr>.

2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>

	Add lcms-temp->white-point and initial tests

	* src/lcms.c (lcms-temp->white-point): New function.
	* test/src/lcms-tests.el: New file.

2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>

	Use cl-print in timer list

	* lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
	for handling functions.
	(timer-list-mode): Capitalize major mode name.  Set bidi direction
	as in tabulated-list-mode.

2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Make landscape layout with geometry package rather than a PostScript special.

	* lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
	default class option.
	(cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
	request to `cal-tex-insert-preamble' function call within the
	class option string.
	(cal-tex-cursor-month): Don't pass any longer "12pt" argument
	to `cal-tex-insert-preamble' function, as it is default.
	(cal-tex-insert-preamble): Suppress landscape and size
	argument, and replace them by a class-options string
	argument. Do not insert any longer "\special{landscape}" in
	case of landscape layout, as the job is made by the geometry
	package.

2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/json.el (json-read-keyword): Revert previous change to catch EOL.

2017-09-15  Eli Zaretskii  <eliz@gnu.org>

	One more attempt to avoid GCC 7 warnings in dispnew.c

	* src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
	eassert, to avoid compilation warnings about NULL pointer
	dereferences.

2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>

	Fix color-distance docstring

	Also feed the translated color to the metric argument.
	* src/xfaces.c (color-distance): Reword docstring to be more helpful.
	Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
	instead of the function's color arguments.

2017-09-15  Michael Albinus  <michael.albinus@gmx.de>

	Improve Tramp behavior according to bug#27986

	* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
	* lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-copy-file): Check, that NEWNAME is a
	directory name when existing.  Use `file-name-as-directory'
	where appropriate.

2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>

	More JSON optimization

	Last I checked, inlining json-skip-whitespace didn't make much
	difference.  However, changing defsubsts to define-inline results
	in roughly 15% reduction in read time on a 200K file.
	* lisp/json.el (json-advance, json-peek, json-pop):
	(json-skip-whitespace): Inline with define-inline.
	(json-read-keyword): Don't use whitespace syntax.
	(json-add-to-object): Simpler condition.

2017-09-15  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes due to invalid error forms from sentinels/filters

	* src/process.c (exec_sentinel_error_handler): Make sure the error
	form passed to cmd_error_internal is a cons cell.  (Bug#28430)

2017-09-15  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warnings with GCC 7 on MS-Windows

	* src/w32term.c (w32_setup_relief_color, construct_mouse_click)
	(w32_read_socket): Initialize variables to shut up bogus
	compilation warnings from GCC 7.
	* src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
	to avoid compiler warnings about printing signed values using %x
	format spec.
	* src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
	compiler warning about possible NULL pointer dereference.
	* src/lisp.h (pI): Tweak the definition some more for MinGW64.

2017-09-15  Martin Rudalics  <rudalics@gmx.at>

	Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only

	* src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
	case only to avoid unused macros warning otherwise.

2017-09-15  Martin Rudalics  <rudalics@gmx.at>

	In w32heap.c bump up DUMPED_HEAP_SIZE

	* src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
	to 13*1024*1024 for 32-bit non-wide-integer builds.

2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>

	Bind n,p in timer-list

	* lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
	to next- and previous-line, respectively.

2017-09-14  Glenn Morris  <rgm@gnu.org>

	* lisp/net/tls.el (tls-program): Fix :version.

2017-09-14  Eli Zaretskii  <eliz@gnu.org>

	* configure.ac (--with-lcms2, --without-lcms2): New options.

2017-09-14  Eli Zaretskii  <eliz@gnu.org>

	Avoid 64-bit compilation warnings in unexw32.c

	* src/unexw32.c (pDWP): New macro.
	(COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
	pDWP for printing values that can be either 32-bit or 64-bit wide.

2017-09-14  Eli Zaretskii  <eliz@gnu.org>

	Fix warnings about formats in printf-like functions on MS-Windows

	* src/lisp.h (pI) [__MINGW32__]: Provide definition that will
	hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
	https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
	for the details.
	* src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
	definition specific to MinGW64.
	(PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
	__mingw_printf__ in ANSI-compatible mode.

2017-09-14  Eli Zaretskii  <eliz@gnu.org>

	Support lcms2 in MS-Windows builds

	* lisp/term/w32-win.el (dynamic-library-alist): Include
	association for the lcms2 library.

	* src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
	DEF_DLL_FN to define pointers to dynamically loaded lcms2
	functions.
	(cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
	(cmsCIECAM02Done): New macros.
	(init_lcms_functions, Flcms2_available_p): New functions.
	(Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
	init_lcms_functions.
	(syms_of_lcms2): Defsubr lcms2-available-p.
	* src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.

	* configure.ac: Include lcms2 in the final report and in
	emacs_config_features.

	* nt/INSTALL:
	* nt/INSTALL.W64: Update with the information about lcms2 library.

2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>

	Port renameat_noreplace to openSUSE 12.3

	Problem reported by M. Nomiya in:
	https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
	* src/sysdep.c (renameat_noreplace):
	Call renameat2 only if CYGWIN.

2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer HTTPS to FTP and HTTP in documentation

	Most of this change is to boilerplate commentary such as license URLs.
	This change was prompted by ftp://ftp.gnu.org's going-away party,
	planned for November.  Change these FTP URLs to https://ftp.gnu.org
	instead.  Make similar changes for URLs to other organizations moving
	away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
	fsf.org when this works, as this will further help defend against
	man-in-the-middle attacks (for this part I omitted the MS-DOS and
	MS-Windows sources and the test tarballs to keep the workload down).
	HTTPS is not fully working to lists.gnu.org so I left those URLs alone
	for now.

2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer HTTPS to HTTP for gnu.org

	This patch just changes code files; a followup companion patch
	(much larger) will affect the commentary.  This part is
	separated out to make it easier to review.
	* .dir-locals.el (change-log-mode):
	* lisp/org/org-info.el (org-info-other-documents)
	(org-info-map-html-url):
	* lisp/org/ox-html.el (org-html-creator-string):
	* lisp/startup.el (fancy-startup-text, fancy-about-text)
	(fancy-splash-head):
	* test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
	* test/lisp/thingatpt-tests.el (thing-at-point-test-data):
	Use HTTPS instead of HTTP.

2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>

	Add tests for color.el

	* lisp/color.el (color-name-to-rgb, color-complement): Clarify in
	docstrings that RGB triplets should use four digits per component.
	(color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
	warning.

	* test/lisp/color-tests.el: New file.

2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make gnutls-verify-error work again with url-retrieve-synchronously

	* lisp/url/url-gw.el (url-open-stream): Only use :nowait if
	we're doing async connections (bug#26835).

	* lisp/url/url-parse.el (url): Add an asynchronous slot.

	* lisp/url/url.el (url-asynchronous): New variable.
	(url-retrieve-internal): Store the value.
	(url-retrieve-synchronously): Bind the variable.

2017-09-13  Michael Albinus  <michael.albinus@gmx.de>

	Improve backward compatibility of tramp-tests

	* test/lisp/net/tramp-tests.el (seq): Don't require.
	(tramp--test-emacs26-p): New defun.
	(tramp-test10-write-region, tramp-test11-copy-file)
	(tramp-test12-rename-file, tramp-test15-copy-directory)
	(tramp-test21-file-links): Use it.
	(tramp-test16-file-expand-wildcards): Use `copy-sequence'.

2017-09-13  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/trampver.el (customize-package-emacs-version-alist):

	Add Tramp version integrated in Emacs 25.3.

2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>

	Add clarification to if-let* docstring

	Also make its behavior consistent with and-let* in that empty bindings
	results in success, not failure.
	* lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.

2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Make fully qualified domain names more fully qualified

	* lisp/gnus/message.el (message-make-fqdn): Don't try to use a
	system-name without any periods as a fully qualified domain name.

2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	Remove unused file lib/getopt_.h

	* lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
	on 2011-01-08, but I forgot to remove the old file.

2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>

	Remove "baroque" use of prefix argument from gensym

	'cl-gensym' was simply moved here, but let us take an opportunity to
	shed some historical baggage.
	* lisp/subr.el (gensym): Remove special treatment of PREFIX as a
	number.  Use "g" as prefix to differentiate from cl-gensym defaults.
	* doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
	* lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.

2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>

	Provide an lcms2 feature

	* src/lcms.c (syms_of_lcms2): Provide "lcms2".

2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>

	Add lcms2 interface

	configure.ac: Add boilerplate for configuring and detecting liblcms2.
	etc/NEWS: Mention new configure option and color-distance change.
	src/Makefile.in: Add references to lcms.c and liblcms.
	src/emacs.c: Define lcms2 symbols.
	src/lcms.c: New file.
	src/lisp.h: Add declaration for lcms2.
	src/xfaces.c: Add optional METRIC argument.

2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>

	Add other D series white points and some simple conversions

	* lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
	constants.
	(color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
	(color-lch-to-lab): New functions.

2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>

	Permit non-integral color gradients

	* lisp/color.el (color-gradient): Float the step-number.

2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>

	Protect against malformed MIME messages that cause inf-loop (bugfix)

	* lisp/gnus/gnus-art.el (gnus-article-mime-handles):
	Protect against malformed MIME messages that cause inf-loop.

2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from Gnulib

	This incorporates:
	2017-09-13 all: prefer https: URLs
	This just changes http: to https: in comments,
	in files copied from Gnulib.

2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>

	Call vc-resynch-buffer in vc-git-resolve-when-done

	* lisp/vc/vc-git.el (vc-git-resolve-when-done):
	Call vc-resynch-buffer on the current file (bug#28121).
	Move its autoload to before this function.

2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Allow write-contents-functions to short-circuit buffer save

	Bug#28412

	* lisp/files.el (basic-save-buffer): Re-arrange function so that
	  write-contents-functions are run earlier. If they return non-nil,
	  consider the buffer saved without requiring the buffer to be
	  visiting a file.
	  (save-some-buffers): This function should consider any buffer with a
	  buffer-local value for write-contents-functions eligible for
	  saving.
	* test/lisp/files-tests.el (files-test-no-file-write-contents): New
	  test.
	* doc/lispref/files.texi (Saving Buffers): Mention in docs.
	* etc/NEWS: And in NEWS.

2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS.25: Copy from emacs-25 etc/NEWS.

2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>

	Less chatter for ’make info/dir’

	* Makefile.in (${srcdir}/info/dir): Tweak shell command so
	that an ordinary make says just "GEN info/dir" rather than
	also having a seemingly-unrelated mv line.

2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak Gnus doc re gnus-copy-file

	* doc/misc/gnus.texi (Saving Articles):
	Document behavior with directory name targets (Bug#27986).
	Problem reported by Katsumi Yamaoka in:
	https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html

2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>

	Update uses of if-let and when-let

	* lisp/dom.el (dom-previous-sibling):
	* lisp/emacs-lisp/package.el (package--with-work-buffer):
	(package--sort-deps-in-alist, package--sort-by-dependence):
	(package-install-from-archive, package-install):
	(package-menu-execute, package-menu--populate-new-package-list):
	* lisp/filenotify.el (file-notify--rm-descriptor):
	(file-notify--event-watched-file, file-notify--event-file-name):
	(file-notify--event-file1-name, file-notify-rm-watch):
	(file-notify-valid-p):
	* lisp/gnus/message.el (message-toggle-image-thumbnails):
	* lisp/gnus/nnimap.el (nnimap-request-move-article):
	* lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
	* lisp/mpc.el (mpc-format):
	* lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
	(eww-save-history):
	* lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
	* lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
	* lisp/svg.el (svg-remove):
	* lisp/textmodes/css-mode.el (css--named-color):
	(css--colon-inside-funcall):
	* lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
	(html-current-buffer-ids): Use if-let* and when-let* instead.

2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>

	Implement and-let*

	This also includes changes to if-let and when-let.  The single tuple
	special case is ambiguous, and binding a symbol to nil is not as
	useful as binding it to its value outside the lexical scope of the
	binding.  (Bug#28254)
	* etc/NEWS: Mention.
	* lisp/emacs-lisp/subr-x.el (internal--listify):
	(internal--build-binding-value-form): Extend to account for
	solitary symbols and (EXPR) items in binding varlist.
	(if-let*, when-let*): Nix single tuple case and incumbent
	bind-symbol-to-nil behavior.
	(and-let*): New macro.
	(if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
	they implicitly gain the new features without breaking existing code.
	* test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
	single-tuple special case, lack of binding solitary symbols to nil,
	and the introduction of uninterned symbols for (EXPR) bindings.  Add
	SRFI-2 test suite adapted to Elisp.

2017-09-12  Eli Zaretskii  <eliz@gnu.org>

	Fix minor typos in the Emacs manual

	* doc/emacs/text.texi (Org Organizer):
	* doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.

2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>

	Merge Emacs 25.3 fixes

	The security patches released for Emacs 25.3 were less drastic
	than what we had immediately put into master.  Adjust master to
	match 25.3 (Bug#28350).
	* lisp/textmodes/enriched.el (enriched-translations):
	Re-enable FUNCTION and display translations that are safe.
	(enriched-handle-display-prop): Bring back.
	(enriched-decode-display-prop): Bring back, but disable
	the unsafe part.

2017-09-12  Alan Mackenzie  <acm@muc.de>

	Don't match C++ template delims starting within a token.  FIxes bug #28418.

	* lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
	attempted match from the start of a token (in particular, "<<"), move to the
	next token rather than the nex character before searching for the next "<".

2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>

	Move gensym to core Elisp

	* doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
	after make-symbol.
	* etc/NEWS: Mention.
	* lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
	gensym-counter.
	(cl-gensym): Alias to gensym.
	* lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
	* lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
	* lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
	(ert--expand-should-1, ert--expand-should):
	(ert--should-error-handle-error):
	* lisp/emacs-lisp/generator.el (cps--gensym):
	* lisp/emacs-lisp/gv.el (setf):
	* lisp/emacs-lisp/inline.el (inline--do-letlisteval):
	* lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
	(pcase--funcall, pcase--u1): Use gensym.
	* lisp/subr.el (gensym-counter): New variable.
	(gensym): New function, assimilated from cl-lib.

2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>

	Fix cl-gentemp

	* lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
	(cl-gentemp): Use it.  Change prefix to "T".

2017-09-12  Sam Steingold  <sds@gnu.org>

	gnus-score-file-name: Do not append empty suffix.

2017-09-12  Michael Albinus  <michael.albinus@gmx.de>

	Extend tramp-tests according to bug#27986

	* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
	(tramp-test12-rename-file, tramp-test15-copy-directory)
	(tramp-test21-file-links): Extend tests.
	(tramp-test13-make-directory, tramp-test14-delete-directory):
	Specify error symbol in `should-error'.

2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>

	Add cl-print method for hash tables

	* lisp/emacs-lisp/cl-print.el (cl-print-object): New method.

2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>

	Add docstrings to cl-print entry points

	* lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
	(cl-prin1, cl-prin1-to-string): Add docstrings.

2017-09-12  Glenn Morris  <rgm@gnu.org>

	Improve reproducibility of generated leim-list.el

	* lisp/international/quail.el (quail-update-leim-list-file):
	Sort the quail directory listing, for more stable output.

2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>

	Include sxhash of object with printed bytecode

	This printing, while succinct, is rather opaque.  At least give an
	immediate clue of whether different byte code printouts are for the
	same or different byte code objects.
	* lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
	printed token "#<bytecode>".

2017-09-11  Eli Zaretskii  <eliz@gnu.org>

	Update documentation of 'max-lisp-eval-depth'

	* doc/lispref/eval.texi (Eval): Update the documented default
	value of 'max-lisp-eval-depth'.

2017-09-11  Eli Zaretskii  <eliz@gnu.org>

	Another place to produce debugging output in etags

	* lib-src/etags.c (Ruby_functions): One more place to print
	debugging output under --debug.

2017-09-11  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of etags-related features

	* doc/emacs/maintaining.texi (Looking Up Identifiers): Document
	'xref-prompt-for-identifier'.  (Bug#28403)
	(Etags Regexps): Document \D back references in etags regexps.

2017-09-11  Alan Third  <alan@idiocy.org>

	Fix macOS compatibility versions for vibrant dark theme (bug#28415)

	* src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
	Change macOS compatibility from 10.9 to 10.10.

2017-09-11  Michael Albinus  <michael.albinus@gmx.de>

	Further optimization in Tramp's file name decomposition

	* lisp/net/tramp.el (tramp-syntax): Recompute all file name
	components.  Call `custom-set-variables' after loading.
	(tramp-build-prefix-format, tramp-build-prefix-regexp)
	(tramp-build-method-regexp)
	(tramp-build-postfix-method-format)
	(tramp-build-postfix-method-regexp)
	(tramp-build-prefix-ipv6-format)
	(tramp-build-prefix-ipv6-regexp)
	(tramp-build-postfix-ipv6-format)
	(tramp-build-postfix-ipv6-regexp)
	(tramp-build-postfix-host-format)
	(tramp-build-postfix-host-regexp)
	(tramp-build-file-name-regexp)
	(tramp-build-completion-file-name-regexp): New defuns.
	(tramp-prefix-format, tramp-prefix-regexp)
	(tramp-method-regexp, tramp-postfix-method-format)
	(tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
	(tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
	(tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
	(tramp-postfix-host-regexp)
	(tramp-remote-file-name-spec-regexp)
	(tramp-file-name-structure, tramp-file-name-regexp)
	(tramp-completion-file-name-regexp): Convert defuns into defvars.
	(tramp-prefix-regexp-alist)
	(tramp-postfix-method-regexp-alist)
	(tramp-prefix-ipv6-regexp-alist)
	(tramp-postfix-ipv6-regexp-alist)
	(tramp-postfix-host-regexp-alist)
	(tramp-remote-file-name-spec-regexp-alist): Remove.
	(tramp-build-remote-file-name-spec-regexp)
	(tramp-build-file-name-structure): Simplify.
	(tramp-completion-file-name-regexp-alist): New defconst.
	(tramp-tramp-file-p, tramp-dissect-file-name)
	(tramp-make-tramp-file-name)
	(tramp-completion-make-tramp-file-name)
	(tramp-rfn-eshadow-update-overlay-regexp)
	(tramp-register-file-name-handlers)
	(tramp-completion-handle-file-name-all-completions)
	(tramp-completion-dissect-file-name, tramp-clear-passwd):
	* lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
	* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
	(tramp-compute-multi-hops): Use variables but functions for
	file name components.

	* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
	Use variables but functions for file name components.

2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Port tramp-tests to new copy-directory behavior

	* test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
	Use directory name as arg for copy-directory when we want
	the special behavior.

2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Adjust thumbs to new rename-file behavior

	* etc/NEWS: Mention this.
	* lisp/thumbs.el (thumbs-rename-images): Treat the destination
	as special only if it is a directory name.  When there is
	a marked list, turn the destination into a directory name
	if it is not already.

2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Adjust ob-tangle to new copy-file behavior

	* lisp/org/ob-tangle.el (org-babel-tangle-publish):
	Port to new copy-file behavior.

2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Make gnus-copy-file act like copy-file etc.

	* etc/NEWS: Mention this.
	* lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
	as special only if it is a directory name.

2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Make write-file act like copy-file etc.

	Change write-file to be consistent with the new behavior
	of copy-file, etc.
	* etc/NEWS: Mention this.
	* lisp/files.el (write-file): Treat the destination as special
	only if it is a directory name.

2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Make copy-directory act like copy-file etc.

	Do the special dance with the destination only if it is a
	directory name, for consistency with copy-file etc. (Bug#27986).
	* doc/emacs/files.texi (Copying and Naming):
	* doc/lispref/files.texi (Create/Delete Dirs):
	* etc/NEWS: Document this.
	* lisp/files.el (copy-directory): Treat NEWNAME as special
	only if it is a directory name.

2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some make-directory bugs

	* lisp/files.el (files--ensure-directory): New function.
	(make-directory): Use it to avoid bugs when (make-directory FOO t)
	is invoked on a non-directory, or on a directory hierarchy that
	is being built by some other process while Emacs is running.
	* test/lisp/files-tests.el (files-tests--make-directory): New test.

2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix race with rename-file etc. with dir NEWNAME

	This changes the behavior of rename-file etc. slightly.
	The old behavior mostly disagreed with the documentation, and had
	a race condition bug that could allow attackers to modify victims'
	write-protected directories (Bug#27986).
	* doc/lispref/files.texi (Changing Files): Document that in
	rename-file etc., NEWFILE is special if it is a directory name.
	* etc/NEWS: Document the change in behavior.
	* src/fileio.c (directory_like): Remove.  All uses removed.
	(expand_cp_target): Test only whether NEWNAME is a directory name,
	not whether it is currently a directory.  This avoids a race.
	(Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
	Document behavior if NEWNAME is a directory name.
	(Frename_file): Simplify now that the destdir behavior occurs
	only when NEWNAME is a directory name.
	* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
	(tramp-test12-rename-file, tramp--test-check-files):
	Adjust tests to match new behavior.

2017-09-10  Eli Zaretskii  <eliz@gnu.org>

	Extend --debug printouts in etags

	* lib-src/etags.c (regex_tag_multiline, readline): Under
	"--debug", print tags found via regexps.

2017-09-10  Eli Zaretskii  <eliz@gnu.org>

	Add --debug option to etags

	* lib-src/etags.c (make_tag): Print found tags under --debug.
	(longopts): Add --debug.

2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling fixes

	* lisp/progmodes/cc-langs.el:
	(c-ambiguous-overloadable-or-identifier-prefixes): Rename from
	c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.

2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-09-08 stddef: Avoid conflict with system-defined max_align_t
	2017-08-24 warnings: fix compilation with old autoconf
	2017-08-23 glob: merge from glibc with Zanella glob changes
	2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
	* doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
	* lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
	* m4/warnings.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2017-09-10  Ken Brown  <kbrown@cornell.edu>

	Implement renameat_noreplace on recent Cygwin

	* src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
	(renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
	(Bug#27986)

2017-09-10  Eli Zaretskii  <eliz@gnu.org>

	Avoid warnings about file names in autoloads on MS-Windows

	* configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
	avoid warnings from find-file-noselect when making autoloads.  For
	the details, see
	https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.

2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>

	Avoid looking at localized strings

	* lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
	localized strings.
	* test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
	parsing l10n strings doesn't error but is essentially a no-op.

2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS.25: Document 25.3 changes.

2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove unsafe enriched mode translations

	* lisp/gnus/mm-view.el (mm-inline-text):
	Do not worry about enriched or richtext type.
	* lisp/textmodes/enriched.el (enriched-translations):
	Remove translations for FUNCTION, display (Bug#28350).
	(enriched-handle-display-prop, enriched-decode-display-prop): Remove.

2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>

	Be more consistent about "directory name" in manual

	This clarifies the documentation, partly in response to the
	discussion in Bug#27986.

2017-09-09  Eli Zaretskii  <eliz@gnu.org>

	Remove more compilation warnings in MinGW64 build

	* src/w32.c (faccessat, map_w32_filename):
	* src/w32fns.c (w32_wnd_proc):
	* src/w32term.c (w32_horizontal_scroll_bar_handle_click)
	(w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
	warnings with GCC 7 and later.

2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>

	Improve --enable-gcc-warnings for MinGW64

	This partially reverts my 2016-05-30 patch.  Apparently MinGW64
	still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
	does not.  Also, pacify tparam.c, which isn’t used on Fedora.
	* lib-src/etags.c (process_file_name, TeX_commands):
	* src/buffer.c (fix_overlays_before):
	* src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
	(cons_to_signed):
	* src/editfns.c (Ftranslate_region_internal):
	Prefer UNINIT to some stray value, as this simplifies
	code-reading later.
	* src/eval.c (CACHEABLE): New macro.
	(internal_lisp_condition_case): Use it.
	* src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.

2017-09-09  Eli Zaretskii  <eliz@gnu.org>

	Fix font-lock in Compilation mode

	* lisp/progmodes/compile.el (compilation-face): Restore function
	lost during recent changes.  (Bug#28349)

2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>

	Add function to read all entries in a group

	Use that to extend xdg-desktop-read-file.  Also fix a bug where all
	entries in all groups were read and returned by xdg-desktop-read-file.
	* lisp/xdg.el (xdg-desktop-read-group): New function.
	(xdg-desktop-read-file): Use it.
	* test/data/xdg/malformed.desktop: New file.
	* test/data/xdg/test.desktop: Add another section.
	* test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
	in another group.  Test reading a prescribed group.  Test detecting a
	malformed key=value.

2017-09-09  Gemini Lasswell  <gazally@runbox.com>

	Reduce Tramp's memory usage

	Construct Tramp syntax strings and regular expressions once instead
	of every time they are used, and store them in alists keyed by Tramp
	syntax.
	* lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
	(tramp-build-file-name-structure): New functions.
	(tramp-prefix-format-alist, tramp-prefix-regexp-alist)
	(tramp-method-regexp-alist)
	(tramp-postfix-method-format-alist)
	(tramp-postfix-method-regexp-alist)
	(tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
	(tramp-postfix-ipv6-format-alist)
	(tramp-postfix-ipv6-regexp-alist)
	(tramp-postfix-host-format-alist)
	(tramp-postfix-host-regexp-alist)
	(tramp-remote-file-name-spec-regexp-alist)
	(tramp-file-name-structure-alist): New constants.
	(tramp-lookup-syntax): New function.
	(tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
	(tramp-postfix-method-format, tramp-postfix-method-regexp)
	(tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
	(tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
	(tramp-postfix-host-format, tramp-postfix-host-regexp)
	(tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
	Use it.

2017-09-09  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation warnings in MinGW64 build using GCC 7

	Reported by Richard Copley <rcopley@gmail.com>.
	* src/w32heap.c (init_heap): Declare enable_lfh only for
	mingw.org's MinGW build.

	* src/w32console.c (w32con_write_glyphs):
	* src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
	mismatches of data type vs format spec.

	* src/w32fns.c (compute_tip_xy):
	* src/w32proc.c (stop_timer_thread):
	* src/w32notify.c (remove_watch):
	* src/eval.c (internal_lisp_condition_case):
	* src/editfns.c (Ftranslate_region_internal):
	* src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
	(cons_to_signed):
	* src/buffer.c (fix_overlays_before): Initialize variables to
	avoid compiler warnings.

	* lib-src/etags.c (TeX_commands, process_file_name): Initialize
	variables to avoid compilation warnings.

2017-09-09  Eli Zaretskii  <eliz@gnu.org>

	Avoid infloop when scrolling under scroll-preserve-screen-position

	* src/window.c (window_scroll_pixel_based): If screen position is
	to be preserved, make sure its recorded Y coordinate is outside
	the scroll margin.  (Bug#28342)

2017-09-09  Michael Albinus  <michael.albinus@gmx.de>

	Clarification in tramp-texi

	* doc/misc/tramp.texi (Connection caching): Two connections are
	regarded as different now when they differ in the port number only.

2017-09-09  Miles Bader  <miles@gnu.org>

	* admin/quick-install-emacs: Tweak configure.ac parsing

2017-09-09  Miles Bader  <miles@gnu.org>

	Use text-property buttons in rcirc-markup-urls

	* lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
	instead of `make-button'; the former is much more efficient in large
	buffers, and for the purposes of rcirc, changes no functionality.

2017-09-08  Eli Zaretskii  <eliz@gnu.org>

	Fix line-pixel-height for lines of variable height

	* src/xdisp.c (Fline_pixel_height): Start moving from the
	beginning of the screen line, to capture the full metrics of the
	line.  (Bug#28391)

2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)

	New variable 'dired-confirm-killing-deleted-buffers'

	* lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
	New variable.
	* lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
	visiting deleted files without confirming if
	dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
	* etc/NEWS: Document the change.

2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)

	Support SVN files with svn:externals property

	* lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
	marked with the svn:externals property.

2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)

	List locally removed files in vc-dir with SVN back-end

	* lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
	with ?! as needs-update.

2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>

	Fix Rmail editing with reapplying encoding to message body

	* lisp/mail/rmailedit.el (rmail-cease-edit):  If no
	content-type in edited headers, look for one in original
	headers and add it to edited headers.  (Bug #26918)
	Use a marker to track start of new body, so that
	content-transfer-encoding gets applied only to body.  (Bug #27353).
	Ensure blank line at end of message after encoding, not
	before.

2017-09-08  Eli Zaretskii  <eliz@gnu.org>

	Document last change in dired.el

	* etc/NEWS (Dired): Document the last change in dired.el.
	(Bug#27435)

2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Make mouse clicks in Dired more customizable

	* lisp/dired.el (dired-mouse-find-file): Allow callers to
	specify functions to visit file/directory.
	(dired-mouse-find-file-other-window)
	(dired-mouse-find-file-other-frame): New functions to visit
	files in another window/frame.  (Bug#27435)

2017-09-08  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warnings on MS-Windows with GCC 6 and 7

	* src/w32font.c (SUBRANGE): Use unsigned arithmetic for
	bit-shifting, to avoid compiler warnings.
	(w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
	a warning.  For details of the warning, see
	https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
	* src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
	in that build.
	* src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
	function is not used in that build.

	* configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.

2017-09-08  Eli Zaretskii  <eliz@gnu.org>

	Fix 'directory-file-name' on DOS_NT systems as well

	* src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
	to be consistent with last change.

	* test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
	Disable on MS-Windows.
	(fileio-tests--directory-file-name-dos-nt)
	(fileio-tests--file-name-as-directory-dos-nt): New tests.

2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>

	Fix various verilog-mode.el issues.

	* lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
	"*/*", msg2284. Reported by Jonathan Ferguson.
	(ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
	by Victor Lau.
	(verilog-getopt, verilog-getopt-file) (verilog-library-flags,
	verilog-substitute-file-name-path): Support -F in verilog getopt files,
	bug1171. Reported by George Cuan.
	(verilog-do-indent): Fix misindenting symbols starting with t,
	bug1169. Reported by Hoai Tran.
	(verilog-read-auto-template-middle): Fix slow template matching on
	AUTOINST. Reported by Jeffrey Huynh.
	(verilog-pretty-expr): The extra whitespace addition before "=" operators
	is now done only if the whole assignment block contains the 2-character
	"<=" operator.  Remove the unused argument _myre.  Use `unless',
	`save-excursion' and `when' functions where possible.  Internal variables
	refactored for clarity.  Follow elisp convention for closing parentheses.
	By Kaushal Modi.
	(verilog-get-lineup-indent-2): Update docstring.  Internal variables
	refactored for clarity.  Earlier EDPOS argument was expected to be a
	marker; it is now renamed to END and is now expected to be a position.
	Use `when' instead of `if'.  By Kaushal Modi.
	(electric-verilog-terminate-line): Remove the unused second argument from
	`verilog-pretty-expr' call.  By Kaushal Modi.
	(verilog-calc-1): Fix indentation of a virtual class definition after a
	typedef class, bug1080.  By Kaushal Modi.

2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>

	Don't use summary window to visit group buffer (bugfix)

	* lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
	the window to open the group buffer doesn't visit the summary buffer.
	This fixes a bug: `gnus-summary-next-article' sometimes causes an error
	by trying to select nonexistent summary window.

2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug: (directory-file-name "///") returned "//"

	* src/fileio.c (directory_file_name): For "///" and longer,
	return "/", not "//", as per POSIX.
	* test/src/fileio-tests.el (fileio-tests--directory-file-name)
	(fileio-tests--file-name-as-directory): New tests.

2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>

	Remove obsolete vc-mistrust-permissions doc

	* doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
	for vc-mistrust-permissions, which no longer exists.

2017-09-07  Alan Third  <alan@idiocy.org>

	Set frame size to actual requested size (bug#18215)

	* src/nsterm.m (x_set_window_size): Don't use
	FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.

2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>

	autogen.sh: omit bogus chatter if no .git

	Problem reported by Angelo Graziosi in:
	https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
	* autogen.sh (git_config): Do not execute 'git' if $do_git fails.

2017-09-07  Glenn Morris  <rgm@gnu.org>

	Skip emacsclient tests if --enable-profiling was used

	* test/lib-src/emacsclient-tests.el
	(emacsclient-test-call-emacsclient): Make it a macro.
	Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
	(emacsclient-test-alternate-editor-allows-arguments)
	(emacsclient-test-alternate-editor-allows-quotes): Update for above.

2017-09-06  Eli Zaretskii  <eliz@gnu.org>

	Fix a minor markup problem in ELisp manual

	* doc/lispref/functions.texi (Mapping Functions): Fix the order of
	@example and @group.  For the details, see
	https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.

2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>

	Add XDG desktop file parsing and tests

	* lisp/xdg.el: Add support for Desktop Entry Specification.
	(xdg--user-dirs-parse-line): Check if file is readable.
	(xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
	(xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
	New functions.
	* test/lisp/xdg-tests.el:
	* test/data/xdg/test.desktop:
	* test/data/xdg/wrong.desktop: New files.

2017-09-06  Glenn Morris  <rgm@gnu.org>

	Allow for adjusting line length of test backtraces

	* test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
	(%.log): Respect backtrace line length.

2017-09-06  Glenn Morris  <rgm@gnu.org>

	Allow customizing line length of ert backtraces in batch mode

	* lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
	Make it a user option.
	(ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.

2017-09-06  Glenn Morris  <rgm@gnu.org>

	Minor emacsclient-tests simplification

	* test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
	Simplify.  Also work when running installed.

2017-09-06  Alan Third  <alan@idiocy.org>

	Revert "Force screen update after drawing cursor glyph (bug#23774)"

	This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.

	See bug#28358

2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>

	Refactor some loops in mailcap.el

	* lisp/net/mailcap.el (mailcap-mime-types):
	(mailcap-file-default-commands): Convert nested maps to loops.

2017-09-05  Glenn Morris  <rgm@gnu.org>

	emacsclient-tests: remove some debug statements

	* test/lib-src/emacsclient-tests.el
	(emacsclient-test-call-emacsclient): Remove debug statements.

2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>

	Handle non-zero exit status from psql more gracefully

	* lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
	exit statuses from `psql -ltX' more gracefully by returning nil.

	* test/lisp/progmodes/sql-tests.el
	(sql-tests-postgres-list-databases-error): New test.

2017-09-05  Eli Zaretskii  <eliz@gnu.org>

	Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows

	* src/w32proc.c (sys_kill): Preserve the up/down state of the
	Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)

2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>

	* src/image.c (Fimagemagick_types): Doc fix.

2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>

	Move soundex.el test to a proper test

	* test/lisp/soundex-tests.el: New file.
	* lisp/soundex.el: Use lexical-binding.  Remove commented test.

2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>

	Add tests for mailcap.el

	* test/data/mailcap/mime.types: New file.
	* test/lisp/net/mailcap-tests.el: New file.

2017-09-05  Michael Albinus  <michael.albinus@gmx.de>

	Doc precisment about remote link targets

	* doc/lispref/files.texi (Truenames): Explain handling of
	targets of `file-truename' and `make-symbolic-link', which
	look like a remote file name.

	* etc/NEWS: Precise examples for symlinks which look like
	remote file names.  MUSTBENEW of `write-region' is not
	propagated to file name handlers.

2017-09-05  John Wiegley  <johnw@newartisans.com>

	Remove an opinionated section on "What Eshell is not"

	I don't find this information to accurately reflect possible use cases
	for Eshell; plus, it doesn't offer much in the way of information,
	just opinion.

2017-09-05  Ken Brown  <kbrown@cornell.edu>

	Fix configure test for Xpm

	Problem reported by Ashish Shukla in
	https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
	* configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
	noX/xpm.h in configure test.

2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>

	Revert recent float→double Motif change

	Problem reported by Martin Rudalics in:
	https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
	* src/xterm.c (xm_scroll_callback, xaw_jump_callback)
	(x_set_toolkit_scroll_bar_thumb)
	(x_set_toolkit_horizontal_scroll_bar_thumb):
	Go back to using ‘float’ temporaries rather than ‘double’.
	Although quite possibly this masks an underlying bug,
	we lack time to look into that now.

2017-09-04  Glenn Morris  <rgm@gnu.org>

	emacsclient-tests: add some debug statements

	* test/lib-src/emacsclient-tests.el
	(emacsclient-test-call-emacsclient): Add debug statements.

2017-09-04  Michael Albinus  <michael.albinus@gmx.de>

	Work on Tramp's (symbolic) links

	* doc/misc/tramp.texi (Traces and Profiles): Mention the
	backtrace when tramp-verbose is greater than or equal to 10.

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	Use `tramp-handle-add-name-to-file'.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
	`tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.

	* lisp/net/tramp-smb.el (tramp-smb-errors):
	Add "NT_STATUS_CONNECTION_DISCONNECTED" and
	"NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
	(tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
	(tramp-smb-do-file-attributes-with-stat): Return non-nil only
	if one of the attributes is non-nil.
	(tramp-smb-handle-file-local-copy): Use `file-truename'.
	(tramp-smb-handle-file-truename): Move to tramp.el.
	(tramp-smb-handle-insert-directory): Show symlinks.
	(tramp-smb-handle-make-symbolic-link): Improve.
	(tramp-smb-read-file-entry): Handle extended file modes in Samba.

	* lisp/net/tramp.el (tramp-handle-add-name-to-file)
	(tramp-handle-file-truename): New defuns.

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
	(tramp--test-check-files): Make check for "smb".

2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>

	Embed JSON readtable into json-read

	Also unroll dispatch into a cond.
	* lisp/json.el (json-readtable): Remove.
	(json-readtable-dispatch): New macro.  Assimilate json-readtable.
	(json-read): Use the macro.

2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>

	Hexify strings in EWW search queries

	Previously, inputting "cats & dogs" would lose dogs because the
	ampersand signifies a query parameter.  Instead, hexify each word while
	preserving quotes with split-string.
	* lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
	with + separators, instead of replacing whitespace with +.

2017-09-03  Glenn Morris  <rgm@gnu.org>

	emacsclient-tests: call-process may return non-integer

	* test/lib-src/emacsclient-tests.el
	(emacsclient-test-alternate-editor-allows-arguments)
	(emacsclient-test-alternate-editor-allows-quotes):
	Handle non-integer return from call-process.

2017-09-03  Eli Zaretskii  <eliz@gnu.org>

	* lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)

2017-09-03  Alan Third  <alan@idiocy.org>

	Force screen update after drawing cursor glyph (bug#23774)

	* src/nsterm.m (ns_draw_window_cursor): Force a screen update after
	drawing the glyph over the cursor.

2017-09-03  Alan Mackenzie  <acm@muc.de>

	Correct the fontification of quote marks after buffer changes in CC Mode.

	* lisp/progmodes/cc-defs.el
	(c-search-forward-char-property-with-value-on-char): New macro.

	* lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
	(c-parse-quotes-after-change): Rewrite the functions, simplifying
	considerably, and removing unnecessary optimizations.
	Invalidate two caches after manipulating text properties.

2017-09-03  Alan Mackenzie  <acm@muc.de>

	Fix fontification of "operator~" in C++ Mode.

	* lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
	(c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.

	* lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
	two other symbols) as a cast without good evidence.  Prefer an overloaded
	operator in ambiguous cases.

2017-09-03  Martin Rudalics  <rudalics@gmx.at>

	In delete_frame do not delete terminal for any toolkit build

	* src/frame.c (delete_frame): Neither delete terminal for
	non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
	Bug#27816).

2017-09-02  Philipp Stephani  <phst@google.com>

	Improve error messages for improper plists (Bug#27726)

	* src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
	(Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
	improper plists instead of ‘listp.’

	* test/src/fns-tests.el (plist-get/odd-number-of-elements)
	(lax-plist-get/odd-number-of-elements)
	(plist-put/odd-number-of-elements)
	(lax-plist-put/odd-number-of-elements)
	(plist-member/improper-list): Add unit tests.

2017-09-02  Eli Zaretskii  <eliz@gnu.org>

	Fix decrypting in plstore.el on MS-Windows

	* lisp/plstore.el (plstore-open): Bind coding-system-for-read to
	raw-text, instead of using insert-file-contents-literally.
	(Bug#28114)

2017-09-02  Eli Zaretskii  <eliz@gnu.org>

	* src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)

2017-09-02  Eli Zaretskii  <eliz@gnu.org>

	Rewrite Antinews for Emacs 26

	* doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
	* doc/lispref/elisp.texi (Top): Update the top-level menu's
	Antinews entry.
	* doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
	* doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
	entry.

	* etc/NEWS: Rearrange some entries in a more reasonable order.

2017-09-02  Reuben Thomas  <rrt@sc3d.org>

	Fix a mis-binding in a test

	* test/lisp/progmodes/python-tests.el
	(python-shell-calculate-process-environment-3): Fix binding of
	process-environment.  A level of parens was missing.

	This was found after Glenn Morris noticed a similar problem with the
	patch for Bug#28319.

2017-09-02  Reuben Thomas  <rrt@sc3d.org>

	Fix a mis-binding and a bad defun name in a test (Bug#28319)

	test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
	emacsclient-test-call-emacsclient.
	(emacsclient-test-alternate-editor-allows-arguments)
	(emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
	process-environment.

	Thanks to Glenn Morris for noticing these errors.

2017-09-02  Glenn Morris  <rgm@gnu.org>

	* test/Makefile.in (check-no-automated-subdir): Silence by default.

	* test/Makefile.in (ELFILES): Sort, for a reproducible order.

2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>

	Turn off checkdoc complaint about default argument order

	* etc/NEWS: Mention change.
	* lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
	Disable by default, note version.

2017-09-01  Reuben Thomas  <rrt@sc3d.org>

	Stop emacsclient tests hanging (Bug#28319)

	* test/lib-src/emacsclient-tests.el
	(emacsclient-test-alternate-editor-allows-arguments): Use a
	non-existent file to communicate with server, so that any existing
	default server will not be hijacked (in fact, the test does
	not need a server).
	(emacsclient-test-alternate-editor-allows-quotes): Likewise.

2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/obsolete/html2text.el: Don't require CL

	(html2text-clean-anchor): Mark unused arg.

2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>

	Don't remove undisplayers from inlined MIME parts (bugfix)

	* lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
	Don't remove undisplayers from inlined MIME parts (bugfix);
	Simplify criterion that finds attachments.

2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>

	Make ucs-names a hash table (Bug#28302)

	* etc/NEWS: Mention the type change.
	* lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
	Hardcode BEL's name into the function instead of needlessly mapping
	over the hash table in the spirit of rassoc.
	* lisp/international/mule-cmds.el (ucs-names): Fix variable and
	function docstrings.  Initialize a hash table for ucs-names--the
	number of entries is 42845 here.  Switch to hash-table
	getters/setters.
	(mule--ucs-names-annotation): Use hash-table getter.
	(char-from-name): Upcase the string if ignore-case is truthy.
	* lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.

2017-08-31  Alan Third  <alan@idiocy.org>

	Remove unneeded version checks (bug#28222)

	* src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
	check.
	* src/macfont.m (macfont_draw): Remove version check, and test for
	existence of CGContextSetFontSmoothingStyle.

2017-08-31  Alan Mackenzie  <acm@muc.de>

	Fix a glitch in CC Mode's syntactic whitespace cache.

	* lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
	comment close at the end of a macro.

2017-08-31  Alan Mackenzie  <acm@muc.de>

	Correct the fontification of C++ Mode enclosed declarations.

	* lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
	spurious check that the character before the start of an enclosed declaration
	must be ; or }.  It might also be {.

2017-08-31  Martin Rudalics  <rudalics@gmx.at>

	In xterm.c fix some recently introduced compiler warnings

	* src/xterm.c (xaw_jump_callback)
	(x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
	-Wdouble-promotion warnings.

2017-08-31  Martin Rudalics  <rudalics@gmx.at>

	Restrict fix of Bug#24963 and Bug#25887 to GTK builds

	* src/xterm.c (handle_one_xevent): Restrict earlier fix of
	Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
	react to state changes received via ConfigureNotify.

2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>

	Respect directory a user enters (bug#28299)

	* lisp/gnus/mm-decode.el (mm-save-part):
	Respect directory a user enters (bug#28299).

2017-08-31  Samuel Freilich  <sfreilich@google.com>

	Do not split line before width of fill-prefix

	When auto-filling a paragraph, don't split a line before the width of the
	fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
	* lisp/simple.el (do-auto-fill): Only consider break-points that are later in
	the line than the width of the fill-prefix.  This is a more general solution
	than the previous logic, which only skipped over the exact fill-prefix.  The
	fill-prefix doesn't necessarily match the prefix of the first line of a
	paragraph in adaptive-fill-mode.

2017-08-31  Noam Postavsky  <npostavs@gmail.com>

	Support lazy loading for autogenerated usage docstrings too (Bug#27748)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
	Consider any documentation that ended up in code as a docstring (e.g.,
	autogenerated (fn ARG1 ARG2) type things), not just what the user
	passed.

2017-08-31  Noam Postavsky  <npostavs@gmail.com>

	Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)

	* lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
	to drop the docstring.  Add a simple docstring to the compiler-macro.

2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	Quote file-truename symlink to "../foo:bar:"

	Problem reported by Michael Albinus (Bug#28264#19).
	* lisp/files.el (files--splice-dirname-file): Fix bug where
	a relative symlink to "../foo:bar:" did not quote the result.

2017-08-30  Reuben Thomas  <rrt@sc3d.org>

	Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)

	* lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
	corresponding command-line argument, into quote- or space-separated
	tokens.  If a token starts with a quote, then it naturally is expected
	to end with a quote; escaping is not supported. This is enough to cope
	with the typical case of requiring the initial path to be quoted,
	common on Windows where it may contain spaces.
	* etc/NEWS: Document.
	* doc/emacs/misc.texi: Likewise.
	* doc/man/emacsclient.1: Tweak to remove the implication that only an
	editor can be specified (the manual already mentions a “command”).
	Fix a small error where “EDITOR” is referred to rather than
	“ALTERNATE_EDITOR”.
	* test/lib-src/emacsclient-tests.el: Add tests.

2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.

2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)

	Correct "hide others" shortcut on macOS (bug#28215)

	* lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.

2017-08-30  Eli Zaretskii  <eliz@gnu.org>

	Sync NEWS with the documentation

	* etc/NEWS: Mark entries according to documentation.

	* doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.

2017-08-30  Michael Albinus  <michael.albinus@gmx.de>

	Improve symlinks for Tramp

	* lisp/files.el (files--splice-dirname-file): Quote whole file.

	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
	Do not expand TARGET, it could be remote.
	(tramp-sh-handle-file-truename): Check for cyclic symlink also
	in case of readlink.  Quote result if it looks remote.
	(tramp-sh-handle-file-local-copy): Use `file-truename'.

	* test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
	(tramp-test09-insert-file-contents): Test also file missing.
	(tramp-test21-file-links): Extend test.

2017-08-30  Martin Rudalics  <rudalics@gmx.at>

	Preserve display's foreground color when clearing internal borders (Bug#28278)

	* src/xterm.c (x_after_update_window_line): Preserve display's
	foreground color when clearing internal borders (Bug#28278).

2017-08-30  Noam Postavsky  <npostavs@gmail.com>

	Use cl-print for all values printed by `describe-variable'

	* lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
	global values too.

2017-08-30  Noam Postavsky  <npostavs@gmail.com>

	Minor simplification for byte-compile-constant-push

	* lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
	of the code from here...
	(byte-compile-constant-push): ... to here.  No need to bind
	byte-compile--for-effect anymore.

2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer file-name-quote to concat "/:"

	Suggested by Michael Albinus (Bug#28264#13).
	* lisp/files.el (files--splice-dirname-file): Use file-name-quote
	rather than attempting to do it by hand.

2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	* configure.ac: fix typo in previous change

2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	Be more conservative in link time optimization doc

	While testing --enable-link-time-optimization with GCC 7.1.1
	I ran into a serious GCC code-generation bug which makes me
	think that --enable-link-time-optimization should be
	discouraged for typical installs (Bug#28213).  See:
	https://bugzilla.redhat.com/show_bug.cgi?id=1486455

2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	Make garbage collection more conservative

	Check for a pointer anywhere within the object, as opposed to just
	the start of the object.  This is needed for gcc -Os -flto on
	x86-64 (Bug#28213).  This change means that the garbage collector
	is more conservative, and will incorrectly keep objects that it
	does not need to, but that is better than incorrectly discarding
	objects that should be kept.
	* src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
	this is easier to debug.
	(setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
	Now a function with two args, not a macro with three.
	All callers changed.
	(live_string_holding, live_cons_holding, live_symbol_holding)
	(live_misc_holding, live_vector_holding, live_buffer_holding):
	New functions, which check for any object containing the addressed
	byte, not just for an object at the given address.
	(live_string_p, live_cons_p, live_symbol_p, live_misc_p)
	(live_vector_p, live_buffer_p):
	Redefine in terms of the new functions.
	(live_float_p): Refactor slightly to match the new functions.
	(mark_maybe_object, mark_maybe_pointer): Use the new functions.
	Don’t bother checking mark bits, as mark_object already does that,
	and omitting the checks here simplifies the code.  Although
	mark_maybe_object can continue to insist that tagged pointers
	still address the start of the object, mark_maybe_pointer now is
	more conservative and checks for pointers anywhere into an object.

2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	Improve stack-top heuristic

	This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
	of the stack when scanning for heap roots, causing Emacs to crash
	later (Bug#28213).  The problem is that Emacs's hack for getting an
	address near the stack top does not work when link-time optimization
	moves stack variables around.
	* configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
	* lib-src/make-docfile.c (DEFUN_noinline): New constant.
	(write_globals, scan_c_stream): Support noinline.
	* src/alloc.c (NEAR_STACK_TOP): New macro.
	(SET_STACK_TOP_ADDRESS): Use it.
	(flush_stack_call_func, Fgarbage_collect): Now noinline.

2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	Align stack bottom properly.

	This is needed for gcc -Os -flto on x86-64 (Bug#28213).
	* src/emacs.c (main): Align stack-bottom variable as a pointer,
	since mark_memory requires this.

2017-08-29  Eli Zaretskii  <eliz@gnu.org>

	Avoid spinning waiting for git-gui.exe on Windows

	* src/w32proc.c (waitpid): If GetExitCodeProcess returns
	STILL_ACTIVE, and we were called with WNOHANG, pretend that the
	process exited.  (Bug#28268)

2017-08-29  Eli Zaretskii  <eliz@gnu.org>

	Document '--module-assertions'

	* doc/emacs/cmdargs.texi (Initial Options): Document the
	'--module-assertions' command-line option.
	* doc/lispref/loading.texi (Dynamic Modules): Add a
	cross-reference to the description of '--module-assertions'.

	* etc/NEWS: Update the NEWS entry for --module-assertions.

2017-08-29  Alan Third  <alan@idiocy.org>

	Add news entry about new macOS features

	* etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
	ns-use-thin-smoothing.

2017-08-29  Alan Third  <alan@idiocy.org>

	Fix cross macOS version building (bug#28222)

	* src/macfont.h (CGContextSetFontSmoothingStyle): Function
	declaration.
	* src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.

2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)

	Enable thin font smoothing in macOS (bug#28222)

	* src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
	* src/macfont.m (macfont_draw): Use font smoothing.

2017-08-29  Eli Zaretskii  <eliz@gnu.org>

	Minor improvement in documentation of display-line-numbers

	* doc/emacs/display.texi (Display Custom): Document the
	display-line-numbers-mode and related options.

2017-08-29  Eli Zaretskii  <eliz@gnu.org>

	Avoid aborting in 'waitpid' on MS-Windows

	* src/w32proc.c (waitpid): Don't allow quitting if called with
	WNOHANG in OPTIONS.  (Bug#28268)

2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/sh-script.el: Test "in-string" of the right char!

	(sh-syntax-propertize-function): Fix off-by-one error.
	Fixes bug#23526.

2017-08-29  Rasmus  <rasmus@gmx.us>

	Update Org to v9.0.10

	Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
	release.

2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	Silence false alarms for symlinks to sources

	Problem reported by Glenn Morris (Bug#28264).
	* lisp/files.el (files--splice-dirname-file): New function.
	(file-truename, file-chase-links): Use it.

2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify remove_slash_colon

	* src/process.c (remove_slash_colon): Simplify
	and avoid a special case for "/:" by itself.

2017-08-28  Tassilo Horn  <tsdh@gnu.org>

	Remove font family from minibuffer-prompt face

	* etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
	minibuffer-prompt face.

2017-08-28  Michael Albinus  <michael.albinus@gmx.de>

	Further fixes in tramp-smb.el

	* lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
	(tramp-smb-file-name-handler-alist): Use it.
	(tramp-smb-handle-make-symbolic-link): Unquote target.

	* test/lisp/net/tramp-tests.el
	(tramp--test-ignore-make-symbolic-link-error): New defmacro.
	(tramp-test18-file-attributes, tramp-test21-file-links)
	(tramp--test-check-files): Use it.

2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t assume -g3 in .gdbinit

	* src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
	Use reasonable defaults if not in the symbol table.

2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)

	Use string-match to check for dotfiles in ido

	* lisp/ido.el (ido-make-file-list): Use string-match to check
	for dotfiles instead of substring, as when using tramp
	simplified syntax ido-temp-list may contain empty strings.

2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>

	Font-lock FDO desktop files correctly

	Single and double quotes do not have a special meaning in
	desktop files.
	https://standards.freedesktop.org/desktop-entry-spec/latest/
	* etc/NEWS: Mention new mode.
	* lisp/files.el (auto-mode-alist): Split out an entry for handling
	the .desktop extension with conf-desktop-mode.
	* lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
	variable with rules for booleans and format specifiers.
	(conf-unix-mode): Remove desktop file entry example from docstring.
	(conf-desktop-mode): New derived major mode.

2017-08-27  Tom Tromey  <tom@tromey.com>

	Fix auto-fill bug in js-mode

	* lisp/progmodes/js.el (js-do-auto-fill): New function.
	(js-mode): Set normal-auto-fill-function.
	* test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
	test.

2017-08-27  Noam Postavsky  <npostavs@gmail.com>

	Disable completion while entering python multiline statements

	The "legacy" completion mechanism sends newlines to the running python
	process to get the list of completions, which confuses things if the
	user is in the middle of entering a multiline statement (Bug#28051).
	It's better to disable completion in this case.
	* lisp/progmodes/python.el (python-shell--block-prompt): New variable.
	(python-shell-prompt-set-calculated-regexps): Set it.
	(python-shell-completion-at-point): Return 'ignore' as the completion
	function when the current prompt is a block prompt.

2017-08-27  Michael Albinus  <michael.albinus@gmx.de>

	Tramp cleanup

	* lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
	(tramp-sh-handle-make-symbolic-link): More robust check for
	TARGET remoteness.

	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
	Disable copying by tar temporarily, it doesn't work reliably.
	(tramp-smb-do-file-attributes-with-stat): Resolve symlink.
	(tramp-smb-handle-make-symbolic-link): Fix implementation.

	* lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
	Extend test.

2017-08-27  Glenn Morris  <rgm@gnu.org>

	Fix previous xterm.h change for non-gtk builds

	* src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.

2017-08-27  Philipp Stephani  <phst@google.com>

	Fix GdkSettings-related deprecation warnings

	* src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
	gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
	instead of deprecated gtk_settngs_set_string_property otherwise.

2017-08-27  Philipp Stephani  <phst@google.com>

	Always use gtk_window_move in new versions

	* src/gtkutil.c (my_log_handler): Don’t define in new versions of
	GTK+.
	(xg_set_geometry): Always use gtk_window_move in new versions of GTK+.

	* src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
	is ignored.

	* lisp/subr.el (x-gtk-use-window-move): Make obsolete.

2017-08-27  Charles A. Roelli  <charles@aurox.ch>

	Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)

	* lisp/vc/diff-mode.el (diff-find-file-name): Save the current
	narrowing, and widen the buffer before searching for the name of the
	file corresponding to the diff.

	With thanks to Noam Postavsky.

2017-08-27  Philipp Stephani  <phst@google.com>

	Remove use of a deprecated GTK+ function in new versions

	* src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
	if available

2017-08-27  Philipp Stephani  <phst@google.com>

	Stop using deprecated GdkScreen monitor functions in newer GDK

	* src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
	objects instead of the deprecated GdkScreen functions in GDK 3.22+

2017-08-27  Philipp Stephani  <phst@google.com>

	Use GdkSeat in new GDK versions

	* src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
	GdkDeviceManager in GDK 3.20+

2017-08-27  Philipp Stephani  <phst@google.com>

	* src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+

2017-08-27  Philipp Stephani  <phst@google.com>

	Remove call of deprecated GDK function

	* src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
	GDK 3.22 or later.

2017-08-27  Alan Mackenzie  <acm@muc.de>

	Amend the CC Mode macro cache to cope with changes at the macro start

	Fixes bug #28233.

	* lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
	error.

2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	Fix over-protection of byte-compiled files

	Problem reported by Sven Joachim (Bug#28244).
	Also, fix similar problem for autoload files.
	* lisp/emacs-lisp/autoload.el (autoload--save-buffer):
	Set temp file modes to the buffer-file-name file modes (or 666
	if not available) as adjusted by umask.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
	Set temp file modes to 666 as adjusted by umask.

2017-08-27  Tom Tromey  <tom@tromey.com>

	Refine conf-toml-mode font-lock

	Bug#28218
	* lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
	conf-toml-recognize-section.  Use \s- in variable regexp.
	(conf-toml-recognize-section): New function.

2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	Do not munge contents of local symbolic links

	This lets Emacs deal with arbitrary local symlinks without
	mishandling their contents (Bug#28156).  For example,
	(progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
	now consistently creates a symbolic link from '/tmp/x' to '~'.
	Formerly, it did that only if the working directory was on the
	same filesystem as /tmp; otherwise, it expanded the '~' to
	the user's home directory.
	* lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
	instead of rolling our own code.
	* lisp/files.el (files--name-absolute-system-p): New function.
	(file-truename, file-chase-links): Use it to avoid mishandling
	symlink contents that begin with ~.
	(copy-directory, move-file-to-trash):
	Use concat rather than expand-file-name, to avoid mishandling
	symlink contents that begin with ~.
	* src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
	target unless interactive.  Strip leading "/:" if interactive.
	(emacs_readlinkat): Do not prepend "/:" to the link target if
	it starts with "/" and contains ":" before NUL.
	* test/src/fileio-tests.el (try-link): Rename from try-char,
	and accept a string instead of a char.  All uses changed.
	(fileio-tests--symlink-failure): Also test leading ~, and "/:",
	to test the new behavior.

2017-08-27  Reuben Thomas  <rrt@sc3d.org>

	Remove invalid regexp for shell builtins for wksh

	* lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
	be literal strings, so remove a regexp for wksh. In any case, it’s a
	defunct proprietary shell.

2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	Improve doc for file-name-absolute-p.

2017-08-26  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp part of Bug#28156

	* lisp/files.el (file-name-non-special): Use `file-name-quote'
	instead prefixing "/:", the file could already be quoted.

	* lisp/net/tramp.el (tramp-error): Handle null arguments.
	(tramp-handle-make-symbolic-link):
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
	(tramp-sh-handle-add-name-to-file):
	* lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
	(tramp-smb-handle-make-symbolic-link): Adapt implementation to
	stronger semantics in Emacs.  (Bug#28156)

	* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
	Extend test.

2017-08-26  Eli Zaretskii  <eliz@gnu.org>

	Fix bugs merged with bug#25428

	* lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
	(Bug#13926)  (Bug#25434)  (Bug#25435)

2017-08-26  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of Info virtual files and nodes

	* lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
	(Bug#28237)

2017-08-26  Eli Zaretskii  <eliz@gnu.org>

	* lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)

2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)

	Support multi-lingual detection of SEE ALSO man sections

	* lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
	section detection in several languages: French, German, Spanish,
	Portuguese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)

2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	Improve expand-file-name doc

	* doc/lispref/files.texi (Relative File Names, Directory Names)
	(File Name Expansion):
	* doc/lispref/minibuf.texi (Reading File Names):
	Document expand-file-name behavior with ~ more clearly
	and accurately.
	* doc/misc/org.texi (Batch execution): Simplify example
	script so that it does not need expand-file-name and thus
	will not mishandle file names with leading ~.

2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)

	Support all perl variable declarators and prefixes (Bug#27613)

	* lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
	(perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
	'local', 'state', 'supersede', 'let', and 'temp'.

2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	Fix file-attributes race on GNU hosts

	* doc/lispref/files.texi (File Attributes):
	Document file-attributes atomicity.
	* etc/NEWS: Document the fix.
	* src/dired.c (file_attributes): New args DIRNAME and FILENAME,
	for diagnostics.  All callers changed.  On platforms like
	GNU/Linux that support O_PATH, fix a race condition in
	file-attributes and similar functions, so that these functions do
	not return nonsense if a directory entry is replaced while getting
	its attributes.  On non-GNU platforms, do a better (though not
	perfect) job of detecting the race, and return nil if detected.

2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify expand_and_dir_to_file

	* src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
	argument, since in practice it always has the default value.  All
	callers changed.  Prefer C99 style decls in nearby code.

2017-08-25  Eli Zaretskii  <eliz@gnu.org>

	Fix file-name completion on network shares

	* src/w32.c (faccessat): Don't assume that F_OK is non-zero.
	(Bug#28207)

2017-08-25  Reuben Thomas  <rrt@sc3d.org>

	Fix a FIXME with an exegetical comment

	* lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
	regexp for wksh builtins.

2017-08-25  Reuben Thomas  <rrt@sc3d.org>

	Minor docstring language fix

	* lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.

2017-08-25  Reuben Thomas  <rrt@sc3d.org>

	Remove old commented code from sh-script.el

	* lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
	and variable, commented since 2001.

2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el: Don't let failure stop us

	(package-activate-1): Don't throw an error for missing deps.
	(package-unpack): Don't bother compiling if activation failed.
	(package-initialize): Report failures but keep activating other packages.

2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer ‘double’ for FP temps in xterm.c

	* src/xterm.c (xm_scroll_callback, xaw_jump_callback)
	(x_set_toolkit_scroll_bar_thumb)
	(x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
	‘float’ for individual local floating-point temporaries.

2017-08-24  Reuben Thomas  <rrt@sc3d.org>

	Avoid using string-to-multibyte in ispell.el

	* lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
	decode-coding-string instead. Note that decode-coding-string returns a
	string that satisfies multibyte-string-p even if its input is pure
	ASCII and the third argument is t, so the result of
	ispell-get-decoded-string is always a multibyte string.

2017-08-24  Tino Calancha  <tino.calancha@gmail.com>

	Store the regexp just when there are matches

	* lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
	disabled and there are no matches do not store REGEXP
	in hi-lock-interactive-patterns.

2017-08-24  Tino Calancha  <tino.calancha@gmail.com>

	Keep face available if there are no matches

	If font-lock-mode is disabled in the current buffer, and
	there are no matches for REGEXP, then keep FACE available
	for a next search.
	* lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
	hi-lock--unused-faces if font-lock-mode is disabled and
	there are no matches.
	* test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.

2017-08-24  Michael Albinus  <michael.albinus@gmx.de>

	Minor improvements for tramp-interrupt-process, documentation

	* doc/lispref/processes.texi (Signals to Processes):
	* etc/NEWS: Document interrupt-process-functions.

	* lisp/net/tramp.el (tramp-interrupt-process): Test also for
	`process-live-p'.

	* src/process.c (Vinterrupt_process_functions): Fix docstring.

	* test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
	Extend test.

2017-08-24  Reuben Thomas  <rrt@sc3d.org>

	Fix a comment whitespace typo.

	src/fileio.c: A double space was added after "..", used in a code
	example. Make it a single space.

2017-08-24  Reuben Thomas  <rrt@sc3d.org>

	Remove old commented code and obsolete comments

	* lisp/files.el (locate-dominating-files): Remove old commented
	implementation from 9 years ago.  Since the current version
	appears (at least to me) not just more efficient but clearer than the
	version removed, also delete a comment in the new version referring to
	the old version. Remove old commented heuristic code,
	and explanatory comments.

2017-08-24  Reuben Thomas  <rrt@sc3d.org>

	Remove old duplicate commented code

	* lisp/files.el (file-relative-name): Remove old commented version,
	replaced 14 years ago in commit 753ad9889.

2017-08-24  Tom Tromey  <tom@tromey.com>

	Add conf-toml-mode

	* etc/NEWS: Mention conf-toml-mode.
	* lisp/files.el (auto-mode-alist): Add entry for .toml.
	* lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
	(conf-toml-font-lock-keywords): New defvars.
	(conf-toml-mode): New mode.

2017-08-23  Alan Third  <alan@idiocy.org>

	Use lisp type in log message (bug#28176)

	* src/nsimage.m (ns_load_image): Use make_number on index.

2017-08-23  Alan Third  <alan@idiocy.org>

	Fix PNGs on macOS (bug#28176)

	* src/nsimage.m (ns_load_image): Remove index check.
	(EmacsImage::getAnimatedBitmapImageRep): New function.
	(EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
	(EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
	is valid.

2017-08-23  Alan Third  <alan@idiocy.org>

	Add ability to change macOS WM theme (bug#27973)

	* src/frame.c (make_frame, frame_parms, syms_of_frame)
	[NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
	options.
	* src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
	represent NSAppearance options.
	(struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
	ns_transparent_titlebar frame parameters.
	* src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
	ns_set_appearance and ns_set_transparent_titlebar handlers.
	(Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
	frame parameters.
	(Qdark): Add new symbol for use with ns-appearance.
	* src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
	[NS_IMPL_COCOA]: Add prototypes.
	* src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
	[NS_IMPL_COCOA]: New functions.
	(initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
	ns-transparent-titlebar frame parameters.
	* doc/lispref/frames.texi (Window Management Parameters): Document
	ns-appearance and ns-transparent-titlebar.

2017-08-22  Alan Mackenzie  <acm@muc.de>

	When looking for the end of a declarator, prevent macros fouling up the search

	The practical implication of this bug was a random jit-lock chunk remaining
	entirely unfontified.

	* lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
	restrict two forward searches to the end of that macro.

2017-08-22  Michael Albinus  <michael.albinus@gmx.de>

	Test `file-expand-wildcards' for Tramp

	* lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
	Remove, not needed anymore.

	* test/lisp/net/tramp-tests.el (top): Require seq.el.
	(tramp-test16-directory-files): Simplify.
	(tramp-test16-file-expand-wildcards): New test.
	(tramp-test28-interrupt-process): Skip for older Emacsen.

2017-08-22  Alexander Gramiak  <agrambot@gmail.com>

	Add tests for cl-macs.el (Bug#27559)

	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
	duplicate.
	(cl-loop-destructuring-with): Move to cl-macs-tests.el.
	* test/lisp/emacs-lisp/cl-macs-tests.el: New file.

2017-08-22  Noam Postavsky  <npostavs@gmail.com>

	Optimize skkdic conversion (Bug#28043)

	The primary speedup comes from the optimizing lookup-nested-alist and
	set-nested-alist for the case where the key is a string.  This brings
	the time down to less than half the original.

	* lisp/international/mule-util.el (lookup-nested-alist)
	(set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
	string.

	* lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
	(skkdic-convert-okuri-nasi): Use progress-reporter functions instead
	of calculating ratio of work done inline.

	(skkdic-reduced-candidates): Call `char-category-set' on the first
	character of the string directly, instead of using a regexp for the
	character category.
	(skkdic--japanese-category-set): New constant.
	(skkdic-collect-okuri-nasi): Just set
	`skkdic-okuri-nasi-entries-count' at once at the end rather than
	updating it throughout the loop.

	(skkdic-convert-postfix skkdic-convert-prefix)
	skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
	(skkdic-extract-conversion-data): Use `match-string-no-properties'
	instead of `match-string'.

2017-08-22  Reuben Thomas  <rrt@sc3d.org>

	Treat tests in lib-src like tests in src

	* test/Makefile.in (test_template): Depend on a .c source file for a
	test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
	in the right direction.)

2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	Port /bin/sh scripts to Solaris 10

	Its /bin/sh builtin ‘test’ command does not support -e.
	* autogen.sh, build-aux/git-hooks/pre-commit:
	* build-aux/gitlog-to-emacslog, make-dist:
	Use test -r, not test -e.

2017-08-21  Eli Zaretskii  <eliz@gnu.org>

	Avoid losing the buffer restriction in flyspell-mode

	* src/intervals.c (get_local_map): Don't allow C-g to quit as long
	as we have the buffer widened, to make sure the restriction is
	preserved.  (Bug#28161)

2017-08-21  Sven Joachim  <svenjoac@gmx.de>

	Fix the 'versionclean' target in src/Makefile

	* src/Makefile.in (versionclean): Don't accidentally remove
	emacs-module.h.  (Bug#28169)

2017-08-21  Michael Albinus  <michael.albinus@gmx.de>

	Implement `interrupt-process-functions'

	* lisp/net/tramp.el (tramp-interrupt-process): Rename from
	`tramp-advice-interrupt-process'.  Adapt according to changed API.
	(top): Add it to `interrupt-process-functions'.

	* src/process.c (Finternal_default_interrupt_process): New defun.
	(Finterrupt_process): Change implementation, based on
	Vinterrupt_process_functions.
	(Vinterrupt_process_functions): New defvar.

	* test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
	test removal of advice.

2017-08-21  Eli Zaretskii  <eliz@gnu.org>

	Avoid floating-point exceptions while drawing underwave

	* src/w32term.c (x_get_scale_factor):
	* src/xterm.c (x_get_scale_factor): Don't let the scale factors
	become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
	https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.

2017-08-21  Sam Steingold  <sds@gnu.org>

	mark flymake-mode as safe local variable when the value is nil

2017-08-21  Sam Steingold  <sds@gnu.org>

	allow nil init in flymake-allowed-file-name-masks to disable flymake

	(flymake-allowed-file-name-masks): Update doc and :type.
	(flymake-get-file-name-mode-and-masks): Handle nil init.

2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>

	Remove the workaround for bug#20719

	* lisp/cedet/semantic/symref/grep.el
	(semantic-symref-grep-use-template): Remove the workaround for
	bug#20719, it's been fixed for a while now.

2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>

	Fix byte-compilation warnings in semantic/symref/grep

	* lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
	(grepflags): Rename to semantic-symref-grep-flags.
	(semantic-symref-grep-expand-keywords): Update accordingly.
	(semantic-symref-grep-use-template): Remove the last two
	arguments to make sure they don't shadow the (not renamed)
	global variables.
	(semantic-symref-perform-search)
	(semantic-symref-parse-tool-output-one-line): Use slot names
	instead of keywords, like the byte-compiler wants us to.

2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>

	Simplify eldoc-message

	* lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
	Don't use ARGS because no callers pass them.  Discussed in bug#27230.

2017-08-20  Noam Postavsky  <npostavs@gmail.com>

	Work around w32-python-2.x bug to fix prompt detection (Bug#21376)

	* lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
	carriage returns into the temporary file when running in unbuffered
	mode, the w32 build of python 2.7 chokes on them.

2017-08-20  Reuben Thomas  <rrt@sc3d.org>

	Add missing require

	* lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)

2017-08-20  Michael Albinus  <michael.albinus@gmx.de>

	Implement `interrupt-process' for remote processes (Bug#28066)

	* lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
	Support sending signals remotely.
	(tramp-open-connection-setup-interactive-shell):
	Trace "remote-tty" connection property.

	* lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
	(top): Add advice to `interrupt-process'.  (Bug#28066)

	* test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
	New test.
	(tramp-test29-shell-command)
	(tramp-test30-environment-variables)
	(tramp-test30-environment-variables-and-port-numbers)
	(tramp-test31-explicit-shell-file-name)
	(tramp-test32-vc-registered)
	(tramp-test33-make-auto-save-file-name)
	(tramp-test34-make-nearby-temp-file)
	(tramp-test35-special-characters)
	(tramp-test35-special-characters-with-stat)
	(tramp-test35-special-characters-with-perl)
	(tramp-test35-special-characters-with-ls, tramp-test36-utf8)
	(tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
	(tramp-test36-utf8-with-ls)
	(tramp-test37-asynchronous-requests)
	(tramp-test38-recursive-load, tramp-test39-remote-load-path)
	(tramp-test40-unload): Rename.
	(tramp-test40-unload): Test also removal of advice.

2017-08-20  Reuben Thomas  <rrt@sc3d.org>

	Document Enchant support

	* doc/emacs/fixit.texi: Mention Enchant.
	* doc/misc/efaq.texi: Likewise.
	* etc/NEWS: Add an item on Enchant support.

2017-08-20  Reuben Thomas  <rrt@sc3d.org>

	Remove old comments and a redundant FIXME

	* lisp/textmodes/ispell.el (ispell-process-line): Remove some old
	commented code, a redundant FIXME, and outdated usage instructions.

2017-08-20  Reuben Thomas  <rrt@sc3d.org>

	Add Enchant support to ispell.el (Bug#17742)

	* lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
	(ispell-really-enchant): Add variable.
	(ispell-check-version): If using Enchant, check it’s new enough (at
	least 1.6.1).  (Like the ispell check, this is absolute: cannot work
	without.)
	(ispell-enchant-dictionary-alist): Add variable.
	(ispell-find-enchant-dictionaries): Add function, based on
	ispell-find-aspell-dictionaries.
	(ispell-set-spellchecker-params): Allow dictionary auto-detection for
	Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
	old ispell name to locale mapping code for Enchant too.
	(ispell-send-replacement): Make it work with Enchant.

2017-08-20  Noam Postavsky  <npostavs@gmail.com>

	* lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).

2017-08-20  Noam Postavsky  <npostavs@gmail.com>

	Stop printing '4' in .elc files after 'define-symbol-prop' calls

	* lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
	Return nil in case we have compiled the form, to prevent a redundant
	constant from getting added to the compiled output.

2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	Change recent symlink tests to just test ASCII

	* test/src/fileio-tests.el (fileio-tests--symlink-failure):
	Be less ambitious about testing non-ASCII chars and encoding
	errors, as there are too many portability issues.

2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t adjust CRLF in file names

	* doc/misc/gnus.texi (Non-ASCII Group Names):
	* etc/NEWS:
	* test/lisp/net/tramp-tests.el (tramp--test-utf8):
	Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
	that CRLF in file names is left alone.
	* lisp/international/mule-cmds.el (set-default-coding-systems):
	Do not alter CRLF in file name coding systems.
	(prefer-coding-system): Ignore differences in CRLF processing when
	checking whether we used the user-specified file name coding system.
	* test/src/fileio-tests.el: New file.

2017-08-19  Eli Zaretskii  <eliz@gnu.org>

	Make list-processes support display-line-numbers

	* lisp/simple.el (process-menu-mode): Move the call to
	tabulated-list-init-header from here...
	(list-processes--refresh): ...to here.  (Bug#27895)

2017-08-19  Eli Zaretskii  <eliz@gnu.org>

	Improve support of display-line-numbers in package.el

	* lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
	the header.  (Bug#27895)
	* lisp/emacs-lisp/tabulated-list.el
	(tabulated-list-line-number-width): Fix the case when
	display-line-numbers is nil.

2017-08-19  Eli Zaretskii  <eliz@gnu.org>

	Improve support of display-line-numbers in tabulated-list-mode

	* lisp/emacs-lisp/tabulated-list.el
	(tabulated-list-line-number-width): New function.
	(tabulated-list-init-header, tabulated-list-print-entry): Use it.
	(Bug#27895)

2017-08-19  Martin Rudalics  <rudalics@gmx.at>

	Fix one more issue reported by Alex (Bug#27999)

	* doc/lispref/windows.texi (Preserving Window Sizes)
	(Window Parameters): Use the term `window-preserved-size'
	instead of `preserved-size' (Bug#27999).

2017-08-19  Martin Rudalics  <rudalics@gmx.at>

	Rename `no-delete-other-window' to `no-delete-other-windows'

2017-08-19  Martin Rudalics  <rudalics@gmx.at>

	Fix two side window problems noted by Alex (Bug#27999)

	* lisp/window.el (display-buffer-in-side-window): Fix doc-string
	typo.
	(delete-other-windows): Rename the `no-delete-other-window'
	parameter to `no-delete-other-windows' (see the discussion in
	Bug#27999 for the rationale of this change).
	* doc/lispref/windows.texi (Deleting Windows)
	(Frame Layouts with Side Windows, Window Parameters): Rename
	`no-delete-other-window' to `no-delete-other-windows'.

2017-08-19  Alex Schroeder  <alex@gnu.org>

	Use define-minor-mode for rcirc-omit-mode

2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	Clarify behavior of symlinks and directories

	* doc/lispref/files.texi (Saving Buffers): Document how functions
	like rename-file work with symlinks and directories.  This patch
	attempts to document the current behavior better, in preparation
	for possibly changing it.  See Bug#27986.

2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix recently-introduced file descriptor leak

	* src/fileio.c (Fmake_temp_file_internal):
	Don’t leak a file descriptor if write_region signals an error.

2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	Improve make-temp-file performance on local files

	* lisp/files.el (make-temp-file): Let make-temp-file-internal do
	the work of inserting the text.
	* src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
	All callers changed.

2017-08-19  Noam Postavsky  <npostavs@gmail.com>

	Don't lose arguments to eshell aliases (Bug#27954)

	* lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.

2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>

	* lisp/files.el (make-temp-file): Fix directory use case.

2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>

	Fix and document make-temp-file optional text parameter

	* lisp/files.el (make-temp-file): Fix initial TEXT parameter.
	(files--make-magic-temp-file): Support optional TEXT parameter.
	* etc/NEWS: Document it.
	* doc/lispref/files.texi: Document it.
	* test/lisp/auth-source-tests.el: Minor reformat.

2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>

	* test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.

	* test/lisp/auth-source-tests.el: Minor cleanups to use CL.

2017-08-19  João Távora  <joaotavora@gmail.com>

	Fix default value of electric-pair-pairs and electric-pair-text-pairs

	(Bug#24901)

	A previous change, titled "Add support for curly quotation marks to
	electric-pair-mode", attempted to add these characters to the default
	value of these variables.  But it did so in a quoted list, preventing
	evaluation of the relevant expressions and resulting in an invalid
	format.

	* lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
	Use backquote and comma.

2017-08-19  Noam Postavsky  <npostavs@gmail.com>

	* lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).

	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
	explicitly in the interactive case.

2017-08-19  Mats Lidell  <mats.lidell@cag.se>

	* etc/tutorials/TUTORIAL.sv: synced with TUTORIAL

2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>

	Add auth-source tests and codify its API better

	The auth-source behavior was unclear in some API use cases, so these
	extra tests codify and test it. For details see
	https://github.com/DamienCassou/auth-password-store/issues/29

	* lisp/files.el (make-temp-file): Add new initial TEXT parameter.
	* test/lisp/auth-source-tests.el (auth-source-test-searches): Add
	  auth-source tests and simplify them with the new `make-temp-file'.

2017-08-18  Eli Zaretskii  <eliz@gnu.org>

	Don't call the same hook twice due to obsolete aliases

	* lisp/international/robin.el (robin-activate):
	* lisp/international/quail.el (quail-activate):
	* lisp/international/mule-cmds.el (deactivate-input-method):
	* lisp/emulation/viper-init.el (viper-deactivate-input-method):
	Don't call the same hook twice, when the obsolete and the
	advertised symbols are aliased.  (Bug#28118)

2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)

	A new face for show-paren in expression mode

	* lisp/faces.el (show-paren-match-expression): Define the new face.
	* lisp/paren.el (show-paren-function): Apply the different face
	when in expression mode.  (Bug#28047)

2017-08-18  Eli Zaretskii  <eliz@gnu.org>

	Non-ASCII support for man page section and header names

	* lisp/man.el (Man-name-regexp, Man-page-header-regexp)
	(Man-heading-regexp): Replace ASCII character classes by
	equivalent classes that allow non-ASCII characters.  Suggested by
	Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)

2017-08-18  Eli Zaretskii  <eliz@gnu.org>

	Implement HiDPI support for underwave on MS-Windows

	* src/w32term.c (x_get_scale_factor): New function.
	(w32_draw_underwave): Use it.
	* src/xterm.c (x_draw_underwave): Offset the wave starting point
	to make it identical with original code.

2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)

	Support HiDPI displays for wave style underlines

	* src/xterm.c (x_draw_underwave): Compute height, length and thickness
	based on scale factor.
	(x_get_scale_factor): New function.

2017-08-18  Bastien  <bzg@gnu.org>

	Delete library-of-babel.org

	* etc/org/library-of-babel.org: Delete file.

2017-08-18  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.

2017-08-18  Noam Postavsky  <npostavs@gmail.com>

	Remove custom version parsing from epg-config.el (Bug#27963)

	* lisp/epg-config.el (epg-config--compare-version)
	(epg-config--parse-version): Remove.
	(epg-check-configuration): Use `version<=' instead.

2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>

	Treat control characters in JSON strings as invalid

	* lisp/json.el (json-peek): Reduce to following-char.
	(json-pop, json-read): Zero (null char) means end of file.
	(json-read-escaped-char): Delimit URL properly.
	(json-read-string): Signal error for ASCII control characters.
	* test/lisp/json-tests.el (test-json-peek): Check for zero instead of
	:json-eof symbol.
	(test-json-read-string): New test for control characters in JSON
	strings.

2017-08-17  Eli Zaretskii  <eliz@gnu.org>

	Support Posix semantics of 'rename' on MS-Windows

	* src/w32.c (sys_rename_replace): Support Posix semantics of
	'rename': return an error if OLD is a directory while NEW is not,
	or vice versa.

2017-08-17  Eli Zaretskii  <eliz@gnu.org>

	* src/w32.c (sys_rename_replace): Support renaming a directory.

2017-08-17  Eli Zaretskii  <eliz@gnu.org>

	Fix the MS-Windows build

	* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
	'open'.

	* lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.

2017-08-17  João Távora  <joaotavora@gmail.com>

	Add flymake-backends defcustom

	* lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
	Rename from flymake-can-syntax-check-file.  Suitable for adding to
	flymake-backends.
	(flymake-proc-start-syntax-check): Rename from
	flymake-start-syntax-check.  Don't check again if buffer can be
	checked.
	(add-to-list flymake-backends): Hook only flymake-ui.el

	* lisp/progmodes/flymake-ui.el (flymake-backends): New
	defcustom.
	(flymake-on-timer-event, flymake-after-change-function)
	(flymake-after-save-hook, flymake-find-file-hook): Call new
	flymake--start-syntax-check-buffer and
	flymake--can-syntax-check-buffer.
	(flymake-mode): Call flymake--can-syntax-check-buffer and set
	flymake-backend.
	(flymake--backend): New buffer-local variable.

2017-08-17  João Távora  <joaotavora@gmail.com>

	Split flymake.el into flymake-proc.el and flymake-ui.el

	flymake.el is now a stub that requires both files.

	* lisp/progmodes/flymake-proc.el: New file.

	* lisp/progmodes/flymake-ui.el: New file.

	* lisp/progmodes/flymake.el: Split into flymake-ui.el and
	  flymake-proc.el.  Require both files.

2017-08-17  Michael Albinus  <michael.albinus@gmx.de>

	Set `default-directory' for watchdog in tramp-test.el

	* test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
	Set `default-directory' for watchdog.

2017-08-17  Andreas Schwab  <schwab@suse.de>

	* lisp/term/konsole.el: New file.

2017-08-17  Noam Postavsky  <npostavs@gmail.com>

	* lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)

	(woman2-RS): Use plain `push' instead of `woman-push'.
	(woman2-RE): Conditionally `pop' instead of `woman-pop'.

2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Merge from Gnulib; use ‘open’ for O_CLOEXEC

	This incorporates:
	2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
	2017-08-15 extensions: enable NetBSD specific extensions
	2017-08-14 open: support O_CLOEXEC
	2017-08-13 reallocarray: new module
	* admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
	it now supports O_CLOEXEC and this simplifies Emacs.
	* build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
	* lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
	Copy from Gnulib.
	* lib/cloexec.c, lib/cloexec.h, lib/open.c:
	* m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
	New files, copied from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
	Remove, as Gnulib does this for us.
	* src/filelock.c (create_lock_file):
	* src/sysdep.c (emacs_open, emacs_pipe):
	Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.

2017-08-16  Alan Third  <alan@idiocy.org>
	    Charles A. Roelli  <charles@aurox.ch>

	Allow use of run-time OS version checks on macOS (bug#27810)

	* src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
	(MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
	MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
	defines.
	(NSWindowStyleMaskFullScreen,
	NSWindowCollectionBehaviorFullScreenPrimary,
	NSApplicationPresentationFullScreen,
	NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
	* src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
	check_native_fs, ns_read_socket, ns_select, runAlertPanel,
	initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
	windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
	toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
	Allow use of run-time checks and replace version check macros.
	* src/nsfns.m (ns_screen_name): Use run-time OS version checks.
	* src/macfont.m (macfont_draw): Use run-time OS version checks.
	* src/nsmenu.m (menuWillOpen): Use run-time OS version checks.

2017-08-16  Alan Third  <alan@idiocy.org>

	Add multiframe image support to NS port (bug#21714)

	* src/nsimage.m (ns_load_image): Handle multiple frames.
	(EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
	* src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
	function prototypes.

2017-08-16  Tino Calancha  <tino.calancha@gmail.com>

	files-tests.el: Remove unused lexical variable

	* test/lisp/files-tests.el (file-test--do-local-variables-test);
	Remove unused var 'files-test-queried'.

2017-08-16  Michael Albinus  <michael.albinus@gmx.de>

	* doc/emacs/files.texi (Copying and Naming): Mention

	restrictions to add-name-to-file and make-symbolic-link on
	remote systems.

2017-08-16  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.

2017-08-16  Noam Postavsky  <npostavs@gmail.com>

	Add tests for previous commit

	* test/lisp/progmodes/elisp-mode-tests.el
	(elisp-mode-tests--face-propertized-string): New function.
	(elisp--highlight-function-argument-indexed)
	(elisp--highlight-function-argument-keyed-1)
	(elisp--highlight-function-argument-keyed-2): New tests.

2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>

	Fix eldoc highlighting for &key args (Bug#27272)

	* lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
	Only switch to keyword-based searching if INDEX point beyond `&key' in
	the argument list.  All arguments prior to the `&key' are position
	based.  Additionally, be more strict about what is a keyword when
	searching for the current keyword.

2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Do not assume regular Git .git/hooks dir

	Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
	Problem reported by Ted Zlatanov in:
	https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
	* autogen.sh (git_sample_hook_src): New function.  Use it to work
	even if .git/hooks or its samples do not exist.

2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	New manual section "Copying and Naming"

	* doc/emacs/files.texi (Copying and Naming):
	New section, split off from Misc File Ops and containing the
	operations that copy, name or rename files.  This fixes some
	confusion caused by the incorrect phrase "The same rule applies
	to all the remaining commands in this section" in the old manual.
	This change does not affect the confusion about directories (see
	Bug#27986 for ongoing discussion).

2017-08-15  Eli Zaretskii  <eliz@gnu.org>

	Fix the MS-Windows build

	* src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
	ENOSYS.  (Bug#28097)  (Bug#27986)

2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>

	* .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.

	* .gitlab-ci.yml: add Git to the installed packages.

2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>

	Support indentation of detached Less CSS rulesets

	* lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
	for indentation of detached rulesets passed to Less mixins.

	* test/manual/indent/less-css-mode.less: New file.

2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>

	Fixes and tweaks for the new Less CSS mode

	* etc/NEWS: Add an entry for the new mode.

	* lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
	(less-css-lessc-command): Tweak docstring. Don't mark it as
	safe. Don't autoload.
	(less-css-compile-at-save, less-css-lessc-options)
	(less-css-output-directory): Tweak docstrings. Don't autoload.
	(less-css-output-file-name): Tweak docstring. Don't mark it as safe.
	(less-css-input-file-name): Tweak docstring. Don't autoload.
	(less-css-compile-maybe): Use `when' for one-armed `if'.
	(less-css--output-path): Tweak docstring.
	(less-css--maybe-shell-quote-command): Remove function.
	(less-css-compile): Don't autoload. Tweak docstring and message. Fix
	compiler warning. Use `string-join' instead of `mapconcat'.
	(less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
	variables.
	(less-css-mode-syntax-table, less-css-mode-map): New variables.
	(less-css-mode): Change status line mode name from "LESS" to
	"Less". Tweak docstring. Move syntax table definitions to
	`less-css-mode-syntax-table'.
	(less-css-indent-line): Remove function.

2017-08-15  Steve Purcell  <steve@sanityinc.com>

	New major mode: Less CSS mode

	* lisp/textmodes/less-css-mode.el: New file.

2017-08-15  Tino Calancha  <tino.calancha@gmail.com>

	archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits

	* lisp/arc-mode.el (archive-int-to-mode):
	Swap order of 2048 and 1024 tests (Bug#28092).
	* test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
	Update test.

2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Improve rename-file port to macOS

	* src/fileio.c (Frename_file): On macOS, renameat_noreplace can
	fail with errno == ENOTSUP on file systems where it is not
	supported, according to the Apple documentation.

2017-08-15  Noam Postavsky  <npostavs@gmail.com>

	Speed up ./configure with more caching (Bug#27960)

	* configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
	'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
	'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
	characters', and 'Windows API header' checks.  Remove pause after
	warning about GTK bug.

2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Improve rename-file behavior on macOS

	Problem reported by Philipp Stephani (Bug#27986).
	* src/fileio.c (Frename_file):
	Worry about file name case sensitivity only if CYGWIN or DOS_NT.
	* src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
	since this provides the necessary atomicity guarantees.

2017-08-14  Glenn Morris  <rgm@gnu.org>

	Clean up temp files after some tests

	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests--with-temp-file): Also delete .elc file if present.
	* test/lisp/progmodes/etags-tests.el
	(etags-buffer-local-tags-table-list): Delete temp file at end.

2017-08-14  Eli Zaretskii  <eliz@gnu.org>

	Implement renameat_noreplace for MS-Windows

	* src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
	emulation for MS-Windows.  (Bug#27986)

2017-08-14  Eli Zaretskii  <eliz@gnu.org>

	Fix 'rename' on MS-Windows

	* src/w32.c (sys_rename_replace): Use the FORCE argument only if
	the primitive rename errors out with EEXIST.

2017-08-14  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.

2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>

	Tiny JSON performance improvement

	Get rid of some needless uses of apply.  Measuring with
	  (benchmark-run 10 (json-read-file "test.json"))
	showed 1.5-2.5% reduction of execution time.
	* lisp/json.el (json-peek): Nix let-binding.
	(json-read-string): Use concat for making a string from chars.
	(json-read-array): Use cond and more appropriate conversion instead
	of blindly applying.

2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Be consistent in spelling 'ok-if-already-exists'.

2017-08-13  Alexander Gramiak  <agrambot@gmail.com>

	Use 'header-line-highlight' face in proced and erc

	* lisp/erc/erc-list.el (erc-list-button):
	* lisp/proced.el (proced-format): Use the 'header-line-highlight
	face.  (Bug#28033)

2017-08-13  Ulf Jasper  <ulf.jasper@web.de>

	Remove feeds with dead uris from newsticker--raw-url-list-defaults

	* lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
	  Remove feeds with dead uris.

2017-08-13  Eli Zaretskii  <eliz@gnu.org>

	Fix vertical cursor motion when cursor is on the fringe

	* lisp/simple.el (line-move-visual): Fix an off-by-one error in
	setting temporary-goal-column when newline overflows into the
	fringe.  Support that use case in R2L paragraphs as well.

2017-08-13  Eli Zaretskii  <eliz@gnu.org>

	Fix vertical cursor motion across too wide images

	* src/indent.c (Fvertical_motion): If lines are truncated and we
	end up beyond the right margin of the window, don't assume we are
	in the next screen line, unless VPOS actually says so.  (Bug#28071)

2017-08-13  Tino Calancha  <tino.calancha@gmail.com>

	Add test suites for arc-mode and tar-mode

	* test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
	* test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
	New tests.

2017-08-13  Tino Calancha  <tino.calancha@gmail.com>

	* lisp/tar-mode.el (tar-grind-file-mode): Fix docstring

2017-08-13  Ulf Jasper  <ulf.jasper@web.de>

	Fix uri of Emacs Wiki

	* lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
	  uri of Emacs Wiki.  (Bug#27981)

2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Fix make-temp-file bug with ""/"."/".." prefix

	The bug with "." and ".." has been present for a while; I
	introduced the bug with "" earlier today in my patch for Bug#28023.
	* lisp/files.el (make-temp-file): Do not use expand-file-name if
	PREFIX is empty or "." or "..", as it does the wrong thing.
	Compute absolute-prefix here ...
	(files--make-magic-temp-file): ... instead of here ...
	* src/fileio.c (Fmake_temp_file_internal): ... or here.

	* lisp/files.el (make-temp-file): If the prefix is empty, append
	"/" to the absolute prefix so that the new files are children
	rather than siblings of temporary-file-directory.  This fixes a
	bug introduced in the previous change.
	* test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
	New test, for the bug.

2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Improve make-temp-file performance on local files

	For the motivation behind this patch, please see Bug#28023 and:
	https://emacshorrors.com/posts/make-temp-name.html
	Although, given the recent changes to Tramp, the related security
	problem in make-temp-file is already fixed, make-temp-file still has
	several unnecessary system calls.  In the typical case on GNU/Linux,
	this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
	getpid, unlink, umask) by 2 (open, close).
	* admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
	that Emacs is using it directly.
	* configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
	no longer needed.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lisp/files.el (files--make-magic-temp-file): Rename from
	make-temp-file.
	(make-temp-file): Use make-temp-file-internal for
	non-magic file names.
	* src/fileio.c: Include tempname.h.
	(make_temp_name_tbl, make_temp_name_count)
	(make_temp_name_count_initialized_p, make_temp_name): Remove.
	(Fmake_temp_file_internal): New function.
	(Fmake_temp_name): Use it.
	* src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
	instead of make_temp_name.

2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	Document internal-use naming conventions

	* doc/lispref/functions.texi (Function Names):
	* doc/lispref/variables.texi (Tips for Defining):
	Document naming conventions for internal-use functions and vars.
	See Bug#28023#59.

2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify re and document 'autoconf.sh all'

	* GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
	./autogen.sh defaults to "all".  All uses removed.
	* README: Mention autoconf.sh's effect on Git configuration.

2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	Default autogen.sh to 'all'

	This addresses a problem noted by RMS in:
	https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
	* autogen.sh (do_git): Set to true if this script is invoked
	with no arguments and there is a .git subdirectory.

2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	Adjust jka-compr to recent Tramp changes.

	* lisp/jka-compr.el (jka-compr-write-region):
	Two new args LOCKNAME and MUSTBENEW.

2017-08-12  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings of 2 functions in simple.el

	* lisp/simple.el (beginning-of-visual-line)
	(move-beginning-of-line): Doc fix.  Reported by
	Justin Burkett <justin@burkett.cc>.

2017-08-12  Eli Zaretskii  <eliz@gnu.org>

	Fix completion on directory names on MS-DOS/MS-Windows

	* src/msdos.c (faccessat):
	* src/w32.c (faccessat): Support relative file names, and add D_OK
	to 'mode' if the argument is a directory.  This unbreaks file-name
	completion when the completion result is a directory.

2017-08-12  Michael Albinus  <michael.albinus@gmx.de>

	Implement EXCL of write-region for Tramp

	* lisp/net/ange-ftp.el (ange-ftp-write-region):
	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
	Implement MUSTBENEW.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
	* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
	(tramp-sh-handle-add-name-to-file)
	(tramp-do-copy-or-rename-file)
	* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
	Adapt error message for `file-already-exists'.

	* src/lisp.h:
	* src/eval.c (call8): New function.

	* src/fileio.c (write_region): Pass also lockname and
	mustbenew to the file name handler.

	* test/lisp/net/tramp-tests.el (tramp-test10-write-region):
	Add tests for MUSTBENEW.

2017-08-12  Eli Zaretskii  <eliz@gnu.org>

	Adapt Proced display to display-line-numbers

	* lisp/proced.el (proced-header-line): Account for the width taken
	by display-line-numbers.  (Bug#27895)

2017-08-12  Eli Zaretskii  <eliz@gnu.org>

	Adapt tabulated list when display-line-number is turned on

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
	a hook to revert the display when display-line-numbers is turned
	on.  (Bug#27895)

2017-08-12  Eli Zaretskii  <eliz@gnu.org>

	Use Gnulib 'tempname' on MS-Windows

	* lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
	now in nt/inc/ms-w32.h.
	* lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
	(mkostemp): Remove.

	* src/w32.c (mkostemp): Remove.
	(sys_mkdir): Accept a second (unused) argument.
	* src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
	specific call to mkdir.  (Bug#28023)

	* nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
	to accept 2 arguments.
	(open): Remove from "#ifdef emacs".
	* nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
	* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
	(OMIT_GNULIB_MODULE_tempname): Remove.

2017-08-12  Alexander Gramiak  <agrambot@gmail.com>

	Add new face 'header-line-highlight'

	* lisp/faces.el: Define the face.
	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
	* lisp/info.el (Info-fontify-node): Use the new face.
	* doc/emacs/display.texi (Standard Faces):
	* etc/NEWS: Document the new face.  (Bug#28033)

2017-08-12  Arash Esbati  <arash@gnu.org>

	Make a case-sensitive match for strings

	* lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
	let-bind `case-fold-search' to nil in order to be case-sensitive
	when matching a string.  (Bug#27518)

2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>

	Fix a minor todo-mode regression

	* lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
	save-excursion.  This fixes a regression introduced by the fix
	for bug#27609, whereby trying to raise the priority of the
	first item or lower the priority of the last item, which
	should be noops, moves point to the item's start.  Clarify
	comment.

	* test/lisp/calendar/todo-mode-tests.el
	(todo-test-raise-lower-priority): Add test cases for trying to
	raise first item and lower last item.
	(with-todo-test): Clear abbreviated-home-dir, since we change HOME.
	(todo-test-toggle-item-header02): Remove ":expected-result
	:failed" and tests of point after todo-next-item, since the
	effect when using Todo mode is not reproducible in the test
	environment.  Add commentary about this.

2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Improve performance for rename-file etc.

	Although this does not fix Bug#27986, it is a step forward.
	I plan to propose a more-significant patch later.
	* lisp/files.el (directory-name-p): Move from here ...
	* src/fileio.c (Fdirectory_name_p): ... to here.
	(directory_like, cp_like_target): New static functions.
	(Fcopy_file, Frename_file, Fadd_name_to_file)
	(Fmake_symbolic_link):
	Use them, to avoid directory-testing syscalls on file names that
	must be directories if they exist.  Omit unnecessary
	initializations and CHECK_STRING calls.
	(Frename_file): Don't call file_name_case_insensitive_p
	twice on the same file.  Compare both file names expanded, instead
	of the old name expanded and the new one unexpanded.

2017-08-11  Noam Postavsky  <npostavs@gmail.com>

	Respect buffer-local value of tags-table-list (Bug#27772)

	* lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
	buffer around the `tags-table-including' calls so as to get buffer
	local variables from the right buffer later.
	* test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
	New test.
	* test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
	constant.
	(etags-bug-158, etags-bug-23164): Use it so that when running the test
	interactively, setting EMACS_TEST_DIRECTORY is not needed.

2017-08-10  Tom Tromey  <tom@tromey.com>

	Fix auto-filling regression

	Bug#28003
	* lisp/newcomment.el (comment-indent-new-line): Check
	comment-auto-fill-only-comments.  Reverts earlier change.
	* lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
	do-auto-fill.

2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-08-09 tempname: do not depend on secure_getenv
	2017-08-08 extensions: add _OPENBSD_SOURCE
	2017-08-06 manywarnings: Add support for C++
	2017-08-06 warnings, manywarnings: Add support for multiple languages
	* admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
	* lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
	Copy from gnulib.

2017-08-09  Eli Zaretskii  <eliz@gnu.org>

	Fix crashing emacs-module tests on MS-Windows

	* src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
	variable.
	(emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
	away, without displaying the Abort dialog, which waits for the user.

	* test/src/emacs-module-tests.el (module--test-assertion): Run the
	inferior Emacs with the w32 abort dialog disabled.  Expect the
	status of the aborted Emacs sub-process to be 3 on MS-Windows and
	2 on MS-DOS.

2017-08-09  Tino Calancha  <tino.calancha@gmail.com>

	dired-delete-file:  Don't ask for empty dirs

	* lisp/dired.el (dired--yes-no-all-quit-help): New defun.
	(dired-delete-file): Use it.  Don't ask for empty dirs (Bug#27940).

	* test/lisp/dired-tests.el (dired-test-with-temp-dirs):
	New auxiliary macro.
	(dired-test-bug27940): Add new test.

2017-08-09  Tino Calancha  <tino.calancha@gmail.com>

	Ask files for deletion in buffer order: top first, bottom later

	* lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
	Call `nreverse' t invert the output of `dired-map-over-marks'.

2017-08-09  Alexander Gramiak  <agrambot@gmail.com>

	Use help-mode xrefs in describe-font

	* lisp/international/mule-diag.el (describe-font): Use help-setup-xref
	(Bug#27890).

2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>

	Don't try to jump to non-existent part (bug#28013)

	* lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
	the next part if there is the only one part in the article (bug#28013).

2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>

	Replace some uses of eval

	There are a number of places where eval is used unnecessarily to get
	or set the value of a symbol.
	* lisp/calendar/calendar.el (diary-date-forms): Use default-value in
	custom setter.
	* lisp/desktop.el (desktop-clear): Use set-default instead.
	* lisp/international/ogonek.el (ogonek-read-encoding): Use
	symbol-value.

2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>

	Convert uses of looking-at in viper-ex to following-char

	* lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
	(following-char) and use it in the subsequent cond's clauses.
	(viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
	Convert single branch ifs to when

2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>

	Some cleanup in message.el

	* lisp/gnus/message.el (message-cross-post-insert-note):
	(message-strip-forbidden-properties): Mark unused args.
	(message-canlock-generate): Remove extinct variable
	sha1-maximum-internal-length.
	(message-make-mail-followup-to): Use loop's thereis clause.

2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>

	Document make-temp-name magic limitations

	* doc/lispref/files.texi (Unique File Names):
	* src/fileio.c (Fmake_temp_name): Document that make-temp-name
	does not guarantee uniqueness on magic file names.

2017-08-08  Tom Tromey  <tom@tromey.com>

	Show number of errors in compilation-mode mode-line

	Bug#25354
	* lisp/progmodes/compile.el (compilation-num-errors-found): Provide
	default value.
	(compilation-num-warnings-found, compilation-num-infos-found): New
	defvars.
	(compilation-mode-line-errors): New defconst.
	(compilation-face): Remove.
	(compilation-type, compilation--note-type): New functions.
	(compilation-parse-errors): Call compilation--note-type.
	(compilation-start): Include compilation-mode-line-errors in
	mode-line-process.
	(compilation-setup): Initialize compilation-num-* variables to 0.
	(compilation-handle-exit): Include compilation-mode-line-errors in
	mode-line-process.
	* doc/emacs/building.texi (Compilation): Document new feature.

2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>

	Do some cleanup in mailcap.el

	* lisp/net/mailcap.el: Use lexical-binding.
	(mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
	destructuring.
	(mailcap-mime-data): Remove some entries for ancient functions.
	(mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
	(mailcap-parse-mimetype-file): Just use append.
	(mailcap-command-p): Remove unused function.

2017-08-08  Tino Calancha  <tino.calancha@gmail.com>

	query-replace: Undo replacements performed with 'comma

	During a `query-replace', the char ',' replaces the character
	at point and doesn't move point;  right after, the char 'u'
	must undo such replacement (Bug#27268).
	* lisp/replace.el (replace--push-stack):
	New macro extracted from `perform-replace'.
	(perform-replace): Use it.
	* test/lisp/replace-tests.el (query-replace--undo): Add test.

2017-08-08  Noam Postavsky  <npostavs@gmail.com>

	Don't define gv expanders in compiler's runtime (Bug#27016)

	This prevents definitions being compiled from leaking into the current
	Emacs doing the compilation.
	* lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
	of `put' with `eval-and-compile'.
	* test/lisp/emacs-lisp/gv-tests.el: New tests.

2017-08-08  Noam Postavsky  <npostavs@gmail.com>

	Let the cl-typep effects of defclass work during compilation (Bug#27718)

	* lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
	instead of `put'.
	* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
	(eieio-tests--dummy-function): Remove.
	(eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
	expect to fail if compiled.

2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
	    Noam Postavsky  <npostavs@gmail.com>

	Let `define-symbol-prop' take effect during compilation

	* src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
	(Fget): Consult it.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
	it to nil.
	(byte-compile-define-symbol-prop): New function, handles compilation
	of top-level `define-symbol-prop' and `function-put' calls by putting
	the symbol setting into `overriding-plist-environment'.

2017-08-08  Gemini Lasswell  <gazally@runbox.com>

	Add a test of handling of circular values to testcover-tests

	* test/lisp/emacs-lisp-testcover-resources/testcases.el
	(testcover-testcase-cyc1): New function.
	(testcover-tests-circular-lists-bug-24402): New test.

2017-08-08  Noam Postavsky  <npostavs@gmail.com>

	Don't error on circular values in testcover

	* lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
	Consider circular lists to be non-equal instead of signaling error.

2017-08-08  Alexander Gramiak  <agrambot@gmail.com>

	Catch argument and macroexpansion errors in ert

	This kludge catches errors caused by evaluating arguments in ert's
	should, should-not, and should-error macros; it also catches
	macroexpansion errors inside of the above macros (Bug#24402).

	* lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
	(ert--expand-should-1): Catch macroexpansion errors.
	* test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
	(ert-test-should-error-macroexpansion): Tests for argument and
	expansion errors.

2017-08-07  Reuben Thomas  <rrt@sc3d.org>

	Revert "Add Enchant support to ispell.el (Bug#17742)"

	This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.

2017-08-07  Reuben Thomas  <rrt@sc3d.org>

	Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"

	This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.

2017-08-07  Reuben Thomas  <rrt@sc3d.org>

	Add support for arguments in ALTERNATE_EDITOR to emacsclient

	* lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
	corresponding command-line argument, into space-separated tokens.
	* etc/NEWS: Document.
	* test/lib-src/emacsclient-tests.el: Add a test.

2017-08-07  Reuben Thomas  <rrt@sc3d.org>

	Add Enchant support to ispell.el (Bug#17742)

	* lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
	(ispell-really-enchant): Add variable.
	(ispell-check-version): If using Enchant, check it’s new enough (at
	least 1.6.1).  (Like the ispell check, this is absolute: cannot work
	without.)
	(ispell-enchant-dictionary-alist): Add variable.
	(ispell-find-enchant-dictionaries): Add function, based on
	ispell-find-aspell-dictionaries.
	(ispell-set-spellchecker-params): Allow dictionary auto-detection for
	Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
	old ispell name to locale mapping code for Enchant too.
	(ispell-send-replacement): Make it work with Enchant.

2017-08-07  Reuben Thomas  <rrt@sc3d.org>

	Allow async command output buffer to be shown only on output

	* lisp/simple.el (async-shell-command-display-buffer): Add
	defcustom.
	(shell-command): Use the new defcustom to determine whether to show
	the buffer immediately, or add a process filter that shows it only
	when there is some output.
	* etc/NEWS: Document the new variable.
	* doc/emacs/misc.texi: Likewise.

	Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.

2017-08-07  Eli Zaretskii  <eliz@gnu.org>

	Fix infinite recursion under prettify-symbols-mode and linum-mode

	* src/xdisp.c (get_overlay_strings_1)
	(handle_single_display_spec, push_prefix_prop): Invalidate the
	composition information before starting to iterate on a string.
	Otherwise we might think in set_iterator_to_next that we are
	delivering characters from a composition, and do all kinds of
	nonsensical things, like over-step the string end.  (Bug#27761)

2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.

2017-08-07  Martin Rudalics  <rudalics@gmx.at>

	Fix doc-string of `delete-other-windows'

	* lisp/window.el (delete-other-windows): Fix doc-string.

2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix a couple more make-temp-file races

	* lisp/files.el (basic-save-buffer-2, move-file-to-trash):
	Use make-temp-name, not make-temp-file with retry.
	(basic-save-buffer-2): Use condition-case, instead of
	unwind-protect with a success flag.

2017-08-07  Noam Postavsky  <npostavs@gmail.com>

	Merge null and without-null regexp alists (Bug#27840, Bug#27873)

	* lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
	characters following filename in grep context lines.
	(grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
	(grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
	(grep-regexp-alist): Recombine their contents here.
	(grep-mode):
	* lisp/cedet/semantic/symref/grep.el
	(semantic-symref-parse-tool-output-one-line):
	* lisp/progmodes/xref.el (xref-collect-matches): Use the variable
	`grep-regexp-alist' rather than the function.

2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some crashes on self-modifying Elisp code

	Prompted by a problem report by Alex in:
	https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
	* src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
	Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
	it is likely to run a bit faster with typical hardware caches.
	(Fif): Use Fcdr instead of XCDR, to avoid crashing on
	self-modifying S-expressions.
	(Fsetq, Flet, eval_sub): Count the number of arguments as we go
	instead of trusting an Flength prepass, to avoid problems when the
	code is self-modifying.
	(Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
	where either will do.  This is mostly to document the fact that
	the value must be a proper list.  It's also a tiny bit faster on
	typical machines nowadays.
	(Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
	(eval_sub): Check that the args are a list as opposed to some
	other object that has a length. This prevents e.g. (if . "string")
	from making Emacs dump core in some cases.
	* test/src/eval-tests.el (eval-tests--if-dot-string)
	(eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
	New tests.

2017-08-06  Eli Zaretskii  <eliz@gnu.org>

	* etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.

2017-08-06  Tino Calancha  <tino.calancha@gmail.com>

	Minor tweak in a dired test

	* test/lisp/dired-tests.el (dired-test-bug27968):
	Ensure the new header has different length than the original one.

2017-08-06  Tino Calancha  <tino.calancha@gmail.com>

	dired-delete-file: Do not TAB complete the user answer

	This action might delete directories containing valuable information.
	Before previous commit, we prompted users with `yes-or-no-p'
	which doesn't TAB complete the user answer.  Let's play safe and
	keep requiring full answers.
	* lisp/dired.el (dired-delete-file): Use `read-string'
	instead of `completing-read' to read the user answers.

2017-08-06  Tino Calancha  <tino.calancha@gmail.com>

	dired-do-delete: Allow to delete dirs recursively without prompts

	* lisp/dired.el (dired-delete-file): Accept 2 additional answers:
	'all', to delete all directories recursively and no prompt anymore.
	'quit', to cancel directory deletions (Bug#27940).
	Show help message when user inputs 'help'.
	(dired-do-flagged-delete): Bind locally dired-recursive-deletes
	so that we can overwrite its global value.
	Wrap the loop within a catch '--delete-cancel to catch when
	the user abort the directtry deletion.
	* doc/emacs/dired.texi (Dired Deletion): Update manual.
	* etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
	Announce this change.

2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>

	Fix a couple of make-temp-file races

	* lisp/emacs-lisp/autoload.el (autoload--save-buffer):
	* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
	Use make-temp-file, not make-temp-name, to avoid an unlikely race
	that could lose data.  Remove the deletion hook as quickly as
	possible after the file is renamed; though a race still remains
	here, it is smaller than before.

2017-08-06  Tino Calancha  <tino.calancha@gmail.com>

	Dired with eshell-ls: Handle shell wildcards in file name

	* lisp/eshell/em-ls.el (eshell-ls--insert-directory):
	Use eshell-extended-glob (Bug#27844).
	* test/lisp/dired-tests.el (dired-test-bug27844): Add test.

2017-08-06  Tino Calancha  <tino.calancha@gmail.com>

	dired-revert: save line numbers instead of positions

	Positions might change if the length of one dired header line
	changes; this happen, for instance, if we add new files.
	Instead, line numbers are invariant under shrinks/enlargements
	of the file header.
	https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
	* lisp/dired.el (dired-save-positions): Save the line numbers at point.
	(dired-restore-positions): Use forward-line to restore the original
	position (Bug#27968).
	* test/lisp/dired-tests.el (dired-test-bug27968): Add test.

2017-08-06  Tom Tromey  <tom@tromey.com>

	Respect comment-auto-fill-only-comments

	Respect comment-auto-fill-only-comments when auto-filling and a
	comment syntax is defined.

	* lisp/newcomment.el (comment-indent-new-line): Do not check
	comment-auto-fill-only-comments.
	* lisp/simple.el (internal-auto-fill): New defun.
	* src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
	auto_fill_function.
	(syms_of_cmds): Define Qinternal_auto_fill.

2017-08-05  Richard Stallman  <rms@gnu.org>

	* etc/tutorials/TUTORIAL: Update.

2017-08-05  Eli Zaretskii  <eliz@gnu.org>

	Unify CNS11643-15 in a way that avoids segfaults

	* lisp/international/mule-conf.el: Redo unification of
	cns11643-15.  (Bug#27964)
	(chinese-cns11643-15): Add the missing :unify-map attribute.

2017-08-05  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults while producing Punct.el

	* lisp/international/mule-conf.el: Undo unification of
	cns11643-15, as that causes segfaults during bootstrap.
	(Bug#27964)

2017-08-05  Eli Zaretskii  <eliz@gnu.org>

	Make header line in some modes be sensitive to display-line-numbers

	* lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
	(tabulated-list-print-entry): Account for the width taken by
	line-number display.  (Bug#27895)

2017-08-05  Eli Zaretskii  <eliz@gnu.org>

	Fix a bug in 'generate-new-buffer-name'

	* src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
	nil before calling string-equal, since the latter will compare
	"nil and 'nil' as equal.  (Bug#27966)

	* test/src/buffer-tests.el
	(test-generate-new-buffer-name-bug27966): New test.

2017-08-05  Eli Zaretskii  <eliz@gnu.org>

	Unify CNS11643-15

	* lisp/international/mule-conf.el (chinese-cns11643-15): Add a
	unify-charset form for it.  (Bug#27964)

2017-08-05  Eli Zaretskii  <eliz@gnu.org>

	Improve test of error message when Emacs cannot be suspended

	* lisp/term/x-win.el (x-win-suspend-error):
	* lisp/term/ns-win.el (ns-suspend-error): Improve the error
	message.  (Bug#27901)

2017-08-05  Alexander Gramiak  <agrambot@gmail.com>

	Make "C-h o" show faces as well as variables

	* lisp/faces.el (describe-face): Return (buffer-string).  Reorder
	the placement of variables/faces in describe-symbol, to put more
	emphasis on the variable entry rather than the face.  (Bug#24543)

2017-08-05  Eli Zaretskii  <eliz@gnu.org>

	Fix files-tests.el for MS-Windows

	* test/lisp/files-tests.el
	(files-tests--file-name-non-special--subprocess): Fix this test
	for MS-Windows.

2017-08-05  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'region-extract-function'

	* lisp/simple.el (region-extract-function): Rename the argument to
	METHOD.  Doc fix.  (Bug#27927)

2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
	2017-08-01 manywarnings: port to 32-bit GCC bug
	* lib/gnulib.mk.in: Regenerate.
	* m4/manywarnings.m4: Copy from gnulib.

2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent rename changes to Ubuntu 14.04

	* src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
	Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).

2017-08-05  Tino Calancha  <tino.calancha@gmail.com>

	insert-directory-wildcard-in-dir-p: Tweak regexp

	This function must return non-nil for a wildcard like '/*/*.txt'.
	* lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
	* test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
	Add test.

2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>

	Implement iterator generator for avl-trees.

	* lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.

2017-08-04  Tino Calancha  <tino.calancha@gmail.com>

	ls-lisp: Drop eshell dependencies

	Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
	expand the wildcards.
	Suggested by Fabrice Popineau in:
	https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
	* lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.

2017-08-04  Tino Calancha  <tino.calancha@gmail.com>

	Fix dired-test-bug27631 on MS-Windows

	Skip the test if Dired use 'ls' emulation with lisp.  The same
	bug is tested in their respective test suites: ls-lisp-tests.el
	and em-ls-tests.el.
	* test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
	or 'eshell' features are enabled.

2017-08-04  Eli Zaretskii  <eliz@gnu.org>

	Fix dired-test-bug25609 on MS-Windows

	* test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
	pass temporary files through file-truename, to avoid bogus
	failures due to file-name comparison as strings.

2017-08-04  Tino Calancha  <tino.calancha@gmail.com>

	Fix 2 tests that fail in MS-Windows

	https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
	* test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
	Add comments to explain the test logic.
	Pass '--binary' option to 'patch' program in windows environments.
	Check explicitly that a backup is created before compare file contents.

	* test/lisp/dired-tests.el (dired-test-bug25609):
	Declare variable 'dired-dwim-target' right before the test.
	Add comments to explain the test logic.
	Ensure, before test the bug condition, that we are displaying the
	2 dired buffers created in this test, and no other dired buffer
	is shown.

2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/shell.el (explicit-shell-file-name): Mention shell-file-name

	* lisp/files.el (insert-directory): Don't hardcode "-c".
	* lisp/term.el (term, ansi-term): Use shell-file-name.

2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix version numbers for some GnuTLS features

	Problem reported by Glenn Morris (Bug#27708#58).
	* src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
	New macro.  Use it instead of low-level version number checks.
	(HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
	HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
	* src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
	(HAVE_GNUTLS3_HMAC): Remove, since these were available
	before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
	is defined.  Remove all uses; this simplifies the code a bit.

2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent rename changes to RHEL 7 + NFS

	Problem reported by Ted Zlatanov in:
	https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
	* src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
	with errno == EINVAL when it is not supported.  So treat that case
	like errno == ENOSYS.  Also, when ok_if_already_exists is neither
	nil nor an integer, just call plain rename; this avoids an extra
	syscall to renameat2 when the latter fails with errno == EINVAL or
	ENOSYS or ENOENT.

2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	Port GnuTLS usage to Ubuntu 16.04.2 LTS

	* src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
	later, as opposed to the old 3.4.0 or later.

2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify configuration of HAVE_GNUTLS3 etc.

	There's only one GnuTLS, so configuring these symbols at
	'configure' time is overkill.  Simplify things by moving their
	configuration to src/gnutls.h (Bug#27708).
	* configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
	(HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
	from here ...
	* src/gnutls.h: ... to here, and simplify.

2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	Default to --with-mailutils if it is installed

	* configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
	is installed.  See:
	https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html

2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>

	Clarify when autogen.sh should run only autoconf

	* Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
	not plain ‘./autogen.sh’, to make it clear that only
	autoconf-related tools should be run here.

2017-08-02  Toon Claes  <toon@iotcl.com>

	.gitlab-ci.yml: Use stretch Debian image instead of unstable

2017-08-02  Stephen Berman  <stephen.berman@gmx.net>

	Add debugging messages to a Dired test

	* test/lisp/dired-tests.el (dired-test-bug27243-01): Log
	positions saved and restored by dired-revert to try and find
	out why the test fails on Hydra.

2017-08-02  Tino Calancha  <tino.calancha@gmail.com>

	ls-lisp: Autoload call instead of cookie

	* lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.

2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>

	When renaming a file, ask only if EEXIST or ENOSYS

	* src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
	more than once on FILE.  Use renameat_noreplace, so that we can
	ask the user (and unlink and retry) only if this fails with errno
	== EEXIST or ENOSYS.  This avoids the need to ask the user for
	permission to do an operation that will fail anyway.  Simplify
	computation of ok_if_already_exists for subsidiary functions.
	* src/filelock.c (rename_lock_file): Prefer renameat_noreplace
	if it works, as this avoids the need to link and unlink.
	* src/lisp.h (renameat_noreplace): New decl.
	* src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
	(renameat_noreplace): New function.

2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>

	When creating a link, ask only if EEXIST

	* src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
	Ask the user (and unlink and retry) only if link creation fails
	with errno == EEXIST.  This avoids the need to ask the user for
	permission to do an operation that will fail anyway.

2017-08-02  Tino Calancha  <tino.calancha@gmail.com>

	dired-align-file: Inherit text properties in inserted spaces

	* lisp/dired.el (dired-align-file): Inherit text
	properties in inserted spaces (Bug#27899).
	* test/lisp/dired-tests.el (dired-test-bug27899): Add test.

2017-08-02  Tino Calancha  <tino.calancha@gmail.com>

	Don't assume /bin/sh as the 'sh' location in the local host

	* lisp/dired.el (dired-insert-directory): Use executable-find in
	a local host.

2017-08-02  Tino Calancha  <tino.calancha@gmail.com>

	Move dired tests using ls emulation to different files

	Suggested in:
	https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
	* test/lisp/dired-tests.el (dired-test-bug27693)
	(dired-test-bug27762, dired-test-bug27817)
	(dired-test-bug27631, dired-test-bug27843): Delete those
	parts requiring either ls-lisp or eshell-ls.

	* test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
	(ls-lisp-test-bug27631, ls-lisp-test-bug27693):
	Add all dired tests using ls-lisp here.

	* test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
	(em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
	all dired tests using eshell-ls here.

2017-08-02  Tino Calancha  <tino.calancha@gmail.com>

	* test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el

2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
	Say the handle is already decoded.
	cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.

2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t worry about unlink if errno == ENOENT

	* src/fileio.c (Fdelete_file):
	* src/keyboard.c (Fopen_dribble_file): Do not report failure to
	remove a file if unlink fails with errno == ENOENT.  This can
	happen even if Emacs is the only program removing the file, in
	case an NFS cache overflows.  The file does not exist if errno ==
	ENOENT, so it is OK to proceed.

2017-08-01  Tino Calancha  <tino.calancha@gmail.com>

	Fix misalignment in Dired when dired-directory is a cons

	* lisp/dired.el (dired--need-align-p, dired--align-all-files):
	New defuns.
	(dired-internal-noselect): Call dired--align-all-files when
	dired-directory is a cons (Bug#27762).
	* test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.

2017-08-01  Eli Zaretskii  <eliz@gnu.org>

	Fix some dired-tests.el on MS-Windows

	* test/lisp/dired-tests.el (dired-test-bug27243-01)
	(dired-test-bug27243-02): On MS-Windows, pass test-dir through
	file-truename, to avoid bogus failures due to file-name comparison
	as strings.

2017-08-01  Tino Calancha  <tino.calancha@gmail.com>

	Insert subdir content if dir-or-list is a string without wildcards

	* lisp/eshell/em-ls.el (eshell-ls--insert-directory):
	Append '("-d") into 'eshell-ls-dired-initial-args'
	if 'dired-directory' is a cons or there are wildcars (Bug#27843).
	* test/lisp/dired-tests.el (dired-test-bug27843): Add test.

2017-08-01  Stephen Berman  <stephen.berman@gmx.net>

	Update todo-mode defcustoms in a less hideous way

	* lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
	(todo-reevaluate-default-file-defcustom)
	(todo-reevaluate-category-completions-files-defcustom)
	(todo-reevaluate-filter-files-defcustom): Delete these functions.
	(todo-update-filelist-defcustoms): New function.  This replaces
	todo-reevaluate-filelist-defcustoms, using the 'custom-type'
	property instead of re-evaluating the defcustoms.
	(todo-add-file, todo-rename-file, todo-delete-file)
	(todo-delete-category, todo-move-category)
	(todo-convert-legacy-files, todo-check-file): Replace call of
	todo-reevaluate-filelist-defcustoms by
	todo-update-filelist-defcustoms.
	(todo-show, todo-category-completions): Replace call of
	todo-reevaluate-* function by use of 'custom-type' property.

2017-08-01  Tino Calancha  <tino.calancha@gmail.com>

	Add more should form calls in a failing dired test

	Some dired tests fail intermittently in hydra.  Add few
	more should form calls for debugging.
	See:
	https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
	* test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
	forms for debugging.

2017-08-01  Michael Albinus  <michael.albinus@gmx.de>

	Follow SAUNA recommendations for display-line-numbers-type

	* lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.

	* lisp/menu-bar.el (display-line-numbers-type): Declare.

2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid most stat calls when completing file names

	* admin/merge-gnulib (GNULIB_MODULES): Add d-type.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* m4/d-type.m4: New file, copied from gnulib.
	* src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
	[!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
	(dirent_type): New function.
	(file_name_completion): Use it, to avoid unnecessary calls to
	stat-like functions on GNU/Linux and other platforms with d_type.
	(file_name_completion_stat): Just follow the link; there is no
	need to try first with AT_SYMLINK_NOFOLLOW since the directory
	entry was already checked to exist.

2017-07-31  Tino Calancha  <tino.calancha@gmail.com>

	dired-tests: Unload tested features after test them

	Some tests are for Dired with ls-lisp or eshell-ls.
	Requiring these features add an advice on `dired' and
	might affect other tests.
	Do not require these features at the top of the file; require
	then inside the tests and unload then at the end.
	* test/lisp/dired-tests.el (dired-test-bug27693)
	(dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
	require ls-lisp and/or eshell-ls inside the test; unload the
	features at the end.

2017-07-31  Michael Albinus  <michael.albinus@gmx.de>

	Small adaptions for directory wildcards

	* lisp/dired.el (dired-insert-directory): Remove "--dired"
	when there are wildcards, and the directory is remote.

	* test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
	Adapt docstring.
	(tramp-test17-dired-with-wildcards): Skip for all methods but
	those from tamp-sh.p.

2017-07-31  Tino Calancha  <tino.calancha@gmail.com>

	* lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
	string bounds.

2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
	* lib/tempname.c: Copy from gnulib.

2017-07-30  Tino Calancha  <tino.calancha@gmail.com>

	ls-lisp: Do not require em-glob at top of the file

	Require em-glob inside 'ls-lisp--dired'.  This is necessary to
	not break the Emacs build.
	See following thread for details:
	https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
	* lisp/ls-lisp.el (dired-goto-next-file)
	(dired-read-dir-and-switches, eshell-extended-glob):
	Add function declarations.
	* lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.

2017-07-30  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.

	* test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.

2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>

	Change default CSS property face

	* lisp/textmodes/css-mode.el (css-property): Inherit from
	`font-lock-keyword-face' instead of `font-lock-variable-name-face' to
	distinguish CSS properties from variables.

2017-07-30  Tino Calancha  <tino.calancha@gmail.com>

	Dired: Handle posix wildcards in directory part

	Allow Dired to handle calls like
	\(dired \"~/foo/*/*.el\"), that is, with wildcards within
	the directory part of the file argument (Bug#27631).
	* lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
	(insert-directory-clean): New defun extracted from insert-directory.
	(insert-directory)
	* lisp/dired.el (dired-internal-noselect)
	(dired-insert-directory): Use the new predicate; when it's true,
	handle the directory wildcards with a shell call.
	* lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
	(eshell-ls-unload-hook): New defun.  Use it in
	eshell-ls-unload-hook instead of an anonymous function.
	(eshell-ls--dired)
	* lisp/ls-lisp.el (ls-lisp--dired):
	Advice dired to handle wildcards in the directory part with both
	eshell-ls and ls-lisp.
	* etc/NEWS: Announce it.
	* doc/emacs/dired.texi (Dired Enter): Update manual.
	* test/lisp/dired-tests.el (dired-test-bug27631): Add test.

2017-07-29  Tino Calancha  <tino.calancha@gmail.com>

	* lisp/find-lisp.el: Enable lexical binding

	* lisp/find-dired.el: Enable lexical binding

2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/kmacro.el: Use lexical binding.

2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>

	Use lexical-binding in dired-aux.el

	* lisp/dired.el: Use lexical binding.
	(dired-do-shell-command): Remove unused bindings.

2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/ido.el: Use lexical binding.

	* lisp/whitespace.el: Use lexical binding.

2017-07-29  Stephen Berman  <stephen.berman@gmx.net>

	artist.el: Avoid error with keyboard command invocation

	* lisp/textmodes/artist.el (artist-mouse-choose-operation):
	Call x-popup-menu with t instead of last-nonmenu-event as the
	value of the position argument; this allows invoking the
	command from the keyboard without raising an error (bug#27819).

2017-07-29  Stephen Berman  <stephen.berman@gmx.net>

	Preserve point under 'dired-auto-revert-buffer' (third case)

	* lisp/files.el (find-file): Use pop-to-buffer-same-window
	instead of switch-to-buffer.  This preserves Dired window
	point when dired-auto-revert-buffer is non-nil.  (Bug#27243)

	* test/lisp/dired-tests.el (dired-test-bug27243-01)
	(dired-test-bug27243-02, dired-test-bug27243-03): New tests.
	The first two replace a previous test that combined them; that
	test intermittently fails in the Hydra build system, so maybe
	separating the two cases will help locate the point of
	failure.  The third test involves find-file but is here
	because it, like the others, is testing the effect of
	dired-auto-revert-buffer.

2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)

	Do not unset user key remaps in dired-x

	* lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
	sets dired-x-hands-off-my-keys.  (Bug#27828)

2017-07-29  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'occur'

	* doc/emacs/search.texi (Other Repeating Search):
	* lisp/replace.el (occur): Make the documentation of 'occur' be
	more accurate when matches overlap.  (Bug#27818)

2017-07-29  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits of comments in faces.el

	* lisp/faces.el (face-font-family-alternatives): More info about
	requirements from "Monospace Serif".

2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>

	Do not worry about paxctl on newer NetBSD

	Problem reported privately by Thomas Klausner.
	* configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
	on newer NetBSD platforms, where it is not needed.  Also use it to
	simplify Cygwin diagnostic.

2017-07-29  Eli Zaretskii  <eliz@gnu.org>

	Clarify documentation of ':inherit' face attribute

	* doc/lispref/display.texi (Face Attributes): Document the special
	treatment of 'unspecified' in the ':inherit' attribute.

2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/password-cache.el (password-data): Use a hash-table

	* lisp/auth-source.el (auth-source-magic): Remove.
	(auth-source-forget+, auth-source-forget-all-cached): Adjust to new
	format of password-data.
	(auth-source-format-cache-entry): Just use a cons.

	(password-cache-remove, password-cache-add, password-reset)
	(password-read-from-cache, password-in-cache-p): Adjust accordingly.

	(Bug#26699)

2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (define-symbol-prop): New function

	(symbol-file): Make it find symbol property definitions.

	* lisp/emacs-lisp/pcase.el (pcase-defmacro):
	* lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
	(ert-describe-test): Adjust call to symbol-file accordingly.

2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (method-files): Move function to cl-generic.el

	* lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
	(cl--generic-method-files): New function, moved from subr.el.
	* lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
	* test/lisp/emacs-lisp/cl-generic-tests.el:
	* test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.

2017-07-28  Eli Zaretskii  <eliz@gnu.org>

	Preserve this-command-keys across recursive-edit invocations

	* src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
	restore this-command-keys, to preserve it across recursive-edit.
	(Bug#27470)

2017-07-28  Eli Zaretskii  <eliz@gnu.org>

	Improve doc string of 'locate-dominating-file'

	* lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)

2017-07-28  Drew Adams  <drew.adams@oracle.com>

	New commands 'apropos-local-variable', 'apropos-local-value'

	* lisp/apropos.el (apropos-local-variable, apropos-local-value):
	New functions.  (Bug#27424)

	* doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
	and 'apropos-local-value'.
	* etc/NEWS: Mention the new commands.

2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code

	* lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.

2017-07-27  Alan Mackenzie  <acm@muc.de>

	Fix C++ class initializers not always being fontified at mode start.

	The problem here happened when an "outer list" of declarations moved beyond an
	"inner list" containing class initializers.  These weren't being checked for
	by the code.

	Also, fix places in c-get-fontification-context where point is undefined.

	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
	not-front-decl is set, test for class initializers.  Also, anchor point in
	places where it is moved and is otherwise undefined.

2017-07-27  Alan Mackenzie  <acm@muc.de>

	Fix variables in C++ "for" statement not always being fontified.

	The error happened when there was a comma inside template delimiters.

	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
	statements, recognize template delimiters containing "," and "&".

2017-07-27  Michael Albinus  <michael.albinus@gmx.de>

	Add watchdog process to tramp-test36-asynchronous-requests

	* test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
	New defun.
	(tramp-test36-asynchronous-requests): Use a watchdog process,
	listening for SIGUSR1.

2017-07-27  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk

	If a declarator is so cut off, extend the fontification chunk to include it.

	* lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
	(c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.

2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases

	(smerge--refine-long-words): New var.
	(smerge--refine-chopup-region): Use it.

2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/url/url-cookie.el: Use lexical-binding

	(url-cookie-host-can-set-p): Remove unused var `last'.
	Use string-suffix-p.
	(url-cookie-list): De morgan.
	(url-cookie-quit): Remove.
	(url-cookie-mode): Inherit from special-mode.
	(url-cookie-mode-map): Simplify accordingly.

2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.

	* lisp/ruler-mode.el (ruler-mode-ruler): Document problem.

2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):

	Record this as the function's definition site if it's the first def.

2017-07-26  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/loading.texi (When to Autoload): New section.

2017-07-26  Glenn Morris  <rgm@gnu.org>

	Stop using unibyte buffers for ert backtraces

	* lisp/emacs-lisp/ert.el
	(ert-results-pop-to-backtrace-for-test-at-point):
	Set multibyte true, not false.  This copies a
	debugger-setup-buffer change from 2009-08-30, and stops the
	"Backtrace for" header line containing ^X and ^Y.

2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>

	Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0

	* lisp/cedet/semantic/symref/grep.el
	(semantic-symref-grep--line-re): Delete.
	(semantic-symref-parse-tool-output-one-line):
	Use regexp and group numbers from (grep-regexp-alist).

2017-07-26  Grégoire Jadi  <daimrod@omecha.info>

	Fix cl-defmethod indentation

	* lisp/emacs-lisp/cl-generic.el (cl-defmethod):
	Declare (indent defun).  Fixes bug#23994.

2017-07-26  Martin Rudalics  <rudalics@gmx.at>

	Fix two customization types in frame.el

	* lisp/frame.el (window-divider-default-bottom-width)
	(window-divider-default-right-width): Fix customization types.

2017-07-26  Tino Calancha  <tino.calancha@gmail.com>

	Dired: Support eshell-ls from the beginning if the user wants to

	* lisp/dired.el (dired-insert-directory): Check for eshell-ls
	as well (Bug#27817).
	* test/lisp/dired-tests.el (dired-test-bug27817): Add test.

2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.

2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):

	Adjust to change in cl-generic-ensure-function.

2017-07-25  Tino Calancha  <tino.calancha@gmail.com>

	ls-lisp: Add an unload function and enable lexical binding

	Enable lexical binding.
	* lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
	* test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.

2017-07-25  Tino Calancha  <tino.calancha@gmail.com>

	register-read-with-preview: Quit if user input C-g or ESC

	* lisp/register.el (register-read-with-preview):
	Quit if user input C-g or ESC (bug#27634).
	* doc/emacs/regs.texi (Registers): Update manual.
	* test/lisp/register-tests.el (register-test-bug27634): Add test.

2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>

	Recognize MirBSD Korn shell rc file

	* lisp/files.el (auto-mode-alist): Add .mkshrc to the list.

2017-07-25  Glenn Morris  <rgm@gnu.org>

	* configure.ac: Be explicit about ImageMagick version in summary.

2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>

	Properly align global lispsym

	* lib-src/make-docfile.c (close_emacs_globals): Wrap struct
	Lisp_Symbols inside struct.
	* src/alloc.c (sweep_symbols): Update use of lispsym.
	* src/lisp.h (builtin_lisp_symbol): Likewise.

2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>

	Do not use ImageMagick 7 and later

	Suggested by Glenn Morris (Bug#25967#15).
	* configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.

2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/perl-mode.el: Add support for indented here docs

	* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
	Recognize the new <<~ syntax for indented here docs.
	(perl-syntax-propertize-special-constructs): Adjust search of the
	end of here docs accordingly.

	* test/manual/indent/perl.perl: Add test for indented here docs.

2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	(loadhist-unload-element): Move ERT and cl-generic methods

	* lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
	and ert methods here.
	(loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.

	* lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
	unload method for cl-defmethod.
	(cl-generic-ensure-function): Remove redundant `defalias'.

	* lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
	setting here...
	(ert-deftest): ...from here.
	(loadhist-unload-element): Define unload method for ert-deftest.

2017-07-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#27371

	* lisp/loadhist.el (loadhist-unload-element): Declare for
	different entry types of `load-history'.
	(loadhist--restore-autoload): New variable.
	(loadhist--unload-function): New defun.
	(unload-feature): Use `loadhist-unload-element'.  Recommended by
	Stefan Monnier.  (Bug#27371)

	* test/lisp/net/tramp-tests.el (tramp-test39-unload):
	Check, that the `tramp-file-name' structure has been unloaded.

2017-07-24  Grégoire Jadi  <gjadi@omecha.info>

	Ensure that we parse images right in shr.el

	* lisp/net/shr.el (shr-image-fetched): Go back to the
	beginning of the buffer before trying to parse the image
	fetched.

2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	Update .gitignore for Valgrind and no Automake

	* .gitignore: Remove .deps/ since we no longer use Automake.
	Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.

2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-07-23 Rename module 'strftime' to 'nstrftime'
	* admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
	* build-aux/config.guess: Copy from gnulib.
	* lib/nstrftime.c: Rename from lib/strftime.c.
	* m4/nstrftime.m4: Rename from m4/strftime.m4.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2017-07-23  Philipp Stephani  <phst@google.com>

	Add 'rx' pattern for pcase.

	* lisp/emacs-lisp/rx.el (rx): New pcase macro.
	* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.

2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>

	Use a named function for global minor mode turn-on argument

	* lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
	New function.
	(global-display-line-numbers-mode): Use it.

2017-07-23  Charles A. Roelli  <charles@aurox.ch>

	Enable GUI Emacs without 'make install' on macOS (Bug #27645)

	* nextstep/INSTALL: Correct it, and mention that Emacs can be run
	from 'src/emacs'.

	* src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
	launched outside of a macOS application bundle, change its
	activation policy from the default 'prohibited' to 'regular'.

2017-07-23  Alan Mackenzie  <acm@muc.de>

	Convert CC Mode's c-found-types from an obarray to a hash table.

	* lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
	rather than an obarray.
	(c-copy-found-types): Remove.
	(c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
	the new hash table.
	(c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.

2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix image/svg+xml display in shr

	* lisp/net/shr.el (shr-put-image): Display svg images as svg
	(bug#27799).  I suspect the previous change was checked in by
	accident in conjunction with some other svg changes.

2017-07-23  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.

2017-07-23  Glenn Morris  <rgm@gnu.org>

	Don't automatically enable Gconf if Gsettings was found

	* configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
	Don't test for Gconf unless specifically requested.
	Gconf was deprecated in favor of Gsettings several years ago.

2017-07-23  Glenn Morris  <rgm@gnu.org>

	* configure.ac (MODULES_SUFFIX): Always give it a value.

	This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".

2017-07-23  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/frames.texi (Fonts): Mention Gsettings.

2017-07-22  Michael Albinus  <michael.albinus@gmx.de>

	Add line numbers display to the Options menu

	* lisp/menu-bar.el (toggle-display-line-numbers): Remove.
	(menu-bar-display-line-numbers-mode): New defun.
	(menu-bar-showhide-line-numbers-menu): New defvar.
	(menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'

2017-07-22  Noam Postavsky  <npostavs@gmail.com>

	Signal error for symbol names with strange quotes (Bug#2967)

	* src/lread.c (read1): Signal an error when a symbol starts with a
	non-escaped quote-like character.
	* test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
	test.
	* etc/NEWS: Announce change.

2017-07-22  Noam Postavsky  <npostavs@gmail.com>

	Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"

	It turns out that this change is not needed, and it leaves several
	command loops settings not done.

	https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
	https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html

2017-07-22  Alexander Gramiak  <agrambot@gmail.com>

	Add a minor mode interface for display-line-numbers

	* lisp/cus-start.el: Use the new display-line-numbers group.
	* lisp/display-line-numbers.el: New file.

	* doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
	belong to linum-mode.
	* doc/emacs/modes.texi (Minor Modes): Summarize the mode.
	* etc/NEWS: Document display-line-numbers-mode and its customization
	variables, and mention that display-line-numbers-width is
	buffer-local.

	* src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
	typo.

2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)

	Support indented HERE-DOCs in cperl-mode

	* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
	indented here-docs.  (Bug#27254) (Bug#27697)

2017-07-22  Eli Zaretskii  <eliz@gnu.org>

	Document the support for "scrollBar" X resource

	* doc/emacs/xresources.texi (Table of Resources): Document the new
	'scrollBar' setting.
	* etc/NEWS: Document the new 'scrollBar' setting.

2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)

	Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'

	* lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
	settings.

2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>

	Update ld-script mode (bug#27629)

	* lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
	NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
	numbers for PROVIDE/PROVIDE_HIDDEN commands.
	(ld-script-builtins): New builtin function LOG2CEIL added.

2017-07-22  Eli Zaretskii  <eliz@gnu.org>

	Index 'rectangle' in the ELisp manual

	* doc/lispref/text.texi (Registers): Index the "rectangle" value.
	(Bug#27541)

2017-07-22  Eli Zaretskii  <eliz@gnu.org>

	* lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)

2017-07-22  Eli Zaretskii  <eliz@gnu.org>

	Doc fixes for kmacro.el functions

	* lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
	(kmacro-end-and-call-macro): Don't use "permanent name", as that
	could be misinterpreted.  (Bug#27492)

2017-07-22  Charles A. Roelli  <charles@aurox.ch>

	ElDoc: add docstrings and minor refactoring

	* lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
	docstring.
	(turn-on-eldoc-mode): Fix capitalization.
	(eldoc--supported-p): Add docstring.
	(eldoc-schedule-timer): Add docstring and use
	'eldoc--supported-p'.
	(eldoc-message): Add docstring and make calling convention
	clearer.
	(eldoc--message-command-p):
	(eldoc-pre-command-refresh-echo-area):
	(eldoc-display-message-p):
	(eldoc-display-message-no-interference-p):
	(eldoc-print-current-symbol-info):
	(eldoc-docstring-format-sym-doc):
	(eldoc-add-command, eldoc-add-command-completions):
	(eldoc-remove-command, eldoc-remove-command-completions):
	Add docstring.  (Bug#27230)

2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)

	Mention 'C-M-i' as key binding for 'ispell-complete-word'

	* doc/emacs/fixit.texi (Spelling): ispell-complete-word
	can also be invoked by C-M-i.  (Bug#27349)

2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)

	Fix the eww-search-words description in the Emacs manual

	* doc/emacs/search.texi (Word Search):
	Include the key binding for eww-search-words in the manual.
	Fix the spelling of the 'eww-search-words' command.

2017-07-22  Andrew L. Moore  <slewsys@gmail.com>

	Introduce defcustom 'executable-prefix-env'

	* lisp/progmodes/executable.el (executable-prefix): Update the doc
	string.
	(executable-prefix-env): New defcustom.
	(executable-set-magic): Use executable-prefix-env.

	* etc/NEWS: Document the new variable.

2017-07-22  Glenn Morris  <rgm@gnu.org>

	* test/lisp/ibuffer-tests.el: Delete temporary files.

2017-07-21  Glenn Morris  <rgm@gnu.org>

	Further attempt to avoid hang in network-stream-tests

	* test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
	Limit the time we wait for the external process.

2017-07-21  Glenn Morris  <rgm@gnu.org>

	Stop skipping many ibuffer tests by default

	* test/lisp/ibuffer-tests.el (ibuffer-0autoload):
	Rename so it sorts first.
	(ibuffer-save-filters, ibuffer-filter-inclusion-1)
	(ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
	(ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
	(ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
	(ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
	(ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
	(ibuffer-unary-operand): Require ibuf-ext so tests not skipped.

2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use lexical-binding in todo-mode.el

	Adjust code accordingly and make various minor improvements.

	* lisp/calendar/todo-mode.el: Enable lexical-binding.
	(dayname, monthname, day, month, year): Make forward defvars
	of these keywords from macros defined in calendar.el; wrap
	them in with-no-warnings.
	(todo-files, todo-files-function, todo-date-pattern)
	(todo-mode-line-function, todo-show, todo-forward-category)
	(todo-edit-item--header, todo-set-category-number)
	(todo-adjusted-category-label-length)
	(todo-total-item-counts, todo-filter-items)
	(todo-print-buffer-function, todo-convert-legacy-date-time)
	(todo-category-number, todo-category-completions)
	(todo-read-file-name, todo-read-category)
	(todo-validate-name, todo-read-date)
	(todo-set-show-current-file, todo-modes-set-1)
	(todo-modes-set-2, todo-modes-set-3, todo-mode):
	Use #' instead of ' to quote functions.
	(todo-files): Use \' instead of $ in regexp.
	(todo--files-type-list): New function.
	(todo-default-todo-file, todo-category-completions-files)
	(todo-filter-files, todo-multiple-filter-files)
	(todo-reevaluate-default-file-defcustom)
	(todo-reevaluate-category-completions-files-defcustom)
	(todo-reevaluate-filter-files-defcustom): Use it.
	(todo-show, todo-rename-file, todo-move-category)
	(todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
	(todo-item-undone, todo-unarchive-items, todo-search)
	(todo-filter-items, todo-filter-items-1, todo-find-item)
	(todo-category-select, todo-read-date)
	(todo-nondiary-marker-matcher, todo-date-string-matcher)
	(todo-diary-expired-matcher, todo-convert-legacy-files)
	(todo-read-category): Reformat to avoid code hiding behind a
	more deeply embedded element.
	(todo-forward-category, todo-set-category-number):
	Use 'funcall' instead of 'apply'.
	(todo-toggle-mark-item, todo-edit-item--diary-inclusion)
	(todo-edit-category-diary-inclusion)
	(todo-insert-sort-button, todo-insert-category-line)
	(todo-multiple-filter-files): Mark unused local variables.
	(todo-edit-item--header, todo-move-item, todo-print-buffer)
	(todo-edit-item--header, todo-move-item, todo-check-file)
	(todo-edit-item--next-key): Remove unused local variables.
	(todo-insert-sort-button, todo-insert-category-line):
	Use a closure instead of a backquoted lambda.
	(todo-update-categories-display, todo-print-buffer): Simplify code.
	(todo-print-buffer-function): Document calling convention.
	(todo-category-completions): Use cl-pushnew instead of add-to-list.
	(todo-mode-map, todo-archive-mode-map)
	(todo-categories-mode-map, todo-filtered-items-mode-map):
	Remove superfluous call of suppress-keymap, since it's already
	in the parent special-mode-map.

2017-07-21  Tino Calancha  <tino.calancha@gmail.com>

	dired: Revert buffer when DIRNAME is a cons

	* lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
	is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
	Update the comments.
	* test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.

2017-07-21  Tino Calancha  <tino.calancha@gmail.com>

	Handle when dired-directory is a cons in some Dired functions

	* lisp/dired-aux.el (dired-rename-subdir-1)
	* lisp/dired-x.el (dired-mark-omitted):
	Handle when dired-directory is a cons.

2017-07-21  Noam Postavsky  <npostavs@gmail.com>

	Make eshell-next-prompt more reliable (Bug#27405)

	* lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
	`eshell-prompt-regexp' (and `read-only' text-property if
	`eshell-highlight-prompt' is set) rather than trying to use
	`forward-paragraph'.
	(eshell-previous-prompt): Don't count prompt on current line.

2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify recent gnutls.c changes

	* src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
	All uses replaced by calls to explicit_bzero; that’s clear enough.
	(gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
	coalescing duplicate actions.  There is no need to invoke
	SAFE_FREE before calling ‘error’.

2017-07-20  Michael Albinus  <michael.albinus@gmx.de>

	Stylistic changes in tramp-cache.el

	* lisp/net/tramp-cache.el (tramp-get-file-property)
	(tramp-set-file-property): Use `bound-and-true-p'.  Add
	counter variables to `tramp-cache-unload-hook'.

2017-07-20  Glenn Morris  <rgm@gnu.org>

	* admin/notes/hydra: Small updates.

2017-07-20  Glenn Morris  <rgm@gnu.org>

	Make tramp unloading handle debug counter variables

	* lisp/net/tramp-cache.el (tramp-get-file-property)
	(tramp-set-file-property): Add counter variables to tramp-unload-hook.

2017-07-20  Eli Zaretskii  <eliz@gnu.org>

	Fix hscrolling calculations when display-line-numbers is set

	* src/xdisp.c (move_it_in_display_line_to): Account for line
	numbers in hscrolled lines.  (Bug#27756)

2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>

	Fix the bogus change made 13 years ago (bug#27084)

	* lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
	Fix the way to test if there is no visible header (bug#27084).

2017-07-20  Noam Postavsky  <npostavs@gmail.com>

	Use grep's --null option (Bug#6843)

	* lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
	(grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
	(grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
	constants, replacing `grep-regexp-alist'.
	(grep-regex-alist): Mark the variable obsolete, add a new function of
	the same name to replace it.
	(grep-compute-defaults): Compute default for
	`grep-use-null-filename-separator'.
	(grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
	value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
	according to `grep-use-null-filename-separator'.
	* lisp/progmodes/xref.el (xref-collect-matches): Call
	`grep-regex-alist' instead of the obsolete variable.  Don't hardcode
	grep-regexp-alist match groups.
	* etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
	item under "Grep" heading as well.

2017-07-19  Philipp Stephani  <phst@google.com>

	* src/gnutls.c (clear_storage): Define only if needed.

2017-07-19  Stephen Berman  <stephen.berman@gmx.net>

	Adjust todo-quit to recent change in dired

	* lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
	bury-buffer to exit todo-mode.  This restores the desired behavior
	of not immediately returning to the exited todo-mode buffer on
	quitting another buffer, which a dired bug fix had changed (see
	https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).

2017-07-19  Tino Calancha  <tino.calancha@gmail.com>

	Add test for bugs 7131, 27762

	Require 'ls-lisp' at top of the file.
	* test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
	New tests.
	(dired-test-bug27693): Delete Dired buffer at the end.

2017-07-18  Michael Albinus  <michael.albinus@gmx.de>

	* admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.

2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices

	This tries to make sure that (defalias F (symbol-function F)) stays a no-op.

2017-07-18  Glenn Morris  <rgm@gnu.org>

	Use a more specific test for running on hydra.nixos.org

	* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
	* test/Makefile.in (WRITE_LOG):
	* test/lisp/filenotify-tests.el:
	* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
	(eieio-test-method-order-list-6):
	* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
	(eieio-test-37-obsolete-name-in-constructor):
	* test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.

2017-07-18  Eli Zaretskii  <eliz@gnu.org>

	Avoid infloop due to Eshell's "smart" redisplay

	* src/xdisp.c (pos_visible_p): Save and restore the window's
	mode-line and header-line height.  (Bug#27752)

2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'

2017-07-18  Eli Zaretskii  <eliz@gnu.org>

	Fix indentation when display-line-numbers is non-nil

	* src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
	to go one more tab stop to display a TAB.  (Bug#27743)

2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't use gtk_widget_get_scale_factor on old GTK3 versions

	* src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
	only present since GTK 3.10.

2017-07-18  Noam Postavsky  <npostavs@gmail.com>

	Let delete-selection-mode work with popup-menu commands (Bug#27569)

	* lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
	`this-command' set to the selected command.

2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>

	Port gnutls.c to older (buggier?) GnuTLS

	Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
	https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
	Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
	perhaps hydra was using a modified GnuTLS.
	* src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
	is at the end of the list returned by gnutls_cipher_list,
	or that the earlier ciphers all have non-null names.

2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Fix relocation with named cell referred to by a one-symbol formula.

	* lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
	work also with one symbol formulas.

	* test/lisp/ses-tests.el
	(ses-tests-renaming-cell-with-one-symbol-formula): Add new
	test for renaming with relocating a one symbol formula.

2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Fix symbol completion and document it.

	* doc/misc/ses.texi (Configuring what printer function
	applies): Add description of keys for completing local printer
	symbols and listing local printers in a help buffer.
	(Formulas): Add description for key to list the named cell
	symbols in a help buffer.

	* lisp/ses.el (ses-completion-keys): New constant.
	(ses--completion-table): New defvar.
	(ses--list-orig-buffer): New defvar.
	(ses-mode-edit-map): Fixed for symbol completion, plus add
	help functions to list named cells or local printers.
	(ses-edit-cell-complete-symbol)
	(ses--edit-cell-completion-at-point-function): New defuns for
	completion during formula edition.
	(ses-edit-cell): Redefine dynamically edit keymap for
	completion keys to point at the right function.
	(ses-read-printer-complete-symbol)
	(ses--read-printer-completion-at-point-function): New defuns
	for completion during printer edition.
	(ses-read-printer): Redefine dynamically edit keymap for
	completion keys to point at the right function.
	(ses-list-local-printers): New defun.
	(ses-list-named-cells): New defun.

2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Move comments around

2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Make scaling work (?) on pre-GTK3 systems

	* src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
	(xg_get_scale): Use it on non-GTK3 systems.

2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Always return the GDK scale

	* src/gtkutil.c (xg_get_scale): Return the GDK scale always.

2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove usage of the GDK_SCALE variable

	* src/gtkutil.c (xg_get_gdk_scale): Remove.
	(xg_get_default_scrollbar_height)
	(xg_get_default_scrollbar_width): Pass in a frame to check for
	scaling.
	(xg_frame_set_char_size): Use the API for querying scale
	instead of looking at the GDK_SCALE variable.
	(xg_get_default_scrollbar_width): Ditto.
	(xg_get_default_scrollbar_height): Ditto.
	(xg_update_scrollbar_pos): Ditto.

	* src/xfns.c (x_set_scroll_bar_default_height): Pass in the
	frame to get the width.

2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Get positions of menus and tooltips right on HiDPI

	* src/gtkutil.c (xg_get_scale): New function.
	(xg_show_tooltip): Use it.

	* src/xmenu.c (create_and_show_popup_menu): Put menus in the
	right place.

2017-07-17  Eli Zaretskii  <eliz@gnu.org>

	Allow user control on what starts and ends a paragraph for bidi

	* src/buffer.h (struct buffer): New members
	bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
	* src/buffer.c (bset_bidi_paragraph_start_re)
	(bset_bidi_paragraph_separate_re): New setters/
	(Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
	bidi-paragraph-separate-re.
	(init_buffer_once): Init the values of bidi-paragraph-start-re and
	bidi-paragraph-separate-re.
	(syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
	New per-buffer variables.
	* src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
	Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
	(bidi_move_to_visually_next): Handle correctly the case when the
	separator matches an empty string.  (Bug#27526)

	* doc/emacs/mule.texi (Bidirectional Editing):
	* doc/lispref/display.texi (Bidirectional Display): Document
	bidi-paragraph-start-re and bidi-paragraph-separate-re.

	* etc/NEWS: Mention bidi-paragraph-start-re and
	bidi-paragraph-separate-re.

2017-07-17  Tino Calancha  <tino.calancha@gmail.com>

	* lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.

2017-07-17  Tino Calancha  <tino.calancha@gmail.com>

	alist-get: Add optional arg TESTFN

	If TESTFN is non-nil, then it is the predicate to lookup
	the alist.  Otherwise, use 'eq' (Bug#27584).
	* lisp/subr.el (alist-get): Add optional arg FULL.
	* lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
	* lisp/emacs-lisp/gv.el (alist-get): Update expander.
	* doc/lispref/lists.texi (Association Lists): Update manual.
	* etc/NEWS: Announce the changes.
	* test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
	(test-map-elt-testfn): New tests.

2017-07-17  Michael Albinus  <michael.albinus@gmx.de>

	Fix `tramp-test39-unload'

	* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
	(tramp--test-instrument-test-case): Rename.  Adapt all callees.
	(tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
	(tramp-test39-unload): Expect it to pass.  Ignore buffer-local
	variables and autoload functions; they are not removed.  Check
	also for `-function(s)'.

2017-07-17  Stephen Berman  <stephen.berman@gmx.net>

	Preserve point under 'dired-auto-revert-buffer' (second case)

	* lisp/dired.el (dired): Use pop-to-buffer-same-window instead
	of switch-to-buffer.  This preserves Dired window point when
	dired-auto-revert-buffer is non-nil.  (Bug#27243)

	* test/lisp/dired-tests.el (dired-test-bug27243): New test.

2017-07-17  Martin Rudalics  <rudalics@gmx.at>

	Have Fgnutls_available_p return Qnil when GNUTLS is undefined

	* src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
	undefined to allow --with-gnutls=no builds to proceed.

2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>

	* src/gnutls.c: Restore some comments.

2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>

	Use memset, not bzero

	* src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
	of the (less-portable) bzero.

2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>

	Use explicit_bzero to clear GnuTLS keys

	* admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
	* lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* src/gnutls.c (clear_storage): New function.
	(gnutls_symmetric_aead): Use it instead of memset.

2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-07-16 explicit_bzero: new module
	2017-07-15 getdtablesize: Add minimal support for OpenVMS.
	* lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
	* m4/string_h.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in: Regenerate.

2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>

	Fix vc-src-dir-status-files

	* lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
	copy-paste from b1a765b3 (bug#27641).

2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>

	Fix mismatched parens

	* etc/NEWS.21: Remove excess parenthesis in code example

2017-07-16  Alan Third  <alan@idiocy.org>

	Add missing declare-function for new function

	* lisp/frame.el: Add declare function for
	ns-mouse-absolute-pixel-position.

2017-07-16  R. Bernstein  <rocky@gnu.org>

	Realgud for tango themes

2017-07-16  Noam Postavsky  <npostavs@gmail.com>

	Fix test when running from test/lisp/subr-tests.elc

	* test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
	assume a lambda expression will be `equal' to its quoted form.  That's
	not true if the lambda expression has been compiled.

2017-07-15  Alan Third  <alan@idiocy.org>

	Fix some frame handling issues on NS

	* lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
	* src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
	* src/nsterm.m (x_make_frame_visible): Re-establish parent-child
	relationship if it's broken.

2017-07-15  Tino Calancha  <tino.calancha@gmail.com>

	ls-lisp: Fix file size format

	* lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
	(ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
	* test/lisp/dired-tests.el (dired-test-bug27693): Add test.

2017-07-15  Eli Zaretskii  <eliz@gnu.org>

	Avoid link errors with older versions of GnuTLS

	* src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
	(Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
	calls GnuTLS functions which might be unavailable in older
	versions of GnuTLS.

2017-07-15  Eli Zaretskii  <eliz@gnu.org>

	Improve comments in faces.el

	* lisp/faces.el (face-font-family-alternatives): Improve
	commentary.

2017-07-15  Eli Zaretskii  <eliz@gnu.org>

	Improve some GnuTL error messages

	* src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
	* src/fns.c (Fsecure_hash_algorithms): Fix error messages.

2017-07-15  Eli Zaretskii  <eliz@gnu.org>

	Fix the Elisp manual wrt GnuTL cryptography

	* doc/lispref/elisp.texi (Top): Update the master menu.
	* doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
	avoid errors in makeinfo.

2017-07-15  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation of gnutls.c with older GnuTLS

	* src/gnutls.c (syms_of_gnutls): Condition some defsubr's
	on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
	v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.

2017-07-15  rocky  <rb@dustyfeet.com>

	Realgud for two more light themes

2017-07-15  Eli Zaretskii  <eliz@gnu.org>

	Rearrange MS-Windows code that dynamically loads GnuTLS functions

	* src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
	of functions using the same preprocessing directives as in the code.

2017-07-15  Eli Zaretskii  <eliz@gnu.org>

	Fix the MS-Windows build broken in gnutls.c

	* src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
	loading code to after 'capabilities' has been calculated.  Remove
	redundant comments.

2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	src/image.c (compute_image_size): Remove superfluous checks.

	* src/image.c (compute_image_size): Remove superfluous checks.

2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Make combinations of :width/:max-height image specs work reliably

	* doc/lispref/display.texi (ImageMagick Images): Document
	:width/:max-height combinations (etc) (bug #25583).

	* src/image.c (compute_image_size): Handle :width/:max-height
	(etc) combinations consistently (by letting "max" win and
	preserve ratio).

	* test/manual/image-size-tests.el (image-size-tests): Add
	tests for :width/:max-height (etc) combinations.

2017-07-15  Glenn Morris  <rgm@gnu.org>

	Fix recent theme changes

	* etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
	Fix typos in recent changes.

2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	GnuTLS integer-overflow and style fixes

	This tweaks the recently-added GnuTLS improvements so that
	they avoid some integer-overflow problems and follow typical
	Emacs style a bit better.
	* configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
	(HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
	configure-time results are displayed.
	* src/fns.c (extract_data_from_object): Return char *, not char
	const *, since one gnutls caller wants a non-const pointer.  Use
	CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
	instead of rolling our own code.  Prefer signed types to unsigned
	when either will do.  Report problems for lengths out of range,
	instead of silently mishandling them.
	* src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
	callers.  All callers of gnutls_sterror changed.
	(Fgnutls_boot): Check for integers out of range rather than
	silently truncating them.
	(gnutls_symmetric_aead): Check for integer overflow in size
	calculations.
	(gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
	Prefer signed to unsigned integers where either	will do.
	(gnutls_symmetric_aead, gnutls_symmetric):
	Work even if ptrdiff_t is wider than ‘long’.
	(gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
	Check for integer overflow in algorithm selection.

2017-07-14  Noam Postavsky  <npostavs@gmail.com>

	* .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.

2017-07-14  Eli Zaretskii  <eliz@gnu.org>

	Fix the MS-Windows build due to added GnuTLS functions

	* src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
	(init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
	functions.  Add #define redirections for new functions.
	(gnutls_symmetric_aead): Fix format specs to be more portable when
	printing ptrdiff_t arguments.
	* src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
	wrapper.
	* src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.

	* test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
	(gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
	gnutls-available-p, otherwise GnuTLS functions might not be loaded
	from the DLL on MS-Windows.

2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/bytecomp.el: Fix bug#14860.

	* lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
	Dig into advice wrappers to find the "real" signature.
	(byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
	(byte-compile-arglist-signature): Don't bother with "new-style" arglists,
	since bytecode functions are now handled in byte-compile--function-signature.

	* lisp/files.el (create-file-buffer, insert-directory):
	Remove workaround introduced for (bug#14860).

	* lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.

	* lisp/help.el (help-function-arglist):
	Dig into advice wrappers to find the "real" signature.

2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>

	GnuTLS HMAC and symmetric cipher support

	    * etc/NEWS: Add news for new feature.

	    * doc/lispref/text.texi (GnuTLS Cryptography): Add
	    documentation.

	    * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
	    HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.

	    * src/fns.c (Fsecure_hash_algorithms): Add function to list
	    supported `secure-hash' algorithms.
	    (extract_data_from_object): Add data extraction function that
	    can operate on buffers and strings.
	    (secure_hash): Use it.
	    (Fsecure_hash): Mention `secure-hash-algorithms'.

	    * src/gnutls.h: Include gnutls/crypto.h.

	    * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
	    (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
	    (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
	    (Fgnutls_available_p): Implement GnuTLS cryptographic integration.

	    * test/lisp/net/gnutls-tests.el: Add tests.

2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well

	It's also defined in cl-extra.el.

2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>

	Do not convert ij and IJ to compatibility chars

	* lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
	Problem reported by James Cloos (Bug#518#10).

2017-07-14  Toon Claes  <toon@iotcl.com>

	Remove Turkish ligatures from Dutch input method

	* lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).

2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>

	Improve stack-overflow heuristic on GNU/Linux

	Problem reported by Steve Kemp (Bug#27585).
	* src/eval.c (near_C_stack_top): Remove.  All uses replaced
	by current_thread->stack_top.
	(record_in_backtrace): Set current_thread->stack_top.
	This is for when the Lisp interpreter calls itself.
	* src/lread.c (read1): Set current_thread->stack_top.
	This is for recursive s-expression reads.
	* src/print.c (print_object): Set current_thread->stack_top.
	This is for recursive s-expression printing.
	* src/thread.c (mark_one_thread): Get stack top first.
	* src/thread.h (struct thread_state.stack_top): Now void *, not char *.

2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>

	Remove duplicate cl--random-state definition

	* lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
	This variable is now defined in cl-extra.el (Bug#27617).

2017-07-14  Michael Albinus  <michael.albinus@gmx.de>

	Adjust timer in tramp-test36-asynchronous-requests

	* test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
	Adjust timer if it takes too much time.

2017-07-14  Eli Zaretskii  <eliz@gnu.org>

	Always display rmail progress report under user control

	* lisp/mail/rmail.el (rmail-show-message-1): Delete the second
	copy of '(message "Showing message %d..." msg)'.  (Bug#27535)

2017-07-14  Eli Zaretskii  <eliz@gnu.org>

	Avoid byte-compilation warnings for advised functions

	* lisp/files.el (insert-directory, create-file-buffer): Add an
	advertised-calling-convention form to shut up byte-compilation
	warnings.  (Bug#14860)

2017-07-14  Eli Zaretskii  <eliz@gnu.org>

	Add assertion related to display-line-numbers

	* src/xdisp.c (maybe_produce_line_number): Add assertion for the
	condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
	code.  (Bug#27668)

2017-07-14  Eli Zaretskii  <eliz@gnu.org>

	Prevent display corruption when display-line-numbers is set

	* src/xdisp.c (try_window_reusing_current_matrix): If giving up
	due to display-line-numbers, clear the window's desired glyph
	matrix before returning, as the following call to try_window will
	call display_line, which expects rows of the desired matrix
	cleared.  (Bug#27668)

2017-07-14  Eli Zaretskii  <eliz@gnu.org>

	Revert "Use fixed-pitch font for display-line-numbers"

	This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
	* lisp/faces.el (line-number): Don't use a fixed-pitch font, by
	popular demand.  For relevant discussions, see

	 https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
	 https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html

2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-07-13 Improve cross-compilation guesses for native Windows
	2017-07-11 More systematic m4 quoting and indentation
	2017-07-10 Make sure $host and $host_os are defined when used
	2017-07-03 stdioext: Port to OpenVMS
	2017-06-24 xalloc-oversized: port to icc
	* doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
	* lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
	* m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
	* m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
	Copy from Gnulib.

2017-07-13  Alan Mackenzie  <acm@muc.de>

	C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.

	This fontification anomaly happened because after deleting the ">",
	c-forward-<>-arglist parses the preceding identifier as a putative type but
	stores it in c-found-types before it becomes clear it is not an unambiguous
	type.  c-forward-<>-arglist fails, leaving the spurious type id in
	c-found-types.  Fix this by "binding" c-found-types "to itself" in
	c-forward-<>-arglist, and restoring the original value when that function call
	fails.

	* lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
	(c-forward-<>-arglist): Record the original value of c-found-types at the
	beginning of the function, and restore it at the end on failure.

	* lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
	accurately.

2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Add tests for SES, and fix one more cell renaming bug.

	* lisp/ses.el (ses-relocate-all): In case of insertion, do not
	relocate value for named cells as they keep the same symbol.
	(ses-rename-cell): Set new cell name symbol to cell value --- do not
	rely on recalculating.  Push cells with updated data --- cell name,
	cell reference list, or cell formula --- to deferred write list.

	* test/lisp/ses-tests.el: New file, with 7 tests for SES.

2017-07-12  Alan Mackenzie  <acm@muc.de>

	Fix some bugs in c-defun-name.  This fixes bug #25623.

	* lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
	etc.

2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>

	Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.

	* lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
	c-mode-base-map if possible.

2017-07-12  Alan Mackenzie  <acm@muc.de>

	CC Mode: create and use c-set-keymap-parent.

	* lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.

	* lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
	set-keymap-parents.
	(c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.

2017-07-12  Martin Rudalics  <rudalics@gmx.at>

	Minor tweaks of new line number display variables

	* src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
	(Vdisplay_line_number_width): Rename to
	Vdisplay_line_numbers_width.
	(maybe_produce_line_number): Comply with above rename.
	* lisp/cus-start.el (standard):
	* lisp/frame.el (top-level):
	* etc/NEWS: Comply with renaming of
	`display-line-number-width' to `display-line-numbers-width'.

2017-07-12  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations in close_infile_unwind

	* src/lread.c (close_infile_unwind): A temporary band-aid solution
	for bug#27642: allow 'infile' be NULL.

2017-07-11  Eli Zaretskii  <eliz@gnu.org>

	Use fixed-pitch font for display-line-numbers

	* lisp/faces.el (line-number): Use a fixed-pitch font by default,
	even if the default face uses a variable-pitch font.  Reported by
	James Cloos <cloos@jhcloos.com>.

2017-07-11  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of display-line-numbers

	* src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
	doc string.  Suggested by Alex <agrambot@gmail.com>.

2017-07-11  Nicolas Petton  <nicolas@petton.fr>

	Add an optional testfn parameter to assoc

	* src/fns.c (assoc): New optional testfn parameter used for comparison
	when provided.
	* test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
	'testfn' parameter.
	* src/buffer.c:
	* src/coding.c:
	* src/dbusbind.c:
	* src/font.c:
	* src/fontset.c:
	* src/gfilenotify.c:
	* src/image.c:
	* src/keymap.c:
	* src/process.c:
	* src/w32fns.c:
	* src/w32font.c:
	* src/w32notify.c:
	* src/w32term.c:
	* src/xdisp.c:
	* src/xfont.c: Add a third argument to Fassoc calls.
	* etc/NEWS:
	* doc/lispref/lists.texi: Document the new 'testfn' parameter.

2017-07-10  Michael Albinus  <michael.albinus@gmx.de>

	Use `with-demoted-errors' in Tramp

	* lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.

	* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.

2017-07-10  Michael Albinus  <michael.albinus@gmx.de>

	Add Quick Start Guide to Tramp manual

	* doc/misc/tramp.texi: Use consequently "@value{tramp}" and
	"MS Windows".
	(Quick Start Guide): New node.

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.3.3-pre".

2017-07-10  Glenn Morris  <rgm@gnu.org>

	Fix failing module tests on GNU/Linux

	* test/src/emacs-module-tests.el
	(module--test-assertions--load-non-live-object)
	(module--test-assertions--call-emacs-from-gc):
	Avoid test failures due to backtraces.

2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>

	Fix core dump in substitute-object-in-subtree

	Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
	would dump core, since the C code would recurse indefinitely through
	the infinite structure.  This patch adds an argument to the function,
	and renames it to lread--substitute-object-in-subtree as the function
	is not general-purpose and should not be relied on by outside code.
	See Bug#23660.
	* src/intervals.c (traverse_intervals_noorder): ARG is now void *,
	not Lisp_Object, so that callers need not cons unnecessarily.
	All callers changed.  Also, remove related #if-0 code that was
	“temporary” in the early 1990s and has not been compilable for
	some time.
	* src/lread.c (struct subst): New type, for substitution closure data.
	(seen_list): Remove this static var, as this info is now part of
	struct subst.  All uses removed.
	(Flread__substitute_object_in_subtree): Rename from
	Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
	doesn’t dump core when called from the top level with an
	already-cyclic structure.  All callers changed.
	(SUBSTITUTE): Remove.  All callers expanded and then simplified.
	(substitute_object_recurse): Take a single argument SUBST rather
	than a pair OBJECT and PLACEHOLDER, so that its address can be
	passed around as part of a closure; this avoids the need for an
	AUTO_CONS call.  All callers changed.  If the COMPLETED component
	is t, treat every subobject as potentially circular.
	(substitute_in_interval): Take a struct subst * rather than a
	Lisp_Object, for the closure data.  All callers changed.
	* test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
	New test, to check that the core dump does not reoccur.

2017-07-10  Philipp Stephani  <phst@google.com>

	Minor simplification of module_free_global_ref

	* src/emacs-module.c (module_free_global_ref): Remove unused variable
	'hashcode'.  Inline variable 'value' that's only used once.

2017-07-10  Philipp Stephani  <phst@google.com>

	Re-add a useful assertion

	* src/emacs-module.c (module_free_global_ref): Re-add assertion that
	the reference count is zero.  This assertion was removed in commit
	8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
	test performed by XFASTINT before, because the previous reference
	count could have been zero already in the case of a buggy
	implementation.  This assertion might have detected Bug#27587.

2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)

	Fix bug in module_free_global_ref (Bug#27587)

	* src/emacs-module.c (module_free_global_ref): Actually remove entry
	from hash table.

2017-07-09  Philipp Stephani  <phst@google.com>

	Further improve electric quote support for Markdown (Bug#24709)

	Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
	values.  Therefore 'electric-quote-mode' recognized it as a
	programming mode.  Fix this by first checking whether the current
	major mode is derived from 'text-mode'.

	* lisp/electric.el (electric-quote-post-self-insert-function): Treat
	'text-mode' as stronger signal than comment syntax.

	* test/lisp/electric-tests.el (electric-quote-markdown-in-text)
	(electric-quote-markdown-in-code): Adapt unit tests.

2017-07-09  Philipp Stephani  <phst@google.com>

	Remove pointless code in 'electric-quote-mode'

	* lisp/electric.el (electric-quote-post-self-insert-function): Remove
	pointless form.

2017-07-09  Philipp Stephani  <phst@google.com>

	Refactor 'electric-quote-mode'

	* lisp/electric.el (electric-quote-post-self-insert-function): Remove
	local variable 'start', which was misnamed and only used once.

2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)

	Avoid crashes on MS-Windows starting 64-bit .NET executables

	* src/w32proc.c (w32_executable_type): Don't assume that the
	import directory in a DLL will always be non-NULL.  (Bug#27527)

2017-07-09  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warning in files.el

	* lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
	warning due to its use in auto-save-visited-mode.

2017-07-09  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing of VC-related stuff in the Emacs manual

	* doc/emacs/maintaining.texi (Version Control): Add a "VC" index
	entry.  (Bug#27627)

2017-07-09  Eli Zaretskii  <eliz@gnu.org>

	Speed up display of line numbers for very large buffers

	* src/xdisp.c (maybe_produce_line_number): Speed up line counting
	using values cached by mode-line display of line numbers.
	(Bug#27622)

2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>

	Define internal_border_parts for window systems only (Bug#27615)

	* src/keyboard.c: (internal_border_parts): Define only
	when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)

2017-07-09  R. Bernstein  <rocky@gnu.org>

	Add realgud faces to whiteboard...

	Adjust wheatgrass to use underline for enabled/disabled breakpoints

2017-07-08  Noam Postavsky  <npostavs@gmail.com>

	Optimize UCS normalization tests

	Brings the time for `ucs-normalize-part1' from 200s down to 130s.
	* test/lisp/international/ucs-normalize-tests.el
	(ucs-normalize-tests--parse-column): Use character instead of string
	of length 1 for terminator.  Convert return value into string since
	all callers need that form anyway.
	(ucs-normalize-tests--normalization-equal-p): Rename from
	ucs-normalize-tests--normalize.  Use dedicated buffer instead of
	messing with narrowing.  Take string to compare against and insert it
	into buffer so that compare-buffer-substrings can be used instead of
	allocating a new string from buffer contents.
	(ucs-normalize-tests--normalization-chareq-p): New macro, specialized
	for comparing single character.
	(ucs-normalize-tests--rule1-holds-p)
	(ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
	(ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
	`='.

2017-07-08  Noam Postavsky  <npostavs@gmail.com>

	Update failing lines for UCS normalize tests

	* test/lisp/international/ucs-normalize-tests.el
	(ucs-normalize-tests--failing-lines-part2): Update for new
	admin/unidata/NormalizationTest.txt version.

2017-07-08  Noam Postavsky  <npostavs@gmail.com>

	Semi-automate the procedure for updating UCS normalize test bad lines

	* test/lisp/international/ucs-normalize-tests.el: Remove incorrect
	commentary describing a manual procedure for producing the updated
	failing lines, it did not actually work.  Replace it with pointer to
	new function which prints the updated values.
	(ucs-normalize-tests--rule1-holds-p): Renamed from
	ucs-normalize-tests--invariants-hold-p.
	(ucs-normalize-tests--rule2-holds-p): Renamed from
	ucs-normalize-tests--invariants-rule2-hold-p.
	(ucs-normalize-tests--rule1-failing-for-partX): Renamed from
	ucs-normalize-tests--invariants-failing-for-part.
	(ucs-normalize-tests--rule1-failing-for-lines): Renamed from
	ucs-normalize-tests--invariants-failing-for-lines.
	(ucs-normalize-tests--part2-rule1-failed-lines): New variable.
	(ucs-normalize-part2): Set it.
	(ucs-normalize-part1): Always run through to end of test before
	checking for failures.
	(ucs-normalize-tests--insert-failing-lines)
	(ucs-normalize-check-failing-lines): New functions, used to update
	the *--failing-lines-part* variables.

2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/cus-start.el (standard): Spelling fix.

2017-07-08  Philipp Stephani  <phst@google.com>

	Module assertions: check for garbage collections

	It's technically possible to write a user pointer finalizer that calls
	into Emacs module functions.  This would be disastrous because it
	would allow arbitrary Lisp code to run during garbage collection.
	Therefore extend the module assertions to check for this case.

	* src/emacs-module.c (module_assert_thread): Also check whether a
	garbage collection is in progress.

	* test/data/emacs-module/mod-test.c (invalid_finalizer)
	(Fmod_test_invalid_finalizer): New test module functions.
	(emacs_module_init): Register new test function.

	* test/src/emacs-module-tests.el (module--test-assertion)
	(module--with-temp-directory): New helper macros.
	(module--test-assertions--load-non-live-object): Rename existing
	unit test, use helper macros.
	(module--test-assertions--call-emacs-from-gc): New unit test.

2017-07-08  Eli Zaretskii  <eliz@gnu.org>

	Capitalize the menu entry for display-line-numbers

	* lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
	for display-line-numbers.  Suggested by Martin Rudalics
	<rudalics@gmx.at>.

2017-07-08  Eli Zaretskii  <eliz@gnu.org>

	Update Unicode data and files to Unicode 10.0

	* admin/notes/unicode:
	* admin/unidata/README:
	* admin/unidata/BidiBrackets.txt:
	* admin/unidata/BidiMirroring.txt:
	* admin/unidata/Blocks.txt:
	* admin/unidata/IVD_Sequences.txt:
	* admin/unidata/NormalizationTest.txt:
	* admin/unidata/SpecialCasing.txt:
	* admin/unidata/UnicodeData.txt:
	* lisp/international/characters.el:
	* lisp/international/fontset.el (script-representative-chars):
	* lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.

2017-07-08  Alexander Gramiak  <agrambot@gmail.com>

	Support '=' in Scheme and Lisp tags in 'etags'

	* lib-src/etags.c (get_lispy_tag): New function.
	(L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
	* test/manual/etags/CTAGS.good:
	* test/manual/etags/ETAGS.good_1:
	* test/manual/etags/ETAGS.good_2:
	* test/manual/etags/ETAGS.good_3:
	* test/manual/etags/ETAGS.good_4:
	* test/manual/etags/ETAGS.good_5:
	* test/manual/etags/ETAGS.good_6:
	* test/manual/etags/Makefile:
	* test/manual/etags/el-src/TAGTEST.EL: Update tests.
	* test/manual/etags/scm-src/test.scm: New tests for Scheme.

2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>

	Avoid compiler warnings in xdisp.c debugging code

	* src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
	Use pD directives for ptrdiff_t values instead of pI, to avoid
	compilation warnings on 64-bit hosts.  (Bug#27597)

2017-07-08  Eli Zaretskii  <eliz@gnu.org>

	Commentary enhancement in frame.el

	* lisp/frame.el: Explain how to test whether a variable needs to
	be added to the list of those which are watched for buffer
	redisplay.

2017-07-08  Eli Zaretskii  <eliz@gnu.org>

	Support display of line numbers natively

	This merges branch 'line-numbers'.
	* src/buffer.c (disable_line_numbers_overlay_at_eob): New
	function.
	* src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
	* src/dispextern.h (struct it): New members pt_lnum, lnum,
	lnum_bytepos, lnum_width, and lnum_pixel_width.
	* src/indent.c (line_number_display_width): New function,
	refactored from line-number width calculations in vertical-motion.
	(Fvertical_motion): Call line_number_display_width when the width
	of line-number display is needed.
	(Fline_number_display_width): New defun.
	(syms_of_indent): Defsubr it.
	* src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
	the width used up by line numbers by looking near the window-start
	point.  If window-start is outside of the accessible portion,
	temporarily widen the buffer.
	* src/term.c (produce_glyphs): Adjust tab stops for the horizontal
	space taken by the line-number display.
	* src/xdisp.c (display_count_lines_logically)
	(display_count_lines_visually, maybe_produce_line_number)
	(should_produce_line_number, row_text_area_empty): New functions.
	(try_window_reusing_current_matrix): Don't use this method when
	display-line-numbers is in effect.
	(try_window_id, try_cursor_movement): Disable these optimizations
	when the line-number-current-line face is different from
	line-number face and for relative line numbers.
	(try_window_id, redisplay_window, try_cursor_movement): For
	visual line-number display, disable the same redisplay
	optimizations as for relative.
	(x_produce_glyphs): Adjust tab stops for the horizontal
	space taken by the line-number display.
	(hscroll_window_tree): Adjust hscroll calculations to line-number
	display.
	(DISP_INFINITY): Renamed from INFINITY to avoid clashes with
	math.h; all users changed.
	(set_cursor_from_row): Fix calculation of cursor X coordinate in
	R2L rows with display-produced glyphs at the beginning.
	(display_line): Use should_produce_line_number to determine
	whether a line number should be produced for each glyph row, and
	maybe_produce_line_number to produce line numbers.
	Don't display line numbers in the minibuffer and in tooltip
	frames.
	Call row_text_area_empty to verify that a glyph
	row's text area is devoid of any glyphs that came from a buffer or
	a string.  This fixes a bug with empty-lines indication
	disappearing when line numbers or line-prefix are displayed.
	(syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
	<display-line-number-width>: New buffer-local variables.
	<display-line-numbers-current-absolute>: New variable.

	* lisp/cus-start.el (standard): Provide customization forms for
	display-line-numbers and its sub-features.
	* lisp/faces.el (line-number, line-number-current-line): New faces.
	* lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
	display-line-numbers-current-absolute, and
	display-line-number-width to the list of variables that should
	trigger redisplay of the current buffer.
	* lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
	turn display-line-numbers on and off.
	(toggle-display-line-numbers): New function.
	* lisp/simple.el (last--line-number-width): New internal variable.
	(line-move-visual): Use it to adjust temporary-goal-column when
	line-number display changes its width.

	* doc/emacs/basic.texi (Position Info): Add cross-reference to
	"Display Custom", for line-number display.
	* doc/emacs/custom.texi (Init Rebinding):
	* doc/emacs/modes.texi (Minor Modes): Remove references to
	linum-mode.
	* doc/emacs/display.texi (Display Custom): Describe the
	line-number display.
	* doc/lispref/display.texi (Size of Displayed Text): Document
	line-number-display-width.

	* etc/NEWS: Document display-line-numbers and its customizations.

2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix more ungetc bugs with encoding errors

	* src/lread.c (infile): New variable, replacing ...
	(instream): ... this.  All uses changed.
	(readbyte_from_stdio): New function, which deals with lookahead.
	(readbyte_from_file, Fget_file_char): Use it.
	(Fget_file_char): When misused, signal an error instead of
	relying on undefined behavior.
	(close_infile_unwind): New function.
	(Fload): Use it.
	(readevalloop): 2nd arg is now struct infile *, not FILE *.
	All callers changed.
	(read1): Handle lookahead when copying doc strings with
	encoding errors.

2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid ungetc when loading charset maps from files

	* src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
	replacing the old EOF.  All callers changed.  This avoids the
	need to call ungetc.

2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix ungetc bug when reading an encoding error

	* src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
	error when reading an encoding error from a file, e.g., a symbol
	in an .elc file whose name is "\360\220\200\360".

2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/wid-edit.el (widget-color--choose-action): Use a closure

	* lisp/window.el (display-buffer--special-action): Use a closure.

2017-07-07  Stephen Berman  <stephen.berman@gmx.net>

	Add new todo-mode.el tests

	* test/lisp/calendar/todo-mode-tests.el (with-todo-test):
	Declare an Edebug spec.  Restore pre-test-run state of test files.
	(todo-test--show, todo-test--move-item)
	(todo-test--insert-item): New functions.
	(todo-test-get-archive): Remove, as subsumed by
	todo-test--show.  Adjust all callers.
	(todo-test--is-current-buffer): Rename from
	todo-test-is-current-buffer and adjust uses.
	(todo-test-item-highlighting): Use todo-test--show.
	(todo-test-revert-buffer01, todo-test-revert-buffer02)
	(todo-test-raise-lower-priority)
	(todo-test-todo-mark-unmark-category, todo-test-move-item01)
	(todo-test-move-item02, todo-test-move-item03)
	(todo-test-move-item04, todo-test-move-item05)
	(todo-test-toggle-item-header01)
	(todo-test-toggle-item-header02)
	(todo-test-toggle-item-header03)
	(todo-test-toggle-item-header04)
	(todo-test-toggle-item-header05)
	(todo-test-toggle-item-header06)
	(todo-test-toggle-item-header07): New tests.

	* test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
	* test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
	Modify to accommodate new tests.

2017-07-07  Stephen Berman  <stephen.berman@gmx.net>

	todo-mode.el: Fix handling of hidden item headers (bug#27609)

	* lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
	(todo-toggle-item-header): Use it.  Make this command a noop
	if the file has no items.
	(todo-move-item, todo-item-done): Instead of concatenating the
	items to move into one string, make a list of them to
	facilitate handling hidden headers.  Adjust insertion accordingly.
	(todo-archive-done-item): Handle hidden headers in archive file.
	(todo-unarchive-items): Handle hidden headers in todo file.
	(todo-backward-item): Use todo--item-headers-hidden and handle
	moving backward work when item date-time headers are hidden.
	(todo-remove-item): Delete date-time header overlay.
	(todo-get-overlay, todo-insert-with-overlays): Make them work
	with hidden date-time headers.
	(todo-modes-set-2): Make todo--item-headers-hidden buffer local.

2017-07-07  Stephen Berman  <stephen.berman@gmx.net>

	Fix several todo-mode bugs found while debugging bug#27609

	* lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
	current category only once.
	(todo-mark-category): Update number of marked items to avoid
	spurious duplication in todo-categories-with-marks alist and
	corruption of the todo-categories alist.  Handle empty line
	when there are no todo items and done items are shown.
	(todo-set-item-priority): Make noop if called from
	todo-raise-item-priority or todo-lower-item-priority when
	point is on a done todo item or an empty line.
	(todo-move-item): Use markers instead of integer positions to
	correctly handle deleting the now moved items from the source
	category (without markers an infinite loop arises when moving
	marked item to a preceding category).
	(todo-unarchive-items): Put point on the (first) restored done
	item, instead of leaving it at the end of the done items
	separator string.
	(todo-revert-buffer): Ensure buffer remains read-only after
	reverting.

2017-07-07  Eli Zaretskii  <eliz@gnu.org>

	Exclude blank columns from value of line-number-display-width

	* src/indent.c (Fline_number_display_width): Don't add 2 to the
	number of columns we return, to make this consistent with
	display-line-number-width.

2017-07-07  Eli Zaretskii  <eliz@gnu.org>

	Fix vertical-motion across the place where line-number width changes

	* src/indent.c (line_number_display_width): New function,
	refactored from line-number width calculations in vertical-motion.
	(Fvertical_motion): Call line_number_display_width when the width
	of line-number display is needed.
	(Fline_number_display_width): New defun.
	(syms_of_indent): Defsubr it.

	* doc/lispref/display.texi (Size of Displayed Text): Document
	line-number-display-width.

	* etc/NEWS: Mention line-number-display-width.

	* lisp/simple.el (last--line-number-width): New internal variable.
	(line-move-visual): Use it to adjust temporary-goal-column when
	line-number display changes its width.

2017-07-07  Martin Rudalics  <rudalics@gmx.at>

	Remove Vwindow_text_change_functions and related code

	Vwindow_text_change_functions had been provided for implementing
	line numbers but apparently was never functional or in use.

	* src/xdisp.c (redisplay_window): Remove handling of
	Vwindow_text_change_functions.
	(syms_of_xdisp): Remove Qwindow_text_change_functions.
	(Vwindow_text_change_functions): Remove variable.
	* doc/lispref/hooks.texi (Standard Hooks): Remove entry for
	`window-text-change-functions'.

2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>

	Convert more uses of looking-at to following-char

	More followup to Karl Fogel's commit a84da83c1.
	* lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
	* lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
	* lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
	* lisp/proced.el (proced-toggle-marks):
	* lisp/progmodes/f90.el (f90-indent-line):
	* lisp/ses.el (ses-load):
	* lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
	char comparisons using following-char.

2017-07-07  Noam Postavsky  <npostavs@gmail.com>

	Don't skip epg tests (Bug#23561)

	* test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
	parameter, since we supply the passphrase via pinentry-program for all
	GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
	program (Bug#23619)").
	(epg-tests-program-alist-for-passphrase-callback): Remove.

2017-07-06  Eli Zaretskii  <eliz@gnu.org>

	Implement line numbers that disregard narrowing

	* src/xdisp.c (display_count_lines_logically): New function,
	counts line numbers disregarding narrowing.  Suggested by Andy
	Moreton <andrewjmoreton@gmail.com>.
	(maybe_produce_line_number): Call display_count_lines_logically
	instead of display_count_lines.  Adapt BEGV, ZV, etc. to
	display-line-numbers-widen.
	(syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
	variable.

	* lisp/cus-start.el (standard): Provide a customization form for
	display-line-numbers-widen.
	* lisp/frame.el: Add display-line-numbers-widen,
	display-line-numbers-current-absolute, and
	display-line-number-width to the list of variables that should
	trigger redisplay of the current buffer.

	* doc/emacs/display.texi (Display Custom): Document
	display-line-numbers-widen.

2017-07-06  Noam Postavsky  <npostavs@gmail.com>

	Fix lisp-comment-indent for single-semicolon case

	* lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
	open paren if we're looking at multiple comment characters.
	* test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
	(lisp-comment-indent-2): New tests.

2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling fixes

	* lisp/org/org-table.el (org-table-sort-lines):
	Fix misspelling in prompt.
	* lisp/org/ox-ascii.el (org-ascii--describe-datum):
	Fix misspelling in call to org-element-lineage.

2017-07-06  Noam Postavsky  <npostavs@gmail.com>

	Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)

	* lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
	line's code ends in open paren, set comment indentation exactly to
	column following it.
	(lisp-mode-variables): Set `comment-indent-function' to
	`lisp-comment-indent'.

2017-07-06  Noam Postavsky  <npostavs@gmail.com>

	Allow comment-indent-functions to specify exact indentation (Bug#385)

	* lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
	integers as indicating a range of acceptable indentation.
	(comment-indent): Don't apply `comment-inline-offset',
	`comment-choose-indent' already does that.
	(comment-indent-function):
	* doc/emacs/programs.texi (Options for Comments): Document new
	acceptable return values.
	* etc/NEWS: Announce it.

2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	Check for integer overflow in xbm images

	* src/image.c (XBM_TK_OVERFLOW): New constant.
	(xbm_scan): Check for integer overflow instead of relying on
	undefined behavior.  Check that octal digits are actually octal.

2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	Convert hex digits more systematically

	This makes the code a bit smaller and presumably faster, as
	it substitutes a single lookup for conditional jumps.
	* src/character.c (hexdigit): New constant.
	(syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
	* src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
	(hexdigit): New decl.
	(char_hexdigit): New inline function.
	* src/charset.c: Do not include c-ctype.h.
	* src/charset.c (read_hex):
	* src/editfns.c (styled_format):
	* src/image.c (xbm_scan):
	* src/lread.c (read_escape):
	* src/regex.c (ISXDIGIT) [emacs]:
	Use char_hexdigit instead of doing it by hand.

2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t use -Woverride-init

	I have some further changes in mind that would also need to
	disable the -Woverride-init warnings.  In practice these warnings
	seem to be more trouble than they’re worth, so disable them in the
	cc command line.
	* configure.ac: Disable -Woverride-init here ...
	* src/bytecode.c: ... rather than here.

2017-07-05  Glenn Morris  <rgm@gnu.org>

	* lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)

	* lisp/org/ox-html.el (org-html-infojs-template): Update copyright.

2017-07-05  Glenn Morris  <rgm@gnu.org>

	Small fix for bug-reference.el

	* lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
	Autoload safety property.  (Bug#27481)

2017-07-05  Michael Albinus  <michael.albinus@gmx.de>

	Suppress timers in Tramp

	* lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.

	* test/lisp/net/tramp-tests.el
	(tramp-test36-asynchronous-requests): Trigger timers.
	(tramp-test37-recursive-load, tramp-test38-remote-load-path):
	Set `default-directory' to a trustworthy value.

2017-07-05  rocky  <rb@dustyfeet.com>

	Add realgud face definitions

	Add realgud faces to tdsh-dark-theme

2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-awk.el: Mark unused args

	* lisp/progmodes/cc-bytecomp.el: Mark unused args

2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...

	... before first use

2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-vars.el: Mark unused args

2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-langs.el: Mark unused args

	(c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
	unambiguous-prefix-ops.

2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-engine.el: Mark unused args

	(c-beginning-of-statement-1, c-guess-basic-syntax):
	Remove unused var c-in-literal-cache.
	(c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
	(c-append-to-state-cache): Remove unused var `bra+1s'.
	(c-remove-stale-state-cache): Remove unused var `pps-point-state'.
	(c-invalidate-state-cache-1): Remove unused var `pa'.
	(c-forward-decl-or-cast-1): Change comments so they don't look like
	outline headers.
	(c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
	Declare before first use.
	(c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
	(c-backward-over-enum-header): Remove unused var `up-sexp-pos'.

2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-cmds.el: Remove unused vars

	(c-syntactic-context): Declare as dynbound.
	(c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.

2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-guess.el: Remove unused var

	(c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
	and computed variable `guessed-syntactic-symbols'.

2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-align.el: Mark unused arguments

2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-mode.el: Mark unused arguments

	(c-parse-quotes-before-change, c-parse-quotes-after-change):
	Remove unused vars.

2017-07-05  Noam Postavsky  <npostavs@gmail.com>

	Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)

	* lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
	and `ffap-url-unwrap-remote'.

2017-07-05  Noam Postavsky  <npostavs@gmail.com>

	Fix infloop in uncomment-region-default (Bug#27112)

	When `comment-continue' has only blanks, `comment-padright' produces a
	regexp that matches the empty string, so `uncomment-region-default'
	will loop infinitely.
	* lisp/newcomment.el (comment-padright): Only return a regexp if STR
	has nonblank characters.

2017-07-04  Eli Zaretskii  <eliz@gnu.org>

	Fix display of current line number in visual mode

	* src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
	of current line when line-number-current-line face was customized.
	Reported by Filipe Silva <filipe.silva@gmail.com>.

2017-07-03  Philipp Stephani  <phst@google.com>

	Use hook instead of face list to inhibit electric quoting

	This is more flexible and doesn't couple electric quoting to font
	locking.
	Give that 'electric-quote-code-faces' was just introduced, remove it
	without formal deprecation.

	* lisp/electric.el (electric-quote-inhibit-functions): New abnormal
	hook variable.
	(electric-quote-post-self-insert-function): Run the hook.  Remove
	use of old 'electric-quote-code-faces' variable.

	* test/lisp/electric-tests.el (electric-quote-markdown-in-text)
	(electric-quote-markdown-in-code): Adapt unit tests.

2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>

	Offer non-aligned indentation in lists in js-mode (Bug#27503)

	* lisp/progmodes/js.el (js--proper-indentation):
	New customization option 'js-indent-align-list-continuation'.
	Affects argument lists as well as arrays and object properties.
	* test/manual/indent/js-indent-align-list-continuation-nil.js:
	Test the change.

2017-07-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid errors in vertical-motion when buffer is narrowed

	* src/indent.c (Fvertical_motion): If need to start from
	window-start, and it is outside of the accessible portion,
	temporarily widen the buffer.  This avoids errors in evil-mode.
	Reported by James Nguyen <james@jojojames.com>.

2017-07-03  Michael Albinus  <michael.albinus@gmx.de>

	(Re-)activate remote tests of filenotify-tests.el

	* test/lisp/filenotify-tests.el
	(file-notify-test-remote-temporary-file-directory):
	Declare default host for mock method.  Offer home directory
	for mock method if it doesn't exist.
	(file-notify-test09-watched-file-in-watched-dir-remote):
	Remove, it doesn't work reliably.

2017-07-03  Noam Postavsky  <npostavs@gmail.com>

	Reset ansi escape context before printing eshell prompt (Bug#27407)

	* lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
	`ansi-color-context-region'.

2017-07-03  Noam Postavsky  <npostavs@gmail.com>

	Let ansi-color overlay hooks work in eshell (Bug#27407)

	* lisp/ansi-color.el (ansi-color-make-extent): Add
	`ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
	* lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
	`inhibit-modification-hooks' to nil while inserting the string.

2017-07-03  Noam Postavsky  <npostavs@gmail.com>

	Fix and simplify ansi escape detection (Bug#21381)

	* lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
	Remove.
	(ansi-color-control-seq-regexp): New constant, matches all escape
	sequences.
	(ansi-color-filter-apply, ansi-color-apply)
	(ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
	of matching color sequences separately from ignored sequences.
	Differentiate color sequences simply by checking the last character.

2017-07-03  Damien Cassou  <damien@cassou.me>

	Add absolute optional parameter to line-number-at-pos (Bug#26417)

	* lisp/simple.el (line-number-at-pos): Add a second optional
	  argument 'absolute'.
	* test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.

2017-07-03  R. Bernstein  <rocky@gnu.org>

	Add realgud faces

2017-07-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix tramp-tests.el for hydra

	* test/Makefile.in: Remove instrumentation for tramp-tests.

	* test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
	Remove instrumentation.  Wrap with a timeout.  Give hydra
	another timer value.  Set `default-directory' in timer.

2017-07-03  Bastien  <bzg@gnu.org>

	Merge branch 'master' into scratch/org-mode-merge

	Merge branch 'master' into scratch/org-mode-merge

2017-07-03  Tino Calancha  <tino.calancha@gmail.com>

	dired-do-shell-command: Fix check for wildcards

	* lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
	and '`?' i.e., keep the whitespaces.
	* test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.

2017-07-02  Noam Postavsky  <npostavs@gmail.com>

	Split shr-copy-url dwim behavior into separate functions (Bug#26826)

	* lisp/net/shr.el (shr-url-at-point, shr-probe-url)
	(shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
	split out from `shr-copy-url'.
	(shr-copy-url): Only copy the url, don't fetch it.
	(shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
	has the same behavior as the old `shr-copy-url'.
	* etc/NEWS: Announce changes.

2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)

	Make eww-search-words prompt for query if nothing selected

	* lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
	user for a search query if the region is inactive or if the region is
	just whitespace.

2017-07-02  Noam Postavsky  <npostavs@gmail.com>

	* lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.

	* lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
	* lisp/help-fns.el (describe-variable): No need to let-bind
	`cl-print-compiled-button' to t anymore.

2017-07-02  Philipp Stephani  <phst@google.com>

	Electric quotes: Improve support for Markdown mode (Bug#24709)

	Introduce a new user option 'electric-quote-context-sensitive'.  If
	non-nil, have ' insert an opening quote if sensible.

	Also introduce a new variable 'electric-quote-code-faces'.  Major
	modes such as 'markdown-mode' can add faces to this list to treat text
	as inline code and disable electric quoting.

	* lisp/electric.el (electric-quote-context-sensitive): New user
	option.
	(electric-quote-code-faces): New variable.
	(electric-quote-post-self-insert-function): Treat ' as ` if
	desired and applicable; disable electric quoting for given faces.

	* test/lisp/electric-tests.el (electric-quote-opening-single)
	(electric-quote-closing-single, electric-quote-opening-double)
	(electric-quote-closing-double)
	(electric-quote-context-sensitive-backtick)
	(electric-quote-context-sensitive-bob-single)
	(electric-quote-context-sensitive-bob-double)
	(electric-quote-context-sensitive-bol-single)
	(electric-quote-context-sensitive-bol-double)
	(electric-quote-context-sensitive-after-space-single)
	(electric-quote-context-sensitive-after-space-double)
	(electric-quote-context-sensitive-after-letter-single)
	(electric-quote-context-sensitive-after-letter-double)
	(electric-quote-context-sensitive-after-paren-single)
	(electric-quote-context-sensitive-after-paren-double)
	(electric-quote-markdown-in-text)
	(electric-quote-markdown-in-code): New unit tests.

2017-07-02  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.

2017-07-02  Eli Zaretskii  <eliz@gnu.org>

	Avoid off-by-one errors in column C-n/C-p calculations

	* src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
	the width used up by line numbers by looking near the window-start
	point.

2017-07-02  Tino Calancha  <tino.calancha@gmail.com>

	Ask confirmation for all suspicious wildcards

	* lisp/dired-aux.el (dired-do-shell-command): Check that all
	the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).

2017-07-02  Tino Calancha  <tino.calancha@gmail.com>

	Extend dired-do-shell-command substitutions

	Substitute "`?`" inside command with the current file name.
	See details in:
	https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
	* lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
	Mark as obsolete.
	(dired-isolated-string-re): New defun.
	(dired--star-or-qmark-p): New predicate.
	(dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
	with the current file name.
	* doc/emacs/dired.texi (Shell Commands in Dired): Update manual.

2017-07-02  Alan Mackenzie  <acm@muc.de>

	Fix bug in yesterday's CC Mode commit.

	* lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
	search has succeeded before using the match data.
	(c-quoted-number-head-before-point, c-quoted-number-head-after-point):
	Specify that the position of the extremity of the head or tail is in the
	match data.

2017-07-02  Philipp Stephani  <phst@google.com>

	Remove FIXME comments about sentinel values

	These FIXMEs can't be addressed because they would require breaking
	changes to the module API.  Furthermore, other module functions don't
	return sentinel values as well, so users generally have to call
	non_local_exit_check anyway.

	* src/emacs-module.c (module_set_user_ptr)
	(module_set_user_finalizer, module_vec_set, module_vec_size): Remove
	FIXME comments.

2017-07-02  Philipp Stephani  <phst@google.com>

	Adapt Lisp reference to reader changes

	The reader now warns about some unescaped character literals, but
	still allows them for compatibility reasons.  Slightly adapt the
	manual to forbid them officially.

	* doc/lispref/objects.texi (Basic Char Syntax): Document that
	backslashes are now required before some characters.

2017-07-02  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#27502

	* lisp/autorevert.el (auto-revert-find-file-function): New defun.
	(find-file-hook): Use it.  (Bug#27502)
	(auto-revert-remove-current-buffer): New defun.
	(auto-revert-mode, auto-revert-buffers): Use it.

2017-07-02  Noam Postavsky  <npostavs@gmail.com>

	Let test summary go through even if some logs were not generated

	* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
	for existence of log files before reading.

2017-07-01  Philipp Stephani  <phst@google.com>

	* src/module-env-25.h (copy_string_contents): Fix comment.

2017-07-01  Philipp Stephani  <phst@google.com>

	Also mark module init function as noexcept if possible

	* src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
	possible.

2017-07-01  Philipp Stephani  <phst@google.com>

	Improve C++98 compatibility

	* src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
	C++98 doesn't allow trailing commas in enumerations.

2017-07-01  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits of manuals regarding bidi conformance

	* doc/emacs/mule.texi (Bidirectional Editing):
	* doc/lispref/display.texi (Bidirectional Display): Update the
	bidi conformance text.

2017-07-01  Alan Mackenzie  <acm@muc.de>

	Make C++ digit separators work.  Amend the handling of single quotes generally

	Single quotes, even in strings and comments, are now marked with the
	"punctuation" syntax-table property, except where they are validly bounding a
	character literal.  They are font locked with font-lock-warning-face except
	where they are valid.  This is done in C, C++, ObjC, and Java Modes.

	* lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
	(c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
	functions/macros.

	* lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
	(c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.

	* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
	c-before-after-change-digit-quote from wherever it occurs.  Insert
	c-parse-quotes-before-change into the entries for the languages where it is
	needed.
	(c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
	wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
	the languages which need it.
	(c-has-quoted-numbers): New lang-defconst/-defvar.

	* lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
	(c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
	(c-maybe-quoted-number): New defconsts.
	(c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
	(c-quoted-number-straddling-point, c-parse-quotes-before-change)
	(c-parse-quotes-after-change): New functions.

2017-07-01  Noam Postavsky  <npostavs@gmail.com>

	Ignore mouse-movement for describe-key-briefly (Bug#12204)

	* lisp/help.el (help-read-key-sequence): Add optional argument to
	ignore `mouse-movement' events.
	(describe-key-briefly): Use it.
	* doc/emacs/help.texi (Key Help):
	* etc/NEWS: Mention that mouse movement is ignored.

2017-07-01  Noam Postavsky  <npostavs@gmail.com>

	Refactor key describing commands

	* lisp/help.el (help-read-key-sequence, help--analyze-key): New
	functions, extracted from `describe-key' and `describe-key-briefly'.
	(describe-key, describe-key-briefly): Use them.

2017-07-01  Eli Zaretskii  <eliz@gnu.org>

	Improve display of tabs with line numbers

	* src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
	stop in hscrolled lines.  Prevent aborts in compute_line_metrics.

2017-07-01  Alan Third  <alan@idiocy.org>

	Fix threads on NS (bug#25265)

	src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
	(ns_run_loop_break) [HAVE_PTHREAD]: New function.
	src/nsterm.m (ns_select): Call thread_select from within ns_select.
	(ns_run_loop_break) [HAVE_PTHREAD]: New function.
	(ns_send_appdefined): Don't wait for main thread when sending app
	defined event.
	src/process.c (wait_reading_process_output): Call thread_select from
	within ns_select.
	src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
	its event loop using ns_run_loop_break.

2017-07-01  Eli Zaretskii  <eliz@gnu.org>

	Avoid slow redisplay under 'visual' mode of line numbers

	* src/xdisp.c (display_count_lines_visually): Avoid very slow
	redisplay when this function is invoked very far from point.
	Reported by Alex <agrambot@gmail.com>.

2017-07-01  Noam Postavsky  <npostavs@gmail.com>

	* lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.

2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct

	(cl--random-state, cl--random-time): Move from cl-lib.el.
	(cl-random): Use struct accessors.
	(cl-random-state-p): Remove, provided by the defstruct.
	(cl-make-random-state): Rewrite to struct constructor.

2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg

2017-06-30  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of faces related to display-line-numbers

	* lisp/faces.el (line-number, line-number-current-line): Warn
	against using non-monospaced fonts.

2017-06-30  Eli Zaretskii  <eliz@gnu.org>

	Fix relative-number display with non-nil display-line-number-width

	* src/xdisp.c (maybe_produce_line_number): Don't treat a zero
	value of display-line-number-width as acceptable.
	Handle the case of 'relative' with display-line-number-width
	non-nil and smaller than the absolute line number requires.
	Reported by Alex <agrambot@gmail.com>.

2017-06-30  Michael Albinus  <michael.albinus@gmx.de>

	Release Tramp 2.3.2

	* doc/misc/tramp.texi (Android shell setup): Show default file name.
	Structure section.

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.3.2".

	* test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
	Offer home directory for mock method if it doesn't exist.

2017-06-30  Eli Zaretskii  <eliz@gnu.org>

	Add documentation for display-line-numbers

	* doc/emacs/custom.texi (Init Rebinding):
	* doc/emacs/modes.texi (Minor Modes): Remove references to
	linum-mode.
	* doc/emacs/display.texi (Display Custom): Describe the
	line-number display.
	(Optional Mode Line): Fix the index entry to not conflict with
	that in "Display Custom".
	* doc/emacs/basic.texi (Position Info): Add cross-reference to
	"Display Custom", for line-number display.

	* src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
	display-line-numbers-disable in the doc string.

	* lisp/cus-start.el (standard): Fix lst change.

2017-06-30  Eli Zaretskii  <eliz@gnu.org>

	Support displaying zero as the number of the current line

	* src/xdisp.c (syms_of_xdisp)
	<display-line-numbers-current-absolute>: New variable.
	<display-line-numbers>: Doc fix.
	(maybe_produce_line_number): Support nil value of
	display-line-numbers-current-absolute.

	* lisp/cus-start.el (standard): Add customization form for
	display-line-numbers-current-absolute.

	* etc/NEWS: Document recently introduced features.

2017-06-30  Eli Zaretskii  <eliz@gnu.org>

	Speed up the visual-mode relative line numbers

	* src/xdisp.c (display_count_lines_visually): Introduce a
	shortcut: if a relative line number was already calculated for
	this iterator object, just increase it instead of the
	expensive call to move_it_to.  Argument list changed to pass a
	pointer to the iterator object.
	(maybe_produce_line_number): Adjust for change in signature of
	display_count_lines_visually.  Record the relative line number and
	the corresponding byte position in the iterator object also in the
	'visual' mode.

2017-06-30  Eli Zaretskii  <eliz@gnu.org>

	Fix hscrolling with line numbers on TTY frames

	* src/xdisp.c (hscroll_window_tree): Correct the X offset
	calculations on TTY frames.
	* src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
	a kludge using it->lnum_width.

2017-06-30  Eli Zaretskii  <eliz@gnu.org>

	Fix TAB display when the line-number face uses a smaller/larger font

	* src/dispextern.h (struct it): New member lnum_pixel_width.
	* src/xdisp.c (maybe_produce_line_number): Compute the width of
	the line-number display in pixels.
	(x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
	that used it->lnum_width and made assumptions about pixel width.

2017-06-30  Noam Postavsky  <npostavs@gmail.com>

	Escape NUL bytes in X selections (Bug#6991)

	* lisp/term/w32-win.el (w32--set-selection):
	* lisp/select.el (xselect--encode-string): Replace NUL bytes with
	"\0".
	* doc/emacs/killing.texi: Document new behavior.
	* etc/NEWS (times): Announce it.

2017-06-30  Noam Postavsky  <npostavs@gmail.com>

	Hide byte code in backtraces (Bug#6991)

	* lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
	defaulting to `cl-print'.
	(debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
	`prin1'.
	* etc/NEWS: Announce it.

2017-06-30  Noam Postavsky  <npostavs@gmail.com>

	Don't redundantly cl-print arglist in function docstring again

	* lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
	part of docstring.
	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
	test accordingly.

2017-06-30  Noam Postavsky  <npostavs@gmail.com>

	Escape control characters in backtraces (Bug#6991)

	* src/print.c (syms_of_print): Add new variable,
	print-escape-control-characters.
	(print_object): Print control characters with octal escape codes when
	print-escape-control-characters is true.
	* lisp/subr.el (backtrace):
	* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
	`print-escape-control-characters' to t.

2017-06-30  Noam Postavsky  <npostavs@gmail.com>

	Improve ert backtrace recording

	Change ert to use the new `backtrace-frames' function instead of
	collecting frames one by one with `backtrace-frame'.  Additionally,
	collect frames starting from `signal' instead the somewhat arbitrary
	"6 from the bottom".  Skipping 6 frames would skip the expression that
	actually caused the signal that triggered the debugger.  Possibly 6
	was chosen because in the case of a failed test, the triggering frame
	is an `ert-fail' call, which is not so interesting.  But in case of a
	test throwing an error, this drops the `error' call which is too much.

	* lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
	* lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
	code from `debugger-make-xrefs'.
	(ert--print-backtrace): Add DO-XREFS parameter, delegate to
	`debugger-insert-backtrace'.
	(ert--run-test-debugger): Record the backtrace frames starting from
	the instigating `signal' call.
	(ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
	DO-XREFS parameter.
	(ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
	to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
	* test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
	the backtrace list instead of comparing its string representation.
	Expect `signal' to be the first frame.

2017-06-30  Noam Postavsky  <npostavs@gmail.com>

	Operate on frame list instead of printed backtrace

	* lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
	prints the given backtrace frames.
	(debugger-setup-buffer): Use it instead of editing the backtrace
	buffer text.

2017-06-29  Eli Zaretskii  <eliz@gnu.org>

	Minor fixes

	* src/xdisp.c (maybe_produce_line_number): Fix bug that caused
	line numbers to be displayed in empty lines beyond ZV.
	(x_produce_glyphs): Start fixing TAB display in truncated lines.

2017-06-29  Michael Albinus  <michael.albinus@gmx.de>

	Improve timer handling when Tramp accepts output

	* lisp/net/tramp-compat.el: Avoid compiler warning.

	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
	Remove lock machinery.

	* lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
	(tramp-file-name-handler): Add lock machinery from
	`tramp-sh-file-name-handler'.  Allow timers to run.
	(tramp-accept-process-output): Remove nasty workaround.
	Suppress timers.

	* test/lisp/net/tramp-tests.el (shell-command-sentinel):
	Suppress run in tests.
	(tramp--instrument-test-case-p): New defvar.
	(tramp--instrument-test-case): Use it in order to allow nested calls.
	(tramp--test-message, tramp--test-backtrace): New defsubst,
	will be used for occasional test instrumentation.
	(tramp-test00-availability, tramp-test31-vc-registered): Use them.
	(tramp-test28-shell-command)
	(tramp--test-shell-command-to-string-asynchronously): Suppress
	nasty messages.  Don't overwrite sentinel.
	(tramp-test36-asynchronous-requests): Rewrite major parts.
	Expect :passed.

2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/url/url-history.el: Use lexical-binding

	(url-completion-function): Mark as obsolete.
	Mark unused args accordingly.

2017-06-28  Noam Postavsky  <npostavs@gmail.com>

	Don't assume url structs are vectors (Bug#27333)

	* lisp/url/url-history.el (url-history-update-url): Use `url-p'
	instead of `vectorp'.

2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>

	Replace with dolist some uses of while

	* lisp/calc/calc-units.el (calc-permanent-units):
	(math-compare-unit-names, math-simplify-units-quotient):
	(math-build-units-table-buffer): Use dolist to replace extra bindings
	and some while loops.

2017-06-28  Noam Postavsky  <npostavs@gmail.com>

	Make tcl-auto-fill-mode obsolete (Bug#10772)

	* lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
	* etc/NEWS: Announce it.

2017-06-28  Noam Postavsky  <npostavs@gmail.com>

	Don't read eshell/which output from *Help* buffer (Bug#26894)

	* lisp/help-fns.el (help-fns--analyse-function)
	(help-fns-function-description-header): New functions, extracted from
	describe-function-1.
	(describe-function-1): Use them.
	* lisp/eshell/esh-cmd.el (eshell/which): Use
	`help-fns-function-description-header' instead of
	`describe-function-1'.

2017-06-27  Eli Zaretskii  <eliz@gnu.org>

	Support default-text-properties

	* src/xdisp.c (should_produce_line_number): Call get-char-property
	at ZV as well, to support default-text-properties.

2017-06-27  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults when some display vector is an empty string

	* src/xdisp.c (next_element_from_display_vector): Don't try
	accessing the dpvec[] array if its size is zero.  (Bug#27504)

2017-06-26  Eli Zaretskii  <eliz@gnu.org>

	Initial support for visually-relative line numbers

	Works very slowly.

	* src/xdisp.c (display_count_lines_visually): New function.
	(maybe_produce_line_number): Support 'visual' mode of line-number
	display.
	* src/xdisp.c (maybe_produce_line_number): Update IT's metrics
	also when glyph_row is NULL.  This is important for move_it_*
	functions.
	(syms_of_xdisp) <display-line-number-width>: Now buffer-local.
	(try_window_id, redisplay_window, try_cursor_movement): For
	'visual' line-number display, disable the same redisplay
	optimizations as for 'relative'.

	* lisp/cus-start.el (standard): Add new value for the
	customization form of display-line-numbers.

2017-06-26  Eli Zaretskii  <eliz@gnu.org>

	Update IT's metrics while simulating display

	* src/xdisp.c (maybe_produce_line_number): Update IT's metrics
	also when glyph_row is NULL.  This is important for move_it_*
	functions.

2017-06-26  Teemu Likonen  <tlikonen@iki.fi>

	Fix bug in handling GnuPG's TRUST_MARGINAL status

	* lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
	to `good'.

2017-06-26  Tino Calancha  <tino.calancha@gmail.com>

	Prefer `when' instead of 1-branch `if'

	* lisp/dired-aux.el (dired-do-shell-command): Store condition value
	in local variable ok.
	Use `when' instead of 1-branch `if'.

2017-06-26  Tino Calancha  <tino.calancha@gmail.com>

	Use #' instead of (function ...)

	* lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
	(dired-mark-confirm, dired-query, dired-byte-compile)
	(dired-load, dired-update-file-line, dired-after-subdir-garbage)
	(dired-relist-file, dired-rename-subdir, dired-do-create-files)
	(dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
	(dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
	(dired-do-copy-regexp, dired-do-hardlink-regexp)
	(dired-do-symlink-regexp, dired-create-files-non-directory)
	(dired-upcase, dired-downcase)

	* lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
	(dired-internal-do-deletions, dired-internal-do-deletions):
	Prefer #' instead of (function ...).

2017-06-26  Tino Calancha  <tino.calancha@gmail.com>

	Don't quote lambda forms

	* lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
	(dired-mark, dired-desktop-buffer-misc-data)

	* lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
	(dired-create-files-non-directory, dired-insert-subdir-validate)
	(dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.

2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-fonts.el: Remove/mark unused vars

	(c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
	and `brackets-after-id'.
	(c-font-lock-objc-methods): Mark unused args.

2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>

	Omit null-pointer test in intervals.h FRAME

	* src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
	(INTERVAL_LAST_POS): Omit unnecessary parens.
	(LENGTH): Omit test for null pointer.  The argument is never null.
	The unnecessary test causes GCC 7.1.0 to assume that the argument
	might be null, and therefore to issue false alarms when the
	argument is dereferenced in other expressions.

2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>

	Parenthesize frame.h macro definitions

	* src/frame.h (FRAME_TOOL_BAR_POSITION)
	(FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
	(FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
	(FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
	(FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
	(FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
	(FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
	(FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
	(FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
	to allow arbitrary expression arguments.

2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent frame changes to GCC 7

	* src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
	is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
	might return null.  This also avoids a run-time test.

2017-06-25  Eli Zaretskii  <eliz@gnu.org>

	Minor aesthetic fix of last change.

2017-06-25  Eli Zaretskii  <eliz@gnu.org>

	Allow to disable display of line numbers beyond EOB

	* src/buffer.c (disable_line_numbers_overlay_at_eob): New
	function.
	* src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
	* src/xdisp.c (should_produce_line_number): When at ZV, call
	disable_line_numbers_overlay_at_eob to determine whether line
	numbers should be displayed beyond ZV.

2017-06-25  Michael Albinus  <michael.albinus@gmx.de>

	Fix Android 6/7 problems in Tramp

	* lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
	(tramp-adb-handle-directory-files-and-attributes)
	(tramp-adb-handle-file-name-all-completions): Insert "."  and
	".." only when needed.
	(tramp-adb-get-ls-command): Force one column output for toybox.

2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)

	* lisp/subr.el (setq-local): Add debug declaration (Bug#27408).

2017-06-25  Eli Zaretskii  <eliz@gnu.org>

	Fix line number display for overlay/display strings with newlines

	* src/xdisp.c (maybe_produce_line_number): Fix the condition for
	producing space glyphs instead of a line number to include the
	case of display strings and overlays.

2017-06-25  Alan Mackenzie  <acm@muc.de>

	Make CC Mode load cl-lib rather than cl in Emacs 26.

	* lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
	variable.

	* lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
	(c--cl-library): New variable.
	(Top level): Amend the form which requires library cl or cl-lib.
	(c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
	(c--delete-duplicate): Amend to use c--cl-library instead of
	c--mapcan-status.

	* lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
	(c-back-over-compound-identifier): Remove unused local variables.

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
	local variable.

	* lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
	of c--mapcan-status.

	* lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
	silence a compiler warning.

2017-06-25  Martin Rudalics  <rudalics@gmx.at>

	Provide additional support for child frames

	Provide mouse dragging and resizing of frames.  Allow resizing
	frames proportionally.  Provide additional functionality for
	child frames.  Minor bug fixes.

	* lisp/frame.el (frame-border-width, frame-pixel-width)
	(frame-pixel-height): Alias to `frame-internal-border-width',
	`frame-native-width' and `frame-native-height'.
	(frame-inner-width, frame-inner-height, frame-outer-width)
	(frame-outer-height): New functions.
	* lisp/minibuffer.el (completion-auto-help): Fix typo.
	* lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
	(mouse-drag-header-line): Allow moving a frame by dragging the
	mode line of its bottommost window (on a minibuffer-less frame)
	or the header line of its topmost window.
	(mouse-drag-vertical-line): Mention argument in doc-string.
	(mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
	(mouse-drag-top-left-corner, mouse-drag-top-edge)
	(mouse-drag-top-right-corner, mouse-drag-right-edge)
	(mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
	(mouse-drag-bottom-left-corner): New functions for resizing a
	frame by dragging its internal border together with
	corresponding key bindings.
	* lisp/tooltip.el (tooltip-frame-parameters): Add
	'no-special-glyphs' to default parameters and update version
	tag.
	* lisp/window.el (frame-auto-hide-function): Add choice to make
	frame invisible and update version tag.
	(window--delete): Handle 'auto-hide-function' frame parameter.
	(window--maybe-raise-frame): Respect 'no-focus-on-map' and
	'no-accept-focus' frame parameters.
	(display-buffer--action-function-custom-type): Add
	`display-buffer-in-child-frame'.
	(display-buffer): Mention `display-buffer-in-child-frame' in
	doc-string.
	(display-buffer-in-child-frame): New action function for
	`display-buffer'.
	(window--sanitize-margin): Return zero when MARGIN cannot be
	sanitized.
	(fit-frame-to-buffer): Major rewrite to handle child frames and
	'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
	frame parameters.
	(window-largest-empty-rectangle--maximums-1)
	(window-largest-empty-rectangle--maximums)
	(window-largest-empty-rectangle--disjoint-maximums)
	(window-largest-empty-rectangle): New functions.

	* src/dispextern.h (WINDOW_WANTS_MODELINE_P)
	(WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
	provided by corresponding functions window_wants_modeline and
	window_wants_header_line in window.c.  Adjust users.
	* src/dispnew.c (adjust_glyph_matrix)
	(buffer_posn_from_coords): Use window_wants_modeline and
	window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
	WINDOW_WANTS_HEADER_LINE_P.
	* src/frame.c (keep_ratio): New function.
	(adjust_frame_size): Call keep_ratio for each of F's child
	frames.
	(make_frame): Initialize no_special_glyphs slot.
	(frame_internal_border_part): New function.
	(Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
	to Fframe_native_width, Fframe_native_height mand
	Fframe_internal_border_width.
	(frame_parm_table): Add Qno_special_glyphs entry.
	(frame_float_type): New enumeration type.
	(frame_float): New function to handle frame size and position
	ratios.
	(x_set_frame_parameters): Handle size and position ratios.
	(x_set_no_special_glyphs): New function
	(x_figure_window_size): Handle size and position ratios.
	(syms_of_frame): Add Qdisplay_monitor_attributes_list,
	Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
	Qheight_only, Qleft_only and Qtop_only.
	* src/frame.h (internal_border_part): New enumeration type.
	(struct frame): New slot no_special_glyphs.
	(FRAME_NO_SPECIAL_GLYPHS): New macro.
	* src/gtkutil.c (xg_frame_restack): Return immediately for
	GTK versions before 2.18.0.
	* src/keyboard.c (internal_border_parts): New array constant.
	(make_lispy_position): For frames with border dragging enabled
	return internal border part.
	(syms_of_keyboard): New symbols Qdrag_internal_border,
	Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
	Qright_edge, Qbottom_right_corner, Qbottom_edge and
	Qbottom_left_corner.
	* src/minibuf.c (read_minibuf_unwind): When exiting the
	minibuffer deal with frames that have the 'minibuffer-exit'
	parameter set.
	(syms_of_minibuf): New symbol Qminibuffer_exit.
	* src/nsfns.m (frame_parm_handler): Add entry for
	x_set_no_special_glyphs.
	(Fx_create_frame): Handle 'no-special-glyphs' parameter.
	Initialize new cursor types for dragging frame borders.
	* src/nsterm.h (struct ns_output): Add new cursor types for
	dragging frame borders.
	* src/w32fns.c (w32_frame_parm_handlers): Add entry for
	x_set_no_special_glyphs.
	(Fx_create_frame): Handle 'no-special-glyphs' parameter.
	Initialize new cursor types for dragging frame borders.
	* src/w32term.h (struct w32_output): Add new cursor types for
	dragging frame borders.
	* src/window.c (coordinates_in_window)
	(Fwindow_line_height, window_internal_height): Use
	window_wants_modeline and window_wants_header_line instead of
	WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
	(Fwindow_lines_pixel_dimensions): New function.
	(window_parameter): New function.
	(Fwindow_parameter): Call window_parameter.
	(window_wants_mode_line, window_wants_header_line): New
	functions replacing the macros WINDOW_WANTS_MODELINE_P and
	WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
	(syms_of_window): New symbols Qmode_line_format and
	Qheader_line_format.
	* src/window.h: Reorganize and re-comment macros.  Use
	window_wants_modeline and window_wants_header_line instead of
	WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
	(MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
	(WINDOW_BUFFER): New macro.
	(WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
	* src/xdisp.c (window_text_bottom_y, window_box_height)
	(window_box, start_display)
	(compute_window_start_on_continuation_line)
	(try_cursor_movement, redisplay_window)
	(try_window_reusing_current_matrix, try_window_id)
	(display_line, expose_window): Use window_wants_modeline and
	window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
	WINDOW_WANTS_HEADER_LINE_P.
	(pos_visible_p, display_mode_lines): Respect W's
	'mode-line-format' and 'header-line-format' window parameters.
	(init_iterator): Use window_wants_modeline and
	window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
	WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
	no_special_glyphs value.
	(note_mouse_highlight): Set frame border cursors when on
	internal border.
	(x_draw_right_divider, x_draw_bottom_divider): Try to improve
	drawing of window dividers.
	* src/xfns.c (mouse_cursor): Add entries for border parts.
	(mouse_cursor_types): Add entries for cursor types to drag
	frame borders.
	(INSTALL_CURSOR): Add entries for new cursor types to drag
	frame borders.
	(Fx_create_frame): Handle 'no-special-glyphs' parameter.
	(x_frame_parm_handlers): Add entry for
	x_set_no_special_glyphs.
	(Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
	(Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
	(Vx_window_right_edge_shape)
	(Vx_window_bottom_right_corner_shape)
	(Vx_window_bottom_edge_shape)
	(Vx_window_bottom_left_corner_shape): New variables.
	(x_frame_restack): Call xg_frame_restack only for GTK versions
	starting with 2.18.0.
	* src/xterm.c (x_free_frame_resources): Remove new cursors for
	dragging frame borders.
	* src/xterm.h (struct x_output): Add new cursor types for
	dragging frame borders.

	* doc/lispref/display.texi (Size of Displayed Text): Document
	`window-lines-pixel-dimensions'.
	* doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
	Parameters".
	* doc/lispref/frames.texi (Frame Size): Replace
	frame-pixel-width/-height by frame-native-width/-height.  Add
	frame-inner-width/-height and frame-outer-width/-height docs.
	(Position Parameters): Describe specifying position as ratios.
	Clarify remark about positions relative to bottom/ridge display
	edge.
	(Size Parameters): Describe specifying sizes as ratios.
	Describe 'fit-frame-to-buffer-margins' and
	'fit-frame-to-buffer-sizes' parameters.
	(Layout Parameters): Describe 'no-special-glyphs' parameter.
	(Frame Interaction Parameters): Describe 'auto-hide-function',
	'minibuffer-exit' and 'keep-ratio' parameters.
	(Mouse Dragging Parameters): New section describing
	'drag-internal-border', 'drag-with-header-line',
	'drag-with-mode-line', 'snap-width', 'top-visible' and
	'bottom-visible' parameters.
	(Management Parameters): Mention that `override-redirect' has
	no effect on MS Windows.
	(Font and Color Parameters): Mention child frames for `alpha'
	parameter.
	(Child Frames): Rewrite section with description and cross
	references to new frame parameters added.
	* doc/lispref/modes.texi (Mode Line Basics): Mention
	'mode-line-format' and 'header-line-format' window parameters.
	* doc/lispref/windows.texi (Resizing Windows): Mention effect
	of `fit-frame-to-buffer-margins' for child frames.
	(Display Action Functions): New action function
	`display-buffer-in-child-frame'.
	(Quitting Windows): Mention `make-frame-invisible' as optional
	value of `frame-auto-hide-function' and `auto-hide-function'
	frame paameter.
	(Coordinates and Windows): Describe new function
	`window-largest-empty-rectangle'.
	(Window Parameters): Describe new parameters 'mode-line-format'
	and 'header-line-format'.  Index all window parameters described
	in this section.

2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>

	Adjust lm-verify to accept current notices

	Problem reported by Mike Kupfer in:
	https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
	* lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
	Do not require later lines in a copyright notice to have more
	indentation than earlier lines.

2017-06-24  Eli Zaretskii  <eliz@gnu.org>

	Minor change in NEWS.

	Improve documentation in NEWS.

2017-06-24  Eli Zaretskii  <eliz@gnu.org>

	Move additional hscrolling code into a suitable 'if'

	* src/xdisp.c (hscroll_window_tree): Make additional calculations
	regarding glyphs produced for line numbers conditional on
	line-number display.

2017-06-24  Eli Zaretskii  <eliz@gnu.org>

	Partial fix of hscroll of truncated lines with line numbers

	* src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
	hscroll calculations to line-number display.
	* src/term.c (produce_glyphs): Adjust tab stop to window's
	hscroll.  These two changes fix horizontal scrolling when line
	numbers are displayed.  But there's still a bug: the horizontal
	shift of lines that begin with a TAB is different from the rest.
	* src/xdisp.c (move_it_in_display_line_to): Call
	should_produce_line_number to determine whether a line number
	should be produced for this screen line.

2017-06-24  Noam Postavsky  <npostavs@gmail.com>

	Don't change byte-compile-delete-errors at runtime (Bug#27340)

	* lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
	time.

2017-06-24  Eli Zaretskii  <eliz@gnu.org>

	Allow Lisp program to disable line-number display for specific lines

	* etc/NEWS: Update the documentation.

	* src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
	symbol.
	(should_produce_line_number): New function.
	(display_line): Use should_produce_line_number to determine
	whether a line number should be produced for each glyph row.

2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/html2text.el: Move to obsolete/.

2017-06-24  Eli Zaretskii  <eliz@gnu.org>

	Support a separate face for displaying the current line's number

	* lisp/faces.el (line-number-current-line): New face.

	* src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
	symbol.
	(try_window_id, try_cursor_movement): Disable these optimizations
	when the line-number-current-line face is different from
	line-number face.
	(maybe_produce_line_number): Display the current line in the
	line-number-current-line face, if it's different from line-number.

2017-06-24  Eli Zaretskii  <eliz@gnu.org>

	Change display of current line in relative mode

	* src/xdisp.c (maybe_produce_line_number): In relative mode
	display the current line number as its absolute value, not as zero.

2017-06-24  Eli Zaretskii  <eliz@gnu.org>

	Rename display-line-width

	* etc/NEWS:
	* src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
	* lisp/cus-start.el: Rename display-line-width to
	display-line-number-width.

2017-06-24  Eli Zaretskii  <eliz@gnu.org>

	Fix tab stops when line numbers are displayed

	* src/xdisp.c (x_produce_glyphs):
	* src/term.c (produce_glyphs): Adjust tab stops for the horizontal
	space taken by the line-number display.

2017-06-24  Eli Zaretskii  <eliz@gnu.org>

	Fix crashes on TTY frames due to negative lnum_width.

	Don't display line numbers in the minibuffer and in tooltip frames.

2017-06-24  Eli Zaretskii  <eliz@gnu.org>

	Fix problems with line-number updates in Follow mode

	* src/xdisp.c (redisplay_window): If forced window-start requires
	to move a window's point, and the window is under relative
	line-number display, force another round of redisplay to update
	the relative line numbers.  This fixes follow-mode "redisplay" of
	its window group.

	* lisp/frame.el: Add display-line-numbers to the list of variables
	that should trigger redisplay of the current buffer.

2017-06-24  Eli Zaretskii  <eliz@gnu.org>

	Fix display of line numbers with fonts larger than the default

	* src/xdisp.c (maybe_produce_line_number): Update the metrics in
	IT, not in IT->glyph_row, since the latter gets overwritten in
	display_line.  Fixes display of line numbers when the font used
	for them is larger than that of the default face.

2017-06-23  Eli Zaretskii  <eliz@gnu.org>

	Fix background color beyond EOB and cursor display

	* src/xdisp.c: 	(maybe_produce_line_number): Use the default face
	for background of the blank glyphs in the line-number area which
	are drawn beyond EOB.
	(display_line): Reset the glyph row's displays_text_p flag only on
	empty lines that don't display line numbers.  This fixes cursor
	display beyond EOB.  Fix the bidi information in the glyphs
	produced for line numbers.  Set the avoid_cursor_p flag of glyphs
	produced for line numbers.

2017-06-23  Eli Zaretskii  <eliz@gnu.org>

	Fix display of indicate-empty-lines when line numbers are displayed

	* src/xdisp.c (row_text_area_empty): New function.
	(display_line): Call row_text_area_empty to verify that a glyph
	row's text area is devoid of any glyphs that came from a buffer or
	a string.  This fixes a bug with empty-lines indication
	disappearing when line numbers or line-prefix are displayed.
	(display_line): Delete the argument FORCE; all callers changed.
	Remove the condition for actually producing the glyphs for the
	line number, as even if the number didn't change we need to
	produce empty space.

2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Fix symbol relocation when the relocated cell is renamed.

	* lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
	hashmap has been instantiated before getting data from it.  When
	editing several spreadsheets, and you have spreadsheet #1 with a
	cell named `foo', and no renamed cell in spreadsheet #2, then if
	you make a formula with `foo' in spreadsheet #2, not doing this
	check will make an error.
	(ses-cell-set-formula): Robustify versus incorrect cell references
	given in the user provided formula.  An explicit error message is
	provided after the action when the user gives an incorrect cell
	reference, but the formula edition is not changed.  This means that
	if the incorrect reference is to a cell that is created someday,
	then this new cell will not have the edited cell in its reference
	list.  Fixing this can still be done by editing again the first
	cell formula.
	(ses-relocate-symbol): Do not create symbol of referred-to cell
	when this is a renamed cell.

2017-06-23  Rasmus  <rasmus@gmx.us>

	Synchronize with the "emacs-sync" branch from Org

2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	Remove getc_unlocked configure-time check

	* configure.ac (getc_unlocked): Remove check, as unlocked-io now
	does this for us.

2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	Use unlocked stdio more systematically

	This can improve performance significantly on stdio-bottlenecked code.
	E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
	* admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
	* lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
	* lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
	* lib-src/profile.c, lib-src/update-game-score.c:
	Include unlocked-io.h instead of stdio.h, since these programs are
	single-threaded.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
	* src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
	* src/lread.c, src/term.c:
	Include sysstdio.h, possibly instead of stdio.h, to define
	the unlocked functions if the system does not provide them.
	* src/charset.c, src/lread.c (getc_unlocked):
	Remove, since sysstdio.h now defines it if needed.
	* src/cm.c (cmputc, cmcheckmagic):
	* src/dispnew.c (update_frame, update_frame_with_menu)
	(update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
	* src/emacs.c (main, Fdump_emacs):
	* src/fileio.c (Fdo_auto_save, Fset_binary_mode):
	* src/image.c (slurp_file, png_read_from_file, png_load_body)
	(our_stdio_fill_input_buffer):
	* src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
	* src/lread.c (readbyte_from_file):
	* src/minibuf.c (read_minibuf_noninteractive):
	* src/print.c (printchar_to_stream, strout)
	(Fredirect_debugging_output):
	* src/sysdep.c (reset_sys_modes, procfs_ttyname)
	(procfs_get_total_memory):
	* src/term.c (tty_ring_bell, tty_send_additional_strings)
	(tty_set_terminal_modes, tty_reset_terminal_modes)
	(tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
	(tty_write_glyphs_with_face, tty_insert_glyphs)
	(tty_menu_activate):
	* src/xfaces.c (Fx_load_color_file):
	Use unlocked stdio when it should be safe.
	* src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
	(fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
	(fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
	(putc_unlocked, putchar_unloced): Provide substitutes if not declared.

2017-06-22  Glenn Morris  <rgm@gnu.org>

	* lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)

2017-06-22  Michal Nazarewicz  <mina86@mina86.com>

	unidata: don’t check special casing in unidata-check  (bug#26656)

	* admin/unidata/unidata-gen.el (unidata-check): Do not test special
	casing mapping of characters since that mapping is not constructed from
	the unidata.txt file.
	Also, check for integer decoder and cons char earlier so that less
	unnecessary processing is performed.

2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/descr-text.el (describe-char): Avoid string-*-multibyte

	Avoid string-to-multibyte and string-as-unibyte.
	Don't make *Help* unibyte just because the char was in a unibyte buffer.

2017-06-22  Rasmus  <rasmus@gmx.us>

	Add Org schemas.xml contents to Emacs schemas.xml

	Entries from the Org version of schemas.xml have been added to
	the Emacs version of schemas.xml.

2017-06-22  Rasmus  <rasmus@gmx.us>

	Update Org to v9.0.9

	Please see etc/ORG-NEWS for details.

2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Do not hard code A1 cell reference, as it may be renamed.

	* lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'

2017-06-22  Martin Rudalics  <rudalics@gmx.at>

	Fix make_hash_table calls in lread.c

	* src/lread.c (readevalloop, read_internal_start): Fix
	make_hash_table calls to make build succeed.

2017-06-22  Ken Raeburn  <raeburn@raeburn.org>

	Merge several Lisp reader speedups.

2017-06-22  Ken Raeburn  <raeburn@raeburn.org>

	Create less garbage to collect while reading symbols.

	* src/lread.c (read1): When interning a symbol, only create a new
	string object for the name if we're going to use it for a new symbol
	object.

2017-06-22  Ken Raeburn  <raeburn@raeburn.org>

	Replace read_objects assoc list with two hash tables.

	For larger input files with lots of shared data structures, an
	association list is too slow.

	* src/lread.c (read_objects_map, read_objects_completed): New
	variables, replacing read_objects.
	(readevalloop): Initialize them with hash tables before starting a
	top-level read, if they're not already empty hash tables, and reset
	them to Qnil afterwards if something was added to the hash tables.
	(read_internal_start): Likewise.
	(read1): Store first the placeholder and later the newly read object
	into read_objects_map under the specified object number.  If the new
	object can contain a reference to itself, store it in
	read_objects_completed.
	(substitute_objects_recurse): Check read_objects_completed instead of
	read_objects for the known possibly-recursive objects.
	(syms_of_lread): Update initializations.

2017-06-22  Ken Raeburn  <raeburn@raeburn.org>

	Use getc_unlocked.

	* configure.ac: Check for getc_unlocked.
	* src/charset.c (read_hex, load_charset_map_from_file): Use
	getc_unlocked instead of getc.
	(getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
	* src/lread.c (readbyte_from_file, Fget_file_char, read1,
	getc_unlocked): Likewise.

2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	Reduce lread substitutions.

	* src/lread.c (read1): After reading an object using the "#n=" syntax,
	if the read object is a cons cell, instead of recursively substituting
	the placeholder with the new object, mutate the placeholder cons cell
	itself to have the correct car and cdr values.

2017-06-22  Ken Raeburn  <raeburn@raeburn.org>

	Short-circuit substitutions for some simple types.

	Values that don't contain other values cannot be circular, so checking
	for circular objects is a waste of cycles.

	* src/lread.c (substitute_object_recurse): If the subtree being
	examined is a symbol, number, or property-less string, just return
	it.

2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	Limit style_format to MAX_ALLOCA

	* src/editfns.c (styled_format): Subtract initial buffer size
	from sa_avail, since it is nontrivial.

2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	Limit bidi_find_bracket_pairs to MAX_ALLOCA

	* src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
	Shrink it to allow for the two struct bidi_it objects in
	the same frame.
	(PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
	(bidi_find_bracket_pairs): Use compile-time check instead of runtime.

2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	Limit insert-file-contents to MAX_ALLOCA

	* src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
	MAX_ALLOCA bytes in a single stack array.

2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	Remove malloc_find_address relic

	* src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
	Omit unnecessary initialization.

2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix temacs hybrid_malloc core dump

	Without this patch, ./temacs would dump core sometimes on Fedora
	25 x86-64.  The problem was that the hybrid allocator assumed that
	all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
	assumption is not true on Fedora, because the standard memory
	allocator calls gdefault_morecore, which means its blocks are
	interleaved with our blocks.  Usually the code happened to work,
	because our data structures agreed with the glibc data structures,
	but this was merely luck due to a shared pedigree, and as glibc
	mutates our luck has run out.
	* src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
	Remove; no longer needed.
	(BLOCK): Use unsigned division, as that does the right thing near zero.
	(register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
	(_realloc_internal_nolock):
	Big blocks now have type -1, not 0, as 0 now means the block is
	not ours.
	(morecore_nolock): Omit now-unnecessary casts to size_t.
	(allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
	(hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
	avoid calling the wrong free or realloc function in some cases.

2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make gnus-article-date-user work

	* lisp/gnus/gnus-art.el (article-date-ut):
	Work for unfolded multi-line Date header.
	(article-transform-date):
	Refactor; add header name if it is missing in user-defined date line.
	(article-date-user): Fix name of date type.

2017-06-21  Noam Postavsky  <npostavs@gmail.com>

	Keep order of completion candidates (Bug#25995, Bug#24676)

	* lisp/minibuffer.el (completion-pcm--filename-try-filter)
	(completion-pcm--all-completions): Use nreverse to undo the reversing
	caused by using push in the loop.

2017-06-21  Glenn Morris  <rgm@gnu.org>

	* src/lread.c (syms_of_lread) <load-history>: Doc fix.

2017-06-21  Alex Gramiak  <agrambot@gmail.com>

	Mark prolog indent variables as safe (bug#27369)

	* lisp/progmodes/prolog.el (prolog-indent-width)
	(prolog-left-indent-regexp, prolog-paren-indent-p)
	(prolog-paren-indent): Add :safe property.

2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>

	Remove `:options' from `css-electric-keys'

	* lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
	since it just duplicates the default value.

2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix crash when built by GNU Gold linker on x86

	Problem reported by Andrés Musetti (Bug#27248).
	* src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
	(emacsFrameClass): Now a function (which initializes the
	superclass) instead of a variable.  All uses changed.

2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify autogen.sh version checking

	* autogen.sh (get_version): Simplify and make more reliable
	by using expr rather than echo | sed.  Check exit status of program.
	Run program in subshell in case it cannot be executed.
	(check_version): Check exit status of command rather than its output.
	Check return status of get_version.

2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>

	Delete old Date header in a simple way

	* lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
	when searching the old Date header boundary in order to delete it.

2017-06-20  Bastien  <bzg@gnu.org>

	Revert "Don't bind org-agenda key to an anonymous function"

	This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.

2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>

	Bind enable-local-variables to nil globally (fix dbe3e41)

	* lisp/gnus/mm-view.el (mm-display-inline-fontify):
	Bind enable-local-variables to nil globally instead of making it
	buffer-local; remove let-bind of local-enable-local-variables.
	cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.

2017-06-20  Glenn Morris  <rgm@gnu.org>

	kill-matching-buffers to optionally not confirm

	* lisp/files.el (kill-matching-buffers):
	Add option to not confirm killing.  (Bug#27286)

2017-06-20  Glenn Morris  <rgm@gnu.org>

	* lisp/files.el (local-enable-local-variables): Doc fix.

2017-06-20  Glenn Morris  <rgm@gnu.org>

	autogen.sh: try to check for tool being present but broken

	* autogen.sh (get_version): Check return status of "--version".
	(check_version): Try to distinguish between a missing tool
	and a broken one.  (Bug#27288)

2017-06-19  Glenn Morris  <rgm@gnu.org>

	Avoid a custom-variable-type error (bug#27363)

	* lisp/cus-edit.el (custom-variable-type):
	Avoid an error due to plist-put becoming stricter of late.

2017-06-19  Glenn Morris  <rgm@gnu.org>

	Don't put deleted packages in the trash (bug#14967)

	* lisp/emacs-lisp/package.el (package-delete):
	Don't pay attention to delete-by-moving-to-trash.

2017-06-19  Nicolas Petton  <nicolas@petton.fr>

	Revert "Add current-line in simple.el"

	This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.

2017-06-19  Damien Cassou  <damien@cassou.me>

	Add current-line in simple.el

	* lisp/simple.el (current-line): New function.
	* test/lisp/simple-tests.el: Add tests for current-line.

2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>

	Don't try to eval local variables in Gnus article

	* lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.

2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix emacs-module.h cleaning

	* src/Makefile.in (clean): Do not remove emacs-module.h.in.
	(bootstrap-clean): Remove emacs-module.h.

2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>

	* lisp/url/url-util.el (url-get-url-at-point): Add missing group
	in regex.

2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/gettext.h: Merge from gnulib.

2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This (and my previous patch) incorporate:
	2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
	2017-06-15 gettext-h: Update comment
	* lib/diffseq.h: Copy from gnulib.

2017-06-17  Noam Postavsky  <npostavs@gmail.com>

	* test/Makefile.in: Don't suppress test failure for single tests.

2017-06-17  Philipp Stephani  <phst@google.com>

	emacs-module.h: Create emacs_env_26

	This was part of the original design of the module
	API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
	but I didn't take it into account when adding the should_quit
	function.

	Instead of duplicating the environment fields or using the C
	preprocessor, use configure to build emacs-module.h.

	* configure.ac: Expand emacs-module.h template.

2017-06-17  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of replace-buffer-contents

	* etc/NEWS (replace-buffer-contents): Fix formatting.

	* src/editfns.c (Freplace_buffer_contents): Doc fix.

2017-06-17  Eli Zaretskii  <eliz@gnu.org>

	Finish up native display of line numbers

	* src/xdisp.c (maybe_produce_line_number): Produce a blank before
	the number, for R2L rows.  Increment 'g' in the loop even if
	glyph_row is NULL.  Accept 2nd argument FORCE and produce the
	line-number glyphs if it is non-zero.
	(move_it_in_display_line_to): Account for the space taken by the
	line-number glyphs.  Call maybe_produce_line_number with 2nd
	argument non-zero.
	(set_cursor_from_row): Fix calculation of cursor X coordinate in
	R2L rows with display-produced glyphs at the beginning.
	(syms_of_xdisp) <line-number>: New face symbol.
	<relative, display-line-width>: New symbols.
	(maybe_produce_line_number): Use the line-number face for
	displaying line numbers.  Support relative line-number display.
	Support user-defined width for displaying line numbers.
	(try_cursor_movement, try_window_id): Disable these optimizations
	when displaying relative line numbers.
	* src/dispextern.h (struct it): New member 'pt_lnum'.

	* lisp/faces.el (line-number): New face.
	* lisp/cus-start.el (standard): Provide customization forms for
	display-line-numbers and display-line-width.
	* lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
	turn display-line-numbers on and off.

	* etc/NEWS: Document the new feature.

2017-06-17  Philipp Stephani  <phst@google.com>

	Allow local variables section to begin with a square bracket

	Fixes Bug#27391.

	* lisp/international/mule.el (find-auto-coding): Fix regular
	expression for "Local Variables" section.

	* test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
	Add unit test.

2017-06-17  Philipp Stephani  <phst@google.com>

	Remove unnecessary point motion

	* src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
	motion.

2017-06-17  Philipp Stephani  <phst@google.com>

	Add command to replace buffer contents

	Add a new command 'replace-buffer-contents' that uses the Myers diff
	algorithm to non-destructively replace the accessible portion of the
	current buffer.  The Myers algorithm is implemented in Gnulib.

	* src/editfns.c (Freplace_buffer_contents): New command.
	(set_bit, bit_is_set, buffer_chars_equal): New helper functions.
	(syms_of_editfns): Define new command.

	* test/src/editfns-tests.el (replace-buffer-contents-1)
	(replace-buffer-contents-2): New unit tests.

	* src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.

	* admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.

2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>

	* lisp/international/characters.el: Update list of zero and full
	width characters according to Unicode 9.0.0.

2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>

	Complete CSS property values less eagerly (Bug#27392)

	* lisp/textmodes/css-mode.el (css--complete-property-value): Be less
	eager by looking for a colon after the property which values are being
	completed for.

	* test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
	Add a test case ensuring that properties that are prefixes of other
	properties don't hinder further completion.

2017-06-17  Noam Postavsky  <npostavs@gmail.com>

	Handle integer indices for eshell variables (Bug#26055)

	* lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
	if it's been marked as one, just like `eshell-lisp-command' does.

2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>

	Don't bind org-agenda key to an anonymous function

	* lisp/org/org-agenda.el: Bind "g" to named command.
	(org-agenda-redo-all): New command.  Extend the previous functionality
	through a prefix argument.

2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>

	Add test for the fix in the parent commit

	* test/src/undo-tests.el (undo-test-skip-invalidated-markers):
	New test, for the fix in the parent commit.

2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)

	primitive-undo: Update only the currently valid markers

	* lisp/simple.el (primitive-undo):
	Update only the currently valid markers (bug#25599).

2017-06-16  Eli Zaretskii  <eliz@gnu.org>

	Initial version of native display of line numbers

	* src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
	buffer-local variable.
	Include <math.h>.
	(maybe_produce_line_number): New function.
	(DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
	(try_window_reusing_current_matrix): Don't use this method when
	display-line-numbers is in effect.
	* src/dispextern.h (struct it): New members 'lnum'.

2017-06-16  Philipp Stephani  <phst@google.com>

	Correctly detect URLs surrounded by parentheses in comments

	* lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
	Make parentheses match work inside comments.

	* test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
	unit test.

2017-06-16  Michael Albinus  <michael.albinus@gmx.de>

	Fix load-path issue when it contains remote directories

	* lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
	(tramp-use-absolute-autoload-file-names): New defun.  Call it
	after loading tramp.el.

	* test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
	New test.
	(tramp-test39-unload): Rename.

2017-06-16  Alan Mackenzie  <acm@muc.de>

	Ensure C++ initializer lists don't get fontified.

	* lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
	compiler warning.

	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
	clause to handle C++ member initialization lists.
	(c-font-lock-single-decl): New function, extracted from
	c-font-lock-declarations.
	(c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
	code.
	(c-font-lock-cut-off-declarators): Make more rigorous by calling
	c-get-fontification-context, c-forward-decl-or-cast-1, and
	c-font-lock-single-decl in place of rather approximate code.

2017-06-16  Alan Mackenzie  <acm@muc.de>

	Fix hang in CC Mode when ":" is typed after identifier at EOB.

	* lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
	confusing ":" and EOB.

2017-06-15  Alan Mackenzie  <acm@muc.de>

	Create a toggle between block and line comments in CC Mode.

	Also (unrelated change) initialize the modes' keymaps at each loading.

	* lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
	on the modeline.
	(c-block-comment-flag): New variable.
	(c-toggle-comment-style): New function.

	* lisp/progmodes/cc-langs.el (c-block-comment-starter)
	(c-line-comment-starter): Make them c-lang-defvars.
	(c-block-comment-is-default): New c-lang-defvar.
	(comment-start, comment-end): Make the default values dependent on
	c-block-comment-is-default.

	* lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
	(c-basic-common-init): Initialize c-block-comment-flag.
	(c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
	(pike-mode-map, awk-mode-map): Make entries in these key maps each time the
	mode is loaded rather than just once per Emacs session.

	* doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
	style.
	(Minor Modes): Define comment style.  Describe how comment style influences
	the information displayed on the modeline.  Document c-toggle-comment-style.
	(FAQ): Add a question about toggling the comment style.

2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify clang without munging C source

	* configure.ac (WARN_CFLAGS): With Clang, use
	-Wno-tautological-compare regardless of --enable-gcc-warnings.
	(WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
	* lib/strftime.c: Copy from gnulib, reverting Clang-specific
	change which I hope is no longer needed.
	* src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
	some older non-POSIX hosts.

2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	No need to complicate make-docfile.c for Clang

	* lib-src/make-docfile.c (put_filename): Undo recent change.
	The Clang false alarm occurs only with CFLAGS=-save-temps and
	we needn’t worry about pacifying unusual compiler configurations.

2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Port './configure CC=clang' to Fedora 25

	* configure.ac (HAVE_IMAGEMAGICK): Disable if even a
	standard function like MagickRelinquishMemory does not link.

2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t worry about __STDC_VERSION__ in emacs-module

	* src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
	we’ve found that some compilers do not define this symbol even
	when they work well enough.  If necessary features like stdbool.h
	are missing the compiler will complain eventually anyway.

2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Port cleanup check to Oracle Studio 12.5

	* src/conf_post.h (__has_attribute_cleanup): Resurrect.
	* src/emacs-module.c: Verify __has_attribute (cleanup), but in an
	#if this time.

2017-06-14  Bastien  <bzg@gnu.org>

	Fix misformatted changelog entry

2017-06-14  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warning in image.c on MS-Windows

	* src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
	compilation warning under -Warray-bounds by temporarily disabling
	the -Warray-bounds option.

2017-06-14  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#27315

	* lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
	New defvar.
	(top): Use it.

	* lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
	Check for connected, not for connectable.  (Bug#27315)
	(tramp-process-actions):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
	Use `tramp-cache-read-persistent-data'.

	* test/lisp/net/tramp-tests.el (top): Set also
	`tramp-cache-read-persistent-data'.

2017-06-14  Noam Postavsky  <npostavs@gmail.com>

	Give a fixed default value for icomplete-prospects-height (Bug#26939)

	* lisp/icomplete.el (icomplete-prospects-height): Default to 2.
	(icomplete-prospects-length): Remove.
	* etc/NEWS: Announce removal.

2017-06-14  Philipp Stephani  <phst@google.com>

	Remove some tautological comparisons involving rlim_t

	Clang on macOS warns about these with -Wtautological-compare.  POSIX
	guarantees that rlim_t is
	unsigned (cf.
	https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
	so these resource limits can never be negative.

	* src/emacs.c (main): Remove tautological comparisons.

2017-06-14  Philipp Stephani  <phst@google.com>

	Use --module-assertions if modules are available

	Using --module-assertions helps us find bugs in the test module.  But
	we can use it only if Emacs was compiled with module support.

	* test/Makefile.in (MODULES_EMACSOPT): New variable.
	(emacs): Use it.

2017-06-14  Philipp Stephani  <phst@google.com>

	Define --module-assertions only of modules are available

	Fixes Bug#27352.

	* src/emacs.c (usage_message, standard_args): Define
	--module-assertions only if Emacs has been compiled with module
	support.

2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>

	gnus-article-read-summary-keys: Don't move point for WDD and WDW commands

	* lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
	No need to restore window config for WDD and WDW commands.

2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	lisp/net/soap-client.el: Bump version to 3.1.3

	* lisp/net/soap-client.el: Bump version to 3.1.3.
	(soap-name-p): Fix checkdoc issue.

2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>

	Fix an HTTP encoding error in soap-client.el

	* lisp/net/soap-client.el (soap-invoke-internal): Make
	SOAPAction header a UTF-8 encoded string.

2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Port cleanup attribute to Oracle Studio 12.5

	* INSTALL (--with-modules): List cleanup attribute as prereq.
	* src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
	* src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
	(__has_attribute (cleanup)), as Oracle Studio 12.5 supports
	__has_attribute only inside preprocessor expressions.  The C
	compiler should check the cleanup attribute in the next line anyway.
	(module_reset_handlerlist): Remove an unnecessary ‘const’
	that causes Oracle Studio 12.5 to refuse to compile.

2017-06-14  Glenn Morris  <rgm@gnu.org>

	Fix running tests in without-modules builds

	* test/Makefile.in (EMACSOPT): Remove option that is only defined
	with-modules.  emacs-module-tests.el passes it where needed.

2017-06-13  Glenn Morris  <rgm@gnu.org>

	* test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.

2017-06-13  Philipp Stephani  <phst@google.com>

	Inline test module Makefile into main test Makefile

	The test/data/emacs-module/Makefile only built a single target, and
	inlining it into test/Makefile simplifies dependency tracking and
	reduces code duplication.

	* configure.ac: Don't build test/data/emacs-module/Makefile.

	* Makefile.in ($(test_module)): Inline compilation.
	(clean): Also clean test module outputs.

2017-06-13  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.

2017-06-13  Michael Albinus  <michael.albinus@gmx.de>

	Minor tweaks in Tramp manual

	* doc/misc/trampver.texi: Add prefixwithspace flag.

	* doc/misc/tramp.texi (Password handling): Harmonize example.
	(File name completion): Use prefixwithspace flag.
	(Frequently Asked Questions): Explain `tramp-histfile-override'.

2017-06-13  Philipp Stephani  <phst@google.com>

	Silence two Clang warnings by introducing additional local variables

	* lib/strftime.c (libc_hidden_def):
	* lib-src/make-docfile.c (put_filename): Introduce local variables to
	silence Clang warnings.

2017-06-13  Noam Postavsky  <npostavs@gmail.com>

	Fix wrong indentation after string literal (Bug#27306)

	* lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
	(lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
	* test/lisp/emacs-lisp/lisp-mode-tests.el
	(lisp-indent-region-after-string-literal): New test.

2017-06-13  Philipp Stephani  <phst@google.com>

	Fix version checks for emacs-module.h

	We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
	don't need it at all.

2017-06-13  Noam Postavsky  <npostavs@gmail.com>

	Buttonize #<bytecode> part of printed functions (Bug#25226)

	* lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
	(cl-print-compiled-button): New variable.
	(help-byte-code): New button type, calls `disassemble' in its action.
	(cl-print-object): Use it if `cl-print-compiled-button' is
	non-nil.

2017-06-12  Philipp Stephani  <phst@google.com>

	Print module structure sizes when initializing test module

	* test/data/emacs-module/mod-test.c (emacs_module_init): Print
	compile-time and runtime sizes of module structures to ease debugging

2017-06-12  Glenn Morris  <rgm@gnu.org>

	Small portability fix for emacs-module.h (bug#27346)

	* src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
	Avoid 'error: missing binary operator before token "("'.

2017-06-12  Glenn Morris  <rgm@gnu.org>

	Give a more informative failure in module assertion test

	* test/src/emacs-module-tests.el (module--test-assertions):
	Rephrase final check to give a more informative failure.

2017-06-12  Philipp Stephani  <phst@google.com>

	Fix off-by-one error

	* test/data/emacs-module/mod-test.c (emacs_module_init): Fix
	off-by-one error.

2017-06-12  Glenn Morris  <rgm@gnu.org>

	Clean up after module assertion tests

	* test/src/emacs-module-tests.el (module--test-assertions):
	Use a temporary directory to contain any core dumps.

2017-06-12  Glenn Morris  <rgm@gnu.org>

	Small improvement for module assertion test

	* test/src/emacs-module-tests.el (module--test-assertions):
	Don't rely on the precise form of an "Abort" message.

2017-06-12  Glenn Morris  <rgm@gnu.org>

	Improve previous test/data/emacs-module/Makefile change

	* test/data/emacs-module/Makefile.in (clean):
	Avoid doing unpleasant things if run in a build without modules.

2017-06-12  Glenn Morris  <rgm@gnu.org>

	Small improvements for test/data/emacs-module/Makefile

	* test/data/emacs-module/Makefile.in (%.o):
	Fix emacs-module dependency.
	(SECONDARY): Stop make automatically deleting *.o.
	(clean): New rule.

2017-06-12  Glenn Morris  <rgm@gnu.org>

	* make-dist: Skip some more generated files in test/.

2017-06-12  Alan Third  <alan@idiocy.org>

	Note how fullscreen differs on the NS port

	doc/lispref/frames.texi (Size Parameters):
	doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
	hides the tool-bar and menu-bar in fullscreen.

2017-06-12  Alan Third  <alan@idiocy.org>

	Add no-focus-on-map to NS build (bug#25408)

	* src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
	(x-create-frame): Check for no-focus-on-map.
	* src/nsterm.h (x_set_no_focus_on_map): New function.
	* src/nsterm.m (x_set_no_focus_on_map): New function.
	(ns_raise_frame): Add parameter for specifying whether to focus the
	frame.
	(ns_frame_raise_lower):
	(x_make_frame_visible): Handle new parameter for ns_raise_frame.

2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>

	_Noreturn not noreturn

	_Noreturn is more portable to non-C11 platforms.  See:
	https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
	* src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
	include <stdnoreturn.h>.  Reindent to fit in 80 columns.

2017-06-12  Glenn Morris  <rgm@gnu.org>

	Update make-dist for recent test/ changes

	* make-dist: No longer distribute test/data/emacs-module/Makefile.

2017-06-12  Michael Albinus  <michael.albinus@gmx.de>

	Handle port and domain in Tramp's password cache

	* doc/misc/tramp.texi (Password handling): Explain port and
	domain handling in authinfo.

	* lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
	(tramp-maybe-open-connection):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
	(tramp-smb-maybe-open-connection): Handle also domain and port.

2017-06-12  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warnings with pre-C99 libc

	* src/emacs-module.c (module_free_global_ref)
	(module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
	instead of C99 't' format descriptor.

2017-06-12  Philipp Stephani  <phst@google.com>

	Flush all output streams before aborting

	Maybe the stdout buffer still contains something interesting that
	should be flushed.

	* src/emacs-module.c (module_abort): Flush all output streams before
	aborting.

2017-06-12  Philipp Stephani  <phst@google.com>

	Remove an assertion that doesn't test Emacs invariants

	* src/emacs-module.c (module_copy_string_contents): Remove an
	assertion that doesn't test Emacs invariants.

2017-06-12  Philipp Stephani  <phst@google.com>

	Test module: add necessary version checks

	* test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
	version checks.

2017-06-12  Philipp Stephani  <phst@google.com>

	Use additional CFLAGS from configure

2017-06-12  Philipp Stephani  <phst@google.com>

	Use Autoconf to generate the test module Makefile

	This makes it easier to pass compilation flags around.

	* configure.ac: Also build test module Makefile.

	* test/data/emacs-module/Makefile.in: New makefile template.

	* test/Makefile.in ($(test_module)): No longer necessary to pass
	@MODULES_SUFFIX@ around.

	* .gitignore: Test module Makefile can now be ignored.

2017-06-12  Philipp Stephani  <phst@google.com>

	Also compile test module as C11

	* test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11

2017-06-12  Philipp Stephani  <phst@google.com>

	Implement module assertions for users

	Add a new command-line option '-module-assertions' that users can
	enable developing or debugging a module.  If this option is present,
	Emacs performs additional checks to verify that modules fulfill their
	requirements.  These checks are expensive and crash Emacs if modules
	are invalid, so disable them by default.

	This is a command-line option instead of an ordinary variable because
	changing it while Emacs is running would cause data structure
	imbalances.

	* src/emacs.c (main): New command line option '-module-assertions'.

	* src/emacs-module.c (module_assert_main_thread)
	(module_assert_runtime, module_assert_env, module_assert_value):
	New functions to assert module requirements.
	(syms_of_module): New uninterned variable 'module-runtimes'.
	(init_module_assertions, in_main_thread, module_abort): New helper
	functions.
	(initialize_environment): Initialize value list.  If assertions are
	enabled, use a heap-allocated environment object.
	(finalize_environment): Add assertion that environment list is never
	empty.
	(finalize_runtime_unwind): Pop module runtime object stack.
	(value_to_lisp): Assert that the value is valid.
	(lisp_to_value): Record new value if assertions are enabled.
	(mark_modules): Mark allocated object list.
	(MODULE_FUNCTION_BEGIN_NO_CATCH)
	(module_non_local_exit_check, module_non_local_exit_clear)
	(module_non_local_exit_get, module_non_local_exit_signal)
	(module_non_local_exit_throw): Assert thread and environment.
	(module_get_environment): Assert thread and runtime.
	(module_make_function, module_funcall, module_intern)
	(module_funcall, module_make_integer, module_make_float)
	(module_make_string, module_make_user_ptr, module_vec_get)
	(funcall_module, Fmodule_load): Adapt callers.
	(module_make_global_ref): If assertions are enabled, use the global
	environment to store global values.
	(module_free_global_ref): Remove value from global value list.

	* test/Makefile.in (EMACSOPT): Enable module assertions when testing
	modules.

	* test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
	(Fmod_test_invalid_load): New functions to test module assertions.
	(emacs_module_init): Bind the new functions.

	* test/src/emacs-module-tests.el (mod-test-emacs): New constant for
	the Emacs binary file.
	(mod-test-file): New constant for the test module file name.
	(module--test-assertions): New unit test.

2017-06-12  Philipp Stephani  <phst@google.com>

	emacs-module: Use __attribute__((nonnull))

	Annotate all parameters with __attribute__((nonnull)) that may not be
	NULL.

2017-06-12  Philipp Stephani  <phst@google.com>

	Explicitly require C11 or C++11 in emacs-module.h

	We already implicitly require them by including stdbool.h.  Just make
	the error message a bit clearer, and remove an unnecessary version
	comparison.

2017-06-12  Philipp Stephani  <phst@google.com>

	Add missing 'require' forms to prevent compiler warnings.

	* lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
	requirements.

2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-06-11 getopt-posix: port to glibc 2.25.90
	2017-06-04 same-inode: port better to VMS 8.2 and later
	* doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
	* m4/sys_types_h.m4: Copy from gnulib.

2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>

	Remove Lisp_Misc_Float

	* src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
	* src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
	unused for two decades; if we ever want to change floats to be a
	misc type we can bring it back then.

2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>

	Make two symbols private to emacs-module.c

	* src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
	Move from here ...
	* src/emacs-module.c: ... to here.

2017-06-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-25

	da62c1532e4 (origin/emacs-25) Improve the documentation of filesets

2017-06-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-25

	e80f6a210b0 Describe problems with Microsoft Intellipoint
	a73ec1edb07 More accurate documentation of the ':box' face attribute

2017-06-12  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-25

	eaa00584ceb Improve documentation of 'gnutls-verify-error'
	908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
	741daec617e ; Describe the problem with ksh when resizing shell window

2017-06-11  Michael Albinus  <michael.albinus@gmx.de>

	Some further improvements for tramp-gvfs.el

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
	(tramp-gvfs-get-file-attributes)
	(tramp-gvfs-maybe-open-connection): Handle davs? properly.
	(tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
	Show question also in batch mode.  Cache result.

	* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
	Support completion for host names and ports.

2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>

	Fix highlighting of CSS selectors with double hyphens

	* lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
	highlighting of selectors that contain double hyphens.  They would be
	mistaken for a variable.

2017-06-11  Philipp Stephani  <phst@google.com>

	Support threads in modules

	Rather than checking for the main thread, check for the current
	thread.

	* src/emacs-module.c (check_thread): New function.
	(MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
	(module_non_local_exit_check, module_non_local_exit_clear)
	(module_non_local_exit_get, module_non_local_exit_signal)
	(module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.

2017-06-11  Philipp Stephani  <phst@google.com>

	Allow non-local exits in module initializers

	Previously signals, throws, and quits from module initialization
	functions were ignored.  These function aren't special, and better
	errors can be reported using signals than with the initialization
	return code, so allow non-local exits.

	* src/emacs-module.c (module_signal_or_throw): New helper function.
	(Fmodule_load, funcall_module): Use it.
	(Fmodule_load): Also allow quitting.

2017-06-11  Noam Postavsky  <npostavs@gmail.com>

	Let eshell/sudo handle absolute command names (Bug#27167)

	* lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
	absolute paths into relative ones.

2017-06-10  Alan Third  <alan@idiocy.org>

	Don't wait for toolbar in NS native fullscreen

	* src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
	function when in fullscreen.

2017-06-10  Alexander Gramiak  <agrambot@gmail.com>

	Fix the placement of GTK menus on multi-monitor systems

	menu_position_func did not properly use the current monitor's
	resolution.  Also see commit '2016-02-06 22:12:53 +0100'.

	* lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
	(frame-monitor-workarea): New functions.

	* src/xmenu.c (menu_position_func): Take into account the workarea of
	the monitor that contains the mouse.  (Bug#23568)

2017-06-10  Eli Zaretskii  <eliz@gnu.org>

	Clarify documentation of 'face-spec-set'

	* lisp/faces.el (face-spec-set): Clarify the description of
	SPEC-TYPE in the doc string.

	* doc/lispref/display.texi (Defining Faces): Clarify the
	description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)

2017-06-10  Michael Albinus  <michael.albinus@gmx.de>

	Fix domain port and handling in tramp-gvfs.el

	* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
	Return nil if BYTE-ARRAY is nil.
	(tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
	Fix domain and port handling.

	* lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
	Ignore errors.

2017-06-10  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'face-spec-set-2'

	* lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
	to 'face-attrs'.
	(face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)

2017-06-10  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of Python/Guile commands with arguments in gdb-mi.el

	* lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
	variable.
	(gdb-control-commands-regexp): Use it.
	(gdb-send): Don't increment gdb-control-level if the command
	matches gdb-python-guile-commands-regexp and has non-empty
	arguments.  Reported by David Boles <boles@ieee.org> in
	https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.

2017-06-10  Eli Zaretskii  <eliz@gnu.org>

	Preserve point in Dired windows under 'dired-auto-revert-buffer'

	* lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
	is non-nil, bind switch-to-buffer-preserve-window-point to nil
	while calling find-file.  (Bug#27243)

2017-06-09  Philipp Stephani  <phst@google.com>

	Give test files a -tests.el suffix

	Rename a couple of test files that have the same name as the library
	they test.  This harmonizes the naming pattern and makes it possible
	to have the tests directories in the load path.

2017-06-09  Philipp Stephani  <phst@google.com>

	Fix another compiler warning on macOS

	* src/image.c (x_query_frame_background_color): Don't define if we
	have NextStep but no image support.

2017-06-09  Philipp Stephani  <phst@google.com>

	Add garbage collection support for module environments

	* src/emacs-module.c (mark_modules): New function.
	(initialize_environment): Properly initialize Lisp objects.
	* src/alloc.c (garbage_collect_1): Call it.

2017-06-08  Glenn Morris  <rgm@gnu.org>

	Make autogen.sh report relevant environment variables

	* autogen.sh (check_version):
	Indicate if using an environment variable.

2017-06-08  Noam Postavsky  <npostavs@gmail.com>

	Split variable macro env from function env

	* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
	(cl-symbol-macrolet): Instead of adding each binding directly into the
	main environment with a special key format, put all symbol macro
	bindings into a single entry in the main environment under
	`:cl-symbol-macros'.
	(cl--sm-macroexpand): Look up symbol bindings in the
	`:cl-symbol-macros' entry of the environment.

2017-06-07  Glenn Morris  <rgm@gnu.org>

	* make-dist: Directory modules/mod-test no longer exists.

2017-06-07  Glenn Morris  <rgm@gnu.org>

	More authors.el updates

	* admin/authors.el (authors-ignored-files, authors-valid-file-names)
	(authors-renamed-files-alist): Additions.

2017-06-07  Glenn Morris  <rgm@gnu.org>

	* make-dist: Check a release has a ChangeLog with a release notice.

	* make-dist: Use existing ChangeLog if present.

2017-06-07  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.

2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>

	(url-cookie-host-can-set-p): Protect against zero-length domains

	* lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
	against zero-length domains.

	Backtrace of a real-world site that triggers a bug:

	Debugger entered--Lisp error: (args-out-of-range "" 0)
	  url-cookie-host-can-set-p("www.washingtonpost.com" "")
	  url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
	  01-January-1970 00:00:00 GMT; path=/; domain=")
	  url-http-handle-cookies()

2017-06-06  Glenn Morris  <rgm@gnu.org>

	More authors.el updates

	* admin/authors.el (authors-obsolete-files-regexps)
	(authors-valid-file-names, authors-renamed-files-alist)
	(authors-renamed-files-regexps): Additions.

2017-06-06  Glenn Morris  <rgm@gnu.org>

	More small authors.el updates

	* admin/authors.el (authors-aliases): Fix recent addition.
	(authors-obsolete-files-regexps, authors-no-scan-regexps)
	(authors-ignored-files, authors-valid-file-names)
	(authors-renamed-files-alist): Additions.

2017-06-06  Glenn Morris  <rgm@gnu.org>

	Make authors.el report names that were ignored

	* admin/authors.el (authors-ignored-names): New.
	(authors-canonical-author-name): Add file and position arguments.
	Record ignored authors.
	(authors-scan-change-log, authors-scan-el):
	Pass file and position to authors-canonical-author-name.
	(authors): Also print authors that were ignored.

2017-06-06  Glenn Morris  <rgm@gnu.org>

	* admin/authors.el (authors-aliases): Additions.

2017-06-06  Tino Calancha  <tino.calancha@gmail.com>

	* test/lisp/subr-tests.el (subr-tests-bug22027): Add test.

2017-06-06  Noam Postavsky  <npostavs@gmail.com>

	* lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).

2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>

	Enable ElDoc messages after the newline command

	* lisp/emacs-lisp/eldoc.el:
	Add "newline" to the eldoc-add-command-completions call (bug#27228).

2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>

	Enable eldoc-mode explicitly inside read--expression

	* lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).

2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>

	Fix check for package-unsigned-archives during retrieval

	* lisp/emacs-lisp/package.el (package--download-one-archive):
	Fix check for package-unsigned-archives.

2017-06-05  Noah Friedman  <friedman@splode.com>

	Merge etc/emacs-buffer.gdb from emacs-25 to master.

2017-06-05  Philipp Stephani  <phst@google.com>

	Fix undefined behavior in mapbacktrace

	* src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.

2017-06-05  Eli Zaretskii  <eliz@gnu.org>

	Fix emacs-module-tests on MS-Windows

	* src/print.c (print_vectorlike): Make sure module function's
	address prints with a leading "0x".  This fixes emacs-module-tests
	on MS-Windows.  Fix whitespace.
	* src/dynlib.c (dynlib_addr): Remove unused variable.  Update
	commentary.

2017-06-05  Philipp Stephani  <phst@google.com>

	Use unwind protection to clean up data structures in modules

	Reuse existing functionality and simplify the code a bit.

	* src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
	runtime object.
	(funcall_module): Use unwind protection to clean up environment
	object.
	(finalize_environment): Simplify signature.
	(finalize_environment_unwind, finalize_runtime_unwind): New functions.

2017-06-05  Michael Albinus  <michael.albinus@gmx.de>

	Some minor tweaks in tramp-tests.el

	* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
	Let it pass for all gfvs based methods.
	(tramp-test24-file-name-completion): Run method and host
	completion for all syntaxes only when expensive tests are enabled.
	Do not check host completion for gvfs based methods.
	(tramp--test-gvfs-p): Add optional METHOD argument.
	(tramp--test-afp-or-smb-p): Remove.

2017-06-05  Michael Albinus  <michael.albinus@gmx.de>

	Fix error in Tramp rsync method

	* lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
	Otherwise, `tramp-test10-write-region' could fail.

2017-06-05  Philipp Stephani  <phst@google.com>

	Inline module_has_cleanup

	This constant is only used once, and we fail compilation anyway if
	it's false.

	* src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.

2017-06-05  Philipp Stephani  <phst@google.com>

	Add missing dependency to test module source file

2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>

	Omit space that broke ‘make check’

	* src/print.c (print_vectorlike): Omit stray space.

2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>

	Remove easserts etc. from emacs-module.c

	Most of these seem to run afoul of the comment "Do NOT use
	'eassert' for checking validity of user code in the module."
	* src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
	(module_non_local_exit_check, module_non_local_exit_clear)
	(module_non_local_exit_get, module_non_local_exit_signal)
	(module_non_local_exit_throw, module_make_string):
	Remove unnecessary easserts that pointers are nonnull.
	Hardware checks this for us nowadays, and the checks
	just clutter up the code.
	(module_extract_integer): Remove unnecessary verify that
	a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
	The C standard guarantees this.
	(module_copy_string_contents): Remove unnecessary eassert
	that Lisp strings are null-terminated.
	(module_function_arity): Remove unnecessary easserts that
	function arities are in range.

2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>

	Remove unnecessary checking in emacs-module.c

	* src/emacs-module.c (module_copy_string_contents):
	Remove checking, as string lengths are always nonnegative and less
	than STRING_BYTES_BOUND, and this is checked elsewhere.
	(module_make_string): Check length against STRING_BYTES_BOUND, a
	tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
	assume that an out-of-range integer is nonnegative.

2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>

	SCHARS and STRING_BYTES are nonnegative

	Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
	the hopes that this will optimize a bit better.  Also, check this
	at runtime if ENABLE_CHECKING.
	* src/lisp.h (SCHARS, STRING_BYTES):
	eassume that these functions return nonnegative values.
	(STRING_SET_CHARS) [ENABLE_CHECKING]:
	eassert that newsize is nonnegative.

2017-06-05  Noam Postavsky  <npostavs@gmail.com>

	* lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).

2017-06-04  Philipp Stephani  <phst@google.com>

	Remove an unused error symbol

	* src/emacs-module.c (syms_of_module): Remove unused error symbol
	'invalid-module-call'.

2017-06-04  Philipp Stephani  <phst@google.com>

	Support quitting in modules

	The idea is that modules should call env->should_quit from time to
	time and return as quickly as possible if it returns true.

	* src/emacs-module.c (module_should_quit): New module function.
	(initialize_environment): Use it.
	(funcall_module): Process potential pending quit.

	* src/eval.c (maybe_quit): Add reference to module_should_quit.

2017-06-04  Philipp Stephani  <phst@google.com>

	Use more specific errors for module load failure

	* src/emacs-module.c (syms_of_module): Add more specific error
	symbols.
	(Fmodule_load): Use them.

2017-06-04  Philipp Stephani  <phst@google.com>

	Remove an unneeded assertion

	* src/emacs-module.c (module_copy_string_contents): Remove unneeded
	assertion.  If this assertion triggers, we raise an error anyway.

2017-06-04  Philipp Stephani  <phst@google.com>

	Guard against signed integer overflows

	* src/emacs-module.c (module_extract_integer)
	(module_copy_string_contents, module_make_string): Guard against
	signed integer overflows.

2017-06-04  Philipp Stephani  <phst@google.com>

	Add a couple more assertions to the module code

	These can help module authors debug crashes.

	* src/emacs-module.c (module_non_local_exit_check)
	(module_non_local_exit_clear, module_non_local_exit_get)
	(module_non_local_exit_signal, module_non_local_exit_throw)
	(module_copy_string_contents, module_make_string)
	(funcall_module, initialize_environment): Add assertions

2017-06-04  Philipp Stephani  <phst@google.com>

	Use ATTRIBUTE_MAY_ALIAS where alias violations are likely

	In particular, alias violations are likely for the return values of
	dlsym(3), which get cast around arbitrarily.

	* src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.

2017-06-04  Philipp Stephani  <phst@google.com>

	Simplify interface of dynlib_attr.

	Instead of returning bool, set the argument pointers to NULL if the
	information is not available.

	* src/dynlib.c (dynlib_addr): Don't return bool.

2017-06-04  Philipp Stephani  <phst@google.com>

	Rationalize environment lifetime management functions

	* src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
	(finalize_environment): Add parameter for public part of the
	environment, like 'initialize_environment'.  Add assertions.

2017-06-04  Philipp Stephani  <phst@google.com>

	Rework printing of module functions

	Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
	other types.

	* src/print.c (print_vectorlike): Add code to print module functions.

	* src/emacs-module.c (funcall_module): Stop calling
	'module_format_fun_env'.  Now that module functions are first-class
	objects, they can be added to signal data directly.
	(module_handle_signal): Remove now-unused function
	'module_format_fun_env'.

	* test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.

	* src/eval.c (funcall_lambda): Adapt call to changed signature of
	'funcall_module'.

2017-06-04  Philipp Stephani  <phst@google.com>

	Define helper macro to reduce code duplication

	* src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
	macro.
	(MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
	Use it.

2017-06-04  Philipp Stephani  <phst@google.com>

	Remove two FIXMEs that can't be fixed

2017-06-04  Eli Zaretskii  <eliz@gnu.org>

	Avoid slow startup in daemon mode when global-linum-mode is on

	* lisp/linum.el (linum-on): Don't turn on linum-mode in a
	non-client frame of a daemon session.  (Bug#27210)

2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>

	Fix eldoc bug with curved quote

	* lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
	Substitute quotes in documentation before returning it (Bug#27159).

2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>

	Tune ‘format’ after recent fix

	* doc/lispref/strings.texi (Formatting Strings):
	* src/editfns.c (Fformat): Format field numbers no longer need
	to be unique, reverting the previous doc change since that has
	now been fixed.  Also, document that %% should not have modifiers.
	* src/editfns.c (styled_format): Improve performance.  Remove
	the need for the new prepass over the format string, by using
	a typically-more-generous bound for the info array size.
	Initialize the info array lazily.  Move string inspection to
	the same area to help caching.  Avoid the need for a
	converted_to_string bitfield by using EQ.  Cache arg in a
	local and avoid some potential aliasing issues to help the
	compiler.  Info array is now 0-origin, not 1-origin.

2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>

	Improve of file-local-name use in vc-git-checkin

	* lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
	when calling git commit.

2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>

	Support a new CSS indentation style

	* lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
	immediately followed by a newline.

	* test/manual/indent/css-mode.css: Add test for the change above.

	* test/manual/indent/scss-mode.scss: Ditto.

2017-06-03  Philipp Stephani  <phst@google.com>

	Fix a bug when using format field numbers

	Previously styled_format overwrite the argument vector.  This is no
	longer possible because there might be more than one specification per
	argument.  Use the existing auxiliary info array instead.

	* src/editfns.c (styled_format): Record arguments in the info
	structure instead of overwriting them.
	* test/src/editfns-tests.el (format-with-field): Add unit test.

2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>

	Document uniqueness limitation of ‘format’

	* doc/lispref/strings.texi (Formatting Strings):
	* src/editfns.c (Fformat):
	Document that field numbers should be unique within a format.

2017-06-03  Glenn Morris  <rgm@gnu.org>

	Small rmailmm fix (bug#27203)

	* lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
	Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.

2017-06-03  Glenn Morris  <rgm@gnu.org>

	* admin/authors.el (authors-aliases): Addition.

2017-06-03  Glenn Morris  <rgm@gnu.org>

	Add watch for password back to inferior python comint filter

	It was removed along with other items for speed (bug#16875),
	but doesn't seem to have been causing an issue, and it's useful to
	have it there (bug#27154).
	* lisp/progmodes/python.el (inferior-python-mode):
	Add comint-watch-for-password-prompt to comint-output-filter-functions.

2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)

	Use completing-read-default in tmm-prompt

	tmm uses completing-read, but customizes its behavior so much
	that any alternative completing-read-function will almost
	certainly break it.  For example, both ido-ubiquitous and ivy have
	special code to deactivate themselves for tmm.
	* lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
	completing-read.  (Bug#27193)

2017-06-02  Mats Lidell  <mats.lidell@cag.se>

	* etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)

2017-06-02  Glenn Morris  <rgm@gnu.org>

	Fix with-todo-test

	* test/lisp/calendar/todo-mode-tests.el (with-todo-test):
	HOME should be a directory, not a file.  Delete it when finished.

2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)

	Update TUTORIAL.it

	* etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.

2017-06-02  Eli Zaretskii  <eliz@gnu.org>

	Fix cursor position in Dired buffers after dired-sort-toggle

	* src/xdisp.c (display_and_set_cursor): Record cursor coordinates
	even if the frame is marked as garbaged.  (Bug#27187)

2017-06-02  Eli Zaretskii  <eliz@gnu.org>

	Update TUTORIAL.he

	* etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.

2017-06-02  Noam Postavsky  <npostavs@gmail.com>

	* etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).

2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>

	Limit format fields to more POSIX-like spec

	* doc/lispref/strings.texi (Formatting Strings):
	Don’t allow mixing numbered with unnumbered format specs.
	* src/editfns.c (styled_format): Don’t bother checking for field 0,
	since it doesn’t crash and the behavior is not specified.
	* test/src/editfns-tests.el (format-with-field): Adjust tests to
	match current doc.  Add more tests for out-of-range fields.

2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>

	Improve performance by avoiding strtoumax

	This made (string-to-number "10") 20% faster on my old desktop,
	an AMD Phenom II X4 910e running Fedora 25 x86-64.
	* admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
	* m4/strtoumax.m4: Remove.
	* src/editfns.c (str2num): New function.
	(styled_format): Use it instead of strtoumax.  Use ptrdiff_t
	instead of uintmax_t.  Check for integer overflow.
	* src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
	Move to private scope and make them enums.
	(string_to_number): Compute integer value directly during
	first pass instead of revisiting it with strtoumax later.

2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>

	Minor improvements to format field numbers

	* src/editfns.c (styled_format): Allow field numbers in a %% spec.
	No need for a special diagnostic for field numbers greater than
	PTRDIFF_MAX.  Reword diagnostic for field 0.
	* test/src/editfns-tests.el (format-with-field): Adjust to match.

2017-06-02  Philipp Stephani  <phst@google.com>

	Implement field numbers in format strings

	A field number explicitly specifies the argument to be formatted.
	This is especially important for potential localization work, since
	grammars of various languages dictate different word orders.

	* src/editfns.c (Fformat): Update documentation.
	(styled_format): Implement field numbers.

	* doc/lispref/strings.texi (Formatting Strings): Document field numbers.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.

	* test/src/editfns-tests.el (format-with-field): New unit test.

2017-06-01  Alexander Gramiak  <agrambot@gmail.com>

	Limit scope of local overriding-terminal-local-map

	The function `binding' may call isearch-done, which globally sets
	overriding-terminal-local-map to nil (Bug#23007).
	* lisp/isearch.el (isearch-mouse-2): Don't bind
	overriding-terminal-local-map around the call to `binding'.

2017-06-01  Stephen Berman  <stephen.berman@gmx.net>

	Correct and isolate the todo-mode test environment

	This avoids having to set todo-mode variables globally in the test
	file and prevents any existing user todo-mode files from influencing
	the tests.

	* test/lisp/calendar/todo-mode-tests.el:
	(with-todo-test): New macro.
	(todo-test-todo-quit01, todo-test-todo-quit02)
	(todo-test-item-highlighting): Use it.

2017-06-01  Alan Third  <alan@idiocy.org>

	Fix build errors on macOS 10.6 (bug#27059)

	* src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.

2017-06-01  Eli Zaretskii  <eliz@gnu.org>

	Improve testing of octal and hex display of raw bytes

	* test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
	(test-redisplay-5): Add a test with a large codepoint.

2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>

	Add customizable to display raw bytes as hex

	* src/xdisp.c (get_next_display_element): Dispatch used format string
	for unprintables based on new display-raw-bytes-as-hex variable.
	(display-raw-bytes-as-hex): New variable.  (Bug#27122)

	* lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.

	* doc/emacs/display.texi: Document the new variable.
	* etc/NEWS: Mention display-raw-bytes-as-hex.

	* test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
	(test-redisplay-5): New tests.
	(test-redisplay): Call test-redisplay-5.

2017-06-01  Eli Zaretskii  <eliz@gnu.org>

	Revert "Add customizable to display raw bytes as hex"

	This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.

2017-06-01  Eli Zaretskii  <eliz@gnu.org>

	Add customizable to display raw bytes as hex

	* src/xdisp.c (get_next_display_element): Dispatch used format string
	for unprintables based on new display-raw-bytes-as-hex variable.
	(display-raw-bytes-as-hex): New variable.  (Bug#27122)

	* lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.

	* doc/emacs/display.texi: Document the new variable.
	* etc/NEWS: Mention display-raw-bytes-as-hex.

	* test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
	(test-redisplay-5): New tests.
	(test-redisplay): Call test-redisplay-5.

2017-06-01  Eli Zaretskii  <eliz@gnu.org>

	Fix linum under text-scaling when leuven-theme is used

	* etc/themes/leuven-theme.el (linum): Make the 'linum' face
	inherit from 'default' and 'shadow', so that margins are enlarged
	as expected under text-scaling.

2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	Free cwd when no longer needed

	* lib-src/emacsclient.c (main): Don’t dally when freeing cwd.

2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)

	Fix memory leak of cwd string in emacsclient (Bug#26628)

	* lib-src/emacsclient.c (main): emacsclient retrieves the current
	working directory using get_current_dir_name which returns a newly
	allocated string.  Make sure this string is freed before exiting.

2017-06-01  Glenn Morris  <rgm@gnu.org>

	Quieten compilation of some test files

	* test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
	* test/src/data-tests.el (binding-test-set-constant-t)
	(binding-test-set-constant-nil, binding-test-set-constant-keyword)
	(binding-test-set-constant-nil): Silence compiler.
	* test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.

2017-06-01  Glenn Morris  <rgm@gnu.org>

	Use true names for invocation- and source-directory

	* src/emacs.c (init_cmdargs) <Vinvocation_directory>:
	* src/lread.c (init_lread) <Vsource_directory>: Use true names.

2017-06-01  Glenn Morris  <rgm@gnu.org>

	Avoid elisp-mode test failures when source dir has multiple names

	* test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
	Use the true name of the directory.

2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug with "%%" in error format

	* src/doprnt.c (doprnt): Format "%%" correctly.
	Problem reported by Philipp Stephani in:
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html

2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	* src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).

2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>

	Revert mml-generate-mime-1 (bug#27141)

	* lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
	with slight modernizations (bug#27141).

2017-05-31  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#27108

	* lisp/recentf.el (recentf-load-list): Bind `non-essential',
	in order to avoid Tramp password requests during Emacs
	startup.  (Bug#27108)

2017-05-31  Glenn Morris  <rgm@gnu.org>

	* test/Makefile.in (.SECONDARY): Stop make deleting .elc files.

2017-05-31  Eli Zaretskii  <eliz@gnu.org>

	Document current-line hscrolling in ELisp manual

	* doc/lispref/windows.texi (Horizontal Scrolling): Document the
	new mode of auto-hscrolling only the current line.

2017-05-31  Eli Zaretskii  <eliz@gnu.org>

	Support lower bound on hscrolling when only current line scrolls

	* doc/emacs/display.texi (Horizontal Scrolling): Document the new
	mode of auto-hscrolling only the current line.

	* src/xdisp.c (init_iterator): When hscrolling only the
	current line, apply the	window's min_hscroll here, so that
	non-current lines will be hscrolled by that minimum.
	Suggested by Stephen Berman <stephen.berman@gmx.net>.
	(hscroll_window_tree): Account for window's min_hscroll when
	deciding whether to recompute the hscroll.
	(display_line): Subtract window's min_hscroll from x_incr, as that
	was already accounted for in init_iterator.  (Bug#27008)

2017-05-31  Noam Postavsky  <npostavs@gmail.com>

	cl-print: handle circular objects when `print-circle' is nil (Bug#27117)

	* lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
	(cl-print-object): When `print-circle' is nil, bind it to a list of
	objects that are currently printing to avoid printing the same object
	endlessly.
	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.

2017-05-31  Noam Postavsky  <npostavs@gmail.com>

	Further simplify test/Makefile, optionally load elc tests

	* test/Makefile.in: Use make's error ignoring feature instead of
	suppressing test errors with shell.  Compile test files in the main
	make invocation instead of a recursive 'make' call.  Optionally load
	.elc test files if TEST_LOAD_EL is set to something other than 'yes'.
	Remove obsolete commentary.

2017-05-31  Eli Zaretskii  <eliz@gnu.org>

	Avoid inflooping in redisplay due to Spacemacs and linum-mode

	* src/xdisp.c (redisplay_internal): Limit the number of redisplay
	retries when a frame becomes garbaged as result of redisplaying
	it.  (Bug#27115)

2017-05-31  Tino Calancha  <tino.calancha@gmail.com>

	* src/editfns.c (decode-time): Fix docstring.

2017-05-31  Glenn Morris  <rgm@gnu.org>

	* admin/update_autogen: Remove bzr support.

2017-05-31  Glenn Morris  <rgm@gnu.org>

	Avoid subr test failure when source dir has multiple names

	* test/lisp/subr-tests.el (subr-tests--this-file):
	Use the true name of the file.  The following test does a string
	comparison of this value with that from method-files, which uses
	load-history, which contains true names.

2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>

	Extract eldoc--supported-p

	* lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
	(turn-on-eldoc-mode, eldoc-mode): Use it.
	(https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)

2017-05-30  Glenn Morris  <rgm@gnu.org>

	Make "make check" less verbose by default

	* test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
	(am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
	(am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
	New, copied from lisp/Makefile.in.
	(%.elc, %.log): Simplify and quieten.

2017-05-30  Alan Mackenzie  <acm@muc.de>

	Mode line "%q" construct: Just use one number when both would be the same.

	* src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.

2017-05-30  Alan Mackenzie  <acm@muc.de>

	Merge branch 'master' of /home/acm/emacs/emacs.git/master

2017-05-30  Alan Mackenzie  <acm@muc.de>

	c-defun-name: Return fully qualified method names when wanted in C++, etc.

	* lisp/progmodes/cc-cmds.el (c-defun-name): Use
	c-back-over-compound-identifier in place of c-backward-token-2 near the end
	of the function.

2017-05-30  Glenn Morris  <rgm@gnu.org>

	Reduce scope of recent test/Makefile HOME change

	* test/Makefile.in (%.log): Move setting of HOME here from top-level.

2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	Skip .#* temporaries when finding sources

	Without this patch, ‘make check’ can fail with the diagnostic
	‘invalid syntax in conditional’ if there is an Emacs temporary
	file whose name starts with ‘.#’, because the ‘#’ is treated as
	the start of a Make comment.
	* lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
	* test/Makefile.in (ELFILES):
	Skip files starting with ‘.’, so that the .#* files do not cause
	trouble.  (We cannot easily skip just files starting with ‘.#’,
	since ‘#’ starts a Make comment!)

2017-05-30  Alan Mackenzie  <acm@muc.de>

	Merge branch 'master' of /home/acm/emacs/emacs.git/master

2017-05-30  Alan Mackenzie  <acm@muc.de>

	Fix the mouse help/key map on the "%p" part of the mode line.

	* lisp/bindings.el (mode-line-percent-position): give it a
	`risky-local-variable' property.
	(mode-line-position): correct the quoting on the mode-line-percent-position
	part of the variable, allowing the properties to be properly recognized.

2017-05-30  Alan Mackenzie  <acm@muc.de>

	Fix the mouse help/key map on the "%p" part of the mode line.

	* lisp/bindings.el (mode-line-percent-position): give it a
	`risky-local-variable' property.
	(mode-line-position): correct the quoting on the mode-line-percent-position
	part of the variable, allowing the properties to be properly recognized.

2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	* build-aux/config.guess: Copy from gnulib.
	* lib/gnulib.mk.in: Regenerate.

2017-05-30  Glenn Morris  <rgm@gnu.org>

	Stop make check interacting with HOME

	* test/Makefile.in (HOME): Export a non-existent value.

2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	Update .gitattributes to match sources better

	* .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
	algrthms.html.  Use pattern for todo-mode.  Improve patterns for
	Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
	Add config.guess and config.sub as shell files.

2017-05-30  Noam Postavsky  <npostavs@gmail.com>

	Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'

	* doc/emacs/cmdargs.texi (Initial Options):
	* doc/lispref/os.texi (Startup Summary):
	* etc/NEWS:
	* etc/emacs.service:
	* src/emacs.c (main):
	* src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
	'--bg-daemon'.

2017-05-30  Glenn Morris  <rgm@gnu.org>

	todo-mode: don't assume an ordering of tests

	* test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
	(todo-test-item-highlighting): Avoid prompting for input file.

2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	Improve .gdbinit Lisp value pretty-printing

	* src/.gdbinit (to_string): Use an unsigned representation for
	Lisp values, as requested by Eli Zaretskii (Bug#27098).
	Also, use "make_number(N)" for Lisp integers.

2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>

	Turn global-eldoc-mode into a globalized minor mode

	* lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
	Turn into globalized mode (bug#19853).
	(turn-on-eldoc-mode): Make it into a wrapper instead of alias.
	(eldoc-mode): Only show the message when called interactively.

2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>

	Use regexp matching instead of checking exit status

	* lisp/progmodes/xref.el (xref-collect-matches):
	See if the output buffer contents look like Grep output
	instead of checking exit status (bug#23451).

2017-05-29  Stephen Berman  <stephen.berman@gmx.net>

	Add initial tests for todo-mode.el

	*test/lisp/calendar/todo-mode-tests.el:
	*test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
	*test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.

	* .gitattributes: Ignore trailing whitespace in todo-mode test
	data files, since it is part of the todo-mode file format.

2017-05-29  Stephen Berman  <stephen.berman@gmx.net>

	Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)

	* lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
	replacing an anonymous function for the sake of `describe-variable'.
	(todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
	and remove boundp test of this variable, so its value is available on
	invoking `todo-toggle-item-highlighting'.

2017-05-29  Alan Third  <alan@idiocy.org>

	Fix build error on macOS 10.6

	* src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
	CGPoint.

2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)

	Comply with pep 8 style guide for backslash in assignment (Bug#24809)

	* lisp/progmodes/python.el (python-indent--calculate-indentation):
	Increase indent by `python-indent-offset' after
	`:after-backslash-assignment-continuation'.

2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>

	Add suggestion to docstring

	* lisp/subr.el (interactive-p): Mention commandp, as this is often
	  what users are actually looking for.

2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>

	Ensure button-get works in any buffer

	* lisp/button.el (button-get): Previously we assumed that button-get
	  was called in the buffer containing the button.  In other buffers,
	  button-get always returned nil.  Fix this by passing the relevant
	  buffer from the marker.

2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>

	Signal error if find-grep returns a nonzero status

	* lisp/progmodes/xref.el (xref-collect-matches): Signal error
	if find-grep returns a nonzero status (bug#23451).  Remove the
	comment: even if some output is present, a non-zero status
	means something went wrong and it can't be relied upon.

2017-05-29  Stephen Berman  <stephen.berman@gmx.net>

	Make sure exiting todo-mode buffer buries it (bug#27121)

	This failed due to commit ea3ae33b from 2013-05-16, which prevented
	quitting todo-mode buffer after visiting todo-archive buffer from
	making the archive buffer current again.  Avoid this now by simply
	killing the archive buffer, since there's no need to keep it a live
	buffer.  Consequently, quitting a todo-mode buffer can now use
	bury-buffer without an argument, which ensures that is will not
	becomes current on quitting the buffer that replaced it in the window.

	* lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
	buffer instead of burying it.  This now allows exiting the
	todo-mode buffer by bury-buffer without an argument, so do that.

2017-05-28  Michael Albinus  <michael.albinus@gmx.de>

	Some tweaks, almost all for Tramp adb method

	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
	Use `make-tramp-file-name'.
	(tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
	(tramp-adb-maybe-open-connection): Set "prompt" property.
	(tramp-adb-wait-for-output): Use it.

	* lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
	(tramp-dump-connection-properties): Check also that there are
	properties to be saved.  Don't save "started" property of
	"ftp" method.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
	Use `make-tramp-file-name'.

	* lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
	Host could be empty.
	(tramp-file-name-port-or-default): New defun.
	(tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
	(tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
	(tramp-call-process, tramp-call-process-region):
	Use `make-tramp-file-name'.

	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
	Revert change from 2017-05-24.
	(tramp-test05-expand-file-name-relative): Let it also pass for
	"adb" method.

2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>

	Fix Tramp for Android 7

	* lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
	Username part of prompt is empty on Android 7.
	(tramp-adb-ls-toolbox-regexp):
	Ignore addition links column on Android 7.
	(tramp-adb-get-ls-command):
	Don't use --color=none when using toybox (Android 7).  It's not
	possible to disable coloring explicitly for toybox ls.

2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)

	Fix cl-indent for `loop' with :keywords (Bug#15543)

	* lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
	":keywords".

2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	Depromiscuify inotify with IN_MASK_ADD

	Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
	mask.  This simplifies the code and restores the ability to
	use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
	in some cases (Bug#26973).
	* src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
	(Finotify_add_watch): Use IN_MASK_ADD instead.

2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	Restore inotify onlydir support

	There was no need to remove it in the 2017-03-26 inotify change,
	as it is like IN_DONT_FOLLOW and does not affect other watchers
	for the same file.
	* src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
	(syms_of_inotify): Bring back onlydir.

2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify computation of inotify mask

	* src/inotify.c (add_watch): Accept uint32_t imask instead
	of Lisp_Object aspect.  Caller changed.
	(Finotify_add_watch): Use aspect_to_inotifymask earlier, to
	simplify the code.

2017-05-27  Eli Zaretskii  <eliz@gnu.org>

	Improve the documentation of filesets

	* doc/emacs/files.texi (Filesets): Fix the description of
	fileset-init's effect on the menu bar.  (Bug#27015)

2017-05-27  Philipp Stephani  <phst@google.com>

	Don't attempt to recover from undefined behavior in some cases

	These functions can only be run in batch mode and exit Emacs on
	return, so nothing can be recovered.  Disable unsafe recover
	mechanisms so that we get real failures and good stack traces on
	fatal signals.

	* lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
	(batch-byte-recompile-directory):
	* lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
	(ert-summarize-tests-batch-and-exit): Don't attempt to recover
	from undefined behavior.

2017-05-27  Philipp Stephani  <phst@google.com>

	Avoid another compiler warning on macOS

	When configured with --without-ns, HAVE_NS is not defined on macOS,
	thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
	by using the pre-defined __APPLE__ preprocessor macro.

	* src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.

2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>

	Fix ruler-mode text-scaling issues

	* lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
	for computing scaled text width.
	(ruler-mode-text-scaled-window-hscroll)
	(ruler-mode-text-scaled-window-width): Compute text scaled
	`window-width' value.
	(ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
	(ruler-mode-ruler): Change `window-hscroll' into
	`ruler-mode-text-scaled-window-hscroll', and change `window-width'
	into `ruler-mode-text-scaled-window-width'.

2017-05-27  Martin Rudalics  <rudalics@gmx.at>

	Minor doc and doc-string fixes (Bug#27091)

	* src/window.c (Fset_window_scroll_bars): Fix doc-string.

	* doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
	(Display Margins): Mention that `set-window-buffer' may override
	settings made by `set-window-fringes', `set-window-scroll-bars'
	and `set-window-margins'.
	* doc/lispref/windows.texi (Buffers and Windows): Fix doc of
	`set-window-buffer'.

2017-05-27  Eli Zaretskii  <eliz@gnu.org>

	Avoid args-out-of-range errors on fringe clicks after "C-h k"

	* src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
	message is already shorter than NCHARS.  (Bug#27040)

2017-05-27  Eli Zaretskii  <eliz@gnu.org>

	Fix GUD "Stop" display when running pdb

	* lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
	when GUD mode is 'pdb'.  (Bug#27024)

2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Support drag and drop of region by mouse (Bug#26725)

	* doc/emacs/frames.texi (Drag and Drop): Document support of drag
	and drop region by mouse.
	* lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
	when start-event is on region.
	(mouse-drag-and-drop-region): New function, moves the region by
	(mouse-drag-and-drop-region): New defcustom.
	* etc/NEWS: Mention mouse-drag-and-drop-region.

2017-05-27  Noam Postavsky  <npostavs@gmail.com>

	* lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.

2017-05-27  Alan Third  <alan@idiocy.org>

	Check if instancetype supported in ObjC

	* configure.ac: Add check for instancetype.
	* src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.

2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>

	Mark keywordp as a safe, error-free function

	* lisp/emacs-lisp/byte-opt.el: Add keywordp to
	  side-effect-and-error-free-fns.

2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	* src/inotify.c: Add FIXME comments.

2017-05-26  Andreas Politz  <politza@hochschule-trier.de>

	Fix Bug#26973

	* src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
	and CLOSE events on order do let other processes also reading
	from their descriptors.  (Bug#26973).

2017-05-26  Michael Albinus  <michael.albinus@gmx.de>

	Remove Emacs 23 compat code from Tramp

	* doc/misc/tramp.texi (Remote processes): Don't mention
	Emacs 24 explicitly.
	(Frequently Asked Questions): Remove Emacs 23 from
	compatibility list.

	* lisp/net/tramp.el:
	* lisp/net/tramp-adb.el:
	* lisp/net/tramp-cache.el:
	* lisp/net/tramp-gvfs.el:
	* lisp/net/tramp-sh.el:
	* lisp/net/tramp-smb.el: Replace compat function calls.

	* lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
	(tramp-compat-condition-case-unless-debug)
	(tramp-compat-copy-file, tramp-compat-copy-directory)
	(tramp-compat-delete-file, tramp-compat-delete-directory)
	(tramp-compat-process-live-p): Remove them.

	* lisp/net/trampver.el: Make version check fit for Emacs 24.

2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>

	Work for application/x-tar-gz and image/svg+xml

	;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
	;; of bug#27078 in the Emacs bug list using Gnus.

	* lisp/gnus/mm-archive.el (mm-archive-decoders):
	Add a decoder for application/x-tar-gz.
	(mm-dissect-archive): Error out if a decoder is not found.

	* lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.

2017-05-26  Tino Calancha  <tino.calancha@gmail.com>

	test-calc-23889: Skip test on 32-bit platforms

	This test fails on some 32-bit platforms as mentioned in
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
	* test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
	the Lisp integer is not big enough.

2017-05-25  Alan Third  <alan@idiocy.org>

	Fix NS tooltips showing in the wrong place (bug#27053)

	* src/nsfns.m (compute_tip_xy): Get current mouse position instead of
	last recorded position.

2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	lisp/net/soap-client.el: Bump version to 3.1.2

	* lisp/net/soap-client.el: Bump version to 3.1.2.

2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	Fix soap-inspect.el doc strings

	* lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
	string.
	(soap-inspect-xs-attribute-group): Likewise.

2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	Fix two soap-client.el byte compilation warnings

	* lisp/net/soap-client.el (url-http-response-status): Add defvar.
	(soap-fetch-xml-from-url): Remove special declaration of
	url-http-response-status.
	(soap-invoke-internal): Likewise.

2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	lisp/net/soap-client.el: Require cl-lib version 0.6.1

	* lisp/net/soap-client.el: Require cl-lib version 0.6.1.

2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
	    Stefan Monnier  <monnier@iro.umontreal.ca>

	lisp/net/soap-client.el: Shorten some long lines

	* lisp/net/soap-client.el (soap-encode-xs-element): Remove
	unnecessary progn.
	(soap-xs-add-union): Wrap long line.

2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
	    Stefan Monnier  <monnier@iro.umontreal.ca>

	Remove cl dependency in soap-client.el and soap-inspect.el

	* lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
	with cl-case, destructuring-bind with cl-destructuring-bind and
	loop with cl-loop.

	* lisp/net/soap-client.el: Replace cl library with cl-lib,
	defstruct with cl-defstruct, assert with cl-assert, case with
	cl-case, ecase with cl-ecase, loop with cl-loop and
	destructuring-bind with cl-destructuring-bind.

2017-05-25  Michael Albinus  <michael.albinus@gmx.de>

	Switch Tramp to cl-lib

	* lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.

	* lisp/net/tramp-ftp.el: Don't require cl.

	* lisp/net/tramp-gvfs.el: Don't require cl.
	(tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-connection-mounted-p): Use `cl-*' macros.

	* lisp/net/tramp-sh.el: Don't require cl.
	(tramp-set-file-uid-gid): Use `shell-quote-argument'.
	(tramp-sh-gvfs-monitor-dir-process-filter)
	(tramp-sh-inotifywait-process-filter): Use `cl-*' macros.

	* lisp/net/tramp-smb.el: Don't require cl.
	(tramp-smb-read-file-entry): Use `cl-*' macros.

	* lisp/net/tramp.el (cl-lib): Require it rather than cl.
	(tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
	(tramp-parse-passwd, tramp-parse-etc-group)
	(tramp-parse-putty): Use `cl-*' macros.

2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>

	* CONTRIBUTE: Suggest autogen.sh's 'all' operand.

2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>

	Port ATTRIBUTE_MAY_ALIAS to recent icc

	* src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
	Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
	“warning #2621: attribute "__may_alias__" does not apply here”
	for constructs like ‘struct sockaddr *sa = (whatever);
	struct sockaddr_in __attribute__ ((__may_alias__)) *sin
	= (struct sockaddr_in *) sa;’.

2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-05-25 port to recent icc
	* lib/intprops.h: Copy from gnulib.

2017-05-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix Tramp for python.el

	* lisp/net/tramp.el (tramp-get-connection-process): Check,
	that VEC is a `tramp-file-name' structure.

2017-05-24  Alan Third  <alan@idiocy.org>

	Raise version of macOS we define instancetype for (bug#27059)

	* src/nsterm.m: Increase supported version number.

2017-05-24  Alan Third  <alan@idiocy.org>

	Define new types on macOS 10.6 (bug#27041)

	* src/nsterm.h: Enable instancetype typedef for older macOS, and use
	correct NSUInteger instead of int.

2017-05-24  Glenn Morris  <rgm@gnu.org>

	Don't autoload new dns-mode command

	* lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
	Remove autoload cookie.

2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)

	(sxhash_vector): Make it work on pseudo vectors as well.
	(sxhash): Treat records like vectors.

2017-05-24  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-tests.el according to new defstruct

	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
	Fix test according to new defstruct.
	(tramp-test29-environment-variables-and-port-numbers):
	Expect it now as passed.  Cleanup at the end.

2017-05-24  Michael Albinus  <michael.albinus@gmx.de>

	Introduce a defstruct `tramp-file-name' as central data structure.

	This solves also Bug#27009.

	* lisp/net/tramp.el (tramp-current-domain)
	(tramp-current-port): New defvars.
	(tramp-file-name): New defstruct.
	(tramp-file-name-user-domain, tramp-file-name-host-port)
	(tramp-file-name-equal-p): New defuns.
	(tramp-file-name-p, tramp-file-name-method)
	(tramp-file-name-user, tramp-file-name-host)
	(tramp-file-name-localname, tramp-file-name-hop)
	(tramp-file-name-real-user, tramp-file-name-domain)
	(tramp-file-name-real-host, tramp-file-name-port):
	Remove defuns.  They are provided by the defstruct, or not
	needed anymore.
	(tramp-dissect-file-name, tramp-buffer-name)
	(tramp-make-tramp-file-name, tramp-get-buffer)
	(tramp-set-connection-local-variables)
	(tramp-debug-buffer-name, tramp-message)
	(tramp-error-with-buffer, with-parsed-tramp-file-name)
	(tramp-completion-dissect-file-name1)
	(tramp-handle-file-name-as-directory)
	(tramp-handle-file-name-directory)
	(tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
	(tramp-handle-find-backup-file-name)
	(tramp-handle-insert-file-contents, tramp-process-actions)
	(tramp-check-cached-permissions, tramp-local-host-p)
	(tramp-get-remote-tmpdir, tramp-call-process)
	(tramp-call-process-region, tramp-read-passwd)
	(tramp-clear-passwd):
	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
	(tramp-adb-handle-expand-file-name)
	(tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
	(tramp-adb-handle-process-file)
	(tramp-adb-maybe-open-connection):
	* lisp/net/tramp-cache.el (tramp-get-hash-table)
	(tramp-get-file-property, tramp-set-file-property)
	(tramp-flush-file-property, tramp-flush-directory-property)
	(tramp-get-connection-property)
	(tramp-set-connection-property, tramp-connection-property-p)
	(tramp-flush-connection-property, tramp-cache-print)
	(tramp-list-connections, tramp-dump-connection-properties)
	(tramp-parse-connection-properties):
	* lisp/net/tramp-cmds.el (tramp-cleanup-connection):
	* lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
	(tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
	(tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
	(tramp-gvfs-get-remote-gid)
	(tramp-gvfs-maybe-open-connection):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
	(tramp-do-copy-or-rename-file-out-of-band)
	(tramp-sh-handle-expand-file-name)
	(tramp-sh-handle-start-file-process)
	(tramp-sh-handle-process-file, tramp-compute-multi-hops)
	(tramp-maybe-open-connection)
	(tramp-make-copy-program-file-name, tramp-get-remote-path)
	(tramp-get-inline-coding):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-expand-file-name)
	(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
	(tramp-smb-handle-set-file-acl)
	(tramp-smb-maybe-open-connection): Adapt according to defstruct.

2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>

	Fix and improve UI of scroll bar menu (bug#27047)

	In addition, since the Emacs manual writes "scroll bar", "tool
	bar" and "menu bar", use this convention in the Show/Hide menus
	and tooltips as well.

	* lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
	pressing a radio button in the menu actually show that it was
	pressed.  Replace the two radio buttons to turn the horizontal
	scroll bar on and off with a single check-box toggle and add a
	separator between this and the vertical scroll bar radio
	buttons.  Use conventional spelling.
	(menu-bar-horizontal-scroll-bar)
	(menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
	(menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
	(menu-bar-mode): Use conventional spelling.

2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>

	Remove string-as-unibyte

	* lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
	(canlock-make-cancel-key): No need to use string-as-unibyte.

2017-05-24  Tino Calancha  <tino.calancha@gmail.com>

	Fix concatenation of "^" with diff-file-junk-re

	This regexp contains "\\|", thus a concatenation
	of "^" with it just matches the beginning of line for the
	first alternative in diff-file-junk-re.
	* lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
	diff-file-junk-re wrapped in a shy group.

2017-05-24  Glenn Morris  <rgm@gnu.org>

	Suppress intermittent test failure on hydra

	* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
	(eieio-test-37-obsolete-name-in-constructor): Skip on hydra.

2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>

	New dns-mode command for IPv6 address conversion

	This converts IPv6 addresses to a format suitable for
	reverse lookup zone files.  (Bug#26820)
	* lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
	Add dns-mode-ipv6-to-nibbles.
	(dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
	New functions.
	* test/lisp/dns-mode-tests.el: New file.

2017-05-24  Noam Postavsky  <npostavs@gmail.com>

	Protect *Backtrace* from being killed (Bug#26650)

	* lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
	`kill-buffer-hook'.

2017-05-24  Noam Postavsky  <npostavs@gmail.com>

	Give a name to lisp-mode's adaptive-fill-function (Bug#22730)

	* lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
	(lisp-mode-variables): Use it.

2017-05-23  Philipp Stephani  <phst@google.com>

	vc-hg.el: Silence byte compiler warning

	* lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.

2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>

	Don't warn about missing branches on macOS

	On macOS, removing -Wmissing-braces is not enough; the warning has to
	be disabled explicitly.

2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>

	Don't treat ' as a string delimiter in RPM spec files

	' is commonly used as an apostrophe in the prose sections of spec
	files, which was erroneously highlighted as strings. See for example
	https://kmymoney2.sourceforge.net/phb/rpm-example.html

	* lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
	  punctuation in RPM spec files.

2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.

	(common-lisp-indent-function-1): Remove unused var `last-point`.
	(lisp-indent-error-function): Move defvar before first use.

2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.

	* lisp/international/utf7.el: Don't require CL.  Use lexical-binding.

	* lisp/net/shr.el: Use cl-lib instead of cl.

2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`

	* test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
	(binding-test-makunbound, data-tests-varalias-watchers)
	(data-tests-local-variable-watchers): Silence compiler warnings.

2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.

2017-05-23  Alan Third  <alan@idiocy.org>

	Fix GNUstep build

	* src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
	(NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
	GNUstep and old versions of macOS.
	* src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
	works in cocoa, not GNUstep.

2017-05-23  Michael Albinus  <michael.albinus@gmx.de>

	Add test for Bug#27009 in tramp-tests.el

	* lisp/net/tramp-sh.el (tramp-compute-multi-hops):
	Check `tramp-file-name-real-host' for being a local host.

	* lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.

	* test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
	Declare default host for mock method.
	(tramp-test29-environment-variables-and-port-numbers): New test.

2017-05-23  Glenn Morris  <rgm@gnu.org>

	Don't advertise s_client in tls.el docs

	* lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
	Don't mention s_client in docs.

	(cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)

2017-05-23  Rob Browning  <rlb@defaultvalue.org>

	Remove s_client usage from tls.el

	* lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
	Ref https://bugs.debian.org/766397
	https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html


	(cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)

2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.

2017-05-22  Sam Steingold  <sds@gnu.org>

	Fix "g" in hg&git push&pull buffers

	lisp/vc/vc-git.el (vc-git--pushpull): Set locally
	`compilation-directory' and `compilation-arguments'.
	lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.

2017-05-22  Eli Zaretskii  <eliz@gnu.org>

	Fix current-line hscrolling in buffers with header-line

	* src/xdisp.c (display_line): When testing the glyph row's
	vertical position against the cursor position, account for header
	line, if any.  (Bug#27014)

2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning

	(rfc2047-decode-encoded-words): Use dolist.
	(rfc2047-decode-string): Avoid string-to-multibyte.
	(rfc2047-pad-base64): Use pcase.

2017-05-21  Dima Kogan  <dima@secretsauce.net>

	Make ff-find-other-file symmetric for C++ (Bug#20192)

	`cc-other-file-alist' has a mapping of file extensions to switch
	between headers and sources, but the mappings weren't completely
	symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
	to .cpp.

	* lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
	C++ extensions to make them symmetric with the C++ extensions that map
	to them.  This lets repeated invocations of `ff-find-other-file'
	toggle between all pairs of sources/headers.

2017-05-21  Philipp Stephani  <phst@google.com>

	Fix definition of whitespace in JSON

	See
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.

	* lisp/json.el (json-skip-whitespace): Fix definition.
	* test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
	test.

2017-05-21  Philipp Stephani  <phst@google.com>

	Improve module function terminology

	Module functions were previously called "function environments" when
	the functions created by module_make_functions were lambdas.  Now we
	can adapt the terminology and rename "function environments" to
	"module functions" everywhere.  This also removes the name clash
	between "function environments" and "module environments."

	* src/emacs-module.c (module_make_function): Adapt comment to reality;
	stop using "function environment" terminology.
	(funcall_module): Stop using "function environment" terminology.

2017-05-21  Philipp Stephani  <phst@google.com>

	Avoid uninitialized read

	* src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.

2017-05-21  Philipp Stephani  <phst@google.com>

	Fix call of registerServicesMenuSendTypes

	* src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
	returnTypes; pass an empty array instead.

2017-05-21  Philipp Stephani  <phst@google.com>

	Clean up code around 'ns-list-services'

	* src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
	branch NS_IMPL_COCOA cannot be defined.
	(interpret_services_menu): Define only if called to avoid compiler
	warnings about unused static functions.

2017-05-21  Philipp Stephani  <phst@google.com>

	Remove unused automatic variables

	* src/nsterm.m (ns_read_socket):
	* src/macfont.m (macfont_open): Remove unused automatic variables.

2017-05-21  Philipp Stephani  <phst@google.com>

	Nextstep: Replace deprecated enumerators

	* src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
	deprecated enumerator.

2017-05-21  Philipp Stephani  <phst@google.com>

	Nextstep: remove some deprecated method calls

	* src/nsterm.m (mouseDown:):
	* src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
	deprecated method.  The return value is always nil.
	* src/macfont.m (mac_font_shape_1): Replace call to deprecated method.

2017-05-21  Philipp Stephani  <phst@google.com>

	Remove trailing semicolons in method definitions

	These semicolons are ignored and cause compiler warnings.

	* src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
	* src/nsterm.m (init, updateFrameSize:):
	(setFrame:): Remove trailing semicolon.

2017-05-21  Philipp Stephani  <phst@google.com>

	Remove calls to deprecated setUsesScreenFonts

	* src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
	(mac_font_shape_1): Remove screen_font_p parameter.
	(mac_screen_font_shape): Remove screen_font_p argument.

2017-05-21  Philipp Stephani  <phst@google.com>

	Make a function static that isn't used outside this file

	* src/kqueue.c (kqueue_directory_listing): Make static.

2017-05-21  Philipp Stephani  <phst@google.com>

	Use NSCharacterCollection instead of CTCharacterCollection

	This should not cause behavior changes, but fixes a compiler warning
	due to implicit conversions between the enums.

	* src/macfont.m (macfont_cache, macfont_lookup_cache)
	(macfont_get_glyph_for_cid, macfont_get_uvs_table)
	(macfont_variation_glyphs): Use NSCharacterCollection.

2017-05-21  Philipp Stephani  <phst@google.com>

	Remove unused function print_regions

2017-05-21  Philipp Stephani  <phst@google.com>

	Declare Nextstep unexec functions in lisp.h

	This removes compiler warnings about missing prototypes on macOS.

2017-05-21  Philipp Stephani  <phst@google.com>

	Nextstep: Use instancetype explicit return type

	This removes compiler warnings on macOS and improves type safety.

	* src/nsterm.m (initFrameFromEmacs:):
	(menuDown:):
	(toolbarClicked:):
	(toggleToolbar:):
	(setMiniwindowImage:):
	(initFrame:window:):
	(condemn, reprieve, setPosition:portion:whole:):
	(repeatScroll:):
	* src/nsmenu.m (initWithTitle:):
	(initWithTitle:frame:):
	(initForView:withIdentifier:):
	(init, initWithContentRect:styleMask:backing:defer:):
	(initFromContents:isQuestion:):
	* src/nsimage.m (allocInitFromFile:):
	(initFromXBM:width:height:fg:bg:):
	(setXBMColor:):
	(initForXPMWithDepth:width:height:): Use instancetype as return
	type instead of implicit id.

2017-05-21  Tino Calancha  <tino.calancha@gmail.com>

	* lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.

2017-05-21  Alan Mackenzie  <acm@muc.de>

	Enhance mode-line percentage offset facility, with "%o" and "%q"

	"%o" will display the percentage "travel" of the window through the buffer.
	"%q" will display a combination of the percentage offsets of the top and
	bottom of the window.  The new user option mode-line-percent-position will
	facilitate selecting a setting for this part of the mode line.

	* lisp/bindings.el (mode-line-percent-position): New customizable user option.
	(mode-line-position): Use mode-line-percent-position in place of "%p", etc.

	* src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".

	* doc/lispref/modes.texi (Mode Line Variables): Document
	mode-line-percent-position.
	(%-Constructs): Document %o and %q.

	* etc/NEWS: Add an entry for these new facilities.

2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	Work around macOS bug in create_process, too

	* src/process.c (create_process) [DARWIN_OS]:
	Reset SIGCHLD after vfork here, too.

2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	Work around macOS bug with vforked child

	* src/callproc.c (call_process) [DARWIN_OS]:
	Include workaround for apparent macOS bug.

2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify --enable-gcc-warnings without modules

	* src/print.c (print_vectorlike): New function, taken from
	part of print_object.  This one is indented properly, and
	pacifies --enable-gcc-warnings by using a default case
	instead of listing all the enum values, sometimes
	incompletely.
	(print_object): Use it.

2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	Remove DARWIN_OS_CASE_SENSITIVE_FIXME code

	It does not appear to be needed (Bug#24441).
	* etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
	* src/fileio.c (file_name_case_insensitive_p):
	Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.

2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice

	* etc/PROBLEMS: Document this (Bug#24441).
	* src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
	with _PC_CASE_SENSITIVE, if it works, to
	DARWIN_OS_CASE_SENSITIVE_FIXME code.
	Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
	which matches the Apple documentation more precisely.

2017-05-21  Tom Tromey  <tom@tromey.com>

	Fix mhtml-mode fontification bug

	Bug#26922
	* lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
	sgml-syntax-propertize-inside if not in a submode.
	* test/manual/indent/html-multi-4.html: New file.

2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)

	Fix ido-enable-dot-prefix for empty choice (Bug#26997)

	* lisp/ido.el (ido-set-matches-1): Only check first character of
	item if it's non-empty.

2017-05-21  Ari Roponen  <ari.roponen@gmail.com>

	* lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)

2017-05-21  Glenn Morris  <rgm@gnu.org>

	Prevent loading vc-bzr writing to ~/.bzr.log

	* lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.

2017-05-21  Glenn Morris  <rgm@gnu.org>

	Prevent running vc-tests writing to ~/.bzr.log

	* test/lisp/vc/vc-tests.el (vc-test--create-repo)
	(vc-test--register, vc-test--working-revision)
	(vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.

2017-05-21  Noam Postavsky  <npostavs@gmail.com>

	Don't end non-hook variable with "-hook" (Bug#26623)

	* lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
	follow-inside-post-command-hook, update uses.

2017-05-21  Charles A. Roelli  <charles@aurox.ch>

	Fix macOS mouse movement

	* lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
	function (Lisp).
	(set-mouse-absolute-pixel-position): Change it to call
	`ns-set-mouse-absolute-pixel-position' on macOS.
	* src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
	function.
	* src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
	screen's height as a base for calculating global coordinates.
	* src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
	* test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
	movement of mouse relative to frame.

2017-05-21  Alan Third  <alan@idiocy.org>

	Show tooltip on correct screen (bug#26905)

	* src/nsfns.m (compute_tip_xy): Find the correct screen for the
	tooltip and constrain it to that screen.

2017-05-21  Andreas Politz  <politza@hochschule-trier.de>

	Don't save unrelated buffers before recompiling directory (Bug#25964)

	* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
	buffers visiting lisp files under the directory being compiled.

2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	Minor fixes for arity ranges in emacs modules

	* src/emacs-module.c (module_make_function):
	Check that arities fit into fixnums, for func-arity’s benefit.
	(funcall_module): Avoid unnecessary conversion to EMACS_INT.
	(module_function_arity): Allow arities greater than SHRT_MAX.

2017-05-20  Philipp Stephani  <phst@google.com>

	Reimplement module functions

	Instead of a lambda, create a new type containing all data required to
	call the function, and support it in the evaluator.  Because this type
	now also needs to store the function documentation, it is too big for
	Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
	that we don't have to add special support to the garbage collector.

	Since the new type is user-visible, give it a predicate.

	Now we can easily support 'help-function-args' and 'func-arity'; add
	unit tests for these.

	* src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
	(XMODULE_FUNCTION): New pseudovector type 'module function'.

	* src/eval.c (FUNCTIONP): Also treat module functions as functions.
	(funcall_lambda, Ffuncall, eval_sub): Add support for calling module
	functions.
	(Ffunc_arity): Add support for detecting the arity of module
	functions.

	* src/emacs-module.c (module_make_function): Adapt to new structure.
	Return module function object directly instead of wrapping it in a
	lambda; remove FIXME.
	(funcall_module): New function to call module functions.  Replaces
	`internal--module-call' and is called directly from eval.c.
	(syms_of_module): Remove internal helper function, which is no longer
	needed.
	(module_function_arity): New helper function.

	* src/data.c (Ftype_of): Adapt to new implementation.
	(Fmodule_function_p, syms_of_data): New user-visible function.  Now
	that module functions are first-class objects, they deserve a
	predicate.  Define it even if not compiled with --enable-modules so
	that Lisp code doesn't have to check for the function's existence.

	* src/doc.c (Fdocumentation): Support module functions.

	* src/print.c (print_object): Adapt to new implementation.

	* src/alloc.c (mark_object): Specialized garbage collector support is
	no longer needed.

	* lisp/help.el (help-function-arglist): Support module functions.
	While there, simplify the arity calculation by using `func-arity',
	which does the right thing for all kinds of functions.

	* test/data/emacs-module/mod-test.c: Amend docstring so we can test
	the argument list.

	* test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
	new docstring.
	(mod-test-non-local-exit-signal-test): Because `internal--module-call'
	is gone, the backtrace has changed and no longer leaks the
	implementation.
	(module--func-arity): New test for `func-arity'.
	(module--help-function-arglist): New test for `help-function-arglist'.

2017-05-20  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes in GC due to unescaped characters warning

	* src/lread.c (load_warn_unescaped_character_literals): Don't cons
	Lisp objects from stack-based variables.  (Bug#26961)

2017-05-20  Charles A. Roelli  <charles@aurox.ch>

	New commands: find-library-other-window, find-library-other-frame

	* lisp/emacs-lisp/find-func.el (find-library-other-window)
	(find-library-other-frame): New commands to complement the
	existing 'find-library' command.  (Bug#26712)
	(read-library-name): New function to read a library name.
	* etc/NEWS: Mention 'find-library-other-window' and
	'find-library-other-frame'.

2017-05-20  Eli Zaretskii  <eliz@gnu.org>

	Fix automatic hscrolling of only the current line

	* src/xdisp.c (display_line): When hscrolling only the current
	line, increment iterator's first_visible_x and last_visible_x
	values to account for the hscroll.  This propagates the hscroll
	effect on the iterator geometry all the way down to the
	subroutines called by display_line, and avoids scrolling bugs
	under large hscroll values.  (Bug#26994)

2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	Add handlerlist assertion to module code

	* src/emacs-module.c (module_reset_handlerlist):
	Check handlerlist.  Suggested by Philipp Stephani in:
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html

2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	Port --enable-gcc-warnings to clang 3.9.1

	* configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
	to shut off a false alarm.  Problem reportd by Philipp Stephani in:
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html

2017-05-20  Noam Postavsky  <npostavs@gmail.com>

	Limit integers printed as characters (Bug#16828)

	* lisp/simple.el (eval-expression-print-maximum-character): New
	variable.
	(eval-expression-print-format): Only display value as character if
	it's less than or equal to `eval-expression-print-maximum-character'.
	(eval-expression-get-print-arguments): Check
	eval-expression-print-maximum-character, allow negative arg to
	override it.
	(eval-expression):
	* lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
	(elisp--eval-last-sexp-print-value): Handle new variable.
	* doc/emacs/building.texi (Lisp Eval): Document new variable and
	behavior.
	* etc/NEWS: Announce it.
	* test/lisp/progmodes/elisp-mode-tests.el
	(eval-last-sexp-print-format-small-int)
	(eval-last-sexp-print-format-small-int-echo)
	(eval-last-sexp-print-format-large-int)
	(eval-last-sexp-print-format-large-int-echo):
	* test/lisp/simple-tests.el (eval-expression-print-format-small-int)
	(eval-expression-print-format-small-int-echo)
	(eval-expression-print-format-large-int)
	(eval-expression-print-format-large-int-echo): New tests.

2017-05-20  Noam Postavsky  <npostavs@gmail.com>

	Refactor lisp eval result printing

	* lisp/simple.el (eval-expression-print-format): Don't check
	`standard-output' or `current-prefix-arg'.
	(eval-expression-get-print-arguments): New function, centralizes
	decision about how to print results of `eval-expression' and
	`eval-last-sexp'.
	(eval-expression):
	* lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
	Use it.

2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Check that signed right shift is arithmetic

	* src/data.c (ash_lsh_impl): Verify that signed right shift is
	arithmetic; if we run across a compiler that uses a logical shift
	we’ll need to complicate the code before removing this
	compile-time check.  Help the compiler do common subexpression
	elimination better.

2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Minor .gitignore fixes

	* .gitignore: modules/mod-test/Makefile was renamed to
	test/data/emacs-module/Makefile.
	Omit [0-9]*.core, subsumed by *.core.
	test/indent/*.new was renamed to test/manual/indent/*.new.
	Add *.swp, for Vim.

2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings

2017-05-19  Eli Zaretskii  <eliz@gnu.org>

	Describe problems with Microsoft Intellipoint

	* etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
	mouse-2 events.  For the details, see
	https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.

2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)

	Fix turning off whitespace-mode

	* lisp/whitespace.el (whitespace-display-char-on): Correct the way
	the original buffer-display-table is saved and restored when
	global-whitespace-mode is active.  (Bug#26892)

	* test/lisp/whitespace-tests.el
	(whitespace-tests-whitespace-mode-on): New function.
	(whitespace-tests-display-tables): New test.

2017-05-19  Michael Albinus  <michael.albinus@gmx.de>

	Minor tweaks in tramp-tests.el

	* test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
	(tramp-test05-expand-file-name-relative): Use it.
	(tramp-test38-unload): Run only in batch mode.

2017-05-19  Michael Albinus  <michael.albinus@gmx.de>

	Fix a problem with OpenSSH 7 in Tramp

	* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
	"ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.

2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>

	Improve documentation of 'split-string'

	* doc/lispref/strings.texi (Creating Strings): Rearrange text to
	make it more readable.  (Bug#26925)

2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>

	Fix typos in doc strings

	* lisp/mail/rfc2231.el (rfc2231-encode-string):
	* lisp/mail/rfc2047.el (rfc2047-encode-parameter):
	* lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
	strings.  (Bug#26103)

2017-05-19  Philipp Stephani  <phst@google.com>

	Fix module tests on some systems

	If dladdr(3) isn't available or didn't work, the printed
	representation of a module function will not include the file name,
	but only the address.  Make the tests pass in that case.

	* test/src/emacs-module-tests.el (module-function-object): Fix match for
	module function printed representation

2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>

	Add an optional arguments to string-trim

	* lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
	(string-trim): Add optional args that serve as defaults per the
	original behavior.  (Bug#26908)

2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>

	Fix typo in last change to auto-hscroll-mode

	* lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.

2017-05-19  Eli Zaretskii  <eliz@gnu.org>

	Support remote editing in emacsclient via Tramp

	* lib-src/emacsclient.c (main, decode_options)
	(print_help_and_exit, longopts): New option '--tramp' / '-T' which
	specifies how emacs should use tramp to find remote files.

	* doc/emacs/misc.texi (TCP Emacs server): New subsection describing
	the various knobs to tune server.el for TCP operation.
	(emacsclient Options): Reference "TCP Emacs server" from description of
	--server-file.  Document the new '--tramp' / '-T' options.
	* doc/emacs/emacs.texi (Top): Update the top-level menu.

	* etc/NEWS: Mention the new option.

2017-05-19  Eli Zaretskii  <eliz@gnu.org>

	* lisp/replace.el (query-replace-regexp-eval): Doc fix.

2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Attempt to work around macOS vfork bug

	Problem reported by YAMAMOTO Mitsuharu in:
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
	This is related to the fix for Bug#26397.
	* src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
	Report internal error if wait_for_termination fails.
	* src/sysdep.c (get_child_status): Return -1 if waitpid is
	buggy, instead of aborting.
	(wait_for_termination): Return bool success value.
	All callers changed.

2017-05-19  Eli Zaretskii  <eliz@gnu.org>

	Adjust defcustom form for 'auto-hscroll-mode'

	* lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
	defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.

2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm

	* src/fileio.c (file_name_case_insensitive_p):
	Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
	code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
	Problem reported by Philipp Stephani in:
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html

2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Port --enable-gcc-warnings to clang 3.9.1

	* configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
	Problem reported by Philipp Stephani in:
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html

2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Clean up compiler warning in emacs-module.c

	* src/emacs-module.c (MODULE_SETJMP_1): Use the local var
	instead of leaving it unused, to pacify picky compilers.
	(module_reset_handlerlist): Now takes a dummy pointer to a struct
	handler *, instead of a dummy pointer to an int.  All uses changed.

2017-05-19  Philipp Stephani  <phst@google.com>

	Clean up some compiler warnings

	* src/sysdep.c (system_process_attributes) [DARWIN_OS]:
	Remove unused locals.

2017-05-18  Eli Zaretskii  <eliz@gnu.org>

	Support hscrolling only the current line

	* src/xdisp.c (hscrolling_current_line_p): New function.
	(init_iterator): If auto-hscrolling just the current line, don't
	increment the iterator's first_visible_x and last_visible_x
	variables.
	(hscroll_window_tree): Recompute window's hscroll when moving
	vertically to another screen line.
	(redisplay_window): If we are hscrolling only the current line,
	disable the optimizations that rely on the current matrix being
	up-to-date.
	(display_line): Accept an additional argument CURSOR_VPOS, the
	vertical position of the current screen line which might need
	hscrolling; all callers changed.  Compute first_visible_x and
	last_visible_x specially when auto-hscrolling current line, by
	repeating the calculation that is done in init_iterator in other
	modes.
	(syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
	accept a 3rd value 'current-line, to turn on the mode where
	only the current line is hscrolled.

	* etc/NEWS: Mention the new auto-hscroll-mode value.

2017-05-18  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in line-move-finish

	* lisp/simple.el (line-move-finish): Fix last change.  This corrects a
	regression in C-n and C-p when lines are truncated, introduced by the
	change in 2017-05-10.

2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>

	Expand docstring for CSS mode

	* lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
	Expand docstrings.

2017-05-18  Tino Calancha  <tino.calancha@gmail.com>

	Use the expression angle units while simplifying it

	Don't use the angle mode, use the angle units included
	in the expression instead (Bug#23889).
	* lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
	(math-simplify): Use it.
	* lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
	Don't use calc-angle-mode if math-simplifying-units is non-nil.
	* lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
	(math-to-radians-2, math-from-radians-2): Don't convert angle
	to radians if math-simplifying-units is non-nil.
	* test/lisp/calc/calc-tests.el (test-calc-23889): Add test.

2017-05-18  Tino Calancha  <tino.calancha@gmail.com>

	Revert "Ignore angle mode while simplifying units"

	This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
	This commit causes Bug#25652.

2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid undefined behavior in struct sockaddr

	Problem noted by Philipp Stephani in:
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
	* src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
	New macros.
	* src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
	(connect_network_socket, network_interface_info)
	(server_accept_connection): Use it when aliasing non-char objects.

2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs

	Rename from smerge-refine-subst.  Allow the `beg's to be markers.
	Add autoload cookie.
	(smerge--refine-forward): Rename from smerge-refine-forward.
	(smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
	Assume that its `beg` arg is a marker.
	(smerge--refine-highlight-change): Rename from
	smerge-refine-highlight-change.  Remove `buf` arg.
	(smerge-refine-subst): Redefine as an obsolete alias.

2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	Work around AddressSanitizer bug with vfork

	Problem reported by Jim Meyering in:
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
	* src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
	Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
	vforked child messes up the parent’s shadow memory.  This is too
	bad, as we’d rather have AddressSanitizer catch memory-access bugs
	related to vfork.

2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	Catch IPv4/IPv6 issues at compile time

	* src/process.c (connect_network_socket): Use verify,
	not eassert, so that any problems are caught at compile-time.
	Avoid dodgy cast by using a local var of the correct type.

2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify --enable-gcc-warnings --with-x-toolkit=no

	* src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
	Avoid unused local.

2017-05-17  Glenn Morris  <rgm@gnu.org>

	* admin/update_autogen (commit): Pull before push.

2017-05-17  Glenn Morris  <rgm@gnu.org>

	autoload-rubric no longer provides a feature by default

	* lisp/emacs-lisp/autoload.el (autoload-rubric):
	Stop providing a feature unless explicitly requested.
	(autoload-find-generated-file): Update autoload-rubric call.

2017-05-17  Eli Zaretskii  <eliz@gnu.org>

	Remove redundant code in connect_network_socket

	* src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
	Remove redundant type-casting and variables.  Don't call
	'getsockname' to find the port for AF_LOCAL sockets.
	[AF_INET6]: Add an assertion to verify that the ports in the IPv4
	and IPv6 structures are at the same offset and have the same size.

2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	Fix minor timezone memory leak

	* src/editfns.c (wall_clock_tz): Remove; unused.

2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	Do not discard AddressSanitizer stderr

	* src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
	Do not close stderr.

2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify procname code to avoid GCC bug

	* src/process.c (server_accept_connection): Simplify and avoid
	multiple calls and struct literals in the last case of a switch.
	The old code ran afoul of GCC bug 80659, which caused an internal
	compiler error.  Problem reported by Jim Meyering in:
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
	https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659

2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC 7 with --enable-gcc-warnings

	* src/regex.c (regex_compile): Swap labels, so that the
	FALLTHROUGH immediately precedes the case label.

2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	Merge with gnulib, pacifying GCC 7

	This incorporates:
	2017-05-16 manywarnings: update for GCC 7
	2017-05-15 sys_select: Avoid "was expanded before it was required"
	* configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
	-Wformat-overflow=2 options, due to too many false alarms.
	* doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
	Copy from gnulib.
	* m4/gnulib-comp.m4: Regenerate.
	* src/coding.c (decode_coding_iso_2022):
	Fix bug uncovered by -Wimplicit-fallthrough.
	* src/conf_post.h (FALLTHROUGH): New macro.
	Use it to mark all switch cases that fall through.
	* src/editfns.c (styled_format): Use !, not ~, on bool.
	* src/gtkutil.c (xg_check_special_colors):
	When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
	(xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
	this bug was actually caught by Clang.
	* src/search.c (boyer_moore):
	Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
	* src/xterm.c (x_draw_glyphless_glyph_string_foreground):
	Tell GCC that glyph->u.glyphless.ch must be a character.

2017-05-16  Michael Albinus  <michael.albinus@gmx.de>

	Make autoloading Tramp more robust

	* lisp/net/tramp.el (tramp-file-name-for-operation):
	Use `default-directory' where appropriate.
	(tramp-file-name-handler): Do not autoload.
	(tramp-autoload-file-name-handler): Reintroduce function.
	(tramp-register-autoload-file-name-handlers): Use it.

2017-05-16  Michael Albinus  <michael.albinus@gmx.de>

	Extend tramp-tests.el

	* test/lisp/net/tramp-tests.el (tramp-change-syntax):
	Remove declaration, not needed anymore.
	(tramp-test05-expand-file-name-relative): New test.
	(tramp-test10-write-region): Extend test.

2017-05-16  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)

2017-05-16  Noam Postavsky  <npostavs@gmail.com>

	Make `indent-line-to' respect field boundaries (Bug#26891)

	* lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
	of `backward-to-indentation'.

2017-05-16  Noam Postavsky  <npostavs@gmail.com>

	Make sure indent-sexp stops at end of sexp (Bug#26878)

	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
	indenting.
	* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
	test.

2017-05-16  Glenn Morris  <rgm@gnu.org>

	Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)

	* test/lisp/epg-tests.el (with-epg-tests):
	Also set GNUPGHOME in the environment of child processes.
	This avoids problems if gpg does not pass --homedir to spawned agent.

2017-05-16  Glenn Morris  <rgm@gnu.org>

	Add oldxmenu to system-configuration-features

	* configure.ac (HAVE_OLDXMENU): New.
	(emacs_config_features): Add oldxmenu.

2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>

	* .gitlab-ci.yml: Adjust disclaimer as per RMS.

2017-05-15  Eli Zaretskii  <eliz@gnu.org>

	Remove unneeded stuff from nt/inc/sys/time.h

	* nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
	(timercmp, timerclear): Don't define.  Instead, include the system
	header sys/time.h, and add only the interval timers stuff.  This
	avoids compiler warnings about 'gettimeofday's prototype, and also
	avoids redefinition of macros from system headers.

2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix address violation found by AddressSanitizer

	* src/process.c (connect_network_socket):
	Use struct sockaddr_storage, not struct sockaddr_in, to store info
	about a socket address.  Problem reported by Philipp Stephani in:
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
	This fix is based on a patch by Philipp in:
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html

2017-05-14  Gemini Lasswell  <gazally@runbox.com>

	Make edebug-step-in work on generic methods (Bug#22294)

	* lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
	New function to implement the edebug-form-spec property of
	the symbol cl-generic-method-args.
	(edebug-instrument-function): If the function is a generic
	function, find and instrument all of its methods. Return a list
	instead of a single symbol.
	(edebug-instrument-callee): Now returns a list. Update docstring.
	(edebug-step-in): Handle the list returned by edebug-instrument-callee.
	* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
	cl-generic-method-args in its Edebug spec.
	* lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
	cl-generic-method-args in its Edebug spec.
	* lisp/subr.el (method-files): New function.
	* test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
	(subr-tests--method-files--nonexistent-methods): New tests.

2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-05-14 same-inode: Adapt for windows-stat-inodes
	2017-05-14 windows-stat-inodes: New module
	2017-05-14 stat-time: Adapt for windows-stat-timespec
	* lib/gnulib.mk.in: Regenerate.
	* lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
	Copy from gnulib.

2017-05-14  Eli Zaretskii  <eliz@gnu.org>

	Remove gettimeofday from w32 sources

	* lib-src/ntlib.c (gettimeofday):
	* nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
	function 'gettimeofday' and all of its supporting code.

2017-05-14  Eli Zaretskii  <eliz@gnu.org>

	Fix the MS-Windows build

	* nt/inc/sys/time.h (gettimeofday):
	* src/w32.c (gettimeofday): Adjust signature to match Gnulib.

2017-05-14  Eli Zaretskii  <eliz@gnu.org>

	More accurate documentation of the ':box' face attribute

	* doc/lispref/display.texi (Face Attributes): Fix the description
	of negative width of the ':box' attribute.  (Bug#26920)

2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-05-13 largefile: Simplify
	2017-05-13 largefile: Improve and document
	2017-05-13 truncate: New module
	2017-05-13 windows-stat-timespec: New module
	2017-05-13 windows-stat-override: New module
	2017-05-11 getopt-posix: port to mingw
	2017-05-11 gettimeofday: Increase precision on mingw
	2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
	2017-05-10 Implement a way to opt out from MSVC support
	2017-05-09 tzset: Expand comment about TZ problem on native Windows
	* build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
	* lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
	* lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
	* lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
	* m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
	* m4/unistd_h.m4: Copy from gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2017-05-14  Marcin Borkowski  <mbork@mbork.pl>

	Merge branch 'fix/bug-21072'

2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>

	* .gitlab-ci.yml: Add setup for GitLab CI builds.

2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	New minor mode 'pixel-scroll-mode'

	* lisp/pixel-scroll.el: New file.

	* etc/NEWS: Mention pixel-scroll-mode.

2017-05-13  Philipp  <phst@google.com>

	Make `old-style-backquotes' variable internal

	* src/lread.c (load_warn_old_style_backquotes, Fload, read1)
	(syms_of_lread): Rename `old-style-backquotes' to
	`lread--old-style-backquotes', and clarify that it's for internal
	use only.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
	variable.
	* test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
	unit test.
	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests--old-style-backquotes): Add unit test.

2017-05-13  Philipp Stephani  <phst@google.com>

	Improve unescaped character literal warnings

	* src/lread.c (load_warn_unescaped_character_literals)
	(syms_of_lread):
	lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
	formatting of unescaped character literal warnings.

	* test/src/lread-tests.el (lread-tests--unescaped-char-literals):
	test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests--unescaped-char-literals): Adapt unit tests.

2017-05-12  Alan Mackenzie  <acm@muc.de>

	Fontify C++ for loop variable as variable, even when followed by parentheses

	In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
	getting fontified as a function, due to insufficient checking of the tokens
	between it and "()".

	* lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
	lang-consts/vars.

	* lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
	declarator's identifier, check for a ":" token inside a for's parentheses, and
	abort the search for "(" if this is found.

2017-05-12  Michael Albinus  <michael.albinus@gmx.de>

	Make Tramp backward compatible

	* lisp/net/tramp-cmds.el (tramp-change-syntax):
	Set tramp-autoload cookie.

	* lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
	startup, if necessary.

	* lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
	(tramp-register-autoload-file-name-handlers): Do not mark
	`operations' for `tramp-file-name-handler'.
	(tramp-register-file-name-handlers): Remove also
	`tramp-autoload-file-name-handler' for backward compatibility.
	(tramp-register-foreign-file-name-handler): Use `delete-dups'.

	* test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.

2017-05-12  Noam Postavsky  <npostavs@gmail.com>

	Modify `beginning-of-defun-comments'

	* lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
	in the middle of a multiline comment.

2017-05-12  Noam Postavsky  <npostavs@gmail.com>

	Fix elisp-tests-with-temp-buffer compilation

	* test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
	Don't refer to the =!NAME= as "markers" since they produce variables
	with just plain positions, not marker objects.  Explicitly specify
	that CONTENTS is evaluated at compile time.  Don't re-evaluate
	CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
	to BODY not using =!NAME= variables.
	(elisp-test-point-position-regex): Rename from
	`elisp-test-point-marker-regex'.
	(mark-defun-test-buffer): Wrap in `eval-and-compile'.

2017-05-12  Noam Postavsky  <npostavs@gmail.com>

	* lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.

2017-05-12  Marcin Borkowski  <mbork@mbork.pl>

	Fix Bug#21072 and rework `mark-defun'

	* test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
	  New variable
	(mark-defun-no-arg-region-inactive)
	(mark-defun-no-arg-region-active)
	(mark-defun-arg-region-active)
	(mark-defun-pos-arg-region-inactive)
	(mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
	the new `mark-defun'.

	* lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
	  New function.
	(beginning-of-defun-comments): New function.
	(mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
	to accept a numerical prefix argument.

2017-05-12  Alfred M. Szmidt  <ams@gnu.org>

	* lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.

2017-05-12  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings in net-utils.el

	* lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
	(route, traceroute, nslookup, ftp, smbclient)
	(smbclient-list-shares, finger, whois)
	(network-connection-to-service, network-service-connection)
	(network-connection-reconnect): Improve doc strings.

2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>

	Extend DNS lookup commands to allow specifying the name server

	* lisp/net/net-utils.el (ffap-string-at-point): Removed due to
	'net-utils-machine-at-point' obviating this autoloaded
	function (Bug#25426).
	(dig-program-options): New customization variable.
	(nslookup-host, dns-lookup-host, run-dig): Can now specify
	optional name server argument interactively (by prefix arg) and
	non-interactively.

	* etc/NEWS: Mention the extension of DNS lookup commands.

2017-05-12  Glenn Morris  <rgm@gnu.org>

	Don't hard-code loaddefs files in lisp/Makefile

	* lisp/Makefile.in (loaddefs): New variable.
	(AUTOGENEL): Use $loaddefs, and include directory.
	(bootstrap-clean): Update for AUTOGENEL change.

2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>

	Kill modified buffers silently when quitting (bug#26862)

	* lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
	sure that latest drafts are saved, and kill modified buffers silently.

2017-05-10  Perry E. Metzger  <perry@piermont.com>

	Implement 1-based column numbering in mode line

	* src/xdisp.c (decode_mode_spec): Implement the %C construct.

	* lisp/bindings.el (column-number-indicator-zero-based): New
	defcustom.
	(mode-line-position): Use %C when
	column-number-indicator-zero-based is nil.

	* src/xdisp.c (syms_of_xdisp) <frame-title-format>:
	* src/buffer.c (syms_of_buffer) <mode-line-format>:
	* doc/lispref/modes.texi (%-Constructs):
	* doc/lispref/frames.texi (Frame Titles): Document the %C
	construct.

	* doc/emacs/display.texi (Optional Mode Line): Document
	'column-number-indicator-zero-based'.

	* etc/NEWS: Mention 'column-number-indicator-zero-based' and the
	%C construct.

2017-05-10  Eli Zaretskii  <eliz@gnu.org>

	Ensure cursor's foreground color is in sync with 'default' face

	* src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
	foreground color is different from the background of the glyph
	string's face.  (Bug#26851)

2017-05-10  Eli Zaretskii  <eliz@gnu.org>

	Fix vertical cursor motion when columns are of unequal size

	* lisp/simple.el (line-move-finish): In line-move-visual mode, use
	vertical-motion to move to the goal column, as the goal column
	should in that case be interpreted in units of frame's canonical
	character width.  (Bug#26852)

2017-05-10  Glenn Morris  <rgm@gnu.org>

	Fix finding test .el files

	* test/Makefile.in (ELFILES): Exclude the data/ directory.
	* test/src/lread-tests.el (lread-test-bug26837): Revert previous.

2017-05-10  Tino Calancha  <tino.calancha@gmail.com>

	Tweak a recent test

	This test fails in my local machine because the data files
	are compiled, and the test doesn't expect that.
	* test/src/lread-tests.el (lread-test-bug26837): Match a suffix
	ending with '.elc' when the data files are compiled.

2017-05-10  Glenn Morris  <rgm@gnu.org>

	Put license information in each generated uni-*.el

	* admin/unidata/unidata-gen.el (unidata-gen-file):
	Get Copyright line from copyright.html.
	Put information in file header, not separate README.
	(unidata-gen-charprop): Mention the source location.
	* lisp/international/README: Remove file.

2017-05-10  Noam Postavsky  <npostavs@gmail.com>

	Fix lisp-indent-region and indent-sexp (Bug#26619)

	The new lisp-indent-region introduced in 2017-04-22 "Add new
	`lisp-indent-region' that doesn't reparse the code." is broken because
	it doesn't save the calculated indent amounts for already seen sexp
	depths.  Fix this by unifying the indent-sexp and lisp-indent-region
	code.  Furthermore, only preserve position 2 of the running parse
	when the depth doesn't change.
	* lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
	corresponds with the start point when calling parse-partial-sexp.
	(lisp-indent-state): New struct.
	(lisp-indent-calc-next): New function, extracted from indent-sexp.
	(indent-sexp, lisp-indent-region): Use it.
	(lisp-indent-line): Take indentation, instead of parse state.
	* test/lisp/emacs-lisp/lisp-mode-tests.el
	(lisp-mode-tests--correctly-indented-sexp): New constant.
	(lisp-indent-region, lisp-indent-region-defun-with-docstring):
	(lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
	tests.

2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>

	Simplify url-encode-url and add a test

	* lisp/url/url-util.el (url-encode-url): Simplify.
	url-generic-parse-url copes with multibyte strings just fine
	(https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).

	* test/lisp/url/url-parse-tests.el
	(url-generic-parse-url/multibyte-host-and-path): New test.

2017-05-10  Glenn Morris  <rgm@gnu.org>

	More informative error when required feature missing

	* src/fns.c (Frequire): Include file name in missing feature error.
	* doc/lispref/loading.texi (Named Features): Don't quote actual error.

2017-05-10  Glenn Morris  <rgm@gnu.org>

	Put re-loaded file back at start of load-history (bug#26837)

	* src/lread.c (readevalloop): Fix the "whole buffer" check to
	operate in the correct buffer.
	(Feval_buffer): Move point back to the start after checking
	for lexical binding.
	* test/src/lread-tests.el (lread-test-bug26837): New test.
	* test/data/somelib.el, test/data/somelib2.el: New test data files.

2017-05-09  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'gnutls-verify-error'

	* lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
	doc string.  (Bug#26845)

2017-05-09  Glenn Morris  <rgm@gnu.org>

	Don't duplicate autoload code in package.el

	* lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
	* lisp/emacs-lisp/package.el (autoload-rubric): Declare.
	(package-autoload-ensure-default-file): Use autoload-rubric.

2017-05-09  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el: Keep additional test.

2017-05-09  Marcin Borkowski  <mbork@mbork.pl>

	Add elisp-tests-with-temp-buffer, a new testing macro

	* test/lisp/emacs-lisp/lisp-tests.el
	(elisp-test-point-marker-regex) New variable.
	(elisp-tests-with-temp-buffer): New macro to help test functions
	moving the point and/or mark.

2017-05-09  Noam Postavsky  <npostavs@gmail.com>

	Revert "Output number of characters added to file (Bug#354)"

	The extra message text turned out to be quite annoying in practice,
	and is generally more trouble than it's worth.  Also revert several
	related changes.

	Partially revert "Handle `write-region' messages in Tramp properly"
	Revert "New var write-region-verbose, default nil"
	Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
	Revert "Minor tuneup of write-region change"
	Revert "Adjust write-region so file name is at the beginning again"
	Revert "Fix handling of non-integer START param to write-region"
	Revert "Output number of characters added to file (Bug#354)"

	* doc/emacs/files.texi (Misc File Ops):
	* etc/NEWS:
	* lisp/epa-file.el (epa-file-write-region):
	* lisp/gnus/mm-util.el (mm-append-to-file):
	* lisp/jka-compr.el (jka-compr-write-region):
	* lisp/net/ange-ftp.el (ange-ftp-write-region):
	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
	* lisp/net/tramp.el (tramp-handle-write-region-message):
	* src/fileio.c (write_region, syms_of_fileio):
	* test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
	extra characters from file writing messages.

2017-05-09  Noah Friedman  <friedman@splode.com>

	(ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
	because $ptr is modified by ygetptr and we use $ptr immediately at the
	beginning.

2017-05-08  Ken Brown  <kbrown@cornell.edu>

	Skip a test from filenotify-tests.el on Cygwin

	* test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
	Skip the last part of the test on Cygwin; it fails due to timing
	issues.
	(file-notify--test-read-event):  Remove `sit-for' that was added
	for Cygwin.

2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-05-08 intprops: don’t depend on ‘verify’
	2017-05-07 utimens: on native Windows, improve resolution if fd < 0
	2017-05-07 utimens: Improve error code on native Windows
	* lib/intprops.h, lib/utimens.c: Copy from gnulib.

2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>

	Fix various verilog-mode.el issues.

	* lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
	2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
	(verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
	logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
	(verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
	abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
	(verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
	msg2143. Reported by Galen Seitz.
	(verilog-modify-compile-command): Fix expansion of __FLAGS__ when
	compile-command is globally set, bug1119.  Reported by Galen Seitz.

2017-05-08  Michael Albinus  <michael.albinus@gmx.de>

	Handle `write-region' messages in Tramp properly

	* lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
	* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.

	* lisp/net/tramp.el (tramp-password-prompt-regexp)
	(tramp-completion-mode-p):
	* lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
	(tramp-append-tramp-buffers):
	* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
	Use `bound-and-true-p'.

	* lisp/net/tramp-compat.el (tramp-compat-delete-file):
	Don't check for `boundp' anymore.

	* test/lisp/net/tramp-tests.el (ert-x): Require it.
	(tramp--test-messages): New defvar.
	(tramp-test10-write-region): Extend test.

2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix glyph string generation for multi-font compositions (Bug#26742)

	* src/xdisp.c (glyph_string_containing_background_width): New function.
	(draw_glyphs): Use it to get correct background width.
	(compute_overhangs_and_x): Don't change x in the middle of composite
	characters.

2017-05-07  Philipp Stephani  <phst@google.com>

	Fix all unescaped character literals

2017-05-07  Alan Mackenzie  <acm@muc.de>

	CC Mode internal cache: Handle a cache pos being inside a two-char construct.

	Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
	e.g., between the two characters of an opening comment "/*", and additionally
	there were an odd number of quote marks (apostrophes) in the comment.  This
	happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
	buffer position 615001.

	* lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
	pps-extended-state to mean that there are at least 11 elements in the parser
	state.

	* lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
	(c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
	types which indicate potentially being inside two-char constructs.
	(c-parse-ps-state-below): Rewrite to use the new versions of the above two
	functions.

2017-05-07  Glenn Morris  <rgm@gnu.org>

	Silence an mh-compat compiler warning

	* lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.

2017-05-07  Glenn Morris  <rgm@gnu.org>

	Evaluate mh-require when compiling

	* lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
	* lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
	Evaluate mh-require when compiling, as require is automatically.
	* lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.

2017-05-07  Glenn Morris  <rgm@gnu.org>

	Remove obsolete method of changing byte-compile-dest-file

	* lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
	Define unconditionally.

2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>

	New var write-region-verbose, default nil

	By popular demand, write-region char counts are now off by default
	(Bug#26796).
	* src/fileio.c (write-region-verbose): New Lisp var.
	(write_region): Output char count only if the var is non-nil.
	* doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.

2017-05-07  Glenn Morris  <rgm@gnu.org>

	Write autoloads file atomically

	* lisp/emacs-lisp/autoload.el (autoload--save-buffer):
	New function, to save buffer atomically.
	(autoload-save-buffers, update-directory-autoloads):
	Use autoload--save-buffer.
	* lisp/Makefile.in ($(lisp)/loaddefs.el):
	No longer write to a temp file by hand.

2017-05-07  Glenn Morris  <rgm@gnu.org>

	Write autoloads file once only

	* lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
	Simplify.  Don't bother about ensuring the output file exists.
	(autoload-generated-file): Add doc.
	(autoload-ensure-writable): Update doc.
	(autoload-ensure-file-writeable): Handle non-existing file.
	(autoload-ensure-default-file): Remove function.

2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>

	Port .gdbinit to GDB 7.11.1 + Python 2.7.12

	* src/.gdbinit (Lisp_Object_Printer.to_string):
	Explicitly convert integer val to 'int', so that
	older GDBs do not complain about the conversion.
	* src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
	Give the struct a tag, so that older GDB pretty-printers have a
	tag to hang their hat on.

2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>

	Pretty-print const Lisp_Objects in .gdbinit

	* src/.gdbinit (Emacs_Pretty_Printers.__call__):
	Compare unqualified type to Lisp_Object, to do the right thing
	when the expression has type ‘Lisp_Object const’.
	Problem reported by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html

2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC setjmp/longjmp warning

	* src/eval.c (internal_lisp_condition_case): Do not modify local
	var VAR, to pacify GCC’s setjmp/longjmp warning which in some
	cases mistakenly diagnoses VAR possibly being modified between a
	setjmp and a longjmp.

2017-05-06  Philipp  <phst@google.com>

	Fix bootstrap build of files.el

	* lisp/files.el (file-name-non-special): Don't use cl-letf.

2017-05-06  Eli Zaretskii  <eliz@gnu.org>

	Fix last change for MS-Windows

	* test/src/emacs-module-tests.el (module-function-object): Port to
	MS-Windows.

2017-05-06  Philipp Stephani  <phst@google.com>

	Introduce new misc type for module function

	This resolves a couple of FIXMEs in emacs-module.c.

	* src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.

	* src/alloc.c (make_module_function): New function.
	(mark_object): GC support.

	* src/data.c (Ftype_of, syms_of_data): Handle module function type.

	* src/print.c (print_object): Print support for new type.

	* src/emacs-module.c (module_make_function, Finternal_module_call):
	Use new module function type, remove FIXMEs.
	(module_format_fun_env): Adapt and give it external linkage.

	* test/src/emacs-module-tests.el (module-function-object): Add unit
	test.

2017-05-06  Philipp Stephani  <phst@google.com>

	Fix quoted files for 'verify-visited-file-modtime'

	Fixes Bug#25951.

	* lisp/files.el (file-name-non-special): Set the file name for the
	correct buffer.

	* test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
	Add unit test.
	(files-tests--with-advice, files-tests--with-temp-file): New helper
	macros.

2017-05-06  Eli Zaretskii  <eliz@gnu.org>

	* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)

2017-05-06  Eli Zaretskii  <eliz@gnu.org>

	Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING

	* src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
	ENABLE_CHECKING is defined.
	(mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
	instead of being defined.

2017-05-06  Tom Tromey  <tom@tromey.com>

	Fix erc-join with channel password

	Bug#25349
	* lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
	server names.
	(erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
	Likewise.
	(erc-server-join-channel): Move to erc.el.
	* lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
	(erc-cmd-JOIN): Use erc-server-join-channel.

2017-05-06  Tino Calancha  <tino.calancha@gmail.com>

	Ensure the created temp file in a test is new

	* test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
	to create the temp file.

2017-05-06  Glenn Morris  <rgm@gnu.org>

	Decruftify dns-mode.el a little bit

	* lisp/textmodes/dns-mode.el (dns-mode-control-entities):
	New constant.
	(dns-mode-control-entity, dns-mode-bad-control-entity)
	(dns-mode-type, dns-mode-class): New faces.
	(dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
	(dns-mode-type-face, dns-mode-class): Make these variables use the
	new faces, and mark as obsolete.
	(dns-mode-font-lock-keywords): Use dns-mode-control-entities.

2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>

	Pretty-print Lisp_Object values in GDB

	* src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
	GDB displays them as "XIL(0xXXX)" rather than displaying them
	as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
	otherwise.

2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>

	Tweak dns-mode font-lock

	* lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
	Highlight $TTL as a control entity.  (Bug#26780)

2017-05-05  Glenn Morris  <rgm@gnu.org>

	Fontify the doc-string in some CL forms as such

	* lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
	Add the doc-string-elt property.  (Bug#26778)

2017-05-05  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.

2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>

	cl-defmethod: Make the edebug spec more technically correct

	* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
	edebug spec part for qualifiers as [&rest atom], per
	https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.

2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>

	Fix MH-E not to load cl at runtime (Bug#25552)

	* lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
	compile time, whether the target is bound.
	* lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
	mh-acros at compile time.
	Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
	<npostavs@users.sourceforge.net>

2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>

	Multiline support in NS "Open Selected File" service.

	* lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
	original call in a (split-string) to create as many calls as there
	are lines.
	(ns-spi-service-call): Call `ns-open-file-service' instead of
	`dnd-open-file'.

2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>

	Require cl-lib at runtime in vc-hg

	* lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).

2017-05-04  Tino Calancha  <tino.calancha@gmail.com>

	Inherit incompatible/obsolete package faces from error

	Don't use the same face for installed packages as for incompatible
	or obsolete ones.
	* lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.

2017-05-04  Michael Albinus  <michael.albinus@gmx.de>

	Set process property `adjust-window-size-function' to `ignore' in Tramp

	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
	(tramp-adb-maybe-open-connection):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
	(tramp-maybe-open-connection):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
	(tramp-smb-maybe-open-connection): Set process property
	`adjust-window-size-function' to `ignore'.

2017-05-04  Nicolas Petton  <nicolas@petton.fr>

	* lisp/emacs-lisp/seq.el: Bump seq version.

2017-05-04  Damien Cassou  <damien@cassou.me>

	Add seq-set-equal-p to test for set equality

	* lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
	  two lists as if they were sets.

	* test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
	  for seq-set-equal-p.

2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling fixes

	* lisp/gnus/nndiary.el (nndiary-last-occurrence):
	Rename from nndiary-last-occurence.
	(nndiary-next-occurrence):
	Rename from nndiary-next-occurence.  All uses changed.

2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from pkg-config

	* m4/pkg.m4: Copy from pkg-config 0.29.1.

2017-05-04  Tom Tromey  <tom@tromey.com>

	Add color highlighting to css-mode

	Bug#25525
	* lisp/textmodes/css-mode.el (css--color-map): New constant.
	(css-value-class-alist): Use css--color-map.
	(css--number-regexp, css--percent-regexp)
	(css--number-or-percent-regexp, css--angle-regexp): New constants.
	(css--color-skip-blanks, css--rgb-color, css--hsl-color): New
	functions.
	(css--colors-regexp): New constant.
	(css--hex-color, css--named-color, css--compute-color)
	(css--contrasty-color, css--fontify-colors)
	(css--fontify-region): New functions.
	(css-mode): Set font-lock-fontify-region-function.
	(css-mode-syntax-table): Set syntax on more characters.
	(css-fontify-colors): New defcustom.
	(scss-mode-syntax-table): Define syntax for ?$ and ?%.
	* test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
	Update.
	(css-test-rgb-parser, css-test-hsl-parser)
	(css-test-named-color): New tests.
	* etc/NEWS: Add entry.

2017-05-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#26763

	* lisp/files.el (delete-directory): Call file name handler
	with `trash' argument.

	* lisp/net/ange-ftp.el (ange-ftp-delete-directory):
	* lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
	Add TRASH arg.  Implement it.  (Bug#26763)
	(tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.

	* lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
	* lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
	Add _TRASH arg.

2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	Use ptrdiff_t, not int, for stack sizes

	* src/thread.c (invoke_thread_function):
	* src/xterm.c (x_cr_export_frames):
	Don’t assume SPECPDL_INDEX fits in ‘int’.

2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	Check list object type if --enable-gcc-warnings

	* configure.ac (--enable-check-lisp-object-type):
	Default to "yes" if --enable-gcc-warnings is not "no".
	* etc/NEWS: Mention this.
	* src/eval.c (internal_lisp_condition_case): Fix some glitches
	with 'volatile' uncovered by the above: in particular, 'clauses'
	should be a pointer to volatile storage on the stack, and need not
	be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
	Don’t bother gathering binding count if VAR is nil.  Use
	more-specific local names to try to clarify what’s going on.

2017-05-02  Glenn Morris  <rgm@gnu.org>

	Tweak auth-source-pass.el to avoid run-time subr-x

	* lisp/auth-source-pass.el (auth-source-pass--parse-data):
	Avoid needing subr-x at run-time.

2017-05-02  Charles A. Roelli  <charles@aurox.ch>

	Constrain non-child frames to screen area in OS X

	* src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
	frames in OS X, if they would otherwise go offscreen.

	(Bug#25818)

2017-05-02  Michael Albinus  <michael.albinus@gmx.de>

	Fix error in completion for separate Tramp syntax

	* lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
	Tweak regexp.

	* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
	Run method and host name completion for all syntaxes.

2017-05-02  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warnings

	* src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
	* src/w32term.c (x_draw_glyph_string):
	* src/w32fns.c (compute_tip_xy):
	* src/w32font.c (w32font_text_extents):
	* src/w32menu.c (set_frame_menubar):
	* src/search.c (Freplace_match): Avoid compiler warnings in
	optimized builds.

2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-05-02 utimens: port to Emacs + MS-Windows
	* lib/utimens.c: Copy from gnulib.

2017-05-02  Gemini Lasswell  <gazally@runbox.com>

	Fix Edebug specs for 'cl-defmethod' and 'defmethod'

	* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
	to make Edebug generate a new symbol for each method (Bug#24753) and
	to support a string following :extra (Bug#23995).
	* lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
	make Edebug generate a new symbol for each method (Bug#24753).

2017-05-02  Eli Zaretskii  <eliz@gnu.org>

	Temporary fix for the MS_Windows build

	* nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
	to be consistent with Gnulib's utimens.c.  This is because utimens.c
	unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
	previous definition here conflicted with that.

2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	Port format-time-string to MS-Windows better

	* test/src/editfns-tests.el (format-time-string-with-zone):
	Port test cases to MS-Windows.

2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-05-01 New module 'localtime-buffer'
	2017-04-30 utimens: Add support for native Windows
	* admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
	* configure.ac (tzset): No need for Emacs itself to check now.
	* lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
	* m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/localtime-buffer.c, lib/localtime-buffer.h:
	* m4/localtime-buffer.m4: New files, copied from gnulib.
	* src/editfns.c (init_editfns): Assume tzset is callable.

2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>

	Speed up project-find-regexp for simple regexps

	* lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
	New function.
	(xref--collect-matches): Use it.  Don't try to enable the
	appropriate major mode and file-local variables if the regexp
	does not depend on the buffer's syntax (bug#26710).
	(xref--collect-matches-1): Don't syntax-propertize in that
	case either.

2017-05-01  Philipp Stephani  <phst@google.com>

	Warn about missing backslashes during load

	* src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
	(syms_of_lread): Warn if unescaped character literals are
	found (Bug#20152).
	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
	unescaped character literals during byte compilation.
	* test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
	unit test.
	(lread-tests--with-temp-file, lread-tests--last-message): Helper
	functions for unit test.
	* test/lisp/emacs-lisp/bytecomp-tests.el
	(bytecomp-tests--unescaped-char-literals): New unit test.
	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
	Helper macro for unit test.

2017-05-01  Ken Brown  <kbrown@cornell.edu>

	* configure.ac: Suggest Mailutils on Cygwin.

2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t stress-test time zones near the Epoch

	* test/src/editfns-tests.el (format-time-string-with-zone)
	(format-time-string-with-outlandish-zone): Don’t format
	timestamps near the Epoch, as this runs into bugs on MS-Windows,
	and we don’t want to worry about those bugs.

2017-05-01  Glenn Morris  <rgm@gnu.org>

	Tweak vc-tests.el for bzr

	* test/lisp/vc/vc-tests.el (vc-test--working-revision):
	Handle test environments where HOME does not exist.

2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>

	vc-git-state: Return `ignored' as appropriate with newer Git

	* lisp/vc/vc-git.el
	(vc-git--program-version): New variable.
	(vc-git--program-version): New function.
	(vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).

2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>

	vc-git-state: Bring back CentOS 6 compatibility

	* lisp/vc/vc-git.el (vc-git-state):
	Bring back CentOS 6 compatibility (bug#19343).

2017-05-01  Martin Rudalics  <rudalics@gmx.at>

	Rewrite w32fns.c's `x_set_menu_bar_lines'

	* src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
	regardless of whether menu bar is added or removed.  Clear
	under internal border iff a W32 window exists.  Store either 0
	or 1 as new parameter value.
	(x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
	FRAME_X_WINDOW.

2017-05-01  Michael Albinus  <michael.albinus@gmx.de>

	Fix filenotify-tests.el for cygwin

	* test/lisp/filenotify-tests.el (file-notify--test-read-event):
	Add an additional `sit-for'.
	(file-notify-test02-rm-watch): Add an additional
	`file-notify--test-read-event' call.

2017-05-01  Jonathan Ganc  <jonganc@gmail.com>

	Speed up vc-git-status and make it more precise

	* lisp/vc/vc-git.el (vc-git-state)
	(vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
	'git status', so that 'vc-git-state' can now return 'ignored',
	'conflict', or 'unregistered' when appropriate.  Discussed in
	bug#26066.  Fixes bug#19343.

2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>

	Fix Git revision navigation in currently removed directories

	* lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
	default-directory because FILE's parent directory might not exist
	anymore (bug#26345).

2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-04-30 strftime-fixes: New module
	2017-04-30 mktime: Work around TZ problem on native Windows
	2017-04-30 ctime, localtime: New modules
	2017-04-30 gettimeofday: Provide higher resolution on native Windows
	2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
	2017-04-29 Make use of module 'utime-h'
	2017-04-30 Fix a few typos
	* admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
	* lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
	* m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
	* m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
	Copy from gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2017-04-30  Eli Zaretskii  <eliz@gnu.org>

	Don't lose key bindings on mis-spelled text in flyspell-mode

	* lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
	explicitly.
	(make-flyspell-overlay): If the mis-spelled text already has a
	'keymap' property, make that keymap the parent of
	flyspell-mouse-map, so as not to lose the parent's bindings.
	(Bug#26672)

2017-04-30  Martin Rudalics  <rudalics@gmx.at>

	Fix `delete-frame' behavior including Bug#26682

	* src/frame.c (other_frames): Accept two arguments now.  Don't
	care about minibuffer window.  Don't care about visibility when
	called from delete_frame with FORCE true (Bug#26682).
	(delete_frame, Fmake_frame_invisible): Adjust other_frames
	calls.
	* src/w32term.c (w32_read_socket): Don't add a move frame event
	for an invisible frame.
	* lisp/frame.el (handle-delete-frame): Don't kill Emacs when
	attempting to delete a surrogate minibuffer frame.

2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This avoids incorporating the following, which I suspect are
	more trouble for Emacs than they’re worth:
	2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
	* admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.

2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix buffer overflow in make-docfile

	* lib-src/make-docfile.c (scan_c_stream): Check for buffer
	overflow when reading an identifier.  Use a static buffer for NAME
	rather than a small dynamically-allocated buffer.

2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
	* lib/getopt-pfx-ext.h: Copy from gnulib.
	* lib/gnulib.mk.in: Regenerate.

2017-04-30  Tino Calancha  <tino.calancha@gmail.com>

	Fix dependency error during bootstrap

	* lisp/files.el: Require pcase and easy-mmode at compile time.

2017-04-30  Mats Lidell  <mats.lidell@cag.se>

	* etc/tutorials/TUTORIAL.sv: synced with TUTORIAL

2017-04-29  Philipp Stephani  <phst@google.com>

	Reimplement auto-saving to visited files

	This reacts to confusing behavior of 'auto-save-visited-file-name',
	cf. Bug#25478.

	* lisp/files.el (auto-save-visited-interval): New customization option.
	(auto-save-visited-mode): New global minor mode.
	(auto-save-visited-file-name): Make obsolete.
	(auto-save--timer): New internal helper variable.

	* doc/emacs/files.texi (Auto Save Files): Document
	'auto-save-visited-mode' instead of obsolete
	'auto-save-visited-file-name'.
	(Auto Save Control): Document customization option
	'auto-save-visited-interval'.

2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>

	Allow bypassing of some checks when merging

	* build-aux/git-hooks/pre-commit: Don't check merged-in changes.

2017-04-29  Philipp Stephani  <phst@google.com>

	Integrate module test with normal test suite

	* test/Makefile.in (ELFILES): Exclude module test if modules aren't
	configured.
	(EMACS_TEST_DIRECTORY): Expand test directory so that it's set
	correctly even if Emacs changes the current directory.
	($(srcdir)/src/emacs-module-tests.log)
	($(test_module)): Proper dependency tracking for test module.

	* test/data/emacs-module/Makefile (ROOT): Adapt to new location.
	Remove 'check' target and EMACS variable, which are no longer
	necessary.
	(SO): Change to include period.

	* test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
	environment variable to reliably find test data.

	* configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
	substitutions.

2017-04-28  Glenn Morris  <rgm@gnu.org>

	Broaden comint-password-prompt-regexp

	* lisp/comint.el (comint-password-prompt-regexp):
	Broaden the regexp, for non-English locales.  (Bug#26698)

2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.

2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>

	Don't pass the value of point to 'push-mark', as that's the default.

	* lisp/textmodes/bib-mode.el (mark-bib):
	* lisp/simple.el (mark-whole-buffer, yank):
	* lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
	* lisp/progmodes/xscheme.el (xscheme-yank):
	* lisp/progmodes/verilog-mode.el (verilog-mark-defun):
	* lisp/progmodes/perl-mode.el (perl-mark-function):
	* lisp/progmodes/pascal.el (pascal-mark-defun):
	* lisp/progmodes/meta-mode.el (meta-mark-defun):
	* lisp/progmodes/icon.el (mark-icon-function):
	* lisp/progmodes/cc-cmds.el (c-mark-function):
	* lisp/obsolete/vip.el (ex-goto):
	* lisp/obsolete/vi.el (vi-put-before):
	* lisp/mouse.el (mouse-yank-primary):
	* lisp/menu-bar.el (menu-bar-select-yank):
	* lisp/mail/sendmail.el (mail-yank-original):
	* lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
	* lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
	(viper-mark-end-of-buffer):
	* lisp/cedet/semantic/senator.el (senator-mark-defun):
	* lisp/allout.el (allout-mark-topic): Remove unnecessary argument
	`(point)' from calls to `push-mark'.  (Bug#25565)

2017-04-28  Glenn Morris  <rgm@gnu.org>

	Merge from origin/emacs-25

	784602b1050 (origin/emacs-25) ; Add release notice
	3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
	56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
	2b0d1118199 ; CONTRIBUTE: Remove stray header.
	f2ab09ec60d Fix a typo in indexing the user manual
	bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
	a6d50401b4b Document 'line-pixel-height'
	0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
	c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
	856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
	849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
	84938d79698 default-directory: Remark that it must be a directory name
	3f0d047d2eb Delete confuse statement in manual
	ee1bd94dd0c Improve packaging documentation
	fb18bff91f0 Expand manual section on quitting windows
	9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
	afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
	ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
	d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
	e0e9db4c84a ; Spelling fix

	# Conflicts:
	#	README
	#	etc/AUTHORS
	#	etc/HISTORY
	#	lisp/ldefs-boot.el

2017-04-28  Glenn Morris  <rgm@gnu.org>

	* doc/misc/auth.texi: Commas don't work in node names.

	* test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.

2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>

	Test format-time-string with zone arg

	* test/src/editfns-tests.el (format-time-string-with-zone)
	(format-time-string-with-outlandish-zone): New tests.

2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-04-24 time_rz: fix heap buffer overflow vulnerability
	2017-04-23 stat-time: Update comments.
	2017-04-22 ftoastr: cite a newer paper
	2017-04-21 gettext-h: Avoid -Wundef warning.
	* lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
	* m4/getopt.m4: Copy from gnulib.
	* m4/gnulib-comp.m4: Regenerate.

2017-04-27  Damien Cassou  <damien@cassou.me>

	auth-source-pass: Add documentation; fix tests and indentation.

	* doc/misc/auth.texi: Document new integration with Pass. Use @itemize
	  instead of @enumerate.
	* lisp/auth-source-pass.el: Fix indentation.
	  (auth-source-pass--remove-directory-name): Remove.
	* test/lisp/auth-source-pass-tests.el: Adjust test macros.

2017-04-27  foudfou  <foudil.newbie+git@gmail.com>

	auth-source-pass: Enable finding entries by "host/username"

	* lisp/auth-source-pass.el: Enable finding entries by "host/username".
	* test/lisp/auth-source-pass-tests.el: Adjust tests to check it.

2017-04-27  Damien Cassou  <damien@cassou.me>

	Integrate auth-source with password-store

	* lisp/auth-source-pass.el: auth-source backend for password-store.
	* test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
	  behavior.

2017-04-27  Damien Cassou  <damien@cassou.me>

	* lisp/auth-source.el: Document parser functions.

2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>

	auth-source: factor out parsers and add tests

	* lisp/auth-source.el: Factor out the source parsers. Clean up comments.
	* test/lisp/auth-source-tests.el: Add tests.

2017-04-27  Martin Rudalics  <rudalics@gmx.at>

	Fix doc and customization type of `window-combination-limit' (Bug#26673)

	* src/window.c (Vwindow_combination_limit): Fix doc-string.
	* lisp/cus-start.el (window-combination-limit): Fix
	customization type.
	* doc/lispref/windows.texi (Recombining Windows): Fix
	documentation of `window-combination-limit'.

2017-04-27  Tino Calancha  <tino.calancha@gmail.com>

	Drop face from hi-lock--unused-faces only when used

	* lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
	highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
	* test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.

2017-04-26  Alan Third  <alan@idiocy.org>

	Fix macOS version check (bug#26664)

	* src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
	macOS versions 10.12+.

2017-04-26  Glenn Morris  <rgm@gnu.org>

	Make charprop.el provide a feature

	* admin/unidata/unidata-gen.el (unidata-gen-charprop):
	Provide a feature.
	* lisp/loadup.el: Use the charprop feature.

2017-04-26  Glenn Morris  <rgm@gnu.org>

	* lisp/loadup.el: Get charprop.el into etc/DOC again.

2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/ido.el (ido-everywhere): Use add-function.

2017-04-26  Martin Rudalics  <rudalics@gmx.at>

	Try to fix latest fix of w32_mouse_position

	* src/w32term.c (w32_mouse_position): Fix a bug introduced by
	latest fix and try to make the affected code more rigorous.

2017-04-26  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults when 'find-font' is invoked for a TTY frame

	* src/font.c (font_pixel_size): Don't call GUI functions if F is a
	text-mode frame.  (Bug#26646)

2017-04-26  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):

	New defun.

2017-04-26  Glenn Morris  <rgm@gnu.org>

	* src/Makefile.in (leimdir): Remove variable, no longer used.

2017-04-26  Glenn Morris  <rgm@gnu.org>

	Generate leim-list via lisp/Makefile, not src/Makefile

	* src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
	(emacs$(EXEEXT)): Don't depend on leim-list.
	* lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.

2017-04-25  Alan Third  <alan@idiocy.org>

	Fix define for GNUstep builds

	* src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
	doesn't see the code.

2017-04-25  Glenn Morris  <rgm@gnu.org>

	Suppress intermittent test failure on hydra

	* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
	(eieio-test-method-order-list-6): Skip on hydra.

2017-04-25  Alan Third  <alan@idiocy.org>

	Fix some NS frame handling issues

	* src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
	defines intended to make things tidier.
	(x_set_undecorated): Use the new defines.
	(windowWillResize): Don't use new macOS 12+ only feature.
	(initFrameFromEmacs): Use the new defines, and disable automatic
	window tabbing feature in macOS 12.
	(x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
	x_set_z_group): Add NSTRACE notices.

2017-04-25  Glenn Morris  <rgm@gnu.org>

	Avoid parallel race condition

	* lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.

2017-04-25  Glenn Morris  <rgm@gnu.org>

	Generate each unicode lisp file independently

	This is better for parallel builds, eg it eliminates race
	conditions from having one process write multiple files.
	* admin/unidata/Makefile.in (lparen, unifiles): New variables.
	Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
	(all): Explicitly list the output lisp files.
	(PHONY_EXTRAS): Remove.
	(${unidir}/charprop.el): Change rule to just be for this file.
	(${unifiles}): New rule to write each unicode lisp file.
	(extraclean): Simplify.
	* admin/unidata/unidata-gen.el (unidata-gen-charprop):
	Quieten in batch mode.
	(unidata-gen-files): Remove, no longer used.
	* lisp/loadup.el: Update command-line parser.

2017-04-25  Glenn Morris  <rgm@gnu.org>

	Further refactoring in unidata-gen.el

	* admin/unidata/unidata-gen.el (unidata-gen-charprop):
	New function, split from unidata-gen-files.
	(unidata-gen-files): Use unidata-gen-charprop.

2017-04-25  Glenn Morris  <rgm@gnu.org>

	Allow unidata-gen-file to work independently

	* admin/unidata/unidata-gen.el (unidata-gen-file):
	Make it work as a stand-alone function in batch mode.
	(unidata-gen-files): Pass extra arguments to unidata-gen-file.

2017-04-25  Glenn Morris  <rgm@gnu.org>

	Preparatory refactoring in unidata-gen.el

	* admin/unidata/unidata-gen.el (unidata-gen-file):
	New function, split from unidata-gen-files.
	(unidata-gen-files): Use unidata-gen-file.

2017-04-25  Glenn Morris  <rgm@gnu.org>

	Write each generated character property lisp file only once

	* admin/unidata/unidata-gen.el (unidata-file-alist):
	Rename from unidata-prop-alist.  All users changed.
	Use file name rather than property name as the key.
	(unidata-prop-prop): New function.
	(unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
	(unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
	Change to parse the argument rather than unidata-prop-alist.
	(unidata-gen-table-character, unidata-gen-table)
	(unidata-gen-table-symbol, unidata-gen-table-integer)
	(unidata-gen-table-numeric, unidata-gen-table-word-list)
	(unidata-gen-table-name, unidata-gen-table-decomposition)
	(unidata-gen-table-special-casing): Pass index as an argument.
	(unidata-check): Adapt to unidata-file-alist.
	Pass index to generator functions.
	(unidata-gen-files): Adapt to unidata-file-alist.
	Write each output file once only.  Overwrite rather than delete.

2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>

	Fix requesting sparse articles in gnus

	* lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
	sparse article number from the list, not its id.

2017-04-25  Glenn Morris  <rgm@gnu.org>

	Don't advertise s_client in tls.el docs

	* lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
	Don't mention s_client in docs.

2017-04-25  Rob Browning  <rlb@defaultvalue.org>

	Remove s_client usage from tls.el

	* lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
	Ref https://bugs.debian.org/766397
	https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html

2017-04-25  Glenn Morris  <rgm@gnu.org>

	Further robustify cedet bootstrap to loaddefs not yet built

	* lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
	Avoid void-function error when bootstrapping and semantic/loaddefs.el
	does not yet exist.

2017-04-24  Alan Third  <alan@idiocy.org>

	Fix XBM color rendering in NS port (bug#22060)

	src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.

2017-04-24  Vibhav Pant  <vibhavp@gmail.com>

	Add support for IRCv3 message tags.

	* lisp/erc/erc-backend.el:
	  erc-response: Add `tags' element.
	  Add (erc-parse-tags).
	  (erc-parse-server-response): Use (erc-parse-tags) to parse message
	  tags (if any), and store them in `erc-resopnse' struct.

	* lisp/erc/erc.el: (erc-display-message): Expose message tags with text
	  properties of the corresponding message line.

2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Add image sizing tests for an image that's narrow

	Needlessly refactor tests for clarity

2017-04-23  Philipp Stephani  <phst@google.com>

	Add missing remappings for Ido mode

	Among others, add a remapping for C-x 4 d, cf. Bug#26360.

	* lisp/ido.el (ido-mode): Remap missing commands.
	(ido-file-internal, ido-visit-buffer): Add support for new
	methods.
	(ido-display-buffer-other-frame)
	(ido-find-alternate-file-other-window, ido-dired-other-window)
	(ido-dired-other-frame): New commands.

	* test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
	test for the bindings.

2017-04-23  Martin Rudalics  <rudalics@gmx.at>

	Let w32_mouse_position pick a child window only if it has a child frame

	* src/w32term.c (w32_mouse_position): When using a frame found
	by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
	maybe).

2017-04-23  Noam Postavsky  <npostavs@gmail.com>

	Don't require bytecomp for running ert tests

	"Fix ert-tests when running compiled" 2016-12-06 accidentally
	introduced a dependency on `bytecomp' into `ert'.  As mentioned in
	"Avoid ert test failures" 2017-04-18, the accidental dependency of ert
	on bytecomp was masked by loading other libraries until recently.

	* lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
	`byte-compile-macro-environment' if it's bound.
	* test/src/eval-tests.el: Add defvar for dynamic variable
	`byte-compile-debug'.

2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>

	Eliminate unneeded warp-to-article in gnus article referral

	* lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
	(gnus-summary-refer-article): Remove gnus-warp-to article call.

2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>

	Allow limiting gnus summary buffers to a thread

	* lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
	an optional argument to allow limiting the summary buffer to just the
	thread-related articles.
	(gnus-refer-thread-limit-to-thread): Introduce customizable variable
	to control whether thread-referral adds the thread to the summary
	buffer or limits to just the thread.
	(gnus-summary-refer-thread): Use the new variable.

2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>

	Correct gnus-newsgroup-limits in gnus when including thread

	* lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
	only add one list of thread-related articles to gnus-newsgroup-limits
	rather than two.

2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>

	Improve gnus thread matching of similar subjects

	* lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
	Use the more liberal gnus-general-simplify-subject regexp to
	find thread articles with similar subjects.

2017-04-22  Noam Postavsky  <npostavs@gmail.com>

	Add new `lisp-indent-region' that doesn't reparse the code.

	Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
	to get initial state, so they will no longer indent string literal
	contents.

	* lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
	`syntax-ppss', but with a more dependable item 2.
	(lisp-indent-region): New function, like `indent-region-line-by-line'
	but additionally keep a running parse state to avoid reparsing the
	code repeatedly.  Use `lisp-ppss' to get initial state.
	(lisp-indent-line): Take optional PARSE-STATE argument, pass it to
	`calculate-lisp-indent', use `lisp-ppss' if not given.
	(lisp-mode-variables): Set `indent-region-function' to
	`lisp-indent-region'.

2017-04-22  Noam Postavsky  <npostavs@gmail.com>

	Remove ignored argument from lisp-indent-line

	* lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
	argument, the behavior has long since been handled in
	`indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
	variables and use `indent-line-to'.

2017-04-22  Noam Postavsky  <npostavs@gmail.com>

	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.

2017-04-22  Noam Postavsky  <npostavs@gmail.com>

	Don't reparse the sexp in indent-sexp (Bug#25122)

	* lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
	PARSE-START be a parse state that can be reused.
	(indent-sexp): Pass the running parse state to calculate-lisp-indent
	instead of the sexp beginning position.  Saving the
	CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
	needed.  Don't bother stopping if we don't descend below init-depth,
	since we now always scan the whole buffer (via syntax-ppss) anyway.
	* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
	line to test case.

2017-04-22  Vibhav Pant  <vibhavp@gmail.com>

	Add cond test cases for singleton clauses.

	* test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
	  the default clause is a single non-nil expression.

2017-04-22  Vibhav Pant  <vibhavp@gmail.com>

	b-c--cond-jump-table-info: Use correct body for singleton clauses

	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
	When a clause's body consists of a single constant expression, use
	that expression as the body to be compiled. This fixes switch bytecode
	evaluating to nil to such clauses.

2017-04-22  Philipp Stephani  <phst@google.com>

	ffap: Don't switch window unless needed

	When using ffap-other-window, don't change the window configuration
	unless a new buffer has actually been created (Bug#25352).

	* lisp/ffap.el (ffap-other-frame): Don't change the window
	configuration if no new buffer has been created.
	* test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
	test.

2017-04-22  Alan Mackenzie  <acm@muc.de>

	Fix fontification of C++ declaration with type FOO::FOO.

	* lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
	cfd-top-level properly.
	(c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
	before deciding it is a constructor.

	* lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
	result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
	(simple bug fix).

2017-04-22  Philipp Stephani  <phst@google.com>

	Fix usage of FRAME_Z_GROUP

	* src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
	Lisp object, cf. Bug#26597.

2017-04-22  Alan Third  <alan@idiocy.org>

	Fix GNUstep build

	* src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
	compatibility.
	* src/nsmenu.m (update_frame_tool_bar): Remove unused variable.

2017-04-21  Alan Third  <alan@idiocy.org>

	Add no-accept-focus and frame-list-z-order to NS port

	* lisp/frame.el (frame-list-z-order): Add NS.
	* src/nsfns.m: Add x_set_no_accept_focus to handler struct.
	(Fx_create_frame): Handle no-accept-focus parameter.
	(ns_window_is_ancestor):
	(Fns_frame_list_z_order): New functions.
	* src/nsterm.m (x_set_no_accept_focus): New function.
	(initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
	non-fullscreen windows.
	(EmacsWindow:canBecomeKeyWindow): New function.

2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	Improve prefix handling for dash.el

	* lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
	Don't drop dash's "-<letter>" prefixes.

2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet

	Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
	and use a different fix for bug#26068.
	(cl--symbol-macro-key): New function.
	(cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
	Failure is not expected any more.

2017-04-21  Eli Zaretskii  <eliz@gnu.org>

	Avoid infinite loop in redisplay when header-line-format is invalid

	* src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
	string has an invalid %-construct in it and is displayed as part
	of mode-line or header-line.  (Bug#26586)

2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add tests to check image scaling functionality

	This is in preparation to doing further work in this area to avoid
	regressions.

	* test/data/image/blank-200x100.png: New file for testing
	image scaling.

	* test/manual/image-size-tests.el: New file.

2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow svg-image to take all create-image PROPS

	* lisp/svg.el (svg-image): Allow passing in PROPS when
	creating an image for convenience.

2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)

	Treat non-erroring lisp call as successful eshell command (Bug#26161)

	This lets a compound command like 'cd .. && echo ok' print 'ok',
	similar to how most other shells behave.

	* lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
	last exit code was zero, rather than first checking whether the last
	command returned nil.
	(eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.

2017-04-21  Reuben Thomas  <rrt@sc3d.org>

	Fix reading of tab settings in whitespace-mode

	lisp/whitespace.el (whitespace-indent-tabs-mode)
	whitespace-tab-width): Remove these variables. The underlying
	variables `indent-tabs-mode' and `tab-width' are already buffer-local
	when needed, and whitespace-mode never changes them.
	(whitespace-ensure-local-variables): Remove this function, which only
	existed to set the above variables.
	(whitespace-cleanup-region, whitespace-regexp)
	(whitespace-indentation-regexp, whitespace-report-region)
	(whitespace-turn-on, whitespace-color-on): Adjust these functions to
	use `indent-tabs-mode' and `tab-width' directly, and not call
	`whitespace-ensure-local-variables'.

2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning

	by simplifying ascii-test.

2017-04-20  Vibhav Pant  <vibhavp@gmail.com>

	bytecomp: Don't inline functions that use byte-switch (Bug#26518)

	* lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
	  FORM if the bytecode uses the byte-switch instruction. It is
	  impossible to guess the correct stack depth while inlining such
	  bytecode, resulting in faulty code.

2017-04-20  Nicolas Petton  <nicolas@petton.fr>

	Set Emacs version to 25.2 and update AUTHORS file

	* README: Set Emacs version to 25.2.
	* etc/HISTORY: Add release log.
	* lisp/ldefs-boot.el:
	* etc/AUTHORS:
	* ChangeLog.2: Update.

2017-04-20  Noam Postavsky  <npostavs@gmail.com>

	Don't register "def" as an autoload prefix (Bug#26412)

	* lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
	accept "def" as a prefix.

2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use substring completion for Info menus and index

	* lisp/info.el (Info-complete-menu-item): Add `category' metadata.
	(Info-menu): Simplify now that we use the `default' arg of completing-read.
	* lisp/minibuffer.el (completion-category-defaults): Use substring
	completion for `info-menu`.

2017-04-19  Glenn Morris  <rgm@gnu.org>

	Remove some explicit runtime loads of pcase

	Pcase is macros, so these should have used eval-when-compile.
	Anyway, pcase entry points are autoloaded, so the compiler handles it.
	* lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
	* lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
	* lisp/progmodes/xref.el: No need to require pcase.

2017-04-19  Glenn Morris  <rgm@gnu.org>

	Stop cl-lib loading pcase at runtime

	The cause was an unexpanded pcase-defmacro in cl-loaddefs.
	* lisp/emacs-lisp/autoload.el (make-autoload):
	Treat pcase-defmacro like defmacro.

2017-04-19  Alan Third  <alan@idiocy.org>

	Note frame documentation exceptions for NS builds

	* doc/lispref/frames.texi (Management Parameters, Child Frames): Note
	NS differences.

2017-04-19  Alan Third  <alan@idiocy.org>

	Fix bug introduced by my last commit

	* src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.

2017-04-19  Alan Third  <alan@idiocy.org>

	Add new frame functionality to NS port

	* lisp/frame.el (frame-restack): Call ns-frame-restack.
	* src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
	MOVE_FRAME_EVENT handling.
	* src/frame.h:
	* src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
	definitions.
	* src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
	x_set_undecorated (Cocoa only) to handler struct.
	(Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
	frame parameter.
	(Fns_frame_restack): New function.
	* src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
	FRAME_TOOLBAR_HEIGHT is no longer a variable.
	* src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
	Add #defines to find the screen position of the parent frame.
	(NS_TOP_POS): Remove defun.
	(EmacsView): Remove redundant toolbar variables and add createToolbar
	method.
	(FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
	values instead of storing them in a variable.
	* src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
	position into account when positioning frames.
	(initFrameFromEmacs): Remove toolbar creation code and handle new
	frame parameters.
	(x_set_window_size): Remove toolbar height calculation.
	(x_set_z_group):
	(x_set_parent_frame):
	(x_set_undecorated) [NS_IMPL_COCOA]: New function.
	(x_destroy_window): Detach parent if child closes.
	(updateFrameSize): Change NSTRACE message to reflect new reality and
	no longer reset frame size.
	(windowWillResize): Don’t change NS window name when the titlebar
	is invisible.
	(createToolbar): Move toolbar creation code into it’s own method.
	(toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
	are no longer variables.
	(windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.

2017-04-19  Glenn Morris  <rgm@gnu.org>

	Tweak bytecomp's loading of cl-extra

	* lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
	post-bootstrap emacs where cl-loaddefs does exist.

2017-04-19  Glenn Morris  <rgm@gnu.org>

	Avoid unnecessary loading of subr-x at run-time

	* lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
	* lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
	* lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
	No need to load subr-x at run-time.
	* lisp/gnus/nnheader.el: No need to load subr-x.

2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)

	Use iteration in math-factorial-iter

	* lisp/calc/calc-comb.el (math-factorial-iter):
	Use iteration instead of recursion to avoid max-specpdl-size problem.

2017-04-18  Glenn Morris  <rgm@gnu.org>

	* test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.

2017-04-18  Glenn Morris  <rgm@gnu.org>

	Avoid ert test failures

	* lisp/emacs-lisp/ert.el (ert--expand-should-1):
	Avoid errors related to undefined byte-compile-macro-environment.
	Somehow masked until very recently because loading seq (eg)
	loads bytecomp.  https://hydra.nixos.org/build/51730765

2017-04-18  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in indexing the user manual

	* doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.

2017-04-18  Noam Postavsky  <npostavs@gmail.com>

	Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)

	* lisp/emacs-lisp/find-func.el (find-library--from-load-history):
	Rename from find-library--from-load-path.  Check for `load-history'
	entries with nil FILE-NAMEs.  Simplify by not double
	checking for suffixes and making use of `locate-file'.

2017-04-18  Alan Third  <alan@idiocy.org>
	    YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Use vfork if possible on Darwin (bug#26397)


	* src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
	(vfork): Don't define.
	* src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
	set, otherwise vfork.
	* src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
	the controlling terminal instead of setsid.

2017-04-18  Fran Litterio  <flitterio@gmail.com>

	Small erc-kill-channel fix (bug#23700)

	* lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.

2017-04-18  Glenn Morris  <rgm@gnu.org>

	ediff: use user-error rather than debug-ignored-errors

	* lisp/vc/ediff-diff.el (ediff-prepare-error-list):
	* lisp/vc/ediff-help.el (ediff-help-for-quick-help):
	* lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
	(ediff-check-version):
	* lisp/vc/ediff-merg.el (ediff-shrink-window-C):
	* lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
	(ediff-append-custom-diff, ediff-meta-show-patch)
	(ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
	(ediff-get-meta-info, ediff-patch-file-form-meta):
	* lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
	* lisp/vc/ediff-util.el (ediff-toggle-autorefine)
	(ediff--check-ancestor-exists, ediff-toggle-read-only)
	(ediff-toggle-wide-display, ediff-toggle-multiframe)
	(ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
	(ediff-next-difference, ediff-previous-difference)
	(ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
	(ediff-save-buffer):
	* lisp/vc/ediff-wind.el (ediff-make-wide-display):
	* lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
	(ediff-directories-internal, ediff-directory-revisions-internal)
	(ediff-regions-wordwise, ediff-regions-linewise)
	(ediff-load-version-control): Use user-error.
	(debug-ignored-errors): No longer modify.

2017-04-18  Glenn Morris  <rgm@gnu.org>

	mh-e: use user-error rather than debug-ignored-errors

	* lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
	* lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
	(debug-ignored-errors): No longer modify.

2017-04-18  Glenn Morris  <rgm@gnu.org>

	ispell.el: use user-error rather than debug-ignored-errors

	* lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
	(debug-ignored-errors): No longer modify.

2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	* src/xterm.c (x_fill_rectangle): Now static.

2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Tighten recently-added UTF-8 check

	* src/coding.c (encode_coding_utf_8): Now extern.
	* src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
	Check for UTF-8, not just for multibyte.

2017-04-17  David Engster  <deng@randomsample.de>

	xml: Properly handle symbol-qnames for attribute parsing

	* lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
	  xml-ns argument (reverts aea67018) (Bug#26533).
	  (xml-maybe-do-ns): Properly handle default namespace by not
	  interning new symbol when 'special' flag is set.

	* test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
	  (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.

2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	* src/lisp.h (STRING_SET_CHARS): Simplify assertion.

2017-04-17  Eli Zaretskii  <eliz@gnu.org>

	Fix assertion violations when displaying thread-related error

	* src/process.c (Faccept_process_output): Don't assume a thread's
	name is always a string.

2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	dired ‘M’ should not complain about ‘.’ and ‘..’

	* lisp/dired-aux.el (dired-do-redisplay):
	Allow redisplay of ‘.’ and ‘..’ (Bug#26528).

2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	Remove unused coding enums

	* src/coding.h (enum coding_system_type, enum end_of_line_type):
	Remove; unused.

2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	Work around bug with unibyte Linux consoles

	* src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
	the terminal's coding system is unibyte (Bug#26396).

2017-04-16  Teemu Likonen  <tlikonen@iki.fi>

	Fix org-agenda's command for calendar-lunar-phases

	Function org-agenda-phases-of-moon tries to call a non-existing
	function calendar-phases-of-moon. The correct function is
	calendar-lunar-phases.

2017-04-16  Michael Albinus  <michael.albinus@gmx.de>

	Tuning for `separate' Tramp syntax

	* lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
	(tramp-completion-file-name-regexp-separate): Simplify.

	* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
	Extend test.

2017-04-16  Alan Mackenzie  <acm@muc.de>

	Fix bug #26529: C-h k errors with a lambda function bound to a key.

	* lisp/help-fns.el (help-fns--signature, describe-function-1): Check
	`function' is a symbol before trying to get property `reader-construct' from
	it.

2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>

	Fix highlighting of short selectors in CSS mode

	* lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
	selectors where the part before a colon is only one character long,
	such as `a:hover'.

2017-04-16  Eli Zaretskii  <eliz@gnu.org>

	Fix redisplay performance problems with some fonts

	* src/font.c (font_list_entities): Revert part of the changes
	introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
	zero_vector in the font-cache is an important indication that
	cannot be removed.  (Bug#21028)

2017-04-16  Eli Zaretskii  <eliz@gnu.org>

	Add assertion to STRING_SET_CHARS

	* src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
	to prevent incorrect usage.  For details, see this discussion:
	https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.

2017-04-16  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warnings on MS-Windows

	* src/w32term.c (w32_read_socket): Avoid compiler warnings about
	parentheses around assignment.
	* src/w32fns.c (w32_createwindow): Remove unused variable
	dwStyle.  Use "|=" where appropriate.

2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Merge from gnulib

	This incorporates:
	2017-04-14 intprops: try to avoid tickling similar bugs
	2017-04-14 intprops: port to Oracle Studio 12.3 x86
	* doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.

2017-04-15  Martin Rudalics  <rudalics@gmx.at>

	Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'

	* lisp/window.el (with-displayed-buffer-window): When a
	'window-height' action alist entry specifies a function, call
	`temp-buffer-window-show' with a '(window-height . t)' dummy
	entry so `window--try-to-split-window' will bind
	`window-combination-limit' to t and that function does not
	resize any other window but the one we split this one off
	(Bug#25055, Bug#25179).
	(fit-window-to-buffer): Call `window-max-delta' with NOUP t so
	we steal space only from windows in the same combination.
	Stealing space from other windows would not allow us to return
	that space later when this window is deleted (Bug#25055,
	Bug#25179).

2017-04-15  Glenn Morris  <rgm@gnu.org>

	Avoid userlock queries hanging forever in batch mode

	* lisp/userlock.el (ask-user-about-lock)
	(ask-user-about-supersession-threat): Abort in batch mode.

2017-04-14  Martin Rudalics  <rudalics@gmx.at>

	Fix segfault when calling frame_ancestor_p (Bug#26493)

	* src/xterm.c (handle_one_xevent): Check that hf was not reset
	before calling frame_ancestor_p (Bug#26493).

2017-04-14  Martin Rudalics  <rudalics@gmx.at>

	A few additional copy-edits in documentation of frames

	* doc/lispref/frames.texi (Frame Layout)
	(Implied Frame Resizing): Windows -> MS-Windows.
	(Deleting Frames): Fix typo.

2017-04-14  Glenn Morris  <rgm@gnu.org>

	Use user-error for some ert.el errors

	* lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
	(ert-results-find-test-at-point-other-window, ert-describe-test):
	Use user-error.

2017-04-14  Glenn Morris  <rgm@gnu.org>

	Use user-error for customize's "invalid face" error

	* lisp/cus-edit.el (customize-face): Use user-error.
	(debug-ignored-errors): No more need to add "Invalid face".

2017-04-14  Glenn Morris  <rgm@gnu.org>

	Remove duplicate lisp-eval-defun definition

	* lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
	Autoload rather than defining a stub.

2017-04-14  Glenn Morris  <rgm@gnu.org>

	* lisp/Makefile.in (check-defun-dups): Ignore obsolete files.

2017-04-14  Glenn Morris  <rgm@gnu.org>

	Create generated lisp files before main loaddefs.el

	This should improve reproducibility of lisp/loaddefs.el.
	* lisp/Makefile.in (gen-lisp): New phony target.
	($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
	* src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
	* lisp/cedet/semantic.el (semantic-mode):
	* lisp/cedet/semantic/fw.el (top-level):
	* lisp/emacs-lisp/eieio-core.el (top-level):
	Robustify to generated input files maybe not yet existing.

2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Fix minor quoting issues in Makefile.in

	* Makefile.in (install-arch-dep, uninstall):
	Quote EMACS and EMACS_NAME more consistently.

2017-04-13  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (install-etc): Use existing Makefile variables.

2017-04-13  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits of recent changes in documentation

	* doc/lispref/frames.texi (Frame Layout, Frame Position)
	(Frame Size, Frame Interaction Parameters, Input Focus)
	(Raising and Lowering, Child Frames): Improve wording and indexing.
	* doc/emacs/cmdargs.texi (Borders X): Improve indexing.

2017-04-13  Glenn Morris  <rgm@gnu.org>

	Small src/Makefile simplification

	* src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
	($(lispsource)/term/ns-win.elc): Combine rules.

2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>

	Add grid layout module to CSS property list

	* lisp/textmodes/css-mode.el (css-property-alist)
	(css-value-class-alist): Add new properties and value classes from CSS
	Grid Layout Module.

2017-04-13  Martin Rudalics  <rudalics@gmx.at>

	Describe recent frame and window changes in manuals

	* doc/emacs/emacs.texi (Top):
	* doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
	"outer border" (for the X border which can be set from within
	Emacs) and "external border" (for the border which is added by
	the window manager).
	* doc/lispref/display.texi (Tooltips): Clarify slightly.
	* doc/lispref/elisp.texi (Top): Update node and section names.
	* doc/lispref/frames.texi (Frames): Describe difference between
	top-level and child frames.
	(Frame Layout): Describe outer border.  Add more details about
	how Emacs obtains the outer size and position of a frame and
	about menu bar/tool bar wrapping.  Add references to new frame
	parameters.
	(Size and Position): Remove subsection.
	(Frame Position): New subsection excerpted from the earlier Size
	and Position subsection.  Clarify positioning concepts and
	some of their shortcomings.  Describe `move-frame-functions'.
	(Frame Size): New subsection excerpted from the earlier Size
	and Position subsection.  Describe how to track frame size
	changes and the new function `frame-size-changed-p'.
	(Position Parameters): Describe child frame positioning.  Warn
	about negative offsets.  Describe 'z-group' parameter.
	(Size Parameters): Describe 'text-pixels' specification
	facility and new 'min-width' and 'min-height' parameters.
	(Layout Parameters): Clarify description of 'tool-bar-lines' and
	'menu-bar-lines' parameters.
	(Frame Interaction Parameters): New subsubsection describing
	'parent-frame', 'delete-before', 'mouse-wheel-frame' and
	'no-other-frame' parameters.
	(Management Parameters): Describe 'skip-taskbar',
	'no-focus-on-map', 'no-accept-focus', 'undecorated' and
	'override-redirect' parameters.
	(Deleting Frames): Describe handling of 'delete-before'
	parameter and child frames for `delete-frame' and
	`delete-other-frames'.
	(Finding All Frames): Describe `frame-list-z-order' and handling
	of 'no-other-frame' parameter by `next-frame'.
	(Minibuffers and Frames): Minor clarifications.
	(Input Focus): Document `x-focus-frame'.  Clarify descriptions
	of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
	(Visibility of Frames): Describe mapping and how the visibility
	of a parent frame affects that of its child frames.
	(Raising and Lowering): Describe restacking of frames and
	z-groups.
	(Child Frames): New section.
	* doc/lispref/windows.texi (Selecting Windows): Describe
	additional semantics of NORECORD argument of `select-window' and
	how `buffer-list-update-hook' can emulate a "select window
	hook".
	(Mouse Window Auto-selection): New section.

2017-04-13  Damien Cassou  <damien@cassou.me>

	Fix imenu--sort-by-position for non-pairs parameters (bug#26457)

	* lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
	  pairs.
	* test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.

2017-04-13  Eli Zaretskii  <eliz@gnu.org>

	Avoid unnecessary regeneration of the entire loaddefs.el

	* lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
	why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
	($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
	loaddefs.tmp before running 'batch-update-autoloads' on it, to
	avoid slow regeneration of the full contents.  (Bug#26459)
	Use 'move-if-change' instead of 'mv', to avoid producing a new
	Emacs binary when not necessary.

2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>

	Handle indentation of nested ternary operators in JS

	* lisp/progmodes/js.el (js--looking-at-operator-p):
	Handle nested ternary operators.

2017-04-12  Eli Zaretskii  <eliz@gnu.org>

	Don't call 'kill-this-buffer' outside of menus

	* lisp/simple.el (kill-current-buffer): New function.
	(completion-list-mode-map): Use it instead of kill-this-buffer.
	* lisp/type-break.el (type-break-mode):
	* lisp/term/ns-win.el (global-map):
	* lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
	(gdb-disassembly-mode-map, gdb-frames-mode-map)
	(gdb-locals-mode-map, gdb-registers-mode-map):
	* lisp/org/org-mhe.el (org-mhe-follow-link):
	* lisp/net/secrets.el (secrets-mode-map):
	* lisp/net/eudc.el (eudc-mode-map):
	* lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
	kill-current-buffer instead of kill-this-buffer.  (Bug#26466)

2017-04-12  Eli Zaretskii  <eliz@gnu.org>

	* lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)

2017-04-12  Martin Rudalics  <rudalics@gmx.at>

	New internal-border face and args for select-window and x-focus-frame

	Add `internal-border' face and handle it whenever clearing the
	internal border.  If NORECORD equals the symbol
	'mark-for-redisplay', `select-window' will not record the window
	but still mark it for redisplay.  The new argument NOACTIVATE
	for `x-focus-frame' tries to not activate FRAME when set.

	* lisp/faces.el (internal-border): New face.
	* lisp/mwheel.el (mwheel-scroll): Select window to scroll with
	`mark-for-redisplay'.
	* lisp/scroll-bar.el (scroll-bar-drag)
	(scroll-bar-horizontal-drag, scroll-bar-scroll-down)
	(scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
	(scroll-bar-toolkit-horizontal-scroll): Select window to scroll
	with `mark-for-redisplay'.
	* lisp/window.el (handle-select-window): When
	`focus-follows-mouse' is not 'auto-raise' try to not activate
	FRAME.
	* src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
	* src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
	* src/frame.h (x_focus_frame): Update extern declaration.
	* src/gtkutil.c (xg_clear_under_internal_border): Remove
	function.
	(xg_frame_resized, xg_frame_set_char_size): Call
	x_clear_under_internal_border.
	(xg_tool_bar_callback): Adapt x_focus_frame call.
	* src/gtkutil.h (xg_clear_under_internal_border): Remove
	declaration.
	* src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
	* src/w32fns.c (x_clear_under_internal_border): Fill border
	with internal-border background if specified.
	* src/w32term.h (x_clear_under_internal_border): Add extern
	declaration.
	* src/w32term.c (x_after_update_window_line): Fill border
	with internal-border background if specified.
	(w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
	(x_scroll_bar_clear, w32_read_socket): Call
	x_clear_under_internal_border.
	(x_focus_frame): New argument NOACTIVATE.
	* src/window.c (select_window): Mark WINDOW for redisplay when
	NORECORD equals 'mark-for-redisplay'.
	(Fselect_window): Update doc-string.
	(syms_of_window): Define Qmark_for_redisplay.
	* src/xdisp.c (clear_garbaged_frames, echo_area_display)
	(redisplay_internal): Call x_clear_under_internal_border.
	* src/xfaces.c (lookup_basic_face): Handle `window-divider'
	and `internal-border' faces.
	(realize_basic_faces): Realize `internal-border' face.
	(syms_of_xfaces): Define Qinternal_border.
	* src/xfns.c (x_set_internal_border_width): Remove call for
	xg_clear_under_internal_border.
	(x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
	activate frame.
	* src/xterm.c (x_fill_rectangle): No more static.
	(x_clear_under_internal_border, x_after_update_window_line):
	Fill border with internal-border background if specified.
	(xt_horizontal_action_hook): Rewrite.
	(handle_one_xevent): Call x_clear_under_internal_border.
	* src/xterm.h (x_fill_rectangle): Add extern declaration.

2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Port recent frame changes to --enable-gcc-warnings

	* src/frame.c (next_frame, prev_frame):
	Remove now-redundant assertions.
	* src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.

2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>

	Scroll right and left using wheel-right and wheel-left.

	These changes also make use of touchpad and trackpad (Bug#26347).

	* doc/emacs/frames.texi (Mouse Commands): Document horizontal
	scrolling using the mouse wheel.

	* lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
	(mwheel-tilt-scroll-p, mwheel-flip-direction)
	(mwheel-scroll-left-function, mwheel-scroll-right-function): New
	defcustoms.
	(mouse-wheel-left-event, mouse-wheel-right-event): New variables,
	events that calls wheel-left/right.

	* etc/NEWS: Mention horizontal scrolling using the mouse wheel.

2017-04-12  Eli Zaretskii  <eliz@gnu.org>

	* lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".

2017-04-12  Martin Rudalics  <rudalics@gmx.at>

	Add new frame parameters and associated functions

	Add new frame parameters `undecorated', `override-redirect',
	`parent-frame', `skip-taskbar', `no-focus-on-map',
	`no-accept-focus', `z-group', `delete-before', `no-other-frame',
	`mouse-wheel-frame', `min-width', `min-height'.  Add new
	functions `frame-restack' and `frame-list-z-order'.

	* lisp/cus-start.el (focus-follows-mouse): Adapt customization
	type.
	* lisp/frame.el (handle-delete-frame): Handle child and
	`delete-before' frames.
	(other-frame): Stop looking for other frame after one round.
	(frame-list-z-order, frame-restack): New functions.
	(delete-other-frames): Handle child frames.
	* lisp/frameset.el (frameset-persistent-filter-alist)
	(frameset--record-relationships): Handle `delete-before',
	`parent-frame' and `mouse-wheel-frame' parameters.  Rename
	latter from `frameset--record-minibuffer-relationships'.
	(frameset--restore-frame): Handle ‘parent-frame’ parameter
	specially.
	(frameset-restore): Handle `delete-before', `parent-frame' and
	`mouse-wheel-frame' parameters.
	* lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
	parameter.
	* lisp/window.el (window--min-size-ignore-p): Fix doc-string.
	(mouse-autoselect-window-select, handle-select-window): Major
	rewrite.  Try to not ignore errors.  Handle auto-selection of
	child frames and different values of `focus-follows-mouse'.
	* src/frame.c (frame_windows_min_size): Handle new `min-width'
	and `min-height' frame parameters.
	(make_frame): Initialize new frame structure members.
	(do_switch_frame): Don't reset internal_last_event_frame for
	descendant frames.
	(Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
	functions.
	(candidate_frame): Don't return `no-other-frame' frame.
	(other_frames): New function replacing other_visible_frames.
	(delete_frame): Rewrite.  Handle child and `delete-before' frames.
	(Fmake_frame_invisible): Call other_frames.
	(store_frame_param): Check `delete-before' and `parent-frame'
	parameters for circular dependencies.
	(frame_parms, syms_of_frame): Add entries for and define new
	frame parameters.
	(focus_follows_mouse): New meaningful value `auto-raise'.
	* src/frame.h (z_group): New enumeration type.
	(frame): New slots parent_frame, undecorated, override_redirect,
	skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
	(fset_parent_frame): New inlined function.
	(FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
	(FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
	(FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
	(FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
	(FRAME_Z_GROUP_BELOW): New macros.
	(frame_ancestor_p): Add declaration.
	* src/gtkutil.c (xg_create_frame_widgets): Handle
	`undecorated' and `override-redirect' frame parameters.
	(x_wm_set_size_hint): None for child frames.
	(xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
	(xg_set_no_focus_on_map, xg_set_no_accept_focus)
	(xg_set_override_redirect): New functions.
	(xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
	Don't let scrollbars obscure child frames.
	* src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
	(xg_set_skip_taskbar, xg_set_no_focus_on_map)
	(xg_set_no_accept_focus, xg_set_override_redirect): Add extern
	declarations.
	* src/nsfns.m (ns_frame_parm_handlers): Add entries for new
	frame parameters.
	(Fx_create_frame): Install `min-width' and `min-height' frame
	parameters.
	* src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
	* src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
	(x_real_positions): Handle child frames.
	(x_set_menu_bar_lines): Don't for child frames.
	(x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
	(x_set_no_focus_on_map, x_set_no_accept_focus)
	(x_set_z_group): New functions.
	(w32_createvscrollbar, w32_createhscrollbar): Don't draw
	scroll bars over child frames.
	(w32_createwindow): Handle new frame parameters and child frames.
	(w32_wnd_proc): Let mouse clicks into a child frame activate
	the frame.  Try to handle the `no-accept-focus' parameter.  Do
	SetFocus when our window is brought to top or becomes the
	foreground window.
	(w32_window): Don't initialize menu bar for child frames.
	(Fx_create_frame): Handle new frame parameters.
	(x_create_tip_frame): Set explicit_parent slot.
	(w32_dialog_in_progress): New function.
	(Fx_file_dialog): Handle `z-group-above' frames.
	(w32_frame_list_z_order, Fw32_frame_list_z_order)
	(w32_frame_restack, Fw32_frame_restack): New functions.
	(w32_frame_parm_handlers): Add entries for new frame
	parameters.
	* src/w32font.c (Fx_select_font): Handle `z-group-above'
	frames during font selection dialog.
	* src/w32term.c (construct_mouse_wheel): Construct mouse wheel
	event from F's w32 window.
	(w32_mouse_position): Handle child frames.
	(w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
	Don't draw scroll bars over child frames.
	(w32_read_socket): Always erase background of child frames.
	When generating SELECT_WINDOW_EVENTs handle new value of
	`focus-follows-mouse' and handle `no-accept-focus' parameter.
	Handle `mouse-wheel-frame' parameter.
	(x_calc_absolute_position, x_set_offset, x_set_window_size):
	Handle child frames.
	(x_make_frame_visible): Handle child frames specially.  Handle
	`no-focus-on-map' parameter.
	* src/w32term.h (w32_dialog_in_progress): Add external
	declaration.
	* src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
	for child frames.
	* src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
	(PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
	non-Motif, non-GTK case.
	(x_real_pos_and_offsets): Handle child frames.
	(x_set_undecorated, x_set_parent_frame)
	(x_set_no_focus_on_map, x_set_no_accept_focus)
	(x_set_override_redirect): New functions.
	(x_set_menu_bar_lines): Not for child frames.
	(x_window): Handle `undecorated' and `override_redirect' cases.
	(Fx_create_frame): Handle new frame parameters.
	(frame_geometry): Handle child frames and outer border.
	(x_frame_list_z_order, Fx_frame_list_z_order)
	(x_frame_restack, Fx_frame_restack): New functions.
	(Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
	(x_frame_parm_handlers): Add entries for new frame parameters.
	* src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
	frames.
	* src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
	for child frames.
	(XTmouse_position): Handle child frames.
	(x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
	bars obscure child frames.
	(handle_one_xevent): Handle child frame positions.  If necessary
	set `skip-taskbar' and reassign proper `z-group' when we are
	mapped.  When generating SELECT_WINDOW_EVENTs handle new value
	of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
	Let mouse clicks into a child frame activate the frame.
	(x_calc_absolute_position, x_set_offset): Handle child frames
	specially.
	(x_set_skip_taskbar, x_set_z_group): New functions.
	(x_make_frame_visible): Handle child frames.
	(ATOM_REFS_INIT): Add entries for
	Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
	Xatom_net_wm_state_below.
	* src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
	Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
	(x_set_skip_taskbar, x_set_z_group): Add extern declarations.

2017-04-11  Glenn Morris  <rgm@gnu.org>

	Update a package test for hydra

	* test/lisp/emacs-lisp/package-tests.el (with-package-test):
	Also bind package-gnupghome-dir, see eg
	https://hydra.nixos.org/build/51462182 .

2017-04-11  Martin Rudalics  <rudalics@gmx.at>

	Frame movement, focus and hook related changes

	New hook `move-frame-functions'.  Run `focus-in-hook'
	after switching to frame that gets focus.  Don't run
	XMoveWindow for GTK.

	* lisp/frame.el (handle-move-frame, frame-size-changed-p): New
	functions.

	* src/frame.c (do_switch_frame): Simplify code.
	(Fhandle_switch_frame): Switch frame before running
	`handle-focus-in'.
	(Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
	(Vmove_frame_functions): New hook variable.
	* src/keyboard.c (kbd_buffer_get_event): Handle
	MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
	(head_table): Add Qmove_frame entry.
	(syms_of_keyboard): Add Qmove_frame.
	(keys_of_keyboard): Define key for `move-frame'.
	* src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
	* src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
	* src/window.c (run_window_size_change_functions): Record size of
	FRAME's minibuffer window too.
	* src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
	(x_set_offset): For GTK call gtk_widget_move instead of
	XMoveWindow.

2017-04-11  Werner LEMBERG  <wl@gnu.org>

	Avoid abort in ftfont.c due to faulty fonts

	* src/ftfont.c (ftfont_get_metrics): Try loading the font without
	hinting, before aborting.  (Bug#25945)

2017-04-11  Eli Zaretskii  <eliz@gnu.org>

	Document 'line-pixel-height'

	* doc/lispref/display.texi (Size of Displayed Text): Document
	line-pixel-height.  Suggested by Tak Kunihiro
	<tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)

2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>

	Introduce customizable variable 'package-gnupghome-dir'

	* lisp/emacs-lisp/package.el (package-import-keyring)
	(package--check-signature-content, package-check-signature):
	Use new variable package-gnupghome-dir to control which GnuPG
	homedir to use.
	* doc/emacs/package.texi: Mention package-gnupghome-dir.
	* etc/NEWS: Mention package-gnupghome-dir.

2017-04-11  Martin Rudalics  <rudalics@gmx.at>

	Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943

	This activates a change that was installed a few weeks ago but whose
	ChangeLog was inadvertently dropped during its commit.  The proper
	ChangeLog is included below as part of the present commit.

	* src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
	is set avoid calling x_gtk_parse_geometry (Bug#25851).
	(x_wm_set_size_hint): When x_gtk_use_window_move is set, set
	PPosition, USPosition and USSize flags if requested.
	* src/xterm.c (x_set_offset): With GTK when
	x_gtk_use_window_move is set, leave it entirely to
	gtk_window_move to position the window and skip any
	post-adjustments (Bug#25851 and Bug#25943).
	(x_gtk_use_window_move): New variable.

2017-04-10  Alan Mackenzie  <acm@muc.de>

	Fix a loop in C Mode caused by inadequate analysis of comments.

	After M-;, and the insertion of the opening "/*", the CC Mode after-change
	function got confused, since the new comment opener matched the end of a
	subsequent comment, but moving back over that comment did not come back to the
	starting point.  Fix this.

	* lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
	point is left if no end-of-macro is found before it.
	(c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
	non-nil except where we have an unclosed block comment at the end of a macro.
	This enables us to populate the cache more fully, at the cost of some run
	time.

2017-04-10  Lars Brinkhoff  <lars@nocrew.org>

	Add PVSIZE function to return the size of a pseudovector.

	* src/lisp.h (PVSIZE): New function.

	* src/chartab.c (copy_char_table):
	* src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
	* src/doc.c (Fdocumentation, store_function_docstring):
	* src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
	* src/fns.c (Flength, Fcopy_sequence):
	* src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
	* src/lread.c (substitute_object_recurse):
	* src/print.c (print_object):
	  Use it.

2017-04-10  Michael Albinus  <michael.albinus@gmx.de>

	Add Tramp tests

	* lisp/net/tramp.el (tramp-syntax): Adapt docstring.

	* test/lisp/net/tramp-tests.el
	(tramp-test01-file-name-syntax-simplified)
	(tramp-test01-file-name-syntax-separate)
	(tramp-test02-file-name-dissect-simplified)
	(tramp-test02-file-name-dissect-separate): New tests.

2017-04-10  Martin Rudalics  <rudalics@gmx.at>

	Make sure that `shell' makes BUFFER current

	* lisp/shell.el (shell): Restrict scope of recently added
	`with-current-buffer' to make sure that BUFFER is current when
	`shell' returns.

2017-04-10  Jim Blandy  <jimb@red-bean.com>

	Default to PCRE syntax when reading .hgignore

	* lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
	Default to the PCRE syntax (bug#26249).

2017-04-09  Michael Albinus  <michael.albinus@gmx.de>

	Document Tramp changes

	* doc/misc/tramp.texi (Change file name syntax): New node.

	* etc/NEWS: Mention `tramp-change-syntax'.

	* lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
	External packages uses it.
	(tramp-syntax): Set also `tramp-file-name-regexp'.

2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib (Bug#26398)

	This incorporates:
	2017-04-08 getopt: prefer - to _ in new file names
	2017-04-08 getopt: port recent getopt changes to macOS
	* .gitignore: Add lib/getopt-cdefs.h.
	* lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
	* lib/getopt-core.h: Rename from lib/getopt_core.h.
	* lib/getopt-ext.h: Rename from lib/getopt_ext.h.
	* lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
	* lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
	* lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
	Copy from Gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

2017-04-09  Ken Raeburn  <raeburn@raeburn.org>

	Write updated loaddefs to a temporary file and rename into place.

	In a parallel build, byte compilation can be running at the same times
	as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
	loaddefs.el is read at startup and must always be in a usable state.

	* lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
	loaddefs.el.new and then rename it to loaddefs.el.

2017-04-09  Glenn Morris  <rgm@gnu.org>

	In the manual, mention pops and imaps

	* doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
	Mention pops and imaps protocols.

2017-04-09  Glenn Morris  <rgm@gnu.org>

	* doc/emacs/rmail.texi: Prefer @command to @code for movemail.

2017-04-09  Sergey Poznyakoff  <gray@gnu.org>

	Fix rmail handling of movemail protocols (bug#18278)

	* lisp/mail/rmail.el (rmail-remote-proto-p): New function.
	(rmail-parse-url): Return protocol in second list element.
	Only use passwords with remote mailboxes.
	(rmail-insert-inbox-text): Handle non-simple local
	mailboxes (maildir, MH, etc.).

2017-04-09  Glenn Morris  <rgm@gnu.org>

	Fix typos in manual re movemail local mailboxes

	* doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
	Fix examples of local mailbox urls.

2017-04-08  Glenn Morris  <rgm@gnu.org>

	* lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.

2017-04-08  Glenn Morris  <rgm@gnu.org>

	Remove references to OS/2 in code, doc, and comments

	* lisp/gnus/nnheader.el (nnheader-read-timeout)
	(nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
	* lisp/emulation/viper-util.el (viper-color-defined-p):
	* lisp/net/pop3.el (pop3-read-timeout):
	* lisp/net/imap.el (imap-read-timeout):
	* lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
	* lisp/emulation/viper-ex.el (viper-glob-function):
	* lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
	* lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
	* doc/emacs/msdos-xtra.texi (MS-DOS):
	* doc/misc/gnus.texi (Various Various):
	* doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.

2017-04-08  Michael Albinus  <michael.albinus@gmx.de>

	Tune Tramp syntax

	* lisp/net/tramp-cmds.el (tramp-change-syntax):
	Use `tramp-syntax-values'.

	* lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.

	* lisp/net/tramp.el (tramp-syntax): Rename possible values.
	(tramp-syntax-values): New defun.
	(tramp-prefix-format, tramp-method-regexp)
	(tramp-postfix-method-format, tramp-prefix-ipv6-format)
	(tramp-postfix-ipv6-format, tramp-postfix-host-format)
	(tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
	and changed values.
	(tramp-completion-file-name-regexp-default): Rename from
	`tramp-completion-file-name-regexp-unified'.  Adapt docstring.
	(tramp-completion-file-name-regexp-simplified): Rename from
	`tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
	(tramp-initial-completion-file-name-regexp):
	Use `tramp-completion-file-name-regexp-default'.
	(tramp-run-real-handler): Do not autoload any longer.

2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>

	Replace more nested ifs with cond

	This is a continuation of d526047 "Replace more nested ifs with cond".
	* lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
	when and cond where appropriate.

2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>

	Adjust the edebug spec of if-let*

	This was fixed in Bug#24748, but now looking more closely, using gate in
	the spec seems correct.  See (info "(elisp) Backtracking").
	* lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.

2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>

	Replace some uses of cl-member-if with apply

	From the mhtml-mode series.  Some of the uses of cl-lib are not
	necessary.
	* lisp/align.el: Don't require cl-lib.
	(align-region): Use apply instead of cl-member-if.
	* lisp/emulation/viper.el: Don't require cl-lib.
	(viper-mode, this-major-mode-requires-vi-state): Use apply instead of
	cl-member-if.

2017-04-08  Philipp Stephani  <phst@google.com>

	Validate SPEC of `dolist', cf. Bug#25477.

	* lisp/subr.el (dolist): Test type and length of SPEC.
	* test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
	Add unit test.

2017-04-08  Philipp Stephani  <phst@google.com>

	Add unit test for Bug#26378

	* test/lisp/vc/ediff-diff-tests.el
	(ediff-diff-tests--ediff-exec-process--nil): New unit test.

2017-04-08  Lars Brinkhoff  <lars@nocrew.org>

	Fix circular read syntax for records.

	* src/lread.c (substitute_object_recurse): Work with records.

	* test/src/lread-tests.el (lread-record-1): New test.

2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>

	Deprecate copy-record in favor of copy-sequence

	Since copy-sequence seems to be needed anyway for records, have it
	work on records, and remove copy-record as being superfluous.
	* doc/lispref/records.texi (Records, Record Functions):
	* lisp/emacs-lisp/cl-macs.el (cl-defstruct):
	* lisp/emacs-lisp/eieio.el (make-instance, clone):
	* test/src/alloc-tests.el (record-3):
	Use copy-sequence, not copy-record, to copy records.
	* doc/lispref/sequences.texi (Sequence Functions)
	(Array Functions): Document that aref and copy-sequence
	work on records.
	* etc/NEWS: Omit copy-record.
	* src/alloc.c (Fcopy_record): Remove.
	* src/data.c (Faref): Document that arg can be a record.
	* src/fns.c (Fcopy_sequence): Copy records, too.

2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix dependency checking in src/Makefile.in

	* src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
	dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
	Otherwise, some dependencies will be missed.

2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>

	Minor tuneup of write-region change

	* src/fileio.c (write_region): Use SCHARS, not Flength,
	on a value known to be a string.

2017-04-08  Noam Postavsky  <npostavs@gmail.com>

	Adjust write-region so file name is at the beginning again

	* lisp/epa-file.el (epa-file-write-region):
	* lisp/gnus/mm-util.el (mm-append-to-file):
	* lisp/jka-compr.el (jka-compr-write-region):
	* lisp/net/ange-ftp.el (ange-ftp-write-region):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
	* src/fileio.c (write_region): Put file name at the beginning and move
	number of characters to the end of the message.

2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>

	Check that file argument is a string

	* lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
	  passed to `file-local-copy' is a string (Bug#26378).  Also fix
	  the existing comment for this function, and convert it to its
	  doc-string.

2017-04-08  Noam Postavsky  <npostavs@gmail.com>

	Fix handling of non-integer START param to write-region

	The previous patch for Bug#354 incorrectly assumed that START would
	always be an integer.

	* lisp/epa-file.el (epa-file-write-region):
	* lisp/jka-compr.el (jka-compr-write-region):
	* lisp/net/ange-ftp.el (ange-ftp-write-region):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
	* src/fileio.c (write_region): Handle nil and string values of START.

2017-04-07  Glenn Morris  <rgm@gnu.org>

	* lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.

2017-04-07  Michael Albinus  <michael.albinus@gmx.de>

	Add Tramp versions to `customize-package-emacs-version-alist'

	* lisp/net/trampver.el (customize-package-emacs-version-alist):
	Add Tramp versions to `customize-package-emacs-version-alist'.

2017-04-07  Tom Tromey  <tom@tromey.com>

	* lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.

2017-04-07  Lars Brinkhoff  <lars@nocrew.org>

	* doc/lispref/records.texi (Record Functions): fix typo.

2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>

	More casefiddle minor fixes

	* src/casefiddle.c (case_character_impl): Omit unnecessary casts.
	(case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
	(GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.

2017-04-07  Jeff Clough  <kb1vqh@gmail.com>

	Output number of characters added to file (Bug#354)

	* src/fileio.c (write_region):
	* lisp/epa-file.el (epa-file-write-region):
	* lisp/jka-compr.el (jka-compr-write-region):
	* lisp/net/ange-ftp.el (ange-ftp-write-region):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
	* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
	* lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
	characters written in addition to file name.
	* doc/lispref/files.texi: Added documentation to write-region and
	append-to-file describing their output.

2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>

	Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap

	The recent changes to src/casefiddle.c cause build failure as seen
	below:

	    Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
		--batch --load loadup bootstrap
	    [Thread debugging using libthread_db enabled]
	    Using host libthread_db library "/usr/lib/libthread_db.so.1".
	    Loading loadup.el (source)...
	    Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
		/home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
		/home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
		/home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
		/home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
		/home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
	    Loading emacs-lisp/byte-run (source)...
	    Loading emacs-lisp/backquote (source)...
	    Loading subr (source)...
	    Loading version (source)...
	    Loading widget (source)...
	    Loading custom (source)...
	    Loading emacs-lisp/map-ynp (source)...
	    Loading international/mule (source)...
	    Loading international/mule-conf (source)...

	    lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)

	    Breakpoint 1, terminate_due_to_signal at emacs.c:363
	    363	  signal (sig, SIG_DFL);
	    (gdb) bt
	    #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
	    #1  0x000000000060ec33 in die at alloc.c:7352
	    #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
	    #3  0x0000000000576884 in intern_c_string at lisp.h:3790
	    #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
	    #5  0x00000000005dd37f in casify_object at casefiddle.c:311
	    #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
	    #7  0x00000000006325ac in eval_sub at eval.c:2219
	    #8  0x0000000000632368 in eval_sub at eval.c:2184
	    #9  0x000000000063446c in apply_lambda at eval.c:2875
	    #10 0x00000000006329af in eval_sub at eval.c:2294
	    #11 0x000000000062d462 in Fprogn at eval.c:449
	    #12 0x000000000062d4cf in prog_ignore at eval.c:461
	    #13 0x000000000062f19c in Fwhile at eval.c:982
	    #14 0x00000000006321f4 in eval_sub at eval.c:2172
	    #15 0x000000000062d462 in Fprogn at eval.c:449
	    #16 0x000000000062f0c4 in Flet at eval.c:963
	    #17 0x00000000006321f4 in eval_sub at eval.c:2172
	    #18 0x0000000000632963 in eval_sub at eval.c:2290
	    #19 0x000000000062d462 in Fprogn at eval.c:449
	    #20 0x000000000062f0c4 in Flet at eval.c:963
	    #21 0x00000000006321f4 in eval_sub at eval.c:2172
	    #22 0x0000000000668caa in readevalloop at lread.c:1927
	    #23 0x0000000000667253 in Fload at lread.c:1332
	    #24 0x0000000000632683 in eval_sub at eval.c:2233
	    #25 0x0000000000668caa in readevalloop at lread.c:1927
	    #26 0x0000000000667253 in Fload at lread.c:1332
	    #27 0x0000000000632683 in eval_sub at eval.c:2233
	    #28 0x0000000000631be5 in Feval at eval.c:2041
	    #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
	    #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
	    #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
	    #32 0x000000000062f51e in internal_catch at eval.c:1091
	    #33 0x000000000057e0ea in command_loop at keyboard.c:1090
	    #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
	    #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
	    #36 0x000000000057b55b in main at emacs.c:1687

	    Lisp Backtrace:
	    "capitalize" (0xffffcf70)
	    "format" (0xffffd130)
	    "define-charset" (0xffffd370)
	    "while" (0xffffd560)
	    "let" (0xffffd7c0)
	    "dolist" (0xffffd910)
	    "let" (0xffffdb70)
	    "load" (0xffffdfe0)
	    "load" (0xffffe4a0)

	* src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
	Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
	Qspecial_titlecase.
	(prepare_casing_context): Use aforementioned symbols.

2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This merges some getopt fixes from Zack Weinberg, and affects only
	non-GNUish platforms.  It incorporates:
	2017-04-06 getopt-gnu: omit some duplicate code
	2017-04-06 getopt-posix: use angle-bracket include
	2017-04-06 getopt: annotate files with relationship to glibc
	2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
	2017-04-06 getopt: better handling of ambiguous options
	2017-04-06 getopt: refactor long-option handling
	2017-04-06 getopt: tidy up _getopt_initialize a bit
	2017-04-06 getopt: merge from glibc: repetition reduction
	2017-04-06 getopt: clean up error reporting
	2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
	2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
	2017-04-06 getopt: harmonize comments with glibc
	2017-04-06 getopt: remove USE_NONOPTION_FLAGS
	2017-04-06 getopt: tabify, in preparation for merge with glibc
	2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
	* build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
	* lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
	* lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
	* lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
	Copy from gnulib.
	* lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
	* lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
	New files, taken from gnulib.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4:
	Regenerate.

2017-04-07  Hong Xu  <hong@topbug.net>

	* src/search.c (Fre_search_forward, Fre_search_backward): Improve
	doc (Bug#25193).

2017-04-07  Noam Postavsky  <npostavs@gmail.com>

	Mention that processes start in default-directory (Bug#18515)

	* doc/lispref/processes.texi (Synchronous Processes):
	(Asynchronous Processes):
	* lisp/subr.el (start-process):
	* src/callproc.c (call-process): Mention that the subprocess starts in
	`default-directory' when local, suggest `start-file-process' and
	`process-file' otherwise.

2017-04-07  Noam Postavsky  <npostavs@gmail.com>

	* src/xdisp.c (vmessage, message): Clarify commentary.

2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>

	Minor casefiddle.c cleanups

	* src/casefiddle.c: Redo recent changes to match GNU style,
	and prefer C99-style decls within blocks.
	(GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
	we are merely using the Unicode name, and make it a constant
	rather than a macro.  All uses changed.
	(SMALL_SIGMA): Remove; unused.
	(GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
	and make it a constant rather than a macro.  All uses changed.
	(do_casify_multibyte_string): Use ‘verify’ rather than an
	unportable static_assertion local.

2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/international/README: Update to match current list.

2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>

	Fix 'make clean' in lib subdirectory

	* lib/Makefile.in (clean): Remove *-t files.
	(mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
	This removes files like lib/getopt.h that should be removed
	even if this configuration did not need to build them.
	(maintainer-clean): Remove TAGS here, not in distclean,
	to be consistent with ../src/Makefile.in.

2017-04-06  Michael Albinus  <michael.albinus@gmx.de>

	Add new Tramp syntax

	* lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.

	* lisp/net/tramp.el (tramp-syntax): Change default to `def'.
	Add :set function.
	(tramp-prefix-port-format): Simplify.
	(tramp-file-name-regexp-separate): Remove.
	(tramp-initial-file-name-regexp)
	(tramp-completion-file-name-regexp-old-style)
	(tramp-initial-completion-file-name-regexp): New defconst.
	(tramp-prefix-format, tramp-prefix-regexp)
	(tramp-method-regexp, tramp-postfix-method-format)
	(tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
	(tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
	(tramp-postfix-ipv6-regexp)
	(tramp-postfix-host-format, tramp-postfix-host-regexp)
	(tramp-remote-file-name-spec-regexp)
	(tramp-file-name-structure, tramp-file-name-regexp)
	(tramp-completion-file-name-regexp)
	(tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
	(tramp-tramp-file-p, tramp-find-method)
	(tramp-dissect-file-name, tramp-make-tramp-file-name)
	(tramp-completion-make-tramp-file-name)
	(tramp-rfn-eshadow-update-overlay)
	(tramp-register-autoload-file-name-handlers)
	(tramp-register-file-name-handlers)
	(tramp-unload-file-name-handlers)
	(tramp-completion-handle-file-name-all-completions)
	(tramp-completion-dissect-file-name, tramp-clear-passwd):
	* lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
	* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
	(tramp-compute-multi-hops): Use them.

2017-04-06  Michal Nazarewicz  <mina86@mina86.com>

	Implement special sigma casing rule  (bug#24603)

	In Greek, a sigma character has two lower case forms which depend on
	their position in the word.  Implement logic determining it.

	* src/casefiddle.c (struct casing_context, case_character_impl): Don’t
	assume inword is true when flag is CASE_UP and false when flag is
	CASE_DOWN.  For final sigma detection we need this information tracked
	reliably;.
	(CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
	Unicode code point of different forms of sigma letter.
	(case_character): Implement support for final sigma casing.
	(do_casify_multibyte_string, do_casify_multibyte_region): Update after
	changes to case_character.

	* test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
	cases for final sigma.

2017-04-06  Michal Nazarewicz  <mina86@mina86.com>

	Support casing characters which map into multiple code points  (bug#24603)

	Implement unconditional special casing rules defined in Unicode standard.

	Among other things, they deal with cases when a single code point is
	replaced by multiple ones because single character does not exist (e.g.
	‘ﬁ’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
	into SS).

	* admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
	standard distribution.
	* admin/unidata/README: Mention SpecialCasing.txt.

	* admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
	unidata-gen-table-special-casing--do-load): New functions generating
	‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
	character Unicode properties built from the SpecialCasing.txt Unicode
	data file.

	* src/casefiddle.c (struct casing_str_buf): New structure for
	representing short strings used to handle one-to-many character
	mappings.

	(case_character_imlp): New function which can handle one-to-many
	character mappings.
	(case_character, case_single_character): Wrappers for the above
	functions.  The former may map one character to multiple (or no)
	code points while the latter does what the former used to do (i.e.
	handles one-to-one mappings only).

	(do_casify_natnum, do_casify_unibyte_string,
	do_casify_unibyte_region): Use case_single_character.
	(do_casify_multibyte_string, do_casify_multibyte_region): Support new
	features of case_character.
	* (do_casify_region): Updated to reflact do_casify_multibyte_string
	changes.

	(casify_word): Handle situation when one character-length of a word
	can change affecting where end of the word is.

	(upcase, capitalize, upcase-initials): Update documentation to mention
	limitations when working on characters.

	* test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
	Add test cases for the newly introduced character properties.
	(casefiddle-tests-casing): Update test cases which are now passing.

	* test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
	char-fold--ascii-downcase): New functions which behave like old ‘upcase’
	and ‘downcase’.
	(char-fold--test-match-exactly): Use the new functions.  This is needed
	because otherwise ﬁ and similar characters are turned into their multi-
	-character representation.

	* doc/lispref/strings.texi: Describe issue with casing characters versus
	strings.
	* doc/lispref/nonascii.texi: Describe the new character properties.

2017-04-06  Michal Nazarewicz  <mina86@mina86.com>

	Split up casify_region function  (bug#24603)

	No functional changes at this time but splitting casify_region into
	a function dealing with multibyte and another dealing with unibyte
	buffers will make future code changes slightly easier.

	* src/casefiddle.c (casify_region): Move most of the code into two
	new functions:
	(do_casify_multibyte_region, do_casify_unibyte_region): new functions.

2017-04-06  Michal Nazarewicz  <mina86@mina86.com>

	Add support for title-casing letters  (bug#24603)

	* src/casefiddle.c (struct casing_context, prepare_casing_context): Add
	titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
	property table if capitalization has been requested.
	(case_character): Make use of the titlecase_char_table to title-case
	initial characters when capitalizing.

	* test/src/casefiddle-tests.el (casefiddle-tests--characters,
	casefiddle-tests-casing): Update test cases which are now passing.

2017-04-06  Michal Nazarewicz  <mina86@mina86.com>

	Introduce case_character function

	Move single-character casing logic into a separate function so that
	it is collected in a single place.  This will make future changes to
	the logic easier.  This commit introduces no functionality changes.

	* src/casefiddle.c (struct casing_context, prepare_casing_context): New
	structure for saving casing context and function to initialize it.
	(case_character): New function which cases character base on provided
	context.
	(do_casify_integer, do_casify_multibyte_string,
	do_casify_unibyte_string, casify_object, casify_region): Convert to
	use casing_context and case_character.

2017-04-06  Michal Nazarewicz  <mina86@mina86.com>

	Split casify_object into multiple functions

	casify_object had three major cases to cover and those were mostly
	independent of each other.  Move those branches to separate function
	so it’s easier to comprehend each individual case.

	While at it, use somewhat more descriptive ch and cased variable names
	rather than c and c1.

	This commit introduces no functional changes.

	* src/casefiddle.c (casify_object): Split into…
	(do_casify_integer, do_casify_multibyte_string,
	do_casify_unibyte_string): …new functions.

2017-04-06  Lars Brinkhoff  <lars@nocrew.org>

	Update documentation for type semantics of records.

	* doc/lispref/objects.texi (Record Type): improve description of what
	`type-of' returns for records.
	(Type Descriptors): new section.
	* doc/lispref/elisp.texi: reference it.
	* doc/lispref/records.texi (Records): reference it.  Document
	behavior when type slot is a record.

	* admin/alloc-colors.c (Fmake_record, Frecord): mention type descriptors.

2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.

2017-04-06  Tom Tromey  <tom@tromey.com>

	require cl-lib to fix fallout from mhtml series

	* lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
	lisp/emulation/viper.el: Require cl-lib.

2017-04-06  Ken Raeburn  <raeburn@raeburn.org>

	In CANNOT_DUMP builds, allow editing of files named "dump".

	* lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
	calling dump-emacs only if dump-emacs is defined; otherwise, don't
	treat those command-line argument specially.

2017-04-06  Ken Raeburn  <raeburn@raeburn.org>

	In CANNOT_DUMP builds, don't prepare for unexec.

	Having a command-line argument of "dump" or "bootstrap" would trigger
	behavior like not installing signal handlers.  In CANNOT_DUMP modes,
	we should get signal handlers installed regardless of whatever funny
	file names we decide to edit.

	src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
	alterations to initialization that prepares the process for unexec.

2017-04-06  Ken Raeburn  <raeburn@raeburn.org>

	Allow a CANNOT_DUMP build to use exec-path during bootstrap.

	During a bootstrap, loading rmail.el invokes movemail to determine its
	flavor, but call-process doesn't work if exec-path is nil.

	* lisp/loadup.el: Only clear exec-path if dumping.

2017-04-06  Ken Raeburn  <raeburn@raeburn.org>

	Fix CANNOT_DUMP build on Darwin/macOS.

	* src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
	CANNOT_DUMP]: Don't define as unexec_malloc, etc.
	* src/emacs.c (main): Don't call unexec_init_emacs_zone.

2017-04-05  Tom Tromey  <tom@tromey.com>

	add two more mhtml tests

	* test/manual/indent/html-multi-2.html: New file.
	* test/manual/indent/html-multi-3.html: New file.

2017-04-05  Tom Tromey  <tom@tromey.com>

	enable mhtml-mode by default

	* lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
	html-mode.
	(magic-fallback-mode-alist): Likewise.
	* lisp/net/eww.el (eww-view-source): Use mthml-mode.

2017-04-05  Tom Tromey  <tom@tromey.com>

	add mhtml-mode.el

	* etc/NEWS: Update.
	* lisp/textmodes/mhtml-mode.el: New file.
	* test/manual/indent/html-multi.html: New file.
	* test/lisp/textmodes/mhtml-mode-tests.el: New file.
	* doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.

2017-04-05  Tom Tromey  <tom@tromey.com>

	change sgml-mode to help multi-html mode

	* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
	defconst.
	(sgml-syntax-propertize): Use it.
	(sgml--find-<>-backward): New function.
	(sgml-parse-tag-backward): Use it.

2017-04-05  Tom Tromey  <tom@tromey.com>

	make js.el respect prog-first-column

	* lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.

2017-04-05  Tom Tromey  <tom@tromey.com>

	make smie.el respect prog-first-column

	* lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.

2017-04-05  Tom Tromey  <tom@tromey.com>

	change viper to use derived-mode-p

	* lisp/subr.el (provided-mode-derived-p): New function.
	(derived-mode-p): Use it.
	* lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
	(this-major-mode-requires-vi-state): Use provided-mode-derived-p.
	(set-viper-state-in-major-mode): Use derived-mode-p.

2017-04-05  Tom Tromey  <tom@tromey.com>

	change align to use derived-mode-p

	* lisp/align.el (align-region): Use derived-mode-p.

2017-04-05  Tom Tromey  <tom@tromey.com>

	change org to use derived-mode-p

	* lisp/org/org-list.el (org-list-insert-radio-list): Use
	derived-mode-p.
	* lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
	derived-mode-p.

2017-04-05  Tom Tromey  <tom@tromey.com>

	change semantic to use derived-mode-p

	* lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.

2017-04-05  Tom Tromey  <tom@tromey.com>

	change calc to use derived-mode-p

	* lisp/calc/calc-embed.el (calc-embedded-find-modes)
	(calc-embedded-make-info): Use derived-mode-p.

2017-04-05  Tom Tromey  <tom@tromey.com>

	change auto-insert to use derived-mode-p

	* lisp/autoinsert.el (auto-insert): Use derived-mode-p.

2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp/info.el (Info-search): Fix typo in April 1 change.

2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	Minor cleanups related to type-of

	* src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
	* src/data.c (syms_of_data):
	* src/frame.c (syms_of_frame): Put all the primitive type names
	together, under the "Types that type-of returns" comment.

2017-04-05  Glenn Morris  <rgm@gnu.org>

	* doc/lispref/package.texi (Package Archives): Mention https.

2017-04-05  Glenn Morris  <rgm@gnu.org>

	Advertise https for homepage of gnu.org packages

	* lisp/emacs-lisp/package.el (describe-package-1):
	Use https, if supported, for the homepage of packages on gnu.org.

2017-04-05  Glenn Morris  <rgm@gnu.org>

	Default to https for elpa.gnu.org if gnutls available

	* lisp/emacs-lisp/package.el (package-archives):
	Default to https for elpa.gnu.org if gnutls is available.  Ref:
	https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html

2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>

	Minor simplifications and doc for records

	* doc/lispref/records.texi (Records): Mention size limit.
	* etc/NEWS: Mention records.
	* src/alloc.c (allocate_pseudovector, allocate_record):
	Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
	(allocate_record): Check arg range here, not in callers, as this
	simplifies the code.  Use allocate_vectorlike instead of
	allocate_vector, to avoid duplicate runtime tests.
	(Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
	the doc string, as it is not visible to the user.
	(Fmake_record, record, Fcopy_record):
	Prefer make_lisp_ptr to XSETVECTOR.
	(record): Broaden memcpy to copy the type, too.

2017-04-04  Eli Zaretskii  <eliz@gnu.org>

	Fix recent changes in record data type

	* src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
	compiler warnings when 'ptrdiff_t' is narrower than 'long int'.

2017-04-04  Philipp Stephani  <phst@google.com>

	Make subprocess functions resolve the default directory

	`call-process' doesn't respect file name handlers in
	`default-directory', so `file-name-non-special' has to resolve them
	for `process-file', `start-file-process', and
	`shell-command' (Bug#25949).

	* lisp/files.el (file-name-non-special): Also resolve default
	directory for 'process-file', 'start-file-process', and
	'shell-command'.
	* test/lisp/files-tests.el
	(files-tests--file-name-non-special--subprocess): Add unit test.

2017-04-04  Philipp Stephani  <phst@google.com>

	Make ediff handle remote and quoted file names

	Quoted file names need to be unquoted before passed to
	subprocesses (Bug#25950).

	* lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
	file names.
	* test/lisp/vc/ediff-diff-tests.el
	(ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.

2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	Backward compatibility with pre-existing struct instances.

	* lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
	(cl-old-struct-compat-mode): New minor mode.

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
	cl-struct-define to signal use of record objects.

	* lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
	cl-struct-define): Enable legacy defstruct compatibility.

	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
	old-struct): New tests.

	* doc/lispref/elisp.texi, doc/lispref/records.texi: Document
	`old-struct-compat'.

2017-04-04  Lars Brinkhoff  <lars@nocrew.org>

	Make the URL library use records.

	* lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
	lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
	lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.

	* lisp/url/url-http.el (url-http): Check for type `url' instead of
	`vector'.

2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	Make EIEIO use records.

	* lisp/emacs-lisp/eieio-compat.el
	(eieio--generic-static-object-generalizer): Adjust to new tags.

	* lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
	directly as tag.
	(eieio--object-class): Adjust to new tag representation.
	(eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
	(eieio-defclass-internal): Use `make-record'.
	(eieio--generic-generalizer): Adjust generalizer code accordingly.

	* lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.

	* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
	Add `recordp'.

	* doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.

2017-04-04  Lars Brinkhoff  <lars@nocrew.org>

	Make cl-defstruct use records.

	* lisp/emacs-lisp/cl-extra.el (cl--describe-class)
	(cl--describe-class-slots): Use the new `type-of'.

	* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
	(cl--generic-struct-specializers): Adjust to new tag.

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
	Use the type symbol as the tag.  Use copy-record to copy structs.
	(cl--defstruct-predicate): New function.
	(cl--pcase-mutually-exclusive-p): Use it.
	(cl-struct-sequence-type): Can now return `record'.

	* lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
	code to new format.
	(cl--struct-register-child): Work with records.
	(cl-struct-define): Don't touch the tag's symbol-value and
	symbol-function slots when we use the type as tag.

	* lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.

	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
	New test.

	* doc/lispref/records.texi, doc/misc/cl.texi: Update for records.

2017-04-04  Lars Brinkhoff  <lars@nocrew.org>

	Add record objects with user-defined types.

	* src/alloc.c (allocate_record): New function.
	(Fmake_record, Frecord, Fcopy_record): New functions.
	(syms_of_alloc): defsubr them.
	(purecopy): Work with records.

	* src/data.c (Ftype_of): Return slot 0 for record objects, or type
	name if record's type holds class.
	(Frecordp): New function.
	(syms_of_data): defsubr it.  Define `Qrecordp'.
	(Faref, Faset): Work with records.

	* src/fns.c (Flength): Work with records.

	* src/lisp.h (prec_type): Add PVEC_RECORD.
	(RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.

	* src/lread.c (read1): Add syntax for records.

	* src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
	(print_object): Add syntax for records.

	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
	New test.

	* test/src/alloc-tests.el (record-1, record-2, record-3):
	New tests.

	* doc/lispref/elisp.texi, doc/lispref/objects.texi,
	doc/lispref/records.texi: Add documentation for records.

2017-04-04  Tino Calancha  <tino.calancha@gmail.com>

	Fix a test in python-test.el

	Fix a test that breaks the test suite when it is run within a
	virtual environment.
	See following link for details:
	https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
	* test/lisp/progmodes/python-tests.el
	(python-shell-calculate-process-environment-7): Bind
	python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
	bind it to '/env'.

2017-04-04  Noam Postavsky  <npostavs@gmail.com>

	Throw a `search-failed' derived error in Info search

	The original fix for Bug#6106 switched from signaling `search-failed'
	to `user-error'.  However, this breaks incremental searching over
	multiple nodes because the isearch code doesn't expect a `user-error'.

	* src/search.c (syms_of_search): New error, `user-search-failed',
	with `user-error' and `search-failed' as parents.
	* doc/lispref/errors.texi (Standard Errors): Document it.
	* etc/NEWS: Announce it.
	* lisp/info.el (Info-search): Use it instead of `user-error' so that
	isearch will handle failed searches correctly.

2017-04-03  Michael Albinus  <michael.albinus@gmx.de>

	Add Tramp test

	* doc/misc/tramp.texi (Remote processes): Fix typo.

	* lisp/shell.el (shell): Fix typo.

	* lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.

	* test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
	New test.
	(tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
	(tramp-test31-vc-registered)
	(tramp-test32-make-auto-save-file-name)
	(tramp-test33-make-nearby-temp-file)
	(tramp-test34-special-characters)
	(tramp-test34-special-characters-with-stat)
	(tramp-test34-special-characters-with-perl)
	(tramp-test34-special-characters-with-ls, tramp-test35-utf8)
	(tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
	(tramp-test35-utf8-with-ls)
	(tramp-test36-asynchronous-requests)
	(tramp-test37-recursive-load, tramp-test38-unload): Rename.

2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/ses.el: Silence byte-compiler warnings.

	(ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
	byte-compiler warnings.

2017-04-02  Glenn Morris  <rgm@gnu.org>

	Belated fixes for admin.el's M-x make-manuals-dist

	* admin/admin.el (make-manuals-dist-output-variables): Additions.
	(make-manuals-dist--1): Also copy docstyle.texi.

2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bugs in simplified test dependencies

	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
	* test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
	(TESTS): Omit unnecessary patsubst.
	(test_template): Redo dependency heuristic, hopefully
	correctly this time.  It's the .log file that depends,
	not the phony test target.  Declare the phonies to be PHONY.
	Resurrect the exception for the *-tests subdirectory.
	Adjust to the fact that leading "./" is omitted now.

2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>

	Fix typo in docstring

	* lisp/help.el: Fix typo.

2017-04-02  Michael Albinus  <michael.albinus@gmx.de>

	Apply connection-local variables for shells

	* doc/misc/tramp.texi (Remote processes): Show use of connection-local
	variables.  Don't mention Emacs 23 anymore.
	(Frequently Asked Questions): Precise Emacs and MS Windows version.

	* lisp/files-x.el (connection-local-normalize-criteria):
	Suppress nil properties.
	(connection-local-set-profiles, with-connection-local-profiles):
	Adapt docstring.

	* lisp/shell.el (shell): Apply connection-local variables.

2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)

	Propertize only perl prototype chars `][$%&*;+@\' as punctuation

	This prevents variables in signatures such as `sub add ($a, $b)' from
	being treated as punctuation.
	* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
	Strictly match only prototype characters as punctuation.  (Bug#26037)

2017-04-01  Tom Tromey  <tom@tromey.com>

	fix two js-mode syntax propertization bugs

	Bug#26070:
	* lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
	zero-or-one to regular expression.
	(js-syntax-propertize-regexp): Update.  Propertize body of regexp
	literal up to END.
	* test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
	(js-mode-propertize-bug-2): New tests.

2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify test dependency generation

	Generate default dependencies by using GNU extensions to ‘make’
	rather than via a hacky auxiliary program and script.
	* .gitignore: Remove test/make-test-deps.mk.
	* test/Makefile.in (ELFILES, LOGFILES, TESTS):
	Use :=, not =, to avoid multiple redundant invocations of ‘find’.
	(test_template): Infer dependency directly instead of via
	make-test-deps.mk.
	(check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
	(clean): No need to clean make-test-deps.mk.
	(make-test-deps.mk): Remove rule.
	* test/make-test-deps.emacs-lisp: Remove.

2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests

	(cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
	test suite.
	(cl-lib-symbol-macrolet-2): New test.

2017-04-01  Tino Calancha  <tino.calancha@gmail.com>

	Use only posix options in a ediff-ptch test

	* test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
	Use just "-b" patch option.  Don't assume a particular suffix for
	the backup files.

2017-04-01  Jarno Malmari  <jarno@malmari.fi>

	Initial implementation of HTTP Digest qop for url

	This also refactors digest authentication functions in url-auth.el.

	* lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
	(url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
	(url-digest-auth-name-value-string, url-digest-auth-source-creds):
	(url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
	(url-digest-find-new-key, url-digest-prompt-creds): Add new functions
	to simplify code and aid in unit testing.
	(url-digest-auth-build-response): Hook up new functionality, or fall
	back to previous.
	(url-digest-auth-make-request-digest-qop):
	(url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
	(url-digest-auth-name-value-string): Add new helper functions.
	* test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
	(url-auth-test-digest-ha1, url-auth-test-digest-ha2):
	(url-auth-test-digest-request-digest): Add a few tests as now more
	features are testable via intermediate functions.
	(url-auth-test-challenges, url-auth-test-digest-request-digest): Test
	the new implementation.  Parts of these were accidentally already
	merged in the past.

2017-04-01  Tino Calancha  <tino.calancha@gmail.com>

	Tweak ediff-ptch test in previous commit a bit more

	* test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
	Apply patches without requiring a shell.  Add some comments.

2017-03-31  Glenn Morris  <rgm@gnu.org>

	Tweak an ediff-ptch test

	* test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
	Add skip conditions.  Avoid going through shell where not needed.

2017-03-31  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-smb.el (tramp-smb-errors):

	Add "NT_STATUS_PASSWORD_MUST_CHANGE".

2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.

2017-03-31  Tino Calancha  <tino.calancha@gmail.com>

	dired-mark-suffix: New command

	Now dired-mark-extension prepends '.' to extension when not present.
	Add command dired-mark-suffix to preserve the previous
	behavior (Bug#25942).
	* lisp/dired-x.el (dired-mark-suffix): New command;
	mark files ending in a given suffix.
	(dired--mark-suffix-interactive-spec): New defun.
	(dired-mark-extension, dired-mark-suffix): Use it.
	* doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
	* test/lisp/dired-x-tests.el: New test suite; add test for these features.

2017-03-31  Tino Calancha  <tino.calancha@gmail.com>

	default-directory: Remark that it must be a directory name

	* src/buffer.c (default-directory): Update docstring (Bug#26272).

2017-03-31  Tino Calancha  <tino.calancha@gmail.com>

	Delete confuse statement in manual

	* doc/misc/cl.texi (For Clauses): Delete confuse statement
	and its example (Bug#23550).

2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>

	Use find -delete if available

	This shortens the ‘make’ output and should avoid some
	repetitive scanning of directories during a build.
	* configure.ac (FIND_DELETE): New var.
	* lisp/Makefile.in (compile-always, bootstrap-clean):
	* test/Makefile.in (clean, bootstrap-clean): Use it.
	* test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.

2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>

	Remove gnus-boundp

	* lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
	bound-and-true-p.
	* lisp/gnus/gnus-util.el (gnus-boundp): Remove.

2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)

	Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)

	* lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
	end of line after deleting horizontal whitespace.

2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>

	* src/inotify.c (add_watch): Add comment.

2017-03-31  Andreas Politz  <politza@hochschule-trier.de>

	Minor filenotify.el fixes

	* lisp/filenotify.el: Require subr-x.
	(file-notify-callback): Use equal, not eq.

2017-03-31  Noam Postavsky  <npostavs@gmail.com>

	Improve packaging documentation

	* doc/lispref/package.texi (Packaging Basics):
	* doc/lispref/tips.texi (Library Headers): Clarify some header
	formats, relation between file headers and package
	attributes (Bug#13281).

2017-03-31  John Mastro  <john.b.mastro@gmail.com>

	Fix a small incompatibility in ibuffer

	Translate nil values from column functions to the empty string, so that
	subsequent calls to string-width don't signal an error (Bug#26317).
	* lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
	nil, treat it like the empty string.

2017-03-30  Alan Mackenzie  <acm@muc.de>

	Fix C++ fontification problems 500 bytes after typing a space, and other bugs

	Also implement the "asymmetric space" rule for fontifying otherwise
	ambiguous
	declarations/expressions.

	* lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
	c-new-BEG or c-new-END when there is no need.
	(c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
	space" rule.

	* lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
	extracted from c-font-lock-declarations.  Add to this function processing to
	make `context' 'decl for lines contained within parens when these are also
	declarations.
	(c-font-lock-declarations): Call the newly extracted function above in place
	of inline code.

	* lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
	c-literal-start.

	* lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.

	* doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
	"asymmetric fontification" rule, including the variable
	c-asymmetric-fontification-flag.

2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>

	Some inotify cleanup

	This catches some problems with integer overflow and races
	that I noticed in inotify.c after reviewing the changes
	installed to fix Bug#26126.
	* src/fns.c, src/lisp.h (equal_no_quit): Now extern.
	* src/inotify.c (aspect_to_inotifymask):
	Check for cycles and for improper lists.
	(make_lispy_mask, lispy_mask_match_p): Remove.
	All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
	(inotifyevent_to_event, add_watch):
	Don’t assume watch descriptors and cookies fit in fixnums.
	(add_watch): Use assoc_no_quit, not Fassoc.
	Avoid integer overflow in (very!) long-running processes where
	the Emacs watch ID could overflow.  Avoid some duplicate code.
	(find_descriptor): New function.
	(remove_descriptor): First arg is now the returned value from
	find_descriptor, rather than the descriptor.  This way, the
	value can be removed without calling Fdelete, which might quit.
	Wait until the end (when watch_list is consistent) before signaling
	any errors.
	(remove_watch, inotify_callback):
	Use find_descriptor to avoid the need for Fdelete.
	(inotify_callback): Use simpler tests for ioctl failure.
	Free temporary buffer if signaled, and put it on the stack if small.
	Use ssize_t to index through read results, to avoid a cast.
	(valid_watch_descriptor): New function, with a tighter check.
	(Finotify_rm_watch, Finotify_valid_p): Use it.
	(Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
	of Fassoc.  Do not assume the first assoc succeeds.
	* test/src/inotify-tests.el (inotify-valid-p-simple):
	Add inotify-valid-p tests, some of which dump core without
	the fixes noted above.

2017-03-30  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.

2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.

2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix assoc_no_quit so that it does not quit

	The problem was that it called Fequal, which can quit.
	* src/fns.c (enum equal_kind):
	New enum, to be used in place of a boolean.
	(equal_no_quit): New function.
	(Fmemql, Feql): Use it to compare floats, as a minor tuneup.
	(assoc_no_quit): Use it to avoid quitting, the main point here.
	(internal_equal): Generalize bool to enum equal_kind arg, so that
	there are now 3 possibilities instead of 2.  Do not signal an
	error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
	should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
	changed.

2017-03-29  Alan Mackenzie  <acm@muc.de>

	Amend gitmerge to recognize the injunction "don't merge".

	* admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
	well as "do not".

2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>

	Add one more CSS pseudo-class

	* lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
	`focus-within'.

2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>

	Update list of CSS pseudo-classes

	* lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
	pseudo-classes.

2017-03-29  Noam Postavsky  <npostavs@gmail.com>

	Adjust some search failure errors in info.el

	* lisp/info.el (Info-select-node): The search for beginning of node is
	an internal detail, and is not normally expected to fail, so it should
	not be a user error.
	(Info-complete-menu-item): Failing to find a menu indicates the user
	searched for a menu when there isn't one, so change to `use-error'.

2017-03-28  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33

2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t mishandle (format "%i" -1.0)

	* src/editfns.c (styled_format): Treat %i like %d when converting arg.

2017-03-28  Noam Postavsky  <npostavs@gmail.com>

	* lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.

2017-03-28  Michael Albinus  <michael.albinus@gmx.de>

	* src/inotify.c (Finotify_add_watch): aspect can also be a symbol.

2017-03-28  Noam Postavsky  <npostavs@gmail.com>

	Don't add `search-failed' to ignored errors in info.el (Bug#6106)

	* lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
	(Info-select-node, Info-search): Replace (signal 'search-failed ...)
	with (user-error "Search failed: "...).

2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Fix obsolete ‘test/automated’ references

	* Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
	(bootstrap-clean, maintainer-clean):
	Clean ‘test’, not ‘test/automated’.  Test for existence of
	subdirectory only for ‘test’, not for directories that should
	always exist.
	* admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
	* lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
	* lisp/man.el (Man-parse-man-k):
	* lisp/url/url-domsuf.el, make-dist:
	* test/file-organization.org:
	Fix obsolete references to test/automated.

2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>

	shr-image-fetched: Work for narrowed Gnus article

	See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.

	* lisp/net/shr.el (shr-image-fetched): Work for narrowed article.

2017-03-27  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-file-name-handler): Autoload it.

2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Expand manual section on quitting windows

	* doc/lispref/windows.texi (Quitting Windows): Provide more
	  information about the elements of the quit-restore window parameter,
	  and how they affect the behavior of quit-restore-window.

2017-03-26  Philipp Stephani  <phst@google.com>

	Add check for expected backtrace in module calls.

	* test/manual/cedet/tests/test.el
	(mod-test-non-local-exit-signal-test): Compare actual backtrace to
	expected backtrace.

2017-03-26  Eli Zaretskii  <eliz@gnu.org>

	Fix redisplay glitches due to recent change in redisplay_internal

	* src/xdisp.c (redisplay_internal): A better fix for bug#26097.
	See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
	for the problems caused by the original fix.

2017-03-26  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#26258

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
	Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)

	* lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
	(tramp-register-autoload-file-name-handlers)
	(tramp-register-file-name-handlers): Do not handle
	`tramp-autoload-file-name-handler' anymore.  Mark `operations'
	the handlers are responsible for.
	(tramp-register-foreign-file-name-handler): New defun.

2017-03-26  Noam Postavsky  <npostavs@gmail.com>

	Fix docstring of dabbrev-abbrev-char-regexp

	* lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
	is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
	previous character doesn't match, we search backwards for one that
	does, not throw an error.  Replace Lisp example with C based one to
	make it clear that "symbol" means a sequence of word and symbol
	constituent characters, not a Lisp symbol (Bug#358).

2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)

	* doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).

2017-03-26  Andreas Politz  <politza@hochschule-trier.de>

	Minor fixes for inotify.c and filenotify.el

	* lisp/filenotify.el (file-notify--watch-absolute-filename):
	Add docstring.
	(file-notify-callback): Simplify.

	* src/inotify.c (Finotify_add_watch): Adapt docstring.

2017-03-26  Andreas Politz  <politza@hochschule-trier.de>

	Fix issues regarding inotify file-notification

	Remove special code handling the inotify back-end.
	* lisp/filenotify.el (file-notify--watch): New struct
	representing a file-watch.
	(file-notify-descriptors): Use the new struct as hash-value.
	(file-notify-handle-event): Check that event is a cons.
	(file-notify--rm-descriptor, file-notify--event-watched-file)
	(file-notify--event-file-name, file-notify--event-file1-name)
	(file-notify-callback, file-notify-add-watch)
	(file-notify-rm-watch, file-notify-valid-p): Use new struct.
	Remove special code handling inotify descriptors.  Remove code
	handling multiple clients per descriptor.
	(file-notify--descriptor): Remove unused function.

	Let inotify-add-watch return a unique descriptor on every
	call, like every other back-end does (Bug#26126).  Prevent
	multiple clients from interfering with each other, when
	watching a shared descriptor.
	* src/inotify.c (watch_list): Extend the format by including a
	id and the provided mask.
	(INOTIFY_DEFAULT_MASK): Default mask used for all clients.
	(make_watch_descriptor): Removed.
	(make_lispy_mask, lispy_mask_match_p): New functions.
	(inotifyevent_to_event): Match event against the mask provided
	by the client.
	(add_watch, remove_descriptor, remove_watch): New functions
	for managing the watch_list.
	(inotify_callback): Use the new functions.
	(Finotify_add_watch, Finotify_rm_watch): Remove deprecated
	flags from documentation.  Add check for validity of provided
	descriptor.  Use the new functions.  Use the default mask.
	(INOTIFY_DEBUG): Add new debug conditional.
	(inotify-watch-list, inotify-allocated-p): New debug functions.
	(symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.

	* test/lisp/filenotify-tests.el:
	(file-notify-test02-rm-watch): Remove expected failure for inotify.

2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>

	* lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).

2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)

	Stop edebug getting stuck on backquote (Bug#23651)

	* lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
	reading backquote or comma.

2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Expand manual section on quitting windows

	* doc/lispref/windows.texi (Quitting Windows): Provide more
	  information about the elements of the quit-restore window parameter,
	  and how they affect the behavior of quit-restore-window.

2017-03-25  Eli Zaretskii  <eliz@gnu.org>

	Support in ispell.el multiple dictionaries loaded by Hunspell

	* lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
	Support Hunspell configurations that load more than one dictionary
	by default.  Doc fix.  (Bug#25830)

2017-03-25  Michael Albinus  <michael.albinus@gmx.de>

	Simplify Tramp autoloading.

	* lisp/net/tramp.el (tramp-completion-file-name-handler):
	Simplify autoloading.  Give it the `operations' property.
	(tramp-completion-handle-expand-file-name): Remove.

2017-03-25  Eli Zaretskii  <eliz@gnu.org>

	Fix a segfault due to failure to realize some faces

	* src/xdisp.c (redisplay_internal): If the frame becomes garbaged
	while redisplaying its windows, redisplay all of its windows
	again.  (Bug#26097)
	(init_iterator): When freeing all realized faces on all frames,
	reset the 'face_change' flag of the frame whose window we are
	about to iterate.

2017-03-25  Philipp Stephani  <phst@google.com>

	Use a named function for 'safe-local-variable

	This improves the help screen for `version-control' (Bug#25431).

	* lisp/files.el (version-control-safe-local-p): New function.
	(version-control): Use it.

2017-03-25  Eli Zaretskii  <eliz@gnu.org>

	;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)

2017-03-25  Helmut Eller  <eller.helmut@gmail.com>

	Make it easier to abort a series of tests with C-g

	* lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
	interactively is true and a test was aborted then ask if the remaining
	tests should be aborted too.
	(ert-run-tests-batch, ert-run-tests-interactively): Pass in
	interactively arg.

2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t require chown/chgrp for game installation

	Problem reported by Joseph Mingrone in:
	https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
	* lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
	chgrp fails with update-game-score and the game directory.
	Instead, expect the installer to fix this up afterwards.

2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL

	(elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
	Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.

2017-03-23  Philipp Stephani  <phst@google.com>

	Protect against an infloop in python-mode

	There appears to be an edge case caused by using `syntax-ppss' in a
	narrowed buffer during JIT lock inside of Python triple-quote strings.
	Unfortunately it is impossible to reproduce without manually
	destroying the syntactic information in the Python buffer, but it has
	been observed in practice.  In that case it can happen that the syntax
	caches get sufficiently out of whack so that there appear to be
	overlapping strings in the buffer.  As Python has no nested strings,
	this situation is impossible and leads to an infloop in
	`python-nav-end-of-statement'.  Protect against this by checking
	whether the search for the end of the current string makes progress.

	* lisp/progmodes/python.el (python-nav-end-of-statement): Protect
	against infloop.
	* test/lisp/progmodes/python-tests.el
	(python-tests--python-nav-end-of-statement--infloop): Add unit test.

2017-03-23  Michael Albinus  <michael.albinus@gmx.de>

	* doc/lispref/os.texi (File Notifications):

	Strengthen the recommendation to use filenotify.el.

2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-03-22 getopt: merge from glibc
	* build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
	* lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
	* lib/gnulib.mk.in: Regenerate.

2017-03-23  Michael Albinus  <michael.albinus@gmx.de>

	Use lexical-bind in Tramp

	* lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.

	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
	rather than `add-to-list'.
	(tramp-adb-get-device): Remove unused variable.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
	variable.

	* lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
	(tramp-find-file-name-coding-system-alist): Use `push' rather
	than `add-to-list'.

	* test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
	Require 'dired.  Move declarations up.
	(tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
	and `temporary-file-directory' calls with `with-no-warnings'.
	(tramp-test35-asynchronous-requests): Mark unused variable.

2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
	    Noam Postavsky  <npostavs@gmail.com>

	Do not include comment start chars in ffap string

	* lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
	ensure that the returned string does not contain the comment start
	characters (especially for major modes that have '//' as comment start
	characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
	enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
	C-f" on a "//foo" comment will initiate an attempt to access a path
	"//foo" (Bug#24057).

2017-03-23  Martin Rudalics  <rudalics@gmx.at>

	c:/Temp/gtk-window-move/ChangeLog.txt

2017-03-22  Michael Albinus  <michael.albinus@gmx.de>

	Fix filenotify.el issue for kqueue

	* lisp/filenotify.el (file-notify-add-watch): Use directory
	for remote file name handlers.

	* test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
	Create/delete temporary file only for "kqueue".
	(file-notify-test02-rm-watch): Create/delete temporary files.

2017-03-22  Michael Albinus  <michael.albinus@gmx.de>

	Extend `file-notify-test02-rm-watch'

	* test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
	Expect it failed for inotify.  Divide tests into different
	`unwind-protect' clauses.  Check, that removing watch
	descriptors out of order do not harm.  (Bug#26126)

2017-03-22  Noam Postavsky  <npostavs@gmail.com>

	* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187

2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)

	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case

2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	Improve configure --with-pop etc. diagnostics

	* configure.ac: Improve diagnostics re --with-pop and
	--with-mailutils (Bug#26102).

2017-03-21  Eli Zaretskii  <eliz@gnu.org>

	Revert "Make --without-pop the default."

	This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.

2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t remove dependency files when configuring

	Problem reported by Tom Tromey in:
	https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
	* configure.ac: Don’t remove */*.o and */deps/* when
	--enable-autodepend is in effect.

2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	Make --without-pop the default.

	Suggested by Angelo Graziosi in:
	https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
	* configure.ac: Change the default from --with-pop to
	--without-pop.  Adjust diagnostics to match.

2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	Streamline dependency-file generation

	* configure.ac (AUTODEPEND_PARENTS): New var.
	mkdir the dependency directories here, to simplify ‘make’.
	Remove dependency files just before outputting Makefiles, so that
	they are preserved if ‘configure’ exits early due to some other problem.
	* lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
	* src/Makefile.in: Adjust deps strategies to be similar, as follows:
	(MKDEPDIR): Remove.  All uses removed.  This cuts down on the
	number of processes spun off by ‘make’.
	(clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
	(distclean): Remove $(DEPDIR) itself.
	* lwlib/Makefile.in (all): Move to front, so that depdir includes
	do not alter default action.

2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	Port and simplify example sh script

	* doc/misc/org.texi (noweb-ref): Simplify shell script example and
	don’t use ‘tail -1’, which is not portable.

2017-03-21  Noam Postavsky  <npostavs@gmail.com>

	Narrow scope of modification hook re-enabling in org-src fontification

	Modification hooks should be enabled while modifying text in the
	org-src temp buffer, but in 2017-01-29 "Call modification hooks in
	org-src fontify buffers" the hooks were enabled also for modifications
	to the original org buffer.  This causes fontification errors when
	combined with certain packages, as reported in
	https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.

	* lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
	of inhibit-modification-hooks let-binding.

2017-03-21  Tino Calancha  <tino.calancha@gmail.com>

	epatch: Save right backups in Git multipatches

	Multipatches on N Git files save wrong backups for
	N-1 files; only the last one has a correct backup (Bug#26084).
	* lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
	* lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
	* test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
	Rename from ibuffer-test-bug25010.
	(ediff-ptch-test-bug26084): New test.

2017-03-21  Michael R. Mauger  <michael@mauger.com>

	    * lisp/progmodes/sql.el: Version 3.6

	    (sql-login-params): Added :must-match for completion of
	    `server' and `database' login parameters.
	    (sql-sqlite-login-params, sql-postgres-login-params): Set
	    :must-match to `confirm'.
	    (sql-get-login-ext): Use :must-match value to control
	    `read-file-name' or `completing-read'.
	    (sql-connect): Added optional BUF-NAME parameter; Reworked
	    connection variable processing; Pass buffer name to
	    `sql-product-interactive'.
	    (sql-product-interactive): Pass buffer name along.
	    (sql-comint): Add optional BUF-NAME and calculate reasonable default.
	    (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
	    (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
	    (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
	    (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
	    (sql-comint-vertica): Add optional BUF-NAME, pass to
	    `sql-comint'.
	    (sql-oracle--list-oracle-name): New function.
	    (sql-oracle-list-all): Use it.
	    (sql-oracle-completion-object): Enhanced.

2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Solve ses-recalculate-cell updating only current line bug.

	* lisp/ses.el (ses-recalculate-cell): Add optional argument
	ses--curcell to avoid overwriting ses--curcell when function is
	called from ses-recalculate-all.  Update docstring accordingly.
	(ses-recalculate-all): Call ses-recalculate-cell with argument
	ses--curcell to avoid its overwriting.

2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix problem with out-of-date dependencies

	Problem reported by Robert Marshall in:
	https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
	Although this problem has been with us for a while, the recent
	change from Automake to GNU Make exposed it again.
	* configure.ac (AUTO_DEPEND): When autodepending, clean out any
	leftover dependency and object files, since the previous sources'
	dependencies may disagree with the current ones.  Reconfiguring
	typically needs to force a rebuild anyway.

2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>

	Simpler filter implementation

	* lisp/play/dunnet.el (dun-endgame-question): Get or set
	dun-endgame-questions one time only.  Use dolist and an index to
	prune the list.

2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/button.el (forward-button): Use user-error instead.

2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This gets Emacs working again with HP-UX Itanium cc.
	It incorporates:
	2017-03-19 stdalign: tweak version# and test for HP-UX IA64
	2017-03-18 stdalign: restore previous behavior for HP-UX IA64
	2017-03-17 stat-time, timespec: Support header files in C++ mode
	2017-03-17 stdalign: Make it work with HP-UX cc
	2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
	2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
	2017-03-14 gnulib-tool: don't produce tests with only snippets
	2017-03-14 limits-h: Make it work with HP-UX cc.
	* etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
	* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
	* lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
	* lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
	Copy from gnulib.

2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	* ChangeLog.2: Merge from emacs-25.

2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fixups after merge from emacs-25

	* etc/NEWS: Remove stray entry.
	* etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
	* lisp/textmodes/rst.el (rst-package-emacs-version-alist):
	Make it nondecreasing.

2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	d71e071 Improve documentation of interactive "r".

2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
	1925dd9 Fix duplicate wording in Emacs manual
	6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
	2d671fd Fix wording in Emacs manual
	a8766a2 Document how to customize input methods
	6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
	aceac95 Fix warning message about native completion (Bug#25984)
	a314c1f Clarify documentation of 'raise' and 'height' display specs
	f366f6e Mention problems with GPaste in PROBLEMS
	6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
	6406618 Fix doc strings in info.el
	c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
	eed9677 Fix doc string of 'posn-at-point'
	0d5957e Documentation fix in elisp reference manual

2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
	2b774fa Mention "editor" in Emacs man page header
	ae60d0c Document problems with nerd-fonts
	2fdb5a9 ; Details about pinning Emacs to w32 task bar
	5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
	4c51ef4 Clarify what is the "cursor"
	8303c32 ; * etc/NEWS: Copyedits.
	3f7493e ; Fix a typo in comment
	c54cf8d Improve commentary in lisp.h
	8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
	0ba9932 Disable native completion for ipython (Bug#25067)
	38fc456 Fix a typo in ada-mode manual
	00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
	a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...

	# Conflicts:
	#	etc/NEWS
	#	etc/PROBLEMS

2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...

2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...

2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
	7e02a47 Index byte-compile-debug
	7c1e598 Document `byte-compile-debug' in the ELisp manual
	4d81eb4 Document variable `byte-compile-debug'
	72ef710 Fix call to debugger on assertion failure
	ae8264c Call modification hooks in org-src fontify buffers
	b3139da ; Fix last change in doc/lispref/strings.texi
	c331f39 Improve documentation of 'format' conversions
	9f52f67 Remove stale functions from ert manual
	c416b14 Fix a typo in Eshell manual
	06695a0 ; Fix a typo in ediff-merg.el
	954e9e9 Improve documentation of hooks related to saving buffers
	9fcab85 Improve documentation of auto-save-visited-file-name
	2236c53 fix typo in mailcap-mime-extensions
	85a3e4e Fix typos in flymake.el
	a1ef10e More NEWS checking for admin.el's set-version

	# Conflicts:
	#	lisp/emacs-lisp/bytecomp.el

2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	5569e64 ; Spelling fixes
	24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
	9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
	69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
	42eae54 Improve documentation of dabbrevs
	b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
	3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...

	# Conflicts:
	#	lisp/textmodes/rst.el

2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	0e35405 Improve documentation of coding-systems
	c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
	16fb50d Fix an error message in python.el
	a2a2073 Clarify major mode switching
	fc38671 Add helpful comment to compile-command's docstring
	ee65d85 Fix ':version' of 'select-enable-primary'

2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>

	Fix bug in generator function with pcase (Bug#26068)

	* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
	to symbol-name.

2017-03-19  Alan Mackenzie  <acm@muc.de>

	Fix chaotic indentation of C++ lambda.  Enhance documentation thereof

	* lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
	invocation of c-on-identifier with a check we're not at the _end_ of an
	identifier.

	* doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
	perl versions of texi2dvi haven't implemented it.
	(Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
	in Pike Mode.
	(Statement Block Symbols): Add a section illustrating a C++ lambda function.
	(FAQ): Add a question about "excessive" indentation of the contents of a C++
	lambda function, and how to get rid of it.

2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	Remove unused vars in cl-extra.el and tramp.el.

	* lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.

	* lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
	(outline-regexp, ls-lisp-use-insert-directory-program): Declare.
	(tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.

2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	Improve describe-symbol's layout of slots when describing types

	* lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
	(cl--describe-class-slots): Use it.

2017-03-18  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#26156

	* lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
	<expand-file-name>: Remove handler.  (Bug#26156)

2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/obarray.el (obarray-size): Avoid compiler warning.

2017-03-18  Eli Zaretskii  <eliz@gnu.org>

	Fix last change in lib/Makefile.in

	* lib/Makefile.in (srcdir): Define, as including
	$(srcdir)/../nt/gnulib-cfg.mk needs that.

2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>

	* configure.ac: Fix typo in diagnostic.

2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>

	Port out-of-source builds to windows-nt

	Problem reported by Angelo Graziosi in:
	https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
	* lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
	to handle out-of-source builds if windows-nt.

2017-03-17  Eli Zaretskii  <eliz@gnu.org>

	MS-Windows followup for switch from Automake

	* nt/INSTALL:
	* nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)

2017-03-17  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of interactive "r".

	* doc/lispref/commands.texi (Interactive Codes): Mention that mark
	must be set for "r" to work.

2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>

	Fixups for GNU Make switchover

	This fixes some minor problems introduced in the recent switch to GNU
	Make, discovered by further testing.  Without some of these changes
	'make -j' would sometimes have race conditions caused by missing
	dependencies.  (Bug#26100)
	* .gitignore: Remove src/stamp-h.in, src/stamp-h1.
	* Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
	src/config.in, since the former's timestamp now represents
	the latter's.
	($(srcdir)/configure): Use plain ./autogen.sh, for consistency
	with other autogen.sh invocations.
	($(srcdir)/src/stamp-h.in):
	Remove rule, as this file is no longer created.
	* Makefile.in (top_distclean):
	* src/Makefile.in (bootstrap-clean):
	No need to remove stamp-h1, as that was an Automake byproduct
	and Automake is no longer in use.
	* lib/Makefile.in, src/Makefile.in:
	(AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
	(../config.status, Makefile): Simplify by limiting dependencies
	to files we care about and files in the repository, and by
	using just one file to represent the timestamps on multiple
	targets updated by the same rule.
	* autogen.sh: Do not create or use src/stamp-h.in.
	Instead, have 'find' test the two output files directly.

2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>

	Switch from Automake to GNU Make

	Emacs assumes GNU Make, and GNU Make has much of the functionality of
	Automake built-in.  The Emacs build process uses Automake primarily
	because Emacs uses some Gnulib code and Gnulib formerly required
	Automake.  Now that Gnulib no longer requires Automake, Emacs can
	stop using Automake and this should simplify Emacs maintenance
	in the future (Bug#26100).  Although this patch may look long, most of
	it is generated automatically: the changes to build-aux/config.guess,
	build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
	all done by admin/merge-gnulib.
	* .gitignore: Remove build-aux/ar-lib, build-aux/compile,
	build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
	build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
	as they are no longer built by autogen.sh.
	Add lib/gnulib.mk, as it is now built by 'configure'.
	Remove nt/gnulib.mk, as it is no longer built by 'make'.
	* INSTALL.REPO, README, admin/make-tarball.txt:
	Remove mention of Automake.
	* Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
	(AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
	($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
	($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
	Remove.
	($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
	($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
	($(srcdir)/src/config.in):
	Use autogen.sh instead of doing it by hand.
	* admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
	New vars, to simplify processing of avoided modules.
	(GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
	Add --gnu-make, and change makefile name to gnulib.mk.in.
	Copy config.guess, config.sub, and install-sh too, since
	Automake no longer does that for us.
	* admin/notes/copyright:
	* admin/update_autogen (genfiles):
	Update list of files.
	Remove hack for nt/gnulib.mk, a file that is no longer needed.
	* autogen.sh (progs): Remove Automake.
	(automake_min): Remove.
	Build aclocal.m4 so that autoreconf need not use aclocal.
	* build-aux/config.guess, build-aux/config.sub:
	* build-aux/install-sh:
	New files, copied from Gnulib.  These are now updated by
	admin/merge-gnulib instead by autogen.sh.
	* configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
	Remove.
	(AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
	(AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
	(BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
	(--disable-silent-rules): New option, since Automake no longer
	does this for us.
	(AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
	with AM_SUBST_NOTMAKE.
	(AC_PROG_INSTALL): Add call.
	(MAKEINFO): Do not bother with the 'missing' program.
	(MAKEINFO, SYSTEM_TYPE): AC_SUBST.
	(AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
	(SUBDIR_MAKEFILES): Remove duplication.
	* lib/Makefile.am: Remove, replacing with:
	* lib/Makefile.in: New file, with the old Makefile.am contents
	and with the following changes:
	(AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
	(MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
	(AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
	(EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
	Remove.
	(VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
	(AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
	(libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
	(mostlyclean, distclean, bootstrap-clean, maintainer-clean):
	New macros and rules, since Automake no longer does them.
	Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
	instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
	Include dependency files if AUTO_DEPEND.
	(ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
	New macros.
	(bootstrap-clean): Depend on distclean, not maintainer-clean,
	and remove gnulib.mk.
	(AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
	New macros and rules, copied from ../Makefile.in.
	($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
	(.c.o, e-%.o): New generic rules.
	* lib/gnulib.mk: Remove.
	* lib/gnulib.mk.in: New file, which is built by autogen.sh
	and contains much of what used to be in lib/gnulib.mk.
	* m4/gnulib-common.m4: Copy from gnulib.
	* make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
	build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
	nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
	lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
	* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
	(am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
	* nt/gnulib-cfg.mk: New file, which supersedes ...
	* nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
	* src/Makefile.in (ACLOCAL_INPUTS): Remove.
	(AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
	($(top_srcdir)/configure, ../config.status, config.in Makefile):
	Defer to parent Makefile.

2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>

	Don't suggest Mailutils on MS-Windows

	* configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
	hasn't been ported.

2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>

	Fix bug: Range-check integer ‘alpha’ frame parm value

	Typo introduced 2013-04-01, "Prefer < to >
	in range checks such as 0 <= i && i < N".

	* src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.

2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>

	Fix bug: Range-check integer ‘alpha’ frame parm value

	Typo introduced 2013-04-01, "Prefer < to >
	in range checks such as 0 <= i && i < N".

	* src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.

2017-03-17  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#26127

	* lisp/filenotify.el (file-notify--rm-descriptor): Check, that
	there is a function which could be called.  (Bug#26127)

	* test/lisp/filenotify-tests.el (file-notify--test-cleanup):
	Clear also `file-notify-descriptors'.
	(file-notify--test-make-temp-name): Move up.
	(file-notify-test02-rm-watch): New test.
	(file-notify-test03-events, file-notify-test04-autorevert)
	(file-notify-test05-file-validity)
	(file-notify-test06-dir-validity)
	(file-notify-test07-many-events, file-notify-test08-backup)
	(file-notify-test09-watched-file-in-watched-dir)
	(file-notify-test10-sufficient-resources): Rename.

2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/PROBLEMS: Say that HP-UX cc doesn't work.

2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>

	Emacs 'movemail' is now a configure-time option

	The new configure option --with-mailutils lets the builder say
	that Emacs should assume that GNU Mailutils is installed, instead
	of continuing to build and install its own limited and insecure
	substitute for 'movemail'.
	* INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
	* configure.ac: Add --with-mailutils option.
	(with_mailutils): New variable.
	Do not bother configuring 'movemail' when not building it.
	Warn about issues relating to --with-mailutils.
	* doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
	(Movemail, Remote Mailboxes): Document port numbers in
	POP and IMAP URLs.
	* lib-src/Makefile.in (with_mailutils): New macro.
	(UTILITIES): Use it.

2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.

	* lisp/obarray.el (obarray-size): New function.

	* lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
	(semantic-lex-spp-save-table, semantic-lex-spp-macros):
	* lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
	Use obarrayp.

	* test/lisp/obarray-tests.el (obarray-make-default-test)
	(obarray-make-with-size-test): Use it.

2017-03-16  Michael Albinus  <michael.albinus@gmx.de>

	Document remote file name syntax change

	* doc/emacs/files.texi (Remote Files, Quoted File Names):
	* doc/misc/org.texi (dir): Change examples to use a method.

	* doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
	`Testing' menu entry.
	(History): Fix typos.  Mention syntax change.
	(Configuration, Default Host, File name Syntax)
	(File name completion, Frequently Asked Questions):
	Change examples to use a method.
	(External methods, Default Host, Multi-hops, Remote processes):
	Fix typos.
	(Default Method): Mention pseudo method "-".
	(External packages): Rewrite intention of `non-essential'.

	* etc/NEWS: Mark recent Tramp entries as documented.

2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	(semantic-lex-type-invalid): Fix nested backquote.

	* lisp/cedet/semantic/lex.el: Use lexical-binding.
	(semantic-lex-type-invalid): Fix nested backquote.
	(semantic-lex-map-symbols, semantic-lex-type-symbol)
	(semantic-lex-keyword-symbol): Use obarrayp.

2017-03-15  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.

2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>

	Write a named function

	* lisp/comint.el (comint-nonblank-p): New function.
	(comint-input-filter): Use it.

2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>

	Replace more nested ifs with cond

	This is a continuation of 0db5ba4 "Replace nested ifs with cond".
	* lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
	(dun-drop-check, dun-swim, dun-break): Use when and cond where
	appropriate.
	(dun-examine): Fix indentation.
	(dun-doverb): Use when.
	(dun-read-line): Refactor.

2017-03-15  Noam Postavsky  <npostavs@gmail.com>

	Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again

	Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
	\n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
	causes the regex engine to backtrack a lot when searching for
	"\\s-+$" (Bug#26079).

	* lisp/simple.el (delete-trailing-whitespace): Don't change newline
	syntax, search for "\\s-$" and then skip backward over trailing
	whitespace.

2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-03-14 snippets: move unadjusted snippet sources to lib
	2017-03-14 gnulib-tool: fix typo in comment output
	2017-03-14 snippets: work around GNU Make 3.82 VPATH
	2017-03-13 gnulib-tool: minor --gnu-make fixups
	2017-03-12 gnulib-tool: new option --gnu-make
	* .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
	lib/warn-on-use.h.  Change exception from
	build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
	* admin/authors.el (authors-renamed-files-regexps):
	* admin/notes/copyright, make-dist:
	The snippet files moved from build-aux/snippet to lib.
	* lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
	* lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
	* lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
	* lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.

2017-03-14  Eli Zaretskii  <eliz@gnu.org>

	Fix duplicate wording in Emacs manual

	* doc/emacs/programs.texi (Which Function): Delete duplicate
	wording.  (Bug#26098)

2017-03-14  Michael Albinus  <michael.albinus@gmx.de>

	Reenable lost Tramp test case

	* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
	Reenable lost test case.

2017-03-14  Alan Third  <alan@idiocy.org>

	Revert "Remove NSEvent loop from ns_select (bug#25265)"

	This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.

2017-03-14  Alan Third  <alan@idiocy.org>

	Revert "Add missing timeout value in ns_select"

	This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.

2017-03-14  Alan Third  <alan@idiocy.org>

	Remove old macOS compatibility code

	* src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
	macOS versions below 10.6 as they are not supported in Emacs 25+.

2017-03-14  Michael Albinus  <michael.albinus@gmx.de>

	Tune `tramp-completion-file-name-regexp-unified'

	* lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
	Extend this regexp to match also "/".

2017-03-14  Tino Calancha  <tino.calancha@gmail.com>

	Show ancestor buffer in 3way merges

	Add an option ediff-show-ancestor', to control if the ancestor buffer
	must be shown in 3way merges (Bug#25493); set it non-nil by default.
	Add a toggle to change this option interactively; the original
	value of the option is restored on exit.

	Update the window setup so that the ancestor buffer is
	shown in 3way merges when ediff-show-ancestor is non-nil.

	Any operation on ediff windows must take in account the
	ancestor window as well, when this is shown.

	* lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
	(ediff--show-ancestor-orig): New defvar.
	* lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
	(ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
	Display ancestor buffer if ediff-show-ancestor is non-nil.
	(ediff-keep-window-config): Expect ancestor window in
	ediff-window-config-saved.
	(ediff-window-alist): Add entry for the ancestor window.
	* lisp/vc/ediff-util.el (ediff-setup-control-buffer):
	ediff-window-config-saved contains ancestor window.
	(ediff-show-ancestor): Delete this command.
	(ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
	(ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
	don't cheat it to think that is performing a comparison, that trick is not
	necessary anymore: simply call 'ediff-setup-diff-regions-function'
	with file-A, file-B and the file ancestor.
	(ediff-recenter): Update doc string.  Consider the ancestor buffer.
	(ediff--check-ancestor-exists): New defun.
	(ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
	(ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
	(ediff-scroll-vertically, ediff-scroll-horizontally)
	(ediff-operate-on-windows): Consider the ancestor as well.
	* lisp/vc/ediff-help.el (ediff-long-help-message-merge):
	List ediff-toggle-show-ancestor.
	* doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.

2017-03-14  Tino Calancha  <tino.calancha@gmail.com>

	diff-mode: Improve default faces for buffer ancestor

	* lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
	(ediff-fine-diff-Ancestor): Use defaults consistent with
	faces for 'ediff-buffer-A' and 'ediff-buffer-B'.

2017-03-14  Hong Xu  <hong@topbug.net>

	* lisp/paren.el (show-paren--default, show-paren-function): Add docstring.

2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>

	Fix make-dist typo

	* make-dist: Fix typo introduced in the Bug#25895 fix.

2017-03-13  Eli Zaretskii  <eliz@gnu.org>

	Fix wording in Emacs manual

	* doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
	(Bug#26086)

2017-03-13  Michael Albinus  <michael.albinus@gmx.de>

	etc/NEWS: Remote file names require a method.

2017-03-13  Michael Albinus  <michael.albinus@gmx.de>

	Require method in remote file name syntax

	* lisp/minibuffer.el (completion--nth-completion):
	Do not bind `non-essential'.

	* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
	* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
	`tramp-check-proper-method-and-host'.

	* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
	(tramp-maybe-open-connection): Do not use argument for
	´tramp-completion-mode-p'.

	* lisp/net/tramp.el (tramp-default-method-marker): New defconst.
	(tramp-prefix-format, tramp-postfix-method-format)
	(tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
	(tramp-prefix-port-format, tramp-postfix-host-format)
	(tramp-file-name-regexp, tramp-completion-file-name-regexp):
	Use `eq' instead of `eqal'.
	(tramp-method-regexp, tramp-domain-regexp)
	(tramp-remote-file-name-spec-regexp)
	(tramp-file-name-regexp-unified)
	(tramp-completion-file-name-regexp-unified)
	(tramp-completion-file-name-regexp-separate): Adapt regexp.
	(tramp-completion-file-name-handler-alist)
	(tramp-run-real-handler): Autoload them.
	(tramp-find-method): Handle `tramp-default-method-marker'.
	(tramp-check-proper-method-and-host)
	(tramp-completion-run-real-handler): Remove them.
	(tramp-error-with-buffer, tramp-connectable-p): Do not use
	argument for ´tramp-completion-mode-p'.
	(tramp-find-foreign-file-name-handler): Remove COMPLETION
	argument.  Do not apply heuristic for completion.
	(tramp-file-name-handler): Do not modify `non-essential'.
	(tramp-completion-file-name-handler): Change implementation.
	(tramp-autoload-file-name-handler)
	(tramp-completion-handle-file-name-all-completions):
	Call `tramp-run-real-handler'.
	(tramp-completion-mode-p): Do not autoload.  Remove argument.
	Do not apply heuristic for completion.
	(tramp-completion-dissect-file-name): Simplify implementation.
	(tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.

	* test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
	(tramp-test02-file-name-dissect)
	(tramp-test03-file-name-defaults)
	(tramp-test06-directory-file-name): Adapt to the new syntax.
	(tramp-test11-copy-file, tramp-test12-rename-file)
	(tramp--test-check-files): Deactivate temporarily tests with
	quoted file names.
	(tramp-test16-directory-files, tramp-test17-insert-directory):
	Adapt tests.
	(tramp-test24-file-name-completion): Do not check for
	completion mode.
	(tramp-test31-make-auto-save-file-name): Deactivate temporarily
	two tests.

2017-03-13  Eli Zaretskii  <eliz@gnu.org>

	Fix bidi paragraph direction when inserting text at newline

	* src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
	paragraph cache when inserting immediately after a newline.
	(Bug#26083)

2017-03-13  Tino Calancha  <tino.calancha@gmail.com>

	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.

2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable

	(cl-print-object) <compiled-function>: Print the docstring and
	interactive form.  Obey cl-print-compiled.

2017-03-13  Noam Postavsky  <npostavs@gmail.com>

	Fix indent-sexp when called from inside a string (Bug#21343)

	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
	state from `syntax-ppss'.

2017-03-13  Noam Postavsky  <npostavs@gmail.com>

	* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.

	* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
	(indent-subsexp, indent-sexp-in-string): New tests.

2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use switch on pseudovector types; plus cleanups along the way

	* src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
	(PSEUDOVECTOR_TYPEP): Change type of `code'.

	* src/alloc.c (sweep_vectors): Remove out-of-date assertion.
	(mark_object): Use PSEUDOVECTOR_TYPE.

	* src/data.c (Ftype_of): Use switch on pvec type.

	* src/print.c (print_object): Use switch on pvec type.

	* lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
	Add recently added types.

2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>

	Install update-game-score only on request

	Most distributions do not install update-game-score properly
	due to setuid/setgid complications, so install it only when
	the installer specifies a user or group (Bug#25895).
	* .gitattributes: Remove lib-src/update-game-score.exe.manifest.
	* Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
	New vars.
	(epaths-force): Use PATH_GAME.
	(uninstall): Remove snake-scores and tetris-scores only if shared.
	* configure.ac: Default --with-gameuser to 'no'.
	(UPDATE_MANIFEST): Remove.
	* etc/NEWS: Mention this.
	* lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
	(use_gamedir): New macro.
	(UTILITIES): Remove update-game-score unless use_gamedir.
	(SCRIPTS): Remove $(UPDATE_MANIFEST).
	($(DESTDIR)${archlibdir}): Install game directory program and data
	only if use_gamedir.
	* lib-src/update-game-score.exe.manifest: Remove, as
	update-game-score is no longer installed on MS-Windows.
	* lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
	Use auxiliary program only if setuid or setgid.
	* make-dist: Do not distribute update-game-score.exe.manifest.
	* src/callproc.c (init_callproc):
	Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
	(syms_of_callproc): Remove unnecessary initialization of
	Vshared_game_score_directory.

2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>

	Add `touch-action' to list of CSS properties

	* lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
	property.

2017-03-12  Eli Zaretskii  <eliz@gnu.org>

	Teach etags to process ENUM_BF correctly

	* lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
	(hash): Regenerated values for asso_values[] array.
	(in_word_set): Update values of TOTAL_KEYWORDS and
	MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
	(in_enum_bf): New file-global variable.
	(consider_token): Skip ENUM_BF if not in a macro definition.
	(C_entries): Reset the in_enum_bf flag when past its closing
	parenthesis.

	* test/manual/etags/ETAGS.good_1:
	* test/manual/etags/ETAGS.good_2:
	* test/manual/etags/ETAGS.good_3:
	* test/manual/etags/ETAGS.good_4:
	* test/manual/etags/ETAGS.good_5:
	* test/manual/etags/ETAGS.good_6:
	* test/manual/etags/CTAGS.good: Adapt to changes in etags.

2017-03-12  Michael Albinus  <michael.albinus@gmx.de>

	Use path/to/file instead of path/to.file in tramp.texi

	* doc/misc/tramp.texi (Configuration, File name Syntax):
	Use path/to/file instead of path/to.file.

2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>

	Remove some stray gnulib files

	* admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
	(GNULIB_MODULES): Remove unsetenv, as it is not needed and
	the --avoid=unsetenv option avoided most of it anyway.
	* lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
	* lib/gnulib.mk: Regenerate.

2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
	* doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.

2017-03-12  Glenn Morris  <rgm@gnu.org>

	Remove trivial duplication in epg-config

	* lisp/epg-config.el (epg-config--program-alist):
	Use epg-gpg-minimum-version.

2017-03-12  Glenn Morris  <rgm@gnu.org>

	Small epg-find-configuration improvement

	* lisp/epg-config.el (epg-find-configuration):
	Handle epg-gpg-program customized but not saved.  (Bug#25947)

2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	Improve last change

	* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
	Use ppss to check escaping and add help-echo.

2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	Highlight useless backslashes in Elisp strings

	* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
	Put warning face on backslashes that have no effect.

2017-03-11  Eli Zaretskii  <eliz@gnu.org>

	Document how to customize input methods

	* doc/emacs/mule.texi (Input Methods): Document how to customize
	input methods.

2017-03-11  Eli Zaretskii  <eliz@gnu.org>

	* lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)

2017-03-11  Eli Zaretskii  <eliz@gnu.org>

	Fix generation of nt/gnulib.mk on macOS

	* nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
	to Sed, as that is not portable with non-GNU Sed variants.
	(Bug#26043)

2017-03-11  Eli Zaretskii  <eliz@gnu.org>

	Avoid aborts/assertion violations due to 'vim-empty-lines-mode'

	* src/xdisp.c (handle_single_display_spec): If position to be
	restored after processing the display property comes from an
	overlay, protect against that overlay's end point being outside of
	the narrowed region.
	Reported by Filipe Silva <filipe.silva@gmail.com> in
	https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.

2017-03-10  Glenn Morris  <rgm@gnu.org>

	Small improvement for epa-display-error (bug#24553)

	* lisp/epa.el (epa-display-error): Report the actual program in use.

2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak X toolkit code to pacify modern GCC

	* lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
	Don’t include <stdlib.h>, since this code now calls emacs_abort
	rather than abort.
	* lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
	(wm_delete_window):
	* lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
	* lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
	* lwlib/xlwmenu.c (abort_gracefully, draw_separator)
	(separator_height, XlwMenuInitialize):
	Use emacs_abort, not abort.  Without this change, some calls
	to ‘abort’ were invalid, as stdlib.h was not always included.
	* src/widget.c (resources, emacsFrameClassRec):
	* src/xfns.c (x_window) [USE_X_TOOLKIT]:
	* src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
	* src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
	(x_term_init) [USE_X_TOOLKIT]:
	Cast string constants to char * to pacify --enable-gcc-warnings.

2017-03-10  Michael Albinus  <michael.albinus@gmx.de>

	* doc/misc/tramp.texi (Android shell setup): Require adb program

2017-03-10  Michael Albinus  <michael.albinus@gmx.de>

	Adapt tramp-tests.el

	* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
	(tramp-test24-file-name-completion): Call
	`tramp-completion-mode-p' with argument.

2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>

	[doc] Replace bindat example: s/fortune cookie/rfc868 payload/

	* doc/lispref/processes.texi (Bindat Examples):
	Mention two examples in intro blurb; rewrite first example.

2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify checks for xdg-open and xdg-email

	browse-url's xdg-open detection was too picky on some GNU/Linux
	desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
	if it is executable, as nowadays this is more likely to be correct than
	trying to use heuristics from a few years ago.  Don't test for nohup: it
	is ineffective nowadays, as xdg-open's child uses the default action for
	SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
	allow for Wayland here, as "emacs -nw" might be running in a non-X
	Wayland terminal.
	* lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
	* lisp/net/browse-url.el (browse-url-can-use-xdg-open):
	Simplify to a test for DISPLAY and whether the helper program is
	executable.  Allow WAYLAND_DISPLAY as an option.

2017-03-09  Vibhav Pant  <vibhavp@gmail.com>

	Byte compile cond clauses without any bodies correctly.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
	cond clause has no body, push t on to the stack.

2017-03-09  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#23006

	* lisp/minibuffer.el (completion--nth-completion):
	Let-bind `non-essential'.

	* lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
	(tramp-completion-mode-p): Optional parameter VEC.  Replace
	check for `last-input-event' by analyzing VEC argument.
	(tramp-error-with-buffer, tramp-file-name-handler)
	(tramp-connectable-p, tramp-handle-file-name-as-directory):
	* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.

2017-03-09  Vibhav Pant  <vibhavp@gmail.com>

	etc/NEWS: Add entry for new `switch' bytecode.

2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	* src/data.c (arithcompare): Add comments.

2017-03-08  Glenn Morris  <rgm@gnu.org>

	Update a cl-print test

	* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
	Update for recent change in cl-print-object function output.

2017-03-08  Sam Steingold  <sds@gnu.org>

	Replace change-log-date-face -> change-log-date

	This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.

2017-03-08  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#26011

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
	Check, whether file is too large.  (Bug#26011)

2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>

	* src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
	(Fmax, Fmin): Restore documentation.

	* src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
	comparisons that are written backward.

2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>

	[doc elisp] Add some index entries for "old" advice mechanism

	* doc/lispref/functions.texi (Porting old advice):
	Add one @cindex and two @findex entries.

2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS: Adjust to match previous patch.

2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	min and max should not return markers

	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
	* src/data.c (minmax_driver): Convert any marker result to an
	integer, since some callers assume this.
	* test/src/data-tests.el (data-tests-max, data-tests-min):
	Test for this.

2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.

2017-03-08  Alan Third  <alan@idiocy.org>

	Add missing timeout value in ns_select

	* src/nsterm.m (ns_select): Set timeout to distant future when relying
	on fd_handler's timeout.

2017-03-07  Glenn Morris  <rgm@gnu.org>

	* admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.

2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	Remove isnan hack for Solaris 10 gcc 3.4.3

	This seems to have been a false alarm (Bug#26018).
	* src/data.c (isnan):
	* src/floatfns.c (isfinite, isnan):
	Use standard implementation if available.

2017-03-07  Eli Zaretskii  <eliz@gnu.org>

	Support browsing URLs with embedded spaces on MS-Windows

	* lisp/net/browse-url.el (browse-url-default-windows-browser):
	Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
	support that in file:// URLs.  (Bug#26014)

2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	Define copysign on all platforms

	* configure.ac (copysign): Remove test.
	* src/floatfns.c (signbit): New macro, if not already defined.
	(Fcopysign): Use it instead of copysign.
	(Fcopysign, syms_of_floatfns): Define the function on all platforms.

2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>

	Revert "Replace ldefs-boot with a much smaller file"

	This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.

	This commit has been reverted because the new mechanism was too
	sensitive to changes in the lisp source, generation of new ldefs-boot
	files was platform specific and resulted in warnings about undefined
	variables.

	See also 11436e2890d.

2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>

	Revert "Record autoloads till emacs dump"

	This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.

	This commit has been reverted because the new mechanism was too
	sensitive to changes in the lisp source, generation of new ldefs-boot
	files was platform specific and resulted in warnings about undefined
	variables.

	See also 11436e2890d.

2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>

	Revert "Remove unused ldefs-boot.el"

	This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.

	This commit has been reverted because the new mechanism was too
	sensitive to changes in the lisp source, generation of new ldefs-boot
	files was platform specific and resulted in warnings about undefined
	variables.

	See also 11436e2890d.

2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>

	Revert "Remove conditional includes from bootstrap"

	This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.

	This commit has been reverted because the new mechanism was too
	sensitive to changes in the lisp source, generation of new ldefs-boot
	files was platform specific and resulted in warnings about undefined
	variables.

	See also 11436e2890d.

2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>

	Revert "Speed generation of ldefs-boot-auto"

	This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.

	This commit has been reverted because the new mechanism was too
	sensitive to changes in the lisp source, generation of new ldefs-boot
	files was platform specific and resulted in warnings about undefined
	variables.

	See also 11436e2890d.

2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>

	Revert "Fix minor problems with loaddefs autogeneration"

	This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.

	This commit has been reverted because the new mechanism was too
	sensitive to changes in the lisp source, generation of new ldefs-boot
	files was platform specific and resulted in warnings about undefined
	variables.

2017-03-07  Noam Postavsky  <npostavs@gmail.com>

	Set default when asking for send-mail-function (Bug#25874).

	* lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
	option as default for `completing-read'.

2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	min and max now return one of their arguments

	* doc/lispref/numbers.texi (Comparison of Numbers):
	* etc/NEWS: Document this.
	* src/data.c (Amax, Amin): Remove constants.  All uses removed.
	(minmax_driver): New function.
	(Fmax, Fmin): Use it instead of arith_driver.
	* test/src/data-tests.el (data-tests-max, data-tests-min): New tests.

2017-03-06  Alan Third  <alan@idiocy.org>

	Remove NSEvent loop from ns_select (bug#25265)

	* src/nsterm.m (ns_select): Remove event processing loop and replace
	with simple test for a new event.

2017-03-06  Eli Zaretskii  <eliz@gnu.org>

	A better fix for bug#25845

	* src/xdisp.c (font_for_underline_metrics): New function.
	* src/dispextern.h: Add its prototype.
	* src/xterm.c (x_draw_glyph_string):
	* src/w32term.c (x_draw_glyph_string):
	* src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
	having identical code 3 times in 3 different files.

2017-03-06  Noam Postavsky  <npostavs@gmail.com>

	Fix warning message about native completion (Bug#25984)

	* lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
	The relevant variable is `python-shell-completion-native-enable'.

2017-03-06  Tom Tromey  <tom@tromey.com>

	Fix typos in EIEIO manual

	* doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.

2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-03-04 dtotimespec: simplify
	* lib/dtotimespec.c: Copy from gnulib.

2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>

	ffloor etc. now accept only floats

	* etc/NEWS: Say why.
	* src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
	Require arg to be float.
	* test/src/floatfns-tests.el (fround-fixnum): Check this.

2017-03-05  Eli Zaretskii  <eliz@gnu.org>

	Fix display of cursor on underlined text

	* src/nsterm.m (ns_draw_text_decoration):
	* src/xterm.c (x_draw_glyph_string):
	* src/w32term.c (x_draw_glyph_string): Compute the position and
	thickness of the underline by looking for the first glyph of the
	run of underlined glyphs that includes the glyph string we are
	drawing.  (Bug#25845)

2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>

	Add more CL concept index items, print Concept Index

	* doc/misc/cl.texi: Print concept index.
	(Generalized Variables, Variable Bindings):
	(Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
	(Blocks and Exits, Iteration, Multiple Values): Add concept index
	items.

2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>

	Add 'loop facility' to the CL concept index

	* doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
	index item.

2017-03-05  martin rudalics  <rudalics@gmx.at>

	In `window--display-buffer' fix behavior reported in Bug#25946

	* lisp/window.el (window--display-buffer): Set the dedicated
	status of the window used and clear its history of previous
	buffers also for the case that the window already shows the
	buffer to be displayed.  (Bug#25946)

2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>

	Compare and round more carefully

	* etc/NEWS: Document this.
	* src/data.c (store_symval_forwarding):
	* src/sound.c (parse_sound):
	Do not botch NaN comparison.
	* src/data.c (cons_to_unsigned, cons_to_signed):
	Signal an error if a floating-point arg is not integral.
	* src/data.c (cons_to_unsigned, cons_to_signed):
	* src/fileio.c (file_offset):
	Use simpler overflow check.
	* src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
	Avoid rounding error in overflow check.
	(Fcar_less_than_car): Use arithcompare directly.
	* test/src/charset-tests.el: New file.

2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>

	Fewer rounding errors with (format "%f" fixnum)

	* etc/NEWS: Document this.
	* src/editfns.c (styled_format): When formatting integers via a
	floating-point format, use long double instead of double
	conversion, if long double’s extra precision might help.

2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>

	* src/floatfns.c (Fftruncate): Simplify via emacs_trunc.

	* src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.

2017-03-04  Eli Zaretskii  <eliz@gnu.org>

	Clarify documentation of 'raise' and 'height' display specs

	* doc/lispref/display.texi (Other Display Specs): Clarify the
	effect of 'height' display spec on the following 'raise'.
	(Bug#25824)

2017-03-04  Eli Zaretskii  <eliz@gnu.org>

	Fix header shown by Info 'L' command

	* lisp/info.el (Info-history-find-node): A better heading for the
	list of visited nodes.  (Bug#25876)

2017-03-04  K. Handa  <handa@gnu.org>

	Add a section about incorrect Bengali rendering.

2017-03-04  Eli Zaretskii  <eliz@gnu.org>

	Fix minor problems with loaddefs autogeneration

	* admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
	and coding-system-for-write, to produce a UTF-8 file with Unix
	EOLs on MS-Windows.

	* lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.

2017-03-04  David Bremner  <david@tethera.net>  (tiny change)

	Fix issues with dedicated windows in shr.el

	* lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
	the window not dedicated, to avoid errors if it was, before
	setting its buffer temporarily.  (Bug#25828)

2017-03-04  Eli Zaretskii  <eliz@gnu.org>

	Mention problems with GPaste in PROBLEMS

	* etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
	GPaste, and its solution.  (Bug#25902)

2017-03-04  Glenn Morris  <rgm@gnu.org>

	Avoid duplicate gud menu items with gdb-mi

	* lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
	entries in gdbmi mode.  (Bug#23923)

2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>

	* src/editfns.c (styled_format): Omit unnecessary code.

2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>

	logb now works correctly on large integers

	* admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
	* etc/NEWS: Document the change.
	* lib/count-leading-zeros.c, lib/count-leading-zeros.h:
	* m4/count-leading-zeros.m4: New files, copied from Gnulib.
	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
	* src/floatfns.c: Include count-leading-zeros.h.
	(Flogb): Do not convert fixnum to float before taking the log,
	as the rounding error can cause the answer to be off by 1.
	* src/lisp.h (EMACS_UINT_WIDTH): New constant.
	* test/src/floatfns-tests.el (logb-extreme-fixnum): New test.

2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
	2017-02-24 ftoastr: port to -Wdouble-promotion
	* lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.

2017-03-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid duplicating characters recorded in macros

	* src/keyboard.c (record_char): Don't store in macro definitions
	characters that came from executing a macro.  (Bug#25860)

2017-03-03  Eli Zaretskii  <eliz@gnu.org>

	Fix color component calculations in color.el

	* lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
	(color-rgb-to-hex): Accept an optional argument
	DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
	notation either for 8 or 16 bits per component.  (Bug#25890)
	* lisp/net/shr-color.el (shr-color->hexadecimal): Call
	color-rgb-to-hex with the optional argument of 2, to match color
	processing on the Web.

2017-03-03  Tino Calancha  <tino.calancha@gmail.com>

	Use lexical binding in benchmark.el

	* lisp/emacs-lisp/benchmark.el: Enable lexical binding.
	(benchmark-elapse): Use 'declare'.
	* test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.

2017-03-03  Noam Postavsky  <npostavs@gmail.com>

	Switch pp.el to lexical binding

	Additionally, do some minor code cleanup.

	* lisp/emacs-lisp/pp.el: Set lexical-binding.
	(pp-buffer): Use skip-syntax-forward.
	(pp-eval-expression): Use push.
	(pp-last-sexp): Use with-syntax-table.
	* test/lisp/emacs-lisp/pp-tests.el: New tests.

2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)

	Fix completing-read call in reb-change-syntax

	* lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
	of completing-read.

2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)

	sql-mode with sqlite: In-memory database

	Enable the usage of an in-memory database. Prior to this, sql-mode w/
	sqlite could only be used with file databases.
	* lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
	file name provided by the user, but call sub-process sqlite with that,
	in which case it uses an in-memory database.

2017-03-03  Allen Li  <vianchielfaura@gmail.com>

	Stop abbrev-prefix-mark from adding extra newline (Bug#25767)

	`abbrev--before-point' does not adjust `pos' to account for when it
	deletes the "-" left by abbrev-prefix-mark.  Therefore, when
	`abbrev-before-point' goes to restore point, it moves point one
	character too far forward.

	* lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".

2017-03-03  Tino Calancha  <tino.calancha@gmail.com>

	* lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.

2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	Restore XFLOATINT but with restricted args

	Turn instances of extract_float into XFLOAT_DATA when possible,
	and to a resurrected XFLOATINT when the arg is a number.
	The resurrected XFLOATINT is more like XFLOAT and XINT in
	that is valid only if its arg is a number.  This clarifies
	the ways in which floats can be extracted at the C level.
	* src/editfns.c (styled_format):
	* src/floatfns.c (extract_float, Fexpt):
	Use XFLOATINT rather than open-coding it.
	* src/fns.c (internal_equal):
	* src/image.c (imagemagick_load_image):
	* src/xdisp.c (resize_mini_window):
	Prefer XFLOAT_DATA to extract_float on values known to be floats.
	* src/frame.c (x_set_screen_gamma):
	* src/frame.h (NUMVAL):
	* src/image.c (x_edge_detection, compute_image_size):
	* src/lread.c (read_filtered_event):
	* src/window.c (Fset_window_vscroll):
	* src/xdisp.c (handle_single_display_spec, try_scrolling)
	(redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
	(on_hot_spot_p):
	Prefer XFLOATINT to extract_float on values known to be numbers.
	* src/lisp.h (XFLOATINT): Bring back this function, except
	it now assumes its argument is a number.

2017-03-02  Glenn Morris  <rgm@gnu.org>

	Ert commands to error if no test at point (bug#25931)

	* lisp/emacs-lisp/ert.el (ert-results-mode-menu):
	Deactivate some items if no test at point.
	(ert--results-test-at-point-no-redefinition):
	Add option to signal an error rather than return nil.
	(ert-results-pop-to-backtrace-for-test-at-point)
	(ert-results-pop-to-messages-for-test-at-point)
	(ert-results-pop-to-should-forms-for-test-at-point)
	(ert-results-describe-test-at-point): Error if no test at point.

2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	Remove XFLOATINT

	* src/lisp.h (XFLOATINT): Remove this alias for extract_float.
	All callers changed to use extract_float.
	* src/frame.h (NUMVAL): Now an inline function, not a macro.

2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix rounding errors in <, =, etc.

	* etc/NEWS: Document this.
	* src/bytecode.c (exec_byte_code):
	* src/data.c (arithcompare):
	Do not lose information when comparing floats to integers.
	* test/src/data-tests.el (data-tests-=, data-tests-<)
	(data-tests->, data-tests-<=, data-tests->=):
	Test this.

2017-03-02  Eli Zaretskii  <eliz@gnu.org>

	Fix display of mouse-highlight produced by overlapping overlays

	* src/xfaces.c (face_at_buffer_position): If called to find the
	mouse-face, only consider the highest-priority source for that
	face, and ignore the rest.  Previously, all the mouse-face
	definitions at POS were merged in that case.
	* src/xdisp.c (note_mouse_highlight): Record the overlay that
	specifies mouse-face _after_ clearing the info about the previous
	overlay, so as not to clear the information about the just-recorded
	overlay.  (Bug#25906)

2017-03-02  Eli Zaretskii  <eliz@gnu.org>

	Fix display of strike-through text in variable-height lines

	* src/nsterm.m (ns_draw_text_decoration):
	* src/xterm.c (x_draw_glyph_string):
	* src/w32term.c (x_draw_glyph_string): Fix calculation of the
	strike-through y-coordinate for a glyph row which is taller than
	the strike-through text.  (Bug#25907)

2017-03-02  Martin Rudalics  <rudalics@gmx.at>

	Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)

	* src/xterm.c (handle_one_xevent): For ConfigureNotify events
	don't call x_net_wm_state when the window is a scroll bar window.
	(Bug#24963, Bug#25887)

2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>

	gnus-summary-select-article-buffer: Don't re-render existing article

	* lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
	Don't re-render existing article.

2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>

	Don't add debbugs address to message body (bug#25896)

	* lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
	Don't add debbugs address to message body (bug#25896), and
	don't add it to message header either if it already exists.

2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/db-global.el: Make dynbind use explicit

	(semanticdb--ih): Declare.
	(semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
	(semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
	(semanticdb-find-tags-for-completion-method): Silence compiler warning.

2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/help-fns.el (describe-variable): Use cl-print for the value

	Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.

2017-03-02  Glenn Morris  <rgm@gnu.org>

	* test/lisp/net/puny-tests.el: New file.

2017-03-02  Glenn Morris  <rgm@gnu.org>

	Small puny.el fix

	* lisp/net/puny.el (puny-decode-string-internal):
	Handle strings with no ascii parts.  (Bug#23688)

2017-03-02  Glenn Morris  <rgm@gnu.org>

	Small recover-this-file improvement

	* lisp/files.el (recover-this-file): Explicit error if not
	visiting a file.  (Bug#23671)

2017-03-01  Glenn Morris  <rgm@gnu.org>

	Fix for coding-system completion (bug#23670)

	* lisp/international/mule.el (read-buffer-file-coding-system):
	Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
	so that completion-pcm--pattern->regex can append "*?".

2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix rounding error in ‘ceiling’ etc.

	Without this fix, (ceiling most-negative-fixnum -1.0) returns
	most-negative-fixnum instead of correctly signaling range-error,
	and similarly for floor, round, and truncate.
	* configure.ac (trunc): Add a check, since Gnulib’s doc says
	‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
	also missing from some other older operating systems like Solaris
	9 which I know we don’t care about any more, so MSVC is the only
	reason to worry about ‘trunc’ here.
	* src/editfns.c (styled_format): Formatting a float with %c is now an
	error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
	had rounding errors.  Besides, the "if (FLOATP (...))" was in there
	only as a result of my misunderstanding old code that I introduced
	2011.  Although %d etc. is sometimes used on floats that represent
	huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
	happen with characters.
	* src/floatfns.c (rounding_driver): Rework to do the right thing
	when the intermediate result equals 2.305843009213694e+18, i.e.,
	is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
	Simplify so that only one section of code checks for overflow,
	rather than two.
	(double_identity): Remove.  All uses changed to ...
	(emacs_trunc): ... this new function.  Add replacement for
	platforms that lack ‘trunc’.
	* src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
	Make it clear that the arg cannot be floating point.
	* test/src/editfns-tests.el (format-c-float): New test.
	* test/src/floatfns-tests.el: New file, to test for this bug.

2017-03-01  Glenn Morris  <rgm@gnu.org>

	Small help--loaded-p fix

	* lisp/help-fns.el (help--loaded-p): Handle entry in load-history
	with nil file name.  (Bug#25847)

2017-03-01  Leo Liu  <sdl.web@gmail.com>

	* src/fns.c (Fbuffer_hash): Doc fix.

2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Don't use mapconcat with chars in gnus registry marks (Bug#25839)

	* lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
	Instead, use a plain concat, which will create a string out of a list
	of characters.

2017-03-01  Noam Postavsky  <npostavs@gmail.com>

	Fix epg-tests with dummy-pinentry program (Bug#23619)

	* test/data/epg/dummy-pinentry: New file.
	* test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
	when a passphrase is required.  Add debug declaration.  Set
	GPG_AGENT_INFO non-destructively.

2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>

	Speed generation of ldefs-boot-auto

	Previously, generation of ldefs-boot-auto required at least one full
	bootstrap and, in extreme cases, two. Now, from build system, it
	requires the same time as taken to dump Emacs.

	* Makefile.in: Remove all calls, pass to src.
	* admin/ldefs-clean.el: Update for changed messages.
	* lisp/Makefile.in (compile-first-delete): Add.
	* lisp/ldefs-boot-auto.el: Update.
	* src/Makefile.in (generate-ldefs-boot): Add.

2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>

	Add error handling to magic-mode-alist

	* lisp/files.el (set-auto-mode): Add explicit error handling in two
	  places.

2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>

	Remove conditional includes from bootstrap

	Previously, bootstrap-emacs includes optional functionality, depending
	on the platform which is not needed for bootstrap function.  As a
	result, bootstrap-emacs contains different functions in different
	circumstances.  If ldefs-boot-auto.el is generated, then loaded
	functions will not be added to ldefs-boot-auto.el, although they may be
	required during some builds.  With this change, bootstrap-emacs should
	always behave the same way and, therefore, require the same autoloads.

	 * lisp/loadup.el: No longer load optional includes during bootstrap
	   dumping.
	 * lisp/ldefs-boot-auto.el: Regenerate.
	 * lisp/ldefs-boot-manual.el: Add two autoloads.

2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>

	Do not use find-file non-interactively

	 * lisp/international/titdic-cnv.el (miscdic-convert): Use
	   insert-file-contents in place of find-file.

2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc

	(update_overlay_arrows): Skip non-markers.

2017-02-28  Ken Brown  <kbrown@cornell.edu>

	Try to avoid hang when logging out of MS-Windows

	* src/w32term.c (x_update_window_begin, x_update_window_end)
	(my_show_window, my_set_window_pos, my_set_focus)
	(my_set_foreground_window, my_destroy_window)
	(my_bring_window_to_top, x_iconify_frame): Replace calls to
	SendMessage by calls to SendMessageTimeout with a 6-second
	timeout.  (Bug#25875)

2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.

2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/misc/eieio.texi: Update to account for the cl-generic facilities

	(Quick Start, Class Options, Generics): Adjust names for cl-generic.
	(Methods): Document cl-defmethod.
	Explain in more detail the order in which the various
	methods are executed.  Document the conditions under which a method
	is redefined.  Remove reference to `eieio-generic-call-arglst`.
	Don't document the precise return value of cl-next-method-p.
	(Static Methods): Adjust to use `subclass` specializer.
	(Method Invocation): Use cl-call-next-method and drop mention of :primary.
	(Signal Handling, Signals): Adjust names and args for cl-generic; add
	cl-no-primary-method.
	(CLOS compatibility, Wish List): Adjust to new featureset.

2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.

	* lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.

2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>

	(sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
	(sgml-syntax-propertize-inside): New fun.

2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert

	": ;" after completing a property.

2017-02-28  Tino Calancha  <tino.calancha@gmail.com>

	Show Ibuffer and jump to line listing current buffer

	* lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).

2017-02-27  Juri Linkov  <juri@linkov.net>

	* lisp/vc/add-log.el (change-log-next-buffer): Check if file exists

	before adding it to the list of files.

2017-02-27  Juri Linkov  <juri@linkov.net>

	Put text properties on query-replace separator string instead of "\0"

	* lisp/replace.el (query-replace--split-string):
	Split at a substring instead of just character.
	(query-replace-read-from): Put text properties on the
	separator string instead of "\0".  (Bug#25482)

2017-02-27  Juri Linkov  <juri@linkov.net>

	Add file name and its extension to suggestions in dired-mark-files-regexp

	* lisp/dired.el (dired-mark-files-regexp): Add file name
	and its extension to the list of suggested defaults.  (Bug#25578)

2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)

	Prompt default extension in dired-mark-extension

	* lisp/dired-x.el (dired-mark-extension): Prompt default extension
	based on extension of file at point.  (Bug#25578)

2017-02-27  Tino Calancha  <tino.calancha@gmail.com>

	Prevent for consing in cl-mapc and cl-mapl

	* lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
	If non-nil, accumulate values in the result (Bug#25826).
	(cl-mapc): Do computations inside function instead of call cl-map.
	(cl-mapl): Do computations inside function instead of call cl-maplist.
	* lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
	Call cl--mapcar-many with non-nil 3rd argument.
	* test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
	(cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
	(cl-extra-test-maplist): New tests.

2017-02-27  Tino Calancha  <tino.calancha@gmail.com>

	Choose the right target dir on dired operations

	Prevent from changing the input target dir
	when dired-dwim-target is non-nil (Bug#25609).
	* lisp/dired-aux.el (dired-do-create-files):
	If dired-dwim-target is non-nil, then bind 'default' to nil.
	* test/lisp/dired-tests.el (dired-test-bug25609): Add test.

2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/xdisp.c (overlay_arrows_changed_p): Fix last change.

2017-02-27  Noam Postavsky  <npostavs@gmail.com>

	Don't record eshell/clear "command" in history (Bug#25838)

	`eshell/clear' is implemented by sending a series of blank lines,
	which is not a useful thing to have in the history.

	* lisp/eshell/em-hist.el (eshell-input-filter-default): Use
	`string-blank-p' which does check for newlines (even though newlines
	have comment-end syntax, not whitespace syntax class).
	* lisp/eshell/esh-mode.el (eshell/clear): Remove
	`eshell-add-to-history' from `eshell-input-filter-functions' while
	sending the blank lines.  This change is needed to solve the bug if
	the user customizes `eshell-input-filter' to something that doesn't
	filter newlines.

2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>

	Remove a few unused C functions

	* src/eval.c (let_shadows_global_binding_p):
	* src/print.c (write_string):
	* src/systhread.c (sys_mutex_destroy, sys_thread_equal):
	Remove.
	* src/print.c (write_string): Rename from write_string_1.
	All uses changed.

2017-02-26  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfault in overlay_arrows_changed_p

	* src/xdisp.c (overlay_arrows_changed_p): Fix recent change
	to avoid a segfault.

2017-02-26  Noam Postavsky  <npostavs@gmail.com>

	Don't call package--ensure-init-file if initialized during startup

	* lisp/emacs-lisp/package.el (package-initialize): Check
	`after-init-time' rather than `load-file-name' to decide if
	`package--ensure-init-file' should be called.  Depending on
	`load-file-name' will fail if the user calls `package-initialize' in
	file which is loaded from the init file (Bug#24643, Bug#25819).

2017-02-26  Eli Zaretskii  <eliz@gnu.org>

	Fix display of before- and after-strings at invisible text

	* src/xdisp.c (next_overlay_string): Don't raise the
	ignore_overlay_strings_at_pos_p flag if the iterator is already
	set to continue at a buffer position different from the one
	where the overlay strings we just processed were loaded.  (Bug#25856)

2017-02-26  Michael Albinus  <michael.albinus@gmx.de>

	Work on `tramp-completion-mode-p'

	* etc/NEWS: Say that `tramp-completion-mode' is obsolete.

	* lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
	(tramp-completion-mode-p): Reintroduce the check for 'tab.

2017-02-25  Tom Tromey  <tom@tromey.com>

	Use font-lock-doc-face in js-mode

	Bug#25858:
	* lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
	defun.
	(js-mode): Use it.
	* test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
	test.

2017-02-25  Noam Postavsky  <npostavs@gmail.com>

	Don't use IP 0.0.0.0 for package test server (Bug#22582)

	* test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
	'server_address' when port number is given on the command line.  Print
	IP and port number as a URL, and flush it after printing.
	* test/lisp/emacs-lisp/package-tests.el:
	(package-test-update-archives-async): Grab the whole URL from server
	output.

2017-02-25  Tom Tromey  <tom@tromey.com>

	Add more branch support to vc-dir

	Bug#25859:
	* lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
	* lisp/vc/vc.el (vc-revision-history): New defvar.
	(vc-read-revision): Use vc-revision-history.
	(vc-print-branch-log): New function.
	* doc/emacs/maintaining.texi (VC Directory Commands): Document new
	bindings.
	* etc/NEWS: Mention new vc-dir bindings.

2017-02-25  Alan Mackenzie  <acm@muc.de>

	Allow for the :: operator in C++ "enum class" declarations.

	* lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
	"::".

2017-02-25  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#25854

	* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
	Simplify error handling for huge inodes.
	(tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)

2017-02-25  Eli Zaretskii  <eliz@gnu.org>

	Avoid leaving garbage on screen when using 'raise' display property

	* src/xdisp.c (display_line): Reset voffset value of the iterator
	when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
	which then leaves stuff on screen that needs to be cleared by
	redisplay.  (Bug#25855)

2017-02-25  Eli Zaretskii  <eliz@gnu.org>

	Fix doc strings in info.el

	* lisp/info.el (Info-selection-hook, Info-mode-hook)
	(Info-edit-mode-hook): Doc fixes.  (Bug#25794)

2017-02-25  Eli Zaretskii  <eliz@gnu.org>

	Fix doc string of 'posn-at-point'

	* src/keyboard.c (Fposn_at_point): Clarify the doc string.
	(Bug#25796)

2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>

	New option -u / --suppress-output to emacsclient

	* lib-src/emacsclient.c (print_help_and_exit, longopts)
	(decode_options, main): Implement new option --suppress-output / -u to
	suppress printing of eval-results.
	* doc/emacs/misc.texi (emacsclient Options): Document the new
	"--suppress-output/-u" options.
	* etc/NEWS: Mention the new options.

2017-02-25  Noam Postavsky  <npostavs@gmail.com>

	Fix scrolling with partial line corner case (Bug#25792)

	Also fix up the scrolling tests so that they don't make so many
	assumptions about the current window configuration.

	* src/xdisp.c (try_window): Take partial line height into account when
	comparing cursor position against scroll margin.

	* test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
	HEIGHT argument, to allow setting up window with exact height and
	partial line.
	(scroll-tests-display-buffer-with-height): New display-buffer action
	function.
	(scroll-tests-scroll-margin-over-max):
	(scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
	`scroll-tests--scroll-margin-whole-window'.
	(scroll-tests-conservative-show-trailing-whitespace): New test.
	(scroll-tests-scroll-margin-negative): Fix line counting.
	(scroll-tests--point-in-middle-of-window-p): Set window height
	properly.

2017-02-25  Tom Tromey  <tom@tromey.com>

	Fix indentation error in js.el

	* lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
	call in condition-case.
	* test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
	test.

2017-02-24  Tom Tromey  <tom@tromey.com>

	add "async" and "await" keywords

	* lisp/progmodes/js.el (js--keyword-re): Add async, await.

2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use cl-print for Edebug and EIEIO

	* lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
	(edebug-prin1, edebug-print): Remove.

	* lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
	(cl-print-object): Add a method for EIEIO objects.
	(eieio-edebug-prin1-to-string): Delete.
	(edebug-prin1-to-string): Don't advise any more.

	* lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
	Replace `object-print' -> `cl-prin1-to-string'.

2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix left over uses of `call-next-method'

	* lisp/cedet/semantic/db-global.el (object-print):
	* lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.

2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	Minor redisplay optimizations

	* src/frame.c (Ficonify_frame): No need to redisplay everything.

	* src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
	(redisplay_internal): Use it to avoid redisplaying everything.
	(try_window_id): Use it keep the same behavior as before.

2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-print.el: New file

	* lisp/emacs-lisp/nadvice.el (advice--where): New function.
	(advice--make-docstring): Use it.

	* src/print.c (print_number_index): Don't declare here any more.
	(Fprint_preprocess): New function.

	* test/lisp/emacs-lisp/cl-print-tests.el: New file.

2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>

	Make calc's least common multiple positive (bug#25255)

	* lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
	* doc/misc/calc.texi (Combinatorial Functions): Update for the above.

2017-02-24  Tino Calancha  <tino.calancha@gmail.com>

	Documentation fix in elisp reference manual

	* doc/lispref/macros.texi (Defining Macros): Drop redundant mention
	on 'declare' forms (Bug#25846).

2017-02-24  Gemini Lasswell  <gazally@runbox.com>

	Support read syntax for circular objects in Edebug (Bug#23660)

	* lisp/emacs-lisp/edebug.el (edebug-read-special): New name
	for edebug-read-function. Handle the read syntax for circular
	objects.
	(edebug-read-objects): New variable.
	(edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.

	* src/lread.c (Fsubstitute_object_in_subtree): Make
	substitute_object_in_subtree into a Lisp primitive.

2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)

	Add Conference to the list of valid bibtex entry types

	* lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
	Add Conference as a duplicate of InProceedings.  (Bug#25143)

2017-02-23  Glenn Morris  <rgm@gnu.org>

	* lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)

2017-02-23  Glenn Morris  <rgm@gnu.org>

	Small dunnet score file improvements

	* lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
	(dun-do-logfile): Handle non-existing score file.

2017-02-23  Glenn Morris  <rgm@gnu.org>

	* lisp/play/dunnet.el (dun-help): Doc fix.

2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>

	Declare dun-line and dun-line-list

	Previously, there were free variables 'line' and 'line-list'.
	* lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
	(dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
	(dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
	(dun-batch-unix-interface): Use them.

2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-02-16 xbinary-io: rename from xsetmode
	2017-02-15 xsetmode: new module
	* lib-src/etags.c (main):
	* lib-src/hexl.c (main):
	* src/emacs.c (main) [MSDOS]:
	Prefer set_binary_mode to the obsolescent SET_BINARY.
	* lib/binary-io.c, lib/binary-io.h: Copy from gnulib.

2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	hexl: handle large files and I/O errors

	* lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
	Do not include ctype.h, as the code no longer uses isdigit.
	(DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
	(DEFAULT_BASE, endian): Remove; was not really used.
	(usage): Remove; now done by ‘main’, as that’s simpler.
	(progname): Now static.
	(output_error, hexchar): New functions.
	(main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
	"-little-endian" options, as they did not work and were not used.
	Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
	Use SET_BINARY only once on stdout.
	Do not assume file offsets fit in ‘long’.
	If an I/O error occurs, report it and exit with nonzero status.

2017-02-23  Eli Zaretskii  <eliz@gnu.org>

	Avoid quitting inside a critical section on MS-Windows

	* src/w32uniscribe.c (uniscribe_list_family):
	* src/w32font.c (w32font_list_family, w32font_text_extents)
	(w32font_list_internal, w32font_match_internal)
	(list_all_matching_fonts): Prevent quitting while these functions
	cons lists of fonts, to avoid leaving the critical section taken
	by the main thread, which will then cause any other thread
	attempting to enter the critical section to hang.  (Bug#25279)

2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>

	Use revision-completion-table in vc-retrieve-tag

	* lisp/vc/vc.el (vc-retrieve-tag): Use the
	revision-completion-table command for completion (bug#25710).

2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'

	remove entries whose car can't be returned by type-of.
	(cl--generic-all-builtin-types): New var.
	(cl-generic-generalizers): Use it to avoid requiring
	extra entries in cl--generic-typeof-types.

2017-02-22  Noam Postavsky  <npostavs@gmail.com>

	Find macro binding for symbol-bound macros too (Bug#6848)

	There are 2 ways to bind a macro: with global-set-key or
	kmacro-bind-to-key.  The former binds a key to a symbol, while the
	latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
	lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
	case, but broke the symbol case.

	* lisp/macros.el (insert-kbd-macro): Also check for bindings of
	MACRONAME.

2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change

2017-02-22  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).

2017-02-22  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.

	(isearch-lazy-highlight-update): Check it to decide whether to apply
	overlays only on the selected window.

	* lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
	(Bug#17453, bug#21092)

2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>

	Minor weak hash table performance tweaks

	* src/fns.c (make_hash_table): Omit unnecessary assignment to
	h->next_weak when the hash table is not weak.
	(copy_hash_table): Put the copy next to the original in the
	weak_hash_tables list, as this should have better locality
	when scanning the weak hash tables.

2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>

	Use float instead of Lisp_Object for rehash_size

	* src/alloc.c (purecopy_hash_table):
	* src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
	(Fhash_table_rehash_size):
	* src/lisp.h (struct Lisp_Hash_Table.rehash_size):
	The rehash_size member of struct Lisp_Hash_Table is now a
	float, not a Lisp_Object.
	* src/alloc.c (purecopy_hash_table): Assign members in order.
	* src/fns.c (make_hash_table): Use EMACS_INT for size and
	float for rehash_size, instead of Lisp_Object for both.
	All callers changed.
	* src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
	and 1 smaller.
	* src/print.c (print_object): Simplify by calling
	Fhash_table_rehash_size and Fhash_table_rehash_threshold.
	Avoid unnecessary NILP.

2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>

	Use ptrdiff_t instead of Lisp_Object for collision

	* src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
	* src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
	arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
	integer (or Qnil if empty).  All callers changed.
	(larger_vecalloc): New static function.
	(larger_vector): Use it.
	(HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
	index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
	* src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
	(hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
	* src/profiler.c (evict_lower_half, record_backtrace):
	-1, not nil, is now the convention for end of collision list.
	* src/fns.c (maybe_resize_hash_table): Avoid double-initialization
	of the free list.  Reallocate H->next last, in case other
	reallocations exhaust memory.
	* src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
	ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
	‘index’, which no longer contain nil.
	(HASH_NEXT, HASH_INDEX): Move to src/fns.c.

2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>

	Hash table threshold is now float, not double

	Change default from 0.8 to 0.8125 so it fits in float without
	rounding glitches.
	* doc/lispref/hash.texi (Creating Hash):
	* doc/lispref/objects.texi (Hash Table Type):
	* etc/NEWS:
	Document change.
	* src/fns.c (make_hash_table, maybe_resize_hash_table)
	(Fmake_hash_table): Threshold is now float, not double.
	Be consistent about how this is rounded.
	* src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
	Change back to float, now that the other code rounds consistently.
	(DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.

2017-02-22  Juri Linkov  <juri@linkov.net>

	Avoid flicker in lazy-highlight by doing all updates without redisplay.

	* lisp/isearch.el (lazy-highlight-max-at-a-time):
	Change default value from 20 to nil to not trigger redisplay
	between updating iterations.
	(lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
	overlays when non-nil.
	(isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
	with non-nil second arg when the search string is not empty.
	Run timer with isearch-lazy-highlight-start instead of
	isearch-lazy-highlight-update.
	(isearch-lazy-highlight-start): New function. (Bug#25751)

2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric

	* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.

2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication

	which resulted in incomplete list of parents in one copy of the
	cl-structure-class class.

2017-02-21  Glenn Morris  <rgm@gnu.org>

	Tweak recent custom-reevaluate-setting change

	* lisp/custom.el (custom-reevaluate-setting):
	Tweak previous change to avoid font-lock init issues.

2017-02-21  Glenn Morris  <rgm@gnu.org>

	Ensure delayed-init custom variables get marked special

	* lisp/custom.el (custom-reevaluate-setting):
	If the variable has never been set, defvar it.  (Bug#25770)

2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on lexical-binding in dunnet.el

	* lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
	byte compile warnings.

2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>

	Make dunnet insertion functions n-ary

	* lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
	(dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
	any number of arguments.
	(dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
	(dun-take, dun-go, dun-move, dun-press, dun-score):
	(dun-compile-save-out, dun-do-logfile): Collect arguments from
	multiple insertion calls into less calls with more args.

2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>

	message-goto-body-1: Fix regexp so as not to match multi-line

	* lisp/gnus/message.el (message-goto-body-1):
	Fix regexp so as not to match multi-line.

2017-02-20  Noam Postavsky  <npostavs@gmail.com>

	Simplify cl-get using `plist-member'

	* lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
	`plist-member' instead of explicit loop.
	* test/lisp/emacs-lisp/cl-extra-tests.el: New tests.

2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	Verify xwidget USE_LSB_TAG assumption

	* src/xwidget.c (Fxwidget_webkit_execute_script):
	Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).

2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/insdel.c (make_gap): Improve comment.

2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>

	Do not use switch-to-buffer for working in a temp buffer

	* lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
	cf. Bug#22244.
	(dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
	with-temp-buffer instead.

2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>

	Make dun-room-shorts a defconst

	* lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
	initial value into the declaration.
	(dun-space-to-hyphen): Remove.

2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	Port xwidget to -DCHECK_LISP_OBJECT_TYPE

	* src/xwidget.c (webkit_javascript_finished_cb)
	(Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
	integer.  This fix is just a hack; I’ll file a bug report about
	the underlying problem.

2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>

	mm-decode.el: Simplify regexp used to search html meta tag

	* lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
	Simplify regexp used to search html meta tag.

2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>

	mm-shr: Ignore coding-system `ascii'

	* lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.

2017-02-20  Tom Tromey  <tom@tromey.com>

	vc-log-outgoing fixes for git; add binding to vc-dir

	* lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
	* lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
	async execution.
	(vc-git-log-view-mode): Also truncate lines for log-outgoing and
	log-incoming.
	* lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
	as remote-location argument.

2017-02-20  Tom Tromey  <tom@tromey.com>

	Remove stale comments from vc-git and vc-hg

	* lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
	* lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.

2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>

	Remove member clone

	* lisp/play/dunnet.el (dun-answer): Use member instead.
	(dun-members): Remove.

2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>

	Prefix global var

	* lisp/play/dunnet.el (room): Rename to dun-room.
	(dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
	(dun-restore, dun-do-logfile, dun-batch-loop): Use new name.

2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>

	Replace nested ifs with cond

	* lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
	(dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
	and cond where appropriate.
	(dun-sauna-heat): Accept sauna level as an argument.  Use cond.
	(dun-take): Use null and dun-mprincl.
	(dun-inven-weight, dun-load-d): Reformat.
	(dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.

2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix glitches in recent hash table changes

	* src/fns.c (Fmake_hash_table): Simplify the machine code slightly
	by using 0 rather than -1.
	* src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
	than a bitfield, for speed (the bitfield did not save space).
	(struct Lisp_Hash_Table.rehash_threshold): Now double rather than
	float, since the float caused unwanted rounding errors, e.g.,
	(hash-table-rehash-threshold (make-hash-table)) yielded
	0.800000011920929 instead of the correct 0.8.

2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.

2017-02-19  Eli Zaretskii  <eliz@gnu.org>

	Avoid aborts during loadup

	* src/emacs-module.c (syms_of_module):
	* src/image.c (xpm_make_color_table_h): Update calls to
	make_hash_table to adjust to a recent change in fns.c.
	* src/fns.c (make_hash_table):
	* src/lisp.h (make_hash_table): 4th arg is now of type double.

2017-02-19  Michael Albinus  <michael.albinus@gmx.de>

	Rework connection local variables

	For connection local variables interface, `class' is renamed
	to `profile'.  All arguments `criteria' are a plist now.

	* doc/lispref/variables.texi (Connection Local Variables):
	Rewrite.

	* lisp/files-x.el (connection-local-profile-alist): Rename
	from `connection-local-class-alist'.  Adapt docstring.
	(connection-local-criteria-alist): Adapt docstring.
	(connection-local-normalize-criteria): New defun.
	(connection-local-get-profiles): Rename from
	`connection-local-get-classes'.  Rewrite.
	(connection-local-set-profiles): Rename from
	`connection-local-set-classes'.  Rewrite.
	(connection-local-get-profile-variables): Rename from
	`connection-local-get-class-variables'.  Rewrite.
	(connection-local-set-profile-variables): Rename from
	`connection-local-set-class-variables'.  Rewrite.
	(hack-connection-local-variables)
	(hack-connection-local-variables-apply)): Rewrite.
	(with-connection-local-profiles): Rename from
	`ith-connection-local-classes'.  Rewrite.

	* lisp/net/tramp.el (tramp-set-connection-local-variables):
	Compute criteria.

	* lisp/net/tramp-cmds.el (tramp-bug):
	Use `connection-local-profile-alist'.

	* test/lisp/files-x-tests.el (files-x-test--variables1)
	(files-x-test--variables2, files-x-test--variables3)
	(files-x-test--variables4, files-x-test--criteria1)
	(files-x-test--criteria2): Make them a defconst.
	(files-x-test--application)
	(files-x-test--another-application, files-x-test--protocol)
	(files-x-test--user, files-x-test--machine): New defconst.
	(files-x-test--criteria): New defvar.
	(files-x-test--criteria3): Remove.
	(files-x-test-connection-local-set-profile-variables):
	Rename from `files-x-test-connection-local-set-class-variables'.
	Rewrite.
	(files-x-test-connection-local-set-profiles): Rename from
	`files-x-test-connection-local-set-classes'.  Rewrite.
	(files-x-test-hack-connection-local-variables-apply)  Rewrite.
	(files-x-test-with-connection-local-profiles): Rename from
	`files-x-test-with-connection-local-classes'.  Rewrite.

2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>

	Set up combination and random item location

	* lisp/play/dunnet.el (dun-combination): Make defconst.
	(tloc, tcomb): Remove.  Replace with a top-level form.

2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>

	Replace movement variables with an alist and accessor

	* lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
	(northwest, southwest, up, down, in, out): Remove.
	(dun-movement-alist): New constant.
	(dun-movement): New function.
	(dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
	(dun-down, dun-in, dun-out): Use a symbol for indicating movement.
	(dun-move, dun-special-move): Translate movement symbol to an
	enumeration.

2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>

	Change top-level setq forms to defvar or defconst

	Also collect some code onto fewer lines and reindent.
	* lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
	(dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
	(dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
	(room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
	(dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
	(dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
	(dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
	(dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
	(dun-mode, dun-sauna-level, north, south, east, west, northeast):
	(southeast, northwest, southwest, up, down, in, out, dungeon-map):
	(dun-objnames, obj-special, dun-room-objects, dun-room-silents):
	(dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
	(dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
	(dun-diggables, dun-room-shorts, dun-endgame-questions): Change
	declaration to use defvar or defconst.
	(dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
	(dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
	dun-verblist.  Those are now constants and the byte compiler doesn't
	allow defconsts in lambda lists.

2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>

	Move all dunnet globals up to the top

	* lisp/play/dunnet.el: Adjust comments to reflect moved forms.
	(dun-visited, dun-current-room, dun-exitf):
	(dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
	(dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
	(room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
	(dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
	(dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
	(dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
	(dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
	(dun-mode, dun-sauna-level, north, south, east, west, northeast):
	(southeast, northwest, southwest, up, down, in, out, dungeon-map):
	(dun-objnames, obj-special, dun-room-objects, dun-room-silents):
	(dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
	(dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
	(dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
	top of the file, before any uses.

2017-02-19  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#25788

	* lisp/net/tramp.el (tramp-autoload-file-name-handler):
	Do not load tramp.el just for "/".  (Bug#25788)

2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix fringe bitmap initialization on MS-Windows

	* src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
	of fb->bits.  (Bug#25673)

2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	Change type of `rehash_threshold' and `pure' fields in hash-tables

	* src/lisp.h (struct Lisp_Hash_Table): Change type of
	`rehash_threshold' and `pure' fields and move them after `count'.
	* src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
	(Fmake_hash_table, Fhash_table_rehash_threshold):
	* src/category.c (hash_get_category_set):
	* src/xterm.c (syms_of_xterm):
	* src/profiler.c (make_log):
	* src/print.c (print_object):
	* src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.

2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>

	Use 'char *FOO' instead of 'char* FOO'

2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>

	More json.el changes

	* lisp/json.el (json-read-keyword, json-read-number, json-read-object):
	(json-read-array): Just use = for char comparison.

2017-02-18  Noam Postavsky  <npostavs@gmail.com>

	* lisp/woman.el (woman): Fix docstring prefix arg description.

2017-02-18  Alan Mackenzie  <acm@muc.de>

	Fix edebug-spec on c-lang-defvar.

	This allows c-lang-defvars with the symbol 'dont-doc in the place of the
	optional documentation to be instrumented for edebug.

	lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
	c-lang-defvar.
	(c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
	'dont-doc.

2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Lists used as plists now have to be an even length

	* lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
	(eww-process-text-input): Not here, either.

2017-02-18  Michael Albinus  <michael.albinus@gmx.de>

	Unset `non-essential' in Tramp when not needed anymore

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.3.2-pre".

	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
	Use `tramp-completion-mode-p'.

	* lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
	when file name doesn't match `tramp-completion-file-name-regexp'.

2017-02-18  Eli Zaretskii  <eliz@gnu.org>

	Automatically regenerate emacs.1 and *.rc files

	* Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
	non-Makefile files produced by config.status.
	($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
	their targets are regenerated when the source changes.

2017-02-18  Alan Mackenzie  <acm@muc.de>

	Set the syntax table in AWK Mode.

	This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
	It fixes bug #25722.

	lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.

2017-02-18  Eli Zaretskii  <eliz@gnu.org>

	Mention "editor" in Emacs man page header

	* doc/man/emacs.1.in: Mention "editor" in the header line.
	(Bug#25771, Bug#25779)

2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>

	Fix Turkish language environment setup

	* lisp/language/european.el ("Turkish"): Fix a typo in Turkish
	language setup.  (Bug#25763)

2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>

	Support 24-bit direct colors on text terminals

	* src/term.c (init_tty): Use 24-bit terminal colors if corresponding
	foreground and background functions are present in terminal type
	definition.
	* src/tparam.h: Define prototype for tigetstr.

	* lisp/term/tty-colors.el (tty-color-define): Convert color palette
	index to pixel value on 16.7M color terminals.
	(tty-color-24bit): New function to convert color palette index to
	pixel value on 16.7M color terminals.
	(tty-color-desc): Don't approximate colors on 16.7M color terminals.
	* lisp/term/xterm.el (xterm-register-default-colors): Define all named
	TTY colors on 16.7M color terminals.

	* doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
	enable direct color TTY mode.
	* etc/NEWS: Mention direct color TTY mode and point to FAQ.

2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>

	Remove unused TN_max_pairs field

	* src/termchar.h (tty_display_info): Remove TN_max_pairs field,
	describing maximum number of terminal background/foreground color pairs.
	* src/term.c (tty_default_color_capabilities, tty_setup_colors)
	(init_tty): Remove references to TN_max_pairs.

2017-02-18  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of query-replace-from-to-separator

	* doc/emacs/search.texi (Query Replace): Document the meaning of
	the nil value of query-replace-from-to-separator.  (Bug#25482)

2017-02-18  Eli Zaretskii  <eliz@gnu.org>

	Document problems with nerd-fonts

	* etc/PROBLEMS (fonts): Describe the potential problems with
	nerd-fonts that cause slow display.  (Bug#25697)

2017-02-18  Eli Zaretskii  <eliz@gnu.org>

	Improve commentary for a recent change in keyboard.c

	* src/keyboard.c (Fset__this_command_keys): Add a comment about
	the magic 248 value.  (Bug#25612)

2017-02-18  Eli Zaretskii  <eliz@gnu.org>

	Avoid infloop in rect.el

	* lisp/rect.el (rectangle--*-char): Avoid inflooping when called
	with argument N whose absolute value is greater than 1.  (Bug#25773)

2017-02-18  Eli Zaretskii  <eliz@gnu.org>

	Remove annoying warnings about let-binding

	* src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
	Remove warnings about making symbols local while let-bound.
	(Bug#25561)

2017-02-18  Hong Xu  <hong@topbug.net>

	Avoid errors when flyspell-generic-check-word-predicate is a lambda.

	* lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
	functionp instead of fboundp on
	flyspell-generic-check-word-predicate (Bug#25765).

2017-02-18  Glenn Morris  <rgm@gnu.org>

	Remove the build number from emacs-version variable

	It's a largely internal detail that can confuse users.  (Bug#25590)
	* lisp/version.el (emacs-build-number): New constant.
	(emacs-version): Use emacs-build-number.
	* lisp/loadup.el (top-level): When dumping, increment
	emacs-build-number rather than emacs-version.
	* src/emacs.c (emacs-version): Doc fix.
	* doc/lispref/intro.texi (Version Info): Update emacs-version details.
	Mention emacs-build-number.
	* lisp/gnus/gnus-util.el (gnus-emacs-version):
	* lisp/mail/emacsbug.el (report-emacs-bug):
	* admin/admin.el (set-version): Update for emacs-version change.

2017-02-18  Glenn Morris  <rgm@gnu.org>

	Ensure that user-mail-address always has a value

	* lisp/startup.el (user-mail-address): Initialize in the normal way.
	(command-line): Reset user-mail-address if needed using
	standard custom machinery.
	* lisp/mail/feedmail.el (feedmail-fiddle-from):
	* lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
	* lisp/mail/rmailsum.el (rmail-header-summary):
	Simplify now that user-mail-address is always set.

2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on lexical-binding in ruby-mode

	* lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
	(ruby-font-lock-syntax-table): Use make-syntax-table.
	(ruby-mode): 'define-derived-mode' writes the keys for us.

2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on lexical-binding in elint.el

	* lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
	(elint-running, elint-current-pos): Move these dynamic vars to toward
	the top of the file.
	(elint-check-quote-form): Ignore unused argument.
	(elint-check-conditional-form): Remove unused binding.

2017-02-18  Gemini Lasswell  <gazally@runbox.com>

	* lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)

2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>

	Enable erc-accidental-paste-threshold-seconds by default

	* lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
	default to 0.2 (Bug#25709).

2017-02-17  Michal Nazarewicz  <mina86@mina86.com>

	Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’

	The [5ec3a584: Generate upcase and downcase tables from Unicode data]
	commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
	one created with ‘make extraclean’), see
	<https://hydra.nixos.org/build/48774928>.

	The failure was caused by characters.el trying to read Unicode
	property tables which aren’t available so early in the build process.

	Wrap the part that requires Unicode property tables in a condition
	checking if those are available.  If they aren’t they case and syntax
	tables won’t be fully set but later on, the characters.el file will be
	evaluated again and this time with Unicode properties available so
	final Emacs ends up with the exact same case and syntax tables.

2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>

	mm-add-meta-html-tag: Improve regexp

	* lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
	Improve regexp to search html meta tag.

2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>

	mm-shr: Prefer charset specified in html meta tag

	* lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
	meta tag than mail-parse-charset in the case there is no charset spec
	in MIME header.

2017-02-17  Glenn Morris  <rgm@gnu.org>

	Stop duplicating some custom-types in message.el

	* lisp/gnus/message.el (user-mail-address, user-full-name):
	No need to re-specify custom-type.

2017-02-17  Glenn Morris  <rgm@gnu.org>

	Whitespace trivia in dunnet.el

	* lisp/play/dunnet.el (dun-special-object, dun-put-objs)
	(dun-rlogin-endgame): Whitespace trivia.

2017-02-17  Glenn Morris  <rgm@gnu.org>

	Explicit error on changing case of negative integers

	* src/casefiddle.c (casify_object): Reject negative integers:
	Emacs characters are positive integers.  (Bug#25684)

2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>

	Fix buffers update in vc-retrieve-tag

	* lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
	`repository', use the repository root and pass it to
	vc-resynch-buffer (bug#25714).

2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	* src/buffer.h: Fix indenting.

2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	Add sanity checks for Bswitch hash tables

	* src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
	Check that operand is a hash table and hashes to ints.

2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	* src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.

2017-02-16  Vibhav Pant  <vibhavp@gmail.com>

	bytecomp.el: Avoid unnecessary calculation for jump table addresses.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
	  redundant operations while calculating the correct jump addresses
	  from TAGs in jump tables.

2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>

	Minor changes in json.el

	* lisp/json.el (json-advance): Simpler docstring.
	(json-read-escaped-char): Use xdigit subform in rx expression.
	(json-read-string): Just use = for char comparison.

2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>

	Don't expand body inside a let-binding when there are no bindings

	* lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
	is non-nil.

2017-02-16  Glenn Morris  <rgm@gnu.org>

	Handle user-mail-address being the empty string

	* lisp/mail/feedmail.el (feedmail-fiddle-from):
	* lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
	* lisp/mail/rmailsum.el (rmail-header-summary):
	Belated update for 2002-09-29 startup.el change, 680ebfa, where
	the value of user-mail-address during initialization was changed
	from nil to the empty string.

2017-02-15  Michael Albinus  <michael.albinus@gmx.de>

	Continue to fix bug#25607

	* lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
	(ido-file-name-all-completions-1): Do not bind `non-essential'.

	* lisp/net/tramp.el: (tramp-completion-file-name-handler):
	Improve autoloaded version.
	(tramp-completion-file-name-handler): Remove old compat code.
	Check only for `tramp-completion-mode-p'.
	(tramp-completion-mode-p): Autoload.  Do not check any longer
	for `last-input-event'.
	(tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)

2017-02-15  Michal Nazarewicz  <mina86@mina86.com>

	casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)

	A compatibility digraph characters, such as ǅ, are neither upper- nor
	lower-case.  At the moment however, those are reported as upper-case¹
	despite the fact that they change when upper-cased.

	Stop checking if a character is upper-case before trying to up-case it
	so that title-case characters are handled correctly.  This fixes one of
	the issues mentioned in bug#24603.

	¹ Because they change when converted to lower-case.  Notice an asymmetry
	  in that for a character to be considered lower-case it must not be
	  upper-case (plus the usual condition of changing when upper-cased).

	* src/buffer.h (upcase1): Delete.
	(upcase): Change to upcase character unconditionally just like downcase
	does it.  This is what upcase1 was.

	* src/casefiddle.c (casify_object, casify_region): Use upcase instead
	of upcase1 and don’t check !uppercasep(x) before calling upcase.

	* src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
	downcase(x) and see if it changed.

	* test/src/casefiddle-tests.el (casefiddle-tests--characters,
	casefiddle-tests-casing): Update test cases which are now passing.

2017-02-15  Michal Nazarewicz  <mina86@mina86.com>

	Generate upcase and downcase tables from Unicode data  (bug#24603)

	Use Unicode data to generate case tables instead of mostly repeating
	them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
	digraph to ‘dz’ when down- and ‘DZ’ when upcasing.

	https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
	changes to syntax table and case tables introduced by this commit.

	* lisp/international/characters.el: Remove case-pairs defined with
	explicit Lisp code and instead use Unicode character properties.

	* test/src/casefiddle-tests.el (casefiddle-tests--characters,
	casefiddle-tests-casing): Update test cases which are now working
	as they should.

2017-02-15  Michal Nazarewicz  <mina86@mina86.com>

	Add tests for casefiddle.c  (bug#24603)

	Fixes cases marked FIXME upcoming in followup commits.

	* test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
	casefiddle-tests-case-table, casefiddle-tests-casing-character,
	casefiddle-tests-casing, casefiddle-tests-casing-byte8,
	casefiddle-tests-casing-byte8-with-changes): New tests.
	(casefiddle-tests--test-casing): New helper function for running
	some of the tests.

2017-02-15  Michal Nazarewicz  <mina86@mina86.com>

	oldXMenu: add missing #include <string.h>

	Some of the files in oldXMenu use functions from string.h without
	including that header which results in compile warnings:

		ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
		ChgPane.c:46:20: warning: incompatible implicit declaration of
			built-in function ‘strlen’
		ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
		ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
			function ‘strlen’
		Create.c:220:5: warning: implicit declaration of function ‘strcmp’
		InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
		InsPane.c:65:20: warning: incompatible implicit declaration of
			built-in function ‘strlen’
		InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
		InsSel.c:68:20: warning: incompatible implicit declaration of built-in
			function ‘strlen’
		InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’

	Add the necessary ‘#include <string.h>’.

	oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
	oldXMenu/InsSel.c: add missing #include <string.h>

2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fixup recent rmail patch

	* lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.

2017-02-15  Richard Stallman  <rms@gnu.org>

	Rmail fix

	* lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
	as element 4 of the value.
	(rmail-epa-decrypt): Take the text to insert from that element.

2017-02-15  Vibhav Pant  <vibhavp@gmail.com>

	bytecomp-tests.el: Store all test forms in one constant.

	* test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
	in a single constant (byte-opt-testsuite-arith-data), add new forms
	which generate lapcode with adjacent/redundant tags.

2017-02-15  Glenn Morris  <rgm@gnu.org>

	Small lispref edit

	* doc/lispref/os.texi (User Identification):
	Remove extraneous detail about user-mail-address.

2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>

	Document fill-separate-heterogeneous-words-with-space (bug#25685)

	* doc/lispref/text.texi (Filling):
	Document fill-separate-heterogeneous-words-with-space (bug#25685).

2017-02-15  Noam Postavsky  <npostavs@gmail.com>

	Test comment-multi-line = nil auto fill case too

	* test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
	`comment-multi-line' both nil and non-nil.
	* lisp/newcomment.el (comment-multi-line): Mark safe if it's a
	boolean.
	* etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.

2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>

	Don't delete leading and trailing space from CJK word (bug#25685)

	* lisp/textmodes/fill.el (fill-delete-newlines):
	Don't delete leading and trailing space from CJK word.
	(fill-separate-heterogeneous-words-with-space):
	New user option that controls it (bug#25685).

2017-02-15  Juri Linkov  <juri@linkov.net>

	‘M-s w RET word C-s’ repeats incremental search.

	* lisp/isearch.el (isearch-new-nonincremental): New variable.
	(with-isearch-suspended): Bind isearch-new-nonincremental to
	isearch-nonincremental, and restore it afterwards.
	(isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
	Set isearch-new-nonincremental to nil.  (Bug#25562)

2017-02-14  Tom Tromey  <tom@tromey.com>

	Make vc-git detect conflict state for vc-dir

	* lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
	(vc-git-dir-status-update-file): New function.
	(vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
	vc-git-dir-status-state; add 'ls-files-conflict state.
	(vc-git-dir-status-files): Create a vc-git-dir-status-state.

2017-02-14  Vibhav Pant  <vibhavp@gmail.com>

	byte-opt: Replace merged tags in jump tables too. (bug#25716)

	* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
	  adjacent tags, make sure that the old tag is replaced in all jump
	  tables, if any. This fixes the bytecode VM jumping to the wrong
	  address in compiled cond forms where the body of a clause was a loop
	  of any sort.

2017-02-14  Glenn Morris  <rgm@gnu.org>

	Remove overly broad element from default mail-dont-reply-to-names

	* lisp/mail/mail-utils.el (mail-dont-reply-to):
	Do not include just "user@" in mail-dont-reply-to-names, and simplify.
	Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
	* lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
	* doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.

2017-02-14  Juri Linkov  <juri@linkov.net>

	* etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)

2017-02-13  Arash Esbati  <arash@gnu.org>

	Match all characters in optional argument of \documentclass

	* lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
	characters in optional argument containing name of the main file.

2017-02-13  Vibhav Pant  <vibhavp@gmail.com>

	Merge branch 'master' into feature/byte-switch

2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>

	Fix non-ASCII text encoding (bug#25658)

	* lisp/gnus/mm-bodies.el (mm-encode-body):
	Fix non-ASCII text encoding (bug#25658).

2017-02-13  Vibhav Pant  <vibhavp@gmail.com>

	test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.

2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* doc/lispref/modes.texi (Derived Modes): Make example more idiomatic

2017-02-13  Glenn Morris  <rgm@gnu.org>

	Fix recent bootstrap issue by moving string-to-list

	* lisp/international/mule-util.el (string-to-list, string-to-vector):
	Move from here...
	* lisp/subr.el (string-to-list, string-to-vector): ...to here.
	The implementation is trivial and at least string-to-list
	has ended up being needed early during bootstrap.

2017-02-13  Glenn Morris  <rgm@gnu.org>

	Doc fixes related to mail-host-address

	* lisp/startup.el (mail-host-address): Doc fix.
	* doc/lispref/os.texi (System Environment):
	Remove extraneous details of mail-host-address.

2017-02-13  Glenn Morris  <rgm@gnu.org>

	Simplify time-stamp mail host usage

	* lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
	(time-stamp-string-preprocess): Handle "h" (mail host) directly.

2017-02-13  Glenn Morris  <rgm@gnu.org>

	Doc fix for vhdl-mode re mail-host-address

	* lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
	(mail-host-address): Do not add to vhdl-related custom group,
	since vhdl-template-replace-header-keywords doesn't use it.

2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>

	Substitute leading $HOME/ in xdg-user-dirs

	* lisp/xdg.el (xdg--substitute-home-env): New function.
	(xdg--user-dirs-parse-line): Use it.
	(xdg-user-dir): Expand ~/ in xdg-user-dirs values.

2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/buff-menu.el: Turn on lexical-binding.

2017-02-13  Juri Linkov  <juri@linkov.net>

	* lisp/replace.el (query-replace-from-to-separator): Move propertize

	and char-displayable-p test to query-replace-read-from.
	Add choice nil to disable this feature.
	(query-replace-read-from): Don't reevaluate custom setting.
	Use char-displayable-p to test the first non-whitespace character
	in query-replace-from-to-separator, use " -> " when fails.
	Add prompt for the case when separator is nil but
	query-replace-defaults is non-nil.
	Remove unused test for regexp-flag.
	Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>

2017-02-13  Karl Fogel  <kfogel@red-bean.com>

	Convert more uses of `looking-at' to `following-char'

	This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
	(commit 91478f46238a) with more of the same.

	* lisp/bookmark.el (bookmark-send-edited-annotation):
	  (bookmark-bmenu-execute-deletions): Replace instances of looking-at
	  with char comparisons using following-char.

2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	Fix typos in tests for lax-plist-get etc.

	Problem reported by Eli Zaretskii (Bug#25606#62).
	* test/src/fns-tests.el (test-cycle-lax-plist-get)
	(test-cycle-plist-put, test-cycle-lax-plist-put):
	Fix tests to match behavior.

2017-02-12  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#25607

	* lisp/net/tramp.el (tramp-completion-file-name-handler):
	Improve autoloaded version.
	(tramp-autoload-file-name-handler): Avoid recursive load.
	(tramp-completion-handle-expand-file-name): Handle empty NAME.
	(Bug#25607)

2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>

	Remove server-buffer-clients string from minor-mode-alist

	* lisp/server.el: Don't put an element for server-buffer-clients into
	minor-mode-alist. (Bug#20201)

2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>

	Nix some useless uses of looking-at, looking-back

	* lisp/allout.el (allout-kill-topic):
	(allout-next-topic-pending-encryption):
	* lisp/bookmark.el (bookmark-kill-line):
	* lisp/cus-edit.el (custom-save-variables, custom-save-faces):
	* lisp/cus-theme.el (custom-theme-write-variables):
	(custom-theme-write-faces):
	* lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
	* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
	* lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
	(checkdoc-interactive-ispell-loop):
	(checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
	(checkdoc-this-string-valid-engine):
	* lisp/emacs-lisp/elint.el (elint-get-top-forms):
	* lisp/emulation/viper-cmd.el (viper-backward-indent):
	* lisp/image-dired.el (image-dired-delete-char):
	* lisp/simple.el (kill-visual-line): Replace instances of looking-at,
	looking-back with char comparisons using following-char, preceding-char.

2017-02-12  Eli Zaretskii  <eliz@gnu.org>

	Clarify what is the "cursor"

	* doc/lispref/windows.texi (Window Point): Clarify the notion of
	"cursor".

2017-02-11  Tom Tromey  <tom@tromey.com>

	Recognize JS regexp literals more correctly

	Bug#25529
	* lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
	constant.
	(js-syntax-propertize-regexp): Use it.  Remove "end" argument.
	(js--syntax-propertize-regexp-syntax-table): Remove.
	(js-syntax-propertize): Update.
	* test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
	New test.

2017-02-11  Vibhav Pant  <vibhavp@gmail.com>

	src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.

	This avoids using XUINT every time while comparing it with
	HASH_HASH (h, i), replacing it with EQ.

2017-02-11  Vibhav Pant  <vibhavp@gmail.com>

	src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.

2017-02-11  Tom Tromey  <tom@tromey.com>

	Fix bug in css--mdn-find-symbol

	* lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
	before skipping word characters.
	test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
	regression test.

2017-02-11  Vibhav Pant  <vibhavp@gmail.com>

	src/bytecode.c: Add optional sanity check for jump tables.

	* src/bytecode.c (exec_byte_code): When sanity checks are enabled,
	  check that the jump table's size is equal to it's count.

2017-02-11  Vibhav Pant  <vibhavp@gmail.com>

	Merge branch 'master' into feature/byte-switch

	* src/bytecode.c: Refactor to follow GNU coding standards

2017-02-11  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of XBM images on MS-Windows

	* src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
	'nbytes' when inverting XBM data bits.  (Bug#25661)

2017-02-11  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of PBM data

	* src/image.c (pbm_load): Handle PBM data with no blanks between
	individual pixel values correctly.  (Bug#25660)

2017-02-10  Noam Postavsky  <npostavs@gmail.com>

	Fix warnings in debug tracing code

	* src/xdisp.c (dump_glyph, dump_glyph_string):
	* src/xfaces.c (dump_realized_face): Cast arguments or adjust format
	specifiers to match signedness.

2017-02-10  Sam Steingold  <sds@gnu.org>

	Extract grep-find-ignored-directories processing from rgrep-default-command

	(rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
	Some Emacs packages use `grep-find-ignored-directories' to ignore some
	directories, so will use this function instead of custom code.
	(rgrep-default-command): Use `rgrep-find-ignored-directories'.

2017-02-10  Vibhav Pant  <vibhavp@gmail.com>

	src/bytecode.c: Avoid comparing values unnecessarily in Bswitch

	* src/bytecode.c: (exec_byte_code) While linear searching the jump
	  table, compare the value's hash table first to avoid calling
	  h->test.cmpfn every time.

2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>

	Fix a few integer-overflow glitches

	* src/composite.c (composition_compute_stop_pos, composition_reseat_it):
	* src/dispextern.h (struct composition_it.rule_idx):
	* src/keyboard.c (Fset__this_command_keys):
	* src/xwidget.c (webkit_js_to_lisp):
	Don’t assume object sizes fit in ‘int’.
	* src/xwidget.c (Fxwidget_resize):
	Don’t assume Emacs integers fit in ‘int’.

2017-02-10  Eli Zaretskii  <eliz@gnu.org>

	Fix a bug with displaying an image after a TAB

	* src/xdisp.c (display_line): Handle TAB at end of screen line
	specially only when we are displaying characters.  (Bug#25662)

2017-02-10  Eli Zaretskii  <eliz@gnu.org>

	Improve commentary in lisp.h

	* src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
	object is discouraged.

2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>

	Move cyclic tests to fns-tests.el

	* test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
	(test-cycle-length, test-cycle-safe-length, test-cycle-member)
	(test-cycle-memq, test-cycle-memql, test-cycle-assq)
	(test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
	(test-cycle-delq, test-cycle-delete, test-cycle-reverse)
	(test-cycle-plist-get, test-cycle-lax-plist-get)
	(test-cycle-plist-member, test-cycle-plist-put)
	(test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
	New tests.
	* test/manual/cyclic-tests.el: File deleted.

2017-02-10  Gemini Lasswell  <gazally@runbox.com>

	Fix instrumenting code with propertized strings in Edebug

	* lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
	'read' to decide what is and isn't a syntax error.  (Bug#25068)

2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>

	Improve fontification in bat-mode

	* lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
	word and symbol constituents when looking for variable names
	to fontify; also, correct the syntax table and mark the equal
	sign (=) character as punctuation.  Improve fontification
	accuracy of iteration/positional variables.
	(bat-mode): Set comment-start-skip.  (Bug#25541)

	* test/lisp/progmodes/bat-mode-tests.el: New file, tests for
	bat-mode.el.

2017-02-10  Eli Zaretskii  <eliz@gnu.org>

	Restore special setting of this-command-keys by M-x

	It was lost when execute-extended-command was reimplemented in Lisp.

	* src/keyboard.c (Fset__this_command_keys): New function.
	(syms_of_keyboard): Defsubr it.

	* lisp/simple.el (execute-extended-command): Set this-command-keys
	as novice.el expects.  (Bug#25612)

2017-02-09  Juri Linkov  <juri@linkov.net>

	* lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted

	to t to display "Pending" in the search prompt for lax
	word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
	when 'bound' is non-nil.
	(word-search-regexp, isearch-symbol-regexp): Don't depend on lax
	at the beginning of regexp (bug#22589).

	* lisp/info.el (Info-isearch-search):
	Use isearch--lax-regexp-function-p.

	* doc/emacs/search.texi (Word Search, Symbol Search):
	Mention "Pending" prompt for lax word/symbol search.

2017-02-09  Vibhav Pant  <vibhavp@gmail.com>

	src/bytecode.c (exec_byte_code): Remove unneeded assert.

	bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE

2017-02-09  Vibhav Pant  <vibhavp@gmail.com>

	bytecode.c (exec_byte_code): don't check hash code in linear search.

	* src/bytecode.c (exec_byte_code): Don't check that the hash code is
	  not nil when linear scanning the jump table. Hash tables for are
	  declared with :size as the exact number of cases, so each entry i
	  should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
	  check.

2017-02-09  Tino Calancha  <tino.calancha@gmail.com>

	Ibuffer: Update mode documentation

	* lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.

2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)

	Fix environment variable for xdg-data-dirs

	* lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS

2017-02-09  Tino Calancha  <tino.calancha@gmail.com>

	Ibuffer: Erase output buffer before shell commands

	* lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
	BEFORE and AFTER; they are forms to run before/after the operation.
	* lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
	New defun; if shell-command-dont-erase-buffer is nil, then
	erase shell command output buffer.
	(ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.

2017-02-09  Tino Calancha  <tino.calancha@gmail.com>

	Ibuffer: Don't truncate shell command output

	* lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
	(ibuffer-do-shell-command-pipe-replace)
	Use 'call-shell-region' (Bug#22679).
	(ibuffer-do-shell-command-file): Use call-process-shell-command.
	If FILE, the file that the buffer object is visiting,
	exists and the buffer is up-to-date, then use
	FILE instead of creating a temporary file (Bug#22679).

2017-02-09  Vibhav Pant  <vibhavp@gmail.com>

	Improve byte-switch execution.

	* lisp/emacs-lisp/byte-opt.el,
	  lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
	  (byte-compile-lapcode): Calculate the actual jump address while
	  compiling, store it in the jump table.

	* src/bytecode.c: Jump to the looked up value directly, do a linear
	  search when the number of elements is <= 5.

2017-02-09  Noam Postavsky  <npostavs@gmail.com>

	Make sure eshell pipelines don't drop data

	* lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
	handling output of the process, make sure to close the pipes only later,
	so that the next process in the pipeline receives EOF only after getting
	all its input (Bug#25549).

2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make mm-shr use mail-parse-charset by default

	* lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
	This helps an html message with no charset spec to be decoded.

2017-02-08  Stephen Berman  <stephen.berman@gmx.net>

	describe-char: unambiguous name for inserting ASCII 7

	* lisp/descr-text.el (describe-char): Make the input
	suggestion for inserting ASCII character 7 by name use the
	unambiguous name "BELL (BEL)" (bug#25641).

2017-02-08  Michael Albinus  <michael.albinus@gmx.de>

	Modify suppressing `vc-refresh-state' in filenotify-tests.el

	* test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
	Use an advice rather than an alias for suppressing `vc-refresh-state'.

2017-02-08  Noam Postavsky  <npostavs@gmail.com>

	Disable native completion for ipython (Bug#25067)

	* lisp/progmodes/python.el:
	(python-shell-completion-native-disabled-interpreters): Add "ipython".

2017-02-07  Michael Albinus  <michael.albinus@gmx.de>

	Suppress undesired error messages in filenotify-tests.el

	* test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
	Suppress `vc-refresh-state', it produces undesired error messages.

2017-02-07  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in ada-mode manual

	* doc/misc/ada-mode.texi (Project file variables): Add a missing
	right bracket.  Reported by Jean-Christophe Helary
	<jean.christophe.helary@gmail.com>.

2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure that Gnus bugs show up in the Emacs tracker

	* lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
	package spec.

2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Don't tag Gnus bugs with "gnus""

	This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.

	The debbugs syntax requires a package name

2017-02-07  Vibhav Pant  <vibhavp@gmail.com>

	Add tests for checking byte-switch code.

	* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
	  test byte-switch bytecode.

2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>

	Add xdg library

	* etc/NEWS: Mention new library.
	* lisp/xdg.el: New file.

2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>

	Do not trick info/dir’s timestamp

	* Makefile.in (${srcdir}/info/dir): When making this file, do not
	do anything special about its timestamp.  Previously this rule
	used move-if-change, which meant that this file’s timestamp could
	end up being older than the files it depends on, and this caused
	‘make --question info’ to fail, which caused ‘make-dist’ to fail
	now that ‘make-dist’ invokes ‘make --question info’.

2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>

	Make FOR_EACH_TAIL more like other FOR_EACH macros

	See comments by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
	and by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
	* src/fns.c (internal_equal): Do not bypass check for depth
	overflow when tail-recursing via a dotted list tail or an overlay
	plist, to avoid a rare infloop.
	* src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
	arg, and update it at each iteration, rather than have callers
	access it.tail.  All callers changed.
	(FOR_EACH_TAIL): Do not check for dotted lists, as this is now
	the caller’s responsibility.  All callers changed.
	(FOR_EACH_TAIL_CONS): Remove.  All callers changed.
	(struct for_each_tail_internal.tail): Remove; no longer needed.
	(FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
	arg each time through the loop.  All callers changed.

2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	Port to clang 3.8.0

	It does not allow a for-loop's control var to be an anonymous struct.
	* src/lisp.h (struct for_each_tail_internal): New type.
	(FOR_EACH_TAIL_INTERNAL): Use it.

2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Add cyclic-list tests

	* test/manual/cycle-tests.el: New file (Bug#25606).

2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	FOR_EACH_TAIL now checks for quit

	As per Eli Zaretskii (Bug#25606#20).  Although these calls to
	maybe_quit are unnecessary in practice, Eli was not convinced
	that the calls are unnecessary.
	* src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
	Call maybe_quit every so often.
	(FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.

2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	Signal list cycles in ‘length’ etc.

	Use macros like FOR_EACH_TAIL instead of maybe_quit to
	catch list cycles automatically instead of relying on the
	user becoming impatient and typing C-g (Bug#25606).
	* src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
	(Frassoc, Fdelete, Freverse):
	Use FOR_EACH_TAIL instead of maybe_quit.
	(Fnreverse): Use simple EQ to check for circular list instead
	of rarely_quit, as this suffices in this unusual case.
	(Fplist_put, Flax_plist_put, Flax_plist_put):
	Use FOR_EACH_TAIL_CONS instead of maybe_quit.
	(internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
	of by-hand tail recursion that did not catch cycles.
	* src/fns.c (Fsafe_length, Fplist_get):
	* src/xdisp.c (display_mode_element):
	Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
	* src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
	(rarely_quit): Simply count toward USHRT_MAX + 1, since the
	fancier versions are no longer needed.
	(FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
	(FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
	mostly taken from FOR_EACH_TAIL.
	(FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.

2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify use of FOR_EACH_TAIL

	* src/data.c (circular_list): New function.
	* src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
	decl, to eliminate the need for the args TAIL, TORTOISE and N, and
	to speed things up a bit on typical hosts with optimization.
	All uses changed (Bug#25605).

2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>

	* lisp/textmodes/css-mode.el: Require subr-x at compile time

2017-02-05  Eli Zaretskii  <eliz@gnu.org>

	Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'

	* doc/lispref/nonascii.texi (Text Representations): Clarify that
	'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
	'filepos-to-bufferpos' can lead to expensive and slow processing.

	* lisp/international/mule-util.el (filepos-to-bufferpos)
	(bufferpos-to-filepos): Doc fix.  (Bug#25626)

2017-02-05  Vibhav Pant  <vibhavp@gmail.com>

	Merge remote-tracking branch 'origin/master' into feature/byte-switch

2017-02-05  Vibhav Pant  <vibhavp@gmail.com>

	bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
	  (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
	  make sure that obj1/obj2 can be compared with `eq'.

2017-02-05  Vibhav Pant  <vibhavp@gmail.com>

	* lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.

2017-02-05  Vibhav Pant  <vibhavp@gmail.com>

	bytecomp.el: Inline lapcode containing `byte-switch' correctly.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
	  Restore value of byte-compile-depth after emitting a jump to a tag
	  in a jump table, or default/done tags.
	  Set the depth of final tags for byte-switch to nil after emitting
	  any jumps to them.

2017-02-05  Vibhav Pant  <vibhavp@gmail.com>

	byte-opt.el: Replace jump tables while decompiling correctly.

	* lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
	  Don't make a copy of the constant vector, as it isn't used with
	  the decompiled lapcode.
	  Make sure that the correct lapcode pair/list is being modified while
	  replacing the jump table.

2017-02-05  Vibhav Pant  <vibhavp@gmail.com>

	bytecomp.el: Don't store non-keyword symbols in jump-tables.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
	  nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
	  table can only be used when comparing variables with constant values.

2017-02-04  Tom Tromey  <tom@tromey.com>

	typo fix

	(css--colon-inside-selector-p): Fix typo in docstring.

2017-02-04  Tom Tromey  <tom@tromey.com>

	Set comment-multi-line in js-mode

	Bug#6806:
	* lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
	* test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.

2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>

	* test/manual/indent/scss-mode.scss: Fix indentation

2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>

	Fix indentation of multiline CSS property values

	* lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
	to properties higher precedence.
	(css--colon-inside-selector-p, css--colon-inside-funcall): New
	functions for helping SMIE during tokenization.
	(css-smie--forward-token, css-smie--backward-token): Distinguish
	colons belonging to properties from other colons.

	* test/manual/indent/css-mode.css: Add tests for the changes above.

	* test/manual/indent/scss-mode.scss: Ditto.

2017-02-04  Gemini Lasswell  <gazally@runbox.com>

	Add tests for lisp/kmacro.el

	* test/lisp/kmacro-tests.el: New file.  (Bug#24939)

2017-02-04  Eli Zaretskii  <eliz@gnu.org>

	Fix autorevert-tests on MS-Windows

	* test/lisp/autorevert-tests.el
	(auto-revert-test02-auto-revert-deleted-file): Don't check that
	auto-revert-use-notify was reset to nil on w32.

2017-02-04  Gemini Lasswell  <gazally@runbox.com>

	New macro 'ert-with-message-capture'

	* lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
	(Bug#25158)

	* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
	(auto-revert-test00-auto-revert-mode)
	(auto-revert-test01-auto-revert-several-files)
	(auto-revert-test02-auto-revert-deleted-file)
	(auto-revert-test03-auto-revert-tail-mode)
	(auto-revert-test04-auto-revert-mode-dired):
	* test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
	ert-with-message-capture.

2017-02-04  Gemini Lasswell  <gazally@runbox.com>

	Avoid invalid read syntax errors due to 'ert-with-test-buffer'

	* lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
	'declare' form.  (Bug#24722)

2017-02-04  Eli Zaretskii  <eliz@gnu.org>

	Fix a syntax error when evaluating pcase.el under Edebug

	* lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
	with an explicit 'put' form.  Suggested by Gemini Lasswell
	<gazally@runbox.com>.  (Bug#24717)

2017-02-04  Gemini Lasswell  <gazally@runbox.com>
	    Eli Zaretskii  <eliz@gnu.org>

	Change edebug-max-depth from defconst to defcustom

	* lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
	(Bug#24713)

	* etc/NEWS: Mention edebug-max-depth.

	* doc/lispref/edebug.texi (Checking Whether to Stop): Mention
	edebug-max-depth and index it.  Add cross-references for
	max-lisp-eval-depth and max-specpdl-size.

2017-02-04  Eli Zaretskii  <eliz@gnu.org>

	Support options with embedded whitespace in 'dired-listing-switches'

	* lisp/dired.el (dired-listing-switches): Document how to quote
	options with embedded whitespace.

	* lisp/files.el (insert-directory): Use split-string-and-unquote
	to support dired-listing-switches that specify command-line
	options with embedded spaces.  (Bug#25485)

2017-02-04  Gemini Lasswell  <gazally@runbox.com>
	    Noam Postavsky  <npostavs@users.sourceforge.net>

	Add tests for lisp/emacs-lisp/testcover.el

	* test/lisp/emacs-lisp/testcover-tests.el: New file.
	* test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.

2017-02-04  Eli Zaretskii  <eliz@gnu.org>

	Document 'save-some-buffers-default-predicate'

	* doc/lispref/files.texi (Saving Buffers):
	* doc/emacs/files.texi (Save Commands): Document
	save-some-buffers-default-predicate.

2017-02-04  Richard Stallman  <rms@gnu.org>

	New defcustom 'save-some-buffers-default-predicate'

	* lisp/files.el (save-some-buffers-default-predicate): New defcustom.
	(save-some-buffers): Use it when PRED is nil or omitted.

2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>

	Rename to if-let* and when-let*

	Make the existing if-let and when-let aliases.
	* lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
	docstrings, incorporating that from let* and the existing if-let.
	(if-let, when-let, and-let*): Alias them.

2017-02-03  Vibhav Pant  <vibhavp@gmail.com>

	Revert "Use maphash instead of cl-loop."

	This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.

2017-02-03  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 25.2 RC1

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version.
	* lisp/ldefs-boot.el: Update.

2017-02-03  Nicolas Petton  <nicolas@petton.fr>

	* admin/make-tarball.txt: Add documentation regarding the release banner.

2017-02-03  Tino Calancha  <tino.calancha@gmail.com>

	* CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.

2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Re-port alloc.c to Solaris sparc and simplify

	alloc.c had bitrotted a bit, and used an undefined symbol
	stack_base when Emacs was built on Solaris sparc, leading to
	compilation failures.  Also, code related to __builtin_unwind_init
	was unnecessarily duplicated.  Fix the bitrot and remove some
	duplication.
	* src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
	is never defined.
	(test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
	Define a no-op dummy, to simplify use.
	(test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
	than in the caller, to simplify use.
	(stacktop_sentry): New type.
	(__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
	(SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
	(flush_stack_call_func, Fgarbage_collect): Use it.
	(init_alloc): Omit unnecessary initialization.
	After dumping, Emacs need not re-test setjmp.

2017-02-03  Noam Postavsky  <npostavs@gmail.com>

	Add tests for scrolling

	* test/manual/scroll-tests.el: New tests for scroll-margin behavior.

2017-02-03  Noam Postavsky  <npostavs@gmail.com>

	Fix scrolling with partial lines

	* src/xdisp.c (partial_line_height): New function.
	(try_scrolling):
	* src/window.c (window_scroll_pixel_based): Use it for calculating the
	pixel scroll margin correctly in a window with partial lines.

2017-02-03  Noam Postavsky  <npostavs@gmail.com>

	Make limit on scroll-margin variable

	* src/xdisp.c (maximum-scroll-margin): New variable.
	* lisp/cus-start.el: Make it customizable.
	* etc/NEWS: Mention it.
	* doc/emacs/display.texi (Auto Scrolling):
	* doc/lispref/windows.texi (Textual Scrolling): Document it.
	* src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
	division by 4 (Bug #5718).

2017-02-03  Noam Postavsky  <npostavs@gmail.com>

	Don't count mode line for scroll-margin limit

	* src/window.c (window_scroll_margin): Use window_box_height to avoid
	counting header line, scrollbars for scroll-margin limit (Bug #5718).

2017-02-03  Noam Postavsky  <npostavs@gmail.com>

	Refactor uses of scroll_margin to a function

	Its effective range needs to be clamped between 0 and (window height /
	4), so it's better to have this constraint in a single place.

	* src/window.c (window_scroll_margin): New function.
	(window_scroll_pixel_based, window_scroll_line_based):
	(Frecenter, Fmove_to_window_line):
	* src/xdisp.c (try_scrolling, try_cursor_movement):
	(redisplay_window, try_window, try_window_id): Use it.

2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>

	(xref-collect-matches): Use '-E' together with '-e'

	* lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
	together with '-e', as suggested by Noam Postavsky
	(https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).

2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify Oracle Studio 12.5

	* src/emacs.c (main): Do not silently convert char * to bool.

2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix lisp.h underparenthesization

	* src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
	Parenthesize compound literals that are function call args.
	Although this does not fix any bugs, it is the proper style for
	macro parenthesization as it means this code will continue to
	work even if make_lisp_ptr is changed to a macro.

2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/doc-view.el (doc-view-mode): Don't require a final newline

	(doc-view-revert-buffer): Silence overflow warnings.

2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	2017-01-30 Port to PGI 16.10 x86-64
	2017-01-20 time_rz: fix comment typo
	2017-01-14 strftime: %z is -00 if unknown
	This incorporates:
	* doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
	* lib/time-internal.h, lib/verify.h:
	Copy from gnulib.

2017-02-02  Tino Calancha  <tino.calancha@gmail.com>

	Check if there are hunks before kill or refine a hunk

	* lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
	(diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).

2017-02-02  Tino Calancha  <tino.calancha@gmail.com>

	Ignore error after kill last file or hunk

	* lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
	Ignore error after kill last hunk (Bug#25570).
	(diff-file-kill): Idem.

2017-02-02  Tino Calancha  <tino.calancha@gmail.com>

	Show current line highlighted in *Occur* buffer

	* lisp/replace.el (list-matching-lines-current-line-face)
	(list-matching-lines-jump-to-current-line): New user options.
	(occur--orig-line, occur--orig-line-str): New variables.
	(occur, occur-engine): Use them.
	(occur--final-pos): New variable.
	(occur-1): Use it.
	(occur-engine): Idem.
	Show the current line with 'list-matching-lines-current-line-face'.
	Set point on the first matching line after the current one.
	* etc/NEWS: Add entry for the new option.

2017-02-02  Tino Calancha  <tino.calancha@gmail.com>

	Allow occur command to operate on the region

	See discussion in:
	https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
	* lisp/replace.el (occur--region-start, occur--region-end)
	(occur--matches-threshold): New variables.
	(occur-engine): Use them.
	(occur): Idem.
	Add optional arg REGION; if non-nil occur applies in that region.
	* doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
	* doc/emacs/search.texi (Other Repeating Search): Idem.

2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>

	Treat list-buffers-directory as a string

	Another step in the long history of list-buffers-directory.  A thread
	branch discussing the meaning/use of the variable starts here
	https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
	Also see (info "(elisp) Buffer File Name").
	* lisp/buff-menu.el: Relocate special case code into info.el.  Nix
	Info-* defvars.
	(Buffer-menu--pretty-file-name): Remove special case.  Use
	bound-and-true-p.
	(Buffer-menu-info-node-description): Remove.
	* lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
	list-buffers-directory as a string.
	* lisp/info.el (Info-node-description): New function.
	(Info-select-node): Use it.

2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on lexical-binding in parse-time.el

	* lisp/calendar/parse-time.el: Turn on lexical-binding.
	(parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
	bindings.

2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>

	Prevent creating thumbnails of all gif frames

	With the previous defaults, doing image-dired on a directory with an
	animated foo.gif would cause creation of foo.thumb-N.gif for each of
	N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
	there additionally is no usable thumbnail after all the needless effort.
	image-dired never handled animation, regardless.
	* lisp/image-dired.el: Mention limitation.
	(image-dired-cmd-create-thumbnail-options):
	(image-dired-cmd-create-temp-image-options):
	(image-dired-cmd-create-standard-thumbnail-options): Append [0] to
	filename to indicate only converting the 0th frame.
	(image-dired-display-image-mode): Don't show a cursor.

2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix quitting bug when buffers are frozen

	Problem noted by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
	This patch also fixes some other issues in that report.
	* src/lisp.h (incr_rarely_quit): Remove.
	All callers changed to use rarely_quit directly.
	* src/search.c (freeze_buffer_relocation)
	(thaw_buffer_relocation): New functions.
	(looking_at_1, fast_looking_at, search_buffer):
	Use them to fix bug when quitting when buffers are frozen.
	* src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
	All uses changed.

2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Revamp quitting and fix infloops

	This fixes some infinite loops that cannot be quit out of,
	e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
	when byte-compiled and when run under X.  See:
	https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
	This also attempts to keep the performance improvements I recently
	added, as much as possible under the constraint that the infloops
	must be caught.  In some cases this fixes infloop bugs recently
	introduced when I removed immediate_quit.
	* src/alloc.c (Fmake_list):
	Use rarely_quit, not maybe_quit, for speed in the usual case.
	* src/bytecode.c (exec_byte_code):
	* src/editfns.c (Fcompare_buffer_substrings):
	* src/fns.c (Fnthcdr):
	* src/syntax.c (scan_words, skip_chars, skip_syntaxes)
	(Fbackward_prefix_chars):
	Use rarely_quit so that users can C-g out of long loops.
	* src/callproc.c (call_process_cleanup, call_process):
	* src/fileio.c (read_non_regular, Finsert_file_contents):
	* src/indent.c (compute_motion):
	* src/syntax.c (scan_words, Fforward_comment):
	Remove now-unnecessary maybe_quit calls.
	* src/callproc.c (call_process):
	* src/doc.c (get_doc_string, Fsnarf_documentation):
	* src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
	* src/lread.c (safe_to_load_version):
	* src/sysdep.c (system_process_attributes) [GNU_LINUX]:
	Use emacs_read_quit instead of emacs_read in places where
	C-g handling is safe.
	* src/eval.c (maybe_quit): Move comment here from lisp.h.
	* src/fileio.c (Fcopy_file, e_write):
	Use emacs_write_quit instead of emacs_write_sig in places where
	C-g handling is safe.
	* src/filelock.c (create_lock_file): Use emacs_write, not
	plain write, as emacs_write no longer has a problem.
	(read_lock_data): Use emacs_read, not read, as emacs_read
	no longer has a problem.
	* src/fns.c (rarely_quit): Move to lisp.h and rename to
	incr_rarely_quit.  All uses changed..
	* src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
	* src/indent.c (compute_motion):
	* src/syntax.c (find_defun_start, back_comment, forw_comment)
	(Fforward_comment, scan_lists, scan_sexps_forward):
	Use incr_rarely_quit so that users can C-g out of long loops.
	* src/fns.c (Fnconc): Move incr_rarely_quit call to within
	inner loop, so that it catches C-g there too.
	* src/keyboard.c (tty_read_avail_input): Remove commented-out
	and now-obsolete code dealing with interrupts.
	* src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
	the latter moved here from fns.c and renamed from rarely_quit.
	(emacs_read_quit, emacs_write_quit): New decls.
	* src/search.c (find_newline, search_buffer, find_newline1):
	Add maybe_quit to catch C-g.
	* src/sysdep.c (get_child_status): Always invoke maybe_quit
	if interruptible, so that the caller need not bother.
	(emacs_nointr_read, emacs_read_quit, emacs_write_quit):
	New functions.
	(emacs_read): Rewrite in terms of emacs_nointr_read.
	Do not handle C-g or signals; that is now for emacs_read_quit.
	(emacs_full_write): Replace PROCESS_SIGNALS two-way arg
	with INTERRUPTIBLE three-way arg.  All uses changed.

2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Remove immediate_quit.

	The old code that sets and clears immediate_quit was
	ineffective except when Emacs is running in terminal mode, and
	has problematic race conditions anyway, so remove it.  This
	will introduce some hangs when Emacs runs in terminal mode,
	and these hangs should be fixed in followup patches.
	* src/keyboard.c (immediate_quit): Remove.  All uses removed.

2017-02-01  Alan Mackenzie  <acm@muc.de>

	Allow C++ nested brace-list-entries to be better indented.

	This fixes bug #24431.  The key change of this bug fix is correctly analyzing
	nested brace lists when the opening element stands on the same line as both
	its introductory brace and an enclosing parameter list parenthesis.

	* lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.

	* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
	presence of exactly an identifier between an open parenthesis and an open
	brace as evidence of the brace starting a brace list.
	(c-looking-at-statement-block): New function, extracted from
	c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
	when needed.
	(c-looking-at-inexpr-block): Extract new function (see above) and call it.
	(c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
	prime syntactic symbol with a fixed anchor point.  When this is used, restrict
	all added syntactic symbols to those having an anchor point on the same line.
	Add, in addition to the current additional symbols, c-brace-list-entry when
	needed; use c-looking-at-statement-block to determine the latter.
	(c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
	c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
	getting, possibly, several accompanying syntactic entries.

	* lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
	'brace-list-intro, namely c-lineup-arglist-intro-after-paren.

	* lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
	offset for 'brace-list-entry from 0 to c-lineup-under-anchor.

	* doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
	brace-list-intro.
	(Brace List Symbols): Amend the example to show the new analysis of brace
	lists when the first element comes on the same line as the opening brace.
	(Misc Line-Up): Document the new line-up function c-lineup-under-anchor.

2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "DOn't use string-as-unibyte in Gnus"

	This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.

	Not all the cases where we had string-as-unibyte were characters,
	so this needs to be considered more thoroughly before being redone.

2017-02-01  Vibhav Pant  <vibhavp@gmail.com>

	Use maphash instead of cl-loop.

	* lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
	  instead of cl-loop

2017-02-01  Michael Albinus  <michael.albinus@gmx.de>

	Fix a subtle problem in Tramp with timers

	* lisp/net/tramp.el (tramp-accept-process-output): Change argument
	list.  Make it work when called inside a timer.  See
	<https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.

2017-01-31  Eli Zaretskii  <eliz@gnu.org>

	Index byte-compile-debug

	* doc/lispref/compile.texi (Compilation Functions): Index
	byte-compile-debug.

2017-01-31  Philipp Stephani  <phst@google.com>

	Document `byte-compile-debug' in the ELisp manual

	* doc/lispref/compile.texi: Document variable `byte-compile-debug'.

2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>

	read-multiple-choice: explain dialog popups more

	* lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
	when a graphical popup is used and how it can be avoided.

2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>

	auth-source-user-and-password: add forgotten user parameter

	* lisp/auth-source.el (auth-source-user-and-password): Use
	accidentally unused "user" parameter.
	Reported by Oscar Najera <najera.oscar@gmail.com>.

2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>

	Fix typo in a NEWS entry for CSS mode

2017-01-31  Philipp Stephani  <phst@google.com>

	Document variable `byte-compile-debug'

	* lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.

2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	DOn't use string-as-unibyte in Gnus

	* lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
	string-as-unibyte.
	(nnmail-insert-xref): Ditto.

	* lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.

	* lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.

	* lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
	(gnus-browse-foreign-server): Ditto.
	(gnus-browse-foreign-server): Ditto.

	* lisp/gnus/gnus-start.el
	(gnus-update-active-hashtb-from-killed): Ditto.
	(gnus-read-newsrc-el-file): Ditto.

	* lisp/gnus/mml.el (mml-generate-mime-1): Ditto.

	* lisp/gnus/nnir.el (nnir-get-active): Ditto.
	(nnir-get-active): Ditto.

2017-01-31  Juri Linkov  <juri@linkov.net>

	Allow C-s C-w to yank ' to the search ring in the Gnus article buffer

	* lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
	M-. in article buffers work for `foo' strings, and still allow
	C-s C-w to yank ' to the search ring (bug#22248).

2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>

	* src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.

2017-01-31  Tino Calancha  <tino.calancha@gmail.com>

	* test/lisp/vc/diff-mode-tests.el: Require diff-mode.

2017-01-31  Dima Kogan  <dima@secretsauce.net>

	New test for diff-mode handling trailing --

	test/lisp/vc/diff-mode-tests.el: New test file

2017-01-31  Dima Kogan  <dima@secretsauce.net>

	Handle patch terminators produced by git and bzr patch export

	Patch by Juri Linkov posted in the #9597 bug report

	* lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
	terminator (Bug #9597, #5302)

2017-01-31  Dima Kogan  <dima@secretsauce.net>

	Revert two accidental commits

	This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
	This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.

2017-01-31  Dima Kogan  <dima@secretsauce.net>

	stash

2017-01-31  Dima Kogan  <dima@secretsauce.net>

	comint-get-old-input-default: behavior follows docstring

	lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
	docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
	if point is on an output field.

2017-01-31  Noam Postavsky  <npostavs@gmail.com>

	Fix call to debugger on assertion failure

	* lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
	argument must be `error', and the second is a list of arguments for
	`signal'.

2017-01-30  Tom Tromey  <tom@tromey.com>

	css-mode documentation lookup feature

	* etc/NEWS: Mention new feature.
	* lisp/textmodes/css-mode.el (css-mode-map): New defvar.
	(css--mdn-lookup-history): New defvar.
	(css-lookup-url-format): New defcustom.
	(css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
	(css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
	defuns.
	* test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
	test.

2017-01-30  Glenn Morris  <rgm@gnu.org>

	edt-mapper: just loading a library should not run code

	* lisp/emulation/edt-mapper.el (edt-mapper): New function,
	containing code previously at top-level.
	* lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
	run edt-mapper function.

2017-01-30  Glenn Morris  <rgm@gnu.org>

	mh-compat.el: remove duplicate definition

	* lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
	Remove duplicate definition.

2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Add delq list arg check

	* src/fns.c (Fdelq): Check that list is a proper list.
	This is more compatible with what ‘delete’ does.

2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/indent.el (indent-region-line-by-line): New function.

	Extracted from indent-region.
	(indent-region, indent-region-function): Use it.

2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.

2017-01-30  Eli Zaretskii  <eliz@gnu.org>

	More fixes to prevent crashes on C-g

	* src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
	before returning, to avoid crashes in quit.  (Bug#25566)

2017-01-30  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes on C-g in TTY sessions

	* src/keyboard.c (handle_interrupt): Don't quit if
	waiting_for_input is set, as doing that is "unsafe": it will
	abort.  (Bug#25566)

2017-01-30  Vibhav Pant  <vibhavp@gmail.com>

	* lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t

	Merge remote-tracking branch 'origin/master' into feature/byte-switch

2017-01-30  Vibhav Pant  <vibhavp@gmail.com>

	Fix hash tables not being purified correctly.

	* src/alloc.c
	(purecopy_hash_table) New function, makes a copy of the given hash
	table in pure storage.
	Add new struct `pinned_object' and `pinned_objects' linked list for
	pinning objects.
	(Fpurecopy) Allow purifying hash tables
	(purecopy) Pin hash tables that are either weak or not declared with
	`:purecopy t`, use purecopy_hash_table otherwise.
	(marked_pinned_objects) New function, marks all objects in pinned_objects.
	(garbage_collect_1) Use it. Mark all pinned objects before sweeping.
	* src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
	* src/fns.c: Add `purecopy' parameter to hash tables.
	(Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
	to make_hash_table.
	(make_hash_table): Add `pure' parameter, set h->pure to it.
	(Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
	CHECK_IMPURE.
	* src/lread.c: (read1) Parse for `purecopy' parameter while reading
	  hash tables.
	* src/print.c: (print_object) add the `purecopy' parameter while
	  printing hash tables.
	* src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
	  src/xterm.c: Use new (make_hash_table).

2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>

	Escape dash in xref rgrep regexp

	* lisp/progmodes/xref.el (xref-collect-matches): Escape dash
	in REGEXP if it's the first character.

2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>

	Say JavaScript, not Javascript

	* lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
	(js-js-error, js-eval, js-set-js-context)
	(js--get-js-context):
	Refer to the language consistently as JavaScript.

2017-01-29  Juanma Barranquero  <lekktu@gmail.com>

	lisp/*.el: Fix some warnings

	* lisp/battery.el (dbus-get-property):
	* lisp/dired-aux.el (format-spec): Declare function.

	* lisp/net/zeroconf.el (zeroconf-list-service-names)
	(zeroconf-list-service-types, zeroconf-list-services):
	Mark unused lexical arg.

	* lisp/progmodes/hideshow.el (hs-hide-block-at-point):
	* lisp/progmodes/sql.el (sql-end-of-statement):
	Pass LIMIT to 'looking-back'.

2017-01-29  Noam Postavsky  <npostavs@gmail.com>

	Don't warn about obsolete defgenerics when defining them

	* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
	should run after the definition code (Bug#25556).

2017-01-29  Noam Postavsky  <npostavs@gmail.com>

	Call modification hooks in org-src fontify buffers

	* lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
	`inhibit-modification-hooks' to nil, since this function can be called
	from jit-lock-function which binds that variable to t (Bug#25132).

2017-01-29  Tino Calancha  <tino.calancha@gmail.com>

	Fix Bug#25524

	* lisp/vc/diff-mode.el (diff-beginning-of-hunk):
	Return position at the beginning off the hunk.
	(diff-file-junk-re): Add SVN keywords.

2017-01-28  Stephen Berman  <stephen.berman@gmx.net>

	hl-line.el: Don't try to operate on a killed buffer

	* lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
	live buffers (bug#25522).

2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>

	Use access-file in EWW to check before downloading a file

	* lisp/net/eww.el (eww-download): Check accessibility of
	eww-download-directory to prevent starting a download that will fail
	to write.
	* src/fileio.c (Faccess_file): Clarify the use of string argument in
	the docstring.

2017-01-28  Yuri D'Elia  <wavexx@thregr.org>

	Subject: Check Bcc after the Message hook has run

	* lisp/gnus/message.el (message-send): If the hook modifies
	the message (mml tags or headers), we should check bcc on the
	final message, not on the original.

2017-01-28  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'format' conversions

	* src/editfns.c (Fformat): More accurate description of %g and
	effects of the various flags on it.  More accurate description of
	integer conversions.

	* doc/lispref/strings.texi (Formatting Strings): More accurate
	description of %g and effects of the various flags on it.  More
	accurate description of integer conversions.  (Bug#25557)

2017-01-28  Juanma Barranquero  <lekktu@gmail.com>

	test/*.el: Avoid byte-compiler warnings

	* test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.

	* test/lisp/faces-tests.el (faces--test): New customization group.
	(faces--test1, faces--test2): Use it.

	* test/lisp/ffap-tests.el (ffap-tests-25243):
	Call 'mark-whole-buffer' interactively.

	* test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
	(ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
	(ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
	(ibuffer-format-qualifier, ibuffer-unary-operand): Declare.

	* test/lisp/minibuffer-tests.el (completion-test1):
	Mark unused lexical arguments.

	* test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
	'with-no-warnings' to avoid them when the macro is invoked for effect.

	* test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
	Mark unused lexical arguments.

	* test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
	Mark unused lexical arguments.
	(let-alist-cons): Remove unused let binding.

	* test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
	(dbus-get-unique-name): Declare.

	* test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
	Call 'font-lock-fontify-buffer' interactively.

	* test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
	Mark unused lexical argument.

2017-01-27  Eli Zaretskii  <eliz@gnu.org>

	Restore a test that was removed by a recent commit

	* src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
	errno value unless it's necessary.  (Bug#25419)

2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>

	Fix a couple eww customization types

	* lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
	Change customization type to "directory".

2017-01-27  Philipp Stephani  <phst@google.com>

	Don't require a shell when loading htmlfontify

	* lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
	detecting the etags version (Bug#25468).
	* test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
	test.

2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>

	Slightly tune file-accessible-directory-p fix

	* src/fileio.c (Ffile_accessible_directory_p):
	Remove unnecessary test (Bug#25419).

2017-01-27  Arash Esbati  <arash@gnu.org>

	Add \citetitle to biblatex cite format

	* lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
	\citetitle[*] to `reftex-cite-format' and bind them to keys i/I
	per user request
	https://lists.gnu.org/r/auctex/2017-01/msg00049.html.

2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix charsets and encodings from non-file MIME parts

	* lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
	encoding right for parts that do not originate from files.

2017-01-27  Eli Zaretskii  <eliz@gnu.org>

	Fix 'describe-variable' for longish variable values

	* lisp/help-fns.el (describe-variable): Don't accidentally remove
	the last character of a variable's value.  (Bug#25545)

2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)

	Remove stale functions from ert manual

	* doc/misc/ert.texi (Useful Techniques when Writing Tests):
	Replace ert--mismatch references with its cl-lib replacement,
	cl-mismatch.

2017-01-27  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in Eshell manual

	* doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
	Kolybabi <mak@kolybabi.com>.

2017-01-27  Eli Zaretskii  <eliz@gnu.org>

	Ensure last line is at window bottom in shell buffers

	* lisp/shell.el (shell-mode): Use setq-local.  Set
	scroll-conservatively to 101 locally.  See the discussion at
	https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
	for the reasons.

2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)

	Support Bash Ctrl-Z indication of directory name in term.el

	* lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
	codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)

2017-01-27  Eli Zaretskii  <eliz@gnu.org>

	Don't report zero errno for inaccessible directory

	* src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
	a file handler reports a failure.  (Bug#25419)

2017-01-27  Eli Zaretskii  <eliz@gnu.org>

	Fix filenotify-tests on MS-Windows

	* test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
	(file-notify-test05-dir-validity)
	(file-notify-test06-many-events)
	(file-notify-test08-watched-file-in-watched-dir): Manually remove
	the watch descriptor before calling file-notify--test-cleanup-p.
	(Bug#25539)

2017-01-27  Hong Xu  <hong@topbug.net>

	python-mode: Fix detection for opening blocks.

	* lisp/progmodes/python.el
	(python-info-dedenter-opening-block-positions): There can't be any
	back-indented lines between an opening block and the current line.

	* test/lisp/progmodes/python-tests.el
	(python-indent-electric-colon-4): Add an indent test case where
	there is one-more indented previous opening block.

2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix Message check for bogus domain names

	* lisp/gnus/message.el (message-make-fqdn): Fix check for
	bogus system names (bug#24570).

2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)

	Subject: Restore correct Gnus newsgroup name after sending message

	* lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
	gnus-newsgroup-name in the correct buffer (bug#24329).

2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the new Gnus sorting command

2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't try to find charsets of non-text MIME parts

	* lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
	to try to determine the charset of non-text message parts, so
	skip that (bug#24190).  This will also remove messages like
	"bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
	if you include such files.

2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new command gnus-article-sort-by-marks

	* doc/misc/gnus.texi (Summary Sorting): Mention
	gnus-summary-sort-by-marks.

	* lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
	function (bug#23393).
	(gnus-thread-sort-by-marks): Ditto.
	(gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
	(gnus-summary-mode-map): Add keystroke.
	(gnus-summary-make-menu-bar): Add to menu.

2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make `C-h b' work correctly in Gnus article buffer (bug#18257)

	* lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
	Ignore summary commands that aren't bound to
	gnus-article-read-summary-keys keys (bug#18257).

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix crossposting in non-primary groups

	* lisp/gnus/message.el
	(message-cross-post-followup-to-header): Gnus server prefixes
	shouldn't be included in the group names (bug#21661).
	(message-cross-post-followup-to): Ditto.

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Gnus doc clarification

	* doc/misc/gnus.texi (Unavailable Servers): Explicitly say
	that "unreachable" is the same as disabling it (bug#21630).

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove dead code from rfc2047

	* lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.

	It's been disabled since 2005, when I made the change with the
	following comment.

	(rfc2047-encode-message-header): Disabled header folding -- not
	all headers can be folded, and this should be done by the message
	composition mode.  Probably.  I think.

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fill too long mail headers

	* lisp/gnus/message.el (message--fold-long-headers): New
	function to fold too-long headers (bug#21608).
	(message-send-mail): Use it to fill headers longer than 998
	characters (which is the protocol limit).

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Make nndoc more resilient against corrupted files

	* lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
	out on invalid files, like invalid .gz files (bug#21538).
	This may hinder Gnus from starting up.

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Respect buffer-local message-fcc-handler-function

	* lisp/gnus/message.el (message-do-fcc): Copy the local
	variables from the Message buffer so that local settings of
	`message-fcc-handler-function' etc are respected (bug#21174).

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	(message-do-fcc): Modernize the code slightly.

	* lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid a regexp overflow in message-goto-body

	* lisp/gnus/message.el (message-goto-body-1): Avoid using a
	complicated backtracking regexp, because they may overflow on
	large headers (bug#21160).

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Refactor message-goto-body

	* lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in last checkin

	* lisp/gnus/nnimap.el (nnimap-shell-program): Document
	nnimap-shell-program (bug#20651).

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Document nnimap-shell-program

	* lisp/gnus/nnimap.el (nnimap-shell-program): Document
	nnimap-shell-program (bug#20651).

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Document :shell-command in `make-network-process'

	* doc/lispref/processes.texi (Network): Document :shell-command.

	* lisp/net/network-stream.el (open-network-stream): Document
	the :shell-command parameter (bug#20651).

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Gnus doc clarification

	* lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
	the gnus-prompt-before-saving variable (bug#20500).

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the previous mml patch better

	* lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
	previous patch in a better way (bug#20480).

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Give a slight better error message in mml-minibuffer-read-file

	* lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
	better error message when the user enters nothing (bug#20480).

2017-01-26  Vibhav Pant  <vibhavp@gmail.com>

	* lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Make eww buffers prettier in the buffer listing

	* lisp/net/eww.el (eww-render): Put the currently visited URL
	into the buffer listing (bug#23738).
	(eww-render): Ditto.

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow mml-attach-file to prompt less

	* lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
	prompt for type/description/disposition, but use defaults
	(bug#19202).

2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't allow message-newline-and-reformat to be run outside the body

	* lisp/gnus/message.el (message-newline-and-reformat): Error
	out if run outside the body of a message (bug#18820).

2017-01-26  Vibhav Pant  <vibhavp@gmail.com>

	* lisp/emacs-lisp/bytecomp.el: Use correct function to push nil

	* lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
	  byte-compile-constant instead of byte-compile-form to push nil.

2017-01-26  Vibhav Pant  <vibhavp@gmail.com>

	* lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables

2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>

	Replace QUIT with maybe_quit

	There’s no longer need to have QUIT stand for a slug of C statements.
	Use the more-obvious function-call syntax instead.
	Also, use true and false when setting immediate_quit.
	These changes should not affect the generated machine code.
	* src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.

2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>

	A quicker check for quit

	On some microbenchmarks this lets Emacs run 60% faster on my
	platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
	* src/atimer.c: Include keyboard.h, for pending_signals.
	* src/editfns.c (Fcompare_buffer_substrings):
	* src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
	(Fnconc, Fplist_member):
	Set and clear immediate_quit before and after loop instead of
	executing QUIT each time through the loop.  This is OK for loops
	that affect only locals.
	* src/eval.c (process_quit_flag): Now static.
	(maybe_quit): New function, containing QUIT’s old body.
	* src/fns.c (rarely_quit): New function.
	(Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
	(Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
	Use it instead of QUIT, for
	speed in tight loops that might modify non-locals.
	* src/keyboard.h (pending_signals, process_pending_signals):
	These belong to keyboard.c, so move them here ...
	* src/lisp.h: ... from here.
	(QUIT): Redefine in terms of the new maybe_quit function, which
	contains this macro’s old definiens.  This works well with branch
	prediction on processors with return stack buffers, e.g., x86
	other than the original Pentium.

2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify make-list implementation

	* src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
	is not worth it these days.

2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>

	Make use of cl-loop destructuring

	* lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
	destructuring.
	(with-js): Add declare forms.

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Bind C-c keys in the article buffer"

	This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.

	The commit somehow lead to problems in other parts of Emacs.

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Document how to quote MML tags

	* doc/misc/emacs-mime.texi (MML Definition): Mention how to
	quote MML tags (bug#18881).

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Make address parsing more robust

	* lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
	bug out on addresses like
	(ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
	(bug#18572).

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the %P (line number) thing in Gnus summary buffers

	* lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.

	* lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
	"pick" mode line number on entry instead of relying in a hack (bug#18311).

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix wrong documentation on nnmairix keystrokes

	* doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
	nnmairix commands are on G G, not $ (bug#18260).

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Bind C-c keys in the article buffer

	* lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
	C-c keys so that they execute in the summary buffer
	(bug#18257).  This makes commands like `C-c C-f' work from the
	article buffer.

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't mark articles in Gnus as displayed when they aren't

	* lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
	mark any articles as selected if we're not selecting any
	articles (bug#18255).

2017-01-25  Vibhav Pant  <vibhavp@gmail.com>

	* lisp/emacs-lisp/disass.el: Display jump tables for switch.

	* lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table

	* lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p

	* lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.

2017-01-25  Vibhav Pant  <vibhavp@gmail.com>

	* lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch

	* lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
	  constant encountered precedes a byte-switch op, replace all the
	  addresses in the jump table with tags.

2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>

	Move cXXXr and cXXXXr to subr.el

	* etc/NEWS: Mention new core Elisp.
	* doc/lispref/lists.texi (List Elements): Document and index the new
	functions.
	* doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
	* lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
	(cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
	(cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
	(cddddr): New functions.
	* lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
	(cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
	(cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
	(cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
	(cl-cdddar, cl-cddddr): Alias to new subr functions.
	* lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
	elements.

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Only save .newsrc file if the native method is NNTP

	* lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
	the .newsrc file if the native select method is NNTP
	(bug#18198).  This avoids problems with invalid IMAP group
	names and the like in the .newsrc file.

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Only save .newsrc file if the native method is NNTP

	* lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
	the .newsrc file if the native select method is NNTP
	(bug#18198).  This avoids problems with invalid IMAP group
	names and the like in the .newsrc file.

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Gnus custom spec fix

	* lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
	spec to match the doc string (bug#17679).

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify confusing Gnus error message

	* lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
	confusing error message (bug#17677).

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Make C-u C-x m work with Message as documented

	* lisp/gnus/message.el (message-mail): Respect the CONTINUE
	parameter (bug#17175).

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with auto-mode and dir-locals-collect-variables

	* lisp/files.el (dir-locals-collect-variables): When run from
	auto-mode, the file in question may not be an absolute path
	name (bug#24016).

	Example backtrace:

	Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
	  dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
	  hack-dir-local-variables()
	  hack-local-variables(no-mode)
	  run-mode-hooks(diff-mode-hook)
	  diff-mode()
	  mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Attach text files correctly in Message

	* lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
	system has been used in attached text files, and don't try to
	do any encoding of these files (bug#13808).

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Build fix for older gnutls versions

	* src/gnutls.c (emacs_gnutls_handle_error):
	GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
	gnutls-3.

2017-01-25  Tino Calancha  <tino.calancha@gmail.com>

	ediff-difference-vector-alist: Drop duplicated definition

	* lisp/vc/ediff-init.el (ediff-difference-vector-alist):
	Drop duplicated definition.
	(ediff-difference-vector-A, ediff-difference-vector-B)
	(ediff-difference-vector-C, ediff-difference-vector-Ancestor):
	Move definition before 'ediff-difference-vector-alist'.

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "nnimap.el: support additional expunge options"

	This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.

	The patch broke fetching new mail:

	Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
	  format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
	  (looking-at (format "%d .*\n" sequence))
	  (not (looking-at (format "%d .*\n" sequence)))
	  (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))

2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>

	nnimap.el: support additional expunge options

	* lisp/gnus/nnimap.el (nnimap-close-group)
	(nnimap-request-expire-articles, nnimap-delete-article)
	(nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
	settings for nnimap-expunge (bug#20670).

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't tag Gnus bugs with "gnus"

	* lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.

	* lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
	have its own package any more in the bug tracker.

2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Tweak TLS error messaging on closed connections

	* src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
	peer-closed-connection "The TLS connection was non-properly
	terminated" message to a lower level so that it isn't shown to
	the user by default.

2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid having eww unexpectedly open external browsers

	* lisp/net/eww.el (eww-render): Instead of opening unsupported
	content types like audio/mpeg directly in an external browser
	(which can be very confusing especially when something
	redirects to a file like that), just display a simple
	interstitial that people can choose to click on or not
	(bug#22671).

2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>

	When opening new eww buffers, use buffer names based on the host name

	* lisp/net/eww.el (eww-browse-url): When opening in a new
	window, use a buffer name based on the host name (bug#23738).
	(eww--dwim-expand-url): Refactored out into its own function
	for easier reuse.

2017-01-24  David Engster  <deng@randomsample.de>

	xml: Fix parsing of default namespace with quoted names

	* lisp/xml.el (xml-parse-attlist): Properly extract namespace when
	  parsing is done with quoted symbol names (bug#23440).
	* test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
	  (xml-parse-test-default-namespace-qnames): Test for the above.

2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix rendering of some complex SVG images

	* lisp/net/shr.el (shr-parse-image-data): Don't transform
	SVG->DOM->XML unless we're blocking images, as this is apt to
	destroy the SVG (bug#24111).

2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the last clarification

	* lisp/net/shr.el (shr-width): Clarify the interaction with
	`shr-use-fonts' (bug#24928).

2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>

	shr-width doc clarification

	* lisp/net/shr.el (shr-width): Clarify the interaction with
	`shr-use-fonts' (bug#24928).

2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow passing in max-width/height

	* lisp/net/shr.el (shr-rescale-image): Allow passing in
	max-width/height (bug#25287).

2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars

	Require `cl' for `pushnew'.
	(vhdl-scan-project-contents, vhdl-compose-wire-components)
	(vhdl-uniquify): Use `pushnew' instead of `add-to-list'.

2017-01-24  Noam Postavsky  <npostavs@gmail.com>

	Fix comment detection on open parens

	Characters having both open paren syntax and comment start syntax were
	being detected as open parens even when they should have been part a
	comment starter (Bug#24870).

	* src/syntax.c (in_2char_comment_start): New function, extracted from
	`scan_sexps_forward'.
	(scan_sexps_forward): Add check for a 2-char comment starter before the
	loop.  Inside the loop, do that check after incrementing the 'from'
	character index.  Move the single char comment syntax cases into the
	switch instead of special casing them before.
	* test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
	(parse-partial-sexp-continue-over-comment-marker): New tests.

2017-01-23  Alan Mackenzie  <acm@muc.de>

	Give , and .@ doc strings.  Fixes bug #24561.

	Also make *Help* links to ``' possible.  Also make usable as such doc strings
	on the function-documentation property of a symbol.

	* lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
	function-documentation property.  Also give these symbols a reader-construct
	property.

	* lisp/help-fns.el (describe-function): Allow the function-documentation
	property to work.  Use princ rather than prin1 to print the function's name
	when it has a reader-construct property.
	(help-fns-signature): Don't insert `high-usage' for a reader-construct.
	(describe-function-1): Adapt to process documentation on the
	function-documentation property.  Print "a reader construct" when appropriate.

	* lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
	``'.

2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>

	Improve uses of CHECK_LIST etc.

	* src/eval.c (FletX): Report an error for invalid constructs like
	‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
	(lambda_arity): Use plain CHECK_CONS.
	* src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
	(Fcopy_alist): Remove unnecessary CHECK_LIST call, since
	concat does that for us.
	(Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
	Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
	runtime check out of the loop.
	(Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
	(Fassq, Fassoc, Frassq, Frassoc):
	Simplify and use CHECK_LIST_END instead of CAR.
	(assq_no_quit, assoc_no_quit): Simplify and assume proper list.
	(Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
	* src/fontset.c (Fnew_fontset):
	* src/frame.c (Fmodify_frame_parameters):
	Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
	more-complete check.
	* src/gfilenotify.c (Fgfile_add_watch):
	Omit unnecessary CHECK_LIST, since Fmember does that for us.
	* src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
	Remove; no longer used.
	(CHECK_LIST_END): New inline function.

2017-01-22  Tino Calancha  <tino.calancha@gmail.com>

	Prevent to use tabulated-list--near-rows unbound

	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
	Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).

2017-01-22  Juri Linkov  <juri@linkov.net>

	* lisp/simple.el (region-bounds): New function.

	(region-noncontiguous-p): Use it.
	https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html

2017-01-21  Alan Mackenzie  <acm@muc.de>

	Fix low-level handling of (big) C macros.

	In particular, ensure that a comment detected by its syntax is not a CPP
	construct marked with generic comment delimiter syntax-table text
	properties.

	* lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
	c-macro-cache-syntactic to nil when the cached macro changes.
	(c-syntactic-end-of-macro, c-no-comment-end-of-macro)
	(c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
	(c-state-pp-to-literal, c-parse-ps-state-to-cache)
	(c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
	(c-determine-limit): When checking a parse syntax for a comment, check that
	we're not in a CPP construct marked by syntax-table generic comment delimiter
	text property.
	(c-state-pp-to-literal): Change from a defsubst to a defun.

	* lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
	parse syntax as described above under cc-engine.el.

2017-01-21  Vibhav Pant  <vibhavp@gmail.com>

	* lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.

2017-01-21  Noam Postavsky  <npostavs@gmail.com>

	Don't wait for frame to become visible

	* src/xterm.c (x_make_frame_visible): Remove code that waits for the
	frame to become visible.  We have to deal with invisible frames anyway,
	the loop could sometimes before the frame turned visible, and for some
	window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
	busy loop (Bug#24091).

2017-01-21  Tino Calancha  <tino.calancha@gmail.com>

	diff-hunk-kill independent of point inside headers

	Make diff-apply-hunk and diff-hunk-kill independent of the point
	position in a diff header (Bug#17544).
	This change allows to apply hunks in order.  It also makes possible to
	press M-k repeatedly to kill hunks in the order they appear in the buffer.
	See discussion on #Bug25105.
	* lisp/vc/diff-mode.el (diff-file-junk-re):
	Move definition before it's used.
	(diff--at-diff-header-p): New predicate; return non-nil when point
	is inside a hunk header, a file header, or within a line
	matching diff-file-junk-re.
	(diff-beginning-of-hunk): Use it.
	Check if the point is inside a diff header, in the middle of a hunk,
	or before the first hunk.
	(diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
	before apply the hunk.
	(diff-hunk-kill, diff-file-kill):
	Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
	(diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.

2017-01-20  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of hooks related to saving buffers

	* lisp/files.el (write-file-functions, write-contents-functions)
	(before-save-hook, after-save-hook): Note that these are only used
	by save-buffer.

	* doc/lispref/backups.texi (Auto-Saving):
	* doc/lispref/files.texi (Saving Buffers): Mention that
	save-related hooks are not run by auto-saving.  (Bug#25460)

2017-01-20  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of auto-save-visited-file-name

	* doc/emacs/files.texi (Auto Save Files): Mention subtle
	differences between saving the buffer and auto-saving with
	auto-save-visited-file-name set non-nil.  (Bug#25478)

2017-01-20  Noam Postavsky  <npostavs@gmail.com>

	Fix free var FOO-mode-{syntax,abbrev}-table warnings

	* lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
	defvar the syntax and abbrev tables so that the compiler will know that
	they are dynamically bound variables (Bug#25446).

2017-01-19  Vibhav Pant  <vibhavp@gmail.com>

	* lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms

	* lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
	  eval obj2 to avoid quoted forms being stored as is.

2017-01-19  Vibhav Pant  <vibhavp@gmail.com>

	lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols

2017-01-19  Vibhav Pant  <vibhavp@gmail.com>

	* lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.

	* lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
	default-case for last cond clause.

2017-01-19  Philipp Stephani  <phst@google.com>

	Check that variable lists are actually lists

	'let' and 'let*' document that their first argument has to be a list,
	but don't check for that; instead, they allow (and silently ignore)
	other types.  Introduce an explicit type check.

	* src/eval.c (Flet, FletX): Check that the variable list is indeed a
	list.
	* test/src/eval-tests.el: Add unit tests.

2017-01-19  Vibhav Pant  <vibhavp@gmail.com>

	Add type checking for Bswitch, when enabled at compile time.

	* src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
	  compile time, use CHECK_TYPE to verify that the jump table is a hash table.

2017-01-19  Vibhav Pant  <vibhavp@gmail.com>

	Use byte-switch for all symbols.

	* lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
	  t for all symbols (instead for just keywords)

2017-01-19  Noam Postavsky  <npostavs@gmail.com>

	Avoid inefficient regex in diff-refine-hunk (Bug#25410)

	* lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
	(diff-refine-hunk): Use it instead of trying to match multiple lines
	with a single lines.

2017-01-18  Eli Zaretskii  <eliz@gnu.org>

	Remove lock file when auto-saving into the visited file

	* src/fileio.c (write_region): When auto-saving into the visited
	file, unlock the file whenever we mark the buffer unmodified.
	(Bug#25470)

2017-01-18  Vibhav Pant  <vibhavp@gmail.com>

	* src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch

	Fgethash type checks the provided table object, which is unnecessary
	for compiled bytecode.

2017-01-18  Tom Tromey  <tom@tromey.com>

	fix typo in mailcap-mime-extensions

	* lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
	not "test/x-patch".  (Bug#25472)

2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)

	Fix typos in flymake.el

	* lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
	Spelling fixes in the doc string.

2017-01-18  Eli Zaretskii  <eliz@gnu.org>

	Fix a bug with signaling a thread that waits for condvar

	* src/thread.c (lisp_mutex_lock_for_thread): New function,
	with all the guts of lisp_mutex_lock.
	(lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
	(condition_wait_callback): Don't call post_acquire_global_lock
	before locking the mutex, as that could cause a signaled thread to
	exit prematurely, because the condvar's mutex is recorded to be
	not owned by any thread, and with-mutex wants to unlock it as part
	of unwinding the stack in response to the signal.

2017-01-18  Eli Zaretskii  <eliz@gnu.org>

	Rudimentary error handling for non-main threads

	* src/thread.c (last_thread_error): New static variable.
	(syms_of_threads): Staticpro it.
	(record_thread_error, Fthread_last_error): New functions.
	(syms_of_threads): Defsubr Fthread_last_error.

	* doc/lispref/threads.texi (Basic Thread Functions): Document
	thread-last-error.

	* test/src/thread-tests.el (thread-errors, thread-signal-early)
	(threads-condvar-wait): Test the values returned by
	thread-last-error.

2017-01-17  Tom Tromey  <tom@tromey.com>

	Add info-lookup help for gdb-script-mode

	Bug#25464:
	* lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
	function.
	Add help for gdb-script-mode.

2017-01-17  Tom Tromey  <tom@tromey.com>

	Treat ":root" as a css-selector

	* lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
	":root" as selector.

2017-01-17  Tom Tromey  <tom@tromey.com>

	Fix JS regexp literal syntax propertization in expressions

	Bug#25465:
	* lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
	literal after "!", "&", and "|".
	test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.

2017-01-17  Glenn Morris  <rgm@gnu.org>

	More NEWS checking for admin.el's set-version

	* admin/admin.el (set-version): Warn if temporary NEWS markup
	still present in release candidates.

2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>

	Mark unused arguments and remove unused variables

	* lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
	(dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
	(dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
	(dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
	(dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
	(dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
	(dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
	(dungeon-nil): Mark arguments as unused.
	(dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
	(dun-restore): Remove unused variable.

2017-01-17  Michael Albinus  <michael.albinus@gmx.de>

	Fix auto-save-file-name problem in Tramp on MS Windows

	* lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
	rather than an ange-ftp regexp.

	* lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
	Fix a problem when running on MS Windows.

	* test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
	Adapt test.

2017-01-17  Michael Albinus  <michael.albinus@gmx.de>

	Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge

	* lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
	Fix a problem when running on MS Windows.

2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	42614fa Update remaining copyright years with admin.el M-x set-copyright
	f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...

2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>

	Nix some uses of eval

	* lisp/play/dunnet.el: Fix triple negative.
	(dun-doverb): Use funcall instead of eval.
	(dun-echo): Just call dun-mprinc.
	(dun-save-val): Just bind value without eval.

2017-01-17  Tom Tromey  <tom@tromey.com>

	Fix comment in css-mode.el

	* lisp/textmodes/css-mode.el: Remove obsolete comment.

2017-01-16  Vibhav Pant  <vibhavp@gmail.com>

	update branch

2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)

	* lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).

2017-01-15  Noam Postavsky  <npostavs@gmail.com>

	Improve ffap-gopher-at-point handling of long lines

	* lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
	setting to nil is now supported.
	(ffap--gopher-var-on-line): New function.
	(ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
	which could overflow the regexp stack on long lines (Bug#25391).  Use
	`let-alist' instead of calling `set' on local variables.
	* test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.

2017-01-15  Vibhav Pant  <vibhavp@gmail.com>

	* lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.

	* lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
	  finding the tag in a jump table.

2017-01-15  Vibhav Pant  <vibhavp@gmail.com>

	* lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication

2017-01-14  Vibhav Pant  <vibhavp@gmail.com>

	Add new 'switch' byte-code.

	'switch' takes two arguments from the stack: the variable to test, and
	a jump table (implemented as a hash-table with the appropriate :test
	function). By looking up the value of the variable in the hash table,
	the interpreter can jump to the label pointed to by the value, if any.
	This implementation can only be used for `cond' forms of the type
	`(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
	variable `x` is same for all clauses.

	* lisp/emacs-lisp/bytecomp.el:

	  * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
	    (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
	    (byte-compile-cond-jump-table), byte-compile-jump-tables.

	  * Add defcustom `byte-compile-cond-use-jump-table'.

	  * (byte-compile-cond): Use them.

	  * (byte-compile-lapcode): Patch tags present in jump tables, if any.

	* lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
	  some peephole optimizations to prevent them from messing up any code
	  involving `byte-switch`.

	* src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.

2017-01-14  Alan Third  <alan@idiocy.org>

	Fix NS main thread check (bug#25265)

	* src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
	isMainThread.

2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/sql.el (sql-product-alist): Doc tweak

	`:sqli-comint-func' does not have to be a symbol.

2017-01-14  Alan Mackenzie  <acm@muc.de>

	Correct c-parse-state-get-strategy for moving HERE backward into a macro.

	* lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
	its previous value, we chose strategy 'forward, and the new HERE is in a
	(different) macro, ensure the returned START-POINT is not above the start of
	the macro.

2017-01-14  Eli Zaretskii  <eliz@gnu.org>

	Include "Date:" in mail messages filed by 'sendmail-send-it'

	* lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
	into the filed message.  In the outgoing message, sendmail will
	add the date, but the composed message body doesn't have it.
	(Bug#25436)

2017-01-14  Eli Zaretskii  <eliz@gnu.org>

	* lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)

2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>

	Remove leftover references to log-view-message-face

	* lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.

	* lisp/vc/vc-git.el (vc-git-root-log-format): Same.

	* lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.

2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>

	Record autoloads till emacs dump

	* admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
	* lisp/ldefs-boot-auto.el (batch-byte-compile): Update

	Previously, autoloads were collected till loaddefs.el was generated as
	part of the build. However, bootstrap-emacs does not load
	loaddefs (rather it is dumped), hence we must record autoloads until the
	full emacs binary is dumped.

2017-01-13  Tom Tromey  <tom@tromey.com>

	Add chained indentation to js-mode

	Bug#20896
	* lisp/progmodes/js.el (js-chain-indent): New variable.
	(js--skip-term-backward, js--skip-terms-backward)
	(js--chained-expression-p): New functions.
	(js--proper-indentation): Call js--chained-expression-p.
	* test/manual/indent/js-chain.js: New file.
	* test/manual/indent/js.js: Add (non-)chained indentation test.

2017-01-13  Tom Tromey  <tom@tromey.com>

	Fix js-mode indentation bug

	Bug#15582:
	* lisp/progmodes/js.el (js--find-newline-backward): New function.
	(js--continued-expression-p): Use it.
	* test/manual/indent/js.js: Add new test.

2017-01-13  Tom Tromey  <tom@tromey.com>

	Fix definition of EMACS in test/manual/indent/Makefile

	* test/manual/indent/Makefile (EMACS): Add one more "..".

2017-01-13  Tom Tromey  <tom@tromey.com>

	Add .jsx to auto-mode-alist

	Bug#25389:
	* lisp/files.el (auto-mode-alist): Add entry for .jsx.

2017-01-13  Tom Tromey  <tom@tromey.com>

	Fix two js-mode filling bugs

	Bug#19399 and Bug#22431:
	* lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
	c-block-comment-start-regexp.
	* test/lisp/progmodes/js-tests.el: New file.

2017-01-13  Eli Zaretskii  <eliz@gnu.org>

	Fix last change

	* test/src/thread-tests.el (threads-condvar-wait): Revert
	previous change.  Make sure no other threads from previous
	tests are running, to avoid interfering with our thread counts.

2017-01-13  Eli Zaretskii  <eliz@gnu.org>

	Fix the new condvar test

	* test/src/thread-tests.el (threads-condvar-wait): Enlarge the
	time we sleep in the main thread to let the other thread
	process notifications.

2017-01-13  Eli Zaretskii  <eliz@gnu.org>

	Minor improvements in the new condvar test

	* test/src/thread-tests.el (threads-test-condvar-wait): Use
	with-mutex instead of emulating it inline.
	(threads-condvar-wait): Improve comments.  Check that the new
	thread is alive before waiting for it to become blocked on the
	conditional variable.

2017-01-13  Eli Zaretskii  <eliz@gnu.org>

	Fix a bug in waiting for condition variable

	* src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
	(lisp_mutex_unlock_for_wait, condition_wait_callback)
	(condition_notify_callback): Improve commentary.
	(condition_wait_callback): Call post_acquire_global_lock before
	attempting to lock the mutex, to make sure the lock's owner is
	recorded correctly.

	* test/src/thread-tests.el (threads-condvar-wait): New test.

2017-01-13  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of dabbrevs

	* doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
	to "Dabbrev Customization".
	(Dabbrev Customization): More details about the default value of
	dabbrev-abbrev-char-regexp and use cases when it might not be good
	enough.  (Bug#25432)

2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>

	Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)

2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>

	mm-uu.el: Don't dissect patch part

	This fixes a bug that the patch part is broken in the article
	<87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.

	* lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
	Don't dissect patch part.

2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>

	Fix extracting async def type and name in python mode imenu

	* lisp/progmodes/python.el (python-imenu--get-defun-type-name):
	New function.
	(python-imenu--build-tree): Use python-imenu--get-defun-type-name for
	extract async or simple def type and name at current
	position (Bug#24820).
	* test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
	(python-imenu-create-flat-index-1): Add async def's.

2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>

	Remove garbage from Content-Transfer-Encoding value (bug#25420)

	* lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
	(ietf-drums-remove-garbage): New function.
	(ietf-drums-remove-whitespace): Remove CR as well.

	* lisp/mail/mail-parse.el (mail-header-strip-cte):
	Alias to ietf-drums-strip-cte.

	* lisp/gnus/gnus-art.el (article-decode-charset):
	* lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
	* lisp/gnus/mm-decode.el (mm-dissect-buffer):
	* lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
	(nndoc-rfc822-forward-generate-article):
	* lisp/mh-e/mh-mime.el (mh-decode-message-body):
	Replace mail-header-strip with mail-header-strip-cte.

2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>

	Restore behavior of ‘./autogen.sh autoconf git’

	* autogen.sh: Do both autoconf and git setup when invoked
	as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
	Mention new --no-check option in usage message.  (Bug#25359)

2017-01-12  Glenn Morris  <rgm@gnu.org>

	* autogen.sh: Simplify argument parsing.

2017-01-12  Noam Postavsky  <npostavs@gmail.com>

	Clarify that easy-menu-add is a nop (Bug#25382)

	* lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
	`ignore', like `easy-menu-remove'.

2017-01-12  Glenn Morris  <rgm@gnu.org>

	* lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.

2017-01-11  Glenn Morris  <rgm@gnu.org>

	* autogen.sh: Add --no-check option.  (Bug#25359)

2017-01-11  Glenn Morris  <rgm@gnu.org>

	Convert some network test failures to skipping

	These tests intermittently fail on hydra.nixos.org for unclear
	reasons related to starting the external process.
	This isn't an Emacs issue, and the failures cause noise on
	the emacs-buildstatus list.  (Bug#24503)
	* test/lisp/net/network-stream-tests.el (echo-server-nowait)
	(connect-to-tls-ipv4-nowait): Skip rather than fail if the
	external process fails to start properly.

2017-01-11  Eli Zaretskii  <eliz@gnu.org>

	Revert "Add DNS keywords and remove duplications"

	This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.

2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>

	Add DNS keywords and remove duplications

	* lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
	NSEC" DNS related keywords and remove duplication of "NSAP".

2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>

	Add DNS keywords and remove duplications

	* lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
	NSEC" DNS related keywords and remove duplication of "NSAP".

2017-01-11  Alan Mackenzie  <acm@muc.de>

	Handle syntactic WS cache properties more accurately at buffer changes.

	This fixes bug #25362.

	* lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
	(c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
	(c-invalidate-sws-region-after-ins): New variables and functions.
	(c-invalidate-sws-region-after): Change from a defsubst to a defun.
	Also pass
	it the standard OLD-LEN argument.  Call both
	c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
	cache
	properties.

	* lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
	variable.

	* lisp/progmodes/cc-mode.el (c-before-change): Call
	c-invalidate-sws-region-before.
	(c-after-change): Pass old-len to c-invalidate-sws-region-after.

2017-01-11  Michael Albinus  <michael.albinus@gmx.de>

	Support stat 8.26 in Tramp

	* lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
	environment variable of newer coreutils.  (Bug#23422)

2017-01-10  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of coding-systems

	* doc/lispref/nonascii.texi (Coding System Basics): Mention
	'prefer-utf-8'.  Index it and 'undecided'.
	(Encoding and I/O): Fix a typo.
	(User-Chosen Coding Systems): Improve the documentation of
	ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
	select-safe-coding-system-function.
	(Specifying Coding Systems): Document coding-system-require-warning.

2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2017-01-09 maint: time stamp -> timestamp
	2017-01-07 stdioext: Port to Minix 3.2 and newer
	2017-01-06 glob, intprops, xalloc: work around Clang bug
	2017-01-02 revert copyright-year change to synced files
	* doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
	* lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
	* lib/utimens.c, lib/xalloc-oversized.h:
	Copy from gnulib.

2017-01-10  Eli Zaretskii  <eliz@gnu.org>

	Don't use unsafe encoding for the bookmark file

	* lisp/bookmark.el (bookmark-write-file): Handle the case when the
	explicitly specified encoding of the bookmark file cannot encode the
	additional bookmarks just added.  (Bug#25365)

2017-01-09  Eli Zaretskii  <eliz@gnu.org>

	Improve definition of 'variable-pitch' face on MS-Windows

	* lisp/faces.el (variable-pitch): Don't specify too many
	attributes of the font, otherwise faces that request different
	weight or slant or size will not get them.

2017-01-09  Eli Zaretskii  <eliz@gnu.org>

	Fix an error message in python.el

	* lisp/progmodes/python.el (python-shell-get-process-or-error):
	Don't repeat the same key binding twice.  (Bug#25405)

2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>

	Remove unused ldefs-boot.el

	 * lisp/ldefs-boot.el: Remove

	This file was not removed as reported in c27b645956a11, but accidentally
	left.

2017-01-09  Noam Postavsky  <npostavs@gmail.com>
	    Eli Zaretskii  <eliz@gnu.org>

	Use expanded stack during regex matches

	While the stack is increased in main(), to allow the regex stack
	allocation to use alloca we also need to modify regex.c to actually take
	advantage of the increased stack, and not limit stack allocations to
	SAFE_ALLOCA bytes.

	* src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
	allocations in signal handlers which no longer happens and correct
	description about when and why MATCH_MAY_ALLOCATE should be defined.
	(emacs_re_safe_alloca): New variable.
	(REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
	of MAX_ALLOCA.
	(emacs_re_max_failures): Rename from `re_max_failures' to avoid
	confusion with glibc's `re_max_failures'.
	* src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
	to the stack.  Instead of changing emacs_re_max_failures based on the
	new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
	remains constant regardless, since if we run out stack space SAFE_ALLOCA
	will fall back to heap allocation.

2017-01-09  Noam Postavsky  <npostavs@gmail.com>

	Fix computation of regex stack limit

	The regex stack limit was being computed as the number of stack entries,
	whereas it was being compared with the current size as measured in
	bytes.  This could cause indefinite looping when nearing the stack limit
	if re_max_failures happened not to be a multiple of sizeof
	fail_stack_elt_t (Bug #24751).

	* src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
	limit as numbers of stack entries.

2017-01-08  Alan Third  <alan@idiocy.org>

	Remove apploopnr

	* src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
	allow app loop to run in main thread.

2017-01-08  Glenn Morris  <rgm@gnu.org>

	Remove unused configure output variable

	* configure.ac (GNULIB_MK):
	* Makefile.in (gnulib_mk): Remove, no longer used.

2017-01-08  Glenn Morris  <rgm@gnu.org>

	Fix automake dependencies

	* Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
	All platforms need this file to exist.

2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>

	Remove unnecessary blankp code

	* src/character.c (blankp): Remove redundant code that slows Emacs
	down a bit.  The caller already does the test.

2017-01-08  Stefan Merten  <stefan@merten-home.de>

	* lisp/textmodes/rst.el: Fix rst-forward-indented-block.

	* lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
	(rst-svn-timestamp)
	(rst-official-version, rst-official-cvs-rev)
	(rst-package-emacs-version-alist): Maintain version numbers.
	(rst-forward-indented-block): Fix. Start searching at next
	line again. Fixes fontification of comments continuing on the
	same line they started.

2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>

	Remove @SET_MAKE@ from manually-maintained files

	Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
	* Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
	* src/Makefile.in: Remove @SET_MAKE@.

2017-01-07  Michael Albinus  <michael.albinus@gmx.de>

	Fix a problem with `start-file-process' in Tramp

	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
	`start-file-process' shall work when `non-essential' is
	non-nil, but there is already an established connection.
	<https://github.com/company-mode/company-mode/issues/462>

2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)

	Fix selecting SQLite database files with sql-mode (Bug#23566)

	* lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
	SQLite database file name, by default.
	(sql-get-login-ext): Fixed read-file-name arguments to provide
	path completion even if a database name pattern is customized and to
	allow creation of new SQLite database files.

2017-01-07  Noam Postavsky  <npostavs@gmail.com>

	Clarify major mode switching

	* doc/emacs/modes.texi (Major Modes):
	* doc/lispref/modes.texi (Modes, Major Modes): Explicitly say that each
	buffer has exactly one major mode and can't be "turned off", only
	switched away from (Bug#25357).

2017-01-07  Noam Postavsky  <npostavs@gmail.com>

	Add helpful comment to compile-command's docstring

	* lisp/progmodes/compile.el (compile-command): Mention trailing space in
	docstring (Bug#25337).

2017-01-07  Eli Zaretskii  <eliz@gnu.org>

	Specify encoding of the bookmark file

	* lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
	Accept an argument CODING and include a 'coding:' cookie in the
	bookmark file preamble.
	(bookmark-upgrade-file-format-from-0): Call
	'bookmark-insert-file-format-version-stamp' with the file buffer's
	encoding, as detected when it was read.
	(bookmark-file-coding-system): New variable.
	(bookmark-load): Set bookmark-file-coding-system to the encoding
	of the loaded file.
	(bookmark-write-file): Bind coding-system-for-write to either the
	user setting via "C-x RET c" or to the existing file encoding,
	defaulting to 'utf-8-emacs'.  Update the value of
	bookmark-file-coding-system.  (Bug#25365)

2017-01-07  Eli Zaretskii  <eliz@gnu.org>

	Avoid infloop in 'ispell-region'

	* lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
	Protect against 'ispell-skip-region-alist' being nil.  Reported by
	Ernest Adrogué <nfdisco@gmail.com>, see
	https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.

2017-01-06  Philipp Stephani  <phst@google.com>

	Add support for Unicode whitespace in [:blank:]

	See Bug#25366.

	* src/character.c (blankp): New function for checking Unicode
	horizontal whitespace.
	* src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
	whitespace.
	(BIT_BLANK): New bit for range table.
	(re_wctype_to_bit, execute_charset): Use it.
	* test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
	unit test for [:blank:] character class.
	* test/src/regex-tests.el (test): Adapt unit test.
	* doc/lispref/searching.texi (Char Classes): Document new Unicode
	behavior for [:blank:].

2017-01-06  Eli Zaretskii  <eliz@gnu.org>

	Fix ':version' of 'select-enable-primary'

	* lisp/select.el (select-enable-primary): Fix a typo in
	':version'.  (Bug#25375)

2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	(feedmail-deduce-address-list): Avoid add-to-list on local variables.

	Author:

	* lisp/mail/feedmail.el (feedmail-deduce-address-list):
	Avoid add-to-list on local variables.

2017-01-06  Noam Postavsky  <npostavs@gmail.com>

	Fix isearch handling of C-u C-u...

	* lisp/isearch.el: Add `isearch-scroll' property to
	universal-argument-more so that `isearch-allow-scroll' will apply to it
	as well.
	(isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
	`universal-argument-more' as well (Bug#25302).

2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	Shorten autogen.sh script

	* autogen.sh: Use a shorter script, as some 'sed' implementations
	mishandle long scripts.

2017-01-05  Eli Zaretskii  <eliz@gnu.org>

	Yet another fix for autogen.sh

	* autogen.sh (gnulib.mk): Make the Sed script more portable.

	* nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
	the changes in autogen.sh.

2017-01-05  Eli Zaretskii  <eliz@gnu.org>

	* autogen.sh (gnulib.mk): Another attempt to fix macOS build.

2017-01-05  Eli Zaretskii  <eliz@gnu.org>

	Fix dependencies of nt/gnulib.mk

	* Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
	of nt/gnulib.mk on lib/Makefile.in.

2017-01-05  Eli Zaretskii  <eliz@gnu.org>

	Unbreak macOS build

	* autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
	Sed.

2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)

	Fix term.el handling of ^Z-sequences spanning chunks

	Bash will after each command send ?\032 and the current directory "/tmp"
	to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
	command outputs roughly 4096 bytes then the end of the first chunk will
	be "/tm" (Bug#13350).

	* lisp/term.el (term-emulate-terminal): Change the regexp to find the
	end of the ?\032 sequence to use \n instead of $, the latter can match
	end of string as well.

2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on lexical-binding in mb-depth.el

	* lisp/mb-depth.el: Turn on lexical-binding.
	(minibuffer-depth-setup): Bind things used multiple times.

2017-01-04  Alan Third  <alan@idiocy.org>

	Revert "Rework NS event handling (bug#25265)"

	This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.

2017-01-04  Glenn Morris  <rgm@gnu.org>

	Update remaining copyright years with admin.el M-x set-copyright

	* etc/refcards/ru-refcard.tex (cyear): Set to 2017.

2017-01-04  Glenn Morris  <rgm@gnu.org>

	* lisp/ffap.el (ffap-lax-url): Bump :version after recent change.

2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent autogen.sh changes to Darwin

	Problem reported by Sam Steingold (Bug#25347).
	* autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
	POSIX does not require it and it does not work on Darwin.

2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	Avoid add-to-list on local variables

	* lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
	(nnir-retrieve-headers): Use pcase.
	(nnir-search-thread): Avoid add-to-list on local variables.

	* lisp/gnus/smime.el: Use lexical-binding and cl-lib.
	(smime-verify-region): Avoid add-to-list on local variables.

	* lisp/mail/undigest.el: Use lexical-binding and cl-lib.
	(rmail-digest-parse-mime, rmail-digest-rfc1153)
	(rmail-digest-parse-rfc934): Avoid add-to-list on local variable.

	* lisp/net/ldap.el (ldap-search): Move init into declaration.

	* lisp/net/newst-backend.el (newsticker--cache-add):
	Avoid add-to-list on local variables; Simplify code with `assq'.

	* lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
	(dbus-debug): Remove declaration, unused.
	(zeroconf-service-add-hook, zeroconf-service-remove-hook)
	(zeroconf-service-browser-handler, zeroconf-publish-service):
	Avoid add-to-list and *-hook on local variables.

	* lisp/org/org-archive.el (org-all-archive-files):
	* lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
	Avoid add-to-list on local variables.

	* lisp/org/ox-publish.el (org-publish--run-functions): New function.
	(org-publish-projects): Use it to avoid run-hooks on a local variable.
	(org-publish-cache-file-needs-publishing): Avoid add-to-list on
	local variables.

	* lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
	(ada-prj-load-from-file): Avoid add-to-list on local variables.

	* lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
	(ada-gnat-parse-gpr, ada-parse-prj-file-1)
	(ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.

	* lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
	Avoid add-to-list on local variables.

2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on lexical-binding in md4.el

	* lisp/md4.el: Turn on lexical-binding.
	* test/lisp/md4-tests.el: New file.

2017-01-03  Stefan Merten  <stefan@merten-home.de>

	Lots of refactorings and a few minor improvements.

	User visible improvements and changes:
	* Improve and debug `rst-forward-section` and `rst-backward-section`.
	* Auto-enumeration may be used with all styles for list insertion.
	* Improve and debug `rst-toc-insert`.
	* Adapt change in Emacs to use customization group `text` instead of `wp`.
	* Bind `n` and `p` in `rst-toc-mode`.
	* `z` in `toc-mode` returns to the previous window configuration.
	* Require Emacs version >= 24.1.

	Lots of refactorings including:
	* Silence byte compiler.
	* Use lexical binding.
	* Use `cl-lib`.
	* Add tests and raise test coverage.

2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	(cl-defstruct): Improve error message for slots without value
	(bug#25312)

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
	emit a warning for those coders who forgot to put a default value in
	their slot.

2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>

	Small patch for ffap.el

	* lisp/ffap.el (ffap-alist): Document that ffap sets the match data
	while walking 'ffap-alist'.

2017-01-03  Eli Zaretskii  <eliz@gnu.org>

	Generate nt/gnulib.mk from lib/gnulib.mk

	This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
	with the purpose of avoiding manual maintenance of
	nt/gnulib.mk.

	* nt/gnulib-modules-to-delete.cfg: New file.
	* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
	(am__v_GEN_1): New variables.
	(${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
	lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.

	* make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
	files to link.
	* configure.ac (GNULIB_MK): Compute the value according to $opsys.
	* autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
	running autoreconf.
	* Makefile.in (gnulib_mk): New variable.
	($(srcdir)/nt/gnulib.mk): Rule to produce it.
	(AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
	name.
	* .gitignore: Add nt/gnulib.mk.

	* src/w32.c (acl_errno_valid): Implement it here, as we no longer
	build the acl-permissions module from Gnulib.

2017-01-03  Noam Postavsky  <npostavs@gmail.com>

	Handle multibyte chars spanning chunks in term.el

	* lisp/term.el (term-terminal-undecoded-bytes): New variable.
	(term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
	buffer-local twice.
	(term-emulate-terminal): Check for bytes of incompletely decoded
	characters, and save them until the next call when they can be fully
	decoded (Bug#25288).

2017-01-03  Michael Albinus  <michael.albinus@gmx.de>

	Finish work on filenotify-tests.el

	* test/lisp/filenotify-tests.el (file-notify--test-monitors):
	New variable.
	(file-notify--test-cleanup, file-notify--test-monitor): Use it.
	(file-notify--test-read-event, file-notify-test02-events)
	(file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
	(file-notify-test03-autorevert)
	(file-notify-test08-watched-file-in-watched-dir):
	Set `file-notify--test-desc' for proper work of
	`file-notify--test-monitor'.  (Bug#21804)

2017-01-02  Michael Albinus  <michael.albinus@gmx.de>

	Check also for "gvfs-monitor-dir.exe" in Tramp

	* lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
	for "gvfs-monitor-dir.exe".

2017-01-02  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation --without-x

	* src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
	font_range only if it is compiled in.  (Bug#25334)

2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>

	Fix RefTeX to show table of contents for dtx files (tiny change)

	* lisp/textmodes/reftex.el (reftex-compile-variables): Change the
	  section regexp so that it accepts lines starting with the comment
	  character. (tiny change)
	* lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
	  gathered toc entries, accepting a commented entry if and only if the
	  source file is a ".dtx" file. (tiny change)

2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>

	Remove mistakenly-added files

	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
	* lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
	* lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
	* lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
	* lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
	* lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
	* lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
	* lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
	Remove files that were added by mistake during a merge.

2017-01-01  Noam Postavsky  <npostavs@gmail.com>

	Warn about incomplete untarring of link files

	The current tar-mode doesn't really support unpacking symlinks, it
	simply creates an empty file of the same name.

	* lisp/tar-mode.el (tar--describe-as-link): New function extracted from
	`tar--check-descriptor'.
	(tar-untar-buffer): Use it to warn about imperfectly untarred link
	files.

2017-01-01  Noam Postavsky  <npostavs@gmail.com>

	Remove sh-mode's skeleton-end-hook

	* lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
	`skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
	and also respects `skeleton-end-newline' (Bug#16634).

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	* nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.

2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>

	Add term/tmux.el

	Since tmux version 2.1, new tmux terminfos are shipped due to oddities
	with xterm and screen terminfos.  This is simply a duplication of
	term/screen.el with screen -> tmux.
	* lisp/term/tmux.el: New file.

2017-01-01  Philipp Stephani  <phst@google.com>

	Fix encoding of JSON surrogate pairs

	JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
	individual code points; cf. Bug #24784.

	* lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
	pairs.
	(json--decode-utf-16-surrogates): New defun.

	* test/lisp/json-tests.el (test-json-read-string): Add test for
	surrogate pairs.

2017-01-01  Michael Albinus  <michael.albinus@gmx.de>

	Remove tramp-gw.el, which was synced from emacs-25 by accident

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Do not use Gnulib’s m4/wint_t.m4.

	* admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
	Fix typo so that warn-on-use.m4 is removed too.
	* configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
	* m4/wint_t.m4: Remove.

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib, continued

	* m4/wint_t.m4: New file, copied from gnulib.

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Update copyright year to 2017 in master

	Run admin/update-copyright in the master branch.  This fixes files
	that were not already fixed in the emacs-25 branch before it was
	merged here.

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Remove test/automated detritus from merge

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
	2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
	2016-12-17 getlogin: Port to newer mingw
	2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
	2016-12-17 Avoid redefinition errors on MSVC
	* lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
	* m4/stdint.m4, m4/unistd_h.m4:
	Copy from gnulib.
	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
	Plus, this commit updates the indenting on copyright notices to
	match that of gnulib.

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	2e2a806 Fix copyright years by hand
	5badc81 Update copyright year to 2017

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	665be69 ; Update ChangeLog.2 and AUTHORS files

	# Conflicts:
	#	etc/AUTHORS

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	697167b ; Improve wording of previous change in variables.texi
	d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
	8b71826 Don't modify minibuffer variables globally
	5b5e036 Revert to pre-25.1 behavior in ffap
	19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
	3ace730 Attempt to fix 64-bit AIX build
	f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
	c04ac8a Document that variable binding order is unspecified
	272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
	08de101 Fix M-x hints on Mac port
	86a297a Work around reporting a dpi change in apply_xft_settings
	cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
	9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
	88cdf14 Improve skeleton docstrings

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	4179238 Improve documentation of 'w32-scroll-lock-modifier'

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	9adb101 Document 'describe-fontset'
	229315c ; Add missing symbol quoting.
	3d94931 Repair desktop restoration on text terminals
	43022f9 Ignore forward-sexp-function in js-mode indentation code
	b19fb49 Improve documentation of 'define-coding-system'
	467768f Fix Bug#25162
	6db78ae Fix a typo in define-abbrev-table
	5f7d906 Bump makeinfo requirement from 4.7 to 4.13
	442e2f6 Fixes related to select-enable-clipboard
	e4ac450 Define struct predicate before acccesors
	08decbd Doc fix for vc-git
	5531e75 Further improve make-dist checking
	953bf67 Improve previous make-dist change
	129645a Make make-dist --snapshot do some sanity checks

	# Conflicts:
	#	lisp/menu-bar.el

2017-01-01  Alan Mackenzie  <acm@muc.de>

	Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.

	* lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
	from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.

	* lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
	t to (&rest def-form).

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix copyright years by hand

	These are dates that admin/update-copyright did not update, or
	updated incorrectly.

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	Update copyright year to 2017

	Run admin/update-copyright.

2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	Clarify internal_catch etc.

	The recent change to internal_catch and friends relied on some
	confusion I introduced to the code in 2013.  Attempt to fix
	the confusion by clarifying the code instead.  This saves an
	instruction and a load dependency in the typical case.
	* src/eval.c (internal_catch, internal_condition_case)
	(internal_condition_case_1, internal_condition_case_2)
	(internal_condition_case_n): Undo the previous change.  Instead,
	use use ‘c’ rather than ‘handlerlist’ in the typical case.
	Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.

2016-12-31  Ken Brown  <kbrown@cornell.edu>

	Further improve filenotify-tests.el

	* test/lisp/filenotify-tests.el
	(file-notify--test-read-event): Adapt to file monitors of type
	GFamFileMonitor, which occur on Cygwin.
	(file-notify--test-monitor): Update doc string.

2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	* src/xdisp.c (string_from_display_spec): Simplify.

2016-12-31  Alan Third  <alan@idiocy.org>

	Rework NS event handling (bug#25265)

	* src/nsterm.m (unwind_apploopnr): Remove.
	(ns_read_socket): Remove references to apploopnr.  Make processing the
	NS event loop conditional on being in the main thread.
	(ns_select): Remove references to apploopnr.  Remove all fd_handler
	related stuff.  Check if there are events waiting on the NS event
	queue rather than running the event loop.  Remove unused variables and
	code.
	(fd_handler): Remove.
	(ns_term_init): Remove creation of fd_handler thread.
	(hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
	EmacsView:windowDidExpose): Remove send_appdefined.
	(ns_send_appdefined): Always check the event queue for
	applicationDefined events rather than relying on send_appdefined var.
	* src/nsterm.h: Remove reference to fd_handler method.

2016-12-31  Philipp Stephani  <phst@google.com>

	Checkdoc: use syntax functions instead of regex

	In checkdoc.el, get rid of the error-prone regex to find definition
	forms, and use existing syntax-based navigation functions instead.
	This fixes a corner case with one-argument `defvar' forms.

	* lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
	(checkdoc-next-docstring, checkdoc-defun): Use it.
	* test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
	Add unit test.

2016-12-31  Eli Zaretskii  <eliz@gnu.org>

	Don't define NOMINMAX on MS-Windows

	* src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
	longer needed with the current sources and MinGW headers, while
	defining NOMINMAX causes an annoying compiler warning.

2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)

	Simplify code in eval.c that calls 'setjmp'

	* src/eval.c (internal_catch, internal_condition_case)
	(internal_condition_case_1, internal_condition_case_2)
	(internal_condition_case_n): Factor out the common tail of the
	functions.

2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)

	Simplify code in 'string_from_display_spec'

	* src/xdisp.c (string_from_display_spec): Eliminate a redundant
	test before the loop.

2016-12-31  Eli Zaretskii  <eliz@gnu.org>

	Serialize random number generation on MS-Windows

	* src/w32.c (rand_as183): New function.
	(random): Use it instead of MS runtime's 'rand'.  This avoids
	producing separate and identical random series in each Lisp
	thread.
	(srandom): Modify to supply 3 seed values to 'rand_as183'.

2016-12-31  Michael Albinus  <michael.albinus@gmx.de>

	* src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.

2016-12-30  Ken Raeburn  <raeburn@raeburn.org>

	Don't call xg_select for a NextStep build.

	NextStep builds use glib but don't use xg_select.

	* src/process.c (wait_reading_process_output): Don't call xg_select
	for a NextStep build.

2016-12-30  Ken Raeburn  <raeburn@raeburn.org>

	Increase the obarray size.

	In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
	the time we've started.  The old obarray size ensured an average chain
	length of 10 or more.

	* src/lread.c (OBARRAY_SIZE): Increase to 15121.

2016-12-30  Ken Raeburn  <raeburn@raeburn.org>

	Initialize thread support for Xlib.

	* src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
	before doing anything else with X.

2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>

	Rename primary_thread to main_thread

	This avoids the confusion of using two different phrases "main thread"
	and "primary thread" internally to mean the same thing.  See:
	https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
	* src/thread.c (main_thread): Rename from primary_thread,
	since the new name no longer clashes with main_thread_id
	and Emacs internals normally call this the "main thread".
	(init_main_thread): Rename from init_primary_thread.
	(main_thread_p): Rename from primary_thread_p.
	All uses changed.

2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>

	Rename main_thread to main_thread_id and simplify

	* src/emacs-module.c: Include syssignal.h, for main_thread_id.
	[HAVE_PTHREAD]: Do not include pthread.h.
	(main_thread): Remove.  All uses replaced by main_thread_id,
	or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
	the main_thread_id established by sysdep.c, there is no need for a
	separate copy of the main thread ID here.
	(module_init): Remove.  All uses removed.
	* src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
	Rename from main_thread.  All uses changed.  Now extern.

2016-12-30  Michael Albinus  <michael.albinus@gmx.de>

	* src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.

2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>

	* src/sysdep.c (deliver_process_signal): Improve comment.

2016-12-30  Alan Mackenzie  <acm@muc.de>

	CC Mode: Fix the fontification of a spuriously recognized enum member.

	The "enum" was in an argument list, but triggered the fontification of a
	following identifier in the function block as though it were in an enum
	declaration.

	* lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
	(c-basic-matchers-after): Replace the inline stanza for enum elements with a
	call to c-font-lock-enum-body.

	* lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
	variable.

2016-12-30  Nicolas Petton  <nicolas@petton.fr>

	Bump Emacs version to 25.1.91

	* README:
	* configure.ac:
	* msdos/sed2v2.inp:
	* nt/README.W32: Bump Emacs version.
	* lisp/ldefs-boot.el: Update.

2016-12-30  Eli Zaretskii  <eliz@gnu.org>

	Attempt to fix crashes with threads in GTK builds

	* src/xgselect.c (xg_select): Call pselect via thread_select, not
	directly, to avoid running Lisp (via unblock_input) when more than
	one thread could be running.  (Bug#25247)
	* src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
	xg_select directly instead of through thread_select.
	* src/xgselect.h (xg_select): Last 2 arguments are no longer
	'const', for consistency with thread_select.

2016-12-30  Arash Esbati  <arash.esbati@gmail.com>

	Add entry for biblatex

	* lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
	entry for biblatex macros.

2016-12-30  Alan Mackenzie  <acm@muc.de>

	Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.

	The ambiguity was whether INITVALUE is evaluated when it's not going to be
	used to set SYMBOL's value.

	* src/eval.c (defvar): Rewrite a paragraph of the doc string.

	(cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)

2016-12-30  Tino Calancha  <tino.calancha@gmail.com>

	ffap-string-at-point: Limit max length of active region

	Prevents that 'ffap-guesser' waste time checking large strings
	which are likely not valid candidates (Bug#25243).
	* lisp/ffap.el (ffap-max-region-length): New variable.
	(ffap-string-at-point): Use it.
	* test/lisp/ffap-tests.el: New test suite.
	(ffap-tests-25243): Add test for this bug.

2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>

	last-chance: Also ignore NEWS files + typo fixes

	* admin/last-chance.el: Fix typo in copyright notice.
	(last-chance-uninteresting-regexps): Add entry to match NEWS files.
	(last-chance-cleanup): Fix typo in docstring.

2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>

	* lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.

2016-12-29  Alan Mackenzie  <acm@muc.de>

	Remove an ambiguity from defvar's doc string.  Fixes bug #25292.

	The ambiguity was whether INITVALUE is evaluated when it's not going to be
	used to set SYMBOL's value.

	* src/eval.c (defvar): Rewrite a paragraph of the doc string.

2016-12-29  Michael Albinus  <michael.albinus@gmx.de>

	Improve filenotify-tests.el

	* src/inotify.c (Finotify_valid_p):
	* src/kqueue.c (Fkqueue_valid_p):
	* src/w32notify.c (Fw32notify_valid_p):
	* src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
	(Fgfile_monitor_name): New defun.
	(syms_of_gfilenotify): Declare Sgfile_monitor_name.

	* test/lisp/filenotify-tests.el	(file-notify--test-read-event):
	New defun, derived from `file-notify--test-read-event-timeout'.
	Replace all calls of `read-event' by this.
	(file-notify--test-timeout): Fix docstring.
	(file-notify--test-monitor): New defun.
	(file-notify--deftest-remote): Do not bind
	`file-notify--test-read-event-timeout' anymore.
	(file-notify-test00-availability): Print also monitor, if existent.
	(file-notify--test-with-events): Add an additional
	`file-notify--test-read-event' call, in order to get it work
	after `file-notify-add-watch'.  Remove special timeout for cygwin.
	(file-notify-test02-events): Make a better check for cygwin.
	(file-notify-test06-many-events): Improve event list for cygwin.
	(file-notify-test08-watched-file-in-watched-dir): Add cygwin case.

2016-12-29  Alan Mackenzie  <acm@muc.de>

	Partially correct fontification of "(b*3)", and the like, in C++ Mode

	This problem is caused by the fundamental ambiguity in C++ between
	argument declarations and initialization clauses.

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
	paren preceded by an arithmetic operator, we give this the context nil, not
	'arglist.

	* lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
	New lang consts and vars.

2016-12-29  Alan Mackenzie  <acm@muc.de>

	Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.

	This is because there are times when this variable is changed by setcar before
	an atom is pushed onto it by debug-enter.  This happens, for example, whilst
	instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.

	* lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).

2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)

	(inline--dont-quote): Quote the function with #' when passing it to `apply'.
	Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.

2016-12-27  Michael Albinus  <michael.albinus@gmx.de>

	Release Tramp 2.3.1

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.3.1".

	* lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
	`eshell-mode-hook' but `eshell-first-time-mode-hook'.

	* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
	(tramp-compat-file-name-quote)
	(tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.

2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify prog1 implementation

	Inspired by a suggestion from Chris Gregory in:
	https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
	On my platform, this generates exactly the same machine insns.
	* src/eval.c (prog_ignore): Rename from unwind_body, since
	it’s more general than that.  All callers changed.
	(Fprog1): Simplify by using prog_ignore.
	(Fwhile): Clarify by using prog_ignore.

2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)

	(inline--dont-quote): Quote the function with #' when passing it to `apply'.

2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>

	Remove a use of lexical-let

	* lisp/gnus/message.el (message-completion-function): Just use let,
	since the file now uses lexical-binding.

2016-12-27  Ken Brown  <kbrown@cornell.edu>

	Improve filenotify-tests.el on Cygwin (Bug #21804)

	* test/lisp/filenotify-tests.el [CYGWIN]
	(file-notify--test-read-event-timeout): Increase.
	(file-notify--test-with-events): Add delay before executing body.
	(file-notify-test02-events, file-notify-test04-file-validity):
	Adjust expected results.

2016-12-27  Eli Zaretskii  <eliz@gnu.org>

	Fix expand-file-name on DOS_NT systems when /: escaping is used

	* src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
	file names escaped by "/:".  Don't recursively expand
	default-directory escaped with "/:" which is not followed by a
	drive spec.  (Bug#25183)

2016-12-27  Bake Timmons  <65pandas@gmail.com>

	Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)

	* doc/misc/gnus.texi (Mail Source Specifiers):
	Replace wrong `mail-sources' value of `(group)' in Gnus manual with
	the correct `((group))' value.  (bug#25275) (tiny change)

2016-12-27  Bake Timmons  <65pandas@gmail.com>

	Fix bug in customizing `mail-sources' variable (bug#25274)

	* lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
	for lone argument. (bug#25274) (tiny change)

2016-12-26  Philipp Stephani  <phst@google.com>

	Checkdoc: Don't require a space before an arg list

	See Bug#24998.

	* lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
	space before a argument list.
	* test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
	Add unit test.

2016-12-26  Eli Zaretskii  <eliz@gnu.org>

	Document 'default-toplevel-value' and 'set-default-toplevel-value'

	* doc/lispref/variables.texi (Default Value): Document
	'default-toplevel-value' and 'set-default-toplevel-value'.

2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)

	Add zshrc and zshenv detection to sh-mode (bug#25217)

	* lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match

2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	Fix typo in lisp.h reordering patch

	* src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
	Reported by Eli Zaretskii (Bug#25128#19).

2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	regex.h now includes sys/types.h

	* src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
	Do not include sys/types.h; no longer needed.
	* src/regex.h: Include <sys/types.h>, as that's what Gnulib and
	glibc regex.h does, and POSIX has blessed this since 2008.

2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	Reorder lisp.h to declare types before using them

	This puts basic functions for types to be after the corresponding
	type definitions.  This is a more-common programming style in C,
	and will make it easier to port Emacs to gcc
	-fcheck-pointer-bounds, since the functions now have access to the
	corresponding types' sizes.  This patch does not change the code;
	it just moves declarations and definitions and removes
	no-longer-needed forward declarations (Bug#25128).
	* src/buffer.c, src/data.c, src/image.c:
	Include process.h, for PROCESSP.
	* src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
	* src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
	* src/termhooks.h (TERMINALP, XTERMINAL):
	* src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
	* src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
	(XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
	Move here from lisp.h.
	* src/intervals.h: Include buffer.h, for BUFFERP.
	Include lisp.h, for Lisp_Object.
	* src/lisp.h: Reorder declarations and definitions as described
	above.  Move thread includes to be later, so that they can use the
	reordered definitions.  Move some symbols to other headers (noted
	elsewhere).  Remove forward decls that are no longer needed.
	* src/thread.h: Include systhread.h here, not in lisp.h,
	since lisp.h itself does not need systhread.h.

2016-12-25  Leo Liu  <sdl.web@gmail.com>

	Don't modify minibuffer variables globally

	* lisp/files.el (cd): Use setq-local instead.  (Bug#25260)

2016-12-25  Dima Kogan  <dima@secretsauce.net>

	diff-mode auto-refines only after a successful motion

	Prior to this patch (if enabled) auto-refinement would kick in after all
	hunk navigation commands, even if the motion failed.  This would result
	in a situation where the hunk navigation would signal an error and beep,
	but yet still accomplish potentially useful work, by auto-refining.
	This patch moves the auto-refinement code to only run when a motion was
	successful

	* lisp/vc/diff-mode.el (diff--internal-hunk-next,
	  diff--internal-hunk-prev): Removed auto-refinement-triggering code
	* lisp/vc/diff-mode.el (diff--wrap-navigation): Added
	  auto-refinement-triggering code

2016-12-25  Dima Kogan  <dima@secretsauce.net>

	diff-mode is able to better handle file headers

	This fixes a regression introduced in

	  https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085

	This bug was filed in

	  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105

	Patches generated from a VCS such as git contain a patch message at the
	start, and diff-mode is now once-again able to properly able to ignore
	this message when issuing navigation commands around the message.

	* lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
	  thoroughly ignore the header when looking for a beginning of file
	  diffs.

2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	Use libpng-config --ldflags, not --libs

	Problem reported by James K. Lowden (Bug#25268).
	* configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.

2016-12-24  Eli Zaretskii  <eliz@gnu.org>

	Revert to pre-25.1 behavior in ffap

	* lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
	the same behavior as in Emacs 24.x.  (Bug#25264)
	Explain the trade-offs of customizing this in the doc string.

2016-12-24  Noam Postavsky  <npostavs@gmail.com>

	* lisp/ffap.el: Fix obsolete comment referencing ffap-bug.

2016-12-24  Noam Postavsky  <npostavs@gmail.com>

	Remove redundant `save-match-data' in whitespace.el

	* lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
	(whitespace-report-region): Remove redundant `save-match-data' calls.

2016-12-24  Noam Postavsky  <npostavs@gmail.com>

	Fix whitespace eob cleanup

	* lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
	of empty lines at end of buffer.
	* test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
	(whitespace-tests--cleanup-string): New helper function for tests.

2016-12-24  Hong Xu  <hong@topbug.net>

	Fix timezone detection of parse-iso8601-time-string

	* lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
	parsing.  Add a doc string.  (Bug#25086)
	* src/editfns.c (Fdecode-time): Doc fix.
	* doc/misc/emacs-mime.texi (time-date): Add an example for
	parse-iso8601-time-string.
	* test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
	tests for parse-iso8601-time-string.

2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify exec_byte_code via moving decls etc.

	* src/bytecode.c (exec_byte_code): Simplify, mostly by moving
	initializers into decls, and by omitting some unnecessary changes
	to ‘top’.

2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	Remove interpreter’s byte stack

	This improves performance overall on my benchmark on x86-64,
	since the interpreted program-counter resides in a machine
	register rather than in RAM.
	* etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
	is no longer a byte stack to decode.
	* src/bytecode.c (struct byte_stack, byte_stack_list)
	(relocate_byte_stack): Remove.  All uses removed.
	(FETCH): Simplify now that pc is now local (typically, in a
	register) and no longer needs to be relocated.
	(CHECK_RANGE): Remove.  All uses now done inline, in a different way.
	(BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
	(exec_byte_code): Allocate a copy of the function’s bytecode,
	so that there is no problem if GC moves it.
	* src/lisp.h (struct handler): Remove byte_stack member.
	All uses removed.
	* src/thread.c (unmark_threads): Remove.  All uses removed.
	* src/thread.h (struct thread_state): Remove m_byte_stack_list member.
	All uses removed.  m_stack_bottom is now the first non-Lisp field.

2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	BYTE_CODE_SAFE typo fix

	* src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
	not on whether it is defined.

2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	BYTE_CODE_SAFE cleanups

	* src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
	(struct byte_stack) [BYTE_MAINTAIN_TOP]:
	Remove unused members ‘top’ and ‘bottom’.
	(exec_byte_code): Nest inside { } to avoid GCC warning about
	jumping over declaration when compiled with -DBYTE_CODE_SAFE.

2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>

	last-chance: new utility lib for dangling deterrence

	* admin/last-chance.el: New file.

2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	Use max_align_t instead of void *

	* src/thread.c (run_thread): Don’t assume void * is aligned enough.

2016-12-23  Eli Zaretskii  <eliz@gnu.org>

	Attempt to fix 64-bit AIX build

	* src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
	type-casts that assumed 32-bit pointers.  (Bug#25141)

2016-12-23  Philipp Stephani  <phst@google.com>

	Clarify usage of 'ediff-cleanup-hook' (Bug#24675)

	* doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'

2016-12-23  Philipp Stephani  <phst@google.com>

	Document that variable binding order is unspecified

	* doc/lispref/variables.texi (Local Variables):
	* doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
	'cl-letf' is unspecified.

2016-12-23  Eli Zaretskii  <eliz@gnu.org>

	Prevent infloops in redisplay due to truncate-lines and overlays

	* src/xdisp.c (hscroll_window_tree): Avoid inflooping in
	redisplay_window when a screen line ends in an overlay string with
	a newline.  (Bug#25246)

2016-12-23  Philipp Stephani  <phst@google.com>

	Treat incomplete integer literals as errors

	See Bug#25120.

	* src/lread.c (read_integer): Treat incomplete integer literals as errors.
	* test/src/lread-tests.el (lread-empty-int-literal): New unit test for
	incomplete integer literals.

2016-12-23  Eli Zaretskii  <eliz@gnu.org>

	* lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.

2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>

	Fix M-x hints on Mac port

	* lisp/simple.el (execute-extended-command--shorter): Call
	input-pending-p to trigger input processing on some systems, such
	as Mac port.  (Bug#23002)

2016-12-23  Michael Albinus  <michael.albinus@gmx.de>

	* test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.

2016-12-23  Eli Zaretskii  <eliz@gnu.org>

	Avoid aborts due to unaligned byte stack of threads

	* src/thread.c (run_thread): Make sure the pointers to thread byte
	stack are properly aligned.  (Bug#25247)

2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify --enable-gcc-warnings

	* src/charset.c (load_charset_map):
	* src/coding.c (decode_coding_object):
	* src/frame.c (make_frame):
	* src/window.c (Frecenter):
	Mark locals with UNINIT to silence false alarms from
	-Wmaybe-uninitialized.
	* src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
	(SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
	Check and assume that values are nonnull.  This pacifies
	-Wmaybe-uninitialized in Fmake_variable_buffer_local and
	Fmake_local_variable.

2016-12-22  Eli Zaretskii  <eliz@gnu.org>

	Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS

	* src/thread.c (primary_thread_p): New function.
	* src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
	meant for thread objects allocated dynamically.
	* src/thread.h (primary_thread_p): Add prototype.

2016-12-22  Martin Rudalics  <rudalics@gmx.at>

	Work around reporting a dpi change in apply_xft_settings

	* src/xsettings.c (apply_xft_settings): Don't report a change
	when dpi settings do not differ substantially.

2016-12-22  Noam Postavsky  <npostavs@gmail.com>

	Use completion-at-point in verilog-mode

	There were some functions in verilog-mode that implemented in-buffer
	completion, but this needlessly duplicates completion-at-point
	functionality, and the popup window management had problems
	(see Bug #23842).  We need to keep them for backwards compatibility with
	older emacs versions, but use completion-at-point if available.

	* lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
	obsolete if completion-cycle-threshold is available.
	(verilog-mode-map, verilog-menu): Bind completion-at-point and
	completion-help-at-point in preference to verilog-complete-word and
	verilog-show-completions, respectively.
	(verilog-mode): Add verilog-completion-at-point to
	completion-at-point-functions.
	(verilog-completion-at-point): New function.
	(verilog-show-completions, verilog-complete-word): Use it to avoid code
	duplication.

2016-12-21  Reuben Thomas  <rrt@sc3d.org>

	Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries

	* lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
	override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
	retain their hardwired values, and all other dictionaries are given
	sensible defaults.

2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
	and xetex commands.

2016-12-21  Eli Zaretskii  <eliz@gnu.org>

	Fix aborts in GC under GC_CHECK_MARKED_OBJECTS

	* src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
	for thread objects.  They are marked via the all_threads list, and
	therefore don't need to be inserted into the red-black tree, so
	mem_find will never find them.  Reported by Daniel Colascione
	<dancol@dancol.org> in
	https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.

2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/data.c (Fmake_variable_frame_local): Remove

	* src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.

	* src/data.c (swap_in_symval_forwarding, set_internal)
	(set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
	(Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
	Don't pay attention to ->frame_local any more.
	(syms_of_data): Remove Qtrapping_frame_local and don't defsubr
	Smake_variable_frame_local.

	* etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
	of make-variable-frame-local.

	* lisp/help-fns.el (describe-variable): Don't handle the now impossible
	frame-local case.

	* lisp/subr.el (make-variable-frame-local): Remove obsolescence data.

	* src/frame.c (store_frame_param):
	* src/eval.c (specbind): Don't pay attention to ->frame_local any more.

	* src/widget.c (first_frame_p): Remove, unused.

2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>

	Port dumping better to WSL

	Problem reported by Angelo Graziosi in:
	https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
	* src/sysdep.c (disable_address_randomization):
	Detect buggy platforms where 'personality' always returns 0.

2016-12-21  Michael Albinus  <michael.albinus@gmx.de>

	Remove gateway methods in Tramp

	* doc/misc/tramp.texi (Top, Configuration): Remove section
	`Gateway methods', insert section `Firewalls' in menu.
	(History): Gateways are removed now.
	(Gateway methods): Remove section.
	(Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
	(Firewalls): New section.

	* etc/NEWS: Gateway methods in Tramp have been removed.

	* lisp/net/tramp.el (tramp-methods): Adapt docstring.
	(tramp-file-name-port, tramp-accept-process-output): Simplify.

	* lisp/net/tramp-gw.el: Remove.

	* lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
	(tramp-gw-socks-method): Remove declarations.
	(tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
	Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
	(tramp-do-copy-or-rename-file-out-of-band)
	(tramp-compute-multi-hops, tramp-maybe-open-connection):
	Remove gateway support.

	* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
	Remove gateway tests.

2016-12-20  Alan Mackenzie  <acm@muc.de>

	Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.

	lisp/progmodes/cc-defs.el: Amend the version number.
	etc/NEWS: Add an item explaining the change.

2016-12-20  Tino Calancha  <tino.calancha@gmail.com>

	files-test-read-file-in-: Delete temporary dir on exit

	* test/lisp/files-tests.el (files-test-read-file-in-~):
	Create subdir inside dir.

2016-12-20  Christopher Genovese  <genovese@cmu.edu>

	ibuffer: New filters and commands

	Add several new filters and improve documentation.
	See discussion on:
	https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
	* lisp/ibuf-ext.el: Add paragraph to file commentary.
	(ibuffer-saved-filters, ibuffer-filtering-qualifiers)
	(ibuffer-filter-groups): Update doc string.
	(ibuffer-unary-operand): Add new function that transparently
	handles 'not' formats for compound filters.
	(ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
	(ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
	(ibuffer-decompose-filter): Handle 'and' as well,
	and handle 'not' consistently with other uses.
	(ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
	(ibuffer--or-and-filter): New defun.
	(ibuffer-or-filter, ibuffer-and-filter): Use it.
	(ibuffer-format-qualifier): Handle 'and' filters as well.
	(ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
	(ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
	(ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
	Add new pre-defined filters.
	(ibuffer-filter-chosen-by-completion): Add new interactive command
	for easily choosing a filter from the descriptions.
	* lisp/ibuffer.el (ibuffer-mode-map):
	Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
	ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
	ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
	respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
	'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
	'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
	and '/ DEL' respectively.
	* test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
	skip specification.
	Add menu entries for the new filters.
	(ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
	ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
	ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
	ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
	ibuffer-decompose-filter, ibuffer-and-filter
	ibuffer-or-filter): Add new tests; they are skipped unless
	ibuf-ext is loaded.

2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>

	Update NEWS

	* etc/NEWS (Image-Dired): New section.

2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>

	Recognize graphicsmagick in image-dired

	* lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
	(image-dired-cmd-create-thumbnail-options):
	(image-dired-cmd-create-temp-image-program):
	(image-dired-cmd-create-temp-image-options):
	(image-dired-cmd-create-standard-thumbnail-options):
	(image-dired-cmd-rotate-thumbnail-program):
	(image-dired-cmd-rotate-thumbnail-options): Account for existence of
	gm(1) executable.

2016-12-20  Noam Postavsky  <npostavs@gmail.com>

	Improve skeleton docstrings

	* lisp/skeleton.el (skeleton-end-newline): Remove mention of
	`skeleton-end-hook', its default code was moved into `skeleton-insert'.
	(skeleton-insert): Mention `skeleton-end-newline' and move reference to
	`skeleton-end-hook' above the explanation of skeleton syntax.

2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>

	Implement asynchronous thumbnail generation in image-dired

	Additionally, all FOO-options defcustoms that were in fact shell command
	strings have been converted to argument lists.  Another method for
	shrinking PNG thumbs with optipng(1) has been added.
	* lisp/image-dired.el: Remove TODO item in commentary.
	(image-dired-cmd-create-thumbnail-options):
	(image-dired-cmd-create-temp-image-options):
	(image-dired-cmd-rotate-thumbnail-options):
	(image-dired-cmd-rotate-original-options):
	(image-dired-cmd-write-exif-data-options):
	(image-dired-cmd-read-exif-data-options): Convert to argument lists.
	(image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
	Change string type to file.
	(image-dired-cmd-create-standard-thumbnail-command): Remove.
	(image-dired-cmd-pngnq-options):
	(image-dired-cmd-create-standard-thumbnail-options):
	(image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
	New defcustoms.
	(image-dired-queue, image-dired-queue-active-jobs):
	(image-dired-queue-active-limit): New variables.
	(image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
	(image-dired-optipng-thumb): New functions.
	(image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
	Use start-process instead of call-process.  Set file modes.  Trigger
	PNG file optimization in process sentinel.
	(image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
	(image-dired-display-thumbs):
	(image-dired-create-thumbs): Don't expect call-process return value.
	(image-dired-display-image, image-dired-rotate-thumbnail): Use
	start-process instead of call-process.
	(image-dired-rotate-original, image-dired-set-exif-data):
	(image-dired-get-exif-data): Adapt to arguments being an arg list.

2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>

	Protect change of window's buffer in vertical-motion against unwinds (bug#25209)

	* src/indent.c (restore_window_buffer): New function.
	(Fvertical_motion): Use it to restore window's buffer.

2016-12-19  Glenn Morris  <rgm@gnu.org>

	Improve default load-path for uninstalled CANNOT_DUMP builds

	* src/lread.c (load_path_default) [CANNOT_DUMP]:
	Use build load-path if we seem to be running uninstalled.  (Bug#24974)
	I think this became an issue several years ago when we stopped
	using EMACSLOADPATH in the Makefiles; however this change should
	improve the CANNOT_DUMP uninstalled case in general.

2016-12-19  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'w32-scroll-lock-modifier'

	* doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
	w32-scroll-lock-modifier so that Scroll Lock toggles the LED.

	* src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
	fix.  (Bug#25204)

2016-12-19  Eli Zaretskii  <eliz@gnu.org>

	Document 'describe-fontset'

	* doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
	(Bug#25216)

2016-12-19  Eli Zaretskii  <eliz@gnu.org>

	Document 'describe-fontset'

	* doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
	(Bug#25216)

2016-12-19  Eli Zaretskii  <eliz@gnu.org>

	Fix crashes upon C-g on Posix TTY frames

	* src/thread.h (struct thread_state): New member not_holding_lock.
	(maybe_reacquire_global_lock): Add prototype.
	* src/thread.c: Include syssignal.h.
	(maybe_reacquire_global_lock): New function.
	(really_call_select): Set the not_holding_lock member of the
	thread state before releasing the lock, and rest it after
	re-acquiring the lock when the select function returns.  Block
	SIGINT while doing this to make sure we are not interrupted on TTY
	frames.
	* src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
	functions.
	* src/syssignal.h (block_interrupt_signal, restore_signal_mask):
	Add prototypes.
	* src/keyboard.c (read_char) [THREADS_ENABLED]: Call
	maybe_reacquire_global_lock.  (Bug#25178)

2016-12-19  Sam Steingold  <sds@gnu.org>

	avoid Eager macro-expansion failure: (void-function string-to-list)

	* lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
	  in "mule-util", so we have to load "mule-util" before "ucs-normalize",
	  otherwise I get "Eager macro-expansion failure" on "make bootstrap"

2016-12-19  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#24980

	* lisp/ido.el (ido-add-virtual-buffers-to-list):
	Suppress Tramp invocation.  (Bug#24980)

2016-12-18  Philipp Stephani  <phst@google.com>

	Add a new compile error regexp for Clang includes

	Clang uses a slight variation of GCC's include format, causing includes
	to be treated as warnings instead of informational messages.  Use a new
	regular expression instead.

	* lisp/progmodes/compile.el
	(compilation-error-regexp-alist-alist): New element
	`clang-include' for Clang-style "included from" lines.
	* test/lisp/progmodes/compile-tests.el
	(compile-tests--test-regexps-data): Add unit test.

2016-12-18  Alan Third  <alan@idiocy.org>

	Reinstate ispell character offset (bug#25219)

	* lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
	ispell-offset used to be.

2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>

	Bind new image-mode scroll commands in image-dired

	* lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
	to new image-mode commands.

2016-12-18  Noam Postavsky  <npostavs@gmail.com>

	Fix rx-any with range with ?\] and ?-

	* lisp/emacs-lisp/rx.el: Make sure not to produce a circular
	list (Bug#25123).
	* test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.

2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>

	Use floor of mtime instead of rounding for thumb property

	This seems to be the correct thing to do, at least more in line with
	what at least one other implementation does.  Anything using
	gnome-desktop [0] effectively does the same, as
	gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
	comparison and time_t on GNU/Linux is a signed int.
	[0] https://git.gnome.org/browse/gnome-desktop/
	* lisp/image-dired.el (image-dired-create-thumb): Use floor here.

2016-12-17  Reuben Thomas  <rrt@sc3d.org>

	Fix spelling mistake in private defun name (Bug#25218)

	lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
	`flyspell-adjust-cursor-point'.

2016-12-17  Reuben Thomas  <rrt@sc3d.org>

	Remove XEmacs support from flyspell.el (Bug#25218)

	lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
	(flyspell-word, flyspell-delete-region-overlays):
	(flyspell-correct-word-before-point): Remove XEmacs support.
	(flyspell-xemacs-popup): Remove XEmacs-specific defun.

2016-12-17  Michael Albinus  <michael.albinus@gmx.de>

	More tests for Tramp

	* lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
	file names.

	* lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
	name properly.

	* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
	Mark quoted file name as absolute.  (Bug#25183)
	(tramp--test-windows-nt-and-batch)
	(tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
	(tramp--test-windows-nt-or-smb-p): Rename from
	`tramp--test-smb-windows-nt-p'.  Adapt callees.
	(tramp--test-check-files): Improve checks for environment variables.
	(tramp-test33-special-characters)
	(tramp-test33-special-characters-with-stat)
	(tramp-test33-special-characters-with-perl)
	(tramp-test33-special-characters-with-ls, tramp-test34-utf8)
	(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
	(tramp-test34-utf8-with-ls): Add more checks for skip.

2016-12-17  Eli Zaretskii  <eliz@gnu.org>

	Fix comments

	* src/thread.h (struct thread_state): Fix comments.
	* src/process.c (wait_reading_process_output): Fix a typo in
	commentary.

2016-12-17  Eli Zaretskii  <eliz@gnu.org>

	Repair desktop restoration on text terminals

	* lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
	frame here, instead of in desktop-restoring-frameset.  That's
	because desktop-read wants to know whether frameset will actually
	be restored, and has fallback procedures up its sleeve when it
	won't be; these fallbacks need to be invoked when the frameset is
	not going to be restored.  (Bug#24298)

2016-12-17  Eli Zaretskii  <eliz@gnu.org>

	Fix crashes on MS-Windows during dumping

	* src/unexw32.c (get_section_info): Make extra_bss_size be the
	maximum of extra_bss_size and extra_bss_size_static.  This avoids
	computing the size of the output file smaller than it actually
	needs to be, which then causes copy_executable_and_dump_data to
	write beyond the requested size of the file mapping, thus relying
	on the OS roundup to page boundary to save us from ourselves.  See
	https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
	for the details.

	* lib/stdio-impl.h: Revert the workaround fix of not including
	errno.h for MinGW.

2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>

	Ignore forward-sexp-function in js-mode indentation code

	* lisp/progmodes/js.el (js--multi-line-declaration-indentation)
	(js--maybe-goto-declaration-keyword-end):
	Bind forward-sexp-function to nil (bug#25215).

2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>

	Be more selective clearing the image cache

	* lisp/image-dired.el (image-dired-create-thumbs):
	(image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
	the current thumbnail file from the image cache.

2016-12-16  Eli Zaretskii  <eliz@gnu.org>

	Unbreak the MinGW build

	* lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
	this, temacs crashes while dumping.

2016-12-16  Nicolas Petton  <nicolas@petton.fr>

	Make seq-into return the sequence when no conversion needed

	* lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
	  no conversion is needed.
	* test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
	  a regression test checking for identity.

2016-12-16  Eli Zaretskii  <eliz@gnu.org>

	Improve documentation of 'define-coding-system'

	* lisp/international/mule.el (define-coding-system): Warn against
	possible infinite recursion in pre-write-conversion and
	post-read-conversion functions.  (Bug#25203)

2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>

	New commands image-scroll-left and image-scroll-right

	* etc/NEWS: Mention them.
	* lisp/image-mode.el (image-scroll-left, image-scroll-right): New
	functions.

2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>

	More image-dired refactoring

	* lisp/image-dired.el (image-dired-thumbnail-mode):
	(image-dired-display-image-mode): Add :group 'image-dired so
	customize-mode works.
	(image-dired-display-image): Rearrange.
	(image-dired-copy-with-exif-file-name): This map is for side effect.
	(image-dired-dired-edit-comment-and-tags): Just use #'identity.

2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/image-dired.el: Turn on lexical-binding.

2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>

	Teach image-dired to also generate large thumbs

	* lisp/image-dired.el (image-dired-thumbnail-storage): Add
	standard-large option.
	(image-dired-thumb-size): Add condition for standard-large storage.
	(image-dired-insert-thumbnail): Check for new option.  Change
	thumbnail path conditionally.
	(image-dired-thumb-size): New function.
	(image-dired-create-thumb, image-dired-line-up-dynamic): Use it.

2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
	2016-12-12 fpending: port to native Windows with MSVC
	* .gitignore: Do not ignore lib/stdio-impl.h.
	* lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
	Copy from gnulib.
	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
	* lib/stdio-impl.h:
	New file, copied from gnulib.
	* nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.

2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
	Append newline.

2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>

	Don't abuse princ and spam messages

	* lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
	(image-dired-display-thumb-properties):
	(image-dired-dired-display-properties): Nix princ.  Bind
	message-log-max to nil.

2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>

	Inherit things from special-mode and image-mode

	* lisp/image-dired.el: Require image-mode library.
	(image-dired-thumbnail-mode-map): Remove superfluous binding.
	(image-dired-display-image-mode-map): Remove superfluous binding.
	Add movement remaps from image-mode-map.
	(image-dired-thumbnail-mode): Derive from special-mode.
	(image-dired-display-image-mode): Derive from special-mode. Call
	image-mode-setup-winprops.

2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>

	Fix some image-dired customization types

	* lisp/image-dired.el (image-dired): Add info link to defgroup.
	(image-dired-dir, image-dired-gallery-dir): Set type to directory.
	(image-dired-db-file, image-dired-temp-image-file):
	(image-dired-cmd-create-thumbnail-program):
	(image-dired-cmd-create-temp-image-program):
	(image-dired-cmd-rotate-thumbnail-program):
	(image-dired-cmd-rotate-original-program):
	(image-dired-temp-rotate-image-file):
	(image-dired-cmd-write-exif-data-program):
	(image-dired-cmd-read-exif-data-program): Set type to file.
	(image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
	type at runtime, since setting image-dired-thumb-size does not
	automatically set image-dired-thumb-width and image-dired-thumb-height.

2016-12-15  Eli Zaretskii  <eliz@gnu.org>

	Prevent crashes in xg_select due to concurrency

	* src/xgselect.c (xg_select): Don't call Glib functions that use
	'context' if we failed to acquire it.  This means some other
	thread owns the context, in which case both using the context and
	calling block_input/unblock_input will step on that thread's toes
	and eventually lead to crashes.  (Bug#25172)

2016-12-15  Nicolas Petton  <nicolas@petton.fr>

	Fix circular list handling in seq-mapn

	* lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
	* test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
	  Add a regression test.

2016-12-15  Michael Albinus  <michael.albinus@gmx.de>

	Check in tramp-tests.el, that environment variables are set correctly

	* test/lisp/net/tramp-tests.el (tramp--test-check-files):
	Check also, that environment variables are set correctly.

2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)

	Protect environment variables with double quotes in Tramp

	* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
	Protect environment variables with double quotes.

2016-12-15  Tino Calancha  <tino.calancha@gmail.com>

	* lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.

2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/image-dired.el (image-dired-create-thumb): Create parent directories.

2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/image-mode.el (image-mode-winprops-alist): Add docstring.

2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>

	Recognize pngnq or pngnq-s9

	* lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
	pngnq-s9 as a possible executable.

2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>

	Update standard image-dired thumbnail location

	* lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
	standard: consider XDG_CACHE_HOME, falling back on ~/.cache.

2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>

	Reset window scroll when displaying an image

	When viewing a large image full size and scrolling, for instance, to
	the lower right corner, then selecting a much smaller image in the
	thumbnail buffer, the window stays scrolled so the new image is out of
	the window.  One must scroll back to the "origin" to view the new
	displayed image, or just kill the image-dired-display-image buffer and
	try again.  This fixes the issue.
	* lisp/image-dired.el (image-dired-display-window-width):
	(image-dired-display-window-height): Operate on a window as argument.
	(image-dired-display-image): Bind (image-dired-display-window) and use
	it. Set window vscroll and hscroll to zero when refreshing the
	buffer's contents.

2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>

	More image-dired polish

	* lisp/image-dired.el (image-dired-file-name-at-point): New function.
	(image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
	undo list. Add image-dired-file-name-at-point to
	file-name-at-point-functions to facilitate find-file and friends.
	(image-dired-thumbnail-display-external):
	(image-dired-dired-display-external): Use start-process instead, to
	avoid needlessly blocking and using a shell.

2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>

	Replace ldefs-boot with a much smaller file

	 * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
	   (bootstrap): Depend on bootstrap-build.
	 * admin/ldefs-clean.el: New file.
	 * lisp/Makefile.in (compile-first): Depend on loaddefs.el
	 * lisp/ldefs-boot.el: Remove.
	 * lisp/ldefs-boot-auto.el: New file.
	 * lisp/ldefs-boot-manual.el: New file.
	 * lisp/loadup.el: Load ldefs-boot-manual.el.
	 * src/emacs.c (generating_ldefs_boot): New variable.
	   (main): Check whether we are generating ldefs.
	 * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
	   requested.
	 * src/lisp.h (generating_ldefs_boot): New variable.
	 * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
	   lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
	   lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
	   ldefs-boot.
	 * admin/update_autogen: Alter mechanism for ldefs-boot generation.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove support for aspell < 0.60 (from 2004)

	lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
	(ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Minor docstring and comment fixes to ispell.el

	lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
	ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
	(ispell-set-spellchecker-params): Change double-single quotes to
	single single quotes in comment.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove unused variable

	* lisp/textmodes/ispell.el (current-ispell-directory): Remove.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove XEmacs-specific ispell-with-no-warnings

	* lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
	defmacro, needed only for XEmacs.
	(ispell-command-loop, ispell-message): Use with-no-warnings directly.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove meaningless defconst ispell-version

	* lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
	firmly part of Emacs, and the version hasn’t changed since 2003, and
	isn’t used anywhere, remove it.  3rd-party code can better use the
	Emacs version, or feature or function checks.
	(ispell-check-version): No longer report ispell.el version.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove boundp test for always-bound symbol

	* lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
	defvar’d at the top of the file, so remove a test to see if it is
	bound.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove support for ispell < 3.1.12

	* lisp/textmodes/ispell.el (ispell-offset): Remove.
	(ispell-check-version): Require ispell >= 3.1.12, released in 1994.
	(ispell-process-line): No longer use ispell-offset.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove unused constant

	* lisp/textmodes/ispell.el (ispell-required-version): Remove.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove support for old versions of supercite and GNUS from ispell.el

	* lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
	and GNUS >= 5.  Not exactly the bleeding edge!

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove remaining mentions of XEmacs from ispell.el

	* lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
	(ispell-add-per-file-word-list): Remove mentions of XEmacs from
	comments.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove XEmacs-specific minibuffer handling code from ispell.el

	* lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
	XEmacs.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove XEmacs-specific horizontal scrollbar handling in ispell.el

	* lisp/textmodes/ispell.el (ispell-command-loop): Remove
	XEmacs-specific code.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove XEmacs-specific code dealing with enable-multibyte-characters

	* lisp/textmodes/ispell.el (ispell-decode-string):
	(ispell-init-process):  Remove XEmacs-specific guard.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove XEmacs-specific code from ispell.el

	* lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
	(ispell-menu-map-needed): Remove XEmacs-specific check.
	(ispell-word): Remove XEmacs-specific extent code.
	(ispell-init-process): Remove XEmacs workaround for local add-hook.
	Assume we have set-process-query-on-exit-flag.
	(ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
	workaround for called-interactively-p.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove some commented-out code

	lisp/textmodes/ispell.el (ispell-process)
	ispell-valid-dictionary-list): Remove commented-out code.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove XEmacs and old Emacs highlighting code

	* lisp/textmodes/ispell.el
	(ispell-highlight-spelling-error-xemacs): Remove.
	(ispell-highlight-spelling-error): Assume display-color-p exists.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Assume Emacs supports [:alpha:] in regexps

	* lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
	(ispell-set-spellchecker-params): Remove tests of
	ispell-emacs-alpha-regexp.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove some XEmacs-specific code from ispell.el

	* lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
	(ispell-int-char): Remove.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Generalize over-specific documentation

	* lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
	document precise personal wordlist filenames for only two supported
	spelling checkers, simply say that the default personal dictionary
	depends on the chosen spelling checker.  The user can check the
	spelling checker’s documentation if necessary.  This is simpler, and
	works for other supported (and future, or unknown) spelling checkers.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove tests for built-in functions

	* lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
	back-up definition.
	(ispell-add-per-file-word-list): Remove tests for comment-padright and
	comment-normalize-vars.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove unused ispell-looking-back

	* lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Assume we have version<= for checking ispell version

	* lisp/textmodes/ispell.el (ispell-check-minver): Remove.
	(ispell-check-version): Use version<= directly.

2016-12-13  Reuben Thomas  <rrt@sc3d.org>

	Remove ispell.el pre-GNU Emacs comments

	* lisp/textmodes/ispell.el (Commentary): Remove original maintainer
	  details, as Emacs version, bug report address and so forth should be
	  used instead for this version.  Remove in-line change history; use
	  git instead.

2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>

	More small fixes for image-dired

	* lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
	node.
	(image-dired--with-db-file): Add declare forms.
	(image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
	run through the whole list.

2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>

	Remove image-dired-kill-buffer-and-window

	This breaks window layout, especially when quitting a
	image-dired-display-image-mode buffer.
	* lisp/image-dired.el (image-dired-thumbnail-mode-map):
	(image-dired-display-image-mode-map): Replace in keymap and menu items
	bindings to image-dired-kill-buffer-and-window with quit-window.
	(image-dired-kill-buffer-and-window): Remove.

2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>

	Replace image-dired-setup-dired-keybindings with a minor mode

	* lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
	remove mention of nonexistent image-dired-dired and to refer to the
	new minor mode.
	(image-dired-minor-mode-map): New keymap assimilated from
	image-dired-setup-dired-keybindings.  In the future, the keymap parent
	should be removed, and perhaps also the duplicate bindings that
	already exist in dired-mode-map.
	(image-dired-setup-dired-keybindings): Remove.  Replace with an
	obsolete function alias.
	(image-dired-minor-mode): New minor mode, assuming the role of
	image-dired-setup-dired-keybindings.

2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>

	* test/src/regex-resources/PTESTS: Convert to UTF-8.

2016-12-13  Noam Postavsky  <npostavs@gmail.com>

	Clarify thread-signal semantics

	* doc/lispref/threads.texi (Basic Thread Functions): Explain that the
	thread will be signaled as soon as possible.

2016-12-13  Noam Postavsky  <npostavs@gmail.com>

	Clean up var watcher disabling on thread switching

	* src/data.c (Fset_default): Move code into new C level function,
	`set_default_internal'.
	(set_default_internal): New function, like `Fset_default' but also takes
	additional bindflag parameter.
	(set_internal): Only call `notify_variable_watchers' if bindflag is not
	SET_INTERNAL_THREAD_SWITCH.
	* src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
	passed on to set_internal and set_default_internal.  Adjust callers.
	(rebind_for_thread_switch, unbind_for_thread_switch): Pass
	SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
	temporarily adjusting symbol's trapped_write field.

2016-12-13  Glenn Morris  <rgm@gnu.org>

	Minor fix for define-derived-mode

	* lisp/emacs-lisp/derived.el (define-derived-mode):
	Do not let eg eval-defun reset the values of syntax or abbrev tables,
	since they might have been defined externally.  (Bug#16160)

2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	* build-aux/git-hooks/pre-commit: Add whitespace comment.

2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>

	Move backtrace to ELisp using a new mapbacktrace primitive

	* src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
	(Fmapbacktrace, Fbacktrace_frame_internal): New functions.
	(get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.

	* lisp/subr.el (backtrace--print-frame): New function.
	(backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
	(backtrace-frame): Reimplement using `backtrace-frame--internal'.

	* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
	`mapbacktrace' instead of searching for "(debug" in the output of
	`backtrace'.

	* test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
	(subr-test-backtrace-integration-test): New tests.

	* doc/lispref/debugging.texi (Internals of Debugger): Document
	`mapbacktrace' and missing argument BASE of `backtrace-frame'.

2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	Use C99 syntax for font drivers

	Problem reported by Daniel Colascione in:
	https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
	* src/ftcrfont.c (ftcrfont_driver):
	* src/ftfont.c (ftfont_driver):
	* src/ftxfont.c (ftxfont_driver):
	* src/macfont.m (macfont_driver):
	* src/nsfont.m (nsfont_driver):
	* src/xfont.c (xfont_driver):
	* src/xftfont.c (xftfont_driver):
	Use C99 syntax, not the old GNU C syntax.

2016-12-12  Glenn Morris  <rgm@gnu.org>

	Obsolete gs.el

	* lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
	* doc/lispref/display.texi (Image Formats): Remove postscript.
	(PostScript Images): Remove section.
	* doc/lispref/elisp.texi: Update menu.

2016-12-12  Glenn Morris  <rgm@gnu.org>

	Un-revert recent Ffset change

	* src/data.c (Ffset): Reinstate the check for "nil".

2016-12-12  Glenn Morris  <rgm@gnu.org>

	Minor advice.el fix

	* lisp/emacs-lisp/advice.el (ad-preactivate-advice):
	Avoid setting the function definition of nil.
	This was happening during bootstrap of org-compat.el,
	apparently due to eager macro expansion of code behind
	a (featurep 'xemacs) test.

2016-12-12  Eli Zaretskii  <eliz@gnu.org>

	Make etags-tests work in out-of-tree builds

	* test/lisp/progmodes/etags-tests.el (etags-bug-158)
	(etags-bug-23164): Make them work in an out-of-tree build.
	Reported by Ken Brown <kbrown@cornell.edu>.

2016-12-12  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashing if a new thread is signaled right away

	* src/thread.c (post_acquire_global_lock): Don't raise the pending
	signal if the thread's handlers were not yet set up, as that will
	cause Emacs to exit with a fatal error.  This can happen if a
	thread is signaled as soon as make-thread returns, before the new
	thread had an opportunity to acquire the global lock, set up the
	handlers, and call the thread function.

	* test/src/thread-tests.el (thread-signal-early): New test.

2016-12-12  Eli Zaretskii  <eliz@gnu.org>

	Fix point motion in cloned buffers

	* src/thread.c (post_acquire_global_lock): Call
	set_buffer_internal_2 instead of tricking set_buffer_internal_1
	into resetting the current buffer even if it didn't change.  This
	avoids bug#25165, caused by failing to record the modified values
	of point and mark, because current_buffer was set to NULL.  Also,
	don't bother re-setting the buffer if there was no thread switch,
	as that just wastes cycles.
	* src/buffer.c (set_buffer_internal_2): New function, with most of
	the body of set_buffer_internal_1, but without the test for B
	being identical to the current buffer.
	(set_buffer_internal_1): Call set_buffer_internal_2 if B is not
	identical to the current buffer.
	* src/buffer.h (set_buffer_internal_2): Add prototype.

	* test/src/thread-tests.el (thread-sticky-point): New test.

2016-12-12  Michael Albinus  <michael.albinus@gmx.de>

	Further improvements in Tramp's file name unquoting

	* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
	(tramp-adb-handle-write-region): Unquote localname.
	(tramp-adb-handle-copy-file): Implement direct copy on remote device.
	(tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.

	* lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
	(tramp-handle-file-name-case-insensitive-p):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
	(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
	(tramp-gvfs-maybe-open-connection):
	* lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
	* lisp/net/tramp-smb.el (tramp-smb-get-share)
	(tramp-smb-get-localname): Use it.

	* test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
	(tramp--test-special-characters, tramp-test34-utf8)
	(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
	(tramp-test34-utf8-with-ls): Use it.

2016-12-12  Martin Rudalics  <rudalics@gmx.at>

	Strengthen conditions for resizing sibling windows (Bug#25169)

	* lisp/window.el (window-resize, delete-window): Resize other siblings
	only if `window-combination-resize' equals t (Bug#25169).

2016-12-12  Noam Postavsky  <npostavs@gmail.com>

	Quote filenames containing '~' in prompts

	When in a directory named '~', the default value given by
	`read-file-name' should be quoted by prepending '/:', in order to
	prevent it from being interpreted as referring to the $HOME
	directory (Bug#16984).

	* lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
	(completion--sifn-requote, read-file-name-default): Use it instead of
	`minibuffer--double-dollars'.
	* test/lisp/files-tests.el (files-test-read-file-in-~): Test it.

2016-12-11  Eli Zaretskii  <eliz@gnu.org>

	Undo part of last change

	* src/thread.h:
	* src/keyboard.c:
	* src/keyboard.h: Undo part of last change:
	input_available_clear_time is again a global variable.

2016-12-11  Eli Zaretskii  <eliz@gnu.org>

	Avoid aborts when a thread signals an error

	* src/thread.h (struct thread_state): Add members
	m_waiting_for_input and m_input_available_clear_time.
	(waiting_for_input, input_available_clear_time): New macros.
	* src/keyboard.c (waiting_for_input, input_available_clear_time):
	Remove; they are now macros that reference the current thread.
	(Bug#25171)
	* src/w32select.c: Don't include keyboard.h.

	* test/src/thread-tests.el (thread-errors): New test.

2016-12-11  Philipp Stephani  <phst@google.com>

	Clean up compile-tests.el

	Switch to lexical binding.  Make checkdoc happy.

	* test/lisp/progmodes/compile-tests.el (compile--test-error-line)
	(compile-test-error-regexps): Instead of checking a single Boolean
	value, use `should' for each attribute of the message to be compared.
	(compile-tests--test-regexps-data): Document sixth list element
	TYPE.

2016-12-11  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#25162

	* doc/emacs/files.texi (Reverting): Document
	auto-revert-remote-files and auto-revert-verbose.

	* lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
	(auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.

2016-12-11  Glenn Morris  <rgm@gnu.org>

	Fix a typo in define-abbrev-table

	* lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.

2016-12-11  Glenn Morris  <rgm@gnu.org>

	Improve previous cperl-mode change

	* lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
	Improve previous change.

2016-12-11  Glenn Morris  <rgm@gnu.org>

	Mark default cperl abbrevs as system ones

	* lisp/progmodes/cperl-mode.el (cperl-mode):
	Mark our abbrevs as system ones.  (Bug#10934)

2016-12-11  Glenn Morris  <rgm@gnu.org>

	Revert earlier Ffset change

	* src/data.c (Ffset): Allow nil again, since it caused
	eager macro-expansion failures.

2016-12-11  Glenn Morris  <rgm@gnu.org>

	Tweaks for message bogus address detection

	* lisp/gnus/message.el (message-bogus-recipient-p):
	Do not require "@", since some mailers deliver to local addresses
	without one.  (Bug#23054)
	Move "@.*@" from here...
	(message-bogus-addresses): ...to here, so it can be customized.

2016-12-11  Glenn Morris  <rgm@gnu.org>

	Do not allow nil to be defined as a function

	* lisp/emacs-lisp/byte-run.el (defun):
	* src/data.c (Ffset): Do not allow "nil".  (Bug#25110)

2016-12-11  Glenn Morris  <rgm@gnu.org>

	Bump makeinfo requirement from 4.7 to 4.13

	* configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
	We need at least 4.8, and that may be buggy, so go for the last
	of the 4 series, which is 8 years old.  (Bug#25108)

2016-12-11  Glenn Morris  <rgm@gnu.org>

	Fixes related to select-enable-clipboard

	* lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
	(clipboard-kill-region):
	* lisp/eshell/esh-io.el (eshell-virtual-targets)
	(eshell-clipboard-append):
	Replace option gui-select-enable-clipboard with
	select-enable-clipboard; renamed October 2014.  (Bug#25145)

2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>

	Add some sanity checking of defun arglist

	* lisp/emacs-lisp/byte-run.el (defun):
	Check for malformed argument lists.  (Bug#15715)

2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)

	Minor shell-mode fix for zsh

	* lisp/shell.el (shell-mode): Prevent shell-dirstack-query
	becoming confused by zsh abbreviations.  (Bug#24632)

2016-12-10  Noam Postavsky  <npostavs@gmail.com>

	Define struct predicate before acccesors

	The accessor functions use the predicate function, which causes problems
	when reloading after unload-feature: the compiler-macro property is
	still present on the predicate symbol, and the compiler fails to find
	the definition when trying to inline it into the accessor
	function (Bug#25088).

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
	before field accessor definitions.

2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>

	* Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
	system unit file.

2016-12-10  Eli Zaretskii  <eliz@gnu.org>

	Support concurrency in Emacs Lisp

	Merge branch 'test-concurrency'

	* src/thread.c:
	* src/thread.h:
	* src/systhread.c:
	* src/systhread.h: New files.
	* src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
	xnmalloc unconditionally.
	* src/window.c (struct save_window_data): Rename current_buffer to
	f_current_buffer.
	* src/w32proc.c (sys_select): Change the function signature to
	closer fit 'pselect' on Posix hosts.
	* src/search.c:
	* src/regex.h: Convert some globals to macros that reference
	thread-specific values.
	* src/process.c (pset_thread, add_non_keyboard_read_fd)
	(add_process_read_fd, add_non_blocking_write_fd)
	(recompute_input_desc, compute_input_wait_mask)
	(compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
	(compute_write_mask, clear_waiting_thread_info)
	(update_processes_for_thread_death, Fset_process_thread)
	(Fprocess_thread): New functions.
	(enum fd_bits): New enumeration.
	(fd_callback_data): Add 'thread' and 'waiting_thread', rename
	'condition' to 'flags'.
	(set_process_filter_masks, create_process, create_pty)
	(Fmake_serial_process, finish_after_tls_connection)
	(connect_network_socket, deactivate_process)
	(server_accept_connection, wait_reading_process_output)
	(Fcontinue_process, Fstop_process, keyboard_bit_set)
	(add_timer_wait_descriptor, add_keyboard_wait_descriptor)
	(delete_keyboard_wait_descriptor): Use the new functions instead
	of manipulating fd flags and masks directly.
	(syms_of_process): Defsubr the new primitives.
	* src/print.c (print_object): Print threads, mutexes, and
	conditional variables.
	* src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
	and PVEC_CONDVAR.
	(XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
	(CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
	(XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
	(struct handler): Add back byte_stack.  Rename lisp_eval_depth to
	f_lisp_eval_depth.
	* src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
	(rebind_for_thread_switch, do_one_unbind)
	(unbind_for_thread_switch): New functions.
	(init_eval): 'handlerlist' is not malloc'ed.
	(specbind): Call do_specbind.
	(unbind_to): Call do_one_unbind.
	(mark_specpdl): Accept 2 arguments.
	(mark_specpdl): Mark the saved value in a let-binding.
	* src/emacs.c (main): Call init_threads_once, init_threads, and
	syms_of_threads.
	* src/data.c (Ftype_of): Support thread, mutex, and condvar
	objects.
	(Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
	(syms_of_data): DEFSYM and defsubr new symbols and primitives.
	* src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
	(BYTE_CODE_QUIT): Add back.
	(exec_byte_code): Add back byte stack manipulation.
	* src/alloc.c (cleanup_vector): Handle threads, mutexes, and
	conditional variables.
	(mark_stack): Now extern; accept additional argument 'bottom'.
	(flush_stack_call_func): New function.
	(garbage_collect_1): Call mark_threads and unmark_threads.  Don't
	mark handlers.
	* src/.gdbinit (xbytecode): Add back.

	* test/src/thread-tests.el: New tests.
	* test/src/data-tests.el (binding-test-manual)
	(binding-test-setq-default, binding-test-makunbound)
	(binding-test-defvar-bool, binding-test-defvar-int)
	(binding-test-set-constant-t, binding-test-set-constant-nil)
	(binding-test-set-constant-keyword)
	(binding-test-set-constant-nil): New tests.

	* doc/lispref/processes.texi (Processes and Threads): New
	subsection.
	* doc/lispref/threads.texi: New file
	* doc/lispref/elisp.texi (Top): Include it.
	* doc/lispref/objects.texi (Thread Type, Mutex Type)
	(Condition Variable Type): New subsections.
	(Type Predicates): Add thread-related predicates.
	* doc/lispref/objects.texi (Editing Types):
	* doc/lispref/elisp.texi (Top): Update higher-level menus.

	* etc/NEWS: Mention concurrency features.

2016-12-10  Eli Zaretskii  <eliz@gnu.org>

	Fix error messages in thread.c

	* src/thread.c (lisp_mutex_unlock, Fcondition_wait)
	(Fcondition_notify, Fthread_join): Fix error messages.

2016-12-10  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings in thread.c

	* src/thread.c (Fmake_condition_variable, Fcondition_wait)
	(Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
	(Fthread_join, Fall_threads): Doc fixes.

2016-12-10  Eli Zaretskii  <eliz@gnu.org>

	Fix building with check-lisp-object-type

	* src/thread.c (mark_one_thread): Use NILP to compare with
	m_saved_last_thing_searched, which is a Lisp object.  Reported by
	Andreas Politz <politza@hochschule-trier.de>.

2016-12-10  Eli Zaretskii  <eliz@gnu.org>

	Documentation and commentary improvements

	* src/lisp.h:
	* src/regex.c:
	* src/xgselect.c (xg_select): Improve commentary and formatting.

	* doc/lispref/objects.texi (Thread Type, Mutex Type)
	(Condition Variable Type): New subsections.
	(Type Predicates): Add thread-related predicates.
	* doc/lispref/objects.texi (Editing Types):
	* doc/lispref/elisp.texi (Top): Update higher-level menus.

2016-12-09  Michael Albinus  <michael.albinus@gmx.de>

	Fix further problems with quoted file names in Tramp

	* lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
	(tramp-unquote-name): Move defsubst ...
	* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
	(tramp-compat-file-name-quote)
	(tramp-compat-file-name-unquote): ... here. Adapt callees.

	* lisp/net/tramp-cache.el (tramp-flush-file-property)
	(tramp-flush-directory-property):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
	* lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
	(tramp-smb-handle-substitute-in-file-name)
	(tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.

2016-12-09  Eli Zaretskii  <eliz@gnu.org>

	*src/sysdep.c: Fix a comment.

2016-12-09  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation error on Fedora 24

	* src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
	Reported by Paul Eggert <eggert@cs.ucla.edu>.

2016-12-09  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation warnings due to prototype of thread_select

	* src/thread.h <int select_func>: Make the 5th and 6th arguments
	be 'const'.
	* src/process.c [WINDOWSNT]:
	* src/w32proc.c: Make the 5th and 6th argument to sys_select be
	'const'.

2016-12-09  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation on Debian GNU/Linux

	* src/thread.h: Include sys/types.h, for ssize_t that regex.h
	uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.

2016-12-09  Eli Zaretskii  <eliz@gnu.org>

	Fix subtle errors with let-binding of localized variables

	* src/eval.c (do_specbind): Don't require a "symbol" that is
	actually a cons cell, in order to call set-default, as there are
	no longer such bindings.  This makes do_specbind work like the
	pre-concurrency implementation in specbind for bindings of
	forwarded symbols.  Use specpdl_kind to access the type of the
	binding.
	(specpdl_kind): New function.

2016-12-09  Michael Albinus  <michael.albinus@gmx.de>

	Document file-name-quote, file-name-unquote and file-name-quoted-p

	* doc/lispref/files.texi (File Name Expansion):
	* etc/NEWS: Mention file-name-quote, file-name-unquote and
	file-name-quoted-p.

	* lisp/files.el (file-name-non-special): Revert using
	file-name-quote, file-name-unquote and file-name-quoted-p.

2016-12-09  Noam Postavsky  <npostavs@gmail.com>

	Fix bad quoting of python-shell-interpreter

	`python-shell-calculate-command' was using `shell-quote-argument' as if
	it was generating a shell command, but its callers don't pass the result
	to a shell, and they expect to parse it with `split-string-and-unquote'.
	This caused problems depending on the flavor of shell quoting in
	effect (Bug#25025).

	* lisp/progmodes/python.el (python-shell-calculate-command): Use
	`combine-and-quote-strings' to quote the interpreter, so that it can be
	parsed by `python-shell-make-comint' successfully using
	`split-string-and-unquote'.

2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>

	* src/lisp.h (struct terminal): Remove unnecessary forward decl.

2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>

	Make read1 more reentrant

	This is needed if ‘read’ is called soon after startup, before the
	Unicode tables have been set up, and it reads a \N escape and
	needs to look up a value the Unicode tables, a lookup that in turn
	calls read1 recursively.  Although this change doesn’t make ‘read’
	fully reentrant, it’s good enough to handle this case.
	* src/lread.c (read_buffer_size, read_buffer): Remove static vars.
	(grow_read_buffer): Revamp to use locals, not statics, and to
	record memory allocation un the specpdl.  All callers changed.
	(read1): Start with a stack-based buffer, and use the heap
	only if the stack buffer is too small.  Use unbind_to to
	free any heap buffer allocated.  Use bool for boolean.
	Redo symbol loop so that only one call to grow_read_buffer
	is needed.
	(init_obarray): Remove no-longer-needed initialization.

2016-12-08  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation warnings

	* src/thread.c (Fmake_thread): Call emacs_abort, to avoid
	compilation warning.

2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix unlikely substitute-command-keys memory leak

	* src/doc.c (Fsubstitute_command_keys):
	Free buffer when unwinding.

2016-12-08  Michael Albinus  <michael.albinus@gmx.de>

	Add file-name-quoted-p, file-name-quote, file-name-unquote

	* lisp/files.el (file-name-quoted-p, file-name-quote)
	(file-name-unquote): New defsubst.
	(find-file--read-only, find-file-noselect)
	(file-name-non-special): Use them.

2016-12-08  Eli Zaretskii  <eliz@gnu.org>

	Add a NEWS entry.

2016-12-08  Glenn Morris  <rgm@gnu.org>

	Minor fix for symbol-file

	* lisp/subr.el (symbol-file): Avoid false matches with "require"
	elements in load-history.  (Bug#25109)

2016-12-08  Glenn Morris  <rgm@gnu.org>

	Doc fix for vc-git

	* lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.

2016-12-08  Tino Calancha  <tino.calancha@gmail.com>

	Fix Bug#24962

	* lisp/buff-menu.el (list-buffers--refresh):
	List buffers with name starting with " " if they visit a file.
	* test/lisp/buff-menu-tests.el (buff-menu-24962):
	Update test result as pass.

2016-12-08  Tino Calancha  <tino.calancha@gmail.com>

	ediff-fixup-patch-map: Improve prompt

	* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
	Make clear in the prompt when we are applying a multi patch.

2016-12-08  Glenn Morris  <rgm@gnu.org>

	Retain message logging in map-y-or-n-p

	* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
	Stop disabling logging to Messages buffer.  (Bug#13326)

2016-12-08  Glenn Morris  <rgm@gnu.org>

	Doc fix for recent change

	* lisp/simple.el (region-modifiable-p): Doc fix.

2016-12-08  Glenn Morris  <rgm@gnu.org>

	Quieten make-dist default operation

	* make-dist: Add --verbose option.  Default to quieter operation.

2016-12-08  Glenn Morris  <rgm@gnu.org>

	Further improve make-dist checking

	* make-dist: Print status messages when checking.

2016-12-08  Glenn Morris  <rgm@gnu.org>

	Improve previous make-dist change

	* make-dist: Let make check the info files more thoroughly.

2016-12-08  Glenn Morris  <rgm@gnu.org>

	Make make-dist --snapshot do some sanity checks

	* make-dist: Snapshot mode no longer disables checks.
	Checks now includes checks for freshness.  (Bug#25084)
	Checks now exits with an error if problems were found.

2016-12-07  Tino Calancha  <tino.calancha@gmail.com>

	Fix regression introduced by commit 7b1e97f

	* lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
	of cadr; required after commit 20f5a5b.

2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Put post-25 ChangeLog entries into ChangeLog.3

	* ChangeLog.2: Copy from emacs-25 branch.
	* ChangeLog.3: New file, with changes only in master.
	* Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.

2016-12-07  Eli Zaretskii  <eliz@gnu.org>

	Fix network streams.

	The original code messed up flags in fd_callback_data[], and also
	didn't call add_process_read_fd for process-related file descriptors.

2016-12-07  Eli Zaretskii  <eliz@gnu.org>

	Minimize spurious diffs from master.

2016-12-06  Eli Zaretskii  <eliz@gnu.org>

	Fix the test suite

	* test/automated/bindings.el: Contents moved to
	test/src/data-tests.el.
	* test/automated/threads.el: Moved to test/src/thread-tests.el.

2016-12-06  Eli Zaretskii  <eliz@gnu.org>

	Fix a typo in bytecode.c.

2016-12-05  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation problems.

	Fix merged code in process.c and eval.c.

2016-12-04  Eli Zaretskii  <eliz@gnu.org>

	Merge branch 'concurrency'

	Conflicts (resolved):
		configure.ac
		src/Makefile.in
		src/alloc.c
		src/bytecode.c
		src/emacs.c
		src/eval.c
		src/lisp.h
		src/process.c
		src/regex.c
		src/regex.h

2015-11-02  Eli Zaretskii  <eliz@gnu.org>

	Fix the MS-Windows build

	* src/thread.h [WINDOWSNT]: Include sys/socket.h.

	* src/sysselect.h: Don't define fd_set and FD_* macros for
	MS-Windows here.
	* src/w32.h: Define them here.

	* src/process.h (sys_select): Declare prototype.

	* src/sysdep.c:
	* src/process.c:
	* src/filelock.c:
	* src/emacs.c:
	* src/callproc.c: Move inclusion of sys/select.h after lisp.h.
	* nt/inc/socket.h: Include w32.h instead of sysselect.h

2015-11-01  Ken Raeburn  <raeburn@raeburn.org>

	merge from trunk

2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>

	* src/eval.c (unbind_for_thread_switch): Fix iteration over the
	specpdl stack.

2013-10-18  Tom Tromey  <tromey@redhat.com>

	change condition-variablep to condition-variable-p

2013-09-01  Eli Zaretskii  <eliz@gnu.org>

	Fix crashes when unbind_for_thread_switch signals an error.

	 src/eval.c (unbind_for_thread_switch): Accept a 'struct
	 thread_state *' argument and use specpdl_ptr and specpdl of that
	 thread.  Fixes crashes if find_symbol_value signals an error.
	 src/thread.c (post_acquire_global_lock): Update current_thread
	 before calling unbind_for_thread_switch.  Pass the previous thread
	 to unbind_for_thread_switch.

2013-08-31  Eli Zaretskii  <eliz@gnu.org>

	Improve MS-Windows implementation of threads.

	 src/systhread.c (sys_cond_init): Set the 'initialized' member to
	 true only if initialization is successful.  Initialize wait_count
	 and wait_count_lock.
	 (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
	 'initialized' is false, do nothing.
	 (sys_cond_wait): Fix the implementation to avoid the "missed
	 wakeup" bug: count the waiting threads, and reset the broadcast
	 event once the last thread was released.
	 (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
	 PulseEvent.  Don't signal the event if no threads are waiting.
	 (sys_cond_destroy): Only close non-NULL handles.
	 (sys_thread_create): Return zero if unsuccessful, 1 if successful.
	 src/systhread.h (w32thread_cond_t): New member 'initialized'.
	 Rename waiters_count and waiters_count_lock to wait_count and
	 wait_count_lock, respectively.

2013-08-30  Eli Zaretskii  <eliz@gnu.org>

	Enable thread support in the MS-Windows build.

	 src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
	 (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
	 src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
	 (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
	 (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
	 (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
	 (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.

	 configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
	 if pthreads is not available.

2013-08-27  Tom Tromey  <tromey@redhat.com>

	use condition-notify in the docs, not condition-signal

	zap until-condition docs

	zap until-condition

	rename thread-blocker to thread--blocker

	remove binding_symbol

	fix style of threadp, mutexp, and condition-variable-p

	make thread_check_current_buffer return bool

	add a comment before flush_stack_call_func

	fix whitespace_regexp warning

2013-08-26  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows build.

	 src/callproc.c:
	 src/emacs.c:
	 src/filelock.c:
	 src/process.c:
	 src/sysdep.c:
	 src/w32.c: Reshuffle Windows-specific headers to avoid errors with
	 redefinition of fd_set etc.
	 src/process.c: Don't use num_pending_connects when
	 NON_BLOCKING_CONNECT is not defined.
	 src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
	 here from w32.h.
	 src/w32proc.c (sys_select): Adjust the argument types to what
	 thread.h expects.

	 nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
	 of w32.h.

2013-08-26  Tom Tromey  <tromey@redhat.com>

	use record_unwind_protect_void, avoid warning

	implement --enable-threads and a thread-less mode

2013-08-25  Tom Tromey  <tromey@redhat.com>

	merge from trunk

2013-08-20  Tom Tromey  <tromey@redhat.com>

	fix up some merge errors in process.c

	remove a dead function
	clean up a fixme I added in create_pty during the merge

2013-08-20  Tom Tromey  <tromey@redhat.com>

	merge from trunk

2013-07-26  Tom Tromey  <tromey@redhat.com>

	merge from trunk

2013-07-13  Tom Tromey  <tromey@redhat.com>

	Merge from trunk

2013-07-12  Tom Tromey  <tromey@redhat.com>

	Use thread_alive_p in a couple more spots

2013-07-07  Tom Tromey  <tromey@redhat.com>

	fix xfree bug in run_thread

	this fixes run_thread to account for the dummy slot
	in specpdl

2013-07-07  Tom Tromey  <tromey@redhat.com>

	merge from trunk

	this merges from trunk and fixes various build issues.
	this needed a few ugly tweaks.
	this hangs in "make check" now

2013-07-06  Tom Tromey  <tromey@redhat.com>

	add assertion to flush_stack_call_func

	functions called via flush_stack_call_func are assumed
	to return with the global lock held again, and with
	current_thread reset.  this assertion verifies part of this

2013-07-06  Tom Tromey  <tromey@redhat.com>

	call init_primary_thread from init_threads

2013-07-05  Tom Tromey  <tromey@redhat.com>

	avoid SAFE_ALLOCA

	avoid SAFE_ALLOCA in xgselect.c.
	in this code it is just as easy to always use malloc;
	and it avoids thread-switching problems, as the safe-alloca
	stuff implicitly refers to the current thread

2013-07-05  Tom Tromey  <tromey@redhat.com>

	avoid current_thread sometimes

	this tweaks thread.c to use 'self' instead of current_thread
	in a couple spots.  this is clearer and more robust

2013-07-05  Tom Tromey  <tromey@redhat.com>

	initialize saved_value

	initialize the saved_value field in all needed cases
	also, add an assertion to do_one_unbind

2013-07-04  Tom Tromey  <tromey@redhat.com>

	fix buglet in test case

2013-07-04  Tom Tromey  <tromey@redhat.com>

	unlink thread later

	unlink thread from global list later
	also remove some unnecessary destruction code

2013-07-04  Tom Tromey  <tromey@redhat.com>

	introduce thread_alive_p macro

	This introduces the thread_alive_p macro and changes
	thread-alive-p to use it.  This is a minor cleanup.
	It also changes all-threads to ignore dead threads.

2013-07-03  Tom Tromey  <tromey@redhat.com>

	Don't call unbind_for_thread_switch in run_thread

	This removes the call to unbind_for_thread_switch from run_thread.
	This isn't necessary because acquire_global_lock does it properly.

2013-07-03  Tom Tromey  <tromey@redhat.com>

	remove unused field from struct thread_state

	Fix a comment.

2013-06-13  Tom Tromey  <tromey@redhat.com>

	merge from trunk

2013-06-06  Tom Tromey  <tromey@redhat.com>

	fix a few latent issues in the thread patch

	* we called unbind_for_thread_switch unconditionally, but this
	  is wrong if the previous thread exited
	* likewise, exiting a thread should clear current_thread
	* redundant assignment in run_thread
	* clean up init_threads - no need to re-init the primary thread

	This patch still sometimes causes weird hangs in "make check".
	However, I think that is a kernel bug, since Emacs enters the zombie
	state but its parent process hangs in wait.  This shouldn't happen.

2013-06-04  Tom Tromey  <tromey@redhat.com>

	update eval.c to make it build again after the merge

2013-06-03  Tom Tromey  <tromey@redhat.com>

	merge from trunk; clean up some issues

2013-03-18  Tom Tromey  <tromey@redhat.com>

	don't let kill-buffer kill a buffer if it is current in any thread

2013-03-18  Tom Tromey  <tromey@redhat.com>

	fix process bugs

	Fix some process-related bugs, mostly thinkos from the conversion to
	recording fd state as flags.
	This now passes the test suite without hanging.

2013-03-17  Tom Tromey  <tromey@redhat.com>

	merge from trunk

2013-03-08  Tom Tromey  <tromey@redhat.com>

	merge from trunk

2013-01-16  Tom Tromey  <tromey@redhat.com>

	merge from trunk

2013-01-06  Tom Tromey  <tromey@redhat.com>

	merge from trunk

2012-12-23  Tom Tromey  <tromey@redhat.com>

	mention let bindings and lack of other ways to rewind

2012-12-17  Tom Tromey  <tromey@redhat.com>

	Remove bit accidentally left over from the merge

	merge from trunk

2012-09-04  Tom Tromey  <tromey@redhat.com>

	merge from trunk

	link from thread docs to match data

2012-08-27  Tom Tromey  <tromey@redhat.com>

	cannot thread-join the current thread

	fix test suite for condition-variable-p name change

	add tests for variable bindings

2012-08-25  Tom Tromey  <tromey@redhat.com>

	minor update to thread-join docs

2012-08-24  Tom Tromey  <tromey@redhat.com>

	minor documentation updates

2012-08-23  Tom Tromey  <tromey@redhat.com>

	document until-condition

	first draft of threads documentation

	rename condition-variablep to condition-variable-p

	document process-thread and set-process-thread

2012-08-20  Tom Tromey  <tromey@redhat.com>

	pass the thread name to the OS if possible

	use prctl to pass the thread name to the OS, if possible

2012-08-20  Tom Tromey  <tromey@redhat.com>

	add convenience macros with-mutex and until-condition

	with-mutex is a safe way to run some code with a mutex held.
	until-condition is a safe way to wait on a condition variable.

2012-08-20  Tom Tromey  <tromey@redhat.com>

	Merge from trunk

2012-08-19  Tom Tromey  <tromey@redhat.com>

	another docstring fixlet

	minor docstring fixup

	add condition-mutex and condition-name

	ensure name of a thread is a string

	ensure name of a mutex is a string

	use NILP

2012-08-19  Tom Tromey  <tromey@redhat.com>

	condition variables

	This implements condition variables for elisp.
	This needs more tests.

2012-08-19  Tom Tromey  <tromey@redhat.com>

	comment fixes

2012-08-19  Tom Tromey  <tromey@redhat.com>

	refactor systhread.h

	This refactors systhread.h to move the notion of a "lisp mutex"
	into thread.c.  This lets us make the global lock and
	post_acquire_global_lock static.

2012-08-17  Tom Tromey  <tromey@redhat.com>

	write docstrings for the thread functions

	declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h

2012-08-15  Tom Tromey  <tromey@redhat.com>

	add test case for I/O switching

2012-08-15  Tom Tromey  <tromey@redhat.com>

	process changes

	This changes wait_reading_process_output to handle threads better.  It
	introduces a wrapper for select that releases the global lock, and it
	ensures that only a single thread can select a given file descriptor
	at a time.

	This also adds the thread-locking feature to processes.  By default a
	process can only have its output accepted by the thread that created
	it.  This can be changed using set-process-thread.  (If the thread
	exits, the process is again available for waiting by any thread.)

	Note that thread-signal will not currently interrupt a thread blocked
	on select.  I'll fix this later.

2012-08-15  Tom Tromey  <tromey@redhat.com>

	Prepare process.c for threads by not having global select masks.
	The next step is to make it so selects can choose fds by thread.

2012-08-15  Tom Tromey  <tromey@redhat.com>

	fix a latent bug in process.c

	* src/process.c (wait_reading_process_output): Check Writeok bits,
	not write_mask.

2012-08-15  Tom Tromey  <tromey@redhat.com>

	This adds thread-blocker, a function to examine what a thread is
	blocked on.  I thought this would be another nice debugging addition.

	This adds names to mutexes.  This seemed like a nice debugging
	extension.

	This adds some tests of the threading code.

2012-08-15  Tom Tromey  <tromey@redhat.com>

	This supplies the mutex implementation for Emacs Lisp.

	A lisp mutex is implemented using a condition variable, so that we can
	interrupt a mutex-lock operation by calling thread-signal on the
	blocking thread.  I did things this way because pthread_mutex_lock
	can't readily be interrupted.

2012-08-15  Tom Tromey  <tromey@redhat.com>

	This adds most of the thread features visible to emacs lisp.

	I roughly followed the Bordeaux threads API:

	https://sionescu.github.io/bordeaux-threads/

	... but not identically.  In particular I chose not to implement
	interrupt-thread or destroy-thread, but instead a thread-signaling
	approach.

	I'm still undecided about *default-special-bindings* (which I did not
	implement).  I think it would be more emacs-like to capture the let
	bindings at make-thread time, but IIRC Stefan didn't like this idea
	the first time around.

	There are one or two semantics issues pointed out in the patch where I
	could use some advice.

2012-08-15  Tom Tromey  <tromey@redhat.com>

	This turns thread_state into a pseudovector and updates various bits
	of Emacs to cope.

2012-08-15  Tom Tromey  <tromey@redhat.com>

	This introduces some new functions to handle the specpdl.  The basic
	idea is that when a thread loses the interpreter lock, it will unbind
	the bindings it has put in place.  Then when a thread acquires the
	lock, it will restore its bindings.

	This code reuses an existing empty slot in struct specbinding to store
	the current value when the thread is "swapped out".

	This approach performs worse than my previously planned approach.
	However, it was one I could implement with minimal time and
	brainpower.  I hope that perhaps someone else could improve the code
	once it is in.

2012-08-15  Tom Tromey  <tromey@redhat.com>

	This introduces the low-level system threading support.  It also adds
	the global lock.  The low-level support is a bit over-eager, in that
	even at the end of the present series, it will not all be used.  I
	think thiat is ok since I plan to use it all eventually -- in
	particular for the emacs lisp mutex implementation.

	I've only implemented the pthreads-based version.  I think it should
	be relatively clear how to port this to other systems, though.

	I'd also like to do a "no threads" port that will turn most things
	into no-ops, and have thread-creation fail.  I was thinking perhaps
	I'd make a future (provide 'threads) conditional on threads actually
	working.

	One other minor enhancement available here is to make it possible to
	set the name of the new thread at the OS layer.  That way gdb, e.g.,
	could display thread names.

2012-08-15  Tom Tromey  <tromey@redhat.com>

	This parametrizes the GC a bit to make it thread-ready.

	The basic idea is that whenever a thread "exits lisp" -- that is,
	releases the global lock in favor of another thread -- it must save
	its stack boundaries in the thread object.  This way the boundaries
	are always available for marking.  This is the purpose of
	flush_stack_call_func.

	I haven't tested this under all the possible GC configurations.
	There is a new FIXME in a spot that i didn't convert.

	Arguably all_threads should go in the previous patch.

2012-08-15  Tom Tromey  <tromey@redhat.com>

	This introduces a thread-state object and moves various C globals
	there.  It also introduces #defines for these globals to avoid a
	monster patch.

	The #defines mean that this patch also has to rename a few fields
	whose names clash with the defines.

	There is currently just a single "thread"; so this patch does not
	impact Emacs behavior in any significant way.

2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	eeecac7 Fix minor quoting problems in doc strings

2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	35ce3fb Don't assume window-point and point are the same

2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
	8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
	c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
	93d8346 Improve indexing of 'man'

2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	d31298d Fix documentation of `window-combination-resize'
	2086f4c Typo fixes in elisp manual

2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
	5878abf Fix 'expand-file-name' during startup on MS-Windows

2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
	6d27423 Tweak refcard note about documentation location
	e46a134 Improve treatment of Fortran's "class is"

2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	93c0f51 Handle TeX comments when making new paragraph
	e0884f1 Restore keystroke echo in 'C-q'
	a6213ce Improve documentation of 'current-word'
	0828126 Fix a typo in an Eshell defcustom
	2e361c7 Minor copyedits of electric-pair-mode
	7499ee8 ; Minor copyedit in the Emacs manual
	45b652b Fix documentation of 'invocation-directory'
	7f43d7c * admin/authors.el (authors-aliases): Add an entry.
	ba48880 ; Fix pl-refcard.tex

2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.

2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	3d63b48 Update ChangeLog files and authors.el
	9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
	a725592 Avoid errors in shr-pixel-column due to dedicated windows
	3138598 Update format-time-string documentation

2016-12-07  Sam Steingold  <sds@gnu.org>

	delete-trailing-whitespace: handle read-only text in buffer

	* lisp/simple.el (region-modifiable-p): New function.
	(delete-trailing-whitespace): Use it to avoid trying to delete read-only text.

2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix minor quoting problems in doc strings

2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix --enable-gcc-warnings --with-ns on Fedora

	* src/Makefile.in (NON_OBJC_CFLAGS): New macro.
	(ALL_OBJC_CFLAGS): Use it.
	(EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
	(ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.

2016-12-07  Michael Albinus  <michael.albinus@gmx.de>

	Fix problems in quoting Tramp file names

	* lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
	(tramp-unquote-shell-quote-argument): New defun.
	(tramp-shell-quote-argument):
	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
	(tramp-make-copy-program-file-name):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
	(tramp-smb-shell-quote-argument): Use it.

2016-12-07  Tino Calancha  <tino.calancha@gmail.com>

	ibuffer-map-deletion-lines: Re-included it

	It was deleted in previous commit, but it's referenced
	by the macro 'define-ibuffer-op'.
	* lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.

2016-12-07  Tino Calancha  <tino.calancha@gmail.com>

	ibuffer-unmark-all: simplify code

	* lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
	(ibuffer-unmark-all): Simplify code.

2016-12-07  Tino Calancha  <tino.calancha@gmail.com>

	define-ibuffer-filter: Discard wrong filters

	* lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
	in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
	* test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.

2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring

	so that it matches the actual implementation.
	See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html

2016-12-07  Tino Calancha  <tino.calancha@gmail.com>

	ibuffer-decompose-filter-group avoid unwanted side effects

	* lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
	(ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
	All callers changed (Bug#25058).
	* test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.

2016-12-07  Tino Calancha  <tino.calancha@gmail.com>

	ibuffer-unmark-backward: Unmark the region when is active

	* lisp/ibuffer.el (ibuffer-unmark-backward):
	Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
	with the region boundary as the first 2 arguments (Bug#24987).

2016-12-07  Nicolas Petton  <nicolas@petton.fr>

	Docstring improvement for seq-some (bug#25129)

	* lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
	  regarding the returned value.

2016-12-07  Tino Calancha  <tino.calancha@gmail.com>

	dired-unmark-backward: Unmark the region when is active

	* lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
	a non-nil second argument (Bug#24986).

2016-12-07  Tino Calancha  <tino.calancha@gmail.com>

	New test file for ediff

	Fix previous commit.
	* test/lisp/vc/ediff-ptch-tests.el: New test.

2016-12-07  Tino Calancha  <tino.calancha@gmail.com>

	ediff-context-diff-label-regexp: Detect the end of second file

	* lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
	'\n' in file names (Bug#25010).
	* test/lisp/vc/ediff-ptch-tests.el: New file.
	(ibuffer-test-bug25010): Add test for Bug#25010.

2016-12-07  Tino Calancha  <tino.calancha@gmail.com>

	ibuffer-decompose-filter: Avoid side effects on error

	* lisp/ibuf-ext.el (ibuffer-decompose-filter):
	Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
	* test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
	Update test result as pass.

2016-12-07  Tino Calancha  <tino.calancha@gmail.com>

	ibuffer: compare marks with EQ

	* lisp/ibuffer.el:
	(ibuffer-update-title-and-summary)
	(ibuffer-redisplay-current)
	(ibuffer-buffer-name-face, ibuffer-unmark-all)
	(ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
	Use 'eq' instead of 'char-equal' when comparing mark characters
	(Bug#25000).
	* test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
	Update test result as pass.

2016-12-07  Christopher Genovese  <genovese@cmu.edu>

	ibuffer-saved-filters: Remove extra nesting level

	Fix Bug#25049.
	* lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
	nesting level; add transparent setter to adjust old-format values;
	update doc string.
	(ibuffer-save-filters): Remove extra level of nesting
	in ibuffer-saved-filters values when saving new filters.
	(ibuffer-old-saved-filters-warning): New variable with
	clickable message with repair options to be displayed
	as a warning if 'ibuffer-repair-saved-filters' detects
	a format mismatch.
	(ibuffer-repair-saved-filters): Add new command to check and
	repair saved filters format.
	(ibuffer-included-in-filter-p, ibuffer-decompose-filter):
	Change access of saved filter data (cadr->cdr) to account
	for reduced nesting.
	* test/lisp/ibuffer-tests.el (ibuffer-save-filters):
	New test; check that filters are saved in the proper format.

2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	Clean out some IRIX cruft

	* etc/MACHINES: Remove obsolete discussion of IRIX.
	* src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
	(create_process) [HAVE_PTYS]: Don't worry about IRIX.
	* src/syntax.c (scan_sexps_forward): Remove obsolete comment.
	* src/unexelf.c [__sgi]: Don't include <syms.h>.
	(unexec) [__sgi]: Remove SGI-specific code.

2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	Simplify FUNCTIONP implementation

	* src/bytecode.c (exec_byte_code):
	* src/image.c (parse_image_spec):
	Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
	* src/eval.c (FUNCTIONP): Move here ...
	* src/lisp.h: ... from here.  No longer inline, as that
	bloats the text and does not help speed (at least on my platform).
	(functionp): Remove this name, since callers use FUNCTIONP.

2016-12-06  Noam Postavsky  <npostavs@gmail.com>

	Don't assume window-point and point are the same

	The function `cursor-sensor--detect' calls `bobp' to decide whether to
	check properties at (1- (window-point)).  However, (window-point) may be
	at beginning of buffer, even if (point) is not.  In this case an
	`args-out-of-range' error will be signaled (Bug#25104).

	* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
	value of (window-point) against (point-min), rather than (bobp) to
	decide if (1- (window-point)) is accessible.

2016-12-06  Noam Postavsky  <npostavs@gmail.com>

	Give test-completion's PREDICATE the hashtable key

	For hashtable entries with symbol keys, `test-completion' would convert
	the key to a string before calling PREDICATE, unlike `try-completion'
	and `all-completions'.

	* src/minibuf.c (Ftest_completion): Pass original key from hashtable.

2016-12-06  Noam Postavsky  <npostavs@gmail.com>

	Give test-completion's PREDICATE full alist entry

	Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
	calling test-completion with an alist collection, the predicate was
	receiving the string value instead of the alist entry (Bug#24966).

	* src/minibuf.c (Ftest_completion): Don't modify the found element, just
	test STRING against `completion-regexp-list'.
	* test/src/minibuf-tests.el: New tests for `try-completion',
	`all-completions', and `test-completion'.

2016-12-06  Noam Postavsky  <npostavs@gmail.com>

	Fix ert-tests when running compiled

	* test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
	specific macroexpansion, just check result of evaluation.
	(ert-test-record-backtrace): Don't hardcode representation of closure in
	expected backtrace, this lets the test succeed even when the test code
	is compiled.

	* lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
	`byte-compile-macro-environment' to `macroexpand', this allows the
	`should' macro to properly handle macroexpansion of macros that were
	defined in the same file when it's being compiled (Bug #17851).

2016-12-06  Glenn Morris  <rgm@gnu.org>

	Make "g" in vc push/pull buffers re-push/pull

	* lisp/vc/vc-bzr.el (vc-bzr--pushpull):
	* lisp/vc/vc-git.el (vc-git--pushpull):
	* lisp/vc/vc-hg.el (vc-hg--pushpull):
	Set compile-command so that "g" works.  (Bug#11446)

2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	Change two _Noreturn functions to return void

	This is a bit clearer than _Noreturn functions that (do not)
	return a non-void type.
	* src/callproc.c (call_process) [MSDOS]:
	Use 'status' local to record status.
	(child_setup): Return CHILD_SETUP_TYPE.
	* src/data.c, src/lisp.h (wrong_type_argument): Return void.
	All callers changed.
	* src/lisp.h (CHILD_SETUP_TYPE): New macro.

2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>

	Fix GPG bug introduced by Oct file-missing change

	Problem with visiting nonexistent .gpg file
	reported by Herbert J Skuhra.
	* lisp/epa-file.el (epa-file--find-file-not-found-function):
	(epa-file-insert-file-contents, epa-file-write-region):
	Signal file-missing or file-error instead of epa-error.

2016-12-05  Glenn Morris  <rgm@gnu.org>

	Tweak recent flymake change

	* lisp/progmodes/flymake.el (flymake-report-fatal-status):
	Avoid double message when flymake-log-level >= 0.
	* doc/misc/flymake.texi (Customizable variables):
	No longer mention flymake-gui-warnings-enabled.

2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)

	* lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
	and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
	`widget-backward' instead (bug#25091).

2016-12-05  Michael Albinus  <michael.albinus@gmx.de>

	Remove compat code in Tramp

	* lisp/net/tramp.el (tramp-parse-time-months): Remove.

	* lisp/net/tramp-compat.el (top): Require parse-time.

	* lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
	Use `parse-time-months'.

2016-12-05  Martin Rudalics  <rudalics@gmx.at>

	Don't try to split side windows in ibuffer (Bug#25115)

	* lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
	split a side window (Bug#25115).

2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>

	* src/lisp.h: Update comment to kick -Og down the road.

2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>

	More image-dired refactoring

	* lisp/image-dired.el: Remove TODO comment. This appears to have been
	implemented in 5d7433a "image-dired: Signal an error before calling a
	missing executable".
	(image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
	Add :version.
	(image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
	when. Remove superfluous call to image-dired-thumb-name. Move single nil
	binding and setq into dolist form.

2016-12-04  Michael Albinus  <michael.albinus@gmx.de>

	Implement quoting the local part of a remote file name

	* doc/emacs/files.texi (Quoted File Names):
	* etc/NEWS: Mention quoting the local part of a remote file name.

	* lisp/net/tramp.el (tramp-dissect-file-name): Check with
	`tramp-tramp-file-p'.
	(tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
	New defsubst.
	(tramp-handle-substitute-in-file-name)
	(tramp-handle-make-auto-save-file-name): Handle quoted files.
	(tramp-shell-quote-argument): Unquote argument.

	* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
	Handle quoted files.

	* test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
	(tramp--test-make-temp-name): New argument QUOTED.
	(tramp-test01-file-name-syntax)
	(tramp-test02-file-name-dissect)
	(tramp-test04-substitute-in-file-name)
	(tramp-test05-expand-file-name, tramp-test07-file-exists-p)
	(tramp-test08-file-local-copy)
	(tramp-test09-insert-file-contents)
	(tramp-test10-write-region, tramp-test11-copy-file)
	(tramp-test12-rename-file, tramp-test13-make-directory)
	(tramp-test14-delete-directory, tramp-test15-copy-directory)
	(tramp-test16-directory-files)
	(tramp-test17-insert-directory)
	(tramp-test18-file-attributes)
	(tramp-test19-directory-files-and-attributes)
	(tramp-test20-file-modes, tramp-test21-file-links)
	(tramp-test22-file-times, tramp-test23-visited-file-modtime)
	(tramp-test24-file-name-completion, tramp-test25-load)
	(tramp-test26-process-file, tramp-test27-start-file-process)
	(tramp-test28-shell-command, tramp-test30-vc-registered)
	(tramp-test31-make-auto-save-file-name)
	(tramp--test-check-files)
	(tramp-test35-asynchronous-requests): Test also quoted file names.
	(tramp--test-shell-command-to-string-asynchronously): Rename.
	(tramp-test29-environment-variables): Use it.

2016-12-04  Tino Calancha  <tino.calancha@gmail.com>

	Fix typo in dired-omit-case-fold-p

	* lisp/dired-x.el (dired-omit-case-fold-p):
	Write 'file-name-case-insensitive-p' instead of
	'file-name-case-sensitive-p'.
	Add declaration of 'file-name-case-insensitive-p'.

2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>

	Add HTML5 attributes for the input element

	* lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
	for the input element.

2016-12-03  Glenn Morris  <rgm@gnu.org>

	Obsolete sc-load-hook in favor of eval-after-load

	* lisp/mail/supercite.el (sc-load-hook): Make obsolete.
	* doc/misc/sc.texi (Getting Connected, Filling Cited Text):
	No longer mention sc-load-hook.

2016-12-03  Glenn Morris  <rgm@gnu.org>

	Obsolete calendar-load-hook in favor of eval-after-load

	* lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
	(calendar): Doc fix - no longer mention calendar-load-hook.
	* doc/emacs/cal-xtra.texi (Calendar Customizing):
	No longer mention calendar-load-hook.
	* doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
	Replace calendar-load-hook in example with with-eval-after-load.

2016-12-03  Glenn Morris  <rgm@gnu.org>

	Fix markup in read-multiple-choice doc (Bug#25102)

	* lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.

2016-12-03  Glenn Morris  <rgm@gnu.org>

	Stop flymake using dialog boxes for errors (Bug#16622)

	* lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
	Mark as obsolete.
	(flymake-display-warning): Turn into an obsolete alias.
	(flymake-report-fatal-status): Just use message for a warning that
	was formerly displayed by default.

2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>

	Clean up keymap and menu code in image-dired

	A function to populate these maps is not necessary, just define the maps
	once and for all.
	* lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
	clearer and in the spirit of dired's.
	(image-dired-define-display-image-mode-keymap):
	(image-dired-define-thumbnail-mode-keymap): Remove.
	(image-dired-thumbnail-mode-map):
	(image-dired-thumbnail-mode-line-up-map):
	(image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
	menu code from the aforementioned removed functions.  Reorder so that
	the definitions are inherited properly.
	(image-dired-display-current-image-sized): Fix erroneous message.
	(image-dired-thumbnail-mode):
	(image-dired-display-image-mode): Remove defunct call.

2016-12-03  Michael Albinus  <michael.albinus@gmx.de>

	Mention `file-name-case-insensitive-p' as magic file name

	* doc/lispref/files.texi (Magic File Names):
	Mention `file-name-case-insensitive-p'.

	* doc/lispref/variables.texi (Connection Local Variables):
	Fix typo.

2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>

	Clean up uses of cl-foo in image-dired

	Both instances here are just emulating cl-find-if.
	* lisp/image-dired.el: Use cl-lib at compile time.
	(image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
	Replace the cl-foo instances with equivalent cl-loops.

2016-12-03  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warnings in nt/*.c files

	* nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
	(console_event_handler): Add prototypes.
	(canon_filename, skip_space, skip_nonspace, get_next_token)
	(batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
	(spawn, get_env_size): Now static.
	* nt/ddeclient.c (DdeCallback): Provide prototype.
	* nt/addpm.c (DdeCallback): Provide prototype.
	(add_registry): Now static.

2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>

	Display window before calculating width

	* lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
	before calling image-dired-line-up and friends, which in turn calculate
	the window width. Otherwise, the thumbnail layout will be wrong in
	a side-by-side split.

2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>

	Use pop-to-buffer-same-window

	* lisp/image-dired.el (image-dired-dired-with-window-configuration):
	(image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
	use pop-to-buffer-same-window cf. Bug#22244.
	(image-dired-forward-image, image-dired-backward-image): Ignore unused.

2016-12-02  Noam Postavsky  <npostavs@gmail.com>

	Document watchpoints

	* doc/lispref/debugging.texi (Variable Debugging):
	* doc/lispref/variables.texi (Watching Variables): New section.
	* etc/NEWS: Add entry for watchpoints

2016-12-02  Noam Postavsky  <npostavs@gmail.com>

	Add tests for watchpoints

	* test/src/data-tests.el (data-tests-variable-watchers):
	(data-tests-local-variable-watchers): New tests.

2016-12-02  Noam Postavsky  <npostavs@gmail.com>

	Ensure redisplay using variable watcher

	This replaces looking up the variable name in redisplay--variables when
	setting it.

	* lisp/frame.el: Replace redisplay--variables with add-variable-watcher
	calls.
	* src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
	set the redisplay flag unconditionally.
	(Vredisplay__variables): Remove it.
	* src/data.c (set_internal): Remove maybe_set_redisplay call.

2016-12-02  Noam Postavsky  <npostavs@gmail.com>

	Add function to trigger debugger on variable write

	* lisp/emacs-lisp/debug.el (debug-on-variable-change):
	(debug--variable-list):
	(cancel-debug-on-variable-change): New functions.
	(debugger-setup-buffer): Add watchpoint clause.

2016-12-02  Noam Postavsky  <npostavs@gmail.com>

	Show watchpoints when describing variables

	* src/data.c (Fget_variable_watchers): New function.
	* lisp/help-fns.el (describe-variable): Use it to detect watching
	functions.

2016-12-02  Noam Postavsky  <npostavs@gmail.com>

	Add lisp watchpoints

	This allows calling a function whenever a symbol-value is changed.

	* src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
	(SYMBOL_TRAPPED_WRITE_P): New function/macro.
	(lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
	(enum symbol_trapped_write): New enumeration.
	(struct Lisp_Symbol): Rename field constant to trapped_write.
	(make_symbol_constant): New function.

	* src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
	(set_symbol_trapped_write, restore_symbol_trapped_write):
	(harmonize_variable_watchers, notify_variable_watchers): New functions.

	* src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
	symbols.
	(set_internal): Change bool argument BIND to 3-value enum and call
	`notify_variable_watchers' for trapped symbols.

	* src/data.c (syms_of_data):
	* src/data.c (syms_of_data):
	* src/font.c (syms_of_font):
	* src/lread.c (intern_sym, init_obarray):
	* src/buffer.c (syms_of_buffer): Use make_symbol_constant.

	* src/alloc.c (init_symbol):
	* src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
	* src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
	(Fmake_variable_frame_local):
	* src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
	trapped_write instead of constant.
	(Ffuncall): Move subr calling code into separate function.
	(funcall_subr): New function.

2016-12-02  Glenn Morris  <rgm@gnu.org>

	Starting doc of user options with "*" is long obsolete

	* lisp/battery.el (battery-upower-device): Doc fix.

2016-12-02  Nicolas Petton  <nicolas@petton.fr>

	Fix bug#25087

	* etc/themes/manoj-dark-theme.el: Fix two typos.

	(cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)

2016-12-02  Reuben Thomas  <rrt@sc3d.org>

	Fix docstrings to have a complete sentence in first line

	* lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
	docstrings.

2016-12-02  Reuben Thomas  <rrt@sc3d.org>

	Remove obsolete comments and commented code from dired-x.el

	* lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
	1997 answer about whether dired-mark-sexp is used.
	* lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
	commented out since before dired-x.el was added to RCS in 1994.

2016-12-02  Reuben Thomas  <rrt@sc3d.org>

	Remove pre-customize dired-x.el documentation

	* lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
	use dired-x from .emacs.  It is now fully customizable.
	* lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
	how to set this custom variable in .emacs.  It should be customized.

2016-12-02  Reuben Thomas  <rrt@sc3d.org>

	Allow files to be matched case-sensitively in dired-x

	* lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
	controls case folding for matching the regex (Bug#18716).
	(dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
	systems, `nil' otherwise.
	(dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
	* doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.

2016-12-02  Reuben Thomas  <rrt@sc3d.org>

	Add support for curly quotation marks to electric-pair-mode

	* lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
	entries for left/right single/double quotation marks, from
	electric-quote-chars. Note that this is safe for single quotation marks,
	unlike with the ASCII apostrophe, since, although the right quotation
	mark can be used as an apostrophe, it is the left quotation mark that is
	typed to get a pair (Bug#24901).

2016-12-02  Nicolas Petton  <nicolas@petton.fr>

	Fix bug#25087

	* etc/themes/manoj-dark-theme.el: Fix two typos.

2016-12-02  Michael Albinus  <michael.albinus@gmx.de>

	Handle quoted file names in Tramp

	* lisp/net/tramp.el (tramp-file-name-handler): Handle also the
	case the file name is quoted.  This is not trapped by the
	reassigned `tramp-file-name-regexp' anymore.

2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>

	* lisp/battery.el: Add 'battery-upower' -- very fast battery status.

2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>

	Support for rawrgb images using imagemagick

	* src/image.c (imagemagick_load_image): Set wand size before loading
	blob when ':width' and ':height' are provided.

	* lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.

2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>

	Fix 'sql-connect' on first invocation

	* lisp/progmodes/sql.el (sql-connect): Reorder code which sets
	param-var.  (Bug#19452)

2016-12-02  Eli Zaretskii  <eliz@gnu.org>

	* lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)

2016-12-02  Eli Zaretskii  <eliz@gnu.org>

	Improve indexing of 'man'

	* doc/emacs/programs.texi (Man Page): Index 'man', not
	'manual-entry', as the latter is an alias for the former.
	Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)

2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>

	Port to Sun C 5.14

	Backport from master.  Sun C 5.14 supports C11 but not GCC
	extensions, and so refuses to compile Emacs without this patch.
	* src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
	size_t, as in general this macro is restricted to signed types.

2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix type typo on Solaris

	* src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
	Fix type mismatch, caught by --enable-check-lisp-object-type.

2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
	2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
	* build-aux/snippet/c++defs.h:
	* lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
	Copy from gnulib.

2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>

	Make struct font_drivers read-only

	This simplifies the code a bit, and makes the structs more
	shareable and less likely to become corrupt.
	* src/alloc.c (cleanup_vector):
	* src/font.c (valid_font_driver, font_prepare_cache)
	(font_finish_cache, font_get_cache, font_clear_cache)
	(register_font_driver, font_update_drivers):
	* src/font.h (struct font, struct font_driver_list)
	(valid_font_driver):
	struct font_drivers are now const.
	* src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
	Omit no-longer-necessary decls.
	* src/ftcrfont.c (syms_of_ftcrfont):
	* src/ftxfont.c (syms_of_ftxfont):
	* src/xftfont.c (syms_of_xftfont):
	Omit no-longer-necessary initialization code.
	* src/ftcrfont.c (ftcrfont_driver):
	* src/ftfont.c (ftfont_driver):
	* src/ftxfont.c (ftxfont_driver):
	* src/macfont.m (macfont_driver):
	* src/nsfont.m (nsfont_driver):
	* src/xfont.c (xfont_driver):
	* src/xftfont.c (xftfont_driver):
	Use C99-style initializer for ease of maintenance, and make it const.
	* src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
	Refer to functions like ftfont_text_extents directly.
	* src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
	(ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
	(ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
	(ftfont_variation_glyphs, ftfont_filter_properties)
	(ftfont_combining_capability):
	* src/xfont.c (xfont_get_cache):
	Now extern, so that other modules’ struct font_drivers can use
	them directly.
	* src/macfont.m (macfont_descriptor_entity):
	* src/nsfont.m (nsfont_open):
	Use constant directly; this is clearer.

2016-12-01  Richard Stallman  <rms@gnu.org>

	Fix mail-combine-fields

	* lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
	avoid losing our place in the search loop.

	(cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)

2016-12-01  Helmut Eller  <eller.helmut@gmail.com>

	Forth related improvements for etags

	Generate correct tags names for things like "(foo)".
	Previously "(foo" created.

	Fix a bug where a tag for "-bar" was created when encountering things
	like "create-bar".

	Recognize more words from the Forth-2012 Standard.

	* lib-src/etags.c (Forth_words): Check for whitespace after defining
	words.  Create tag with make_tag instead of get_tag to avoid notiname
	which isn't appropriate for Forth.

	* test/manual/etags/forth-src/test-forth.fth: Add some test cases.
	* test/manual/etags/ETAGS.good_1:
	* test/manual/etags/ETAGS.good_2:
	* test/manual/etags/ETAGS.good_3:
	* test/manual/etags/ETAGS.good_4:
	* test/manual/etags/ETAGS.good_5:
	* test/manual/etags/ETAGS.good_6:
	* test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
	new test cases.

2016-12-01  Eli Zaretskii  <eliz@gnu.org>

	Fix bugs with buffer-local tags tables

	* lisp/progmodes/etags.el (visit-tags-table): After
	'visit-tags-table-buffer' returns, retrieve the value of
	'tags-file-name' from the buffer we started in.  Force
	recomputation of 'tags-completion-table' next time it is used,
	since the list of tags table has changed.
	(visit-tags-table-buffer): Accept an additional optional argument
	CBUF, the buffer in which to start processing, and switch to that
	buffer if CBUF is non-nil.  All callers changed to supply a
	non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
	Doc fix.
	(tags-completion-table): Accept an optional argument, the buffer
	for which to build 'tags-completion-table', and build that
	buffer's completion table.
	(tags-lazy-completion-table): Pass the current buffer to
	'tags-completion-table'.
	(tags-file-name): Don't say in the doc string that setting this
	variable directly is enough; say that 'visit-tags-table' should be
	used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)

	* doc/emacs/maintaining.texi (Select Tags Table): Delete the
	advice to set 'tags-file-name' directly.

	* test/lisp/progmodes/etags-tests.el: New tests.

2016-12-01  Martin Rudalics  <rudalics@gmx.at>

	Fix documentation of `window-combination-resize'

	* src/window.c (Vwindow_combination_resize): Fix doc-string.
	* doc/lispref/windows.texi (Recombining Windows): Fix
	documentation of `window-combination-resize'.

2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>

	* src/lisp.h (LISP_INITIALLY_ZERO): Remove.

	All uses replaced by LISPSYM_INITIALLY.

2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>

	Make Cairo safer for --enable-gcc-warnings

	* src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
	Avoid overflow warnings about ‘0xff << 24’.
	(xpm_load, gif_load): Avoid unnecessary casts.
	(gif_load): Fewer ifdefs.

2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>

	Fix Condition in kbd_buffer_store_buffered_event (bug#19547).

	* src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
	!NILP.

2016-11-29  Noam Postavsky  <npostavs@gmail.com>

	Fix previous commit

	* lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
	of hunk before calling `diff-hunk-style'.

2016-11-29  Noam Postavsky  <npostavs@gmail.com>

	* lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.

2016-11-29  Glenn Morris  <rgm@gnu.org>

	Use archive-mode for .cbr files

	* lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)

2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify Sun C 5.14

	* src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
	SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
	into this enum rather than into an anonymous enum.  This avoids
	diagnostics from Sun C 5.14 and is a bit clearer anyway.

2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>

	Adjust lwlib to recent config.h change

	* lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).

2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>

	* src/eval.c (clobbered_eassert): Check E's syntax.

2016-11-29  Michael Albinus  <michael.albinus@gmx.de>

	Improve user retrieval from auth-source in Tramp

	* lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
	Use user for auth-source request only in case it exists.

2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>

	shr.el: Don't render a normal table twice

	* lisp/net/shr.el (shr-collect-extra-strings-in-table):
	Don't render a table if it is called for the first time,
	IOW, recognize it to never be invalid (bug#25051).

2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)

	Typo fixes in elisp manual

	* doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
	* doc/lispref/strings.texi (Text Comparison): Avoid duplicate
	definitions of 'string-prefix-p' and 'string-suffix-p'.
	* doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.

2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>

	Improve diff-mode navigation/manipulation

	This is Bug #17544.

	Navigation and use of diff buffers had several annoying corner cases
	that this patch fixes.  These corner cases were largely due to
	inconsistent treatment of file headers.  Say you have a diff such as
	this:

	 --- aaa
	 +++ bbb
	 @@ -52,7 +52,7 @@
	 hunk1
	 @@ -74,7 +74,7 @@
	 hunk2
	 --- ccc
	 +++ ddd
	 @@ -608,6 +608,6 @@
	 hunk3
	 @@ -654,7 +654,7 @@
	 hunk4

	The file headers here are the '---' and '+++' lines.  With the point on
	such a line, hunk operations would sometimes refer to the next hunk and
	sometimes to the previous hunk.  Most of the time it would be the
	previous hunk, which is not what the user would expect.  This patch
	consistently treats such headers as the next hunk.  So with this patch,
	if the point is on the '--- ccc' line, the point is seen as referring to
	hunk3.

	Specific behaviors this fixes are:

	1. It should be possible to place the point in the middle of a diff
	buffer, and press M-k repeatedly to kill hunks in the order they appear
	in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
	hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
	fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
	This is fixed by this patch.

	2. Similarly, it should be possible to apply hunks in order.  Previously
	with the point at the start, C-c C-a would apply the hunk1, then move
	the point to the first @@ header, and thus C-c C-a would try to apply
	the same hunk again.

	* lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
	navigation logic to diff-{hunk,file}-{next,prev}.
	(diff-hunk-next, diff-hunk-prev):
	(diff-file-next, diff-file-prev): Better navigation logic if
	skip-hunk-start is true, which happens when called interactively.
	(diff-bounds-of-hunk, diff-find-source-location):
	(diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
	improve hunk navigation.

2016-11-28  Noam Postavsky  <npostavs@gmail.com>

	Upcase Path and ComSpec in process-environment

	Since 2016-07-18 "Keep w32 environment settings internal only", the
	upcasing of environment variables "Path" and "ComSpec" occurred after
	initializing process-environment.  This meant that Lisp code trying to
	override "PATH" environment had no effect (Bug #24956).

	* src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
	in Vprocess_environment.

2016-11-28  Philipp Stephani  <phst@google.com>

	Guard terminal parameter in XTerm mouse mode

	It has been observed (in the HTerm terminal emulator) that the
	event stored in the 'xterm-mouse-last-down' terminal parameter gets
	overwritten during a mouse drag operation, causing Emacs to attempt to
	synthesize the non-existing <drag-mouse-0> event.  Copy the event into
	the terminal parameter to protect against such modifications.

	* lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
	of input event list.

2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>

	Fix template for module functions

	Reported by Syohei YOSHIDA (Bug#24932).
	* modules/modhelp.py (TEMPLATES):
	c_func’s 2nd arg is ptrdiff_t, not int.

2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify gcc -Wswitch.

	* src/keyboard.c (kbd_buffer_store_buffered_event):
	Move initialization into default case.

2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>

	Reuse already existing lisp symbols for ignore_event (bug#19547).

	* lisp/subr.el (while-no-input-ignore-events): Use them instead.
	* src/keyboard.c (kbd_buffer_store_buffered_event):
	Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
	and make-frame-visible for DEICONIFY_EVENT.
	(syms_of_keyboard): Remove unneeded symbols.

2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>

	Allow configuring which event throw-on-input should ignore (bug#19547).

	* src/keyboard.c (kbd_buffer_store_buffered_event):
	Translate event to corresponding symbol from `while-no-input-ignore-events`
	and check them with Fmemq.
	(syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
	and its symbols.

	* lisp/subr.el (while-no-input-ignore-events): Add default values.

	* doc/lispref/commands.texi (Event Input Misc):
	Document while-no-input-ignore-events.
	* etc/NEWS: Same.

2016-11-26  Tino Calancha  <tino.calancha@gmail.com>

	ash, lsh avoid code duplication

	See discussion in:
	https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
	* src/data.c (ash_lsh_impl): New function.
	(ash, lsh): Use it.

2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>

	Add will change module to CSS property list

	* lisp/textmodes/css-mode.el (css-property-alist)
	(css-value-class-alist): Add new property and value class from CSS
	Will Change Module.

2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	Don't access pointers to freed storage in regex.c

	Remove __BOUNDED_POINTERS__ code, which does not work with
	-fcheck-pointer-bound and which has undefined behavior anyway.
	Problem found when trying to port to gcc -fcheck-pointer-bounds.
	(This code was removed from glibc and gnulib regex.c many years ago.)
	* src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
	(EXTEND_BUFFER): Use a more-portable approach that avoids
	undefined behavior due to inspecting pointers to freed storage.

2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>

	Port build to gcc -fcheck-pointer-bounds

	This does not let Emacs run, just build.
	* lib-src/etags.c (main):
	* lib-src/profile.c (main):
	Use return, not exit.
	* src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
	Do not define, as -fcheck-pointer-bounds is incompatible with taking
	addresses of labels.
	* src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
	to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.

2016-11-25  Tino Calancha  <tino.calancha@gmail.com>

	* lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.

2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>

	* lisp/rot13.el: Use lexical-binding

2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>

	Add "using" to cl-loop debug spec (Bug#24750)

	* lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
	"using" hash table clause.

2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)

	Allow user control of progress messages in cpp.el

	* lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
	(cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
	the doc string.
	(cpp-highlight-buffer): Use 'cpp-progress-message' instead of
	'message' to print messages.  (Bug#24861)

2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)

	New input method 'polish-prefix'

	* lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
	method.  (Bug#24967)

	* etc/NEWS: Mention the new input method.

2016-11-25  Damien Cassou  <damien@cassou.me>

	* lisp/isearch.el: Add 'provide'.  (Bug#25026)

2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>

	Add missing 'provide's in preloaded packages

	* lisp/composite.el:
	* lisp/replace.el:
	* lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)

2016-11-24  Alan Mackenzie  <acm@muc.de>

	Handle correctly an (undocumented) bare mode in hack-local-variables.

	lisp/files.el (hack-local-variables-prop-line): When a file's first line
	contains only a mode specification without the string "mode:", return the mode
	symbol only when `handle-mode' is t.

2016-11-23  Dima Kogan  <dima@secretsauce.net>

	Clarify ediff-directories prompt

	* lisp/vc/ediff-mult.el (ediff-filegroup-action):
	* lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
	ediff-directories3, ediff-merge-directories,
	ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
	ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
	filename filter in interactive ediff. The new message makes it clear what is
	being filtered

2016-11-23  Tino Calancha  <tino.calancha@gmail.com>

	* test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.

2016-11-23  Ulf Jasper  <ulf.jasper@web.de>

	Fix Bug#24199.

	* lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
	  bracket in doc string (make checkdoc happy).
	  (icalendar-import-buffer),
	  (icalendar-import-buffer),
	  (icalendar--convert-ical-to-diary),
	  (icalendar--add-diary-entry): Rename argument diary-file to
	  diary-filename (make checkdoc happy).
	  (icalendar--convert-recurring-to-diary): Take care of byday-clause
	  in monthly recurring events.  Actually fix Bug#24199.

	* test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.

2016-11-23  Tino Calancha  <tino.calancha@gmail.com>

	* test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.

2016-11-22  Philipp Stephani  <phst@google.com>

	Comint: new user option for C-c M-r and C-c M-s

	This option allows the user to specify where to place point after these
	commands.

	* lisp/comint.el (comint-move-point-for-matching-input): New user option.
	(comint-previous-matching-input-from-input): Use user option.

2016-11-22  Michael Albinus  <michael.albinus@gmx.de>

	Add tramp-eshell-directory-change to eshell-first-time-mode-hook

	* lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
	`eshell-first-time-mode-hook'.

2016-11-22  Michael Albinus  <michael.albinus@gmx.de>

	Dump also connection local variables in Tramp bug reports

	* lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
	Dump also connection local variables.

2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>

	Make sure elided long buffer names have ellipses added (Bug#24972)

	* lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
	string concat, and chop "strvar" less the width of the ellipsis.
	(ibuffer-compile-make-substring-form): Add space as padding, to fix
	off-by-one in alignment.

2016-11-21  Tino Calancha  <tino.calancha@gmail.com>

	Buffer-menu-no-header: Detect a fake header

	* lisp/buff-menu.el (Buffer-menu-no-header): Use
	'tabulated-list-header-overlay-p' (Bug#24855).

2016-11-21  Tino Calancha  <tino.calancha@gmail.com>

	buff-menu: Add command to unmark all buffers

	Bind 'U' in buff-menu, bs and electric-buff-menu to commands
	to unmark all buffers (Bug#24880).
	* lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
	New predicate; return non-nil if tabulated-list has a fake header.
	* lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
	New command; remove all flags that use a particular mark from all the lines.
	Bind it to 'M-DEL'.
	(Buffer-menu-unmark-all):
	New command; remove all flags from all the lines.  Bind it to 'U'.
	(Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
	(Buffer-menu-delete, Buffer-menu-mark): Use them.
	(Buffer-menu-mode-map): Update menus.
	(Buffer-menu-mode): Update mode doc.
	* lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
	(bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
	(bs-mode): Update mode doc.
	* lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
	Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
	to 'M-DEL'.
	(bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
	Use point instead of cursor in doc string.
	(electric-buffer-list): Update mode doc.
	* doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
	and Buffer-menu-unmark-all-buffers.

2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>

	Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."

	This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.

2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>

	Port htmlfontify to cl-lib

	* lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
	(hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
	(hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
	instances of cl aliases with their cl-lib counterparts.

2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.

2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix another CANNOT_DUMP problem

	Reported by Robert Pluim in:
	https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
	* src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
	* src/lisp.h: ... to here.

2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>

	Add further consideration to string-width (Bug#24972)

	* lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
	(ibuffer-compile-make-substring-form): Use truncate-string-to-width.

2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>

	Don't collect strings existing out of <tr>...</tr>

	* lisp/net/shr.el (shr-collect-extra-strings-in-table):
	Don't collect strings existing out of <tr>...</tr> to avoid
	duplication with what `shr-tag-table' renders.

2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
	the last commit.

2016-11-20  Mike Kupfer  <m.kupfer@acm.org>

	Add a variable to pass additional options to rcvstore

	* lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
	(gnus-summary-save-in-folder): Include gnus-rcvstore-options in
	the arguments that are passed to rcvstore.

	cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
	and followups, i.e., ding mailing list.

2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix undefined refs on some GNU/Linux hosts

	Problem reported by Ken Raeburn in:
	https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
	* src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
	not needed in the CANNOT_UNDUMP case.  All uses removed.  This
	removes unwanted references to my_endbss and my_endbss_static,
	which are not optimized away on some platforms.

2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	Make CANNOT_DUMP work better on GNU/Linux

	Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
	lets the build succeed again, and fixes the testing framework so
	that most test cases now pass.  About twenty test cases still
	fail, though, and we still have Bug#24974.
	* configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
	(SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
	be any point to messing with a private memory allocator unless
	Emacs is dumping.
	* src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
	* src/image.c (reset_image_types):
	* src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
	Do not define if CANNOT_DUMP.
	* src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
	(daemon_pipe) [!WINDOWSNT]: Now static.
	* test/Makefile.in (mostlyclean): Remove *.tmp files.
	(make-test-deps.mk): Elide CANNOT_DUMP chatter.

2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	* src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.

2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify --enable-gcc-warnings CANNOT_DUMP=yes

	* src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
	Do not define.  If defining, do it in a smaller scope.

2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length

2016-11-20  Eli Zaretskii  <eliz@gnu.org>

	Fix redrawing non-selected frame after resize on MS-Windows

	* src/xdisp.c (redisplay_internal): If all the frames were
	successfully updated, reset the "garbaged" flag of each frame, to
	make sure it doesn't stay set.

	* src/w32term.c (w32_read_socket): Don't clear the frame if it's
	"garbaged", since expose_frame won't redraw the foreground then.
	(Bug#24642)

2016-11-20  Michael Albinus  <michael.albinus@gmx.de>

	Add file-local-name

	* doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
	(Unique File Names): Use it.

	* etc/NEWS: Mention `file-local-name'.

	* lisp/files.el (file-local-name): New defun.
	(file-expand-wildcards):
	* lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
	* lisp/eshell/esh-ext.el (eshell-remote-command):
	* lisp/eshell/esh-proc.el (eshell-gather-process-output):
	* lisp/org/ob-core.el (org-babel-local-file-name):
	* lisp/progmodes/gud.el (gud-common-init, gud-format-command):
	* lisp/progmodes/python.el (python-shell-send-file):
	* lisp/shell.el (shell):
	* lisp/vc/ediff-diff.el (ediff-same-file-contents):
	* lisp/vc/vc-git.el (vc-git-checkin): Use it.

2016-11-20  Tino Calancha  <tino.calancha@gmail.com>

	* lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.

2016-11-19  Tino Calancha  <tino.calancha@gmail.com>

	* src/editfns.c (format-time-string): Mention %q in doc string.

2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	Document format-time-string %q

	* doc/lispref/os.texi (Time Parsing):
	* etc/NEWS: Document new %q functionality taken from gnulib.

2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2016-11-15 sys_time: add gnulib::timeval for C++
	2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
	2016-11-13 strftime: don't use __THROW
	2016-11-12 strftime: tune %q
	2016-11-12 Merge strftime.c changes from glibc
	2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
	2016-11-05 strftime,strptime: support %q to represent the quarter

	The glibc changes in turn incorporate the following strftime.c changes:
	2015-10-20 Convert misc function definitions to prototype style
	2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
	2010-01-09 Add support for XPG7 testing
	2009-10-30 Implement Burmese language locale for Myanmar
	2008-06-13 [BZ #6612] pass reference to tzset_called around
	2007-10-16 [BZ #5184] Add tzset_called argument

	* build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
	* m4/manywarnings.m4: Copy from gnulib.

2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	07f45d7 ; Spelling fix
	1a210f0 * admin/release-process: Update versions and blocking bug num...
	36bafc9 Improve documentation of functions that accept time values

	# Conflicts:
	#	admin/release-process
	#	src/editfns.c

2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	4af5981 Add a comment in generated refcards about the source
	ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
	4887e7c js-mode: Fix indent problem after a regexp
	e992ac0 Fix sluggish display of symbols in UTF-8 language environment
	1fc101b Don't confuse how Texinfo outputs @var with the input
	91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
	f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
	5b0cddd More fixes in copyright notices in etc/refcards/
	f994c20 Update copyright text in refcards
	9ad2ae7 Fix Outline command names
	26c3554 Send text received by bracketed paste to process
	db0b58d Correct the statement about programming modes always running ...
	78aece4 Improve documentation of 'occur'
	eb364fd Do call debugger on failed cl-assert
	3ef4ee8 Avoid infloop in python
	8da810f Don't refer to obsolete FEATURE-unload-hook
	4f478ca Improve documentation of dabbrevs
	7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
	89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
	3b199f7 Improve documentation of some Help commands
	93d3a0e Fix documentation of yes-or-no prompts
	af04919 Fix documentation of partial completion style
	ed80184 Fix documentation of the mode line on emacsclient frames
	e6be855 Fix description of 'C-z' in User manual
	16f7007 Improve and clarify documentation of Outline Mode
	31d93aa Add Emacs version number to nt/README.W32
	0b6b815 Fix python-mode hideshow regexp
	dc152c5 Modernize usage of 'macOS' in doc and comments
	84c5343 Prefer comments /* like this */ in C code
	bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
	3ef86fd Clarify documentation of face attribute functions
	de51d59 ; * nt/README.W32: Minor copyedits.
	db436e9 Don't call debug on failed cl-assert

	# Conflicts:
	#	doc/emacs/cmdargs.texi
	#	etc/NEWS
	#	etc/PROBLEMS
	#	lisp/auth-source.el
	#	lisp/net/tramp-sh.el

2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>

	Port RefTeX to cl-lib

	* lisp/textmodes/reftex-auc.el:
	* lisp/textmodes/reftex-cite.el: Use cl-lib.
	(reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
	macros.
	* lisp/textmodes/reftex-dcr.el: Use cl-lib.
	(reftex-view-regexp-match): Substitute cl-lib macro.
	* lisp/textmodes/reftex-global.el: Use cl-lib.
	(reftex-find-duplicate-labels, reftex-renumber-simple-labels):
	(reftex-translate): Substitute cl-lib macros.
	* lisp/textmodes/reftex-index.el: Use cl-lib.
	(reftex-index, reftex-index-select-tag, reftex-index-mode-map):
	(reftex-index-next-phrase, reftex-index-phrases-info):
	(reftex-query-index-phrase): Substitute cl-lib macros.
	* lisp/textmodes/reftex-parse.el: Use cl-lib.
	(reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
	(reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
	Substitute cl-lib macros.
	* lisp/textmodes/reftex-ref.el: Use cl-lib.
	(reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
	macros.
	* lisp/textmodes/reftex-sel.el: Use cl-lib.
	(reftex-select-shared-map): Set keymap parent to special-mode-map.
	Flatten loop and remove digits and hyphen definitions from the map.
	(reftex-select-label-mode-map):
	(reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
	(reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
	* lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
	cl-pushnew.
	* lisp/textmodes/reftex.el: Use cl-lib.
	(reftex-docstruct-symbol): Use cl-incf.
	(reftex-ref-style-toggle): Replace add-to-list with append.
	(reftex-compile-variables): Use cl-lib macros, and functions with
	compiler macros. cl-first is just an alias.
	(reftex-parse-args, reftex-scanning-info-available-p):
	(reftex-select-external-document, reftex-get-file-buffer-force): Use
	cl-lib macros.
	(reftex-isearch-minor-mode): Replace add-to-list with append.

2016-11-19  Tino Calancha  <tino.calancha@gmail.com>

	ibuffer-exchange-filters: Simplify code

	* lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.

2016-11-19  Eli Zaretskii  <eliz@gnu.org>

	Implement getrlimit and setrlimit for MS-Windows

	* src/w32heap.c (getrlimit, setrlimit): New functions.
	Include w32.h.
	* src/emacs.c (main): Use 'rlim_t', not 'long', for values that
	should be compatible with 'struct rlimit' members.

	* nt/inc/sys/resource.h: New header file.

	* nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
	Set to "yes".

2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>

	Move key mappings into reftex-mode-map defvar

	* lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
	key mappings.
	(reftex-reset-mode): Just use dolist.

2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>

	Derive reftex-index-mode from special-mode

	* lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
	loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
	from special-mode now.
	(reftex-index-mode): Derive from special-mode.
	(reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.

2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>

	Clean up reftex-toc-mode-map

	* lisp/textmodes/reftex-toc.el: Remove cl.
	(reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
	hyphen, as reftex-toc-mode is derived from special-mode nowadays.

2016-11-18  Philipp Stephani  <phst@google.com>

	Prevent dubious argument lists

	See Bug#24912 and Bug#24913.

	* src/eval.c (funcall_lambda): Detect more dubious argument lists.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
	more dubious argument lists.
	* test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
	test.

2016-11-18  Tino Calancha  <tino.calancha@gmail.com>

	Add test suite for buff-menu.el

	* test/lisp/buff-menu-tests.el: New file.
	(buff-menu-24962): Add test for Bug#24962.

2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)

	Add cyrillic-tuvan input method

	* lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
	method.  (Bug#24942)

	* etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.

2016-11-18  Alexander Gramiak  <agrambot@gmail.com>

	Extend 'indent-relative' when its arg is non-nil

	* lisp/indent.el (indent-relative-maybe): New obsolete alias.
	(indent-relative-first-indent-point): Renamed from
	'indent-relative-maybe'.
	(indent-relative): Now accepts an additional optional argument.
	The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
	the additional arg.  (Bug#24766)

2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>

	Add example for bug#24854

	* test/manual/indent/js.js: Add example for bug#24854.

2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>

	Port registry.el the rest of the way to cl-lib

	This file already is using cl-lib functions at runtime; eieio ultimately
	loads cl-lib, which explains why doing so wasn't an issue.
	* lisp/registry.el: Require cl-lib.
	(registry-db, registry--match, registry-search, registry-delete):
	(registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
	(registry-collect-prune-candidates): Replace cl function with cl-lib one.

2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>

	Fix arglist in python.el (Bug#24762)

	* lisp/progmodes/python.el: Remove unneeded second args.
	(python-define-auxiliary-skeleton): DOC arg should be &optional.

2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>

	Add tests for rot13.el

	* lisp/rot13.el (rot13): Docstring correction.

	* test/lisp/rot13-tests.el: New file with tests for rot13.el.

2016-11-17  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#24947 (Tramp + ido)

	* lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.

	* lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
	Run remote tests only if a connection is established only.  (Bug#24947)

2016-11-16  Ken Brown  <kbrown@cornell.edu>

	Unbreak the build on Darwin (Bug#24957)

	* src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
	mistakes in recent commit.

2016-11-16  Nicolas Petton  <nicolas@petton.fr>

	Do not use map.el in seq-tests.el

	* test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
	introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
	Emacs 24.5.

2016-11-16  Tino Calancha  <tino.calancha@gmail.com>

	Update parameter :version to 26.1 in several defcustom

	Following defcustom where added or modified for 25.2 release.
	In fact all these changes belong to 26.1 release.
	* lisp/battery.el (battery-linux-sysfs-regexp)
	* lisp/comint.el (comint-password-prompt-regexp)
	* lisp/dired.el (dired-always-read-filesystem)
	* lisp/image.el (image-scaling-factor)
	* lisp/ibuf-ext.el (ibuffer-never-search-content-name)
	(ibuffer-never-search-content-mode)
	* lisp/mouse.el (mouse-select-region-move-to-beginning)
	* lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
	(netstat-program, route-program, route-program-options)
	* lisp/net/sieve-manage.el (sieve-manage-default-stream)
	* lisp/progmodes/grep.el (grep-save-buffers)
	* lisp/vc/add-log.el (change-log-directory-files)
	* lisp/url/url-vars.el (url-user-agent)
	* lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
	(vc-hg-use-file-version-for-mode-line-version)
	(vc-hg-parse-hg-data-structures)
	* lisp/wdired.el (wdired-create-parent-directories)
	* lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
	* lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
	(gnus-button-url-regexp)
	* lisp/window.el (switch-to-buffer-preserve-window-point)
	* lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
	(ibuffer-locked-buffer)
	* lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
	* lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
	* lisp/gnus/message.el (message-user-fqdn)
	* lisp/simple.el (shell-command-dont-erase-buffer)
	(extended-command-suggest-shorter)
	* lisp/net/shr.el (shr-use-fonts)
	* lisp/files.el (mounted-file-systems, kill-emacs-query-functions)

2016-11-15  Glenn Morris  <rgm@gnu.org>

	Add --new-daemon, which runs in the foreground and does not fork

	This is intended for modern init systems such as systemd,
	which manage many of the traditional aspects of daemon behavior
	themselves.  (Bug#2677)
	* src/emacs.c (daemon_type): New integer.
	(usage, standard_args): Add --old-daemon and --new-daemon.
	(main): Handle --old-daemon and --new-daemon arguments.
	Restrict all the forking and complicated daemon stuff to old-daemon.
	(Fdaemon_initialized): Handle new-style daemon.
	* src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
	Replace daemon_pipe with daemon_type.
	* doc/emacs/cmdargs.texi (Initial Options):
	* doc/emacs/glossary.texi (Glossary):
	* doc/emacs/misc.texi (Emacs Server):
	* doc/lispref/display.texi (Window Systems):
	* doc/lispref/os.texi (Startup Summary): Related doc updates.
	* etc/NEWS: Mention this.
	* etc/emacs.service: Use Type=simple and --new-daemon.

2016-11-15  Glenn Morris  <rgm@gnu.org>

	* src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
	* doc/man/emacs.1.in: Likewise.

2016-11-15  Ken Brown  <kbrown@cornell.edu>

	Simplify case-insensitivity checks on Mac OS X

	* src/fileio.c (file_name_case_insensitive_p): Try skipping the
	Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
	Leave in two alternatives conditionally compiled based on
	DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.

	* etc/PROBLEMS: Mention the possible problem with pathconf on
	Mac OS X.

2016-11-15  Glenn Morris  <rgm@gnu.org>

	* src/emacs.c (sort_args): Warn about multiple matches.

2016-11-15  Michael Albinus  <michael.albinus@gmx.de>

	Implement file name handler for `file-name-case-insensitive-p'

	* doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
	is also applicable for remote hosts.

	* lisp/net/tramp.el (tramp-methods): Improve docstring.
	(tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
	(tramp-handle-file-name-case-insensitive-p): New defun.

	* lisp/net/tramp-smb.el (tramp-methods) <smb>:
	Add `tramp-case-insensitive' entry.

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
	<file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)

2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>

	Nix more uses of default-FOO variables (Bug#24946)

	* lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
	Check for header-line-format instead.
	* lisp/emulation/viper.el (viper-load-custom-file): Reference
	major-mode instead.
	* lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
	fill-column instead.

2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>

	Complete the name of PostgreSQL databases

	* lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
	name.
	(sql-postgres-list-databases): New function returning a list of
	available PostgreSQL databases.

	* test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.

2016-11-14  Sam Steingold  <sds@gnu.org>

	add `vc-git-print-log-follow' and use it in `vc-git-print-log'

	When `vc-git-print-log-follow' is true and all files are
	non-directory, pass "--follow" to "git log".
	This works around bug#8756 and bug#16422.

2016-11-14  Sam Steingold  <sds@gnu.org>

	`toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'

	vc-git-print-log: pass "--follow" to "log" to handle renamed files

2016-11-14  Eli Zaretskii  <eliz@gnu.org>

	Revert "Improve case-insensitive checks (Bug#24441)"

	This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
	I see no reason for removing code, documentation, and comments
	in the original commit.

2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>

	Update verilog-mode.el

	* lisp/progmodes/verilog-mode.el (verilog-read-decls)
	(verilog-calc-1): Fix "default clocking" indentation and
	preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
	(verilog-diff-report): Fix `verilog-diff-report'
	not returning bad status on differences, bug1087.  Reported by
	Eric Jackowski.
	(verilog-auto-inst-param-value)
	(verilog-auto-inst-param-value-type, verilog-read-sub-decls)
	(verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
	(verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
	(verilog-read-sub-decls-type): When
	`verilog-auto-inst-param-value-type' is set, which is now the
	default, AUTOINPUT etc will now substitute parameter types from
	submodules, bug1061.  Reported by Brad Dobbie.
	(verilog-auto-reset, verilog-backward-case-item)
	(verilog-extended-case-re, verilog-read-always-signals-recurse):
	Fix indentation of randcase, bug1072. Reported by David Rogoff.
	(verilog-read-sub-decls-expr)
	(verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
	in generated comments, bug1057. Reported by Kaushal Modi.
	(verilog-auto-wire-comment, verilog-insert-definition):
	Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
	Eric Jackowski.
	(verilog-extended-complete-re): Fix indentation
	of class static functions, bug1053. Reported by Gregory
	Czajkowski.
	(verilog-module-filenames): Support tramp for
	finding verilog modules. Reported by Nevada Sanchez.

2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>

	Improve case-insensitive checks (Bug#24441)

	* doc/lispref/files.texi (Truenames): Simplify documentation,
	to avoid giving too much platform-specific information that
	may not be accurate anyway.
	* src/fileio.c (file_name_case_insensitive_p): Use pathconf with
	_PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
	Otherwise if one approach fails (e.g., with errno == EINVAL), fall
	back on an alternative rather than returning false.  Try skipping
	the Darwin code, as it (1) no longer seems to be needed and (2)
	does not seem to match the Apple documentation.  Leave in two
	alternatives conditionally compiled based on
	DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.

2016-11-14  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation changes of connection-local variables

	* etc/NEWS: Fix last change.
	* doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
	* doc/lispref/elisp.texi (Top): Update the master menu.

2016-11-14  Michael Albinus  <michael.albinus@gmx.de>

	Implement connection-local variables

	* doc/lispref/variables.texi (Connection Local Variables): New section.

	* etc/NEWS: Mention connection-local variables.

	* lisp/files-x.el (enable-connection-local-variables)
	(connection-local-variables-alist, connection-local-class-alist)
	(connection-local-criteria-alist): New defvars.
	(connection-local-get-classes)
	(connection-local-get-class-variables): New defsubst.
	(connection-local-set-classes)
	(connection-local-set-class-variables)
	(hack-connection-local-variables)
	(hack-connection-local-variables-apply): New defuns.
	(with-connection-local-classes): New defmacro.

	* lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.

	* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
	* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.

	* test/lisp/files-x-tests.el: New file.

2016-11-14  Tino Calancha  <tino.calancha@gmail.com>

	tabulated-list: extend truncation into next align-right column

	See discussion on:
	https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
	* lisp/emacs-lisp/tabulated-list.el
	(tabulated-list--near-rows): New variable.
	(tabulated-list-print, tabulated-list-set-col): Use it.
	(tabulated-list--col-local-max-widths): New defsubst.
	(tabulated-list-print-col): Use it.  If the next column is
	align-right, and has some space left then don't truncate to width,
	use some of the available space from the next column.

2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.

	* lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
	(shr-collect-extra-strings-in-table): Render images as well.

2016-11-13  Ken Brown  <kbrown@cornell.edu>

	Use the new 'file-name-case-insensitive-p' function

	* lisp/international/mule.el (auto-coding-alist-lookup):
	* lisp/files.el (file-truename):
	(abbreviate-file-name, set-auto-mode, file-relative-name):
	* lisp/emacs-lisp/package.el (package-untar-buffer): Use
	'file-name-case-insensitive-p' instead of 'system-type' to test
	case-insensitivity.

2016-11-13  Glenn Morris  <rgm@gnu.org>

	Include a systemd user unit file.  (Bug#16507)

	* etc/emacs.service: New file.
	* doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
	* Makefile.in (libdir): New, set by configure.
	(systemdunitdir): New variable.
	(install-etc, uninstall): Handle the emacs.service file.

2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	Port --enable-gcc-warnings to Ubuntu 16.10

	* src/gmalloc.c: Include <stdlib.h>, so it declares
	hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
	so that GCC doesn't complain that hybrid_aligned_alloc is
	defined without being declared.

2016-11-13  Ken Brown  <kbrown@cornell.edu>

	Silence tramp warning

	* lisp/net/tramp.el (tramp-file-name-for-operation): Add
	'file-name-case-insensitive-p' as a known file primitive.
	(Bug#24936)

2016-11-12  Ken Brown  <kbrown@cornell.edu>

	Check case-sensitivity when renaming files

	* src/fileio.c (file_name_case_insensitive_p)
	(Ffile_name_case_insensitive_p):  New functions.
	(Frename_file): Allow renames that simply change case when the
	FILE argument is on a case-insensitive filesystem.  (Bug#24441)

	* lisp/dired-aux.el (dired-do-create-files): Use
	'file-name-case-insensitive-p' instead of 'system-type' to check
	for case-insensitivity.  (Bug#24441)

	* doc/lispref/files.texi (Truenames): Document
	'file-name-case-insensitive-p'.

2016-11-12  Ken Brown  <kbrown@cornell.edu>

	Unbreak the build on Cygwin

	* configure.ac (system_malloc) [CYGWIN]: Unset.

2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>

	Update chart.el

	* lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
	(chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
	fixed number of newlines, use window-height.
	(chart-bar):
	(chart-trim): Use dolist.
	(chart-file-count): The previous implementation was buggy and missed
	extensions.  Use file-name-extension instead to detect file extensions.
	Also use dolist and cl-incf to reduce verbosity.

2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
	(shr-collect-extra-strings-in-table):
	Render extra tables in an invalid html as well.

2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).

2016-11-09  Eli Zaretskii  <eliz@gnu.org>

	Resurrect 'memory-limit' on MS-Windows

	* nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
	'memory-limit' will produce a trivial and useless result on Windows.

2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>

	Update quickurl.el

	* lisp/net/quickurl.el (quickurl-format-function):
	(quickurl-sort-function): Use named function.
	(quickurl-list-mode-map): Remove lines that are extraneous now that the
	parent mode is special-mode.
	(quickurl-format-url, quickurl-sort-urls): New functions.
	(quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
	be used.
	(quickurl-list-mode): Derive from special-mode.  Nix setting
	buffer-read-only: special-mode does that.
	(quickurl-list-populate-buffer): Use dolist instead.
	(quickurl-list-quit): Use quit-window.  It looks like this was written
	before the quit-window rewrite.  quit-window is very useful now.

2016-11-09  Michael Albinus  <michael.albinus@gmx.de>

	Refine multi-hop specs in Tramp

	* lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".

	* test/lisp/net/tramp-tests.el
	(tramp-test01-file-name-syntax): Multi-hop specs don't need a
	method.  "/h:" is allowed on non MS Windows.

2016-11-08  Daniel Colascione  <dancol@dancol.org>

	Avoid infloop in python

	Fix bug#24905

	* lisp/progmodes/python.el (python-info-docstring-p): Improve
	infloop avoidance: replace (bobp) with generic test for
	forward progress.
	* test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
	test for bug#24905

2016-11-08  Daniel Colascione  <dancol@dancol.org>

	Make gnus/message.el work correctly under lexical binding

	* lisp/gnus/message.el (message-send-mail): Rename `arg' to
	`_' to shut up the byte compiler.
	(sha1-maximum-internal-length, smtpmail-smtp-server)
	(smtpmail-smtp-service): add missing defvars

2016-11-08  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#24889

	* lisp/net/tramp.el (tramp-file-name-regexp): Make it a
	defvar.  Fix docstring.
	(tramp-completion-file-name-handler-alist): Fix docstring.
	(tramp-register-file-name-handlers): Reassign
	`tramp-file-name-regexp' to the car of
	`tramp-file-name-structure'.  (Bug#24889)

2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>

	Port to FreeBSD 11 AMD

	Problem reported by Ashish Shukla (Bug#24892).  I tested
	this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
	* configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
	(sbrk): Check whether it exists.
	* src/alloc.c (my_heap_start) [!GNU_LINUX]:
	Do not define, since this function is now used only on GNU/Linux,
	and sbrk might not exist on other platforms.
	(malloc_initialize_hook) [!GNU_LINUX]:
	Do not call my_heap_start, since its side effect will never be used.
	(Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
	* src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
	sbrk exists.

2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>

	Port emacsclient to FreeBSD 11 etc.

	* lib-src/emacsclient.c: Include <string.h>.  This is needed on
	platforms like FreeBSD 11 that use code involving strlen etc., and
	because <config.h> no longer includes string.h.

2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>

	Prescribe history for read-regexp in query-replace

	In the fix for bug#24580, the history argument for read-regexp was
	removed erroneously; read-regexp's history argument defaults to
	regexp-history, not minibuffer-history.
	* lisp/replace.el (query-replace-read-from): Tell read-regexp to use
	minibuffer-history.  Fixes bug#24873.

2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>

	Remove obsolete default-FOO variables

	* etc/NEWS: Indicate the removed variables.
	* lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
	* lisp/subr.el (default-mode-line-format, default-header-line-format):
	(default-line-spacing, default-abbrev-mode, default-ctl-arrow):
	(default-truncate-lines, default-left-margin, default-tab-width):
	(default-case-fold-search, default-left-margin-width):
	(default-right-margin-width, default-left-fringe-width):
	(default-right-fringe-width, default-fringes-outside-margins):
	(default-scroll-bar-width, default-vertical-scroll-bar):
	(default-indicate-empty-lines, default-indicate-buffer-boundaries):
	(default-fringe-indicator-alist, default-fringe-cursor-alist):
	(default-scroll-up-aggressively, default-scroll-down-aggressively):
	(default-fill-column, default-cursor-type):
	(default-cursor-in-non-selected-windows):
	(default-buffer-file-coding-system, default-major-mode):
	(default-enable-multibyte-characters): Remove obsolete declarations.
	* src/buffer.c (default-mode-line-format, default-header-line-format):
	(default-line-spacing, default-abbrev-mode, default-ctl-arrow):
	(default-truncate-lines, default-left-margin, default-tab-width):
	(default-case-fold-search, default-left-margin-width):
	(default-right-margin-width, default-left-fringe-width):
	(default-right-fringe-width, default-fringes-outside-margins):
	(default-scroll-bar-width, default-vertical-scroll-bar):
	(default-indicate-empty-lines, default-indicate-buffer-boundaries):
	(default-fringe-indicator-alist, default-fringe-cursor-alist):
	(default-scroll-up-aggressively, default-scroll-down-aggressively):
	(default-fill-column, default-cursor-type):
	(default-cursor-in-non-selected-windows):
	(default-buffer-file-coding-system, default-major-mode):
	(default-enable-multibyte-characters): Remove.
	* src/fileio.c (choose_write_coding_system): Fix comment.
	* src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.

2016-11-07  Eli Zaretskii  <eliz@gnu.org>

	Improve the tutorial

	* etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
	* etc/tutorials/TUTORIAL.he: Follow suit.

2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>

	Restore file descriptor limit in subprocesses

	Problem reported by Philipp Stephani (Bug#24869).
	* src/callproc.c (child_setup) [!DOS_NT]:
	Call restore_nofile_limit in the child.
	* src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
	(restore_nofile_limit): New function.
	(init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.

2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>

	Remove some subr.el functions obsoleted in 22.1

	* etc/NEWS: Document removed functions.  Also mention the "face"
	variables that have been removed recently.
	* lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
	(eval-current-buffer, string-to-int, insert-string, makehash): Remove.

2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer comments /* like this */ in C code

2016-11-05  Johan Bockgård  <bojohan@gnu.org>

	* lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)

2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)

	Support zstd compressed files

	* lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
	zstd compression info: <https://facebook.github.io/zstd/>.
	(jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
	compressed tar archives.  (Bug#24853)

2016-11-05  Eli Zaretskii  <eliz@gnu.org>

	Enlarge DUMPED_HEAP_SIZE

	* src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
	Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.

2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2016-11-03 intprops: port to older XL C
	* lib/intprops.h: Copy from gnulib.

2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	acae275 ; Spelling fixes
	d8fac73 Update README for precompiled windows Emacs.
	23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
	f708cb2 Clarify doc string of 'transpose-sexps'
	cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
	bdc89eb Improve documentation of 'font-lock-remove-keywords'
	4a0c590 Fix documentation of the command summary key
	0221b7a Mark relocation workarounds with REL_ALLOC

2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
	91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
	9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
	9c247d2 Update category-table for Chinese characters
	43986d1 Inhibit buffer relocation during regex searches
	fee4cef Revert fixes to allocation of regex matching

2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>

	Fix references to long obsoleted functions/aliases

	* doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
	* doc/misc/cl.texi (Conditionals):
	* doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
	not string-to-int.
	* lisp/emulation/viper.el (viper-go-away): Use major-mode, not
	default-major-mode.
	* lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
	here is not a function call, but shorten the binding names anyways.
	Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
	Bug#22244.
	* lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
	read-input.

2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.

2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
	that gathers extra strings in an invalid html.  (bug#24831)
	(shr-tag-table): Use it.

2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>

	Add 'x-ctrl-keysym' support on X window system

	* src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
	Support 'x-ctrl-keysym'.
	(syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
	property on it.
	<x-ctrl-keysym>: New DEFVAR_LISP.
	<x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
	fix.  (Bug#24822)

	* etc/NEWS: Mention the addition of 'x-ctrl-keysym'.

	* doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.

2016-11-04  Alexander Gramiak  <agrambot@gmail.com>

	Improve autoload error reporting

	* src/eval.c (Fautoload_do_load): Include the absolute file name
	in the error message.

2016-11-03  Reuben Thomas  <rrt@sc3d.org>

	Stop force parameter of whitespace-report-region having global effect

	* lisp/whitespace.el (whitespace-report-region): Force parameter
	previously changed whitespace-style globally.  Fix this, and use
	whitespace-active-style, to take account of any changes the user may
	have made.  Simplify the documentation: the force parameter simply
	forces all classes of whitespace problem to be considered.
	(Bug#24745)

2016-11-03  Reuben Thomas  <rrt@sc3d.org>

	Document use of `tab-width'

	* lisp/whitespace.el: When talking about `8 or more spaces', mention
	`tab-width' instead of 8.  (Bug#24745)

2016-11-03  Reuben Thomas  <rrt@sc3d.org>

	Make whitespace-report-region respect current settings

	* lisp/whitespace.el (whitespace-report-region): Make it respect
	whitespace-style, including any additions made by the force parameter.
	This means that the function does not return t unless a whitespace
	problem that the user cares about is reported.  (Bug#24745)

2016-11-03  Reuben Thomas  <rrt@sc3d.org>

	Fix whitespace-space-after-tab-regexp

	* lisp/whitespace.el (whitespace-space-after-tab-regexp)
	(whitespace-regexp): Match all the spaces after tabs for highlighting,
	not just the first tab-width.  Fix whitespace-space-after-tab::space
	version so that it requires at least tab-width spaces, not just 1.
	(Bug#24745)

2016-11-03  Reuben Thomas  <rrt@sc3d.org>

	Remove duplicate documentation

	* lisp/whitespace.el: Remove duplicate documentation from the Commentary
	  section which duplicate and in some places contradict (due to being
	  out of date) the docstrings (Bug#24745).

2016-11-03  Reuben Thomas  <rrt@sc3d.org>

	Fix bob/eob checks

	* lisp/whitespace.el (whitespace-empty-at-bob-regexp)
	(whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
	work at beginning & end of buffer in whitespace-report-region, and only
	there (i.e. they will never match in regions that don't include the
	start or end of the buffer).  (Bug#24745)

2016-11-03  Tino Calancha  <tino.calancha@gmail.com>

	(thing-at-point 'list) return nil if no list at point

	* lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
	Check first if we are at the beginning of a top-level sexp (Bug#24627).
	If point is inside a comment or string, look for a list out of the
	comment/string.
	Escape '[' in doc string.
	* test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
	expected test result as pass.

2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>

	Remove antlr face aliases obsoleted in 22.1

	* lisp/progmodes/antlr-mode.el: Remove obsolete aliases
	(antlr-default-face, antlr-keyword-face, antlr-syntax-face):
	(antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
	(antlr-tokenref-face, antlr-literal-face):
	(antlr-literal-face): Remove.
	(antlr-font-lock-additional-keywords): Use face symbols instead.

2016-11-02  Daniel Colascione  <dancol@dancol.org>

	Revert "Disable bracketed paste in a terminal in char mode"

	This change causes regressions, and besides, disabling BPM frame-wide
	for the sake of one buffer is the wrong solution.

	This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.

2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>

	Revert change to eww-suggest-uris

	The introduced append is ugly and can yield '(nil); doing delq on it
	would be hacks on hacks.
	* lisp/net/eww.el: Require cl-lib at run time.
	(eww-suggest-uris): Restore eww-current-url, reverting previous change.
	(eww): Remove erroneous append.
	(eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
	equal to eww-current-url, which is nil anyways if we are not in an EWW
	buffer.

2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>

	Add eww-open-in-new-buffer to EWW

	* doc/misc/eww.texi (Basic): Document new command and key.
	* etc/NEWS: Mention new key and its purpose.
	* lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
	(eww): Append (eww-current-url) to the prompt defaults.
	(eww-open-in-new-buffer): New command.
	(eww-mode-map): Bind it and add a menu item.

2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>

	Migrate auth-source to cl-lib

	* lisp/auth-source.el: Use cl-lib.
	(auth-source-read-char-choice, auth-source-backend-parse-parameters):
	(auth-source-search): Replace cl calls with cl-lib ones.
	(auth-source-netrc-cache):
	(auth-source-forget+): Use cl-do-symbols instead.
	(auth-source-specmatchp, auth-source-netrc-parse):
	(auth-source-netrc-search, auth-source-netrc-create):
	(auth-source-netrc-saver, auth-source-secrets-listify-pattern):
	(auth-source-secrets-search, auth-source-secrets-create):
	(auth-source-macos-keychain-search, auth-source--decode-octal-string):
	(auth-source-macos-keychain-search-items, auth-source-plstore-search):
	(auth-source-plstore-create): Replace cl calls with cl-lib ones.

2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't segfault on timed-out TLS connections

	* src/process.c (finish_after_tls_connection): Check that the
	file descriptor is still alive before proceeding (bug#24811).
	Also clean up the code slightly.

2016-11-01  Eli Zaretskii  <eliz@gnu.org>

	Support 'TARGETS' in clipboard selections on MS-Windows

	* src/w32select.c (Fw32_selection_targets): New function.

	* lisp/term/w32-win.el (w32--get-selection): Call
	'w32-selection-targets' to obtain the list of data formats
	available in the clipboard.

2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	Fix documentation for 'eudc-options-file'

	* doc/misc/eudc.texi (The Server Hotlist): Update the default
	value of 'eudc-options-file'.

2016-11-01  Tibor Csögör  <tibi@tiborius.net>

	Fix documentation of 'eudc-inline-expansion-format'

	* doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
	'eudc-inline-expansion-format'. (Bug#24840)

2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on lexical-binding in some more libs

	* lisp/calendar/icalendar.el:
	* lisp/emacs-lisp/regexp-opt.el:
	* lisp/emacs-lisp/timer.el:
	* lisp/gnus/message.el:
	* lisp/hex-util.el: Turn on lexical-binding.

2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on lexical-binding in some net libs

	* lisp/net/dbus.el: Turn on lexical-binding.
	(dbus-list-hash-table, dbus-list-known-names):
	(dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
	(dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
	(dbus-introspect-get-property-names):
	(dbus-introspect-get-argument-names, dbus-get-all-properties):
	(dbus-property-handler, dbus-get-all-managed-objects):
	(dbus-managed-object-handler): Replace add-to-list with push. Add
	nreverse in some places where the APPEND argument of add-to-list was
	used.
	* lisp/net/network-stream.el: Turn on lexical-binding.
	* lisp/net/newsticker.el: Turn on lexical-binding.
	* lisp/net/shr.el: Turn on lexical-binding.
	(shr-make-placeholder-image): Remove unused variable binding.
	(shr-inspect-table): Replace ignored bindings with underscore.

2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on lexical-binding in some url libs

	* lisp/url/url-auth.el:
	* lisp/url/url-expand.el:
	* lisp/url/url-future.el:
	* lisp/url/url-parse.el:
	* lisp/url/url-util.el: Turn on lexical-binding.

2016-10-31  Johan Bockgård  <bojohan@gnu.org>

	* lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec

	(Bug#24733)

2016-10-30  Alan Mackenzie  <acm@muc.de>

	Handle chars of syntax word which are also flagged as comment delimiters

	src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
	as the start/end of two char comment delimiters, recognize a comment delimiter
	in preference to a portion of a word.  This fixes bug #24767.

2016-10-29  Daniel Colascione  <dancol@dancol.org>

	Speed up initialization by preferring /dev/urandom to GnuTLS

	* src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.

2016-10-29  José L. Doménech  <domenechjosel@gmail.com>

	Quote file names in dired compression commands

	* lisp/dired-aux.el (dired-do-compress-to): Change the string
	used as shell command for compression by quoting the filenames
	used for input and output (Bug #24620).

2016-10-29  Eli Zaretskii  <eliz@gnu.org>

	Avoid errors in posn-at-point for large images

	* src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
	returns a 6-member list for a partially visible glyph, pass the
	sum of Y and RTOP to posn-at-x-y, since that's where the visible
	portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
	(Bug#23809)

2016-10-29  Eli Zaretskii  <eliz@gnu.org>

	Unbreak MS-Windows build

	* src/w32term.c (XCreateGC): Second argument is now HWND, and its
	name is "wignore".
	(x_set_cursor_gc, x_set_mouse_face_gc)
	(x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
	(x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
	use s->window, which doesn't exist anymore.

	* src/w32term.h (XCreateGC): Adjust prototype.

2016-10-28  Daniel Colascione  <dancol@dancol.org>

	Add double-buffering support to reduce flicker

	* src/dispextern.h (struct glyph_string): Remove window member
	(block_buffer_flips, unblock_buffer_flips)
	(buffer_flipping_blocked_p): Declare.

	* src/xterm.h (struct x_display_info): New member supports_xdbe.
	(struct x_output): New members draw_desc and need_buffer_flip.
	(FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
	(FRAME_X_DOUBLE_BUFFERED_P)
	(FRAME_X_NEED_BUFFER_FLIP): New macros.
	(set_up_x_back_buffer, tear_down_x_back_buffer)
	(initial_set_up_x_back_buffer): Declare.

	* src/xterm.c: Include Xdbe.h.
	(x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
	(x_draw_vertical_window_border, x_update_end)
	(x_setup_relief_color, x_draw_relief_rect)
	(x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
	(x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
	FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
	variables appropriately; substitute calls to XClearArea with
	x_clear_area, which DTRT for double buffering.
	(x_clear_window, x_clear_area): In double-buffering mode, use
	rect-drawing X functions instead of XClearWindow and
	XClearArea, which always operate on the front buffer.
	(show_back_buffer): New function.
	(XTframe_up_to_date): Call show_back_buffer when done.
	(x_clear_frame, x_clear_frame_area): Remove obsolete calls to
	gtk_widget_queue_draw to refresh scroll bars; scroll bars are
	now independent X windows.
	(handle_one_xevent): Call font_drop_xrender_surfaces when
	XftDraw might need regenerating; perform buffer flip when
	responding to Expose events; issue front-buffer clearing
	commands as stopgap while we wait for redisplay.
	Call flush_dirty_back_buffers.
	(x_make_frame_visible): Un-bitrot comment; move XSETFRAME
	earlier in function.
	(x_free_frame_resources): Call tear_down_x_back_buffer when
	destroying frame.
	(x_term_init): Attempt to initialize double buffer extension.
	(x_flip_and_flush): New function.
	(x_redisplay_interface): Point to x_flip_and_flush instead of
	x_flip directly.
	(flush_dirty_back_buffers): New function.
	(x_create_terminal): Register buffer_flipping_unblocked_hook.

	* src/xftfont.c (xftfont_drop_xrender_surfaces): Use
	FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
	(xftfont_draw): Call x_mark_frame_dirty.
	(xftfont_drop_xrender_surfaces): New function.
	(syms_of_xftfont): Register it.

	* src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
	FRAME_X_WINDOW.

	* src/xfns.c: Include Xdbe.h.
	(x_set_inhibit_double_buffering, set_up_x_back_buffer)
	(Fx_double_buffered_p): New functions.
	(x_window): Call initial_set_up_x_back_buffer.
	(x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
	(Fx_create_frame): Configure `inhibit-double-buffering'
	frame parameter.
	(x_create_tip_frame): Call initial_set_up_x_back_buffer.
	(x_frame_parm_handlers): Register
	x_set_inhibit_double_buffering.
	(syms_of_xfns): Register Sx_double_buffered_p.
	(x_mark_frame_dirty): Define.

	* src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
	FRAME_X_WINDOW.

	* src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
	FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
	(redisplay_internal): Restart redisplay if a frame is garbaged
	during updating; explain why. Block buffer flips
	during redisplay.
	(redisplay_preserve_echo_area): Block buffer flip during call
	to redisplay_internal.
	(buffer_flip_blocked_depth): New variable.
	(block_buffer_flips, unblock_buffer_flips)
	(buffer_flipping_blocked_p): New functions.
	(init_glyph_string): Stop setting window member of struct
	glyph_string.

	* src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
	x_set_inhibit_double_buffering.

	* src/termhooks.h (struct terminal): Add
	buffer_flipping_unblocked_hook.

	* src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
	x_set_inhibit_double_buffering.

	* src/image.c (x_create_bitmap_from_data)
	(x_create_bitmap_from_file, x_create_x_image_and_pixmap)
	(Create_Pixmap_From_Bitmap_Data)
	(x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
	FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
	variables appropriately.

	* src/gtkutil.c: Include Xdbe.h.
	(xg_get_widget_from_map): Forward declare.
	(xg_clear_under_internal_border): Remove obsolete calls to
	refresh scroll bars.
	(xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
	(xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
	FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
	same reason.
	(xg_set_background_color): Set scroll bar background colors.
	(xg_finish_scroll_bar_creation): New function with common
	logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
	scroll bars to be real X11 windows.
	(xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
	xg_finish_scroll_bar_creation.
	(xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
	Remove obsolete calls to refresh scroll bars; fix comments.

	* src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
	(ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
	FRAME_X_WINDOW.

	* src/frame.c (frame_parms): Add table entry for new
	`inhibit-double-buffering' frame parameter
	(syms_of_frame): Register Qinhibit_double_buffering.

	* src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
	(font_drop_xrender_surfaces): Declare.

	* src/font.c (font_drop_xrender_surfaces): New function.

	* src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.

	* etc/NEWS: Mention use of double buffering

	* doc/lispref/frames.texi (Management Parameters): Document
	`inhibit-double-buffering' frame parameters.
	(Visibility of Frames): Document `x-double-buffered-p'.

	* configure.ac: Check for the X double buffer extension

2016-10-28  Michael Albinus  <michael.albinus@gmx.de>

	Improve result of `auth-source-search' in Tramp

	* lisp/net/tramp.el (tramp-read-passwd): Require :secret and
	:user in result of `auth-source-search'.

2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>

	Fix avl-tree alias docstrings

	* lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
	(avl-tree-stack-p, avl-tree-create):
	(avl-tree-compare-function): Add calling convention to docstrings.

2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
	2016-10-13 stdint: port SIZE_MAX to glibc s390
	2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
	* lib/gnulib.mk: Regenerate.
	* lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
	* m4/utimes.m4: Copy from gnulib.

2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>

	electric-quote-chars fixups

	* lisp/electric.el (electric-quote-chars): Check types and safety
	more carefully.
	(electric-quote-post-self-insert-function): Use more-mnemonic locals.
	Omit no-longer-necessary runtime error diagnostic.

2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>

	New user variable 'electric-quote-chars'

	* doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
	* lisp/electric.el (electric-quote-chars): New defcustom.
	(electric-quote-post-self-insert-function): Use it.

2016-10-27  Tino Calancha  <tino.calancha@gmail.com>

	Add more tests for Bug#24627

	* test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
	Add tests for 'list-at-point'.

2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>

	* lisp/shell.el (shell--unquote&requote-argument): Match data misuse

	* lisp/shell.el (shell--unquote&requote-argument): Fix
	off-by-one thinko.  Don't use match data after a failed string-match.

2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>

	* src/xwidget.c (webkit_js_to_lisp): Now static.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	xwidget: Map "previous-line" and "next-line" to scroll

	* lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
	procedures.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	xwidget: Bind "beginning-of-buffer" and "end-of-buffer"

	* lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
	"xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
	respectively.
	(xwidget-webkit-scroll-top,
	xwidget-webkit-scroll-bottom): New procedures.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	Implement zoom for WebKit widget.

	* src/xwidget.c (xwidget-webkit-zoom): New procedure.
	* lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
	(xwidget-webkit-zoom): Declare procedure.
	(xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	Dynamically resize WebKit widget.

	* lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
	xwidget-webkit-adjust-size-in-frame): New procedures.
	(xwidget-webkit-new-session): Remove hint to resize widget with `a'.
	(xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
	(xwidget-webkit-adjust-size-to-window): Make non-interactive,
	add widget and window as arguments.
	(xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	Let initial WebKit view fill window

	* lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
	WebKit widget to window size.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	xwidget: Remove title hack.

	* src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
	* lisp/xwidget.el (xwidget-webkit-get-title,
	xwidget-webkit-execute-script-rv): Remove procedures.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	xwidget: Get URL asynchronously.

	* lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	xwidget: Get selection with asynchronous JavaScript

	* lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
	process selection.
	(xwidget-webkit-copy-selection-as-kill): Kill selection in callback.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	xwidget: Add function to find element by CSS selector

	* lisp/xwidget.el (xwidget-webkit-show-element): New procedure.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	xwidget: Simplify functions to scroll to elements

	* lisp/xwidget.el (xwidget-webkit-show-named-element,
	xwidget-webkit-show-id-element,
	xwidget-webkit-show-id-or-named-element): Simplify functions by
	scrolling exclusively with JavaScript.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	xwidget: Get title via asynchronous JavaScript.

	* lisp/xwidget.el (xwidget-webkit-callback): Get document title
	asynchronously.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	xwidget: Do not use `xwidget-execute-script-rv' to insert string

	* lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
	return value via callback instead of using
	`xwidget-webkit-execute-script-rv'.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	Remove scrolled window container around WebKit widget

	The WebKit widget can scroll on its own and does not need to wrapped
	with a scrolled window container.

	* src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
	* src/xwidget.c: Remove widgetscrolledwindow_osr.
	(xwidget-set-adjustment): Remove.
	(xwidget-resize): Resize Webkit widget last.
	* lisp/xwidget.el (xwidget-set-adjustment): Remove.
	(xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
	xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
	Implement scrolling via JavaScript.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	xwidget: Pass JavaScript return value to optional callback procedure

	* lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
	callback argument.
	(xwidget-webkit-callback): Handle "javascript-callback" event type.
	* src/xwidget.c (xwidget-webkit-execute-script): Accept optional
	argument FUN, a Lisp procedure to execute on the JavaScript return
	value.
	(store_xwidget_js_callback_event, webkit_javascript_finished_cb,
	webkit_js_to_lisp): New procedures.

2016-10-25  Ricardo Wurmus  <rekado@elephly.net>

	xwidget: Use WebKit2 API

	* configure.ac: Check for webkit2gtk-4.0.
	* src/xwidget.c: Adjust to use WebKit2 API.
	* lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
	`xwidget-event-type'.

2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	4c3f738 Comment for bug#24793

2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	96ac0c3 Yet another fix for using pointers into buffer text
	1047496 Another fix for using pointer to buffer text
	3121992 Fix Bug#24478

2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	ee04aed Fix handling of buffer relocation in regex.c functions
	71ca4f6 Avoid relocating buffers while libxml2 reads its text
	1b3fc8a ; Remove redundant code in gmalloc.c
	9afea93 Attempt to catch reads from a buffer that is relocated

2016-10-25  Nicolas Petton  <nicolas@petton.fr>

	Minor fix in the documentation of seq-random-elt

	* doc/lispref/sequences.texi (Sequence Functions): Remove false
	  sentence.

2016-10-25  Eli Zaretskii  <eliz@gnu.org>

	Minor copyedits in documentation of 'seq-random-elt'

	* doc/lispref/sequences.texi (Sequence Functions): Fix markup in
	last change.  Use 2 spaces between sentences.

2016-10-25  Nicolas Petton  <nicolas@petton.fr>

	* lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.

2016-10-25  Damien Cassou  <damien@cassou.me>

	Add seq-random-elt to seq.el

	* lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
	  random element from it's sequence parameter.

	* test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
	  test-seq-random-elt-return-nil): Test the new function

	* doc/lispref/sequences.texi: Document the new function

2016-10-24  Ken Brown  <kbrown@cornell.edu>

	* configure.ac: Stop using mmap for buffers on Cygwin.

2016-10-24  Nicolas Petton  <nicolas@petton.fr>

	* lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)

2016-10-24  Karl Chen  <Karl.Chen@quarl.org>

	Don't prompt user when killing Flymake processes

	* lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
	Don’t prompt the user when killing Flymake processes.

	* doc/misc/flymake.texi (Starting the syntax check process):
	Document new behavior.

2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>

	* src/regex.c (re_search_2): Use UNINIT, not IF_LINT.

	This finishes the merge of the recent emacs-25 regex changes into
	master.

2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
	6f1325e electric-quote mode no longer worries about coding
	c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
	f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
	b2ba630 Explain how to debug emacsclient lisp errors
	9da53e2 Let describe-function work for lambda again
	5c2da93 Fix kill-line's docstring
	ad66b3f Fix handling of allocation in regex matching
	5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
	3877c91 vc-region-history: Search just on lines intersecting the region
	8988327 Fix documentation of 'alist-get'
	b6998ea * src/regex.h (re_match_object): Improve commentary.

	# Conflicts:
	#	etc/NEWS
	#	lisp/help-fns.el

2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	8ad0d7d ; Fix quoting in etc/NEWS
	6b9dee1 Change Tramp version to "2.2.13.25.2"
	62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
	b2f32e4 Don't scan compiled module files for autoloads
	9a758b4 Fix Bug#24698
	baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
	e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
	12da149 Update URL of MS-Windows optional DLLs
	2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
	a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
	b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
	cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...

	# Conflicts:
	#	doc/misc/trampver.texi
	#	etc/NEWS
	#	lisp/net/tramp-sh.el
	#	lisp/net/trampver.el

2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
	55ebb70 Catch the imenu-unavailable error in sh-mode completion table
	993acb5 ; Minor fix for last change in characters.el
	30c4bb5 More char-width fixes
	4eb4463 Fix char-width-table values for some Emoji
	528997d Keep point when switching from and to *terminal* buffer
	2130005 * INSTALL: Use correct Emacs release number 25.
	10835b1 Avoid crashes due to objects read with the #n=object form
	4de671d Improve doc string of 'completion-at-point-functions'
	ceb46f0 Fix crash in evaluating functions
	d8374c4 * src/filelock.c (current_lock_owner): Update comment.

2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	2deb20c Port last_marked change to full-program optimizers
	27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
	dac64e3 Avoid optimizing out the last_marked[] array

2016-10-22  Noam Postavsky  <npostavs@gmail.com>

	Avoid infinite hscrolling in redisplay

	* src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
	scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
	redisplay (Bug #24633).

2016-10-22  Michael Albinus  <michael.albinus@gmx.de>

	Fix error codes in Tramp

	* lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
	taken from tramp.el.
	(tramp-file-missing): New defconst.

	* lisp/net/tramp.el (tramp-user-error): Remove it.
	(tramp-check-proper-method-and-host)
	(tramp-dissect-file-name, tramp-debug-message)
	(tramp-handle-shell-command):
	* lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
	Use `tramp-compat-user-error'.

	* lisp/net/tramp.el (tramp-handle-insert-file-contents)
	(tramp-handle-load):
	* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
	* lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
	Use `tramp-file-missing'.  (Bug#24714)

	* lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
	* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
	Use `file-already-exists'.

2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>

	Autoload all commands from misc.el

	Only two of the commands there were autoloaded, one of which is an
	easter egg.
	* lisp/misc.el (copy-from-above-command):
	* lisp/misc.el (zap-up-to-char):
	* lisp/misc.el (mark-beginning-of-buffer):
	* lisp/misc.el (mark-end-of-buffer):
	* lisp/misc.el (upcase-char):
	* lisp/misc.el (forward-to-word):
	* lisp/misc.el (backward-to-word):
	Add autoload cookie.

2016-10-22  Martin Rudalics  <rudalics@gmx.at>

	On terminal frames ignore minibuffer frame parameter (Bug#24758)

	* src/frame.c (Fmake_terminal_frame): Don't complain when the
	caller asks for a deviant minibuffer setting (Bug#24758).

2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>

	New error file-missing

	This fixes a recently-introduced bug in delete-directory,
	where the code assumes the C locale when determining
	whether a file-error corresponds to a missing file (Bug#24714).
	* doc/lispref/errors.texi (Standard Errors):
	* doc/lispref/files.texi (Changing Files):
	* etc/NEWS:
	Document this.
	* doc/lispref/loading.texi (How Programs Do Loading):
	Say "a file-error" rather than "the error file-error" since
	it might be a file-missing now.
	* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
	* lisp/epa-file.el (epa-file--find-file-not-found-function):
	(epa-file-insert-file-contents, epa-file-write-region):
	* lisp/ffap.el (find-file-at-point, dired-at-point):
	* lisp/jka-compr.el (jka-compr-insert-file-contents)
	(jka-compr-insert-file-contents):
	* lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
	(ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
	* lisp/progmodes/etags.el (visit-tags-table):
	* lisp/url/url-handlers.el (url-copy-file):
	* src/fileio.c (report_file_errno):
	Signal file-missing if appropriate.
	* lisp/epa-file.el (epa-file-insert-file-contents):
	* lisp/jka-compr.el (jka-compr-insert-file-contents):
	Don't assume file-error is a leaf in the error hierarchy.
	* lisp/files.el (files--force):
	* lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
	* lisp/jka-compr.el (jka-compr-insert-file-contents):
	Use file-missing to detect whether the file is missing.
	* lisp/url/url-handlers.el (url-copy-file):
	Signal file-already-exists if appropriate.
	* src/fileio.c (syms_of_fileio): Define file-missing.

2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>

	Teach browse-url to open man page urls

	* lisp/net/browse-url.el (browse-url-man-function): New custom option.
	(browse-url): Add a condition to catch links matching "^man:".
	(browse-url-man): New function.

2016-10-21  Eli Zaretskii  <eliz@gnu.org>

	Improve fontification of footnote references in Info buffers

	* lisp/info.el (Info-fontify-node): Don't fontify random numbers
	in parentheses as if they were footnote references.  See
	https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
	for the details.

2016-10-20  Philipp Stephani  <phst@google.com>

	Minor fixes to cc-mode-tests.el

	See Bug#24747.

	* test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
	file-local variable; add comments to make checkdoc happy.

2016-10-20  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.

2016-10-20  Michael Albinus  <michael.albinus@gmx.de>

	Document, how to suppress iTerm2 shell integration in Tramp

	* doc/misc/tramp.texi (Frequently Asked Questions):
	Suppress iTerm2 shell integration.

2016-10-20  Tino Calancha  <tino.calancha@gmail.com>

	cl-seq: Remove max limit on input sequence length

	* lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
	(cl--position, cl-nsubstitute, cl-substitute, cl-remove):
	Remove limit on maximum length for the input sequence
	(#Bug24264).
	* test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.

2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>

	Derive dig-mode from special-mode

	* lisp/net/dig.el: Remove unused cl dependency.  Remove top level
	mode-class assignment.
	(dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
	(dig-mode): Derive from special-mode.
	(dig-exit): Use quit-window instead.
	(dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
	(query-dig): Use pop-to-buffer-same-window.

2016-10-18  Johan Bockgård  <bojohan@gnu.org>

	cl-defstruct: Fix debug spec and check of slot options

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
	option syntax.  Fix debug spec.  (Bug#24700)

2016-10-18  Johan Bockgård  <bojohan@gnu.org>

	isearch: Fix bug in defstruct syntax

	* lisp/isearch.el (isearch--state): Use correct form of defstruct slot
	options.  (Bug#24685)

2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>

	Add an option for eshell-input-filter

	* etc/NEWS: Document changes.
	* lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
	symbol.  Change type to a radio for choosing functions.  Refer to both
	new functions.
	(eshell-input-filter-default): New function.  Same body as the previous
	value of eshell-input-filter.
	(eshell-input-filter-initial-space): New function.

2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>

	delete-directory no longer errors when racing

	Problem reported by Glenn Morris for package-test.el (Bug#24714).
	* doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
	* lisp/files.el (files--force): New function.
	(delete-directory): Use it to avoid error in this case.

2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)

	Support Shift selection in nxml-mode commands

	* lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
	(nxml-up-element, nxml-backward-up-element, nxml-down-element)
	(nxml-backward-down-element, nxml-forward-element)
	(nxml-backward-element, nxml-forward-paragraph)
	(nxml-backward-paragraph): Use "^p" as the interactive spec, to
	support shift-selection.

2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>

	Simplify some loops and cons

	* lisp/net/mailcap.el: Replace cl with cl-lib.
	(mailcap--get-user-mime-data, mailcap--set-user-mime-data):
	(mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
	(mailcap-possible-viewers): Use push and dolist where possible.
	(mailcap-viewer-passes-test): Remove unused binding.
	(mailcap-add-mailcap-entry): Use push.
	(mailcap-mime-info): Remove unused binding.  Use push.
	(mailcap-parse-mimetypes): Use dolist.

2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on lexical-binding in auth-source

	* lisp/auth-source.el: Turn on lexical-binding.
	(auth-source-netrc-parse, auth-source-netrc-normalize):
	(auth-source-token-passphrase-callback-function):
	(auth-source-netrc-create, auth-source-secrets-search):
	(auth-source-macos-keychain-search-items):
	(auth-source-plstore-search): Use let instead of lexical-let.

2016-10-17  Martin Rudalics  <rudalics@gmx.at>

	Fix frame focus redirection with shared minibuffer windows (Bug#24500)

	* src/frame.c (do_switch_frame): Redirect frame focus also when
	the frame switched to has its minibuffer window on the selected
	frame.
	* src/window.c (candidate_window_p): To qualify as candidate
	it's not sufficient for the window's frame to just share the
	minibuffer window - it must be active as well.

2016-10-17  Eli Zaretskii  <eliz@gnu.org>

	Fix time-related data types in 2 editfns.c functions

	* src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
	pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
	instead of relying on struct timespec's 'tv_sec' member to be of
	compatible type.

2016-10-16  Martin Rudalics  <rudalics@gmx.at>

	Document atomic windows in Elisp manual (Bug#18170)

	* lisp/window.el (display-buffer-in-atom-window): If no `side'
	alist entry was specified, use `below' as the doc tells.
	* doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
	* doc/lispref/windows.texi (Atomic Windows): New section.
	(Window Parameters): Update reference.

2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>

	New face homoglyph

	Suggested by Eli Zaretskii, from a feature request by
	Alan Mackenzie (Bug#24468).
	* doc/emacs/display.texi (Standard Faces, Text Display):
	* etc/NEWS: Document this.
	* etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
	* etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
	* etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
	* etc/themes/wombat-theme.el:
	Customize homoglyph to be the same as escape-glyph.
	* lisp/cus-theme.el (custom-theme--listed-faces):
	Add homoglyph.
	* lisp/faces.el (homoglyph): New face.
	* lisp/startup.el (startup--setup-quote-display): Use it.

2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>

	Port to Ubuntu 16.10, which needs gcc -nopie

	* configure.ac (emacs_cv_prog_cc_no_pie): Rename from
	emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
	preference to -nopie (Bug#24682).

2016-10-16  Michael Albinus  <michael.albinus@gmx.de>

	Fix bug#24665 in Tramp

	* doc/misc/tramp.texi (External methods): Do not confuse
	method names.  (Bug#24665)

2016-10-15  Sam Steingold  <sds@gnu.org>

	use full time objects (lists) instead of floats when possible

	* lisp/midnight.el (midnight-buffer-display-time): Remove
	(clean-buffer-list): Use float time only for time comparison

2016-10-15  Sam Steingold  <sds@gnu.org>

	Save and restore buffer-display-time

	* lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
	(desktop-read): Set `desktop-file-modtime' before loading the desktop file
	(desktop-create-buffer): Adjust `buffer-display-time' for the downtime

2016-10-15  Philipp Stephani  <phst@google.com>

	Disable bracketed paste in a terminal in char mode

	In char mode, a terminal doesn't accept bracketed paste events,
	therefore we should disable them; see Bug#24639.  To decouple the XTerm
	management from term.el, introduce a per-buffer setting to disable
	bracketed paste for that buffer.  If bracketed paste is inhiited for at
	least one buffer in a terminal, it is disabled for the whole terminal.

	* lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
	inhibit XTerm bracketed paste per buffer.
	(xterm--buffer-terminals, xterm--update-bracketed-paste)
	(xterm--bracketed-paste-possible, xterm--is-xterm): New helper
	functions.
	(xterm--init-bracketed-paste-mode): Remove unused helper
	function.
	(terminal-init-xterm): Update bracketed paste status when
	initializing an XTerm and on window configuration change.

	* lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
	bracketed paste in char mode.

2016-10-15  Dima Kogan  <dima@secretsauce.net>

	Undo the effect of CapsLock when other modifiers are present

	* src/keyboard.c (make_lispy_event): Effectively undo the effect
	of CapsLock if any modifiers other than Shift are present in a key.
	(Bug#24456)

2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>

	Add tests for foreign completions in CSS mode

	* test/lisp/textmodes/css-mode-tests.el
	(css-test-foreign-completions): New test for
	`css--foreign-completions'.
	(css-test-complete-selector-tag): Rename test.
	(css-test-complete-selector-class): New test testing completion of
	class names in selectors.
	(css-test-complete-selector-id): New test testing completion of IDs in
	selectors.

2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Cosmetic change to last mm-url change

	* lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
	Tweak last change slightly for more readability.

2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with submitting binary data via HTTP forms

	* lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
	Document the parameters, clean up the code, and make uploading
	binary data really work (which it didn't if the binary bits
	were in the last part of the data).

2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/time.el (display-time-string-forms): Fix custom type.

2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>

	Derive Man and WoMan modes from special-mode

	* lisp/man.el (Man-mode-map): Set parent to map composed from both
	button-buffer-map and special-mode-map.  Remove redundant bindings.
	Fix menu to refer to the quit-window command.
	(Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
	buffer-read-only binding.
	(Man-quit): Remove.
	* lisp/woman.el (woman-really-find-file): Use setq-local.
	(woman-mode-map): Refer to woman-mode in docstring.
	(woman-mode): Derive from special-mode.  Document woman-mode-map in
	docstring.  Use setq-local where possible; imenu-generic-expression is
	already buffer-local.
	(woman-negative-vertical-space): Replace unused binding with _.

2016-10-13  Philipp Stephani  <phst@google.com>

	Fix crash in evaluating functions

	See Bug#24673

	* src/eval.c (funcall_lambda): Fix crash for bogus functions such
	as (closure).

	* test/src/eval-tests.el (eval-tests--bug24673): Add test.

2016-10-13  Tino Calancha  <tino.calancha@gmail.com>

	Add test for Bug#24627

	* test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.

2016-10-12  Eli Zaretskii  <eliz@gnu.org>

	* lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.

2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>

	Work around Samba bug with ':' in symlink contents

	* src/filelock.c (current_lock_owner): When reading the contents
	of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).

2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	If autoloads buffer is unchanged, mark it as such (bug#23692)

	* lisp/emacs-lisp/autoload.el (update-directory-autoloads):
	If autoloads buffer is unchanged, mark it as such (bug#23692).

2016-10-11  Michael Albinus  <michael.albinus@gmx.de>

	Use "26.1" version string in Tramp, fix some comments

	* lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
	* lisp/net/tramp-sh.el (tramp-remote-process-environment):
	Use "26.1" version string.

2016-10-10  Tino Calancha  <tino.calancha@gmail.com>

	form-at-point work for all kind of THINGS

	* lisp/thingatpt.el (form-at-point):
	Use thing-at-point--read-from-whole-string only if thing-at-point
	returns a string (Bug#24605).

2016-10-10  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation warnings on MS-Windows

	* src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
	definitions of these macros, which seem to be unneeded and cause
	compiler warnings.
	* src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
	macros.
	* src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
	make it external, to avoid compiler warning.

2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling and clarity fixes

2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	4f406e9 CC Mode manual: remove reference to former Emacs variable las...
	44e402e Allow to disable compaction of font caches
	4ff4b66 Allow selection of font for symbols as in Emacs 24.x
	c03d44b ; Fix last commit
	d4be4f3 ; Fix indexing in lispref manual
	ed399f2 ; Minor improvement in documentation of generators
	197a6bc Fix horizontal scrolling during Isearch
	3566644 Fix infloop in redisplay due to truncated lines and invisible...

	# Conflicts:
	#	etc/NEWS

2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	c4a5e7e Improve documentation of 'menu-bar-open'

2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	4b347fe Clarify that doc fixes are okay in feature freeze
	01669ad Avoid crashes when setting the cursor
	f2144ee Restore 'command-debug-status' functionality
	ec6e4b9 ; Minor addition to CONTRIBUTE

2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	74b4f13 Document nil args of compare-buffer-substrings
	9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
	95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...

2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
	ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
	bbf1ffd Regexp Functions doc minor fixes

2016-10-08  Philipp Stephani  <phst@google.com>

	Don’t consider nested let-alist forms

	See Bug#24641.

	* lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
	consider symbols in nested ‘let-alist’ forms.

	* test/lisp/emacs-lisp/let-alist-tests.el
	(let-alist--deep-dot-search--nested): Add a unit test.

2016-10-08  Alain Schneble  <a.s@realize.ch>

	Support SIGTRAP in kill emulation on Windows

	* src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
	'DebugBreakProcess' to cause a breakpoint exception to occur in the
	specified process.  On Windows versions prior to Windows XP that do
	not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
	(as opposed to EINVAL before this change).
	* src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
	and global variable to track state of run-time dynamic linking of this
	function.

	* etc/NEWS: Add entry to document that 'signal-process' now supports
	SIGTRAP.

2016-10-08  Eli Zaretskii  <eliz@gnu.org>

	Deprecate 'wp' group and introduce a new group 'text'

	* lisp/textmodes/tildify.el (tildify):
	* lisp/textmodes/text-mode.el (text-mode-hook):
	* lisp/textmodes/table.el (table):
	* lisp/textmodes/rst.el (rst):
	* lisp/textmodes/refer.el (refer):
	* lisp/textmodes/refbib.el (refbib):
	* lisp/textmodes/picture.el (picture):
	* lisp/textmodes/nroff-mode.el (nroff):
	* lisp/textmodes/enriched.el (enriched):
	* lisp/textmodes/bib-mode.el (bib):
	* lisp/progmodes/ebnf2ps.el (ebnf2ps):
	* lisp/nxml/rng-valid.el (relax-ng):
	* lisp/view.el (view):
	* lisp/ps-print.el (ps-print):
	* lisp/printing.el (printing):
	* lisp/outline.el (outlines):
	* lisp/lpr.el (lpr):
	* lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
	* lisp/cus-edit.el (wp): Remove the "text" tag.
	(text): New defgroup, inherits from the deprecated 'wp'.
	(outlines): Remove, in favor of the definition in outline.el.
	(tex): Inherit from 'text'.
	Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)

2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)

	Extend dictionary and library-directory handling for Ispell

	* lisp/textmodes/ispell.el (ispell-check-version): Allow
	overriding LIBDIR via the variable defined by LIBRARYVAR (usually
	ISPELL_DICTDIR).
	(ispell-valid-dictionary-list): If the -d option to Ispell
	specifies an absolute file name, use that regardless of
	ispell-library-directory.  (Bug#24439)

2016-10-07  Tassilo Horn  <tsdh@gnu.org>

	Fix unescaped \begin{...} in docstring

	* lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
	\begin{...} in docstring.

2016-10-06  Noah Friedman  <friedman@splode.com>

	Update comment.

2016-10-06  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2

	* nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
	defining to avoid redefinition warnings.

	* nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
	inclusion of sys/stat.h from the system headers, which could then
	lead to compilation errors due to redefinition of 'struct stat'
	etc.  This is needed because latest versions of MinGW runtime
	include sys/stat.h from wchar.h.

	* src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
	redefine to 4 to avoid conflict between 2 definitions of
	MemoryBarrier.  (Bug#24613)

2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.

2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>

	Autoload entry point testcover-start

	* lisp/emacs-lisp/testcover.el: Add autoload cookie for
	testcover-start.

2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	Bump version of ntlm.el to 2.1.0

	* lisp/net/ntlm.el: Bump version to 2.1.0.

2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	lisp/net/ntlm.el: Fix comment and docstring formatting

2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior

	* lisp/net/ntlm.el (ntlm-build-auth-request): Only set
	"negotiate domain supplied" bit when a domain is supplied.  Do
	not set "negotiate workstation supplied" bit.
	(ntlm-build-auth-response): Set domain to empty string by
	default.  Set workstation name to "WORKSTATION".  Set flags to
	logical and of Type 1 and Type 2 message flags.  Remove four
	trailing 0 bytes.  Always set LM response.  Hard-code domain
	offset.  Reorder buffer fields.

2016-10-05  Martin Rudalics  <rudalics@gmx.at>

	Document return value of `display-buffer-in-side-window'

	* doc/lispref/windows.texi (Displaying Buffers in Side Windows):
	* lisp/window.el (display-buffer-in-side-window): Describe
	return value of `display-buffer-in-side-window'.

2016-10-05  Eli Zaretskii  <eliz@gnu.org>

	Improve wording in side windows documentation

	* doc/lispref/windows.texi (Displaying Buffers in Side Windows)
	(Side Window Options and Functions)
	(Frame Layouts with Side Windows): Minor wording improvements.

2016-10-05  Martin Rudalics  <rudalics@gmx.at>

	Document and fix some bugs with side windows

	Add a documentation for side windows and fix some bugs
	found when testing their behavior.  Also add a new window
	parameter `no-delete-other-window', a new `display-buffer'
	alist member called `window-parameters', and functions to
	toggle and reverse side windows on a frame.  Add new function
	`window-swap-states' to exchange states of two live windows.

	* lisp/window.el (display-buffer-in-atom-window): Use
	`split-window-no-error'.
	(window-sides-vertical): Maybe change layouts when setting this
	variable.
	(window-sides-reversed): New option.
	(window-sides-slots): Rewrite doc-string and help echoes.
	(window-sides-shown): New buffer-local variable set when showing
	a buffer in a side window.
	(window--sides-inhibit-check): New variable.
	(window--sides-reverse-on-frame-p, window-toggle-side-windows)
	(window--sides-reverse-all, window--sides-reverse-frame)
	(window--sides-reverse-side, window--sides-reverse)
	(window--sides-verticalize-frame, window--sides-verticalize)
	(window--sides-check-failed): New functions.
	(window--side-window-p): Remove function.
	(window--major-non-side-window): Rename to `window-main-window',
	adjust callers, rewrite doc-string.
	(window--major-side-window): Rename to
	`window--make-major-side-window-next-to', adjust caller, fix
	doc-string.
	(display-buffer-in-major-side-window): Rename to
	`window--make-major-side-window', adjust
	caller, rewrite doc-string.  Make `window-side' and
	`window-slot' parameters persistent (Bug#23858).  Don't set
	`delete-window' parameter.  Add `preserve-size' entry to ALIST.
	(delete-side-window): Remove function.
	(display-buffer-in-side-window): Fix doc-string.  Don't set
	`delete-window' parameter.  Add `preserve-size' entry to ALIST.
	(window--side-check): Rename to window--sides-check.  Rewrite
	completely.  Adjust caller.
	(window-resize-no-error): Don't describe PIXELWISE argument.
	(adjust-window-trailing-edge): Fix bug that disallowed
	re-enlarging windows that were too small.
	(window-deletable-p): Don't tell that a minibuffer window on a
	non-minibuffer-only frame can be deleted.  Fix doc-string.
	(delete-window): Handle deleting a side window here (the
	`delete-window' parameter is no more set for side windows).
	(delete-other-windows): Handle ‘no-delete-other-window'
	parameter. Don't treat side windows separately (see discussion
	of Bug#24368) but keep optimization that makes the main window
	the root window of its frame.
	(switch-to-prev-buffer, switch-to-next-buffer): Handle side
	windows and buffers shown in side windows separately.
	(split-window-no-error): New function.
	(window--state-get-1): Use right buffer when storing window
	point and start positions and WRITABLE is nil (Bug#24368).
	(window--state-put-1): Fix handling of `window-combination-limit'.
	Use `split-window-no-error'.
	(window--state-put-2): Try to restore windows with preserved
	size to their original size.  Fix bug where a fixed window's width
	was not preserved.
	(window-state-put): When reducing an internal window to a live
	one, don't choose a side window.
	(window-swap-states): New function.
	(window-splittable-p): Don't call `window--side-window-p'.
	(window--display-buffer): Handle `window-parameters' ALIST entry.
	Minor rewrite.
	(display-buffer): Mention `window-parameters' entry in
	doc-string.
	(display-buffer-at-bottom): Call `split-window-no-error'.

	* doc/lispref/elisp.texi (Top): New section "Side Windows".
	* doc/lispref/windows.texi (Deleting Windows): Fix descriptions
	of `delete-window' and `delete-other-windows' wrt window
	parameters and side windows.
	(Display Action Functions): Mention `window-parameters' ALIST
	entry.
	(Side Windows): New section (Bug#18170).
	(Window Configurations): Describe new function `window-swap-states'.
	(Window Parameters): Say that functions may behave specially when
	their homonymous window parameter has been set.  Mention new
	parameter `no-delete-other-window'.  Add cross reference for
	`window-side' and `window-slot' parameters.

2016-10-04  John Wiegley  <johnw@newartisans.com>

	Add documentation note from Alex

2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>

	Avoid dynamic binding on a symbol

	Instead, bind history in the default minibuffer-history.
	Fixes bug#24580.
	* lisp/replace.el (query-replace-read-from): Let-bind
	minibuffer-history.  Change read-regexp and read-from-minibuffer's
	HISTORY arguments to nil so that they use minibuffer-history.

2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)

	* src/fileio.c (Finsert_file_contents): Run before-change-hooks before
	deleting the old buffer content.
	* src/lisp.h (del_range_byte):
	* src/insdel.c (del_range_byte): Drop the last argument.
	* src/fns.c (Fbase64_encode_region): Adjust accordingly.

2016-10-03  Tino Calancha  <tino.calancha@gmail.com>

	Ibuffer: 'w' and 'B' default to buffer at current line

	See discussion in:
	https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
	* lisp/ibuffer.el (ibuffer--near-buffers): New defun;
	return buffers near current line.
	* lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
	Add argument ARG; if a non-zero integer, return next ARG buffers.
	Otherwise return the marked buffers.
	If there are not marked buffers, return buffer at current line
	without prompting the user.
	Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
	Append to kill ring when last command was a kill-region.
	(ibuffer-copy-filename-as-kill): Idem.
	Simplify the code.
	Use ibuffer-buffer-file-name instead of buffer-file-name to
	include buffers in Dired mode.

2016-10-03  Tino Calancha  <tino.calancha@gmail.com>

	dired-mark-extension: Unmark if called with C-u prefix

	See discussion in #Bug2518 and:
	https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
	* lisp/dired-x.el (dired-mark-extension):
	Update interactive calls: a prefix arg C-u unmark files;
	a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
	(dired-mark-sexp):
	Show in the prompt that we are unmarking if called with a prefix argument.
	* doc/misc/dired-x.texi (Advanced Mark Commands):
	Update documentation for 'dired-mark-extension'.

2016-10-02  Karl Fogel  <kfogel@red-bean.com>

	Document yank behavior in the right place

	* lisp/simple.el (yank): Document the handling of the
	`yank-handled-properties' and `yank-excluded-properties' variables,
	and the `yank-handler' text property.
	(yank-pop): Refer to `yank' now (bug#286)

	* lisp/subr.el (insert-for-yank): Refer to `yank' now.
	(insert-for-yank-1): Refer to `insert-for-yank' now.

	See this thread for discussion:

	  https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
	  From: Karl Fogel
	  To: Emacs Devel
	  Subject: Question about intended behavior of 'insert-for-yank-1'.
	  Date: Mon, 12 Sep 2016 00:17:14 -0500
	  Message-ID: <874m5lr92d.fsf@red-bean.com>

2016-10-02  Philipp Stephani  <phst@google.com>

	Restart blink cursor timers on interval changes

	This prevents surprising behavior when timer interval customizations are
	only applied whenever the timers happen to be restarted (see Bug#24372).

	* lisp/frame.el (blink-cursor--start-idle-timer)
	(blink-cursor--start-timer): New functions.
	(blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
	the new helper functions.
	(blink-cursor-delay, blink-cursor-interval): Restart timers when
	the value is changed.

2016-10-01  Philipp Stephani  <phst@google.com>

	Use a simple keyword for a non-nil argument

	The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
	and non-nil values are distinguished.  Passing a number here is
	confusing.  Pass a descriptive symbol instead.

	* lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
	:repeat symbol instead of number for second argument of
	`run-with-idle-timer'

2016-10-01  Philipp Stephani  <phst@google.com>

	Make querying to kill processes customizable

	Introduce a new customization option, `confirm-kill-processes', that
	users can set to nil if they don't want Emacs to nag them about killing
	processes.

	* lisp/files.el (confirm-kill-processes): New customization option.
	(save-buffers-kill-emacs): Use customization option.

	* test/lisp/files-tests.el
	(files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
	test for new customization option.

	* doc/emacs/entering.texi (Exiting): Document new user option.

	* doc/lispref/processes.texi (Query Before Exit): Document new
	user option.

	* etc/NEWS: Document new user option.

2016-10-01  Eli Zaretskii  <eliz@gnu.org>

	Set :version of 'debugger-stack-frame-as-list'

	* lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
	the ':version' attribute.

2016-10-01  Eli Zaretskii  <eliz@gnu.org>

	Bump Emacs version to 26.0.50

	* README:
	* configure.ac:
	* etc/NEWS:
	* etc/refcards/ru-refcard.tex:
	* msdos/sed2v2.inp:
	* src/msdos.c: Increment Emacs version to 26.0.50.
	* etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
	moved to etc/NEWS.

2016-10-01  Eli Zaretskii  <eliz@gnu.org>

	Avoid compilation warning on MinGW

	* src/w32.c: Include string.h, needed for the prototype of
	'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
	warning about "no previous prototype".  The string.h header
	must be included after ms-w32.h, but before "#undef strerror".

2016-09-30  Alan Third  <alan@idiocy.org>

	Fix compatibility with macOS 10.12 pmset (bug#24537)

	* lisp/battery.el (battery-pmset): Recognize and ignore battery id if
	present in output.

2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>

	Limit <config.h>’s includes

	This follows up on recent problems with the fact that config.h
	includes stdlib.h etc.; some files need to include stdlib.h later.
	config.h generally should limit itself to includes that are
	universally safe; outside of MS-Windows, only stdbool.h makes
	the cut among the files currently included.  So, move the
	other includes to just the files that need them (Bug#24506).
	* configure.ac (config_opsysfile): Remove, as this generic hook
	is no longer needed.
	* lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
	* src/w32proc.c (_GNU_SOURCE):
	Remove, as it’s OK for config.h to do this now.
	* src/conf_post.h: Include <ms-w32.h>, instead of the generic
	config_opsysfile, for simplicity as this old way of configuring is
	now done only for the MS-Windows port.  Do not include <ms-w32.h>
	if DEFER_MS_W32_H, for the benefit of the few files that want its
	effects later.  Do not include <alloca.h>, <string.h>, or
	<stdlib.h>.  Other files modified to include these headers as
	needed, or to not include headers that are no longer needed.
	* src/lisp.h: Include <alloca.h> and <string.h> here, since
	some of the inline functions need them.
	* src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
	we can rely on SAFE_ALLOCA.)  There is no longer any need to
	worry about HAVE_ALLOCA_H.
	* src/unexmacosx.c: Rely on config.h not including stdlib.h.
	* src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
	Define before including <config.h> first, and include <ms-w32.h>
	after the troublesome headers.

2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>

	New user option 'debugger-stack-frame-as-list'

	* src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
	variable.
	* lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
	* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
	backtrace processing for the value of debugger-stack-frame-as-list.
	* lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
	processing for the value of debugger-stack-frame-as-list.
	* doc/lispref/debugging.texi (Internals of Debugger): Document
	debugger-stack-frame-as-list.
	* etc/NEWS: Mention 'debugger-stack-frame-as-list'.

2016-09-30  Aurelien Aptel  <aaptel@suse.com>

	* src/alloc.c: call only non-null finalizers

2016-09-30  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warnings in image.c on MS-Windows

	* src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
	warning about unused macros.

2016-09-30  Paul Rankin  <hello@paulwrankin.com>

	* lisp/outline.el (outline-invisible-p): Only return `t' for
	the 'outline property.

2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>

	Fix problems found by static checking --with-ns

	This is for Fedora 24 when configured with --enable-gcc-warnings.
	Although it does not fix all the problems, it fixes many of them.
	* src/frame.c (XParseGeometry):
	* src/nsterm.m (mouseDown:):
	Mark locals with UNINIT to pacify --enable-gcc-warnings.
	* src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
	Remove unused macros.
	(slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
	(xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
	(xpm_put_color_table_v, xpm_get_color_table_v)
	(xpm_make_color_table_h, xpm_put_color_table_h)
	(xpm_get_color_table_h, xpm_load_image, xpm_load)
	(pbm_next_char, pbm_scan_number, pbm_load, svg_load)
	(svg_load_image):
	* src/nsfns.m (x_get_string_resource):
	* src/nsimage.m (ns_image_from_XBM):
	Fix pointer signedness problems.
	* src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
	(imagemagick_load_image): Omit unused locals.
	* src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
	(Fx_open_connection):
	* src/nsfont.m (ns_antialias_threshold):
	Move extern decl to nsterm.h so it can be checked.
	* src/nsmenu.m (svcsMenu, dockMenu):
	Move to the only file that uses them, so they can be static.
	* src/nsterm.h (find_and_call_menu_selection):
	* src/nsterm.m (x_set_frame_alpha):
	Omit duplicate decls.
	* src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
	* src/nsfns.m (ns_tooltip, ns_display_info_for_name)
	(ns_set_name_as_filename, x_set_menu_bar_lines)
	(x_set_tool_bar_lines, x_set_internal_border_width):
	* src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
	Now static.
	* src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
	* src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
	Remove; unused.
	* src/nsfont.m (ns_dump_glyphstring):
	* src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
	(ns_clear_frame, keyDown:):
	Fix signedness problem with printf arg.
	* src/nsterm.h (ns_input_events, ns_finish_events):
	* src/nsterm.m (ns_finish_events, hide_bell):
	Prototype the decls.
	* src/nsterm.m (NSMenuDidBeginTrackingNotification):
	Omit unnecessary decl.
	(dockMenu):
	(mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
	(ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
	(toggleFullScreen:): Use FACE_FROM_ID instead of
	FACE_FROM_ID_OR_NULL in contexts where the caller expects the
	result to be non-null.
	(applicationShouldTerminate:): Fix misleading indentation.

2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on more lexical-binding

	* lisp/dom.el:
	* lisp/faces.el:
	* lisp/htmlfontify.el: Turn on lexical-binding.
	(htmlfontify-string): Use pushnew instead of add-to-list.
	* lisp/info-xref.el:
	* lisp/isearch.el:
	* lisp/man.el:
	* lisp/ps-def.el:
	* lisp/ps-print.el:
	* lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
	time.
	(multi-occur): Use cl-pushnew instead of add-to-list.
	(replace-match-string-symbols): Remove unused lexical variable.
	(replace-search, replace-highlight): Fix argument shadowing.
	* lisp/sort.el:
	* lisp/xml.el: Turn on lexical-binding.
	(xml--parse-buffer): Use push instead of add-to-list.
	* lisp/xt-mouse.el: Turn on lexical-binding.

2016-09-27  Michael Albinus  <michael.albinus@gmx.de>

	* admin/notes/bug-triage: Do not mention closed bugs

	* admin/notes/bug-triage: Do not mention closed bugs, they are
	suppressed by default in debbugs-{gnu,org}.

2016-09-27  Michael Albinus  <michael.albinus@gmx.de>

	* etc/PROBLEMS: Remove problem Bug#22814, again.

2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	Stick with debbugs-supported tags in triage

	* admin/notes/bug-triage: Stick to the tag "unreproducible", which
	debbugs supports.

2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
	c14a1d4 Minor copyedits of MS-Windows installation instructions
	f281924 Fix display of cursor when 'blink-cursor-delay' has small value

	# Conflicts:
	#	lisp/minibuffer.el

2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	0ae9a81 Document 'timerp'
	2c72c46 Improve documentation of overlay priorities
	f6fa160 Fix 'dired-compress-files'
	2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR

	# Conflicts:
	#	lisp/dired.el
	#	src/buffer.h
	#	src/character.h

2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	cf9e174 Document the optional zlib library in MS-Windows builds
	84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
	73c67dd Fix tagging of DEFUN by etags
	ea1960b Avoid resetting track-mouse by mouse clicks
	505fef3 Improve nt/README.W32 instructions
	1229cc4 Document that desktop file overrides frame parameters
	f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release

	# Conflicts:
	#	ChangeLog.2
	#	admin/notes/unicode
	#	lisp/ldefs-boot.el

2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	0ffc9ce Update admin/authors.el
	0ad7410 Update Antinews in ELisp manual
	ea0f750 Fix comments on window height macros
	0bbdeed Fix 'url-http-create-request' when cookies are used
	0045998 Fix cross reference in frames.texi
	1392894 ; * etc/DEBUG: Minor copyedits.
	304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
	56bf7d7 Fix regexp-opt documentation (bug #17862)
	803ad6f ; Fix documentation of seq-subseq
	ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
	88ea396 ; Spelling fixes
	17197d0 Fix tags-query-replace docstring
	80a7f8b Clarify documentation of precision in format specs
	88a5052 Improve and clarify documentation of subprocesses
	89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).

	# Conflicts:
	#	etc/PROBLEMS
	#	src/process.c

2016-09-26  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.

2016-09-24  Eli Zaretskii  <eliz@gnu.org>

	Fix 'dired-mark-extension' with prefix argument

	* lisp/dired-x.el (dired-mark-extension): Allow to specify
	MARKER-CHAR interactively as a string, not as a character's
	codepoint.  (Bug#24518)

	* doc/misc/dired-x.texi (Advanced Mark Commands): Document the
	behavior when invoked with a prefix arg.

2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>

	Support completion of classes and IDs in CSS mode

	* lisp/textmodes/css-mode.el (css-class-list-function): New variable
	holding the function to call for retrieving completions of class
	names.
	(css-id-list-function): New variable holding the function to call for
	retrieving completions of IDs.
	(css--foreign-completions): New function for retrieving completions
	from other buffers.
	(css--complete-selector): Support completing HTML class names and IDs
	from other buffers in addition to completing HTML tags.

	* lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
	variable holding a cache for `html-current-buffer-classes'.
	(html--buffer-ids-cache): New variable holding a cache for
	`html-current-buffer-ids'.
	(html-current-buffer-classes): New function returning a list of class
	names used in the current buffer.
	(html-current-buffer-ids): New function returning a list of IDs used
	in the current buffer.
	(html-mode): Set `css-class-list-function' and `css-id-list-function'
	to `html-current-buffer-classes' and `html-current-buffer-ids'
	respectively.

2016-09-24  Eli Zaretskii  <eliz@gnu.org>

	Update test suite files due to removal of test/lisp/legacy

	* test/README: Reference file-organization.org.
	* test/file-organization.org: Remove the description of files in
	the lisp/legacy/ directory.

2016-09-24  Eli Zaretskii  <eliz@gnu.org>

	Incorporate syntax-tests in lisp-tests.

	* test/lisp/emacs-lisp/lisp-tests.el: Add tests from
	test/lisp/legacy/syntax-tests.el.
	* test/lisp/legacy/syntax-tests.el: File deleted.

2016-09-24  Eli Zaretskii  <eliz@gnu.org>

	Incorporate occur-tests in replace-tests

	* test/lisp/replace-tests.el: Add tests from
	test/lisp/legacy/occur-tests.el.
	* test/lisp/legacy/occur-tests.el: File deleted.

2016-09-24  Eli Zaretskii  <eliz@gnu.org>

	Incorporate lexbind-tests.el in bytecomp-test.el

	* test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
	test/lisp/legacy/lexbind-tests.el.
	* test/lisp/legacy/lexbind-tests.el: File deleted.

2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>

	Improve integer overflow handling a bit

	* src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
	The machine code is the same on my platform.
	* src/doprnt.c (doprnt):
	* src/emacs-module.c (module_funcall):
	* src/font.c (font_intern_prop):
	* src/keyboard.c (Frecursion_depth):
	* src/lread.c (read1):
	Use WRAPV macros instead of checking overflow by hand.
	* src/editfns.c (hi_time, time_arith, decode_time_components):
	* src/emacs-module.c (Fmodule_load):
	Simplify by using FIXNUM_OVERFLOW_P.
	* src/emacs-module.c: Include intprops.h.
	* src/xdisp.c (percent99): New function.
	(decode_mode_spec): Use it to simplify overflow avoidance and
	formatting of %p and %P.

2016-09-24  Eli Zaretskii  <eliz@gnu.org>

	Incorporate core-elisp-tests in lisp-tests

	* test/lisp/emacs-lisp/lisp-tests.el: Added tests from
	test/lisp/legacy/core-elisp-tests.el.
	* test/lisp/legacy/core-elisp-tests.el: File removed.

2016-09-24  Eli Zaretskii  <eliz@gnu.org>

	Move coding-tests.el and decoder-test.el to their places

	* test/src/coding-tests.el: Added all the tests from
	test/lisp/legacy/decoder-tests.el.
	* test/lisp/legacy/decoder-tests.el: File deleted.

2016-09-23  Vibhav Pant  <vibhavp@gmail.com>

	Use correct TYPE value for displaying error messages in (erc-display-message)

2016-09-23  Eli Zaretskii  <eliz@gnu.org>

	Bump the version to 25.2.50

	* README:
	* configure.ac:
	* etc/NEWS:
	* msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.

2016-09-22  Tino Calancha  <tino.calancha@gmail.com>

	ibuffer-do-view-other-frame: Display each buffer in a new frame

	* lisp/ibuffer.el (ibuffer-do-view-1):
	When TYPE equals 'other-frame, then display each buffer
	in a new frame (Bug#24086).

2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2016-09-22 stdint: port to GCC 7
	2016-09-22 limits-h, stdint: don't assume extensions
	* doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.

2016-09-22  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error

2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent flexmember changes to NetBSD

	The NetBSD library supports localtime_rz directly, and without
	this change 'configure' omitted the flexmember test that is marked
	as conditional on localtime_rz.  Emacs now needs to use
	flexmember.m4 even when localtime_rz works.
	Problem reported by Thomas Klausner.
	* admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.

2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/misc/texinfo.tex: Copy from gnulib.

2016-09-21  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.

2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>

	Use flexmembers on IBM XL C for AIX

	This removes a workaround where Emacs did not use flexible
	array members when compiled with IBM XL C.  Instead, avoid
	the problem by making the aliasing issues more obvious to
	this compiler.
	* admin/merge-gnulib: Don’t remove m4/flexmember.m4.
	* m4/flexmember.m4: Copy from gnulib.
	* configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
	* src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
	problem that would otherwise mess up code generated for flexible
	array members by IBM XL C for AIX, V12.1.
	* src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
	by gnulib code.

2016-09-19  Michael Albinus  <michael.albinus@gmx.de>

	Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32

	* lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
	`tramp-drop-volume-letter' any longer, it causes collateral
	damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.

2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>

	Port January __morecore changes to AIX 7.1

	* src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
	(__after_morecore_hook):
	* src/ralloc.c (__morecore):
	Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
	not defined.  <malloc.h> does not declare these in AIX 7.1.

2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>

	Define _GNU_SOURCE in files delaying config.h

	Problem reported by Richard Copley in:
	https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
	* src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
	Define early.

2016-09-17  Eli Zaretskii  <eliz@gnu.org>

	Update the bidi test code and data

	* test/manual/BidiCharacterTest.txt: Import the version from
	Unicode Standard 9.0.0.
	* test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
	in the 4th field of the test data.

2016-09-17  Tino Calancha  <tino.calancha@gmail.com>

	ibuffer-do-toggle-read-only: Fix unused argument

	* lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
	'read-only-mode' with ARG when its an integer.
	Clarify the meaning of ARG in doc string.

2016-09-17  Alan Mackenzie  <acm@muc.de>

	Improve accuracy of line/column numbers in byte compiler's warning messages.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
	value of byte-compile-last-position is not lower than old value.
	(byte-compile-function-warn): call byte-compile-set-symbol-position.

2016-09-17  Michael Albinus  <michael.albinus@gmx.de>

	Minor Tramp tweaks

	* lisp/net/tramp.el (tramp-get-buffer): Reuse connection
	property "process-buffer" if already existing.
	(tramp-connectable-p): Suppress debug messages.

2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	Define _GNU_SOURCE in unexmacosx.c

	Problem reported by Bob Halley in:
	https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
	* src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.

2016-09-16  Alan Mackenzie  <acm@muc.de>

	C Mode: Fix mis-fontification of macro invocation as function declaration

	This happened with a macro invocation which was followed by a statement block
	in braces.

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
	between contexts nil and top, being less permissive in the former case.
	(c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.

2016-09-16  Eli Zaretskii  <eliz@gnu.org>

	Improve the doc string of 'format'

	* src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
	of a literal period.  (Bug#24407)

2016-09-16  Eli Zaretskii  <eliz@gnu.org>

	Improve doc strings in whitespace.el

	* lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
	(global-whitespace-mode, global-whitespace-newline-mode): Improve
	the doc strings.  (Bug#24413)

2016-09-16  Eli Zaretskii  <eliz@gnu.org>

	Improve detectability of 'next-logical-line' and 'previous-logical-line'

	* lisp/simple.el (next-line, previous-line): Mention
	'next-logical-line' and 'previous-logical-line' in the doc
	strings.  (Bug#24443)

2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2016-09-16 extensions: fix typo in comment
	2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
	* m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.

2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer now-standard int width macros

	* src/data.c (ULL_WIDTH):
	* src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
	* src/lread.c (read_integer):
	* src/term.c (produce_glyphless_glyph):
	* src/xterm.c (x_send_scroll_bar_event):
	Use *_WIDTH macros instead of CHAR_BIT * sizeof.
	* src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
	with the *_WIDTH standard macros.  All uses changed.
	* src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
	* src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
	for consistency with the *_WIDTH standard macros.  All uses changed.
	(BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
	be the same as CHAR_WIDTH and avoids confusion with Elisp
	char-width, which counts columns not bits.
	(BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
	(BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
	* src/lread.c: Do not include limits.h since CHAR_BIT is no longer
	used directly.

2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2016-09-15 stdint: support new _WIDTH macros
	2016-09-15 limits-h: new module
	2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
	2016-09-15 extensions: port to more ISO C TSes
	2016-09-13 intprops: new macro TYPE_WIDTH
	2016-09-13 extensions: port to recent ISO C TRs
	* .gitignore: Add lib/limits.h.
	* doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
	* lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
	* m4/sys_types_h.m4: Copy from gnulib.
	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
	* lib/limits.in.h, m4/limits-h.m4: New files, copied from gnulib.
	* nt/gnulib.mk: Merge changes from lib/gnulib.mk.

2016-09-15  Michael Albinus  <michael.albinus@gmx.de>

	Rework fixing Bug#24432

	* lisp/net/tramp.el (tramp-get-buffer): Set connection property
	"process-buffer" in order to mark connection as active.

	* lisp/net/tramp-cache.el (tramp-get-hash-table)
	(tramp-set-connection-property)
	(tramp-dump-connection-properties): Do not use "active" property.
	(tramp-list-connections): Use "process-buffer" property.

	* lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
	properties prior deletion of process.

2016-09-14  Johan Bockgård  <bojohan@gnu.org>

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).

	* lisp/emacs-lisp/edebug.el (defun): Fix debug spec.

2016-09-14  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warning on MS-Windows due to clone_file

	* src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
	call to it is not compiled in that build, and having it defined
	causes compiler warnings.

2016-09-14  Eli Zaretskii  <eliz@gnu.org>

	Avoid aborts in GC due to abort_on_gc

	* src/lisp.h:
	* src/print.c (Fprin1_to_string):
	* src/eval.c (signal_or_quit):
	* src/alloc.c (garbage_collect_1): Remove declarations, setting,
	and testing the value of abort_on_gc.  It is no longer needed, and
	using it causes rare aborts in GC for no good reason.  (Bug#23912)

2016-09-14  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#24432

	* lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
	connection as inactive.
	(tramp-set-connection-property): Make the connection active.
	(tramp-dump-connection-properties): Don't save "active" property.
	(tramp-list-connections): List only active connections.  (Bug#24432)

2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't bug out on all-whitespace URLs

	* lisp/net/shr.el (shr-expand-url): Don't bug out on
	degenerate all-whitespace URLs.

2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>

	sieve-manage.el: Rename sieve-manage-ignore-broken-tls

	* lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
	Rename from sieve-manage-ignore-broken-tls.  If it is set,
	sieve-manage will never use STARTTLS even if the server says
	it is capable (but may be broken).

2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	Port to ISO/IEC TS 18661-1:2014

	* src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
	All uses changed.

2016-09-13  Tino Calancha  <tino.calancha@gmail.com>

	dired-jump: Expand file-name before dired-goto-file call

	Command dired-goto-file requires its argument to be an absolute
	file name.  Interactively FILE-NAME is read with read-file-name,
	which could return an abbreviated file name (Bug#24409).
	* lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
	Clarify in doc string the meaning of arg FILE-NAME.

2016-09-13  Tino Calancha  <tino.calancha@gmail.com>

	Add test for Bug#21454

	* test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.

2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.

2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>

	sieve.el: Make the buffer to edit unmodified initially (bug#24423)

	* lisp/net/sieve.el (sieve-edit-script):
	Make the buffer to edit be not modified-p initially (bug#24423).

2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>

	sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)

	* lisp/net/sieve-manage.el
	(sieve-manage-ignore-broken-tls): New user option.
	(sieve-manage-open-server):
	Don't test STARTTLS capability if the option is set (bug#24422).

2016-09-12  Michal Nazarewicz  <mina86@mina86.com>

	Fix compiler thinking width and height may be uninitialized in frame.c

	This fixes the following warning:

		frame.c: In function ‘x_set_frame_parameters’:
		frame.c:3329:25: error: ‘width’ may be used uninitialized in
			this function [-Werror=maybe-uninitialized]
		       adjust_frame_size (f, width_change ? width : -1,
	                         ^

	* src/frame.c (x_set_frame_parameters): Drop width_changed and
	height_changed variables in favor of storing that information in
	width and height variables.

2016-09-12  Michal Nazarewicz  <mina86@mina86.com>

	Fix compiler thinking tmpdir may be uninitialized in emacsclient

	This fixes the following warning:

		emacsclient.c: In function ‘set_local_socket’:
		/usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
			‘tmpdir’ may be used uninitialized in this function
			[-Werror=maybe-uninitialized]
		   return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
		   ^
		emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
		     const char *tmpdir;

	* lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
	variable and instead use tmpdir being non-NULL as sign that it should
	be used.

2016-09-12  Tino Calancha  <tino.calancha@gmail.com>

	image-dired: Signal an error before calling a missing executable

	Reverts commit ca473907
	Add a defun to check if an executable exists, and call it
	on each function using an external program: when the executable
	is not available signal an error.
	See discussion on:
	https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
	* lisp/image-dired.el (image-dired--check-executable-exists): New defun.
	Throw and error when the executable arg is missing.
	(image-dired-display-image, image-dired-rotate-thumbnail)
	(image-dired-rotate-original, image-dired-set-exif-data)
	(image-dired-get-exif-data):
	Use it.

2016-09-12  Eli Zaretskii  <eliz@gnu.org>

	Fix daemon shutdown when emacs-kill-hooks ask questions

	* lisp/server.el (server-start): Put the server's kill-emacs-hook
	last, to allow other hooks to have a frame to interact with the
	user.  (Bug#24326)

2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>

	* src/casefiddle.c (casify_word): Simplify.

	* src/casefiddle.c (casify_word): Return Qnil.

2016-09-12  Michal Nazarewicz  <mina86@mina86.com>

	Refactor common code in {upcase,downcase,capitalize}-word functions

	* src/casefiddle.c (operate_on_word): Removed in favor of…
	(casify_word) …new function which does what operate_on_word did plus
	what all of the common code from *-word functions.
	(upcase-word, downcase-word, capitalize-word): Move code common between
	those functions (pretty much the whole body of those functions) into
	casify_word and use that instead of now deleted operate_on_word.

2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/lispref/files.texi: Remove @vindex.

2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	Remove unnecessary ref to coreutils manual

	* doc/lispref/files.texi: Document write-region-inhibit-fsync.

2016-09-11  Alan Mackenzie  <acm@muc.de>

	Correctly fontify C++ direct initializations with parens inside functions

	Or, more clearly, when something looks like a function declaration and it's
	inside a function, fontify it as a direct initialization.

	For this purpose, introduce a "brace stack" for each buffer, where an entry on
	the brace stack states how deeply nested a particular position is inside
	braces inside a "top level", which includes classes and namespaces.

	Also introduce a new "context", "top", with which c-font-lock-declarations
	signals to c-forward-decl-or-cast-1 that point is at the top level.

	* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
	c-truncate-bs-cache.
	(c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
	(c-type-decl-operator-prefix-key): new language constants/variables.

	* lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
	(c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
	stack cache.
	(c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
	(c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
	(c-find-decl-prefix-search): Keep track of whether we're at top level.
	(c-find-decl-spots): New local variable cfd-top-level which records what it
	says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
	(c-forward-declarator): Add new element DECORATED to the result list.  Set it
	to non-nil when a match for c-type-decl-operator-prefix-key is found.
	(c-forward-decl-or-cast-1): Handle the newly introduced context "top".
	Introduce "CASE 9.5", which recognizes direct initializations.

	* lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
	(c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
	(c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
	Add appropriate `not-top' argument to calls to c-font-lock-declarators.
	(c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
	participate in the decision whether to fontify an identifier as a function or
	a variable.
	(c-font-lock-declarations): The internal lambda function takes an additional
	argument `toplev' from c-find-decl-spots, which it uses in determining the
	"context" of a declaration.  Add appropriate `not-top' argument to calls to
	c-font-lock-declarators.
	(c-font-lock-objc-methods): Add extra parameter to internal lambda function,
	like for c-font-lock-declarators.

	* lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
	cache.

2016-09-11  Eli Zaretskii  <eliz@gnu.org>

	Avoid signaling errors when computing "Stop" in GDB menu

	* lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
	'gdb-running-threads-count' must have a numeric value.
	(Bug#24414)

2016-09-11  Philipp Stephani  <phst@google.com>

	Stop calling ‘byte-compile-log-warning’

	For errors, use ‘byte-compile-report-error’ instead so that the error
	is registered and causes compilation to fail (Bug#24359).

	For warnings, use ‘byte-compile-warn’ instead so that
	‘byte-compile-error-on-warn’ is honored (Bug#24360).

	* lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
	(macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
	‘byte-compile-log-warning’.

	* lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
	(byte-compile-setq, byte-compile-funcall): Use
	‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
	(byte-compile-log-warning): Convert comment to documentation
	string.  Explain that the function shouldn’t be called directly.
	(byte-compile-report-error): Add optional FILL argument.

	* lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
	(cconv--analyze-function, cconv-analyze-form): Use
	‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.

	* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
	‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.

	* lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
	of ‘byte-compile-log-warning’.
	(do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
	‘byte-compile-log-warning’.

2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS: Remove comment lost in emacs-25 merge.

2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	Document file synchronization issues

	* doc/lispref/files.texi (Files and Storage): New section.

2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	copy-file now uses GNU/Linux file cloning

	From a suggestion by Kieran Colford (see Bug#23904).
	* configure.ac: Check for linux/fs.h.
	* src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
	(clone_file): New function.
	(Fcopy_file): Use it.

2016-09-10  Alan Third  <alan@idiocy.org>

	Invert y coord of NS image files (bug#7847)

	* src/nsterm.m (ns_dumpglyphs_image): Invert y coordinate of the image
	when compositing.

2016-09-10  Noam Postavsky  <npostavs@gmail.com>

	Don't require isearch-update before isearch-done

	It is useful to be able to call `isearch-done' unconditionally to
	ensure a non-isearching state.

	* lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
	is a live buffer before using it (Bug #21091).
	* test/lisp/isearch-tests.el (isearch--test-done): Test it.

2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>

	* lisp/emacs-lisp/ring.el: Use lexical-binding

	* lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
	argument of `dotimes' when the iteration variable isn't referred by
	it.
	(ring-member): Don't pass nil as the RESULT argument of `dotimes'
	since it's the default.

2016-09-08  Michal Nazarewicz  <mina86@mina86.com>

	Split regex character class test into smaller chunks

	Having one test for all character classes it is not always trivial to
	determine which class is failing.  This happens when failure is caused
	by ‘(should (equal (point) (point-max)))’ not being met.

	With per-character class tests, it is immediately obvious which test
	causes issues plus tests for all classes are run even if some of them
	fail.

	* test/src/regex-tests.el (regex-character-classes): Delete and split
	into…
	(regex-tests-alnum-character-class, regex-tests-alpha-character-class,
	regex-tests-ascii-character-class, regex-tests-blank-character-class,
	regex-tests-cntrl-character-class, regex-tests-digit-character-class,
	regex-tests-graph-character-class, regex-tests-lower-character-class,
	regex-tests-multibyte-character-class,
	regex-tests-nonascii-character-class,
	regex-tests-print-character-class, regex-tests-punct-character-class,
	regex-tests-space-character-class,
	regex-tests-unibyte-character-class,
	regex-tests-upper-character-class, regex-tests-word-character-class,
	regex-tests-xdigit-character-class): …new tests.

2016-09-08  Michal Nazarewicz  <mina86@mina86.com>

	Don’t allocate char-table’s extra slots in regexp-out-charset

	* lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
	'case-table as charmap char-table’s property.  The function has nothing
	to do with casing and in addition using 'case-table causes unnecessary
	extra slots to be allocated which ‘regexp-opt-charset’ does not use.

2016-09-08  Michal Nazarewicz  <mina86@mina86.com>

	Remove dead loop iterations in regex.c

	RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
	character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
	for byte8 characters.  This means that

		c = RE_CHAR_TO_MULTIBYTE (ch);
		if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))

	is equivalent to:

		c = c;
		if (! false && re_iswctype (c, cc))

	for 0 ⪬ c < 0x80, and

		c = BYTE8_TO_CHAR (c);
		if (! true && re_iswctype (c, cc))

	for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
	c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.

	* src/regex.c (regex_compile): Simplify a for loop by eliminating
	dead iterations and unnecessary macro calls.

2016-09-08  Michal Nazarewicz  <mina86@mina86.com>

	Replace decimalnump with alphanumericp

	decimalnump was used in regex.c only in ISALNUM macro which ored it with
	alphabeticp.  Because both of those functions require Unicode general
	category lookup, this resulted in unnecessary lookups (if alphabeticp
	return false decimalp had to perform another lookup).  Drop decimalnump
	in favor of alphanumericp which combines decimelnump with alphabeticp.

	* src/character.c (decimalnump): Remove in favor of…
	(alphanumericp): …new function.

	* src/regex.c (ISALNUM): Use alphanumericp.

2016-09-08  Michal Nazarewicz  <mina86@mina86.com>

	Remove inaccurate comment in regex.c

	* src/regex.c (regex_compile): Remove comment indicating that wctype of
	some character classes may be negative.  All wctypes are in fact
	non-negative.

2016-09-08  Michal Nazarewicz  <mina86@mina86.com>

	STRING_CHAR does not unify characters; update documentation

	* src/character.h (STRING_CHAR): Update doc.
	* src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
	the function to use BYTE_POS_ADDR instead of open-coding it.

2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>

	Add tests for ring.el

	* test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.

2016-09-07  Martin Rudalics  <rudalics@gmx.at>

	New file test/src/marker-tests.el

2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>

	Port flexible array members to GCC + valgrind

	These changes are needed to conform to the C standard's rule for
	allocating structs containing flexible array members.  C11 says
	that malloc (offsetof (struct s, m) + n) does not suffice to
	allocate a struct with an n-byte tail; instead, malloc’s arg
	should be rounded up to the nearest multiple of alignof (struct s).
	Although this is arguably a defect in C11, gcc -O2 + valgrind
	sometimes complains when this rule is violated, and when debugging
	it’s better to keep valgrind happy.
	For details please see the thread containing the message at:
	https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
	* lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
	Include flexmember.h.
	* lib-src/ebrowse.c (add_sym, add_member, make_namespace)
	(register_namespace_alias):
	* src/alloc.c (SDATA_SIZE, allocate_string_data):
	* src/image.c (xpm_cache_color, imagemagick_create_cache):
	* src/process.c (Fmake_network_process):
	Use FLEXSIZEOF instead of offsetof and addition.
	* src/alloc.c (SDATA_SIZE, vector_alignment):
	Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
	* src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
	Remove, as alloc.c can now calculate this on its own.

2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2016-09-07 flexmember: new macro FLEXALIGNOF
	2016-09-07 flexmember: port better to GCC + valgrind
	2016-08-18 Port modules to use getprogname explicitly
	2016-09-02 manywarnings: add -fno-common
	* admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
	since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
	* configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
	since Emacs assumes C99 and therefore removes m4/flexmember.m4.
	* lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
	* m4/manywarnings.m4: Copy from gnulib.
	* lib/flexmember.h: New file, from gnulib.
	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.

2016-09-07  Noam Postavsky  <npostavs@gmail.com>

	Don't --load directories

	* lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
	of --load when it refers to a normal file, since `load' doesn't handle
	directories (Bug #16406).

2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>

	Avoid error in icalendar--read-element

	* lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
	stack overflow by not using regex to extract values from calendar
	events. (Bug#24315)

2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>

	Fix back-white <-> black-white typo

	* lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)

2016-09-07  Alan Third  <alan@idiocy.org>

	Fix cursor at bottom left of rectangle (bug#24364)

	* lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
	require rectangle--point-crutches to be set.

2016-09-07  Eli Zaretskii  <eliz@gnu.org>

	Fix documentation of convert-standard-filename on MS-Windows

	* lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)

	* etc/NEWS: Suggest a way for mirroring slashes where previously
	'convert-standard-filename' was used.

2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>

	Use DEV_TTY more consistently

	* src/conf_post.h (DEV_TTY): Move from here ...
	* src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
	to be visible everywhere.  Make it a constant.
	* src/keyboard.c (handle_interrupt, Fset_quit_char):
	* src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".

2016-09-06  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations when using marker positions

	* src/intervals.c (set_point_from_marker): If MARKER comes from
	another buffer, recalculate its byte position before using it to
	set point.
	* src/marker.c (set_marker_internal): If POSITION is a marker from
	another buffer, recalculate its byte position before using it.
	(Bug#24368)

2016-09-06  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug

2016-09-06  Alan Mackenzie  <acm@muc.de>

	New options for handling of literals in c-syntactic-re-search-forward

	* lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
	be given the values `before-literal' and `after-literal', so that when a
	search fails, and the `bound' is inside a literal, point is left respectively
	before or after that literal.

2016-09-05  Eli Zaretskii  <eliz@gnu.org>

	Avoid assertion violations when scrolling narrowed buffer

	* src/window.c (window_scroll_pixel_based):
	* src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
	start outside the accessible portion of the buffer.  This avoids
	assertion violations when some Lisp narrows the buffer to less
	than the current window, and then attempts to scroll the buffer.

2016-09-05  Eli Zaretskii  <eliz@gnu.org>

	Treat SIGINT correctly in GUI sessions on MS-Windows

	* src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
	supported by MS runtime.
	* src/term.c (DEV_TTY): Move from here ...
	* src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
	for WINDOWSNT and for the rest.
	* src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
	a literal "/dev/tty".

	* etc/NEWS: Mention the behavior change.

2016-09-04  Alan Third  <alan@idiocy.org>

	Fix synthetic bold on macOS retina displays

	* src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
	factor by the OS window backing scale factor.

2016-09-04  Tino Calancha  <tino.calancha@gmail.com>

	image-dired: Report when a necessary executable is not found

	See discussion on:
	https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
	* lisp/image-dired.el (image-dired-cmd-rotate-original-program)
	(image-dired-cmd-create-thumbnail-program)
	(image-dired-cmd-create-temp-image-program)
	(image-dired-cmd-rotate-thumbnail-program)
	(image-dired-cmd-write-exif-data-program)
	(image-dired-cmd-read-exif-data-program):
	Use executable-find to set the default value of this option.
	(image-dired-cmd-rotate-original-program): Idem.
	Search for program 'convert' if 'jpegtran' is not available.
	(image-dired-cmd-rotate-original-options):
	Set the default value consistent with the executable in
	image-dired-cmd-rotate-original-program.
	(image-dired-create-thumb, image-dired-display-image)
	(image-dired-rotate-thumbnail, image-dired-rotate-original)
	(image-dired-set-exif-data, image-dired-get-exif-data):
	Throw and error when the executable used in the function is missing.
	(image-dired-next-line, image-dired-previous-line):
	Use 'forward-line'.

2016-09-03  Tino Calancha  <tino.calancha@gmail.com>

	image-type-from-file-name: Perform a case insensitive match

	Fix Bug#24317
	* lisp/image.el (image-type-from-file-name): Bind case-fold-search
	to a non-nil value to force a case insensitive match.
	* lisp/image-dired.el (image-dired-rotate-original):
	Use image-type (Bug#24317).
	(image-dired-get-exif-file-name): Idem.
	Set 'no-exif-data-found' and 'data' in same setq call.
	Use file-attribute-modification-time.

2016-09-03  Tino Calancha  <tino.calancha@gmail.com>

	image-increase-size: Fix non-interactive calls

	* lisp/image.el (image-increase-size, image-decrease-size):
	Compute a floating point division.
	Problem reported in:
	https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html

2016-09-03  Robert Cochran  <robert-git@cochranmail.com>

	Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el

	Passing the prefix argument as the 3rd argument to 'call-interactively'
	causes the prefix argument to be interpreted as events, which is not
	only wrong, but also causes a type error, as 'current-prefix-arg' can
	never be a vector as 'call-interactively' expects.  'call-interactively'
	automatically passes its prefix argument to the called function, so just
	do that, eliminating faulty behavior.

	* lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
	(checkdoc-ispell-current-buffer):
	(checkdoc-ispell-interactive):
	(checkdoc-ispell-message-text):
	(checkdoc-ispell-start):
	(checkdoc-ispell-continue):
	(checkdoc-ispell-comments):
	(checkdoc-ispell-defun):
	Do not pass 'current-prefix-arg' to 'call-interactively' as an event
	vector; merely allow it to propagate forward to the interactive call.

2016-09-03  Richard Stallman  <rms@gnu.org>

	Fix mail-combine-fields

	* lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
	avoid losing our place in the search loop.

2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	Check actual contents before prompting about changed file

	* lisp/userlock.el (userlock--check-content-unchanged)
	(userlock--ask-user-about-supersession-threat): New functions.
	* src/filelock.c (lock_file): Use them to avoid spurious prompting.
	* doc/lispref/buffers.texi (Modification Time): Update doc of
	ask-user-about-supersession-threat.

2016-09-02  Michael Albinus  <michael.albinus@gmx.de>

	Make a reference to fakecygpty in the Tramp manual

	* doc/misc/tramp.texi (Windows setup hints): Make a reference to
	fakecygpty on the Emacs Wiki.
	(Frequently Asked Questions): Fix url.

2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t create fd >= FD_SETSIZE

	This avoids a potential crash if too many subprocesses (Bug#24325).
	* src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
	(init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
	set it to FD_SETSIZE.

2016-09-01  Alan Mackenzie  <acm@muc.de>

	Fix c-declaration-limits to return correct limits in all cases.

	This function is the guts of c-indent-defun and c-mark-function.

	In particular, when c-defun-tactic is nil, return a correct value rather than
	always nil, and when it's 'go-outward, go through an intricate algorithm to
	determine the requisite narrowing before the "top-level" defuns go to work.

	* lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
	to take additional optional parameter LEVEL, saying how many enclosing levels
	of decl-block to narrow to.
	(c-declaration-limits): Introduce algorithm to determine narrowing.  Use
	c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
	lower bound.

2016-09-01  Eli Zaretskii  <eliz@gnu.org>

	* nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.

2016-09-01  Eli Zaretskii  <eliz@gnu.org>

	Avoid compiler warnings with MinGW64 GCC 6

	* nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
	the GCC 6 builtin, to avoid warnings.  For more details, see
	https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.

2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Fix over-substitution of quotes on error

	Problem reported by Tino Calancha in:
	https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
	* src/print.c (print_error_message):
	Substitute quotes in errmsg only when gotten from a property.

2016-08-31  Eli Zaretskii  <eliz@gnu.org>

	Improve testing of etags

	* test/manual/etags/y-src/cccp.c:
	* test/manual/etags/y-src/parse.c: Correct #line directives to
	allow testing invalidate_nodes in etags.c.
	* test/manual/etags/ETAGS.good_1:
	* test/manual/etags/ETAGS.good_2:
	* test/manual/etags/ETAGS.good_3:
	* test/manual/etags/ETAGS.good_4:
	* test/manual/etags/ETAGS.good_5:
	* test/manual/etags/ETAGS.good_6:
	* test/manual/etags/CTAGS.good: Adapt to changes in test files.

2016-08-31  Eli Zaretskii  <eliz@gnu.org>

	* lib-src/etags.c (invalidate_nodes): Fix another thinko.

2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	Fix etags problems found by static checking

	* lib-src/etags.c (invalidate_nodes, put_entry):
	Remove now-unnecessary tests for null pointers.  Simplify.
	(put_entries): Rewrite to avoid GCC 6.2 warning about
	dereferencing null pointer.

2016-08-31  Eli Zaretskii  <eliz@gnu.org>

	Fix a thinko in etags.c

	* lib-src/etags.c (invalidate_nodes): Don't try to dereference
	a null pointer.

2016-08-31  Eli Zaretskii  <eliz@gnu.org>

	Avoid recursive calls in etags

	* lib-src/etags.c (stack_entry): New struct.
	(push_node, pop_node, put_entry): New functions.
	(free_tree, add_node, invalidate_nodes, put_entries): Re-implement
	in a non-recursive way, to avoid stack overflow.  (Bug#5847)

2016-08-31  Leo Liu  <sdl.web@gmail.com>

	Add 451 to url-http-codes

	* lisp/url/url-http.el (url-http-codes): Add 451.

2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	* src/editfns.c (Fformat_message): Fix doc to match current behavior.

2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	Minor doc quoting fixes

	* doc/misc/htmlfontify.texi (Interactive):
	* lisp/htmlfontify.el (htmlfontify-buffer):
	Spell out character names, for clarity.  The old doc string
	generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
	stands for a form feed character; this was confusing.
	* lisp/electric.el (electric-quote-mode):
	* src/doc.c (syms_of_doc):
	* src/editfns.c (Fformat_message):
	Remove no-longer-necessary ‘\=’s in doc strings.

2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
	2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
	2016-08-29 intprops.h: port recent changes to GCC 6.2.0
	2016-08-29 intprops.h: use __typeof__ with GCC 7
	2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
	2016-08-24 intprops: fix paren typo on old platforms
	2016-08-24 intprops: port to OpenVMS
	* lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.

2016-08-30  Tassilo Horn  <tsdh@gnu.org>

	Fix rules for \phi and \varphi which were reversed

	* lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
	  are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
	  were reversed which is not true (anymore?).

2016-08-30  Tassilo Horn  <tsdh@gnu.org>

	Fix prettification of \phi, \varphi, and \varsigma

	* lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
	  prettification of \phi, \varphi, and \varsigma.

	Concretely, \phi's symbol was actually varphi, \varphi was missing, and
	\varsigma was commented out with a FIXME that it was reversed with
	\sigma which it was not.

2016-08-30  Karl Fogel  <kfogel@red-bean.com>

	Use normal double quotes in TeX / LaTeX comments

	* lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
	  default to inserting a normal double quote (") instead of TeX-style
	  open (``) or close ('') quote marks.

	* etc/NEWS (TeX mode): Note the change.

	* test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.

	See this thread for discussion:

	  https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
	  From: Karl Fogel <kfogel {_AT_} red-bean.com>
	  To: Emacs Development <emacs-devel {_AT_} gnu.org>
	  Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
	  Date: Mon, 29 Aug 2016 14:44:12 -0500
	  Message-ID: <87twe3icmr.fsf@red-bean.com>

2016-08-30  Alan Mackenzie  <acm@muc.de>

	Correctly analyze C++ list initialization in member init areas.

	* lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
	superfluous call to c-backward-syntactic-ws.
	(c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
	reports encountering the Java "new" keyword.  Add, as an alternative, a check
	that we can move back over member initializations, and handle this as finding
	a brace block.
	(c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
	new calling convention of c-looking-at-or-maybe-in-bracelist.
	(c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
	calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
	using the extra info from the value of that function to generate a
	topmost-into-cont element where needed (in Java).

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
	calling convention of c-looking-at-or-maybe-in-bracelist.

	* lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
	convention of c-looking-at-or-maybe-in-bracelist.

2016-08-30  Michael Albinus  <michael.albinus@gmx.de>

	Use `file-attribute-*' in Tramp

	* lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
	(tramp-compat-file-attribute-link-number)
	(tramp-compat-file-attribute-user-id)
	(tramp-compat-file-attribute-group-id)
	(tramp-compat-file-attribute-modification-time)
	(tramp-compat-file-attribute-size)
	(tramp-compat-file-attribute-modes): New defaliases.

	* lisp/net/tramp.el (tramp-handle-file-modes)
	(tramp-handle-file-newer-than-file-p)
	(tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
	(tramp-handle-set-visited-file-modtime)
	(tramp-handle-verify-visited-file-modtime)
	(tramp-get-local-gid, tramp-check-cached-permissions):
	* lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
	(tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
	(tramp-gvfs-handle-file-directory-p)
	(tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
	(tramp-gvfs-get-remote-gid):
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
	(tramp-sh-handle-set-visited-file-modtime)
	(tramp-sh-handle-verify-visited-file-modtime)
	(tramp-sh-handle-file-newer-than-file-p)
	(tramp-sh-handle-file-ownership-preserved-p)
	(tramp-do-copy-or-rename-file)
	(tramp-do-copy-or-rename-file-via-buffer)
	(tramp-do-copy-or-rename-file-directly)
	(tramp-do-copy-or-rename-file-out-of-band)
	(tramp-sh-handle-file-local-copy)
	(tramp-sh-handle-write-region):
	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
	(tramp-smb-handle-copy-file)
	(tramp-smb-handle-file-directory-p)
	(tramp-smb-handle-file-writable-p)
	(tramp-smb-handle-insert-directory): Use them.

2016-08-30  Martin Rudalics  <rudalics@gmx.at>

	In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)

	* lisp/window.el (pop-to-buffer): Don't assume that
	`display-buffer' has supplied a window (Bug#24332).
	Rename BUFFER argument to BUFFER-OR-NAME.
	* doc/lispref/windows.texi (Switching Buffers): Fix
	`pop-to-buffer' documentation.

2016-08-29  Alan Third  <alan@idiocy.org>

	Clarify docstrings

	* src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.

2016-08-29  Michael Albinus  <michael.albinus@gmx.de>

	Use `process-live-p' in Tramp

	* lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.

	* lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
	(tramp-handle-file-notify-valid-p)
	(tramp-action-process-alive, tramp-action-out-of-band)
	(tramp-wait-for-regexp):
	* lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
	(tramp-adb-maybe-open-connection):
	* lisp/net/tramp-cache.el (tramp-get-connection-property):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
	* lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
	(tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
	* lisp/net/tramp-sh.el (tramp-process-sentinel)
	(tramp-sh-handle-file-notify-add-watch)
	(tramp-maybe-open-connection):
	* lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
	(tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
	(tramp-smb-handle-process-file, tramp-smb-action-set-acl)
	(tramp-smb-get-cifs-capabilities)
	(tramp-smb-get-stat-capability)
	(tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
	(tramp-smb-kill-winexe-function): Use it.

2016-08-29  Eli Zaretskii  <eliz@gnu.org>

	Avoid crashes for invalid value of key modifiers

	* src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
	is not a symbol, don't try to recognize it.  See
	https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
	for the details.

	* test/src/keymap-tests.el (keymap-where-is-internal-test): New
	test, for testing the above fix.

2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>

	Make dired-do-compress understand files with spaces in them

	* lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
	  and `literal' flag to `replace-regexp-in-string'.

2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>

	* INSTALL.REPO: Suggest Texinfo 4.13 or later.

2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>

	Add tests for dom.el

	* test/lisp/dom-tests.el: New file with tests for dom.el.

2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>

	Memory allocator alignment fixes

	These changes remove some assumptions about heap allocator
	alignment that may not be true on unusual platforms.
	* src/alloc.c (POWER_OF_2): New macro.
	(ROUNDUP): Use it.
	(BLOCK_ALIGN): Verify that it is a power of 2.
	(aligned_alloc): Check that alignment passed to posix_memalign
	satisfies POSIX restrictions.
	(lisp_align_malloc): Check that size passed to aligned_alloc
	satisfies C11 restrictions.
	(MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
	code has not been verified to work with other GCALIGNMENT values
	and the ice is thin here.  On GNU/Linux, malloc can return a value
	that is a multiple of 8 but not 16, even though __alignof__
	(max_align_t) is 16.  See:
	https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
	(lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
	is a multiple of alignment, since C11 says the behavior is
	undefined otherwise.
	(lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
	general this macro is restricted to signed types.  Remove
	assertion that the result is a multiple of GCALIGNMENT, as that
	need not be true.

2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify --enable-gcc-warnings for lib-src/pop.c

	* lib-src/pop.c: Include c-ctype.h.
	(socket_connection): Pacify --enable-gcc-warnings by rewriting to
	avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
	of the (undeclared) isupper and tolower.  Fix pointer constness
	problem.

2016-08-27  Alan Mackenzie  <acm@muc.de>

	Handle the C++ "identifiers" "final" and "override" correctly.

	This fixes bug #24319, allowing destructors affixed with these identifiers to
	be correctly fontified.

	* lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
	After reaching the "end" of a type expression, skip over any occurrences of
	c-type-decl-suffix-ws-ids-key.

	* lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
	"final" from the C++ value.
	(c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
	constants/variables for "final" and "override".

2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.

2016-08-27  Alan Mackenzie  <acm@muc.de>

	Handle template delimiters in C++ member init constructs.

	* lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
	handling for "<....>"s.

2016-08-26  Eli Zaretskii  <eliz@gnu.org>

	Fix etags test suite messed up by merges from emacs-25

	* test/manual/etags/go-src/test.go:
	* test/manual/etags/go-src/test1.go: Move from test/etags/.
	* test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
	* test/etags/: Directory deleted.

2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>

	Add "supports" to list of CSS at-rules

	* lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.

2016-08-26  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.

	(Bug#22478)

2016-08-25  Tino Calancha  <tino.calancha@gmail.com>

	Rename option to shell-command-dont-erase-buffer

	Suggested by Clément Pit--Claudel in:
	https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
	* lisp/simple.el (shell-command-dont-erase-buffer):
	(shell-command--save-pos-or-erase):
	(shell-command--set-point-after-cmd):
	(shell-command-on-region):
	* doc/emacs/misc.texi (shell-command-dont-erase-buffer):
	* etc/NEWS (Changes in Emacs 25.2):
	Rename from shell-command-not-erase-buffer.

2016-08-25  Alan Mackenzie  <acm@muc.de>

	Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"

	* lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
	`while' form's condition, check for "\\s)" rather than merely "\\]", so that
	the loop won't hang at a "terminating" paren of a different type (due to the
	c-syntactic-re-search-forward at the end of the loop stopping at such
	characters).

2016-08-25  Tino Calancha  <tino.calancha@gmail.com>

	call-shell-region: New defun

	Suggested by Stefan Monnier in Bug#22679.
	* lisp/subr.el (call-shell-region): New defun; execute a command
	in an inferior shell with the buffer region as input.
	* lisp/simple.el (shell-command-on-region): Use it.
	* lisp/gnus/message.el (message-do-fcc): Idem.
	* doc/lispref/processes.texi: Document call-shell-region in the manual.
	;* etc/NEWS: Add entry for this new function.

2016-08-25  Martin Rudalics  <rudalics@gmx.at>

	In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)

	* lisp/simple.el (clone-indirect-buffer): Add value for ACTION
	argument in `pop-to-buffer' call (Bug#24306).

2016-08-25  Martin Rudalics  <rudalics@gmx.at>

	Some fixes around `delete-other-frames' and `next-frame'

	* src/frame.c (Fdelete_frame): Clarify doc-string.
	* lisp/frame.el (delete-other-frames): Delete other frames on
	FRAME's terminal instead of the current terminal.  Delete
	non-minibuffer-only surrogate frames too.  See
	https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
	* doc/lispref/frames.texi (Deleting Frames): Minor fixes for
	docs of `delete-frame' and `frame-live-p'.  Add entry for
	`delete-other-frames'.
	(Finding All Frames): Fix doc of `next-frame'.

2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Find message.el thumbnail toggling

	* lisp/gnus/message.el (message-toggle-image-thumbnails):
	Don't infloop when toggling thumbnails.

2016-08-24  Alan Third  <alan@idiocy.org>

	Fix macOS 12 deprecation notices

	* src/nsterm.h: Add #defines to allow older versions of macOS to use the
	new constant names.
	* src/nsmenu.m: Replace old constant names with
	new.
	(fillWithWidgetValue): Remove calls to deprecated
	setMenuChangedMessagesEnabled.
	* src/nsterm.m: Replace old constant names with new.
	* src/nsfns.m: Replace old constant names with new.

2016-08-23  Alan Mackenzie  <acm@muc.de>

	Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.

	* lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
	directly preceding the colon, and handle it.

2016-08-23  Noah Friedman  <friedman@splode.com>

	* src/xfns.c (Fx_change_window_property): Modify previous change.
	Instead of forcing format to 8 for strings, check that the length of
	the string is appropriate for whatever format given.
	(Fx_window_property_attributes): If prop isn't found on frame's inner window,
	try its outer window.  This mimics the behavior of Fx_window_property.

2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix invalid image rotations

	* lisp/image.el (image-rotate): Limit rotation to 360 degrees.

2016-08-23  Tino Calancha  <tino.calancha@gmail.com>

	call-process instead of call-process-region with empty region

	* lisp/calc/calc-graph.el (calc-graph-show-tty):
	Use call-process and shell-command-switch.

2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
	6bf83b5 * etc/AUTHORS: Update the AUTHORS file
	73cbb81 ; ChangeLog spelling fixes
	9b99772 Some assorted documentation clarifications
	37d4723 Improve commentary in src/character.h
	5ccd593 ; Fix typo in /etc/NEWS
	96e3d16 * etc/NEWS: Mention the change in json-encode-string.
	2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
	2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
	66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...

	# Conflicts:
	#	ChangeLog.2
	#	lisp/ldefs-boot.el

2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...

2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	8c2946e In NEWS describe new handling of window margins (Bug#24193)
	0cee66c Facultatively ignore margins when splitting and resizing wind...
	8d68147 Document CATEGORY arg to modify-category-entry
	8342e74 Document char-script-table's effect on word motion
	e9ff485 Further fix for 'url-http-create-request' and multibyte strings
	0695235 Fix docstring of eval-expression
	98b01dd Clarify when 'cursor' property is in effect
	75f1882 Convert the remaining strings to unibyte before concatenating
	d2db5dd Fix bug with handling the bidi cache
	ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
	f785ff4 Clarify documentation of before/after-change-functions
	3c9cb57 Document use of vectors in keymaps

	# Conflicts:
	#	src/xdisp.c

2016-08-22  Michael Albinus  <michael.albinus@gmx.de>

	Handle remote file names in gdb-mi.el

	* lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
	If `default-directory' is remote, full file names are adapted
	accordingly.  (Bug#23608)

2016-08-22  Eli Zaretskii  <eliz@gnu.org>

	Display mini-window resized even when there are several frames

	* src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
	t to avoid resizing back the mini-window as result of considering
	the title of other frames.  (Bug#24285)
	(redisplay_window): No need to bind inhibit-redisplay here.

2016-08-22  Michael Albinus  <michael.albinus@gmx.de>

	Explain gdb warning on remote hosts

	* doc/misc/tramp.texi (Remote processes): Explain gdb warning
	on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)

2016-08-21  Martin Rudalics  <rudalics@gmx.at>

	Fix (next-frame nil t) crash (Bug#24281)

	* src/frame.c (candidate_frame): Check minibuf argument before
	comparing it to zero (Bug#24281).

2016-08-21  Noah Friedman  <friedman@splode.com>

	Fix interpretation of signed vs unsigned values when retrieving X
	Window properties, and make sure the full value is returned when not
	parsed.

	New subr to export type and format information about X Window
	properties to lisp.

	* src/xselect.c (selection_data_to_lisp_data): Treat any data as
	unsigned unless its actual type is INTEGER.
	CARDINALs, in particular, are unsigned.

	* src/xfns.c (Fx_change_window_property): If value is a string, ignore
	any provided format and force to 8.
	(x_window_property_intern): If returning value as a string, the length
	is actual_size times the actual format of each element, which is not
	necessarily bytes.
	(Fx_window_property_attributes): New subr.
	(syms_of_xfns): Declare it.

2016-08-21  Noam Postavsky  <npostavs@gmail.com>

	Improve error when installing non-package dirs

	* lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
	when no file with package info is found (Bug #19851).

2016-08-21  Alan Mackenzie  <acm@muc.de>

	Adapt CC Mode for C++11 uniform initialization.

	For fontification, introduce a new "context", 'non-decl, to be used for
	brace
	lists; also a new value for the property 'c-type, called 'c-not-decl.

	* lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
	an ostensible symbol we're going to move over isn't a keyword.
	(c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
	(hence a declaration), and an unmatched open paren, perform
	c-fdoc-shift-type-backwards to recognize the partial construct correctly.
	Whilst checking a type decl expression, check for and handle C++11's "copy
	initialization", where we have <type>(<constant>).  Recognize
	<id><id>(... (where the paren is unclosed) as a declaration.
	(c-looking-at-or-maybe-in-bracelist): New function, extracted from
	c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
	valid tokens other than "=".  Recognize a bracelist when preceded by a
	template declaration.
	(c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
	much inline code.
	(c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
	initialization starting "({" as an in-expression block, by checking for
	semicolons, as opposed to commas, separating elements inside it.
	(c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
	calling c-looking-at-or-maybe-in-bracelist rather than checking for a
	preceding "=".  (CASE B-5): New code to recognize new construct "return {
	...}".
	(c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
	"return", or "{" preceded by <type><identifier> as a bracelist.

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
	lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
	search for "," rather than calling c-forward-decl-or-cast-1.

	* lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
	constants/variables to recognize "return".
	(c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
	which, when preceding an identifier followed by a brace, signify the brace as
	a bracelist.

	* lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
	the start of a "local" declaration, move out from an enclosing brace when
	that is the start of a brace list.

2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2016-08-17 maint: preprocessor changes to support z/OS
	2016-08-17 string: rename to avoid '__string'
	* doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
	Copy from gnulib.

2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Minor text-quoting-style fixes

	* src/charset.c (check_iso_charset_parameter):
	* src/frame.c (store_frame_param):
	* src/xselect.c (x_fill_property_data):
	Use grave accent for left single quote in ‘error’ format strings.

2016-08-21  Martin Rudalics  <rudalics@gmx.at>

	Fix semantics of 'minibuffer' frame parameter

	The 'minibuffer' frame parameter is now t for a normal frame
	(a frame with a root window plus a minibuffer window) and the
	frame's minibuffer window for a minibuffer-less frame (a frame
	whose minibuffer window is on another frame).  See also:
	https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html

	* src/frame.c (make_frame, make_frame_without_minibuffer)
	(make_minibuffer_frame): When assigning the frame's minibuffer
	window also store corresponding 'minibuffer' frame parameter.
	(store_frame_param): Move the 'minibuffer' parameter checks to
	the beginning so we can silently override the value before it
	gets stored in the parameter alist.  Fix error handling.
	(Fframe_parameters): Return value of 'minibuffer' parameter
	unmodified.

	* lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
	the parameter is a minibuffer window, save (minibuffer . nil)
	instead of (minibuffer . t).
	(frameset--reuse-frame): To find a non-minibuffer-only frame
	look out for a frame whose 'minibuffer' parameter is t instead
	of that frame's minibuffer window.
	(frameset-minibufferless-first-p): To find a minibuffer-less
	frame look out for a frame whose 'minibuffer' parameter is a
	window instead of nil.

2016-08-20  Alan Mackenzie  <acm@muc.de>

	* lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"

2016-08-20  Alan Mackenzie  <acm@muc.de>

	In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil

	Check the limit both at macro expansion time (for a hard coded nil) and at run
	time in the generated code.  Tidy up these macros generally.

	* lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
	not identically nil before generating a narrow-to-region call.  Generate code
	to check `limit' is not nil at run time.
	(c-go-list-forward, c-go-list-backward): Remove the generation of redundant
	narrow-to-region, instead calling c-safe-scan-lists directly.
	(c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
	(c-go-down-list-backward): Invoke the corresponding macros without the "go-"
	to determine the destination position instead of generating a redundant
	narrow-to-region.

2016-08-19  Robert Cochran  <robert-git@cochranmail.com>

	* lisp/emacs-lisp/map.el (map--dispatch): Fix docstring

	The docstring referenced a non-existent parameter, as well as a
	parameter that has been renamed since the docstring was written. Fix
	both errors, fixing (Bug#24182).

2016-08-19  Alan Mackenzie  <acm@muc.de>

	Amend hack-local-variables-prop-line not always to return any mode on line 1.

	This fixes bug #24266.

	* lisp/files.el (hack-local-variables-prop-line): Change the name of the
	parameter mode-only to handle-mode.  Change its meaning, such that it being
	set to a value non-nil and not t removes any mode parameter from the result
	list.  Leave its values nil and t with the same meanings they had.
	(hack-local-variables): Call hack-local-variables-prop-line appropriately.

2016-08-19  Daiki Ueno  <ueno@gnu.org>

	Improve doc string of epg-*-program

	* lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
	Suggest to use Customize when setting.  (Bug#24229)

2016-08-19  Tino Calancha  <tino.calancha@gmail.com>

	Add tests for Bug#24264

	* test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
	Add test for Bug#24264.
	(cl-seq-fill-test, cl-seq-replace-test)
	(cl-seq-remove-test ,cl-seq-delete-test)
	(cl-seq-remove-duplicates-test, cl-seq-substitute-test)
	(cl-seq-nsubstitute-test, cl-seq-position-test)
	(cl-seq-count-test, cl-seq-mismatch-test)
	(cl-seq-search-test, cl-seq-test-bug24264):
	Add tests for all functions in the file; test all keywords.

2016-08-18  Johan Bockgård  <bojohan@gnu.org>

	Fix bug in --eval reply message from server

	* lisp/server.el (server-reply-print): Fix check for truncated quote
	sequence at end of message. Problem reported in:
	https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html

2016-08-18  Eli Zaretskii  <eliz@gnu.org>

	Add tests for 'substitute-command-keys'

	* test/src/doc-tests.el (doc-test-substitute-command-keys): New
	tests.

2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>

	lisp/textmodes/table.el (table-generate-source): Fix completing-read call

	Doesn't make sense to pass '(("html") ("latex") ("cals")) to
	`completing-read'.

2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>

	lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz

	The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
	without any files being extracted.

2016-08-18  Andreas Politz  <politza@hochschule-trier.de>

	Don't let window start override window point in `window-state-put' (Bug#24240)

	* lisp/window.el (window--state-put-2): Set 'noforce argument
	when restoring a window's start position.  This avoids that the
	effect of `set-window-point' gets overridden by that of
	`set-window-start' (Bug#24240).

2016-08-17  Alan Mackenzie  <acm@muc.de>

	Fontify constructs following "::" in C++ argument lists correctly - part 2.

	This fixes bug #24246.

	* lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
	`save-match-data' around the new `looking-at' introduced by the previous CC
	Mode patch this evening.

2016-08-17  Alan Mackenzie  <acm@muc.de>

	Fontify constructs following "::" in C++ argument lists correctly.

	This fixes bug #24246.

	* lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
	match" loop, test a found string for a match with c-opt-identifier-concat-key
	(e.g. with "::").

2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	* src/doc.c (Fsubstitute_command_keys): Clarify GC comments.

2016-08-17  K. Handa  <handa@gnu.org>

	Fix hz encoding and decoding (bug#23814)

	* lisp/language/china-util.el (decode-hz-region): Pay
	attention to "~~}" sequence at the end of Chinese character
	range.
	(hz-category-table): New variable.
	(encode-hz-region): Convert non-encodable characters to
	\u... and \U...  Preserve ESC on ecoding.  Put
	`chinese-gb2312' `charset' text property in advance to force
	iso-2022-encoding to select chinese-gb2312 designation.

2016-08-17  Tino Calancha  <tino.calancha@gmail.com>

	file-attribute-collect: New defun

	* lisp/files.el (file-attribute-collect):
	Return a sublist of the attributes returned by 'file-attributes'.
	Suggested by Ted Zlatanov in:

	https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html

2016-08-17  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#24203

	* lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)

2016-08-16  Karl Fogel  <kfogel@red-bean.com>

	Improve doc string.

	* src/fileio.c (Ffile_name_as_directory): Be precise about the
	conditions under which a slash is appended.

2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	Omit substitute-command-keys code no longer needed

	* src/doc.c (Fsubstitute_command_keys):
	Remove duplicate initializations.

2016-08-16  Tino Calancha  <tino.calancha@gmail.com>

	Allow not erase output buffer in shell commands

	* lisp/simple.el (shell-command-not-erase-buffer): New option to allow
	not erasing the output buffer between shell commands.  Defaults to nil.
	(shell-command-on-region): Use it.
	(shell-command--save-pos-or-erase): New defun; store a buffer position
	if 'shell-command-not-erase-buffer' is non-nil; otherwise
	erase the output buffer of the shell command.
	(shell-command, shell-command-on-region): Use it.
	(shell-command--set-point-after-cmd): New defun;
	if 'shell-command-not-erase-buffer' is non-nil, set point
	in the output buffer to the position in 'shell-command-saved-pos'.
	(shell-command-sentinel, shell-command-on-region): Use it.
	* doc/emacs/misc.texi (shell-command-not-erase-buffer):
	Document this feature in the manual.
	See discussion on:
	https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html

2016-08-16  Michael Albinus  <michael.albinus@gmx.de>

	Rearrange Tramp manual title page

	* doc/misc/tramp.texi: Move @insertcopying out of the title
	page.  Do not use @ifnottex anymore.

2016-08-15  Glenn Morris  <rgm@gnu.org>

	* doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.

2016-08-15  Alan Mackenzie  <acm@muc.de>

	Fix minor bug in c-syntactic-re-search-forward.

	Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
	non-nil, and the first internal search attempt fails, point wrongly ends up at
	BOUND, rather than just before the next closing paren.

	* lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
	the above situation.

2016-08-15  Alan Mackenzie  <acm@muc.de>

	Handle C++11 lambda functions.

	* lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
	handle C++ lambda functions.
	(c-looking-at-c++-lambda-capture-list): New function.

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
	parameter list of a lambda function and set `context' and
	`c-restricted-<>-arglists' suitably for it.
	(c-font-lock-c++-lambda-captures): New function.
	(c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.

	* lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
	New language constants/variables.
	(c-paren-nontype-kwds): Include "noexcept" in the C++ value.

	* lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
	function capture list.

2016-08-15  Michael Albinus  <michael.albinus@gmx.de>

	Fix stale cache problem in Tramp

	* lisp/net/tramp-cache.el (tramp-get-connection-property):
	Check, that a process as key is still running.  (Bug#22478)

2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/misc/tramp.texi (Configuration): Fix @xref typo.

2016-08-14  Eli Zaretskii  <eliz@gnu.org>

	Another fix for scroll-conservatively and overlay strings

	* src/xdisp.c (redisplay_window): Handle also the case where the
	calculated window-start point has an overlay string touching it.
	(Bug#24179)

2016-08-14  Michael Albinus  <michael.albinus@gmx.de>

	Improve handling of defcustoms in tramp

	* doc/misc/tramp.texi: Protect all multi-line examples by
	@group ... @end group.  Use proper `custom-set-variables'
	examples.  Use consequently @option for user options.  Remove
	superfluous @cindex and @vindex entries.
	(Top): Remove reference to outdated mail archives.
	(Configuration): Tune references.
	(Default Method): Make `tramp-default-method' and
	`tramp-default-method-alist' a @defopt.
	(Default User): Make `tramp-default-user' and
	`tramp-default-user-alist' a @defopt.
	(Default Host): Make `tramp-default-host' and
	`tramp-default-host-alist' a @defopt.

	* lisp/net/tramp.el (tramp-mode, tramp-verbose)
	(tramp-backup-directory-alist, tramp-auto-save-directory)
	(tramp-encoding-shell, tramp-encoding-command-switch)
	(tramp-encoding-command-interactive, tramp-default-method)
	(tramp-default-method-alist, tramp-default-user)
	(tramp-default-user-alist, tramp-default-host)
	(tramp-default-host-alist, tramp-default-proxies-alist)
	(tramp-save-ad-hoc-proxies)
	(tramp-restricted-shell-hosts-alist)
	(tramp-local-end-of-line, tramp-rsh-end-of-line)
	(tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
	(tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
	(tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
	(tramp-terminal-prompt-regexp)
	(tramp-operation-not-permitted-regexp)
	(tramp-copy-failed-regexp, tramp-process-alive-regexp)
	(tramp-syntax, tramp-chunksize)
	(tramp-process-connection-type, tramp-connection-timeout)
	(tramp-connection-min-time-diff)
	(tramp-completion-reread-directory-timeout):
	* lisp/net/tramp-adb.el (tramp-adb-program)
	(tramp-adb-connect-if-not-connected, tramp-adb-prompt):
	* lisp/net/tramp-cache.el (tramp-connection-properties)
	(tramp-persistency-file-name):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
	(tramp-gvfs-zeroconf-domain)
	(tramp-bluez-discover-devices-timeout):
	* lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
	(tramp-copy-size-limit, tramp-terminal-type)
	(tramp-histfile-override)
	(tramp-use-ssh-controlmaster-options, tramp-remote-path)
	(tramp-remote-process-environment, tramp-sh-extra-args):
	* lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
	(tramp-smb-conf, tramp-smb-winexe-program)
	(tramp-smb-winexe-shell-command)
	(tramp-smb-winexe-shell-command-switch): Add :require 'tramp.

2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Minor text-quoting-style fixes

	* lisp/cus-edit.el (custom-buffer-create-internal):
	* lisp/recentf.el (recentf-edit-list):
	Follow text-quoting-style preference when quoting in UI strings.
	* src/doc.c (Fsubstitute_command_keys): Don’t say that curved
	quotes are substituted for, as this is no longer true.

2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	Fix substitute-command-keys unibyte, alloc bugs

	* src/doc.c (Fsubstitute_command_keys): Fix some problems with
	unibyte strings and with buffer allocation.  Make strings
	multibyte, to avoid problems with unibyte strings that are not
	valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
	O(N), not O(N**2).  Avoid going past the end of the input string
	when given invalid input.  Avoid some unlikely problems in
	accessing the wrong storage after a GC.

2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>

	Fix "C-u" when an input method is active

	* lisp/international/quail.el (quail-input-method): Defer to the
	input method iff 'overriding-terminal-local-map' is
	'universal-argument-map' and the given key has no binding there.
	(Bug#22958)

2016-08-13  Martin Rudalics  <rudalics@gmx.at>

	Fix docs on `display-buffer-below-selected' (Bug#24213)

	* lisp/window.el (display-buffer-below-selected): Fix
	doc-string (Bug#24213).
	* doc/lispref/windows.texi (Display Action Functions): Fix
	documentation of `display-buffer-below-selected'.

2016-08-12  Tino Calancha  <tino.calancha@gmail.com>

	cl-fill: Rename arguments to cl-seq and cl-item

	* lisp/emacs-lisp/cl-seq.el (cl-fill):
	Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.

2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>

	Fix display.texi typo

	* doc/lispref/display.texi (Faces): Fix typo.

2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix process leak with make-network-process

	This problem was introduced by the recent async changes (Bug#23808).
	* src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
	so that it follows the start_process_unwind unwind-protect.
	Set pid to -1 while the process is being created.
	(start_process_unwind): Omit unnecessary emacs_abort test.
	(connect_network_socket): Simplify use of counts.  Unwind
	bind_polling_period a bit earlier, so that a remove_process
	unwind-protect can be added when needed; this is the heart of
	the fix.  Undo the unwind-protect just before returning.

2016-08-11  Eli Zaretskii  <eliz@gnu.org>

	Avoid annoying re-scroll when buffer has many overlay strings

	* src/xdisp.c (redisplay_window): Add better recovery from a
	situation where window-start is on buffer position which has a
	before-string that includes newlines, with the result that point
	is not visible in the window, because the display engine starts
	displaying with the before-string.  (Bug#24179)

2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>

	Omit unnecessary process initialization

	* src/process.c (make_process, Fmake_process)
	(Fmake_pipe_process, Fmake_serial_process)
	(Fmake_network_process, server_accept_connection):
	Omit unnecessary initialization of already-cleared storage.

2016-08-10  Tino Calancha  <tino.calancha@gmail.com>

	cl-delete-duplicates: Parse :if to have cl-if bound

	* lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
	We need also to parse keyword :if, otherwise cl-if
	is unbound.
	This reverts commit:
	68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd

2016-08-10  Tino Calancha  <tino.calancha@gmail.com>

	cl-delete-duplicates: do not parse :if keyword

	* lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
	Parse only the supported keywords.

2016-08-10  Michael Albinus  <michael.albinus@gmx.de>

	Add compatibility layer for `temporary-file-directory-function'

	* lisp/net/tramp-compat.el
	(tramp-compat-temporary-file-directory-function): New defalias.

	* lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.

	* test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
	Skip for older Emacs versions.

2016-08-10  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.

	(Bug#24059)

2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Handle nil cell value in compiled printer functions.

	* doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
	ses-range `!' modifier.
	(More on cell printing): Fix this that the fallback printer is
	`ses-prin1', not "%S".  That makes a difference for any cell value for
	which "%S" would insert a backslash characters.

	* lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
	--- contrary to emacs-25 branches ses-call-printer does not handle
	prior to calling a function printer.  Not doing this would still work
	because the compiled function would throw and error and SES would in
	the end resort to the ses-prin1 fallback, however this way would not
	be in line with the raison d'être of compiling printer which is speed.

2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on lexical-binding in json.el

	Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
	showed 12-31% reduction in execution time.
	* lisp/json.el: Turn on lexical-binding.

2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>

	Nudge WoMan toward lexical-binding

	* lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
	Use cl-pushnew instead of add-to-list.
	(woman-justify-list): Rename to woman-justify-styles.
	(woman-justify-styles): New array.
	(woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
	(woman-cached-data): Use cl-pushnew instead of add-to-list.

2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.

	Here follows the logs from the two commits which I apply to master.

	commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
	Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
	Date:   Fri Jul 29 13:44:14 2016 +0200

	Fix ses-delete-blanks to delete only blanks + documentation.

	* doc/misc/ses.texi (Quick Tutorial): Mention the '!'
	'ses-range' modifier as an alternative to 'ses+'.
	(Advanced Features): Add a reference to node 'Nonrelocatable
	references' concerning function 'ses-rename-cell'.
	(Standard formula functions): Mention the '!' 'ses-range'
	modifier as an alternative to 'ses-delete-blanks'.
	(More on cell printing): Fix fallback printer
	definition.  Minor editorial formatting changes.
	(Nonrelocatable references): Document the use of
	'ses-rename-cell' as a better way to make cell reference
	non-relocatable.
	(The data area): Document the presence of local printer
	definitions in the data area.

	* lisp/ses.el (ses-delete-blanks): Do not remove
	*error*.  Any error in an argument should propagate into the
	using formula rather than being silently hidden !

	commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
	Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
	Date:   Thu Jul 28 19:49:37 2016 +0200

	Fix local printer set to left aligned string formatter.

	* lisp/ses.el (ses-local-printer-compile): Add missing case
	for left-aligned string formatter.

2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	* .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.

2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing

	Change the code which detects and circumvents the case where one of the
	variables used in λ-lifting is shadowed, so that it also works when the
	shadowing comes before the λ-lifted function (bug#24171).

	(cconv--remap-llv): New function, extracted from cconv-convert.
	(cconv-convert): Use it, but differently for `let' and `let*'.

2016-08-09  Alan Mackenzie  <acm@muc.de>

	CC Mode: check for and fix missing call to before_change_functions.

	Fixes bug #24094 and bug #24074.

	This can happen with `revert-buffer' or sometimes `find-file', when the file
	is already in a buffer, but the file has been changed outside of Emacs.

	* lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
	invocation of c-before-change-functions, we assume the changed region is the
	entire buffer, and call c-before-change explicitly before proceeding.

2016-08-09  Alan Mackenzie  <acm@muc.de>

	Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.

	* lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.

2016-08-09  Michael Albinus  <michael.albinus@gmx.de>

	Support $ENV in Tramp

	* doc/misc/tramp.texi (Remote processes): Explain setting $ENV.

	* etc/NEWS: Explain the "ENV" environment variable in
	`tramp-remote-process-environment'.

	* lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
	(tramp-open-shell): Read $ENV value from
	`tramp-remote-process-environment'.
	(tramp-open-connection-setup-interactive-shell): Set values in
	proper order.

2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify exec_byte_code via moving decls etc.

	* src/bytecode.c (exec_byte_code): Simplify, mostly by moving
	initializers into decls, and by omitting some unnecessary
	changes to ‘top’.  This improves performance a bit on x86-64,
	as it happens.

2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	Remove interpreter’s byte stack

	This improves performance overall on my benchmark on x86-64,
	since the interpreted program-counter resides in a machine
	register rather than in RAM.
	* etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
	is no longer a byte stack to decode.
	* src/bytecode.c (struct byte_stack, byte_stack_list)
	(relocate_byte_stack): Remove.  All uses removed.
	(FETCH): Simplify now that pc is now local (typically, in a
	register) and no longer needs to be relocated.
	(CHECK_RANGE): Remove.  All uses now done inline, in a different way.
	(BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
	(exec_byte_code): Allocate a copy of the function’s bytecode,
	so that there is no problem if GC moves it.
	* src/lisp.h (struct handler): Remove byte_stack member.
	All uses removed.
	(SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
	SAFE_ALLOCA_LISP.
	(SAFE_ALLOCA_LISP): Use it.

2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	Remove arbitrary limit on bytecode maxdepth

	* src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
	on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.

2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	Tune bytecode quitting

	* src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
	check only once every 256 times.  This should be good enough, and
	improves performance significantly on x86-64 as branch-prediction
	typically assumes checking will not be done so the instruction
	pipeline stays fuller.
	(exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
	directly, as BYTE_CODE_QUIT does that now.

2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify BYTE_CODE_SAFE checking

	* src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
	can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
	changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
	expressions instead of #if expressions when this is easy.
	(struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
	as it is no longer needed.
	(exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
	Simplify stack-overflow checking when BYTE_CODE_SAFE.

2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	Get BYTE_CODE_METER working again

	BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
	noticed.  Perhaps we should remove it?
	* src/bytecode.c (METER_2) [BYTE_CODE_METER]:
	Use *aref_addr instead of AREF, since it needs to be an lvalue.

2016-08-08  Eli Zaretskii  <eliz@gnu.org>

	Fix cursor position under scroll-conservatively and overlay strings

	* src/xdisp.c (try_scrolling): Handle the case where the last
	visible screen line of a window displays a before- or after-string
	that takes up the whole screen line, and therefore there's no
	place to display the cursor, even though the window does seem to
	include the position of point.  (Bug#24179)

2016-08-08  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)

2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>

	Tune interpretation of integer arglist descriptor

	* src/bytecode.c (exec_byte_code):
	Simplify and tune when INTEGERP (args_template).

2016-08-07  Noam Postavsky  <npostavs@gmail.com>

	Fix debugging of string-match-p errors

	* src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
	that debugger code that needs to do regexp match won't break
	(Bug #23949, Bug #24166, Bug#16294).

2016-08-07  Michael Albinus  <michael.albinus@gmx.de>

	Add `make-nearby-temp-file' and `temporary-file-directory'

	* doc/lispref/files.texi (Unique File Names):
	Introduce `make-nearby-temp-file' and `temporary-file-directory'.
	(Magic File Names): Mention `make-nearby-temp-file' and
	`temporary-file-directory'.

	* etc/NEWS (provided): Mention `make-nearby-temp-file' and
	`temporary-file-directory'.

	* lisp/files.el (mounted-file-systems): New defcustom.
	(temporary-file-directory, make-nearby-temp-file): New defuns.
	(normal-backup-enable-predicate): Fix docstring.

	* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
	* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
	<make-nearby-temp-file, temporary-file-directory>: Add handler.

	* lisp/net/tramp.el (tramp-file-name-for-operation):
	Add `make-nearby-temp-file' and `temporary-file-directory'.
	(tramp-get-remote-tmpdir): Remove compatibility code.
	(tramp-handle-temporary-file-directory)
	(tramp-handle-make-nearby-temp-file): New defuns.

	* lisp/org/ob-core.el (org-babel-local-file-name):
	* lisp/progmodes/gud.el (gud-common-init):
	* lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.

	* lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.

	* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
	Check `tramp--test-enabled'.
	(tramp-test18-file-attributes): Add tests for
	`file-ownership-preserved-p'.
	(tramp-test27-start-file-process, tramp-test28-shell-command):
	Reduce timeouts in `accept-process-output'.
	(tramp-test--shell-command-to-string-asynchronously): Add timeout.
	(tramp-test29-environment-variables): Remove additional sleep calls.
	(tramp-test32-make-nearby-temp-file): New test.
	(tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
	(tramp-test33-special-characters)
	(tramp-test33-special-characters-with-stat)
	(tramp-test33-special-characters-with-perl)
	(tramp-test33-special-characters-with-ls, tramp-test34-utf8)
	(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
	(tramp-test34-utf8-with-ls)
	(tramp-test35-asynchronous-requests)
	(tramp-test36-recursive-load, tramp-test37-unload): Rename.
	(tramp--test-ftp-p): Simplify check.
	(tramp--test-sh-p): New defun.
	(tramp-test20-file-modes, tramp-test22-file-times)
	(tramp-test26-process-file, tramp-test27-start-file-process)
	(tramp-test28-shell-command)
	(tramp-test29-environment-variables)
	(tramp-test30-vc-registered)
	(tramp-test33-special-characters-with-stat)
	(tramp-test33-special-characters-with-perl)
	(tramp-test33-special-characters-with-ls)
	(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
	(tramp-test34-utf8-with-ls)
	(tramp-test35-asynchronous-requests): Use it.

2016-08-06  Michael Albinus  <michael.albinus@gmx.de>

	Add missing dcstrings in Tramp, remove check for obsolee methods

	* lisp/net/tramp.el (tramp-progress-reporter-update)
	(tramp-unload-file-name-handlers, tramp-get-local-uid)
	(tramp-get-local-gid, tramp-get-local-locale):
	* lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
	(tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
	* lisp/net/tramp-compat.el (tramp-compat-funcall):
	* lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
	* lisp/net/tramp-gw.el (tramp-gw-process-filter):
	* lisp/net/tramp-sh.el (tramp-get-remote-path)
	(tramp-get-remote-locale, tramp-get-ls-command)
	(tramp-get-ls-command-with-dired)
	(tramp-get-ls-command-with-quoting-style)
	(tramp-get-ls-command-with-w-option)
	(tramp-get-test-nt-command, tramp-get-file-exists-command)
	(tramp-get-remote-ln, tramp-get-remote-perl)
	(tramp-get-remote-stat, tramp-get-remote-readlink)
	(tramp-get-remote-trash, tramp-get-remote-touch)
	(tramp-get-remote-gvfs-monitor-dir)
	(tramp-get-remote-inotifywait, tramp-get-remote-id)
	(tramp-get-remote-uid-with-id)
	(tramp-get-remote-uid-with-perl, tramp-get-remote-python)
	(tramp-get-remote-uid-with-python, tramp-get-remote-uid)
	(tramp-get-remote-gid-with-id)
	(tramp-get-remote-gid-with-perl)
	(tramp-get-remote-gid-with-python, tramp-get-remote-gid)
	(tramp-get-env-with-u-option): Add missing docstrings.

	* lisp/net/tramp.el (tramp-obsolete-methods)
	(tramp-warned-obsolete-methods): Remove.
	(tramp-find-method): Do not check for obsolete methods any longer.

2016-08-06  Noam Postavsky  <npostavs@gmail.com>

	Make sh-mode always use p-s-lookup-properties

	This lets functions which rely on syntax-propertize for parsing
	work correctly even before font lock has a chance to run.

	* lisp/progmodes/sh-script.el (sh-set-shell): Set
	parse-sexp-lookup-properties unconditionally (Bug #4920).

2016-08-06  Noam Postavsky  <npostavs@gmail.com>

	Fix cl-assert with atomp FORM, non-nil SHOW-ARGS

	* lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
	list when showing its (non-existent) arguments (Bug #18587).

2016-08-06  Noam Postavsky  <npostavs@gmail.com>

	Don't delete selection after indent-rigidly

	* lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
	function to `set-transient-map', this prevents `delete-selection-mode'
	from deleting the text that was just indented (Bug #20408).

2016-08-06  Noam Postavsky  <npostavs@gmail.com>

	Fix byte-compile of interactive closures

	* lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
	bindings after docstring and `interactive' form, if any (Bug #24122).

2016-08-06  Noam Postavsky  <npostavs@gmail.com>

	Error if --eval arg has text beyond 1 expression

	* lisp/startup.el (command-line-1): If --eval argument has more data
	than constitutes a single Lisp expression, signal an error (Bug #23159).

2016-08-06  Noam Postavsky  <npostavs@gmail.com>

	Fix quoted lambda warning from lexical-let

	* lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
	with `function', not `quote' (Bug #11357).

2016-08-06  Noam Postavsky  <npostavs@gmail.com>

	Make emerge always use shell-quote-argument

	* lisp/vc/emerge.el (emerge-metachars): Obsolete.
	(emerge-protect-metachars): Delete.
	(emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
	`emerge-protect-metachars' with `shell-quote-argument' so that shell
	quoting is done the same on all system types (Bug #6136).  Also shell
	quote `emerge-diff-program' and `emerge-diff3-program'.

2016-08-06  Eli Zaretskii  <eliz@gnu.org>

	Fix 'dired-diff' when backup file is in another directory

	* lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
	the default for FILE is computed, especially when backup files
	are involved.  Support backup files in another directory.
	Don't suggest the default FILE if it doesn't exist.  (Bug#24089)

2016-08-06  Eli Zaretskii  <eliz@gnu.org>

	Fix the 'T' command in Dired with non_ASCII file names

	* lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
	to correctly encode file names passed to the invoked PROGRAM.
	(Bug#24162)

2016-08-05  Noam Postavsky  <npostavs@gmail.com>

	* lisp/files.el (version-control): Drop :group vc (Bug #14687)

2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	d841a03 ; Spelling fix
	a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
	d35d398 Update to the AUTHORS file for Bob Weiner
	4d2f4df Revert "Fix local printer set to left aligned string formatter."
	cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + document...
	f7ceb8e Revert "Fix English."
	baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
	aa4271a Fix doc string of 'minibuffer-message-timeout'
	b275cc7 Fix English.
	3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
	272391f profiler: document prefix arg for tree expansion
	442cc39 Clarify usage of eshell-visual-options
	b443c3c Fix comment in files-in-below-directory
	8a38e94 Fix local printer set to left aligned string formatter.
	0f0b191 ; Fix typos in NEWS
	6bdf687 ; * etc/NEWS: Remove temporary marks

2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	d08afa1 * etc/AUTHORS: Update the AUTHORS file
	2668500 ;; * ChangeLog.2: ChangeLog update.
	7acfaea ; ChangeLog fixes
	97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
	9ab52f6 * admin/authors.el: Additions.
	0e646c7 Warn about Cairo-related problems
	bc4c07f Don't let completion break `declare' handling
	66f95e0 Adjust match data before calling after-change-funs
	52cf0d5 Do not show string-rectangle preview if minibuffer is empty
	6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...

	# Conflicts:
	#	ChangeLog.2
	#	src/lisp.h

2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	9a41cd1 ; Fix typo
	9356fe2 Expand FIXME near definition of fboundp
	219b39f kill-rectangle should mention killed-rectangle
	59fa4c3 Avoid assertion violations in nhexl-mode

2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	9ba51ed Document buffer-swap-text+save-excursion interaction
	452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
	248d5dd Include cl-generic in package--builtin-versions (bug#22817)
	8f5a8b6 Improve timing in `tramp-test29-environment-variables'
	05ba7a0 Add test for handling environment variables in Tramp
	e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
	5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
	90f2169 ; Spelling fixes
	069fc05 Improve documentation of search functions
	0a0144a Delete environment variables in Tramp when needed
	f624671 Add "New in Emacs 25" section to the FAQ
	658daf9 Fix 'vertical-motion' in non-interactive sessions
	686b520 Fix memory leak in imagemagick-types
	4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
	1b2d6a6 Clarify docstring of find-feature-regexp
	aac62a6 Add details to cl-lib defining macros' docstrings
	d6aa4da Clarify doc string of 'save-buffer'
	03bcf11 Un-confuse doc string of 'string-collate-equalp'
	c53135b Clarify documentation of 'mouse-on-link-p'

	# Conflicts:
	#	lisp/emacs-lisp/eieio-core.el

2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	6f285d9 Amend last addition to etc/PROBLEMS
	7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...

2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	d4c6774 Fix missing point information in undo
	3a9d629 Avoid crashes when buffer modification hooks clobber match data
	178b2f5 Note combine-and-quote-strings doesn't shell quote
	dec7567 Explain when package-initialize isn't called
	113d1e2 Fix escaping in sh-indent-after-continuation docstr
	80e2044 ; * etc/NEWS: Improve previous change.
	5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
	38f4b8e Clarify the documentation of back-references in replacements

2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	850ba44 Clarify lexical binding with symbol args behavior
	f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
	68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
	21110af Avoid assertion violations when rendering some fonts
	6192b6c Document more details of package activation
	272ddc6 Fixup warning message regarding HOME a bit more
	43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
	d41f7ff Fix input method "probhat" for Bengali
	c150a64 ; Fix typo in commit before last
	ebf0472 Add to elisp-completion-at-point's docstring
	fd9fad0 Give more helpful warning about setting HOME
	ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...

	# Conflicts:
	#	lisp/term.el

2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	26d4da0 New input method "probhat" for Bengali
	4f445bf ; Spelling fix
	f403f03 ; Fix typo

2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling and minor grammar fixes

	* test/file-organization.org: Rename from test/file-organisation.org.

2016-08-04  Alan Mackenzie  <acm@muc.de>

	Widen in certain low level CC Mode functions.  This fixes bug #24148.

	* lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
	(c-state-full-pp-to-literal): Widen around the functionality.
	(c-parse-ps-state-below): Correct the order of save-excursion and
	save-restriction.

2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	Fix Bug#24149

	* lisp/subr.el (set-transient-map): Don't wait if MAP not present in
	overriding-terminal-local-map.  (Bug#24149)

2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2016-07-03 mktime: call tzset as per POSIX
	* doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
	Copy from gnulib.

2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix GnuTLS includes

	* src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
	a second time; although it doesn’t hurt, it’s not needed.
	* src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
	as it may not be available.  Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html

2016-08-03  Michal Nazarewicz  <mina86@mina86.com>

	Fix accessing regex-resources in out-of-tree test runs in regex-tests

	[82a487d: Fix reading of regex-resources in regex-tests] attempted to
	fix regex-tests failing when run from the source tree (i.e. via make)
	by hard-coding path to regex-resources directory relative to the test
	directory.

	This fixed runs from the tree but broke the test when run using other
	methods.

	Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.

	* test/src/regex-tests.el (regex-tests--resources-dir): New variable
	storing path to the regex-resources directory.
	(regex-tests-generic-line): Use aforementioned variable.

2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify by assuming GnuTLS 2.12.2 or later

	* src/gnutls.c (gnutls_certificate_details):
	* src/sysdep.c: Assume GnuTLS 2.12.2 or later.

2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	Port to systems lacking GNUTLS_NONBLOCK

	Problem reported by Colin Baxter in:
	https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
	* src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.

2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix non-blocking GnuTLS with slow connection

	Although the problem is reported for OS X (Bug#23982), it seems to
	be possible on other POSIXish platforms.
	* src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
	New function.
	(emacs_gnutls_handshake) [!WINDOWSNT]:
	Use it as the errno function, if non-blocking.
	(Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.

2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	Require GnuTLS 2.12.2 or later

	* configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
	instead of merely 2.6.6 or later (Bug#23982#20).
	* src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
	[WINDOWSNT]: Don’t bother with gnutls_check_version or
	gnutls_transport_set_lowat, as they are no longer needed now that
	we require gnutls 2.12.2 or later.

2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/window.c (sanitize_window_sizes): Remove unused arg `frame'

	* src/window.h (sanitize_window_sizes): Adjust prototype.
	* src/frame.c (adjust_frame_size): Adjust calls.

2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix (mapcar F S) crash when F alters S’s length

	* src/fns.c (mapcar1): Return number of elements computed,
	which can be less than LENI if the function alters the list.
	All callers changed.  (Bug#24118)

2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>

	Port window changes to --enable-gcc-warnings

	* src/window.c (sanitize_window_sizes): Return void.
	This pacifies GCC, and no caller uses the return value anyway.

2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/window.c: Fix bootstrap failure due to window.el changes

	(sanitize_window_sizes): Adjust to new calling convention of
	window--sanitize-window-sizes and only call it if defined.
	(Fwindow__sanitize_window_sizes): Remove.
	(syms_of_window): Don't defsubr it.

2016-08-02  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#23883

	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
	Call `process-actions' with adapted position.  The connection
	buffer might have been cleaned up already.  (Bug#23883)

2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>

	Port regex changes to strict ISO C

	* src/regex.c (regex_compile): Redo casts.

2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/window.el: Use lexical-binding

	(window--min-size-ignore-p): Remove unused arg `horizontal'.
	(window--sanitize-window-sizes): Remove unused arg `frame'.
	(window-edges): Remove unused vars left-off and right-off.
	(display-buffer-reuse-mode-window): Remove unused var `frame?'.
	Avoid extraneous setq and do a bit of CSE.
	(fit-frame-to-buffer): Remove unused vars `window', `fit-width',
	and `toolbar-extra-height'.
	(window-adjust-process-window-size): Remove unused arg `process'.

2016-08-02  Michal Nazarewicz  <mina86@mina86.com>

	Fix unused lexical variable

	This fixes the following warning:

	    In toplevel form:
	    src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’

	* test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
	variable.

2016-08-02  Michal Nazarewicz  <mina86@mina86.com>

	Remove unused STREQ macro

	This fixes the following compilation warning:

	    regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
	     #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
	     ^

	* src/regex.c (STREQ): Remove unused macro.  It should have been removed
	in a [4538a5e: Refactor regex character class parsing in [:name:]]
	commit but was mistakenly left out.

2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
	load-history format

	* lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
	(cl-generic-define-method, cl--generic-describe): Use it.
	(cl--generic-search-method): Adjust for new format.

	* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
	* test/lisp/progmodes/elisp-mode-tests.el:
	Use cl--generic-load-hist-format rather than hard-coding cl-generic's
	internal format.

2016-08-02  Michal Nazarewicz  <mina86@mina86.com>

	Hardcode regex syntax to remove dead code handling different syntax

	Emacs only ever uses its own regex syntax so support for other syntaxes
	is never used.  Hardcode the syntax so that the compilar can detect such
	dead code and remove it from compiled code.

	The only exception is RE_NO_POSIX_BACKTRACKING which can be separately
	specified.  Handle this separately with a function argument (replacing
	now unnecessary syntax argument).

	With this patchset, size of Emacs binary on x86_64 machine is reduced by
	around 60 kB:

		new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
		old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs

	* src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
	(re_compile_pattern): Replace syntax with posix_backtracking argument.

	* src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
	(regex_compile): #ifdef emacs, replace syntax argument with
	posix_backtracking which is now used instead of testing for
	RE_NO_POSIX_BACKTRACKING syntax.
	(re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
	(re_compile_pattern): Replace syntax with posix_backtracking argument.

	* src/search.c (compile_pattern_1): Pass boolean posix_backtracking
	instead of syntax to re_compile_pattern.

2016-08-02  Michal Nazarewicz  <mina86@mina86.com>

	Get rid of re_set_whitespace_regexp

	* src/regex.h (re_set_whitespace_regexp): Delete.
	(re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.

	* src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
	(regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
	whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
	unless building Emacs.
	(re_compile_pattern): Pass whitespace_regexp argument to regex_compile

	* src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
	pass the regex as argument to re_compile_pattern instead.

2016-08-02  Michal Nazarewicz  <mina86@mina86.com>

	Get rid of re_set_syntax

	Instead of using a global variable for storing regex syntax, pass it
	to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
	‘#ifdef emacs’).

	* src/regex.h (re_set_syntax): Declare only #ifndef emacs.
	(re_compile_pattern): Now takes syntax argument #ifdef emacs.

	* src/regex.c (re_syntax_options): Define only #ifndef emacs.
	(re_compile_pattern): Use the new syntax argument #ifdef emacs.

	* src/search.c (compile_pattern_1): Don’t use re_set_syntax and
	instead pass syntax to re_compile_pattern directly.

2016-08-02  Michal Nazarewicz  <mina86@mina86.com>

	Remove dead opcodes in regex bytecode

	There is no way to specify before_dot and after_dot opcodes in a regex
	so code handling those ends up being dead.  Remove it.

	* src/regex.c (print_partial_compiled_pattern, regex_compile,
	analyze_first, re_match_2_internal): Remove handling and references to
	before_dot and after_dot opcodes.

2016-08-02  Michal Nazarewicz  <mina86@mina86.com>

	Refactor regex character class parsing in [:name:]

	re_wctype function is used in three separate places and in all of
	those places almost exact code extracting the name from [:name:]
	surrounds it.  Furthermore, re_wctype requires a NUL-terminated
	string, so the name of the character class is copied to a temporary
	buffer.

	The code duplication and unnecessary memory copying can be avoided by
	pushing the responsibility of parsing the whole [:name:] sequence to
	the function.

	Furthermore, since now the function has access to the length of the
	character class name (since it’s doing the parsing), it can take
	advantage of that information in skipping some string comparisons and
	using a constant-length memcmp instead of strcmp which needs to take
	care of NUL bytes.

	* src/regex.c (re_wctype): Delete function.  Replace it with:
	(re_wctype_parse): New function which parses a whole [:name:] string
	and returns a RECC_* constant or -1 if the string is not of [:name:]
	format.
	(regex_compile): Use re_wctype_parse.
	* src/syntax.c (skip_chars): Use re_wctype_parse.

2016-08-02  Michal Nazarewicz  <mina86@mina86.com>

	Split regex glibc test cases into separet tests

	* test/src/regex-tests.el (regex-tests): Remove and split into multiple
	tests cases.
	(regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
	regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
	from ‘regex-tests’.

2016-08-02  Michal Nazarewicz  <mina86@mina86.com>

	Don’t (require 'cl)

	* test/src/regex-tests.el: Don’t (require 'cl).
	(regex-tests-PCRE): s/loop/cl-loop/

2016-08-02  Michal Nazarewicz  <mina86@mina86.com>

	Fix reading of regex-resources in regex-tests

	* test/src/regex-tests.el (regex-tests-generic-line): Referring to
	‘buffer-file-name’ does not work when running the test from command
	line, i.e. via make, which results in (wrong-type-argument stringp nil)
	failures.  Replace it with hard-coded path.
	(regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
	regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
	the ‘regex-resources’ path component so the tests don’t need to specify
	it explicitly.

2016-08-02  Dima Kogan  <dima@secretsauce.net>

	Added driver for the regex tests

	* test/src/regex-tests.el (regex-tests): Test executing glibc tests
	cases.

	[mina86@mina86.com: merged test with existing file]

2016-08-02  Dima Kogan  <dima@secretsauce.net>

	New regex tests imported from glibc 2.21

	* test/src/regex-resources/BOOST.tests:
	* test/src/regex-resources/PCRE.tests:
	* test/src/regex-resources/PTESTS:
	* test/src/regex-resources/TESTS:
	New test data files

	[mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]

2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>

	Fix use-after-close in connect_network_socket

	* src/process.c (connect_network_socket):
	Reverse sense of previous fix.  Problem reported by Ken Brown in:
	https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html

2016-08-01  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
	Respect autoload-timestamps for "actual autoloads are elsewhere" case.

2016-07-31  Stefan Merten  <stefan@merten-home.de>

	* lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes

	(rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
	representing reStructuredText section header concepts.
	(rst-mode-map, rst-new-preferred-hdr)
	(rst-update-section, rst-classify-adornment)
	(rst-ttl-at-point, rst-all-ttls-cache)
	(rst-hdr-hierarchy-cache, rst-reset-section-caches)
	(rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
	(rst-all-ttls-with-level, rst-get-previous-hdr)
	(rst-adornment-complete-p, rst-next-hdr, rst-adjust)
	(rst-adjust-section, rst-promote-region)
	(rst-display-hdr-hierarchy, rst-straighten-sections)
	(rst-all-stn, rst-remaining-stn, rst-toc-insert)
	(rst-toc-insert-node, rst-toc-node, rst-toc)
	(rst-forward-section, rst-adornment-level)
	(rst-font-lock-handle-adornment-pre-match-form)
	(rst-imenu-convert-cell, rst-imenu-create-index): Refactor
	using classes.
	(rst-compare-adornments, rst-get-adornment-match): Remove
	functions now in classes.
	(rst-re-alist-def, rst-toc-mode)
	(rst-font-lock-extend-region-extend): Minor improvements.
	(rst-mode, rst-compile): Use `setq-local'.
	(rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
	(rst-official-version, rst-official-cvs-rev)
	(rst-package-emacs-version-alist): Maintain version tags.

2016-07-30  Martin Rudalics  <rudalics@gmx.at>

	Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)

	* src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
	bar width (Bug#24107).  Reindent.
	* src/xfns.c (frame_geometry): Fix calculation of tool bar
	width on non-GTK builds.

2016-07-30  Eli Zaretskii  <eliz@gnu.org>

	Fix region display while dragging mouse

	* lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
	buffer of the drag event, to allow mark to be set and the region
	be shown as we drag the mouse.  (Bug#24030)

2016-07-30  Tino Calancha  <tino.calancha@gmail.com>

	Copy just non-empty strings to kill-ring

	* lisp/dired.el (dired-copy-filename-as-kill):
	Do not change the kill ring when the string is empty (Bug#24103).

2016-07-30  Eli Zaretskii  <eliz@gnu.org>

	Avoid warnings about undo list while decoding

	* src/coding.c (coding_restore_undo_list): New function.
	(decode_coding_gap, decode_coding_object): Temporarily set the
	buffer's undo list to t, to avoid warnings when decoding changes
	the buffer many times, e.g. due to post-read-conversion.  Use
	coding_restore_undo_list to make sure the undo list is restored.
	(Bug#23813)

2016-07-28  Noam Postavsky  <npostavs@gmail.com>

	profiler: Add mouse-1 binding for tree expansion

	(profiler-report-mode-map): Add mouse-1 binding for
	profiler-report-toggle-entry (Bug #13455).

2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Enable addition of local printers from a mode hook.

	* doc/misc/ses.texi (Printer functions): Split the node into 5
	sub-nodes + add some extra documentation.
	(Various kinds of printer functions): Make an itemization to
	disintguish better the 3 types of printers, give an example of
	lambda printer definition.
	(Standard printer functions): Add documentation for ses-prin1
	printer function.
	(Local printer functions): Add documentation for creating
	local printers programmatically from a hook.
	(Writing a lambda printer function): Add documentation about
	anti-stackoverflow precautions to take when you call the
	standard printer functions from inside a local printer.

	* lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
	among standard printer function, and update docstring
	accordingly.
	(ses-call-printer, ses-export-tab): Call `ses-prin1' instead
	of prin1-to-string.
	(ses-define-local-printer): Add definition to arguments so
	that a local printer can be defined programmatically from a
	mode hook.  Make docstring more substantial.  Use completing
	read for local printer name input.  Plus some minor
	optimization.
	(ses-define-if-new-local-printer): New defsubst.
	(ses-center, ses-center-span, ses-dashfill)
	(ses-dashfill-span, ses-tildefill-span): Allow to pass printer
	as an optional argument to supersede column printer/default
	spreadsheet printer.
	(ses-prin1): New defun.

2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>

	Prompt to save gnus-cloud-method.

	Since `gnus-cloud-method' is a defcustom, when it's set, we should
	prompt the user to save it, so the customization is not lost on
	restart.

	* lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
	Prompt to save the customization of `gnus-cloud-method'.

2016-07-27  Ken Brown  <kbrown@cornell.edu>

	Fix dired-test-bug22694

	* test/lisp/dired-tests.el (dired-test-bug22694): Delete the
	"bug22694" directory, if it exists, before running the test.  It
	might be left over from a previous aborted run of the test.

2016-07-27  Michal Nazarewicz  <mina86@mina86.com>

	Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)

	* src/regex.c (mutually_exclusive_p): Fix how whether character is
	unibyte is tested when calling execute_charset function.  This bug has
	been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
	match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
	Reinstitute it.

2016-07-27  Tino Calancha  <tino.calancha@gmail.com>

	Remove hook when disabling ibuffer-auto-mode

	* lisp/ibuf-ext.el (ibuffer-auto-mode):
	Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.

2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (cancel-change-group): Reset cell in case of error

	Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
	to make sure we properly undo the temporary change even in case of error.

2016-07-26  Eli Zaretskii  <eliz@gnu.org>

	Avoid segfaults in compute_motion

	* src/indent.c (compute_motion): Don't turn on and don't use the
	width cache unless the buffer's width-table is non-nil.  This
	avoids segfaults because code that uses the width cache assumes
	the width-table exists.  (Bug#24064)

2016-07-26  Nicolas Petton  <nicolas@petton.fr>

	Do not sharp-quote lambdas

	* lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.

2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>

	* lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
	'base64-gzip encoding.

2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>

	Add warning to format-alist docs.

	*/doc/lispref/files.texi (format-alist) Change documentation for
	format-alist to warn against file modifications when formatting, which
	leads to incorrect results.  (Bug#5440)

	Changes suggested by Eli.

2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/gnus/mm-decode.el (mm-convert-shr-links):
	Preserve key bindings that shr adds (bug#23964).

2016-07-25  Michal Nazarewicz  <mina86@mina86.com>

	Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)

	The regex engine tries to optimize Kleene star by avoiding backtracking
	when it can detect that star’s operand cannot match what follows it in
	the pattern.

	For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
	will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
	the entire string.  Literal digit one still present in the pattern will
	however not match the remaining empty string.

	Normally, backtracking would be performed trying a shorter match for the
	character class (namely ‘fo’ leaving ‘o’ in the string), but since the
	engine knows whatever would be put back into the string cannot possibly
	match literal digit one so no backtracking will be attempted.

	In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
	if the character class CC does not match character X.  In the above
	example, this holds because digit one is not in alpha character class.

	This test is performed by mutually_exclusive_p function but it did not
	check class bits of a charset opcode.  This resulted in an assumption
	that character classes do not match multibyte characters.  For example,
	it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.

	This, in turn, led to the aforementioned Kleene star optimization being
	incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
	match ‘☠’ but doesn’t as can be tested by executing
	    (string-match-p "[[:graph:]]*☠" "☠")
	which should return 0 but instead yields nil.

	This issue affects any class witch matches multibyte characters, i.e.
	if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
	fail to match ‘X’.

	* src/regex.c (executing_charset): A new function for executing the
	charset and charset_not opcodes.  It performs check on the character
	taking into consideration existing bitmap, range table and class bits.
	It also advances the pointer in the regex bytecode past the parsed
	opcode.
	(CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
	Code now included in executing_charset.
	(mutually_exclusive_p, re_match_2_internal): Changed to take advantage
	of executing_charset function.

	* test/src/regex-tests.el: New file with tests for the character class
	matching.

2016-07-25  Nicolas Petton  <nicolas@petton.fr>

	Fix auto-reverting image-mode buffer (bug#21598)

	When auto-reverting an image buffer, `image-mode' is not called since
	`revert-buffer' is called with `preserve-modes' set to non-nil.

	* lisp/image-mode.el (image-after-revert-hook): Check if there is an
	image display property for the current buffer before updating it.

2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	‘signal’ no longer returns

	Although for decades ‘signal’ has been documented to not return,
	a corner case in the Lisp debugger causes ‘signal’ to return.
	Remove the corner case and adjust Emacs internals accordingly.
	An alternative would be to document the corner case, but this
	would complicate the Lisp API unnecessarily.  (Bug#24047)
	* src/eval.c (signal_or_quit): New function, with most of the
	old contents of Fsignal.
	(quit): New function, which uses signal_or_quit and which
	might return.  All keyboard-based callers of Fsignal (Qquit,
	Qnil) changed to use this new function instead.
	(Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
	changed.
	(xsignal): Move to lisp.h.
	* src/lisp.h (xsignal): Now an inline function, as it's now
	just an alias for Fsignal.

2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	Require libgnutls unless --with-gnutls=no

	* configure.ac: Report an error if the gnutls library is missing,
	unless --with-gnutls=no is specified.

2016-07-23  Alan Mackenzie  <acm@muc.de>

	Fontify C++ parameter packs.

	This fixes debbugs #23610.

	* lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
	c-lang-defconsts/defvars.
	(c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.

	* lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.

2016-07-23  Alan Mackenzie  <acm@muc.de>

	Java Mode: Handle strings as case labels correctly.

	This fixes debbugs #23901.

	* lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
	Java value.

2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>

	Avoid repeated warnings while restoring desktop

	* lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
	when files are being opened during desktop restore.

2016-07-22  Eli Zaretskii  <eliz@gnu.org>

	Fix compilation warning in the MinGW build

	* nt/inc/ms-w32.h: Include stdint.h.
	(_execvp, execve): Provide prototypes.

	* lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
	it is now in nt/inc/ms-w32.h.
	* lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
	mismatch.
	(sys_ctime): Remove, not used.

2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Move read-multiple-choice to subr-x.el

	* lisp/faces.el (read-multiple-choice-face): Fix doc string.

	* lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
	from subr.el.

	* lisp/gnus/message.el (subr-x): Ditto.

	* lisp/net/nsm.el: Require subr-x for read-multiple-choice.

	read-multiple-choice doesn't need to be in the dumped Emacs, so move
	it to a less central file.

2016-07-22  Tino Calancha  <tino.calancha@gmail.com>

	Update define-ibuffer-op doc string

	* lisp/ibuf-macs.el (define-ibuffer-op):
	Mention that BODY is evaluated with 'buf' bound to the actual
	marked buffer being processed.

2016-07-22  Tino Calancha  <tino.calancha@gmail.com>

	Update define-ibuffer-op doc string

	* lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
	instead of refer the reader to the source code.
	Document arg BODY.

2016-07-21  Tino Calancha  <tino.calancha@gmail.com>

	Fix shell-command[-on-region] doc strings

	* lisp/simple.el (shell-command, shell-command-on-region):
	Drop the sentence saying that the command may delete the buffer
	'*Shell Command Output*': the command never delete such
	buffer (Bug#23936).

2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>

	;Revert ";Partially revert 2649105a"

	This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.

2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>

	;Partially revert 2649105a

	* lisp/textmodes/tex-mode.el (tex-common-initialization): Use
	setq-local to modify prettify-symbols-compose-predicate.

2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/bytecode.c: Fix compilation with BYTE_CODE_SAFE

	(struct byte_stack): Re-add `bottom'.
	(exec_byte_code): Initialize it.

2016-07-21  Tino Calancha  <tino.calancha@gmail.com>

	Ibuffer: Use default output buffer for shell commands

	* lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
	'*Shell Command Output*', as command 'shell-command-file'.

2016-07-21  Tino Calancha  <tino.calancha@gmail.com>

	Fix failing test

	* test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
	Enable Font Lock mode in order to initialize
	'char-property-alias-alist' (Bug#23954).

2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>

	Fix use-after-close in connect_network_socket

	* src/process.c (connect_network_socket): Don’t use
	external_sock_fd after closing it.  Problem found by Coverity Scan.

2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/net/shr.el (shr-fill-line):
	Preserve text properties in folded lines (bug#24034).

2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix lifetime bug in tzlookup

	* src/editfns.c (tzlookup): Fix storage lifetime bug when
	INTEGERP (zone) && settz.  Problem found by Coverity Scan.

2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix shr.el/image build problem

	(Bug#24035)

	* lisp/net/shr.el: Require image, since some builds seem to
	break without it (bug#24035).

2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>

	Bring the Gnus Cloud package into working order.

	* lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.

	* lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
	simplify non-file data.
	(gnus-cloud-storage-method): New defcustom to support nil, Base64,
	Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
	EPG if that's available, Base64+gzip otherwise.
	(gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
	interactive, defaults to enabled.
	(gnus-cloud-group-name): New variable for the Gnus Cloud group name.
	(gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
	"Version".
	(gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
	(gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
	storage methods as per gnus-cloud-storage-method.
	(gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
	(gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
	entries.
	(gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
	file and data handlers.
	(gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
	entries.
	(gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
	be more careful.
	(gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
	(gnus-cloud-file-covered-p, gnus-cloud-all-files)
	(gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
	(gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
	(gnus-cloud-prune-old-chunks): Fix indentation.
	(gnus-cloud-timestamp): New function to make a standard Gnus Cloud
	timestamp.
	(gnus-cloud-file-new-p): Use it.
	(gnus-cloud-upload-all-data): Add interactive convenience function to
	upload all data.
	(gnus-cloud-upload-data): Make interactive; collect files and newsrc
	data separately; refresh Gnus Cloud group after insert.
	(gnus-cloud-download-all-data): Add interactive convenience function to
	download all data.
	(gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
	marker and different storage methods.
	(gnus-cloud-host-server-p): New function to check if a server is the
	Gnus Cloud host.
	(gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
	(gnus-cloud-host-acceptable-method-p): New function so
	other code can check if a server method can host the Gnus cloud.
	(gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
	(gnus-cloud-method): Make this a defcustom and note how to set it.

	* lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
	keybindings under the `~' prefix.

	* lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
	(gnus-server-cloud, gnus-server-cloud-host)
	(gnus-server-font-lock-keywords, gnus-server-insert-server-line)
	(gnus-server-toggle-cloud-method-server): Support Gnus Cloud
	synchronized servers and synchronization host server toggling (`i' and
	`I') and visual display.
	(gnus-server-toggle-cloud-method-server): Use
	gnus-cloud-host-acceptable-method-p.
	(gnus-server-toggle-cloud-method-server): Use custom-set-variables to
	set the gnus-cloud-method. Ask the user if it's OK to upload the data
	right now.

	* doc/misc/gnus.texi: Document Gnus Cloud package.

2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	Remove CHECK_FRAME_FONT cruft from bytecode.c

	* src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
	Remove some old ‘#if 0’ code.

2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	Work around GCC bug 54561 in a better way

	The new approach is less selective, but also less intrusive on C code.
	* src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
	* src/conf_post.h (NONVOLATILE): Remove.  All uses removed.

2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix port to glibc 2.24 (pre-release) + ppc64

	* src/callproc.c (child_setup): Use emacs_exec_file
	so that ASLR is enabled in the child process.
	* src/emacs.c: Move some personality details into sys/sysdep.c.
	Do not include <sys/personality.h>.
	(main): Disable ASLR earlier, so that we don’t chdir twice.
	* src/lisp.h (disable_address_randomization): New decl.
	* src/sysdep.c (disable_address_randomization)
	[HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
	here from emacs.c.
	(emacs_exec_file): New function.

2016-07-19  Alan Third  <alan@idiocy.org>

	Prevent bar cursor overwriting next glyph (bug#16856)

	* src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
	before setting final size.

2016-07-19  Eli Zaretskii  <eliz@gnu.org>

	Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil

	* src/insdel.c (adjust_markers_bytepos): New function.
	* src/lisp.h (adjust_markers_bytepos): Add prototype.
	* src/insdel.c (replace_range, replace_range_2):
	* src/editfns.c (Ftranspose_regions): Call
	adjust_markers_bytepos.  (Bug#5131)

	* test/src/editfns-tests.el (transpose-test-reverse-word)
	(transpose-test-get-byte-positions): New functions.
	(transpose-ascii-regions-test)
	(transpose-nonascii-regions-test-1)
	(transpose-nonascii-regions-test-2): New tests.

2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>

	Make gif animation work (bug#24004)

	* lisp/image.el (image-animate-timeout): Fix the logic that tests if
	an animation is too big (bug#24004).

2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (undo-amalgamate-change-group): New function

	* lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
	(viper-set-complex-command-for-undo): Save current state with
	prepare-change-group.
	* lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
	(viper-buffer-undo-list-mark): Remove.

2016-07-18  Noam Postavsky  <npostavs@gmail.com>

	Keep w32 environment settings internal only

	* src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
	set_initial_environment call.  This prevents Emacs' modifications to the
	environment from contaminating Vprocess_environment and
	Vinitial_environment (Bug #10980).
	* src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
	environment in as a fallback to Vprocess_environment.
	* test/src/callproc-tests.el (initial-environment-preserved): New Test.

2016-07-18  Nicolas Petton  <nicolas@petton.fr>

	Better documentation for cl-reduce (bug#24014)

	* lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.

2016-07-17  Alan Third  <alan@idiocy.org>

	Remove separate pool for popup dialogs (bug#23856)

	* src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
	autorelease pool and Popdown_data struct.

2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>

	Use eldoc-documentation-functions

	* lisp/hexl.el (hexl-mode):
	* lisp/ielm.el (inferior-emacs-lisp-mode):
	* lisp/progmodes/cfengine.el (cfengine3-mode):
	* lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
	* lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
	* lisp/progmodes/python.el (python-mode):
	* lisp/simple.el (read--expression): Add buffer-locally to hook
	eldoc-documentation-functions.

2016-07-16  Noam Postavsky  <npostavs@gmail.com>

	Optimize ucs-normalize.el compilation

	* lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
	(quick-check-list-to-regexp): Use regexp-opt-charset instead of
	regexp-opt.
	* lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
	temp buffer for the whole loop.

2016-07-16  Noam Postavsky  <npostavs@gmail.com>

	Add tests for ucs-normalize.el

	Some tests are marked as expected to fail.

	* test/lisp/international/ucs-normalize-tests.el: New tests.
	* admin/unidata/NormalizationTest.txt: Add data for tests.
	* admin/unidata/README: Add URL for NormalizationTest.txt.
	* admin/notes/unicode: Add note about running (and updating the data
	for) the new tests.  Remove note about normalization being unsupported.

2016-07-16  Alan Third  <alan@idiocy.org>

	Fix cursor display (bug#23993)

	* src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.

2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	Stop worrying about Alliant in bytecode.c

	* src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.

2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	Remove BYTE_MAINTAIN_TOP

	It is no longer needed now that we assume GC_MARK_STACK ==
	GC_MAKE_GCPROS_NOOPS.
	* src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
	All uses removed, and code simplified accordingly.
	(BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
	are always no-ops now.  All uses removed.
	(MAYBE_GC): Remove.  All uses replaced by maybe_gc,
	since it is now equivalent.

2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	Remove now-inaccurate bytecode comments

	* src/bytecode.c: Remove comments that are no longer accurate.
	Most of these are actually old ChangeLog entries.

2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	Port to glibc 2.24 (pre-release) + ppc64

	Inspired by a suggestion by Florian Weimer in:
	https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
	* configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
	Rename from HAVE_PERSONALITY_LINUX32, and check for
	ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
	All uses changed.
	* src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
	Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
	flag ourselves.  Just set that flag, rather than also setting the
	persona.  When doing it, avoid functions like putenv that may
	allocate memory.

2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>

	Revert "Add a couple cells to lisp-prettify-symbols-alist"

	This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.

2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/simple.el (shell-command): Add save-match-data comment

2016-07-14  Alan Mackenzie  <acm@muc.de>

	CC Mode: correct incorrect invocation of parse-partial-sexp.

	Fixes bug #23944.

	* lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
	an invocation of parse-partial-sexp 'syntax-table, not the fourth.

2016-07-14  Andreas Schwab  <schwab@suse.de>

	Fix configure summary for hybrid malloc configurations

	* configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
	parenthesize value of GNU_MALLOC_reason.

2016-07-14  Stephen Berman  <stephen.berman@gmx.net>

	Fix delete-duplicate-lines

	* lisp/sort.el (delete-duplicate-lines): Delete duplicate
	first line when operating backward (bug#23863).

2016-07-14  Andreas Schwab  <schwab@suse.de>

	Remove unused SHEAP_OBJ

	* Makefile.in (base_obj): Remove $(SHEAP_OBJ).

2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>

	* lisp/gnus/mm-decode.el (mm-convert-shr-links):
	Use shr-image-map instead of shr-map (bug#23964).

2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/mouse.el (mouse): Consolidate group definition here

	* lisp/cus-edit.el (mouse): Remove both group definitions.

2016-07-13  Chris Feng  <chris.w.feng@gmail.com>

	Include versioned preloaded libraries in `package--builtin-versions'

	* lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
	exclude preloaded libraries or remove entries generated for them.
	(autoload-generate-file-autoloads): Do not generate autoload
	statements for preloaded libraries.

2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	Omit unnecessary #includes from xwidget.c

	* src/xwidget.c: Remove #include directives that are not needed.
	Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
	file is compiled only if the X interface is available.

2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	Port xwidget.c to GCC 6 with --enable-gcc-warnings

	* src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
	Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
	possible bugs found by GCC.

2016-07-12  Tino Calancha  <tino.calancha@gmail.com>

	Escape meta chars in commands processed by shell

	* lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
	in all commands to be passed to a shell (Bug#23959).

2016-07-12  John Wiegley  <johnw@newartisans.com>

	Revert "Cleanup tooltips"

	This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.

	I am reverting this change because it was applied without prior discussion
	on emacs-devel, and has been found to break the NS port.  It needs more
	testing and review before it should be applied here.

2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl--prog): New function

	(cl-prog, cl-prog*): New macros.

2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic

	* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
	(cl--generic-make-defmethod-docstring): New function for that.
	(cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
	(cl-generic-define-method, cl--generic-describe): Change `load-history'
	format of cl-defmethods, so as not to confused methods with equal
	specializers but different qualifiers.
	* lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.

2016-07-12  Eli Zaretskii  <eliz@gnu.org>

	Don't install keyboard hook when debugged on MS-Windows

	* src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
	hook if we are being debugged.  This avoids hosing the debugger,
	because the hook is global, and is called in the context of the
	thread which installed it, and that thread is stopped when GDB has
	control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.

2016-07-12  Alan Mackenzie  <acm@muc.de>

	Amend CC Mode to handle big C++ raw strings correctly.

	Problems were caused by such a string spanning jit-lock chunks, and by a flaw
	in the +-500 bytes boundaries imposed for macros.

	* lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
	macro boundaries here.
	(c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
	lower boundary.  Fix the check on the upper boundary.

	* lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
	point already being within a raw string.

	* lisp/progmodes/cc-engine.el (c-raw-string-pos)
	(c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
	Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
	with other Emacsen.

2016-07-12  Stephen Berman  <stephen.berman@gmx.net>

	* lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.

2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>

	Cleanup tooltips

	* src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
	* src/frame.h (struct frame): New bitfield to indicate tooltip frame.
	(FRAME_TOOLTIP_P): New macro.
	* src/frame.c (make_frame): Mark new frame as regular frame by default.
	(Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
	(syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
	and 'Qtooltip_parameters' instead.
	* src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
	* src/gtkutil.c (xg_hide_tip): New function.
	(xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
	* src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
	* src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
	* src/w32fns.c (unwind_create_tip_frame): Remove.
	(w32_display_monitor_attributes_list)
	(w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
	(toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
	(x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
	as a tooltip frame and record it using appropriate display info.
	(x_hide_tooltip): Add frame arg.
	(Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
	base frame parameters, store tooltip hide timer among tooltip frame
	parameters.
	(Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
	(syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
	and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
	* src/w32term.c (w32_read_socket): Extract tooltip window id from
	per-display data.  Use FRAME_TOOLTIP_P where appropriate.
	(x_new_font): Use FRAME_TOOLTIP_P.
	(x_free_frame_resources): Reset pointer to tooltip frame.
	* src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
	* src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
	Use FRAME_TOOLTIP_P.
	* src/xfns.c (x_make_monitor_attribute_list)
	(Fx_display_monitor_attributes_list): Likewise.
	(unwind_create_tip_frame): Remove.
	(toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
	(x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
	as a tooltip frame and record it using appropriate display info.
	(x_hide_tooltip): Add frame arg.
	(Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
	base frame parameters, store tooltip hide timer among tooltip frame
	parameters.  To hide GTK system tooltip, use timeout hooked into GTK
	event loop.
	(Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
	(syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
	and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
	* src/xterm.c (handle_one_xevent): Extract tooltip window id from
	per-display data.  Use FRAME_TOOLTIP_P where appropriate.
	(x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
	(x_free_frame_resources): Reset pointer to tooltip frame.
	* src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
	(struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.

2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	* src/fns.c (syms_of_fns): Leave `features' lexically scoped

2016-07-11  Mario Lang  <mlang@delysid.org>

	Test mapcan

	* test/src/fns-tests.el (fns-tests-mapcan): New test.

2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>

	Prevent to apply funcall on t

	* lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
	'ediff-after-quit-hook-internal' hook (Bug#23933).

2016-07-11  Tino Calancha  <tino.calancha@gmail.com>

	Ignore angle mode while simplifying units

	* lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
	Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
	is non-nil (Bug#23889).
	* lisp/calc/calc-math.el (math-to-radians, math-from-radians)
	(math-from-radians-2, math-to-radians-2): Idem.

2016-07-11  Eli Zaretskii  <eliz@gnu.org>

	Fix display of composed characters

	* src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
	iteration through composition glyphs.  (Bug#23938)

2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>

	Fix composition bug caused by off-by-1 typo

	* src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
	computing composition glyph (Bug#23938).

2016-07-10  Tino Calancha  <tino.calancha@gmail.com>

	Dired always read file system

	* lisp/dired.el (dired-always-read-filesystem): Add new option.
	(dired-mark-files-containing-regexp): Use it (Bug#22694).
	* doc/emacs/dired.texi: Mention it in the manual.
	* test/lisp/dired-tests.el (dired-test-bug22694): Add test.
	;* etc/NEWS: Add entry for this change.

2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.

2016-07-10  Tino Calancha  <tino.calancha@gmail.com>

	Avoid 'unused var' 'not left unused var' warnings

	* lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
	Rename used var '_buffer' to 'cbuffer'.

	* lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
	to cmark'.

2016-07-10  Tino Calancha  <tino.calancha@gmail.com>

	* lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings

2016-07-10  Michael Albinus  <michael.albinus@gmx.de>

	Add a note how to use `tramp-own-remote-path'

	* doc/misc/tramp.texi (Inline methods, External methods)
	(Remote shell setup, Android shell setup)
	(Frequently Asked Questions, Frequently Asked Questions):
	Use @command and @samp consequently.
	(Remote programs): The remote shell must support the -l
	argument, in order to use `tramp-own-remote-path'.  (Bug#23914)

2016-07-10  Alan Third  <alan@idiocy.org>

	Remove App Nap setting from Info.plist (bug#22993)

	* nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
	it doesn't actually disable app nap.

2016-07-09  Mario Lang  <mlang@delysid.org>

	An efficient built-in mapcan

	A built-in version of `mapcan' avoids consing up (and GC'ing) the
	intermediate list.

	* src/fns.c (Fmapcan): New built-in.
	(syms_of_fns): Define.

	* lisp/emacs-lisp/cl.el (mapcan): Remove defalias.

	* lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
	if only one sequence is provided.

	* lisp/progmodes/hideif.el (hif-delimit):
	* lisp/dired-aux.el (dired-do-find-regexp):
	* lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
	`cl-mapcan'.

	* lisp/woman.el (eval-when-compile): Require 'cl-lib only when
	compiling.

	* lisp/mouse.el (mouse-buffer-menu-map):
	* lisp/net/pop3.el (pop3-uidl-dele):
	* lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
	* lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
	* lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
	* lisp/gnus/nnmail.el (nnmail-split-it):
	* lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
	* lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
	* lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.

2016-07-09  Tino Calancha  <tino.calancha@gmail.com>

	Detect aliases to built-in functions

	* lisp/help-fns.el (describe-function-1): Check for aliases
	defined with (defalias alias (symbol-function built-in)) (Bug#23887).

	* test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
	failing this test.

2016-07-09  Michael Albinus  <michael.albinus@gmx.de>

	Avoid recursive detection of remote uid and gid in tramp-gvfs.el

	* lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
	New variable.
	(tramp-gvfs-maybe-open-connection): Use it.

	* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
	Reorder test.

2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>

	Wrap around error in coreutil's ls

	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
	"--quoting-style=literal" if remote host supports quoting style.
	Recent versions of coreutils changed default quoting style to
	"--quoting=shell-escape".

2016-07-09  Eli Zaretskii  <eliz@gnu.org>

	Minor tweaks of copying text properties when padding strings

	* src/editfns.c (styled_format): Don't include padding on the left
	in the properties at the beginning of the string.  (Bug#23897)

	* test/src/editfns-tests.el (format-properties): Add tests for
	faces when the string is padded on the left or on the right.

2016-07-08  Mario Lang  <mlang@delysid.org>

	No need to require the same feature twice.

	* lisp/dired-aux.el (require 'cl-lib): Remove.

2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>

	Turn on lexical binding

	* lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
	(secrets-search-items, secrets-create-item): Use append.
	(secrets-show-secrets): Remove unused binding.
	(secrets-expand-item, secrets-tree-widget-after-toggle-function):
	Ignore unused arguments.

2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>

	Derive secrets-mode from special-mode

	* lisp/net/secrets.el: Remove top-level secrets-mode hack.
	(secrets-mode-map): New variable.  Add key bindings to n and p for
	navigating lines.
	(secrets-mode): Derive from special-mode.  Remove keymap code and
	initialization code.  Do not record undo information.  Make
	secrets-show-collections the local revert-buffer-function.
	(secrets-show-collections): Change signature to satisfy revert-buffer.

2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>

	Add a couple cells to lisp-prettify-symbols-alist

	* lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
	"sqrt" and "not".

2016-07-08  Michael Albinus  <michael.albinus@gmx.de>

	Detect remote uid and gid in tramp-gvfs.el

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
	(tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-connection-mounted-p):
	Make "default-location" a connection property.
	(tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
	(tramp-gvfs-maybe-open-connection): Use them.

2016-07-08  Eli Zaretskii  <eliz@gnu.org>

	Yet another fix for copying properties by 'format'

	* src/textprop.c (extend_property_ranges): Accept an additional
	argument OLD_END, and only extend the end of a property range if
	its original end is at OLD_END; all the other ranges are left
	intact.  (Bug#23897)
	* src/editfns.c (styled_format): Pass the original length of the
	string to 'extend_property_ranges'.
	* src/intervals.h (extend_property_ranges): Adjust prototype.

	* test/src/editfns-tests.el (format-properties): Add tests for
	bug#23897.

2016-07-08  Stephen Berman  <stephen.berman@gmx.net>

	Allow selecting region with mouse to move point to beginning

	* etc/NEWS: Mention new user option
	`mouse-select-region-move-to-beginning'.

	* doc/emacs/frames.texi (Mouse Commands): Add cross-reference
	to the following.
	(Word and Line Mouse): Describe how double-clicking mouse-1 to
	activate region and `mouse-select-region-move-to-beginning'
	affect point.

	* lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
	(mouse-set-point): Use it.  (Bug#23478)

2016-07-08  Stephen Berman  <stephen.berman@gmx.net>

	Fix menu bar breakage

	* lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
	to prevent void variable errors, and fix typo (bug#23918).

2016-07-08  Tino Calancha  <tino.calancha@gmail.com>

	Copy buffer names to kill ring

	* lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
	* lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
	;* etc/NEWS: Add entry for this new feature.

2016-07-07  Tino Calancha  <tino.calancha@gmail.com>

	Remove just input mark

	* lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
	just MARK.

2016-07-07  Tino Calancha  <tino.calancha@gmail.com>

	Ibuffer change marks

	* lisp/ibuffer.el (ibuffer-change-marks): New command.
	(ibuffer-mode-map): Bind it to '* c'.
	(ibuffer-mode-groups-popup): Update menus.
	(ibuffer-mode): Update mode doc.

2016-07-07  Alan Third  <alan@idiocy.org>

	Prevent NS event loop being re-entered (bug#11049)

	* src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
	in event loop instead of aborting.

2016-07-07  Alan Third  <alan@idiocy.org>

	Fix some deprecated functions

	* src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
	convertBaseToScreen with convertRectToScreen.
	* src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
	OS X 10.2, and always seems to return nil.

2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)

	Disable App Nap (bug#22993)

	* nextstep/templates/Info.plist.in: Insert AppNap disable code.

2016-07-07  Michael Albinus  <michael.albinus@gmx.de>

	Fix an error in Tramp for rsync

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
	Make it work for "rsync".
	(tramp-make-copy-program-file-name): Apply `directory-file-name'.

2016-07-07  Tino Calancha  <tino.calancha@gmail.com>

	Ibuffer: Mark locked buffers

	* lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
	(ibuffer-mark-by-locked): New command.
	(ibuffer-mode-map): Bind it to '% L'; update menus.
	(ibuffer-mode): Update mode doc.
	;* etc/NEWS: Add NEWS entry for these changes and previous two commits.

2016-07-07  Tino Calancha  <tino.calancha@gmail.com>

	* lisp/ibuffer.el: Add face for locked buffers

	* lisp/ibuffer.el: Add mark for locked buffers

	;* etc/NEWS (Ibuffer): Update entry according with last commit

2016-07-07  Tino Calancha  <tino.calancha@gmail.com>

	Remove duplicate binding

	* lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
	just bound to '% g'.
	As suggested in:
	https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html

2016-07-07  Tino Calancha  <tino.calancha@gmail.com>

	Ibuffer: Drop needless binding

	* lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
	already bound to 't' inside 'ibuffer-set-mark'.

2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>

	Run tests from non-byte compiled files

	* test/Makefile.in: Eval non-byte-compiled files for tests.

2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>

	Replace eldoc-documentation-function with a hook

	* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
	(eldoc-documentation-function): Make into obsolete alias.
	(eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
	(eldoc-argument-case, global-eldoc-mode): Update docstrings.
	(eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
	on eldoc-documentation-functions.
	(eldoc-supported-p): New function.
	(eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
	* etc/NEWS: Mention eldoc-documentation-functions.
	* doc/lispref/modes.texi: Update reference.

2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>

	Complete "initial" and "unset" in CSS mode

	* lisp/textmodes/css-mode.el (css--complete-property-value): Make
	"initial" and "unset" completion candidates for all CSS properties,
	just like "inherit".

	* test/lisp/textmodes/css-mode-tests.el
	(css-test-complete-property-value): Update test to reflect the above
	change.

2016-07-06  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.

2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify rfc1345.el a bit

	* lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
	that would no longer parse.  Replace control characters with
	escapes in character constants.  Omit unnecessary \ after ?.
	This does not change behavior.

2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>

	Prefer 'frame-parameter' where it is expected to be a bit faster

	* lisp/international/mule-diag.el (mule-diag):
	* lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
	* lisp/mouse.el (mouse-drag-line, font-menu-add-default):
	* lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
	* lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.

2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>

	Reduce consing caused by vertical motion commands

	* src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
	parameters frequently requested by calls to 'next-line' and 'previous-line'.

2016-07-05  Michael Albinus  <michael.albinus@gmx.de>

	Make all Tramp tests pass for "gdrive" method

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
	* lisp/net/tramp-compat.el (tramp-compat-copy-directory)
	(tramp-compat-delete-directory):
	* lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
	Use `directory-files-no-dot-files-regexp'.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-send-command): Call `tramp-flush-file-property' in
	case of problems.

	* test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
	Adapt docstring.
	(tramp-test14-delete-directory): Make further tests.

2016-07-05  Eli Zaretskii  <eliz@gnu.org>

	Fix redisplay with window-start on continuation lines

	* src/xdisp.c (pos_visible_p): Return false if the window starts
	after CHARPOS.
	(compute_window_start_on_continuation_line): Don't return
	window-start position that is after point in the buffer, as the
	callers don't expect this to happen, and will generally display an
	empty window with the cursor in its middle.  (Bug#23871)

2016-07-05  Tino Calancha  <tino.calancha@gmail.com>

	Add :expected-result :failed for unfixed bug test

	* test/lisp/help-fns-tests.el (help-fns-test-bug23887):

2016-07-05  Tino Calancha  <tino.calancha@gmail.com>

	* test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.

2016-07-04  Michal Nazarewicz  <mina86@mina86.com>

	Don’t create unnecessary marker in ‘delete-trailing-whitespace’

	* lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
	there is no need for the end-marker to be created.

2016-07-04  Michal Nazarewicz  <mina86@mina86.com>

	Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace

	* lisp/simple.el (delete-trailing-whitespace): Set newline’s character
	syntax to non-whitespace so that ‘\s-’ regular expression does not match
	it.

	This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
	as a consequence ‘line-beginning-position’ function does not need to be
	called any longer.

	Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
	expression ends up matching empty lins since ‘\s-’ matches newline
	characetr of proceeding line.  This leads to needless loop iterations.

	Since previous change to ‘delete-trailing-whitespace’ already introduced
	‘with-syntax-table’, take advantage of it and also overwrite newline’s
	character syntax.

2016-07-04  Michal Nazarewicz  <mina86@mina86.com>

	Make ‘delete-trailing-whitespace’ delete spaces after form feed

	* lisp/simple.el (delete-trailing-whitespace): Treat form fead as
	a non-whitespace character (regradless of whether it’s character syntax
	is whitespace) and delete any whitespace following it instead of leaving
	lines with form feeds completely unchanged.  I.e. a line like "\f " will
	now became "\f".

2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>

	Cleanup XEditRes hack

	* configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
	_XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
	linked with -lXmu.  This should work with any non-ancient Xmu library.
	* src/xfns.c (toplevel): Remove old cruft.
	(x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
	* src/xterm.c (toplevel): Remove old cruft.
	(handle_one_xevent): Use X_TOOLKIT_EDITRES.
	* src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.

2016-07-04  Michael Albinus  <michael.albinus@gmx.de>

	Add Google Drive support to Tramp

	* doc/misc/tramp.texi: Add `gdrive' method.

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.3.1-pre".

	* etc/NEWS: Add Tramp connection method "gdrive".

	* lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
	(tramp-default-user-alist, tramp-default-host-alist): Add rule
	for "gdrive".
	(tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
	(tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
	(tramp-gvfs-get-directory-attributes): Improve loop.  Use
	"standard::display-name" as file name, if available.
	(tramp-gvfs-handle-file-name-all-completions): Simplify.
	(tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
	(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
	Map between "gdrive" and "google-drive".

	* lisp/net/tramp.el (tramp-call-process): Do not signal error.

	* test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
	Do not enable `tramp-message-show-message'.
	(tramp-test13-make-directory, tramp-test14-delete-directory):
	Do not specify error type.

2016-07-04  Tino Calancha  <tino.calancha@gmail.com>

	Calc: Update mode line after change mode

	* lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.

2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/simple.el (save-mark-and-excursion): Add declare forms.

2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	Re-fix open-network-stream responsiveness

	Problem reported by Christer Ekholm (Bug#23864).
	* src/process.c (wait_reading_process_output): Further fix for
	typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
	wait == INFINITY and got_output_end_time is invalid.  See:
	https://bugs.gnu.org/23864#20

2016-07-03  Alan Mackenzie  <acm@muc.de>

	Remove redundant forms from CC Mode for faster fontification

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
	the "main" cond form in the function, which have been redundant since the
	extraction of c-font-lock-cut-off-declarators from the function on
	2016-06-15/16.

2016-07-03  Alan Mackenzie  <acm@muc.de>

	Speed up CC Mode fontification with less accurate functions extending region

	* lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
	(c-font-lock-enclosing-decls)
	* lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
	c-beginning-of-decl-1 with less accurate invocations of
	c-syntactic-skip-backwards to speed up fontification.

2016-07-03  Tino Calancha  <tino.calancha@gmail.com>

	Ibuffer: unmark all buffers without confirmation

	* lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
	(ibuffer-mouse-popup-menu): Use it.
	(ibuffer-mode): Update mode doc.
	(ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
	Rebind 'ibuffer-do-replace-regexp' to 'r'.

2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	Fix open-network-stream responsiveness

	Problem reported by Constantin Kulikov (Bug#23684).
	* src/process.c (wait_reading_process_output):
	Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
	when wait == INFINITY and got_output_end_time is invalid.
	In this case the code should break, not continue.

2016-07-02  Tino Calancha  <tino.calancha@gmail.com>

	Ibuffer: Mark buffers by content

	* lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
	(ibuffer-never-search-content-name): New option.
	(ibuffer-never-search-content-mode): Idem.
	(ibuffer-mark-by-content-regexp): Use them (Bug#23734).

	* lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
	(ibuffer-mode): Update mode documentation.

2016-07-02  Tino Calancha  <tino.calancha@gmail.com>

	ibuffer-copy-filename-as-kill verbosity increase

	* lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
	Use shorter name, result, for a local bound var.
	Show the string result in the echo area.

2016-07-02  Eli Zaretskii  <eliz@gnu.org>

	Fix cursor positioning on TTY frames after stretch glyph

	* src/term.c (append_glyph, append_composite_glyph)
	(append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
	members of the produced 'struct glyph'.  Fixes cursor positioning
	on the first character after a stretch glyph produced from
	line-prefix, wrap-prefix, etc. on TTY frames.

2016-07-02  Eli Zaretskii  <eliz@gnu.org>

	Fix vertical-movement in buffers with wrap-prefix

	* src/indent.c (Fvertical_motion): Zero the current_y coordinate
	whenever we zero the vpos vertical position of the iterator.
	* src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
	wrap-prefix regardless of whether the current Y coordinate is
	inside the window dimensions.  (Bug#23879)

2016-07-02  Eli Zaretskii  <eliz@gnu.org>

	Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL

	* src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
	FACE_OPT_FROM_ID; all callers changed.
	* src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
	FACE_FROM_ID_OR_NULL, as the resulting face is immediately
	dereferenced.
	(fill_gstring_glyph_string): Call FACE_FROM_ID, not
	FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
	when the glyph string is drawn.
	(BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
	FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
	in fill_composite_glyph_string.
	(calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
	FACE_FROM_ID, since the function and its caller can cope with that
	situation.  Conflate 3 tests of missing face or font into just
	one.
	* src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
	FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
	functions can cope with that situation.
	(lookup_derived_face): Don't call FACE_FROM_ID if the result will
	not be used.
	* src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.

2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.

2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace

	i.e. rename from auto-source--symbol-keyword.

2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>

	Avoid yet another possible NULL pointer dereference found by GCC 6.1.1

	* lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
	get_widget_info.

2016-06-30  Alan Mackenzie  <acm@muc.de>

	CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote

	This applies to applying or removing syntax-table text properties in raw
	strings which affect the stringiness of a piece of text.  This fixes the
	bug
	reported in
	https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.

	* lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
	defsubst.
	(c-invalidate-state-cache-1): Call new function in place of inline
	manipulation.
	(c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
	semi-nonlit cache when pertinent syntax-table text properties get applied to
	the text.

2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>

	Minor tweaks to openp

	* src/lread.c (openp): Move invariant code out of the loop
	and thus avoid redundant calls to memcpy.  Adjust comments.

2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>

	Simplify handling of frame parameters

	* src/frame.c (x_set_frame_parameters): Avoid extra loop processing
	foreground color, background color and font parameters.  Adjust
	comments.

2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>

	Cleanup around mature character manipulation functions

	* lisp/international/mule-diag.el (decode-codepage-char): Remove.

	* lisp/ldefs-boot.el (toplevel): Adjust accordingly.

	* lisp/subr.el (toplevel): Do not advertise calling conventions
	for 'decode-char' and 'encode-char'.

	* src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.

2016-06-29  Alan Mackenzie  <acm@muc.de>

	Fix C-M-a in a C function finding the start of a macro preceding it.

	Also amend some pertinent documentation.  This fixes bug #23818.

	* lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
	virtual semicolon at a place where we check for other types of statement ends.

	* lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
	doc string the bit saying that the variable is a prototype and liable to
	change.

	* doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
	macros with semicolon can prevent C-M-a missing the beginning of defun.

2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>

	Avoid possible NULL pointer dereference found by GCC 6.1.1

	* src/xfns.c (x_get_monitor_attributes_xrandr): Always check
	the value returned by XRRGetOutputInfo.

2016-06-28  Tino Calancha  <tino.calancha@gmail.com>

	Dired recognize dirs when file size in human units

	* lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
	to match when Dired displays the allocated file size column
	in human readable units (Bug#22255).

2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>

	Fix breakage from previous change

	* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
	* lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.

2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>

	Fix breakage from previous change.

	* lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.

2016-06-28  Eli Zaretskii  <eliz@gnu.org>

	Add tests for copying properties by 'format'

	* test/src/editfns-tests.el (format-properties): New test.

2016-06-28  Eli Zaretskii  <eliz@gnu.org>

	Fix copying properties in 'format' when it produces padding

	* src/textprop.c (extend_property_ranges): Correct range extension
	when the new end is beyond the old end.  (Bug#23859)

2016-06-27  Alan Third  <alan@idiocy.org>

	Enable dividers in NS (bug#22973)

	src/nsfns.m: Add color settings functions to ns_frame_park_handlers.
	src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
	attempt to set the color.
	src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
	above, although I didn't see any errors.

2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Fix the prefix action of shr-copy-url

	* lisp/net/shr.el (shr-copy-url): Make the command really copy
	the image url if given a prefix.

2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	New functions svg-text and svg-remove

	* doc/lispref/display.texi (SVG Images): Document svg-remove.

	* doc/lispref/display.texi (SVG Images): Document svg-text.

	* lisp/svg.el (svg-remove): New function.
	(svg-text): New function.

2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Add new function dom-remove-node

	* doc/lispref/text.texi (Document Object Model): Document
	dom-remove-node.

	* lisp/dom.el (dom-remove-node): New function.

2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Add a new function `svg-embed'

	* doc/lispref/display.texi (SVG Images): Document `svg-embed'.

	* lisp/svg.el (svg-embed): New function.
	(svg--image-data): Ditto.

2016-06-27  Eli Zaretskii  <eliz@gnu.org>

	* lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.

2016-06-27  Eli Zaretskii  <eliz@gnu.org>

	Fix 'move-to-window-line' when EOB is on last screen line

	* src/window.c (displayed_window_lines): Fix an off-by-one error
	when the bottom of the last display line is exactly at window's
	last pixel.  Remove kludgey fix for TTY frames that is no longer
	needed.  (Bug#15760)
	(Fmove_to_window_line): Doc fix.

	* doc/lispref/positions.texi (Screen Lines): Clarify and make more
	accurate the documentation of 'move-to-window-line'.

2016-06-27  Alan Mackenzie  <acm@muc.de>

	Amend a cache so that typing into C++ raw strings has no undue delay.

	Also amend the code so that low-level searches to the end of literals are done
	only when these positions get used.

	* lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
	c-literal-start instead of c-literal-limit.
	(c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
	it stores details of the literal at a point, rather than merely points outside
	of literals.
	(c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
	(c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
	(c-parse-ps-state-below, c-literal-start): New functions.
	(c-state-semi-safe-place): Removed.
	(c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
	(c-literal-limits, c-determine-limit-get-base): consequential amendments.
	(c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
	(c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.

	* lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
	to end of literals.

	* lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
	literals.

	* lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
	(c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.

2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>

	Also handle escaping when string begins with a quote

	* lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
	Handle quoting of the first character in the string.

	* test/lisp/progmodes/ruby-mode-tests.el
	(ruby-toggle-string-quotes-quotes-correctly): Update.

2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)

	Fix quote escaping in ruby-toggle-string-quotes

	* lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
	Change logic to quote based on the current quote of the string.

	* test/lisp/progmodes/ruby-mode-tests.el
	(ruby-toggle-string-quotes-quotes-correctly): Add test.

2016-06-26  Noam Postavsky  <npostavs@gmail.com>

	Fix test-completion with completion-regexp-list

	* src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
	completion-regexp-list (Bug #23533).

2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>

	Try other addresses when connecting to multihomed

	Problem reported by Juliusz Chroboczek (Bug#17976)
	and by Artur Malabarba (Bug#23620).
	Patch from a suggestion by Andreas Schwab in:
	https://bugs.gnu.org/17976#39
	This patch is for non-MS-Windows platforms.
	I don't know the situation on MS-Windows.
	* src/process.c (connecting_status):
	New function, for (connect . ADDRINFOS).
	(connect_network_socket, check_for_dns, wait_for_socket_fds)
	(wait_while_connecting, wait_reading_process_output, status_notify):
	Use it.
	(decode_status, Fmake_network_process):
	Support (connect . ADDRINFOS) status.
	(connect_network_socket) [!WINDOWSNT]:
	If the connection failed and there are other addresses to try, do not
	signal an error; instead, loop around to try the next address.
	(wait_reading_process_output): Advance to the next address
	if there are multiple addresses and the first remaining address
	failed.
	* src/process.h (struct Lisp_Process.status): Adjust comment
	to describe (connect . ADDRINFOS).

2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix GNUC_PREREQ for GCC 2.8.1 etc.

	Problem reported by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
	* src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
	2.8.1 (1998), which come before GCC 3.0 and which have nonzero
	patchlevel numbers.

2016-06-26  Eli Zaretskii  <eliz@gnu.org>

	Don't set 'bidi-paragraph-direction' in 'ansi-term'

	* lisp/term.el (ansi-term): Remove unnecessary setting of
	'bidi-paragraph-direction'.  The underlying problem is solved in
	bidi.c by changing the regexps that define the paragraph beginning
	and end.  (Bug#20611)

2016-06-26  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp 2.3.0

	* doc/misc/trampver.texi:
	* lisp/net/trampver.el: Change version to "2.3.0".

2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix GNUC_PREREQ off-by-1 typo

	Problem reported by Martin Rudalics in:
	https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
	* src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
	Fix < vs <= typo.

2016-06-26  Michael Albinus  <michael.albinus@gmx.de>

	Fix some oddities in Tramp's rsync and smb methods

	* lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
	"-s" arguments.
	(tramp-do-copy-or-rename-file-out-of-band):
	Call `file-name-directory' also for remote NEWNAME.

	* test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
	Do not skip for tramp-smb.el.  Test also COPY-CONTENTS case.
	(tramp-test24-file-name-completion): Improve check for
	hostname completion.
	(tramp--test-rsync-p): New defun.
	(tramp-test31-special-characters)
	(tramp-test31-special-characters-with-stat)
	(tramp-test31-special-characters-with-perl)
	(tramp-test31-special-characters-with-ls, tramp-test32-utf8)
	(tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
	(tramp-test32-utf8-with-ls): Skip for "rsync".

	* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
	Check also for CIFS capabilities.

2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)

	Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)

	* src/nsfns.m (x_set_internal_border_width): Replace assignments to
	FRAME_INTERNAL_BORDER_WIDTH.

2016-06-25  Leo Liu  <sdl.web@gmail.com>

	Deprecations (bug#23850)

	* lisp/subr.el (string-to-unibyte, string-as-unibyte,
	string-to-multibyte, string-as-multibyte): Make obsolete.

2016-06-25  Tino Calancha  <tino.calancha@gmail.com>

	Do not prompt twice to save a buffer

	* lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).

2016-06-25  Alan Third  <alan@idiocy.org>

	Move text line right when in box (bug#23755)

	* src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
	CHAR_GLYPH specific code and move glyphs right if within a box.
	(ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
	function.

2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	0377fe2 ; Spelling fixes
	f253695 Update docs for `customize-mode'
	4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
	ab0ebb9 ; Only load .elc file in tests.
	a98aa02 Error on multibyte characters in HTTP request
	ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
	8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
	dc5e65b Unset GIT_DIR when calling Git commands
	6cdd8f7 Ensure undo-boundary after insert-file-contents.
	4793f5f Clarify documentation of 'line-spacing' and 'line-height'
	5f37572 Fix removal of variables from process-environment
	e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
	db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...

	# Conflicts:
	#	doc/lispref/modes.texi
	#	lisp/gnus/mm-decode.el

2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>

	Teach net-utils more iproute2 and nl80211 tools

	* lisp/net/net-utils.el (iwconfig-program): Add iw(8).
	(iwconfig-program-options): Add "dev" argument for iw.  Another useful
	option is "phy"; beyond that one needs to know the interface name.
	(netstat-program): Add ss(8).
	(route-program): Add ip(8).
	(route-program-options): Add "route" argument for ip.

2016-06-24  Leo Liu  <sdl.web@gmail.com>

	Use use-region-p in prolog.el

	* lisp/progmodes/prolog.el (region-exists-p): Remove.
	* lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
	prolog-edit-menu-insert-move): Use use-region-p.

2016-06-24  Leo Liu  <sdl.web@gmail.com>

	Remove compatibility with Emacs 24.3 in octave-mode

	* lisp/progmodes/octave.el: Clean up and remove compatibility with
	Emacs 24.3.

2016-06-24  Alan Mackenzie  <acm@muc.de>

	Ensure hack-local-variables is run in a fundamental mode buffer.

	This fixes bug #23827.

	* src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
	gets set to that mode, so that `run-mode-hooks', and thus
	`hack-local-variables' get run.

2016-06-24  Tino Calancha  <tino.calancha@gmail.com>

	Fix caller to ediff-setup

	* lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.

2016-06-24  Alan Mackenzie  <acm@muc.de>

	Implement ' separators in C++ integer literals.

	* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
	c-before-after-change-digit-quote into the C++ value.
	(c-before-font-lock-functions): Insert c-depropertize-new-text into the values
	for all languages.  Insert c-before-after-change-digit-quote into the C++
	value.

	* lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
	c-save-buffer-state.
	(c-depropertize-new-text, c-before-after-change-digit-quote): New functions.

2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2016-06-24 intprops: port better to GCC 7
	2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
	* doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
	Copy from gnulib.

2016-06-24  Martin Rudalics  <rudalics@gmx.at>

	Remove two uses of 'min' in Fwindow_text_pixel_size

	* src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
	it calls move_it_to twice.  Suggested by Eli Zaretskii.

2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>

	Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID

	* src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
	since it is intended to be used only when it returns a non-null
	pointer, and here the pointer might be null.
	(IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.

2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>

	Remove some more face aliases obsoleted in 22.1

	* lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
	eshell-ls-executable-face, eshell-ls-readonly-face,
	eshell-ls-unreadable-face, eshell-ls-special-face,
	eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
	eshell-ls-product-face, eshell-ls-clutter-face): Remove.
	* lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
	(isearch-lazy-highlight-update): Use face symbol.
	* lisp/net/sieve-mode.el (sieve-control-commands-face,
	sieve-action-commands-face, sieve-test-commands-face,
	sieve-tagged-arguments-face): Remove.
	(sieve-font-lock-keywords): Use non-obsolete faces.
	* lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
	(sh-get-indent-info, sh-prev-line): Use face symbol.
	* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
	Use non-obsolete face.
	(tex-math-face, tex-verbatim-face): Remove.
	(tex-font-lock-syntactic-face-function): Use face symbols.

2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>

	Remove some face aliases obsoleted in 22.1

	* lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
	* lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
	* lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
	Info-title-4-face, info-menu-5):
	* lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
	* lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
	* lisp/progmodes/make-mode.el (makefile-space-face):
	* lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
	(texinfo-font-lock-keywords): Use texinfo-heading face.
	* lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
	change-log-email-face, change-log-file-face, change-log-list-face,
	change-log-conditionals-face, change-log-function-face,
	change-log-acknowledgement-face):
	* lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
	diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
	diff-changed-face, diff-function-face, diff-context-face,
	diff-nonexistent-face): Remove.
	(diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
	symbols.
	(diff-hunk-file-names): Fix comment.
	(diff-refine-change): Remove.
	(diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
	non-obsolete face.
	* lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
	(log-view-font-lock-keywords): Use non-obsolete face names.
	* lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
	cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
	* lisp/wid-edit.el (widget-documentation-face, widget-button-face,
	widget-field-face, widget-single-line-field-face, widget-inactive-face,
	widget-button-pressed-face):
	* lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
	woman-addition-face): Remove.

2016-06-23  Eli Zaretskii  <eliz@gnu.org>

	* lisp/international/characters.el (standard-case-table): Improve last change.

2016-06-23  Eli Zaretskii  <eliz@gnu.org>

	Improve results of 'upcase' for characters with title-case

	* lisp/international/characters.el (standard-case-table): Swap the
	order of some lines, to have 'upcase' return the upper-case
	variant, not the title-case, for some characters whose lower-case
	map to the same codepoints.  (Bug#23833)

2016-06-23  Alan Mackenzie  <acm@muc.de>

	Make typing into incomplete C++ raw strings work, and make it work fast enough

	* lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
	Put `save-match-data' around calls to `looking-at' to enable the use of the
	match data in higher level functions.

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
	(c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
	limit to speed up handling of C++ raw strings.

2016-06-23  Eli Zaretskii  <eliz@gnu.org>

	Fix handling of LWINDOW key on MS-Windows

	* src/w32fns.c (funhook): Correct a typo which broke handling of
	the LWINDOW key.  (Bug#23830)

2016-06-22  Eli Zaretskii  <eliz@gnu.org>

	Update Unicode data files from Unicode 9.0.0

	* admin/unidata/copyright.html:
	* admin/unidata/BidiBrackets.txt:
	* admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
	released.

2016-06-22  Eli Zaretskii  <eliz@gnu.org>

	Fix test for whether the '.el' file is newer than '.elc'

	* src/lread.c (Fload): Don't overwrite the last character of the
	file name in FOUND with 'c', unless the file name ended in ".elc"
	to begin with.  Don't treat empty files as byte-compiled.  See
	https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
	for more details of the problem this caused.

2016-06-22  Eli Zaretskii  <eliz@gnu.org>

	Fix 'insert-file-contents' when REPLACE is non-nil

	* src/fileio.c (maybe_move_gap): New function to move the gap to
	the end of a buffer, if it isn't there already.
	(Finsert_file_contents): Call 'maybe_move_gap' before using
	conversion_buffer's text as a C 'char' array.  (Bug#23659)
	* src/coding.c (decode_eol): Compute the byte increment before
	calling del_range_2, because the latter can invalidate the pointer
	to buffer text.

2016-06-22  Ken Brown  <kbrown@cornell.edu>

	Avoid compiler warning

	* src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.

2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.

2016-06-22  Ken Brown  <kbrown@cornell.edu>

	Fix last change to FRAME_INTERNAL_BORDER_WIDTH

	* src/w32fns.c (x_set_internal_border_width): Don’t use
	FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
	lvalue.

2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	Improve --without-x GCC pacification

	* src/composite.c (autocmp_chars):
	* src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
	Use simpler ((void) 0) for no-op expression returning void.
	* src/dispextern.h [HAVE_WINDOW_SYSTEM]:
	Include fontset.h, for face_for_char.
	(FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
	Now inline functions instead of macros.  This avoids the need for
	all those casts to void.
	(FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
	All uses changed.
	* src/frame.c (Ficonify_frame, Fset_frame_position):
	* src/xdisp.c (Fmove_point_visually, show_mouse_face):
	* src/xdisp.c (note_mode_line_or_margin_highlight)
	(note_mouse_highlight):
	Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
	now work either way without generating warnings.
	* src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
	(window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
	(decode_window_system_frame): Use check_window_system instead of
	rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
	(decode_window_system_frame, check_window_system):
	Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
	* src/frame.c (Ficonify_frame, Fset_frame_position):
	* src/xdisp.c (show_mouse_face, define_frame_cursor1)
	(note_mouse_highlight):
	Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
	this is a better way to pacify GCC.
	* src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
	(x_set_right_divider_width, x_set_bottom_divider_width):
	* src/xfns.c (x_set_internal_border_width):
	Don’t use what are now function calls as lvalues.
	* src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
	(decode_window_system_frame, check_window_system):
	Use it, to avoid the need for duplicate declarations.
	(window_system_available): Now an inline function.
	(display_available): New decl.
	(frame_dimension): New inline function.
	(FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
	(FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
	(FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
	(FRAME_BOTTOM_DIVIDER_WIDTH):
	Use it, to avoid the need for duplicate definitions.
	Now inline functions instead of macros.
	* src/gnutls.c (gnutls_log_function2i): Remove.
	* src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
	This avoids complaints about gnutls_log_function2i being defined
	and not used on older platforms that do not need to call GNUTLS_LOG2i.
	* src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
	* src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
	expr’ to ‘type id; id = expr’, as this would suppress valid
	jump-misses-init diagnostics.  Let’s find a better way to address
	the problem.
	* src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
	Define only if needed.
	* src/xdisp.c (handle_single_display_spec):
	Simplify fringe_bitmap computation.
	(define_frame_cursor1): Do nothing unless in a window system.
	All callers changed and simplified.
	* src/xfaces.c (realize_default_face):
	Use a simpler way to pacify GCC when a return value is not used
	on some platforms.

2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>

	Ensure undo-boundary after all commands

	* lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
	  every command whether it (apparently) changes the buffer or not.

	See Bug#23785 for discussion.

2016-06-21  Eli Zaretskii  <eliz@gnu.org>

	Fix vertical layout calculations when newline has line-height property

	* src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
	'constrain_row_ascent_descent_p' flag after processing the
	newline, similar to what 'display_line' does.  Without this, the
	flag remains set once set by x_produce_glyphs, and causes the
	vertical layout calculations to go awry, because Emacs thinks the
	screen lines have zero height.	(Bug#23850)

2016-06-20  Ken Brown  <kbrown@cornell.edu>

	Fix compiler warnings in Cygwin-w32 build

	* src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
	loop to avoid compiler warnings about empty body of 'if'
	statement.

	* src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
	macro.
	(x_create_bitmap_from_data): Declare 'frame'.
	(x_create_bitmap_from_file): Don't declare unused variable
	'dpyinfo'.

	* src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
	prevent "jump-misses-init" compiler warnings.

	* src/w32fns.c (check_w32_winkey_state): Define and use only if
	WINDOWSNT.
	(Fx_show_tip): Declare 'f'.
	(Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
	(w32_strerror): Use format specifier %d for sprintf argument of
	type int.
	(emacs_abort): Cast sprintf argument of type DWORD to unsigned
	int, and use format specifier %x, for compatibility with Cygwin.
	(unicode_append_menu) [NTGUI_UNICODE]:
	* src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
	(set_menu_item_info, unicode_append_menu)
	(unicode_message_box):
	* src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
	functions rather than macros to avoid "address will always
	evaluate as true" compiler warnings.

	* src/w32font.c (w32_to_x_charset): Use format specifier %d for
	sprintf argument of type int.

	* src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
	sprintf argument of type int to unsigned int to match %X format
	specifier.
	(w32_scroll_bar_handle_click):
	(w32_horizontal_scroll_bar_handle_click): Declare 'f'.

	* src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
	argument.

2016-06-20  Ken Brown  <kbrown@cornell.edu>

	Fix compiler warnings in no-window-system-build

	* src/composite.c (autocmp_chars): Declare and set 'f' only if
	HAVE_WINDOW_SYSTEM.

	* src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
	(FACE_FOR_CHAR): Explicitly discard unused arguments.

	* src/font.c (font_open_entity): Declare 'min_width' where it is
	first set, and only if HAVE_WINDOW_SYSTEM.

	* src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
	Define _Noreturn version to avoid "suggest attribute noreturn"
	compiler warning.
	(check_window_system): Declare as _Noreturn.
	(Ficonify_frame):
	(Fset_frame_position): Don’t declare and set 'f'.

	* src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
	(check_window_system):  Add _Noreturn prototypes.
	(FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
	(FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
	(FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
	(FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.

	* src/xdisp.c (handle_single_display_spec): Declare
	'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
	(append_space_for_newline): Declare 'g' where it is first set.
	(Fmove_point_visually): Declare and set 'target_is_eol_p' only if
	HAVE_WINDOW_SYSTEM.
	(show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
	if HAVE_WINDOW_SYSTEM.
	(note_mode_line_or_margin_highlight):
	(note_mouse_highlight): Declare and set 'cursor' and 'pointer'
	only if HAVE_WINDOW_SYSTEM.

	* src/xfaces.c (realize_default_face): Declare and set 'face' only
	if HAVE_X_WINDOWS.  Remove redundant #ifdef.

2016-06-20  Michael Albinus  <michael.albinus@gmx.de>

	Weaken test conditions in filenotify-tests.el

	* test/lisp/filenotify-tests.el (file-notify--test-with-events):
	Fix thinko in test.
	(file-notify-test02-events, file-notify-test04-file-validity)
	(file-notify-test07-backup)
	(file-notify-test08-watched-file-in-watched-dir): Make test
	conditions more weak.  (Bug#23618)

2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>

	Minor ABLOCKS_BUSY cleanups in alloc.c

	* src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
	with member ‘abase’ in definiens.
	(lisp_align_malloc, lisp_align_free): Use bool for boolean.
	Avoid compiler warning with fewer casts.
	(lisp_align_free): Check busy-field values; this can help the
	compiler a bit when optimizing, too.

2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>

	ASCII-fy coding-system-for-read used for Git commands

	* lisp/vc/vc-git.el (vc-git--asciify-coding-system):
	New function.
	(vc-git-diff, vc-git-annotate-command): Use it.

2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>

	Prohibit multibyte characters in url-http-data

	It didn't work anyway, but this makes any such errors more obvious
	by catching them earlier.

	* lisp/url/url-http.el (url-http-create-request):
	Use string-to-unibyte (bug#23750).

2016-06-19  Eli Zaretskii  <eliz@gnu.org>

	Fix setting a range of char-table slots in a singular case

	* src/chartab.c (char_table_set_range): Start the loop from the
	first character of the block to which FROM belongs.  (Bug#23797)

	* test/src/chartab-tests.el: New test file.

2016-06-19  Alan Mackenzie  <acm@muc.de>

	Fix CC Mode fontification problem apparent in test file decls-6.cc.

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
	"bar (gnu);" as a declarator only when the construct is directly inside a
	class (etc.) called "bar".
	(c-directly-in-class-called-p): New function.

2016-06-19  Alan Mackenzie  <acm@muc.de>

	c-renarrow-state-cache: take care when new point is inside old brace pair.

	Also add display of point-min to the c-parse-state debugging output.

	* lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
	point is inside an old recorded brace pair, clear the cache.
	(c-debug-parse-state): Output the value of point-min.

2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	Rename ALIGN to pointer_align

	* src/alloc.c (pointer_align): Rename from ALIGN.
	This fixes Bug#23764 in a simpler way.

2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	d1efbaf Fix documentation of completion functions
	65c96cc Clarify documentation of 'font-lock-maximum-decoration'
	2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
	b49cb0a Fbackward_prefix_chars: stay within buffer bounds

2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	2317c61 Fix last todo-mode change
	5d4d8a3 Improve last todo-mode fix
	d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
	27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
	f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
	e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
	d308aa1 Minor grammar fix (bug#23746)
	20de667 Doc fixes for grammar and typos (bug#23746)
	a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
	27f440e Add cross-reference to ELisp manual
	10802d8 ; make change-history-commit
	4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
	12e009e Restore initial undo boundary with viper
	291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
	6921f4a Fix dbus crash on 32-bit Cygwin

2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	9ae514a * etc/AUTHORS: Update the AUTHORS file
	3ca428e add entries to authors.el
	66d556b Fix eldoc-related freezes in python mode
	d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
	27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
	a813487 Fix undo boundary in recursive edit (Bug#23632)
	1f85b7c Doc fixes re alist-get.  (Bug#23548)
	ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
	56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
	4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
	a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
	601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.

2016-06-18  Nicolas Petton  <nicolas@petton.fr>

	* lisp/emacs-lisp/map.el (map-contains-key): Better docstring

2016-06-18  Nicolas Petton  <nicolas@petton.fr>

	Fix seq-contains

	Make sure seq-contains return the element of the sequence instead of t.

	* lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
	* test/lisp/emacs-lisp/seq-tests.el: Add a regression test.

2016-06-18  Nicolas Petton  <nicolas@petton.fr>

	Add new function map-do

	* lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
	  functions.
	* test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.

2016-06-18  Nicolas Petton  <nicolas@petton.fr>

	Add seq-do-indexed

	* lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
	* test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.

2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	map.el (map-merge*): Use `map-into' at beginning rather than end

	* lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
	and don't use of an intermediate alist.
	(map-merge-with): Same, plus use `cl-callf' to try and avoid performing
	3 lookups per inner iteration.

2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.

2016-06-15  Alan Mackenzie  <acm@muc.de>

	Speed up CC Mode's font locking by taking some code out of a hot loop.

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
	tests for bare declarators.
	(c-font-lock-cut-off-declarators): New function.
	(c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.

2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	Automatically find vars and functions via definition-prefixes

	* lisp/help-fns.el (help-definition-prefixes): New var and function.
	(help--loaded-p, help--load-prefixes, help--symbol-completion-table):
	New functions.
	(describe-function, describe-variable): Use them.

	* lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
	(radix-tree-prefixes, radix-tree-from-map): New functions.

2016-06-15  Michal Nazarewicz  <mina86@mina86.com>

	Automatically detect whether .h file is C or C++

	* lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
	analyzes contents of the buffer to determine whether it looks like C++
	source code and based on that enables c-mode or c++-mode.
	(c-or-c++-mode--regexp): Regular expression which, when matches
	a buffer, signals file is C++.

2016-06-15  Alan Mackenzie  <acm@muc.de>

	Parse compound identifiers in C++ member initialization lists.

	* lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
	(c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
	(c-back-over-member-initializers): Call c-back-over-compound-identifier rather
	than c-simple-skip-symbol-backward.

2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	Advertise set-keymap-parent as replacement for copy-keymap

	* doc/lispref/keymaps.texi (Creating Keymaps):
	* src/keymap.c (Fcopy_keymap): Advertise set-keymap-parent as replacement.

2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>

	* lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
	value is missing

2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)

	Add new ansible-inventory-generic-mode (Bug#23762)

	* lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.

2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Fix ifdef-vs-if typo with RANDR13_LIBRARY

	* src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
	This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
	https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html

2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Port to platforms where char * has top bit set

	This fixes a five-year-old FIXME comment.  Although I don’t know
	of a platform where this is a problem in practice, better safe
	than sorry.
	* src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
	as it is now an integer, not char *.
	(store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
	this is a file offset and EMACS_INT is better if --with-wide-int.
	If SUBRP, simply store the offset rather than negating it and
	converting it to char *.
	* src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.

2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	Remove recursion from store_function_docstring

	* src/doc.c (store_function_docstring):
	Refactor to avoid the need for C-level recursion.

2016-06-14  Ken Brown  <kbrown@cornell.edu>

	Remove system-specific -I switch from Cygwin-w32 build

	Suggested by Eli Zaretskii in discussion of bug#18302.

	* src/image.c [HAVE_NTGUI]: Remove the unused macro
	PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
	"X11/xpm.h".

	* configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
	"noX/xpm.h".  Don't add a -I switch to CPPFLAGS.

2016-06-14  Noam Postavsky  <npostavs@gmail.com>

	Make python.el work in Emacs 24

	* lisp/progmodes/python.el: Bump version.
	(python-define-auxiliary-skeleton): Only use format-message if
	fbound (Bug#23126).

2016-06-13  Ken Brown  <kbrown@cornell.edu>

	Avoid compiler warning

	* src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
	'type_CtrlAlt'.

2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>

	Call tzset after setting TZ

	* src/editfns.c (tzlookup): Call tzset after setting TZ, so that
	the setting change propagates into Emacs local time (Bug#23600).
	(emacs_setenv_TZ): Clarify comments.

2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>

	Update texinfo.tex

	* doc/misc/texinfo.tex: Update from gnulib.

2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>

	New macro GNUC_PREREQ for GCC version

	* src/conf_post.h (GNUC_PREREQ): New macro.
	Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
	macro instead, for clarity and consistency.
	(PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
	if glibc, since non-GNU platforms don’t necessarily support GNU
	printf formats.
	(ATTRIBUTE_FORMAT_PRINTF): Use it.

2016-06-12  Nicolas Petton  <nicolas@petton.fr>

	* lisp/emacs-lisp/seq.el (seq-drop): Better list implementation

2016-06-12  Eli Zaretskii  <eliz@gnu.org>

	Fix printf-related compilation warnings on MinGW

	* src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
	'__ms_printf__', not '__gnu_printf__', as the latter is not what
	MS 'printf' supports, and causes bogus compilation warnings.
	* src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
	doesn't support the "ll" modifier.

2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>

	emacs_strerror cleanups

	* src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
	no longer needed, now that emacs_strerror is declared by lisp.h.
	* src/coding.c (emacs_strerror): Remove; moved to emacs.c.
	* src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
	to lisp.h.
	* src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
	convert result string; this is now the caller’s responsibility,
	as some need conversion and others don’t.
	* src/fileio.c (report_file_errno, report_file_notify_error):
	Use emacs_strerror rather than rolling it ourselves.
	* src/lisp.h (emacs_strerror): Move decl here from coding.h.
	* src/lread.c (dir_warning): Just call emacs_strerror rather than
	both strerror and emacs_strerror.  Convert its result from
	locale-coding-system, since it no longer does that conversion.
	* src/sound.c (sound_perror):
	* src/sysdep.c (emacs_perror, str_collate):
	Use emacs_strerror, not strerror.

2016-06-10  David Reitter  <david.reitter@gmail.com>

	Prevent compiler warning for unused arguments

	* lisp/international/ucs-normalize.el
	(ucs-normalize-hfs-nfd-pre-write-conversion):
	Prevent compiler warning for unused arguments, add comment.

2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>

	Catch malloc_get_state, malloc_set_state failure

	This should help insulate Emacs better from configuration screwups.
	Future versions of the GNU C library are planned to deprecate
	these functions, but will continue to support them in
	already-built-and-dumped Emacs executables.
	* src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
	Abort if malloc_set_state fails.
	(alloc_unexec_pre) [DOUG_LEA_MALLOC]:
	Report malloc_get_state failure, and exit.

2016-06-10  Eli Zaretskii  <eliz@gnu.org>

	Show returned value after gdb-mi "finish" command

	* lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
	"Value returned" message in response to "finish", when not
	produced by GDB/MI.  (Bug#23720)

2016-06-10  David Reitter  <david.reitter@gmail.com>

	Simplify pre-write-conversion for utf-8-hfs coding system

	* lisp/international/ucs-normalize.el
	(ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.

	May address an issue where Emacs consumed large amounts of CPU
	because of neverending toolbar updating (which was caused
	by, but also called this function).

2016-06-09  Martin Rudalics  <rudalics@gmx.at>

	Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"

	* lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
	to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
	Monnier.  (Bug#19185, Bug#20398)

	This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.

	That commit did more harm than good (Bug#23571).

2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>

	Port __builtin_assume_aligned to Sun C 5.13

	* src/conf_post.h (__builtin_assume_aligned):
	Fix typo: the extra arg did not conform to C99.

2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer getsockopt to getpeername on non-MS-Windows

	* admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
	* configure.ac: Don’t check for getpeername.
	* src/process.c (wait_reading_process_output) [!WINDOWSNT]:
	Use getsockopt even if not GNU/Linux, as the platforms where
	getsockopt used to hang are no doubt long dead.

2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>

	Fix XFASTINT of non-fixnum in process status

	* src/process.c (decode_status): 3rd arg is now Lisp_Object *,
	not int *, and is not decoded.  All uses changed.
	(status_message): Do not assume ‘failed’ code is an integer.
	* src/process.h: Document codes better.

2016-06-09  Glenn Morris  <rgm@gnu.org>

	Make messcompat.el obsolete.

	* lisp/obsolete/messcompat.el: Move here from lisp/gnus.
	* doc/misc/message.texi (Compatibility): Remove section.

2016-06-09  Glenn Morris  <rgm@gnu.org>

	Leading "*" in the doc of defvars is long obsolete.

	* lisp/plstore.el (plstore-encrypt-to):
	* lisp/cedet/semantic/lex-spp.el
	(semantic-lex-spp-macro-max-length-to-save):
	* lisp/cedet/semantic/symref.el (semantic-symref-tool):
	* lisp/cedet/semantic/bovine/el.el
	(semantic-elisp-store-documentation-in-tag):
	* lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
	(wisent-expected-conflicts):
	* lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
	* lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
	* lisp/gnus/gnus-group.el (gnus-group-listing-limit):
	* lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
	(gnus-browse-menu-hook):
	* lisp/gnus/message.el (message-shoot-gnksa-feet):
	* lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
	* lisp/gnus/mm-util.el (mm-extra-numeric-entities):
	* lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
	* lisp/gnus/mml.el (mml-generate-multipart-alist):
	* lisp/gnus/nndraft.el (nndraft-required-headers):
	* lisp/gnus/nnheader.el (nnheader-max-head-length)
	(nnheader-head-chop-length, nnheader-file-name-translation-alist)
	(nnheader-directory-separator-character)
	(nnheader-pathname-coding-system):
	* lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
	(nnmail-active-file-coding-system):
	* lisp/gnus/nnrss.el (nnrss-file-coding-system):
	* lisp/gnus/nntp.el (nntp-record-commands):
	* lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
	(gnus-score-mode-hook, gnus-score-menu-hook):
	* lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
	(rfc2047-allow-irregular-q-encoded-words)
	(rfc2047-allow-incomplete-encoded-text):
	* lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
	* lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
	* lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
	* lisp/net/pop3.el (pop3-password):
	* lisp/play/animate.el (animate-n-steps):
	* lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
	Convert from defvar with leading * to defcustom.


	* lisp/emulation/viper-init.el (viper-heading-end):
	* lisp/gnus/mm-url.el (mm-url-html-entities):
	* lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
	* lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
	* lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.

	* lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
	(message-from-style, message-interactive, message-indentation-spaces)
	(message-signature, message-signature-file):
	Remove settings that match the defaults.
	(message-setup-hook, message-mode-hook, message-default-headers)
	(message-send-hook, message-send-mail-function):
	Just use setq rather than redefining.

	* lisp/gnus/nnrss.el (nnrss):
	* lisp/mail/rfc2047.el (rfc2047):
	* lisp/play/animate.el (animate): New custom groups.

2016-06-09  Glenn Morris  <rgm@gnu.org>

	Remove obsolete leading * from defcustom, defface doc strings.

	* lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
	* lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
	* lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
	* lisp/cedet/semantic/decorate/include.el:
	* lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
	* lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
	* lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
	* lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
	* lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
	* lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
	* lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
	* lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
	* lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
	* lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
	* lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
	* lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
	* lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
	* lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
	* lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
	* lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
	* lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
	* lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
	* lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
	* lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
	* lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
	* lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
	Remove obsolete leading * from defcustom, defface doc strings.

2016-06-09  Eli Zaretskii  <eliz@gnu.org>

	Fix copying text properties by 'format'

	* src/editfns.c (styled_format): Fix copying text properties from
	the format specification to the produced string representation.
	(Bug#23730)
	(Fformat) Doc fix.

	* doc/lispref/strings.texi (Formatting Strings): Document that
	text properties from the format specifiers are also copied to the
	produced string.

2016-06-09  Alan Mackenzie  <acm@muc.de>

	Handle C++ raw strings.

	* lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
	(c-depropertize-raw-strings-in-region,
	c-before-change-check-raw-strings)
	(c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
	functions.

	* lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
	c-font-lock-raw-strings.
	(c-font-lock-raw-strings): New function.

	* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
	c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
	into the values for C, C++, and Objective C.
	(c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
	the C++ value.

	* lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
	(c-depropertize-CPP): New function, extracted from
	c-neutralize-syntax-in-and-mark-CPP.
	(c-neutralize-syntax-in-and-mark-CPP): Remove the call to
	c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
	of the function.
	(c-after-change): Set c-old-BEG and c-old-END to the current values of
	c-new-BEG and c-new-END.

2016-06-09  Daiki Ueno  <ueno@gnu.org>

	epg: don't use obsolete function

	* lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
	redundant configuration check, which is now done in
	`epg-make-context'.

2016-06-09  Daiki Ueno  <ueno@gnu.org>

	epg: don't start pinentry if it is useless

	* lisp/epg.el (epg--start): Don't start pinentry server if the
	session is non-interactive or pinentry-mode is set.

2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>

	Replace IF_LINT by NONVOLATILE and UNINIT

	Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
	* .dir-locals.el (c-mode): Adjust to macro changes.
	* src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
	(IF_LINT): Remove.  All uses replaced by the new macros.

2016-06-08  Michal Nazarewicz  <mina86@mina86.com>

	Remove ‘ert-with-function-mocked’ macro in favor of ‘cl-letf’ macro

	* lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
	in favor of ‘cl-letf’ macro which is more generic.  All existing
	uses are migrated accordingly.  The macro has not been included in
	an official release yet so it should be fine to delete it.

2016-06-08  Glenn Morris  <rgm@gnu.org>

	* test/lisp/emacs-lisp/package-tests.el
	(package-test-update-archives-async): Try re-enabling on hydra.

2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>

	* src/fileio.c (auto_save_error): Omit unused local.

2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify overflow check via INT_SUBTRACT_WRAPV

	* src/editfns.c (check_tm_member): Simplify integer overflow check.

2016-06-07  Glenn Morris  <rgm@gnu.org>

	Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)

	* test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
	(connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
	Ensure gnutls-serv process gets killed.
	(echo-server-nowait, connect-to-tls-ipv4-nowait):
	Limit the amount of time we might wait.

2016-06-07  Glenn Morris  <rgm@gnu.org>

	Reduce allout.el's pollution of the namespace.

	* lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
	Keep old name as obsolete alias.
	(allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
	(allout-solicit-char-in-string)
	(allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
	Rename to add an "allout-" prefix.

2016-06-07  Glenn Morris  <rgm@gnu.org>

	* configure.ac (emacs_config_features): Add CANNOT_DUMP.

2016-06-07  Glenn Morris  <rgm@gnu.org>

	Misc small webjump updates.

	* lisp/net/webjump.el (webjump): Add custom group.
	(webjump-sample-sites): Make it a constant.
	Remove explicit, old list of GNU ftp mirrors.
	(webjump-state-to-postal-alist): Make it a constant.
	(webjump-sites): Make it a defcustom.
	(webjump-to-iwin): Update for changed remote service.

2016-06-07  Glenn Morris  <rgm@gnu.org>

	Do not hard-code port for package test server.  (Bug#23708)

	* test/lisp/emacs-lisp/package-resources/package-test-server.py:
	Do not hard-code port.
	* test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
	Update for the above change.

2016-06-07  Tino Calancha  <f92capac@gmail.com>

	* lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)

2016-06-07  Glenn Morris  <rgm@gnu.org>

	* src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)

2016-06-07  Tino Calancha  <f92capac@gmail.com>

	* lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
	Fix non-file-visiting-buffer case.  (Bug#22678)

2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Port --enable-gcc-warnings to clang 3.7.0

	* configure.ac: Add -Wno-tautological-compare to avoid bogus
	warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
	seem to be needed, at least in Fedora 23 x86-64.

2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Use __builtin_assume_aligned on untagged Lisp vals

	* src/conf_post.h (__has_builtin, __builtin_assume_aligned):
	New macros, for compilers not already defining them.
	(__has_builtin___builtin_assume_aligned): New macro.
	* src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
	This shrinks text space by 0.2% on x86-64 with GCC 6.1.

2016-06-07  Glenn Morris  <rgm@gnu.org>

	* lisp/help-fns.el (describe-function-1): Avoid reporting advised
	aliases as the type of their targets.

2016-06-07  Tino Calancha  <f92capac@gmail.com>

	* lisp/simple.el (process-menu-mode, list-processes--refresh):
	Include PID.  (Bug#21725)

2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	6e3adf8 Fix crash in syntax.c after GC
	973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
	9d5cceb Fix doc string quoting
	0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
	a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.

2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
	20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
	a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
	07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...

2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>

	Use standard Unicode names for Thai, Lao

	* lisp/language/lao-util.el, lisp/language/thai-util.el:
	Don’t override standard Unicode character name (Bug#23698).

2016-06-06  Glenn Morris  <rgm@gnu.org>

	* lisp/man.el (Man-reference-regexp, Man-default-man-entry):
	Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.

2016-06-06  Michael Albinus  <michael.albinus@gmx.de>

	Some fixes in filenotify-tests.el for cygwin

	* test/lisp/filenotify-tests.el (file-notify--test-timeout):
	Reintroduce value for cygwin, it's needed on slow systems.
	(file-notify--wait-for-events): Move up definition.
	(file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
	(file-notify--test-with-events-check, file-notify--test-with-events)
	(file-notify-test08-watched-file-in-watched-dir):
	Use :random rather than `random.
	(file-notify-test06-many-events): Do not skip for cygwin.

2016-06-05  Juri Linkov  <juri@linkov.net>

	* src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.

	If non-nil, operate on multiple chunks.  (Bug#23655)

	* src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.

2016-06-05  Juri Linkov  <juri@linkov.net>

	* lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"

	to interactive spec to handle shift-selection.  (Bug#23642)

2016-06-05  Michael Albinus  <michael.albinus@gmx.de>

	Improve robustness of filenotify-tests.el (Bug#23618)

	* test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
	(file-notify--test-no-descriptors-explainer)
	(file-notify--test-cleanup-p): New defuns.
	(file-notify--test-cleanup): Don't check for
	`file-notify--test-event' anymore, that's done in
	`file-notify--test-no-descriptors'.
	(file-notify--test-with-events-check)
	(file-notify--test-with-events): Handle the `random' marker.
	(file-notify--test-with-events-explainer): Improve readability.
	(file-notify-test00-availability)
	(file-notify-test01-add-watch, file-notify-test02-events)
	(file-notify-test03-autorevert)
	(file-notify-test04-file-validity)
	(file-notify-test05-dir-validity)
	(file-notify-test06-many-events, file-notify-test07-backup)
	(file-notify-test08-watched-file-in-watched-dir)
	(file-notify-test09-sufficient-resources): Check also
	`file-notify--test-cleanup-p'.
	(file-notify-test04-file-validity)
	(file-notify-test05-dir-validity): Use `ignore' as handler.
	(file-notify-test05-dir-validity)
	(file-notify-test06-many-events): Delete directory finally.
	(file-notify-test08-watched-file-in-watched-dir): Add `random' marker.

2016-06-05  Stephen Berman  <stephen.berman@gmx.net>

	man.el: Fix links on hyphenated words (bug#23647)

	* lisp/man.el (Man-bgproc-sentinel): Make links work on
	hyphenated words.

2016-06-05  K. Handa  <handa@gnu.org>

	Add category 'j' to more characters.

	* lisp/international/characters.el: Add category 'j' (Japanese)
	to characters in japanese-jisx0213.2004-1.

2016-06-04  Tino Calancha  <f92capac@gmail.com>

	isearch-edit-string resumes multi isearches

	* lisp/isearch.el (with-isearch-suspended): Remember and restore
	multi-isearch variables.  (Bug#21663)

2016-06-04  Eli Zaretskii  <eliz@gnu.org>

	Fix Eshell display when RTL characters are involved

	* lisp/eshell/esh-mode.el (eshell-mode): Set
	'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)

2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Make ses-jump with completing input.

	* lisp/ses.el (ses-jump): Make symbol input completing against list of
	  named cells.

2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	Port angle-bracket TZ settings to MS-Windows

	* doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
	lack of support for numeric time zone abbreviations.
	* src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
	to MS-compatible syntax if possible, and to "ZZZ" otherwise.
	Problem reported by Kazuhiro Ito (Bug#23600).

2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid delving into Git internals for version

	* lisp/loadup.el (exec-path): Set it to nil later, so that
	emacs-repository-get-version can invoke git commands in the PATH.
	* lisp/version.el (emacs-repository--version-git-1): Remove.
	(emacs-repository-get-version): Let Git do it rather than
	delving into Git internals.

2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less

2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix emacs-repository-get-version with packed .git

	* lisp/version.el (emacs-repository-get-version):
	Parse .git/packed-refs if it exists.
	Problem reported by Martin Rudalics in:
	https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html

2016-06-01  Michael Albinus  <michael.albinus@gmx.de>

	Minor change in tramp.texi

	* doc/misc/tramp.texi (Password handling): Do not discuss
	anymore how to get password-cache.el.  It is bundled with
	Emacs.

2016-06-01  Alan Mackenzie  <acm@muc.de>

	Correct fontification and indentation of C++'s "constexpr" expressions

	* lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
	(c-modifier-kwds): Add "constexpr".

2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>

	Cosmetic change to kinsoku-eol.  (tiny change)

	* lisp/international/kinsoku.el (kinsoku-eol): Make the
	order of characters match with the comments.

2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>

	Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)

	* lisp/language/japan-util.el (japanese-kana-table): Add an
	entry for HIRAGANA ITERATION MARK (U+309D).
	(japanese-alpha-numeric-table): Fix docstring.

2016-05-31  K. Handa  <handa@gnu.org>

	Fix incomplete handling of translation table in a coding system.

	* src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
	is an alist, return a character or a vector of character.
	(produce_chars): Adjust for the above change.
	(consume_chars): Likewise.

2016-05-31  Michael Albinus  <michael.albinus@gmx.de>

	Improve robustness for out-of-band copy in Tramp

	* lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
	* lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
	* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
	Cosmetic changes.

	* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
	Use local `default-directory'.  Simplify command to send.
	Don't check return code, this was already done in
	`tramp-process-actions'.
	(tramp-get-inline-coding): Don't set `default-directory'.

	* lisp/net/tramp.el (tramp-action-out-of-band):
	Throw `out-of-band-failed'.
	(tramp-process-actions): Handle `out-of-band-failed'.
	(tramp-call-process, tramp-call-process-region):
	Use local `default-directory'.

2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	788c9b6 ; Spelling fix
	25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
	0992ec3 Correct cl-flet usage (Bug#22317)
	50caae3 Release MH-E manual version 8.6
	602bb40 Update MH-E's documentation about HTML renderers
	89018f0 Fx the we->the typo
	845ee57 Restore frames into the current display by default
	ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
	01c3cd1 etc/TODO: Remove out-of-place issue
	5e18486 Clarify doc string of 'file-name-sans-extension'
	bffda22 Fix the MSDOS build
	f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
	1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
	f7ffc4b Fix infloop in 'number-sequence'
	4ab2673 ; Spelling and punctuation fixes in comments
	71c152e * lisp/emacs-lisp/find-func.el (find-function-library):

2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/autoload.el: Use radix-tree.

	 (autoload--make-defs-autoload): Rewrite.
	(autoload--split-prefixes-1): Remove.
	(autoload-def-prefixes-max-entries): Rename from
	autoload-defs-autoload-max-size.
	(autoload-popular-prefixes): Remove.
	(autoload-def-prefixes-max-length): New const.

	* lisp/emacs-lisp/radix-tree.el: New file.

2016-05-30  Ken Brown  <kbrown@cornell.edu>

	* src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.

2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	Omit IF_LINT code that no longer seems needed

	Nowadays GCC is smarter, or the Emacs code has mutated, or both,
	and now is as good a time as any to remove uses of IF_LINT that
	now seem to be unnecessary.
	* lib-src/emacsclient.c (set_local_socket):
	* lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
	* src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
	* src/casefiddle.c (casify_region):
	* src/charset.c (load_charset_map):
	* src/coding.c (decode_coding_object, encode_coding_object):
	* src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
	(cons_to_unsigned, cons_to_signed):
	* src/frame.c (make_frame, x_set_frame_parameters):
	* src/keyboard.c (read_event_from_main_queue):
	* src/regex.c (regex_compile):
	* src/syntax.c (back_comment):
	* src/window.c (Frecenter):
	* src/xfaces.c (Fx_list_fonts):
	Remove IF_LINT that no longer seems necessary.
	* src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
	* src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
	a pragma dance to pacify GCC -Wclobbered.
	* src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.

	* src/xterm.c (x_connection_closed): Now _Noreturn, which should
	mean we do not need IF_LINT any more.
	(x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
	at the end, to forestall warnings from older compilers.

2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	Port --enable-gcc-warnings to Cygwin, FreeBSD

	These platforms have a bug where _Noreturn is empty when 'lint' is
	defined.  Problem reported by Ken Brown (Bug#23640).
	* configure.ac (GCC_LINT): Rename from 'lint'.
	* src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.

2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	Update from gnulib

	This incorporates:
	2016-05-30 Use GCC_LINT, not lint
	2016-05-29 secure_getenv: Port to many more platforms.
	* doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
	* m4/secure_getenv.m4: Copy from gnulib.

2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/pcase.el: Undo last change's spurious changes

	* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.

2016-05-30  Ken Brown  <kbrown@cornell.edu>

	* src/regex.c (IF_LINT): Remove; it’s in conf_post.h

2016-05-30  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#23631 for Tramp

	* lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
	* lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
	Fix caching problems.

	* lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.

	* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
	Move duplicate deletion ...
	(tramp-smb-handle-file-name-all-completions): ... here.

	* lisp/net/tramp.el (tramp-handle-file-name-completion):
	Handle `completion-ignored-extensions'.  (Bug#23631)

	* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
	Test also `completion-regexp-list' and `completion-ignored-extensions'.

2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)

	* lisp/recentf.el (recentf-dialog-mode-map): Remove unnecessary mapping.

2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Fix up remainder of the mml property change

	* lisp/gnus/message.el (message-send-mail): Use the renamed
	mml-buffer-substring-no-properties-except-some function.
	(message-send-news): Ditto.

2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow preserving EXIF rotations when sending HTML messages

	* lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
	rotation if you have exiftool installed and the image format
	supports it.
	(mml-expand-html-into-multipart-related): Use it.
	(mml-buffer-substring-no-properties-except-some): Renamed and
	copy display properties, too.

2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Make message-toggle-image-thumbnails work better

	* lisp/gnus/message.el (message-toggle-image-thumbnails): Use
	`insert-image' instead of `put-image' to make it possible to
	edit the resulting text in a sensible manner.

2016-05-29  Alan Mackenzie  <acm@muc.de>

	Rationalize the use of c-new-BEG and c-new-END in CC Mode.

	Remove the now redundant c-old-BOM and c-old-EOM.

	* lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
	meaning.
	(c-macro-cache-no-comment): New variable.
	(c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
	the new c-macro-cache-no-comment.
	(c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
	(c-no-comment-end-of-macro): New function.

	* lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
	c-extend-font-lock-region-for-macros to C/C++/ObjC value.

	* lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
	(c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
	c-old-BOM/EOM.
	(c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
	a cons for the new region, since the function is now called as an after-change
	function.  No longer adjust c-new-END for the length of inserted/deleted
	text.  Move the size restrictions on macros to here from
	c-neutralize-syntax-in-and-mark-CPP.
	(c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
	Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
	upper boundary to "neutralize" syntactically obtrusive characters.
	(c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
	one.

2016-05-28  Ken Brown  <kbrown@cornell.edu>

	Avoid compiler warnings

	* src/cygw32.c (chdir_to_default_directory): Use "void" as
	argument list.  Use SSDATA instead of SDATA.

	* src/unexcw.c (fixup_executable): Use %td as format specifier for
	argument of type ptrdiff_t.  Use %zu for argument of type size_t.

2016-05-28  Eli Zaretskii  <eliz@gnu.org>

	Fix 'next-line' and 'previous-line' during keyboard macro

	* lisp/simple.el (line-move-visual): Handle the case when point
	moves outside of the visible portion of the buffer while executing
	a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)

2016-05-28  Alan Mackenzie  <acm@muc.de>

	C++ Mode: attribute in class declaration fouls up indentation.  Fix!

	* lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
	back over noise clauses and attribute clauses.

	* lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.

2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>

	Prevent locked-file errors in Rmail

	* lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
	calling 'rmail-insert-inbox-text'.  Unlock if
	'rmail-insert-inbox-text' doesn't modify buffer.
	(rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)

2016-05-28  Michael Albinus  <michael.albinus@gmx.de>

	Sync with Tramp repository.

	* lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
	* lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
	* lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
	Create BUFFER if it doesn't exist.  Reported by Nikolay
	Kudryavtsev <nikolay.kudryavtsev@gmail.com>.

	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
	(tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
	(tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
	(tramp-gvfs-get-directory-attributes)
	(tramp-gvfs-get-root-attributes)
	(tramp-gvfs-get-file-attributes): New defun.
	(tramp-gvfs-handle-file-attributes)
	(tramp-gvfs-handle-file-name-all-completions): Use them.
	(tramp-gvfs-handle-file-directory-p): Use `file-truename'.
	(tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
	(tramp-gvfs-send-command): Add locale settings to `process-environment'.
	(top): Suppress D-Bus error messages during zeroconf initialization.

	* lisp/net/tramp.el (tramp-unknown-id-string)
	(tramp-unknown-id-integer): New defconst.
	(tramp-check-cached-permissions)
	* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
	* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
	(tramp-convert-file-attributes, tramp-get-remote-uid)
	(tramp-get-remote-gid): Use them.

	* lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
	Rename from `tramp-color-escape-sequence-regexp'.
	(tramp-sh-handle-insert-directory)
	(tramp-convert-file-attributes): Adapt callees.
	(tramp-device-escape-sequence-regexp): New defconst.
	(tramp-wait-for-output): Use it.  Reported by Matthías Páll
	Gissurarson <icetritlo@gmail.com>.

	* lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
	Simplify.

	* test/lisp/net/tramp-tests.el (tramp-test26-process-file)
	(tramp-test28-shell-command):
	Use `tramp-display-escape-sequence-regexp'.

2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t document declare-function internals

	Suggested by Stefan Monnier in:
	https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
	* doc/lispref/functions.texi (Declaring Functions):
	* lisp/subr.el (declare-function):
	* lisp/emacs-lisp/bytecomp.el:
	(byte-compile-macroexpand-declare-function):
	Document as (fn file &optional arglist fileonly)
	even though it is really (fn file &rest args).

2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	* src/puresize.h (BASE_PURESIZE): Increase it some more.

2016-05-27  Glenn Morris  <rgm@gnu.org>

	* src/puresize.h (BASE_PURESIZE): Increase it by a little bit.

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
	avoid build failure.

2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	Port to platforms where rlim_max < 0

	* src/emacs.c (main): Do not treat a negative rlim_max as a limit;
	this can happen if a special value like RLIM_INFINITY is negative.

2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	Robustify stack-size calculation

	* src/emacs.c: Include getpagesize.h.
	(main): Check for integer overflow when computing stack size.
	Round new rlim_cur to pagesize boundary on all platforms, as this
	is easy and would have prevented Bug#23622.  If setrlimit
	fails, use current limit to determine re_max_failures.

2016-05-27  Ken Brown  <kbrown@cornell.edu>

	Adjust filenotify-tests on Cygwin

	* test/lisp/filenotify-tests.el (file-notify--test-timeout):
	Remove special case for Cygwin.
	(file-notify-test07-backup): Update expected results on Cygwin.

2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	Improve define-function omitted-arg documentation

	* doc/lispref/functions.texi (Declaring Functions):
	* lisp/subr.el (declare-function):
	Be clearer when documenting omitted args for define-function.

2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.

2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/subr.el (definition-prefixes): Expand docstring

	* lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
	Remove unused function.

2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>

	Fix broken viper deactivation

	* lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
	  args to advice-remove.
	  (viper--advice-add): Use cons not list.

	Addresses bug#23625

2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>

	Preserve buffer point in windows by default (Bug#4041).

	* doc/lispref/windows.texi: Mention new default.
	* etc/NEWS: Mention new default.
	* lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.

2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix byte-compiler pacification for declare-function

	Problem reported by Michael Heerdegen in:
	https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
	* lisp/emacs-lisp/bytecomp.el:
	(byte-compile-macroexpand-declare-function):
	Revert signature to previous value.
	* lisp/subr.el (declare-function): Change signature to
	match the reverted signature used in the byte compiler.

2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Update texinfo.tex

	This fixes Bug#23611 in a different (and presumably better) way.
	* doc/misc/texinfo.tex: Update from gnulib.

2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify 'make check-declare'

2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Repair damage from emacs-25 merge

	* test/lisp/character-fold-tests.el:
	Remove, as it was renamed to test/lisp/char-fold-tests.el.
	* test/lisp/emulation/viper-tests.el:
	Rename from test/automated/viper-tests.el.

2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
	a4d882c Correct old cell name unbinding when renaming cell.
	6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
	0be6725 Document problem: slow screen refresh on missing font.
	853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
	5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
	3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
	42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
	3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
	897fb6f ; 'Changes from the pre-25.1 API' copyedits
	825ca25 Rename vc-stay-local back to vc-cvs-stay-local
	4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
	b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
	2e589c0 Fix cross-references between manuals
	f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
	906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
	bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
	503e752 ; * CONTRIBUTE: Fix a typo.
	fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
	bdfbe6d ; * admin/release-process: Copyedits.
	44a6aed ; * test/automated/data-tests.el: Standardize license notice.
	c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
	df4a14b Add automated test for viper-tests.el
	c0139e3 Fix viper undo breakage from undo-boundary changes
	920d76c Fix reference to obsolete fn ps-eval-switch
	18a9bc1 Do not trash symlinks to init file
	2671179 Don't print the "decomposition" line for control chars in wha...
	869092c Bring back xterm pasting with middle mouse
	5ab0830 Provide workaround for xftfont rendering problem
	c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
	30989a0 Mention GTK+ problems in etc/PROBLEMS
	421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
	dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
	e41a5cb Avoid errors with Czech and Slovak input methods
	d4ae6d7 epg: Add a way to detect gpg1 executable for tests
	ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
	6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
	c45d9f6 Improve documentation of 'server-name'
	3b5e38c Modernize ASLR advice in etc/PROBLEMS
	1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.

2016-05-26  Eli Zaretskii  <eliz@gnu.org>

	Avoid byte-compiler warnings due to 'declare-function'

	* lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
	(w32-get-valid-locale-ids):
	* lisp/progmodes/js.el (ido-mode): Specify arglist in
	'declare-function' forms, to avoid byte-compiler warnings.

2016-05-26  Glenn Morris  <rgm@gnu.org>

	* lisp/info.el (Info-default-directory-list): Don't check /share,info.

	No-one puts info pages there.  If /share does exist, it's likely to
	contain remote file systems where access could be slow.

2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	2d76405 etc/AUTHORS: Update the AUTHORS file

2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	06cb28f Fix bug#23462: Crash when iconifying frame on OS X.

2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	939eb75 Fix bug in default setting of 'ps-paper-type'

2016-05-26  Glenn Morris  <rgm@gnu.org>

	* lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.

2016-05-26  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#23614.

	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
	Let-bind `process-coding-system-alist' in order to suppress
	the value for "cmdproxy".

	* lisp/net/tramp.el (tramp-encoding-shell):
	`w32-shell-name' is a function.
	(tramp-encoding-command-switch)
	(tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.

	* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
	Suppress some tests on MS Windows.  (Bug#23614)

2016-05-26  Stephen Berman  <stephen.berman@gmx.net>

	hl-line.el: Fix flickering of highlighted line (bug#23510)

	* lisp/hl-line.el (hl-line-maybe-unhighlight)
	(global-hl-line-highlight-all)
	(global-hl-line-maybe-unhighlight): New functions.
	(hl-line-overlay-buffer): New variable.
	(hl-line-mode): Use it.  Replace hl-line-unhighlight on
	pre-command-hook by hl-line-maybe-unhighlight on
	post-command-hook, to prevent hl-line from flickering.
	Adjust document string.
	(global-hl-line-mode): Use global-hl-line-highlight-all to
	simultaneously highlight the current line in all live windows.
	Replace global-hl-line-unhighlight on pre-command-hook by
	global-hl-line-maybe-unhighlight on post-command-hook, to
	prevent global-hl-line from flickering.  Remove
	global-hl-line-unhighlight from change-major-mode-hook on
	disabling the mode.  Adjust document string.

2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	Make autoloads populate a new definition-prefixes table

	* lisp/subr.el (definition-prefixes): New hash table.
	(register-definition-prefixes): New function.

	* lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
	(autoload--split-prefixes-1, autoload--split-prefixes)
	(autoload--make-defs-autoload): New functions.
	(autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
	(autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
	(update-directory-autoloads): Don't touch loaddefs.el if the set of
	autoloads hasn't changed (i.e. if only the timestamp would change).

	* lisp/loadup.el: Purify definition-prefixes.

	* lisp/w32-fns.el: Keep name space clean.
	(w32-set-default-process-coding-system): Rename from
	set-default-process-coding-system.
	(w32-set-system-coding-system): Rename from set-w32-system-coding-system.

2016-05-24  Ken Brown  <kbrown@cornell.edu>

	Allow network-stream-tests to work for out-of-tree builds

	* test/lisp/net/network-stream-tests.el
	(network-stream-tests--datadir): New defconst.
	(make-tls-server): Use it.

2016-05-24  Ken Brown  <kbrown@cornell.edu>

	Fix failing echo-server-nowait test

	* test/lisp/net/network-stream-tests.el (echo-server-nowait):
	Specify IPv4 for the client, to match the family of the server.
	(Bug#23606)

2016-05-24  Ken Brown  <kbrown@cornell.edu>

	Allow shr-tests to work for out-of-tree builds

	* test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
	(shr-test, rendering): Use it.

2016-05-24  Ken Brown  <kbrown@cornell.edu>

	Update allowable arguments for open-network-stream

	* src/coding.c (Ffind_operation_coding_system): Allow t as a
	target for open-network-stream.  (Bug #23540)

2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>

	Make js-mode's syntax highlighting work again

	* lisp/progmodes/js.el (js-mode): Fix the assigned
	font-lock-defaults value (bug#23603).

2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-mode.el: Add minor comments

	(c-change-expand-fl-region): Mark args as unused.

2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/url/url-http.el: Use lexical-binding

	(url-http-simple-after-change-function): Use buffer-size rather than `nd'.
	(url-http-wait-for-headers-change-function): Remove unused var
	`content-length'.
	(url-http): Remove unused vars `host' and `port'.

2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/widget.el (define-widget): Use `declare' (which does work now).

	(widget-plist-member): Mark as obsolete.

2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/image.el: Use lexical-binding

	(image-scaling-factor, imagemagick-types-inhibit)
	(imagemagick-enabled-types): Remove redundant :group.
	(image--get-image): Apply de-Morgan and use car-safe.
	(image-compute-scaling-factor): Use the argument.

2016-05-23  Glenn Morris  <rgm@gnu.org>

	* lisp/image.el (image--get-image): Remove nonsensical code.

	* lisp/image.el (image--get-image): Avoid requiring a library for
	one trivial operation.

2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t use only last protocol from getaddrinfo

	Problem reported by Ken Brown in:
	https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
	* src/process.c (conv_addrinfo_to_lisp): New function.
	(connect_network_socket): Arg is now a list of addrinfos, not
	merely IP addresses.  All uses changed.  Use protocol from
	each addrinfo.
	(Fmake_network_process): Accumulate protocols into addrinfos
	rather than just using the last one found.
	(check_for_dns): Accumulate protocols here, too.
	* src/process.h (struct Lisp_Process): Remove ai_protocol;
	no longer needed.

2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>

	Fix seq requirement that broke bootstrap

	* lisp/image.el (image--get-image): Require seq here, not at the
	top level, to avoid ‘(require seq) while preparing to dump’ while
	bootstrapping.  Suggested by Tino Calancha in:
	https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html

2016-05-22  Nicolas Petton  <nicolas@petton.fr>

	Add missing dependencies to seq.el

	* lisp/emacs-lisp/find-func.el:
	* lisp/ibuffer.el:
	* lisp/image.el: Require seq.

2016-05-22  Alp Aker  <alp@food52.com>

	* src/process.c (SOCK_NONBLOCK): Fix typo.

2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>

	Add completion of colors in CSS mode

	* lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
	from "CSS Color Module Level 3".

	* test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
	Update test.

2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer SOCK_NONBLOCK to O_NONBLOCK

	* src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
	(connect_network_socket): Create the socket with SOCK_NONBLOCK, to
	avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
	SOCK_DGRAM check a bit later, to keep the logic cleaner, as
	the order does not matter here.

2016-05-21  Alan Third  <alan@idiocy.org>

	Fix bug#16856, cursor leaves garbage in fringe on OS X.

	* src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
	being drawn outside the text area.

2016-05-21  Eli Zaretskii  <eliz@gnu.org>

	Fix compiler warnings in the MinGW build

	* configure.ac [mingw32]: Don't add -Wpointer-sign, and add
	-Wno-pointer-sign, to keep the noise level down.

	* nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
	-Wredundant-decls, as that produces a lot of noise due to
	redeclaration of time-related functions by gnulib.
	* nt/runemacs.c (set_user_model_id): Fix argument type of
	'SetCurrentProcessExplicitAppUserModelID'.

	* src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
	declare 'dpyinfo', as it is unused.
	(xpm_load): Fix warnings about pointer signedness.
	* src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
	prototypes.
	(sys_spawnve): Avoid warnings about discarding 'const' qualifier.
	(sys_select): Provide prototype.
	(g_b_init_compare_string_w): Move declaration to file scope.
	* src/w32heap.c (dumped_data_commit): Now static.
	(FREEABLE_P): Avoid warnings about pointer comparison with integer.
	(mmap_realloc): Cast to 'char *' for arithmetic on void pointers.
	* src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
	(evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
	Provide prototypes.
	* src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
	redundant prototypes.
	(w32_get_internal_run_time, map_w32_filename): Provide prototype.
	(init_environment, sys_ctime): Avoid warnings about discarding
	'const' qualifier.
	Include utimens.h.
	(sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
	(sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
	(sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
	prototypes.
	(sys_rename_replace): Use %d to avoid compiler warnings.
	(_wsa_errlist): Make the message text 'const char *', to avoid
	compilation warnings.
	(dynlib_reset_last_error): Move prototype to file scope.
	(w32_get_resource): First argument is now 'const char *'.
	* src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
	(otf_features): Second argument is no 'const char *'.
	* src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
	(x_set_window_size): Remove redundant prototypes.
	(XChangeGC, XGetGCValues, w32_draw_underwave)
	(w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
	(x_calc_absolute_position, x_destroy_window): Now static.
	(menubar_selection_callback): Move prototype to file scope.
	* src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
	declaration.
	(w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
	(w32font_full_name): Fix warnings about implicit conversion of
	'float' to 'double'.
	* src/w32reg.c (w32_get_rdb_resource): Fix warnings about
	discarding 'const' qualifier.
	* src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
	(set_frame_menubar): Remove redundant prototypes.
	(menubar_selection_callback, w32_menu_display_help): Provide
	prototypes.
	(simple_dialog_show): Avoid warnings about discarding 'const'
	qualifier.
	* src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
	(free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
	(x_set_tool_bar_lines, x_set_internal_border_width): Remove
	redundant prototypes.
	(current_popup_menu): Remove redundant declaration.
	(colormap_t): Member 'name' is now 'const char *'.
	(add_system_logical_colors_to_map): Fix signed/unsigned warnings.
	(x_decode_color, x_set_border_pixel)
	(x_clear_under_internal_border, x_set_name, hook_w32_key)
	(reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
	static.
	(w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
	(w32_msg_worker, w32_last_error): Provide prototypes.
	(funhook, lookup_vk_code): Avoid warnings about missing
	parentheses.
	(x_default_font_parameter, Fw32_notification_notify): Avoid
	warnings about discarding 'const' qualifier.
	(Fx_create_frame): Avoid warnings about empty body of 'else'.
	(x_screen_planes): Ifdef away unused function.
	(Fx_show_tip): Remove unused variables.
	(Fw32_battery_status): Avoid warnings about implicit promotion
	from float to double.
	(Fw32_notification_notify): Initialize 'timeout'.
	* src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
	define the TIMER_SETTIME_RUNNING value if it will be used.
	* src/w32notify.c (send_notifications): Ifdef away an empty if
	clause.  Remove unused variable.
	(watch_end, watch_completion): Provide prototypes.
	* src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
	* src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
	warning with pointer signedness.
	* src/gnutls.c (gnutls_x509_crt_get_signature)
	(gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
	don't load them from the GnuTLS library, as they are no longer
	used.
	* src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
	define, as it's unused.
	* src/unexw32.c (open_input_file, open_output_file)
	(close_file_data): Remove redundant prototypes.
	(_start): provide prototype.
	(mainCRTStartup): Move prototype to file level.
	(find_section): Use type-cast to shut up compiler warnings.
	(offset_to_section, relocate_offset): Now static.
	(find_section): First argument is now a 'const char *'.
	(offset_to_section): Ifdef away, as it's unused.
	* src/w32heap.h (find_section): Adjust prototype.
	* src/dynlib.c (dynlib_reset_last_error): Provide prototype.
	* src/dired.c (directory_files_internal_w32_unwind): Avoid
	warnings about missing prototypes.
	(is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
	(directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
	signedness.
	* src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
	Fix warnings about pointer signedness.
	* src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
	unused.
	* src/sysdep.c (_getpid): Remove redundant prototype.
	(sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
	[!MSDOS]: Don't define 'st', it's unused.
	(init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
	(str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
	* src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
	n_to_read, as it is not used.
	(MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
	* src/w32font.h (syms_of_w32font): Remove redundant prototype.
	* src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
	* src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
	not used by DOS_NT builds, to avoid compiler warnings.
	* src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
	declaration.
	* src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
	up compiler warnings.
	* src/w32term.h (x_set_window_size, x_get_focus_frame)
	(x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
	(x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
	(x_free_frame_resources, x_real_positions)
	(display_x_get_resource): Remove redundant prototypes.

	* lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
	(sys_rename, gettimeofday): Provide prototypes.
	* lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
	declarations.
	* lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
	(xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
	(close_winsock, initialize_sockets, w32_set_user_model_id)
	(w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
	prototypes.
	(w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
	difference.
	(w32_set_user_model_id): Update prototype of
	SetCurrentProcessExplicitAppUserModelID to avoid compiler
	warnings.
	(start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
	shut up compiler warnings.
	* lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.

2016-05-21  Eli Zaretskii  <eliz@gnu.org>

	Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'

	* src/xdisp.c (move_it_in_display_line_to): Don't assume we can
	wrap on a whitespace character if it's followed by another
	whitespace character.  When returning under WORD_WRAP for a screen
	line that is continued, restore to wrap point when atpos/atx
	position would be displayed on the next screen line due to
	line-wrap.  (Bug#23570)

2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>

	* lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)

2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>

	Added tests for dos unibyte decoding.

	The underlying bug was previously fixed by Eli Zaretskii in commit
	c8109d9c4057d8cac79e2c139758cadd410e7446.

2016-05-20  Philipp Stephani  <phst@google.com>

	Fix handling of ‘mouse-on-link-p’.

	If ‘mouse-on-link-p’ returns a string or vector, the first element
	is to be used as new event.  Translation to ‘mouse-2’ should only
	happen if the return value is not a string or vector.  See
	docstring of ‘mouse-on-link-p’ and Bug#23288.

	* lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
	value of ‘mouse-on-link-p’ according to documentation.

	* test/lisp/mouse-tests.el (bug23288-use-return-value)
	(bug23288-translate-to-mouse-2): Tests for Bug#23288.

2016-05-20  Daiki Ueno  <ueno@gnu.org>

	epg: Add a way to detect gpg1 executable for tests

	Fixes bug#23561.

	* test/automated/epg-tests.el
	(epg-tests-program-alist-for-passphrase-callback): New
	constant.
	(epg-tests-find-usable-gpg-configuration): New function,
	renamed from `epg-tests-gpg-usable'.  All callers changed.
	(epg-tests-gpg-usable): Remove.

	* lisp/epg-config.el (epg-config--program-alist): Factor out
	constructor element to...
	(epg-config--configuration-constructor-alist): ...here.
	(epg-find-configuration): Rename FORCE argument to NO-CACHE,
	and add PROGRAM-ALIST argument.

2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>

	Put point at beginning of display-time-world buffer.

	If display-time-world decides to popup vertically from the bottom of the
	frame and scroll-margin is nonzero, the top of the buffer contents are
	hidden due to scroll.
	* lisp/time.el (display-time-world-display): Move point to point-min
	after inserting contents.

2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Allow null entries in face and image cache

	Problem reported by Tino Calancha (Bug#23580).
	* src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
	Don’t assume that the result is non-null.
	* src/xdisp.c (fill_image_glyph_string):
	Restore check that image pointer is non-null.

2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Fix flyspell highlighting

	Problem reported by Jim Meyering (Bug#23575).
	* src/xdisp.c (extend_face_to_end_of_line):
	Fix typo in previous change.

2016-05-18  Eli Zaretskii  <eliz@gnu.org>

	* lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)

2016-05-18  Sam Steingold  <sds@gnu.org>

	python-describe-at-point: add and bind

2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	‘make check-declare’ now chatters less

	* etc/NEWS: Document this.
	* lisp/emacs-lisp/check-declare.el (check-declare-locate):
	Return relative names, not absolute.
	(check-declare-scan, check-declare-verify, check-declare-warn)
	(check-declare-file, check-declare-directory):
	Generate less chatter.  Use relative file names rather than
	absolute.  Don’t give up on computing a good file name for a
	diagnostic merely because the function name was bad.  Make
	malformed declarations more noticeable.  Don’t warn about
	"ext:..." declarations if check-declare-ext-errors is nil.
	(check-declare-errmsg): Remove.
	(check-declare-warn): New optional arg LINE.
	(check-declare-files): Put status into mode line rather than
	chattering.

2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify byte-compiler for byte-compile-macroexpand-declare-function

	* lisp/emacs-lisp/bytecomp.el: Change signature of
	byte-compile-macroexpand-declare-function to match that of
	declare-function.

2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify byte-compiler for with-wrapper-hook

	* lisp/subr.el (subr--with-wrapper-hook-no-warnings):
	New macro, split out from with-wrapper-hook.
	* lisp/abbrev.el (abbrev--default-expand):
	* lisp/minibuffer.el (completion--in-region):
	* lisp/simple.el (buffer-substring--filter):
	* lisp/subr.el (with-wrapper-hook):
	Use it.

2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify byte-compiler in lisp/url

	* lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
	Add decl.

2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	Port --enable-gcc-warnings to GCC 6.1

	* configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
	* lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
	Omit test whether pointer plus a constant equals a null pointer.
	* src/alloc.c (compact_small_strings):
	Avoid pointer arithmetic on null pointers.
	* src/alloc.c (mark_face_cache):
	* src/fontset.c (free_realized_fontsets, Fset_fontset_font):
	* src/fringe.c (draw_fringe_bitmap_1)
	(Fset_fringe_bitmap_face):
	* src/macfont.m (macfont_draw):
	* src/msdos.c (IT_set_face, IT_clear_screen):
	* src/nsfont.m (nsfont_draw):
	* src/nsterm.h (FRAME_DEFAULT_FACE):
	* src/nsterm.m (ns_draw_window_cursor)
	(ns_draw_vertical_window_border, ns_draw_window_divider)
	(ns_dumpglyphs_box_or_relief)
	(ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
	(ns_dumpglyphs_stretch):
	* src/w32term.c (w32_draw_vertical_window_border)
	(w32_draw_window_divider, x_set_mouse_face_gc):
	* src/xdisp.c (estimate_mode_line_height, init_iterator)
	(handle_face_prop, handle_single_display_spec, pop_it)
	(CHAR_COMPOSED_P, get_next_display_element)
	(next_element_from_display_vector, extend_face_to_end_of_line)
	(fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
	* src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
	(lookup_named_face):
	* src/xterm.c (x_draw_vertical_window_border)
	(x_draw_window_divider, x_set_mouse_face_gc):
	Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
	* src/xterm.c (try_window_id):
	Redo loop to convince GCC 6.1 that it is null pointer safe.
	(x_color_cells):
	Use eassume as necessary to pacify GCC 6.1.
	* src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
	(FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
	behavior of the non-_OPT macro, to be used when the result
	might be a null pointer.
	* src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
	[HAVE_WINDOW_SYSTEM]:
	* src/intervals.h (INTERVAL_WRITABLE_P):
	* src/term.c (turn_off_face):
	* src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
	(produce_image_glyph, produce_xwidget_glyph):
	* src/xfaces.c (lookup_named_face):
	Remove unnecessary test for null pointer.
	* src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
	* src/process.c (would_block): New function.
	(server_accept_connection, wait_reading_process_output, send_process):
	Use it.
	* src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
	Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
	might be null.

2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from gnulib

	This incorporates:
	2016-05-17 manywarnings: update for GCC 6.1
	2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
	* m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.

2016-05-16  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
	Include more details on hydra.

2016-05-16  Alan Mackenzie  <acm@muc.de>

	Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master

2016-05-16  Alan Mackenzie  <acm@muc.de>

	Fix spurious fontification of "for (; a * b;)" in CC Mode.

	This fixes bug #7918 (again).

	* lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
	(c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
	cons cell - additionally, return a flag indicating whether the declaration
	parsed might have been an expression, and the position of the type identifier
	in the said declaration.

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
	c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
	check for it being a spurious declaration in a "for" statement.

2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify ‘make check-declare’

	* lisp/cedet/srecode/insert.el (data-debug-new-buffer)
	(data-debug-insert-stuff-list, data-debug-insert-thing):
	* lisp/emulation/viper-ex.el (viper-change-state-to-vi)
	(viper-change-state-to-emacs):
	* lisp/emulation/viper-macs.el (viper-change-state-to-vi):
	* lisp/org/ob-asymptote.el (orgtbl-to-generic):
	* lisp/org/ob-awk.el (orgtbl-to-generic):
	* lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
	* lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
	* lisp/org/ob-exp.el (org-element-context):
	* lisp/org/ob-gnuplot.el (org-time-string-to-time)
	(orgtbl-to-generic):
	* lisp/org/ob-haskell.el (org-export-to-file):
	* lisp/org/ob-latex.el (org-create-formula-image)
	(org-latex-compile):
	* lisp/org/ob-python.el (run-python):
	* lisp/org/ob-sh.el (orgtbl-to-generic):
	* lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
	* lisp/org/org-colview.el (org-agenda-redo):
	* lisp/org/org-feed.el (url-retrieve-synchronously):
	* lisp/org/org-info.el (Info-find-node):
	* lisp/org/org-list.el (org-previous-line-empty-p):
	* lisp/org/org-macs.el (org-string-match-p):
	* lisp/org/org.el (org-beamer-mode):
	Fix prototype to match current definition.
	* lisp/emacs-lisp/advice.el (function-called-at-point):
	* lisp/progmodes/prolog.el (compilation-shell-minor-mode):
	Fix typo: extra '.
	* lisp/emacs-lisp/cl-generic.el (cl-defmethod):
	Insert ,' to pacify check-declare.
	* lisp/org/ob-comint.el (tramp-flush-directory-property):
	* lisp/org/ob-tangle.el (org-babel-update-block-body):
	* lisp/org/org-bibtex.el (org-babel-trim):
	* lisp/org/org-pcomplete.el (org-export-backend-options):
	* lisp/org/org-protocol.el (org-publish-get-project-from-filename):
	Fix file name in declare-function.
	* lisp/org/ob-comint.el (with-parsed-tramp-file-name)
	* lisp/org/ob-core.el (with-parsed-tramp-file-name):
	* lisp/org/org.el (org-beamer-mode):
	* lisp/url/url-http.el (gnutls-negotiate):
	Append ‘t’ to declare-function, since the declaration isn’t a defun.
	* lisp/org/ob-core.el (show-all):
	Declare outline-show-all instead, since it is the
	non-obsolete version of this function.
	(org-save-outline-visibility): Remove; not needed.
	* lisp/org/ob-scheme.el (run-geiser, geiser-mode)
	(geiser-eval-region, geiser-repl-exit):
	* lisp/org/ox-org.el (htmlize-buffer):
	Prepend "ext:" to file name, since it is not part of Emacs.
	* lisp/org/ob-sh.el (org-babel-comint-in-buffer)
	* lisp/org/org-gnus.el (nnimap-group-overview-filename):
	Remove decl, since function was removed.
	* lisp/org/ob-sh.el (org-babel-comint-with-output):
	* lisp/org/org-macro.el (org-with-wide-buffer):
	Omit unnecessary (and mismatching) decl.
	* lisp/org/org-agenda.el (calendar-absolute-from-iso):
	* lisp/org/org-clock.el (calendar-iso-to-absolute):
	Declare calendar-iso-to-absolute instead, since it is the
	non-obsolete version of this function.
	* lisp/org/org-compat.el (w32-focus-frame):
	Remove decl, since function is now obsolete.

2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>

	:max-width/height fixes for shr after the scaling changes

	* lisp/net/shr.el (shr-rescale-image): Ensure that we respect
	max-width and max-height even after the scaling changes done
	earlier this year.

2016-05-14  Eli Zaretskii  <eliz@gnu.org>

	Fix reading minibuffer input in viper-mode

	* lisp/emulation/viper-cmd.el (viper-read-string-with-history):
	Restore an assignment to viper-initial that got lost when
	viper-cmd.el was switched to lexical-binding.  (Bug#23536)

2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>

	Port autogen.sh to Git 2.4

	Problem reported by Michael Brand in:
	https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
	* autogen.sh (git_config): Don't assume that git rev-parse
	groks --git-common-dir.

2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	6de0715 Properly reject malformed or empty package sigs
	edae7d9 Remove buggy non-native image scrolling

2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	Improve display of tex-verbatim and Info quoted

	Problem reported by Glenn Morris (Bug#19889).
	* doc/emacs/display.texi (Standard Faces):
	* doc/lispref/display.texi (Basic Faces):
	* etc/NEWS: Mention fixed-pitch-serif.
	* lisp/faces.el (face-font-family-alternatives):
	New family alias Monospace Serif.
	(fixed-pitch-serif): New face, which uses the new family.
	* lisp/info.el (Info-quoted):
	* lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
	* test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
	Add test case for Monospace Serif.

2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/net/sieve-mode.el: Handle the text:... notation

	Get rid of redundant :group keywords.
	(sieve-mode-syntax-table): Move initialization into declaration.
	(sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
	(sieve-mode): Use them.

2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak check-declare-directory performance

	* lisp/emacs-lisp/check-declare.el (check-declare-directory):
	Use ‘find ... -exec ... +’ for speed.

2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from gnulib

	This incorporates a spelling fix, plus:
	2016-05-09 Fix undefined behavior in gettext.h
	* lib/gettext.h, lib/mktime.c:
	Copy from gnulib.

2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
	66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
	1a5a05c Do not mistake colon at the end of regexp for slash symbol
	4c5a00b Make package-install-from-buffer not move point
	9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
	f79c352 Redo the fix for bug#21839
	8d2f78c Don't treat JS spread as continuation method call

2016-05-12  Chris Feng  <chris.w.feng@gmail.com>

	Correct server/client address

	* src/process.c (Fmake_network_process): :local is for servers and :remote
	is for clients.

2016-05-12  Ken Brown  <kbrown@cornell.edu>

	Autosave buffers on logout if HAVE_NTGUI

	* src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
	w32_read_socket.

	* src/w32term.c (w32_read_socket): Create an event of type
	END_SESSION_EVENT if a WM_ENDSESSION message is received.

	* src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.

	* src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
	`end-session'.
	(kbd_buffer_get_event): Return an end-session event if an event of
	type END_SESSION_EVENT is read.
	(keys_of_keyboard): Bind the end-session event to kill-emacs in
	special-event-map.  (Bug#23483)

2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars

	* lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
	(object-print): Use cl-call-next-method instead of call-next-method.
	* lisp/cedet/semantic/symref.el: Use _ to mark unused vars.

2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/cedet/semantic: Silence some warnings

	* lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
	(semanticdb-get-database-tables): Use make-instance to silence warnings.

	* lisp/cedet/semantic/symref.el: Require semantic/find since we use
	some macros from there.  Silence compilation warnings:
	Replace initargs with slot names in oref/oset.
	Move `SYMREF TOOLS' section earlier so definitions precede their use.

2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Support srcset in <img>

	* lisp/net/shr.el (shr--preferred-image): Allow <img> tags
	with srcset specifiers (bug#23459).

2016-05-12  Michael Albinus  <michael.albinus@gmx.de>

	Do not autoload some functions of tramp.el

	* lisp/net/tramp.el (tramp-completion-file-name-handler):
	Autoload a shortened version of this function, avoid recursive load.
	(tramp-completion-file-name-handler-alist)
	(tramp-completion-mode-p)
	(tramp-completion-handle-expand-file-name)
	(tramp-completion-handle-file-name-all-completions)
	(tramp-completion-handle-file-name-completion): Do not autoload.

2016-05-12  Michael Albinus  <michael.albinus@gmx.de>

	Avoid recursive load of tramp.el

	* lisp/net/tramp.el (tramp-completion-file-name-handler):
	Autoload a shortened version of this function, avoid recursive load.

2016-05-11  Michael Albinus  <michael.albinus@gmx.de>

	Fix a problem of tramp-tests on hydra.

	* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
	Nullify `tramp-default-method' due to hydra.

2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify byte-compiler in lisp/vc

	* lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
	* lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
	Declare functions defined elsewhere, to forestall “might not
	be defined at runtime” warnings.

2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	d0d9f55 Allow newlines inside cl function arglists
	963541a Publicize cl--generic-all-functions
	3c581d5 ; Fix typo
	e58f900 Add some "safe-local-variable" declarations for compatibility...

2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>

	'text-quoting-style' now affects only ` and '

	Change 'text-quoting-style' so that it no longer affects
	formatting of curved quotes in format arguments to functions like
	'message'.  In particular, when this variable's value is 'grave',
	all quotes in formats are output as-is.
	* doc/lispref/help.texi (Keys in Documentation):
	* doc/lispref/strings.texi (Formatting Strings):
	* doc/lispref/tips.texi (Documentation Tips):
	* etc/NEWS:
	* src/doc.c (syms_of_doc): Document this.
	* lisp/help-fns.el (describe-function-1):
	* src/doc.c (text_quoting_style, Fsubstitute_command_keys)
	(syms_of_doc):
	* src/editfns.c (styled_format): Omit now-unnecessary code.
	* src/lisp.h (LEAVE_QUOTING_STYLE): Remove.

2016-05-10  Alan Mackenzie  <acm@muc.de>

	Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."

	This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
	being reverted because it slowed down CC Mode's fontification too much
	(factor ~3).  It was the fix to bug #7918.

2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Move "Recent messages" earlier in report-emacs-bug

	* lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
	messages" part earlier so that users can see it and remove it
	if they want.

2016-05-09  Michael Albinus  <michael.albinus@gmx.de>

	Pacify byte compiler in tramp.el

	* lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.

2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	3b47898 Fix doc string in `insert'
	b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
	cd27f73 Say 'All results processed' at the end
	4ffec91 Document automatic adjustment of process' logical window dime...
	dc66271 ; Fix typos and stylistic glitches in NEWS

2016-05-09  Alan Mackenzie  <acm@muc.de>

	CC Mode now uses the new :after-hook feature of define-derived-mode

	It now runs internal variable setting functions after the mode hooks, no
	longer runs the mode hooks twice, and declares the configuration variables for
	noise macros and macros with semicolons as safe variables (when given suitable
	arguments).

	Fixes bug #16759 and bug #23476.

	* .dir-locals.el: Put the c-noise-macros-with-paren-names setting
	back into the C Mode value.

	* lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
	c-make-macro-with-semi-re.
	(c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
	c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
	and c-update-modeline into the :after-hook form.  Remove the explicit settings
	of the syntax table, the abbreviation table and the local key map, since they
	duplicate forms generated by define-derived-mode.  Remove the explicit
	invocation of each mode's mode hook, since they duplicate ones generated by
	define-derived-mode.

	* lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
	functions.
	(c-noise-macro-names, c-noise-macro-with-parens-names): give the
	save-local-variable property c-string-list-p.
	(c-macro-names-with-semicolon): give the save-local-variable property
	c-string-or-string-list-p.

	* doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
	necessary to call the regexp generating functions after setting the pertinent
	configuration values in a mode hook.

2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>

	Fix the jit-lock-fontify-now test names

	* test/lisp/jit-lock-tests.el
	(jit-lock-fontify-now-mends-the-gaps)
	(jit-lock-fontify-now-does-not-refontify-unnecessarily):
	Fix the test names.

2016-05-09  Michael Albinus  <michael.albinus@gmx.de>

	Extend completion candidates in tramp.el

	* lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
	(tramp-get-completion-function): Use it.

2016-05-09  Michael Albinus  <michael.albinus@gmx.de>

	Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el

	* lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
	compatibility.

2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>

	Emulate interactive mode

	* test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
	(jit-lock-does-not-refontify-unnecessarily):
	Bind noninteractive to nil (bug#23278).

2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify now that float-time etc. are built-in

	This was prompted by warnings about calls to now-obsolete functions.
	* lisp/calendar/time-date.el (encode-time-value):
	Use setq rather than a recursive call, to avoid a warning
	about calling this obsolete function.
	* lisp/calendar/time-date.el (encode-time-value)
	(with-decoded-time-value, time-to-seconds, time-to-number-of-days):
	* lisp/erc/erc.el (erc-emacs-time-to-erc-time):
	* lisp/net/rcirc.el (rcirc-float-time):
	* lisp/org/org-compat.el (org-float-time):
	Simplify now that time-add and float-time are now built-in.
	* lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
	* lisp/net/newst-backend.el (time-add):
	* lisp/org/org.el (time-subtract):
	Remove backward-compatibility definitions; they are now built-in.
	* lisp/calendar/timeclock.el (timeclock-time-to-seconds)
	(timeclock-seconds-to-time):
	* lisp/net/rcirc.el (rcirc-float-time):
	* lisp/org/org-compat.el (org-float-time):
	Now obsolete, since callers can just use float-time and
	seconds-to-time.  All uses changed.
	* lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
	* lisp/gnus/gnus-art.el (article-lapsed-string):
	* lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
	* lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
	* lisp/gnus/nndiary.el (nndiary-compute-reminders):
	* lisp/net/tramp.el (tramp-time-diff):
	* lisp/org/org-clock.el (org-clock-timestamps-change):
	Prefer the time-subtract builtin to the subtract-time alias.
	* lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
	* test/lisp/character-fold-tests.el (character-fold--speed-test):
	Prefer the float-time builtin to the time-to-seconds alias.
	* lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
	* lisp/org/org-timer.el, lisp/org/org.el:
	Adjust to org-float-time deprecation.

2016-05-08  Alan Mackenzie  <acm@muc.de>

	Add :after-hook facility to define-derived-mode.

	This allow a form to be evaluated _after_ a major mode's hooks have been run.
	It is needed to solve some problems in CC Mode, including bug #16759 and
	bug #23476.

	* lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
	`:after-hook', and generate the requisite code for it.
	(derived-mode-make-docstring): Take account of the possibility of :after-hook.

	* lisp/subr.el (delayed-after-hook-forms): New variable.
	(run-mode-hooks): As the last thing evaluate the forms in
	delayed-after-hook-forms.

	* doc/lispref/modes.texi (Derived Modes): Document :after-hook.
	(Mode Hooks): Document the new feature in run-mode-hooks.

	* etc/NEWS: Note the new feature.

2016-05-08  Michael Albinus  <michael.albinus@gmx.de>

	Fix recursive load of tramp.elc

	* lisp/net/tramp.el (tramp-completion-file-name-handler):
	Check also for `tramp-completion-mode-p'.
	(tramp-completion-mode, tramp-completion-mode-p): Autoload them.

2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer grep -E/-F to egrep/fgrep

	POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
	withdrew them in SUSv3 (2001), and these days grep -E and grep -F
	are probably more portable.
	* lib-src/etags.c (main):
	* lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
	(eshell/fgrep):
	* lisp/cedet/semantic/symref.el (semantic-symref-find-text):
	* lisp/eshell/esh-var.el (eshell-apply-indices):
	* lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
	(ada-find-in-src-path):
	* lisp/textmodes/ispell.el (ispell-grep-command):
	(ispell-lookup-words):
	Use or document grep -E and grep -F instead of egrep and fgrep.
	* lisp/textmodes/ispell.el (ispell-grep-options):
	Use -Ei on all platforms, not just MS-Windows.

2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>

	Avoid unnecessary work if a chunk is empty

	* lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
	if a chunk is empty (bug#23278).

2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>

	* test/lisp/jit-lock-tests.el: New file.

2016-05-07  Michael Albinus  <michael.albinus@gmx.de>

	Continue to fix Bug#10085

	* lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
	<expand-file-name>: Add handler.
	(tramp-completion-handle-expand-file-name): New defun.
	(tramp-handle-file-name-as-directory): Handle completion mode case.

	* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
	Fix test.
	(tramp-test24-file-name-completion): Extend test.

2016-05-07  Alan Mackenzie  <acm@muc.de>

	Revert change 8e4595a... due to annoyance it causes the development team.

	Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
	+0000 was an enhancement to .dir-locals to allow correct fontification
	of certain macro constructs.

	* .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.

2016-05-07  Alan Mackenzie  <acm@muc.de>

	* lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.

2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>

	Add tests for CSS mode completion

	* test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
	(css-test-property-values-no-duplicates)
	(css-test-value-class-lookup): Use `seq-sort'.
	(css-mode-tests--completions): New helper function for retrieving CSS
	completions.
	(css-test-complete-bang-rule, scss-test-complete-bang-rule)
	(css-test-complete-property-value, css-test-complete-pseudo-class)
	(css-test-complete-pseudo-element, css-test-complete-at-rule)
	(scss-test-complete-at-rule, css-test-complete-property)
	(css-test-complete-selector, css-test-complete-nested-selector)
	(scss-test-complete-nested-selector): New tests.

2016-05-06  Alan Mackenzie  <acm@muc.de>

	Add an option in Edebug to prevent pauses after `h', 'f', and `o'.

	Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
	variables which was missing.

	* lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
	(edebug--display-1): Test edebug-sit-on-break before pausing 1 second.

	* doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
	(Edebug Options): Document the new option.  Also add documentation for
	edebug-eval-macro-args, edebug-print-length, edebug-print-level,
	edebug-print-circle, edebug-sit-for-seconds.

	* etc/NEWS: Note the new feature.

2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>

	scheme.el: Turn literal tabs into \t

	* lisp/progmodes/scheme.el: The last change to turn tabs into spaces
	also caught some literal tabs in character classes. Fix this by
	adding \t to those classes.

2016-05-07  Tino Calancha  <f92capac@gmail.com>

	Make 'backtab' work in table-mode on text terminals

	* lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
	explicitly.  (Bug#23456)

2016-05-07  Eli Zaretskii  <eliz@gnu.org>

	Try to speed-up display of many all-blank lines

	* src/bidi.c (bidi_initialize): Use anchored regexps for
	paragraph start and paragraph separator sequences.  (Bug#23457)

2016-05-06  Alan Mackenzie  <acm@muc.de>

	Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000

	Prevent hack-local-variables being called from the fundamental-mode mode call
	early in normal-mode.  This fixes bug #23460 and bug #23463.

	* lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
	the things it calls, with the exception of hack-local-variables.

	* etc/NEWS: Add an entry to note the calling of hack-local-variables at each
	major mode initialization.

2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>

	Port xref-tests to master branch

	Also, add a test to make this problem less likely in the future.
	* test/Makefile.in (check-no-automated-subdir): New rule.
	(check, check-expensive, check-maybe): Depend on it.
	* test/automated/data/xref/file1.txt: Rename to ...
	* test/data/xref/file1.txt: ... here.
	* test/automated/data/xref/file2.txt: Rename to ...
	* test/data/xref/file2.txt: ... here.
	* test/automated/xref-tests.el: Rename to ...
	* test/lisp/progmodes/xref-tests.el: ... here.
	(xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.

2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	50650cb Doc fixes for fclist and grep
	5e814e0 Minor doc fixes for quoting
	3347a73 `nreverse' the marker pairs list
	1a4127d Use save-excursion in xref-location-marker more
	ab3ba91 shell-quote-argument DIR when appropriate
	922c7a3 Rework xref-query-replace-in-results
	3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
	0932b94 Fix todo-mode bug involving archived items (bug#23447)
	e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
	adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
	4d8fd9c Handle "empty line" regexp in xref searches
	f559b37 Add tests for xref-collect-matches
	6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
	6f82d8e Clear buffer-undo-list when showing xrefs
	c68a091 Note the quote translation in `message' in section "incompati...
	52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
	93703c5 (Common Keywords): Correct what missing :group means
	79e5800 Improve documentation of Dired's 'A' and 'Q' commands
	2ea2a2f Doc fixes for quoting
	8544b98 posnp doc clarification
	805204f Mention what a missing :group does
	ec554d7 Fix documentation of dired-aux search/replace commands

2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>

	Support completion of HTML tags in CSS selectors

	* lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
	list of HTML tags for completion.
	(css--nested-selectors-allowed): New variable for determining whether
	nested selectors are allowed in the current mode.
	(css--complete-selector): New function for completing part of a CSS
	selector.
	(css-completion-at-point): Support completion of selectors.
	(scss-mode): Allow nested selectors.

2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `R' in eww work more reliably

	* lisp/net/eww.el (eww-score-readability): Protect against
	null children.

2016-05-05  Alan Mackenzie  <acm@muc.de>

	Call hack-local-variables from major modes rather than from file visiting

	This prevents file/directory local variables from being lost when the major
	mode is set or changed.

	This fixes bug #15577 and bug #23407.

	* lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
	function hasn't already done so.
	(hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
	its previous non-nil setting be t, and introduce the following action for a
	non-nil non-t value: apply all settings apart from `mode'.

	* lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
	which are visiting files.

	* doc/emacs/custom.texi (File Variables): Note that setting a major mode also
	sets file variables.
	(Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
	dir local variables, but `coding' can't.

	* doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
	also calls `hack-local-variables'.
	(Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
	as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
	saying that the mode IS SET, not merely "selected" or "chosen".
	(Mode Hooks): Document change to `run-mode-hooks'.

	* doc/lispref/variables.texi (File Local Variables): Document change to
	`hack-local-variables'.

2016-05-05  Michael Albinus  <michael.albinus@gmx.de>

	tramp-sh.el: Work around a stat bug

	* lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
	stat versions which produce shell quoted output.  See also
	coreutils Bug#23422.

2016-05-04  Noam Postavsky  <npostavs@gmail.com>

	Fix autogen.sh for separate worktrees

	* autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
	of assuming .git/hooks is a directory.

2016-05-04  Alan Mackenzie  <acm@muc.de>

	Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.

	* lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
	when text-quoting-style is `leave'.

	* src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.

	* src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
	`text_quoting_style'.
	(text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
	(Fsubstitute_command_keys): Don't translate quotes when quoting_style is
	LEAVE_QUOTING_STYLE.

	* src/editfns.c (styled_format): Set quoting_style to -1 when
	text-quoting-style is `leave'.

2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emulation/viper.el:
	* lisp/emulation/viper-cmd.el: Use lexical-binding.
	(viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
	args, for use in advice-add.
	(viper--init-message): Rename from init-message.
	(viper-minibuffer-standard-hook): Adjust accordingly.
	(viper-undo): Remove unused var `modified'.
	(viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
	Don't use dynamic vars as args.
	(viper-submit-report): Clarify use of dynamic vars.

	* lisp/emulation/viper.el: Use lexical-binding and nadvice.
	Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
	Use add-function rather than a `(lambda ...).
	(viper--advice-list): New var.
	(viper--advice-add, viper--deactivate-advice-list): New funs.
	(viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
	(viper-non-hook-settings): Don't hook into find-file any more.

2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/vc/ediff-util.el: Use lexical-binding.

	* lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.

2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>

	Add an animation sanity check

	* lisp/image.el (image-multi-frame-p): Give up on animations
	if it seems like they are too slow (bug#23431).

2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>

	abbrev-tests.el fix

	* test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
	internal implementation detail.

2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>

	(shr-rescale-image): Clarify logic slightly

	* lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.

2016-05-02  Martin Rudalics  <rudalics@gmx.at>

	Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2

	* lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
	to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
	Monnier.  (Bug#19185, Bug#20398)

2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>

	Add more abbrev tests

	* test/lisp/abbrev-tests.el
	(clear-abbrev-table-test): Use `abbrev-expansion'
	(abbrev-table-empty-p-test, list-abbrevs-test)
	(prepare-abbrev-list-buffer-test, insert-abbrevs-test)
	(edit-abbrevs-test, define-abbrevs-test)
	(read-write-abbrev-file-test)
	(abbrev-edit-save-to-file-test): New tests (bug#23139).

2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)

	Allow eval-ing named character literals

	* lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
	named character literals.
	* test/lisp/progmodes/elisp-mode-tests.el
	(elisp--preceding-sexp--char-name): Add test for skipping over
	named character literals (bug#23354).

2016-05-02  Aaron Conole  <aconole@redhat.com>

	Call va_end in boot_error

	* src/gnutls.c (boot_error): A recent change added a function
	to signal an error or return an error code. That function uses
	a variadic argument list to populate an error message
	string. However, it missed calling va_end after using the
	variadic argument list.

	  Copyright-paperwork-exempt: yes

2016-05-02  Aaron Conole  <aconole@bytheb.org>

	Fix the call to set_network_coding_system

	* src/process.c (Fmake_network_process): A recent commit
	modified the set_network_socket_coding_system function to take
	arguments host, service, and name. However, those arguments
	appear to be swapped.

	  Copyright-paperwork-exempt: yes

2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "alas, a map can have only one parent"

	This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.

	This had already been fixed by using `make-composed-map'.  And
	we don't want image-map to inherit from special-mode-map, anyway.

2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	bf21c84 Fix quoting problem in cc-engine debug message
	8f36614 Add electric-quote-string unit test
	6280531 Don’t electrically quote ‘'’ in Python
	fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits

2016-05-02  Sam Steingold  <sds@gnu.org>

	alas, a map can have only one parent

	* lisp/image-mode.el (image-model-map): Cannot have two parents.
	* lisp/image.el (image-map): Inherit from `special-mode-map'.

2016-05-02  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#10085

	* lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
	Add optional arguments OPERATION and COMPLETION.  Handle
	`file-name-as-directory', `file-name-directory' and
	`file-name-nondirectory' also in completion mode.
	(tramp-file-name-handler): Use it.  (Bug#10085)

	* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
	Extend test.

2016-05-01  Martin Rudalics  <rudalics@gmx.at>

	* src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.

2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	Tweak .gitignore

	* .gitignore: Remove leim/changed.misc, leim/changed.tit,
	as these files are no longer created.  Add gmon.out, for
	-pg profiling.  Sort.

2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from gnulib

	This incorporates:
	2016-05-01 mktime: port to stricter signed overflow checking
	2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
	2016-05-01 mktime: resurrect DEBUG_MKTIME testing
	2016-05-01 mktime: simplify DEBUG_MKTIME
	2016-05-01 Port mktime_internal offset to unsigned time_t
	2016-04-27 xstrtol: prohibit monstrosities like "1bB"
	2016-04-13 mktime: improve integer overflow checking
	2016-04-13 intprops: check two's complement assumption
	2016-04-13 intprops, mktime, strtol: assume two's complement
	* lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
	* lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
	Copy from gnulib.

2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	c695fb3 ; Spelling fixes
	03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
	42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...

2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
	d38d2a8 Fix documentation of 'url-retrieve-synchronously'
	586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...

	# Conflicts:
	#	doc/misc/url.texi
	#	lisp/url/url.el

2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	16e5e8e Fix last change to isearch-update (bug#23406)
	b755d98 Autoload cursor-sensor-inhibit (bug#23406)
	b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
	86aa409 Followup for last commit in the user manual
	7004459 Improve doc string of 'set-goal-column'
	ccdaf04 Fix the MSDOS build
	ffe701c Remove \= from format string (bug#18190)
	1c58fa1 Fix variable-pitch font on MS-Windows
	c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
	b671e21 Revert unneeded change which harms syntactic parsing.  This f...
	48b24c9 Correct indentation of ids in a C++ enum after a protection k...
	5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
	734fb3a Port dumping to NetBSD with PaX
	0255a70 Don't mistake `for' inside a function for a part of array com...

	# Conflicts:
	#	src/Makefile.in

2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	71fb0e0 Improve last change to vc-git-mode-line-string
	6858e77 Todo mode doc bug fix
	e55d0db Fix revision calculation in vc-git-mode-line-string
	ca87b34 ; Fix errant revert ccb75d7
	40bfebe Add Python 3.5 keyword "await"
	fa7886a Add new keywords of Python 3.5
	ccb75d7 Partially revert previous change.
	8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
	b09ca27 Say why text-quoting-style is not a user option

2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	5a952eb Don't mention ~/.emacs.bmk literally in doc strings
	c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
	c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings

2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the `find-library-name' changes

2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix text in menu in minor-mode-menu-from-indicator

	* lisp/mouse.el (minor-mode-menu-from-indicator): Don't
	capitalize "Off" in "Turn Off" (bug#11028).

2016-05-01  David Engster  <deng@randomsample.de>

	gitmerge: Add cherry pick to gitmerge-skip-regexp

	* admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
	from commit", which is the string appended by 'git cherry-pick
	-x'.

2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow `global-set-key' to bind keys under the `M-o' map

	* lisp/subr.el (global-set-key): Allow binding keys under the
	`M-o' map (bug#9730).

2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Add `size-indication-mode' to the menu on `mouse-1' "Top"

	* lisp/bindings.el (mode-line-column-line-number-mode-map):
	Add `size-indication-mode' to the menu (bug#5727).

2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow finding libraries loaded manually outside the load-path

	* lisp/emacs-lisp/find-func.el (find-library--from-load-path):
	New function to find a library from a load path (bug#5661).
	(find-library-name): Use it.

	There are so many combinations of inputs and possibly entries in
	`load-history' that the code looks like an entry in a code obfuscation
	contest.  If anybody has a better implementation, please substitute.

	But remember that the input given may be foo, foo.el, foo.elc, and the
	entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
	want to return only foo.el and foo.el.gz.  *phew*

2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow minibuffer prompts to use faces

	* doc/lispref/minibuf.texi (Text from Minibuffer): Document
	`minibuffer-prompt-properties' and explain how faces work in
	the minibuffer prompt.

	* src/minibuf.c (read_minibuf): If `face' is in
	`minibuffer-prompt-properties', apply it to the end of the
	face list to allow users to have their own faces on the
	prompts (bug#16136).

2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)

	Add R7RS syntax forms to scheme.el

	* lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
	a number of special forms introduced in R7RS-small.
	* lisp/progmodes/scheme.el (scheme-indent-function): Same.

2016-05-01  Alan Third  <alan@idiocy.org>

	Implement horizontal scroll bars on NS

	* lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
	check.
	* lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
	scroll-bar mouse clicks to standard handlers.
	* src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
	pixel_height to pixel_length.
	* src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
	caused scroll-bars to be over-drawn and the best working solution
	appears to be complete removal.
	(ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
	correctly.
	(ns_set_vertical_scroll_bar): Set width to actual scroller width.
	(setFrame): Handle horizontal case.
	(dealloc): Handle horizontal case.
	(judge): Handle horizontal case.
	(setPosition): Rename pixel_height to pixel_length.
	(sendScrollEventAtLoc): Handle horizontal case.
	(mouseDown): Handle horizontal case and general tidy up of code.
	(mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
	absolute pixel size instead of ratio.
	* src/window.h: Remove NS check.

2016-05-01  Michael Albinus  <michael.albinus@gmx.de>

	tramp.texi: Revert last change due to backward compatibility

2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix the buffer-count patch (Bug#23394)

	* src/buffer.c (Fgenerate_new_buffer_name): Increment count just
	once each time through the loop.  Reported by Lars Ingebrigtsen in:
	https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	cua-prefix-override-inhibit-delay doc fix

	* lisp/emulation/cua-base.el
	(cua-prefix-override-inhibit-delay): Typo fix in doc string
	(bug#23401).

2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix generate-new-buffer-name increment typo

	Problem reported by Chaitanya Koparkar (Bug#23394).
	* src/buffer.c (Fgenerate_new_buffer_name): Increment count when
	generating a new buffer.  This fixes a typo I introduced in
	2014-04-05T00:04:58Z!eggert@cs.ucla.edu.

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	global-eldoc-mode doc fix

	* lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
	specific about what "applicable" means (bug#23071).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the legend in describe-categories a link

	* lisp/help-fns.el (describe-categories): Make the "see
	bottom" text a link (bug#22227).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	normal-top-level-add-subdirs-to-load-path doc fix

	* lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
	Doc fix (bug#21962).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	isearch-search-fun-function doc tweak

	* lisp/isearch.el (isearch-search-fun-function): Mention what
	the STRING parameter is (bug#21552).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fill some imenu--index-alist doc lines

	* lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make describe-variable look up the variable in the current buffer

	* lisp/help-fns.el (describe-variable): Get the variable
	definition in the buffer we were called from (in case it only
	exists there) (bug#21252).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fmarker_position doc string clarification

	* src/marker.c (Fmarker_position): Clarify the doc string
	(bug#21231).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Further define-obsolete-* doc fixups

	* lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
	Fix up last change.
	(define-obsolete-variable-alias): Ditto.

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Describe WHEN in all the define-obsolete- macros

	* lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
	Say more verbosely what WHEN is (bug#21225).
	(define-obsolete-function-alias): Describe the WHEN parameter.
	(define-obsolete-variable-alias): Ditto.

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention with-silent-modifications in the lispref manual

	* doc/lispref/text.texi (Changing Properties): Document
	with-silent-modifications (bug#21171).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	with-silent-modifications doc clarification

	* lisp/subr.el (with-silent-modifications): Rearrange the doc
	string a bit so that the most pertinent information is at the
	top (bug#21171).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	clear-visited-file-modtime doc string fix

	* lisp/files.el (clear-visited-file-modtime): Fix possibly
	confusing doc string wording (bug#21169).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Document mode line variables

	* doc/lispref/modes.texi (Mode Line Variables): Document
	`mode-line-front-space, `mode-line-misc-info',
	`mode-line-end-spaces' (bug#21014).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a cross ref to Optional Mode Line

	* doc/lispref/modes.texi (Mode Line Variables): Add a cross
	reference to the Emacs mode line node that explains things
	like `display-time-string' (bug#21002).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a doc string to display-time-string

	* lisp/time.el: Add a doc string to `display-time-string',
	because it's referred to in the manual, and is too mysterious
	otherwise (bug#21002).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	custom-buffer-style doc fix

	* lisp/cus-edit.el (custom-buffer-style): Document the `tree'
	value (bug#20724).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Document how to check for ImageMagick support

	* doc/lispref/display.texi (ImageMagick Images): Say how to
	check for ImageMagick support, which isn't quite obvious
	(bug#20702).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor doc fix for ImageMagick/SVG builds

	* doc/lispref/display.texi (SVG Images): Don't imply that you
	have to build Emacs yourself (bug#20702).
	(ImageMagick Images): Ditto.

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Rearrange the doc of query-replace slightly

	* lisp/replace.el (query-replace): Move the mention of the
	interactive prefix arg earlier so that users can find it
	(bug#20654).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	apropos-print doc fix

	* lisp/apropos.el (apropos-print): Document the undocumented
	parameters (bug#20520).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	completion-table-with-predicate doc string fix

	* lisp/minibuffer.el (completion-table-with-predicate): t ->
	non-nil in the doc string (bug#20460).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fill the completion-table-with-predicate doc string

	* lisp/minibuffer.el (completion-table-with-predicate): Fill
	the doc string (bug#20460).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	replace-match-maybe-edit doc clarification

	* lisp/replace.el (replace-match-maybe-edit): Say what
	MATCH-DATA is (bug#20304).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	add-timeout doc fix

	* lisp/emacs-lisp/timer.el (add-timeout): Mention the return
	value (bug#20181).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Extremely minor doc fix in Choosing Window

	* doc/lispref/windows.texi (Choosing Window): There's only one
	action alist, I think (bug#20158).

2016-04-30  Alan Mackenzie  <acm@muc.de>

	* .dir-locals.el: Amend for correct fontification of *.[ch]
	containing "IF_LINT"

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Transform mentions of `eval-after-load' to `with-eval-after-load'

	* doc/lispref/loading.texi (Hooks for Loading): Update text to
	not mention `eval-after-load' (bug#20038).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	cursor-type doc fix

	* src/buffer.c (syms_of_buffer): Mention that cursor-type's
	WIDTH/HEIGHT can't exceed the frame char size (bug#19215).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a link from Tool Bar to Images

	* doc/lispref/keymaps.texi (Tool Bar): Add a link to the
	Images node (bug#19722).

2016-04-30  Alan Mackenzie  <acm@muc.de>

	CC Mode: Recognize a noise macro with parens after a declarator's identifier

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
	following comment "Skip over type decl suffix operators." insert code also
	to check for noise macros with parentheses.

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	(default-mode-line-format): More explicit obsolete info

	* lisp/subr.el (default-mode-line-format): Be more explicit in
	how default values are now handled (bug#19424).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fcompare_buffer_substrings doc string clarification

	* src/editfns.c (Fcompare_buffer_substrings): Extremely minor
	doc string clarification (bug#19255).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	insert-file-contents-literally doc fix

	* lisp/files.el (insert-file-contents-literally): Say that the
	parameters are explained in the other function (bug#18317).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix custom types for cursor-in-non-selected-windows

	* lisp/cus-start.el (standard): Use the same custom types for
	cursor-in-non-selected-windows as for cursor-type (bug#19214).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc clarification to mwheel-scroll

	* lisp/mwheel.el (mwheel-scroll): Mention that the restriction
	does not apply to Windows (bug#19209).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the doc of eval-expression-print-format

	* lisp/simple.el (eval-expression-print-format): Doc
	clarification (bug#19114).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	(extended-command-suggest-shorter): Add a version string

	* lisp/simple.el (extended-command-suggest-shorter): Add a
	version string.

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Document extended-command-suggest-shorter

	* doc/emacs/m-x.texi (M-x): Mention
	extended-command-suggest-shorter (bug#19152).

2016-04-30  Ivan Shmakov  <ivan@siamics.net>

	Add a variable to control "shorter command" suggestions

	* lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
	(execute-extended-command): Use it.

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Explicitly explain that package-initialize loads the packages

	* lisp/emacs-lisp/package.el (package-initialize): Be explicit
	in saying that `package-initialize' obviates adjusting the
	path or requiring the packages, as this is a question that
	apparently comes up now and then (bug#18829).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Have the doc strings of `load-path' and `require' mention each other

	* src/fns.c (Frequire): Mention `load-path' and fill the doc
	string (bug#18829).

	* src/lread.c (syms_of_lread): Mention that `require' uses
	`load-path'.

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix for insert-pair-alist

	* lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
	COMMAND-CHAR is (bug#18809).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Move doc of backup-directory-alist to the Backup node

	* doc/emacs/files.texi (Backup): Move the documentation of
	`backup-directory-alist' here from the "Single or Numbered
	Backups" node, because it doesn't seem to have much to do with
	numbering (bug#18692).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Tiny doc clarification for create-fontset-from-fontset-spec

	* lisp/international/fontset.el (create-fontset-from-fontset-spec):
	Clarify what the optional part is (bug#18686).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fill the doc string of font-lock-keywords

	* lisp/font-lock.el (font-lock-keywords): Fill the lines and
	reorganize some explanations (bug#21427).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix for font-lock-remove-keywords

	* lisp/font-lock.el (font-lock-remove-keywords): Add a link to
	`font-lock-add-keywords' to describe KEYWORDS (bug#18634).

2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify whitespace-style doc string

	* lisp/whitespace.el (whitespace-style): Doc clarification
	(bug#18296).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	No need to test for jka-compr

	* lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
	is always available; no need to test (bug#18204).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fixed for next-error-buffer-p

	* lisp/simple.el (next-error-buffer-p): Clarify doc string
	(bug#18202).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Tiny doc fix

	* src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
	(and fill) (bug#18201).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix

	* src/keymap.c (Fdefine_prefix_command): Clarify doc string
	slightly (bug#18092).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	delsel doc touch ups

	* lisp/delsel.el (delete-selection-helper): Use non-nil
	instead of t and clarify function return values (bug#18089).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fixes for menu-bar.el

	* lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
	REGION parameter (bug#18028).
	(clipboard-kill-region): Ditto.

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix

	* lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Minor doc clarification

	* lisp/subr.el (y-or-n-p): Document the return value from "n"
	(bug#18024).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fill font-lock-mode doc string

	* lisp/font-core.el (font-lock-mode): Fill the text to make it
	narrower (bug#18008).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Wrap the auto-generated doc string

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
	string to make it less likely that we get overlong lines
	(bug#17999).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify hi-lock-find-patterns

	* lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
	(bug#17989).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Warning fix in jit-lock-mode

	* lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
	turning the mode on in an indirect buffer, if this somehow has
	happened (bug#17738).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a doc string to `winner-mode'

	* lisp/winner.el (winner-mode): Add a doc string based on the
	comments in the file (bug#17716).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix for align-newline-and-indent

	* lisp/align.el (align-newline-and-indent): Mention that
	alignment is done by `align' (bug#17707).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Cancel the eldoc timer when switching off eldoc mode

	* lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
	timer when switching off eldoc mode.  It will be restarted
	again if needed (bug#17582).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix for `kbd'

	* lisp/subr.el (kbd): Describe more fully the format of the
	parameter (bug#17039).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a sanity check to apropos-documentation-internal

	* lisp/apropos.el (apropos-documentation-internal): Add a
	sanity check to be less fragile in the presence of invalid
	data (bug#16725).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc tweak

	* lisp/simple.el (use-empty-active-region): Doc tweak.
	There's only one region (bug#16513).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify `read-face-name' doc and tweak the code

	* lisp/faces.el (read-face-name): Clarify the documentation
	and allow a mix of faces and faces names in all cases
	(bug#16483).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove ": ?" from the read-face-name prompt

	* lisp/faces.el (read-face-name): Remove ": ?" from the prompt
	to be more backwards compatible (bug#15909).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Link from (emacs)Exiting to (lisp)Killing Emacs

	* doc/emacs/entering.texi (Exiting): Link to the lispref
	manual for further customizations (bug#15445).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	find-lisp doc touchups

	* lisp/find-lisp.el (find-lisp-format): Copy over the doc
	string (bug#15047).
	(find-lisp-find-files): Clarify doc.

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't have the manual claim that it lists all CL incompatibilities

	* doc/misc/cl.texi (Common Lisp Compatibility): The list of
	incompatibilities isn't exhaustive, so don't say that it is
	(bug#15171).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix call of `kmacro-display'

	* lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
	`kmacro-display' (bug#15020).

2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"

	* doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
	"mouse-[0-9]".  These are case sensitive, and the keys are lower case
	(bug#14554).

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename "Directory Search" menu to "Servers"

	* lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
	Search" to "Directory Servers".  Suggested by Eli
	Zaretskii. (bug#14919).

	* lisp/net/eudc.el: Rename ditto throughout.

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove uses of the unused to-end parameter from simple.el

	* lisp/simple.el (line-move-partial): Remove usages of the
	unused to-end parameter, and make it optional (bug#14844).
	(line-move): Remove use of the unused to-end parameter.

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fix: _ chars are automatically removed.

	* lisp/cus-edit.el (custom-buffer-create): _ chars are
	automatically removed when displaying help, so fix the last
	doc change.
	(custom-buffer-create-other-window): Ditto.

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc string change to enable-recursive-minibuffers

	* src/minibuf.c (syms_of_minibuf): Mention
	minibuffer-depth-indicator-mode in the doc string to
	enable-recursive-minibuffers (bug#14147).

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix definition of nobreak-space

	* lisp/faces.el (nobreak-space): The definition to
	nobreak-space was inadvertently changed by the previous checkin.

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify the `interactive' doc string slightly

	* src/callint.c (Finteractive): Clarify the doc string slightly
	  (bug#14577).

2016-04-28  Drew Adams  <drew.adams@oracle.com>

	Make icomplete respect `completion-ignored-extensions'

	* lisp/icomplete.el (icomplete-completions): Heed
	`completion-ignored-extensions' (bug#12939).

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make ibuffer not break on newline-embedded buffer names

	* lisp/ibuffer.el (name): When buffer names contain newlines,
	quote those newlines before displaying (bug#12378).

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new face for non-breaking hyphen characters

	* doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
	(Text Display): Ditto.

	* lisp/faces.el (nobreak-hyphen): New face (bug#12048).

	* src/xdisp.c (get_next_display_element): Use it instead of
	the escape-glyph face.

	* src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make a menu less ambiguous

	* doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
	is about using modifier keys, not binding them (bug#10942).

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make kill-emacs-query-functions into defcustom

	* lisp/files.el (save-buffers-kill-terminal): Mention
	`save-buffers-kill-emacs' (bug#10794).
	(kill-emacs-query-functions): Made into a defcustom.

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Have describe-variable output multi-line values better

	* lisp/help-fns.el (describe-variable): When printing
	multi-line expressions, display them prettier (bug#10723).

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up custom-buffer-create code slightly

	* lisp/cus-edit.el (custom-buffer-create-other-window): Don't
	pass the unused description value on (for clarity) (bug#10540).
	(custom-buffer-create): Ditto

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify some doc strings

	* lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
	Clarify doc string (bug#8693).
	(syntax-propertize): Clarify doc string.

2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>

	Fix number-at-point in lisp buffers

	* lisp/thingatpt.el (number-at-point): Don't say that things
	like ?a are numbers in lisp mode buffers (bug#8634).

2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't consider colons to be paragraphs starting chars in strings

	* lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
	consider colons to start paragraphs in (doc) strings
	(bug#7751).

2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Make `undo' of `C-x r t' put point where it should be

	* lisp/rect.el (string-rectangle): Make `undo' of a this
	command put point back where it was (bug#7522).

2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some concept index entries for custom types

	* doc/lispref/customize.texi (Composite Types): Add concept
	index entries for restricted-sexp, radio and choice (bug#7385).

2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention `lisp-indent-function' in the lispref manual

	* doc/lispref/macros.texi (Indenting Macros): Mention
	`lisp-indent-function' (bug#3393).

2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify doc string of internal compilation function

	* lisp/progmodes/compile.el (compilation-get-file-structure):
	Clarify doc string (bug#3137).

2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid having `C-x h' mark the prompt part of the minibuffer

	* lisp/simple.el (mark-whole-buffer): Don't mark the prompt
	part of the minibuffer (bug#2589).

2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow a prefix argument to find-library to pop to a different window

	* lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
	argument to pop to a different window (bug#2270).

2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Move the diff command to "Operate" in ibuffer

	* lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
	command to the "Operate" menu, and remove the customization
	entry to make the "View" menu more logical (bug#1150).

2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the minor modes in help buffers into buttons

	* lisp/help.el (describe-mode): Make the minor modes into
	buttons to enable easier documentation traversal (bug#1149).

2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>

	Add a number of Python 3 exceptions

	* lisp/progmodes/python.el (python-font-lock-keywords): Clean up
	the exception list, adding a number of new Python 3 exceptions and
	moving some exceptions to the Python 2 and 3 list as Python 2.7
	includes them.

2016-04-26  Anders Lindgren  <andlind@gmail.com>

	Fix bug#22891: wrong terminal width when a fringe width is zero.

	When either fringe width is zero, Emacs reserved one column for a
	continuation glyph. Terminal windows does not take this into
	account when the frame is resized.

	* lisp/window.el (window-adjust-process-window-size): Use
	`window-max-chars-per-line' instead of `window-body-width'.
	* lisp/term.el (term-window-width): Remove function. (It does the
	same as `window-max-chars-per-line' but without recent bug fixes.)
	(term-mode): Use `window-max-chars-per-line' instead of
	`term-window-width'.

2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>

	Add completion of `calc()' in CSS mode

	* lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
	a completion candidate for several value classes.
	(css--value-class-lookup): Return only unique results.

	* test/lisp/textmodes/css-mode-tests.el
	(css-test-property-values-no-duplicates)
	(css-test-value-class-lookup): Update to reflect the above changes.

2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix socketd fd startup bug that I introduced

	Problem reported by Matthew Leach in:
	https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
	* src/emacs.c (main): Indicate more clearly the coupling between
	the --daemon option and init_process_emacs.
	* src/lisp.h: Adjust to API changes.
	* src/process.c (set_external_socket_descriptor):
	Remove, replacing by ...
	(init_process_emacs): ... passing the socket FD here instead.
	All uses changed.

2016-04-25  Tao Fang  <fangtao0901@gmail.com>

	Fix: (void-variable url-http-response-status)

	* lisp/url/url-http.el
	(url-https-proxy-after-change-function): Display the error
	message before doing the callback to avoid a void variable
	situation (bug#23290).

2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	smtpmail would say it's done before it is

	* lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
	of the data end marker from here... (bug#23020).
	(smtpmail-send-data): ... to here, so that we don't get a
	"Sending done" before we've sent the final "." (which can make
	the SMTP server reject the email.

2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	`url-retrieve-synchronously' now takes an optional timeout parameter

	* doc/misc/url.texi (Retrieving URLs): Document optional parameters.

	* lisp/url/url.el (url-retrieve-synchronously): Allow passing
	in a timeout parameter (bug#22940).

2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Include "Retype" as a comint password prompt

	* lisp/comint.el (comint-password-prompt-regexp): Include
	"Retype" to catch "Retype password for [account]:" from the
	"pass" utility (bug#22942).

2016-04-25  Alan Mackenzie  <acm@muc.de>

	Fix spurious fontification of "for (; a * b;)" in CC Mode.

	* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
	inside the parens of a for statement and after a semicolon near the beginning
	of the lambda form.

2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>

	New function ‘char-from-name’

	This also fixes the mishandling of "\N{CJK COMPATIBILITY
	IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
	Problem reported by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
	* doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
	* lisp/international/mule-cmds.el (char-from-name): New function.
	(read-char-by-name): Use it.  Document that "BED" is treated as
	a name, not as a hexadecimal number.  Reject out-of-range integers,
	floating-point numbers, and strings with trailing junk.
	* src/lread.c (character_name_to_code): Call char-from-name
	instead of inspecting ucs-names directly, so that we handle
	computed names like "VARIATION SELECTOR-1".  Do not use an auto
	string, since char-from-name might GC.
	* test/src/lread-tests.el: Add tests for new behavior, and
	fix some old tests that were wrong.

2016-04-25  Alan Mackenzie  <acm@muc.de>

	c-forward-<>-arglist no longer directly applies face properties in Java Mode.

	This allows the calling of c-restore-<>-properties from c-common-init without
	the test suite giving spurious errors.

	* lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
	sets face properties.
	(c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
	template brackets using c-inside-<>-type-key.  Don't bind
	c-record-type-identifiers or c-record-found-types around the recursive call,
	allowing positions of found types to flow back to the caller.

	* lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
	new lang consts/var.

	* lisp/progmodes/cc-mode.el (c-common-init): Don't remove
	c-restore-<>-properties from the list of functions called at mode
	initialization.

2016-04-25  Jun Hao  <jun_hao@aol.com>

	Pass in port only if provided by caller in the OS X keychain

	* lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
	port only if provided (bug#23374).

2016-04-25  Alan Mackenzie  <acm@muc.de>

	Add fontification for a C declaration which looks like a function call.

	For example, "t1 *fn (t2 *b);".

	* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
	at-decl-start, setting it to whether the putative decl starts immediately
	after ; or { or }.  Accept such a construct as a decl when at-decl-start is
	non-nil.

	* lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.

2016-04-25  Eli Zaretskii  <eliz@gnu.org>

	Don't mirror slashes in convert-standard-filename on MS-Windows

	* lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
	slashes into backslashes.  This avoids producing ugly file names,
	and is deemed no longer necessary, and should certainly be
	unrelated to which shell is in use.

2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>

	Revert the disputed VC change and update the tests

	* lisp/vc/vc-hooks.el (vc-working-revision):
	Remove the previous change.
	(vc-state): Same.  And update the old, incorrect comment about
	unregistered files
	(https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).

	* test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
	calling `vc-state' on default-directory (VC state is undefined
	for directories).  Check that `vc-state' returns nil where it
	returned `unregistered' before.  Remove all checks comparing
	invocations with the backend passed in explicitly and without.
	(vc-test--working-revision): Remove all checks comparing
	invocations with the backend passed in explicitly and without.
	Update comments, and add a new one.

2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS: Grammar and punctuation improvements.

2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
	0cd2e92 Don't kill ~/ if it's the top level directory
	4f40f5f describe-char: fix insert char documentation
	87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'

2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	960f90d * etc/AUTHORS: Update the AUTHORS file
	b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash

2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	78f9af7 ; ChangeLog fixes
	162e549 * admin/authors.el (authors-ignored-files): Additions.
	2b31a0c In x_set_window_size restore do_pending_window_change calls
	401857e Fix Alt-modified keys on some European MS-Windows keyboards
	a77cf24 Document 'help-go-forward'
	1ba947f Revert "Allow to customize names of executables used by grep.el"
	570e0fa Revert "Don't use 'find-program'"
	645f4ef Revert "Use 'grep-find-program' in check-declare.el"
	aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
	ce0d8c7 Make tmm-menubar work in correct order again
	b8d5a8f Remove the Meta-CVS VC backend

2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>

	Don't let `css--property-values' return duplicates

	* lisp/textmodes/css-mode.el (css--property-values): Don't return
	duplicate values.

	* test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
	Take the above into account.
	(css-test-property-values-no-duplicates): Test that duplicates aren't
	returned by `css--property-values'.

2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Call `make-composed-keymap' correctly

	* lisp/image-mode.el (image-mode-map): Call
	`make-composed-keymap' correctly.

2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Use `make-composed-keymap' instead of copying the keymap

	* lisp/image-mode.el (image-mode-map): Use
	`make-composed-keymap' instead of copying the keymap.

2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Make `q' etc work in image mode again

	* lisp/image-mode.el (image-mode-map): Restore
	special-mode-map as the parent keymap of image-mode-map (bug#23167).

2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Fix typo in last url.texi checkin

2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Make STARTTLS error messages better

	* lisp/net/network-stream.el (network-stream-open-starttls):
	Output a better error message when TLS negotiation fails while
	doing STARTTLS (bug#23027).

2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Encode the shr tests files with trailing white space

2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>

	Cache results of `css--property-values'

	* lisp/textmodes/css-mode.el (css--property-values): Cache computed
	values.

	* test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
	New regression test for the above.

2016-04-24  Michael Albinus  <michael.albinus@gmx.de>

	Some improvements in vc

	* lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
	Check, whether FILE is registered.

	* lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
	for nonexistent files.

	* test/lisp/vc/vc-tests.el (w32-application-type): Declare.
	(vc-test--revision-granularity-function)
	(vc-test--unregister-function): Use `vc-call-backend'.
	(vc-test--run-maybe-unsupported-function): New defmacro.
	(vc-test--register, vc-test--state, vc-test--working-revision)
	(vc-test--checkout-model): Use it.  Fix also expected results.
	(vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.

2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Document the nil/default values of url-user-agent

	* doc/misc/url.texi (Customization): Document the nil/default
	values of url-user-agent.

2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>

	Compute User-Agent dynamically in url-http

	* lisp/url/url-http.el (url-http-user-agent-string): Compute
	User-Agent string dynamically.
	(url-http--user-agent-default-string): New function.

	* lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
	of information not to send.
	(url-user-agent): Add nil and `default' options; do not
	pre-compute value.

2016-04-24  Jun Hao  <jun_hao@aol.com>

	Handle auth-source items with special characters on OS X

	* lisp/auth-source.el
	(auth-source-macos-keychain-search-items): Handle keychain
	output correctly when has special characters (bug#22824).

2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>

	Implement process-attributes for Darwin

	* src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
	(system_process_attributes): Implement process-attributes
	for Darwin (bug#16579).

2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Use Unicode literals instead of hex values

	* lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
	of hex values for greater readability.
	(shr-tag-bdi): Ditto.

2016-04-24  Steve Purcell  <steve@sanityinc.com>

	Allow _ characters in SQL prompts

	* lisp/progmodes/sql.el (sql-product-alist): Allow _
	characters in SQL prompts (bug#22596).

	Fixes issue 22596, whereby "_" is now not considered a word constituent
	character in sql-interactive-mode, so prompts like "foo_dev# " are not
	correctly detected. Rather than piggy-back on the symbol table, we
	explicitly match against alphanumeric chars or "_".

2016-04-23  Glenn Morris  <rgm@gnu.org>

	When autoload-timestamps is nil, use a dummy timestamp rather than "t".

	* lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
	(autoload-generate-file-autoloads, autoload-find-destination)
	(update-directory-autoloads): Use autoload--non-timestamp.

2016-04-23  Glenn Morris  <rgm@gnu.org>

	* test/lisp/xt-mouse-tests.el: Move from test/automated/.

2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)

	Regexps for matching CMake output

	* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
	regexps for matching CMake output.
	* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
	CMake test cases.
	* etc/compilation.txt (CMake): Add CMake examples.

2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>

	* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):

	Fix docstring quotes.

2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>

	Improve character name escapes

	* doc/lispref/nonascii.texi (Character Properties):
	Avoid duplication of Unicode names.  Reformat examples to fit in
	narrow pages.
	* doc/lispref/objects.texi (General Escape Syntax):
	Simplify and better-organize explanation of \N{...} escapes.
	* src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
	(char_surrogate_p): New inline function.
	* src/lread.c: Do not include string.h; no longer needed.
	(invalid_character_name, check_scalar_value): Remove; the ideas
	behind these functions are now bundled into character_name_to_code.
	(character_name_to_code): Remove undocumented support for "CJK
	IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
	like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
	point in \N escapes instead of returning garbage.  Use
	AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
	* test/src/lread-tests.el (lread-char-number, lread-char-name)
	(lread-string-char-number, lread-string-char-name):
	Test runtime behavior, not compile-time, as the test framework
	is not set up to test compile-time.
	(lread-char-surrogate-1, lread-char-surrogate-2)
	(lread-char-surrogate-3, lread-char-surrogate-4)
	(lread-string-char-number-2, lread-string-char-number-3):
	New tests.
	(lread-string-char-number-1): Rename from lread-string-char-number.

2016-04-21  Philipp Stephani  <phst@google.com>

	Use 'ucs-names' for character name escapes

	* src/lread.c (invalid_character_name, check_scalar_value)
	(parse_code_after_prefix, character_name_to_code): New helper
	functions that use 'ucs-names' and parsing for CJK ideographs.
	(read_escape): Use helper functions.
	(syms_of_lread): New symbol 'ucs-names'.
	* test/src/lread-tests.el: New tests; fix a couple of bugs in
	existing tests.

2016-04-21  Philipp Stephani  <phst@google.com>

	Minor cleanups for character name escapes

	* src/lread.c (init_character_names): Add missing 'void'.
	Remove top-level 'const'.
	(read_escape): Simplify loop a bit.  Remove top-level 'const'.

2016-04-21  Philipp Stephani  <phst@google.com>

	Add documentation for character name escapes

2016-04-21  Philipp Stephani  <phst@google.com>

	Implement named character escapes, similar to Perl

	* src/lread.c (init_character_names): New function.
	(read_escape): Read Perl-style named character escape sequences.
	(syms_of_lread): Initialize new variable 'character_names'.
	* test/src/lread-tests.el (lread-char-empty-name): Add test file
	for src/lread.c.

2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>

	Avoid run-time dependency on libwinpthread DLL on MS-Windows

	* nt/mingw-cfg.site (ac_cv_search_clock_gettime)
	(ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
	present, so that MinGW64 builds don't depend on libwinpthread.
	(Bug#22959)

2016-04-21  Matthew Leach  <matthew@mattleach.net>

	Add LIBSYSTEMD to the list of supported features

	* configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
	message at the end of configure stating whether Emacs will be build
	with libsystemd support.

2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>

	Support absolute column movement in 'ansi-term'

	* lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
	for absolute column movement.  (Bug#23303)

2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>

	Add Python 3.5 keyword "await"

	* lisp/progmodes/python.el (python-font-lock-keywords): Add await as
	keyword.

2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>

	Add "keyframes" to list of CSS at-rules

	* lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.

2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>

	Prevent bootstrap autoload backup files

	* lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
	backups in newly created file.

	(autoload-ensure-default-file): Function split into two.
	(autoload-ensure-file-writeable): New function from split.

	(Bug#23203)

2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>

	Fix org-timestamp-change typo

	Problem reported by Peter Münster (Bug#23299).
	* lisp/org/org.el (org-timestamp-change): Fix typo that relied
	on undocumented behavior in ‘encode-time’.  In practice the
	old code used local time, so use that.

2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid AC_PREPROC_IFELSE glitch in configure.ac

	Problem reported by Angelo Graziosi in:
	https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
	* configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
	AC_PREPROC_IFELSE doesn’t generate a simple shell command.

2016-04-19  Michael Albinus  <michael.albinus@gmx.de>

	autorevert: Resume with polling if file is deleted

	* lisp/autorevert.el: Use consistent wording in comments and
	docstrings.
	(auto-revert-mode): Add local function to `kill-buffer-hook'.
	(auto-revert-notify-handler): Improve handling of `stopped' event.

	* test/lisp/autorevert-tests.el
	(auto-revert-test02-auto-revert-deleted-file): New test.
	(auto-revert-test03-auto-revert-tail-mode)
	(auto-revert-test04-auto-revert-mode-dired): Rename them.

2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	5a0cbe5 Fix Bug#23276
	2007e32 Sync with upstream vhdl mode v3.38.1.
	b6d2552 Tweak configure.ac syntax in recent module patch

2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
	3287f48 ; Add entry to MAINTAINERS
	b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
	0f33284 Make use of rectangle-preview custom variable.
	aa0d83a Make use of rectangle-preview face.
	33bef6e Use 'grep-find-program' in check-declare.el
	a8560e5 Improve "C-h S" for cl-lib symbols
	52e798b Fix minor issues with removing left or right fringes
	d6ffd64 Speed up redisplay in ansi-term mode
	4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
	f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
	ab849b7 Fix w32 memory-management problem when extending buffer text

2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	32364bb substitute-command-keys keeps quotes’ text props
	567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
	24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
	cc0b713 Perform xref searches without visiting unopened files
	5045575 Revert "Prevent bootstrap autoload backup files"

2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>

	* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring

	so that it matches the actual implementation.
	See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html

2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/ispell.el: Compile with lexical-binding

	(declare-function): Don't define any more.
	(ispell-check-minver, ispell-looking-back): Tweak definition so that
	the compiler can obviously know that it's always defined.
	(ispell-debug-buffer): Declare var.
	(ispell-hunspell-fill-dictionary-entry)
	(ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
	(ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
	(ispell-command-loop): Avoid add-to-list on local variables.

2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	Minor fixups for external socket launching

	* configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
	* doc/emacs/misc.texi (Emacs Server):
	* etc/NEWS: Spelling and doc fixes.
	* src/emacs.c (main) [HAVE_LIBSYSTEMD]:
	Check for sd_is_socket returning positive, not zero.
	* src/process.c (external_sock_fd): Instead of initializing here ...
	(init_process_emacs): ... initialize it here, so that it does the
	right thing after dump/restore.
	(connect_network_socket): Simplify socket_to_use test.

2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>

	Add HTML5 tags to HTML mode

	* lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
	(html-tag-help): Add short descriptions of those tags.

2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Finish idna->puny changes in last Message patch

	* lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
	instead of idna functions.

2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Use puny.el instead of idna.el functions in Gnus

	* lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
	Emacs comes with IDNA support built in).
	(article-decode-idna-rhs): Use `puny-decode-domain' instead of
	`idna-to-unicode'.

	* lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.

2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Mention `message-use-idna' in NEWS

2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Default `message-use-idna' to t

	* lisp/gnus/message.el (message-use-idna): Default to t (since
	Emacs comes with puny.el now).

2016-04-16  Matthew Leach  <matthew@mattleach.net>

	Extend battery.el to exotic power supply types

	* lisp/battery.el (battery-linux-sysfs-regexp): Rename from
	'battery--linux-sysfs-regexp' and make a defcustom. All users
	changed.  (Bug#23216)

2016-04-16  Matthew Leach  <matthew@mattleach.net>

	Add external socket launching support

	* src/process.c (connect_network_socket): Allow a pre-allocated socket
	descriptor to be used if passed to Emacs, avoiding the call to
	'socket' and 'bind'.
	(Fmake_network_process): Allow users to pass ':use-external-socket' in
	the parameter plist to use any sockets that have been passed to Emacs.
	(wait_reading_process_output): Call 'socket' and 'bind' every time.
	(syms_of_process): New symbol ':use-external-socket'.
	(set_external_socket_descriptor): New function.
	(external_sock_fd): New variable.
	* src/lisp.h: (set_external_socket_descriptor): New declaration.
	* src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
	passed and call 'set_external_socket_descriptor' to set the external
	socket.
	* src/Makefile.in: Add libsystemd library and C flags to the Emacs
	compilation options.

	* configure.ac: Add new default-on option "systemd" and check for
	libsystemd at configure time.

	* lisp/server.el (server-start): Set ':use-external-socket' to 't' when
	calling 'make-network-process'.

	* etc/NEWS: Document new socket-passing functionality and the configure
	option to disable systemd interaction.

	* doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
	functionality and provide systemd unit examples.
	* doc/lispref/processes.texi (Network Processes): Document new
	'make-network-process' option ':use-external-socket'.

2016-04-16  Matthew Leach  <matthew@mattleach.net>

	Don't spell-check argument of 'cref' TeX macro

	* lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
	macro to skip spell-checking the cref macro argument.

2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify use of O_BINARY

	* src/callproc.c (call_process):
	* src/fileio.c (write_region):
	* src/filelock.c (read_lock_data):
	* src/image.c (x_find_image_fd):
	* src/lread.c (openp):
	* src/sysdep.c (init_random, emacs_fopen):
	* src/unexcw.c (unexec):
	Omit unnecessary use of O_BINARY, since emacs_open now arranges
	that for us.

2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>

	* src/indent.c (Fvertical_motion): Pacify GCC

	5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.

2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>

	Port ‘./autogen.sh git’ to non-clones

	Problem reported by Angelo Graziosi in:
	https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
	* autogen.sh (do_git): Default to false when the arg is ‘all’ but
	there is no ‘.git’.
	(git_common_dir, hooks): New vars.
	(git_config, tailored_hooks, sample_hooks): Use them.

2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>

	Do not require that .git be a directory

	Problem reportyed by Phillip Lord.
	* admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
	* configure.ac, make-dist:
	Do not require that .git be a directory, as 'git worktree' makes
	it a file and not a directory.

2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid now-obsolete function gmm-format-time-string

	* lisp/gnus/message.el (message-insert-formatted-citation-line):
	Use format-time-string instead of obsolete function
	gmm-format-time-string.

2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>

	Support OFFSET and (OFFSET ABBR) time zone rules

	This simplifies Gnus and VC time zone support, by letting them
	feed the output of ‘current-time-zone’ and ‘decode time’ to
	primitives that accept time zone arguments.
	* doc/lispref/os.texi (Time Zone Rules, Time Conversion):
	* etc/NEWS:
	* lisp/gnus/message.el (message-insert-formatted-citation-line):
	* lisp/org/org.el (org-timestamp-format):
	* src/editfns.c (Fformat_time_string, Fdecode_time):
	(Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
	Document new behavior.
	* lisp/gnus/gmm-utils.el (gmm-format-time-string):
	* lisp/vc/add-log.el (add-log-iso8601-time-zone):
	Mark as obsolete, as it is now just an alias or narrow wrapper
	around format-time-string.
	* src/editfns.c (tzlookup): Also support integer OFFSET and
	list (OFFSET ABBR) as time zone rules.
	(Fencode_time): No longer need a special case for a cons ZONE.
	(Fcurrent_time_zone): If the time zone string is missing, compute
	it the same way the other new code does.

2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	ca50981 Improve time zone documentation
	c23c965 Prevent bootstrap autoload backup files
	9344612 Disable multicolor fonts on OS X since they are not supported...
	c41ce1c Capitalize “Universal Time” in documentation
	10597c9 Don't use 'find-program'

2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	b134c20 Sync with gnulib
	bb30fa9 Fix last change on 2016-01-02
	488a72f ; Spelling fixes
	9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
	0e7bcec Avoid crashes due to unreasonably large or small text scaling
	85f257c Improve documentation of 'with-eval-after-load'
	668c7bc Improve handling of non-ASCII characters in Git log messages
	b570769 Remove undefined behavior in OS X dumper.
	97211f3 Fix clipping of xwidgets
	e87fbc0 Improve Lisp-level documentation of tooltips
	9f1786e Faces names should not end in "-face".
	3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
	a1f221b Comint and compile no longer set EMACS
	5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
	a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
	c93ae7a Allow to customize names of executables used by grep.el
	f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
	7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
	a3f1ac2 Avoid infinite loop in 'studlify-word'
	f36df4b Don’t recommend obsolete EMACS env var
	fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...

2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	96d9e78 Fix "Beginning of buffer" error in forward-page
	20686f7 Add a `transient' project type

2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	80128a7 Fix stability confusion in sort-tests
	1e4aa42 Avoid describe-key error with lambdas
	a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
	f501116 Sync with gnulib
	c4963f9 Fix doc for Universal Time

2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)

	Fix alignment rule for CSS

	* lisp/align.el (align-rules-list): Support CSS properties that have
	multiple words.

2016-04-10  Tassilo Horn  <tsdh@gnu.org>

	New custom option for overriding mailcap choices

	* lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
	(mailcap--set-user-mime-data): New function.
	(mailcap-user-mime-data): New customization option.
	(mailcap-select-preferred-viewer): New function.
	(mailcap-mime-info): Use it.

	* doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.

2016-04-10  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#23207

	* src/keyboard.c (read_char): Resume idle timers in case of
	dbus-event, file-notify-event and config-changed-event.
	Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)

2016-04-09  Michael Albinus  <michael.albinus@gmx.de>

	Add vc-backend and vc-responsible-backend tests

	* lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
	(vc-file-clearprops): Use properties on absolute files.

	* test/lisp/vc/vc-tests.el (vc-test--unregister-function):
	Clear file properties.
	(vc-test--register): Add tests for `vc-backend' and
	`vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
	(vc-test--state, vc-test--checkout-model): Catch other errors
	but `vc-not-supported'.
	(vc-test--working-revision): Fix test for RCS and SCCS.  Catch
	other errors but `vc-not-supported'.
	(vc-test-src02-state): Mark as an expected failure.

2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>

	Minor improvements for hash function primitives

	* src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
	hashfn_eq rather than reaching inside them.
	(hashtest_eq, hashtest_eql, hashtest_equal):
	Now constants with initializers.
	(syms_of_fns): Omit no-longer-needed initialization.
	* src/lisp.h (LISPSYM_INITIALLY): New macro.
	(DEFINE_LISP_SYMBOL): Use it.

2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>

	New primitives sxhash-eq, sxhash-eql

	* doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
	* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
	Add sxhash-equal, sxhash-eq, sxhash-eql.
	* lisp/subr.el (sxhash): Now an alias for sxhash-equal.
	* src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n

2016-04-08  Eli Zaretskii  <eliz@gnu.org>

	Teach Dired support parallel execution of commands on MS-Windows

	* lisp/dired-aux.el (dired-shell-stuff-it): Support
	parallel-in-background execution of commands on MS-Windows.
	Test 'w32-shell-dos-semantics' instead of the underlying OS
	when determining whether addition of 'wait' is needed.

2016-04-08  Tino Calancha  <f92capac@gmail.com>

	Make 'dired-do-shell-command' wait for all background jobs

	* lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
	wait until all background jobs exit.  (Bug#23206).

2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>

	Prefer 'font-lock-face to 'face in erc where appropriate

	* lisp/erc/erc-button.el (erc-button-add-face): Prefer
	'font-lock-face to 'face where appropriate.
	* lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
	* lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
	* lisp/erc/erc-goodies.el (erc-controls-propertize)
	* lisp/erc/erc-stamp.el (erc-format-timestamp)
	* lisp/erc/erc-track.el (erc-faces-in)
	* lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
	(erc-display-command, erc-make-notice, erc-highlight-notice)
	(erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
	(erc-display-prompt, erc-display-message-highlight)
	(erc-log-irc-protocol): Ditto.

	* test/lisp/erc/erc-track-tests.el: Converted asserts into ert
	tests.

2016-04-06  Lele Gaifax  <lele@metapensiero.it>

	Add new keywords of Python 3.5

	Python 3.5, released in mid September 2015, introduced a few new
	keywords to better support asynchronous code, "async" and "await"
	in particular. See https://www.python.org/dev/peps/pep-0492/ for
	details. (Bug#21783)
	* lisp/progmodes/python.el (python-rx-constituents): Add async
	def/for/with as block-start and async def as defun.
	* lisp/progmodes/python.el (python-font-lock-keywords): Add async
	def/for/with as keyword.
	* test/automated/python-tests.el (python-indent-after-async-block-1,
	python-indent-after-async-block-2, python-indent-after-async-block-3,
	python-nav-beginning-of-defun-3): New tests to test indentation and
	navigation for the async keyword.

2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)

	Support completion of at-rules in SCSS mode

	lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
	SCSS-specific at-rules.
	(css--at-ids): New buffer-local variable holding the list of at-rules
	for the current mode.
	(css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
	(scss-mode): Set `css--at-ids'.

2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	Enable GCC warnings in developer builds

	However, do not fail; just issue the warnings.  Add an option
	--enable-gcc-warnings=warn-only to configure, to implement this.
	* INSTALL, etc/NEWS: Document this.
	* configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
	(gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
	Don’t treat --with-x-toolkit=no as a special case when configuring
	warnings.

2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Inhibit querying for the encoding of the headers when resending

	* lisp/gnus/message.el (message-resend): Inhibit querying for
	the encoding of the headers when resending.

2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer AUTO_STRING_WITH_LEN to make_formatted_string

	* src/buffer.c (Fgenerate_new_buffer_name):
	* src/filelock.c (get_boot_time):
	* src/minibuf.c (get_minibuffer):
	* src/process.c (make_process):
	* src/xdisp.c (ensure_echo_area_buffers):
	Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
	when either will do.

2016-04-04  Tao Fang  <fangtao0901@gmail.com>

	Allow URL using HTTPS proxies using CONNECT

	* lisp/url/url-http.el (url-http-find-free-connection): Allow
	using proxies (bug#11788).
	(url-http-end-of-document-sentinel): Ditto.
	(url-http): The protocol may change from http to https and
	vice versa.
	(url-https-proxy-connect): Allow using CONNECT proxies for https.

2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>

	New C macro AUTO_STRING_WITH_LEN

	Put a bit less pressure on the garbage collector by defining a
	macro that is like AUTO_STRING but also allows null bytes in strings,
	and by extending AUTO_STRING to work with any unibyte string.
	* src/alloc.c (verify_ascii): Remove; all uses removed.
	AUTO_STRING can now be used on non-ASCII unibyte strings.
	* src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
	(AUTO_STRING_WITH_LEN): New macro.
	* src/coding.c (from_unicode_buffer):
	* src/editfns.c (format_time_string):
	* src/emacs-module.c (module_make_string, module_format_fun_env):
	* src/fileio.c (Fexpand_file_name):
	* src/font.c (font_parse_family_registry):
	* src/ftfont.c (ftfont_get_charset):
	* src/keymap.c (silly_event_symbol_error):
	* src/menu.c (single_menu_item):
	* src/sysdep.c (system_process_attributes):
	Use AUTO_STRING_WITH_LEN if possible.
	* src/emacs-module.c (module_make_function):
	* src/fileio.c (report_file_errno, report_file_notify_error):
	* src/fns.c (Flocale_info):
	* src/sysdep.c (system_process_attributes):
	Use AUTO_STRING if possible.  This is doable more often now
	that AUTO_STRING works on any unibyte string.

2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>

	Port redirect-debugging-output to MS-Windows

	Suggested by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
	* src/print.c [WINDOWSNT]: Include sys/socket.h.
	* src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.

2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>

	Port redirect-debugging-output to non-GNU/Linux

	Problem reported by Kylie McClain for musl in:
	https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
	* etc/DEBUG, etc/NEWS: Mention this.
	* src/callproc.c (child_setup) [!MSDOS]:
	* src/dispnew.c (init_display):
	* src/emacs.c (main, Fdaemon_initialized):
	* src/minibuf.c (read_minibuf_noninteractive):
	* src/regex.c (xmalloc, xrealloc):
	Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
	to make file-descriptor manipulation easier to follow.
	* src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
	now that we make sure stdin, stdout and stderr are open.  All uses
	removed.
	(main): Make sure standard FDs are OK.  Prefer symbolic names like
	EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
	* src/lisp.h (init_standard_fds): New decl.
	* src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
	Remove; no longer needed.
	(Fredirect_debugging_output): Define on all platforms, not just
	GNU/Linux.  Redirect file descriptor, not stream, so that the code
	works even if stderr is not an lvalue.  Report an error if the
	file arg is neither a string nor nil.
	(syms_of_print): Always define redirect-debugging-output.
	* src/sysdep.c (force_open, init_standard_fds): New functions.

2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling fixes

2016-04-03  John Wiegley  <johnw@newartisans.com>

	Revert "Add `r'/`l' grep command history commands"

	This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.

2016-04-03  John Wiegley  <johnw@newartisans.com>

	Revert "Restore the point in grep buffers when traversing the history"

	This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.

2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.

2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	b787d55 More format-time-string change fixups
	13c8f29 make-xwidget unused arg cleanup
	36e05f0 Remove unused arguments from make-xwidget
	1042217 Document incompatible changes in 'format-time-string'
	7228eb8 Improve documentation of byte-code objects
	0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
	17b5152 Improve vc-diff with Git backend
	c28f87a (js--continued-expression-p): Special-case unary plus and minus
	2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
	9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
	b3b523c Avoid crashes due to insanely large columns in tabulated-list...
	a3daa34 Teach M-x disassemble a default argument.
	e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
	df441b3 Fix OS X specific settings in tramp-tests
	2244331 Finish fixing a caching bug in CC Mode (see 2016-03-09)

	# Conflicts:
	#	lisp/net/tramp-sh.el
	#	lisp/progmodes/cc-engine.el

2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Restore the point in grep buffers when traversing the history

	* lisp/progmodes/grep.el (grep-process-setup): Allow moving
	point to a specific place after finishing the grep command.
	(grep-mode): Use it to restore point after traversing the history.
	(grep--history-point): New internal variable.
	(grep--save-history, grep-forward-history): Use it to restore
	the point.

2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Add `r'/`l' grep command history commands

	* doc/emacs/building.texi (Grep Searching): Mention the
	`r'/`l' commands.

	* lisp/progmodes/grep.el (grep-forward-history): New command.
	(grep-backward-history): Ditto.
	(grep--save-buffers): New function.
	(grep): Use it to record the history.
	(grep--command-history, grep--history-inhibit)
	(grep--history-place): New internal variables for the grep
	history (bug#22627).

2016-04-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#23186, again

	* lisp/net/tramp.el (tramp-encoding-shell)
	(tramp-encoding-command-switch)
	(tramp-encoding-command-interactive): Check for
	`w32-shell-name'.  (Bug#23186)

2016-04-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#23186

	* lisp/net/tramp.el (tramp-encoding-command-switch)
	(tramp-encoding-command-interactive):
	* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
	`tramp-encoding-shell' could be nil.  (Bug#23186)

2016-04-03  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#22145

	* lisp/net/tramp-cache.el (tramp-get-connection-property)
	(tramp-set-connection-property, tramp-connection-property-p)
	(tramp-flush-connection-property): Improve docstring.

	* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.

	* lisp/net/tramp.el (tramp-get-local-locale): New defun.

	* test/automated/tramp-tests.el (tramp--test-utf8):
	Improve settings of coding systems.  (Bug#22145)

2016-04-02  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
	9034c50 * doc/man/emacsclient.1: Document +line:column option.
	06495c9 Fix rare problems with echo-area display and multiple frames
	f99b512 In M-%, avoid making buffer-local binding of text-property-de...

2016-04-02  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
	c8b868b Don't start the 'midnight' timer twice
	278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
	e5c17f4 Fix todo-mode category movement
	bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
	cf40f38 Ignore non-nil. non-cons values of unread-command-events
	8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
	fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
	1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
	3a13472 Fix map-put and map-delete for alists (Bug#23105)
	422c3da Minor copyedits of documentation for temporary displays
	90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
	f14d463 Minor doc string fixes in replace.el
	e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
	44782de Fix display of Indic scripts
	326c64f Fix splash screen display at startup
	7ab2a97 ; In NEWS mention new display of minibuffer completions window
	a1cd84c Describe temporary displays in Emacs manual
	5ec1056 Avoid stray As next to IDLW icons
	45577d5 Avoid GTK 3 crash with icons and masks
	e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
	077b78c Define make_save_ptr_ptr unconditionally
	20a1003 Preserve current buffer when popping up TTY menus
	7eba90c Improve font selection by family on MS-Windows
	73d213f Comint, term, and compile now set EMACS
	9524ec5 Ignore more merges when generating ChangeLog
	ad250f2 Sync with gnulib
	c0165ea Resurrect GNUS-NEWS autogeneration
	1e5327c ; Backport ChangeLog.2 fixes from master
	e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
	38a43f1 Fix bug in displaying header line with a box face
	91e6676 Fix an Isearch var to be a string (Bug#23038)
	76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
	8a35f83 Render empty <ul><li><ul> correctly
	d8b2ce5 Ignore invalid base64 encoded embedded images
	52ba24b Fix <p> and <div> newlines with or without <li> in shr
	b8ea08b Avoid errors in 'newline'
	fc3cd53 Fix Bug#23032
	dd2737b Adjudicate review comments in abbrevs.texi
	26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
	413e73b ; Small theme additions
	cd950da Honor prefix arg in doc-view-next-line-or-next-page
	ed909c0 ; Spelling fixes
	6da3a6d Port to strict C99 offsetof
	de7601f Port to GTK with strict C11 compiler
	658aa2d Port to GTK with strict C99 compiler
	1df7173 Avoid screen artifacts with new OS X visible bell after scroll...
	7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
	dca240a Suppress some Tramp tests for OSX, do not merge with master
	9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
	cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
	005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
	9ab03f2 ; Auto-commit of loaddefs files.
	56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
	a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
	79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
	253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
	ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
	d6d164f Avoid segfaults due to frame image cache being absent
	bc7f6f6 Improve documentation of glyphless-character display
	6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
	ee9a1f7 Support safe navigation operator in non-SMIE indentation code
	c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
	2036be4 Fix Ruby's operator precedence
	1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
	7950e1d Port to clang 3.7.0 on x86-64
	218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
	ba33b7c Sync with gnulib
	38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
	dbfbedd Do not tokenize a comment before continuation as ';'
	0403620 Don't misindent arguments of a method call inside continuation
	e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
	8475f3d ASCII-only etc/NEWS etc.
	5cc6919 Fix a caching bug, which led to inordinately slow c-beginnin...
	0ce37ea Fix Isearch prompt when invoked with an argument
	f3033d4 Fix a typo in the Emacs manual
	4235d2d Curved quotes in etc/NEWS etc.
	26b56dc Fix some single quotes in documentation
	80ec484 Make lisp-completion-at-point's argument optional
	9d463ae Tweak the left precedence of '=>'
	5b705bc Indent '.' relative to the first sibling expression
	04f5525 Make '.' associative, for easier sexp navigation
	ba24c99 Revert "Simplify "Visit New File" to "New File""

2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler

	Use #' to quote functions.
	(erc-server-delayed-reconnect): Remove unused arg `event'.
	(erc-process-sentinel-2): Adjust accordingly.
	Don't pass `err' to condition-case if we don't use it.
	(define-erc-response-handler): Use add-hook rather than add-to-list.
	(NICK): Use cl-pushnew rather than add-to-list.
	(331): Remove unused var `topic'.
	(352): Remove unused var `hopcount'.

2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>

	Support macros in 'func-arity'

	* src/eval.c (Ffunc_arity): Support Lisp macros as well.

2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>

	Fix compilation of Cygwin w32 port

	* src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
	initialize and free the notification set if compiling with
	w32notify feature.

2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>

	Fix resize incompatibility with GTK+ master

	Problem reported by Matthias Clasen (Bug#23144).
	* src/xterm.c (handle_one_xevent) [USE_GTK]:
	Do not call xg_frame_resized.

2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix check for subscript errors in module calls

	* src/emacs-module.c (check_vec_index): New function.
	(module_vec_set, module_vec_get): Use it instead of a
	not-strict-enough check.

2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>

	Support completion of bang-rules in CSS mode

	lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
	holding the list of bang-rules for the current mode.
	(css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
	instead of computing them.
	(css--complete-bang-rule): New function for completing a bang-rule.
	(css-completion-at-point): Add support for completing bang-rules.
	(scss-font-lock-keywords): Change from a variable to a function in
	order to recompute `css--font-lock-keywords' when `css--bang-ids' has
	changed.
	(scss-mode): Set `css--bang-ids' and recompute font-lock keywords.

2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>

	Add HTML4 tags to HTML mode

	* lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
	(html-tag-help): Add short descriptions of those tags.

2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify --enable-gcc-warnings for buffer-hash etc.

	* src/fns.c (make_digest_string): Now static.
	(secure_hash): Omit unused local.

2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>

	Add support for 7z archives

	* lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
	  also work with 7z archives.

	The shell command should produce a single extracted directory named
	after the archive's name.

	In case the extracted directory exists, all files will be overwritten
	without a prompt. This matches the expected behavior with the "tar.gz"
	archives.

2016-03-29  Nicolas Petton  <nicolas@petton.fr>

	* lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra

2016-03-29  Michael Albinus  <michael.albinus@gmx.de>

	Fix typo in network-stream-tests.el

	* test/lisp/net/network-stream-tests.el
	(connect-to-tls-ipv6-nowait): Fix typo.

2016-03-29  Nicolas Petton  <nicolas@petton.fr>

	New function seq-sort-by in seq.el

	* lisp/emacs-lisp/seq.el (seq-sort-by): New function.
	* test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
	* doc/lispref/sequences.texi: Add documentation for seq-sort-by.

2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Mention the `M-q' changes

2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Have `M-q' not mark buffers are changed when they haven't

	* lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
	to avoid marking buffers as changed when they haven't.

2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Add a new function `buffer-hash'

	* doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.

	* src/fns.c (Fbuffer_hash): New function.
	(make_digest_string): Refactored out into its own function.
	(secure_hash): Use it.

	* test/src/fns-tests.el (fns-tests-hash-buffer): New tests.

2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Rename C names to match Lisp symbols better

	This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
	which fixed a bug where the C name for a symbol disagreed with the
	symbol name itself.  Fix other instances of disagreements that I found.
	Although this doesn’t fix a bug, it should make code easier to follow.
	The remaining disagreements are idiosyncratic: Qminus, Qplus,
	Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
	All uses changed.
	* src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
	* src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
	(QCsession): Rename from QCdbus_session_bus.
	(QCtimeout): Rename from QCdbus_timeout.
	(QCbyte): Rename from QCdbus_type_byte.
	(QCboolean): Rename from QCdbus_type_boolean.
	(QCint16): Rename from QCdbus_type_int16.
	(QCuint16): Rename from QCdbus_type_uint16.
	(QCint32): Rename from QCdbus_type_int32.
	(QCuint32): Rename from QCdbus_type_uint32.
	(QCint64): Rename from QCdbus_type_int64.
	(QCuint64): Rename from QCdbus_type_uint64.
	(QCdouble): Rename from QCdbus_type_double.
	(QCstring): Rename from QCdbus_type_string.
	(QCobject_path): Rename from QCdbus_type_object_path.
	(QCsignature): Rename from QCdbus_type_signature.
	(QCunix_fd): Rename from QCdbus_type_unix_fd.
	(QCarray): Rename from QCdbus_type_array.
	(QCvariant): Rename from QCdbus_type_variant.
	(QCstruct): Rename from QCdbus_type_struct.
	(QCdict_entry): Rename from QCdbus_type_dict_entry.
	(QCserial): Rename from QCdbus_registered_serial.
	(QCmethod): Rename from QCdbus_registered_method.
	(QCsignal): Rename from QCdbus_registered_signal.
	* src/emacs-module.c (Qinternal__module_call):
	Rename from Qinternal_module_call.
	* src/frame.c (Qwindow__pixel_to_total):
	Rename from Qwindow_pixel_to_total.
	* src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
	(QCpriority): Rename from QCgnutls_bootprop_priority.
	(QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
	(QCkeylist): Rename from QCgnutls_bootprop_keylist.
	(QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
	(QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
	(QCloglevel): Rename from QCgnutls_bootprop_loglevel.
	(QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
	(QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
	(QCverify_error): Rename from QCgnutls_bootprop_verify_error.
	* src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
	(Qgnutls): Rename from Qgnutls_dll.
	(Qlibxml2): Rename from Qlibxml2_dll.
	(Qzlib): Rename from Qzlib_dll.
	* src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
	* src/window.c (Qwindow__resize_root_window):
	Rename from Qwindow_resize_root_window.
	(Qwindow__resize_root_window_vertically):
	Rename from Qwindow_resize_root_window_vertically.
	(Qwindow__sanitize_window_sizes):
	Rename from Qwindow_sanitize_window_sizes.
	(Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
	* src/xdisp.c (Qredisplay_internal_xC_functionx):
	Rename from Qredisplay_internal.
	* src/xfns.c (Qfont_parameter): Rename from Qfont_param.
	* src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.

2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>

	func-arity minor improvements

	* src/bytecode.c (get_byte_code_arity): Omit unnecessary
	runtime test for integer argument, unless debugging.
	Use EMACS_INT for Emacs integers.
	* src/eval.c (Ffunc_arity): Omit unused locals.
	Avoid side effects in ‘if’ expr.
	(lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.

2016-03-26  John Wiegley  <johnw@newartisans.com>

	Restore the fix to bug#18527 from commit d6868025

2016-03-26  Martin Rudalics  <rudalics@gmx.at>

	Safely run window size change functions

	* src/window.c (run_window_size_change_functions): Use
	safe_call1 when running a size change function.
	(grow_mini_window, shrink_mini_window): Report error when
	minibuffer window cannot be resized.

2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>

	Implement 'func-arity'

	* src/eval.c (Ffunc_arity, lambda_arity): New functions.
	* src/bytecode.c (get_byte_code_arity): New function.
	* src/lisp.h (get_byte_code_arity): Add prototype.

	* doc/lispref/functions.texi (What Is a Function): Document
	'func-arity'.

	* etc/NEWS: Mention 'func-arity'.

	* test/src/fns-tests.el (fns-tests-func-arity): New test set.

2016-03-25  Alan Mackenzie  <acm@muc.de>

	Fix absence of c-noise-macro-name-re, etc., in languages which don't use it

	* lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
	(c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
	(c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
	c-noise-macro-with-parens-name-re.

	* lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
	cc-engine.el.

	* lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
	`c-make-noise-macro-regexps'.
	(c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.

	* lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
	(c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.

2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	(shr-insert): Respect non-breaking space in non-<pre> text

	* lisp/net/shr.el (shr-insert): Respect non-breaking space in
	non-<pre> text.

2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	parse-times-string doc string clarification

	* lisp/calendar/parse-time.el (parse-time-string): Note that
	we accept RFC2822 strings.

2016-03-25  Marcin Borkowski  <mbork@mbork.pl>

	Doc string fix

	* lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
	doc string and clean up code.

2016-03-25  Michael Albinus  <michael.albinus@gmx.de>

	Cleanup file notification code in Tramp

	* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
	Make `events' a list of symbols for "inotifywait".
	(tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
	Call `file-notify-handle-event' for better traces.
	(tramp-sh-inotifywait-process-filter): Check for expected events.
	Call `file-notify-handle-event' for better traces.

2016-03-24  Michael Albinus  <michael.albinus@gmx.de>

	Adapt filenotify-tests.el according latest tests

	* test/lisp/filenotify-tests.el (file-notify-test02-events)
	(file-notify-test04-file-validity, file-notify-test05-dir-validity):
	Remove superfluous `read-event' calls.
	(file-notify-test02-events): Expect different events under MS
	Windows 7 and 10.
	(file-notify-test04-file-validity): Move `file-notify-valid-p'
	check up.

2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	ad250f2 Sync with gnulib
	c0165ea Resurrect GNUS-NEWS autogeneration

	# Conflicts:
	#	etc/GNUS-NEWS
	#	lisp/Makefile.in

2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
	38a43f1 Fix bug in displaying header line with a box face

2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/NEWS: Use straight quotes.

2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>

	Support completion of attribute values in CSS mode

	* lisp/textmodes/css-mode.el (css-property-alist): New defconst
	holding CSS identifiers and the values they can have.
	(css-property-ids): Compute dynamically from `css-property-alist'.
	(css-value-class-alist): New defconst holding property value classes
	and their values.
	(css--property-value-cache): New variable providing a cache for
	`css--property-values'.
	(css--value-class-lookup): New function for computing a list of values
	in a value class.
	(css--property-values): New function for computing a list of possible
	values for a CSS property.
	(css--complete-property-value): New function for completing a property
	value.
	(css-completion-at-point): Add support for completing property values.
	* test/lisp/textmodes/css-mode-tests.el: New file.

2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>

	Sync with verilog-mode development tree.

	* lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
	verilog-speedbar-initialize): Automatically add verilog-mode
	extensions when in speedbar mode, bug1045, bug1046.  Reported by
	David Shleifman.
	(verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
	avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
	(verilog-read-always-signals-recurse): Fix :: notation for
	auto-reset signals.  Reported by Andrew Jones.
	(verilog-font-lock-grouping-keywords-face): Fix highlighting of
	grouping keywords, bug1002. Reported by Paul Sargent.
	(verilog-save-font-no-change-functions): Commentary and fix
	pre-Emacs 21 behavior.

2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>

	Compute a better commit message for merges

	Problem reported by David Engster in:
	https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
	* admin/gitmerge.el (gitmerge-commit-message):
	Truncate the computed commit message to at most 72 characters per line.
	(gitmerge-maybe-resume): Don’t use "-" as the commit message for
	merges; use the computed commit message instead.

2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>

	* admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".

2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>

	Change do-not-merge pattern to "do not merge"

	This should avoid the problem we recently had with
	automatically-generated merge messages, while still letting people
	specify commits not to merge.
	* admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
	(gitmerge-highlight-skip-regexp): Fold case when searching
	for gitmerge-skip-regexp.

2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	91e6676 Fix an Isearch var to be a string (Bug#23038)
	76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect

2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>

	-

	-

2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>

	Keep "merge" commits by default in gitmerge

	* admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
	causes false positives.  See:
	https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html

2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>

	Assume NON_BLOCKING_CONNECT (Bug#22946)

	* lisp/proced.el (proced-signal-list): Omit comment about
	obsolete systems that do not support POSIX 1003.1-2001 signals.
	* src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
	assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
	(connect_network_socket): Assume EINPROGRESS is defined,
	as that’s portable too now.
	(Fmake_network_process): Use bool for boolean.

2016-03-21  Eli Zaretskii  <eliz@gnu.org>

	Fix problems caused by new implementation of sub-word mode

	* lisp/subr.el (forward-word-strictly, backward-word-strictly):
	New functions.
	(word-move-empty-char-table): New variable.

	* etc/NEWS: Mention 'forward-word-strictly' and
	'backward-word-strictly'.

	* doc/lispref/positions.texi (Word Motion): Document
	'find-word-boundary-function-table', 'forward-word-strictly', and
	'backward-word-strictly'.  (Bug#22560)

	* src/syntax.c (syms_of_syntax)
	<find-word-boundary-function-table>: Doc fix.

	* lisp/wdired.el (wdired-xcase-word):
	* lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
	(texinfo-copy-section-title, texinfo-start-menu-description)
	(texinfo-copy-menu-title, texinfo-specific-section-type)
	(texinfo-insert-node-lines, texinfo-copy-next-section-title):
	* lisp/textmodes/texinfo.el (texinfo-clone-environment)
	(texinfo-insert-@end):
	* lisp/textmodes/texinfmt.el (texinfo-format-scan)
	(texinfo-anchor, texinfo-multitable-widths)
	(texinfo-multitable-item):
	* lisp/textmodes/tex-mode.el (latex-env-before-change):
	* lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
	* lisp/skeleton.el (skeleton-insert):
	* lisp/simple.el (count-words):
	* lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
	(vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
	(vhdl-update-sensitivity-list, vhdl-template-block)
	(vhdl-template-break, vhdl-template-case, vhdl-template-default)
	(vhdl-template-default-indent, vhdl-template-for-loop)
	(vhdl-template-if-then-use, vhdl-template-bare-loop)
	(vhdl-template-nature, vhdl-template-procedural)
	(vhdl-template-process, vhdl-template-selected-signal-asst)
	(vhdl-template-type, vhdl-template-variable)
	(vhdl-template-while-loop, vhdl-beginning-of-block)
	(vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
	* lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
	(verilog-forward-sexp, verilog-beg-of-statement)
	(verilog-set-auto-endcomments, verilog-backward-token)
	(verilog-do-indent):
	* lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
	(vera-indent-block-closing):
	* lisp/progmodes/simula.el (simula-context)
	(simula-backward-up-level, simula-forward-down-level)
	(simula-previous-statement, simula-next-statement)
	(simula-skip-comment-backward, simula-calculate-indent)
	(simula-find-if, simula-electric-keyword):
	* lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
	* lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
	(ruby-smie--forward-token, ruby-smie--backward-token)
	(ruby-singleton-class-p, ruby-calculate-indent)
	(ruby-forward-sexp, ruby-backward-sexp):
	* lisp/progmodes/ps-mode.el (ps-run-goto-error):
	* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
	(perl-syntax-propertize-special-constructs)
	(perl-backward-to-start-of-continued-exp):
	* lisp/progmodes/pascal.el (pascal-indent-declaration):
	* lisp/progmodes/octave.el (octave-function-file-p):
	* lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
	* lisp/progmodes/js.el (js--forward-function-decl):
	* lisp/progmodes/idlwave.el (idlwave-show-begin-check)
	(idlwave-beginning-of-block, idlwave-end-of-block)
	(idlwave-block-jump-out, idlwave-determine-class):
	* lisp/progmodes/icon.el (icon-is-continuation-line)
	(icon-backward-to-start-of-continued-exp, end-of-icon-defun):
	* lisp/progmodes/hideif.el (hide-ifdef-define):
	* lisp/progmodes/f90.el (f90-change-keywords):
	* lisp/progmodes/cperl-mode.el (cperl-electric-pod)
	(cperl-linefeed, cperl-electric-terminator)
	(cperl-find-pods-heres, cperl-fix-line-spacing)
	(cperl-invert-if-unless):
	* lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
	* lisp/progmodes/cc-align.el (c-lineup-java-inher):
	* lisp/progmodes/ada-mode.el (ada-compile-goto-error)
	(ada-adjust-case-skeleton, ada-create-case-exception)
	(ada-create-case-exception-substring)
	(ada-case-read-exceptions-from-file, ada-after-keyword-p)
	(ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
	(ada-get-indent-if, ada-get-indent-block-start)
	(ada-get-indent-loop, ada-get-indent-type)
	(ada-search-prev-end-stmt, ada-check-defun-name)
	(ada-goto-decl-start, ada-goto-matching-start)
	(ada-goto-matching-end, ada-looking-at-semi-or)
	(ada-looking-at-semi-private, ada-in-paramlist-p)
	(ada-search-ignore-complex-boolean, ada-move-to-start)
	(ada-move-to-end, ada-which-function, ada-gen-treat-proc):
	* lisp/net/quickurl.el (quickurl-grab-url):
	* lisp/mail/sendmail.el (mail-do-fcc):
	* lisp/mail/rmail.el (rmail-resend):
	* lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
	* lisp/mail/mail-extr.el (mail-extract-address-components):
	* lisp/json.el (json-read-keyword):
	* lisp/files.el (insert-directory):
	* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
	* lisp/completion.el (symbol-under-point, symbol-before-point)
	(symbol-before-point-for-complete, next-cdabbrev)
	(add-completions-from-c-buffer):
	* lisp/cedet/semantic/texi.el (semantic-up-context)
	(semantic-beginning-of-context):
	* lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
	use 'forward-word-strictly' and 'backward-word-strictly' instead
	of 'forward-word' and 'backward-word'.

	[This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
	which was inadvertently lost by merge commit
	c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]

2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	* etc/TODO: Minor quoting and grammar fixes.

	[This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
	which was inadvertently lost by merge commit
	5ab243f40e4db91586ff74b01a775a5218a1d5be.]

2016-03-21  Alan Mackenzie  <acm@muc.de>

	Don't confuse "::" with ":" when trying to parse member initializers.

	* lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
	more robustly for ":" token when searching backwards for it.

	* lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
	language variable.

	[This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
	which was inadvertently lost by merge commit
	7823745acbe9b87eea2db4ef434e379fc903ec35.]

2016-03-21  Eli Zaretskii  <eliz@gnu.org>

	Ensure positive number of glyphs for margins of positive width

	* src/dispnew.c (margin_glyphs_to_reserve): Always return a
	positive value when a non-zero width of the marginal area was
	requested.  (Bug#22356)

	[This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
	which was inadvertently lost by merge commit
	7823745acbe9b87eea2db4ef434e379fc903ec35.]

2016-03-21  Alan Mackenzie  <acm@muc.de>

	In comment-dwim with style `extra-line', respect indent-tabs-mode.

	This fixes bug #22369.

	* lisp/newcomment.el (comment-make-bol-ws): New function.
	(comment-make-extra-lines): Use new function instead of a crude `make-string'.

	[This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
	which was inadvertently lost by merge commit
	7823745acbe9b87eea2db4ef434e379fc903ec35.]

2016-03-21  Eli Zaretskii  <eliz@gnu.org>

	Merge doc fixes for 'random' lost in previous merge

	[This reapplies part of commit
	3ffe81e245d854a694ae1734f1b6a995bdc5e724,
	which was inadvertently lost by merge commit
	7823745acbe9b87eea2db4ef434e379fc903ec35.]
	(Bug#22202)

2016-03-21  Eli Zaretskii  <eliz@gnu.org>

	Unhide the --no-line-directive option to 'etags'

	* lib-src/etags.c (print_help): Un-undocument the --no-line-directive
	option.  (Bug#22306)

	* doc/man/etags.1: Document the --no-line-directive option.

	[This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
	which was inadvertently lost by merge commit
	7823745acbe9b87eea2db4ef434e379fc903ec35.]

2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)

	Fix picture-mode wrt double-width characters

	* lisp/textmodes/picture.el (picture-insert): Check the width of
	the character being replaced, not just that of the replacement.
	(Bug#1808)

	[This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
	which was inadvertently lost by merge commit
	7823745acbe9b87eea2db4ef434e379fc903ec35.]

2016-03-20  Martin Rudalics  <rudalics@gmx.at>

	Resurrect earlier fix of resize_frame_windows

	* src/window.c (resize_frame_windows): Resurrect earlier fix for
	calculating the number of columns of the minibuffer window which
	was lost in subsequent merges.

2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Move the cert files to the data directory

2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Further empty <li> tweaks

	* lisp/net/shr.el (shr-tag-li): When showing several empty
	<li> elements, ensure that they really get inserted on a new line.

2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Don't remove too much white space at the end of documents

	* lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
	remove too much white space -- leave it on the last line (in
	case there's a background color).

2016-03-20  Alan Mackenzie  <acm@muc.de>

	Amend parse-partial-sexp correctly to handle two character comment delimiters

	Do this by adding a new field to the parser state: the syntax of the last
	character scanned, should that be the first char of a (potential) two char
	construct, nil otherwise.
	This should make the parser state complete.
	Also document element 9 of the parser state.  Also refactor the code a bit.

	* src/syntax.c (struct lisp_parse_state): Add a new field.
	(SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
	(internalize_parse_state): New function, extracted from scan_sexps_forward.
	(back_comment): Call internalize_parse_state.
	(forw_comment): Return the syntax of the last character scanned to the caller
	when that character might be the first of a two character construct.
	(Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
	(scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
	information via the address parameter `state'.  Remove the code which converts
	from external to internal form of `state'.  Access buffer contents only from
	`from' onwards.  Reformulate code at the top of the main loop correctly to
	recognize comment openers when starting in the middle of one.  Call
	forw_comment with extra argument (for return of syntax value of possible first
	char of a two char construct).
	(Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
	doc string.  Clarify the doc string in general.  Call
	internalize_parse_state.  Take account of the new elements when consing up the
	output parser state.

	* doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
	element 10.  Minor wording corrections (remove reference to "trivial
	cases").
	(Low Level Parsing): Minor corrections.

	* etc/NEWS: Note new element 10, and documentation of element 9 of parser
	state.

2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Allow the shr test files to have trailing blank space.

	* .gitattributes: Allow the shr test files to have trailing
	blank space.

2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Add tests for empty <ul><li>

2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	* src/alloc.c (purecopy): Use AUTO_STRING.

2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Ignore invalid base64 encoded embedded images

	* lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
	encoded embedded images (bug#22928).

2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Render empty <ul><li><ul> correctly

	* lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
	correctly (bug#22964).

2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Fix <p> and <div> newlines with or without <li> in shr

	* lisp/net/shr.el (shr-ensure-newline): Respect that we're in
	a <li>, if we are, and don't insert newlines there.
	(shr-ensure-paragraph): When mixing newlines and paragraph
	ensurements, don't insert too many blank lines.
	(shr-tag-div): A <div> shouldn't introduce a paragraph, but a
	new line.

2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Add more shr HTML rendering tests

	Add a test harness for shr HTML rendering and one test

2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Remove code left over from when overlays were used for padding

	* lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
	(shr-remove-trailing-whitespace): Ditto.
	(shr-insert-document): Don't call them.

2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Remove trailing blank lines in shr

	* lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
	(shr-insert-document): Use it to remove trailing blank lines
	at the end of documents, since these never seem to be very useful.

2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Don't bug out on nil `patch-buf' arguments

	* lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
	`patch-buf' arguments.

2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>

	Add a Catalan language environment

	* lisp/international/mule-cmds.el (locale-language-names): Map locale
	  language name `ca' to language environment `Catalan'.

	* lisp/language/european.el: Add definition of language
	environment for the Catalan language.

	* lisp/leim/quail/latin-pre.el: Add quail rule to the
	`catalan-prefix' input method to support input of middle dot
	characters through composition (bug#18279).

2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	No need to block input when reading directories

	* src/dired.c: Don’t include blockinput.h.
	(open_directory, directory_files_internal_unwind)
	(directory_files_internal, file_attributes):
	Don’t block input here, as the reasons for blocking input should
	no longer apply.  See blockinput.h FIXME.  (Bug#22996).

2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>

	* lisp/vc/vc-hooks.el: Fix typo

2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>

	Improve w32notify notifications

	* src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
	(struct notification): 'terminate' is now a HANDLE.
	(send_notifications): Argument is now a pointer to a
	notification.  Don't loop waiting for the notification to be
	acknowledged by the main thread; instead, just add the
	notification to the linked list of notifications waiting to be
	acknowledged.
	(watch_end): Don't close the directory handle.
	(watch_completion): Allocate a new notification structure to be
	added to the notifications set.  Call ReadDirectoryChangesW
	immediately after adding the new notification, and before sending
	a message to the main thread about them.
	(watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
	call it just once -- it will be called again in watch_completion.
	Loop waiting for the main thread's indication to terminate.
	(start_watching): Create the event to be used to indicate to the
	worker thread that its should terminate.
	(remove_watch): Indicate to the worker thread that it should
	terminate.
	* src/w32term.c (queue_notifications): Loop over all the
	notifications in the linked list, processing all of them in one
	go.
	* src/w32inevt.c (handle_file_notifications): Loop over all the
	notifications in the linked list.
	* src/w32xfns.c (init_crit): Initialize the linked list of file
	notifications.
	(delete_crit): Free the linked list of file notifications,
	including any unprocessed notifications left in it.
	* src/w32term.h (struct notifications_se): New struct.

	* test/lisp/filenotify-tests.el (file-notify-test02-events)
	(file-notify-test05-dir-validity): Add read-event calls to
	facilitate event recognition by the main thread in batch mode.

2016-03-17  Sam Steingold  <sds@gnu.org>

	make `vc-log-operation' buffer local to allow multiple simultaneous editing

2016-03-17  Glenn Morris  <rgm@gnu.org>

	Simplify some rococo Gnus code that loads or tests for other libraries.

	* lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
	* lisp/gnus/mml-smime.el (epg): Simply require it.
	(mml-smime-use): Simplify the default.  Doc fix.
	* lisp/gnus/mml2015.el (epg-config): Require it.
	(mml2015-use): Simplify the default.
	* lisp/gnus/smime.el (password-cache): Simply require it.
	(password-read-and-add): Remove declaration.

2016-03-16  Glenn Morris  <rgm@gnu.org>

	* test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.

2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
	    Alex Harsanyi  <AlexHarsanyi@gmail.com>

	Sync with soap-client repository, version 3.1.1

	* lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
	message.
	(soap-find-port): Delete trailing whitespace.
	(soap-find-operation): Fix documentation and rename parameter.
	(soap-find-port): Likewise.
	(soap-operation-arity): Likewise.

	* lisp/net/soap-client.el: Update copyright years.
	(soap-warning): Fix docstring quoting.
	(soap-decode-date-time): Likewise.
	(soap-validate-xs-simple-type): Remove tabs for indentation.
	* lisp/net/soap-inspect.el: Update copyright years.

	* lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
	assume xsd:base64Binary values are UTF-8 strings.
	(soap-decode-xs-basic-type): Likewise.
	(soap-invoke): Document xsd:base64Binary handling.

	* lisp/net/soap-client.el (soap-find-port, soap-find-operation)
	(soap-operation-arity): new defuns
	(soap-invoke-internal): use soap-find-port, soap-find-operation.

2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This incorporates:
	2016-03-15 std-gnu11: improve clang support
	* m4/std-gnu11.m4: Copy from gnulib.

2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Disable MOVE more for Dovecot

	* lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
	disable MOVE when expirying.
	(nnimap-split-incoming-mail): And when splitting mail.

2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Don't use MOVE on Dovecot

	* lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
	MOVE on Dovecot, since it's broken in many versions.
	(nnimap-quirks): Mark MOVE on Dovecot as non-working.

2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>

	Improve diff hunk headers when maintaining Emacs

	* .gitattributes: Improve diff hunk header support for makefiles,
	shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
	Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
	somewhere (sometimes just in test cases).
	* autogen.sh: Add regexes for makefiles and shell scripts.

2016-03-12  Eli Zaretskii  <eliz@gnu.org>

	Update handling of <bdo> per Unicode 9.0

	* lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
	Unicode 9.0 changes in UAX#9, paragraph 2.7.

2016-03-11  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	facb5e2 Update Emacs manual section related to character folding
	4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
	f8df21b Update admin/notes/unicode
	950be68 Add symref-filepattern entries for c?perl-mode
	8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
	985dacf ; NEWS update for the last change in etags
	741a6f8 Sync with gnulib
	7352c6c Rework C source files to avoid ^(
	a589e9a By default, etags produces unqualified Perl tag names
	72c7438 Indent methods with keyword names correctly
	28532a9 Propertize character literals and special global variables
	        differently
	a7d6f39 ; Fix last change in NEWS
	83b2a20 Change how /etc/NEWS presents character folding
	b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
	        off by default""
	711ca36 Properly handle lambda as read function (bug 22961)
	1b9d616 Propertize operator symbol names with symbol syntax class
	9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
	366ec77 Allow using the left shift operator without spaces on both sides
	02bf7cc Properly handle unquoting in wdired (bug 22938)
	16cf469 ; Spelling fix and tighten up comment
	f50bc04 Allow splat operator before percent literal
	991c801 Don't apply the return value of goto-char as syntax class
	6e63b3e Guard against nested percent literals
	066f3bc Recognize iuwu-mod after an escaped newline
	6f7a57c Fix symbolic mode string conversion for s and t
	50b9826 Update 'ucs-names' database
	993b2fb Improve doc string of 'shell-command'
	b71c717 Make the code in movemail_strftime more general
	cc057e4 Speed up redisplay of binary files with long series of nulls
	e51b27e Remove the highlighting support for quoting 'like this' inside
	        Lisp docstrings
	b1abce1 Restore leading space in movemail pop output
	98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
	dc9d837 Don't misindent computed property generator methods
	7923112 Fix mbox files produced by movemail on MS-Windows
	c45a1ca doc string file descriptor exhaustion fix
	265141b Fix Bug#22814

2016-03-11  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	620951f Fix previous fix of enlarge-/shrink-window
	2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
	66d2717 Complete temperature units in calc-convert-temperature
	dbb02bf Make sure to use case-sensitive search
	8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
	100346a Add the missing test case for the previous patch
	5aba61e Use the correct dabbrev expansion

2016-03-11  Michael Albinus  <michael.albinus@gmx.de>

	Remove compat code in Tramp

	* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
	Remove compat code.

2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.

	Use #' for function names.
	(latex-complete-envnames): Include existing environments in
	current buffer.
	(latex-insert-block): Use latex-complete-envnames.
	(tildify-foreach-ignore-environments): Declare.

2016-03-10  Alain Schneble  <a.s@realize.ch>

	Fix asynchronous TLS connections on MS-Windows

	* src/w32.c (sys_write): Don't switch the socket to blocking mode
	if the connection attempt is in progress.  Instead, return either
	EWOULDBLOCK immediately if the connection is in progress, or the
	error code produced by '_sys_wait_connect' if the connection
	failed.  Switching the socket to blocking mode was found to
	interfere with GnuTLS handshake.  (Bug#22789)

2016-03-10  Alan Mackenzie  <acm@muc.de>

	Clarify the documentation of nested comments.

	* doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
	style are recognized inside nestable comments.
	(Low-Level Parsing): Clarify that parsing will stop after the start or end of
	UNNESTED comments.

2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>

	Add new function display-buffer-reuse-mode-window

	* lisp/window.el (display-buffer-reuse-mode-window): New function.
	* doc/lispref/windows.texi (Display Action Functions): Document it.

2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>

	Minor fixes for getaddrinfo_a usage

	* src/process.c (Fdelete_process): Check gai_cancel return value.
	That way, there’s no need to invoke gai_error.  Check gai_suspend
	return value.
	(Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
	string.  Simplify call to connect_network_socket.
	(check_for_dns): Avoid unnecessary initialization of local.

2016-03-09  Sam Steingold  <sds@gnu.org>

	declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'

	The former avoids a compiler warning, the latter fixes a bug whereas
	the variable is compiled as lexical instead of dynamic.

2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify --enable-gcc-warnings

	* src/xfns.c (x_create_tip_frame): Omit unused local.
	(Fx_show_tip): Don’t jump over auto initialization.

2016-03-07  Martin Rudalics  <rudalics@gmx.at>

	Optionally reuse tooltip frames instead of deleting/recreating them.

	* src/frame.c (tooltip_reuse_hidden_frame): New option.
	* src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
	handling of dividers.
	(x_hide_tip): New function.
	(Fx_show_tip): Try to reuse old tooltip frame when
	`tooltip-reuse-hidden-frame' is non-nil and frame parameters
	have not changed.  Insert STRING here instead of passing it to
	x_create_tip_frame.  Compute size of tooltip window with
	Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
	padding tooltip window.
	(Fx_hide_tip): Call x_hide_tip.
	(Vw32_tooltip_extra_pixels): New variable.
	* src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
	value.  Fix doc-string.
	* src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
	make_frame with mini_p argument false.
	(x_hide_tip): New function.
	(Fx_show_tip): Try to reuse old tooltip frame when
	`tooltip-reuse-hidden-frame' is non-nil and frame parameters
	have not changed.  Insert STRING here instead of passing it to
	x_create_tip_frame.  Compute size of tooltip window with
	Fwindow_text_pixel_size.
	(Fx_hide_tip): Call x_hide_tip.
	* lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
	customization entry.

2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	Assume getaddrinfo in C code

	* admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
	All uses removed.
	* doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
	Say that port numbers can be integer strings.
	* lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
	(socket_connection): Assume HAVE_GETADDRINFO.
	* lisp/mpc.el (mpc--proc-connect):
	* lisp/net/network-stream.el (open-network-stream):
	It’s now OK to use integer strings as port numbers.
	* src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
	(Fmake_network_process): Assume HAVE_GETADDRINFO.

2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	Remove support for IRIX

	The IRIX port wasn’t really working anyway, and the code was
	getting in the way of other changes (e.g., getaddrinfo fixes).
	IRIX’s supplier dropped support for IRIX in 2013.
	* admin/CPP-DEFINES:
	* configure.ac (opsys):
	* doc/lispref/os.texi (System Environment):
	* etc/MACHINES, etc/PROBLEMS:
	* lisp/find-dired.el (find-grep-options):
	* lisp/lpr.el (lpr-lp-system):
	* lisp/ls-lisp.el (ls-lisp-emulation):
	* lisp/mail/rmail.el (rmail-spool-directory):
	* lisp/net/net-utils.el (ping-program-options):
	* lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
	* lisp/progmodes/ps-mode.el (ps-mode-print-function):
	* src/conf_post.h [IRIX6_5]:
	* src/emacs.c (Vsystem_type):
	* src/filelock.c (get_boot_time_1):
	* src/process.c (process_send_signal):
	* src/unexelf.c (unexec):
	Omit IRIX-specific code and/or documentation.
	* configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
	Remove.  All uses removed.
	* etc/NEWS: Document the change.

2016-03-06  John Wiegley  <johnw@newartisans.com>

	Revert "Use colors in the VC mode lines"

	This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.

2016-03-06  Ken Brown  <kbrown@cornell.edu>

	Fix Cygwin-w32 build

	* src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
	Define only if WINDOWSNT, and update all uses accordingly.
	* src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
	(remove_w32_kbdhook): Declare only if WINDOWSNT.
	(w32_kbdhook_active): Define as 0 if not WINDOWSNT.

2016-03-06  Eli Zaretskii  <eliz@gnu.org>

	Unbreak the MinGW64 build

	* nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
	https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
	for the details.  Reported by Angelo Graziosi
	<angelo.graziosi@alice.it>.

2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Don't signal errors on E_AGAIN

	* src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
	error now that TLS is async.

2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Allow making TLS negotiation blocking

	* lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.

	* src/gnutls.c (Fgnutls_boot): Provide a new keyword,
	:complete-negotiation, to specify that we want complete
	negotiation even if the socket is non-blocking.
	(gnutls_try_handshake): Complete negotiation if given that keyword.

	* src/process.h (L): Added gnutls_complete_negotiation_p.

2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Don't run ipv6 test on systems without ipv6

	* test/lisp/net/network-stream-tests.el
	(connect-to-tls-ipv6-nowait): Skip on systems without ipv6.

2016-03-05  Eli Zaretskii  <eliz@gnu.org>

	Implement getaddrinfo fallback for MS-Windows

	See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
	for more details.

	* nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
	(ac_cv_func_gai_strerror): Set to "yes", as the configure script's
	test program is not smart enough to auto-detect these.
	* nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
	sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
	sys_getaddrinfo and sys_freeaddrinfo.

	* src/w32.c (init_winsock): Try loading getaddrinfo and
	freeaddrinfo from ws2_32.dll.
	(sys_getaddrinfo, sys_freeaddrinfo): New functions.

	* lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
	and also ws2tcpip.h.
	(getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
	sys_getaddrinfo and sys_freeaddrinfo, respectively.
	(load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
	functions.

2016-03-04  Glenn Morris  <rgm@gnu.org>

	* lisp/files.el: Fix recent typo.

	* lisp/subr.el (read-multiple-choice): Avoid free variable.

	* doc/lispref/files.texi (File Attributes): Fix typo.

2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the describe-key prompts clearer

	* lisp/help.el (describe-key-briefly): Make the prompt clearer
	(bug#14854).
	(describe-key): Ditto.

2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow scrolling while querying multiple choice

	* lisp/subr.el (read-multiple-choice): Allow scrolling the
	buffer while querying (bug#22827).

2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Add accessors for `file-attributes'

	* doc/lispref/files.texi (File Attributes): Mention the accessors.

	* lisp/files.el (file-attribute-type)
	(file-attribute-link-number, file-attribute-user-id)
	(file-attribute-group-id, file-attribute-access-time)
	(file-attribute-modification-time)
	(file-attribute-change-time, file-attribute-size)
	(file-attribute-modes, file-attribute-inode-number)
	(file-attribute-device-number): New functions.

	* src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).

2016-03-04  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#22814

	* lisp/autorevert.el (global-auto-revert-mode): Do not set
	`auto-revert-use-notify' to nil.

	* etc/NEWS: Mention this.

	* etc/PROBLEMS: Remove problem Bug#22814.

	* src/kqueue.c: Include <sys/resource.h>.
	(Fkqueue_add_watch): Limit the number of used file descriptors.
	(Bug#22814)

	* test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
	(file-notify-test00-availability, file-notify-test01-add-watch)
	(file-notify-test02-events, file-notify-test06-many-events):
	Use #' read syntax for functions.
	(file-notify-test05-dir-validity)
	(file-notify-test06-many-events): Simplify directory creation.
	(file-notify-test09-sufficient-resources): New test.

2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix insertion of edited servers in the dribble file

	* lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
	insert explicit newlines, because they're quoted (bug#22903).

2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Move cl-seq-tests to the right place after the merge

	Move cl-seq-tests to the right place after the merge

2016-03-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	d6f6b7d * etc/AUTHORS: Update the AUTHORS file
	5cf7c39 authors.el updates
	a26f193 ; fix changelog entries
	fbc85c7 ; make change-history-commit
	06da00c Fix Bug#22859
	ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
	1481029 Fix reordering of bidi text in an isolate inside an override
	60e0596 Document c-guess-basic-syntax in the CC Mode manual.

2016-03-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	f5d1435 Fix targets in test/automated/Makefile.in

2016-03-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	b6d6304 Comment on last change to define-derived-mode

2016-03-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	cb1e3da Also allow setting the paragraph direction to nil
	bbe8a89 Made the new OS X visible bell more visible.

2016-03-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	aae436e Uncomment the next-error-function integration in xref
	5f0d096 Remove the word "valid", to avoid ambiguity

2016-03-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
	0d60bfc Fix ModelSim error parsing

2016-03-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	b13cab6 Add a eww command to toggle paragraph direction
	4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
	9e078e5 Fix char signedness issue in bidi code
	064adf6 * lib-src/pop.c (socket_connection): Fix format string.
	14060a9 Avoid inflooping in thing-at-point-looking-at
	098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
	        indent change.
	b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
	ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
	d2dd614 Remove unneeded workaround in xftfont.c
	9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
	fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
	06a872b Fix redisplay on a TTY after 'make-frame'
	95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
	        Fixes bug#5560.
	7d206fc Input method polish-slash should not use keyboard translation
	8be32cf Fix an assertion
	040e0d6 Fix 'toggle-save-place'
	5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)

2016-03-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	e6a3819 Update HISTORY section in readme for the NextStep interface.
	f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
	7c81a0b Improve documentation of 'save-place-mode'
	cab3f0a Allocate glyph matrices for the initial frame
	e01c72f Fix white space in last checkin
	370eb67 Make `insert-pair' always leave the cursor where documented
	b594393 etc/NEWS: Mention the new second parameter to `package-install'

2016-03-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	bd58c13 Improve documentation of focus-related hooks
	00a4720 Further improve doc string of 'disable-point-adjustment'
	c582def Further adaptions in file-notify-tests.el for w32notify
	a1585e1 Don't bug out on localized dates in gnus-icalendar

2016-03-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	7bc4820 Make setf for frame-height/width work again

2016-03-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	6620944 (cl-union): Do not ignore :test argument when lists are equal.
	17dd3fb Add `isearch' to `basic-faces'
	c1ec743 Make $, : and @ "prefix characters" in ruby-mode
	e72a26e Make find-tag-default-bounds more strict
	1bc0e0a Minor fixes in filenotify.el

2016-03-02  Alain Schneble  <a.s@realize.ch>

	Fix issue of inserting images on some systems

	* lisp/net/shr.el (shr-tag-img): Construct a non-empty range
	to pass to shr-image-fetched, to indicate where to insert the
	image.  Fixes the issue introduced with commit
	80852f843e69b81618f29cfb9aa4b074946cb3c4
	(bug#22789).

2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure TLS negotiation progress

	* src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
	number of retries so that we try for about a minute.

	* src/process.c (wait_reading_process_output): Ensure progress
	for DNS resolution and TLS negotiation.

2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	emacs-module.h slight simplification

	* src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
	* src/emacs-module.h: ... from here, as they don’t need to be public.
	(enum emacs_arity): Remove useless enum tag.  The enum value is
	used in ptrdiff_t contexts.

	* src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.

2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	* src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.

2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	emacs-module.c simplification and tuneup

	* src/emacs-module.c (CHECK_USER_PTR): New function.
	(module_get_user_ptr, module_set_user_ptr)
	(module_get_user_finalizer, module_set_user_finalizer): Use it.
	(module_make_global_ref, module_copy_string_contents)
	(module_make_string, module_vec_set, module_vec_get): Omit
	unnecessary runtime tests.  For example, vector sizes are always
	fixnums, so we don’t need to test that they are in fixnum range.

2016-03-02  Philipp Stephani  <phst@google.com>

	Use standard checks whenever possible.

	This is possible in all functions where we catch signals anyway.

	* src/emacs-module.c (module_make_global_ref, module_funcall)
	(module_copy_string_contents, module_make_string): Use xsignal0
	and CHECK macros for argument checks.

2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	Deterministic build improvements

	* configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
	and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
	and have its value be either empty or --no-build-details.
	All uses changed.  Change option to --disable-build-details.
	* doc/emacs/cmdargs.texi (Initial Options):
	Document --no-build-details.
	* doc/lispref/internals.texi (Building Emacs):
	* etc/NEWS:
	Document --disable-build-details.
	* doc/lispref/intro.texi (Version Info): Say that
	emacs-build-time can be nil.
	* lisp/erc/erc-compat.el (erc-emacs-build-time):
	Now nil if details are omitted.
	* lisp/erc/erc.el (erc-cmd-SV):
	* lisp/version.el (emacs-build-time):
	Now nil if no build details.
	(emacs-version):
	Output build time only if build details.
	* src/Makefile.in (BUILD_DETAILS): New macro.
	(temacs, bootstrap-emacs): Use it.
	* src/emacs.c (build_details): New var.
	(standard_args, main): Support --no-build-details.
	(Vdeterministic_dump): Remove; all uses replaced
	by !build_details.
	(syms_of_emacs): Set Vbuild_details to a boolean, not
	to a Lisp_Object.
	* src/lisp.h (build_details): New decl.
	* src/sysdep.c (init_system_name): When !build_details,
	set system-name to nil, not to "elided".

2016-03-02  Philipp Stephani  <phst@google.com>

	Remove build system name from deterministic dumps

	* configure.ac (DETERMINISTIC_DUMP): New configuration option.
	* lisp/version.el (emacs-build-time): Add a comment to make the
	build time deterministic if requested.
	(emacs-build-system): Make variable deterministic if requested.
	* src/emacs.c (main): Initialize `deterministic-dump' from the
	configuration option.
	(syms_of_emacs): New constant `deterministic-dump'.
	* src/sysdep.c (init_system_name): Use a constant
	if a deterministic dump is requested.

2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove buggy parse-time test

	* test/lisp/calendar/parse-time-tests.el (parse-time-tests):
	Remove the iso parse test, since it doesn't work.

2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	* src/syntax.c (syntax_multibyte): Omit unnecessary parens.

2016-02-29  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/autoload.el (autoload-timestamps):
	Experiment with setting to nil.

2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the revert command in timer-list-mode work

	* lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
	command work.

2016-02-29  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/autoload.el (autoload-find-destination):
	Fix 6-week old merge error.

	* lisp/emacs-lisp/autoload.el (update-file-autoloads):
	Ensure timestamps.

	* lisp/emacs-lisp/package.el (package-generate-autoloads):
	Disable timestamps.

2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow binding `url-mime-accept-string'

	* lisp/url/url-http.el (url-http): Allow binding
	`url-mime-accept-string' (bug#22855).

2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a NEWS entry for the colorful VC indicator

2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Use colors in the VC mode lines

	* lisp/vc/vc-hooks.el: Make the mode line faces default to
	using colors to more clearly tell the user what the status is.

2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Support <bdo> and <bdi>

	* lisp/net/shr.el (shr-tag-bdo): New function.
	(shr-tag-bdi): Ditto.

2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Respect <html dir=auto>

	* lisp/net/shr.el (shr-tag-html): Respect the "auto"
	directional HTML setting.

2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Default bidi paragraph direction to nil

	* lisp/net/eww.el (eww-display-html): Default bidi rendering
	to nil, so that possibly more Arabic web pages render
	correctly (bug#22786).
	(eww-setup-buffer): Ditto.

2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>

	Preserve current column, going up/down in thumbnail view.

2016-02-29  Alan Mackenzie  <acm@muc.de>

	Handle "noise" macros and compiler directives.

	* lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.

	* lisp/progmodes/cc-vars.el (c-noise-macro-names)
	(c-noise-macro-with-parens-names): New customizable variables.
	(c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
	(c-make-noise-macro-regexps): New function.

	* lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
	members of c-noise-macro-names as whitespace.
	(c-forward-noise-clause): New function.
	(c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
	(c-forward-decl-or-cast-1, c-backward-over-enum-header)
	(c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
	Handle "noise clauses" in parallel with, e.g., "hangon key clauses".

	* lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
	in parallel with "prefix-spec keywords".

	* lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
	c-make-noise-macro-regexps to initialize the internal variables.

	* doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
	facilities.

2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>

	Stop calling res_init

	Emacs shouldn’t need to call res_init any more, now that nscd or
	equivalent is everywhere.  On modern systems, calling res_init
	simply slows Emacs down.  On ancient systems lacking nscd Emacs
	will still work well enough with this change; it’s just that it
	won’t respond to changes in /etc/resolv.conf.
	* configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
	when configured --with-hesiod.  Hesiod is still used; see, e.g.:
	https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
	* src/Makefile.in (LIBRESOLV): Remove.  All uses removed.

2016-02-29  Glenn Morris  <rgm@gnu.org>

	* lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.

	* lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.

2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>

	* src/process.c (Fdelete_process): Simplify cast.

2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Use the correct background color when filling nested <divs>

	* lisp/net/shr.el (shr-face-background): Return the first
	background, because that's the one that's visible (bug#22680).

2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Make <div> in <li> not insert extra newlines

	* lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
	extra newlines (bug#19587).

2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow reading Gnus reports from an offline cache

	* lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
	Allow reading bug reports from an offline cache directory.

2016-02-28  Tino Calancha  <f92capac@gmail.com>

	Meta + shift + Fn combos are recognized by xterm>=216.

	* lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
	Fn combos are recognized by xterm>=216 (bug#22837).

2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>

	Declare $ as an expression prefix in SCSS

	* lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
	expression prefix (bug#22841).

2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Declare $ as an expression prefix in SCSS"

	This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.

	Revering to fix author name.

2016-02-28  Simen  <simenheg@gmail.com>

	Declare $ as an expression prefix in SCSS

	* lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
	expression prefix (bug#22841).

2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>

	Save buffers before running grep commands

	* lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
	(grep, lgrep, rgrep): Use it (bug#96).

	* doc/emacs/building.texi (Grep Searching): Document
	`grep-save-buffers'.

	* lisp/progmodes/grep.el (grep-save-buffers): Rename from
	`grep-ask-about-save'.
	(grep--save-buffers): New function.
	(grep, lgrep, rgrep): Use it.

2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow sorting flyspell corrections

	* lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
	(flyspell-sort-corrections-functionx): New variable.
	(flyspell-sort-corrections-alphabetically): New function.
	(flyspell-notify-misspell): Use them.
	(flyspell-auto-correct-word): Ditto.
	(flyspell-emacs-popup): Ditto.
	(flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.

2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Wait for async DNS to complete before freeing resources

	* src/process.c (Fdelete_process): Wait for async DNS to
	complete before freeing the data structures it needs.

2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/faces.el: Remove duplicated functions from previous patch.

2016-02-28  Eli Zaretskii  <eliz@gnu.org>

	Fix TLS connections on MS-Windows

	* src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
	this is a non-blocking socket whose connection is in progress, set
	errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
	Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
	Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)

2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a NEWS entry for the read-color change

2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>

	Show the face colors when completing in `read-color'

	* lisp/faces.el (defined-colors-with-face-attributes): New function.
	(readable-foreground-color, defined-colors-with-face-attributes)
	(readable-foreground-color): Ditto.
	(read-color): Use them (bug#5305).

2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up the code in parse-time-string-chars

	* lisp/calendar/parse-time.el (parse-time-string-chars):
	Clean up the code a bit.

2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Add some tests for parse-time.el

	* test/lisp/calendar/parse-time-tests.el: New file.

2016-02-27  Dima Kogan  <dima@secretsauce.net>

	Strip out some leading whitespace when looking at logs

	* lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
	at expanded git logs with `vc-print-root-log' (C-x v L, then
	<enter> by default), Emacs was stripping out all leading
	whitespace from git logs.  I now strip exactly 2 leading
	spaces, which retains the indentation in the logs (bug#18110).

2016-02-27  Dima Kogan  <dima@secretsauce.net>

	Use a separate history variable for align-regexp

	* lisp/align.el (align-regexp-history): New variable (bug#16891).
	(align-regexp): Use it.

2016-02-27  Phil Sung  <philbert@gmail.com>

	Create subdirectories automatically in wdired

	* lisp/wdired.el (wdired-create-parent-directories): New
	variable (bug#6817).
	(wdired-create-parentdirs): New function.
	(wdired-do-renames): Use it.
	* doc/emacs/dired.texi (Wdired): Mention
	`wdired-create-parent-directories'

2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Return the correct error values from gnutls.c

	* src/gnutls.c (emacs_gnutls_read): Set errno to the value
	expected by process.c.
	(gnutls_try_handshake): Set gnutls_p to true earlier to avoid
	possible race condition with the process.c socket polling
	functions.

2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>

	Don't make assumptions about mkdir.  (Bug#22822)

	* test/Makefile.in (MKDIR_P): New, set by configure.
	(%.log): Use MKDIR_P.

2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>

	Support switching to hexl-mode from image-mode

	* lisp/image-mode.el (image-toggle-hex-display)
	(image-mode-to-text): New functions.
	(image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
	image-toggle-hex-display.
	(image-mode-map): New menu item "Show as Hex".
	(image-mode): Update doc string and echo-area message.
	(image-toggle-display): Support toggle to hex.  (Bug#22453)

	* doc/emacs/files.texi (File Conveniences): Document
	'image-toggle-hex-display'.

2016-02-27  Eli Zaretskii  <eliz@gnu.org>

	Remove unused code in coding.c

	* src/coding.c (decode_eol): Remove unused code that handled the
	case of coding->dst_object being nil.  Replace it with an
	assertion.

2016-02-26  Aurelien Aptel  <aaptel@suse.com>

	* src/syntax.c: Fix result of syntax_multibyte()

	The ?: operator has a lower precedence than ||.
	Bug introduced by commit 45b683a.

2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>

	--enable-gcc-warnings now uses -Wjump-misses-init

	When configuring with --enable-gcc-warnings, also enable
	-Wjump-misses-init, as it’s confusing to use a goto to skip over
	an initialization.  Fix the few places in the code that run afoul
	of this warning.
	* configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
	* src/doc.c (Fsubstitute_command_keys):
	* src/image.c (svg_load_image):
	* src/regex.c (re_match_2_internal):
	* src/xdisp.c (redisplay_internal, redisplay_window):
	Don’t jump over initialization.

2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>

	Improve the register-hotkey functionality on MS-Windows

	* src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
	keyboard hook functionality.
	Include w32inevt.h, basetyps.h and unknwn.h.
	(VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
	(kbdhook): A new struct definition.
	(funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
	(check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
	(modifier_set): Call check_w32_winkey_state if a Win key was
	pressed and the keyboard hook is active.
	(w32_wnd_proc): Don't handle Win key combinations if the keyboard
	hook is active.  Only register/unregister the hotkeys if the
	keyboard hook is not active.  When WM_CREATE is received, call
	setup_w32_kbdhook.  When WM_DESTROY is received, call
	reset_w32_kbdhook_state.
	(lookup_vk_code): When the keyboard hook is active, map
	alphanumeric characters to themselves.
	(w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
	modified keys to VK_ANY if the keyboard hook is active.  Register
	Alt-x and Win-x combinations.
	(Fw32_shell_execute): Update doc string to reflect new
	functionality.  Bypass the code that posts the
	WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
	(Fw32_unregister_hot_key): Bypass the code that posts the
	WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
	(syms_of_w32fns) <w32-pass-lwindow-to-system>
	<w32-pass-rwindow-to-system, w32-phantom-key-code>
	<w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
	to reflect the new functionality.
	* src/w32console.c (initialize_w32_display): Install the low-level
	keyboard hook.
	* src/w32inevt.c (key_event): Handle Win-x combinations only if
	the keyboard hook is not active.  If the hook is active, use
	check_w32_winkey_state instead.
	* src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
	(check_w32_winkey_state): Add prototypes.
	(w32_kbdhook_active): New macro.

	* doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
	new functionality.

2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>

	Add forward-sexp (and related) tests

	* test/lisp/emacs-lisp/lisp-tests.el: New file for testing
	forward-sexp and related functions (bug#22800).

2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>

	Don't use (localized) week days in dates

	* lisp/gnus/gnus-icalendar.el
	(gnus-icalendar-event:org-timestamp): Don't use (localized)
	week days in the dates, because that messes up things later.

2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>

	Update pcomplete/find

	* lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
	(bug#10487).

2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Make parse-time-string-chars more efficient

	* lisp/calendar/parse-time.el (parse-time-string-chars): The
	string has already been downcase, so don't care about case
	(bug#18522).

2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove killed buffers from the list of Gnus buffers

	* lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
	buffers from the list of Gnus buffers (bug#18522).

2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>

	Integer overflow cleanups for ports and socklen

	* src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
	(get_lisp_to_sockaddr_size, Fset_process_datagram_address)
	(connect_network_socket):
	Use ptrdiff_t, not int, for signed object sizes.
	This addresses only a theoretical problem, as in practice these
	object sizes are less than 2**31, but we might as well use the
	same style here as elsewhere in Emacs.
	(string_integer_p): Remove; all uses removed.
	(Fmake_network_process): Check that port number is in range.
	When converting an integer-string service, rely on strtol
	rather than rechecking the string by hand.
	* src/process.h, src/w32.c (conv_sockaddr_to_lisp):
	Adjust prototypes to match.

2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>

	Add pcomplete support for find

	* lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
	for find (bug#10487).

2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>

	Replace XXX acronyms with draft standard ones

	* lisp/international/characters.el (c1-acronyms): Replace XXX
	entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
	(bug#13745).

2016-02-24  Kevin Ryde  <user42@zip.com.au>

	Make checkdoc warn about variables described as "True"

	* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
	Docstrings for variables "True...", and functions "Return
	true...", should usually be "non-nil" (bug#15506).

2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Add NEWS entry for "number string" change

2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow using "number strings" as services on non-GNU systems

	* src/process.c (string_integer_p): New function.
	(Fmake_network_process): Use it to allow connecting to
	services specified as "993" even when getaddrbyname isn't
	available.

2016-02-24  Michael Albinus  <michael.albinus@gmx.de>

	Fix problem in tramp.texi

	* doc/misc/tramp.texi (File name completion): Do not use
	@trampfn{} for IPv6 addresses.  Somehow, it results in errors
	during PDF creation.

2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make image commands available in image-mode

	* lisp/image-mode.el (image-mode-map): Inherit from
	`image-map' so that the usual image commands work.

2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Move `o' to `O' in shr-map

	* lisp/net/shr.el (shr-map): `shr-save-contents' has moved
	from `o' to `O' to avoid collisions with `image-map'.

2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make setting the coding system non-blocking

	* src/process.c (Fset_process_filter_multibyte): Defer
	completing coding system setup in asynchronous processes.
	(Fset_process_coding_system): Ditto.

2016-02-23  Gregoire Jadi  <daimrod@gmail.com>

	Mention `proced-toggle-auto-update' in the proced-mode doc string

	* lisp/proced.el (proced-mode): Mention
	`proced-toggle-auto-update' (bug#14341).

2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)

	Add a fortune-message command

	* lisp/play/fortune.el (fortune-message): Add a command to
	display fortunes in the echo area (bug#14915).

2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)

	Add hideshow bindings analogous to outline mode

	* lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
	analogous to outline mode bindings (bug#15324).

2016-02-23  Bastien Guerry  <bzg@altern.org>

	Allow highlighting things like @math{2^{12}}

	* lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
	Allow highlighting things like @math{2^{12}} (bug#16390).

2016-02-23  Per Bothner  <per@bothner.com>

	Make `C-{up,down,left,right}' work in term mode

	* lisp/term.el (term-raw-map): Define C-{up,down,left,right}
	to send the same escape sequence that xterm sends.  This makes
	backward-word and forward-word work in readline (bug#16746).

2016-02-23  Dima Kogan  <dima@secretsauce.net>

	Allow ff-find-other-file (etc) to work with indirect clone buffers

	* lisp/find-file.el (ff-buffer-file-name): New function to
	allow the feature to work with indirect buffers, too
	(bug#16904).
	(ff-find-the-other-file): Use it.
	(ff-other-file-name): Ditto.
	(ff-get-file-name): Ditto.

2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix error in add-change-log-entry when the entry has no newline

	* lisp/vc/add-log.el (add-change-log-entry): The entry in the
	ChangeLog may end without a new line starting with blanks.

2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid using mm-util functoins in gravatar.el

	* lisp/image/gravatar.el (gravatar-retrieve): Avoid using
	mm-util functions.
	(gravatar-retrieve-synchronously): Ditto.

2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Move low-level library files from the lisp/gnus directory

	The files moved from lisp/gnus are:

	auth-source.el -> /
	compface.el -> /image
	ecomplete.el -> /
	flow-fill.el -> /mail
	gravatar.el -> /image
	gssapi.el -> /net
	html2text.el -> /net
	ietf-drums.el -> /mail
	mail-parse.el -> /mail
	mail-prsvr.el -> /mail
	mailcap.el -> /net
	plstore.el -> /
	pop3.el -> /net
	qp.el -> /mail
	registry.el -> /
	rfc1843.el -> /international
	rfc2045.el -> /mail
	rfc2047.el -> /mail
	rfc2231.el -> /mail
	rtree.el -> /
	sieve-manage.el -> /net
	sieve-mode.el -> /net
	sieve.el -> /net
	starttls.el -> /net
	utf7.el -> /international
	yenc.el -> /mail

2016-02-23  Tino Calancha  <f92capac@gmail.com>

	Allow undoing changes while doing query-replace

	* doc/lispref/searching.texi (Search and Replace): Mention
	undo (bug#21684).

	* lisp/replace.el (query-replace-help): Document undo.
	(perform-replace): Implement undo while replacing text.

2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)

	Highlight assignments in Makefiles more correctly

	* lisp/progmodes/make-mode.el (makefile-macroassign-regex):
	Highlight assignments preceded by a TAB character correctly
	(bug#20787).

2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)

	Use memmove instead of memcpy on overlapping regions

	* src/editfns.c (Ftranspose_regions): Regions may overlap, so
	use memmove instead of memcpy (bug#19213).

2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	Port to --enable-gcc-warnings sans getaddrinfo_a

	* src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
	to a local unused when getaddrinfo_a is missing.
	Resize portbuf to size needed.  Do cheap test first.
	Move local to block where it’s needed.

2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	Minor cleanups for async DNS etc.

	* src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
	Omit unnecessary parens.
	* src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
	(gnutls_verify_boot):
	Use bool for boolean.
	(ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
	* src/process.c (free_dns_request, Fmake_network_process):
	Allocate and free async request control block all in one go.
	(set_network_socket_coding_system, finish_after_tls_connection)
	(connect_network_socket):
	Now static.
	(conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
	(Fmake_network_process): Use list1 for brevity.
	(wait_for_socket_fds): 2nd arg is now const ptr.
	* src/process.h (struct Lisp_Process.dns_request):
	Now struct gaicb *, not struct gaicb **, since there was always
	exactly one.  All uses changed.
	* src/window.c, src/window.h (run_window_configuration_change_hook):
	Now static.

2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>

	Allow more shell script defun forms

	* lisp/progmodes/sh-script.el (sh-mode): Allow more shell
	script defun forms, like function name () {...} (bug#19754).

2016-02-23  Martin Rudalics  <rudalics@gmx.at>

	Fix `window-configuration-change-hook' and `window-size-change-functions'

	(1) Run `window-configuration-change-hook' if and only if at least
	one window was deleted or created or shows another buffer since
	last redisplay.

	(2) Run `window-size-change-functions' if and only if at least
	one window changed its size since last redisplay (in a few cases
	`window-size-change-functions' will also run when no window
	changed its size).

	(3) Provide two functions `window-pixel-height-before-size-change'
	and `window-pixel-width-before-size-change' that allow to easily
	detect which window changed size.

	* src/frame.h (struct frame): New boolean member
	window_configuration_changed.
	(FRAME_WINDOW_SIZES_CHANGED): Remove macro.
	(FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
	* src/frame.c (adjust_frame_size): Don't run
	`window-configuration-change-hook'.
	* src/window.h (struct window): New fields
	pixel_width_before_size_change and pixel_height_before_size_change.
	(WINDOW_INTERNAL_P): New macro.
	* src/window.c (Fwindow_pixel_width_before_size_change)
	(Fwindow_pixel_height_before_size_change): New functions.
	(Fdelete_other_windows_internal, Fwindow_resize_apply)
	(resize_frame_windows, Fsplit_window_internal)
	(Fdelete_window_internal, grow_mini_window)
	(shrink_mini_window, Fresize_mini_window_internal): Don't call
	FRAME_WINDOW_SIZES_CHANGED.
	(window_size_changed, window_set_before_size_change_sizes)
	(run_window_size_change_functions): New functions.
	(make_window): Initialize pixel_width_before_size_change and
	pixel_height_before_size_change.
	(Fdelete_window_internal): Don't call
	run_window_configuration_change_hook.
	(struct saved_window): Add pixel_height_before_size_change and
	pixel_width_before_size_change.
	(Fset_window_configuration): Try to identify window configuration
	changes correctly so run_window_configuration_change_hook and
	run_window_size_change_functions run only if configuration and size
	really changed.
	(save_window_save): Set the pixel_height_before_size_change and
	pixel_width_before_size_change fields.
	(Vwindow_size_change_functions): Move here definition from xdisp.c.
	* src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
	run_window_size_change_functions.
	(Vwindow_size_change_functions): Move definition to window.c.
	* src/xfns.c (x_set_menu_bar_lines): Don't call
	run_window_configuration_change_hook.
	* doc/lispref/windows.texi (Window Sizes): Document new
	functions `window-pixel-height-before-size-change' and
	`window-pixel-width-before-size-change'.
	(Window Configurations): Mention that this may trigger
	execution of `window-size-change-functions' although no window
	changed size.
	(Window Hooks): Update descriptions of `window-size-change-functions'
	and `window-configuration-change-hook'.

2016-02-23  Drew Adams  <drew.adams@oracle.com>

	(ls-lisp-insert-directory): Make -B work

	* lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
	(bug#20776).

2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in message-setup-fill-variables

	* lisp/gnus/message.el (message-setup-fill-variables): Fix
	typo in a recent checkin that used `setq-default' instead of
	`setq-local' (bug#22781).

2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>

	`message-dont-reply-to-names' can also be a list of regexps

	* lisp/gnus/message.el (message-dont-reply-to-names):
	`message-dont-reply-to-names' can also be a list of regexps (bug#22773).

2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>

	Make buttons in header lines work

	* lisp/help-mode.el (help-button-action): `help-xref-button' in
	header line doesn't work (bug#21024).

2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>

	Place apples randomly in Snake

	* lisp/play/snake.el (snake-score): New variable (bug#21359).
	(snake-set-dot): Place the apples randomly.

2016-02-23  Tino Calancha  <f92capac@gmail.com>

	Allow optional parameter to be nil

	* lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
	optional parameter to be nil (bug#21576).

2016-02-23  Tino Calancha  <f92capac@gmail.com>

	Completely ignore buffers with no name when copying file names

	* lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
	ignore buffers with no file name. (bug#21577).

2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Make spelling of "Eshell" consistent

	* lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
	* lisp/eshell/eshell.el (eshell-command):
	Spell it "Eshell" (bug#21678).

2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>

	Allow pretty lambdas in Scheme mode

	* lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
	`prettify-symbols-alist' from Lisp mode (bug#21679).

2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename lisp--prettify-symbols-alist

	* lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
	Rename from `lisp--prettify-symbols-alist' since we're going
	to use it in Scheme mode, too.
	(lisp-mode-variables): Use it.

2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)

	Remove spurious newline in package list

	* lisp/emacs-lisp/package.el (describe-package-1): Remove
	spurious newline (bug#21706).

2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Remove spurious newline in package list"

	This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.

2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>

	Remove spurious newline in package list

	* lisp/emacs-lisp/package.el (describe-package-1): Remove
	spurious newline (bug#21706).

2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)

	Keep the position in the process buffer when deleting processes

	* lisp/simple.el (process-menu-delete-process): Keep the
	position in the buffer after killing a process (bug#21759).

2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Require that the buffer that we're trying to patch exist

	* lisp/vc/ediff.el (ediff-patch-buffer): Require that the
	buffer that we're trying to patch exist (bug#21852).

2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)

	Require that the buffer that we're trying to patch exist

	* lisp/vc/ediff.el (ediff-patch-buffer): Require that the
	buffer that we're trying to patch exist (bug#21852).

2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)

	Be more verbose when changing frame mode in ediff

	* lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
	mode we toggled to (bug#21853).

2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>

	Encode header strings before printing

	* lisp/ps-print.el (ps-generate-header-line): Encode the
	header strings to avoid problems with non-ASCII headers
	(bug#22611).

2016-02-22  Michal Nazarewicz  <mina86@mina86.com>

	Test message-strip-subject-trailing-was

	* test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
	New test (bug#22632).

2016-02-22  Michal Nazarewicz  <mina86@mina86.com>

	Make use of the `ert-with-function-mocked' macro

	* test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
	* test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
	`ert-with-function-mocked' instead of implementing the fragile
	`unwind-protect' logic openly.

2016-02-22  Michal Nazarewicz  <mina86@mina86.com>

	message-strip-subject-trailing-was: Refactor

	* lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
	the function replacing sequence of `if' calls with a mixture of `or'
	and `and' calls instead.  This makes it shorter and containing less
	internal state thus easier to follow.

2016-02-22  Michal Nazarewicz  <mina86@mina86.com>

	ert-with-function-mocked: New macro

	* lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
	allows evaluating code while particular function is replaced with
	a mock.  The original definition of said function is restored once the
	macro finishes.

2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Move Gnus functions frm rfc1843 to new file gnus-rfc1843

	* lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
	interface functions.

	* lisp/gnus/gnus-rfc1843.el: Move all Gnus-specific functions to
	gnus-rfc1843.

2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't use mm-util functions in qp.el

	* lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
	mm-util functions.
	(quoted-printable-encode-string): Ditto.
	(quoted-printable-encode-region): Ditto.

2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't require mm-util

	* lisp/mail/ietf-drums.el (mm-util): Don't require.

2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove Gnus functions from auth-source.el

	* lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
	Remove usage of Gnus utility function.
	(mm-util, gnus-util): Don't require.

2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow deleting all non-matching cookies

	* lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
	keeping matching cookies (bug#22720).

2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>

	Make (setf (image-property ...)) return VALUE

	* lisp/image.el (image--set-property): Return VALUE, not IMAGE.

2016-02-22  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	a9c48d5 Additional fixes for file notification
	6bd9d69 Fix documentation of 'global-disable-point-adjustment'
	8c22ac9 ; Spelling fix
	2975784 Set file modes of pinentry socket for extra safety
	2667b3e Clarify GnuPG version compatibility chapter
	5e34c36 Revert "Change the default socket location for pinentry"
	e19c1c3 Kill off xref--display-history
	5698947 Keep the xref buffer visible until the user quits it explicitly
	e34fbde Change the default socket location for pinentry
	5f89658 Mention how to enable pinentry feature
	db51224 Sync with gnulib
	aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
	2d8b2fd Restore point when writing semantic table to disk
	27d3430 Mention pinentry.el in epa manual
	5baa001 Fix Bug#22736
	7261355 Grammar fix in doc string
	d0f3b18 Naming fix for consistency
	74ec92d Prefer customized value for GnuPG executable
	ea0b604 Fix memory reservation on MS-Windows
	c5f72aa Update NextStep readme and add wish list.
	6de26a7 Report also result in `file-notify--test-event-handler'
	5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
	1cb1268 Fix todo-mode item date editing bugs
	1e996cf Fix "[:upper:]" for non-ASCII characters
	896f993 Allow customizing the article mode cursor behavior
	24c1c1d Use pop-to-buffer-same-window in woman.el
	2a75f64 New filenotify test for bug#22736
	c9bccf7 Report critical battery errors
	d675db9 Make eww message toggling message clearer
	5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
	fa8fd65 ; Improve character-folding entries in NEWS
	3722a69 Fix bugs in window resizing code
	289d5c6 Fix decoding DOS EOL in a unibyte buffer
	2abcb06 Correct c-parse-state cache manipulation error.
	14aec91 Take advantage of new GnuPG version check function
	e80c2a7 Make GnuPG version check robuster
	15a9464 Fix x-load-color-file pointer signedness
	132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
	78ab6f1 Follow convention for greek letter constants.
	106b5bb Add Stefan-Boltzmann constant to calc units table.
	b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
	5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
	2d40f7d Fix soffice UserInstallation-URL for Windows
	b1a3ebe Fix display of <pre> elements
	57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
	7a0628d ; * admin/make-tarball.txt: Mention cleaning.

2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>

	lisp/calendar/appt.el (appt-delete-window): Check if buffer is live

	* lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
	  non-existing buffer.

2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the further asynchronousity

2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix async TLS boot problem

	* src/process.c (wait_reading_process_output): Verify the boot
	of the correct process.

2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up forgotten text in manual

	* doc/lispref/display.texi (Defining Images): Remove example
	forgotten when making previous change.

2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up debugging code

	* src/process.c (Fmake_network_process): Remove debugging printf.
	(wait_for_socket_fds, wait_while_connecting)
	(wait_for_tls_negotiation): Remove newlines from messages.

2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix merge conflicts in network-stream-tests.el

2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>

	Port recent filevercmp addition to MS-Windows

	Reported by Andy Moreton in:
	https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
	* nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
	(EXTRA_DIST): Add filevercmp.h.

2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>

	add_to_log expects Lisp parameters

2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention sentinels in conjunction with :nowait t.

	* doc/lispref/processes.texi (Network Processes): Mention the
	recommended way of using sentinels with :nowait t.

2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention in the doc strings that process functions may block

	(Fprocess_contact, Fprocess_datagram_address)
	(Fset_process_datagram_address, Fset_network_process_option)
	(Fprocess_send_region, Fprocess_send_string): Mention that the
	functions may block.
	(Fset_process_coding_system): Ditto.

2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Add blocker warnings to the *Messages* buffer

	* src/process.c (wait_for_socket_fds): Add warning to the log.
	(wait_while_connecting): Ditto.
	(wait_for_tls_negotiation): Ditto.

2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>

	Rework the image property getter/setters

	* doc/lispref/display.texi (Defining Images): Document the
	renamed `image-get/set-property' functions.

	* lisp/image.el (image--set-property): Rename from
	image-set-property.
	(image-property): Declare a setf form.
	(image-property): Rename from `image-get-property'.

2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>

	Use Gnulib filevercmp for version comparison

	* admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
	* doc/lispref/strings.texi (Text Comparison):
	* etc/NEWS, src/fns.c:
	* test/src/fns-tests.el (fns-tests-string-version-lessp):
	Rename newly-introduced function to string-version-lessp, by
	analogy with strverscmp.
	* lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
	* src/fns.c: Include <filevercmp.h>.
	(gather_number_from_string): Remove.
	(Fstring_version_lessp): Reimplement via filevercmp.

2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a function to delete URL cookies

	* doc/misc/url.texi (Cookies): Document
	url-cookie-delete-cookies.

	* lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.

2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid integer overflows in string-numeric-lessp

	* src/fns.c (Fstring_numeric_lessp): If we have an integer
	overflow, compare lexicographically.

2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Add the string-numeric-lessp function

	* doc/lispref/strings.texi (Text Comparison): Document
	`string-numerical-lessp'.

	* src/fns.c (Fstring_numeric_lessp): New function.
	(gather_number_from_string): Helper function for that function.

	* test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.

2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify levels of :nowait t.

	* doc/lispref/processes.texi (Network Processes): Mention
	levels of asynchronicity.

2016-02-20  Alain Schneble  <a.s@realize.ch>

	Respect DNS timeouts

	* src/process.c (check_for_dns): If the async DNS request
	failed and the associated process is still in "connect" state,
	deactivate the process and set status to "failed".

2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a frame around the placeholder image in shr

	* lisp/net/shr.el (shr-make-placeholder-image): Add a frame
	around the image.

2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Use placeholder images in shr to avoid text moving around

	* lisp/net/shr.el (shr-rescale-image): Pass in width/height
	from the HTML.
	(shr-tag-img): Ditto.
	(shr-string-number): New function.
	(shr-make-placeholder-image): Make placeholder images.
	(shr-tag-img): Insert them if we have SVG support.

2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>

	Get explicit width/height + scale computations right

	* src/image.c (compute_image_size): :scale should also be
	taken into account when :width and :height are explicitly names.

2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>

	New functions for getting and setting image properties

	* doc/lispref/display.texi (Defining Images): Document
	image-get/set-property.

	* lisp/image.el (image-set-property): New function.
	(image-get-property): Ditto.

2016-02-19  Alan Mackenzie  <acm@muc.de>

	Await the final mouse event in C-h c and C-h k.

	* lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
	event, keep reading further events until a timeout occurs, to ensure we have
	the complete mouse event from the user.

2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a library for creating and manipulating SVG images

	* doc/lispref/display.texi (SVG Images): New section.

	* lisp/svg.el: New file.

2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix up tests for async TLS negotiation

2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix coding system setup

	* src/process.c (set_network_socket_coding_system): Pass in
	the host/service that's been computed already.

2016-02-18  Michael Albinus  <michael.albinus@gmx.de>

	Reference `tramp-theme' in GNU ELPA.

	* doc/misc/tramp.texi (Frequently Asked Questions):
	Reference `tramp-theme' in GNU ELPA.

2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>

	Verify the TLS connection asynchronously

	* src/gnutls.c (gnutls_verify_boot): Refactor out into its own
	function so that we can call it asynchronously.
	(Fgnutls_boot): Use it.

	* src/process.c (wait_reading_process_output): Verify the TLS
	negotiation.

2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>

	Add column layout module to CSS property list

	* lisp/textmodes/css-mode.el (css-property-ids): Add properties from
	CSS Multi-column Layout Module.

2016-02-16  Michael Albinus  <michael.albinus@gmx.de>

	Minor cleanup in CONTRIBUTE and test/README

	* CONTRIBUTE: Remove detailed explanation about testing; this
	is now in test/README.

	* test/README: Don't mention automated/ subdirectory.

2016-02-15  Glenn Morris  <rgm@gnu.org>

	Provide 'term/name in lisp/term files.

	* lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
	* lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
	* lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
	* lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
	* lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
	* lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
	* lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
	For consistency, provide 'term/name in all files that don't already.

2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Deactivate the correct process

	* src/process.c (wait_reading_process_output): Deactivate the
	correct process on failure.

2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Implement asynch TLS negotiation

	* src/gnutls.c (gnutls_try_handshake): Factor out into its own
	function.
	(emacs_gnutls_handshake): Use it.
	(emacs_gnutls_read): Just return instead of retrying the handshake.

	* src/process.c (finish_after_tls_connection): Factor out
	into its own function.
	(connect_network_socket): Use it.
	(wait_reading_process_output): Retry TLS handshakes.
	(wait_reading_process_output): Defer sentinel until TLS completes.

2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Simplify the DNS resolution loop a bit

	* src/process.c (wait_reading_process_output): Simplify the
	DNS resolution loop a bit.

2016-02-15  Alain Schneble  <a.s@realize.ch>

	Loop over the process list instead of maintaining a separate list

	* src/process.c: Remove declaration/definition of dns_processes list.
	* src/process.c (wait_reading_process_output): Loop over all processes in
	Vprocess_alist instead of dns_processes, to check for completed DNS
	requests.

2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow setting the filter masks later

	* src/process.c (Fset_process_filter): Don't set the socket
	masks here, because we may not have a socket yet.
	(set_process_filter_masks): New function.
	(connect_network_socket): Set the filter masks here.

2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove debugging

2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure we always free DNS resources when deleting a process

	* src/process.c (free_dns_request): Factor out into own function.
	(Fdelete_process): When deleting a process, free any DNS
	structures associated with it.
	(check_for_dns): Always free all DNS resources.

2016-02-15  Alain Schneble  <a.s@realize.ch>

	Don't block in set-process-window-size

	* src/process.c (set-process-window-size): Explicitly return Qnil when
	called with network processes as set_window_size won't work anyway on
	socket fds.  As a welcome side effect, this makes the blocking
	wait_for_socket_fds call obsolete.

2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Do most of the coding system setup earlier

	* src/process.c (Fmake_network_process): Set the read/write
	coding systems here, so that special bindings work.
	(Fmake_network_process): Complete the coding system setup here.

2016-02-15  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	d4b93e1 Minor fixes in global-auto-composition-mode
	02b037b Allow arithmetic operators inside C++ template constructs.
	44b16f6 Avoid crashes in semi-malformed 'condition-case'
	652e5b4 Allow arithmetic operators inside C++ template constructs.
	d9ea795 Fix regression with 'recent-keys' and keyboard macros
	903603f Fix wording in a doc-view.el comment
	cf79616 ; Spelling fixes
	f8bf1b3 CONTRIBUTE cleanups and updates
	f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
	1834ac7 Port to x86 GCC 4.3.1 and earlier
	8482949 Fix point movement under 'scroll-conservatively'
	c1313b5 Replace colon in file name (not legal on Windows)
	f7af26c Fix a typo in edt.texi
	8badf95 Make 'mmap_realloc' on MS-Windows more reliable
	856cd94 Grep alias `all' shall not match parent directory

2016-02-15  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	dacde7e * etc/AUTHORS: Update the AUTHORS file
	478ca5d ; fix changelog entries
	2b7d006 ; make change-history-commit
	851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
	47896c8 ; Improve commentary in insdel.c
	53ca1e1 Index tilde characters in names of backup files
	d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
	b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
	28bb214 Announce that the `C-x w' bindings are deprecated
	1c98f98 Suppress GNUstep hardening
	d82f24b Fix redisplay after a large insertion
	85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
	        closed server"
	e8e3db0 ; Improve merge documentation in CONTRIBUTE
	5be9989 * lib-src/make-docfile.c: Include stdarg.h.
	c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
	        limitations.

2016-02-15  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
	afe7d1f Revert "Document EXIF image rotation"
	c6f377c Document OS X LANG default
	eb4a18c Set locale when run from OS X GUI
	456c0a3 make-docfile cleanup for I/O, etc.
	25ec995 Memory-management cleanup in make-docfile
	02d925e Kevin Gallagher has new email address
	4ef153b Improve doc strings of 'forward/backward-word-strictly'
	3ad05a0 Describe Makefile test targets in test/README

2016-02-15  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	10b8ed2 Document EXIF image rotation
	0f60049 Support integer image rotation and respect EXIF rotations
	7dd45b6 Quote table names for postgres listings (sql-mode)
	6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
	        `backward' optional.
	ee909aa * lisp/simple.el (next-line-or-history-element): Reset
	        temporary-goal-column.
	0a289d3 Suppress ACL ops if configured with --disable-acl
	1a9dbf5 Mention web bugs
	fa55da2 Make mm-html-blocked-images default to "" again

2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>

	Protect against initial handshake failures

	* src/process.c (connect_network_socket): Mark the connection
	as failed if the handshake didn't succeed yet.  This should be
	reworked later.

2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Call the network security manager after doing TLS negotiation

	* lisp/net/network-stream.el (network-stream-open-tls):
	Postpone NSM verification when running async.

	* src/process.c (Fset_process_filter): This function doesn't
	need to wait.
	(connect_network_socket): Set the process status to "run" only
	after TLS negotiation.
	(wait_for_socket_fds): Take a name parameter for more debugging.
	(wait_reading_process_output): Don't change status to "run"
	unless TLS negotiation has finished.
	(send_process): Wait for the process here instead of
	send_process_string.
	(connect_network_socket): Call the network security manager.

2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some #ifdefs and update documentation

	* doc/lispref/processes.texi (Network Processes): Remove
	mention of `dns'.

	* lisp/net/network-stream.el (open-network-stream): Remove
	mention of `dns'.

	* src/process.c (Fset_process_filter)
	(Fset_process_window_size, Fprocess_contact)
	(Fprocess_datagram_address, Fset_process_datagram_address)
	(Fset_network_process_option, Fprocess_send_region)
	(Fprocess_send_string, Fset_process_coding_system)
	(Fset_process_filter_multibyte): Remove the #ifdef
	HAVE_GETADDRINFO_A checks.
	(Fprocess_send_string): Wait for TLS negotiation.
	(wait_for_tls_negotiation): New function.
	(send_process): Remove the TLS boot check.

	* src/process.c (Fmake_network_process): Ditto.

2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>

	Use :nowait t in url-gw

	* lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
	since we're not differentiating.

2016-02-14  Alain Schneble  <a.s@realize.ch>

	Add blockers to process functions

	* src/process.c (set-process-filter, set-process-window-size,
	process-contact, process-datagram-address, set-process-datagram-address,
	set-network-process-option): Make functions wait (block) on network
	process until pending DNS requests have been processed and associated
	socket initialized.

	* src/process.c (process-send-region, process-send-string,
	process-send-eof): Make functions wait (block) while network process is
	in connect state.

2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>

	Add fragmentation module to CSS property list

	* lisp/textmodes/css-mode.el (css-property-ids): Add properties from
	CSS Fragmentation Module Level 3.

2016-02-14  Nicolas Petton  <nicolas@petton.fr>

	* doc/lispref/sequences.texi: Add documentation for seq-map-indexed

2016-02-14  Nicolas Petton  <nicolas@petton.fr>

	New function seq-map-indexed

	* lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
	* test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix problem with wrong encoding of non-ASCII message bodies

	* lisp/gnus/mml.el (mml-generate-mime-1): Disable
	multibyteness before encoding the data.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove codepage setup code from mm-util

	* lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
	(mm-codepage-iso-8859-list): Remove.
	(mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
	(mm-setup-codepage-ibm): Remove.
	(mm-charset-eval-alist): Remove the code pages from the
	default value.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code for older Emacsen

	* lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
	XEmacs compat code.

	* lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
	unused compat function.
	(gnus-sync-json-plist-p): Ditto.

	* lisp/gnus/message.el (message-default-charset): Make obsolete.
	(message-info): Remove compat code.
	(message-setup-fill-variables): Remove kludge needed earlier
	to not overwrite `normal-auto-fill-function'.
	(message-split-line): Remove compat code.

	* lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
	compat code.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat functions from gmm-utils.el

	* lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
	compat code.
	(gmm-image-search-load-path): Remove.
	(gmm-image-load-path-for-library): Remove.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the gmm-lazy and nnmail-lazy compat widgets

	* lisp/gnus/gmm-utils.el (gmm-lazy): Remove.

	* lisp/gnus/nnmail.el (nnmail-lazy): Remove.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up nnimap-request-move-article slightly

	* lisp/gnus/nnheader.el (subr-x): Require.

	* lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
	the code slightly.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Use open-network-stream instead of open-protocol-stream

	* lisp/gnus/nnimap.el: Use open-network-stream instead of
	open-protocol-stream.

	* lisp/gnus/nntp.el: Ditto.

	* lisp/gnus/pop3.el: Ditto.

	* lisp/net/sieve-manage.el: Ditto.

	* lisp/net/network-stream.el (open-protocol-stream): Make obsolete.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code that relies on (featurep 'mule)

	* lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
	compat code.

	* lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
	Remove compat code.

	* lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
	Remove compat code.

	* lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
	Remove compat code.
	(mm-w3m-standalone-supports-m17n-p): Ditto.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat functions from starttls.el

	* lisp/net/starttls.el
	(starttls-set-process-query-on-exit-flag): Remove.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat functions from smime.el

	* lisp/gnus/smime.el (smime-replace-in-string): Remove.
	(smime-make-temp-file): Remove.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from smiley

	* lisp/gnus/smiley.el (smiley-style): Remove compat code.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from rfc2047

	* lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
	compat code.
	(rfc2047-decode-string): Ditto.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat function from pop3

	* lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code in Gnus backends

	* lisp/gnus/nndiary.el (nndiary-error): Remove.

	* lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.

	* lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.

	* lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.

	* lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from some mml files

	* lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
	Remove compat code.

	* lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
	Always use `mail-extract-address-components', since this isn't
	time critical.
	(mml-smime-get-dns-cert): Ditto.

	* lisp/gnus/mml.el (mml-preview): Remove compat code.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code and compat functions from mm-util.el

	* lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
	compat code.
	(mm-coding-system-priorities)
	(mm-mule-charset-to-mime-charset, mm-charset-after)
	(mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
	(mm-detect-coding-region): Define unconditionally.
	(mm-detect-mime-charset-region): Ditto.
	(mm-coding-system-to-mime-charset): It's 'mime-charset now.
	(coding-system-name)
	(find-file-coding-system-for-read-from-filename)
	(find-operation-coding-system): Remove aliases.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some compat code from mm-*.el

	* lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.

	* lisp/gnus/mm-decode.el (mm-tmp-directory)
	(mm-valid-image-format-p): Remove compat code.

	* lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
	"Connection" "Close" workaround for older Emacsen.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code and functions from message.el

	* lisp/gnus/message.el (message-send-mail-function): Remove
	compat code.
	(message-dont-reply-to-names, message-mode)
	(message-setup-fill-variables, message-fill-paragraph)
	(message-remove-blank-cited-lines, message-make-from)
	(message-forward-rmail-make-body, message-tool-bar-gnome)
	(message-tab): Remove compat code.
	(message-completion-in-region): Remove.
	(message-read-from-minibuffer): Remove compat code.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Declare rfc1843 instead of autoloading

	* lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
	instead of autoload.

2016-02-13  Eli Zaretskii  <eliz@gnu.org>

	Avoid signaling an error in 'dired-do-find-regexp-and-replace'

	* lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
	autoloaded correctly.  (Bug#22613)

2016-02-13  Eli Zaretskii  <eliz@gnu.org>

	Fix network-stream-tests.el for MS-Windows

	* test/lisp/net/network-stream-tests.el
	(connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
	(connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.

2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some Message compat functions

	* lisp/gnus/message.el (message-kill-all-overlays): Define
	unconditionally.
	(message-window-inside-pixel-edges): Remove.
	(mail-dont-reply-to): Remove.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some Gnus compat code

	* lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
	(gnus-mm-display-part): Ditto.

	* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
	compat code.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Sort groups before inserting them into the group buffer

	* lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
	Sort groups before inserting them.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Make "unseen" tracking work again in Gnus

	* lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
	tracking work again.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove Gnus compat functions defined in gnus.el

	* lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
	(gnus-extent-start-open, gnus-character-to-event)
	(gnus-assq-delete-all, gnus-add-text-properties)
	(gnus-put-text-property, gnus-key-press-event-p):

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from gnus-uu and win

	* lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
	compat code.

	* lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.

	* lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove several gnus-util compat functions

	* lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
	(gnus-read-shell-command): Remove.
	(gnus-match-substitute-replacement): Remove.
	(gnus-string-match-p): Remove.
	(gnus-string-prefix-p): Remove.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the gnus-merge alias

	* lisp/gnus/gnus-util.el (gnus-merge): Remove.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the gnus-union alias

	* lisp/gnus/gnus-util.el (gnus-union): Remove.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the gnus-delete-alist alias

	* lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
	(gnus-delete-alist): Remove.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the gnus-float-time alias

	* lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
	compat code.
	(gnus-float-time): Remove.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from gnus-srvr, start and sum

	* lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
	compat code.

	* lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
	Remove compat code.

	* lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
	(gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
	(gnus-recenter)
	(gnus-summary-limit-strange-charsets-predicate)
	(gnus-summary-show-thread): Remove compat code.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from gnus-spec.el

	* lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
	(gnus-balloon-face-function): Remove compat code.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compat change in last check-in

	* lisp/gnus/gnus-group.el
	(gnus-group-name-charset-group-alist): `find-coding-system'
	doesn't exist in Emacs.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Always use url-queue

	* lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
	Always use url-queue.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat functions from gnus-html.el

	* lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from gnus-group.el

	* lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
	(gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Define gnus-diary-kill-entire-line unconditionally

	* lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
	Define unconditionally.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from gnus-cache and gnus-bookmark

	* lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.

	* lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
	Remove compat code.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from gnus-art.el

	* lisp/gnus/gnus-art.el (gnus-article-prepare)
	(gnus-mime-copy-part, gnus-output-to-file)
	(gnus-article-reply-with-original)
	(gnus-button-handle-apropos-variable)
	(gnus-button-handle-apropos-documentation):

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from gnus-agent.el

	* lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
	Remove compat code.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Rewrite gmm-labels usage to use cl-labels

	* lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
	(gmm-labels): Remove.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from canlock.el

	* lisp/gnus/canlock.el (defmacro): Remove

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from auth-source

	* lisp/gnus/auth-source.el (auth-source-read-char-choice):
	Remove compat code.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix gnus-group.el compilation warnings about unprefixed variables

	* lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
	compilation warnings by passing in the dynamic variables as
	explicit lexical parameters to `eval'.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix the :tracker slot name

	* lisp/gnus/registry.el (registry-lookup-secondary): The
	`tracker' slot is called `tracker', not `:tracker'.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warnings in gnus-art.el

	* lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
	(gnus-article-hide): Avoid compilation warnings.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in gnus-score.el

	* lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
	compiler.

2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>

	Revert "Fix gnus-group-get-new-news-this-group on group with closed server"

	This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.

	This makes nnimap groups not be activated.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix encoding problem introduced by previous patch series

	* lisp/mail/rfc2047.el: Ditto (bug#22648).

	* lisp/mail/rfc2231.el: Fix problem created by the
	mm-replace-in-string conversion.

2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert "Avoid defvarring prefix-less variables"

	This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.

	The defvars are needed if we're doing lexical-binding

2016-02-12  Glenn Morris  <rgm@gnu.org>

	* test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
	Make it pass.

	* test/lisp/url/url-auth-tests.el
	(url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Finish up cl-defmethoding registry,el

	* lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Revert the gnus-replace-in-string change, fix arguments, reapply

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Silence more message.el compilation warnings

	* lisp/gnus/message.el (message-generate-headers): Don't use
	variable values directly to get the header values, because
	that breaks with lexical binding (without unprefixed defvars).

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix various compilation warnings in message.el

	* lisp/gnus/message.el (message-fix-before-sending): Use
	read-multiple-choice instead of gnus-multiple-choice.
	(mm-util): Require.
	(rfc2047): Require.
	(message-remove-blank-cited-lines): Use message instead of
	gnus-message.
	(message-send): Use y-or-n-p instead of gnus-y-or-n-p.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Silence compilation warning in mm-view

	* lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
	compilation warning.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix epg-related compilation warnings in mml-sec

	* lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
	library.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	rmail-dont-reply-to-names is obsolete

	* lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
	the obsolete `rmail-dont-reply-to-names' variable.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Partially revert the defmethod->cl-defmethod change in registry.el

	* lisp/gnus/registry.el (initialize-instance): Use defmethod,
	since cl-defmethod doesn't work with :after.
	(initialize-instance): Ditto, but with :before.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid obsolete function in plstore

	* lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
	instead of the obsolete epg-context-set-armor.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Use cl-defmethod in registry.el

	* lisp/gnus/registry.el: Use cl-defmethod instead of the
	obsolete defmethod.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Make sieve-manage require sasl

	* lisp/net/sieve-manage.el: Fix compilation warning by
	requiring sasl.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid defvarring prefix-less variable

	* lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't use the obsolete char-valid-p function

	* lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
	obsolete char-valid-p function.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix missed translation in a previous commit

	* lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
	translation of mailcap-delete-duplicates.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid using mm-make-temp-file

	* lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.

	* lisp/gnus/mm-decode.el (mm-display-external): Ditto.

	* lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix compilation warning in gnus-start

	* lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
	mm-make-temp-file.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid the obsoleted defmethod

	* lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
	defmethod.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid defvarring prefix-less variables

	* lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
	don't need to `defvar' the short variables to allow `eval' to
	use them.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	nnweb doesn't need unibyte buffers

	* lisp/gnus/nnweb.el (nnweb-retrieve-headers)
	(nnweb-read-overview, nnweb-request-article)
	(nnweb-google-reference): Unibyte buffers are not needed here.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Encode before sending from nnspool

	* lisp/gnus/nnspool.el (nnspool-request-post): Encode data
	before sending it to the news server.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	nnrss buffers don't have to be unibyte

	* lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
	to be unibyte just to receive data, I think.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't use mm-with-unibyte-current-buffer in mml2015

	* lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
	mm-with-unibyte-current-buffer.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't use mm-with-unibyte-current in mml1991

	* lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
	mm-with-unibyte-current.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't use mm-with-unibyte-current in mml1991

	* lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
	mm-with-unibyte-current.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't use mm-with-unibyte-buffer in utf7

	* lisp/international/utf7.el (utf7-fragment-encode): Don't use
	mm-with-unibyte-buffer.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from Gnus helper libraries

	* lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.

	* lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.

	* lisp/gnus/sieve-mode.el: Remove XEmacs compat.

	* lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from Gnus backends

	* lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
	(mm-inline-image): Rename from mm-inline-image-emacs.

	* lisp/gnus/mml.el: Remove XEmacs compat code.

	* lisp/gnus/nnheader.el: Remove XEmacs compat code.

	* lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
	XEmacs compat code.

	* lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.

	* lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
	XEmacs compat code.

	* lisp/gnus/nnmairix.el: Remove XEmacs compat code.

	* lisp/gnus/nnrss.el: Remove XEmacs compat code.

	* lisp/gnus/nntp.el: Remove XEmacs compat code.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat functions from mm-util.el

	* lisp/gnus/mm-util.el (mm-special-display-p): Remove.
	(mm-decode-coding-string, mm-encode-coding-string)
	(mm-decode-coding-region, mm-encode-coding-region): Remove.
	(mm-string-to-multibyte): Remove.
	(mm-char-or-char-int-p): Remove.
	(mm-ucs-to-char): Remove compat versions of the function.
	(mm-read-coding-system): Remove.
	(mm-coding-system-p): Remove compat code.
	(mm-enrich-utf-8-by-mule-ucs): Remove.
	(mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
	(mm-delete-duplicates): Remove.
	(mm-multibyte-p): Remove compat versions.
	(mm-xemacs-find-mime-charset-1): Remove.
	(mm-xemacs-find-mime-charset): Remove.
	(mm-make-temp-file): Made obsolete.
	(mm-find-buffer-file-coding-system): Remove XEmacs compat.

2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove Message and mm-decode XEmacs compat code

	* lisp/gnus/message.el: Remove XEmacs compat code.

	* lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.

	* lisp/gnus/mm-util.el: Remove some XEmacs compat code.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some XEmacs compat code from message.el

	* lisp/gnus/message.el: Remove some XEmacs compat code.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from ietf-drums.el

	* lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
	XEmacs compat.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from gravatar.el

	* lisp/gnus/gravatar.el: Remove XEmacs compat code from
	gravatar.el.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove more XEmacs compat code from Gnus

	* lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
	(gnus-timer--function): Remove.

	* lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
	19.2 compat.

	* lisp/gnus/gnus-win.el: Remove XEmacs compat code.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove more XEmacs compat functions from gnus-util.el

	* lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
	(gnus-get-display-table): Remove.
	(gnus-format-message): Remove.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove more XEmacs compat functions from Gnus

	* lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
	(gnus-previous-char-property-change): Remove.
	(gnus-graphic-display-p): Remove.
	(gnus-select-frame-set-input-focus): Remove.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove more XEmacs compat code from gnus-util

	* lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
	all its usages).
	(gnus-invisible-p): Remove.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove gnus-make-local-hook

	* lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
	all its usages).

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	gnus-replace-in-string -> replace-regexp-in-string

	* lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
	obsolete.  Transform all usages of it into
	replace-regexp-in-string.

	* lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove Gnus XEmacs compat

	* lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
	about code that doesn't work in XEmacs.

	* lisp/gnus/gnus-sum.el: Remove XEmacs compat.

	* lisp/gnus/gnus-topic.el: Remove XEmacs compat.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat functions in gnus-spec.el

	* lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
	(gnus-substring-function): Remove.
	(gnus-use-correct-string-widths): Remove.
	(gnus-make-format-preserve-properties): Remove.
	(gnus-xmas-format): Remove.

	* lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove Gnus XEmacs compat functions

	* lisp/gnus/gnus-registry.el: Remove XEmacs compat.

	* lisp/gnus/gnus-salt.el: Remove XEmacs compat.

	* lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove Gnus XEmacs compatibility

	* lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
	XEmacs compat.

	* lisp/gnus/gnus-dired.el: Remove XEmacs compat.

	* lisp/gnus/gnus-draft.el: Remove XEmacs compat.

	* lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
	XEmacs compat.

	* lisp/gnus/gnus-group.el: Remove XEmacs compat.

	* lisp/gnus/gnus-html.el: Remove XEmacs compat.

	* lisp/gnus/gnus-ml.el: Remove XEmacs compat.

	* lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't use image-map if it isn't defined

	* lisp/net/shr.el (shr-image-map): Only use image-map as a
	parent if it's defined (bug#22614).

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Check for MagickAutoOrientImage

	* configure.ac: Check for MagickAutoOrientImage.

	* src/image.c (imagemagick_load_image): Don't use
	MagickAutoOrientImage unless it's available.

2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	Document EXIF image rotation

	* doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.

2016-02-10  Dima Kogan  <dima@secretsauce.net>

	Support integer image rotation and respect EXIF rotations

	* src/image.c (imagemagick_load_image): Allow integer rotations in
	addition to floating point rotations (bug#22591).
	* src/image.c (imagemagick_load_image): Images that have an
	orientation given in EXIF and have no explicit :rotation tag are now
	pre-rotated.  All information such as width/height is reported for the
	rotated image.

2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>

	* lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/gnus/gnus-cite.el: Remove XEmacs compat code.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from gnus-bookmark.el

	* lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
	(gnus-bookmark-remove-properties): Remove.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove XEmacs compat code from gnus-a*.el

	* lisp/gnus/gnus-agent.el: Remove compat code.

	* lisp/gnus/gnus-art.el: Remove compat code.

	* lisp/gnus/gnus-async.el: Remove compat code.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove gmm compat functions

	* lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
	(gmm-write-region): Remove.
	(gmm-called-interactively-p): Remove.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/gnus/ecomplete.el: Remove XEmacs compat code.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove compat code from compface.el

	* lisp/image/compface.el: Remove XEmacs compat code throughout.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove the now empty gnus-ems.el and references to it

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove Gnus compat names for mouse bindings

	* lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
	(gnus-down-mouse-2): Remove.
	(gnus-down-mouse-3): Remove.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Drop Gnus compat functions

	* lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.

	* lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.

	* lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Get rid of gnus-ems-redefine

	* lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove Gnus compat code

	* lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
	transitional code from ten years ago.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow interactively scaling past :max-width etc

	* lisp/image.el (image--current-scaling)
	(image--image-without-parameters): New functions.
	(image--change-size): Use them to allow changing the size of a
	image even if it has :width/:max-width (etc.) already set.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow accessing the image commands via shr

	* lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
	accessing the image commands.

	* lisp/net/shr.el (shr-image-map): New map used for images.
	(shr-urlify): Don't overwrite image maps when applying URL maps.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Use a sparse image keymap

	* lisp/image.el (image-map): Use a sparse keymap.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Put a keymap on images created with insert-image and friends

	* lisp/image.el (image-save): New command.
	(image-rotate): Ditto.
	(image-map): New keymap.
	(insert-image): Put the image-map on all images.
	(insert-sliced-image): Ditto.
	* doc/lispref/display.texi (Showing Images): Document the
	image map.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix some folding issues in read-multiple-choice

	* lisp/subr.el (read-multiple-choice): Fix folding when you
	have many items.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in last checkin

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove Gnus compat functions

	* lisp/gnus/gnus-ems.el (gnus-mark-active-p)
	(gnus-region-active-p, gnus-select-lowest-window)
	(gnus-summary-display-table, gnus-max-width-function): Remove
	compat functions.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Move non-compat Gnus functions to gnus-util.el

	* lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
	(gnus-create-image, gnus-image-type-available-p): Move here
	from gnus-ems.el, since these aren't compat functions.

2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	Omit valloc decl if redundant

	* src/gmalloc.c (valloc): Omit decl if malloc.h is included,
	to pacify --enable-gcc-warnings.

2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>

	Restore the calloc family.

	* src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
	They were lost in a4817d8 but calloc is still (marginally) used in
	code statically liked with emacs, so hybrid_calloc is needed.
	Also, in the non-hybrid case, we can't get rid of calloc anyway as
	other libraries liked with emacs may need it.
	* src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.

2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove some Gnus compat functions

	* lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
	(gnus-window-inside-pixel-edges, gnus-set-process-plist)
	(gnus-process-plist, gnus-process-get, gnus-process-put): Remove.

2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	-

	-

2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
	cc419fb Don't inloop gnus-uu-mark-thread on the last thread
	51c77a2 Display non-ASCII group names better in prompts
	f93d669 Default to gpg2 instead of gpg

2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
	16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
	3db6adb * lisp/isearch.el (search-default-mode)
	4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
	c77ffc8 Use monitor's resolution for positioning tooltips
	49e5749 Fix file-notify-test on MS-Windows
	be1d874 Fix issues found by auditing w32notify code
	87ae218 Extend etags Ruby support for accessors
	aa35257 Update publicsuffix.txt.
	6816bff Ensure that Gnus dribble handling allows removing entries
	691feae Be consistent when using encoded strings in nnimap data
	3ed423b Display the decoded Gnus group name
	5428b5b Use completion-ignore-case instead of defining command

2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
	d333716 ; * etc/NEWS: Expand news entry for scss-mode
	c32c16f ; Better document changes in ls-lisp default behavior
	dc6eed2 Fix doc string of tls-program

2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	2c117fc * etc/NEWS: Document new mpc.el features
	71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
	9dfece1 Correctly fontify C++ initializations which "look like" functions.
	4485222 Improve newsticker-treeview-selection-face
	4236944 Minor fix in tagging Ruby accessors by etags
	35fc77d Spelling fixes
	3dda110 Remove 'def X' from the example

2016-02-09  Eli Zaretskii  <eliz@gnu.org>

	Fix network-stream-tests on MS-Windows

	* test/lisp/net/network-stream-tests.el (make-local-unix-server):
	Skip if local sockets are not supported.

2016-02-09  Michael Albinus  <michael.albinus@gmx.de>

	* admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.

2016-02-09  Eli Zaretskii  <eliz@gnu.org>

	Disable 'timer-list'

	* lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
	command.

2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid aligned_alloc static/extern collision

	* src/alloc.c (aligned_alloc): Define to private name when a
	static function, to avoid collision with lisp.h extern decl.
	Reported by John Yates in:
	https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html

2016-02-08  David Edmondson  <dme@dme.org>

	src/process.c Correctly convert AF_INET6 addresses

	* src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
	converted to a list of 16 bit quantities by
	conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
	same scheme rather than expecting a (longer) list of 8 bit
	quantities.

2016-02-08  Michal Nazarewicz  <mina86@mina86.com>

	Make `message-beginning-of-line' aware of folded headers

	* lisp/gnus/message.el (message-beginning-of-header): New function which
	moves point to the beginning of a mail header.  The function is aware of
	folded headers and with non-nil argument looks for the true beginning of
	a header while with nil argument moves to the indented text of header's
	value.
	(message-beginning-of-line): Function is now aware of folded headers and
	either moves point to the indentation of a header or, in visual-line-mode,
	searches for the beginning of the header.

2016-02-08  Michal Nazarewicz  <mina86@mina86.com>

	Optimize ‘point in message header’ check

	* lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
	regular expression matches with a single bound string match thus
	reducing amount of work the function is doing.

2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the `R' command get the correct relative <img>s

	* lisp/net/eww.el (eww-readable): Preserve the base URL so
	that image expansions are fetched from the right place (bug#22605).

2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a mode to list and cancel timers

	* doc/lispref/os.texi (Timers): Menton `timer-list'.

	* lisp/emacs-lisp/timer-list.el: New file.

2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Add new commands to allow changing the size of images

	* lisp/image.el (image-increase-size, image-decrease-size):
	New commands.
	(image-change-size): New function.

2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow the image scale to be a floating point number

	* src/image.c (compute_image_size): The scale can be a
	floating point number.

2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Add an IPv6 test

	* test/lisp/net/network-stream-tests.el
	(connect-to-tls-ipv6-nowait): Add an ipv6 test, too.

2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Use gnutls-serv instead of openssh

	* test/lisp/net/network-stream-tests.el (make-tls-server): Use
	gnutls-serv instead of openssh.

2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Skip TLS tests if we don't have openssl

	* test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
	TLS tests if we don't have openssl and GnuTLS.

2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Add an IPv6 test

	* test/lisp/net/network-stream-tests.el
	(connect-to-tls-ipv6-nowait): Add an ipv6 test, too.

2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

	Use gnutls-serv instead of openssh

	* test/lisp/net/network-stream-tests.el (make-tls-server): Use
	gnutls-serv instead of openssh.

2016-02-08  Daniel Colascione  <dancol@dancol.org>

	Performance improvements for vc-hg

	Teach vc-hg how to read some Mercurial internal data structures,
	allowing us to avoid the need to run hg status -A, which is very slow
	for large repositories.  Fall back to running hg if anything looks
	funny.  vc-hg now puts the _working directory_ revision in the
	modeline instead of the file revision, which greatly improves
	performance and which allows us to again skip running hg in the case
	that we have an active bookmark.

	* lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
	(vc-hg-symbolic-revision-styles)
	(vc-hg-use-file-version-for-mode-line-version)
	(vc-hg-parse-hg-data-structures): New user preferences
	(vc-hg--active-bookmark-internal, vc-hg--run-log)
	(vc-hg--symbolic-revision, vc-hg-mode-line-string)
	(vc-hg--read-u8, vc-hg--read-u32-be)
	(vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
	(vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
	(vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
	(vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
	(vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
	(vc-hg--ignore-patterns-valid-p)
	(vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
	(vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
	(vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
	(vc-hg-state-fast): New functions.
	(vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
	(vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
	(vc-hg--dirstate-scan-cache): New internal variables.
	* lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
	before updating modeline.

2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Skip TLS tests if we don't have openssl

	* test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
	TLS tests if we don't have openssl and GnuTLS.

2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Automatically scale images up on high-density screens

	* doc/lispref/display.texi (ImageMagick Images): Mention :scale.
	(Defining Images): Mention image-scaling-factor.

	* lisp/image.el (image-compute-scaling-factor): New function
	(bug#22172).
	(create-image): Use it.
	(image-scaling-factor): New variable.

	* src/image.c (compute_image_size): Take :scale into account.

2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Ensure progress when fetching from the queue

	* lisp/url/url-queue.el (url-queue-check-progress): Ensure
	that we have progress when fetching queued requests (bug#22576).

2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Make mail-extract-address-components return the user name more

	* lisp/mail/mail-extr.el (mail-extract-address-components):
	Return the name even if it's the same as the mailbox name (if
	`mail-extr-ignore-single-names' isn't set) (bug#22594).

2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Message no longer warns about unknown top level domains

2016-02-07  Jarno Malmari  <jarno@malmari.fi>

	Add tests for url-auth

	* test/lisp/url/url-auth-tests.el: New file.

2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a TLS connection test

	* test/lisp/net/network-stream-tests.el (connect-to-tls): Add
	a TLS connection test.

2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more network tests

	* test/lisp/net/network-stream-tests.el (echo-server-nowait):
	New test.

2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add network tests

	* test/lisp/net/network-stream-tests.el: New suite of network tests.

2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a TLS connection test

	* test/lisp/net/network-stream-tests.el (connect-to-tls): Add
	a TLS connection test.

2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add more network tests

	* test/lisp/net/network-stream-tests.el (echo-server-nowait):
	New test.

2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Add network tests

	* test/lisp/net/network-stream-tests.el: New suite of network tests.

2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>

	Allow various Gnus and Message address variables to be functions

	* doc/misc/gnus.texi (To From Newsgroups):
	gnus-ignored-from-addresses can be a function.

	* doc/misc/message.texi (Wide Reply):
	message-dont-reply-to-names can be a function.

	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
	message-alternative-emails can be a function.

	* lisp/gnus/gnus-notifications.el (gnus-notifications):
	message-alternative-emails can be a function (bug#22315).

	* lisp/gnus/gnus-sum.el
	(gnus-summary-from-or-to-or-newsgroups):
	gnus-ignored-from-addresses can be a function (bug#22315).

2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix typo in Gnus regexp

	* lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
	typo in last change to this regexp (bug#22592).

2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>

	Port to FreeBSD x86

	Reported by Herbert J. Skuhra in:
	https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
	* src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
	since malloc always returns a multiple of 8 in FreeBSD.

2016-02-07  Alan Mackenzie  <acm@muc.de>

	On leaving CC Mode, clean up by removing character properties.

	* lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
	all instances of the text properties/extents category, syntax-table,
	c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.

2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>

	message-valid-fqdn-regexp no longer exists

	* lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
	the no-longer-existing message-valid-fqdn-regexp variable.

2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove message-valid-fqdn-regexp, since it changes too much now

	* lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
	(message-bogus-recipient-p): Don't use it any more.
	(message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.

2016-02-06  Paul van der Walt  <paul@denknerd.org>

	Match "Re :" as a "Re:" prefix

	* lisp/gnus/message.el (message-subject-re-regexp): Also match
	"Re :" as a "Re:" prefix (commonly used in France).

2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>

	lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.

	* lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.

2016-02-06  David Edmondson  <dme@dme.org>

	src/process.c Correctly convert AF_INET6 addresses

	* src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
	converted to a list of 16 bit quantities by
	conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
	same scheme rather than expecting a (longer) list of 8 bit
	quantities.

2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>

	Search for host/port combinations in auth-source on OS X

	* lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
	Search for all host/port (or protocol) combinations for a match in
	the OS X keychain.

2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove nonsensical setting of gnus-newsgroup-unseen

	* lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
	setting of gnus-newsgroup-unseen.

2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Use underline on all terminals that support it

	* lisp/subr.el (read-multiple-choice): Use
	display-supports-face-attributes-p instead of
	display-graphic-p to determine whether we can use underlining.

2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the nsm query say what it did after the user interaction

	* lisp/net/nsm.el (nsm-query): Issue a message about
	aborting/accepting messages (suggested by N. Jackson)
	(bug#22531).

2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	Omit XLI (init) == 0 optimization in make-vector

	* src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
	== 0) case, as this optimization is probably not worth the hassle.
	Just for the record, the test for that case could have been
	(XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
	assuming the typical platform with no padding bits and where
	conversion to int omits the most significant bits.

2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	* autogen.sh: Port to dash (Bug#22556).

2016-02-05  Michael Albinus  <michael.albinus@gmx.de>

	Minor cleanup for Tramp "doas".

	* doc/misc/tramp.texi (Inline methods): Add "doas" method.

	* etc/NEWS: Add Tramp connection method "doas".

	* lisp/net/tramp-sh.el (tramp-methods) <doas>:
	Add `tramp-remote-shell-args'.

2016-02-05  Xi Lu  <lx@shellcodes.org>

	* lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)

	(tramp-default-user-alist): Add rule for "doas".
	(top): Completion function for "doas" is
	`tramp-completion-function-alist-su'.

2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Restore the window configuration

	* lisp/net/nsm.el (nsm-query-user): Restore the window
	configuration (bug#22532).

2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Use an X popup in read-multiple-choice if running from a mouse command

	* lisp/subr.el (read-multiple-choice): Use an X popup if
	called from a mouse action (bug#19368).

2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Display cursor in echo area when prompting

	* lisp/subr.el (read-multiple-choice): Display the cursor in
	the echo area when prompting (bug#19368).

2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make NSM prompting clearer

	* lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
	to prompt in a nicer way (bug#19368).

2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Underline read-multiple-choice-face

	* lisp/faces.el (read-multiple-choice-face): Also underline
	the choice.

2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make url.el use async DNS

	* lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.

	* src/process.c (syms_of_process): Add a `dns' subfeature for
	make-network-process.

2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Only do async DNS if requested with :nowait 'dns

	* doc/lispref/processes.texi (Network Processes): Mention the
	dns value of :nowait.

	* src/process.c (Fmake_network_process): Only do async DNS if
	:nowait is `dns'.

2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Add sanity check for checking async DNS

	* src/process.c (check_for_dns): Disregard processes that have
	already been killed.

2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	Make the read-multiple-choice prompt a bit prettier

	* doc/lispref/commands.texi (Reading One Event): Mention
	read-multiple-choice-face.

	* lisp/subr.el (read-multiple-choice): Make the prompting a bit
	prettier.

2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer memcpy and memset to doing it by hand

	* src/alloc.c (Fmake_vector):
	* src/ccl.c (setup_ccl_program):
	Use memset to clear array.
	* src/alloc.c (Fvector, Fmake_byte_code):
	* src/charset.c (Fdefine_charset_internal):
	Use memcpy to copy array.

2016-02-04  Nicolas Petton  <nicolas@petton.fr>

	Do not ignore redirections of 301, 302 and 307 status codes

	The current version of HTTP/1.1 (RFC 7231) no longer requires
	confirmation on 301, 302 or 307 status codes, therefore we do not have
	to ignore redirects for other requests than GET and HEAD.

	* lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
	and 307 redirects for other requests than GET and HEAD.

2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>

	* lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.

2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify USE_ALIGNED_ALLOC

	* src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
	in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.

2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>

	Honor docstring of gnus-group-get-new-news

	* lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
	is t, but non-numeric, unconditionally consider all groups to need
	updating.

2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>

	New function read-multiple-choice

	* doc/lispref/commands.texi (Reading One Event): Document
	read-multiple-choice.

	* lisp/faces.el (read-multiple-choice-face): New face.

	* lisp/subr.el (read-multiple-choice): New function.

2016-02-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	ee73997 Make erc work better when encountering unknown prefix chars
	b99141d Make erc completion case-insensitive again
	66c4620 Make completion in erc use consistent casing
	8c562b2 Make /QUIT in erc more robust
	d93d2c5 Make tracking faces in Emacs work more reliably
	af6ab7e Make shr not bug out on images on non-graphical displays
	3311f40 Fix bookmark display widths
	d90ab1e Fix typo in eww-make-unique-file-name
	7f81825 Make it possible to TAB to input fields
	a43a1dc Insert complete alt texts when images are disabled
	56ed4e1 Allow eww text fields to grow
	66b315c Make erc work when subword-mode is switched on
	255b68f Fix IMAP doc example
	91557f5 Quoting fixes in doc strings and diagnostics
	2c0dc9f Fix warning message in hack-local-variables
	504696d Etags: yet another improvement in Ruby tags
	8784ebf Fix x-popup-menu on TTYs without a mouse
	8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
	        pcase macro
	6191003 Use pop-to-buffer-same-window in eww
	fe321fd * autogen.sh: Revert all recent changes.
	74ebd4a * make-dist: Updates related to nt/.
	737193a * make-dist: Add modules/.
	3696bf2 * make-dist: Update for super-special file that can't live in etc/.
	a4278e2 Fix failure to compile ns-win.el in parallel builds
	860da4d Fix names of tags generated for Ruby accessors
	f6213ce Fix file-name recognition in 'etags'
	e42e662 Change Ruby file names and extensions recognized by 'etags'
	58bfb6a More improvements for Ruby support in 'etags'
	c04e911 Add --git-config option to autogen.sh
	5713466 Fix editing undo changes in eww fields
	51362d6 Allow the user more control of popping up the eww window
	ee0fbd8 Make eww-browse-url with new-window parameter work again
	9c3142d Clean up eww code slightly
	cb035f3 Don't insert nil faces in shr
	4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
	93f2153 Improve the custom type of some user options.
	9f60d7e Mark some risky calendar variables.
	1d07dcd Highlight two additional SCSS keywords
	ee8b466 Recommend enabling integrity-checking in git
	e639e10 Some corrections in Elisp manual
	d766ca8 Chatter when autogen.sh changes Git configuration
	3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
	43cb9f8 Omit unnecessary history from Lisp intro
	2fbd1da * etc/HISTORY: Add some more history, plus git tags.
	c90e1b4 Improve elisp “Security Considerations” doc
	cedd7ca autogen.sh now arranges for git to check hashes
	86ce76b ; Fix ChangeLog.2 commit ID.
	7b1d2b1 Fix (c & 040) typo in emergency escapes
	a8273da Fix display of overlay strings with 'display' and 'box' property
	fc48106 Fix imap-starttls-open
	cdecbed Fix return value of imap-starttls-open
	20c7e34 ; * etc/NEWS: Fix renamed command name
	98bdbdb Correct reference to DARWIN_OS preprocessor symbol
	b250d29 Spelling fix
	b920a0e Spelling fixes
	93b144b Pacify GCC on C library without glibc API

2016-02-03  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
	        priority of non-free Chrome.
	0fac75f Improve the custom type of some user options.
	2df0e04 Highlight CSS variables with variable name face
	3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
	        user-serviceable.
	2a5233c Mark some user options that can get evalled as risky.
	39b166f Disable DebPrint in sys_read on MS-Windows
	9fd0189 ;Fix ChangeLog entry
	4bb7233 Fix typos in Introduction to Emacs Lisp manual

2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>

	Add a new command to switch between erc buffers

	* doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
	* etc/NEWS: Mention new command
	* lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
	(eww-mode-map): Add menu item
	(eww-switch-to-buffer): New command

2016-02-03  David Edmondson  <dme@dme.org>

	Make erc work better when encountering unknown prefix chars

	* lisp/erc/erc.el (erc-channel-receive-names): Output a warning
	instead of erroring out on unknown prefix chars (bug#22380).

2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)

	Allow sending empty hidden values in eww

	* lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
	values (bug#22388).

2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>

	Remove packages obsoleted before Emacs 24.

	In accordance with the policy discussed in the emacs-devel list,
	packages that have been obsoleted for a full major release cycle are up
	for deletion.

	This removes almost all packages that are now eligible for deletion,
	with the exception of "cl-compat", which seems it is likely to still be
	used, and "optional", which offers some functionality that doesn't have
	a replacement yet.

2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Mention context when resume from emergency escape

	That way, if the user has been doing something else for a while,
	they are reminded of the situation when restarting Emacs,
	and are more likely to understand the two questions.
	* doc/emacs/trouble.texi (Emergency Escape): Document this.
	* src/keyboard.c (handle_interrupt): Implement this.

2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	Port aligned_alloc decl to Cygwin.

	Problem reported by Ken Brown (Bug#22522#38).
	* configure.ac (aligned_alloc): Check for decl too.
	* src/lisp.h (aligned_alloc): Declare if not already declared.

2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	autogen.sh now configures git only on request

	* autogen.sh (do_autoconf, do_git): New vars.
	Support new arguments --help, all, autoconf, git.
	By default, just do autoconf-related configuration, not git.
	Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
	If GNU cp is available, use it to backup .git/config before
	changing it.  When configuring git, chatter about what is being
	done, and configure git to check hashes.  Avoid some duplicate
	file name specification when creating git hooks.

	* GNUmakefile (ALL_IF_GIT): New macro.
	(configure): Use it.
	* INSTALL.REPO: Suggest './autogen.sh all'.

2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>

	Doc fixes and refactorings based on comments from Eli Zaretskii

	* doc/lispref/processes.texi (Network Processes): Clarify the
	meaning of :tls-parameters.

	* lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.

	* lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
	own function.
	(gnutls-negotiate): Use it.
	(open-gnutls-stream): Ditto.

	* src/eval.c (vformat_string): Refactor out the printing bits
	from verror.
	(verror): Use it.

	* src/gnutls.c (boot_error): Mark failed processes with the
	real error message.

	* src/lisp.h: Declare vformat_string.

2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Build with C11 if available

	* admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
	* m4/std-gnu11.m4: New file, from gnulib.
	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.

2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Update gnulib copy

	* doc/misc/texinfo.tex: Copy from gnulib.

2016-02-02  Glenn Morris  <rgm@gnu.org>

	* lisp/vc/add-log.el (change-log-directory-files, find-change-log):
	Doc tweaks.

2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Port better to platforms lacking aligned_alloc

	Problem reported by Ken Brown (Bug#22522).
	* src/lisp.h (hybrid_aligned_alloc)
	[HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.

2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Port malloc.h hygiene fix to LTO

	* src/alloc.c (__malloc_initialize_hook):
	Make it externally visible (Bug#22522).

2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Build fix for --enable-check-lisp-object-type

	* src/process.c (check_for_dns): Type fix reported by YAMAMOTO
	Mitsuharu.

2016-02-01  Glenn Morris  <rgm@gnu.org>

	Make find-change-log prefer a VCS root, if no ChangeLog exists.

	* lisp/vc/add-log.el (change-log-directory-files): New option.
	(find-change-log): Respect change-log-directory-files.
	* doc/emacs/maintaining.texi (Change Log Commands):
	Mention change-log-directory-files.

2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>

	Boot parameter check fix

	* src/process.c (send_process): Fix test for boot parameters noted
	by Andy Moreton.

2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>

	Double static heap size.

	* src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
	small on FreeBSD (Bug#22086).

2016-02-01  Michael Albinus  <michael.albinus@gmx.de>

	Fix Bug#20821

	* lisp/net/tramp.el (tramp-file-name-handler):
	* lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
	Use `tramp-drop-volume-letter'.  (Bug#20821)

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Style fix

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Return the correct server port number

	* src/process.c (connect_network_socket): Return the correct
	server port number.

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix autoconf test for getaddrinfo_a

	* configure.ac: Make the test for getaddrinfo_a work.

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Better async error reporting

	* src/process.c (connect_network_socket): Mark failed processes
	with a better error message.
	(check_for_dns): Ditto.

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Clarify :tls-parameters.

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Always boot TLS if given parameters

	* src/process.c (connect_network_socket): If we have the TLS
	parameters, then boot the socket.

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Add documentation for :tls-parameters

	* doc/lispref/processes.texi (Network Processes): Mention
	:tls-parameters.

	* src/process.c (Fmake_network_process): Document the
	:tls-parameters parameter.

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Build fix for glibc systems.

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Make network connections work again on non-glibc systems

	* lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
	keywords in directly so that they can be used when doing
	synchronous DNS on non-synchronous connections.

	* lisp/net/network-stream.el (open-network-stream): Allow
	passing in the TLS parameters directly.

	* src/process.c (conv_numerical_to_lisp): New function to convert
	numerical addresses to Lisp.
	(Fmake_network_process): Rework the non-HAVE_ADDRINFO code
	paths so that they work again.
	(syms_of_process): Build fix for non-glibc systems.

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Windows build fix

	* src/process.c (Fmake_network_process): Build fix for systems
	without local sockets.

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Use XCAR/XCDR instead of Fcar etc

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix GC problem in async TLS connection

	* src/process.h: All Lisp_Object slots have to come first,
	otherwise they won't be protected from gc.

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Further TLS async work

	* src/gnutls.c (boot_error): New function to either signal an
	error or return an error code.
	(Fgnutls_boot): Don't signal errors when running asynchronously.

	* src/process.h (pset_status): Move here from process.c to be
	able to use from gnutls.c.

	* src/process.c (connect_network_socket): Do the TLS boot here
	when running asynchronously.
	(wait_reading_process_output): Rework the dns_processes
	handling for more safety.

2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up dead code

	* lisp/net/gnutls.el (gnutls-async-sentinel): Remove.

2016-01-31  Dave Barker  <kzar@kzar.co.uk>

	Add ability to give rcirc servers an alias name

	* lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
	customization option.
	(rcirc, rcirc-connect): Take server alias into account.

2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>

	Port new hybrid malloc to FreeBSD

	Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
	* src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
	(__morecore) [HYBRID_MALLOC]: Define in this case too.

2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>

	* configure.ac: Stop using mmap for buffers for FreeBSD.

2016-01-31  Michael Albinus  <michael.albinus@gmx.de>

	Merge changes from Tramp repository

	* doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
	No EXTRA_OPTS needed.

	* doc/misc/tramp.texi: Merge changes from Emacsemacs-25
	branch, especially for @trampfn{}.
	(Top): Move @ifnottex down.
	(History): XEmacs support has been removed.
	(GVFS based methods, Remote processes): Do not use emacsgvfs flag.
	(Auto-save and Backup): Use both syntax versions.
	(File name Syntax): Remark on IPv6 addresses is valid for
	unified syntax only.

	* doc/misc/trampver.texi: Do not set emacsgvfs flag.

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling fixes

2016-01-30  Glenn Morris  <rgm@gnu.org>

	* lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.

2016-01-30  Matthew Carter  <m@ahungry.com>

	Quote table names for postgres listings (sql-mode)

	* lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
	  unquoted table names to the completion list.

2016-01-30  Glenn Morris  <rgm@gnu.org>

	Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)

	* lisp/vc/smerge-mode.el (smerge-diff-switches)
	(smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
	(smerge-upper, smerge-upper-face, smerge-keep-upper)
	(smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
	smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
	(smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
	(smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
	(smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
	smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
	Update all uses.
	(smerge-basic-map): Add "l" and "u" bindings.
	(smerge-mode-menu): Update menu bindings for renaming.
	(smerge-font-lock-keywords): Update face names.
	(smerge-match-names): Update names.
	(smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
	(smerge-match-conflict, smerge-ediff): Rename local variables.
	(smerge-makeup-conflict): Relabel markers.
	(smerge-parsep-re): Use renamed variables.

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent my_edata change to MS-Windows

	* src/lastfile.c (my_edata): Also define if WINDOWSNT.

2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Rework the mechanisms for async GnuTLS connections

	* lisp/net/gnutls.el (open-gnutls-stream): Compute the
	gnutls-boot parameters and pass them to the process object.
	(gnutls-negotiate): New parameter :return-keywords that won't
	connect to anything, just compute the keywords.

	* lisp/url/url-http.el (url-http): Revert async TLS sentinel
	hack, which is no longer necessary.

	* src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
	gnutls-mark-process.

	* src/process.c (connect_network_socket): If we're connecting to
	an asynchronous TLS socket, complete the GnuTLS boot sequence here.

	* src/process.h: New parameter gnutls_async_parameters.

2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix segfault from double free

	* src/process.c (check_for_dns): Protect against double free
	issues.

2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Remove debugging

2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Implement asynchronous GnuTLS connections

	* doc/misc/emacs-gnutls.texi (Help For Developers): Mention
	the nowait parameter.

	* lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
	connections with the new nowait parameter.

	* lisp/net/network-stream.el (network-stream-open-tls): Pass
	on :nowait to open-gnutls-stream.

	* lisp/url/url-http.el (url-http): Don't overwrite the
	sentinel created by open-gnutls-stream.

	* src/gnutls.c (Fgnutls_mark_process): New function.

	* src/process.c (send_process): Don't write to GnuTLS sockets that
	haven't been initialized yed.

	* src/process.h: New slot gnutls_wait_p.

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Tell Automake the new lib/Makefile.am is OK

	* lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Make it easy to override preferred-branch test

	* Makefile.in (preferred-branch-is-current):
	Rename from emacs-25-branch-is-current.  All uses changed.
	(PREFERRED_BRANCH): New macro.

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Shrink static heap a bit

	* src/sheap.h: Include lisp.h, for Lisp_Object.
	(STATIC_HEAP_SIZE): Now an enum constant, not a macro.
	Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
	conservative than the old value.
	(Bug#22086)

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix extern symbols defined and not used

	* src/alloc.c: Always include <signal.h>.
	(malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
	Do not define; unused.
	* src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
	* src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
	to avoid collision with glibc.  Now static.  All uses changed.
	* src/lastfile.c (my_edata): Define only if
	((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
	WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
	(Bug#22086)

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Build lib/e-*.o only on platforms that need it

	* configure.ac (hybrid malloc): Simplify configuration.
	(SHEAP_OBJ): Remove; no longer needed.
	(HYBRID_MALLOC): New var. Subst it.
	(HYBRID_MALLOC_LIB): New Automake conditional.
	* lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
	HYBRID_MALLOC_LIB.
	(libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
	(MOSTLYCLEANFILES): Add libegnu.a.
	* src/Makefile.in (SHEAP_OBJ): Remove.
	(HYBRID_MALLOC): New macro.
	(base_obj): Use it to conditionally add sheap.o.
	(LIBEGNU_ARCHIVE): New macro.
	($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
	All uses of the latter replaced by the former.
	* src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
	Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
	* src/gmalloc.c: Update comment.
	* src/lisp.h (aligned_alloc)
	[!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
	New decl.
	(Bug#22086)

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Include <malloc.h> when advisable

	This should help insulate us better from future glibc changes.
	It is good hygiene to include .h files for APIs that Emacs uses.
	Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
	* configure.ac: Check for malloc.h.
	* src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
	not on DOUG_LEA_MALLOC.
	* src/emacs.c, src/gmalloc.c (malloc_enable_thread):
	Remove decl (now in lisp.h).
	* src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
	[emacs]: Include lisp.h.
	[HAVE_MALLOC_H]: Include <malloc.h>.
	(__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
	(__after_morecore_hook, __malloc_initialize_hook, __morecore)
	(__default_morecore):
	[!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
	(calloc): Make it clear that the macro should not be used.
	Remove unused decl.
	(malloc_info): New macro, to avoid clash with glibc <malloc.h>.
	(__morecore, __default_morecore, __after_morecore_hook)
	(__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
	(__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
	Remove later decls.
	(gmalloc_hook, gfree_hook, grealloc_hook):
	Rename from __malloc_hook, __free_hook, __realloc_hook to
	avoid type collision with glibc <malloc.h>.  All uses changed.
	(gmalloc_hook):
	(__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
	Now static.
	(gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
	(__malloc_initialize_hook, __after_morecore_hook):
	Declare with types compatible with glibc.
	(__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
	Remove.  All uses removed.
	* src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
	* src/ralloc.c, src/vm-limit.c:
	Simplify includes and include <malloc.h> if available.

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	* src/alloc.c: Include "sheap.h".

	(alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
	Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
	* src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
	Declare unconditionally.
	* src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
	(unexec): Don’t set or clear bss_sbrk_did_unexec;
	the caller now does this.
	(Bug#22086)

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify --enable-gcc-warnings when HYBRID_MALLOC

	* src/buffer.c (init_buffer):
	* src/emacs.c (main):
	* src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
	Use emacs_get_current_dir_name, not get_current_dir_name.
	* src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
	(HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
	* src/emacs.c: Include "sheap.h".
	(report_sheap_usage): Remove decl.
	(Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
	Don't assume ptrdiff_t can be printed as int.
	* src/gmalloc.c [HYBRID_MALLOC]:
	Include "sheap.h" rather than declaring its contents by hand.
	(get_current_dir_name, gget_current_dir_name)
	(hybrid_get_current_dir_name): Remove.
	(emacs_abort): Remove duplicate decl.
	(aligned_alloc): Undef, like malloc etc.
	(ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
	Make it a bit more efficient.
	(malloc_find_object_address): Remove unused decl.
	(enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
	(mstats, memory_warnings): Declare only if GC_MCHECK.
	* src/lisp.h (emacs_get_current_dir_name):
	New decl, replacing get_current_dir_name.
	* src/sheap.c: Include sheap.h first.
	(STATIC_HEAP_SIZE): Remove; now in sheap.h.
	(debug_sheap): Now static.
	(bss_sbrk_buffer_end): Remove; no longer used.
	(bss_sbrk_ptr): Now static and private.
	(bss_sbrk_did_unexec): Now bool.
	(BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
	(bss_sbrk): Don't treat request_size 0 as special, since the code
	works without this being a special case.
	Avoid overflow if request size exceeds INT_MAX.
	(report_sheap_usage): Remove; now done in emacs.c.
	* src/sheap.h: New file.
	* src/sysdep.c (get_current_dir_name): Remove macro.
	Include "sheap.h".
	(emacs_get_current_dir_name): Rename function from
	get_current_dir_name.  Handle HYBRID_MALLOC here;
	this is simpler.
	(Bug#22086)

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Report static heap usage on non-Cygwin, too

	* src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
	* src/unexcw.c (unexec): ... instead of here, since sheap can be used
	on platforms other than Cygwin (Bug#22086).

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC on extern decls

	* src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
	to pacify recent GCC (Bug#22086).

2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>

	Add musl patch to support HYBRID_MALLOC on elf systems

	* src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
	(__default_morecore): Here, in particular.
	* configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
	New variable SHEAP_OBJ.
	* src/Makefile.in: Use it.
	(Bug#22086)

2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)

	unexelf.c hook to support HYBRID_MALLOC on ELF

	* src/unexelf.c (unexec) [HYBRID_MALLOC]:
	Define bss_sbrk_did_unexec (Bug#22086).

2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>

	Link temacs with gnulib compiled with -Demacs

	This is done to support HYBRID_MALLOC, since some static variables
	(e.g., last_environ in putenv.c) hold pointers to memory malloced
	before dumping (Bug#22086).
	* lib/Makefile.am: Add incantation to install libegnu.a.
	* src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
	(temacs$(EXEEXT)): Use it.

2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>

	Internal linkage for gmalloc etc. if HYBRID_MALLOC

	This avoids clashes with symbols if the after-dump malloc is
	derived from Doug Lea's implementation (Bug#22086).

	* src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
	Move declarations up.  For HYBRID_MALLOC, turn all `extern'
	declarations below to `static' ones.
	(aligned_alloc): Declare for !MSDOS as well.
	(heapsize, _fraghead): Move resp. copy declaration downwards.
	For HYBRID_MALLOC, conditionalize out the other definitions,
	since the previous `static' declarations double as tentative
	definitions, anyway.
	(_malloc, _free, _realloc, __free_hook, _aligned_blocks)
	(__realloc_hook, __memalign_hook): Conditionalize out.
	(cfree, memalign, valloc): Ditto.

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	-

	-

	-

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from origin/emacs-25

	3f481ad Rename xref-query-replace to xref-query-replace-in-results
	62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
	2111e0e Comment out next-error-function integration in xref
	4e11ad3 Correct a use of "which" in intro.texi
	a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
	76045f7 Don't operate on menu bar of nonexistent frame
	c32f3bc Unbreak the GNUstep build.

2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	-

	-

2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>

	Re-enable checks in member, memql, delete to complain about non-lists

	* src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.

2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up compilation warnings

2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>

	Make async resolution more efficient

	* src/process.c (wait_reading_process_output): Use a list of
	process objects instead of looping through an array to check
	for name resolution.  This should be much faster.

2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	More async memory leaks

	* src/process.c (check_for_dns): Free even more allocated async stuff.

2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Compilation for systems with getaddrinfo_a

	* src/process.c (Fmake_network_process): Make stuff work again on
	systems with getaddrinfo_a.

2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Save correct server data

	* src/process.c (connect_network_socket): Save the correct contact
	info for servers.

2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Compilation for non-GNU systems

	* src/process.c (Fmake_network_process): Make compilation work
	again on hosts that don't have getaddrinfo_a.

2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Avoid memory leaks in async DNS

	* src/process.c (check_for_dns): Free async DNS resources after
	they've been used.

2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	* src/process.c (check_for_dns): Free the result data.

2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix server connections

	* src/process.c (Fmake_network_process): Make creating server
	listening ports work again.

2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Further make_network_process clean up

	* src/process.c (Fmake_network_process): Remove setting of unused
	family variable.

2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up GETADDRINFO usage in make-network-process

	* src/process.c (Fmake_network_process): Clean up the GETADDRINFO
	handling.

2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Implement asynchronous name resolution

	* src/process.c (Fmake_network_process): Do asynchronous DNS
	lookups if we have getaddrinfo_a and the user requests :nowait.
	(check_for_dns): New function.
	(wait_reading_process_output): Check for pending name
	resolution in the idle loop.

	* src/process.h: Add structure for async DNS.

2016-01-28  Glenn Morris  <rgm@gnu.org>

	Remove some useless-use-of eval.

	* lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
	* lisp/gnus/nnrss.el (xml): Simply require it.
	(xml-rpc-method-call): Use declare-function.

2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix memory leak

	* src/process.c (connect_network_socket): Free previous sockaddr
	before allocating a new one.

2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Return IP addresses in the correct order

	* src/process.c (Fmake_network_process): Return the IP addresses
	in the same order as getaddrinfo does.
	(set_network_socket_coding_system): Clean up the code slightly.

2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Add checks for getaddrinfo_a

	* configure.ac: Detect getaddrinfo_a.

2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Refactor make_network_process

	* src/process.c (set_network_socket_coding_system)
	(connect_network_socket): Refactor out of
	make_network_process to allow calling connect_network_socket
	asynchronously.
	(Fmake_network_process): Do nothing but parsing the parameters
	and name resolution, leaving the connection to
	connect_network_socket.

2016-01-28  Glenn Morris  <rgm@gnu.org>

	* lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
	Warn if defcustom has no type.  (Bug#16276)

2016-01-27  Glenn Morris  <rgm@gnu.org>

	* test/lisp/vc/vc-hg-tests.el: Move from test/automated/.

2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	(rng-c-fix-escaped-newlines): Use subst-char-in-string

	* lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
	Use subst-char-in-string.

2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function

	(sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
	(sgml-calculate-indent): Use it.

2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/org: Fix some compiler warnings

	* lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
	(org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
	(*this*): Declare as dyn-bound.
	(org-babel-expand-src-block, org-babel-load-in-session)
	(org-babel-switch-to-session-with-code, org-babel-get-rownames):
	Mark unused args.
	(org-babel-combine-header-arg-lists): Remove unused var `args'.
	(org-babel-find-named-block): Remove unused var `msg'.

	* lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
	Declare as dyn-bound.
	(org-edit-src-code): Remove unused var `lfmt'.
	(org-edit-fixed-width-region): Remove unused var `preserve-indentation'.

2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/font-lock.el: Use #' to quote function symbols

2016-01-23  Michael Albinus  <michael.albinus@gmx.de>

	Improve user name completion in Tramp

	* lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
	Call also "getent passwd" or "getent group", if possible.
	(tramp-parse-putty): Cache the result.

2016-01-22  Michael Albinus  <michael.albinus@gmx.de>

	* etc/NEWS: Move kqueue entries to Emacs 25.1 sections.

2016-01-20  Glenn Morris  <rgm@gnu.org>

	Remove handling of non-string time-stamp formats, obsolete for 20 years.

	* lisp/time-stamp.el (time-stamp-format): Doc fix.
	(time-stamp-old-format-warn, time-stamp-fconcat): Remove.
	(time-stamp-string): Ignore non-string formats.

2016-01-20  Eli Zaretskii  <eliz@gnu.org>

	Another fix for problematic merge from emacs-25

	* src/w32fns.c (globals_of_w32fns): Move initialization of
	resetstkoflw to a non-Cygwin part.

2016-01-20  Michael Albinus  <michael.albinus@gmx.de>

	* test/Makefile.in (mostlyclean): Use ${LOGFILES}.

2016-01-20  Eli Zaretskii  <eliz@gnu.org>

	Fix MS-Windows build broken by a botched merge from emacs-25

	* src/w32.c (w32_crypto_hprov): New static variable.
	(globals_of_w32): Initialize w32_crypto_hprov.
	(w32_init_crypt_random, w32_init_random): New functions.
	Include wincrypt.h.
	* src/w32.h (w32_init_random): Add prototype.

2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Correct a whole bunch of bugs coming with renamed cell relocation.

	* lisp/ses.el (ses-localvars): rename variable
	`ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
	and adjust the comment about it.
	(ses-plist-delq): new defun.
	(ses--ses-buffer-list): new defvar.
	(ses--unbind-cell-name): new defun.
	(ses-relocate-symbol): Do not relocate symbol when it is a named cell.
	(ses-relocate-formula): Undo change of
	2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
	preventing relocation for named cell --- now doing this is delegated
	to function `ses-relocate-symbol'.
	(ses-relocate-range): In docstring, undo change of
	2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
	lower case as it is not a variable.
	(ses-relocate-all): Cell name relocation : 1) check that cell is a
	renamed cell by testing `ses-cell' property to :ses-named, rather than
	comparing name to corresponding standard name. Set rowcol of renamed
	cell into the hashmap --- `ses-cell' property must not be used for
	that as the same name can be used for different locations in different
	SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
	`local-variable-p' to check if cell name is already in use in this
	sheet or needs initialization.
	(ses-relocate-all): Cell value relocation : 1) like for name
	relocation use the `ses-cell' property rather than comparing actual
	name to corresponding standard name. 2) Correct bug introduced in
	2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
	made the other way round than the intention --- ie value relocation
	was disabled for standard cell, not for renamed cell as was the
	intention.
	(ses-relocate-all): Add loop for unbinding deleted renamed cells
	names.
	(ses-killbuffer-hook): new defun.
	(ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
	kill buffer hook, plus pushing current buffer if new in list.
	(ses-delete-row, ses-delete-column): Collect deleted renamed cells
	into `ses--in-killing-named-cell-list'.
	(ses-rename-cell): Remove update of variable
	`ses--renamed-cell-symb-list', this variable is renamed to
	`ses--in-killing-named-cell-list', and its setting is done in
	functions `ses-delete-row' and , `ses-delete-column' now.
	(ses-rename-cell): Change correction of
	2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
	computation of the range over which `cursor-intangible' property was
	to be updated. This correction was ok for non spilling cells, but not
	for cells spilling over following blank cells. Simply use
	`next-single-property-change' rather than computing the end column
	from column widths.

2016-01-18  John Wiegley  <johnw@newartisans.com>

	-

2016-01-18  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
	6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
	2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
	71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
	f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
	86e4513 Fix incompatbilities with MS-Windows 2000 and older
	4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
	15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
	39afa42 Fix tests for active region in hideif.el
	05df666 Fix interactive specs in some hideif.el commands

2016-01-18  John Wiegley  <johnw@newartisans.com>

	-

2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid stdio in SIGINT handler

	* admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
	* lib/ignore-value.h: New file, from gnulib.
	* src/keyboard.c: Include it.
	(write_stdout, read_stdin): New functions.
	(handle_interrupt): Use them instead of printf and getchar,
	and avoid fflush when handling signals.

2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>

	Refactor mml-smime.el, mml1991.el, mml2015.el

	(Maybe this is the last merge from Gnus git to Emacs git)

	Cf. discussion on ding mailing list, messages in
	<http://thread.gmane.org/gmane.emacs.gnus.general/86228>. [dead link]
	Common code from the three files mml-smime.el, mml1991.el, and
	mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
	to gnus-util.el.

	The code is supported by test cases with necessary test keys.

	Documentation in message.texi is updated.

	* doc/misc/message.texi (Security, Using S/MIME):
	Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
	(Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
	(Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.

	* lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
	New functions.

	* lisp/gnus/mml-sec.el: Require gnus-util and epg.
	(epa--select-keys): Autoload.
	(mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
	(mml-secure-openpgp-signers): New user option;
	make mml1991-signers and mml2015-signers obsolete aliases to it.
	(mml-secure-smime-signers): New user option;
	make mml-smime-signers an obsolete alias to it.
	(mml-secure-openpgp-encrypt-to-self): New user option;
	make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
	aliases to it.
	(mml-secure-smime-encrypt-to-self): New user option;
	make mml-smime-encrypt-to-self an obsolete alias to it.
	(mml-secure-openpgp-sign-with-sender): New user option;
	make mml2015-sign-with-sender an obsolete alias to it.
	(mml-secure-smime-sign-with-sender): New user option;
	make mml-smime-sign-with-sender an obsolete alias to it.
	(mml-secure-openpgp-always-trust): New user option;
	make mml2015-always-trust an obsolete alias to it.
	(mml-secure-fail-when-key-problem, mml-secure-key-preferences):
	New user options.
	(mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
	(mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
	(mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
	(mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
	(mml-secure-passphrase-callback, mml-secure-check-user-id)
	(mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
	(mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
	(mml-secure-fingerprint, mml-secure-filter-keys)
	(mml-secure-normalize-cust-name, mml-secure-select-keys)
	(mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
	(mml-secure-self-recipients, mml-secure-recipients)
	(mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.

	* lisp/gnus/mml-smime.el: Require epg;
	refactor declaration and autoloading of epg functions.
	(mml-smime-use): Doc fix.
	(mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
	Obsolete.
	(mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
	Use format instead of gnus-format-message.
	(mml-smime-epg-secret-key-id-list): Remove variable.
	(mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
	(mml-smime-epg-find-usable-secret-key): Remove functions.
	(mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.

	* lisp/gnus/mml1991.el (mml1991-cache-passphrase)
	(mml1991-passphrase-cache-expiry): Obsolete.
	(mml1991-epg-secret-key-id-list): Remove variable.
	(mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
	(mml1991-epg-find-usable-secret-key): Remove functions.
	(mml1991-epg-sign, mml1991-epg-encrypt): Refactor.

	* lisp/gnus/mml2015.el (mml2015-cache-passphrase)
	(mml2015-passphrase-cache-expiry): Obsolete.
	(mml2015-epg-secret-key-id-list): Remove variable.
	(mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
	(mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
	(mml2015-epg-find-usable-secret-key): Remove functions.
	(mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
	(mml2015-epg-encrypt): Refactor.

2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib

	This mostly just updates copyright dates of gnulib files.
	It also updates to the latest version of texinfo.tex.

2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Move variables to inner loop, preparing for Mac port merge

	* src/keyboard.c (command_loop_1): Move variables `cmd',
	`keybuf', and `i' to inner loop.

2016-01-17  Bill Wohler  <wohler@newt.com>

	* lisp/mh-e/mh-e.el (mh-version): Add +git to version.

2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var

	(syntax-ppss):
	* lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.

2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	lisp/nxml: Use syntax-tables for comments

	* lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
	(nxml-mode): Set syntax-ppss-table.
	Use sgml-syntax-propertize-function for syntax-propertize-function.
	Let font-lock highlight strings and comments.
	(nxml-degrade): Don't touch "nxml-inside" property any more.
	(nxml-after-change, nxml-after-change1): Remove functions.
	(comment): Don't set fontify rule any more.
	(nxml-fontify-attribute): Don't highlight the value any more.
	(nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
	(nxml-comment-delimiter, nxml-comment-content): Remove faces.

	* lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
	(nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
	(nxml-clear-inside, nxml-set-inside): Remove.
	(nxml-scan-after-change): Remove function.
	(nxml-scan-prolog, nxml-tokenize-forward): Simplify.
	(nxml-ensure-scan-up-to-date): Use syntax-propertize.
	(nxml-move-outside-backwards):
	* lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
	nxml-inside-start behavior.

	* lisp/nxml/nxml-util.el (nxml-debug-set-inside)
	(nxml-debug-clear-inside): Remove macros.

	* lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
	(xmltok-scan-after-comment-open): Simplify.

2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/elisp-mode.el
	(elisp--font-lock-flush-elisp-buffers): Fix comment

2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/nxml: Use standard completion; it also works for company-mode

	* lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
	(nxml-completion-at-point-function): Remove.
	(nxml-mode): Don't set completion-at-point-functions.
	* lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
	(rng-completion-at-point): Rename from rng-complete and mark it
	non-interactive.  It is now to be used as completion-at-point-function.
	(rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
	(rng-complete-attribute-value): Don't perform completion, but return
	completion data instead.
	(rng-complete-qname-function, rng-generate-qname-list): Add a few
	arguments, previously passed via dynamic copying.
	(rng-strings-to-completion-table): Rename from
	rng-strings-to-completion-alist.  Don't return an alist.  Don't both
	sorting and uniquifying.

	* lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
	(rng-completion-exact-p, rng-quote-string): Delete functions.

	* lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
	(rng-missing-attributes-message, rng-missing-element-message)
	(rng-mark-missing-end-tags): Use explicit ".." in formats rather than
	calling rng-quote-string everywhere.

2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	Use sgml-electric-tag-pair-mode also in nxml-mode

	* lisp/nxml/rng-nxml.el: Require sgml-mode.
	(rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
	(rng-complete-qname-function): Use complete-with-action.

	* lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
	Let-bind forward-sexp-function, since nxml-mode binds it to
	something incompatible.

	* lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.

2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
	opener.

	* lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
	marker on the "sole --" rather than on the comment opener.

2016-01-15  Sam Steingold  <sds@gnu.org>

	replace `tramp-compat-split-string' (removed) with `split-string'

	(python-shell-tramp-refresh-process-environment)
	(python-shell-calculate-pythonpath): use `split-string'
	instead of defunct `tramp-compat-split-string'

2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	Update nXML to use Emacs's Unicode support, and lexical-binding

	* etc/nxml/*.el: Remove obsolete char-name files.
	* lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
	var `next'.
	* lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
	* lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
	* lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
	(nxml-target-section-pos, nxml-depth-in-target-section)
	(nxml-outline-state-transform-alist)
	(nxml-outline-display-section-tag-function): Move decl before first use.
	* lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
	(nxml-char-name-alist, nxml-char-name-table)
	(nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
	(nxml-enable-char-name-set, nxml-disable-char-name-set)
	(nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
	(nxml-define-char-name-set, nxml-get-char-name): Remove functions.
	(nxml-insert-named-char): Use read-char-by-name instead.
	(nxml-char-ref-display-extra): Use get-char-code-property.
	* lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
	Remove function.
	* lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.

2016-01-15  Michael Albinus  <michael.albinus@gmx.de>

	Add "sg" method to Tramp

	* doc/misc/tramp.texi (Inline methods): Add "sg" method.
	(Customizing Completion): Add function `tramp-parse-etc-group'.

	* lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
	(tramp-completion-function-alist-sg): New defconst.
	(top): Completion function for "sg" is
	`tramp-completion-function-alist-sg'.

	* lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
	(tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.

2016-01-14  Michael Albinus  <michael.albinus@gmx.de>

	Remove XEmacs compatibility in Tramp

	* doc/misc/tramp.texi: Replace flags by their hard coded name.
	Remove unused flags and the enclosed alternative text for XEmacs.

	* doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
	and "xemacs" flags to "unified" and "separate".  Remove flags
	"emacsgw", "emacsname", "emacsdir", "ftppackagename",
	"emacsothername", "emacsotherdir" and "emacsotherfilename".
	(trampver):
	* lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".

	* lisp/net/tramp.el (bkup-backup-directory-info)
	(directory-sep-char, ls-lisp-use-insert-directory-program)
	(outline-regexp, tramp-backup-directory-alist)
	(tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
	(tramp-file-name-regexp-unified)
	(tramp-file-name-regexp-separate)
	(tramp-completion-file-name-regexp-unified)
	(tramp-completion-file-name-regexp-separate, tramp-chunksize)
	(tramp-get-method-parameter, tramp-find-method, tramp-find-user)
	(tramp-debug-message, tramp-progress-reporter-update)
	(with-tramp-progress-reporter)
	(tramp-rfn-eshadow-setup-minibuffer)
	(rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
	(tramp-rfn-eshadow-update-overlay)
	(rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
	(tramp-file-name-for-operation)
	(tramp-completion-file-name-handler)
	(tramp-autoload-file-name-handler, tramp-completion-mode-p)
	(tramp-handle-directory-files)
	(tramp-handle-directory-files-and-attributes)
	(tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
	(tramp-handle-insert-file-contents, tramp-handle-load)
	(tramp-handle-shell-command)
	(tramp-handle-verify-visited-file-modtime)
	(tramp-handle-file-notify-valid-p, tramp-accept-process-output)
	(tramp-check-for-regexp, tramp-wait-for-regexp)
	(tramp-send-string, tramp-mode-string-to-int)
	(tramp-get-local-gid, tramp-check-cached-permissions)
	(tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
	(auto-save-file-name-transforms)
	(tramp-handle-make-auto-save-file-name, tramp-read-passwd)
	(tramp-clear-passwd, tramp-time-diff):
	* lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
	(directory-sep-char, tramp-adb-file-name-handler-alist)
	(tramp-adb-parse-device-names)
	(tramp-adb-handle-expand-file-name)
	(tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
	(tramp-adb-handle-file-local-copy)
	(tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
	(tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
	(tramp-adb-handle-shell-command)
	(tramp-adb-handle-start-file-process, tramp-adb-get-device)
	(tramp-adb-maybe-open-connection):
	* lisp/net/tramp-cache.el (tramp-persistency-file-name)
	(tramp-cache-print):
	* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
	(tramp-bug, tramp-reporter-dump-variable)
	(tramp-load-report-modules, tramp-append-tramp-buffers):
	* lisp/net/tramp-compat.el (tramp-compat-funcall)
	(tramp-advice-file-expand-wildcards)
	(tramp-compat-temporary-file-directory)
	(tramp-compat-make-temp-file, tramp-compat-copy-file)
	(tramp-compat-delete-directory, )
	(tramp-compat-process-running-p):
	* lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
	(tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
	(tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
	(tramp-gvfs-handle-file-local-copy)
	(tramp-gvfs-handle-file-name-all-completions)
	(tramp-gvfs-handle-file-notify-add-watch)
	(tramp-gvfs-monitor-file-process-filter)
	(tramp-gvfs-handle-file-readable-p)
	(tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
	(tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
	(tramp-gvfs-maybe-open-connection)
	(tramp-gvfs-parse-device-names):
	* lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
	(tramp-gw-open-connection, tramp-gw-open-network-stream):
	* lisp/net/tramp-sh.el (directory-sep-char)
	(tramp-sh-file-name-handler-alist)
	(tramp-sh-handle-file-truename)
	(tramp-sh-handle-set-visited-file-modtime)
	(tramp-sh-handle-verify-visited-file-modtime)
	(tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
	(tramp-sh-handle-file-acl)
	(tramp-sh-handle-file-name-all-completions)
	(tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
	(tramp-do-copy-or-rename-file-directly)
	(tramp-do-copy-or-rename-file-out-of-band)
	(dired-compress-file-suffixes, dired-remove-file)
	(tramp-sh-handle-dired-compress-file)
	(tramp-sh-handle-insert-directory)
	(tramp-sh-handle-expand-file-name)
	(tramp-sh-handle-start-file-process)
	(tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
	(tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
	(tramp-sh-handle-file-notify-add-watch)
	(tramp-sh-gvfs-monitor-dir-process-filter)
	(tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
	(tramp-find-executable)
	(tramp-open-connection-setup-interactive-shell)
	(tramp-find-inline-encoding, tramp-compute-multi-hops)
	(tramp-maybe-open-connection, tramp-convert-file-attributes)
	(tramp-get-remote-path, tramp-get-remote-touch):
	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
	(tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
	(tramp-smb-handle-delete-directory)
	(tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
	(tramp-smb-handle-make-directory-internal)
	(tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
	(tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
	(tramp-smb-handle-write-region, tramp-smb-get-file-entries)
	(tramp-smb-get-cifs-capabilities)
	(tramp-smb-maybe-open-connection):
	* lisp/net/trampver.el (tramp-repository-get-version):
	Remove XEmacs compat code.

	* lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
	(reporter-dump-variable): Declare functions.

	* lisp/net/tramp.el (tramp-bkup-backup-directory-info)
	(tramp-advice-minibuffer-electric-separator)
	(tramp-advice-minibuffer-electric-tilde)
	(tramp-handle-unhandled-file-name-directory):
	* lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
	(tramp-compat-font-lock-add-keywords)
	(tramp-compat-load, tramp-compat-number-sequence)
	(tramp-compat-split-string, tramp-compat-delete-dups):
	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
	Remove.

	* lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
	recursively.

2016-01-14  K. Handa  <handa@gnu.org>

	fix previous change of src/ftfont.c (ftfont_shape_by_flt)

	* src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
	second glyph only when there are enough glyphs.

2016-01-13  Glenn Morris  <rgm@gnu.org>

	* src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,

	or its hook, to move point.  (Bug#22348)

2016-01-12  Michael Albinus  <michael.albinus@gmx.de>

	Merge missing commit from emacs-25 branch

	* test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
	New variables.
	(check-expensive, check-doit): New targets.

	* Makefile.in (check-expensive): New target.

	* test/lisp/autorevert-tests.el
	(auto-revert-test01-auto-revert-several-files):
	* test/lisp/filenotify-tests.el (file-notify--deftest-remote)
	(file-notify-test06-many-events):
	* test/lisp/net/tramp-tests.el (tramp-test26-process-file)
	(tramp-test27-start-file-process, tramp-test28-shell-command)
	(tramp-test29-vc-registered)
	(tramp-test31-special-characters-with-stat)
	(tramp-test31-special-characters-with-perl)
	(tramp-test31-special-characters-with-ls)
	(tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
	(tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
	(tramp-test35-unload): Tag the tests as :expensive-test.

2016-01-11  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	1f6898d test/automated/vc-hg.el: Support out-of-tree build
	3adb56e Minor change in tramp-tests.el
	2b535ba ; * etc/NEWS: Update the js.el entry.
	76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
	b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
	36b9539 Avoid an infloop when we run out of memory
	2006752 Avoid unnecessary failures of auto-saving after fatal error
	eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
	552694a Revert attempt to use 'noexcept' in typedef
	6ad0d39 Update documentation of 'indirect-function'
	c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
	303141a Update documentation for obsoleting 'syntax-begin-function'
	4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
	e667bbb Document new features if Eshell
	9c4e4e0 ; * etc/NEWS: Update EUDC entries.
	1089dc9 Handle too long commands in Tramp
	684eb58 * .gitattributes: *.cur and *.pif are binary files too.
	d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
	bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
	09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
	cca0f93 ; Account for spaces before the filename
	c71e1e8 Use short date for 'hg annotate', and output the author
	f50027b Spelling fix
	c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
	cc140bc Document user-level functions in project.el
	f8208b6 Document the user-level features of the Xref package
	b131fb8 * loading.texi: Add `define-type' entry for load-history
	db3c2a8 Improve doc strings and prompts in xref.el
	f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
	90fd798 Fix coding system for Tramp on OS X.
	e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
	9dfcbf0 Update 'load-history' docs
	207e191 Fix (error ...) error
	457738f Correctly analyze brace arguments in templated C++ function declarations.
	d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
	2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
	1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
	8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
	4b37cba Improve documentation of Delete Selection mode
	a034dd3 Fix two project-find-file issues
	30abf29 Clarify doc string of 'dired-current-directory'
	e990bb2 Use the face of preceding text for displaying the ellipsis
	5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
	eeb710a ; * lisp/startup.el: Sentences end with two spaces.
	428b3de * admin/admin.el (set-version): Also handle the NEWS file.
	648de81 ; Add NEWS entry for project.el
	671862f apropos-library: Skip obvious duplicates; don't error on generics
	51668a5 ; Grammar fix
	ed41d11 Add project-find-file and project-or-external-find-file
	056da45 ; Improve commentary in 'setup_for_ellipsis'
	269d008 ; Improve docstring for `inhibit-startup-echo-area-message'

2016-01-11  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	ce4a052 Add defvar-local to lisp-imenu-generic-expression
	a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
	76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
	1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
	b6b47af Properly encode/decode base64Binary data in SOAP
	c632466 Obey coding-system-for-write when writing stdout/stderr in batch
	2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
	        Update the URI of MELPA and marmalade-repo.
	        Reported by CHENG Goa <chenggao@royau.me> in
	        https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
	d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
	5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
	7380990 Remove function wrongly on AWK Mode value of context
	fontification hook.
	d400753 * src/buffer.c: Stick with ASCII in doc string.
	221240c Reword transient-mark-mode doc string
	977d3ea Update doc string of 'selective-display'
	229c3fa Make C++ buffers writable when writing their initial text
	        properties.
	f5c762c Additional changes for "make check-expensive"
	1729cf3 ; * admin/MAINTAINERS: Remove myself.
	33219d3 Apply text properties for <, > in new after-change function
	        (C++ Java Modes).

2016-01-11  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	9fb185a shr-tag-video bug fix
	6300655 Minor fixes in tramp-tests.el
	50575b1 Ensure redisplay when 'truncate-lines' is set
	0d9e80d Fix a doc string of 'transient-mark-mode'
	0000ae5 MS-Windows followup to latest gnulib update
	4bc5e02 Spelling fix
	f1093f7 Do secure signed Bcc handling

2016-01-11  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
	46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
	71ea138 * lisp/align.el (align): Simplify a lambda
	5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
	1f680db Fix compilation next-error in buffers with selective-display
	d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
	1da116f Add SHA1 warnings for high network security settings
	e48bacd ; * etc/NEWS: Typo fix.

2016-01-11  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	43662a2 ; Clarify that xref is still experimental
	0a6e6ca ; * admin/release-process: Remove some obsolete records.
	c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
	8637f3d (semantic-symref-derive-find-filepatterns): Return a list
	0a7ad07 ; Re-arrange xref-related entries in NEWS.
	fe903ef Fix xref-find-references on MS-Windows
	55a28d8 ; Fixed visual bell artifact problem on NextStep.
	d064034 Document new features of tildify-mode
	964bea7 Document new features of Whitespace mode
	cd68f47 Improve documentation of new Hide-IfDef features
	723b8bf Fix regression in font-locking cl-assert and cl-check-type

2016-01-11  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	ef33bc7 Spelling and grammar fixes
	9c3dbab Fix copyright years by hand
	0e96320 Update copyright year to 2016

2016-01-11  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
	526d80c Port chart.el methods to cl-generic.
	410bb69 Add nt/INSTALL.W64 build instructions
	8f5b524 Add new input method 'programmer-dvorak'
	6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
	bb83bb1 Fix EWW rendering of long RTL lines
	b1a8509 fix  bug#21054
	ce5ad12 Clean up cairo printing code

2016-01-11  John Wiegley  <johnw@newartisans.com>

	Merge from origin/emacs-25

	6ee327d Add handle_user_signal_hook
	47580e0 Avoid writing to purespace
	0588be7 Remove unused variable
	89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
	3b95e9c Use posix_openpt instead of openpty on Darwin
	86312ff Document support for ':documentation' in Lisp mode
	c930e75b Document new features of TeX mode
	7c83d84 Clarify docs of hscroll in RTL text
	4c8f8db Fix rendering of HTML pages that use character composition
	a8d37ca Avoid some compiler warnings in w32.c
	ce106f3de Undo ill-advised change
	be0bba4 Unbreak completion in python-mode buffers

2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>

	Adding example replies to bug-triage.

	* admin/notes/bug-triage: Added example replies. Also, as requested,
	  making the process notes into more of a checklist.

2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>

	Rename the notes/admin/triage file to bug-triage.

	* CONTRIBUTE: Change reference to the triage file name.
	* admin/notes/triage: Rename file to admin/notes/bug-triage.

2016-01-08  K. Handa  <handa@gnu.org>

	Fix outdated comments.

2016-01-06  Glenn Morris  <rgm@gnu.org>

	Allow creation of loaddefs files without timestamps.

	* lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
	(autoload-generate-file-autoloads, update-directory-autoloads):
	If autoload-timestamps is nil, write "t" instead of file timestamp.
	(autoload-find-destination, update-directory-autoloads):
	If timestamp is "t", use the modtime of the output file instead.

2016-01-06  Glenn Morris  <rgm@gnu.org>

	Doc tweaks.

	* lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
	* lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
	(calendar-iso-from-absolute):
	* lisp/calendar/cal-tex.el (cal-tex-comment):
	* lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.

2016-01-06  Glenn Morris  <rgm@gnu.org>

	Build tweaks related to tags files.

	* lib-src/Makefile.in (tagsfiles): New variable.
	(TAGS): Also depend on the source files.  Use our own etags program.
	* lisp/Makefile.in (ETAGS): Add EXEEXT.
	(lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
	Remove.
	(tagsfiles): New, replacing lisptagsfiles1 etc.
	Remove irrelevant source files here rather than in the TAGS rule.
	(${ETAGS}): New rule.
	(TAGS): Also depend on the etags executable.
	* lwlib/Makefile.in (EXEEXT): New, set by configure.
	(ETAGS): Add EXEEXT.
	(${ETAGS}): New rule.
	(ctagsfiles): Use "wildcard".
	(TAGS): Also depend on the etags executable.
	* nt/Makefile.in (ETAGS, tagsfiles): New variables.
	(${ETAGS}): New rule.
	(TAGS): Fix dependencies.
	* oldXMenu/Makefile.in (EXEEXT): New, set by configure.
	(ETAGS): New variable, replacing $TAGS.  Use our own etags program.
	Remove "-t" argument.
	(${ETAGS}): New rule.
	(tagsfiles): New variable.
	(TAGS): New rule, with proper dependencies.
	* src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
	(ctagsfiles1, ctagsfiles2): Use "wildcard".
	(ctagsfiles3): Remove.
	(TAGS): Depend on etags.
	(../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
	directories decide if updates are needed.

2016-01-06  Glenn Morris  <rgm@gnu.org>

	* lisp/Makefile.in (CAL_SRC): Skip calendar.el.

2016-01-06  Glenn Morris  <rgm@gnu.org>

	* test/lisp/emacs-lisp/package-tests.el

	(package-test-macro-compilation): Fixup branch merge.

2016-01-05  Eli Zaretskii  <eliz@gnu.org>

	Fix fallout from merging emacs-25 branch in test/

	* .gitignore: Update for the new place of biditest.txt.
	* test/automated/: Directory removed.  All files moved to their
	proper places.
	* test/etags/: Directory removed.  All files moved to their proper
	places.
	* test/automated/url-parse-tests.el: File removed; it was an exact
	copy of the same file in test/lisp/url/.
	* test/automated/url-expand-tests.el: Moved to test/lisp/url/.

2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	Spelling fixes

2016-01-04  Daniel Colascione  <dancol@dancol.org>

	Let users disable unsafe signal handling code

	* src/keyboard.c (syms_of_keyboard): New user variables
	`attempt-stack-overflow-recovery' and
	`attempt-orderly-shutdown-on-fatal-signal'.
	* src/sysdep.c (stack_overflow): Check
	`attempt-stack-overflow-recovery'.
	* src/emacs.c (terminate_due_to_signal): Check
	`attempt-orderly-shutdown-on-fatal-signal'.

2016-01-03  Michael Albinus  <michael.albinus@gmx.de>

	* configure.ac: Add error message for gfile on Nextstep.

2016-01-02  John Wiegley  <johnw@newartisans.com>

	Merge branch 'emacs-25-merge'

2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Align textually on fix done for emacs-25 branch for bug#21054

	* lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
	and useless `(if t ...)' in order to align textually on fix done for
	emacs-25 branch for bug#21054.

2016-01-01  K. Handa  <handa@gnu.org>

	support rendering of wider range of combinging characters by ftfont backend

	* lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
	supports rendering of combining characters, call
	font-shape-gstring.

	* src/font.c (Ffont_get): Handle `combining-capability' property.
	(syms_of_font): New symbol ":combining-capability'.

	* src/font.h (struct font_driver): New member combining_capability.

	* src/ftfont.c: Include "category.h".
	(ftfont_driver): Initialize combining_capability to
	ftfont_combining_capability.
	(ftfont_shape_by_flt): If OTF is null, try to find a suitable
	FLT in advance.
	(ftfont_combining_capability): New function.

2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>

	Add notes on bug triage procedure

	* CONTRIBUTE: In section on the issue tracker, point to new triage file.
	* admin/notes/triage: New file explaining triage procedure.

2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Correct ses-rename-cell cursor-intangible text prop updating.

	There were two problems:

	- First ses-rename-cell has to work when called non interactively
	  (with non-nil CELL argument), so in this case the start pos of
	  put-text-property cannot be plainly (point), you need a
	  ses-goto-print call before

	- Second, the range itself was computed erroneously, only the first
	  char was affected instead of the full cell width. This was not
	  noticeable prior to changes (Deprecate `intangible' and
	  `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z

	* lisp/ses.el (ses-rename-cell): Correct computation of position range
	to which the 'cursor-intangible text property has to be set to cell
	new name.

2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Don't fake empty cells value by "" when printing with a lambda.

	When using a lambda expression printer function the user should be
	free to format differently a really empty cell, ie. containing nil,
	from a cell containing an empty string "".

	* lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
	`value' in the case of a lambda expression printer function.

	* doc/misc/ses.texi (Printer functions): Add example and
	description about lambda expression printer function handling all
	the possible values, including unexpected ones.

2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>

	Quick temporary hack to fix curcell refreshing.

	The problem was caused by change: 2015-04-13 Deprecate `intangible'
	and `point-entered' properties. The problem is that this change has
	removed the (setq ses--curcell t) setting in the ses-command-hook
	function.

	* lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
	a condition to call function `ses-set-curcell'. Comment this as a quick
	temporary hack to make it work, as I don't know yet whether a definite
	correction would be to make the ses-set-curcell at every ses-check-curcell,
	or to revert to the previous approach, ie marking ses--curcell as out-of-date
	at every potentially cursor motion command.

2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Restrictive URL checking tweaks

	* lisp/net/eww.el (eww): Check whether the domain is
	restrictive instead of the string
	(http://македонија.icom.museum is restrictive even if each
	part is from a different script).

2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	New function `puny-highly-restrictive-domain-p'

	* lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
	(puny-highly-restrictive-domain-p): New function.

2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	eww build fix (require puny)

2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>

	Transform non-restrictive domains to punycode for display

	* lisp/net/eww.el (eww): Check whether the domain is Highly
	Restrictive in the Unicode IDNA sense.

2015-12-29  John Wiegley  <johnw@newartisans.com>

	Merge emacs-25 into master (using imerge)

2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Further Unicode restrictive fixups

	* lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
	identifier characters from table 3.

2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a new function to say whether a string is restrictive

	* lisp/net/puny.el (puny-highly-restrictive-p): New function.

2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Mention the new puny.el library

2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	IDNA-related fixes for the URL library

	* lisp/url/url-http.el (url-http-create-request): IDNA-encode
	the Host: header.

	* lisp/url/url-util.el (url-encode-url): Don't hex-encode
	domain names, but leave them as UTF-8, so that they can be
	IDNA-encoded later when contacting the host.

2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	IDNA-encode all domain names in `open-network-stream'

	* lisp/net/network-stream.el (open-network-stream)
	(network-stream-open-plain, network-stream-open-starttls):
	IDNA-encode all domain names, if needed.

2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix puny-encoding all-non-ASCII domains

	* lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
	encoding case.

2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	shr link traversal fixup

	* lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.

2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Reconnect erc even on server errors

	* lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
	reconnect even if a server error has occurred (bug#18527).

2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Fix punycode short circuit logic

	* lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.

2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	IDNA speed up

	* lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster

2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Add IDNA domain encode/decode functions

	* lisp/net/puny.el (puny-decode-domain): New function.
	(puny-encode-domain): Ditto.
	(puny-decode-digit): Fix digit decoding error.

2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>

	Rename idna.el to puny.el

	* lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
	the external idna.el library.

2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>

	lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility

	* lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
	Don't use split-string with 4th arg for old Emacsen compatibility.

2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/net/idna.el (idna-decode-string-internal): Implement
	decoding.

2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Further IDNA tweaks

	(idna-encode-string): Make idna-encode-string safe for
	non-ASCII use.

2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Clean up the code slightly

2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>

	Added basic idna encoding support

	* lisp/net/idna.el: New file.

2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>

	Disconnection fixes for erc

	* lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
	reconnect if the user has disconnected explicitly (bug#4589).

2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)

	Further erc asynch fixes

	* lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
	erc-server-connect to return even if the connection is not
	ready.  Then erc-open and erc-server-reconnect do the
	same. (bug#5650).

2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>

	Make erc connect asynchronously

	* lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
	reconnect asynchronously.

	* lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).

2015-12-27  David Edmondson  <dme@dme.org>

	Proxy error in erc with multiple clients

	* lisp/erc/erc.el (erc-channel-receive-names): Fix errors
	generated when multiple IRC clients talk to a single IRC proxy
	(bug#19034).

2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>

	Fix mml-sec build warnings

	* lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
	(bug#18718).

2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>

	(eww-setup-buffer): Restore left-to-right defaults

	* lisp/net/eww.el (eww-setup-buffer): Restore left-to-right
	defaults.

2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.

2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>

	Identify unsafe combinations of Bcc and encryption

	* lisp/gnus/gnus-util.el (gnus-subsetp): New function
	* lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
	* lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function

2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/net/shr.el (shr-descend): Allow using lambdas in external
	functions.

2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* admin/gitmerge.el: Tweaks that seemed necessary

	* admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
	(gitmerge-maybe-resume): Provide explicit empty commit message.

2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)

	Use a different port for TLS erc

	* lisp/erc/erc.el (erc-default-port-tls): New variable
	(bug#19497).
	* lisp/erc/erc.el (erc-tls): Use it.

2015-12-25  Alain Schneble  <a.s@realize.ch>

	Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)

	* test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
	* test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
	* lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
	information in URL-struct.
	* lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
	path and query into nil path and query, respectively.
	* lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
	empty path into an absolute ("/") path.
	* lisp/url/url-expand.el (url-expand-file-name): Properly resolve
	fragment-only URIs. Do not just return them unchanged.
	* lisp/url/url-expand.el (url-default-expander): An empty path in the relative
	reference URI should not drop the last segment.

2015-12-25  Alain Schneble  <a.s@realize.ch>

	Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)

	* test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
	* test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
	* lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
	information in URL-struct.
	* lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
	path and query into nil path and query, respectively.
	* lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
	empty path into an absolute ("/") path.
	* lisp/url/url-expand.el (url-expand-file-name): Properly resolve
	fragment-only URIs. Do not just return them unchanged.
	* lisp/url/url-expand.el (url-default-expander): An empty path in the relative
	reference URI should not drop the last segment.

2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Let url use default file modes when copying files

	* lisp/url/url-handlers.el (url-copy-file): Use default file
	modes when copying files (bug#11400).

2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>

	Doc fix for url-http

	* lisp/url/url-http.el (url-http): Document better return values
	  (bug#13187) (tiny change)

2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/net/eww.el (eww-display-html): Support <button> tags
	(bug#20485).

2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Made ffap-url-p a defun instead of a defsubst

	* lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
	since there doesn't seem to be much of a reason for it to be a
	defsubst (bug#18203).

2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Add a command to view files in the browser to dired

	* lisp/dired.el (dired-mode-map): Add the `W' command
	(bug#18810).

2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow http://user:pass@foo/ URLs again

	* lisp/url/url-auth.el (url-basic-auth): Allow explicit
	user/passwords in URLs (bug#19046).

2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	* lisp/net/eww.el (eww-mode-map): Fix command name of
	eww-toggle-colors.

2015-12-25  Samer Masterson  <samer@samertm.com>

	Autoload url-insert-buffer-contents

	* lisp/url/url-handlers.el: Add autoload cookie so that
	`package-list-packages' doesn't bug out (bug#21927) (tiny change)

2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow toggling colors in eww

	* doc/misc/eww.texi (Basics): Mention "C".

	* lisp/net/eww.el (eww-toggle-colors): New command and keystroke.

	* lisp/net/shr.el (shr-use-colors): New variable.
	(shr-colorize-region): Use it.

2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>

	Follow meta refresh tags in eww

	* lisp/net/eww.el (eww-tag-meta): Follow meta refresh tags
	(bug#22234).

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	More eww file name coding fixes

	* lisp/net/eww.el (eww-decode-url-file-name): Use the base coding
	system to check for encodability.

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Always save eww history

	* lisp/net/eww.el (eww-setup-buffer): Always save history, even
	when called from outside the eww buffer (bug#19638).

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Default web pages to right-to-left

	* lisp/net/eww.el (eww-mode): Most web pages are left-to-right,
	so make that the default (bug#19801).

	* lisp/net/shr.el (shr-tag-html): Respect "dir" attributes
	(left-to-right, right-to-left).

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make toggling checkboxes work again

	* lisp/net/eww.el (eww-update-field): Make toggling checkboxes
	work again (bug#21881).

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Don't store cookies with empty names

	* lisp/url/url-cookie.el (url-cookie-store): Refuse to store
	cookies with empty names (bug#21936).

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Stop rendering HTML before specdlr exhaustion

	Fixes: 22117

	* lisp/net/shr.el (shr-descend): Stop rendering before we run out
	of specpdl room (bug#22117).

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Use cl-reduce, not reduce.

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow several <tbody> tags in shr

	* lisp/net/shr.el (shr-table-body): New function to find the real body
	of a table.
	(shr-tag-table): Use it to render several <tbody> tags in a
	table (bug#22170).

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Make prettier unique file names in eww

	(eww-make-unique-file-name): Make unique file names by making
	files like foo(2).jpg instead of foo(1)(2).jpg.

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Decode hex-encoded URLs before using them as file names

	* lisp/net/eww.el (eww-decode-url-file-name): New function.
	(eww-download-callback): Use it to decode file names before
	saving them.

2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>

	Add FreeBSD cert bundle

	* doc/misc/emacs-gnutls.texi (Help For Users): Document
	FreeBSD bundle.

	* lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Allow overriding shr functions from eww

	* lisp/net/eww.el (eww-display-html): Allow overriding elements in
	`shr-external-rendering-functions'.

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	Ignore invalid SVG images

	* lisp/net/shr.el (shr-tag-svg): Ignore SVG images that have no
	width or height, because these can't be displayed by ImageMagick,
	anyway.

2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>

	shr table rendering fix

	* lisp/net/shr.el (shr-tag-table): Allow rendering body-less
	tables that have headers.

2015-12-22  Sam Steingold  <sds@gnu.org>

	clipboard should still work even if interprogram-* is disabled

	(clipboard-yank): When `interprogram-cut-function' is nil,
	bind it to `gui-selection-value' - the default value.
	(clipboard-kill-region, clipboard-kill-ring-save): When
	`interprogram-paste-function' is nil, bind it to `gui-select-text' -
	the default value.

2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>

	Fix bootstrap issue with dired-loaddefs

	* lisp/dired.el: Autoloads for secondary files loaded optionally.

2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>

	dired generate autoloads to non-versioned file.

	* lisp/dired.el: Remove autoloads.
	* lisp/Makefile.in: Add dired to autogenel.
	* lisp/dired-aux.el, lisp/dired-x.el: Update file local.
	* test/lisp/dired-tests.el: Add new test.

2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>

	eieio generate autoloads to non-versioned file.

	* lisp/Makefile.in: eieio-loaddefs add to autogenel.
	* lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
	  Remove autoloads.
	* lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
	  lisp/emacs-lisp/eieio-opt.el: Update file local.
	* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.

2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>

	htmlfontify generate autoload to non-versioned file.

	* lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
	* lisp/hfy-cmap.el: Update file local.
	* lisp/htmlfontify.el: Remove autoloads, add require.
	* test/lisp/htmlfontify-tests.el: Test autoload functionality.

2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>

	ibuffer generate autoloads to non-versioned file.

	* lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
	* lisp/ibuf-ext.el: Update file local.
	* lisp/ibuffer.el: Remove autoloads and add a require.
	* test/lisp/ibuffer-tests.el: Test that autoload is working.

2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>

	rmail generate autoloads to non-versioned file.

	* lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
	* lisp/mail/rmail.el: Remove autoloads, add require.
	* lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
	* lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
	* lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
	* lisp/mail/undigest.el: Update file-local.
	* test/lisp/mail/rmail-tests.el:

2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>

	Add autoload-force target.

	* lisp/Makefile.in (autoload-force): New target.

2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>

	ps-print generate autoloads to non versioned file.

	* lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
	* lisp/ps-print.el: Remove autoloads.
	* lisp/ps-mule.el: Update file-local.
	* test/lisp/ps-print-tests.el: Test autoload functionality.

2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>

	reftex generate autoloads to non versioned file.

	* lisp/Makefile.in: Add reftex-loaddefs to autogen files
	* lisp/textmodes/reftex.el: Remove autoloads.
	* lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
	* lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
	* lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
	* lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
	* lisp/textmodes/reftex-toc.el: Update autoload file-local.
	* test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
	  function.

2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calculator.el (calculator-define-key): Undo last change

	Make map argument mandatory instead (bug#22106).
	(calculator-add-operators): Pass the argument that's not optional any more.

2015-12-03  Glenn Morris  <rgm@gnu.org>

	* Makefile.in: Avoid duplication.

	(have-tests): New rule.
	(check, check-maybe): Use it.

2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>

	make check unconditional, check-maybe top-level.

	 * Makefile.in: Add check-maybe target.
	 * test/Makefile.in: Restore unconditional behavior to make check.

2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>

	Tests now support out-of-source-build.

	 * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
	   about current working directory.

2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>

	* lisp/emacs-lisp/let-alist.el: Now an Elpa :core package

2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>

	Improve documentation and clean up.

	 * test/Makefile.in: Improve documentation, use EMACS variable
	   correctly, and clean up makefile rules.

2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>

	Update file headers for name change.

	 * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.

2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>

	Test files renamed to new scheme.

	 * (finalizer-tests.el): Now renamed alloc-tests.el
	 * (zlib-tests.el): Now renamed decompress-tests.el.

2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>

	Tests now depend on source files

	 * test/Makefile.in: Include dependences from tests to source files.
	 * test/make-test-deps.emacs-lisp: New file
	 * .gitignore: Ignore generated make include file

2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/which-func.el: Improve disabling the mode

	Use lexical-binding.
	(which-func-modes, which-func-non-auto-modes, which-func-maxout)
	(which-func, which-func-format): Remove redundant :group arg.
	(which-func-try-to-enable): New function.
	(which-func-ff-hook, which-function-mode): Use it.
	(mode-line-misc-info): Add ourselves here instead of in bindings.el.
	* lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.

2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/calculator.el (calculator-define-key): Silence warning

	...about unknown calculator-mode-map.

2015-11-29  Eli Barzilay  <eli@barzilay.org>

	* lisp/calculator.el: more improvements and bugfixes.

	- Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
	  effect anyway.)

	- Simplify `calculator-number-to-string' by throwing most of the work
	  onto `number-to-string', leaving just some tweaks for decimal inputs.
	  This leads to some minor changes, for example, pasting "1x1" in hex
	  mode would warn that "x" is ignored and result in "11" (and it wasn't
	  done in decimal mode), whereas now it just ignores everything from the
	  "x" and on and result in a "1" just like in decimal input mode.  Also,
	  overflows are left for `number-to-string' to deal with.

	- `calculator-paste' is very simple as a result.

	- Extend the simplified `calculator-paste': with a prefix argument it
	  pastes a string as if the characters were entered.  This can be used
	  to reduce expressions, but note that it's a simple literal operation,
	  so precedence can be messed, a number can be paster while entering a
	  number, spaces and newlines matter, etc.

	- Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
	  operator.

	- Fix a bug in `calculator-put-value': avoid grouping in the display
	  that is used to construct `calculator-curnum'.  This would trigger
	  when pasting or getting a value from a register in some radix mode
	  with a large enough value.  Another fix: make the output radix equal
	  the input one, otherwise numbers could be converted twice.

2015-11-29  Eli Barzilay  <eli@barzilay.org>

	* lisp/calculator.el: Re-do key bindings.

	Use a helper function that arranges a parent keymap that binds alternate
	case keys so if some letter key is unbound and it's un/shifted version
	is, it will get used.  This makes the global-map trickery unnecessary.

	Also switch to passing strings that name keys through `kbd'.

2015-11-29  Eli Barzilay  <eli@barzilay.org>

	* lisp/calculator.el: improve radix modes

	Fix prompt for some input radix with decimal output (eg, "BD" instead of
	the incorrect "B="); also, some minor docstring tweaks for these.

2015-11-29  Eli Barzilay  <eli@barzilay.org>

	* lisp/calculator.el: better reading of register names

	Use `register-read-with-preview' with a dynamically bound
	`register-alist' and a proper preview function to read register names.

2015-11-29  Eli Barzilay  <eli@barzilay.org>

	* lisp/calculator.el: General improvements

	Use things like `when', `unless', and `push'.

	Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
	non-electric mode.

2015-11-28  Michael Albinus  <michael.albinus@gmx.de>

	Fix a problem with gfilenotify in filenotify-tests.el

	* test/lisp/filenotify-tests.el
	(file-notify--test-expected-events): Remove.
	(file-notify--test-cleanup): Do not set that variable.
	(file-notify--test-with-events): EVENTS can also be a list of lists.
	(file-notify-test02-events, file-notify-test04-file-validity):
	Adapt expected result.

2015-11-28  Eli Zaretskii  <eliz@gnu.org>

	* .gitignore: Adjust to changes in 'test' directory structure.

2015-11-28  Eli Zaretskii  <eliz@gnu.org>

	Fix test/manual/etags/Makefile

	* test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
	changes in 'test' directory structure.

2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>

	Exclude resource dirs from search for tests.

	* test/Makefile.in: Test file locations are now found with find
	  rather than using finds native functions.

2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>

	Add test targets without directory names.

	 * (test/Makefile.in): Extend test_template to add two targets for each
	   file.

2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>

	* lisp/emacs-lisp/package.el: Require url-handlers

2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>

	Move elisp-mode-tests to new function names.

	 * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
	 find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.

2015-11-27  Juanma Barranquero  <lekktu@gmail.com>

	* lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'

2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>

	Merge branch 'feature/standard-test-location'

2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/emacs-lisp/eieio.el: Add some default implementations

	(standard-class): Mark it obsolete.
	(slot-missing): Give it a default implementation.
	(destructor): Simplify and mark it obsolete.
	(object-print): Give it a default implementation.
	(eieio-change-class): Rename from change-class.
	(change-class): Redefine as obsolete alias.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Mention kqueue in NEWS

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Merge from scratch/kqueue

	bec57a4 Some final fixes in file notification before merging with master
	0247489 Rework file notifications, kqueue has problems with directory monitors
	5154781 Continie with pending events
	6b490c0 Improve loops in file-notify-test06-many-events
	c8e266f Handle more complex rename operation in kqueue
	5044bdf New test with a larger number of events.
	65ba5a9 Further fixes for kqueue.
	13f3508 Code cleanup of kqueue.c
	99aa855 Doc changes for kqueue
	8deebe1 Finish implementation in kqueue.c
	90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
	e95b309 More work on kqueue
	41d9bd0 Implement directory events
	c571fc1 Build fixes for kqueue support.
	e0a68f2 Continue kqueue implementation
	7543d1c Work on kqueue
	e3354e2 Add kqueue support
	c6457ce Minor fix to comment indentation and typo in last commit
	b92307f linum-mode plays more nicely with other margin-setting extensions
	58e6235 * lisp/image-mode.el: Support encrypted file
	9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
	47f83b6 ; ChangeLog.2 fixes
	7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
	5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
	353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
	70f1fda ; Auto-commit of ChangeLog files.
	ae0653b * CONTRIBUTE: Remove information about feature freeze.
	9459456 Merge branch 'release-process-lowercase'
	9a4aa0f Document the release process
	f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
	dcd5877 gitmerge: Fix git log command
	2ac79ae gitmerge: Try to detect cherry-picks
	5f7a2a9 Increment Emacs version on master branch
	ed2e7e2 Mention CONTRIBUTE in README
	9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
	138ad3d ; Fix warnings
	7126e9a ; Update xref-etags-mode for the latest change
	246d660 Use generic dispatch for xref backends
	31f6e93 Support rectangular regions for more commands
	f103a27 Handle multiple matches on the same line; add highlighting
	fe973fc Replace xref-match-bounds with xref-match-length
	92a5010 Merge from gnulib
	04ac097 Spruce up ftfont.c memory allocation
	4c4b520 Port recent XCB changes to 64-bit ‘long int’
	4f0ce9c * src/undo.c (run_undoable_change): Now static.
	695a6f9 Remove support for ':timeout' from w32 tray notifications
	a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
	2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
	66b9f7b * src/undo.c: Small fixes for previous change
	2fac30e Add a few more variables to redisplay--variables
	04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
	e221d32 Fix point positioning after transposing with negative arg
	35f5afb Fix last change in shr.el
	508e77b Fix last change
	d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
	805a39b Remove intern calls and XXX comments from Fx_export_frames
	9463abf shr: don't invoke unbound function (Bug#21895)
	6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
	0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
	39dbd1c : Tests for undo-auto functionality.
	20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
	44dfa86 The heuristic that Emacs uses to add an `undo-boundary' has been reworked, as it interacts poorly with functions on `post-command-hook' or `after-change-functions'.
	d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
	c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
	1e363a8 Enable sorting of JSON object keys when encoding
	9dd7da9 * test/automated/keymap-tests.el: New test file
	aa17de9 Speed up x_real_pos_and_offsets using XCB
	a838c83 Enable use of XCB for checking window manager state
	c7f2b6a Detect XCB and save a connection handle
	e1c27db Reduce some data dependencies between X calls
	25e32bd Use color cache for creating bitmap
	851be0f Add "^" to the interactive specs of `dired-next/previous-line'
	055ca3a Sync with soap-client repository, version 3.0.2
	e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
	952395d * lisp/obarray.el: Fix shadowed variables
	436d330 Avoid error in submitting a form with EWW
	e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
	51d840a Rename seq-p and map-p to seqp and mapp
	23036ba Rename obarray-p to obarrayp
	20aea42 Rename obarray-foreach to obarray-map
	a3b2101 New file with obarray functions.
	9d43941 Implement tray notifications for MS-Windows

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Some final fixes in file notification before merging with master

	* lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
	(file-notify-callback): Improve check for `stopped' event.  Call
	`file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
	(file-notify-add-watch): In case FILE is not a directory, call the
	file monitor for the kqueue backend.  Otherwise, call the
	directory monitor for the upper directory.

	* src/inotify.c (inotifyevent_to_event): Extract file name from
	watch_object if the event doesn't provide it.
	(Finotify_add_watch): Add file name to watch_object.

	* test/automated/file-notify-tests.el (file-notify--test-timeout):
	Use different timeouts for different libraries.
	(file-notify--test-with-events): Suppress lock files.  Flush
	outstanding events before running the body.
	(file-notify-test02-events, file-notify-test04-file-validity): Do
	not skip cygwin tests.  Add additional test for file creation.
	Adapt expected result for different backends.
	(file-notify-test03-autorevert): Some of the tests don't work for
	w32notify.
	(file-notify-test06-many-events): Rename into both directions.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Rework file notifications, kqueue has problems with directory monitors

	* lisp/filenotify.el (file-notify-add-watch): Call the native
	add-watch function on the file, not on the dir.

	* src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
	about already deleted entries.

	* test/automated/auto-revert-tests.el
	(auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
	since this deletes the target file first.

	* test/automated/file-notify-tests.el (file-notify--test-event-test):
	Make stronger checks.
	(file-notify-test01-add-watch, file-notify-test02-events)
	(file-notify-test04-file-validity, file-notify-test05-dir-validity):
	Rewrite in order to call file monitors but directory monitors.
	(file-notify-test06-many-events): Ler rename work in both directions.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Continie with pending events

	* src/kqueue.c (pending_events): Remove global variable.
	(kqueue_compare_dir_list): Create `write' event for not used
	pending events.
	(globals_of_kqueue): Remove initialization of pending_events.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Improve loops in file-notify-test06-many-events

	* test/automated/file-notify-tests.el (file-notify-test06-many-events):
	Use `read-event' pauses for the `write-file' loops; otherwise
	events are lost in inotify and gfilenotify cases.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Handle more complex rename operation in kqueue

	* src/kqueue.c (pending_events): New variable.
	(kqueue_compare_dir_list): Handle more complex rename operation.
	(globals_of_kqueue): Initialize pending_events.

	* test/automated/file-notify-tests.el (file-notify-test06-many-events):
	Adapt expected events in the `rename-file' case.
	(file-notify-test06-many-events-remote): Declare.

2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>

	New test with a larger number of events.

	* test/automated/file-notify-tests.el (file-notify--test-with-events):
	Make timeout heuristically depend on the number of events.

	(file-notify-test06-many-events): Use it for new test.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Further fixes for kqueue.

	* lisp/filenotify.el (file-notify-callback): Raise also event if
	directory name matches.
	(file-notify-add-watch): Add `create' to the flags for `kqueue'.

	* src/kqueue.c (kqueue_generate_event): Use watch_object as
	argument instead of ident.  Remove callback argument.  Adapt
	callees.  Check actions whether they are monitored flags.

	* test/automated/file-notify-tests.el (file-notify--test-library):
	New defun.
	(file-notify-test00-availability, file-notify-test02-events)
	(file-notify-test04-file-validity)
	(file-notify-test05-dir-validity): Use it.
	(file-notify-test02-events, file-notify-test04-file-validity): Add
	`read-event' calls between different file actions, in order to
	give the backends a chance to rais an event.  Needed especially
	for kqueue.  In case of deleting a directory, there are two
	`deleted' events.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Code cleanup of kqueue.c

	* src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
	(kqueue_compare_dir_list): Do not loop when calling
	directory_files_internal.  Remove checks for "." and "..", this is
	done in kqueue_directory_listing now.
	(Fkqueue_add_watch): Check for proper emacs_open flags.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Doc changes for kqueue

	* doc/lispref/os.texi (File Notifications): Add kqueue as backend.
	Fix some glitches in the example.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Finish implementation in kqueue.c

	* src/kqueue.c (kqueue_directory_listing, kqueue_callback):
	Simplify access to list.
	(kqueue_compare_dir_list): Simplify access to list.  Raise
	`delete' event if directory does not exist any longer.  Otherwise,
	wait until directory contents has changed.  Fix error in check.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/filenotify.el (file-notify-add-watch): Fix thinko.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	More work on kqueue

	* lisp/filenotify.el (file-notify-callback): Handle also the
	`rename' event from kqueue.
	(file-notify-add-watch): Do not register an entry twice.

	* src/kqueue.c (kqueue_directory_listing): New function.
	(kqueue_generate_event): New argument FILE1.  Adapt callees.
	(kqueue_compare_dir_list): Rewrite in order to make it more robust.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Implement directory events

	* lisp/filenotify.el (file-notify-handle-event)
	(file-notify-callback): Remove traces.

	* src/kqueue.c: Include <sys/time.h>.
	(kqueue_generate_event, kqueue_compare_dir_list): New functions.
	(kqueue_callback): Use them.  Call kevent() with a zero timeout.
	(Fkqueue_add_watch): Adapt docstring.  Support directory events.
	Compute initial directory listing.  Close file descriptor in case
	of errors.
	(syms_of_kqueue): Declare Qcreate.

2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>

	Build fixes for kqueue support.

	* src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
	flag.

	* configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
	kqueue on *BSD.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Continue kqueue implementation

	* lisp/filenotify.el (file-notify-handle-event)
	(file-notify-callback): Enable trace messages.

	* src/kqueue.c: Include also <sys/types.h>.
	(kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
	(Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
	(syms_of_kqueue): Add them.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Work on kqueue

	* lisp/filenotify.el (file-notify--library)
	(file-notify-descriptors, file-notify-callback)
	(file-notify-add-watch, file-notify-rm-watch)
	(file-notify-valid-p): Add kqueue support.

	* src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Add kqueue support

	* configure.ac (--with-file-notification): Add kqueue.
	(top): Remove special test for "${HAVE_NS}" and
	${with_file_notification}, this is handled inside gfilenotify
	tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
	instead of library specific variables.

	* src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.

	* src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.

	* src/kqueue.c: New file.

	* src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.

2015-11-25  Michael Albinus  <michael.albinus@gmx.de>

	Some final fixes in file notification before merging with master

	* lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
	(file-notify-callback): Improve check for `stopped' event.  Call
	`file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
	(file-notify-add-watch): In case FILE is not a directory, call the
	file monitor for the kqueue backend.  Otherwise, call the
	directory monitor for the upper directory.

	* src/inotify.c (inotifyevent_to_event): Extract file name from
	watch_object if the event doesn't provide it.
	(Finotify_add_watch): Add file name to watch_object.

	* test/automated/file-notify-tests.el (file-notify--test-timeout):
	Use different timeouts for different libraries.
	(file-notify--test-with-events): Suppress lock files.  Flush
	outstanding events before running the body.
	(file-notify-test02-events, file-notify-test04-file-validity): Do
	not skip cygwin tests.  Add additional test for file creation.
	Adapt expected result for different backends.
	(file-notify-test03-autorevert): Some of the tests don't work for
	w32notify.
	(file-notify-test06-many-events): Rename into both directions.

2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>

	Update elisp-mode-tests for changed file location.

	 * test/lisp/progmodes/elisp-mode-tests.el:

2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>

	Exclude manual tests from Makefile

	 * test/Makefile.in:

2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>

	Move package test files to new directory.

	 * test/lisp/emacs-lisp/package-tests.el: Update resource file location.
	 * test/data/package: Moved to test/lisp/emacs-lisp/package-resources

2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>

	Restore delete Makefiles and fix .gitignore.

	 * .gitignore: Update Makefiles to changed locations
	 * test/lisp/progmodes/flymake-resources/Makefile,
	   test/manual/etags/Makefile,
	   test/manual/etags/make-src/Makefile,
	   test/manual/indent/Makefile: Restored and moved to new location.

2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>

	Test infrastructure: updates after directory move

	 * (test/Makefile.in): Support directories several levels deep.
	 * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
	 * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.

2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>

	Rename all test files to reflect source layout.

	* CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
	test directory moves.
	* test/file-organisation.org: New file.
	* test/automated/Makefile.in:
	* test/automated/data/decompress/foo.gz:
	* test/automated/data/epg/pubkey.asc:
	* test/automated/data/epg/seckey.asc:
	* test/automated/data/files-bug18141.el.gz:
	* test/automated/data/flymake/test.c:
	* test/automated/data/flymake/test.pl:
	* test/automated/data/package/archive-contents:
	* test/automated/data/package/key.pub:
	* test/automated/data/package/key.sec:
	* test/automated/data/package/multi-file-0.2.3.tar:
	* test/automated/data/package/multi-file-readme.txt:
	* test/automated/data/package/newer-versions/archive-contents:
	* test/automated/data/package/newer-versions/new-pkg-1.0.el:
	* test/automated/data/package/newer-versions/simple-single-1.4.el:
	* test/automated/data/package/package-test-server.py:
	* test/automated/data/package/signed/archive-contents:
	* test/automated/data/package/signed/archive-contents.sig:
	* test/automated/data/package/signed/signed-bad-1.0.el:
	* test/automated/data/package/signed/signed-bad-1.0.el.sig:
	* test/automated/data/package/signed/signed-good-1.0.el:
	* test/automated/data/package/signed/signed-good-1.0.el.sig:
	* test/automated/data/package/simple-depend-1.0.el:
	* test/automated/data/package/simple-single-1.3.el:
	* test/automated/data/package/simple-single-readme.txt:
	* test/automated/data/package/simple-two-depend-1.1.el:
	* test/automated/abbrev-tests.el:
	* test/automated/auto-revert-tests.el:
	* test/automated/calc-tests.el:
	* test/automated/icalendar-tests.el:
	* test/automated/character-fold-tests.el:
	* test/automated/comint-testsuite.el:
	* test/automated/descr-text-test.el:
	* test/automated/electric-tests.el:
	* test/automated/cl-generic-tests.el:
	* test/automated/cl-lib-tests.el:
	* test/automated/eieio-test-methodinvoke.el:
	* test/automated/eieio-test-persist.el:
	* test/automated/eieio-tests.el:
	* test/automated/ert-tests.el:
	* test/automated/ert-x-tests.el:
	* test/automated/generator-tests.el:
	* test/automated/let-alist.el:
	* test/automated/map-tests.el:
	* test/automated/advice-tests.el:
	* test/automated/package-test.el:
	* test/automated/pcase-tests.el:
	* test/automated/regexp-tests.el:
	* test/automated/seq-tests.el:
	* test/automated/subr-x-tests.el:
	* test/automated/tabulated-list-test.el:
	* test/automated/thunk-tests.el:
	* test/automated/timer-tests.el:
	* test/automated/epg-tests.el:
	* test/automated/eshell.el:
	* test/automated/faces-tests.el:
	* test/automated/file-notify-tests.el:
	* test/automated/auth-source-tests.el:
	* test/automated/gnus-tests.el:
	* test/automated/message-mode-tests.el:
	* test/automated/help-fns.el:
	* test/automated/imenu-test.el:
	* test/automated/info-xref.el:
	* test/automated/mule-util.el:
	* test/automated/isearch-tests.el:
	* test/automated/json-tests.el:
	* test/automated/bytecomp-tests.el:
	* test/automated/coding-tests.el:
	* test/automated/core-elisp-tests.el:
	* test/automated/decoder-tests.el:
	* test/automated/files.el:
	* test/automated/font-parse-tests.el:
	* test/automated/lexbind-tests.el:
	* test/automated/occur-tests.el:
	* test/automated/process-tests.el:
	* test/automated/syntax-tests.el:
	* test/automated/textprop-tests.el:
	* test/automated/undo-tests.el:
	* test/automated/man-tests.el:
	* test/automated/completion-tests.el:
	* test/automated/dbus-tests.el:
	* test/automated/newsticker-tests.el:
	* test/automated/sasl-scram-rfc-tests.el:
	* test/automated/tramp-tests.el:
	* test/automated/obarray-tests.el:
	* test/automated/compile-tests.el:
	* test/automated/elisp-mode-tests.el:
	* test/automated/f90.el:
	* test/automated/flymake-tests.el:
	* test/automated/python-tests.el:
	* test/automated/ruby-mode-tests.el:
	* test/automated/subword-tests.el:
	* test/automated/replace-tests.el:
	* test/automated/simple-test.el:
	* test/automated/sort-tests.el:
	* test/automated/subr-tests.el:
	* test/automated/reftex-tests.el:
	* test/automated/sgml-mode-tests.el:
	* test/automated/tildify-tests.el:
	* test/automated/thingatpt.el:
	* test/automated/url-future-tests.el:
	* test/automated/url-util-tests.el:
	* test/automated/add-log-tests.el:
	* test/automated/vc-bzr.el:
	* test/automated/vc-tests.el:
	* test/automated/xml-parse-tests.el:
	* test/BidiCharacterTest.txt:
	* test/biditest.el:
	* test/cedet/cedet-utests.el:
	* test/cedet/ede-tests.el:
	* test/cedet/semantic-ia-utest.el:
	* test/cedet/semantic-tests.el:
	* test/cedet/semantic-utest-c.el:
	* test/cedet/semantic-utest.el:
	* test/cedet/srecode-tests.el:
	* test/cedet/tests/test.c:
	* test/cedet/tests/test.el:
	* test/cedet/tests/test.make:
	* test/cedet/tests/testdoublens.cpp:
	* test/cedet/tests/testdoublens.hpp:
	* test/cedet/tests/testfriends.cpp:
	* test/cedet/tests/testjavacomp.java:
	* test/cedet/tests/testnsp.cpp:
	* test/cedet/tests/testpolymorph.cpp:
	* test/cedet/tests/testspp.c:
	* test/cedet/tests/testsppcomplete.c:
	* test/cedet/tests/testsppreplace.c:
	* test/cedet/tests/testsppreplaced.c:
	* test/cedet/tests/testsubclass.cpp:
	* test/cedet/tests/testsubclass.hh:
	* test/cedet/tests/testtypedefs.cpp:
	* test/cedet/tests/testvarnames.c:
	* test/etags/CTAGS.good:
	* test/etags/ETAGS.good_1:
	* test/etags/ETAGS.good_2:
	* test/etags/ETAGS.good_3:
	* test/etags/ETAGS.good_4:
	* test/etags/ETAGS.good_5:
	* test/etags/ETAGS.good_6:
	* test/etags/a-src/empty.zz:
	* test/etags/a-src/empty.zz.gz:
	* test/etags/ada-src/2ataspri.adb:
	* test/etags/ada-src/2ataspri.ads:
	* test/etags/ada-src/etags-test-for.ada:
	* test/etags/ada-src/waroquiers.ada:
	* test/etags/c-src/a/b/b.c:
	* test/etags/c-src/abbrev.c:
	* test/etags/c-src/c.c:
	* test/etags/c-src/dostorture.c:
	* test/etags/c-src/emacs/src/gmalloc.c:
	* test/etags/c-src/emacs/src/keyboard.c:
	* test/etags/c-src/emacs/src/lisp.h:
	* test/etags/c-src/emacs/src/regex.h:
	* test/etags/c-src/etags.c:
	* test/etags/c-src/exit.c:
	* test/etags/c-src/exit.strange_suffix:
	* test/etags/c-src/fail.c:
	* test/etags/c-src/getopt.h:
	* test/etags/c-src/h.h:
	* test/etags/c-src/machsyscalls.c:
	* test/etags/c-src/machsyscalls.h:
	* test/etags/c-src/sysdep.h:
	* test/etags/c-src/tab.c:
	* test/etags/c-src/torture.c:
	* test/etags/cp-src/MDiagArray2.h:
	* test/etags/cp-src/Range.h:
	* test/etags/cp-src/burton.cpp:
	* test/etags/cp-src/c.C:
	* test/etags/cp-src/clheir.cpp.gz:
	* test/etags/cp-src/clheir.hpp:
	* test/etags/cp-src/conway.cpp:
	* test/etags/cp-src/conway.hpp:
	* test/etags/cp-src/fail.C:
	* test/etags/cp-src/functions.cpp:
	* test/etags/cp-src/screen.cpp:
	* test/etags/cp-src/screen.hpp:
	* test/etags/cp-src/x.cc:
	* test/etags/el-src/TAGTEST.EL:
	* test/etags/el-src/emacs/lisp/progmodes/etags.el:
	* test/etags/erl-src/gs_dialog.erl:
	* test/etags/f-src/entry.for:
	* test/etags/f-src/entry.strange.gz:
	* test/etags/f-src/entry.strange_suffix:
	* test/etags/forth-src/test-forth.fth:
	* test/etags/html-src/algrthms.html:
	* test/etags/html-src/index.shtml:
	* test/etags/html-src/software.html:
	* test/etags/html-src/softwarelibero.html:
	* test/etags/lua-src/allegro.lua:
	* test/etags/objc-src/PackInsp.h:
	* test/etags/objc-src/PackInsp.m:
	* test/etags/objc-src/Subprocess.h:
	* test/etags/objc-src/Subprocess.m:
	* test/etags/objcpp-src/SimpleCalc.H:
	* test/etags/objcpp-src/SimpleCalc.M:
	* test/etags/pas-src/common.pas:
	* test/etags/perl-src/htlmify-cystic:
	* test/etags/perl-src/kai-test.pl:
	* test/etags/perl-src/yagrip.pl:
	* test/etags/php-src/lce_functions.php:
	* test/etags/php-src/ptest.php:
	* test/etags/php-src/sendmail.php:
	* test/etags/prol-src/natded.prolog:
	* test/etags/prol-src/ordsets.prolog:
	* test/etags/ps-src/rfc1245.ps:
	* test/etags/pyt-src/server.py:
	* test/etags/tex-src/gzip.texi:
	* test/etags/tex-src/nonewline.tex:
	* test/etags/tex-src/testenv.tex:
	* test/etags/tex-src/texinfo.tex:
	* test/etags/y-src/atest.y:
	* test/etags/y-src/cccp.c:
	* test/etags/y-src/cccp.y:
	* test/etags/y-src/parse.c:
	* test/etags/y-src/parse.y:
	* test/indent/css-mode.css:
	* test/indent/js-indent-init-dynamic.js:
	* test/indent/js-indent-init-t.js:
	* test/indent/js-jsx.js:
	* test/indent/js.js:
	* test/indent/latex-mode.tex:
	* test/indent/modula2.mod:
	* test/indent/nxml.xml:
	* test/indent/octave.m:
	* test/indent/pascal.pas:
	* test/indent/perl.perl:
	* test/indent/prolog.prolog:
	* test/indent/ps-mode.ps:
	* test/indent/ruby.rb:
	* test/indent/scheme.scm:
	* test/indent/scss-mode.scss:
	* test/indent/sgml-mode-attribute.html:
	* test/indent/shell.rc:
	* test/indent/shell.sh:
	* test/redisplay-testsuite.el:
	* test/rmailmm.el:
	* test/automated/buffer-tests.el:
	* test/automated/cmds-tests.el:
	* test/automated/data-tests.el:
	* test/automated/finalizer-tests.el:
	* test/automated/fns-tests.el:
	* test/automated/inotify-test.el:
	* test/automated/keymap-tests.el:
	* test/automated/print-tests.el:
	* test/automated/libxml-tests.el:
	* test/automated/zlib-tests.el: Files Moved.

2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>

	verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.

	* lisp/progmodes/verilog-mode.el
	(verilog-save-font-no-change-functions): Commentary and fix
	pre-Emacs 21 behavior.

2015-11-20  Michael Albinus  <michael.albinus@gmx.de>

	Rework file notifications, kqueue has problems with directory monitors

	* lisp/filenotify.el (file-notify-add-watch): Call the native
	add-watch function on the file, not on the dir.

	* src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
	about already deleted entries.

	* test/automated/auto-revert-tests.el
	(auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
	since this deletes the target file first.

	* test/automated/file-notify-tests.el (file-notify--test-event-test):
	Make stronger checks.
	(file-notify-test01-add-watch, file-notify-test02-events)
	(file-notify-test04-file-validity, file-notify-test05-dir-validity):
	Rewrite in order to call file monitors but directory monitors.
	(file-notify-test06-many-events): Ler rename work in both directions.

2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>

	Use obarray functions from obarray.

	* lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
	  abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
	  clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
	  delegate to obarray.el functions.
	* lisp/loadup.el: load obarray before abbrev
	* test/automated/abbrev-tests.el: new tests

2015-11-19  Michael Albinus  <michael.albinus@gmx.de>

	Continie with pending events

	* src/kqueue.c (pending_events): Remove global variable.
	(kqueue_compare_dir_list): Create `write' event for not used
	pending events.
	(globals_of_kqueue): Remove initialization of pending_events.

2015-11-19  Michael Albinus  <michael.albinus@gmx.de>

	Improve loops in file-notify-test06-many-events

	* test/automated/file-notify-tests.el (file-notify-test06-many-events):
	Use `read-event' pauses for the `write-file' loops; otherwise
	events are lost in inotify and gfilenotify cases.

2015-11-19  Michael Albinus  <michael.albinus@gmx.de>

	Handle more complex rename operation in kqueue

	* src/kqueue.c (pending_events): New variable.
	(kqueue_compare_dir_list): Handle more complex rename operation.
	(globals_of_kqueue): Initialize pending_events.

	* test/automated/file-notify-tests.el (file-notify-test06-many-events):
	Adapt expected events in the `rename-file' case.
	(file-notify-test06-many-events-remote): Declare.

2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)

	epa.el: Add option to replace original text

	* lisp/epa.el (epa-replace-original-text): New user option.
	(Bug#21947)

2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>

	Add interactive seek command.

	* lisp/mpc.el (mpc-cmd-seekcur): New function.
	(mpc-seek-current): New command.
	(mpc-mode-menu): Add entry for mpc-seek-current
	(mpc-mode-map): Bind mpc-seek-current to "g"

2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>

	Fix issue where a new tempfile was created every refresh

	* lisp/mpc.el (mpc-format): Leave dir as relative path

2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>

	New test with a larger number of events.

	* test/automated/file-notify-tests.el (file-notify--test-with-events):
	Make timeout heuristically depend on the number of events.

	(file-notify-test06-many-events): Use it for new test.

2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/cc-defs.el: Use with-silent-modifications

	(c-save-buffer-state): Use with-silent-modifications when available.
	(c--macroexpand-all): Check macroexpand-all directly rather than
	c--mapcan-status.

2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/loadup.el: Set max-lisp-eval-depth here

	* lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
	(BYTE_COMPILE_FLAGS): Adjust accordingly.

2015-11-18  Michael Albinus  <michael.albinus@gmx.de>

	Further fixes for kqueue.

	* lisp/filenotify.el (file-notify-callback): Raise also event if
	directory name matches.
	(file-notify-add-watch): Add `create' to the flags for `kqueue'.

	* src/kqueue.c (kqueue_generate_event): Use watch_object as
	argument instead of ident.  Remove callback argument.  Adapt
	callees.  Check actions whether they are monitored flags.

	* test/automated/file-notify-tests.el (file-notify--test-library):
	New defun.
	(file-notify-test00-availability, file-notify-test02-events)
	(file-notify-test04-file-validity)
	(file-notify-test05-dir-validity): Use it.
	(file-notify-test02-events, file-notify-test04-file-validity): Add
	`read-event' calls between different file actions, in order to
	give the backends a chance to rais an event.  Needed especially
	for kqueue.  In case of deleting a directory, there are two
	`deleted' events.

2015-11-17  João Távora  <joaotavora@gmail.com>

	Minor fix to comment indentation and typo in last commit

	* lisp/linum.el (linum-update-window): Fix comment indentation and
	a typo.

2015-11-17  João Távora  <joaotavora@gmail.com>

	linum-mode plays more nicely with other margin-setting extensions

	linum.el will only modify the left margin if it needs to, and will
	only reset the it back to 0 if it guesses that no-one has touched that
	margin in the meantime.

	As such, this is a more of a workaround than an actual fix, but fixes
	the problems described in bug#20674 regarding the interaction with
	modes such as darkroom-mode and olivetti-mode.

	A similar fix was committed to nlinum.el in ELPA.git's
	e7f5f549fbfb740b911fb7f33b42381ecece56d8

	* lisp/linum.el (linum-delete-overlays): Restore margins more
	criteriously.
	(linum-update-window): Set margins more criteriously.

2015-11-17  Michael Albinus  <michael.albinus@gmx.de>

	Code cleanup of kqueue.c

	* src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
	(kqueue_compare_dir_list): Do not loop when calling
	directory_files_internal.  Remove checks for "." and "..", this is
	done in kqueue_directory_listing now.
	(Fkqueue_add_watch): Check for proper emacs_open flags.

2015-11-16  Daiki Ueno  <ueno@gnu.org>

	* lisp/image-mode.el: Support encrypted file

	(image-toggle-display-image): Read content from the buffer instead
	of the file, if the buffer holds a decrypted data.  (Bug#21870)

2015-11-16  Michael Albinus  <michael.albinus@gmx.de>

	Doc changes for kqueue

	* doc/lispref/os.texi (File Notifications): Add kqueue as backend.
	Fix some glitches in the example.

2015-11-16  Michael Albinus  <michael.albinus@gmx.de>

	Finish implementation in kqueue.c

	* src/kqueue.c (kqueue_directory_listing, kqueue_callback):
	Simplify access to list.
	(kqueue_compare_dir_list): Simplify access to list.  Raise
	`delete' event if directory does not exist any longer.  Otherwise,
	wait until directory contents has changed.  Fix error in check.

2015-11-15  Michael Albinus  <michael.albinus@gmx.de>

	* lisp/filenotify.el (file-notify-add-watch): Fix thinko.

2015-11-15  Juanma Barranquero  <lekktu@gmail.com>

	* lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote

2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>

	* lisp/emacs-lisp/package.el: Fix a decoding issue

	(package--with-response-buffer): Use `url-insert-buffer-contents'.
	The previous code had some issues with decoding. Refactoring that
	function allows us to use the decoding from url-handlers while still
	treating both sync and async requests the same.

	* lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
	`url-insert-buffer-contents'.
	(url-insert-buffer-contents): New function

2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>

	* lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async

	(package--with-work-buffer-async): Reimplement as
	`package--with-response-buffer'.
	(package--with-work-buffer): Mark obsolete.
	(package--with-response-buffer): New macro. This is a more self
	contained and less contrived version of
	`package--with-work-buffer-async'.  It uses keyword arguments,
	doesn't have async on the name, doesn't fallback on
	`package--with-work-buffer', and has _much_ simpler error
	handling.

	(package--check-signature, package--download-one-archive)
	(package-install-from-archive, describe-package-1): Use it.

	(package--download-and-read-archives): Let
	`package--download-one-archive' take care of calling
	`package--update-downloads-in-progress'.

2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp/progmodes/verilog-mode.el: Use with-silent-modifications

	(verilog-save-buffer-state): Use with-silent-modifications when available.
	(verilog-save-font-no-change-functions): Don't bind
	before/after-change-functions if it's not needed.

2015-11-15  Michael Albinus  <michael.albinus@gmx.de>

	More work on kqueue

	* lisp/filenotify.el (file-notify-callback): Handle also the
	`rename' event from kqueue.
	(file-notify-add-watch): Do not register an entry twice.

	* src/kqueue.c (kqueue_directory_listing): New function.
	(kqueue_generate_event): New argument FILE1.  Adapt callees.
	(kqueue_compare_dir_list): Rewrite in order to make it more robust.

2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>

	* CONTRIBUTE: Remove information about feature freeze.

	Merge branch 'release-process-lowercase'

2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>

	Document the release process

	* admin/notes/versioning: Add information about RC releases.
	* admin/release-process: Document the release process.
	* admin/authors.el (authors-ignored-files):
	* admin/README: Change FOR-RELEASE to release-process.
	* CONTRIBUTE:
	* admin/notes/bugtracker: Don't mention FOR-RELEASE.

2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>

	* admin/release-process: Rename from admin/FOR-RELEASE.

2015-11-14  David Engster  <deng@randomsample.de>

	gitmerge: Fix git log command

	* admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
	only want commits from the branch that is to be merged.
	(gitmerge-setup-log-buffer): Use the same symmetric range as in
	`gitmerge-missing'.

2015-11-14  David Engster  <deng@randomsample.de>

	gitmerge: Try to detect cherry-picks

	* admin/gitmerge.el (gitmerge-default-branch): Change to
	origin/emacs-25.
	(gitmerge-missing): Use symmetric difference ('...') between
	branch and master so that cherry-picks can be detected.

2015-11-14  Michael Albinus  <michael.albinus@gmx.de>

	Implement directory events

	* lisp/filenotify.el (file-notify-handle-event)
	(file-notify-callback): Remove traces.

	* src/kqueue.c: Include <sys/time.h>.
	(kqueue_generate_event, kqueue_compare_dir_list): New functions.
	(kqueue_callback): Use them.  Call kevent() with a zero timeout.
	(Fkqueue_add_watch): Adapt docstring.  Support directory events.
	Compute initial directory listing.  Close file descriptor in case
	of errors.
	(syms_of_kqueue): Declare Qcreate.

2015-11-14  Eli Zaretskii  <eliz@gnu.org>

	Increment Emacs version on master branch

	* lisp/cus-edit.el (customize-changed-options-previous-release):
	Increase previous version to 24.5.

	* configure.ac:
	* msdos/sed2v2.inp: Bump version to 25.1.50.

2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>

	Mention CONTRIBUTE in README

	Mention CONTRIBUTE in README, since it was moved from etc/ to root.
	* etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
	* README: Mention CONTRIBUTE.

2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>

	Update verilog-mode.el to 2015-11-09-b121d60-vpo.

	* lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
	(verilog-modi-cache-results, verilog-save-buffer-state)
	(verilog-save-font-no-change-functions): When internally suppressing change
	functions, use `inhibit-modification-hooks' and call
	`after-change-functions' to more nicely work with user hooks.
	Reported by Stefan Monnier.

	(verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
	Create `verilog-delete-auto-buffer' to avoid double-calling
	fontification hooks.

	(verilog-restore-buffer-modified-p, verilog-auto)
	(verilog-save-buffer-state): Prefer restore-buffer-modified-p over
	set-buffer-modified-p. Reported by Stefan Monnier.

	(verilog-diff-auto, verilog-diff-buffers-p)
	(verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.

	(verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
	AUTOINST with unpacked dimensional parameters, bug981. Reported by
	by Amol Nagapurkar.

	(verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
	properties inside internal structures. No functional change
	intended.

2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>

	Build fixes for kqueue support.

	* src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
	flag.

	* configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
	kqueue on *BSD.

2015-11-11  Michael Albinus  <michael.albinus@gmx.de>

	Continue kqueue implementation

	* lisp/filenotify.el (file-notify-handle-event)
	(file-notify-callback): Enable trace messages.

	* src/kqueue.c: Include also <sys/types.h>.
	(kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
	(Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
	(syms_of_kqueue): Add them.

2015-11-11  Michael Albinus  <michael.albinus@gmx.de>

	Work on kqueue

	* lisp/filenotify.el (file-notify--library)
	(file-notify-descriptors, file-notify-callback)
	(file-notify-add-watch, file-notify-rm-watch)
	(file-notify-valid-p): Add kqueue support.

	* src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.

2015-11-11  Michael Albinus  <michael.albinus@gmx.de>

	Add kqueue support

	* configure.ac (--with-file-notification): Add kqueue.
	(top): Remove special test for "${HAVE_NS}" and
	${with_file_notification}, this is handled inside gfilenotify
	tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
	instead of library specific variables.

	* src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.

	* src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.

	* src/kqueue.c: New file.

	* src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.

This file records repository revisions from
commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
commit f7bd5ac55211ad0ae2e473f0dff46df1e60f99bf (inclusive).
See ChangeLog.2 for earlier changes.

;; Local Variables:
;; coding: utf-8
;; End:

  Copyright (C) 2015-2024 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 <https://www.gnu.org/licenses/>.
